(57)【要約】  ウェブアプリケーションの実行状態を分析する動的分析器の動作方法が開示される。前記ウェブアプリケーションを通じて実行される特定の動作を指示するパラメーターを含む最終攻撃文字列に基づいた前記ウェブアプリケーションの実行状態を分析する段階；およびウェブアプリケーションの実行状態に対する分析する段階を含み、前記最終攻撃文字列はあらかじめ定義されたパラメーターを含む原始攻撃文字列をフィルタリングするように設計されたフィルタリングロジックを回避するように生成される。したがって、簡単なフィルタリングを迂回できる最終攻撃文字列生成を通じて既存の動的分析器で検出できなかったセキュリティ脆弱点を検出することができる。
2019521456.tif 000002
【特許請求の範囲】
【請求項１】
ウェブアプリケーションの実行状態を分析する動的分析器の動作方法であって、
前記ウェブアプリケーションを通じて実行される特定の動作を指示するパラメーターを含む最終攻撃文字列を含む応答メッセージをサーバーから受信する段階；
前記最終攻撃文字列に基づいた前記ウェブアプリケーションの実行状態を分析する段階；および
前記ウェブアプリケーションの実行状態に対する分析結果に基づいて前記最終攻撃文字列が前記ウェブアプリケーションによってフィルタリングされるかの可否を判断する段階を含み、
前記最終攻撃文字列はあらかじめ定義されたパラメーターを含む原始攻撃文字列をフィルタリングするように設計されたフィルタリングロジックを回避するように生成された、動的分析器の動作方法。
【請求項２】
前記動的分析器の動作方法は、
前記最終攻撃文字列の提供を要請する要請メッセージを前記サーバーに伝送する段階をさらに含み、前記応答メッセージは前記要請メッセージに対する応答として受信される、請求項１に記載の動的分析器の動作方法。
【請求項３】
前記ウェブアプリケーションによってフィルタリングされるかの可否を判断する段階は、
前記最終攻撃文字列によって指示される特定の動作が前記ウェブアプリケーションを通じて実行される場合、前記最終攻撃文字列が前記ウェブアプリケーションによってフィルタリングされないものと判断する、請求項１に記載の動的分析器の動作方法。
【請求項４】
前記ウェブアプリケーションによってフィルタリングされるかの可否を判断する段階は、
前記最終攻撃文字列によって指示される特定の動作が前記ウェブアプリケーションを通じて実行されない場合、前記最終攻撃文字列が前記ウェブアプリケーションによってフィルタリングされるものと判断する、請求項１に記載の動的分析器の動作方法。
【請求項５】
前記最終攻撃文字列はＵＲＬ住所をさらに含む、請求項１に記載の動的分析器の動作方法。
【請求項６】
前記ウェブアプリケーションを通じて実行される特定の動作は、
ＤＤｏＳ攻撃動作、悪性スクリプト実行攻撃動作、ＡＰＴ攻撃動作、パスワードクラッキング攻撃動作、キーロギング攻撃動作、スプーフィング攻撃動作およびルートキット攻撃動作のうち少なくとも一つを含む、請求項１に記載の動的分析器の動作方法。
【請求項７】
最終攻撃文字列を生成するサーバーの動作方法であって、
静的分析器からあらかじめ定義されたパラメーターを含む原始攻撃文字列をフィルタリングするように設計されたフィルタリングロジックを回避するための政策を含む第１応答メッセージを受信する段階；
前記フィルタリングロジックを回避するように、ウェブアプリケーションを通じて実行される特定の動作を指示する修正されたパラメーターを含む最終攻撃文字列を生成する段階；および
前記最終攻撃文字列を含む第２応答メッセージを動的分析器に伝送する段階を含む、サーバーの動作方法。
【請求項８】
前記サーバーの動作方法は、
前記フィルタリングロジックを回避するための政策の提供を要請する第１要請メッセージを前記静的分析器に伝送する段階をさらに含み、前記第１応答メッセージは前記第１要請メッセージに対する応答として受信される、請求項７に記載のサーバーの動作方法。
【請求項９】
前記サーバーの動作方法は、
前記最終攻撃文字列の提供を要請する第２要請メッセージを前記動的分析器から受信する段階をさらに含み、前記第２応答メッセージは前記第２要請メッセージに対する応答として伝送される、請求項７に記載のサーバーの動作方法。
【請求項１０】
前記第１応答メッセージはＵＲＬ住所およびウェブアプリケーションを実行する特定の動作を指示する原始パラメーターをさらに含む、請求項７に記載のサーバーの動作方法。
【請求項１１】
前記最終攻撃文字列はＵＲＬ住所をさらに含む、請求項７に記載のサーバーの動作方法。
【請求項１２】
前記ウェブアプリケーションを通じて実行される特定の動作は、
ＤＤｏＳ攻撃動作、ＡＰＴ攻撃動作、パスワードクラッキング攻撃動作、キーロギング攻撃動作、スプーフィング攻撃動作およびルートキット攻撃動作のうち少なくとも一つを含む、請求項７に記載のサーバーの動作方法。
【請求項１３】
最終攻撃文字列を生成するサーバーであって、
プロセッサ；および
前記プロセスを通じて実行される少なくとも一つの命令が保存されたデータベースを含み、
前記少なくとも一つの命令は、
静的分析器からあらかじめ定義されたパラメーターを含む原始攻撃文字列をフィルタリングするように設計されたフィルタリングロジックを回避するための政策を含む第１応答メッセージを受信し、
前記フィルタリングロジックを回避するように、ウェブアプリケーションを通じて実行される特定の動作を指示する修正されたパラメーターを含む最終攻撃文字列を生成し、そして
前記最終攻撃文字列を含む第２応答メッセージを動的分析器に伝送するように実行可能な、サーバー。
【請求項１４】
前記少なくとも一つの命令は、
前記フィルタリングロジックを回避するための政策の提供を要請する第１要請メッセージを前記静的分析器に伝送するようにさらに実行可能であり、前記第１応答メッセージは前記第１要請メッセージに対する応答として受信される、請求項１３に記載のサーバー。
【請求項１５】
前記少なくとも一つの命令は、
前記最終攻撃文字列の提供を要請する第２要請メッセージを前記動的分析器から受信するようにさらに実行可能であり、前記第２応答メッセージは前記第２要請メッセージに対する応答として伝送される、請求項１３に記載のサーバー。
【請求項１６】
前記第１応答メッセージはＵＲＬ住所およびウェブアプリケーションを実行する特定の動作を指示する原始パラメーターをさらに含む、請求項１３に記載のサーバー。
【請求項１７】
前記最終攻撃文字列はＵＲＬ住所をさらに含む、請求項１３に記載のサーバー。
【請求項１８】
前記ウェブアプリケーションを通じて実行される特定の動作は、
ＤＤｏＳ攻撃動作、悪性スクリプト実行攻撃動作、ＡＰＴ攻撃動作、パスワードクラッキング攻撃動作、キーロギング攻撃動作、スプーフィング攻撃動作およびルートキット攻撃動作のうち少なくとも一つを含む、請求項１３に記載のサーバー。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はウェブアプリケーションを通じて実行される攻撃文字列を生成する技術に関するものであって、さらに詳細には、静的分析器で生成した文字列制約条件を活用して攻撃文字列を生成する方法および装置に関するものである。
【背景技術】
【０００２】
ウェブアプリケーションの使用者層が厚くなるにつれて、市場に出るウェブアプリケーションの数が急増している。これに伴い、ウェブアプリケーションセキュリティ脅威も共に増加している傾向である。ウェブアプリケーションの構造および機能上の弱点を悪用して悪意のある行為をするコードが挿入される場合が発生する。ウェブアプリケーションを通じての情報の流出が社会的な問題と台頭しているため、脆弱ウェブアプリケーションを検証するための研究の重要性が高まっている。
【０００３】
ウェブアプリケーションを検証するための方法論は大きく二種類に分けられる。第１は静的分析を通じての方法である。これは多数のウェブアプリケーションを分析して特性を抽出した後、特性を基準としてウェブアプリケーションの脆弱の有無を検査する形態で遂行される。このような方法は悪性行為の特性をコードパターンおよび使用権限パターンなどに多角化して適用することができるため、多様な研究に基盤技術として使用されている。しかし、新たな悪性行為が現れるたびに基準データを生成しなければならず、分析結果が基準データによって異なり得るという短所が存在する。
【０００４】
第２の方法としての動的分析方式は、プラットフォームおよびウェブアプリケーションを修正して動作させることによって、内部で使用されるデータの伝播経路および流出の有無を把握する分析方法である。これは運営体制の内部的に使用されるデータとウェブアプリケーションが使用するデータの電波の流れを詳細に把握できる長所を有する。しかし、目的に合うように遂行された環境内でのみ分析が可能であるため、新しいプラットフォームバージョンが登場する場合や簡単な方法のフィルタリングをする場合、攻撃文字列がこれを迂回するようになって認識できなくなる問題があり、フィルタリングを迂回できる攻撃文字列を検出するためには、追加的な環境構成作業が必要である。一般的に、静的、動的方法論はそれぞれ長短所が存在するため、目的により両分析方法を取捨選択して使用する。しかし、両方法はいずれも分析のための準備過程（基準データの確立、環境設定など）が長くかかる短所を有する。また、結果分析が難しいため、分析過程で多くの時間が必要であるという限界点が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前記のような問題点を解決するための本発明の目的は、あらかじめ設定されたフィルタリングロジックを迂回できる攻撃文字列を生成する方法および装置を提供するところにある。
【０００６】
前記のような問題点を解決するための本発明の他の目的は、攻撃文字列に基づいたウェブアプリケーションの実行状態を分析する方法および装置を提供するところにある。
【課題を解決するための手段】
【０００７】
前記目的を達成するための本発明の一実施例に係るウェブアプリケーション（ａｐｐｌｉｃａｔｉｏｎ）の実行状態を分析する動的分析器の動作方法は、前記ウェブアプリケーションを通じて実行される特定の動作を指示するパラメーター（ｐａｒａｍｅｔｅｒ）を含む最終攻撃文字列を含む応答メッセージをサーバーから受信する段階；前記最終攻撃文字列に基づいた前記ウェブアプリケーションの実行状態を分析する段階；および前記ウェブアプリケーションの実行状態に対する分析結果に基づいて前記最終攻撃文字列が前記ウェブアプリケーションによってフィルタリング（ｆｉｌｔｅｒｉｎｇ）されるかの可否を判断する段階を含み、前記最終攻撃文字列はあらかじめ定義されたパラメーターを含む原始攻撃文字列をフィルタリングするように設計されたフィルタリングロジック（ｌｏｇｉｃ）を回避するように生成される。
【０００８】
ここで、前記動的分析器の動作方法は、前記最終攻撃文字列の提供を要請する要請メッセージを前記サーバーに伝送する段階をさらに含み、前記応答メッセージは前記要請メッセージに対する応答として受信され得る。
【０００９】
ここで、前記ウェブアプリケーションによってフィルタリングされるかの可否を判断する段階は、前記最終攻撃文字列によって指示される特定の動作が前記ウェブアプリケーションを通じて実行される場合、前記最終攻撃文字列が前記ウェブアプリケーションによってフィルタリングされないものと判断することができる。
【００１０】
ここで、前記ウェブアプリケーションによってフィルタリングされるかの可否を判断する段階は、前記最終攻撃文字列によって指示される特定の動作が前記ウェブアプリケーションを通じて実行されない場合、前記最終攻撃文字列が前記ウェブアプリケーションによってフィルタリングされるものと判断することができる。
【００１１】
ここで、前記最終攻撃文字列はＵＲＬ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ）住所をさらに含むことができる。
【００１２】
ここで、前記ウェブアプリケーションを通じて実行される特定の動作は、ＤＤｏＳ（ｄｉｓｔｒｉｂｕｔｅｄ  ｄｅｎｉａｌ  ｏｆ  ｓｅｒｖｉｃｅ）攻撃動作、悪性スクリプト実行（ＸＳＳ：Ｃｒｏｓｓ  Ｓｉｔｅ  Ｓｃｒｉｐｔｉｎｇ  ｐｈｉｓｈｉｎｇ）攻撃動作、ＡＰＴ（ａｄｖａｎｃｅｄ  ｐｅｒｓｉｓｔｅｎｔ  ｔｈｒｅａｔ）攻撃動作、パスワードクラッキング（ｐａｓｓｗｏｒｄ  ｃｒａｃｋｉｎｇ）攻撃動作、キーロギング（ｋｅｙｌｏｇｇｉｎｇ）攻撃動作、スプーフィング（ｓｐｏｏｆｉｎｇ）攻撃動作およびルートキット（ｒｏｏｔｋｉｔ）攻撃動作のうち少なくとも一つを含むことができる。
【００１３】
前記目的を達成するための本発明の一実施例に係る攻撃文字列を生成するサーバーの動作方法は、静的分析器からあらかじめ定義されたパラメーターを含む原始攻撃文字列をフィルタリングするように設計されたフィルタリングロジックを回避するための政策を含む第１応答メッセージ（ｍｅｓｓａｇｅ）を受信する段階；前記フィルタリングロジックを回避するように、ウェブアプリケーションを通じて実行される特定の動作を指示する修正されたパラメーターを含む最終攻撃文字列を生成する段階；および前記最終攻撃文字列を含む第２応答メッセージを動的分析器に伝送する段階を含む。
【００１４】
ここで、前記サーバーの動作方法は、前記フィルタリングロジックを回避するための政策の提供を要請する第１要請メッセージを前記静的分析器に伝送する段階をさらに含み、前記第１応答メッセージは前記第１要請メッセージに対する応答として受信され得る。
【００１５】
ここで、前記サーバーの動作方法は、前記最終攻撃文字列の提供を要請する第２要請メッセージを前記動的分析器から受信する段階をさらに含み、前記第２応答メッセージは前記第２要請メッセージに対する応答として伝送され得る。
【００１６】
ここで、前記第１応答メッセージはＵＲＬ住所およびウェブアプリケーションを実行する特定の動作を指示する原始パラメーターをさらに含むことができる。
【００１７】
ここで、前記最終攻撃文字列はＵＲＬ住所をさらに含むことができる。
【００１８】
ここで、前記ウェブアプリケーションを通じて実行される特定の動作は、ＤＤｏＳ攻撃動作、悪性スクリプト実行攻撃動作、ＡＰＴ攻撃動作、パスワードクラッキング攻撃動作、キーロギング攻撃動作、スプーフィング攻撃動作およびルートキット攻撃動作のうち少なくとも一つを含むことができる。
【００１９】
前記目的を達成するための本発明の一実施例に係る最終攻撃文字列を生成するサーバー（Ｓｅｒｖｅｒ）は、プロセッサ（Ｐｒｏｃｅｓｓｏｒ）；および前記プロセスを通じて実行される少なくとも一つの命令が保存されたデータベースを含み、前記少なくとも一つの命令は、静的分析器からあらかじめ定義されたパラメーターを含む原始攻撃文字列をフィルタリングするように設計されたフィルタリングロジックを回避するための政策を含む第１応答メッセージを受信し、前記フィルタリングロジックを回避するように、ウェブアプリケーションを通じて実行される特定の動作を指示する修正されたパラメーターを含む最終攻撃文字列を生成し、そして前記最終攻撃文字列を含む第２応答メッセージを動的分析器に伝送するように実行可能である。
【００２０】
ここで、前記少なくとも一つの命令は、前記フィルタリングロジックを回避するための政策の提供を要請する第１要請メッセージを前記静的分析器に伝送するように実行可能であり、前記第１応答メッセージは前記第１要請メッセージに対する応答として受信され得る。
【００２１】
ここで、前記第１応答メッセージはＵＲＬ住所およびウェブアプリケーションを実行される特定の動作を指示する原始パラメーターをさらに含むことができる。
【００２２】
ここで、前記最終攻撃文字列はＵＲＬ住所をさらに含むことができる。
【００２３】
ここで、前記ウェブアプリケーションを通じて実行される特定の動作は、ＤＤｏＳ攻撃動作、ＡＰＴ攻撃動作、パスワードクラッキング攻撃動作、キーロギング攻撃動作、スプーフィング攻撃動作およびルートキット攻撃動作のうち少なくとも一つを含むことができる。
【発明の効果】
【００２４】
本発明によると、フィルタリングロジックを迂回できる攻撃文字列が生成され得、攻撃文字列に基づいたウェブアプリケーションの実行状態を確認することができる。したがって、既存には検出することができなかったウェブアプリケーションのセキュリティの脆弱点が検出され得る。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施例に係る攻撃文字列に基づいたウェブアプリケーションの実行状態を分析するシステムを簡略に図示したブロック図。
【図２】本発明の一実施例に係る攻撃文字列に基づいたウェブアプリケーションの実行状態を分析するシステムを構成するノードを図示したブロック図。
【図３】本発明の一実施例に係る攻撃文字列に基づいたウェブアプリケーションの実行状態を分析するシステムを構成するノードの動作を図示したブロック図。
【図４】本発明の一実施例に係る動的分析器を図示したブロック図。
【図５】本発明の一実施例に係る攻撃文字列に基づいたウェブアプリケーションの実行状態を分析する方法を図示したフローチャート。
【図６】本発明の一実施例に係る静的分析を遂行する方法を図示したフローチャート。
【図７】本発明の一実施例に係る動的分析を遂行する方法を図示したフローチャート。
【発明を実施するための形態】
【００２６】
本発明は多様な変更を加えることができ、多様な実施例を有することができるところ、特定の実施例を図面に例示して詳細に説明する。しかし、これは本発明を特定の実施形態に限定しようとするものではなく、本発明の思想および技術範囲に含まれるすべての変更、均等物乃至代替物を含むものと理解されるべきである。
【００２７】
第１、第２等の用語は多様な構成要素の説明に使用され得るが、前記構成要素は前記用語によって限定されてはならない。前記用語は一つの構成要素を他の構成要素から区別する目的でのみ使用される。例えば、本発明の権利範囲を逸脱することなく第１構成要素は第２構成要素と命名され得、同様に第２構成要素も第１構成要素と命名され得る。および／またはという用語は複数の関連した記載された項目の組み合わせまたは複数の関連した記載された項目のうちいずれかの項目を含む。
【００２８】
ある構成要素が他の構成要素に「連結されて」いるとか「接続されて」いると言及された時には、その他の構成要素に直接的に連結されていたりまたは接続されていてもよいが、中間に他の構成要素が存在してもよいと理解されるべきである。反面、ある構成要素が他の構成要素に「直接連結されて」いるとか「直接接続されて」いると言及された時には、中間に他の構成要素が存在しないものと理解されるべきである。
【００２９】
本出願で使用した用語は単に特定の実施例を説明するために使用されたものであって、本発明を限定しようとする意図ではない。単数の表現は文脈上明白に異なることを意味しない限り、複数の表現を含む。本出願で、「含む」または「有する」等の用語は明細書上に記載された特徴、数字、段階、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定しようとするものであって、一つまたはそれ以上の他の特徴や数字、段階、動作、構成要素、部品またはこれらを組み合わせたものなどの存在または付加の可能性をあらかじめ排除しないものと理解されるべきである。
【００３０】
異なって定義されない限り、技術的または科学的な用語を含んでここで使用されるすべての用語は、本発明が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有している。一般的に使用される辞書に定義されているような用語は、関連技術の文脈上有する意味と一致する意味を有するものと解釈されるべきであり、本出願で明白に定義しない限り、理想的または過度に形式的な意味で解釈されない。
【００３１】
以下、添付した図面を参照して、本発明の好ましい実施例をより詳細に説明する。本発明の説明において全体的な理解を容易にするために、図面上の同じ構成要素については同じ参照符号を付し、同じ構成要素についての重複する説明は省略する。以下、本発明に係る好ましい実施例を添付された図面を参照して詳細に説明する。
【００３２】
図１は、本発明の一実施例に係る攻撃文字列に基づいたウェブアプリケーションの実行状態を分析するシステムを簡略に図示したブロック図である。
【００３３】
図１を参照すると、攻撃文字列に基づいたウェブアプリケーションの実行状態を分析するシステムサーバー１００、静的分析器１１０、動的分析器１２０、ウェブアプリケーション１３０が設置されたデバイスなどを含むことができる。サーバー１００は有線ネットワークまたは無線ネットワークを通じて静的分析器１１０および動的分析器１２０と連結され得る。例えば、サーバー１００は３ＧＰＰ標準で規定されたＬＴＥ（ｌｏｎｇ  ｔｅｒｍ  ｅｖｏｌｕｔｉｏｎ）、ＬＴＥ−Ａ（ｌｏｎｇ  ｔｅｒｍ  ｅｖｏｌｕｔｉｏｎ−ａｄｖａｎｃｅｄ）等によって静的分析器１１０および動的分析器１２０と連結され得る。またはサーバー１００は、ＩＥＥＥ標準で規定されたＷＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＷＰＡＮ（Ｗｉｒｅｌｅｓｓ  Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等によって静的分析器１１０および動的分析器１２０と連結され得る。またはサーバー１００は、有線ＬＡＮなどによって静的分析器１１０および動的分析器１２０と連結され得る。
【００３４】
サーバー１００は静的分析器１１０および動的分析器１２０から最終攻撃文字列の生成に必要な情報を受信することができ、受信された情報に基づいて最終攻撃文字列を生成することができる。静的分析器１１０および動的分析器１２０はソフトウェア開発に必要な情報をサーバー１００に伝送することができる。
【００３５】
動的分析器１２０は最終攻撃文字列を生成してウェブアプリケーション１３０が設置されたデバイス（ｄｅｖｉｃｅ）に伝送することができる。
【００３６】
図２は、本発明の一実施例に係る攻撃文字列に基づいたウェブアプリケーションの実行状態を分析するシステムを構成するノードを図示したブロック図である。
【００３７】
図２を参照すると、ノード２００は、少なくとも一つのプロセッサ２１０、メモリ２２０およびネットワークと連結されて通信を遂行するネットワークインタフェース装置２３０を含むことができる。また、ノード２００は、入力インタフェース装置２４０、出力インタフェース装置２５０、保存装置２６０等をさらに含むことができる。ここで、ノード２００は、図１を参照して説明されたサーバー１００、静的分析器１１０、動的分析器１２０、などであり得る。ノード２００に含まれたそれぞれの構成要素はバス（ｂｕｓ）２７０により連結されて通信を遂行することができる。
【００３８】
プロセッサ２１０は、メモリ２２０および／または保存装置２６０に保存されたプログラム命令（ｐｒｏｇｒａｍ  ｃｏｍｍａｎｄ）を実行することができる。プロセッサ２１０は、中央処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ；ＣＰＵ）、グラフィック処理装置（ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ；ＧＰＵ）または本発明に係る方法が実行される専用のプロセッサを意味し得る。メモリ２２０と保存装置２６０は、揮発性保存媒体および／または不揮発性保存媒体で構成され得る。例えば、メモリ２２０は読み取り専用メモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ；ＲＯＭ）および／またはランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ；ＲＡＭ）で構成され得る。
【００３９】
また、ノードのうち第１ノードで遂行される方法（例えば、信号（またはメッセージ）の伝送または受信）が説明される場合にも、これに対応する第２ノードは第１ノードで遂行される方法と相応する方法（例えば、信号（またはメッセージ）の受信または伝送）を遂行することができる。すなわち、サーバー１００の動作が説明された場合に、これに対応する静的分析器１１０および動的分析器１２０はサーバー１００の動作と相応する動作を遂行することができる。その反対に、静的分析器１１０および動的分析器１２０の動作が説明された場合に、これに対応するサーバー１００は静的分析器１１０および動的分析器１２０の動作と相応する動作を遂行することができる。
【００４０】
図３は、本発明の一実施例に係る攻撃文字列に基づいたウェブアプリケーションの実行状態を分析するシステムを構成するノードの動作を図示したブロック図である。
【００４１】
図３を参照すると、攻撃文字列に基づいたウェブアプリケーションの実行状態を分析するシステムは、サーバー１００、静的分析器１１０、動的分析器１２０、ウェブアプリケーション１３０が設置されたデバイス、などを含むことができる。
【００４２】
制約条件ソルバー１０２はサーバー１００に含まれていてもよい。静的分析器１１０はウェブ上に存在するウェブアプリケーションのソースコード３１０が保存されたウェブサーバーと有線または無線通信方法で連結されていてもよい。ソースコード３１０はまた、ウェブアプリケーション１３０の開発過程で利用され得る。静的分析器１１０はサーバー１００と有線および無線通信方法で連結されていてもよい。静的分析器１１０とサーバー１００を連結する有線および無線通信方法を通じて静的分析器１１０からサーバー１００にＵＲＬ住所３２０、パラメーター文字列３３０、パラメーター文字列制約条件３４０が伝送され得る。パラメーター文字列３３０は、文字列をパラメーターに変換させたものを意味し得る。また、パラメーター文字列３３０は静的分析のために使用されるパラメーター文字列を意味し得る。パラメーター文字列制約条件３４０は原始攻撃文字列をフィルタリングするように設計されたフィルタリングロジックを回避できる条件を意味し得る。
【００４３】
制約条件ソルバー１０２はサーバー１００に存在するプロセッサであり得る。動的分析器１２０はサーバー１００と有線および無線通信方法で連結されていてもよい。動的分析器１２０はサーバー１００を連結する有線および無線通信方法を通じてサーバー１００から動的分析器１２０に最終攻撃文字列３５０が伝送され得る。動的分析器１２０はデバイスに設置されたウェブアプリケーション１３０の実行状態を分析することができる。
【００４４】
図４は、本発明の一実施例に係る動的分析器を図示したブロック図である。
【００４５】
図４を参照すると、動的分析器１２０はテストケース（Ｔｅｓｔ  Ｃａｓｅ）生成器１２１、自動遂行器１２３、結果分析器１２４等を含むことができる。
【００４６】
動的分析器１２０は最終攻撃文字列３５０を受信してこれを動的分析に利用することができる。自動遂行器１２３はデバイス４００と有線および無線通信方法で連結されていてもよい。デバイス４００は確認しようとするウェブアプリケーションを設置して動的分析を支援することができる。
【００４７】
テストケース生成器１２１はテスト目的により他の形態のテストケース１２２を生成することができる。
【００４８】
自動遂行器１２３はテストケース生成器１２１が実行する命令を自動で実行することができ、ウェブアプリケーションの設置および削除などを担当することができる。結果分析器１２４はエクセルファイルを生成するために各情報を集合することができ、出力しようとする形式により拡張および変形が可能であり得る。
【００４９】
図５はね本発明の一実施例に係る攻撃文字列に基づいたウェブアプリケーションの実行状態を分析する方法を図示したフローチャートである。
【００５０】
図５を参照すると、動的分析器１２０は、ウェブアプリケーションを通じて実行される特定の動作を指示するパラメーターを含む最終攻撃文字列を要請する信号（またはメッセージ）をサーバー１００に伝送することができる（Ｓ５００）。ウェブアプリケーションを通じて実行される特定の動作を指示するパラメーターを含む最終攻撃文字列は、原始攻撃文字列であった場合にはフィルタされ得るフィルタリングロジックを迂回することができる。
【００５１】
サーバー１００は最終攻撃文字列を要請する信号（またはメッセージ）を受信した場合、静的分析器１１０にＵＲＬ住所、パラメーター文字列、パラメーター文字列制約条件を要請する信号（またはメッセージ）を伝送することができる（Ｓ５１０）。
【００５２】
ＵＲＬ住所はインターネット接続のために利用されるインターネット住所を意味し得、パラメーターはウェブアプリケーションを通じて実行される特定の動作を指示することができる。パラメーター文字列はパラメーターが文字列に変換されたものを意味し得る。パラメーター文字列制約条件は原始攻撃文字列をフィルタリングするように設計されたフィルタリングロジックを回避できる条件を意味し得る。
【００５３】
動的分析器１２０は、一般的な攻撃文字列を意味する原始攻撃文字列に基づいて動的分析を遂行することができる。原始攻撃文字列は一般的にパラメーター文字列に規則があるため、簡単なフィルタリング（例えば、パラメーター文字列の前後を置き換えたり、文字を重複して記載するなどの行為）をする場合、原始攻撃文字列の攻撃を容易に回避することができる。
【００５４】
ＵＲＬ住所、パラメーター文字列、パラメーター文字列制約条件を要請する信号（またはメッセージ）を受信した静的分析器１１０は、ウェブアプリケーションソースコードを獲得し、獲得されたウェブアプリケーションソースコードから特徴を分析して静的分析を遂行することができる（Ｓ５２０）。
【００５５】
静的分析は次の通り遂行され得る。
【００５６】
図６は、本発明の一実施例に係る静的分析を遂行する方法を図示したフローチャートである。
【００５７】
図６を参照すると、静的分析器１１０の動作はサーバー１００からＵＲＬ、住所、パラメーター文字列およびパラメーター文字列の制約条件を要請する信号（またはメッセージ）を受信することができる（Ｓ５２１）。静的分析器１１０は多数のウェブアプリケーションのソースコードの特徴を分析することができる。
【００５８】
静的分析器１１０は、一つまたは多数のウェブアプリケーションのソースコードから特徴を分析してソースコードを確認して静的分析を遂行することができる。静的分析器１１０は遂行された静的分析を通じて静的分析情報を生成することができる（Ｓ５２２）。
【００５９】
ウェブアプリケーションを実行する実行サーバー側のコードは、一般的に原始攻撃文字列を回避するためのフィルタリングロジックが存在し得る。静的分析器１１０はフィルタリングロジックを分析してどのような方法でフィルタリングロジックが生成されているのかの可否を確認することができる。静的分析器１１０がフィルタリングロジックを分析して確認する段階で、静的分析器１１０はＵＲＬ住所、パラメーター文字列およびフィルタリングロジックが含まれたパラメーター文字列の制約条件を獲得することができる（Ｓ５２３）。静的分析器１１０は静的分析を通じて獲得したＵＲＬ、住所、パラメーター文字列およびパラメーター文字列の制約条件をサーバー１００に伝送することができる（Ｓ５２４）。
【００６０】
再び図５を参照すると、静的分析器１１０は静的分析を通じて獲得されたＵＲＬ住所、パラメーター文字列、パラメーター文字列制約条件をサーバー１００に伝送することができる（Ｓ５３０）。
【００６１】
静的分析器１１０はあらかじめ静的分析を通じて獲得されたＵＲＬ住所、パラメーター文字列、パラメーター文字列制約条件を、動的分析器１２０からウェブアプリケーションを通じて実行される特定の動作を指示するパラメーターを含む最終攻撃文字列を要請する信号を受信する場合、サーバー１００に伝送してもよい。
【００６２】
サーバー１００はＵＲＬ住所、パラメーター文字列、パラメーター文字列制約条件を受信することができる。サーバー１００は制約条件を反映して最終攻撃文字列を生成する制約条件ソルバーを利用して最終攻撃文字列を生成することができる（Ｓ５４０）。
【００６３】
原始攻撃文字列はＵＲＬ住所および原始パラメーターで構成され得、最終攻撃文字列はＵＲＬ住所および修正されたパラメーターで構成され得る。原始攻撃文字列は任意の攻撃文字列を意味し得る。サーバー１００の制約条件ソルバーは、ＵＲＬ住所、パラメーター文字列およびパラメーター文字列の制約条件に基づいて原始攻撃文字列をフィルタリングするようにフィルタリングロジックを迂回できる最終攻撃文字列を生成することができる。
【００６４】
サーバー１００は動的分析器１２０にサーバー１００の制約条件ソルバーによって生成した最終攻撃文字列を伝送することができる（Ｓ５５０）。動的分析器１２０は最終攻撃文字列をサーバー１００から受信することができる。最終攻撃文字列を受信した動的分析器１２０は、最終攻撃文字列を動的分析をしようとするウェブアプリケーションが設置されたデバイス４００に伝送することができる（Ｓ５６０）。
【００６５】
動的分析器１２０は動的分析をしようとするウェブアプリケーションが設置されたデバイス４００に特定の動作を遂行して動的分析ができる。ウェブアプリケーションを通じて実行される特定の動作は、ＤＤｏＳ攻撃動作、ＡＰＴ攻撃動作、パスワードクラッキング攻撃動作、キーロギング攻撃動作、スプーフィング攻撃動作およびルートキット攻撃動作のうち少なくとも一つを含むことができる。
【００６６】
デバイス４００は最終攻撃文字列に基づいたウェブアプリケーションの実行状態を表すことができる。動的分析器１２０はデバイス４００が最終攻撃文字列に基づいたウェブアプリケーションの実行状態をモニタリングすることができる（Ｓ５７０）。動的分析器１２０は最終攻撃文字列に基づいた動作をデバイス４００から受信することができる。動的分析器１２０はデバイス４００から受信した最終攻撃文字列に基づいた動作に基づいて動的分析を遂行することができる（Ｓ５８０）。動的分析方法は次の通りである。
【００６７】
図７は、本発明の一実施例に係る動的分析を遂行する方法を図示したフローチャートである。
【００６８】
図７を参照すると、テストケース生成器はテストケースを生成することができる（Ｓ５８１）。
【００６９】
結果分析器は、ウェブアプリケーションにテキストデータを入力してウェブアプリケーションの脆弱点が何かを分析することができる（Ｓ５８２）。テキストデータとは、ＵＲＬ住所にパラメーター値を入れることを意味し得る。パラメーター値は静的分析を通じて制約条件を反映して生成した最終攻撃文字列であり得る。
【００７０】
分析結果、最終攻撃文字列によって指示される特定の動作がウェブアプリケーションを通じて実行される場合、最終攻撃文字列がウェブアプリケーションによってフィルタリングされないものと判断され得る。分析結果、最終攻撃文字列によって指示される特定の動作がウェブアプリケーションを通じて実行されない場合、最終攻撃文字列がウェブアプリケーションによってフィルタリングされるものと判断され得る。
【００７１】
ウェブアプリケーションを通じて実行される特定の動作は、ＤＤｏＳ攻撃動作、ＡＰＴ攻撃動作、パスワードクラッキング攻撃動作、キーロギング攻撃動作、スプーフィング攻撃動作およびルートキット攻撃動作のうち少なくとも一つを含むことができる。
【００７２】
本発明に係る方法は、多様なコンピュータ手段を通じて遂行され得るプログラム命令形態で具現されてコンピュータ読み出し可能媒体に記録され得る。コンピュータ読み出し可能媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含むことができる。コンピュータ読み出し可能媒体に記録されるプログラム命令は、本発明のために特別に設計されて構成されたものであるかコンピュータソフトウェア当業者に公知とされて使用可能なものであり得る。
【００７３】
コンピュータ読み出し可能媒体の例には、ロム（ｒｏｍ）、ラム（ｒａｍ）、フラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）等のようにプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例には、コンパイラ（ｃｏｍｐｉｌｅｒ）により作られるような機械語コードだけでなく、インタープリタ（ｉｎｔｅｒｐｒｅｔｅｒ）等を使用してコンピュータによって遂行され得る高級言語コードを含む。前述したハードウェア装置は本発明の動作を遂行するために、少なくとも一つのソフトウェアモジュールで作動するように構成され得、その逆も同じである。
【００７４】
以上、実施例を参照して説明したが、該当技術分野の熟練した当業者は下記の特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で本発明を多様に修正および変更できることが理解できるはずである。
【図１】
2019521456.tif 000003
【図２】
2019521456.tif 000004
【図３】
2019521456.tif 000005
【図４】
2019521456.tif 000006
【図５】
2019521456.tif 000007
【図６】
2019521456.tif 000008
【図７】
2019521456.tif 000009
【国際調査報告】
2019521456.tif 000010
2019521456.tif 000011
2019521456.tif 000012
2019521456.tif 000013