以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
マルウェアの脅威に対応するためには、マルウェアの通信先を遮断するといったセキュリティ対策の適用が有効である。しかし、安易なセキュリティ対策の適用は、業務へ悪影響を与える可能性がある。このため、セキュリティ対策の適用は慎重に吟味する必要があり、セキュリティ対策の適用までに時間を要してしまうという課題があった。
そこで、以下の実施例は、ユーザの業務に与える影響を考慮してセキュリティ対策を適用するための技術を開示する。セキュリティ対策装置は、セキュリティ対策の適用が業務に与える影響度を算出する。これにより、業務への影響度を考慮して、セキュリティ対策を適用できる。例えば、影響度が許容できるものであれば、セキュリティ対策装置又はユーザは、セキュリティ対策を適用する。
これにより、ユーザがセキュリティ対策の適用を吟味する必要がなくなり、迅速な対応が可能となる。以下の実施例は、この点に着目し、セキュリティ対策の影響度算出処理、セキュリティ対策のコスト算出処理、セキュリティ対策の効果度算出処理及び、セキュリティ対策実行処理を開示する。
図1は、実施例1に係るセキュリティ対策装置の構成例を示す図である。実施例1に係るセキュリティ対策装置101は、ユーザが業務で利用する端末121と、業務サーバ122と、セキュリティ対策機能123とに、ネットワーク120を介して接続される。端末121はユーザ装置であり、端末121と、業務サーバ122と、セキュリティ対策機能123は、業務システム(ユーザシステム)の構成要素である。
セキュリティ対策機能123は、インターネット124と接続し、インターネット124はセキュリティベンダサイト(1又は複数のサーバからなる)125と接続される。さらに、セキュリティ対策装置101は、模擬端末126と、模擬業務サーバ127と、模擬セキュリティ対策機能129と、ネットワーク128を介して接続される。模擬セキュリティ対策機能129は模擬インターネット130と接続される。
セキュリティ対策機能123は、ネットワーク上でセキュリティ対策のサービスを提供するシステムであって、プログラムを実行する1以上の計算機を含んで構成される。セキュリティ対策機能123として、例えば、FWやIDS(Intrusion Detection System)、IPS(Intrusion Prevention System)、WAF(Web Application Firewall)、SIEM(Security Information and Event Management)、プロキシ等が存在する。
また、図には例示していないが、端末121や、業務サーバ122のセキュリティ対策機能として、ウイルス対策ソフトによるセキュリティ対策機能や、HIDS(Host−based IDS)等が存在する。ここで挙げたセキュリティ対策機能は一例であり、セキュリティ対策機能123や、端末121、業務サーバ122は、ここで挙げていないセキュリティ対策機能を具備してもよいし、ここに挙げたセキュリティ対策機能の一部を具備してもよい。
セキュリティ対策機能は、後述する対策候補生成プログラム109が生成したセキュリティ対策候補を適用するための機能である。後述する対策候補生成プログラム109が、セキュリティ対策機能123や、端末121、業務サーバ122が具備していないセキュリティ対策機能を用いたセキュリティ対策候補を生成した場合、当該セキュリティ対策機能を新たに具備することとなる。なお、この場合、新たに具備するために必要となるコストも含めて、後述するコスト算出ルールテーブル118を作成する。
なお、模擬端末126は端末121を、模擬業務サーバ127は業務サーバ122を、模擬セキュリティ対策機能129はセキュリティ対策機能123を、模擬インターネット130はインターネット124を、それぞれ模擬する。模擬セキュリティ対策機能129及び模擬端末126は、それぞれ、ネットワークを介して通信を行う、プログラムを実行する1又は複数の計算機を含んで構成される。
セキュリティ対策装置101は、例えば、計算機構成を有する。セキュリティ対策装置101は、CPU(Central Processing Unit)103と、CPU103が処理を実行するために必要なデータを格納するためのメインメモリ104と、大量のデータを記憶する容量を持つハードディスクやフラッシュメモリなどの記憶装置105を含む。
セキュリティ対策装置101は、さらに、他装置と通信を行なうためのIF(インタフェース)102と、キーボード、ディスプレイなどの入出力を行うための入出力装置106と、これらの各装置を接続する通信路107と、を含む通信路107は、例えば、バスやケーブルなどの情報伝達媒体である。
プロセッサであるCPU103は、メインメモリ104に格納されたプログラムを実行することで所定の機能を実現する。具体的には、CPU103は、攻撃方法生成プログラム108を実行することによりマルウェアの攻撃方法を生成する。対策候補生成プログラム109を実行することにより、セキュリティ対策候補を生成する。コスト算出プログラム110を実行することにより、セキュリティ対策候補のコストを算出する。
CPU103は、模擬対策実行プログラム111を実行することにより模擬端末126や模擬セキュリティ対策機能129へセキュリティ対策候補を適用する。対策効果度算出プログラム112を実行することにより、模擬端末126や模擬セキュリティ対策機能129へ適用したセキュリティ対策候補の効果度を算出する。
CPU103は、対策影響度算出プログラム113を実行することにより、模擬端末126や模擬セキュリティ対策機能129へ適用したセキュリティ対策候補の影響度を算出する。対策実行プログラム114を実行することにより、端末121やセキュリティ対策機能123へセキュリティ対策候補へ適用する。リスク提示プログラム115を実行することにより、セキュリティ対策候補を適用した後に残る残存リスクを提示する。
なお、攻撃方法は、マルウェアを特徴付ける挙動であり、例えば、特定のファイルを生成する挙動や、特定のホストへアクセスする挙動等を示す。
記憶装置105は、CPU103が使用するデータ(情報)、具体的には、攻撃方法生成ルールテーブル116、対策候補生成ルールテーブル117、コスト算出ルールテーブル118、及び業務シナリオデータ119を格納する。
攻撃方法生成ルールテーブル116は、マルウェアを模擬端末126で実行した際に得られる解析結果からマルウェアの攻撃方法を生成するためのルールを示す。対策候補生成ルールテーブル117は、攻撃方法から対策候補を生成するためのルールを示す。コスト算出ルールテーブル118は、対策候補のコストを算出するためのルールを示す。業務シナリオデータ119は、ユーザの業務を定義する。
上記の各プログラムやデータは、あらかじめメインメモリ104または非一時的記憶媒体を含む記憶装置105に格納されていてもよいし、必要な時に、入出力装置106から、または、IF102を介して他の装置から、インストール(ロード)されてもよい。メインメモリ104及び記憶装置105は、個別に又は一体でメモリを構成する。
図2は、攻撃方法生成ルールテーブル116の一例を示す図である。図2に示すように、攻撃方法生成ルールテーブル116は、ID201と、抽出条件202と、攻撃方法203と、を含んで構成される。
ID201は、攻撃方法生成ルールを一意に識別できる情報を表す。抽出条件202は、マルウェアの解析結果に対してパターンマッチを行う条件を示す。攻撃方法203は、抽出条件202にマッチした際に生成する攻撃方法を示す。なお、抽出条件202は、例えば正規表現を用いたパターンマッチのための条件を示す。また、攻撃方法203に含まれる「$1」は、抽出条件202でマッチした部分文字列を表す。一種類の攻撃方法203は、1又は複数種類の抽出条件202と関連付けられる。
図2を用いて具体的に説明する。例えば、ID201が「1」の攻撃方法生成ルールは、「Fire Create ([^¥.]+¥.exe)」の抽出条件202、「実行ファイル生成:$1」の攻撃方法203を有する。攻撃方法生成ルール「1」は、攻撃方法抽出条件202が示す正規表現にマッチした文字列がマルウェアの解析結果に含まれている場合に、攻撃方法「実行ファイル生成:(正規表現にマッチした部分文字列).exe」を生成することを示す。
攻撃方法生成ルールテーブル116は、マルウェアの解析結果にマルウェアを特徴づける挙動が含まれている場合にその挙動を攻撃方法として抽出するためのルールを示す。攻撃方法生成ルールテーブル116は、例えば、ファイル操作に関する挙動、レジストリ操作に関する挙動、プロセス操作に関する挙動、ネットワーク操作に関する挙動等に関する抽出ルールを格納する。攻撃方法生成ルールテーブル116の情報は、管理者が必要に応じて、入力または更新してもよい。
攻撃方法生成ルールテーブル116は、CPU103により実行される攻撃方法生成プログラム108が、マルウェアの解析結果から攻撃方法を生成する際に利用される。攻撃方法生成プログラム108の具体的な処理については、図9を用いて後述する。
図3は、対策候補生成ルールテーブル117の一例を示す図である。図3に示すように、対策候補生成ルールテーブル117は、ID301と、抽出条件302と、対策候補303と、を含んで構成される。
ID301は、対策候補生成ルールを一意に識別できる情報を表す。抽出条件302は、攻撃方法生成プログラム108によって生成された攻撃方法に対してパターンマッチを行う条件を示す。対策候補303は、攻撃方法が抽出条件302にマッチした際に生成する対策候補を示すす。抽出条件302は、例えば、正規表現を用いたパターンマッチのための条件を示す。対策候補303に含まれる$1は、抽出条件302でマッチした部分文字列を示す。
図3を用いて具体的に説明する。例えば、ID301が「1」の対策候補生成ルールは、「HTTP通信:(.+)」の抽出条件302、「$1をFWで遮断」の対策候補303を有する。対策候補生成ルール「1」は、抽出条件302の正規表現にマッチした文字列が攻撃方法に含まれている場合、対策候補「(正規表現にマッチした部分文字列)をFWで遮断」を生成することを示す。
対策候補生成ルールテーブル117は、攻撃方法を基に対策候補を生成するためのルールを示す。対策候補生成ルールテーブル117は、例えば、セキュリティ対策機能123で実行可能なセキュリティ対策を示すルールを格納する。一つの攻撃方法(抽出条件302)に対して複数の対策候補303が生成されてもよい。一種類の対策候補303は、1又は複数種類の抽出条件302と関連付けられ、一種類の抽出条件302は、1又は複数種類の対策候補303と関連付けられる。対策候補生成ルールテーブル117の情報は、管理者が必要に応じて、入力または更新してもよい。
対策候補生成ルールテーブル117は、CPU103により実行される対策候補生成プログラム109が、攻撃方法生成プログラム108によって生成された攻撃方法から対策候補を生成する際に利用される。対策候補生成プログラム109の具体的な処理については、図9を用いて後述する。
図4は、コスト算出ルールテーブル118の一例を示す図である。図4に示すように、コスト算出ルールテーブル118は、ID401と、抽出条件402と、コスト403と、を含んで構成される。
ID401は、コスト算出ルールを一意に識別できる情報を示す。抽出条件402は、対策候補に対してパターンマッチを行う条件を示す。コスト403は、抽出条件402にマッチした対策候補を実行する際のコストを示す。抽出条件402は、例えば正規表現を用いたパターンマッチのための条件を示す。対策候補の適用に、新たなセキュリティ対策機能が必要となる場合は、コスト403は、初期投資に必要となるコストも格納する。
図4を用いて具体的に説明する。例えば、ID401が「1」のコスト算出ルールは、抽出条件402「FWで遮断」、コスト403「10円」を有する。コスト算出ルール「1」は、抽出条件402の正規表現にマッチした文字列が対策候補に含まれている場合に、当該対策候補のコストが「10円」であることを示す。
ID401が「3」のコスト算出ルールは、抽出条件402「HIDSで削除」、コスト403「10円(初期投資:100万円)」を有する。コスト算出ルール「3」は、HIDSのセキュリティ対策機能が、セキュリティ対策機能123や、端末121、業務サーバ122に具備されていないことを示し、HIDSの導入に100万円、HIDSの運用費用に1件あたり、10円かかることを示す。
コスト算出ルールテーブル118は、対策候補のコストを算出するためのルールを示す。コスト算出ルールテーブル118は、例えば、過去のセキュリティ対策に要した費用や、セキュリティ対策機能の総額から算出した単位機能あたりの費用値などを、コスト403として格納する。なお、コスト算出ルールテーブル118の情報は、管理者が必要に応じて、入力または更新してもよい。
コスト算出ルールテーブル118は、CPU103により実行されるコスト算出プログラム110が、対策候補のコストを算出する際に利用される。コスト算出プログラム110の具体的な処理については、図9を用いて後述する。
図5は、業務シナリオデータ119の一例を示す図である。図5に示すように、業務シナリオデータ119は、ID501と、業務シナリオ502と、判定条件503と、を含んで構成される。
ID501は、業務シナリオデータを一意に識別できる情報を表す。業務シナリオ502は、ユーザが業務でおこなう活動を示す。判定条件503は、業務シナリオ502の各動作(各エントリ)が成功したか否かを判定する条件を示す。判定条件503は、業務シナリオを模擬端末126で実行した際の解析結果に対して、例えば、正規表現を用いたパターンマッチの条件を示す。
図5を用いて具体的に説明する。例えば、ID501が「1」の業務シナリオ要素は、「ブラウザA起動」の業務シナリオ502の動作、「Process Start browserA.exe Success」の判定条件503を有する。業務シナリオデータ「1」は、ブラウザAを起動するという業務要件があることを示し、判定条件503の正規表現が模擬端末126上での業務シナリオ実行結果に含まれているか否かで業務の成否を判定することを示す。業務シナリオデータ119の情報は、管理者が必要に応じて、入力または更新してもよい。
業務シナリオデータ119は、CPU103により実行される対策影響度算出プログラム113が、対策候補を適用した際に業務に与える影響度を算出する際に利用される。対策影響度算出プログラム113の具体的な処理については、図10を用いて後述する。
図6は、模擬端末126で、マルウェアや業務シナリオデータ119を実行した際の解析結果の一例を示す図である。解析結果は、模擬端末126の活動ログを示す。活動ログは、模擬端末126の活動についての情報であって、外部との通信を含むシステムの動作の情報を示す。図6に示すように、解析結果は、日時601と、タイプ602と、動作603と、対象604と、動作結果605を含んで構成される。
日時601は、ログが記録された日時を示し、タイプ602はログのタイプ(Process、File、Registory、Network等)を示す。操作603はタイプ602に関する操作(Start、Terminate、Create、Read、Write、Delete、Set、Access等)を示し、対象604は、操作603の対象を示す。さらに、動作結果605は、操作603の結果(Success、Failure等)を示す。
図6を用いて具体的に説明する。例えば、解析結果「2016/01/01 00:00:00 Process Start example.exe Success」は、2016/01/01 00:00:00に、example.exeのプロセスが正常に開始したことを表す。
図7は、セキュリティベンダサイト125で公開されているマルウェア解析結果の一例を示す図である。図7に示すようにマルウェア解析結果は、マルウェアの概要701と、マルウェアに対する対策702と、を含んで構成される。
マルウェアの概要701は、マルウェアを識別するための情報を示し、ファイル名や、ハッシュ値、ファイルサイズなどが例である。対策702は、マルウェアを対策するための示を表し、パッチの適用や、ウイルス対策ソフトの更新などが例である。
図8は、残存リスク提示画像の一例を示す図である。残存リスク提示画像は、例えば、入出力装置106で提示される。残存リスク提示画像は、対策候補801と、対策効果度802と、影響度803と、コスト804と、残存リスク805と、適用状況806と、を含んで構成される。これにより、管理者又はユーザが、マルウェア及びその対策についての情報を知ることができる。なお、図8の情報の一部のみが提示されてもよい。
対策候補801は、マルウェアに対する対策候補を示す。対策効果度802は、対策候補801によるマルウェアの対策効果度を示す。影響度803は、対策候補801による業務への影響度を示す。コスト804は、対策候補801のコストを示す。残存リスク805は、対策候補801の適用後に残っているリスクを示す。適用状況806は、対策候補801の適用状況を示す。
次に、攻撃方法生成から対策候補のコスト算出まで処理を説明する。攻撃方法生成プログラム108は、マルウェアの攻撃方法を生成する。対策候補生成プログラム109は、攻撃方法から対策候補を生成する。コスト算出プログラム110が、対策候補のコストを算出する。
図9は、攻撃方法生成から対策候補のコスト算出までの一連の処理の流れを示すフローチャートである。図9に示すように、攻撃方法生成プログラム108は、CPU103により実行され、IF201または、入出力装置106を介してマルウェアを受信する。攻撃方法生成プログラム108は、IF201を介して模擬端末126に当該マルウェアを送信し、模擬端末126上で当該マルウェアを実行する(ステップ901)。
攻撃方法生成プログラム108は、IF201を介して模擬端末126から解析結果を受信すると、解析結果に含まれるログと攻撃方法生成ルールテーブル116の抽出条件202とを比較する。該当する抽出条件202が存在すれば、攻撃方法生成プログラム108は、当該抽出条件202に該当する攻撃方法203を、攻撃方法として生成し(ステップ902)、対策候補生成プログラム109を起動する。
対策候補生成プログラム109は、CPU103により実行される。対策候補生成プログラム109は、攻撃方法生成プログラム108が生成した攻撃方法を受信すると、受信した攻撃方法と、対策候補生成ルールテーブル117の抽出条件302とを比較する。該当する抽出条件302が存在すれば、対策候補生成プログラム109は、当該抽出条件302に該当する対策候補303を、対策候補として生成する(ステップ903)。
対策候補生成プログラム109は、攻撃方法生成プログラム108が受信したマルウェアを識別できる情報(例えばハッシュ値)を算出し、セキュリティベンダサイト125において、当該マルウェアに関する情報を検索する(ステップ904)。該当するマルウェアに関する情報が存在する場合(ステップ904:Yes)、対策候補生成プログラム109は、ステップ905に進む。該当するマルウェアに関する情報が存在しない場合(ステップ904:No)、対策候補生成プログラム109は、ステップ907に進み、コスト算出プログラム110を起動する。
対策候補生成プログラム109は、セキュリティベンダサイト125の情報からマルウェアに対するセキュリティ対策702の情報を取得し、対策候補を生成する(ステップ905)する。
対策候補生成プログラム109は、セキュリティベンダサイト125から取得したセキュリティ対策702の情報を対策候補生成ルールテーブル117に追加(更新)し(ステップ906)、コスト算出プログラム110を起動する。対策候補生成プログラム109は、古い情報を新たなセキュリティ対策702に変更することで、対策候補生成ルールテーブル117を更新してもよい。対策候補生成ルールの更新において、対策候補生成プログラム109は、管理者に更新する旨の確認を行ってもよい。対策候補生成ルールテーブル117を更新することで、より適切な対策を選択できる。
コスト算出プログラム110は、CPU103により実行される。コスト算出プログラム110は、対策候補生成プログラム109が生成した対策候補を受信すると、受信した対策候補と、コスト算出ルールテーブル118の抽出条件402とを比較する。コスト算出プログラム110は、該当する抽出条件402のコスト403を、コストとして算出し(ステップ907)、処理を終了する。コストを算出することで、ユーザの状況により適した対策を選択することができる。
次に、対策候補の模擬端末への適用から残存リスク提示までの処理を説明する。模擬対策実行プログラム111は、対策候補を、模擬端末126、模擬業務サーバ127及び模擬セキュリティ対策機能129に適用する。対策効果度算出プログラム112は、対策候補の効果度を算出する。対策影響度算出プログラム113は、対策候補の影響度を算出する。対策実行プログラム114は、対策候補を、端末121、業務サーバ122及びセキュリティ対策機能123に適用する。リスク提示プログラム115は、残存リスクを提示する。
図10は、対策候補の模擬端末への適用から残存リスク提示までの一連の処理の流れを示すフローチャートである。図10に示すように、模擬対策実行プログラム111は、CPU103により実行される。模擬対策実行プログラム111は、対策候補生成プログラム109が生成した対策候補の中から、まだ模擬端末126、模擬業務サーバ127及び模擬セキュリティ対策機能129に適用していない対策候補があるか判定する(ステップ1001)。
適用していない対策候補がある場合(ステップ1001:No)、模擬対策実行プログラム111は、適用する一つの対策候補を抽出し、ステップ1002に進む。すべての対策候補を適用していれば(ステップ1001:Yes)、模擬対策実行プログラム111は、ステップ1009に進み、対策実行プログラム114を起動する。
模擬対策実行プログラム111は、ステップ1001で抽出した対策候補を、模擬端末126、模擬業務サーバ127及び模擬セキュリティ対策機能129に適用し(ステップ1002)、対策効果度算出プログラム112を起動する。
対策効果度算出プログラム112は、CPU103により実行される。対策効果度算出プログラム112は、攻撃方法生成プログラム108が受信したマルウェアを、IF201を介して模擬端末126に送信し、模擬端末126上で当該マルウェアを実行する(ステップ1003)。
対策効果度算出プログラム112は、IF201を介して模擬端末126から解析結果を受信すると、解析結果に含まれるログと、攻撃方法生成ルールテーブル116の抽出条件202とを比較する。該当する抽出条件202が存在すれば、対策効果度算出プログラム112は、当該抽出条件202に該当する攻撃方法203を対策候補適用後の攻撃方法として生成する。
さらに、対策効果度算出プログラム112は、対策候補適用後に生成された攻撃方法と、ステップ902で生成した攻撃方法とを比較し、対策効果度を算出する(ステップ1004)。
対策効果度は、対策候補の適用によって、攻撃方法をどの程度減らせたかを表す。例えば、対策候補適用前の攻撃方法の数が5で、対策候補適用後の攻撃方法の数が4である場合、対策効果度は80%(4/5)と計算されてもよい。計算方法はシステム設計に応じて決定される。対策効果度が高い対策候補ほど、マルウェアの振る舞いを効果的に抑えることができるより良い対策候補である。対策効果度の算出は省略してもよい。
また、ステップ1004で生成された対策候補適用後の攻撃方法は、対策候補を適用しても防げなかったマルウェアの活動を示し、これを残存リスクと定義する。
対策効果度算出プログラム112は、模擬端末126を、マルウェア実行前の環境に復元し(ステップ1005)、対策影響度算出プログラム113を起動する。上記対策候補は、適用されたままである。マルウェア実行前の環境で対策影響度を算出することで、対策候補による影響をより適切に決定できる。対策影響度算出プログラム113は、CPU103により実行される。業務シナリオデータ119に格納された業務シナリオ502を模擬端末126上で実行する(ステップ1006)。なお、業務シナリオ502の実行にあたって、ユーザの代わりに業務シナリオデータ119に格納されている業務シナリオ502を順番に実行する実行ファイルを生成し、当該実行ファイルを模擬端末126上で実行してもよい。
対策影響度算出プログラム113は、IF201を介して模擬端末126から解析結果を受信すると、解析結果に含まれるログと、業務シナリオデータ119の判定条件503とを比較する。該当する判定条件503が存在すれば、対策影響度算出プログラム113は、当該判定条件503に該当する業務シナリオ502が正常に行われたと判定する。
さらに、対策影響度算出プログラム113は、業務シナリオデータ119に含まれる業務シナリオ502のうち正常に行われたと判定されなかった業務シナリオ502の割合を、影響度として算出する(ステップ1007)。影響度は、対策候補の適用によって、業務シナリオがどの程度失敗するかを表す。
例えば、業務シナリオデータ119に含まれる業務シナリオ502の数が5で、対策候補適用によって失敗した業務シナリオ502の数が4である場合、影響度は80%(4/5)と計算されてもよい。計算方法はシステム設計に応じて決定される。影響度が高い対策候補ほど、業務に与える影響が大きい対策候補である。
対策影響度算出プログラム113は、模擬端末126、模擬業務サーバ127、模擬セキュリティ対策機能129を、対策候補適用前の環境に復元し、ステップ1001に進む(ステップ1008)。
対策実行プログラム114は、CPU103により実行される。対策候補の中に、予め定められた許容コスト以下、かつ予め定められた許容影響度以下の対策候補が存在するか判定する(ステップ1009)。当該条件を満たす対策候補が存在する場合(ステップ1009:Yes)、対策実行プログラム114は、ステップ1010に進む。当該条件を満たす対策候補が存在しなければ(ステップ1009:No)、対策実行プログラム114は、ステップ1011に進み、リスク提示プログラム115を起動する(ステップ1009)。
許容コストは、組織がセキュリティ対策にかけることができる金額を表し、許容影響度は、組織がセキュリティ対策によって業務に出る影響をどの程度許容できるかを表す。
例えば、許容コストは、年間のセキュリティ対策に利用できる総額から、現在適用しているセキュリティ対策のコストを減算することで、予め算出される。例えば、業務が止められない組織では許容影響度は低くなり、セキュリティ対策をしないことにより発生する被害に敏感な組織では、許容影響度は高くなる。コスト及び影響度の許容度にセキュリティ対策を選択することで、ユーザの状況に応じたより適切なセキュリティ対策を選択できる。
対策実行プログラム114は、ステップ1009で条件を満たしている対策候補を、端末121、業務サーバ122及びセキュリティ対策機能123に適用し、リスク提示プログラム115を起動する(ステップ1010)。該当する複数の対策候補が存在する場合には、例えば、効果度が最も高い対策候補が適用される。
リスク提示プログラム115は、CPU103により実行され、図8に例示するリスク提示画像を出力し、処理を終了する(ステップ1011)。
以下において、ステップ901からステップ907、ステップ1001からステップ1011までの処理の流れを、具体例を用いて説明する。以下の具体例は、組織に届いたマルウェアを模擬端末126で解析し、当該マルウェアに対する対策を行う。
攻撃方法生成プログラム108は、IF201または、入出力装置106を介してマルウェアを受信する。攻撃方法生成プログラム108は、IF201を介して模擬端末126に当該マルウェアを送信し、模擬端末126上で当該マルウェアを実行する(ステップ901)。
本具体例において、管理者は組織に届いたマルウェアを入出力装置106を介して攻撃方法生成プログラム108に送信する。この時、攻撃方法生成プログラム108は受信したマルウェアを模擬端末126に送信し、模擬端末126上でマルウェアを実行する。
攻撃方法生成プログラム108は、IF201を介して模擬端末126から解析結果を受信すると、解析結果に含まれるログと攻撃方法生成ルールテーブル116の抽出条件202とを比較する。該当する抽出条件202が存在すれば、攻撃方法生成プログラム108は、当該抽出条件202に該当する攻撃方法203を攻撃方法として生成し(ステップ902)、対策候補生成プログラム109を起動する。
本具体例において、模擬端末126から図6に例示する解析結果を受信したとする。この時、2行目のログ「2016/01/01 00:00:10 File Create FileA.exe Success」は、ID201が「1」、抽出条件202が「File Create ([^¥.]+¥.exe)」、攻撃方法203が「実行ファイル生成:$1」の抽出条件202に該当する。従って、「実行ファイル生成:FileA.exe」が、攻撃方法として生成される。
同様に、4行目のログ「2016/01/01 00:00:11 Registry Set HKLM¥CurrentVersion¥Run FileA.exe Success」から攻撃方法「自動起動:FileA.exe」が生成される。
さらに、5行目のログ「2016/01/01 00:00:12 Network Access http://example.com Success」から攻撃方法「HTTP通信:example.com」が生成される。
さらに、7行目のログ「2016/01/01 00:00:14 File Create FileB.exe Success」から攻撃方法「実行ファイル生成:FileB.exe」が生成される。
対策候補生成プログラム109は、攻撃方法生成プログラム108が生成した攻撃方法を受信すると、受信した攻撃方法と、対策候補生成ルールテーブル117の抽出条件302とを比較する。該当する抽出条件302が存在すれば、対策候補生成プログラム109は、当該抽出条件302に該当する対策候補303を対策候補として生成する(ステップ903)。
本具体例において、生成された攻撃方法「実行ファイル生成:FileA.exe」は、ID301が「3」、抽出条件302が「実行ファイル生成:(.+)」、対策候補303が「$1をHIDSで削除」の抽出条件302に該当する。従って、「FileA.exeをHIDSで削除」が対策候補として生成される。
同様に、攻撃方法「HTTP通信:example.com」から対策候補「example.comをFWで遮断」と、対策候補「example.com宛て通信に追加認証」が生成される。さらに、攻撃方法「実行ファイル生成:FileB.exe」から、対策候補「FileB.exeをHIDSで削除」が生成される。
対策候補生成プログラム109は、攻撃方法生成プログラム108が受信したマルウェアを識別できる情報(例えばハッシュ値)を算出し、セキュリティベンダサイト125において、当該マルウェアに関する情報を検索する。該当するマルウェアに関する情報が存在する場合、対策候補生成プログラム109は、ステップ905に進む。該当するマルウェアに関する情報が存在しない場合、対策候補生成プログラム109は、ステップ907に進み、コスト算出プログラム110を起動する。
本具体例において、組織に届いたマルウェアのハッシュ値が「0123456789...」とする。また、セキュリティベンダサイト125に、図7に例示する、ハッシュ値「0123456789...」に関する情報が存在するとする。この時、対策候補生成プログラム109は、ステップ905に進む。
対策候補生成プログラム109は、セキュリティベンダサイト125の情報からマルウェアに対するセキュリティ対策702の情報を取得し、対策候補として生成する(ステップ905)。この時、セキュリティベンダサイト125の対策702から、対策候補「パッチA適用」と、対策候補「UserAgent(bot)遮断」と、対策候補「ウイルス対策ソフトを更新」と、が生成される。
対策候補生成プログラム109は、セキュリティベンダサイト125から取得したセキュリティ対策702の情報を対策候補生成ルールテーブル117に追加し(ステップ906)、コスト算出プログラム110を起動する。
ここで、対策候補「パッチA適用」を対策候補生成ルールテーブル117に追加する例を説明する。ID301が、現在の対策候補生成ルールテーブル117に存在しないID(例えば「5」)、抽出条件302が「ハッシュ値:0123456789...」、対策候補303が「パッチA適用」の対策候補生成ルールが、対策候補生成ルールテーブル117に格納される。
なお、抽出条件302が「ハッシュ値:」で始まる対策候補生図成ルールは、マルウェアのハッシュ値を算出し、抽出条件302に格納されたハッシュ値と比較し、該当する抽出条件302が存在すれば、対応する対策候補303を対策候補として生成することを示す。
同様に、対策候補「UserAgent(bot)遮断」からは、ID301が「6」、抽出条件302が「ハッシュ値:0123456789...」、対策候補303が「UserAgent(bot)遮断」の対策候補生成ルールが、対策候補「ウイルス対策ソフトを更新」からは、ID301が「7」、抽出条件302が「ハッシュ値:0123456789...」、対策候補303が「ウイルス対策ソフトを更新」の対策候補生成ルールが生成され、対策候補生成ルールテーブル117に格納される。
コスト算出プログラム110は、対策候補生成プログラム109が生成した対策候補を受信すると、受信した対策候補と、コスト算出ルールテーブル118の抽出条件402とを比較する。コスト算出プログラム110は、該当する抽出条件402のコスト403を、コストとして算出する(ステップ907)。
本具体例において、生成された対策候補「FileA.exeをHIDSで削除」は、ID401が「3」、抽出条件402が「HIDSで削除」、コスト403が「10円(初期投資:100万円)」の抽出条件402に該当する。従って、対策候補「FileA.exeをHIDSで削除」のコストとして、「10円(初期投資:100万円)」が算出される。
同様に、対策候補「example.comをFWで遮断」のコストとして「10円」が算出され、対策候補「example.com宛て通信に追加認証」のコストとして「10円」が算出される。さらに、対策候補「FileB.exeをHIDSで削除」のコストとして「10円(初期投資:100万円)」が算出され、対策候補「パッチA適用」のコストとして「10万円」が算出される。さらに、対策候補「UserAgent(bot)遮断」のコストとして「100円」が算出され、対策候補「ウイルス対策ソフトを更新」のコストとして「100円」が算出される。
対策候補に該当するコスト算出ルールが存在しない場合、コスト算出プログラム110は、管理者にコスト算出ルールを追加させてもよいし、類似する対策候補のコスト算出ルールを用いてコストを算出してもよい。コストが不明なまま以下の処理が続行されてもよい。
模擬対策実行プログラム111は、対策候補生成プログラム109が生成した対策候補の中から、まだ模擬端末126、模擬業務サーバ127、模擬セキュリティ対策機能129に適用していない対策候補を抽出し、ステップ1002に進む。すべての対策候補が適用済みであれば、模擬対策実行プログラム111は、ステップ1009に進み、対策実行プログラム114を起動する(ステップ1001)。
本具体例において、生成されたいずれの対策候補も適用されていないため、模擬対策実行プログラム111は、ステップ1002に進む。ここで、模擬対策実行プログラム111が、適用する対策候補として「example.comをFWで遮断」を抽出したとする。
模擬対策実行プログラム111は、ステップ1001で抽出した対策候補を、模擬端末126、模擬業務サーバ127及び模擬セキュリティ対策機能129に適用し(ステップ1002)、対策効果度算出プログラム112を起動する。本具体例において、模擬対策実行プログラム111は、対策候補「example.comをFWで遮断」を模擬環境に適用する。具体的には、模擬対策実行プログラム111は、模擬セキュリティ対策機能129に存在するFWに、example.com宛ての通信を遮断するルールを追加する。
対策効果度算出プログラム112は、攻撃方法生成プログラム108が受信したマルウェアを、IF201を介して模擬端末126に送信し、模擬端末126上で当該マルウェアを実行する(ステップ1003)。本具体例において、対策効果度算出プログラム112は、組織に届いたマルウェアを模擬端末126に送信し、模擬端末126上でマルウェアを実行する。
対策効果度算出プログラム112は、IF201を介して模擬端末126から解析結果を受信すると、解析結果に含まれるログと、攻撃方法生成ルールテーブル116の抽出条件202とを比較する。該当する抽出条件202が存在すれば、対策効果度算出プログラム112は、当該抽出条件202に該当する攻撃方法203を対策候補適用後の攻撃方法として生成する。
さらに対策効果度算出プログラム112は、対策候補適用によって生成された攻撃方法と、ステップ902で生成した攻撃方法とを比較し、対策効果度を算出する(ステップ1004)。
ここで、模擬端末126から、1行目が「Process Start example.exe Success」、2行目が「File Create FileA.exe Success」、3行目が「Process Start FileA.exe Success」、4行目が「Registry Set HKLM¥CurrentVersion¥Run FileA.exe Success」の解析結果を受信したとする。なお、説明を簡単にするため、解析結果に含まれる解析日時601の情報は省略した。
本具体例において、2行目のログ「File Create FileA.exe Success」から対策候補適用後の攻撃方法「実行ファイル生成:FileA.exe」が生成される。4行目のログ「Registry Set HKLM¥CurrentVersion¥Run FileA.exe Success」から対策候補適用後の攻撃方法「自動起動:FileA.exe」が生成される。
さらに、対策効果度算出プログラム112は、生成した対策候補適用後の攻撃方法と、ステップ902で生成した攻撃方法と、を比較する。対策効果度算出プログラム112は、対策効果度として50%(対策候補適用後の攻撃方法の数(2)/対策候補適用前の攻撃方法の数(4))を算出する。
対策効果度算出プログラム112は、模擬端末126を、マルウェア実行前の環境に復元し(ステップ1005)、対策影響度算出プログラム113を起動する。本具体例において、模擬端末126の復元は、例えば、仮想環境のスナップショット機能を用いたり、マルウェア実行前の模擬端末126のバックアップされているハードディスクイメージを用いてもよい。
対策影響度算出プログラム113は、業務シナリオデータ119に格納された業務シナリオ502を模擬端末126上で実行する(ステップ1006)。
本具体例において、まず、ID501が「1」、業務シナリオ502が「ブラウザA起動」の業務シナリオが、模擬端末126上で実行される。次に、ID501が「2」、業務シナリオ502が「業務サーバへアクセス」の業務シナリオが、模擬端末126上で実行される。以下、同様に、ID501が「4」、業務シナリオ502が「業務サーバへ情報書込み」の業務シナリオまで実行される。
対策影響度算出プログラム113は、IF201を介して模擬端末126から解析結果を受信すると、解析結果に含まれるログと、業務シナリオデータ119の判定条件503とを比較する。該当する判定条件503が存在すれば、対策影響度算出プログラム113は、当該判定条件503に該当する業務シナリオ502が正常に行われたと判定する。
さらに、対策影響度算出プログラム113は、業務シナリオデータ119に含まれる業務シナリオ502のうち正常に行われたと判定されなかった業務シナリオ502の割合を影響度として算出する(ステップ1007)。
ここで、端末1261行目が「Process Start browerA.exe Success」、2行目が「Network Access http://gyoumu/ Success」、3行目が「File Create ¥¥gyoumu¥FileA.doc Success」の解析結果を、模擬端末126から受信したとする。説明を簡単にするため、解析結果に含まれる解析日時601の情報は省略した。
また、業務ID501が「3」、業務シナリオ502が「example.comへアクセス」の業務シナリオは、対策候補「example.comをFWで遮断」の適用により失敗し、解析結果には記録されなかったとする。
1行目のログ「Process Start browerA.exe Success」から、業務シナリオ502が「ブラウザA起動」の業務シナリオが正常に行われたと判定される。
2行目のログ「Network Access http://gyoumu/ Success」から、業務シナリオ502が「業務サーバへアクセス」の業務シナリオが正常に行われたと判定される。
3行目のログ「File Create ¥¥gyoumu¥FileA.doc Success」から、業務シナリオ502が「業務サーバへの情報書込み」の業務シナリオが正常に行われたと判定される。
さらに、対策影響度算出プログラム113は、正常に行われたと判定されなかった業務シナリオと、ステップ1006で実行したシナリオと、を比較し影響度を算出する。算出される影響度は、25%(正常に行われれなかったと判定された業務シナリオの数(1)/実行した業務シナリオの数(4))である。
ここまでの処理により、対策候補「example.comをFWで遮断」のコストは「10円」、対策効果度は「50%」、影響度は「25%」であると判定される。
対策影響度算出プログラム113は、模擬端末126、模擬業務サーバ127及び模擬セキュリティ対策機能129を、対策候補適用前の環境に復元し、ステップ1001に進む(ステップ1008)。
本具体例において、対策影響度算出プログラム113は、模擬セキュリティ対策機能129に適用した対策候補「example.comをFWで遮断」の設定を解除する。模擬端末126の復元は、例えば、仮想環境のスナップショット機能を用いたり、マルウェア実行前の模擬端末126のバックアップされているハードディスクイメージを用いてもよい。
模擬対策実行プログラム111は、対策候補生成プログラム109が生成した対策候補の中から、まだ模擬端末126、模擬業務サーバ127及び模擬セキュリティ対策機能129に適用していない対策候補を抽出し、ステップ1002に進む。すべての対策候補が適用済みであれば、模擬対策実行プログラム111はステップ1009に進み、対策実行プログラム114を起動する(ステップ1001)。
本具体例において、対策候補「FileA.exeをHIDSで削除」、「example.com宛て通信に追加認証」、「FileB.exeをHIDSで削除」、「パッチA適用」、「UserAgent(bot)遮断」、「ウイルス対策ソフトを更新」が、適用されていない。従って、模擬対策実行プログラム111は、ステップ1002に進む。なお、ここでは説明を省略するが、上記対策候補に関してもステップ1002からステップ1008の処理が適用される。
対策実行プログラム114は、対策候補の中に、予め定められた許容コスト以下、かつ予め定められた許容影響度以下の対策候補が存在すれば、ステップ1010に進む。当該条件を満たす対策候補が存在しなければ、対策実行プログラム114は、ステップ1011に進み、リスク提示プログラム115を起動する(ステップ1009)。
ここで、予め定められた許容コストが1万円で、予め定められた許容影響度が20%だとする。また、対策候補「UserAgent(bot)遮断」が当該許容コストと許容影響度を満たすとする。この時、対策実行プログラム114は、ステップ1010に進む。
対策実行プログラム114は、ステップ1009で該当した対策候補を端末121、業務サーバ122、セキュリティ対策機能123に適用し、リスク提示プログラム115を起動する(ステップ1010)。本具体例において、対策実行プログラム114は、対策候補「UserAgent(bot)遮断」をセキュリティ対策機能123に適用する。
リスク提示プログラム115は、図8に例示するリスク提示画面を入出力装置106に出力し、処理を終了する(ステップ1011)。
このように、本実施例では、セキュリティ対策による業務への影響度と、セキュリティ対策による対策の効果度と、セキュリティ対策のコストと、に基づき、セキュリティ対策を適用することが可能となる。
なお、本実施例の一部を以下のように変更してもよい。攻撃方法生成ルールテーブル116に重みをつけてもよい。例えば、脅威の大きな攻撃方法や、組織が優先して防ぎたい攻撃方法に重みをつける。これにより、脅威の大きさや、優先度に応じた対策の効果度を算出することが可能となる。
また、マルウェアの解析結果から攻撃方法を生成することでより具体的な表が可能となるが、マルウェアの解析結果とこなる情報を参照して、攻撃方法を生成してもよい。例えば、DoS攻撃や、SQLインジェクション等の攻撃を、攻撃方法として用意する。これにより、これらの攻撃方法に対する、セキュリティ対策の対策効果度を算出することができ、セキュリティ対策の評価に利用することが可能となる。
複数のセキュリティベンダサイト125からセキュリティ対策候補を生成してもよい。これにより、セキュリティ対策候補の数が増え、より業務影響の少ないセキュリティ対策を適用することが可能となる。
業務シナリオデータ119に、重みをつけてもよい。例えば、組織が優先して行いたい業務シナリオに重みをつける。これにより、優先度に応じた業務への影響度を算出することが可能となる。
業務シナリオデータ119は、実際の業務の活動ログより生成してもよい。例えば、端末121の活動ログや、業務サーバ122の活動ログ、セキュリティ対策機能123の活動ログより生成する。これにより、実際の業務に即した業務シナリオデータ119が生成され、より正確な業務への影響度を算出することが可能となる。
セキュリティ対策の業務への影響度算出は、セキュリティ対策が適用された模擬環境の解析結果に代えて、実際の業務の活動ログを用いてもよい。実際の業務においては、セキュリティ対策は適用されていない。
セキュリティ対策装置101は、例えば、端末121の活動ログや、業務サーバ122の活動ログ、セキュリティ対策機能123の活動ログを参照する。セキュリティ対策装置101は、セキュリティ対策候補の適用により影響の受ける、端末121の動作を特定する。
例えば、あるホスト(例えばexsample.com)への接続を遮断する対策候補が決定された場合、セキュリティ対策装置101は、端末121の特定期間(例えば1ヶ月間)の接続先の情報を参照し、当該接続先情報の中に含まれるexsample.comの情報をセキュリティ対策候補の適用により影響の受ける通信(動作)として特定する。
これにより、セキュリティ対策装置101は、セキュリティ対策候補が適用された後の端末121の活動を推定し、その活動についての情報を得ることができる。セキュリティ対策装置101は、セキュリティ対策候補適用前後の端末121の活動についての情報から、端末121の活動ログにいて影響を受ける動作の割合を推定し、影響度を算出する。これにより、実際の業務に即した業務への影響度を算出することが可能となる。
インストールされているソフトウェアが異なる複数の模擬端末126を用いて攻撃方法を生成してもよい。マルウェアの中には環境によって振る舞いを変えるものが存在する。複数の模擬端末126を用いて攻撃方法を生成することにより、このような環境によって振る舞いを変えるマルウェアの脅威を明らかにすることが可能となる。
セキュリティ対策の選択基準は、ユーザの状況に応じて適切に設定される。例えば、コストの算出を省略してもよい。セキュリティ対策の選択においてコストが参照されなくてもよい。コスト及び影響度が許容範囲にあるセキュリティ対策において、最もコストが小さい又は最も影響度が小さい対策が選択されてもよい。セキュリティ対策の選択は、対策効果度に基づいてもよい。コスト及び影響度が許容範囲にあるセキュリティ対策において、最も効果度が高いセキュリティ対策が選択されてもよい。
セキュリティ対策装置101は、セキュリティ対策の影響についての情報を管理者に提示し、管理者によるセキュリティ対策の選択を支援してもよい。例えば、セキュリティ対策装置101は、適用するセキュリティ対策を選択することなく、図8に示す情報の一部を管理者に提示する。
本実施例は、実施例1に係るセキュリティ対策装置101を含み、複数の対策候補を組み合わせて、影響度算出処理、コスト算出処理、効果度算出処理、対策実行処理を行うセキュリティ対策装置を示す。
実施例1は、一つの対策候補を模擬端末126に適用し、影響度、コスト、効果度を算出し、セキュリティ対策の組み合わせを考慮していない。そこで、実施例2は、複数の対策候補を組み合わせて一つの対策候補を作成して適用し、影響度やコスト、効果度を算出するセキュリティ対策装置を説明する。これにより、より効果の高いセキュリティ対策の適用が可能となる。
図11は、本実施例におけるセキュリティ対策装置のハードウェア構成の例である。実施例1と同一の構成要素には同一の符号を付すことによってその説明を省略し、以下では、実施例1と異なる点を中心に説明する。
図11に示すように、実施例2に係るセキュリティ対策装置1101は、実施例1のセキュリティ対策装置101と同様のハードウェア構成を有する。に、セキュリティ対策装置1101は、模擬対策実行プログラム1102と、対策効果度算出プログラム1103と、対策影響度算出プログラム1104と、対策実行プログラム1105と、リスク提示プログラム1106と、を含む。
なお、実施例1のセキュリティ対策装置101も、模擬対策実行プログラム111と、対策効果度算出プログラム112と、対策影響度算出プログラム113と、対策実行プログラム114と、リスク提示プログラム115を含む。しかし、これらプログラムの一部の処理が、実施例1と実施例2との間において異なるため、実施例2において新たな符号が付されている。
セキュリティ対策装置1101は、模擬端末126、模擬業務サーバ127、模擬セキュリティ対策機能129、模擬インターネット130から構成される模擬ネットワーク1107と、ネットワーク128を介して接続される。セキュリティ対策装置1101は、複数の模擬ネットワーク1107と接続している。
CPU103は、メインメモリ104に格納された模擬対策実行プログラム1102を実行することにより、模擬ネットワーク1107に複数の対策候補の組み合わせ適用する。CPU103は、対策効果度算出プログラム1103を実行することにより、複数の対策候補の組み合わせ適用による効果度を算出する。
CPU103は、対策影響度算出プログラム1104を実行することにより、複数の対策候補の組み合わせ適用による影響度を算出する。CPU103は、対策実行プログラム1105を実行することにより、端末121、業務サーバ122、セキュリティ対策機能123へ複数の対策候補の組み合わせ適用する。CPU103は、リスク提示プログラム1106を実行することにより、複数の対策候補の組み合わせ適用による残存リスクを提示する。
上記の各プログラムは、あらかじめメインメモリ104または記憶装置105に格納されていてもよいし、必要な時に、入出力装置106からまたは、IF102A、102Bを介して他の装置から、インストール(ロード)されてもよい。
図12は、実施例2に係る残存リスク提示画像の一例を示す図である。残存リスク提示画像は、実施例1の残存リスク提示画像に、適用中の複数の対策候補の組み合わせ1201と、複数の対策候補の組み合わせ適用時の対策効果度、影響度、コスト1202と、を含んで構成される。
図13は、実施例2に係る複数の対策候補組合せの模擬ネットワークへの適用から残存リスク提示までの一連の処理の流れを示すフローチャートである。図13に示すように、模擬対策実行プログラム1102は、CPU103により実行され、対策候補生成プログラム109が生成した対策候補から、とり得る対策候補の組み合わせを算出する(ステップ1301)。
模擬対策実行プログラム1102は、ステップ1301で算出した組合せの数に応じて模擬ネットワーク1107を構築する。模擬対策実行プログラム1102は、対策候補の組み合わせを、構築した模擬ネットワーク1107に適用し、対策効果度算出プログラム1103を起動する(ステップ1302)。
なお、模擬対策実行プログラム1102は、算出した対策候補の組み合わせの一つ目を、模擬ネットワークA1107Aに、算出した対策候補の組み合わせの二つ目を、模擬ネットワークB1107Bに、以下同様に、算出したすべての対策候補の組み合わせを、それぞれ、模擬ネットワークに適用する。
対策効果度算出プログラム1103は、CPU103により実行され、攻撃方法生成プログラム108が受信したマルウェアを、IF201を介してすべての模擬ネットワーク1107に送信し、模擬端末126上で当該マルウェアを実行する(ステップ1303)。
対策効果度算出プログラム1103は、IF201を介してすべての模擬ネットワーク1107から解析結果を受信すると、解析結果に含まれるログと、攻撃方法生成ルールテーブル116の抽出条件202とを比較する。該当する抽出条件202が存在すれば、対策効果度算出プログラム1103は、当該抽出条件202に該当する攻撃方法203を対策候補の組み合わせ適用後の攻撃方法として生成する。
さらに対策効果度算出プログラム1103は、対策候補の組み合わせ適用によって生成された攻撃方法と、ステップ902で生成した攻撃方法とを比較し、複数対策適用による対策効果度を算出する(ステップ1304)。
対策効果度算出プログラム1103は、模擬ネットワーク1107を、マルウェア実行前の環境に復元し(ステップ1305)、対策影響度算出プログラム1104を起動する。対策影響度算出プログラム1104は、CPU103により実行され、業務シナリオデータ119に格納された業務シナリオ502をすべての模擬ネットワーク1107の模擬端末126上で実行する(ステップ1306)。
対策影響度算出プログラム1104は、IF201を介してすべての模擬ネットワーク1107から解析結果を受信すると、解析結果に含まれるログと、業務シナリオデータ119の判定条件503とを比較する。該当する判定条件503が存在すれば、当該判定条件503に該当する業務シナリオ502が正常に行われたと判定する。さらに、対策影響度算出プログラム1104は、業務シナリオデータ119に含まれる業務シナリオ502のうち正常に行われたと判定されなかった業務シナリオ502の割合を影響度として算出する(ステップ1307)。
対策影響度算出プログラム1104は、すべての模擬ネットワーク1107を、対策候補の組み合わせ適用前の環境に復元し(ステップ1308)、対策実行プログラム1105を起動する。
対策実行プログラム1105は、CPU103により実行され、対策候補の組み合わせ中に、予め定められた許容コスト以下、かつ予め定められた許容影響度以下の対策候補を検索する。当該条件を満たす対策候補が存在すれば、対策実行プログラム1105は、ステップ1310に進む。当該条件を満たす対策候補が存在しなければ、対策実行プログラム1105は、ステップ1311に進み、リスク提示プログラム1106を起動する(ステップ1309)。
対策実行プログラム1105は、ステップ1309で該当した対策候補の組み合わせを端末121、業務サーバ122、セキュリティ対策機能123に適用し、リスク提示プログラム1106を起動する(ステップ1310)。なお、該当する対策候補の組み合わせが複数ある場合には、例えば、効果度が最も高い対策候補を適用する。
リスク提示プログラム1106は、CPU103により実行され、図12に例示するリスク提示画像を出力し、処理を終了する(ステップ1311)。
このように、本実施例では、セキュリティ対策の組み合わせによる業務への影響度と、セキュリティ対策の組み合わせによる対策の効果度と、セキュリティ対策の組み合わせのコストと、に基づき、セキュリティ対策を適用することが可能となる。
なお、次のように本実施例の一部を変更してもよい。複数の模擬ネットワーク1107を構築しなくてもよい。例えば、セキュリティ対策装置1101は、一つの模擬ネットワークを用いてステップ1303からステップ1308を繰り返す。これにより、すべての対策候補組合せの影響度、コスト、効果度の算出に時間を要するが、コストを抑えることが可能となる。
セキュリティ対策候補の組み合わせの一部のみを適用してもよい。セキュリティ対策装置1101は、例えば、構成要素数が所定数以下のセキュリティ対策候補の組み合わせを生成し、それらの各組み合わせの影響度を計算する。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。