JP7380877B2 - セキュリティ検査装置、セキュリティ検査方法、及びプログラム - Google Patents

セキュリティ検査装置、セキュリティ検査方法、及びプログラム Download PDF

Info

Publication number
JP7380877B2
JP7380877B2 JP2022530439A JP2022530439A JP7380877B2 JP 7380877 B2 JP7380877 B2 JP 7380877B2 JP 2022530439 A JP2022530439 A JP 2022530439A JP 2022530439 A JP2022530439 A JP 2022530439A JP 7380877 B2 JP7380877 B2 JP 7380877B2
Authority
JP
Japan
Prior art keywords
security inspection
security
procedure
procedures
execution
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.)
Active
Application number
JP2022530439A
Other languages
English (en)
Other versions
JPWO2021250827A5 (ja
JPWO2021250827A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2021250827A1 publication Critical patent/JPWO2021250827A1/ja
Publication of JPWO2021250827A5 publication Critical patent/JPWO2021250827A5/ja
Application granted granted Critical
Publication of JP7380877B2 publication Critical patent/JP7380877B2/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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、例えばソフトウェア及びハードウェアなどから構成されるシステムに関するセキュリティ検査を行うセキュリティ検査装置、セキュリティ検査方法、及びプログラムに関する。
ソフトウェア、及びハードウェアなどにより構成されるウェブシステムのセキュリティ検査を行うサービスが提供されている。例えば企業は、このようなサービスを利用することで、当該企業が有するウェブシステムのセキュリティ上の欠陥、脆弱性を把握することができる。当該企業は、把握した情報などに基づいて、システムに対するセキュリティ上の対策(セキュアコーディング、設定変更など)を講じることが可能となる。
例えば、特許文献1には、模擬環境に不正プログラムを適用して所定業務処理を実行させること、当該実行による挙動から得られた情報を解析すること、及び当該解析の結果を出力することが、開示されている。
特開2016-099857号公報
しかしながら、上述したセキュリティ検査結果の閲覧者は、検査結果を理解するために必要な知識および経験を保有していない場合がある。この場合、当該閲覧者は、検査結果を提示されても、その検査結果の十分の内容を理解することができず、セキュリティ上の欠陥および脆弱性に対して正しい対策を実施できないという問題がある。
上述の通り、脆弱性の有無および攻撃可能性といった最終的なセキュリティ検査の解析結果だけでは、検査結果を深く理解することができないという問題がある。このため、セキュリティの専門家とともに取るべき対策を議論できる環境が望まれる。
本発明の目的は、セキュリティ検査による検査結果をより適切に提供することを可能にするセキュリティ検査装置、セキュリティ検査方法、及びプログラムを提供することにある。
本発明の一つの態様によれば、セキュリティ検査装置は、セキュリティ検査の対象システムの機能を実現する仮想マシンを生成する生成部と、上記仮想マシンを用いて、上記セキュリティ検査のための1以上のセキュリティ検査手順を実行する実行部と、上記1以上のセキュリティ検査手順の各々の実行結果を示す情報を出力する出力部と、を備える。
本発明の一つの態様によれば、セキュリティ検査方法は、セキュリティ検査の対象システムの機能を実現する仮想マシンを生成することと、上記仮想マシンを用いて、上記セキュリティ検査のための1以上のセキュリティ検査手順を実行することと、上記1以上のセキュリティ検査手順の各々の実行結果を示す情報を出力することと、を備える。
本発明の一つの態様によれば、プログラムは、セキュリティ検査の対象システムの機能を実現する仮想マシンを生成することと、上記仮想マシンを用いて、上記セキュリティ検査のための1以上のセキュリティ検査手順を実行することと、上記1以上のセキュリティ検査手順の各々の実行結果を示す情報を出力することと、をコンピュータに実行させるためのプログラムである。
本発明の一つの態様によれば、セキュリティ検査による検査結果をより適切に提供することが可能になる。なお、本発明により、当該効果の代わりに、又は当該効果とともに、他の効果が奏されてもよい。
図1は、第1の実施形態に係るセキュリティ検査装置100aの概略的な構成の例を示すブロック図である。 図2は、セキュリティ検査装置100a(表示部150)より表示される画面200の例を示す図である。 図3は、セキュリティ検査時の処理の流れを示すフローチャートである。 図4は、セキュリティ対策時の処理の流れを示すフローチャートである。 図5は、第2の実施形態に係るセキュリティ検査装置100bの概略的な構成の例を示すブロック図である。
以下、添付の図面を参照して本発明の実施形態を詳細に説明する。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。
説明は、以下の順序で行われる。
1.本発明の実施形態の概要
2.第1の実施形態
2.1.セキュリティ検査装置100aの構成
2.2.動作例
3.第2の実施形態
3.1.セキュリティ検査装置100bの構成
3.2.動作例
4.他の実施形態
<<1.本発明の実施形態の概要>>
まず、本発明の実施形態の概要を説明する。
(1)技術的課題
ソフトウェア、及びハードウェアなどにより構成されるウェブシステムのセキュリティ検査を行うサービスが提供されている。例えば企業は、このようなサービスを利用することで、当該企業が有するウェブシステムのセキュリティ上の欠陥、脆弱性を把握することができる。当該企業は、把握した情報などに基づいて、システムに対するセキュリティ上の対策(セキュアコーディング、設定変更など)を講じることが可能となる。
しかしながら、上述したセキュリティ検査結果の閲覧者は、検査結果を理解するために必要な知識および経験を保有していない場合がある。この場合、当該閲覧者は、検査結果を提示されても、その検査結果の十分の内容を理解することができず、セキュリティ上の欠陥および脆弱性に対して正しい対策を実施できないという問題がある。
上述の通り、脆弱性の有無および攻撃可能性といった最終的なセキュリティ検査の解析結果だけでは、検査結果を深く理解することができないという問題がある。このため、セキュリティの専門家とともに取るべき対策を議論できる環境が望まれる。
そこで、本実施形態では、セキュリティ検査による検査結果をより適切に提供することを目的とする。より具体的には、本実施形態では、脆弱性診断およびペネトレーションテスト等のセキュリティ検査結果を検査対象の開発者に対して分かりやすく説明することを目的とする。さらに、本実施形態では、当該開発者が実施すべきセキュリティ対策を適切に検討および検証を行うことを可能にすることを目的とする。
(2)技術的特徴
本発明の実施形態では、セキュリティ検査の対象システムの機能を実現する仮想マシンを生成し、上記仮想マシンを用いて、上記セキュリティ検査のための1以上のセキュリティ検査手順を実行し、上記1以上のセキュリティ検査手順の各々の実行結果を示す情報を出力する。
これにより、例えば、セキュリティ検査による検査結果をより適切に提供することが可能になる。なお、上述した技術的特徴は本発明の実施形態の具体的な一例であり、当然ながら、本発明の実施形態は、上述した技術的特徴に限定されない。
<<2.第1の実施形態>>
続いて、図1~図4を参照して、第1の実施形態を説明する。
<2.1.セキュリティ検査装置100aの構成>
図1を参照して、第1の実施形態に係るセキュリティ検査装置100aの構成の例を説明する。図1は、第1の実施形態に係るセキュリティ検査装置100aの概略的な構成の例を示すブロック図である。図1を参照すると、セキュリティ検査装置100aは、ネットワーク通信部110、記憶部120、処理部130、操作入力部140、及び表示部150を備える。
(1)ネットワーク通信部110
ネットワーク通信部110は、ネットワークから信号を受信し、ネットワークへ信号を送信する。
(2)記憶部120
記憶部120は、セキュリティ検査装置100aの動作のためのプログラム(命令)及びパラメータ、並びに様々なデータを、一時的に又は恒久的に記憶する。当該プログラムは、セキュリティ検査装置100aの動作のための1つ以上の命令を含む。
(3)処理部130
処理部130は、セキュリティ検査装置100aの様々な機能を提供する。処理部130は、生成部131、実行部133、取得部135、選択部137及び出力部139を備える。なお、処理部130は、これらの構成要素以外の他の構成要素をさらに含みうる。すなわち、処理部130は、これらの構成要素の動作以外の動作も行いうる。生成部131、実行部133、取得部135、選択部137及び出力部139の具体的な動作は、後に詳細に説明する。
(4)操作入力部140
操作入力部140は、例えば、セキュリティ検査装置100aのユーザ(言い換えれば、検査者)からの操作入力を受け付ける。受け付けた操作入力を示す情報は、処理部130に提供される。
(5)表示部150
表示部150は、例えば、セキュリティ検査装置100aにより行われた処理結果を示す画像を、セキュリティ検査装置100aのユーザへ視認可能に表示する。すなわち、表示部150は、処理部130から提供された情報をユーザに提示する。
(6)実装例
ネットワーク通信部110は、ネットワークアダプタ並びに/又はネットワークインタフェースカード等により実装されてもよい。記憶部120は、メモリ(例えば、不揮発性メモリ及び/若しくは揮発性メモリ)並びに/又はハードディスク等により実装されてもよい。処理部130は、1つ以上のプロセッサにより実装されてもよい。生成部131、実行部133、取得部135、選択部137及び出力部139は、同一のプロセッサにより実装されてもよく、別々に異なるプロセッサにより実装されてもよい。上記メモリ(記憶部120)は、上記1つ以上のプロセッサ内に含まれていてもよく、又は、上記1つ以上のプロセッサ外にあってもよい。
セキュリティ検査装置100aは、プログラム(命令)を記憶するメモリと、当該プログラム(命令)を実行可能な1つ以上のプロセッサとを含んでもよい。当該1つ以上のプロセッサは、上記プログラムを実行して、処理部130の動作(生成部131、実行部133、取得部135、選択部137及び/又は出力部139の動作)を行ってもよい。上記プログラムは、処理部130の動作(生成部131、実行部133、取得部135、選択部137及び/又は出力部139の動作)をプロセッサに実行させるためのプログラムであってもよい。
操作入力部140は、例えばキーボード、マウス、タッチ式パネルなどのユーザインタフェースにより実装されてもよい。また、表示部150は、映像を表示する液晶ディスプレイ、有機ELディスプレイなどのより実装されてもよい。
<2.2.動作例>
次に、第1の実施形態に係る動作例について説明する。
第1の実施形態によれば、セキュリティ検査装置100a(生成部131)は、セキュリティ検査の対象システムの機能を実現する仮想マシンを生成する。セキュリティ検査装置100a(実行部133)は、上記仮想マシンを用いて、上記セキュリティ検査のための1以上のセキュリティ検査手順を実行する。セキュリティ検査装置100a(出力部139)は、上記1以上のセキュリティ検査手順の各々の実行結果を示す情報を出力する。
第1の実施形態によれば、上記1以上のセキュリティ検査手順の各々の実行結果を示す情報が出力されるので、セキュリティ検査による検査結果をより適切に提供することが可能になる。より具体的には、第1の実施形態によれば、脆弱性診断及びペネトレーションテストなど、サイバーセキュリティの診断結果をより理解されやすいように提供することができる。すなわち、第1の実施形態によれば、検査対象のシステムの管理者などに対して、セキュアな実装の実現を支援することができる。
(1)仮想マシン
上記仮想マシンは、上記セキュリティ検査の対象システムを構成するソフトウェア及び/又はサーバのコピーイメージに相当する。すなわち、セキュリティ検査の対象システムと上記仮想マシンとの両方は、それぞれ同じ検査手順が実行されると、同様の挙動(実行結果)を実現しうる。また、上記仮想マシンを構成するためのシステム情報及びデータなどは、生成部131により生成後、例えば記憶部120に記憶される。
(2)セキュリティ検査手順
上記1以上のセキュリティ検査手順の各々は、例えば脆弱性診断又はペネトレーションテストのため、コマンド実行又はファイル実行などを上記仮想マシンに指示するために用いられる。
具体的に、上記1以上のセキュリティ検査手順は、複数のセキュリティ検査手順を含んでもよい。例えば上記1以上のセキュリティ検査手順は、第1のセキュリティ検査手順と、上記第1のセキュリティ検査手順に関連付けられる第2のセキュリティ検査手順とを含む。
この場合、セキュリティ検査装置100a(実行部133)は、例えば、上記第1のセキュリティ検査手順を実行し、次に上記第2のセキュリティ検査手順を実行する。上記第1のセキュリティ検査手順及び上記第2のセキュリティ検査手順の各々の実行結果を示す情報は、出力部139により出力されることで、例えばセキュリティ検査装置100a(記憶部120)に記憶される。
一例として、リモートシェルの実行手順が上記第1のセキュリティ手順として実行される場合には、リモートシェルの実行後に実行されるべき権限昇格のための手順又は機密情報の持ち出しのための手順が、上記第2のセキュリティ手順として実行される。
(2-1)検査者の操作入力に応じたセキュリティ検査手順の決定
上記第2のセキュリティ検査手順は、セキュリティ検査装置100aのユーザ(検査者)の操作入力に応じて決定されてもよい。
この場合、セキュリティ検査装置100a(取得部135)は、上記第1のセキュリティ検査手順の実行結果を表示する画面表示に応じて候補セキュリティ検査手順を決定するための操作入力情報を取得する。次に、セキュリティ検査装置100a(実行部133)は、上記操作入力情報の取得に応じて、上記候補セキュリティ検査手順を上記第2のセキュリティ検査手順として実行する。
具体的には、上記第1のセキュリティ検査手順の実行結果を表示する画面(グラフィックユーザインタフェース)に、上記操作入力情報を受け付けるための入力要素(例えば、複数の項目から一つの項目を決定するためのボタン状の入力要素)を含める。セキュリティ検査装置100aのユーザ(検査者)は、当該ボタン状の入力要素を確認することにより、どのようなセキュリティ検査手順を行うかを検討および判断して、操作入力部140を用いて上記操作入力情報の入力を行うことができる。このようにして、セキュリティ検査装置100a(操作入力部140)は、上記操作入力情報を受け付けることができ、受け付けた上記操作入力情報を処理部130(取得部135)に提供することができる。
(2-2)セキュリティ検査手順の実行結果に基づいたセキュリティ検査手順の選択
上記第2のセキュリティ検査手順は、セキュリティ検査装置100aのユーザ(検査者)の操作入力に依存することなく、セキュリティ検査装置100a(選択部137)により選択されてもよい。
この場合、セキュリティ検査装置100a(選択部137)は、上記第1のセキュリティ検査手順の実行結果に基づいて、複数の候補セキュリティ検査手順の中から一の候補セキュリティ検査手順を選択する。次に、セキュリティ検査装置100a(実行部133)は、上記選択された候補セキュリティ検査手順を、上記第2のセキュリティ検査手順として実行する。
例えば、セキュリティ検査装置100a(選択部137)は、関連性を有するセキュリティ検査手順の組み合わせ(例えば、セキュリティ検査手順のペア)を示すデータベースなどを参照して、上記複数の候補セキュリティ検査手順の中から、上記第1のセキュリティ検査手順との間で関連性を有する候補セキュリティ検査手順(上記第2のセキュリティ検査手順の候補)が選択される。上述したようなリモートシェルの実行と対応する権限昇格及び機密情報の持ち出しとに関する例を用いて説明すれば、権限昇格と機密情報の持ち出しとを実行するための前提条件として、データベース内にリモートシェルの実行手順を記録しておくことで、リモートシェルを実行した後に権限昇格又は機密情報の持ち出しのための手順を上記候補セキュリティ検査手順として選択することが可能となる。
このように、セキュリティ検査装置100aは、ユーザ(検査者)の操作入力によらず、例えば上記第2のセキュリティ検査手順として実行されるべき候補セキュリティ検査手順を選択することができる。
(2-3)セキュリティ検査の再現
セキュリティ検査装置100a(出力部139)は、例えば記憶部120にアクセスして、上記第1のセキュリティ検査手順及び上記第2のセキュリティ検査手順の各々の実行結果を示す情報を、例えば表示部150に出力することで、各々のセキュリティ検査手順を再現することができる。例えば、セキュリティ検査装置100aは、各々のセキュリティ検査手順を示す情報を表示することで、権限昇格、及び情報漏洩などのタイミングを再現することができる。
とりわけ、上記1以上のセキュリティ検査手順の各々の実行結果を示す上記情報は、上記第1のセキュリティ検査手順の実行結果を表示する画面と上記第2のセキュリティ検査手順を表示する画面との間の画面遷移の操作入力を受け付けるための情報を含んでもよい。
この場合、セキュリティ検査装置100a(表示部150)は、出力部139から提供される情報に応じて、上記画面遷移の上記操作入力を受け付けるための上記情報に応じて、上記画面遷移の上記操作入力を受け付けるためのボタン画像などを表示する。これにより、セキュリティ検査装置100aは、当該ボタン画像に応じたユーザからの操作入力に応じて画面遷移を行うことができる。このような画面遷移により、検査結果の閲覧者にとってより理解されやすいように、各々のセキュリティ検査手順を適切に再現することができる。
(3)セキュリティ対策手順の実行
また、セキュリティ検査装置100a(実行部133)は、上記1以上のセキュリティ検査手順により判明される脆弱性のためのセキュリティ対策手順を更に実行してもよい。この場合、セキュリティ検査装置100a(出力部139)は、上記セキュリティ対策手順の実行結果を示す情報を更に出力する。
具体的に、上記セキュリティ対策手順とは、上記1以上のセキュリティ検査手順の各々によって判明される脆弱性を解消するため、ソースコードで用いられる関数を変更すること、サーバに関する設定(ON/OFFなどの設定)を変更すること、又は使用する通信ポートを変更することなどを上記仮想マシンに指示するための手順である。
例えば、変更対象となる関数は、Webサイト閲覧者からの入力値をエスケープ処理するphp言語のhtmlspecialchars関数のような、システムの管理者が意図しないコマンド実行および情報漏洩の発生を防止可能な安全な関数である。また、変更対象となるサーバに関する設定は、パーミッションの設定および不要なポートの遮断などである。
なお、上述したように複数のセキュリティ検査手順が実行される場合、セキュリティ検査装置100a(実行部133)は、上記複数のセキュリティ検査手順の各々に対する対策として、複数のセキュリティ対策手順をそれぞれ実行してもよい。
また、上記セキュリティ対策手順の実行結果を示す情報は、出力部139により出力され、例えばセキュリティ検査装置100a(記憶部120)に記憶される。
(3-1)検査者の操作入力に応じたセキュリティ対策手順の決定
上記セキュリティ対策手順は、セキュリティ検査装置100aのユーザ(検査者)の操作入力に応じて決定されてもよい。
この場合、セキュリティ検査装置100a(取得部135)は、上記1以上のセキュリティ検査手順のいずれかを表示する画面表示に応じて候補セキュリティ対策手順の実行のための操作入力情報を取得する。次に、セキュリティ検査装置100a(実行部133)は、上記操作入力情報の取得に応じて、上記候補セキュリティ対策手順を上記セキュリティ対策手順として実行する。
具体的には、上記1以上のセキュリティ検査手順のいずれかの実行結果を表示する画面に、上記操作入力情報を受け付けるための入力要素(例えば、複数の項目から一つの項目を決定するためのボタン状の入力要素)を含める。セキュリティ検査装置100aのユーザ(検査者)は、当該ボタン状の入力要素を確認することにより、どのようなセキュリティ対策手順を行うかを検討および判断して、操作入力部140を用いて上記操作入力情報の入力を行うことができる。これにより、セキュリティ検査装置100a(操作入力部140)は、上記操作入力情報を受け付けることができ、受け付けた上記操作入力情報を処理部130(取得部135)に提供することができる。
(3-2)セキュリティ検査手順の実行結果に基づいたセキュリティ対策手順の選択
上記セキュリティ対策手順は、セキュリティ検査装置100aのユーザ(検査者)の操作入力に依存することなく、セキュリティ検査装置100a(選択部137)により選択されてもよい。
この場合、セキュリティ検査装置100a(選択部137)は、複数の候補セキュリティ対策手順の中から、上記1以上のセキュリティ検査手順のいずれかに関連付けられる候補セキュリティ対策手順を選択する。次に、セキュリティ検査装置100a(実行部133)は、上記選択された候補セキュリティ対策手順を、上記セキュリティ対策手順として実行する。
例えば、セキュリティ検査装置100a(選択部137)は、互いに関連性を有するセキュリティ検査手順とセキュリティ対策手順の組み合わせ(例えば、セキュリティ検査手順とセキュリティ対策手順のペア)を示すデータベースなどを参照して、上記複数の候補セキュリティ対策手順の中から、上記1以上のセキュリティ対策手順のいずれかとの間で関連性を有する候補セキュリティ対策手順が選択される。例えば、Webサイトの入力欄に悪意のあるコードを入力することで不正コマンドを実行するセキュリティ検査手順に対応して、htmlspecialchars関数を使うなどのセキュリティ対策手順が選択される。
このように、セキュリティ検査装置100aは、ユーザ(検査者)の操作入力によらず、上記セキュリティ対策手順として実行されるべき候補セキュリティ検査手順を選択することができる。
(3-3)セキュリティ対策の再現
セキュリティ検査装置100a(出力部139)は、例えば記憶部120にアクセスして、上記セキュリティ対策手順の実行結果を示す情報を、例えば表示部150に出力することで、各々のセキュリティ検査手順を再現することができる。例えば、セキュリティ検査装置100aは、セキュリティ対策手順を示す情報を表示することで、権限昇格、及び情報漏洩などを防止可能な上記仮想マシンの環境を再現することができる。
とりわけ、上記セキュリティ対策手順の実行結果を示す上記情報は、前記1以上のセキュリティ検査手順のいずれかの実行結果を表示する画面と上記セキュリティ対策手順の実行結果を表示する画面との間の画面遷移の操作入力を受け付けるための情報を含んでもよい。
この場合、セキュリティ検査装置100a(表示部150)は、上記画面遷移の上記操作入力を受け付けるための上記情報に応じて、上記画面遷移の上記操作入力を受け付けるためのボタン画像などを表示する。これにより、セキュリティ検査装置100aは、当該ボタン画像を用いた操作入力に応じて画面遷移を行うことができる。このような画面遷移により、検査結果の閲覧者にとってより理解されやすいように、各々のセキュリティ検査手順に対して実施されるセキュリティ対策手順を適切に再現することができる。
(4)画面例
次に、図2を参照して、セキュリティ検査装置100a(表示部150)より表示される画面の例を説明する。図2は、セキュリティ検査装置100a(表示部150)より表示される画面200の例を示す図である。
図2に示すように、画面200は、仮想マシンのステータスを表すステータス画像領域210、検査者により決定された手順(セキュリティ検査手順、セキュリティ対策手順など)を一覧表示する入力データベース画像領域220、画面遷移のための操作を行う遷移操作ボタン画像231、233、及びセキュリティ対策手順を反映するための操作を行う反映操作ボタン235を含む。
図2に示す例では、ステータス画像領域210には、入力データベース画像領域220により表示される手順のうち任意のセキュリティ検査手順(以下、カレントのセキュリティ検査手順とも呼ぶ。)の実行結果が表示される。また、遷移操作ボタン画像231に対応するユーザの操作入力を操作入力部140が受け付けると、ステータス画像領域210は、カレントのセキュリティ検査手順の後に続いて行われたセキュリティ検査手順の実行結果を示す画像に遷移する。これにより、セキュリティ検査装置100aのユーザ(検査者)は、例えば権限昇格又は情報漏洩などの攻撃又は不正操作の発生を示す画像を確認することができる。
一方、遷移操作ボタン画像233に対応する操作入力を操作入力部140が受け付けると、ステータス画像領域210は、カレントのセキュリティ検査手順に先立って行われたセキュリティ検査手順の実行結果を示す画像に遷移する。これにより、セキュリティ検査装置100aのユーザ(検査者)は、例えば権限昇格又は情報漏洩などの発生の直前の状況(上記仮想マシンのステータス)を示す画像を確認することができる。
また、反映操作ボタン235に対応する操作入力を操作入力部140が受け付けると、ステータス画像領域210には、入力データベース画像領域220により表示される手順のうち当該操作入力とともに決定されたセキュリティ対策手順の実行結果が仮想マシンの構成に反映される。このようにしてセキュリティ対策手順が反映された後に、例えば権限昇格又は情報漏洩などの発生を試みるために、遷移操作ボタン画像231に対応する操作入力などが行われても、権限昇格又は情報漏洩などの発生を示す画像への遷移が防止される。
(5)セキュリティ検査装置100aで行われる処理の流れ
次に、セキュリティ検査装置100aで行われる処理の流れを説明する。
(5-1)セキュリティ検査時の処理の流れ
図3を参照してセキュリティ検査時の処理の流れを説明する。図3は、セキュリティ検査時の処理の流れを示すフローチャートである。
図3を参照すると、まず、セキュリティ検査装置100a(実行部133)は、記憶部120から仮想マシン(検査用の仮想マシン)を構成するシステム情報及びデータを読み出す処理を行う(S301)。次に、セキュリティ検査装置100a(取得部135)は、操作入力部140から取得される操作入力情報に応じて、候補セキュリティ検査手順を決定する(S303)。次に、セキュリティ検査装置100a(実行部133)は、検査用の仮想マシンを用いて候補セキュリティ検査手順を実行する(S305)。次に、セキュリティ検査装置100a(出力部139)は、実行されたセキュリティ検査手順を検査入力値として出力することにより、当該検査入力値を記憶部120に記憶させる(S307)。
(5-2)セキュリティ対策時の処理の流れ
図4を参照してセキュリティ対策時の処理の流れを説明する。図4は、セキュリティ対策時の処理の流れを示すフローチャートである。
図4を参照すると、まず、セキュリティ検査装置100a(実行部133)は、記憶部120から仮想マシン(対策用の仮想マシン)を構成するシステム情報及びデータを読み出す処理を行う(S401)。次に、セキュリティ検査装置100a(実行部133)は、記憶部120からセキュリティ検査手順を読み出し、読み出したセキュリティ検査手順を実行する。このようなセキュリティ検査手順の実行により、対策用の仮想マシンに権限昇格が発生することになる(S403)。次に、セキュリティ検査装置100a(取得部135)は、操作入力部140から取得される操作入力情報に応じて、候補セキュリティ手順を決定する。(S405)。次に、セキュリティ検査装置100a(実行部133)は、対策用の仮想マシンを用いて候補セキュリティ検査手順を実行する。これにより、例えば権限昇格の発生を防止するための対策が完了する(S407)。次に、セキュリティ検査装置100a(実行部133)は、実行されたセキュリティ対策手順の実行結果を出力部139に通知する。出力部139は、例えば当該通知を示す情報を表示部150に表示させる。この表示に応じて、セキュリティ検査装置100aのユーザ(検査者)により、対策が完了したことが認識される(S409)。次に、セキュリティ検査装置100a(実行部133)は、操作入力部140を介して取得部135により取得される操作入力情報(反映操作)に応じて、上記仮想マシンにセキュリティ対策手順を適用する(S411)。
(5-3)まとめ
以上のように図4及び図5に示す処理がそれぞれ実行されることにより、セキュリティ検査装置100aは、脆弱性診断及びペネトレーションテスト等のセキュリティ検査の結果だけでなく、当該結果に結びつく過程を手順(セキュリティ検査手順)ごとに提示することが可能となる。これにより、セキュリティ検査の理解を促進することが可能となる。
また、セキュリティ検査装置100aは、セキュリティ検査対象のシステムの開発者および診断者に、セキュリティ対策を検討および検証可能な情報を提示することができる。また、セキュリティ検査装置100aは、ユーザ(検査者)により有効性が確認されたセキュリティ対策手順を上記仮想マシンに反映(適用)することにより、セキュリティ検査結果に基づいたセキュアな実装の実現を支援することができる。
<<3.第2の実施形態>>
続いて、図5を参照して本発明の第2の実施形態を説明する。上述した第1の実施形態は、具体的な実施形態であるが、第2の実施形態は、より一般化された実施形態である。
<3.1.セキュリティ検査装置100bの構成>
図5は、第2の実施形態に係るセキュリティ検査装置100bの概略的な構成の例を示すブロック図である。図5を参照すると、セキュリティ検査装置100bは、生成部151、実行部153、及び出力部155を備える。
生成部151、実行部153、及び出力部155は、1つ以上のプロセッサと、メモリ(例えば、不揮発性メモリ及び/若しくは揮発性メモリ)並びに/又はハードディスクとにより実装されてもよい。生成部151、実行部153、及び出力部155は、同一のプロセッサにより実装されてもよく、別々に異なるプロセッサにより実装されてもよい。上記メモリは、上記1つ以上のプロセッサ内に含まれていてもよく、又は、上記1つ以上のプロセッサ外にあってもよい。
<3.2.動作例>
第2の実施形態に係る動作例を説明する。
第2の実施形態によれば、セキュリティ検査装置100b(生成部151)は、セキュリティ検査の対象システムの機能を実現する仮想マシンを生成する。セキュリティ検査装置100b(実行部153)は、上記仮想マシンを用いて、上記セキュリティ検査のための1以上のセキュリティ検査手順を実行する。セキュリティ検査装置100b(出力部155)は、上記1以上のセキュリティ検査手順の各々の実行結果を示す情報を出力する。
-第1の実施形態との関係
一例として、第2の実施形態に係るセキュリティ検査装置100bが備える生成部151、実行部153、及び出力部155は、それぞれ、第1の実施形態に係るセキュリティ検査装置100aが備える生成部131、実行部133、及び出力部139の動作を行ってもよい。この場合に、第1の実施形態についての説明は、第2の実施形態にも適用されうる。なお、第2の実施形態は、この例に限定されない。
以上、第2の実施形態を説明した。第2の実施形態によれば、1以上のセキュリティ検査手順の各々の実行結果を示す情報を出力することにより、セキュリティ検査による検査結果をより適切に提供することが可能になる。
<<4.他の実施形態>>
以上、本発明の実施形態を説明したが、本発明はこれらの実施形態に限定されるものではない。これらの実施形態は例示にすぎないということ、及び、本発明のスコープ及び精神から逸脱することなく様々な変形が可能であるということは、当業者に理解されるであろう。
例えば、本明細書に記載されている処理におけるステップは、必ずしもシーケンス図に記載された順序に沿って時系列に実行されなくてよい。例えば、処理におけるステップは、シーケンス図として記載した順序と異なる順序で実行されても、並列的に実行されてもよい。また、処理におけるステップの一部が削除されてもよく、さらなるステップが処理に追加されてもよい。
また、本明細書において説明したセキュリティ検査装置の構成要素(例えば、生成部、実行部、及び/又は出力部)を備える装置(例えば、セキュリティ検査装置を構成する複数の装置(又はユニット)のうちの1つ以上の装置(又はユニット)、又は上記複数の装置(又はユニット)のうちの1つのためのモジュール)が提供されてもよい。また、上記構成要素の処理を含む方法が提供されてもよく、上記構成要素の処理をプロセッサに実行させるためのプログラムが提供されてもよい。また、当該プログラムを記録したコンピュータに読み取り可能な非一時的記録媒体(Non-transitory computer readable medium)が提供されてもよい。当然ながら、このような装置、モジュール、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体も本発明に含まれる。
上記実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
セキュリティ検査の対象システムの機能を実現する仮想マシンを生成する生成部と、
前記仮想マシンを用いて、前記セキュリティ検査のための1以上のセキュリティ検査手順を実行する実行部と、
前記1以上のセキュリティ検査手順の各々の実行結果を示す情報を出力する出力部と、を備える、セキュリティ検査装置。
(付記2)
前記1以上のセキュリティ検査手順は、第1のセキュリティ検査手順と、前記第1のセキュリティ検査手順に関連付けられる第2のセキュリティ検査手順とを含む、付記1記載のセキュリティ検査装置。
(付記3)
前記第1のセキュリティ検査手順の実行結果を表示する画面表示に応じて候補セキュリティ検査手順を決定するための操作入力情報を取得する取得部を更に備え、
前記実行部は、前記候補セキュリティ検査手順を前記第2のセキュリティ検査手順として実行する、付記2記載のセキュリティ検査装置。
(付記4)
前記第1のセキュリティ検査手順の実行結果に基づいて、複数の候補セキュリティ検査手順の中から一の候補セキュリティ検査手順を選択する選択部を更に備え、
前記実行部は、前記選択された候補セキュリティ検査手順を、前記第2のセキュリティ検査手順として実行する、付記2記載のセキュリティ検査装置。
(付記5)
前記1以上のセキュリティ検査手順の各々の実行結果を示す前記情報は、前記第1のセキュリティ検査手順の実行結果を表示する画面と前記第2のセキュリティ検査手順を表示する画面との間の画面遷移の操作入力を受け付けるための情報を含む、付記2乃至4のうち何れか1項記載のセキュリティ検査装置。
(付記6)
前記実行部は、前記仮想マシンを用いて、前記1以上のセキュリティ検査手順により判明される脆弱性のためのセキュリティ対策手順を更に実行し、
前記出力部は、前記セキュリティ対策手順の実行結果を示す情報を更に出力する、付記1乃至5のうち何れか1項記載のセキュリティ検査装置。
(付記7)
前記1以上のセキュリティ検査手順のいずれかを表示する画面表示に応じて候補セキュリティ対策手順の実行のための操作入力情報を取得する取得部を更に備え、
前記実行部は、前記候補セキュリティ対策手順を前記セキュリティ対策手順として実行する、付記6記載のセキュリティ検査装置。
(付記8)
複数の候補セキュリティ対策手順の中から、前記1以上のセキュリティ検査手順のいずれかに関連付けられる候補セキュリティ対策手順を選択する選択部を更に備え、
前記実行部は、前記選択された候補セキュリティ対策手順を、前記セキュリティ対策手順として実行する、付記6記載のセキュリティ検査装置。
(付記9)
前記セキュリティ対策手順の実行結果を示す前記情報は、前記1以上のセキュリティ検査手順のいずれかの実行結果を表示する画面と前記セキュリティ対策手順の実行結果を表示する画面との間の画面遷移の操作入力を受け付けるための情報を含む、付記6乃至8のうち何れか1項記載のセキュリティ検査装置。
(付記10)
セキュリティ検査の対象システムの機能を実現する仮想マシンを生成することと、
前記仮想マシンを用いて、前記セキュリティ検査のための1以上のセキュリティ検査手順を実行することと、
前記1以上のセキュリティ検査手順の各々の実行結果を示す情報を出力することと、
を備える、セキュリティ検査方法。
(付記11)
セキュリティ検査の対象システムの機能を実現する仮想マシンを生成することと、
前記仮想マシンを用いて、前記セキュリティ検査のための1以上のセキュリティ検査手順を実行することと、
前記1以上のセキュリティ検査手順の各々の実行結果を示す情報を出力することと、
をコンピュータに実行させるためのプログラム。
セキュリティ検査を行う装置において、セキュリティ検査による検査結果をより適切に提供することが可能になる。
100a、100b セキュリティ検査装置
131、151 生成部
133、153 実行部
139、155 出力部

Claims (9)

  1. セキュリティ検査の対象システムの機能を実現する仮想マシンを生成する生成手段と、
    前記仮想マシンを用いて、前記セキュリティ検査のための1以上のセキュリティ検査手順を実行する実行手段と、
    前記1以上のセキュリティ検査手順の各々の実行結果を示す情報を出力する出力手段と、を備え
    前記1以上のセキュリティ検査手順は、第1のセキュリティ検査手順と、前記第1のセキュリティ検査手順に関連付けられる第2のセキュリティ検査手順とを含み、
    前記1以上のセキュリティ検査手順の各々の実行結果を示す前記情報は、前記第1のセキュリティ検査手順の実行結果を表示する画面と前記第2のセキュリティ検査手順を表示する画面との間の画面遷移の操作入力を受け付けるための情報を含む、
    セキュリティ検査装置。
  2. 前記第1のセキュリティ検査手順の実行結果を表示する画面表示に応じて候補セキュリティ検査手順を決定するための操作入力情報を取得する取得手段を更に備え、
    前記実行手段は、前記候補セキュリティ検査手順を前記第2のセキュリティ検査手順として実行する、請求項記載のセキュリティ検査装置。
  3. 前記第1のセキュリティ検査手順の実行結果に基づいて、複数の候補セキュリティ検査手順の中から一の候補セキュリティ検査手順を選択する選択手段を更に備え、
    前記実行手段は、前記選択された候補セキュリティ検査手順を、前記第2のセキュリティ検査手順として実行する、請求項記載のセキュリティ検査装置。
  4. 前記実行手段は、前記仮想マシンを用いて、前記1以上のセキュリティ検査手順により判明される脆弱性のためのセキュリティ対策手順を更に実行し、
    前記出力手段は、前記セキュリティ対策手順の実行結果を示す情報を更に出力する、請求項1乃至のうち何れか1項記載のセキュリティ検査装置。
  5. 前記1以上のセキュリティ検査手順のいずれかを表示する画面表示に応じて候補セキュリティ対策手順の実行のための操作入力情報を取得する取得手段を更に備え、
    前記実行手段は、前記候補セキュリティ対策手順を前記セキュリティ対策手順として実行する、請求項記載のセキュリティ検査装置。
  6. 複数の候補セキュリティ対策手順の中から、前記1以上のセキュリティ検査手順のいずれかに関連付けられる候補セキュリティ対策手順を選択する選択手段を更に備え、
    前記実行手段は、前記選択された候補セキュリティ対策手順を、前記セキュリティ対策手順として実行する、請求項記載のセキュリティ検査装置。
  7. 前記セキュリティ対策手順の実行結果を示す前記情報は、前記1以上のセキュリティ検査手順のいずれかの実行結果を表示する画面と前記セキュリティ対策手順の実行結果を表示する画面との間の画面遷移の操作入力を受け付けるための情報を含む、請求項4乃至6のうち何れか1項記載のセキュリティ検査装置。
  8. セキュリティ検査の対象システムの機能を実現する仮想マシンを生成することと、
    前記仮想マシンを用いて、前記セキュリティ検査のための1以上のセキュリティ検査手順を実行することと、
    前記1以上のセキュリティ検査手順の各々の実行結果を示す情報を出力することと、
    を備え
    前記1以上のセキュリティ検査手順は、第1のセキュリティ検査手順と、前記第1のセキュリティ検査手順に関連付けられる第2のセキュリティ検査手順とを含み、
    前記1以上のセキュリティ検査手順の各々の実行結果を示す前記情報は、前記第1のセキュリティ検査手順の実行結果を表示する画面と前記第2のセキュリティ検査手順を表示する画面との間の画面遷移の操作入力を受け付けるための情報を含む、
    セキュリティ検査方法。
  9. セキュリティ検査の対象システムの機能を実現する仮想マシンを生成することと、
    前記仮想マシンを用いて、前記セキュリティ検査のための1以上のセキュリティ検査手順を実行することと、
    前記1以上のセキュリティ検査手順の各々の実行結果を示す情報を出力することと、
    をコンピュータに実行させるためのプログラムであって、
    前記1以上のセキュリティ検査手順は、第1のセキュリティ検査手順と、前記第1のセキュリティ検査手順に関連付けられる第2のセキュリティ検査手順とを含み、
    前記1以上のセキュリティ検査手順の各々の実行結果を示す前記情報は、前記第1のセキュリティ検査手順の実行結果を表示する画面と前記第2のセキュリティ検査手順を表示する画面との間の画面遷移の操作入力を受け付けるための情報を含む、
    プログラム
JP2022530439A 2020-06-10 2020-06-10 セキュリティ検査装置、セキュリティ検査方法、及びプログラム Active JP7380877B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/022909 WO2021250827A1 (ja) 2020-06-10 2020-06-10 セキュリティ検査装置、セキュリティ検査方法、及びプログラム

Publications (3)

Publication Number Publication Date
JPWO2021250827A1 JPWO2021250827A1 (ja) 2021-12-16
JPWO2021250827A5 JPWO2021250827A5 (ja) 2022-11-25
JP7380877B2 true JP7380877B2 (ja) 2023-11-15

Family

ID=78847066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022530439A Active JP7380877B2 (ja) 2020-06-10 2020-06-10 セキュリティ検査装置、セキュリティ検査方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP7380877B2 (ja)
WO (1) WO2021250827A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278797A (ja) 2001-03-16 2002-09-27 Hitachi Ltd セキュリティ診断システムおよびセキュリティ診断方法
WO2012032660A1 (ja) 2010-09-10 2012-03-15 公立大学法人会津大学 モバイルコードテスト装置、モバイルコードテスト方法およびモバイルコードテスト用プログラム
US20160092679A1 (en) 2014-09-25 2016-03-31 Electronics And Telecommunications Research Institute Inspection and recovery method and apparatus for handling virtual machine vulnerability

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278797A (ja) 2001-03-16 2002-09-27 Hitachi Ltd セキュリティ診断システムおよびセキュリティ診断方法
WO2012032660A1 (ja) 2010-09-10 2012-03-15 公立大学法人会津大学 モバイルコードテスト装置、モバイルコードテスト方法およびモバイルコードテスト用プログラム
US20160092679A1 (en) 2014-09-25 2016-03-31 Electronics And Telecommunications Research Institute Inspection and recovery method and apparatus for handling virtual machine vulnerability

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
遊☆月,「脆弱性スキャンから攻撃コード(Exploit)実行まで! Nessus超入門」,ハッカージャパン,日本,白夜書房,2013年03月01日,pp.60-73

Also Published As

Publication number Publication date
WO2021250827A1 (ja) 2021-12-16
JPWO2021250827A1 (ja) 2021-12-16

Similar Documents

Publication Publication Date Title
US8613080B2 (en) Assessment and analysis of software security flaws in virtual machines
US8918885B2 (en) Automatic discovery of system integrity exposures in system code
JP5852676B2 (ja) 権限昇格攻撃へのコンピュータ・ソフトウェア・アプリケーションの脆弱性を判定するための方法、コンピュータ・プログラム、およびシステム
US9892263B2 (en) System, method and apparatus to visually configure an analysis of a program
US8621613B1 (en) Detecting malware in content items
US10319457B2 (en) Methods and systems of testing interfaces of computer storage for storage vulnerabilities
Zou et al. A multigranularity forensics and analysis method on privacy leakage in cloud environment
US20150143342A1 (en) Functional validation of software
US9021596B2 (en) Correcting workflow security vulnerabilities via static analysis and virtual patching
US11005877B2 (en) Persistent cross-site scripting vulnerability detection
US9348977B1 (en) Detecting malware in content items
US11416623B2 (en) Automatic penetration testing enablement of regression buckets
JP7380877B2 (ja) セキュリティ検査装置、セキュリティ検査方法、及びプログラム
Dong et al. A quantitative evaluation of privilege separation in web browser designs
Heid et al. Automated, dynamic android app vulnerability and privacy leak analysis: design considerations, required components and available tools
US20230044951A1 (en) Guided Micro-Fuzzing through Hybrid Program Analysis
JP6536680B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN111858307B (zh) 模糊测试方法和设备
US20180053016A1 (en) Visually configurable privacy enforcement
US9703676B2 (en) Testing application internal modules with instrumentation
TW201629767A (zh) 爲符合準則之資料決定保護性措施之技術
AlJarrah et al. CordovaConfig: A Tool for Mobile Hybrid Apps' Configuration
GB2559543A (en) System and method for implementing and testing security protections in computer software
Gao Mining App Lineages: A Security Perspective
Smestad Towards Understanding Systems Through User Interactions

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220921

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230925

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: 20231003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231016

R151 Written notification of patent or utility model registration

Ref document number: 7380877

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151