JP6857627B2 - ホワイトリスト管理システム - Google Patents

ホワイトリスト管理システム Download PDF

Info

Publication number
JP6857627B2
JP6857627B2 JP2018040843A JP2018040843A JP6857627B2 JP 6857627 B2 JP6857627 B2 JP 6857627B2 JP 2018040843 A JP2018040843 A JP 2018040843A JP 2018040843 A JP2018040843 A JP 2018040843A JP 6857627 B2 JP6857627 B2 JP 6857627B2
Authority
JP
Japan
Prior art keywords
white list
activity
risk
management system
evaluation
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
JP2018040843A
Other languages
English (en)
Other versions
JP2019159383A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018040843A priority Critical patent/JP6857627B2/ja
Publication of JP2019159383A publication Critical patent/JP2019159383A/ja
Application granted granted Critical
Publication of JP6857627B2 publication Critical patent/JP6857627B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、ホワイトリスト管理システムに関するものである。
近年、情報漏えいや不正アクセスなどの脅威をもたらすコンピュータウイルスやスパイウェア、ボットプログラムといった悪意ある不正プログラム(マルウェア)が増加している。そして、マルウェアを利用して特定の官庁や企業、組織のネットワークに侵入し、機密情報の窃盗やシステム破壊を行う「標的型攻撃」が、セキュリティ上の大きな脅威となっている。
特定の組織ではその組織用に業務が定型化されている場合も多いため、「標的型攻撃」に対する対策の一つとして、ホワイトリスト型の対策がある。ホワイトリスト型対策では、業務に必要な正常な活動(特定のプロセスの起動、特定のWEBサーバへのアクセスなど)が定義されて、ホワイトリストというデータベースに記録され、ホワイトリストに合わない活動が攻撃として検知される。
ホワイトリストの作成方法には様々あるが、その1つであるプロファイル型ホワイトリストは、「学習期間」に監視対象の端末上で観測される活動を、与えられた基準に基づき学習することにより作成される。そして、学習後、学習したホワイトリストを「運用期間」に使って攻撃を検知する。
ホワイトリストの作成と更新に関して、特許文献1には「識別手段は、検知手段によって起動が検知されたプログラムまたは検出されたプログラムのプログラム情報に基づき、前記プログラムが所定の基準を満たすか否かを判定し、登録手段は、前記所定の基準を満たすと判定されたプログラムを(ホワイト)リストに登録する」技術が開示されている。
特開2014−96143号公報
特許文献1に開示の技術を用いれば、ホワイトリストを作成し、更新することは可能となる。しかしながら、特許文献1には「所定の基準」として「ディジタル署名」などの使用が開示されているのに対し、定型化された業務とはいえ、一般に「プログラム」の構造は複雑であり、すべての「プログラム」に「ディジタル署名」を予め付与することは非常に労力を要する。
そして、「プログラム」への「ディジタル署名」の付与が漏れた場合、その「プログラム」は、ホワイトリストに登録されず、マルウェアあるいは攻撃として誤検知されてしまう可能性もある。
また、「所定の基準」をマルウェアあるいは攻撃が検知されないという基準にしたとしても、マルウェアや攻撃が分析されて検知可能となるまでに時間のかかる場合もあり、検知されるべき「プログラム」が、検知可能となるまでの期間は、ホワイトリストに登録されて、検知見逃しとなってしまう可能性もある。
そこで、本発明では、ホワイトリストの作成と更新の基準となる評価として、誤検知のリスクと検知見逃しのリスクからホワイトリストを評価することを目的とする。
本発明に係る代表的なホワイトリスト管理システムは、ネットワークで接続された複数の端末のためのホワイトリスト管理システムであって、前記端末の活動が記録された活動ログと、前記端末の活動に対するホワイトリストと、前記活動ログに記録された正常活動が前記ホワイトリストに含まれていないことから誤検知するリスクを算出し、前記活動ログに記録された異常活動が前記ホワイトリストに含まれていることから検知を見逃すリスクを算出し、算出された誤検知するリスクと見逃すリスクに基づいて、前記ホワイトリストを評価する評価算出装置と、を備えたことを特徴とする。
本発明によれば、ホワイトリストの作成と更新の基準となる評価として、誤検知のリスクと検知見逃しのリスクからホワイトリストを評価することが可能になる。
ホワイトリスト管理システムの例を示す図である。 学習期間にホワイトリストを作成するシーケンスの例を示す図である。 運用機関にホワイトリストを再作成するシーケンスの例を示す図である。 ホワイトリスト評価指標算出装置のハードウェア構成の例を示す図である。 活動ログDBの例を示す図である。 ホワイトリストDBの例を示す図である。 重点警戒活動DBの例を示す図である。 評価指標算出の処理手順の例を示す図である。 誤検知リスク算出の処理手順の例を示す図である。 検知見逃しリスク算出の処理手順の例を示す図である。 学習時攻撃混入リスク算出の処理手順の例を示す図である。 準最適ホワイトリスト探索の処理手順の例を示す図である。 再学習必要性判定の処理手順の例を示す図である。 評価指標の算出例を示す図である。
以下、本発明の実施形態を、図面に示す実施例を基に説明する。
(システム概要)
図1は本実施例におけるシステム構成の例を示す図である。本システムを構成する要素として、通信ネットワーク83、ホワイトリスト評価指標算出装置10、準最適ホワイトリスト探索装置40、再学習必要性判定装置50、活動ログDB60(DB:Data Base)、ホワイトリストDB70、端末群80、ネットワーク型活動ログ送信装置82、および重点警戒活動DB90、がある。
通信ネットワーク83は、WAN(World Area Network)あるいはLAN(Local Area Network)、携帯電話あるいはPHS(Personal Handy-phone System)などの公衆回線網でもよい。図1に示した各装置間の通信は、通信ネットワーク83を介して行われる。
ホワイトリスト評価指標算出装置10は、準最適ホワイトリスト探索装置40または再学習必要性判定装置50から入力に応じてホワイトリストの質(評価指標)を算出する。この評価指標(評価値)の算出は誤検知リスクおよび検知見逃しリスクの両点に基づき行われる。
これらのリスク算出は、ホワイトリスト評価指標算出装置10に含まれる誤検知リスク算出部20と検知見逃しリスク算出部30のそれぞれにおいて実施される。誤検知リスク算出部20と検知見逃しリスク算出部30は、同じホワイトリスト評価指標算出装置10に存在してもよいし、異なる装置上に分散していてもよい。
誤検知リスク算出部20は、与えられたホワイトリストが誤検知を引き起こすリスクを評価する。この評価において、指定された活動ログにホワイトリストを適用し誤検知を測定するためのログシミュレータ21、およびホワイトリストと活動ログの関係がどのような状況になった時に誤検知と見做すかを判定する誤検知スコア基準部22から構成される。
検知見逃しリスク算出部30は、与えられたホワイトリストにより検知見逃しが発生するリスクを評価する。検知見逃しリスクの算出では、最初に、ホワイトリスト内の各エントリのリスクを求め、次に、リスクを求めたエントリのリスクを統合して、ホワイトリストの誤検知リスクを算出する。
ここで、エントリの誤検知リスクには、(1)運用時に発生した攻撃が偶々エントリに一致してしまい誤検知が発生してしまう運用時攻撃見逃しリスク、および(2)学習時に発生していた攻撃が検知されず、攻撃を構成する活動がホワイトリストに混入してしまう学習時攻撃混入リスク、の2種類が存在する。
前者に対するリスク算出は運用時攻撃見逃しリスク算出部31で行い、後者に対するリスク算出は学習時攻撃混入リスク算出部32で行う。また、これらとは別に、セキュリティ専門家などから、標的型攻撃で悪用されやすい活動と認定されている活動(例えば、攻撃者が頻繁に使用するWindows(登録商標)のコマンド)に対しては、特別なリスク値が割り当てられる。
このような特別なリスク値の処理は、重点警戒活動リスク算出部33において行なわれる。また、このような特別なリスク値の処理では、セキュリティ専門家などから予め設定された重点警戒活動DB90が参照される。
準最適ホワイトリスト探索装置40は、機械学習アルゴリズムなどを用いて、活動ログDB60内のログを基に、端末群80の端末ごとに、評価指標が準最適となるホワイトリストを探索する。探索されたホワイトリストは、新たなホワイトリストとして作成され、ホワイトリストDB70に格納される。
再学習必要性判定装置50は、運用期間中に、ホワイトリストの質の経年変化を追跡し、質に劣化があると判定したときに再学習を実施させて、ホワイトリストを作り直させる。質に劣化があると判定されたとき、すなわち再学習が必要なときに、ホワイトリストの作り直しを行うことで、ホワイトリストの維持において不要な計算量を削減することができる。
活動ログDB60は、ホワイトリスト作成の対象である端末群80の活動が記録される。活動ログDB60に記録される活動は、学習期間の活動と運用期間の活動がある。ホワイトリストDB70には、準最適ホワイトリスト探索装置40で作成されたホワイトリストが保存される。
端末群80は、ホワイトリスト作成対象となる端末である。端末の活動の情報は、端末内にインストールされたプログラムを実行する図示を省略した端末のプロセッサが、端末ログ送信部81となり、この端末ログ送信部81によって観測され、活動ログDB60に送信される。
あるいは、端末群80から端末の活動の情報が活動ログDB60に送信されず、通信ネットワーク83上で端末群80の活動すなわち端末群80の通信を監視するネットワーク型活動ログ送信装置82により、活動の観測と活動ログDB60への送信が行なわれてもよい。
重点警戒活動DB90は、標的型攻撃に悪用された活動の情報およびそのリスク値が格納される。重点警戒活動DB90の情報は、セキュリティ専門家などから予め格納されてもよい。
(シーケンスの例)
図2は、学習期間におけるシステムの処理シーケンスの例を示す図である。学習期間の開始および終了は、システムのユーザにより設定される。学習期間は例えば1か月間である。ホワイトリストは、学習期間中に発生した端末群80の活動ログを基に作成される。ホワイトリストを作成するタイミングは、学習期間の終了時、すなわち学習期間開始から既定の一定時間が経った日時である。
端末群80から活動ログDB60に送信されるメッセージである活動ログ201には、端末群80の活動ログの情報が含まれる。このメッセージは、端末群80の端末ログ送信部81、または端末群80を監視しているネットワーク型活動ログ送信装置82により、送信される。また、学習期間と活動期間のいずれにおいても、このメッセージは、端末群80の端末で新しい活動が発生する度に送信されてもよい。
準最適ホワイトリスト探索装置40は、学習期間の終了時に、端末群80に含まれる各端末に対して、ホワイトリストを作成する。その際、学習期間中に蓄積された学習用活動ログ202を活動ログDB60からメッセージとして取得し、ホワイトリスト探索400の処理を実施する。
準最適ホワイトリスト探索装置40は、ホワイトリスト探索400において、作成したホワイトリストの評価指標を算出するため、評価要求203をホワイトリスト評価指標算出装置10にメッセージとして送信する。メッセージ内には評価対象のホワイトリストおよび評価に必要となる学習用活動ログ202が含まれる。
評価要求203のメッセージを受信したホワイトリスト評価指標算出装置10は、評価指標算出100の処理により評価指標を算出し、その値を評価結果204として含ませたメッセージを返信する。
準最適ホワイトリスト探索装置40は、評価結果204のメッセージを受けて、評価結果204の値が一定基準を下回る場合は、ホワイトリストの探索を再実施する。一方、評価結果204の値が一定基準を上回る場合は、作成したホワイトリストを含むホワイトリスト登録205をホワイトリストDB70にメッセージとして送信し、処理を完了する。
図3は、運用期間におけるシステムの処理シーケンスの例を示す図である。まず、再学習必要性判定装置50は、定期的に(例えば、1週間ごとに)、再学習判定500を呼び出す(実行する)。再学習判定500は、端末群80それぞれのホワイトリストを、ホワイトリスト取得302のメッセージとして、ホワイトリストDB70から取得する。
次に、再学習判定500は、ホワイトリストを含む再評価要求303のメッセージを、ホワイトリスト評価指標算出装置10に送信する。再評価要求303のメッセージを受信したホワイトリスト評価指標算出装置10は、評価指標再算出110を実行し、評価指標算出100と同様に、ホワイトリストの評価値を算出する。
その際に、評価指標再算出110は、再評価用活動ログ304のメッセージによって、評価指標算出100あるいは評価指標再算出110が前回呼ばれてから、現在(今回呼ばれる)までに発生した端末群80の活動ログを、活動ログDB60から取得する。なお、図2を用いて説明したように、端末群80は活動ログ301のメッセージを活動ログDB60に送信している。
評価指標算出100が呼ばれることなく、評価指標再算出110が呼ばれるのが運用期間になってから初めての場合は、運用期間が開始してから現在までの運用期間中に観測された活動ログが取得される。評価指標再算出110は、再評価の結果を、再評価結果305のメッセージとして、再学習必要性判定装置50に送信する。
再学習必要性判定装置50は、再評価結果305とホワイトリスト作成時点での評価値を比べて、その差が(予め設定された)一定水準を超える場合に再学習を行う。この再学習のために、再学習必要性判定装置50は、再学習処理510を読み出し、再探索要求306のメッセージを準最適ホワイトリスト探索装置40に送信する。
再探索要求306のメッセージを受信した準最適ホワイトリスト探索装置40は、ホワイトリスト再探索410を呼び出して、再学習を行う。その際、再学習用活動ログ307のメッセージとして、過去一定期間(例えば一か月間)に観測された活動ログを、活動ログDB60より取得する。ホワイトリスト再探索410における探索処理は、ホワイトリスト探索400と同様である。
再探索の結果として作成されたホワイトリストは、再探索結果308のメッセージとして、再学習必要性判定装置50に返信され、それがそのままホワイトリスト再登録309のメッセージとして、ホワイトリストDB70に登録される。
(ハードウェア構成)
図4は、ホワイトリスト評価指標算出装置10のハードウェア構成の例を示す図である。なお、図1に示した他の装置や端末のハードウェア構成も、メモリ12と外部記憶装置13に保存されるプログラムやデータを除いて、同様である。
ホワイトリスト評価指標算出装置10は、CPU11(Central Processing Unit)、メモリ12、外部記憶装置13、IF14(Interface)、入出力装置15、バス16から構成される。
CPU11は、メモリ12内に保存されたプログラムを実行し、例えば図1、2を用いて説明した評価指標算出100や評価指標再算出110などを具現化させる。メモリ12は、ホワイトリスト評価指標算出装置の各機能を実現するための実行プログラムを保存する。メモリ12には実行プログラム以外にデータが保存されてもよい。
ホワイトリスト評価指標算出装置10のメモリ12には、評価指標算出100と評価指標再算出110を実現するための評価指標算出プログラム121が保存され、誤検知リスク算出プログラム122、検知見逃しリスク算出プログラム123、および学習時攻撃混入リスク算出プログラム124が保存される。これらの実行プログラムについては、図8〜11を用いて後でさらに説明する。
外部記憶装置13は、HDD(Hard Disk Drive)などから構成され、データの長期保存を行うのに用いられる。外部記憶装置13は、ホワイトリスト評価指標算出装置10に含まれる各DBが格納される。また、外部記憶装置13にプログラムが格納されてもよい。
IF14は、ホワイトリスト評価指標算出装置10を通信ネットワーク83に接続する。入出力装置15は、ホワイトリスト評価指標算出装置10のユーザ(管理者)による各種情報の入力、および格納されている情報の出力を行う。バス16は、CPU11、メモリ12、外部記憶装置13、IF14、および入出力装置15を接続し、これらの間の情報のやりとりを実現する。
(DB構成)
図5は、活動ログDB60の構成例を示す図である。活動ログDB60の各レコードには端末群80の各端末で発生した活動が記録されている。ここで、1つのレコードは、ID、観測日時、活動端末、および活動内容の情報の組合せである。ID61は、各レコードを一意に識別するための識別子である。
観測日時62は、活動が発生した時刻を示す情報である。活動端末63は、活動を実施した端末を一意に識別するための識別子を示す情報である。活動内容64は、活動の内容を示す情報である。具体例としては、プロセス、通信、ファイルアクセス、レジストリアクセスなどがある。活動内容64に記録される活動には、正常活動と異常活動があるが、記録される時点で、どちらの活動であるかは判定できない場合もある。
例えば、図5に示した活動ログDBにおいて、ID61が「1」のレコードには、観測日時62は「2017−07−16 10:03」、活動端末63は「端末A」、活動内容64は「プロセスX起動」が記録されている。ここで、「端末A」と「プロセスX起動」は、これらの情報を表せれば、他の表現すなわち記号や値などであってもよい。
そして、ID61が「2」以降のレコードも同様の情報が記録される。図5に示した活動ログDBでは、ID61が「2」から「4」の観測日時62は「2017−07−16」を含み、ID61が「5」の観測日時62は「2017−09−07」を含む例を示している。
また、図示を省略した情報であって、活動ログDB60のレコードの個数が記録された情報があり、活動ログDB60に含まれるレコードの個数が増加あるいは減少するごとに、その情報が更新されてもよい。
図6は、ホワイトリストDB70の構成例を示す図である。ホワイトリストDB70の各エントリには、端末群80の各端末のホワイトリストに関する情報が記録されている。ID71は、各エントリを一意に識別するための識別子である。活動端末72は、ID71で識別される端末を一意に識別するための識別子である。
活動内容73には、1つの端末を1つのエントリとして、エントリごとに1つ以上の活動が記録される。活動内容73に記録された活動がホワイトリストの対象であり、1つの活動の記録が1つのレコードとなる。活動内容73に記録される活動は、活動ログDB60の活動内容64に記録される活動と対応し、同じ活動であるかが判定可能な情報である。
また、ホワイトリストの対象となる活動は、正常とみなされる活動でもあり、ホワイトリストの対象とならない活動は、実際には正常活動を含む可能性もあるが、異常とみなされる活動であってもよい。
なお、活動内容73の記録はエントリごと、すなわち活動端末72で識別される端末ごとであり、異なる端末に対して同じ活動が記録される場合もある。このため、ホワイトリストは端末の情報と活動の情報との組合せであり、この意味で、活動端末72は、ホワイトリストの対象となる端末を一意に識別するための識別子でもある。
評価値74には、ホワイトリスト評価指標算出装置10により算出された評価値が記録される。なお、図6に示した例で、評価値74は0以上1以下の値をとり、値が小さい程、ホワイトリストの質(あるいは評価)は高いものとする。
また、評価値74は、エントリごと、すなわち活動端末72の端末ごとの評価値が記録されてもよいし、レコードごと、すなわち活動内容73の活動ごとの評価値が記録されてもよい。評価値74にエントリごとの評価値が記録される場合、記録される評価値は、活動内容73の活動ごとの評価値が合計されたり、平均化されたりして算出されてもよい。
さらに、評価値74は、ホワイトリストとしての評価値すなわち複数のエントリをまとめた1つの評価値が記録されてもよい。この場合、エントリごとの評価値とレコードごとの評価値が評価値74に記録されなくてもよい。
例えば、図6に示したホワイトリストDB70において、ID71が「1」のエントリは、活動端末72が「端末A」のホワイトリストであることを示す。ホワイトリストとして活動内容73には「プロセスX起動」と「端末Dへの通信」が記録されている。また、評価値74の値は「0.83」である。
そして、ID71が「2」以降のエントリも同様の情報が記録されるが、1つのエントリの活動内容73に1つの活動が記録されている場合もある。ホワイトリストDB70はこのようなDBであるので、図示を省略した情報であって、エントリごとのレコードの個数が記録された情報があってもよいし、ホワイトリストDB70のエントリの個数が記録された情報があってもよい。
図7は、重点警戒活動DB90の構成例を示す図である。重点警戒活動DB90の各レコードには、標的型攻撃に悪用されやすい活動が記録されている。ID91は、各レコードを一意に識別するための識別子である。活動内容92は、重点警戒するべき活動内容の情報である。
重点リスク93は、活動内容92が示す活動内容に対して付与されるリスク値である。図7に示した例では、リスク値は、0以上の実数であり、値が大きい程、リスクが高いものとする。
なお、本実施例では、重点警戒するべき活動は、端末群80の各端末で共通であるとするが、変更例として、端末群80の各端末の特性に合わせて、重点警戒すべき活動の種類が異なってもよい。また、重点警戒活動DB90の情報はユーザにより予め設定されてもよい。
例えば、図7に示した重点警戒活動DB90において、ID91が「1」のレコードには、活動内容92は「プロセスX起動」、重点リスク93は「10」が設定されている。そして、ID91が「2」以降のレコードも同様の情報が設定されている。
図8は、ホワイトリスト評価指標算出装置10の評価指標算出100における処理ステップの例を示す図である。図8に示した処理ステップは、評価指標算出プログラム121のフローチャートの例でもある。このため、図8の説明において主語となるホワイトリスト評価指標算出装置10は、CPU11と読み換えられてもよい。
処理ステップS101で、ホワイトリスト評価指標算出装置10は、評価要求203のメッセージを受信する。このメッセージには評価要求となるホワイトリストおよび学習用活動ログ202が記録されている。
処理ステップS102で、ホワイトリスト評価指標算出装置10は、誤検知リスク算出部20を呼出し、誤検知リスクを算出する。図14に示されるように、ある端末hのホワイトリストをWh、端末hの学習用活動ログ202をLh、ホワイトリスト作成時刻(日時)をTとおくと、誤検知リスクはf(Wh,Lh,T)、もしくはf値と表記される。具体的な算出の手順は後述する。
次に、処理ステップS103で、ホワイトリスト評価指標算出装置10は、検知見逃しリスク算出部30を呼出し、検知見逃しリスクを算出する。図14に示されるように、検知見逃しリスクはg(Wh,Lh,T)、もしくはg値と表記される。具体的な算出方法は後述する。
次に、処理ステップS104で、ホワイトリスト評価指標算出装置10は、f値およびg値を基に、評価指標(WL_index)を算出する。本実施例では図14に示されるように、評価指標はf値とg値の重み付き調和平均となる。図14に示した重み付けパラメータθは、検知見逃しリスクに比べて、誤検知リスクをどの程度重要視するのかを調整するためのパラメータである。
θ>1であるならば、誤検知リスクは検知見逃しリスクより重要視される。反対に、θ<1であるならば、検知見逃しリスクは誤検知リスクより重要視される。θは予めユーザにより設定されてもよい。
なお、評価指標は、f値とg値から構成される数式であれば、他の実施形態をとりうる。例えば、f値とg値の算術平均(f値+g値)を評価指標としてもよい。また、演算上、f値とg値は同じ値域を持つものとする。例えば、f値とg値ともに0から1までの値を持つ。
最後に、処理ステップS105で、ホワイトリスト評価指標算出装置10は、算出した評価指標を含む評価結果204のメッセージを準最適ホワイトリスト探索装置40に送信し、評価指標算出100としての処理を終了する。
図8に示した処理ステップは、評価指標再算出110における処理ステップの例であってもよい。ホワイトリスト評価指標算出装置10は、処理ステップS101でホワイトリストを含む再評価要求303のメッセージと再評価用活動ログ304のメッセージを受信し、処理ステップS105で再評価結果305のメッセージを送信してもよい。
図9は、処理ステップS102で呼び出される誤検知リスク算出部20の、処理ステップの例を示す図である。図9に示した処理ステップは、誤検知リスク算出プログラム122のフローチャートの例でもある。このため、図9の説明において主語となる誤検知リスク算出部20は、CPU11あるいはホワイトリスト評価指標算出装置10と読み換えられてもよい。
処理ステップS201で、誤検知リスク算出部20は、リスク算出対象として、処理ステップS101において受信された活動ログと、受信されている場合は受信されたホワイトリストを、処理ステップS101の処理から受信する。
処理ステップS202で、誤検知リスク算出部20は、受信された活動ログの中から、受信されたホワイトリストに含まれていない活動ログ(活動ログのレコード)を抽出する。受信されたホワイトリストが無い場合すなわち評価指標算出100の場合などは、受信された活動ログそのものが抽出されてもよいし、予め設定された抽出用の活動ログが抽出されてもよい。
ホワイトリストに含まれていない条件は、例えばホワイトリストが図6に示した例であり活動ログが図5に示した例である場合、活動端末63と活動内容64の情報の組合せが、活動端末72と活動内容73の情報の組合せのいずれとも一致しないレコードという条件であってもよい。
処理ステップS203で、誤検知リスク算出部20は、処理ステップS202で抽出した、ホワイトリストに含まれない活動ログを基に、時刻ごとのペナルティを算出する。ペナルティは、[t-window, t]のように、基準となる時刻tから一定のwindow幅(例えば予め設定された一時間)内で観測された、活動ログの数を基に規定される。
ペナルティの具体的な算出処理は、誤検知リスク算出部20の中の誤検知スコア基準部22の処理により決まる。例えば、window内の活動ログ数をNとすると、ペナルティはN、Nの二乗、Nの対数、Nの指数などであってもよい。時刻ごとにペナルティを算出する際は、誤検知リスク算出部20の中のログシミュレータ21により、時間軸に沿って活動ログを走査する。
ここでは、[t-window, t]のペナルティを算出した次は、[t+Δt-window, t+Δt]のペナルティを算出するものとする。なお、Δtはwindowと比べて、十分小さい時間幅(例えば予め設定された1秒、10秒、1分)である。そして、t+Δtを新たな時刻tとして、Δtずつwindowをずらしながら時間軸に沿ってペナルティを算出して行く。
処理ステップS204で、誤検知リスク算出部20は、処理ステップS203で算出した複数のペナルティを基に、誤検知スコアを算出する。この算出のために、算出した各ペナルティにΔtを掛け合わせた値の合計値が求められる。
ここで求めた誤検知スコアは、0以上の実数である。しかし、評価指標を算出する際には、f値とg値は同じ値域を持つ必要があるため、誤検知リスク算出部20は誤検知スコアを正規化する。
処理ステップS205で、誤検知リスク算出部20は、誤検知スコアの正規化のために、エントリが登録されていない空のホワイトリストに対する誤検知スコアを算出する。エントリが1つ以上登録さているホワイトリストの誤検知スコアは、空のホワイトリストに対する誤検知スコア以下になる。
処理ステップS206で、誤検知リスク算出部20は、処理ステップS204で算出した誤検知スコアを、処理ステップS205で算出した空ホワイトリストの誤検知スコアで除算し、この除算により得られた値をf値とする。
図10は、処理ステップS103で呼び出される検知見逃しリスク算出部30の処理ステップの例を示す図である。図10に示した処理ステップは、検知見逃しリスク算出プログラム123のフローチャートの例でもある。このため、図10の説明において主語となる検知見逃しリスク算出部30は、CPU11あるいはホワイトリスト評価指標算出装置10と読み換えられてもよい。
処理ステップS301で、検知見逃しリスク算出部30は、リスク算出対象として、処理ステップS101において受信された活動ログと、受信されている場合は受信されたホワイトリストを、処理ステップS101の処理から受信する。
受信されたホワイトリストが無い場合すなわち評価指標算出100の場合などは、以下で説明する処理ステップS302〜S308をスキップし、予め設定された値をg値としてもよい。g値としての予め設定される値は0であってもよい。あるいは、受信されたホワイトリストが無い場合、予め設定された計算用のホワイトリストが、以下の処理ステップで、受信されたホワイトリストの代わりに処理されてもよい。
処理ステップS302で、検知見逃しリスク算出部30は、運用時攻撃見逃しリスク算出部31を用いて、受信されたホワイトリストの各エントリに対する運用時攻撃見逃しリスクを設定する。ここでは、受信されたホワイトリストの各エントリに同一の値を設定してもよいし、何らかのナレッジにもとづきエントリごとに違う値を設定してもよい。
処理ステップS303で、検知見逃しリスク算出部30は、学習時攻撃混入リスク算出部32を用いて、受信されたホワイトリストの各エントリに対する学習時の攻撃混入のリスクを算出する。このリスクの算出については図11を用いて説明する。
処理ステップS304で、検知見逃しリスク算出部30は、重点警戒活動リスク算出部33を用いて、受信されたホワイトリストの各エントリが重点警戒活動の場合は、重点警戒活動DB90で規定された重点リスク93を設定する。
処理ステップS305で、検知見逃しリスク算出部30は、処理ステップS302で設定されたリスク、処理ステップS303で算出されたリスク、および処理ステップS304で設定されたリスクを統合して、エントリごとの見逃しスコアgseを算出する。統合するために、検知見逃しリスク算出部30は、3種類のリスク(値)を合計してもよいし、最大値を取ってもよいし、一般的な算術演算を用いてもよい。
処理ステップS306で、検知見逃しリスク算出部30は、受信されたホワイトリストの各エントリに対して算出されたgseを合計し、ホワイトリストの検知見逃しスコアを算出する。
処理ステップS307で、検知見逃しリスク算出部30は、受信された活動ログそのもののレコードの情報を、ホワイトリストのエントリとして持つ仮想的なホワイトリストであるfullホワイトリストの検知見逃しスコアを算出する。処理ステップS306で算出した検知見逃しスコアは、必ず、fullホワイトリストの検知見逃しスコア以下の値を持つ。
処理ステップS308で、検知見逃しリスク算出部30は、処理ステップS306で算出した検知見逃しスコアを、fullホワイトリストの検知見逃しスコアで除算し、g値を算出する。
図11は、処理ステップS303で呼び出される学習時攻撃混入リスク算出部32の処理ステップの例を示す図である。図11に示した処理ステップは、学習時攻撃混入リスク算出プログラム124のフローチャートの例でもある。このため、図11の説明において主語となる学習時攻撃混入リスク算出部32は、CPU11あるいはホワイトリスト評価指標算出装置10と読み換えられてもよい。
一般に、標的型サイバー攻撃の発生から発見には時間がかかり、場合によっては最大で数カ月程度かかるとされている。このため、ホワイトリスト作成時刻(日時)Tから見て最近観測された活動ログの中には、標準型サイバー攻撃がホワイトリストに反映されず、標的型サイバー攻撃に起因する活動が含まれている可能性が高い。
このため、学習時攻撃混入リスク算出部32は、図14に示されるホワイトリスト作成時刻(日時)Tと、活動ログの観測日時62の日時の差を基に、各活動に対するリスクを算出する。
図5に示した活動ログDB60の例では、ホワイトリスト作成時刻(日時)Tが、ID61が「5」であるレコードの観測日時62の日時以降であるとすると、ID61が「5」であるレコードの観測日時62の日時は、ID61が「1」から「4」のレコードの観測日時62の日時と比べて、日時が2か月新しいため、相対的に大きなリスクが付与される。
処理ステップS311で、学習時攻撃混入リスク算出部32は、処理ステップS301の処理からホワイトリストと活動ログを受信する。
処理ステップS312で、学習時攻撃混入リスク算出部32は、受信されたホワイトリストに含まれるエントリの活動内容73ごとに、活動内容64が等しいレコードを、受信された活動ログの中から特定し、特定したレコードの観測日時62の日時が最も過去のレコードを選択する。
処理ステップS313で,学習時攻撃混入リスク算出部32は、受信されたホワイトリストのエントリの活動内容73ごとに処理ステップS314〜S315を繰り返し、1つのエントリの活動内容73ごとの繰り返しが終了すると、次のエントリに繰り返しの対象を移動する。
処理ステップS314で、学習時攻撃混入リスク算出部32は、繰り返しの中で対象となった(ホワイトリストの)活動内容73の内容と一致する内容を(活動ログの)活動内容64に持つレコードであって、処理ステップS312で選択したレコードの観測日時62の日時と、ホワイトリスト作成時刻(日時)Tとの日時差を算出する。
処理ステップS315で、学習時攻撃混入リスク算出部32は、算出した日時差を基に、学習時攻撃混入リスクを算出する。この場合、日時差が小さい程、リスクが高くなるように算出する。この算出のために、例えば、テーブルが予め設定されて、日時差の一定区間ごとに、日時差をリスクにマッピングしてもよい。あるいは、日時差を引数としてリスクを戻り値とする関数を利用してもよい。
そして、学習時攻撃混入リスク算出部32は、受信されたホワイトリストにおいて繰り返しの中で対象となった活動内容73の内容(その内容を含むレコード)に、算出されたリスクを設定する。
以上で説明した学習時攻撃混入リスク算出部32の処理により、受信されたホワイトリストのエントリそれぞれの活動内容73の内容それぞれにリスクを設定することができる。ここで、活動内容73の内容が同じであれば、エントリ(活動端末72の端末)が異なっていても同じリスクとなる。
このようなリスクではあるが、受信された活動ログに古くから記録されていた活動の内容は、長い時間、標準型サイバー攻撃が発見されず、ホワイトリストから削除されていないのであるからリスクが低く、受信された活動ログに新たに記録された活動の内容は、時間的な理由だけで標準型サイバー攻撃が発見されていない可能性もあるのでリスクが高いという観点でリスクを算出することが可能となる。
図12は、準最適ホワイトリスト探索装置40のホワイトリスト探索400における処理ステップの例を示す図である。図12に示した処理ステップでは、評価値が最適解に近くなるようなホワイトリストを探索する。
探索においては、有限時間内に準最適なエントリの組合せを探索するために、一般的な組合せ最適化問題への解法が用いられてもよい。組合せ最適化のために機械学習が用いられてもよい。本実施例では、「遺伝的アルゴリズム」に基づく解法を適用する。
処理ステップS401で、準最適ホワイトリスト探索装置40は、端末ごとに、ランダムなエントリを持つN個のホワイトリストを作成する。これらのホワイトリストは準最適ホワイトリストの最初の候補群となる。これらのホワイトリストの情報として学習用活動ログ202あるいは再学習用活動ログ307が利用されてもよい。
処理ステップS402で、準最適ホワイトリスト探索装置40は、iラウンド目(最初のラウンドは0ラウンド目)の候補群の評価値を算出する。評価値の算出に際しては、評価要求203のメッセージをホワイトリスト評価指標算出装置10に送信し、算出を依頼する。
処理ステップS403で、準最適ホワイトリスト探索装置40は、iラウンド目において、処理S402で算出されたN個の評価値のうち最良の候補(本実施例では、評価値が最も値が0に近い候補)が、過去i−Pラウンド目の値と比べて(過去i−Pラウンド目のいずれの値と比べても)、予め設定された一定閾値以上良いかどうかを判定する。
そして、準最適ホワイトリスト探索装置40は、判定の結果が、YESの場合は処理を終了し、判定の結果がNOの場合は処理ステップS404に進む。処理の終了において、準最適ホワイトリスト探索装置40は、最良の候補となったホワイトリストを送信してもよい。また、送信されるホワイトリストには、最良の候補と判定された評価値が、評価値74として設定されてもよい。
処理ステップS404で、準最適ホワイトリスト探索装置40は、iラウンド目の候補群を基に、i+1ラウンド目の候補群を作成する。候補群の作成には、iラウンド目の候補群のうち相対的に評価値が良かった複数の優秀解をi+1ラウンド目に引き継ぐと共に、それらを交叉させ、新しいホワイトリストを作成する。さらに、優秀解にランダムな変更を加えてもよいし、一定の割合で、ゼロから新しい候補を作ってもよい。
なお、準最適ホワイトリスト探索装置40は、ホワイトリスト再探索410において、再探索要求306を受信すると、図12に示した処理ステップをスタートし、図3では図示を省略したホワイトリスト評価指標算出装置10への再評価要求の送信とホワイトリスト評価指標算出装置10からの再評価結果の受信を実行してもよい。
図13は、再学習必要性判定装置50の再学習判定500と再学習処理510の処理ステップの例を示す図である。再学習判定500は、定期的(例えば予め設定された一週間ごと)に呼ばれて実行し、再学習判定500の判定結果に応じて再学習処理510が実行する。処理ステップS501〜S504は再学習判定500に対応し、処理ステップS505は再学習処理510に対応する。
処理ステップS501で、再学習必要性判定装置50は、ホワイトリストDB70から、ホワイトリスト取得302のメッセージにより、端末群80の端末ごとにホワイトリストを取得する。このホワイトリストには、ホワイトリストが作成された時の評価値74の値が含まれる。
処理ステップS502で、再学習必要性判定装置50は、再評価要求303のメッセージにより、ホワイトリスト評価指標算出装置10に対して、直近一定期間(例えば予め設定された一週間ごと)の活動ログを基にした評価指標の再算出を要求する。再算出された評価指標は、再評価結果305のメッセージにより取得される。
処理ステップS503で、再学習必要性判定装置50は、処理ステップS502で取得した再評価結果305の値と、処理ステップS501で取得した評価値74の値との差異を算出する。ここでの差異は、両評価値の比率や減算結果などの算術的な処理により算出される。
ここで、評価値74に複数の値が含まれる場合、評価値74に含まれる複数の値の代表値が差異の算出の対象となってもよい。例えば、評価値74に含まれる複数の値の最小値であってもよいし、最大値であってもよいし、平均値などであってもよい。
処理ステップS504で、再学習必要性判定装置50は、処理ステップS503で算出された差異が、予め設定された閾値以上であるかどうかを判定する。そして、再学習必要性判定装置50は、差異が閾値未満と判定した場合は処理を終了し、差異が閾値以上と判定した場合は処理ステップS505に進む。
処理ステップS505で、再学習必要性判定装置50は、再探索要求306のメッセージにより、ホワイトリストの再作成(再探索)を、準最適ホワイトリスト探索装置40に依頼する。その結果は再探索結果308のメッセージとして受信され、受信されたホワイトリストは、ホワイトリスト再登録309のメッセージを通じて、ホワイトリストDB70に登録される。
以上で説明したように、誤検知のリスクと検知見逃しのリスクの2つのリスクに基づいてホワイトリストの質を評価することが可能となる。また、2つのリスクは、活動ログとホワイトリストから算出できるため、個別のマルウェアや攻撃の解析を必要とせず、この点において評価のための処理負荷を軽減することが可能となる。
ホワイトリストの質を評価できるため、評価に基づきホワイトリストの登録内容を更新することも可能となる。また、ホワイトリストの質を評価できるため、評価に基づきホワイトリストを更新するタイミングを決めることも可能となる。
10・・・ホワイトリスト評価指標算出装置、20・・・誤検知リスク算出部、30・・・検知見逃しリスク算出部、40・・・準最適ホワイトリスト探索装置、50・・・再学習必要性判定装置、60・・・活動ログDB、70・・・ホワイトリストDB、80・・・端末群

Claims (13)

  1. ネットワークで接続された複数の端末のためのホワイトリスト管理システムであって、
    前記端末の活動が記録された活動ログと、
    前記端末の活動に対するホワイトリストと、
    前記活動ログに記録された正常活動が前記ホワイトリストに含まれていないことから誤検知するリスクを算出し、前記活動ログに記録された異常活動が前記ホワイトリストに含まれていることから検知を見逃すリスクを算出し、算出された誤検知するリスクと見逃すリスクに基づいて、前記ホワイトリストを評価する評価算出装置と、
    を備えたことを特徴とするホワイトリスト管理システム。
  2. 請求項1に記載のホワイトリスト管理システムであって、
    前記活動ログは、活動と活動の発生した時刻が記録され、
    前記ホワイトリストは、正常とみなす活動が記録され、
    前記評価算出装置は、
    前記ホワイトリストに含まれない活動を、前記活動ログに記録された活動から抽出し、抽出した活動を基に、誤検知するリスクを算出すること
    を特徴とするホワイトリスト管理システム。
  3. 請求項2に記載のホワイトリスト管理システムであって、
    前記評価算出装置は、
    前記ホワイトリストに含まれない活動を、前記活動ログに記録された活動から抽出し、抽出した活動の発生した時刻が予め設定された一定期間に入る活動の個数を基に、誤検知するリスクを算出すること
    を特徴とするホワイトリスト管理システム。
  4. 請求項2に記載のホワイトリスト管理システムであって、
    前記評価算出装置は、
    検知を見逃すリスクの算出において、前記ホワイトリストに含まれる活動を、前記活動ログに記録された活動から抽出し、抽出した活動を基に、第1のリスクを算出すること
    を特徴とするホワイトリスト管理システム。
  5. 請求項4に記載のホワイトリスト管理システムであって、
    前記評価算出装置は、
    検知を見逃すリスクの算出において、前記ホワイトリストに含まれる活動を、前記活動ログに記録された活動から抽出し、抽出した活動の発生した時刻が、前記ホワイトリストの作成時刻より、活動の内容ごとに最も古い時刻の活動を選択し、選択した第1の活動の最も古い第1の時刻と前記ホワイトリストの作成時刻との第1の時間差が、選択した第2の活動の最も古い第2の時刻と前記ホワイトリストの作成時刻との第2の時間差より小さい場合、第1の活動のリスクを第2の活動のリスクより大きくなるように第1のリスクを算出すること
    を特徴とするホワイトリスト管理システム。
  6. 請求項4に記載のホワイトリスト管理システムであって、
    前記評価算出装置は、
    検知を見逃すリスクの算出において、前記ホワイトリストに記録された活動に対して、予め設定された第2のリスクを設定すること
    を特徴とするホワイトリスト管理システム。
  7. 請求項6に記載のホワイトリスト管理システムであって、
    前記端末の活動の内容に対するリスクが設定された重点警戒活動リスクのリストをさらに備え、
    前記評価算出装置は、
    検知を見逃すリスクの算出において、前記ホワイトリストに記録された活動に対して前記重点警戒活動リスクのリストに記録された第3のリスクを設定すること
    を特徴とするホワイトリスト管理システム。
  8. 請求項7に記載のホワイトリスト管理システムであって、
    前記評価算出装置は、
    算出された第1のリスク、設定された第2のリスク、および設定された第3のリスクに基づいて、検知を見逃すリスクを算出すること
    を特徴とするホワイトリスト管理システム。
  9. 請求項8に記載のホワイトリスト管理システムであって、
    前記評価算出装置は、
    算出された誤検知するリスクを正規化し、算出された見逃すリスクを正規化し、正規化した各リスクの重み付き調和平均を算出すること
    を特徴とするホワイトリスト管理システム。
  10. 請求項1に記載のホワイトリスト管理システムであって、
    前記活動ログの中から活動ログを抽出し、ホワイトリストの候補を生成し、前記評価算出装置が、抽出した活動ログを前記活動ログとして用い、生成したホワイトリストの候補を前記ホワイトリストとして用いるよう制御するホワイトリスト探索装置を、さらに備えたことを特徴とするホワイトリスト管理システム。
  11. 請求項10に記載のホワイトリスト管理システムであって、
    前記ホワイトリスト探索装置は、
    ホワイトリストの第1の候補群を生成し、第1の候補群の中の各候補に対する前記評価算出装置による評価が、第1の候補群の中で最も良い評価の候補であって、第1の候補群より前に生成した第2の候補群の中で最も良い評価の候補の評価よりも、予め設定された閾値以上に良い評価の候補を、新たなホワイトリストとすること
    を特徴とするホワイトリスト管理システム。
  12. 請求項10に記載のホワイトリスト管理システムであって、
    前記ホワイトリストを取得し、取得したホワイトリストを前記ホワイトリストとして用いて評価するように前記評価算出装置を制御し、前記評価算出装置による評価と、取得したホワイトリスト作成時の評価との差異に基づいて、再学習をするか否かを判定する再学習判定装置を、さらに備えたことを特徴とするホワイトリスト管理システム。
  13. 請求項12に記載のホワイトリスト管理システムであって、
    前記再学習判定装置は、
    再学習すると判定すると、前記ホワイトリスト探索装置が新たなホワイトリストを生成するように制御すること
    を特徴とするホワイトリスト管理システム。
JP2018040843A 2018-03-07 2018-03-07 ホワイトリスト管理システム Active JP6857627B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018040843A JP6857627B2 (ja) 2018-03-07 2018-03-07 ホワイトリスト管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018040843A JP6857627B2 (ja) 2018-03-07 2018-03-07 ホワイトリスト管理システム

Publications (2)

Publication Number Publication Date
JP2019159383A JP2019159383A (ja) 2019-09-19
JP6857627B2 true JP6857627B2 (ja) 2021-04-14

Family

ID=67996912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018040843A Active JP6857627B2 (ja) 2018-03-07 2018-03-07 ホワイトリスト管理システム

Country Status (1)

Country Link
JP (1) JP6857627B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4542544B2 (ja) * 2006-12-28 2010-09-15 キヤノンItソリューションズ株式会社 通信データ監視装置および通信データ監視方法およびプログラム
US7640589B1 (en) * 2009-06-19 2009-12-29 Kaspersky Lab, Zao Detection and minimization of false positives in anti-malware processing
JP6408395B2 (ja) * 2015-02-09 2018-10-17 株式会社日立システムズ ブラックリストの管理方法
JP6320329B2 (ja) * 2015-03-12 2018-05-09 株式会社東芝 ホワイトリスト作成装置
WO2017068714A1 (ja) * 2015-10-23 2017-04-27 株式会社日立製作所 不正通信制御装置および方法

Also Published As

Publication number Publication date
JP2019159383A (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
US10587640B2 (en) System and method for attribution of actors to indicators of threats to a computer system and prediction of future threat actions
US8479296B2 (en) System and method for detecting unknown malware
RU2477929C2 (ru) Система и способ предотвращения инцидентов безопасности на основании рейтингов опасности пользователей
US8805995B1 (en) Capturing data relating to a threat
US7877806B2 (en) Real time malicious software detection
US8191149B2 (en) System and method for predicting cyber threat
US20220201042A1 (en) Ai-driven defensive penetration test analysis and recommendation system
US10691796B1 (en) Prioritizing security risks for a computer system based on historical events collected from the computer system environment
US20170208085A1 (en) System and Method for Prediction of Future Threat Actions
Chen et al. An efficient network intrusion detection
US8726391B1 (en) Scheduling malware signature updates in relation to threat awareness and environmental safety
CN113225349B (zh) 恶意ip地址威胁情报库建立、防止恶意攻击方法及装置
US20130139165A1 (en) System and method for distributing processing of computer security tasks
US20210120022A1 (en) Network security blacklist derived from honeypot statistics
US20170061126A1 (en) Process Launch, Monitoring and Execution Control
KR102222377B1 (ko) 위협 대응 자동화 방법
CN113660224A (zh) 基于网络漏洞扫描的态势感知防御方法、装置及系统
US20170142147A1 (en) Rating threat submitter
CN112738107B (zh) 一种网络安全的评价方法、装置、设备及存储介质
EP3623983A1 (en) Method and device for identifying security threats, storage medium, processor and terminal
US11431748B2 (en) Predictive crowdsourcing-based endpoint protection system
Wang et al. Threat Analysis of Cyber Attacks with Attack Tree+.
CN117478433B (zh) 一种网络与信息安全动态预警系统
CN116827697B (zh) 网络攻击事件的推送方法、电子设备及存储介质
RU2481633C2 (ru) Система и способ автоматического расследования инцидентов безопасности

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210322

R150 Certificate of patent or registration of utility model

Ref document number: 6857627

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150