JP2015503789A - ターゲットを絞ったセキュリティ・テストのための、コンピュータにより実施される方法、コンピュータ・プログラム製品、システム - Google Patents

ターゲットを絞ったセキュリティ・テストのための、コンピュータにより実施される方法、コンピュータ・プログラム製品、システム Download PDF

Info

Publication number
JP2015503789A
JP2015503789A JP2014549569A JP2014549569A JP2015503789A JP 2015503789 A JP2015503789 A JP 2015503789A JP 2014549569 A JP2014549569 A JP 2014549569A JP 2014549569 A JP2014549569 A JP 2014549569A JP 2015503789 A JP2015503789 A JP 2015503789A
Authority
JP
Japan
Prior art keywords
web pages
web
computer
software module
test payloads
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014549569A
Other languages
English (en)
Other versions
JP5893164B2 (ja
Inventor
アミット、ヤィール
ガイ、ローテム
カルマン、ダニエル
セガル、オリ
ウェイズマン、オムリ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2015503789A publication Critical patent/JP2015503789A/ja
Application granted granted Critical
Publication of JP5893164B2 publication Critical patent/JP5893164B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】ターゲットを絞ったセキュリティ・テストのための、コンピュータにより実施される方法、コンピュータ・プログラム製品、システムを提供すること。【解決手段】スクリプト・コードを含んだ複数のウェブ・ページのソース・コードが、静的に解析される。静的解析に基づいて、潜在的な脆弱性を含んだページが識別される。静的解析に基づいて、潜在的な脆弱性を含んでいないページが識別される。潜在的な脆弱性を含んだウェブ・ページは、テスト・ペイロードのセットを使用して動的に解析される。潜在的な脆弱性を含んでいないページは、テスト・ペイロードのセットよりも少ないテスト・ペイロードを含んだ、テスト・ペイロードのセットのサブセットを使用して動的に解析される。【選択図】図1

Description

本発明はセキュリティ・テストに関する。
クライアント側のスクリプト言語により、ネットワークを通じて受信され、クライアント・コンピューティング・デバイス上で、例えばクライアント・コンピューティング・デバイスで作動中のウェブ・ブラウザによって実行されることが可能なコンピュータ・プログラムを作成し、実行することができる。いくつかの例では、クライアント側のスクリプトにより、動的なウェブ・コンテンツを可能にし、ウェブ・ページは、ユーザ入力、環境条件、または他の変数に応じて変化するコンテンツを有することができる。
ウェブ・アプリケーションが、クライアント側のスクリプト記述を利用して、クライアント・コンピューティング・デバイス上においてウェブ・ブラウザ・アプリケーション内で実行することができるアプリケーションを提供することができる。ウェブ・アプリケーションは、アプリケーションの機能および動作を、厳密にサーバ・コンピューティング・デバイスに属するのではなく、クライアント・コンピューティング・デバイスに移動させることができる。ウェブ・アプリケーションは、多くの場合ウェブ・ブラウザ内で実行される可能性があるので、ウェブ・アプリケーションは、多くのオペレーティング・システムのプラットフォームにわたって互換性のあるものとすることができる。これにより、アプリケーション開発者がクライアント・タイプごとに様々なバージョンのアプリケーションを作成することが不要になる。
ターゲットを絞ったセキュリティ・テストのための、コンピュータにより実施される方法、コンピュータ・プログラム製品、システムを提供する。
ある実施によれば、方法が、コンピューティング・デバイス上で、スクリプト・コードを含む複数のウェブ・ページのソース・コードを静的に解析することを含むことができる。潜在的な脆弱性を含むウェブ・ページを、静的解析に基づいて識別することができる。潜在的な脆弱性を含んでいないウェブ・ページを、静的解析に基づいて識別することができる。潜在的な脆弱性を含んでいるウェブ・ページは、テスト・ペイロードのセットを使用して動的に解析することができる。潜在的な脆弱性を含んでいないウェブ・ページは、テスト・ペイロードのセットよりも少ないテスト・ペイロードを含んでいる、テスト・ペイロードのセットのサブセットを使用して動的に解析することができる。
次のフィーチャーの1つまたは複数を含むことができる。ウェブ・サーバから複数のウェブ・ページを受信することができる。複数のウェブ・ページを、ウェブ・アプリケーションと関連付けることができる。
複数のウェブ・ページのソース・コードを静的に解析することは、複数のウェブ・ページのソース・コードを通じてデータのフローを表すモデルを構築することを含むことができる。潜在的な脆弱性は、一連のセキュリティ・ルールに基づくデータ・フローの違反(violation)を含むことができる。複数のウェブ・ページのソース・コードを静的に解析することは、静的汚染(taint)解析を含むことができる。動的に解析することは、スクリプト・エンジンでスクリプト・コードを実行することを含むことができる。
別の実施によれば、コンピュータ・プログラム製品が、複数の命令をそこに格納したコンピュータ読み取り可能な媒体を含む。プロセッサによって実行されるとき、命令はプロセッサに、スクリプト・コードを含んだ複数のウェブ・ページのソース・コードを静的に解析することを含む動作を行わせることができる。静的解析に基づいて、潜在的な脆弱性を含んだウェブ・ページを識別することができる。静的解析に基づいて、潜在的な脆弱性を含んでいないウェブ・ページを識別することができる。潜在的な脆弱性を含んだウェブ・ページは、テスト・ペイロードのセットを使用して動的に解析することができる。潜在的な脆弱性を含んでいないウェブ・ページは、テスト・ペイロードのセットよりも少ないテスト・ペイロードを含んでいる、テスト・ペイロードのセットのサブセットを使用して動的に解析することができる。
次のフィーチャーの1つまたは複数を含むことができる。ウェブ・サーバから複数のウェブ・ページを受信するための命令を含むことができる。複数のウェブ・ページを、ウェブ・アプリケーションと関連付けることができる。
複数のウェブ・ページのソース・コードを静的に解析するための命令は、複数のウェブ・ページのソース・コードを通じてデータのフローを表すモデルを構築するための命令を含むことができる。潜在的な脆弱性は、一連のセキュリティ・ルールに基づくデータ・フローの違反を含むことができる。
複数のウェブ・ページのソース・コードを静的に解析するための命令は、静的汚染解析のための命令を含むことができる。動的に解析するための命令は、スクリプト・エンジンでスクリプト・コードを実行するための命令を含むことができる。
さらに別の実施によれば、システムが、プロセッサと、プロセッサと結合されたメモリとを含むことができる。第1のソフトウェア・モジュールをメモリに配置し、プロセッサで実行することができる。第1のソフトウェア・モジュールは、スクリプト・コードを含む複数のウェブ・ページのソース・コードを静的に解析するように構成することができる。第2のソフトウェア・モジュールをメモリに配置し、プロセッサで実行することができる。第2のソフトウェア・モジュールは、静的解析に基づく潜在的な脆弱性を含むウェブ・ページを識別するように構成することができる。第3のソフトウェア・モジュールをメモリに配置し、プロセッサで実行することができる。第3のソフトウェア・モジュールは、静的解析に基づいて潜在的な脆弱性を含んでいないウェブ・ページを識別するように構成することができる。第4のソフトウェア・モジュールをメモリに配置し、プロセッサで実行することができる。第4のソフトウェア・モジュールは、テスト・ペイロードのセットを使用して潜在的な脆弱性を含んだウェブ・ページを動的に解析するように構成することができる。第5のソフトウェア・モジュールをメモリに配置し、プロセッサで実行することができる。第5のソフトウェア・モジュールは、テスト・ペイロードのセットよりも少ないテスト・ペイロードを含んだ、テスト・ペイロードのセットのサブセットを使用して、潜在的な脆弱性を含んでいないウェブ・ページを動的に解析するように構成することができる。
次のフィーチャーの1つまたは複数を含むことができる。第6のソフトウェア・モジュールは、ウェブ・サーバから複数のウェブ・ページを受信するように構成することができる。複数のウェブ・ページを、ウェブ・アプリケーションと関連付けることができる。
複数のウェブ・ページのソース・コードを静的に解析するように構成された、第1のソフトウェア・モジュールは、複数のウェブ・ページのソース・コードを通じてデータのフローを表すモデルを構築するように構成することができる。潜在的な脆弱性は、一連のセキュリティ・ルールに基づくデータ・フローの違反を含むことができる。
複数のウェブ・ページのソース・コードを静的に解析するように構成された第1のソフトウェア・モジュールは、静的汚染解析を行うように構成することができる。動的に解析するように構成された、第4のソフトウェア・モジュールは、スクリプト・エンジンでスクリプト・コードを実行するように構成することができる。
1つまたは複数の実施の詳細について、添付の図面および以下の説明に示す。説明、図面、および特許請求の範囲から、他のフィーチャーも明らかになるであろう。
分散されたコンピューティング・ネットワークに結合された解析プロセスを概略的に示す図である。 図1の解析プロセスによって実行されるプロセスのフローチャートである。 会議の被招待者の推定される到着時間を示す図1の解析プロセスによる解析を概略的に示す図である。
当業者には理解されるように、本発明は、方法、システム、またはコンピュータ・プログラム製品として具体化することができる。したがって、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェアの態様とハードウェアの態様を組み合わせた実施形態の形をとることができ、本明細書ではすべて一般的に「回路」、「モジュール」、または「システム」と呼ぶことができる。さらに、本発明は、コンピュータ使用可能プログラム・コードを媒体に組み込んだコンピュータ使用可能記憶媒体上のコンピュータ・プログラム製品の形をとることができる。
任意の好適なコンピュータ使用可能な媒体またはコンピュータ読み取り可能な媒体を利用することができる。コンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な信号媒体、またはコンピュータ読み取り可能な記憶媒体であることが可能である。コンピュータ使用可能な記憶媒体、またはコンピュータ読み取り可能な記憶媒体(コンピューティング・デバイスまたはクライアント電子デバイスと関連付けられた記憶装置を含む)は、例えば電子、磁気、光、電磁気、赤外線、または半導体のシステム、装置、またはデバイス、あるいは上記の任意の好適な組合せであることが可能であるが、これらに限定しない。コンピュータ読み取り可能な媒体のさらなる具体例(非網羅的リスト)には、以下が含まれることになる。すなわち、1つもしくは複数の配線を有する電気接続、携帯可能なコンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMもしくはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、光学式記憶装置。この文書の文脈においては、コンピュータ利用可能な記憶媒体、またはコンピュータ読み取り可能な記憶媒体は、命令実行システム、装置、またはデバイスによって、あるいはこれらに関連して使用するためにプログラムを収容する、または格納することができる任意の有形媒体とすることができる。
コンピュータ読み取り可能な信号媒体が、例えばベースバンドに、または搬送波の一部として、コンピュータ読み取り可能なプログラム・コードを組み入れた伝搬データ信号を含むことができる。このような伝搬信号は、電磁気、光、またはその任意の好適な組合せを含むが、これらに限定しない、様々な形態のいずれかをとることができる。コンピュータ読み取り可能な信号媒体は、コンピュータ読み取り可能な記憶媒体ではなく、命令実行システム、装置、もしくはデバイスによって、またはこれらに関連して使用するためにプログラムを伝える、伝搬する、または伝送することができる任意のコンピュータ読み取り可能な媒体とすることができる。
コンピュータ読み取り可能な媒体に組み込まれたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RFなど、または上記の任意の好適な組合せを含むが、これらに限定しない、任意の適切な媒体を使用して送信することができる。
本発明の動作を実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++(R)などのようなオブジェクト指向プログラミング言語で書くことができる。しかしながら、本発明の動作を実行するためのコンピュータ・プログラム・コードは、「C」プログラミング言語または同様のプログラミング言語のような従来の手続き型プログラミング言語で書くこともできる。プログラム・コードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン型ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上で、かつ部分的にリモート・コンピュータ上で、あるいは全体的にリモート・コンピュータまたはサーバ上で、実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を介してユーザのコンピュータに接続することができる、あるいは(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに接続することができる。
本発明の諸実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図、あるいはその両方を参照して、本発明を以下に説明する。フローチャート図またはブロック図、あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図、あるいはその両方の中のブロックの組合せは、コンピュータ・プログラム命令によって実行できることを理解されるであろう。こうしたコンピュータ・プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供して、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図、あるいはその両方の1つまたは複数のブロックに指定される機能/活動を実行するための手段を作り出すように、機械を製造することができる。
こうしたコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置に特定の方法で機能するよう命令することができるコンピュータ読み取り可能なメモリに格納することもでき、コンピュータ読み取り可能なメモリに格納された命令が、フローチャートまたはブロック図、あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する命令を含む製品を生み出すようにする。
またコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置にロードして、コンピュータまたは他のプログラマブル装置上で一連の動作ステップを実行させて、コンピュータまたは他のプログラマブル装置上で実行される命令が、フローチャートまたはブロック図、あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するためのステップを提供するように、コンピュータ実施プロセスを作り出すことができる。
図1を参照すると、ネットワーク14(例えば、インターネットまたはローカル・エリア・ネットワーク)に接続することができるクライアント・コンピュータ12に常駐することができ、クライアント・コンピュータ12によって実行することができる解析プロセス10が示されている。クライアント・コンピュータ12の例には、パーソナル・コンピュータ、ラップトップ・コンピュータ、モバイル・コンピューティング・デバイス、サーバ・コンピュータ、または一連のサーバ・コンピュータを含むことができるが、これらに限定しない。クライアント・コンピュータ12は、例えばオペレーティング・システム、例えば、Microsoft(R)Windows(R)、Mac(R)OS X(R)、またはRed Hat(R)Linux(R)を実行することができるが、これらに限定しない。(MicrosoftおよびWindowsは、米国、他の諸国、または両方におけるMicrosoft Corporationの登録商標であり、MacおよびOS Xは、米国、他の諸国、または両方におけるApple Inc.の登録商標であり、Red Hatは、米国、他の諸国、または両方におけるRed Hat Corporationの登録商標であり、Linuxは、米国、他の諸国、または両方におけるLinus Torvaldsの登録商標である。)
以下により詳細に説明するように、解析プロセス10は、スクリプト・コードを含む複数のウェブ・ページのソース・コードを静的に解析することができる。スクリプト・コードは、例えば、JavaScript(R)、およびFlash(R)のようなスクリプト言語で書かれたコードを含むことができるが、これらに限定しない(JavaScriptは、米国、他の諸国、または両方におけるOracle Corporationの商標であり、Flashは、米国、他の諸国、または両方におけるAdobe Systems Incorporatedの商標である)。少なくとも部分的に、ソースを静的に解析することに基づいて、解析プロセス10は、潜在的な脆弱性を含んでいるウェブ・ページ、および潜在的な脆弱性を含んでいないウェブ・ページを識別することができる。解析プロセス10は、テスト・ペイロードのセットを使用して潜在的な脆弱性を含んだウェブ・ページを動的に解析することができる。さらに、解析プロセス10は、テスト・ペイロードのセットよりも少ないテスト・ペイロードを含んだ、テスト・ペイロードのセットのサブセットを使用して、潜在的な脆弱性を含んでいないウェブ・ページを動的に解析することができる。
前述に従って、解析プロセス10は、一般的には、スクリプト・コードを含んだ複数のウェブ・ページを静的に解析して、その静的解析からスクリプト・コードを含んだページを潜在的なセキュリティの脆弱性であるとして識別すること、および潜在的なセキュリティの脆弱性ではないページを識別することができる。ウェブ・ページはまた、動的に解析して、潜在的なセキュリティの脆弱性を識別することもできる。静的解析によって潜在的なセキュリティの脆弱性であると識別されなかったウェブ・ページは、テスト・ペイロードのサブセットを使用して動的に解析することができ、例えばこれは、より一般的なセキュリティの脆弱性の識別を目的とすることができる。静的解析によって潜在的なセキュリティの脆弱性であると識別されたウェブ・ページは、静的解析によって潜在的なセキュリティの脆弱性であると識別されなかったウェブ・ページを動的に解析するために使用されたものよりも広範囲の、一部の実施形態では著しく広範囲の、テスト・ペイロードのセットを使用して動的に解析することができる。
解析プロセス10の命令セットおよびサブルーチンは、1つまたは複数のソフトウェア・モジュールを含むことができ、クライアント・コンピュータ12に結合された記憶装置16に格納することができるが、これらは1つまたは複数のプロセッサ(図示せず)ならびにクライアント・コンピュータ12に組み込まれた1つまたは複数のメモリ・モジュール(図示せず)によって実行することができる。記憶装置16は、ハード・ディスク・ドライブ、ソリッド・ステート・ドライブ、テープ・ドライブ、光ドライブ、RAIDアレイ、ランダム・アクセス・メモリ(RAM)、および読み出し専用メモリ(ROM)を含むことができるが、これらに限定しない。
例えばテスト・ペイロード18の1つまたは複数のセットが、複数のウェブ・ページを動的に解析することと関連して使用される場合があるが、これらを記憶装置16に格納することができる。スクリプト・エンジン20は、クライアント・コンピュータ12によって実行されることも可能である。スクリプト・エンジン20は、(例えば、ウェブ・ページ22内に)複数のウェブ・ページと共に含まれるスクリプト・コードを実行するように構成されたエンジンを含むことができる。スクリプト・エンジン20は、(例えば、ウェブ・コンテンツをレンダリングまたは処理、あるいはその両方を行うことができ、スクリプト・コードを実行する可能性のある)ウェブ・ブラウザ内に含まれる、もしくはウェブ・ブラウザのモジュールとして含まれる、またはその両方のスクリプト・エンジンを含むことができる、あるいはウェブ・ページ22内に含まれるスクリプトを実行するように構成可能であるスタンドアロン型スクリプト・エンジンを含むことができる、あるいはその両方である。スクリプト・エンジン20の命令セットおよびサブルーチンは、1つまたは複数のソフトウェア・モジュールを含むことができ、クライアント・コンピュータ12に結合された記憶装置16に格納することができるが、これらはクライアント・コンピュータ12に組み込まれている1つまたは複数のプロセッサ(図示せず)ならびに1つまたは複数のメモリ・モジュール(図示せず)によって実行することができる。いくつかの実施形態では、スクリプト・エンジン20は、個々のアプリケーションを含むことができる、または解析プロセス10の構成要素を含むことができる、あるいはその両方である。
ウェブ・ページ22は、サーバ・コンピュータ26に結合された記憶装置24に格納することができる。ウェブ・ページ22の1つまたは複数は、スクリプト・コードを含むことができ、スクリプト・コードは、(例えば、スクリプト・エンジン20によって)クライアント・コンピュータ12上で実行することができる。記憶装置24には、ハード・ディスク・ドライブ、ソリッド・ステート・ドライブ、テープ・ドライブ、光ドライブ、RAIDアレイ、ランダム・アクセス・メモリ(RAM)、および読み出し専用メモリ(ROM)が含まれるが、これらに限定しない。サーバ・コンピュータ26の例には、パーソナル・コンピュータ、サーバ・コンピュータ、一連のサーバ・コンピュータ、ミニ・コンピュータ、およびメインフレーム・コンピュータが含まれるが、これらに限定しない。サーバ・コンピュータ26は、ネットワーク・オペレーティング・システム、その例には、例えばMicrosoft(R)Windows(R)Server、Novell(R)NetWare(R)、またはRed Hat(R)Linux(R)が含まれるが、これらに限定されない(MicrosoftおよびWindowsは、米国、他の諸国、または両方におけるMicrosoft Corporationの登録商標であり、NovellおよびNetWareは、米国、他の諸国、または両方におけるNovell Corporationの登録商標であり、Red Hatは、米国、他の諸国、または両方におけるRed Hat Corporationの登録商標であり、Linuxは、米国、他の諸国、または両方におけるLinus Torvaldsの登録商標である。)、を実行中のウェブ・サーバ(または一連のサーバ)とすることができる。
サーバ・コンピュータ12は、ウェブ・サーバ・アプリケーション28を実行することができ、ウェブ・サーバ・アプリケーションの例には、ネットワーク14を介したサーバ・コンピュータ26へのHTTP(すなわち、HyperText Transfer Protocol、ハイパーテキスト転送プロトコル)のアクセスを可能にする、Microsoft IIS、Novell WebserverTM、またはApache(R)Webserver(Webserverは、米国、他の諸国、または両方におけるNovell Corporationの商標であり、Apacheは、米国、他の諸国、または両方におけるApache Software Foundationの登録商標である)が含まれるが、これらに限定しない。ウェブ・サーバ・アプリケーションの命令セットおよびサブルーチンは、記憶装置24に格納することができるが、これらはサーバ・コンピュータ26に組み込まれた1つまたは複数のプロセッサ(図示せず)ならびに1つまたは複数のメモリ・モジュール(図示せず)によって実行することができる。加えて/代替として、ウェブ・サーバ・アプリケーションは、クライアント・コンピュータ12に格納し、クライアント・コンピュータ12で実行することができる。
クライアント・コンピュータ12は、直接にまたは間接的に、ネットワーク14に結合することができる。例えば、クライアント・コンピュータ12は、配線によるネットワーク接続を介してネットワーク14に直接結合されて示されている。様々な追加の/代替の実施形態では、クライアント・コンピュータ12(またはサーバ・コンピュータ26、あるいはその両方)を、クライアント・コンピュータ12(またはサーバ・コンピュータ26、あるいはその両方)間に確立された無線通信チャネルによってネットワーク14に結合することができる。無線通信チャネルの例には、IEEE 802.11a、802.11b、802.11g、Wi−Fi、またはBluetooth無線通信チャネル、あるいはこれらのすべてが含まれる。当技術分野では知られているように、IEEE 802.11x規格のすべては、経路の共有のために、Ethernet(R)プロトコルおよび衝突回避型の搬送波感知多重アクセス(すなわち、CSMA/CA)を使用することができる。様々な802.11x規格は、例えば位相偏移キーイング(すなわち、PSK)変調または相補的コード・キーイング(すなわち、CCK)変調を使用することができる。当技術分野では知られているように、Bluetoothは、例えば携帯電話、コンピュータ、および携帯情報端末が短距離無線接続を使用して相互接続できる電気通信業界の規格である。
また図2を参照すると、解析プロセス10が、一般的に、スクリプト・コードを含む複数のウェブ・ページのソース・コードを静的に解析する100ことができる。解析プロセス10は、静的解析100に基づく潜在的な脆弱性を含んだ1つの、または2つ以上のウェブ・ページを識別する102ことができる。解析プロセス10はまた、静的解析に基づく潜在的な脆弱性を含んでいない1つの、または2つ以上のウェブ・ページを識別する104こともできる。さらに解析プロセス10は、テスト・ペイロードのセットを使用して潜在的な脆弱性を含んだ1つの、または2つ以上のウェブ・ページを動的に解析する106ことができる。潜在的な脆弱性を含んでいない1つの、または2つ以上のウェブ・ページは、テスト・ペイロードのセットよりも少ないテスト・ペイロードを含んだ、テスト・ペイロードのセットのサブセットを使用して動的に解析する108ことができる。
例えば、図3も参照すると、解析プロセス10が、サーバ・コンピュータ26から複数のウェブ・ページ22を受信する110ことができる。サーバ・コンピュータ26から受け取った110複数のウェブ・ページ22は、JavaScript、Flash、または他のスクリプト・コードのようなスクリプト・コードを含む1つまたは複数のページを含むことができる。いくつかの例では、複数のウェブ・ページ22は、ウェブ・アプリケーションと関連しているウェブ・ページを含むことができる。
スクリプト・コードを含む複数のウェブ・ページのソース・コードを(例えば、解析プロセス10の機能、または解析プロセス10のモジュール、フィーチャー、もしくは構成要素、あるいはその両方を表すことができる静的解析装置150によって)静的に解析すること100は、いくつかの実施形態では、ウェブ・ページ22のソース・コード、またはウェブ・ページ22に含まれるスクリプト・コード、あるいはその両方を通じて、情報およびデータのフローを表すスクリプト・コードのモデル152を構築する112ことを含む。
コード・モデル152を使用して、静的解析装置150は、潜在的な脆弱性を含む1つの、または2つ以上のウェブ・ページ(例えば、ウェブ・ページPV)を識別する102ことができる。例えば、潜在的な脆弱性を含む1つの、または2つ以上のウェブ・ページを識別すること102は、コード・モデル152内のデータ・フローの違反を識別することを含むことができる。いくつかの実施形態では、データ・フローの違反は、潜在的な脆弱性と関連する1つまたは複数の挙動を識別することができるセキュリティ・ルールのセットに基づくことができる。いくつかの実施形態では、ウェブ・ページ22のソース・コードを静的に解析すること100は、静的汚染解析を含むことができる。
いくつかの実施形態では、ウェブ・ページ22のソース・コードを静的に解析すること100は、コード・モデル152を調べることができるので、ウェブ・ページ22のソース・コードを静的に解析すること100は、比較的高速プロセスとすることができる。例えば、解析プロセス10(例えば、静的解析装置150による)が、様々なペイロード・タイプをシミュレートし、脆弱性またはエクスプロイト(exploit)の理論上の例がスクリプト・コード中に存在することを識別する102ことができる。したがって、解析プロセス10は、一般的なタイプのペイロードが潜在的に脆弱性をもたらす可能性があると判断することができる。しかしながら、静的解析は、特定のパラメータまたはフィーチャー、あるいはその両方を含まない、一般的なペイロードを使用してアブストラクション(abstraction)を表す可能性がある。したがって、いくつかの実施形態では、解析プロセス10は、スクリプトのソース・コードを静的に分析すること100に基づいて、潜在的な脆弱性をもたらす正確なペイロードを判断しない可能性があり、潜在的な脆弱性を含んだウェブ・ページを識別する102際に誤検出の傾向がある可能性がある。
同様にして、ウェブ・ページ22のソース・コードを静的に解析すること100は、潜在的な脆弱性を含んでいない1つの、または2つ以上のウェブ・ページを識別する104ことができる。潜在的な脆弱性を含んでいない1つの、または2つ以上のウェブ・ページは、潜在的な脆弱性を含んでいると識別され102なかったすべてのウェブ・ページを含むことができる。いくつかの実施形態では、解析プロセス10は、潜在的な脆弱性を含んでいる、または潜在的な脆弱性を含んでいないとして、ウェブ・ページ22のそれぞれにフラグをたてることができる。
解析プロセス10は、静的に解析された100ウェブ・ページ22を動的に解析する106、108ことができる。例えば、解析プロセス10は、静的解析100に基づいて、潜在的な脆弱性を含んでいると識別された102、1つの、または2つ以上のウェブ・ページ(例えば、ウェブページPV)を動的に解析する106ことができ、潜在的な脆弱性を含んでいないと識別された104、1つの、または2つ以上のウェブ・ページ(例えば、ウェブ・ページPN)を動的に解析する108ことができる。いくつかの実施形態では、ウェブ・ページ22は、動的解析装置154によって動的に解析される106、108ことが可能であり、動的解析装置154は、例えば解析プロセス10の機能、または解析プロセス10のモジュール、フィーチャー、構成要素、あるいはこれらのすべてを表すことができる。
いくつかの実施形態では、ウェブ・ページ22を動的に解析すること106、108は、スクリプト・コード・エンジン20でスクリプト・コードを実行すること114を含むことができる。上述のように、スクリプト・コード・エンジン20は、スタンドアロン型スクリプト・コード・エンジンを含むことができる、または解析プロセス10と相互に作用することができるウェブ・ブラウザの機能、もしくはモジュール、もしくは構成要素などを含むことができる、または解析プロセス10の機能、もしくはモジュール、もしくは構成要素などを含むことができる、あるいはこれらのすべてを含むことができる。一般的には、ウェブ・ページ22を動的に解析すること106、108は、ウェブ・ページ22を要求することと、様々な異なるテスト・ペイロード(例えば、テスト・ペイロード18)を用いてウェブ・ページ22を実行することとを含むことができる。したがって、解析プロセス10は、異なるテスト・ペイロードを用いてウェブ・ページ22内に含まれるスクリプトを実行することができる。さらに、解析プロセス10は、ウェブ・ページ22(またはウェブ・ページ22内に含まれるスクリプト、あるいはその両方)の挙動を観察することができ、いくつかの挙動が、所与のウェブ・ページ(またはウェブ・ページ内に含まれるスクリプト、あるいはその両方)と関連する脆弱性を示す可能性がある。
潜在的な脆弱性を含んだ1つまたは複数のウェブ・ページPVを動的に解析すること106は、テスト・ペイロードのセットTPを使用して1つまたは複数のウェブ・ページPVを解析すること106を含むことができる。いくつかの実施形態では、テスト・ペイロードのセットTPは、数十または数百の(例えば、いくつかの実施形態では調べられるパラメータあたり約100〜200のテスト・ペイロードの間の)テスト・ペイロードを含むことができる。解析プロセス10は、脆弱性を示す挙動について、1つまたは複数のウェブ・ページPV(またはウェブ・ページPV内に含まれるスクリプト、あるいはその両方)の挙動を観察することができる。一般的に、比較的多数のテスト・ペイロードを使用してウェブ・ページを動的に解析すること106は、比較的時間のかかるプロセスである可能性があるが、いくつかの実施形態では潜在的な脆弱性を含むと識別されるウェブ・ページPVは比較的少ない可能性があり、潜在的な脆弱性を含むウェブ・ページPVを動的に解析すること106に関連する時間は、許容できるものとなる可能性がある。
潜在的な脆弱性を含んでいない1つまたは複数のウェブ・ページPNを動的に解析すること108は、テスト・ペイロードのセットTPのサブセットTP1を使用して1つまたは複数のウェブ・ページPNを動的に解析すること108を含むことができる。テスト・ペイロードのサブセットTP1は、テスト・ペイロードのセットTPよりも少ないテスト・ペイロードを含むことができる。例えば、いくつかの実施形態では、1つまたは複数のウェブ・ページPNは、脆弱性の共通のソースについて動的にテストされる108ことがある。このようないくつかの実施形態では、テスト・ペイロードのサブセットTP1は、テストされるパラメータあたり1から10のテスト・ペイロード(例えば、いくつかの実施形態では、テストされるパラメータあたり4のテスト・ペイロード)を含むことができる。
いくつかの実施形態では、静的解析を使用して、動的解析を通知することができる。すなわち、いくつかの実施形態では、テストされるウェブ・ページのうち比較的少数が、静的解析によって潜在的な脆弱性を含んでいると識別される可能性がある。潜在的な脆弱性を含むとして識別される比較的少数のウェブ・ページは、比較的多数のテスト・ペイロードを使用して徹底的にテストすることができる。潜在的な脆弱性を含むとして識別されないウェブ・ページは、比較的少数のテスト・ペイロードを使用して動的に解析することができる。したがって、多数のテスト・ペイロードを用いて動的に解析することは、比較的時間のかかるものである可能性があるが、比較的少数のウェブ・ページ(すなわち、潜在的な脆弱性を含んでいるとして識別されたもの)のみが広範囲にわたって動的に解析されることが可能であり、潜在的な脆弱性を含んでいるとして識別されないウェブ・ページは、比較的少数のテスト・ペイロードを使用して動的に解析されることが可能である。したがって、いくつかの実施形態では、動的な解析、または動的な解析の規模、あるいはその両方を、(例えば、潜在的な脆弱性を含んでいるとして識別されるウェブ・ページに)ターゲットを絞ったものとすることができる。さらに、いくつかの実施形態では、(例えば、静的解析によって)潜在的な脆弱性を含んでいるとして識別されるウェブ・ページを広範囲にわたって動的に解析することは、脆弱性が(例えば、誤検出または理論上の脆弱性、あるいはその両方とは対照的に)実際に存在しているかどうか、および(例えば、動的解析に基づいて)脆弱性をどのように再現するかを確認することができる。さらに、脆弱性を確認することができるいくつかの実施形態では、スクリプトのソース・コードのアスペクトを静的解析に基づいて識別することができる。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実行のアーキテクチャ、機能、および動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、(1つまたは複数の)指定された論理機能を実行するための1つまたは複数の実行可能命令を含むコードのモジュール、セグメント、または一部を表すことができる。またいくつかの代替的な実施では、ブロックに示した機能が図に示した順序を外れて行われる場合があることに注意されたい。例えば、連続して示した2つのブロックは、実際には実質的に同時に行われる場合があり、またはブロックは、関与する機能に応じて、時には逆の順序で行われる場合がある。またブロック図またはフローチャート図、あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図、あるいはその両方におけるブロックの組合せは、指定された機能または動作を行う特殊用途ハードウェアベースのシステム、あるいは特殊用途ハードウェアおよびコンピュータ命令の組合せによって実行可能であることに注意されたい。
本明細書で使用する用語は、特定の実施形態を説明することのみを意図しており、本発明を限定することを意図していない。本明細書で使用される単数形、「1つの(a)」、「1つの(an)」、および「その(the)」は、文脈上明らかに他の意味を示す場合を除いて、複数形も含むものとする。「含む(comprises)」または「含んでいる(comprising)」、あるいはその両方の用語は、本明細書で使用されるとき、提示するフィーチャー、または完全体、またはステップ、または動作、または要素、または構成要素、あるいはその組合せの存在を明記するが、1つ以上の他のフィーチャー、または完全体、またはステップ、または動作、または要素、または構成要素、またはそのグループ、あるいはその組合せの存在または追加を排除しないことを、さらに理解されたい。
添付の特許請求の範囲中のあらゆるミーンズまたはステップ・プラス・ファンクション要素の対応する構造、材料、動作、および均等物は、具体的に特許請求される他の請求項の要素と組み合わせて機能を行うためのいかなる構造、材料、または動作も含むものとする。本発明の記載は、例示および説明のために提示したが、網羅的であること、または開示した形態の発明に限定されることを意図していない。本発明の範囲および趣旨を逸脱することなく、多くの変更形態および変形形態が当業者には明らかであろう。本発明の原理および実際の応用を最も良く説明するために、また当業者が予想される特定の利用に適した様々な変更形態と共に様々な実施形態について本発明を理解できるように、実施形態を選択して説明した。
このように本出願の発明を詳細に、かつその実施形態を参照して説明したが、添付の特許請求の範囲に定める本発明の範囲を逸脱することなく変更形態および変形形態が考えられることは明らかであろう。

Claims (21)

  1. コンピューティング・デバイス上で、スクリプト・コードを含んだ複数のウェブ・ページのソース・コードを静的解析するステップと、
    前記コンピューティング・デバイス上で、前記静的解析に基づいて潜在的な脆弱性を含んだウェブ・ページを識別するステップと、
    前記コンピューティング・デバイス上で、前記静的解析に基づいて潜在的な脆弱性を含んでいないウェブ・ページを識別するステップと、
    前記コンピューティング・デバイス上で、テスト・ペイロードのセットを使用して前記潜在的な脆弱性を含んだ前記ウェブ・ページを動的に解析するステップと、
    前記コンピューティング・デバイス上で、前記テスト・ペイロードのセットよりも少ないテスト・ペイロードを含んだ、前記テスト・ペイロードのセットのサブセットを使用して、前記潜在的な脆弱性を含んでいない前記ウェブ・ページを動的に解析するステップと
    を含む、コンピュータにより実施される方法。
  2. ウェブ・サーバから前記複数のウェブ・ページを受信するステップをさらに含む、請求項1に記載のコンピュータにより実施される方法。
  3. 前記複数のウェブ・ページが、ウェブ・アプリケーションと関連する、請求項1に記載のコンピュータにより実施される方法。
  4. 前記複数のウェブ・ページの前記ソース・コードを静的解析するステップが、前記複数のウェブ・ページの前記ソース・コードを通じてデータのフローを表すモデルを構築するステップを含む、請求項1に記載のコンピュータにより実施される方法。
  5. 前記潜在的な脆弱性が、セキュリティ・ルールのセットに基づくデータ・フローの違反を含む、請求項1に記載のコンピュータにより実施される方法。
  6. 前記複数のウェブ・ページの前記ソース・コードを静的解析するステップが、静的汚染解析を含む、請求項1に記載のコンピュータにより実施される方法。
  7. 動的に解析するステップが、スクリプト・エンジンで前記スクリプト・コードを実行するステップを含む、請求項1に記載のコンピュータにより実施される方法。
  8. 複数の命令を格納したコンピュータ読み取り可能な媒体を含むコンピュータ・プログラム製品であって、前記複数の命令が、プロセッサによって実行されるとき、前記プロセッサに、
    スクリプト・コードを含んだ複数のウェブ・ページのソース・コードを静的解析することと、
    前記静的解析に基づいて潜在的な脆弱性を含んだウェブ・ページを識別することと、
    前記静的解析に基づいて潜在的な脆弱性を含んでいないウェブ・ページを識別することと、
    テスト・ペイロードのセットを使用して前記潜在的な脆弱性を含んだ前記ウェブ・ページを動的に解析することと、
    前記テスト・ペイロードのセットよりも少ないテスト・ペイロードを含んだ、前記テスト・ペイロードのセットのサブセットを使用して、前記潜在的な脆弱性を含んでいない前記ウェブ・ページを動的に解析することと
    を含む動作を行わせる、コンピュータ・プログラム製品。
  9. ウェブ・サーバから前記複数のウェブ・ページを受信するための命令をさらに含む、請求項8に記載のコンピュータ・プログラム製品。
  10. 前記複数のウェブ・ページが、ウェブ・アプリケーションと関連する、請求項8に記載のコンピュータ・プログラム製品。
  11. 前記複数のウェブ・ページの前記ソース・コードを静的解析するための前記命令が、前記複数のウェブ・ページの前記ソース・コードを通じてデータのフローを表すモデルを構築するための命令を含む、請求項8に記載のコンピュータ・プログラム製品。
  12. 前記潜在的な脆弱性が、セキュリティ・ルールのセットに基づくデータ・フローの違反を含む、請求項8に記載のコンピュータ・プログラム製品。
  13. 前記複数のウェブ・ページの前記ソース・コードを静的解析するための前記命令が、静的汚染解析のための命令を含む、請求項8に記載のコンピュータ・プログラム製品。
  14. 動的に解析するための前記命令が、スクリプト・エンジンで前記スクリプト・コードを実行するための命令を含む、請求項8に記載のコンピュータ・プログラム製品。
  15. プロセッサおよび前記プロセッサと結合されたメモリと、
    前記メモリに配置され、前記プロセッサで実行される第1のソフトウェア・モジュールであって、スクリプト・コードを含んだ複数のウェブ・ページのソース・コードを静的解析するように構成された前記第1のソフトウェア・モジュールと、
    前記メモリに配置され、前記プロセッサで実行される第2のソフトウェア・モジュールであって、前記静的解析に基づいて潜在的な脆弱性を含んだウェブ・ページを識別するように構成された前記第2のソフトウェア・モジュールと、
    前記メモリに配置され、前記プロセッサで実行される第3のソフトウェア・モジュールであって、前記静的解析に基づいて潜在的な脆弱性を含んでいないウェブ・ページを識別するように構成された前記第3のソフトウェア・モジュールと、
    前記メモリに配置され、前記プロセッサで実行される第4のソフトウェア・モジュールであって、テスト・ペイロードのセットを使用して前記潜在的な脆弱性を含んだ前記ウェブ・ページを動的に解析するように構成された前記第4のソフトウェア・モジュールと、
    前記メモリに配置され、前記プロセッサで実行される第5のソフトウェア・モジュールであって、前記テスト・ペイロードのセットよりも少ないテスト・ペイロードを含んだ、前記テスト・ペイロードのセットのサブセットを使用して、前記潜在的な脆弱性を含んでいない前記ウェブ・ページを動的に解析するように構成された前記第5のソフトウェア・モジュールと
    を含む、システム。
  16. ウェブ・サーバから前記複数のウェブ・ページを受信するように構成された第6のソフトウェア・モジュールをさらに含む、請求項15に記載のシステム。
  17. 前記複数のウェブ・ページが、ウェブ・アプリケーションと関連する、請求項15に記載のシステム。
  18. 前記複数のウェブ・ページの前記ソース・コードを静的解析するように構成された、前記第1のソフトウェア・モジュールが、前記複数のウェブ・ページの前記ソース・コードを通じてデータのフローを表すモデルを構築するように構成された、請求項15に記載のシステム。
  19. 前記潜在的な脆弱性が、セキュリティ・ルールのセットに基づくデータ・フローの違反を含む、請求項15に記載のシステム。
  20. 前記複数のウェブ・ページの前記ソース・コードを静的解析するように構成された前記第1のソフトウェア・モジュールが、静的汚染解析を行うように構成された、請求項15に記載のシステム。
  21. 動的に解析するように構成された前記第4のソフトウェア・モジュールが、スクリプト・エンジンで前記スクリプト・コードを実行するように構成された、請求項15に記載のシステム。
JP2014549569A 2011-12-30 2012-12-03 ターゲットを絞ったセキュリティ・テストのための、コンピュータにより実施される方法、コンピュータ・プログラム製品、システム Active JP5893164B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/341,426 US9971896B2 (en) 2011-12-30 2011-12-30 Targeted security testing
US13/341,426 2011-12-30
PCT/IB2012/056919 WO2013098677A1 (en) 2011-12-30 2012-12-03 Targeted security testing

Publications (2)

Publication Number Publication Date
JP2015503789A true JP2015503789A (ja) 2015-02-02
JP5893164B2 JP5893164B2 (ja) 2016-03-23

Family

ID=48696091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014549569A Active JP5893164B2 (ja) 2011-12-30 2012-12-03 ターゲットを絞ったセキュリティ・テストのための、コンピュータにより実施される方法、コンピュータ・プログラム製品、システム

Country Status (6)

Country Link
US (2) US9971896B2 (ja)
JP (1) JP5893164B2 (ja)
CN (1) CN104025109A (ja)
DE (1) DE112012005016T5 (ja)
GB (1) GB2510756A (ja)
WO (1) WO2013098677A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016206739A (ja) * 2015-04-16 2016-12-08 Kddi株式会社 アプリケーション解析装置、アプリケーション解析方法、およびプログラム
KR20190020363A (ko) * 2017-08-21 2019-03-04 주식회사 스패로우 동적 분석과 정적 분석을 연계한 프로그램을 분석하기 위한 방법 및 장치
JP2019517088A (ja) * 2016-05-06 2019-06-20 サイトロック リミテッド ライアビリティ カンパニー 難読化されたウェブサイトコンテンツ内のセキュリティ脆弱性及び侵入検出及び修復
JP2022501727A (ja) * 2018-09-28 2022-01-06 ダニエル チエン コンピュータセキュリティのためのシステムおよび方法
US11509463B2 (en) 2020-05-31 2022-11-22 Daniel Chien Timestamp-based shared key generation
US11677754B2 (en) 2019-12-09 2023-06-13 Daniel Chien Access control systems and methods

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8869286B1 (en) * 2012-05-22 2014-10-21 Symantec Corporation Systems and methods for analyzing client-side storage security for internet applications
GB2519159A (en) 2013-10-14 2015-04-15 Ibm Security testing of web applications with specialised payloads
GB2521640A (en) 2013-12-24 2015-07-01 Ibm Payload Generation
US10599852B2 (en) 2014-08-15 2020-03-24 Securisea, Inc. High performance software vulnerabilities detection system and methods
US9824214B2 (en) 2014-08-15 2017-11-21 Securisea, Inc. High performance software vulnerabilities detection system and methods
US9454659B1 (en) 2014-08-15 2016-09-27 Securisea, Inc. Software vulnerabilities detection system and methods
US10230742B2 (en) 2015-01-30 2019-03-12 Anomali Incorporated Space and time efficient threat detection
US10110622B2 (en) 2015-02-13 2018-10-23 Microsoft Technology Licensing, Llc Security scanner
US11032306B2 (en) * 2015-12-30 2021-06-08 International Business Machines Corporation System, method and apparatus for fully precise hybrid security verification of mobile applications
WO2018006241A1 (en) * 2016-07-04 2018-01-11 Mcafee, Inc. Method and apparatus to detect security vulnerabilities in web application
US20220329616A1 (en) * 2017-11-27 2022-10-13 Lacework, Inc. Using static analysis for vulnerability detection
US10965708B2 (en) * 2018-06-06 2021-03-30 Whitehat Security, Inc. Systems and methods for machine learning based application security testing
US11023590B2 (en) 2018-11-28 2021-06-01 International Business Machines Corporation Security testing tool using crowd-sourced data
CN110597724B (zh) * 2019-09-18 2023-07-18 彩讯科技股份有限公司 应用安全测试组件的调用方法、装置、服务器及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070074188A1 (en) * 2005-05-16 2007-03-29 Yao-Wen Huang Systems and methods for securing Web application code
JP2008502046A (ja) * 2004-06-04 2008-01-24 フォーティファイ ソフトウェア, インコーポレイテッド セキュアーソフトウェアを開発し、テストし、監視するための装置および方法
US20100192222A1 (en) * 2009-01-23 2010-07-29 Microsoft Corporation Malware detection using multiple classifiers
JP2010262609A (ja) * 2009-04-28 2010-11-18 Fourteenforty Research Institute Inc 効率的なマルウェアの動的解析手法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761917B1 (en) * 2002-11-21 2010-07-20 Vmware, Inc. Method and apparatus for the detection and prevention of intrusions, computer worms, and denial of service attacks
US7051322B2 (en) 2002-12-06 2006-05-23 @Stake, Inc. Software analysis framework
US7210135B2 (en) * 2003-08-26 2007-04-24 Microsoft Corporation Data flow analysis of transactional processes
US7966658B2 (en) 2004-04-08 2011-06-21 The Regents Of The University Of California Detecting public network attacks using signatures and fast content analysis
US20060069714A1 (en) 2004-09-08 2006-03-30 Blount Marion L System enhancement using client context information
US8281401B2 (en) 2005-01-25 2012-10-02 Whitehat Security, Inc. System for detecting vulnerabilities in web applications using client-side application interfaces
US7779472B1 (en) * 2005-10-11 2010-08-17 Trend Micro, Inc. Application behavior based malware detection
US8020001B2 (en) 2006-02-23 2011-09-13 Qualcomm Incorporated Trusted code groups
US9069967B2 (en) 2007-02-16 2015-06-30 Veracode, Inc. Assessment and analysis of software security flaws
EP2145281B1 (en) 2007-04-12 2013-11-20 Core Sdi, Incorporated System, method and computer readable medium for providing network penetration testing
WO2009095741A1 (en) 2008-02-01 2009-08-06 The Mathworks, Inc Selective code instrumentation for software verification
FI20080095A0 (fi) * 2008-02-11 2008-02-11 Codenomicon Oy Menetelmä ja järjestelmä testitapausten muodostamiseksi
WO2010002816A1 (en) 2008-06-30 2010-01-07 Websense, Inc. System and method for dynamic and real-time categorization of webpages
US20100058475A1 (en) * 2008-08-26 2010-03-04 Nec Laboratories America, Inc. Feedback-guided fuzz testing for learning inputs of coma
US8141158B2 (en) 2008-12-31 2012-03-20 International Business Machines Corporation Measuring coverage of application inputs for advanced web application security testing
US20100235909A1 (en) * 2009-03-13 2010-09-16 Silver Tail Systems System and Method for Detection of a Change in Behavior in the Use of a Website Through Vector Velocity Analysis
US8516449B2 (en) 2009-07-14 2013-08-20 International Business Machines Corporation Detecting and localizing security vulnerabilities in client-server application
US8819831B2 (en) * 2009-09-30 2014-08-26 Ca, Inc. Remote procedure call (RPC) services fuzz attacking tool
US8458798B2 (en) 2010-03-19 2013-06-04 Aspect Security Inc. Detection of vulnerabilities in computer systems
CN101814053B (zh) 2010-03-29 2013-03-13 中国人民解放军信息工程大学 一种基于功能模型的二进制代码漏洞发现方法
US20120017274A1 (en) * 2010-07-15 2012-01-19 Mcafee, Inc. Web scanning site map annotation
US20120047581A1 (en) * 2010-08-12 2012-02-23 Anirban Banerjee Event-driven auto-restoration of websites
US9747187B2 (en) 2010-10-27 2017-08-29 International Business Machines Corporation Simulating black box test results using information from white box testing
KR101060639B1 (ko) * 2010-12-21 2011-08-31 한국인터넷진흥원 자바스크립트 난독화 강도 분석을 통한 악성 의심 웹사이트 탐지 시스템 및 그 탐지방법
JP2014509421A (ja) * 2011-02-01 2014-04-17 エムシーシーアイ コーポレイション Usbホストシステムの拡張usbプロトコルスタックのためのセキュリティ手段
US20120215757A1 (en) 2011-02-22 2012-08-23 International Business Machines Corporation Web crawling using static analysis
US9032528B2 (en) 2011-06-28 2015-05-12 International Business Machines Corporation Black-box testing of web applications with client-side code evaluation
CN102281298A (zh) * 2011-08-10 2011-12-14 深信服网络科技(深圳)有限公司 检测和防御cc攻击的方法及装置
US8683596B2 (en) 2011-10-28 2014-03-25 International Business Machines Corporation Detection of DOM-based cross-site scripting vulnerabilities
US8997235B2 (en) 2012-02-07 2015-03-31 Microsoft Technology Licensing, Llc Adaptive fuzzing system for web services

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008502046A (ja) * 2004-06-04 2008-01-24 フォーティファイ ソフトウェア, インコーポレイテッド セキュアーソフトウェアを開発し、テストし、監視するための装置および方法
US20070074188A1 (en) * 2005-05-16 2007-03-29 Yao-Wen Huang Systems and methods for securing Web application code
US20100192222A1 (en) * 2009-01-23 2010-07-29 Microsoft Corporation Malware detection using multiple classifiers
JP2010262609A (ja) * 2009-04-28 2010-11-18 Fourteenforty Research Institute Inc 効率的なマルウェアの動的解析手法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016206739A (ja) * 2015-04-16 2016-12-08 Kddi株式会社 アプリケーション解析装置、アプリケーション解析方法、およびプログラム
JP2019517088A (ja) * 2016-05-06 2019-06-20 サイトロック リミテッド ライアビリティ カンパニー 難読化されたウェブサイトコンテンツ内のセキュリティ脆弱性及び侵入検出及び修復
US11184380B2 (en) 2016-05-06 2021-11-23 Sitelock, Llc Security weakness and infiltration detection and repair in obfuscated website content
JP7073343B2 (ja) 2016-05-06 2022-05-23 サイトロック リミテッド ライアビリティ カンパニー 難読化されたウェブサイトコンテンツ内のセキュリティ脆弱性及び侵入検出及び修復
KR20190020363A (ko) * 2017-08-21 2019-03-04 주식회사 스패로우 동적 분석과 정적 분석을 연계한 프로그램을 분석하기 위한 방법 및 장치
KR102021383B1 (ko) * 2017-08-21 2019-09-16 주식회사 스패로우 동적 분석과 정적 분석을 연계한 프로그램을 분석하기 위한 방법 및 장치
JP2022501727A (ja) * 2018-09-28 2022-01-06 ダニエル チエン コンピュータセキュリティのためのシステムおよび方法
JP7248219B2 (ja) 2018-09-28 2023-03-29 ダニエル チエン コンピュータセキュリティのためのシステムおよび方法
US11677754B2 (en) 2019-12-09 2023-06-13 Daniel Chien Access control systems and methods
US11509463B2 (en) 2020-05-31 2022-11-22 Daniel Chien Timestamp-based shared key generation

Also Published As

Publication number Publication date
US9971897B2 (en) 2018-05-15
CN104025109A (zh) 2014-09-03
WO2013098677A1 (en) 2013-07-04
JP5893164B2 (ja) 2016-03-23
US20130174260A1 (en) 2013-07-04
US9971896B2 (en) 2018-05-15
GB201408612D0 (en) 2014-06-25
DE112012005016T5 (de) 2014-09-04
GB2510756A (en) 2014-08-13
US20130174262A1 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
JP5893164B2 (ja) ターゲットを絞ったセキュリティ・テストのための、コンピュータにより実施される方法、コンピュータ・プログラム製品、システム
US9747187B2 (en) Simulating black box test results using information from white box testing
US9838412B2 (en) Computer software application self-testing
US8966636B2 (en) Transforming unit tests for security testing
US10019581B2 (en) Identifying stored security vulnerabilities in computer software applications
US8943600B2 (en) Weighted security analysis
US9032529B2 (en) Detecting vulnerabilities in web applications
US11301313B2 (en) Collaborative application testing
US10701087B2 (en) Analysis apparatus, analysis method, and analysis program
Al-Ahmad et al. Mobile cloud computing testing review
US9311215B2 (en) Defining multi-channel tests system and method
US20160266999A1 (en) Generation of automated unit tests for a controller layer system and method
US20080162687A1 (en) Data acquisition system and method
CN117032894A (zh) 容器安全状态检测方法、装置、电子设备及存储介质
US20160188443A1 (en) Testing application internal modules with instrumentation
US12007883B2 (en) Automated method and system for finding vulnerabilities in a program using fuzzing
US20230214318A1 (en) Automated method and system for finding vulnerabilities in a program using fuzzing
Tanyi A Vulnerability Assessment Approach for Home Networks: A case of Cameroon
Sharma et al. Penetration Testing in Application Using TestNG Tool
Sani Mobile Cloud Computing Testing Review

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160223

R150 Certificate of patent or registration of utility model

Ref document number: 5893164

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150