説明

セキュリティ診断システム、方法およびプログラム

【課題】対象システムが持つ脆弱性に基づき対象システムに固有の侵入ルートを検出し、検出した侵入ルートに基づくセキュリティ診断を実現する。
【解決手段】セキュリティ診断の対象である対象システムの脆弱性を持ち得るポイントに対して、このポイントが脆弱性を持つか否かを判断する脆弱性判断部131と、この脆弱性判断部131により脆弱性があると判断されたポイントを組み合わせて対象システムに対する侵入ルートを探索する侵入ルート探索部132とを備える。また、侵入ルート探索部132により検出された侵入ルートを表す画像を、対象システムの構成要素および構成要素間の接続関係を記載したシステム構成図上に表示する出力制御部140を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システムのセキュリティ診断を行うための技術に関する。
【背景技術】
【0002】
データベース、その他のコンピュータを用いた情報処理システムにおいては、情報資産を脅威から守るためのセキュリティ対策を取ることが不可欠である。セキュリティ対策としては、対象となる情報処理システム(以下、対象システム)の脆弱性を取り除くことが一般的に行われる。
【0003】
この種の従来技術として、特許文献1には、検査対象装置から収集された脆弱性情報をもとにリスク分析、セキュリティ対策やセキュリティポリシーの策定、セキュリティ監視の実践といった統合的なセキュリティ管理を実施できるセキュリティ管理システムが開示されている。同文献に記載されたシステムは、このようなセキュリティ管理を実現するため、検査対象装置に対してセキュリティ脆弱性の診断を行い、セキュリティ対策の提示や設定を可能にすると共に、検査対象装置から収集された脆弱性データをもとにリスク分析を行なうリスク分析装置、セキュリティ対策ならびに情報セキュリティポリシーを策定するセキュリティ対策策定装置を設けている。
【0004】
また、この種の他の従来技術として、特許文献2には、インターネット上の公開サーバについて、そのセキュリティレベルを診断し、定量的な評価が可能な診断方法および診断システムが開示されている。同文献に記載されたシステムは、このような診断を実現するため、セキュリティホール情報収集手段を用いてセキュリティホール情報を収集し、セキュリティホール確認手段を用いて、確認方法を決定・格納し、セキュリティ情報知識ベースを構築した後、セキュリティレベル点数化手段とセキュリティ情報知識ベースを用いてセキュリティレベル情報データベースを構築する構成を備える。
【0005】
【特許文献1】特開2005−242754号公報
【特許文献2】特開2004−126874号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
上記のように、情報処理システムにおいては適切なセキュリティ対策を取ることが重要である。そして、セキュリティ対策の実施を支援するため、上記のように、対象システムが持つ脆弱性を診断するための種々の従来技術が提案されている。しかし、対象システムにおいて適切なセキュリティ対策を取るためには、単に対象システムがどのような脆弱性を持つかを判断するだけでは十分ではない。対象システムが持つ脆弱性がどのように組み合わされ、どのようなルートで対象システムに侵入し情報資産にアクセスできるか、さらに情報資産にアクセスしてどのような操作が可能か、というような侵入ルートや被害内容まで想定して診断を行うことが好ましい。
【0007】
例えば、情報資産に到達するまでの侵入ルート上に脆弱性を持ち得るポイントが複数ある場合を考える。この場合、それらの複数のポイントのうちで1つでも十分な対策が取られていれば、他のポイントで脆弱性を残していたとしても、対象システム全体としては、その侵入ルートを利用した攻撃に対して脆弱とは必ずしも言えない。
【0008】
また、特定の侵入ルートから情報資産に到達したとき、その情報資産を閲覧することはできるが編集したり削除したりすることはできない、というような場合を考える。この場合、対象システムは、その侵入ルートを利用した攻撃に対して脆弱ではあるが、想定される被害規模は小さい。情報資産の内容によっては、閲覧されるだけでは被害となり得ない場合もある。
【0009】
上述した特許文献1、2に開示された技術を含む従来の技術は、対象システムが持つ脆弱性(セキュリティホール)を個別に検出し、検出された個々の脆弱性に基づくリスクを分析するものである。これらの従来技術では、個々の脆弱性に基づいてリスクレベルを診断することは行われているが、対象システムに固有の侵入ルートや侵入ルートに関連する被害内容を想定した診断は行われていない。
【0010】
本発明は、上記の課題に鑑みてなされたものであり、対象システムが持つ脆弱性に基づき対象システムに固有の侵入ルートを検出し、検出した侵入ルートに基づくセキュリティ診断を実現することを目的とする。
【課題を解決するための手段】
【0011】
かかる目的を達成するために、本発明は、次のようなセキュリティ診断システムとして実現される。このシステムは、セキュリティ診断の対象である対象システムの脆弱性を持ち得るポイントに対して、このポイントが脆弱性を持つか否かを判断する脆弱性判断部と、この脆弱性判断部により脆弱性があると判断されたポイントを組み合わせて対象システムに対する侵入ルートを探索する侵入ルート探索部とを備えることを特徴とする。
【0012】
より詳しくは、侵入ルート探索部は、脆弱性があると判断されたポイントの1つに着目し、着目したポイントに連なる全ての脆弱性があると判断されたポイントを検出する操作を繰り返して、脆弱性があると判断されたポイントをたどることにより、侵入ルートを探索する。
また、侵入ルート探索部は、対象システムの情報資産に到達するポイントの組み合わせおよび情報資産に到達しないポイントの組み合わせを侵入ルートとして認識する。
【0013】
さらにこのシステムは、侵入ルート探索部により検出された侵入ルートを表す画像を、対象システムの構成要素および構成要素間の接続関係を記載したシステム構成図上に表示する出力制御部を備える構成としても良い。
侵入ルート探索部により検出された侵入ルートで侵入した場合に対象システムに対して可能な操作の種類に応じて、この侵入ルートで対象システムへの侵入が行われた場合の被害規模を判断する被害規模判断部をさらに備える構成としても良い。
【0014】
また、本発明による他のセキュリティ診断システムは、セキュリティ診断の対象である対象システムにおける脆弱性を持つポイントの情報に基づき、このポイントを組み合わせて対象システムに対する侵入ルートを探索する侵入ルート探索手段と、対象システムの構成要素および構成要素間の接続関係を記載したシステム構成図上に、侵入ルート探索手段により検出された侵入ルートを表す画像を表示する出力手段とを備えることを特徴とする。
【0015】
さらにこのシステムは、侵入ルート探索部により検出された侵入ルートの一覧を表示する一覧表示手段と、この一覧表示手段により表示された侵入ルートの一覧から任意の侵入ルートを選択する操作を受け付ける受け付け手段とを備える構成とすることができる。この場合、出力手段は、受け付け手段により受け付けられた操作にて選択された侵入ルートをシステム構成図上に表示する。
【0016】
また、上記の目的を達成する他の本発明は、コンピュータが対象システムのセキュリティ診断を行う方法としても実現される。この方法は、対象システムの情報を取得し、この情報に基づいて、対象システムの脆弱性を持ち得るポイントに対して、このポイントが脆弱性を持つか否かを判断するステップと、脆弱性があると判断されたポイントを組み合わせて対象システムに対する侵入ルートを探索するステップとを含むことを特徴とする。
【0017】
より詳細には、侵入ルートを探索するステップでは、脆弱性があると判断されたポイントの1つに着目し、着目したポイントに連なる全ての脆弱性があると判断されたポイントを検出する操作を繰り返して、脆弱性があると判断されたポイントをたどることにより、侵入ルートを探索する。
【0018】
また本発明は、コンピュータに上記のセキュリティ診断システムの機能を実現させ、または上記セキュリティ診断の方法の各ステップに対応する処理をコンピュータに実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
【発明の効果】
【0019】
以上のように構成された本発明によれば、対象システムが持つ脆弱性に基づき対象システムに固有の侵入ルートを検出し、検出した侵入ルートに基づくセキュリティ診断を行うことができる。
【発明を実施するための最良の形態】
【0020】
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明する。
図1は、本実施形態によるセキュリティ診断システムの全体構成を示す図である。
図1に示すように、本実施形態のセキュリティ診断システム100は、診断情報の入力を受け付けるための診断情報取得部110と、対象システム200の脆弱性を調査するための調査部120とを備える。また、対象システム200のリスク状況を評価する評価部130と、評価結果を出力するための出力制御部140とを備える。図示の例では、これら各機能を備えた単一の装置として記載されているが、本実施形態を実現するための装置構成は図示の構成に限定されない。例えば、各機能を個別に有する複数の装置で構成したり、診断情報取得部110および調査部120を備えた情報入力手段としての装置と評価部130および出力制御部140を備えた診断手段としての装置とで構成したりすることができる。
【0021】
図2は、本実施形態のセキュリティ診断システム100を実現するコンピュータのハードウェア構成例を示す図である。
図2に示すコンピュータ10は、演算手段であるCPU10aと、主記憶装置であるメインメモリ10cと、ディスプレイ装置へ表示出力を行うための表示機構10dとを備える。また、ネットワークを介して外部機器に接続するためのネットワークインターフェイス10fと、補助記憶装置である磁気ディスク装置10gおよびフレキシブルディスクドライブ10jと、音声出力を行うための音声機構10hと、入力デバイスであるキーボード/マウス10iとを備えて構成される。また、図2に示すように、メインメモリ10cおよび表示機構10dは、M/B(マザーボード)チップセット10bを介してCPU10aに接続されている。ネットワークインターフェイス10f、磁気ディスク装置10g、音声機構10h、キーボード/マウス10iおよびフレキシブルディスクドライブ10jは、ブリッジ回路10eを介してM/Bチップセット10bと接続されている。
【0022】
図2において、各構成要素は、バスを介して接続される。例えば、CPU10aとM/Bチップセット10bの間や、M/Bチップセット10bとメインメモリ10cの間は、CPUバスを介して接続される。また、M/Bチップセット10bと表示機構10dとの間は、AGP(Accelerated Graphics Port)を介して接続されてもよいが、表示機構10dがPCI Express対応のビデオカードを含む場合、M/Bチップセット10bとこのビデオカードの間は、PCI Express(PCIe)バスを介して接続される。また、ブリッジ回路10eと接続する場合、ネットワークインターフェイス10fについては、例えば、PCI Expressを用いることができる。また、磁気ディスク装置10gについては、例えば、シリアルATA(AT Attachment)、パラレル転送のATA、PCI(Peripheral Components Interconnect)等を用いることができる。さらに、キーボード/マウス10iおよびフレキシブルディスクドライブ10jについては、USB(Universal Serial Bus)等を用いることができる。
【0023】
なお、図2は、セキュリティ診断システム100を実現するのに好適なコンピュータのハードウェア構成を例示するに過ぎず、図示の構成に限定されないことは言うまでもない。例えば、補助記憶装置としては磁気ディスク装置10gのみを設け、フレキシブルディスクドライブ10jを持たない構成としたり、各種の光学ディスクをメディアとするドライブを設けたりしても良い。また、音声機構10hを独立した構成とせず、M/Bチップセット10bの機能として備えるようにしても良い。
【0024】
図1に示した診断情報取得部110は、例えばセキュリティ診断システム100が図2に示したコンピュータで実現される場合、プログラム制御されたCPU10aにより実現される。この診断情報取得部110は、対象システム200の仕様や設定、使用条件等に関する設問を提示し回答を受け付ける。そして、受け付けた回答を評価部130が使用できるように分類、整理し、セキュリティ診断に用いられる情報として、例えば図2のメインメモリ10cや磁気ディスク装置10g等の記憶手段に格納する。設問を提示し回答を受け付けるための具体的な手段は特に限定されず、種々の手法を取ることができる。
【0025】
図3は、診断情報取得部110により提示される設問および回答の例を示す図である(なお、図3において、Oracleは米国Oracle Corporationの登録商標、SQLServerおよびWindowsは米国Microsoft Corporationの登録商標、DB2は米国IBM Corporationの登録商標、LinuxはLinus Torvalds氏の登録商標である)。
図3に示した設問の他、
・通信用ポートの変更
・Oracleインストールオーナーのアカウント名
・データベース管理者アカウントの認証方式
・SYSDBA/SYSOPER権限でログインする際の認証方式
・データベースサーバ設置場所の施錠状況
・対象データベースサーバ設置場所の入退出管理状況
・清掃業者/保守業者等、外部の人間の作業時の立会い
・バックアップデータの保管場所施錠状況
・バックアップデータの取扱者/日時等の管理簿への記録状況
・外部へのバックアップデータ搬送の際の安全性の確保状況
・バックアップデータのメディアの廃棄状況
・データベースサーバのOSパッチ適用状況(ウイルス/ワーム対策)
・データベース脆弱性情報の入手方法(ウイルス/ワーム対策)
・クライアントPCのアンチウイルス導入/定義ファイル更新状況
・データベース周辺のWEB−アプリケーションサーバ等のアンチウイルス導入/定義ファイル更新状況
・データベースサーバ自体のアンチウイルス導入/定義ファイル更新状況
・ウイルスゲートウェイの導入状況
・ファイヤウォールによるアクセス制御状況
・他システム/データベースとの連携・接続状況
・開発者からのアクセス経路
といった種々の項目について設問を作成し、これに対する回答により対象システム200に対する情報を取得することができる。
【0026】
具体的な実施例としては、例えば、ディスプレイ装置に設問を記載した画面(設問画面)を表示させ、キーボード等の入力デバイスを用いて対象システム200の使用者に回答を入力してもらう(あるいは対象システム200の使用者に回答してもらい、オペレータが入力する)ことが考えられる。この場合、全ての設問を提示するのではなく、特定の設問に対する回答に応じて次に提示する設問を選択するなどの手法を取ることにより、効率よく診断情報を取得することができる。設問画面に提示される設問は、例えば図2の磁気ディスク装置10gに格納しておき、CPU10aが読み出して表示機構10dを介してディスプレイ装置に表示させる。
【0027】
他の実施例としては、設問をディスプレイ表示するのではなく、プリントアウトして使用者に渡し、回答してもらっても良い。また、回答をマークシートのような形式で記入してもらうように設問を設定しておき、解答用紙をスキャナ等で読み込むことによって診断情報を取得するような実施態様を取ることも可能である。ただし、これらの場合、設問をディスプレイ表示する場合のように選択的に切り換えて設問を提示することは難しい。
【0028】
調査部120は、例えばセキュリティ診断システム100が図2に示したコンピュータで実現される場合、プログラム制御されたCPU10aにより実現される。この調査部120は、対象システム200に接続し、各種の検査機能により対象システム200の構成や設定を調べる。そして、取得した情報を評価部130が使用できるように分類、整理し、セキュリティ診断に用いられる情報として、例えば図2のメインメモリ10cや磁気ディスク装置10g等の記憶手段に格納する。調査部120と対象システム200との接続は、所定のケーブルを用いて直接行っても良いし、LAN(Local Area Network)等のネットワークを介して行っても良い。調査部120の検査機能は、例えば既存の種々の検査ツール(ソフトウェア)を用いて実現することができる。
【0029】
本実施形態では、診断情報取得部110と調査部120とを連関させて用いることが好ましい。すなわち、診断情報取得部110によって得られる対象システム200の使用条件等によっては、調査部120による調査項目のうち特定の項目について調査する必要がなくなることが考えられる。反対に、調査部120によって得られた対象システム200の構成等によっては、特定の設問への回答が不要となることも考えられる。そこで、調査部120において診断情報取得部110により取得された情報を記憶手段から読み込み、この情報に基づいて調査項目を選択したり、反対に診断情報取得部110において調査部120により取得された情報を記憶手段から読み込み、この情報に基づいて提示する設問を選択したりするような実装が考えられる。さらにまた、同一の項目に関して、敢えて診断情報取得部110により取得される情報と調査部120により取得される情報とを両方取得し、比較することで、使用者の意識と実際の対象システム200の状態との差異を明確にすることも可能である。
【0030】
評価部130は、例えばセキュリティ診断システム100が図2に示したコンピュータで実現される場合、プログラム制御されたCPU10aにより実現される。この評価部130は、診断情報取得部110および調査部120により取得された情報に基づいて対象システム200のセキュリティ診断を行う。
【0031】
図4は、評価部130の機能構成を示す図である。
図4に示すように、評価部130は、対象システム200の脆弱性を判断する脆弱性判断部131と、対象システム200の情報資産への侵入ルートを探索する侵入ルート探索部132と、情報資産にアクセスされた場合の被害規模を判断する被害規模判断部133とを備える。
【0032】
脆弱性判断部131は、診断情報取得部110および調査部120により取得された情報に基づき、対象システム200における脆弱性を持ち得るポイント(以下、チェックポイントと称す)を検出し、脆弱性が存在するか否かを判断する。各チェックポイントにおける脆弱性の有無の判断は、既存のセキュリティ診断ツール等で用いられている手法を用いて行うことができる。具体的には例えば、チェックポイントごとに脆弱性があると判断すべき状態を示す情報をデータベース化しておき、対象システム200の各チェックポイントがそのような状態に該当するか否かを照合することによって判断することができる。
【0033】
侵入ルート探索部132は、脆弱性判断部131により脆弱性があると判断されたチェックポイントを組み合わせて、情報資産にアクセスするためのルートを探索する。ここでは、情報資産まで到達するルートだけでなく、外部または内部の対象システム200の使用者が侵入可能な範囲(深さ)までのルートを全て検出する。これにより、攻撃者が情報資産に対してどれだけ近づけるか、どの脆弱性に対して優先的に対策を施すべきか、というような対象システム200全体のセキュリティに関する具体的な状態の診断に寄与することができる。
【0034】
被害規模判断部133は、侵入ルート探索部132により検出された各侵入ルートに応じて、情報資産または対象システム200に対してどのような操作が可能かを判断し、そのような操作が行われた場合の被害規模を特定する。具体的には例えば、侵入ルートのパターンを想定し、侵入ルートのパターンと可能な操作との対応関係(どのパターンの侵入ルートで攻撃された場合にはどのような操作が可能か)を示す情報をデータベース化しておき、検出された侵入ルートがどのパターンに該当するかを照合することによって、被害規模を特定することができる。情報資産または対象システム200に対する操作としては、例えば、情報資産の不正参照、情報資産の削除、情報資産の改ざん、チェックポイントにおけるアカウントの奪取などが挙げられる。
【0035】
出力制御部140は、例えばセキュリティ診断システム100が図2に示したコンピュータで実現される場合、プログラム制御されたCPU10aおよび表示機構10dにより実現される。この出力制御部140は、侵入ルート探索部132により検出された侵入ルートおよび被害規模判断部133により特定された被害規模の情報を含む出力画像を生成し、ディスプレイ装置に表示させる。
【0036】
図5は、出力制御部140により生成される出力画像の構成例を示す図である。
図5に示す出力画像は、「対象システム名称」、「診断結果」および「侵入ルートマップ」の3つの欄を備えて構成される。「対象システム名称」には、セキュリティ診断を行った対象システム200の名称が表示される。「診断結果」には、評価部130の被害規模判断部133により特定された被害規模の情報の中で最大のものと、同じく評価部130の脆弱性判断部131により検出された脆弱性の個数が提示される。また、オプションで侵入ルートの一覧と検出された脆弱性の一覧とを表示することができる。「侵入ルートマップ」には、各チェックポイントを記した対象システム200のシステム構成図(対象システム200の構成要素および構成要素間の接続関係を示す図)が表示される。そして、このシステム構成図上で侵入ルートが矢印により図示される。なお、図5に示す出力画像は例示に過ぎず、評価部130によるセキュリティ診断の結果を提示できるものであれば、他の構成をとることもできる。
【0037】
図6は、図5に示した出力画像の「診断結果」において侵入ルートの一覧を表示した状態を示す図である。
図6に示す例では、侵入ルートの一覧には、評価部130の侵入ルート探索部132により検出された侵入ルートごとに、侵入ルートの識別番号と、被害レベルと、被害の概要とが提示されている。ここで、被害レベルとは、評価部130の被害規模判断部133により判断された、当該侵入ルートで侵入された場合に想定される被害の規模を数段階のレベルで示すものである。図6に例示される侵入ルートに対しては、「Very High」、「High」、「Low」の3種類のレベルが設定されている。また、被害の概要とは、同様に各侵入ルートによる侵入に対して想定される被害の内容を簡略に記載したものである。
【0038】
また、図6に示す出力画像は、侵入ルートマップに表示する侵入ルートを指定するためのユーザインターフェイスとなっている。すなわち、オペレータがマウス等の入力デバイスを操作して、侵入ルートの一覧における特定の侵入ルートを指定すると、出力制御部140が、この入力を受け付け、指定された侵入ルートを侵入ルートマップ上に表示する。図6に示す例では、一覧表示された侵入ルートのうち、識別番号No.1の侵入ルートが指定され(図中、該当する行をグレーで表示)、これが「侵入ルートマップ」に太線の矢印で図示されている。
【0039】
図7は、図5に示した出力画像の「診断結果」において脆弱性の一覧を表示した状態を示す図である。
図7に示す例では、脆弱性の一覧には、評価部130の脆弱性判断部131により脆弱性があると判断されたチェックポイントごとに、チェックポイントの識別番号と、脆弱性の概要とが提示されている。ここで、脆弱性の概要とは、各脆弱性の内容を簡略に記載したものである。
【0040】
また、図7に示す出力画像は、侵入ルートマップに表示する侵入ルートを指定するためのユーザインターフェイスとなっている。すなわち、オペレータがマウス等の入力デバイスを操作して、脆弱性の一覧における特定のチェックポイントを指定すると、出力制御部140が、この入力を受け付け、指定されたチェックポイントへ到達する侵入ルートを侵入ルートマップ上に表示する。図7に示す例では、一覧表示されたチェックポイントのうち、識別番号No.4のチェックポイントが指定され(図中、該当する行をグレーで表示)、このチェックポイントが有する脆弱性を攻撃できる侵入ルートが「侵入ルートマップ」に太線の矢印で図示されている。
【0041】
次に、本実施形態によるセキュリティ診断の具体例を説明する。
図8は、本具体例における対象システム200のシステム構成例を示す図である。
図8に示す対象システム200は、情報資産を有するデータベースサーバ210と、データベースサーバ210にアクセス可能な管理用端末220およびアプリケーションサーバ230と、アプリケーションサーバ230にアクセス可能なウェブサーバ240、250とを備えて構成される。なお、図8に示すシステム構成は、本実施形態のセキュリティ診断を説明するための具体例に過ぎず、対象システム200を図8に示すシステム構成に限定するものではない。
【0042】
データベースサーバ210では、オペレーティングシステム(以下、OS)が動作し、このOS上でデータベース(アプリケーション)が動作している。データベースサーバ210は、情報資産として、OSに管理されるファイル211と、データベースに管理されるテーブル212とを有している。また、OSにおけるチェックポイントとしてOSアカウント213があり、データベースにおけるチェックポイントとしてDBアカウント214がある。
【0043】
管理用端末220には、チェックポイントとしてOSアカウント221がある。また、アプリケーションサーバ230には、チェックポイントとしてアプリケーション(App)アカウント231がある。
ウェブサーバ240は、内部ネットワークからアプリケーションサーバ230へアクセスするための内部サーバであり、ウェブサーバ250は、外部ネットワーク(インターネット等)からアプリケーションサーバ230へアクセスするための公開サーバである。
【0044】
この具体例において、対象システム200には以下に示す13個のチェックポイントがあり、各チェックポイントは、それぞれ下記の状態の時に脆弱性を持つものとする。各チェックポイントの場所は、図8においてスイッチのマークで示されており、各スイッチの番号が以下のチェックポイントの番号に一致する。なお、これらのチェックポイントおよび脆弱性は例示に過ぎず、図8に示す構成の対象システム200に想定されるチェックポイントおよび脆弱性を図8および下記に示すものに限定するものではない。
【0045】
(1)外部ネットワークと内部ネットワークの境界
脆弱性を持つ状態:
・ファイヤウォール(F/W)が存在しない。
・F/Wにおいて、接続ポートが制限されていない。
・ルータによるアクセス制御がなされていない。
(2)内部の使用者がアプリケーションサーバ230に対して利用するアプリケーションアカウント231
脆弱性を持つ状態:
・認証用パスワードが設定されていない。
・推定が容易なパスワードである。
・パスワード有効期限が設定されていない。
(3)外部の(外部ネットワーク経由の)使用者がアプリケーションサーバ230に対して利用するアプリケーションアカウント231
脆弱性を持つ状態:
・認証用パスワードが設定されていない。
・推定が容易なパスワードである。
・パスワード有効期限が設定されていない。
(4)管理用端末220のOSアカウント221
脆弱性を持つ状態:
・認証用パスワードが設定されていない。
・推定が容易なパスワードである。
・パスワード有効期限が設定されていない。
(5)アプリケーションサーバ230がデータベースサーバ210に対して利用するDBアカウント214
脆弱性を持つ状態:
・認証用パスワードが設定されていない。
・推定が容易なパスワードである。
・パスワード有効期限が設定されていない。
(6)データベースサーバ210のDBアカウント214の権限
脆弱性を持つ状態:
・過剰な権限が付与されている。
・権限昇格が可能な脆弱性が存在する。
・本来、低い権限では実行できない操作が、できてしまう不具合がある。
(7)管理用端末220がデータベースサーバ210に対して利用するDBアカウント214
脆弱性を持つ状態:
・認証用パスワードが設定されていない。
・推定が容易なパスワードである。
・パスワード有効期限が設定されていない。
(8)データベースサーバ210のOSが利用するDBアカウント214
脆弱性を持つ状態:
・データベースサーバ210のOSアカウント213に関して、OS認証が有効。
・DBアカウント214が推定容易なパスワードである。
・DBアカウント214のパスワード有効期限が設定されていない。
・推定が容易なDBアカウント214のパスワードである。
(9)データベースサーバ210のデータベースが利用するOSアカウント213
脆弱性を持つ状態:
・DBアカウント214権限過剰(外部コマンド実行可能)。
・外部コマンドを実行できる脆弱性が存在する。
・アクセス可能ディレクトリの設定ミスがある。
(10)管理用端末220がデータベースサーバ210に対して利用するOSアカウント213
脆弱性を持つ状態:
・認証用パスワードが設定されていない。
・推定が容易なパスワードである。
・パスワード有効期限が設定されていない。
(11)データベースサーバ210の直接操作
脆弱性を持つ状態:
・データベースサーバ210の設置ルームへの入室・退出がチェックされていない。
・データベースサーバ210に直接接触可能である。
・データベースサーバ210のOSアカウント213の認証用パスワードが設定されていない。
・データベースサーバ210のOSアカウント213が推定容易なパスワードである。
・データベースサーバ210のOSアカウント213のパスワード有効期限が設定されていない。
(12)データベースサーバ210への物理的接触
脆弱性を持つ状態:
・データベースサーバ210の設置ルームへの入室・退出がチェックされていない。
・データベースサーバ210に直接接触可能である。
・データベースサーバ210に外部媒体機器が接続されている。
(13)データベースサーバ210のOSアカウント213の権限
脆弱性を持つ状態:
・データベースサーバ210のOSアカウント213に関して権限が過剰である。
【0046】
脆弱性判断部131は、診断情報取得部110および調査部120により取得された情報に基づき、図8に示す各チェックポイントが上記に示す状態にあるか否かを調べ、各チェックポイントが脆弱性を有するか否かを判断する。
【0047】
次に、図8に示した対象システム200における侵入ルートの探索方法について説明する。
図9は、本実施形態の侵入ルート探索部132による侵入ルートの探索方法を説明するフローチャートである。
図9を参照すると、侵入ルート探索部132は、脆弱性判断部131により脆弱性があると判断されたチェックポイント(以下、脆弱性があるチェックポイントと呼ぶ)の1つに着目する(ステップ901)。ここで、最初に着目されるチェックポイントは、対象システム200の使用者による操作に対して直接的に関わるチェックポイントであり、言い換えれば侵入ルートの起点となるチェックポイントである。具体的には、図8の対象システム200の場合、(1)、(2)、(4)、(11)、(12)等のチェックポイントである。
【0048】
次に、侵入ルート探索部132は、着目したチェックポイントに連なり脆弱性があるチェックポイントを全て検出する(ステップ902)。ここで、着目したチェックポイントに連なるチェックポイントとは、対象システム200に侵入する場合に、着目したチェックポイントを突破した直後に突破しなければならないチェックポイントである。図8の例では、着目したチェックポイントが(4)のチェックポイントである場合、(7)、(10)のチェックポイントが該当する。
【0049】
このとき、着目したチェックポイントに連なるチェックポイントが存在しない場合、この侵入ルートは情報資産に到達したことを意味する。また、着目したチェックポイントに連なるチェックポイントは存在するが、その中に脆弱性があるチェックポイントが存在しない場合(すなわち、着目したチェックポイントに連なるチェックポイントの全てにおいて脆弱性がない場合)、その侵入ルートで到達できるのは着目したチェックポイントまでであることを意味する。これらの場合(ステップ903でNo)、脆弱性があるチェックポイントであって、未だ着目していないチェックポイントが存在すれば(ステップ905でYes)、ステップ901に戻って処理を繰り返す。一方、全てのチェックポイントに着目して処理が済んだ場合は(ステップ905でNo)、侵入ルートの探索を終了する。
【0050】
ステップ902で脆弱性があるチェックポイントが検出された場合(ステップ903でYes)、次に侵入ルート探索部132は、検出されたチェックポイントの1つに着目する。そして、着目したチェックポイントに連なり脆弱性があるチェックポイントを全て検出する処理を再帰的に繰り返す(ステップ904)。そして、全てのチェックポイントに着目して処理が済んだ場合は、侵入ルートの探索を終了する(ステップ905)。
【0051】
以上のようにして、脆弱性があるチェックポイントの各々に着目し、着目したチェックポイントに連なり脆弱性があるチェックポイントを順次たどっていくことにより、対象システム200に対する全ての侵入ルートが検出される。この動作によれば、ステップ903の判断において説明したように、情報資産にアクセスできず、途中のチェックポイントまでしか到達しない侵入ルートも検出される。
【0052】
次に、被害規模の特定方法について説明する。
被害規模は、上記のようにして検出された各侵入ルートに関して個別に判断される。所定の侵入ルートで対象システム200に侵入した場合に、どのような操作が可能かは、その侵入ルートが対象システム200の情報資産またはどのチェックポイントまで到達しているか、その侵入ルートを構成するチェックポイントの場所、チェックポイントにおける脆弱性の種類等によって特定される。これらの情報は、脆弱性判断部131および侵入ルート探索部132から取得される。被害規模判断部133は、侵入ルート探索部132により検出された侵入ルートのそれぞれに関して、上記の侵入ルート、チェックポイント、脆弱性等の各情報に基づき、対象システム200に対してどのような操作が可能かを判断する。そして、可能な操作の種類と攻撃対象の重要度に応じて、攻撃深刻度を特定する。
【0053】
図10は、攻撃対象と攻撃深刻度との関係を表す図表である。
ここで、攻撃深刻度は、攻撃対象が攻撃を受けた場合に、対象システム200またはその情報資産が受ける影響の度合いを示す。すなわち、攻撃深刻度の高い侵入ルートほど、その侵入ルートで侵入され攻撃された場合の被害規模が大きくなる。図10に示す例では、攻撃対象として業務情報、データベースオブジェクト、ファイルを挙げ、攻撃対象への操作の内容に応じて、「Very High」、「High」、「Medium」、「Low」の4段階で攻撃深刻度を示している。例えば、情報資産である重要情報が変更される攻撃は、攻撃深刻度が「Very High」である。また、非重要ファイルが参照される攻撃は、攻撃深刻度が「Low」である。なお、図10の例では、攻撃による影響の度合いは「Very High」が最も高く、「Low」が最も低い。
【0054】
ところで、本実施形態では、上述したように情報資産に到達しない侵入ルートも検出するのであるが、情報資産に到達しない侵入ルートで侵入しても情報資産を攻撃することができず、被害は発生しない。しかしながら、その侵入ルートが情報資産に対してどれだけ近くまで到達しているかによって、その侵入ルートの危険度が変わる。例えば、図8に示す対象システム200の場合、外部の(インターネット経由でデータベースサーバ210にアクセスする)使用者が、データベースサーバ210のファイル211にアクセスするには、(1)−(3)−(5)−(9)−(13)という5つのチェックポイントを突破しなければならない。このとき、(1)および(2)のチェックポイントにのみ脆弱性がある場合(すなわち、Appアカウント231まで到達する侵入ルート)と、(1)、(3)、(5)および(9)のチェックポイントに脆弱性がある場合(すなわち、データベースサーバ210のOSアカウント213まで到達する侵入ルート)とを比較すると、後者の方が情報資産であるファイル211の近くまで達している。これは、後者の方が、ファイル211に到達するために突破しなければならないチェックポイントが少ない((13)のみ)ことを意味しており、より危険な状態である。
【0055】
このような、侵入ルートの到達地点によって異なる危険度を評価するため、侵入深度という概念を導入することができる。
図11は、侵入ルートの侵入深度を説明する図である。
図11には、図8の対象システム200に関して、データベースサーバ210の使用者(人間)から攻撃対象である情報資産に到達するまでの侵入ルートが、侵入深度を表す3層の階層構造で模式的に示されている。最も浅い到達点である第1目標は、データベースサーバ210の外部の構成であり、図8の対象システム200ではアプリケーションサーバ230のアプリケーションアカウント231および管理用端末220のOSアカウント221が該当する。次の到達点である第2目標は、データベースサーバ210の内部の構成であり、図8の対象システム200ではデータベースサーバ210のDBアカウント214およびOSアカウント213が該当する。したがって、データベースサーバ210のOSアカウント213まで到達する侵入ルートは、第2目標までの侵入深度を持つことになる。
【0056】
ここで、侵入ルートに対して侵入深度に応じた評価を行うために、侵入深度に点数を付けることにする。具体的には、各チェックポイントに、侵入深度に応じた点数を付しておき、侵入ルートが通過する各チェックポイントの点数を加算する。また、情報資産に近い(すなわち深い)所にあるチェックポイントほど重要であると考えて、高い配点とする。図11に示す例では、攻撃元から第1目標までの間のチェックポイントを1点、第1目標から第2目標までのチェックポイントを2点、第2目標から攻撃対象までのチェックポイントを4点としている。また、攻撃元から第2目標へ直接到達するルートのチェックポイントを3点、攻撃元から攻撃対象(情報資産)へ直接到達するルートのチェックポイントを7点としている。したがって、先に例示したデータベースサーバ210のOSアカウント213まで到達する侵入ルートには、3点という評価点が与えられる。なお、これらの侵入ルートの階層分けおよび配点は例示に過ぎず、具体的な対象システム200のシステム構成に応じて任意に設定されることは言うまでもない。
【0057】
以上のようにして侵入ルートに与えられた評価点は、情報資産の種類とは関係がなく、対象システム200に侵入可能な深さ(どれだけ深く侵入できるか)のみによる評価である。したがって、この侵入深度に基づいて各侵入ルートを評価することにより、現時点では情報資産には到達できない侵入ルートに対しても、どの程度危険な侵入ルートかを判断する指標を与えることができる。
【0058】
侵入深度に基づく侵入ルートの評価を行う場合は、評価部130にかかる評価を行う侵入深度評価部を設けて侵入ルートごとの侵入深度を評価する。そして、出力制御部140が、侵入深度評価部から評価結果を取得して、例えば出力画像において侵入ルートの一覧を表示する際に、各侵入ルートに対応付けて表示すれば良い。
【0059】
この他、図10を参照して説明した攻撃深刻度と侵入深度に基づく侵入ルートの評価とを合わせて、実際に情報資産への攻撃が行われる場合の被害規模と情報資産への攻撃の容易さとを含む包括的な評価を、対象システム200全体における総合的な脆弱性の判断としても良い。この場合の判断方法としては、例えば、攻撃深刻度の各段階に点数を付し、この点数と侵入深度における点数とを乗算することで脆弱性の度合いを算出するといった方法が考えられる。
【0060】
なお、本実施形態では、各チェックポイントにおいて脆弱性があるか否かのみを考慮し、脆弱性がある場合あるいは脆弱性の種類に応じて、そのチェックポイントを突破することの容易性(攻撃容易性)については考慮していない。しかしながら、突破することが容易なチェックポイントを含む侵入ルートが含まない侵入ルートよりも危険度が高いと考えることもできる。そこで、各侵入ルートに対して、個々の侵入ルートに含まれるチェックポイントの攻撃容易性に基づく評価をさらに行い、出力画像等にて提示するようにしても良い。
【図面の簡単な説明】
【0061】
【図1】本実施形態によるセキュリティ診断システムの全体構成を示す図である。
【図2】本実施形態のセキュリティ診断システムを実現するコンピュータのハードウェア構成例を示す図である。
【図3】本実施形態で用いられる、診断情報取得部により提示される設問の例を示す図である。
【図4】本実施形態の評価部の機能構成を示す図である。
【図5】本実施形態の出力制御部により生成される出力画像の構成例を示す図である。
【図6】図5に示した出力画像の「診断結果」において侵入ルートの一覧を表示した状態を示す図である。
【図7】図5に示した出力画像の「診断結果」において脆弱性の一覧を表示した状態を示す図である。
【図8】本実施形態の診断対象である対象システムのシステム構成例を示す図である。
【図9】本実施形態の侵入ルート探索部による侵入ルートの探索方法を説明するフローチャートである。
【図10】攻撃対象と攻撃深刻度との関係を表す図表である。
【図11】侵入ルートの侵入深度を説明する図である。
【符号の説明】
【0062】
10a…CPU、10c…メインメモリ、10g…磁気ディスク装置、100…セキュリティ診断システム、110…診断情報取得部、120…調査部、130…評価部、131…脆弱性判断部、132…侵入ルート探索部、133…被害規模判断部、140…出力制御部

【特許請求の範囲】
【請求項1】
セキュリティ診断の対象である対象システムの脆弱性を持ち得るポイントに対して、当該ポイントが脆弱性を持つか否かを判断する脆弱性判断部と、
前記脆弱性判断部により脆弱性があると判断された前記ポイントを組み合わせて前記対象システムに対する侵入ルートを探索する侵入ルート探索部と
を備えることを特徴とするセキュリティ診断システム。
【請求項2】
前記侵入ルート探索部は、脆弱性があると判断された前記ポイントの1つに着目し、着目した当該ポイントに連なる全ての脆弱性があると判断された前記ポイントを検出する操作を繰り返して、当該脆弱性があると判断されたポイントをたどることにより、前記侵入ルートを探索することを特徴とする請求項1に記載のセキュリティ診断システム。
【請求項3】
前記侵入ルート探索部は、前記対象システムの情報資産に到達する前記ポイントの組み合わせおよび当該情報資産に到達しない前記ポイントの組み合わせを前記侵入ルートとして認識することを特徴とする請求項1に記載のセキュリティ診断システム。
【請求項4】
前記侵入ルート探索部により検出された前記侵入ルートを表す画像を、前記対象システムの構成要素および構成要素間の接続関係を記載したシステム構成図上に表示する出力制御部をさらに備えることを特徴とする請求項1に記載のセキュリティ診断システム。
【請求項5】
前記侵入ルート探索部により検出された前記侵入ルートで侵入した場合に前記対象システムに対して可能な操作の種類に応じて、当該侵入ルートで当該対象システムへの侵入が行われた場合の被害規模を判断する被害規模判断部をさらに備えることを特徴とする請求項1に記載のセキュリティ診断システム。
【請求項6】
セキュリティ診断の対象である対象システムにおける脆弱性を持つポイントの情報に基づき、当該ポイントを組み合わせて当該対象システムに対する侵入ルートを探索する侵入ルート探索手段と、
前記対象システムの構成要素および構成要素間の接続関係を記載したシステム構成図上に、前記侵入ルート探索手段により検出された前記侵入ルートを表す画像を表示する出力手段と
を備えることを特徴とするセキュリティ診断システム。
【請求項7】
前記侵入ルート探索部により検出された前記侵入ルートの一覧を表示する一覧表示手段と、
前記一覧表示手段により表示された前記侵入ルートの一覧から任意の侵入ルートを選択する操作を受け付ける受け付け手段とをさらに備え、
前記出力手段は、前記受け付け手段により受け付けられた操作にて選択された侵入ルートを前記システム構成図上に表示することを特徴とする請求項6に記載のセキュリティ診断システム。
【請求項8】
コンピュータが対象システムのセキュリティ診断を行う方法であって、
前記コンピュータが、前記対象システムの情報を取得し、当該情報に基づいて、当該対象システムの脆弱性を持ち得るポイントに対して、当該ポイントが脆弱性を持つか否かを判断するステップと、
前記コンピュータが、脆弱性があると判断された前記ポイントを組み合わせて前記対象システムに対する侵入ルートを探索するステップと
を含むことを特徴とするセキュリティ診断方法。
【請求項9】
前記侵入ルートを探索するステップでは、脆弱性があると判断された前記ポイントの1つに着目し、着目した当該ポイントに連なる全ての脆弱性があると判断された前記ポイントを検出する操作を繰り返して、当該脆弱性があると判断されたポイントをたどることにより、前記侵入ルートを探索することを特徴とする請求項8に記載のセキュリティ診断方法。
【請求項10】
コンピュータに
セキュリティ診断の対象である対象システムの脆弱性を持ち得るポイントに対して、当該ポイントが脆弱性を持つか否かを判断する機能と、
脆弱性があると判断された前記ポイントを組み合わせて前記対象システムに対する侵入ルートを探索する機能と
を実現させることを特徴とするプログラム。
【請求項11】
コンピュータに
セキュリティ診断の対象である対象システムにおける脆弱性を持つポイントの情報に基づき、当該ポイントを組み合わせて当該対象システムに対する侵入ルートを探索する機能と、
ディスプレイ装置に、前記対象システムの構成要素および構成要素間の接続関係を記載したシステム構成図を表示させ、前記侵入ルートを探索する機能により検出された侵入ルートを表す画像を当該システム構成図上に表示させる機能と
を実現させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate