JP2016149055A - 脆弱性検証装置および脆弱性検証プログラム - Google Patents
脆弱性検証装置および脆弱性検証プログラム Download PDFInfo
- Publication number
- JP2016149055A JP2016149055A JP2015026285A JP2015026285A JP2016149055A JP 2016149055 A JP2016149055 A JP 2016149055A JP 2015026285 A JP2015026285 A JP 2015026285A JP 2015026285 A JP2015026285 A JP 2015026285A JP 2016149055 A JP2016149055 A JP 2016149055A
- Authority
- JP
- Japan
- Prior art keywords
- attack
- plug
- identifier
- vulnerability
- target device
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】プラグインがインストールされた対象装置の脆弱性を検証する脆弱性検証装置及び検証プログラムを提供する。【解決手段】脆弱性検証装置200において、攻撃リスト291は攻撃識別子にプラグイン群識別子を対応付ける。攻撃選択部210は攻撃リスト291から攻撃識別子を選択する。プラグイン選択部220は攻撃識別子に対応付いたプラグイン群識別子を攻撃リスト291から選択する。プラグイン埋め込み部230はプラグイン群識別子で識別されるプラグイン群を対象装置にインストールする。プラグイン操作部240は対象装置にインストールされたプラグイン281を操作する。攻撃実行部250は対象装置に対する攻撃を実行する。脆弱性判定部260は攻撃の実行結果に基づいて対象装置の脆弱性を検証する。【選択図】図2
Description
本発明は、セキュリティに対する脆弱性を検証する技術に関するものである。
インターネットの発展に伴い、ネットワークを介してセキュリティ攻撃による被害が広がっている。セキュリティ攻撃の多くは、システムの脆弱性を悪用したものである。脆弱性の多くは対策の不備が原因である。
一方で、新たなサービスの提供のため、組込み機器がネットワークに接続される傾向にある。組込み機器はサイバー空間だけでなく物理空間と密接なつながりを持つ。そして、組込み機器に対するセキュリティ攻撃は、企業機密の漏えい及び個人情報の流出の他、人命および環境に直接の害を及ぼす可能性がある。
セキュリティ攻撃による害を防ぐには、組込み機器の脆弱性に対して漏れなく対策を実施する必要がある。そのためには、脆弱性の有無を漏れなく検証することが重要である。
セキュリティ攻撃による害を防ぐには、組込み機器の脆弱性に対して漏れなく対策を実施する必要がある。そのためには、脆弱性の有無を漏れなく検証することが重要である。
脆弱性の有無を検証する単純な方法として、検証対象に対して実際にセキュリティ攻撃を実行する、という方法がある。
OWASPで公開されているWebScarab、Paros Projectで公開されているParosproxyなど、セキュリティ攻撃を自動で行う脆弱性検証ツールが存在する。OWASPはthe Open Web Application Security Projectの略称である。
OWASPで公開されているWebScarab、Paros Projectで公開されているParosproxyなど、セキュリティ攻撃を自動で行う脆弱性検証ツールが存在する。OWASPはthe Open Web Application Security Projectの略称である。
近年、組込み機器のプラットフォームが標準化される傾向にある。これにより、異なるサプライヤによって開発された複数のソフトウェアを組込み機器に統合することが可能となる。そして、機能を自由にカスタマイズできる組込み機器が増加することが予想される。
これに伴い、不正なプラグインが組込み機器に埋め込まれる危険性が増加するため、不正なプラグインが埋め込まれた際の対策技術の開発が必要になる。一方で、対策技術が正しく機能しているか検証を行う検証技術も必要である。
従来の脆弱性検証ツールは、不正なプラグインが組み込まれた際のセキュリティを検証することができない。
これに伴い、不正なプラグインが組込み機器に埋め込まれる危険性が増加するため、不正なプラグインが埋め込まれた際の対策技術の開発が必要になる。一方で、対策技術が正しく機能しているか検証を行う検証技術も必要である。
従来の脆弱性検証ツールは、不正なプラグインが組み込まれた際のセキュリティを検証することができない。
特許文献1は、容易に高度な攻撃シナリオを実行することを目的とした技術を開示している。特許文献1に開示された技術は記憶手段と制御手段と踏み台制御手段とを備えることを特徴とする。
記憶手段は、攻撃を実行するプラグインを検証装置に記憶する。
制御手段は、検証装置においてプラグインによる攻撃を実行する。
踏み台制御手段は、検証装置と検証対象機器との間で、踏み台プログラムを実行させる。
記憶手段は、攻撃を実行するプラグインを検証装置に記憶する。
制御手段は、検証装置においてプラグインによる攻撃を実行する。
踏み台制御手段は、検証装置と検証対象機器との間で、踏み台プログラムを実行させる。
しかし、特許文献1の技術を実施するためにはセキュリティに関する知識が必要である。また、セキュリティの検証効率は良くない。
なお、特許文献1は、検証対象機器においてプラグインを動作させるための手段を開示していない。
なお、特許文献1は、検証対象機器においてプラグインを動作させるための手段を開示していない。
本発明は、脆弱性を検証する対象である対象装置にプラグインをインストールできるようにすることを目的とする。
本発明の脆弱性検証装置は、
対象装置に対する攻撃を識別する攻撃識別子に、1つ以上のプラグインであるプラグイン群を識別するプラグイン群識別子、を対応付けた攻撃リストから、攻撃識別子を選択する攻撃選択部と、
選択された攻撃識別子に対応付いたプラグイン群識別子を前記攻撃リストから選択するプラグイン選択部と、
選択されたプラグイン群識別子で識別されるプラグイン群を前記対象装置にインストールするプラグイン埋め込み部とを備える。
対象装置に対する攻撃を識別する攻撃識別子に、1つ以上のプラグインであるプラグイン群を識別するプラグイン群識別子、を対応付けた攻撃リストから、攻撃識別子を選択する攻撃選択部と、
選択された攻撃識別子に対応付いたプラグイン群識別子を前記攻撃リストから選択するプラグイン選択部と、
選択されたプラグイン群識別子で識別されるプラグイン群を前記対象装置にインストールするプラグイン埋め込み部とを備える。
本発明によれば、対象装置にプラグインをインストールすることができる。
これにより、プラグインがインストールされた対象装置に攻撃を実行し、実行結果に基づいて対象装置の脆弱性を検証することが可能になる。
これにより、プラグインがインストールされた対象装置に攻撃を実行し、実行結果に基づいて対象装置の脆弱性を検証することが可能になる。
実施の形態1.
プラグインがインストールされた対象装置110の脆弱性を検証する脆弱性検証装置200について、図1から図12に基づいて説明する。
プラグインがインストールされた対象装置110の脆弱性を検証する脆弱性検証装置200について、図1から図12に基づいて説明する。
***構成の説明***
図1に基づいて、脆弱性検証システム100について説明する。
脆弱性検証システム100は、入力装置101と、出力装置102と、脆弱性検証装置200と、対象装置110とを備える。
入力装置101は、GUIまたはCUIを介して、脆弱性検証装置200にデータを入力する装置である。入力装置101の一例はキーボード、マウスまたはタッチパネルである。GUIはGraphical User Interfaceの略称であり、CUIはCharacter based User Interfaceの略称である。
出力装置102は、脆弱性検証装置200からデータを出力される装置である。出力装置102の一例はモニタである。
脆弱性検証装置200は、対象装置110にプラグインをインストールして、対象装置110の脆弱性を検証するコンピュータである。
対象装置110は、脆弱性を検証される対象のコンピュータである。対象装置110の一例は組み込み機器である。
対象装置110は、インストールされたプラグインを実行するプラグイン実行部111を備える。
図1に基づいて、脆弱性検証システム100について説明する。
脆弱性検証システム100は、入力装置101と、出力装置102と、脆弱性検証装置200と、対象装置110とを備える。
入力装置101は、GUIまたはCUIを介して、脆弱性検証装置200にデータを入力する装置である。入力装置101の一例はキーボード、マウスまたはタッチパネルである。GUIはGraphical User Interfaceの略称であり、CUIはCharacter based User Interfaceの略称である。
出力装置102は、脆弱性検証装置200からデータを出力される装置である。出力装置102の一例はモニタである。
脆弱性検証装置200は、対象装置110にプラグインをインストールして、対象装置110の脆弱性を検証するコンピュータである。
対象装置110は、脆弱性を検証される対象のコンピュータである。対象装置110の一例は組み込み機器である。
対象装置110は、インストールされたプラグインを実行するプラグイン実行部111を備える。
プラグインは、プログラムの一種であり、拡張プログラムという。
実施の形態1において、プラグインは、対象装置110の脆弱性を攻撃する不正なプログラムである。
実施の形態1において、プラグインは、対象装置110の脆弱性を攻撃する不正なプログラムである。
図2に基づいて、脆弱性検証装置200の機能構成について説明する。
脆弱性検証装置200は、攻撃選択部210と、プラグイン選択部220と、プラグイン埋め込み部230と、プラグイン操作部240と、攻撃実行部250と、脆弱性判定部260とを備える。
さらに、脆弱性検証装置200は、プラグイン記憶部280と、検証記憶部290とを備える。
脆弱性検証装置200は、攻撃選択部210と、プラグイン選択部220と、プラグイン埋め込み部230と、プラグイン操作部240と、攻撃実行部250と、脆弱性判定部260とを備える。
さらに、脆弱性検証装置200は、プラグイン記憶部280と、検証記憶部290とを備える。
プラグイン記憶部280は、1つ以上のプラグイン281を記憶する。
検証記憶部290は、脆弱性検証装置200で使用、生成または入出力されるデータを記憶する。
攻撃リスト291、プラグイン規則ファイル292、プラグイン操作ファイル293、攻撃規則ファイル294、通信手順ファイル295、判定基準ファイル296、依存関係ファイル297は、検証記憶部290に記憶されるデータの一例である。
攻撃リスト291、プラグイン規則ファイル292、プラグイン操作ファイル293、攻撃規則ファイル294、通信手順ファイル295、判定基準ファイル296、依存関係ファイル297は、検証記憶部290に記憶されるデータの一例である。
攻撃リスト291は、1つ以上の攻撃識別子を含む。攻撃識別子は、対象装置110に対する攻撃を識別する。
攻撃リスト291は、1つ以上の攻撃識別子のそれぞれに対応付けて、埋め込み攻撃フラグを含む。埋め込み攻撃フラグは、第1のフラグ値と第2のフラグ値とのいずれかが設定される。第1のフラグ値は、プラグインが必要な攻撃である埋め込み攻撃を意味する。第2のフラグ値は、埋め込み攻撃以外の攻撃を意味する。実施の形態1において、第1のフラグ値は1であり、第2のフラグ値は0である。
攻撃リスト291は、第1のフラグ値が設定された埋め込み攻撃フラグに対応付いた攻撃識別子に対応付けて、プラグイン群識別子を含む。プラグイン群識別子はプラグイン群を識別する。プラグイン群は1つ以上のプラグインである。
攻撃リスト291は、1つ以上の攻撃識別子のそれぞれに対応付けて、埋め込み攻撃フラグを含む。埋め込み攻撃フラグは、第1のフラグ値と第2のフラグ値とのいずれかが設定される。第1のフラグ値は、プラグインが必要な攻撃である埋め込み攻撃を意味する。第2のフラグ値は、埋め込み攻撃以外の攻撃を意味する。実施の形態1において、第1のフラグ値は1であり、第2のフラグ値は0である。
攻撃リスト291は、第1のフラグ値が設定された埋め込み攻撃フラグに対応付いた攻撃識別子に対応付けて、プラグイン群識別子を含む。プラグイン群識別子はプラグイン群を識別する。プラグイン群は1つ以上のプラグインである。
プラグイン規則ファイル292は、1つ以上のプラグイン識別子をプラグイン群識別子に対応付けている。プラグイン識別子はプラグインを識別する。
プラグイン操作ファイル293は、攻撃識別子とプラグイン識別子とに操作識別子を対応付けている。操作識別子は、プラグインを操作するプラグイン操作を識別する。
攻撃規則ファイル294は、攻撃パターンを生成する攻撃規則を攻撃識別子に対応付けている。攻撃パターンは攻撃を実行するためのプログラムである。スクリプトおよびスクリプトファイルはプログラムの一例である。
通信手順ファイル295は、攻撃前通信と攻撃中通信と攻撃後通信との少なくともいずれかを含んだ通信手順を攻撃識別子に対応付けている。攻撃前通信は対象装置110に対する攻撃の実行前の通信であり、攻撃中通信は対象装置110に対する攻撃の実行中の通信であり、攻撃後通信は対象装置110に対する攻撃の実行後の通信である。
判定基準ファイル296は、脆弱性の有無の判定基準を攻撃識別子に対応付けている。
依存関係ファイル297は、脆弱性識別子に攻撃識別子を対応付けている。脆弱性識別子は、対象装置110が有するか検証される脆弱性を識別する。脆弱性は、セキュリティ上の欠陥および弱点を意味する。脆弱性は欠陥または弱点と読み替えることができる。
攻撃選択部210は、攻撃リスト291から、攻撃識別子を選択する。
プラグイン選択部220は、選択された攻撃識別子に対応付いたプラグイン群識別子を攻撃リスト291から選択する。
プラグイン選択部220は、以下のようにプラグイン群識別子を選択する。
プラグイン選択部220は、選択された攻撃識別子に対応付いた埋め込み攻撃フラグを攻撃リスト291から選択する。
プラグイン選択部220は、選択した攻撃フラグに第1のフラグ値が設定されている場合に、選択された攻撃識別子に対応付いたプラグイン群識別子を攻撃リスト291から選択する。
プラグイン選択部220は、選択された攻撃識別子に対応付いた埋め込み攻撃フラグを攻撃リスト291から選択する。
プラグイン選択部220は、選択した攻撃フラグに第1のフラグ値が設定されている場合に、選択された攻撃識別子に対応付いたプラグイン群識別子を攻撃リスト291から選択する。
プラグイン埋め込み部230は、選択されたプラグイン群識別子で識別されるプラグイン群を対象装置110にインストールする。
プラグイン埋め込み部230は、以下のようにプラグイン群を対象装置110にインストールする。
プラグイン埋め込み部230は、プラグイン規則ファイル292から、選択されたプラグイン群識別子に対応付いた1つ以上のプラグイン識別子を選択する。
プラグイン埋め込み部230は、選択した1つ以上のプログラム識別子で識別される1つ以上のプラグインをプラグイン群として対象装置110にインストールする。
プラグイン埋め込み部230は、プラグイン規則ファイル292から、選択されたプラグイン群識別子に対応付いた1つ以上のプラグイン識別子を選択する。
プラグイン埋め込み部230は、選択した1つ以上のプログラム識別子で識別される1つ以上のプラグインをプラグイン群として対象装置110にインストールする。
プラグイン操作部240は、対象装置110にインストールされたプラグイン群を操作する。
プラグイン操作部240は、以下のようにプラグイン群を操作する。
プラグイン操作部240は、プラグイン操作ファイル293から、選択された攻撃識別子と、プラグイン群に含まれるプラグインを識別するプラグイン識別子と、に対応付いた操作識別子を選択する。そして、プラグイン操作部240は、選択した操作識別子で識別されるプラグイン操作を実行する。
プラグイン操作部240は、プラグイン操作を実行することによって、動作パラメータを対象装置110に送信する。動作パラメータはプラグインの動作を指定するパラメータである。
対象装置110にインストールされたプラグインは、動作パラメータに従って動作することによって、対象装置110を攻撃する。
プラグイン操作は操作モジュールとして実装される。操作モジュールは、プラグインを操作する操作手順が記述されたプログラムである。脆弱性検証装置200は、操作モジュールを記憶する操作モジュール記憶部を備えてもよい。
プラグイン操作部240は、プラグイン操作ファイル293から、選択された攻撃識別子と、プラグイン群に含まれるプラグインを識別するプラグイン識別子と、に対応付いた操作識別子を選択する。そして、プラグイン操作部240は、選択した操作識別子で識別されるプラグイン操作を実行する。
プラグイン操作部240は、プラグイン操作を実行することによって、動作パラメータを対象装置110に送信する。動作パラメータはプラグインの動作を指定するパラメータである。
対象装置110にインストールされたプラグインは、動作パラメータに従って動作することによって、対象装置110を攻撃する。
プラグイン操作は操作モジュールとして実装される。操作モジュールは、プラグインを操作する操作手順が記述されたプログラムである。脆弱性検証装置200は、操作モジュールを記憶する操作モジュール記憶部を備えてもよい。
攻撃実行部250は、選択された攻撃識別子で識別される攻撃を、選択されたプラグイン群識別子で識別されるプラグイン群が対象装置110にインストールされた後に、対象装置110に対して実行する。
攻撃実行部250は、以下のように攻撃を実行する。
攻撃実行部250は、攻撃規則ファイル294を用いて、攻撃識別子で識別される攻撃を実行するための攻撃パターンを生成する。
攻撃実行部250は、攻撃パターンを実行することによって、対象装置110に対する攻撃を実行する。
攻撃実行部250は、攻撃規則ファイル294を用いて、攻撃識別子で識別される攻撃を実行するための攻撃パターンを生成する。
攻撃実行部250は、攻撃パターンを実行することによって、対象装置110に対する攻撃を実行する。
脆弱性判定部260は、対象装置110と通信し、通信結果に基づいて対象装置110が有する脆弱性を判定する。対象装置110が有する脆弱性を示すデータを脆弱性リスト269という。
脆弱性判定部260は、以下のように通信および判定を行う。
脆弱性判定部260は、通信手順ファイル295を用いて、対象装置110に対する攻撃の攻撃識別子に対応付いた通信手順に従って、対象装置110と通信する。
脆弱性判定部260は、判定基準ファイル296を用いて、対象装置110に対する攻撃の攻撃識別子に対応付いた判定基準と通信結果を比較し、比較結果に基づいて脆弱性の有無を判定する。
脆弱性判定部260は、通信手順ファイル295を用いて、対象装置110に対する攻撃の攻撃識別子に対応付いた通信手順に従って、対象装置110と通信する。
脆弱性判定部260は、判定基準ファイル296を用いて、対象装置110に対する攻撃の攻撃識別子に対応付いた判定基準と通信結果を比較し、比較結果に基づいて脆弱性の有無を判定する。
図3に基づいて、攻撃リスト291について説明する。
攻撃リスト291は、攻撃識別子に埋め込み攻撃フラグとプラグイン群識別子とを対応付けている。
埋め込み攻撃フラグに第1のフラグ値(1)が設定されている場合、攻撃識別子で識別される攻撃は、プラグインを必要とする埋め込み攻撃である。
埋め込み攻撃を識別する攻撃識別子には、プラグイン群識別子が対応付けられている。
攻撃リスト291は、攻撃識別子に埋め込み攻撃フラグとプラグイン群識別子とを対応付けている。
埋め込み攻撃フラグに第1のフラグ値(1)が設定されている場合、攻撃識別子で識別される攻撃は、プラグインを必要とする埋め込み攻撃である。
埋め込み攻撃を識別する攻撃識別子には、プラグイン群識別子が対応付けられている。
図4に基づいて、プラグイン規則ファイル292について説明する。
プラグイン規則ファイル292は、プラグイン群識別子に1つ以上のプラグイン識別子を対応付けている。
プラグイン規則ファイル292は、プラグイン群識別子に1つ以上のプラグイン識別子を対応付けている。
図5に基づいて、プラグイン操作ファイル293について説明する。
プラグイン操作ファイル293は、攻撃識別子とプラグイン識別子とに操作識別子を対応付けている。
プラグイン操作ファイル293は、攻撃識別子とプラグイン識別子とに操作識別子を対応付けている。
図6に基づいて、攻撃規則ファイル294について説明する。
攻撃規則ファイル294は、攻撃識別子に攻撃規則を対応付けている。
「SYN Flood」および「Ping of Death」は、攻撃識別子で識別される攻撃の方法の一例である。
「well−knownポートのみ」というような実行粒度は、攻撃規則に含まれる情報の一例である。
攻撃規則ファイル294は、攻撃識別子に攻撃規則を対応付けている。
「SYN Flood」および「Ping of Death」は、攻撃識別子で識別される攻撃の方法の一例である。
「well−knownポートのみ」というような実行粒度は、攻撃規則に含まれる情報の一例である。
図7に基づいて、通信手順ファイル295について説明する。
通信手順ファイル295は、攻撃識別子に通信手順を対応付けている。
「SYN Flood」および「SSLの不正証明書によるなりすまし攻撃」は、攻撃識別子で識別される攻撃の方法の一例である。
「SYN Flood」に対する通信手順として、攻撃前通信は無し、攻撃中通信は正常パケットの送信、攻撃後通信は正常パケットの送信、という内容が定義されている。
通信手順ファイル295は、攻撃識別子に通信手順を対応付けている。
「SYN Flood」および「SSLの不正証明書によるなりすまし攻撃」は、攻撃識別子で識別される攻撃の方法の一例である。
「SYN Flood」に対する通信手順として、攻撃前通信は無し、攻撃中通信は正常パケットの送信、攻撃後通信は正常パケットの送信、という内容が定義されている。
図8に基づいて、判定基準ファイル296について説明する。
判定基準ファイル296は、攻撃識別子に判定基準を対応付けている。
「正常パケットを送信後、10ミリ秒以内に正常パケットを受信」および「SYNパケットを送信後、1ミリ秒以内にSYN/ACKパケットを受信」は、判定基準の一例である。
判定基準ファイル296は、攻撃識別子に判定基準を対応付けている。
「正常パケットを送信後、10ミリ秒以内に正常パケットを受信」および「SYNパケットを送信後、1ミリ秒以内にSYN/ACKパケットを受信」は、判定基準の一例である。
図9に基づいて、依存関係ファイル297について説明する。
依存関係ファイル297は、脆弱性識別子に1つ以上の攻撃識別子を対応付けている。
依存関係ファイル297は、脆弱性識別子に1つ以上の攻撃識別子を対応付けている。
図10に基づいて、脆弱性検証装置200のハードウェア構成例について説明する。
脆弱性検証装置200は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、出力インタフェース906といったハードウェアを備えるコンピュータである。
プロセッサ901は信号線910を介して他のハードウェアと接続されている。入力インタフェース905はケーブル911を介して入力装置101に接続されている。出力インタフェース906はケーブル912を介して出力装置102に接続されている。
脆弱性検証装置200は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、出力インタフェース906といったハードウェアを備えるコンピュータである。
プロセッサ901は信号線910を介して他のハードウェアと接続されている。入力インタフェース905はケーブル911を介して入力装置101に接続されている。出力インタフェース906はケーブル912を介して出力装置102に接続されている。
プロセッサ901は、プロセッシングを行うICであり、他のハードウェアを制御する。プロセッサ901の一例は、CPU、DSP、GPUである。ICはIntegrated Circuitの略称である。CPUはCentral Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、GPUはGraphics Processing Unitの略称である。
補助記憶装置902はデータを記憶する。補助記憶装置902の一例は、ROM、フラッシュメモリ、HDDである。ROMはRead Only Memoryの略称であり、HDDはHard Disk Driveの略称である。
メモリ903はデータを記憶する。メモリ903の一例はRAMである。RAMはRandom Access Memoryの略称である。
通信装置904は、データを受信するレシーバ9041と、データを送信するトランスミッタ9042とを備える。通信装置904の一例は通信チップまたはNICである。NICはNetwork Interface Cardの略称である。
入力インタフェース905はケーブル911が接続されるポートであり、ポートの一例はUSB端子である。USBはUniversal Serial Busの略称である。
出力インタフェース906はケーブル912が接続されるポートであり、USB端子およびHDMI端子はポートの一例である。HDMI(登録商標)はHigh Definition Multimedia Interfaceの略称である。
補助記憶装置902はデータを記憶する。補助記憶装置902の一例は、ROM、フラッシュメモリ、HDDである。ROMはRead Only Memoryの略称であり、HDDはHard Disk Driveの略称である。
メモリ903はデータを記憶する。メモリ903の一例はRAMである。RAMはRandom Access Memoryの略称である。
通信装置904は、データを受信するレシーバ9041と、データを送信するトランスミッタ9042とを備える。通信装置904の一例は通信チップまたはNICである。NICはNetwork Interface Cardの略称である。
入力インタフェース905はケーブル911が接続されるポートであり、ポートの一例はUSB端子である。USBはUniversal Serial Busの略称である。
出力インタフェース906はケーブル912が接続されるポートであり、USB端子およびHDMI端子はポートの一例である。HDMI(登録商標)はHigh Definition Multimedia Interfaceの略称である。
補助記憶装置902にはOSが記憶されている。OSはOperating Systemの略称である。
また、補助記憶装置902には、脆弱性検証装置200に備わる「記憶部」を除いて、脆弱性検証装置200に備わる「部」の機能を実現するプログラムが記憶されている。
OSの少なくとも一部はメモリ903にロードされ、プロセッサ901はOSを実行しながら「部」の機能を実現するプログラムを実行する。「部」の機能を実現するプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
なお、脆弱性検証装置200が複数のプロセッサ901を備えて、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
また、補助記憶装置902には、脆弱性検証装置200に備わる「記憶部」を除いて、脆弱性検証装置200に備わる「部」の機能を実現するプログラムが記憶されている。
OSの少なくとも一部はメモリ903にロードされ、プロセッサ901はOSを実行しながら「部」の機能を実現するプログラムを実行する。「部」の機能を実現するプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
なお、脆弱性検証装置200が複数のプロセッサ901を備えて、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
「部」の処理の結果を示すデータ、情報、信号値および変数値などは、メモリ903、補助記憶装置902、プロセッサ901内のレジスタ、または、プロセッサ901内のキャッシュメモリに記憶される。
「部」は「サーキットリ」で実装してもよい。「部」は「回路」、「工程」、「手順」または「処理」に読み替えてもよい。
「回路」及び「サーキットリ」は、プロセッサ901、ロジックIC、GA、ASIC、FPGAといった処理回路を包含する概念である。GAはGate Arrayの略称であり、ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField−Programmable Gate Arrayの略称である。
「回路」及び「サーキットリ」は、プロセッサ901、ロジックIC、GA、ASIC、FPGAといった処理回路を包含する概念である。GAはGate Arrayの略称であり、ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField−Programmable Gate Arrayの略称である。
***動作の説明***
脆弱性検証装置200の動作は脆弱性検証方法に相当する。また、脆弱性検証方法は脆弱性検証プログラムの処理手順に相当する。
脆弱性検証装置200の動作は脆弱性検証方法に相当する。また、脆弱性検証方法は脆弱性検証プログラムの処理手順に相当する。
図11に基づいて、脆弱性検証方法[攻撃]について説明する。脆弱性検証方法[攻撃]は、対象装置110の脆弱性を検証するために、対象装置110に対する攻撃を実行する方法である。
S110において、攻撃選択部210は、攻撃識別子の並び順で未選択の攻撃識別子を攻撃リスト291から1つ選択する。
S120からS160は、S110で攻撃識別子が選択される毎に実行される。
S120からS160は、S110で攻撃識別子が選択される毎に実行される。
S120において、プラグイン選択部220は、S110で選択された攻撃識別子に対応付いた埋め込み攻撃フラグを攻撃リスト291から選択し、選択した埋め込み攻撃フラグに設定されているフラグ値を判定する。
フラグ値が1である場合、プラグイン操作部240はプラグイン操作無しを脆弱性判定部260に通知する。処理はS121に進む。
フラグ値が0である場合、処理はS160に進む。
フラグ値が1である場合、プラグイン操作部240はプラグイン操作無しを脆弱性判定部260に通知する。処理はS121に進む。
フラグ値が0である場合、処理はS160に進む。
S121において、プラグイン選択部220は、S110で選択された攻撃識別子に対応付いたプラグイン群識別子を攻撃リスト291から選択する。
プラグイン選択部220は、選択したプラグイン群識別子に対応付いた1つ以上のプラグイン識別子をプラグイン規則ファイル292から選択する。
プラグイン選択部220は、選択したプラグイン識別子毎に、プラグイン識別子で識別されるプラグイン281をプラグイン記憶部280から取得する。
プラグイン選択部220は、選択したプラグイン群識別子に対応付いた1つ以上のプラグイン識別子をプラグイン規則ファイル292から選択する。
プラグイン選択部220は、選択したプラグイン識別子毎に、プラグイン識別子で識別されるプラグイン281をプラグイン記憶部280から取得する。
S122において、プラグイン埋め込み部230は、対象装置110と通信することによって、S121で取得された1つ以上のプラグイン281を対象装置110にインストールする。
S130において、プラグイン操作部240は、S121で選択されたプラグイン識別子毎に、以下のように動作する。
プラグイン操作部240は、プラグイン識別子とS110で選択された攻撃識別子とに対応付いた操作識別子をプラグイン操作ファイル293から選択し、選択した操作識別子で識別されるプラグイン操作を実行する。
プラグイン操作部240は、プラグイン識別子とS110で選択された攻撃識別子とに対応付いた操作識別子をプラグイン操作ファイル293から選択し、選択した操作識別子で識別されるプラグイン操作を実行する。
プラグイン操作が実行されることによって、プラグイン281の動作パラメータが対象装置110に送信される。
対象装置110のプラグイン実行部111は、動作パラメータを用いてプラグイン281を実行する。
そして、プラグイン281は、動作パラメータに従って動作することによって、対象装置110を攻撃する。
対象装置110のプラグイン実行部111は、動作パラメータを用いてプラグイン281を実行する。
そして、プラグイン281は、動作パラメータに従って動作することによって、対象装置110を攻撃する。
また、プラグイン操作部240は、プラグイン操作の実行を開始したときに、プラグイン操作の開始を脆弱性判定部260に通知する。
さらに、プラグイン操作部240は、プラグイン操作の実行を終了したときに、プラグイン操作の終了を脆弱性判定部260に通知する。
さらに、プラグイン操作部240は、プラグイン操作の実行を終了したときに、プラグイン操作の終了を脆弱性判定部260に通知する。
S140において、攻撃実行部250は、S110で選択された攻撃識別子に対応付いた攻撃規則を攻撃規則ファイル294から選択し、選択した攻撃規則に従って攻撃パターンを生成する。
S150において、攻撃実行部250は、S140で生成した攻撃パターンを実行する。これにより、対象装置110に対する攻撃が実行される。
攻撃の実行には、市販のソフトウェア、フリーのソフトウェアまたは自作ツールを利用することができる。DoS攻撃の実行には、hping3またはfragmentation6などのソフトウェアを利用することができる。fuzzingという攻撃の実行には、Peachなどのソフトウェアを利用することができる。
攻撃の実行には、市販のソフトウェア、フリーのソフトウェアまたは自作ツールを利用することができる。DoS攻撃の実行には、hping3またはfragmentation6などのソフトウェアを利用することができる。fuzzingという攻撃の実行には、Peachなどのソフトウェアを利用することができる。
また、攻撃実行部250は、攻撃パターンの実行を開始したときに、対象装置110に対する攻撃の開始を脆弱性判定部260に通知する。
さらに、攻撃実行部250は、攻撃パターンの実行を終了したときに、対象装置110に対する攻撃の終了を脆弱性判定部260に通知する。
さらに、攻撃実行部250は、攻撃パターンの実行を終了したときに、対象装置110に対する攻撃の終了を脆弱性判定部260に通知する。
S160において、攻撃選択部210は、対象装置110に対する攻撃を終了させるか判定する。
例えば、攻撃終了命令が脆弱性検証装置200に入力された場合、攻撃選択部210は、対象装置110に対する攻撃を終了させる。
攻撃を終了させる場合、処理は終了する。
攻撃を終了させない場合、処理はS161に進む。
例えば、攻撃終了命令が脆弱性検証装置200に入力された場合、攻撃選択部210は、対象装置110に対する攻撃を終了させる。
攻撃を終了させる場合、処理は終了する。
攻撃を終了させない場合、処理はS161に進む。
S161において、攻撃選択部210は、S110で選択していない攻撃識別子があるか判定する。
未選択の攻撃識別子がある場合、処理はS110に戻る。
未選択の攻撃識別子がない場合、処理は終了する。
未選択の攻撃識別子がある場合、処理はS110に戻る。
未選択の攻撃識別子がない場合、処理は終了する。
図12に基づいて、脆弱性検証方法[検証]について説明する。脆弱性検証方法[検証]は、対象装置110に対する攻撃の結果に基づいて対象装置110の脆弱性を検証する方法である。
S210において、脆弱性判定部260は、対象装置110に対する攻撃の攻撃識別子を攻撃実行部250から取得する。
脆弱性判定部260は、取得した攻撃識別子に対応付いた通信手順を通信手順ファイル295から選択する。
脆弱性判定部260は、取得した攻撃識別子に対応付いた通信手順を通信手順ファイル295から選択する。
S220において、脆弱性判定部260は、S210で選択された通信手順に示される攻撃前通信を実行する。但し、攻撃前通信が通信手順に含まれていない場合、S220は実行されない。
S230において、脆弱性判定部260は、対象装置110に対する攻撃の開始が攻撃実行部250から通知されるまで待機する。
さらに、脆弱性判定部260は、プラグイン操作の開始またはプラグイン操作無しがプラグイン操作部240から通知されるまで待機する。
さらに、脆弱性判定部260は、プラグイン操作の開始またはプラグイン操作無しがプラグイン操作部240から通知されるまで待機する。
S240において、脆弱性判定部260は、S210で選択された通信手順に示される攻撃中通信を実行する。但し、攻撃中通信が通信手順に含まれていない場合、S240は実行されない。
S250において、脆弱性判定部260は、対象装置110に対する攻撃の終了が攻撃実行部250から通知されるまで待機する。
さらに、脆弱性判定部260は、プラグイン操作の終了がプラグイン操作部240から通知されるまで待機する。但し、S230でプラグイン操作無しが通知された場合、プラグイン操作の終了が通知されるまで待機する必要はない。
さらに、脆弱性判定部260は、プラグイン操作の終了がプラグイン操作部240から通知されるまで待機する。但し、S230でプラグイン操作無しが通知された場合、プラグイン操作の終了が通知されるまで待機する必要はない。
S260において、脆弱性判定部260は、S210で選択された通信手順に示される攻撃後通信を実行する。但し、攻撃後通信が通信手順に含まれていない場合、S260は実行されない。
S270において、脆弱性判定部260は、S210で取得された攻撃識別子に対応付いた判定基準を判定基準ファイル296から選択する。
脆弱性判定部260は、攻撃前通信の通信結果と攻撃中通信と攻撃後通信とのうち実行した通信の通信結果を判定基準と比較し、比較結果に基づいて脆弱性の有無を判定する。判定される脆弱性は、依存関係ファイル297に含まれる脆弱性識別子のうち、S210で取得された攻撃識別子に対応付いた脆弱性識別子で識別される脆弱性である。
脆弱性判定部260は、攻撃前通信の通信結果と攻撃中通信と攻撃後通信とのうち実行した通信の通信結果を判定基準と比較し、比較結果に基づいて脆弱性の有無を判定する。判定される脆弱性は、依存関係ファイル297に含まれる脆弱性識別子のうち、S210で取得された攻撃識別子に対応付いた脆弱性識別子で識別される脆弱性である。
S280において、脆弱性判定部260は、S210で取得された攻撃識別子に対応付いた脆弱性識別子を依存関係ファイル297から選択する。
そして、脆弱性判定部260は、選択した脆弱性識別子をS270の判定結果に対応付けて脆弱性リスト269に登録する。
そして、脆弱性判定部260は、選択した脆弱性識別子をS270の判定結果に対応付けて脆弱性リスト269に登録する。
***効果の説明***
対象装置110にプラグイン281をインストールすることができる。
プラグイン281を操作することによって、対象装置110に対する攻撃を実行することができる。
攻撃の実行結果に基づいて、対象装置110の脆弱性を検証することができる。
対象装置110にプラグイン281をインストールすることができる。
プラグイン281を操作することによって、対象装置110に対する攻撃を実行することができる。
攻撃の実行結果に基づいて、対象装置110の脆弱性を検証することができる。
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は部分的に実施してもよい。
フローチャート等を用いて説明した処理手順は、脆弱性検証装置、脆弱性検証方法および脆弱性検証プログラムの処理手順の一例である。
フローチャート等を用いて説明した処理手順は、脆弱性検証装置、脆弱性検証方法および脆弱性検証プログラムの処理手順の一例である。
100 脆弱性検証システム、101 入力装置、102 出力装置、110 対象装置、111 プラグイン実行部、200 脆弱性検証装置、210 攻撃選択部、220 プラグイン選択部、230 プラグイン埋め込み部、240 プラグイン操作部、250 攻撃実行部、260 脆弱性判定部、269 脆弱性リスト、280 プラグイン記憶部、281 プラグイン、290 検証記憶部、291 攻撃リスト、292 プラグイン規則ファイル、293 プラグイン操作ファイル、294 攻撃規則ファイル、295 通信手順ファイル、296 判定基準ファイル、297 依存関係ファイル、901 プロセッサ、902 補助記憶装置、903 メモリ、904 通信装置、9041 レシーバ、9042 トランスミッタ、905 入力インタフェース、906 出力インタフェース、910 信号線、911 ケーブル、912 ケーブル。
Claims (12)
- 対象装置に対する攻撃を識別する攻撃識別子に、1つ以上のプラグインであるプラグイン群を識別するプラグイン群識別子、を対応付けた攻撃リストから、攻撃識別子を選択する攻撃選択部と、
選択された攻撃識別子に対応付いたプラグイン群識別子を前記攻撃リストから選択するプラグイン選択部と、
選択されたプラグイン群識別子で識別されるプラグイン群を前記対象装置にインストールするプラグイン埋め込み部と、
を備える脆弱性検証装置。 - 前記対象装置にインストールされたプラグイン群を操作するプラグイン操作部を備える
請求項1に記載の脆弱性検証装置。 - 前記プラグイン操作部は、
プラグインを操作するプラグイン操作を識別する操作識別子を、攻撃識別子とプラグイン識別子と、に対応付けたプラグイン操作ファイルから、選択された攻撃識別子と、前記プラグイン群に含まれるプラグインを識別するプラグイン識別子と、に対応付いた操作識別子を選択し、選択した操作識別子で識別されるプラグイン操作を実行する
請求項2に記載の脆弱性検証装置。 - 前記プラグイン操作部は、前記プラグイン操作を実行することによって、前記プラグインの動作を指定する動作パラメータを前記対象装置に送信し、
前記プラグインは、前記動作パラメータに従って動作することによって、前記対象装置を攻撃する
請求項3に記載の脆弱性検証装置。 - 前記攻撃リストは、1つ以上の攻撃識別子を含み、1つ以上の攻撃識別子のそれぞれに対応付けて、プラグインが必要な攻撃である埋め込み攻撃を意味する第1のフラグ値と、前記埋め込み攻撃以外の攻撃を意味する第2のフラグ値と、のいずれかが設定される埋め込み攻撃フラグを含み、前記第1のフラグ値が設定された埋め込み攻撃フラグに対応付いた攻撃識別子に対応付けて前記プラグイン群識別子を含み、
前記プラグイン選択部は、選択された攻撃識別子に対応付いた埋め込み攻撃フラグに前記第1のフラグ値が設定されている場合に、前記プラグイン群識別子を選択する
請求項1に記載の脆弱性検証装置。 - 前記プラグイン埋め込み部は、プラグインをそれぞれに識別する1つ以上のプラグイン識別子をプラグイン群識別子に対応付けたプラグイン規則ファイルから、選択されたプラグイン群識別子に対応付いた1つ以上のプラグイン識別子を選択し、選択した1つ以上のプログラム識別子で識別される1つ以上のプラグインを前記プラグイン群として前記対象装置にインストールする
請求項1に記載の脆弱性検証装置。 - 選択されたプラグイン群識別子で識別されるプラグイン群が前記対象装置にインストールされた後に、選択された攻撃識別子で識別される攻撃を前記対象装置に対して実行する攻撃実行部を備える
請求項1に記載の脆弱性検証装置。 - 前記攻撃実行部は、攻撃を実行するためのプログラムである攻撃パターンを生成する攻撃規則を攻撃識別子に対応付けた攻撃規則ファイルを用いて、攻撃識別子で識別される攻撃を実行するための攻撃パターンを生成し、前記攻撃パターンを実行することによって、前記対象装置に対する攻撃を実行する
請求項7に記載の脆弱性検証装置。 - 前記対象装置と通信し、通信結果に基づいて前記対象装置が有する脆弱性を判定する脆弱性判定部を備える
請求項1に記載の脆弱性検証装置。 - 前記脆弱性判定部は、前記対象装置に対する攻撃の実行前の通信と、前記対象装置に対する攻撃の実行中の通信と、前記対象装置に対する攻撃の実行後の通信との少なくともいずれかを含んだ通信手順を攻撃識別子に対応付けた通信手順ファイルを用いて、前記対象装置に対する攻撃の攻撃識別子に対応付いた通信手順に従って、前記対象装置と通信する
請求項9に記載の脆弱性検証装置。 - 前記脆弱性判定部は、脆弱性の有無の判定基準を攻撃識別子に対応付けた判定基準ファイルを用いて、前記対象装置に対する攻撃の攻撃識別子に対応付いた判定基準と前記通信結果を比較し、比較結果に基づいて脆弱性の有無を判定する
請求項9に記載の脆弱性検証装置。 - 対象装置に対する攻撃を識別する攻撃識別子に、1つ以上のプラグインであるプラグイン群を識別するプラグイン群識別子、を対応付けた攻撃リストから、攻撃識別子を選択する攻撃選択処理と、
選択された攻撃識別子に対応付いたプラグイン群識別子を前記攻撃リストから選択するプラグイン選択処理と、
選択されたプラグイン群識別子で識別されるプラグイン群を前記対象装置にインストールするプラグイン埋め込み処理と
をコンピュータに実行させるための脆弱性検証プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015026285A JP2016149055A (ja) | 2015-02-13 | 2015-02-13 | 脆弱性検証装置および脆弱性検証プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015026285A JP2016149055A (ja) | 2015-02-13 | 2015-02-13 | 脆弱性検証装置および脆弱性検証プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016149055A true JP2016149055A (ja) | 2016-08-18 |
Family
ID=56688379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015026285A Pending JP2016149055A (ja) | 2015-02-13 | 2015-02-13 | 脆弱性検証装置および脆弱性検証プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016149055A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434217A (zh) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | 漏洞扫描方法、装置、计算机设备及介质 |
-
2015
- 2015-02-13 JP JP2015026285A patent/JP2016149055A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434217A (zh) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | 漏洞扫描方法、装置、计算机设备及介质 |
CN113434217B (zh) * | 2021-06-30 | 2023-06-02 | 平安科技(深圳)有限公司 | 漏洞扫描方法、装置、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10657251B1 (en) | Multistage system and method for analyzing obfuscated content for malware | |
Lee et al. | Delta: A security assessment framework for software-defined networks. | |
US11075945B2 (en) | System, apparatus and method for reconfiguring virtual machines | |
US9973531B1 (en) | Shellcode detection | |
US10192052B1 (en) | System, apparatus and method for classifying a file as malicious using static scanning | |
US10133863B2 (en) | Zero-day discovery system | |
US9547765B2 (en) | Validating a type of a peripheral device | |
EP2994848B1 (en) | Optimized resource allocation for virtual machines within a malware content detection system | |
US8522350B2 (en) | System and method for run-time attack prevention | |
US9065826B2 (en) | Identifying application reputation based on resource accesses | |
US20080083034A1 (en) | Attack classification method for computer network security | |
D’Orazio et al. | A technique to circumvent SSL/TLS validations on iOS devices | |
US20100037317A1 (en) | Mehtod and system for security monitoring of the interface between a browser and an external browser module | |
US9507933B2 (en) | Program execution apparatus and program analysis apparatus | |
US10546120B2 (en) | System and method of forming a log in a virtual machine for conducting an antivirus scan of a file | |
RU2606559C1 (ru) | Система и способ оптимизации антивирусной проверки файлов | |
CN111382043B (zh) | 在虚拟机中执行具有漏洞的文件时形成日志的***和方法 | |
US10691798B2 (en) | Analysis device, analysis method, and analysis program | |
Chen et al. | How can we craft large-scale Android malware? An automated poisoning attack | |
Hei et al. | Two vulnerabilities in Android OS kernel | |
KR101657180B1 (ko) | 프로세스 접근 제어 시스템 및 방법 | |
US9600672B1 (en) | Dynamic function switching | |
JP2016149055A (ja) | 脆弱性検証装置および脆弱性検証プログラム | |
JP2016181208A (ja) | 不正監視装置および不正監視プログラム | |
CN111680336A (zh) | 固件安全防护方法和装置、***及设备 |