JP6800744B2 - ホワイトリスト作成装置 - Google Patents

ホワイトリスト作成装置 Download PDF

Info

Publication number
JP6800744B2
JP6800744B2 JP2016255757A JP2016255757A JP6800744B2 JP 6800744 B2 JP6800744 B2 JP 6800744B2 JP 2016255757 A JP2016255757 A JP 2016255757A JP 2016255757 A JP2016255757 A JP 2016255757A JP 6800744 B2 JP6800744 B2 JP 6800744B2
Authority
JP
Japan
Prior art keywords
whitelist
activity
terminal
correlation
activities
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
JP2016255757A
Other languages
English (en)
Other versions
JP2018106634A (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 JP2016255757A priority Critical patent/JP6800744B2/ja
Publication of JP2018106634A publication Critical patent/JP2018106634A/ja
Application granted granted Critical
Publication of JP6800744B2 publication Critical patent/JP6800744B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、ホワイトリスト作成装置に係り、業務システムに新規導入される端末に対するホワイトリストを短期間で作成して、システムの可用性を向上させるのに好適なホワイトリスト作成装置に関する。
近年、情報漏えいや不正アクセスなどの脅威をもたらすコンピュータウイルスやスパイウェア、ボットプログラムといった悪意ある不正プログラム(マルウェア)が増加している。マルウェアの脅威からシステムやネットワークを防御するためには、最初に、マルウェアを検知する必要がある。ここで、マルウェア検知には様々な方法があり、例えば、統計データに基づいてマルウェアを認識する方法があるが、このような方法では、検知に時間がかかるという問題がある。また、高度なマルウェアに対しては検知精度が低下するという問題がある。さらに、ここ数年では、高度なマルウェアを巧みに活用して特定の官庁や企業、組織のネットワークに侵入し、機密情報の窃取やシステム破壊をおこなういわゆる「標的型攻撃」が、セキュリティ上の大きな脅威となっている。
これらの攻撃に対する対策の一つとして、ホワイトリスト型の対策がある。ホワイトリスト型対策では、システム単位、端末単位、ユーザ単位で、業務に必要な正常な活動(特定のプロセスの起動、特定のWEBサーバへのアクセスなど)を予め定義し、ホワイトリストというデータベースに記録する。そして、ホワイトリスト作成後の業務中に、ホワイトリストに記録されていない活動が発見された場合、活動を実施したシステムや端末・ユーザは、攻撃を受けている可能性があると判断する。
ホワイトリストの作成方法には様々あるが、最も一般的なものは、攻撃が発生していないことが何らかの手段で保証されている一定期間内に、端末がおこなった活動をホワイトリストに記録する方法である。以下では、ホワイトリスト作成にかかる期間を「学習期間」、学習後、実際にホワイトリストを使って攻撃を検知する期間を「運用期間」と呼称する。
ここで、ホワイトリスト運用の課題の一つとして、ホワイトリスト作成後の運用期間中に、端末が学習期間に、たまたまおこなわなかった活動を業務の一環として実施した場合、誤検知が発生するということがある。誤検知を防ぐために最も容易に想定しうる対策は、学習期間長くとり、抜け漏れが無いホワイトリストを作ることである。しかしながら、学習期間の長大化は、(1)攻撃が無いことを保証する必要がある期間が増えるため運用コストが増大する(2)学習期間中に攻撃をおこなうマルウェアによる活動が、ホワイトリストに混入するリスクが高くなるという問題が生じる。
このような問題に対して、特許文献1では、運用期間中、端末でホワイトリストに載っていないプログラムが起動した場合、電子署名などを検証し、害が有るものか否かを判断する。そして、害が無いと判断された場合は、ホワイトリストに追加することにより、誤検知を防止する情報処理システムが開示されている。
特開2014−96143号公報
特許文献1に記載されたシステムでは、対象となる端末では、あくまで基準となるホワイトリストを作成済みであることを前提としている。しかしながら、実際の業務システムでは、様々な理由で、運用中においても新規端末が導入される。これらの新規端末は、導入時にはホワイトリストを有していないため新規にホワイトリストを作成することが必要になる。このため、頻繁に新規端末が導入されるシステムでは、学習期間中の端末が存在する期間が多くなり、上述のような運用コストの増大や、マルウェアによる活動が混入するという問題点は解決されない。
本発明の目的は、ホワイトリスト型のセキュリティを導入する業務システムにおいて、新規導入端末へのホワイトリスト作成に必要な学習期間を短縮化するようにして、運用コストを低減し、セキュリティを確保しつつシステムの可用性を向上させることある。
本発明のホワイトリスト作成装置の構成は、業務システムで実行される活動をホワイトリストとして記録するホワイトリストを作成するホワイトリスト作成装置であって、既存運用端末のホワイトリストを保持する手段と、新規導入端末で一定期間内に発生した活動を記録する手段と、新規導入端末で一定期間内で発生した活動と、既存運用端末のホワイトリストとして記録された活動の相関性を算出する手段とを有するものである。そして、一定期間内で発生した活動と既存運用端末のホワイトリストとして記録された活動の相関性に基づいて関連付け、新規導入端末で一定期間内で発生した活動と、その関連付けられた活動とを前記新規導入端末での新たなホワイトリストとして、記録する。
本発明によれば、ホワイトリスト型のセキュリティを導入する業務システムにおいて、新規導入端末へのホワイトリスト作成に必要な学習期間を短縮化するようにして、運用コストを低減し、セキュリティを確保しつつシステムの可用性を向上させることができる。
一実施形態に係る業務システムにおけるホワイトリスト作成の処理概要を示す図である。 一実施形態に係る業務システムのシステム構成図である。 ホワイトリスト作成装置のハードウェア・ソフトウェア構成図である。 活動記録テーブル100の一例を示す図である。 既存運用端末ホワイトリスト200の一例を示す図である。 活動相関ルールテーブル300の一例を示す図である。 活動相関性テーブル400の一例を示す図である。 インスタントホワイトリスト500の一例を示す図である。 実績記録テーブル600の一例を示す図である。 活動情報受信部1000の処理を示すフローチャートである。 ホワイトリスト作成部の処理を示すフローチャートである。 活動相関性部の処理を示すフローチャートである。 インスタントホワイトリスト作成部の処理を示すフローチャートである。 学習スロットの概念を説明する図である。
以下、本発明に係る一実施形態を、図1ないし図14を用いて説明する。
本実施形態では、3台の既存運用端末から構成される業務システムを想定する。そして、1台の新規導入端末が導入された際に、既存の3台の端末のホワイトリストを基に、新規導入端末用のホワイトリストであるインスタントホワイトリストを作成するものとする。
先ず、図1を用いて一実施形態に係る業務システムにおけるホワイトリスト作成の処理概要について説明する。
先ず、既存運用端末において、学習期間が終了したタイミングでホワイトリストが作成される。ここで、既存運用端末での学習期間の長さを、Ltimeと表記することとする。
その後、新規導入端末が導入され、インスタントホワイトリストを作成する。インスタントホワイトリストとは、本実施形態の業務システムにおいて、学習期間の活動(上記のように、特定のプロセスの起動、特定のWEBサーバへのアクセスなど、後に詳述)のほかに、既存のホワイトリストに基づいて、作成されるホワイトリストであり、「インスタント」とは、通常のホワイトリストより短期間で作成可能であることを示唆している。インスタントホワイトリストの学習期間の長さの最大値は、Ltime′であるとする。ここで、Ltime′<Ltimeが成り立つ。Ltime′は、あくまで最大値であり、条件によっては、学習はLtime′よりも短い期間で完了する。インスタントホワイトリストは、新規導入端末がLtime′中に発生する活動、既存運用端末のホワイトリストを基に作成される。
次に、図2および図3を用いて本発明の一実施形態に係る業務システムのシステム構成と、データフローについて説明する。
本実施形態の業務システムは、図2に示されるように、ホワイトリスト作成装置10、既存運用端末X20a、既存運用端末X20b、既存運用端末Z20c、新規導入端末30、通信ネットワーク40からなる。また、ホワイトリスト作成装置10は、オペレータ50によって操作される。
ホワイトリスト作成装置10は、既存運用端末のホワイトリストと新規導入端末のインスタントホワイトリストを作成し、それらを管理する装置である。
活動情報受信部1000は、既存運用端末X20a、既存運用端末Y20b、既存運用端末Z20cから活動情報1を受信し、新規導入端末30から活動情報2を受信する。活動情報1、活動情報2には、各端末の活動状況(いつ、どのような活動をおこなったか)の情報が含まれる。活動情報1と活動情報2は、各端末にエージェントプログラムを導入して記録してもよいし、通信ネットワーク40上での通信を取得してもよい。活動の種類としては、プロセス起動、WEB通信、ファイルアクセス、レジストリアクセスなど、通常の端末がおこなう活動が含まれる。活動情報受信部1000は、取得した活動情報を、通信ネットワーク40を介して受信し、活動記録テーブル100に記録する。また、活動情報を送信した端末が運用中の場合は、ホワイトリスト照合の判定結果を実績記録テーブル600に記録する。
実績記録テーブル600は、運用中の端末のホワイトリストに関する情報を記録するテーブルであり、運用中のホワイトリストに含まれている活動が発生した回数、含まれなかった活動が発生した回数を管理する。
ホワイトリスト作成部1100は、活動記録テーブル100に格納された活動情報に基づいて、既存運用端末向けのホワイトリストを作成して、既存運用端末ホワイトリスト200に格納する。
活動相関性算出部1200は、既存運用端末ホワイトリスト200と活動相関ルールテーブル300に基づいて、活動間の相関を算出して活動相関性テーブル400に格納する。
インスタントホワイトリスト作成部1300は、新規導入端末30の活動記録テーブル100および活動相関性テーブル400を基に、新規導入端末30のインスタントホワイトリストを作成して、インスタントホワイトリスト500に格納する。
既存運用端末X20a、既存運用端末Y20b、既存運用端末Z20c、新規導入端末30は、一般的なパーソナルコンピュータ、サーバ、スマートフォン、モバイル端末など計算機リソース(ハードウェアリソース、ソフトウェアリソース)をもつものがこれに該当する。
通信ネットワーク40は、WAN(World Area Network)やLAN(Local Area Network)、携帯電話、PHS等と通信する公衆回線網でもよい。各装置間の通信は、通信ネットワーク40を介しておこなわれる。
オペレータ50は、ホワイトリスト作成装置10を、操作部3を介して各部をコントロールする。操作内容としては、既存運用端末ホワイトリストの作成、活動相関性算出、インスタントホワイトリストの作成がある。また、適時、インスタントホワイトリスト500と既存運用端末ホワイトリスト200にアクセスし、ホワイトリストの手動更新など変更を実施する。
次に、図3を用いてホワイトリスト作成装置10のハードウェア構成とソフトウェア構成について説明する。
ホワイトリスト作成装置10は、図3に示されるように、CPU(Central Processing Unit)11、主メモリ12、外部記憶装置13、ネットワークI/F(Interface)14、入出力装置15がバス16により接続された構成である。
CPU11は、ホワイトリスト作成装置10の各部を制御し、主メモリ12内に記憶されているプログラムを実行し、各機能部(活動情報受信部1000、ホワイトリスト作成部1100、活動相関性算出部1200、インスタントホワイトリスト作成部1300)の機能を実現する。
主メモリ12は、揮発性の半導体メモリであり、外部記憶装置13からロードされたプログラム、ワークデータなどを格納する。
外部記憶装置13は、HDD(Hard Disk Drive)、SDD(Solid State Drive)などの磁気記憶装置や不揮発性の半導体記憶装置から構成され、データの長期記憶をおこなうのに用いられる。外部記憶装置13は、ホワイトリスト作成装置10に含まれる各テーブル(活動記録テーブル100、既存運用端末ホワイトリスト200、活動相関ルールテーブル300、活動相関性テーブル400、インスタントホワイトリスト500、実績記録テーブル600)を格納する。また、外部記憶装置13には、ホワイトリストの機能を実現するプログラム群(活動情報受信プログラム31、ホワイトリスト作成プログラム32、活動相関性算出プログラム33、インスタントホワイトリスト作成プログラム34)がインストールされる。活動情報受信プログラム31、ホワイトリスト作成機能プログラム32、活動相関性算出機能プログラム33、インスタントホワイトリスト作成プログラム34は、それぞれ、図2に示した活動情報受信部1000、ホワイトリスト作成部1100、活動相関性算出部1200、インスタントホワイトリスト作成部1300の機能を実現するプログラムである。
ネットワークI/F14は、ホワイトリスト作成装置10を通信ネットワーク40に接続し、データを送受信するインタフェースを取り持つ部分である。
入出力装置15は、ホワイトリスト作成装置10を、ユーザおよび管理者により、各種情報の入力、および格納されている情報の出力をおこなう装置であり、例えば、液晶ディスプレイ、タッチパネル、キーボード、マウス、プリンタなどである。
バス16は、CPU11、メモリ12、外部記憶装置13、ネットワークI/F14、入出力装置15を接続し、機能間の情報のやりとりを実現する。
なお、既存運用端末、新規導入端末30のハードウェア構成も、ホワイトリスト作成装置10と同様に、一般のコンピュータで実現することができる。
次に、図4ないし図9を用いてホワイトリスト作成装置が用いるデータ構造について説明する。
活動記録テーブル100は、各端末で発生した活動を記録するためのテーブルであり、図4に示されるように、ID101、活動開始時刻102、活動端末103、活動タイプ104、活動内容105の各フィールドを有する。ID101には、各レコードを一意に識別するための識別子が格納される。活動開始時刻102には、活動が発生した時刻が格納される。活動端末103には、活動を実施した端末を一意に示す識別子が格納される。活動タイプ104には、活動の種類を示す識別子が格納される。具体例としては、プロセス、通信、ファイルアクセス、レジストリアクセスなどがある。活動内容105には、具体的な活動内容の情報が格納され、その内容は、活動タイプ104に依存する。例えば、活動タイプ104がプロセスの場合は、起動したプロセス名が、活動タイプ104が通信の場合は、通信先(URL(Uniform Resource Location)、IP(Internet Protocol)アドレス)などが記録される。
例えば、図4に示した例では、ID101=1のレコードには、活動開始時刻102は「2016−07−16 10:00」、活動端末103は「既存運用端末X」、活動タイプ104は「プロセス」、活動内容105は「P1」が設定されている。また、ID101=4のレコードには、活動開始時刻102は「2016−07−16 10:20」、活動端末103は「既存運用端末Z」、活動タイプ104は「通信」、活動内容105は「WEB1」が設定されている。
既存運用端末ホワイトリスト200は、各既存運用端末で生成されたホワイトリストを、各端末ごとに示すリストであり、図5に示されるように、ID201、端末202、ホワイト認定活動203の各フィールドを有する。ID201には、各ホワイトリストを一意に識別するための識別子が格納される。端末202には、対象となる端末を一意に識別するための識別子が格納される。ホワイト認定活動203には、ホワイトリストに含まれる活動が格納される。
図5に示した例では、ID201=1のレコードには、端末202=「既存運用端末X」のホワイト認定活動203は「P1,P3,P4,P5,P10,P14…」であることが示されている。
活動相関ルールテーブル300は、活動の相関を計量するためのルールを格納するテーブルであり、図6に示されるように、ID301、相関条件302、相関値算出303、重み304の各フィールドを有する。ID301には、相関性算出のルールを定めた各レコードを一意に識別するための識別子が格納される。相関条件302には、ある活動が当該レコードの対象に入るか否かを示す条件が格納される。相関値算出303には、具体的な相関性算出方法が格納される。このフィールドには、ピアソン相関係数やコサイン類似度(後述)など、一般的な相関性算出手法を用いてもよいし、独自の手法を用いてもよい。重み304には、相関値算出303の重み付けが格納される。
以上のように、活動相関ルールテーブル300は、各活動の相関性を定量的に算出するための指標(相関値の算出方法)、および、その重み付けが記録されている。活動の種類によって、算出するべき指標は異なる。例えば、二つの活動が共に、プロセス活動のときには、「プロセス名類似度」で相関を評価され、通信活動のときには、「ドメイン名類似度」で評価される如くである。そして、ある二つの活動の相関値は、相関条件が該当するレコードで求められた相関値算出303の加重平均により決定される。
図7に示した例では、ID301=1のレコードは、相関条件302が「全活動」、相関値算出303が「利用端末ベクトルのコサイン類似度」、重み304が「W1」であることを示している。
相関条件302の設定は、「全活動」となっているので、このレコードは全ての活動の類似度算出に用いられる。
ここで、利用端末ベクトルのコサイン類似度について説明する。利用端末ベクトルとは、個々の端末がその活動を実施したか否か、あるいは、その実施頻度を表現するベクトルである。ある活動の利用端末ベクトルは、各座標に端末の使用の有無を表すフラグを有するベクトルと定義する。本実施形態でのある活動Aの利用端末ベクトルは、(活動Aの既存端末Xの実施の有無,活動Aの既存端末Yの実施の有無,活動Aの既存端末Zの実施の有無)とする。例えば、図5の既存運用端末ホワイトリスト200の例によると、プロセスP1を実施した端末は、既存運用端末Xのみで、既存運用端末Yおよび既存運用端末Zはおこなっていない。このため、プロセスP1の利用端末ベクトルは、v1=(1,0,0)となる。また、同様にプロセスP4は2台の端末で実行されているため、利用端末ベクトルはv2=(1、1、0)となる。最後に、二つの利用端末ベクトルv1、v2のコサイン類似度は、v1・v2/(|v1||v2|)で求める。P1とP2の例では、1/√2となる。ここで、・は、ベクトルの内積を表し、||は、ベクトルの長さを表している。
ID301=2のレコードは、相関条件302が「プロセス活動」、相関値算出303が「プロセス名類似度」、重み304がW2であることを示している。ここでの相関条件302は「プロセス活動」なので、対象となる活動はプロセスのみである。プロセス名類似度は、各プロセスの名前の類似度であり、名称を評価するような任意の指標を用いることができる。具体的には、最小編集距離などの指標がある。
プロセス活動の相関の算出に際しては、この他にもプロセスの起動元となる実行ファイルのコンテンツの類似性、実行ファイルの作成期間の類似度なども、相関性算出に利用することができる。
ID301=3のレコードは、相関条件302が「通信活動」、相関値算出303が「ドメイン名類似度」、重み304がW3であることを示している。ここでの相関条件302は「通信活動」なので、対象となる活動は、通信のみである。ドメイン名類似度は、各通信の通信先ドメイン名の類似度であり、名称に関する任意の指標を用いることができる。具体的には、最小編集距離などの指標がある。
通信活動の相関の算出に際しては、この他にもドメイン名を逆引きしたIPアドレスの類似度、レジストラの類似度なども相関性算出に用いることができる。
以下、相関値の算出の具体例について説明する。例えば、相関値算出対象となる活動A1、A2が両方ともプロセスに関するものである時、ID301=1、ID302=2のレコードが適用され、相関値は、以下の(式1)で求めることができる。
Figure 0006800744
また、活動A1がプロセス、活動A2が通信と、種類が異なる場合は、ID301=1のルールのみが適用されるため、両者の相関値は、コサイン類似度(A1、A2)のみとなる。
活動相関性テーブル400は、各活動が属するクラスタを示したテーブルであり、図7に示されるように、ID401、相関クラスタ402、クラスタ要素403の各フィールドを有する。活動相関性テーブル400の各レコードは、活動相関ルールテーブル300に基づいたクラスタリング処理により、相関性が高いと判断された活動がグルーピングされて記載されている。ID401には、各グループを一意に識別するための識別子が格納される。相関クラスタ402には、各クラスタのクラスタ名称が格納される。クラスタ要素403は、各クラスタに含まれる活動の識別子が格納される。
図7に示した例では、ID401=1のレコードは、相関クラスタ402が「クラスタ1」、クラスタ要素403が「P4,P10」であるクラスタを示している。
インスタントホワイトリスト500は、新規導入端末のホワイトリストを示すテーブルであり、図8に示されるように、ID501、端末502、種別503、ホワイト認定活動504の各フィールドを有する。
ID501には、各レコードを一意に識別するための識別子が格納される。端末502には、対象となる端末の名称または識別子が格納される。種別503には、当該レコードに示されるホワイトリストが、端末が学習期間Ltime′中で実施した活動なのか、あるいは、後述の方法(図13)により追加された活動なのかを示す種別が格納される。前者であれば、種別503には「オリジナル」が、後者であれば「追加」が記載される。図5に示した既存運用端末ホワイトリスト200とは異なり、新規導入端末のインスタントホワイトリストは、複数のレコードにまたがって記載される。
図8の例では、ID501=1のレコードは、端末502が「新規導入端末」、種別503が「オリジナル」、ホワイト認定活動504が「P4,P5」であるホワイトリストを示している。
ID501=2のレコードは、端末502が「新規導入端末」、種別503が「追加」、ホワイト認定活動504が「P10,P14」であるホワイトリストを示している。
本例では、P4、P5を実施した新規導入端末のインスタントホワイトリストに、P10、P14も記載されることが示されている。これは、図7の活動相関性テーブル400に示されているように、P4とP10、およびP5とP14が同じクラスタに含まれるため、それぞれが「追加」で、ホワイトリストに加えられたものである(詳細は、図13により後述)。
実績記録テーブルは、各ホワイトリストの運用状況を統計として記録するテーブルであり、図9に示されるように、ID601、端末602、タイプ603、運用開始604、誤アラート数605、一致数606の各フィールドを有する。ID601には、各レコードを一意に識別するための識別子が格納される。端末602には、ホワイトリストが対象とする端末の名称または識別子が格納される。タイプ603には、対象とするホワイトリストの種類が格納される。タイプ603には、既存運用端末向けのホワイトリストなら「通常」、新規導入端末向けのインスタントホワイトリストなら「インスタント」が記載される。運用開始604には、当該ホワイトリストが運用された時期が格納される。誤アラート数605には、運用中に発生したホワイトリストに記載されていない活動のうち、その後の調査によってマルウェアや攻撃には類さないことが明らかになったものの件数が格納される。ここで、「誤アラート」という名称は、ホワイトリストに記載されていない活動が認められたときには、マルウェアでなくとも全てアラートを発生させることによるものである(図10により後述)。一致数606には、運用中に発生したホワイトリストに記載されている活動の数が格納される。
誤アラート数605と比べて一致数606が大きいホワイトリストは、精度が高い良好なホワイトリストと言える。反対に、誤アラート数が大きいホワイトリストは精度が低いホワイトリストであり、再度の学習が必要になる場合がある。
そのような場合には、オペレータ50は、実施状況を勘案し、良好なインスタントホワイトリストを、通常ホワイトリストに格上げしてもよい。通常ホワイトリストに格上げされたインスタントホワイトリストは、既存運用端末ホワイトリスト200に転載され、活動相関性テーブル400のレコードの作成に用いられる。
反対に、精度が低いホワイトリストについて、オペレータ50が運用から得られた知見に従って新しい活動を追加したり、ホワイトリストを破棄して、再度の学習をおこなう場合もある。
図9に示された例では、ID601=1のレコードは、端末602=「既存運用端末X」であり、タイプ603=「通常」、運用開始604=「2016/01/01」、誤アラート数605=「34444」、一致数606=「100000」である、ホワイトリストの運用実績を示すレコードを示している。
ID601=4のレコードは、端末602=「新規運用端末」であり、タイプ603=「インスタント」、運用開始604=「2016/09/01」、誤アラート数605=「3」、一致数606=「333013」である、ホワイトリストの運用実績を示すレコードである。
ここで、ID601=1のレコードは、他のレコードに比べて、誤アラート数605が非常に大きい。このため、オペレータ50は、既存運用端末Xを再学習対象と判断する場合がある。
一方、ID601=4のレコードは、他のレコードに比べて、誤アラート数605が小さい。このため、このレコードに示されるインスタントホワイトリストは、通常タイプのホワイトリストに格上げしてもよい。
次に、図10ないし図14を用いてホワイトリスト作成装置の処理について説明する。
先ず、図10を用いて活動情報受信部1000の処理について説明する。
活動情報受信部1000は、ホワイトリスト作成装置10の起動中、継続的に実行される。
先ず、活動情報受信部1000は、各端末から活動情報を受信する(S2001)。
次に、活動情報受信部1000は、受信した活動情報を活動記録テーブル100に追記する(S2002)。
活動情報受信部1000は、活動情報を送信した端末が運用中であるか否かを判断し(S2003)、運用中でない場合(S2003:No)には、すなわち、ホワイトリストの学習中である場合は、S2001に戻る。運用中の場合(S2003:Yes)には、S2004に進む。端末が運用中であるか学習中であるかは、図示しなかったが、システムの端末の運用履歴などを参照することにより知ることが可能である。
活動情報受信部1000は、S2001で受信した活動情報が、当該端末のホワイトリストに含まれるか否かを判断し(S2004)、含まれる場合(S2004:Yes)には、処理S2007に進み、含まれない場合には(S2004:No)、処理S2005に進む。
S2004がYesの場合には、活動情報受信部1000は、実績記録テーブル600を更新する(S2008)。この場合には、活動がホワイトリストに含まれるものなので、その分の一致数6060をインクリメントする。
S2004がNoの場合には、活動情報受信部1000は、ホワイトリストに含まれない活動に関するアラートをオペレータ50に通知する(S2005)。アラートの通知方法としては、表示装置におけるインタフェース画面への表示、EメールやSNMP(Simple Network Management Protocol)トラップ、独自の通信プロトコルの使用など、一般的にアラート送信に用いられる手段を用いる。
活動情報受信部1000は、アラートに対するフィードバックをオペレータ50から受信する(S2006)。フィードバックには、アラート対象となった活動がマルウェアや攻撃に類するものか、あるいは誤アラートかの情報が含まれる。
次に、活動情報受信部1000は、実績記録テーブル600を更新する(S2008)。活動がホワイトリストに含まれる場合は、該当レコードの一致数606をインクリメントする。一方、S2006で得られたフィードバックに誤アラートが含まれる場合は、その分の一致数6060をインクリメントする。更新処理の後、S2001に戻る。
次に、図11を用いてホワイトリスト作成部の処理について説明する。
ホワイトリスト作成部はオペレータ50の操作により実行される。
ホワイトリスト作成部1100は、過去Ltimeの間の、各既存運用中端末の活動を活動記録テーブル100より取得する(S2101)。なお、Ltimeとしては任意の期間を設定できるが、通常の運用では数週間から数か月が妥当の値と考えられる。
ホワイトリスト作成部1100は、S2101で取得した活動のうち、発生頻度が一定以上であるものを抽出する(S2102)。例えば、Ltimeの期間中での発生頻度が10回以上である活動を抽出する。
ホワイトリスト作成部1100は、S2102で抽出した活動をホワイト認定活動203とする既存運用端末ホワイトリスト200の新規レコードを作成・記録する(S2103)。
次に、図12を用いて活動相関性算出部1200の処理を説明する。
活動相関性算出部1200は、オペレータ50の操作により実行される。
先ず、活動相関性算出部1200は、既存運用端末ホワイトリスト200中のレコードを読み込む(S2201)。
活動相関性算出部1200は、読み込んだ複数の活動間の相関値を算出し、相関地に基づきクラスタリングをおこなう(S2202)。
最後に、活動相関性算出部1200は、クラスタリングの結果を、活動相関性テーブルに400に記録する(S2203)。
以下、クリスタリングの詳細について説明する。
相関値の算出には、活動相関ルールテーブル300に定義した各ルールを用いる。図5の既存運用端末ホワイトリスト200に示された例では、P4とP10は、いずれも既存運用端末X、既存運用端末Yで実行されているため、利用端末ベクトルのコサイン類似度が高く、相関値が高いと判断される。同様に、P5とP14、P8とP11も相関値が高いと判断される。逆に、その他の組合せ(例えば、P5とP8)では、相関値は低いと判断される。
クラスタリングに用いる方法は、相関値や距離(一般に、距離は相関値に反比例する)に基づくクラスタリングアルゴリズムであればよく、例えば、K−means法、2−means法、デンドログラムなどが対象となる。クラスタリングアルゴリズムには、個々の要素を集約してクラスタを再帰的に作成していくものと、一つのクラスタを再帰的にサブクラスタに分割していくものがあるが、どちらの方法についても、どこまでクラスタリングをおこなうかの基準が必要になる。この基準については任意に設定してもよいが、ここでは、特に2−means法を用いた場合の基準について説明する。
2−means法では、先ず、すべての活動を含む一つのクラスタを作り、K−means法を適用して再帰的に2分割していく。ここで、あるクラスタC={a1、a2,a3,a4}を、二つのサブクラスタC1={a1、a2}、C2={a3,a4}に分割するべきか否かの基準について述べる。後述の通り、Ltime′中にクラスタ内の一つの活動を実行した新規導入端末は、同一クラスタに含まれる他の活動を全てインスタントホワイトリストに持つことになる(図13により後述)。ここで、Cに含まれる活動を学習期間中に1回以上実施した既存運用端末の集合をHとする。このときC内に含まれる活動のうち、端末h∈Hが実施した活動数を、f(C,h)(≦|C|、ただし、|C|は、Cに含まれる活動の数)とする。f(C,h)が大きい程、そのクラスタには端末が実施する活動が多く含まれることになる。また一方で、不要な活動を登録しないためには、f(C,h)と比較してCのサイズは小さい方が望ましい。このため、あるクラスタCの品質Q(C)を、以下の(式2)で定める。
Figure 0006800744
そして、
Q(C)<Q(C1)+Q(C2)
が成り立つ限り、すなわち、分割した方が品質が高くなる限り、クラスタリングを継続するものとする。
次に、図13および図14を用いてインスタントホワイトリスト作成部1300の処理について説明する。
インスタントホワイトリスト作成部1300は、オペレータ50の操作により実行される。インスタントホワイトリスト作成部1300は、最大でLtime′(<Ltime)の間の学習期間で、インスタントホワイトリストを作成する。ホワイトリスト作成部1100は、一定間隔で学習および学習結果の検証をおこない、満足な性能が得られた時点で学習を打ち切る。このため、学習効率がよい端末については、Ltime′よりも早期に学習を完了することができる。インスタントホワイトリスト作成部1300は、学習スロットというある期間の間、新規導入端末を動作させ、業務をおこなわせる(S2301)。ここで、学習スロットは、学習期間の小分割単位であり(図14)、以下の(式3)が成り立つ関係にある。
Ltime′=K×学習スロット …(式3)
ただし、Kは、K>1なる整数
Ltime′および学習スロットには任意の期間を設定できるが、想定する代表的な、設定の一つとしては、Ltime=2週間、学習スロット=1日(すなわち、K=14)が考えられる。
インスタントホワイトリスト作成部1300は、活動記録テーブル100から、過去の1学習スロット分の活動内容を取得する(S2302)。
次に、インスタントホワイトリスト作成部1300は、S2302で取得した活動内容から、発生頻度が一定回数以上のユニークなエントリを抽出し、インスタントホワイトリスト500に追加する(S2303)。なお、種別503は「オリジナル」となる。
次に、インスタントホワイトリスト作成部1300は、S2303で追加した個々のエントリと同一のクラスタに属する活動を、活動相関性テーブル400から抽出し、インスタントホワイトリスト500に加える(S2304)。なお、この場合は、種別503は「追加」となる。
例えば、S2303で取得したエントリの一つがP4であった場合、ID401=1にあるP10が追加される(図7参照)。
インスタントホワイトリスト作成部1300は、全てのエントリに対してS2306を適用し、完了(S2305:Yes)の後、S2306に進む。
S2305がYesの場合、インスタントホワイトリスト作成部1300は、総学習期間を示す変数に対して学習スロットを加算する(総学習期間←総学習期間+学習スロット)(S2306)。
インスタントホワイトリスト作成部1300は、次の学習スロットの期間の間、インスタントホワイトリストを運用する(S2307)。ここでの運用の目的は、現状のインスタントホワイトリストでの性能(誤アラートや一致数)を測定するためのものである。このため、一時的に、当該端末に対するS2003は「Yes」となる。この期間の間は、実績記録テーブル600に実績が記録される。
すなわち、1〜n番目の学習スロットでの学習結果から得られたインスタントホワイトリストの性能を、n+1番目の学習スロットの期間で評価することになる。
次に、インスタントホワイトリスト作成部1300は、学習スロット期間中で発生した誤アラート数を実績記録テーブル600から取得し、閾値以上であるか否かを判断する(S2308)。誤アラートが閾値以上であり、かつ総学習期間がLtime′未満であるとき(S2308:Yes)、未だ学習の余地があると判断され、処理はS2302に戻る。この場合、誤アラートが閾値以上発生した期間の活動がホワイトリストに追記されることになる。
誤アラート数が閾値を超えない、または総学習期間がLtime′以上になった時、学習は完了する。誤アラート数が閾値を超えなくなったとは、インスタントホワイトリストに属していないホワイトリストに含めるべき活動があまり見つからなくなった、すなわち、学習の効果がなくなってきたと考えられるからである。
以上述べてきたように、本実施形態のホワイトリスト作成装置は、業務システム内の既存運用端末向けに事前作成されたホワイトリストを分析して相関性が高い活動をクラスタとして分類する。そして、新規導入端末の導入時には、新規導入端末を、既存運用端末の学習期間と比べて短期間の間動作させ、その間に発生した活動、これらの活動と相関性が高いクラスタの活動を、新規導入端末のホワイトリストに格納するものである。
本実施形態のホワイトリスト作成装置は、以下の二つの着眼点に基づくものである。
一つ目の着眼点は、各端末で発生する個々の活動の発生パターンの間には相関性が見られるということである。例えば、ある活動をおこなう端末では、それと相関のある別の活動が一定期間内におこなわれる可能性が高いという関係が存在するということである。
二つ目の着眼点は、新規導入端末と構成・役割の一部が一致する既存運用端末が業務システム内に存在する可能性は高く、新規導入端末の構成・役割の多くは、全ての既存運用端末の構成・役割の集合の部分集合として捉えられるということである。例えば、ある業務に使用していた古い端末を新しい端末に変えた場合、オペレーティングシステム(OS)構成は変わったとしても、新規端末の業務はこれまでの業務と同じとなる。また、新規端末と同じOS構成を持つ端末が業務システムに存在するということである。
本実施形態のホワイトリスト作成装置は、この二つの着眼点が成り立つ業務システム・端末において、特に有効性を発揮する。
以上のように、本実施形態では、新規端末の導入のときには、既存運用端末で作成されているホワイトリストを基に、活動の相関性を考慮したクラスタリング処理により、インスタントホワイトリストを作成する。これにより、新規端末の導入のときのホワイトリスト作成の期間、手間を大幅に軽減することができる。
1…活動情報、2…活動情報、3…操作部、10…ホワイトリスト作成装置、20a…既存運用端末X、20b…既存運用端末Y、20c…既存運用端末Z、30…新規導入端末、40…通信ネットワーク、50…オペレータ、100…活動記録テーブル、200…既存運用端末ホワイトリスト、300…活動相関ルールテーブル、400…活動相関性テーブル、500…インスタントホワイトリスト、600…実績記録テーブル、1000…活動情報受信部、1100…ホワイトリスト作成部、1200…活動相関性算出部、1300…インスタントホワイトリスト作成部

Claims (7)

  1. 業務システムで実行される活動をホワイトリストとして記録するホワイトリストを作成するホワイトリスト作成装置であって、
    既存運用端末のホワイトリストを保持する手段と、
    新規導入端末で一定期間内に発生した活動を記録する手段と、
    新規導入端末で前記一定期間内で発生した活動と、前記既存運用端末のホワイトリストとして記録された活動の相関性を算出する手段とを有し、
    前記一定期間内で発生した活動と前記既存運用端末のホワイトリストとして記録された活動の相関性に基づいて関連付け、新規導入端末で前記一定期間内で発生した活動と、その関連付けられた活動とを前記新規導入端末での新たなホワイトリストとして、記録することを特徴とするホワイトリスト作成装置。
  2. 前記一定期間内で発生した活動と前記既存運用端末のホワイトリストとして記録された活動の相関性に基づい関連付けに際しては、前記既存運用端末の前記ホワイトリストの中に記録された活動を、相関性に基づき複数のクラスタにクラスタリングし、前記新規導入端末で前記一定期間内で発生した活動を含むクラスタ内の活動を前記新規導入端末での新たなホワイトリストに取り込むことを特徴とする請求項1記載のホワイトリスト作成装置。
  3. 前記相関性の算出に際しては、個々の活動について、各端末における実施の有無を要素とするベクトルを生成し、前記ベクトル間の類似度が高い二つの活動を相関性が高いと判断することを特徴とする請求項1記載のホワイトリスト作成装置。
  4. 前記相関性の算出に際しては、活動の種類がプロセスの場合は、プロセス名の類似度、プロセスの起動元となる実行ファイルのコンテンツの類似性、実行ファイルの作成期間の類似度を用いることを特徴とする請求項1記載のホワイトリスト作成装置。
  5. 前記相関性の算出に際しては、活動の種類が通信の場合は、ドメイン名の類似度、IPアドレスの類似度を用いることを特徴とする請求項1記載のホワイトリスト作成装置。
  6. 前記一定期間内とは、新規端末導入端末の学習期間であり、
    前記学習期間を、複数の時間幅に区切り、前記時間幅ごとに、前記新規導入端末での新たなホワイトリストに取り込まれる活動の数を検証し、その活動の数が一定の閾値以下になったときに、学習期間を終了することを特徴とする請求項1記載のホワイトリスト作成装置。
  7. 前記既存運用端末の前記ホワイトリストの中に記録された活動のクラスタリングに際して、各々のクラスタの品質を評価し、クラスタの品質の総和が最大となるまでクラスタリングする手法であって、
    前記クラスタリングにおける前記クラスタの品質指標は、各既存運用端末が前記クラスタに含まれる活動を実施する数の二乗の総和に比例し、前記クラスタのサイズに反比例することを特徴とする請求項2記載のホワイトリスト作成装置。
JP2016255757A 2016-12-28 2016-12-28 ホワイトリスト作成装置 Active JP6800744B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016255757A JP6800744B2 (ja) 2016-12-28 2016-12-28 ホワイトリスト作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016255757A JP6800744B2 (ja) 2016-12-28 2016-12-28 ホワイトリスト作成装置

Publications (2)

Publication Number Publication Date
JP2018106634A JP2018106634A (ja) 2018-07-05
JP6800744B2 true JP6800744B2 (ja) 2020-12-16

Family

ID=62787885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016255757A Active JP6800744B2 (ja) 2016-12-28 2016-12-28 ホワイトリスト作成装置

Country Status (1)

Country Link
JP (1) JP6800744B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7028025B2 (ja) * 2018-03-30 2022-03-02 日本電気株式会社 情報処理システム、エッジ装置、および情報処理方法
JP6914899B2 (ja) 2018-09-18 2021-08-04 株式会社東芝 情報処理装置、情報処理方法およびプログラム
US11930024B2 (en) * 2019-04-18 2024-03-12 Oracle International Corporation Detecting behavior anomalies of cloud users
JP2025128966A (ja) * 2024-02-22 2025-09-03 三菱電機株式会社 ルーティン事象特定装置、ルーティン事象特定方法、及びルーティン事象特定プログラム
CN120729693A (zh) * 2024-03-22 2025-09-30 荣耀终端股份有限公司 无障碍服务的管控方法、装置、芯片、电子设备及介质

Also Published As

Publication number Publication date
JP2018106634A (ja) 2018-07-05

Similar Documents

Publication Publication Date Title
US11856021B2 (en) Detecting and mitigating poison attacks using data provenance
US11068588B2 (en) Detecting irregularities on a device
US8479296B2 (en) System and method for detecting unknown malware
US11030311B1 (en) Detecting and protecting against computing breaches based on lateral movement of a computer file within an enterprise
US7877806B2 (en) Real time malicious software detection
EP3226169B1 (en) Antivirus signature distribution with distributed ledger
US9672355B2 (en) Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security
EP2939173B1 (en) Real-time representation of security-relevant system state
US10216934B2 (en) Inferential exploit attempt detection
JP6800744B2 (ja) ホワイトリスト作成装置
JP2020009415A (ja) 悪意のあるファイルで訓練された学習モデルを使用して悪意のあるファイルを識別するシステムおよび方法
US20080022407A1 (en) Detecting malicious activity
CN113010268B (zh) 恶意程序识别方法及装置、存储介质、电子设备
US20180211043A1 (en) Blockchain Based Security for End Points
JP2018530066A (ja) 低信頼度のセキュリティイベントによるセキュリティインシデントの検出
US12050694B2 (en) Rule generation apparatus, rule generation method, and computer-readable recording medium
US9444829B1 (en) Systems and methods for protecting computing resources based on logical data models
CN107463841B (zh) 检测恶意计算机系统的系统和方法
US11019494B2 (en) System and method for determining dangerousness of devices for a banking service
JP2022002057A (ja) リスク評価システムおよびリスク評価方法
US10735457B2 (en) Intrusion investigation
US12348547B2 (en) Supply chain attack detection
RU2510530C1 (ru) Способ автоматического формирования эвристических алгоритмов поиска вредоносных объектов
CN112149126B (zh) 确定文件的信任级别的系统和方法
JP2019008568A (ja) ホワイトリスト管理システムおよびホワイトリスト管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201013

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201125

R150 Certificate of patent or registration of utility model

Ref document number: 6800744

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150