JP6698956B2 - サンプルデータ生成装置、サンプルデータ生成方法およびサンプルデータ生成プログラム - Google Patents
サンプルデータ生成装置、サンプルデータ生成方法およびサンプルデータ生成プログラム Download PDFInfo
- Publication number
- JP6698956B2 JP6698956B2 JP2019547846A JP2019547846A JP6698956B2 JP 6698956 B2 JP6698956 B2 JP 6698956B2 JP 2019547846 A JP2019547846 A JP 2019547846A JP 2019547846 A JP2019547846 A JP 2019547846A JP 6698956 B2 JP6698956 B2 JP 6698956B2
- Authority
- JP
- Japan
- Prior art keywords
- sample data
- abnormal
- normal
- unit
- vector
- 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
Links
- 238000000034 method Methods 0.000 title claims description 103
- 230000002159 abnormal effect Effects 0.000 claims description 207
- 238000001514 detection method Methods 0.000 claims description 148
- 239000013598 vector Substances 0.000 claims description 138
- 230000008569 process Effects 0.000 claims description 74
- 230000008859 change Effects 0.000 claims description 68
- 238000012795 verification Methods 0.000 claims description 58
- 238000012545 processing Methods 0.000 claims description 38
- 238000010801 machine learning Methods 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 description 44
- 238000004891 communication Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 12
- 238000012937 correction Methods 0.000 description 9
- 230000005856 abnormality Effects 0.000 description 8
- 238000000605 extraction Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010206 sensitivity analysis Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000002945 steepest descent method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Description
各々がシステムの通常事象である複数の正常サンプルデータと、各々が前記システムの異常事象である複数の非正常サンプルデータとを取得する取得部と、
前記複数の正常サンプルデータを表現する正常モデルを生成するモデル生成部と、
前記複数の非正常サンプルデータの非正常サンプルデータ毎に、前記非正常サンプルデータの特徴をベクトルで表した非正常特徴ベクトルを生成し、前記非正常特徴ベクトルの要素を変更して得られる非正常変更ベクトルを生成する変更部と、
前記非正常変更ベクトルと前記正常モデルとが類似である場合に、前記非正常変更ベクトルにより表されるサンプルデータを用いた処理を前記システムで実行し、前記システムの異常事象を検知する検知装置により異常事象が検知されるかを検証し、前記検知装置により異常事象が検知されないことが検証されると、前記検知装置によらず前記システムに異常事象があるかを判定し、異常事象があると判定した場合に、前記非正常変更ベクトルにより表されるサンプルデータを前記検知装置の検知漏れサンプルデータとして記憶部に記憶する検証部とを備えた。
***構成の説明***
図1から図5を用いて、本実施の形態に係るサンプルデータ生成装置100の構成を説明する。
サンプルデータ生成装置100は、システムの異常事象を検知する検知装置のサンプルデータを生成する。サンプルデータ生成装置100は、検知装置の検知精度の高精度化を目的としている。サンプルデータ生成装置100は、検知装置が検知できない異常事象を検知漏れサンプルデータとして生成する。また、サンプルデータ生成装置100は、検知装置が検知してしまう通常事象を誤検知サンプルデータとして生成する。なお、検知装置が異常事象の検知の対象とするシステムを、対象システムと呼ぶ場合がある。
取得部10とモデル生成部120と変更部141と検証部142の機能は、ソフトウェアにより実現される。記憶部150は、メモリ921に備えられる。
プロセッサ910は、演算処理を行うIC(Integrated Circuit)である。プロセッサ910の具体例は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
サンプルデータ生成プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、サンプルデータ生成プログラムは、プログラムプロダクトとして提供されてもよい。
次に、本実施の形態に係るサンプルデータ生成装置100の各部の動作について説明する。
まず、図6を用いて、本実施の形態に係る取得処理およびモデル生成処理について説明する。
ステップS111において、取得部10は、各々がシステムの通常事象である複数の正常サンプルデータを取得する。具体的には、正常サンプル生成部110は、対象システムから真に正常なサンプルデータ、すなわち正常サンプルデータを収集する。サンプルデータの具体例は、通信パケット、プロキシログ、システムログ、メール、およびファイルである。サンプルデータに対応するセンサを対象システムに設置することにより、サンプルデータが収集される。この時点では、正常ではないサンプルデータ、すなわち非正常サンプルデータは対象システムに含まれていないものとする。
正常サンプル生成部110の正常収集部111が、対象システムから真に正常なサンプルデータを収集する。また、正常収集部111は、別の環境から収集した正常サンプルデータを、対象システム用に編集する。すなわち、正常収集部111が、対象システム以外の他システムから通常事象のサンプルデータを収集する。そして、正常収集部111は、収集したサンプルデータを対象システムの環境に合わせて修正することにより、複数の正常サンプルデータを取得する。別の環境から収集した正常サンプルデータとは、別の環境における通常事象である。例えば、別の環境から収集した正常サンプルデータがログの場合、タイムスタンプ、IPアドレス、ホスト名、およびドメイン名といった情報が、対象システムの環境のログとは異なる可能性がある。そこで、正常収集部111は、対象システムから収集したログの情報と整合するように、タイムスタンプ、IPアドレス、ホスト名、およびドメイン名といった情報を修正する。
なお、正常サンプル生成部110は、組織のシステムに設置したセンサから定期的に送られる正常サンプルデータを収集してもよい。
なお、モデル生成部120は、後述する非正常サンプル生成部130により生成される非正常サンプルデータのセットを利用してもよい。すなわち、モデル生成部120は、正常サンプルデータか非正常なサンプルデータかを分類する2クラス識別器を利用してもよい。2つのセットの大きさに差がある場合は、サンプルデータ数を調整したり、誤答の際のペナルティを調整したりするといった不均衡データに対して良く利用されるアプローチを採用する。
具体的には、特徴変換部121は、入力されたサンプルデータを処理しやすい形式、すなわち特徴ベクトルに変換する。具体例としてプロキシログの場合について説明する。例えば、一定期間における送信元と送信先の通信に関して、通信の頻度、データサイズ、データに含まれる文字列の頻度といった情報を要素として並べたものが、特徴ベクトルC=(c1、c2、…、cn)である。収集したサンプルデータをそのままの形で学習できるならば、特徴変換部121は必要ない。
学習部122は、正常サンプルデータの特徴ベクトルを学習データとして、正常サンプルデータを表現する特徴空間をモデルとして学習する。学習されたモデルを使い、新たに与えられた特徴ベクトルに対して、スコアを計算することができれば、学習の方法は問わない。スコアは、与えられた特徴ベクトルが正常サンプルデータとどれだけ似ているかを表す値、すなわち類似度である。類似度は、正常サンプルデータのモデルに近ければ高い値になり、似てなければ低い値になる。機械学習の分類器の場合、スコアは予測値の確率にあたる。
機械学習を利用する場合、モデル生成部120は、誤検知を起こさない正常サンプルデータか、誤検知を起こす正常サンプルデータかを分類するための2クラス識別器となる。2つのセットの大きさに差がある場合は、サンプルデータ数を調整したり、誤答の際のペナルティを調整したりするといった不均衡データに対して良く利用されるアプローチを採用する。
本実施の形態では、モデルを生成するための手法として機械学習を取り上げている。機械学習のアルゴリズムは、対象とするシステム、情報、あるいはコストに応じて、適切に選択される。
図7において、Wの空間は、正常サンプルデータの母集団を表現する。また、Bの空間は、非正常サンプルデータの母集団を表現する。
図8において、NMは、正常モデルが表現するサンプルデータの空間である。必ずしも正確に正常サンプルデータを学習できるわけではないため、NMには非正常サンプルデータも多少は含まれる。Dの空間は、ある検知装置が検知するサンプルデータの母集団を表現する。Bの空間のうち、Dに覆われていない部分が検知漏れのサンプルデータとなる。
また、検知装置は、正確に非正常サンプルデータのみを検知するわけではない。よって、Dの空間には正常サンプルデータも含まれる。よって、図9において、点線で囲まれたFPが誤検知サンプルデータの母集団となる。そして、図10において、FPMの空間が、誤検知サンプルデータから生成した誤検知モデルが表現するサンプルデータの空間となる。必ずしも正確に誤検知サンプルデータを学習できるわけではないため、FPMの空間には誤検知とならない正常サンプルデータ、あるいは非正常サンプルデータも多少は含まれる。
次に、図11を用いて、検知漏れサンプルデータ生成処理について説明する。
ステップS121において、取得部10は、各々が対象システムの異常事象である複数の非正常サンプルデータを取得する。具体的には、非正常サンプル生成部130が、非正常サンプルデータを生成する。非正常サンプル生成部130は、既存の攻撃生成ツールを用いて、対象システムを攻撃する非正常サンプルデータを生成する。非正常サンプルデータは、対象システムを攻撃する攻撃サンプルデータとも呼ばれる。
ステップS122において、調整部140は、非正常サンプルデータが正常モデルに近くなるように修正する。
ステップS123において、調整部140は、既存の検知装置で検知されない非正常サンプルデータを抽出する。非正常サンプル生成部130は、攻撃ツールを利用して、ステップS122において修正された非正常サンプルデータによる攻撃を実行する。調整部140は、この攻撃が既存の検知装置で検知されるかを確認する。調整部140は、検知されない非正常サンプルデータのみを抽出する。
ステップS124において、調整部140は、ステップS123において抽出された非正常サンプルデータが攻撃機能を維持しているかを確認する。なお、検知装置が故障を検知する場合は、調整部は非正常サンプルデータが故障の特徴を維持しているかを確認する。調整部140は、攻撃機能を維持している非正常サンプルデータを検知漏れサンプルデータとして抽出する。
非正常生成部131は、システムの異常事象のサンプルデータを生成する攻撃ツールと模擬環境とを用いて、複数の非正常サンプルデータを取得する。具体的には、非正常生成部131は、攻撃ツール群151と模擬環境153とを用いて、非正常サンプルデータの特徴と同じ模擬攻撃を実際に実行する。攻撃ツール群151は、あらかじめ対象システムごとに個別に用意した攻撃ツールのセットである。模擬環境153は、仮想環境で模擬的に用意した対象システムである。模擬環境153は、攻撃の実行により実システムに対して悪影響がでないようにするために設けられる。影響が出ないまたは影響が出ても問題が無い場合においては、実環境で攻撃を実行すればよいので模擬環境153は必要ない。
攻撃ツール群151に含まれる攻撃ツールは、非正常サンプルデータの特徴を操作するためのパラメータを入力として持つプログラムである。パラメータは、エクスプロイトコードを実行する対象、すなわちIPアドレス、ポート番号、およびサービスといった情報である。また、パラメータは、例えば、侵入後にインストールする疑似マルウェアの種類、攻撃者のC&C(command and control)サーバのIPアドレス、通信の暗号化方法、C&C通信の頻度およびサイズ、情報漏えいのためのPOSTのサイズと頻度といった情報である。
具体的には、ステップS201において、特徴抽出部411は、非正常サンプルデータから特徴ベクトルを生成する。特徴抽出部411は、非正常サンプルデータと第1制約条件を受け取る。そして、特徴抽出部411は、非正常サンプルデータから特徴ベクトルC=(c1、c2、…、cn)を生成する。非正常サンプルデータから生成された特徴ベクトルCは、非正常特徴ベクトルとも呼ばれる。
ステップS202において、特徴修正部412は、特徴ベクトルの要素を変更できるかを確認する。具体的には、特徴ベクトルC=(c1、c2、…、cn)の各要素がとりうる第1変更範囲(LBi≦ci≦UBi)を定義しておく。特徴修正部412は、その第1変更範囲の中で得られる非正常特徴ベクトルの全てに対して処理を実行したかを確認する。LBiとUBiはそれぞれciの下限と上限である。特徴ベクトルの要素を変更できる場合は、処理はステップS203に進む。
ステップS203において、特徴修正部412は、特徴ベクトルCの要素を変更し、新たな特徴ベクトルC’を生成する。非正常サンプルデータから生成された特徴ベクトルCを変更して得られた特徴ベクトルC’は、非正常変更ベクトルとも呼ばれる。
なお、検証部142は、予め定められた非正常変更ベクトルの第1制約条件を満たす非正常変更ベクトルについてのみ、検知装置により異常事象が検知されるかを検証する。また、検証部142は、非正常変更ベクトルと正常モデルとの第1類似度を算出し、第1類似度が第1閾値以上の場合に、非正常変更ベクトルと正常モデルとが類似であると判定する。
以下において、プロキシログを使った不審通信検知を例に説明する。特徴ベクトルに以下の要素を含むとする。特徴ベクトルの要素および単位は、環境および対象システムに応じて適切なものに変える。
モデルが微分可能な場合、確率的勾配降下法あるいは最急降下法といった最適解を求めるアルゴリズムを使って要素を更新しても良い。
特徴ベクトルの要素をc1,c2とする。
c1:1回あたりのPostのサイズ平均[bytes/time]
c2:Postの周期T[sec]
不審通信は、攻撃者のサーバとのやりとりおよび機密データの送信が目的である。そのため、評価者が、攻撃機能としての必須の条件として、「一定時間P[sec]当たりのPostサイズが規定の閾値より大きい」、すなわち、「c1×(1/c2)×P>θ[byte]」を第1制約条件とすることができる。
特徴ベクトルC’が第1制約条件を満たす場合は、処理はステップS205に進む。特徴ベクトルC’が第1制約条件を満たさない場合は、処理はステップS202に戻る。
検知装置の対象がログの場合、検証部142は、ログを発生させた攻撃が、攻撃の基本機能を行っているかを監視する。ここでの基本機能は、ファイル操作、ユーザ認証、プログラム起動、および外部への情報アップロードといった機能である。基本機能の有無を監視するために、検証部142は、Syslogあるいは通信ログといったログをパージングし、該当の操作に関するログが存在するかを監視する。
検知装置の対象がメールの場合、検証部142は、生成された不正メールが基本機能を発揮しているかを確認する。ここでの基本機能は、メールを送りつけられた人物が、誤って不正メールの文面にあるURLあるいは添付ファイルを実際にクリックしてしまうといった事象である。検証部142は、組織の不審メール対応訓練の一環として、不正メールを組織の人間に送り、不正メールの文面にあるURLあるいは添付ファイルを実際にクリックするかを監視する。添付ファイルには、クリックすると特定のURLにアクセスするようにプログラムされたスクリプトが記述されている。ドキュメントファイルであると誤認されるように、PDF(Portable Document Format)といったドキュメントのアイコンが添付ファイルに利用される。
検知装置の対象が通信の場合、検証部142は、生成された攻撃通信が基本機能を行っているかを監視する。ここでの基本機能は、RAT(Remote Administration Tool)の操作、C&Cサーバとのやりとり、およびファイルアップロードといった機能である。
検知装置の対象がファイルの場合、検証部142は、生成された不正ファイルが基本機能を行っているかを確認する。ここでの基本機能は、プログラムの実行、ファイルの削除、C&Cサーバとの通信、およびファイルアップロードといった機能である。
攻撃機能を維持していなければ、処理はステップS202に戻る。攻撃機能を維持してれば、処理はステップS209に進む。
次に、図13を用いて、誤検知サンプルデータ生成処理について説明する。
図2に示すように、正常サンプル生成部110の正常生成部112は、サンプル生成ツール群152と模擬環境153とを用いて、正常サンプルデータを生成する。サンプル生成ツール群152は、あらかじめ対象システムごと個別に用意したサンプルデータを生成するためのツールのセットである。サンプル生成ツール群152は、攻撃ツール群151の攻撃機能を無効化したものに相当する。模擬環境153は、上述したように、仮想環境に模擬的に設けられた対象システムである。
ステップS132において、調整部140の変更部141は、複数の処理サンプルデータの処理サンプルデータ毎に、処理サンプルデータの特徴をベクトルで表した処理特徴ベクトルを生成する。複数の処理サンプルデータは、複数の正常サンプルデータと複数の非正常サンプルデータとを含む。変更部141は、処理特徴ベクトルの要素を変更して得られる処理変更ベクトルを生成する。調整部140は、処理サンプルデータが誤検知モデルに近くなるよう修正する。
ステップS133において、調整部140は、既存の検知装置で検知されるサンプルデータを抽出する。正常サンプル生成部110は、サンプルデータ生成ツールおよび模擬環境を使って、サンプルデータと同じ特徴を持つ事象を実際に実行する。また、非正常サンプル生成部130は、攻撃ツールおよび模擬環境を使って、サンプルデータと同じ特徴を持つ事象を実際に実行する。サンプルデータと同じ特徴を持つ事象には、Webアクセス、ファイル操作、あるいはプログラムの実行といった通常作業を模擬したものが含まれる。調整部140は、既存の検知装置で検知されるかを確認し、検知されるサンプルデータのみを抽出する。
ステップS134において、調整部140は、このサンプルデータが攻撃機能を維持しているかを確認する。調整部140は、攻撃機能を維持していないサンプルデータのみを誤検知サンプルデータとして抽出する。
ステップS301において、変更部141の特徴抽出部411は、処理サンプルデータから特徴ベクトルCを生成する。処理サンプルデータの各々から得られた特徴ベクトルCは、処理特徴ベクトルとも呼ばれる。具体的には、特徴抽出部411は、ステップS131で用意されたサンプルデータと第2制約条件を受け取る。そして、特徴抽出部411は、そのサンプルデータから特徴ベクトルC=(c1、c2、…、cn)を生成する。
ステップS302において、特徴修正部412は、特徴ベクトルの要素を変更できるかを確認する。具体的には、特徴ベクトルC=(c1、c2、…、cn)の各要素がとりうる第2変更範囲(LBi≦ci≦UBi)を定義しておく。特徴修正部412は、その第2変更範囲の中で得られる処理特徴ベクトルの全てに対して処理を実行したかを確認する。LBiとUBiはそれぞれciの下限と上限である。特徴ベクトルの要素を変更できる場合は、処理はステップS303に進む。
ステップS303において、特徴修正部412は、特徴ベクトルCの要素を変更し、新たな特徴ベクトルC’を生成する。
以下において、プロキシログを使った不審通信検知を例に説明する。特徴ベクトルに以下の要素を含むとする。特徴ベクトルの要素および単位は、環境および対象システムに応じて適切なものに変える。
c1:1回あたりのPostのサイズ平均[bytes/time]
c2:Postの周期T[sec]
不審通信は、攻撃者のサーバとのやりとりおよび機密データの送信が目的である。そのため、評価者が、攻撃機能としての必須の条件の否定として、「一定時間P[sec]当たりのPostサイズが規定の閾値以下」、すなわち、「c1×(1/c2)×P≦θ[byte]」を第2制約条件とすることができる。
特徴ベクトルC’が第2制約条件を満たす場合は、処理はステップS305に進む。特徴ベクトルC’が第2制約条件を満たさない場合は、処理はステップS302に戻る。
なお、検証部142は、予め定められた処理変更ベクトルの第2制約条件を満たす処理変更ベクトルについてのみ、検知装置により異常事象が検知されるかを検証する。また、検証部142は、処理変更ベクトルと誤検知モデルとの第2類似度を算出し、第2類似度が第2閾値以上の場合に、処理変更ベクトルと誤検知モデルとが類似であると判定する。
ステップS308において、検証部142は、実行されたサンプルデータが攻撃機能を維持しているかを確認する。攻撃機能を維持しているか否かの判定は、ステップS208と同様である。攻撃機能を維持していれば、処理はステップS302に戻る。攻撃機能を維持していなければ、処理はステップS309に進む。
本実施の形態では、主に、攻撃を検知する攻撃検知装置のサンプルデータを生成する例を説明した。しかし、本実施の形態は、故障を検知する故障検知装置、および、その他の異常を検知する異常検知装置についても適用可能である。
サンプルデータ生成装置100は、電子回路909、メモリ921、補助記憶装置922、入力インタフェース930、出力インタフェース940および通信装置950を備える。
電子回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field−Programmable Gate Arrayの略語である。
サンプルデータ生成装置100の構成要素の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、サンプルデータ生成装置100の構成要素の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
本実施の形態に係るサンプルデータ生成装置100によれば、正常サンプルデータの特徴の範囲内で悪意ある処理をする非正常サンプルデータを生成することができる。よって、検知漏れの少ない高精度に検知装置を強化することができる。
また、本実施の形態に係るサンプルデータ生成装置100によれば、誤検知サンプルデータを自動生成することができる。よって、誤検知の少ない高精度に検知装置を強化することができる。
以上のように、本実施の形態に係るサンプルデータ生成装置100によれば、検知装置の設計および評価の精度を高めるために、検知装置が起こす可能性がある検知漏れおよび誤検知に関する十分なサンプルデータを自動的に用意することができる。
本実施の形態では、実施の形態1とは異なる点について説明する。なお、実施の形態1と同様の構成には同一の符号を付し、その説明を省略する場合がある。
特徴選択部160は、誤検知サンプルデータの分類に対する寄与度に基づいて特徴を抽出する。
ステップS161において、モデル生成部120は、誤検知モデルを生成する。モデル生成部120は、誤検知を起こさない正常サンプルデータか、誤検知を起こす正常サンプルデータかを分類するための2クラス識別器を利用する。その際、モデル生成部120は、特徴の寄与度が出るアルゴリズムを利用する。
ステップS162において、特徴選択部160は、各クラスに対する各特徴の寄与度を算出する。例えば、Random Forestでは、識別に利用する各特徴の寄与度が算出される。寄与度が大きいほど識別に重要な特徴である。寄与度以外にも、学習済みのモデルの重み係数、オッズ比、あるいは感度分析結果といった情報から、識別に強く影響を与える特徴を推測することができる。
ステップS163において、特徴選択部160は、誤検知を起こす正常サンプルデータのクラスへの分類に対して寄与度の大きな特徴を抽出する。これにより、攻撃(誤検知)への分類に強い影響を持つ特徴を抽出することができる。
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明の範囲、本発明の適用物の範囲、および本発明の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。
Claims (15)
- 各々がシステムの通常事象である複数の正常サンプルデータと、各々が前記システムの異常事象である複数の非正常サンプルデータとを取得する取得部と、
前記複数の正常サンプルデータを表現する正常モデルを生成するモデル生成部と、
前記複数の非正常サンプルデータの非正常サンプルデータ毎に、前記非正常サンプルデータの特徴をベクトルで表した非正常特徴ベクトルを生成し、前記非正常特徴ベクトルの要素を変更して得られる非正常変更ベクトルを生成する変更部と、
前記非正常変更ベクトルにより表されるサンプルデータと前記正常モデルにより表現される前記複数の正常サンプルデータとが類似である場合に、前記非正常変更ベクトルにより表されるサンプルデータを用いた処理を前記システムで実行し、前記システムの異常事象を検知する検知装置により異常事象が検知されるかを検証し、前記検知装置により異常事象が検知されないことが検証されると、前記検知装置によらず前記システムに異常事象があるかを判定し、異常事象があると判定した場合に、前記非正常変更ベクトルにより表されるサンプルデータを前記検知装置の検知漏れサンプルデータとして記憶部に記憶する検証部と
を備えたサンプルデータ生成装置。 - 前記モデル生成部は、
前記複数の正常サンプルデータのうち前記検知装置が誤検知する正常サンプルデータを誤検知サンプルデータとして取得し、前記誤検知サンプルデータを表現するモデルを誤検知モデルとして生成し、
前記変更部は、
前記複数の正常サンプルデータと前記複数の非正常サンプルデータとを含む複数の処理サンプルデータの処理サンプルデータ毎に、前記処理サンプルデータの特徴をベクトルで表した処理特徴ベクトルを生成し、前記処理特徴ベクトルの要素を変更して得られる処理変更ベクトルを生成し、
前記検証部は、
前記処理変更ベクトルにより表されるサンプルデータと前記誤検知モデルにより表現される前記誤検知サンプルデータとが類似である場合に、前記処理変更ベクトルにより表されるサンプルデータを用いた処理を前記システムで実行し、前記検知装置により異常事象が検知されるかを検証し、前記検知装置により異常事象が検知されることが検証されると、前記検知装置によらず前記システムに異常事象があるかを判定し、異常事象がないと判定した場合に、前記処理変更ベクトルにより表されるサンプルデータを前記検知装置の誤検知サンプルデータとして前記記憶部に記憶する請求項1に記載のサンプルデータ生成装置。 - 前記検証部は、
前記非正常変更ベクトルと前記正常モデルとの第1類似度を算出し、前記第1類似度が第1閾値以上の場合に、前記非正常変更ベクトルと前記正常モデルとが類似であると判定する請求項2に記載のサンプルデータ生成装置。 - 前記検証部は、
前記処理変更ベクトルと前記誤検知モデルとの第2類似度を算出し、前記第2類似度が第2閾値以上の場合に、前記処理変更ベクトルと前記誤検知モデルとが類似であると判定する請求項2または3に記載のサンプルデータ生成装置。 - 前記取得部は、
前記システム以外の他システムから通常事象のサンプルデータを収集し、収集したサンプルデータを前記システムの環境に合わせて修正することにより、前記複数の正常サンプルデータを取得する正常収集部と、
前記システムの通常事象のサンプルデータを生成するサンプル生成ツールと模擬環境とを用いて、前記複数の正常サンプルデータを取得する正常生成部と
を備えた請求項2から4のいずれか1項に記載のサンプルデータ生成装置。 - 前記取得部は、
前記システム以外の他システムから異常事象のサンプルデータを収集し、収集したサンプルデータを前記システムの環境に合わせて修正することにより、前記複数の非正常サンプルデータを取得する非正常収集部と、
前記システムの異常事象のサンプルデータを生成する攻撃ツールと模擬環境とを用いて、前記複数の非正常サンプルデータを取得する非正常生成部と
を備えた請求項2から5のいずれか1項に記載のサンプルデータ生成装置。 - 前記モデル生成部は、
前記複数の正常サンプルデータの各々を特徴ベクトルに変換する特徴変換部と、
機械学習技術を用いて、前記特徴変換部により変換された特徴ベクトルから前記正常モデルを学習する学習部と
を備えた請求項2から6のいずれか1項に記載のサンプルデータ生成装置。 - 前記変更部は、
前記非正常特徴ベクトルの要素ごとに定められた第1変更範囲の範囲内において、前記非正常特徴ベクトルの要素を変更する請求項2から7のいずれか1項に記載のサンプルデータ生成装置。 - 前記変更部は、
前記処理特徴ベクトルの要素ごとに定められた第2変更範囲の範囲内において、前記処理特徴ベクトルの要素を変更する請求項2から8のいずれか1項に記載のサンプルデータ生成装置。 - 前記システムは、仮想環境に模擬的に設けられた模擬環境に設けられた請求項2から9のいずれか1項に記載のサンプルデータ生成装置。
- 前記検証部は、
予め定められた前記非正常変更ベクトルの第1制約条件を満たす前記非正常変更ベクトルについてのみ、前記検知装置により異常事象が検知されるかを検証する請求項2から10のいずれか1項に記載のサンプルデータ生成装置。 - 前記検証部は、
予め定められた前記処理変更ベクトルの第2制約条件を満たす前記処理変更ベクトルについてのみ、前記検知装置により異常事象が検知されるかを検証する請求項2から11のいずれか1項に記載のサンプルデータ生成装置。 - 前記サンプルデータ生成装置は、
前記誤検知サンプルデータの分類に対する寄与度に基づいて特徴を抽出する特徴選択部を備えた請求項2から12のいずれか1項に記載のサンプルデータ生成装置。 - 取得部が、各々がシステムの通常事象である複数の正常サンプルデータと、各々が前記システムの異常事象である複数の非正常サンプルデータとを取得し、
モデル生成部が、前記複数の正常サンプルデータを表現する正常モデルを生成し、
変更部が、前記複数の非正常サンプルデータの非正常サンプルデータ毎に、前記非正常サンプルデータの特徴をベクトルで表した非正常特徴ベクトルを生成し、前記非正常特徴ベクトルの要素を変更して得られる非正常変更ベクトルを生成し、
検証部が、前記非正常変更ベクトルにより表されるサンプルデータと前記正常モデルにより表現される前記複数の正常サンプルデータとが類似である場合に、前記非正常変更ベクトルにより表されるサンプルデータを用いた処理を前記システムで実行し、前記システムの異常事象を検知する検知装置により異常事象が検知されるかを検証し、前記検知装置により異常事象が検知されないことが検証されると、前記検知装置によらず前記システムに異常事象があるかを判定し、異常事象があると判定した場合に、前記非正常変更ベクトルにより表されるサンプルデータを前記検知装置の検知漏れサンプルデータとして記憶部に記憶するサンプルデータ生成方法。 - 各々がシステムの通常事象である複数の正常サンプルデータと、各々が前記システムの異常事象である複数の非正常サンプルデータとを取得する取得処理と、
前記複数の正常サンプルデータを表現する正常モデルを生成するモデル生成処理と、
前記複数の非正常サンプルデータの非正常サンプルデータ毎に、前記非正常サンプルデータの特徴をベクトルで表した非正常特徴ベクトルを生成し、前記非正常特徴ベクトルの要素を変更して得られる非正常変更ベクトルを生成する変更処理と、
前記非正常変更ベクトルにより表されるサンプルデータと前記正常モデルにより表現される前記複数の正常サンプルデータとが類似である場合に、前記非正常変更ベクトルにより表されるサンプルデータを用いた処理を前記システムで実行し、前記システムの異常事象を検知する検知装置により異常事象が検知されるかを検証し、前記検知装置により異常事象が検知されないことが検証されると、前記検知装置によらず前記システムに異常事象があるかを判定し、異常事象があると判定した場合に、前記非正常変更ベクトルにより表されるサンプルデータを前記検知装置の検知漏れサンプルデータとして記憶する検証処理と
をコンピュータに実行させるサンプルデータ生成プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/036875 WO2019073557A1 (ja) | 2017-10-11 | 2017-10-11 | サンプルデータ生成装置、サンプルデータ生成方法およびサンプルデータ生成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019073557A1 JPWO2019073557A1 (ja) | 2020-02-27 |
JP6698956B2 true JP6698956B2 (ja) | 2020-05-27 |
Family
ID=66100452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019547846A Active JP6698956B2 (ja) | 2017-10-11 | 2017-10-11 | サンプルデータ生成装置、サンプルデータ生成方法およびサンプルデータ生成プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11797668B2 (ja) |
JP (1) | JP6698956B2 (ja) |
CN (1) | CN111164575B (ja) |
WO (1) | WO2019073557A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112020007653T5 (de) | 2020-12-07 | 2023-08-03 | Mitsubishi Electric Corporation | Informationsverarbeitungseinrichtung, informationsverarbeitungsverfahren und informationsverarbeitungsgsprogramm |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11928208B2 (en) * | 2018-10-02 | 2024-03-12 | Nippon Telegraph And Telephone Corporation | Calculation device, calculation method, and calculation program |
JP7007529B2 (ja) * | 2019-11-22 | 2022-01-24 | 有人宇宙システム株式会社 | 人工知能システムの安全性検証システム、安全性検証方法、および安全性検証プログラム |
WO2021149226A1 (ja) * | 2020-01-23 | 2021-07-29 | 三菱電機株式会社 | アノマリ検知装置、アノマリ検知方法及びアノマリ検知プログラム |
WO2021149225A1 (ja) * | 2020-01-23 | 2021-07-29 | 三菱電機株式会社 | モデル生成装置、モデル生成方法及びモデル生成プログラム |
WO2023188052A1 (ja) * | 2022-03-30 | 2023-10-05 | 三菱電機株式会社 | 学習データ選択装置、学習データ選択方法及び異常検知装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030065409A1 (en) * | 2001-09-28 | 2003-04-03 | Raeth Peter G. | Adaptively detecting an event of interest |
JP2005121639A (ja) * | 2003-09-22 | 2005-05-12 | Omron Corp | 検査方法および検査装置ならびに設備診断装置 |
JP2007334589A (ja) * | 2006-06-14 | 2007-12-27 | Nippon Telegr & Teleph Corp <Ntt> | 決定木構築方法および装置および状態判定装置 |
JP4369961B2 (ja) * | 2007-03-23 | 2009-11-25 | 株式会社日立製作所 | 異常検知装置及び異常検知プログラム |
US7885794B2 (en) * | 2007-11-30 | 2011-02-08 | Xerox Corporation | Object comparison, retrieval, and categorization methods and apparatuses |
JP5009244B2 (ja) | 2008-07-07 | 2012-08-22 | 日本電信電話株式会社 | マルウェア検知システム、マルウェア検知方法及びマルウェア検知プログラム |
JP5264470B2 (ja) * | 2008-12-26 | 2013-08-14 | 三菱電機株式会社 | 攻撃判定装置及びプログラム |
US8280830B2 (en) | 2009-08-31 | 2012-10-02 | Symantec Corporation | Systems and methods for using multiple in-line heuristics to reduce false positives |
JP5027859B2 (ja) * | 2009-10-26 | 2012-09-19 | パナソニック デバイスSunx株式会社 | 信号識別方法および信号識別装置 |
JP5906855B2 (ja) | 2012-03-19 | 2016-04-20 | 富士通株式会社 | テストデータ作成方法、テストデータ作成プログラム及びテストデータ作成装置 |
US20140040173A1 (en) * | 2012-08-02 | 2014-02-06 | Video Inform Ltd. | System and method for detection of a characteristic in samples of a sample set |
US9386030B2 (en) | 2012-09-18 | 2016-07-05 | Vencore Labs, Inc. | System and method for correlating historical attacks with diverse indicators to generate indicator profiles for detecting and predicting future network attacks |
US10152591B2 (en) | 2013-02-10 | 2018-12-11 | Paypal, Inc. | Protecting against malware variants using reconstructed code of malware |
KR101880796B1 (ko) | 2013-02-10 | 2018-08-17 | 페이팔, 인코포레이티드 | 예측보안 제품을 제공하고 기존의 보안제품을 평가하는 방법과 장치 |
US9942254B1 (en) * | 2014-07-10 | 2018-04-10 | ThetaRay Ltd. | Measure based anomaly detection |
CN105704103B (zh) * | 2014-11-26 | 2017-05-10 | 中国科学院沈阳自动化研究所 | 基于OCSVM双轮廓模型的Modbus TCP通信行为异常检测方法 |
JP2016206950A (ja) | 2015-04-22 | 2016-12-08 | 日本電信電話株式会社 | マルウェア判定のための精査教師データ出力装置、マルウェア判定システム、マルウェア判定方法およびマルウェア判定のための精査教師データ出力プログラム |
SG11201710646TA (en) * | 2015-08-06 | 2018-01-30 | Ns Solutions Corp | Information processing apparatus, information processing system, information processing method and program |
US10147049B2 (en) * | 2015-08-31 | 2018-12-04 | International Business Machines Corporation | Automatic generation of training data for anomaly detection using other user's data samples |
JP6063544B1 (ja) * | 2015-10-30 | 2017-01-18 | みずほ第一フィナンシャルテクノロジー株式会社 | 説明変数値を算出する装置、方法及びプログラム |
CN106982196B (zh) * | 2016-01-19 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种异常访问检测方法及设备 |
CN105847302B (zh) * | 2016-05-31 | 2019-04-12 | 北京奇艺世纪科技有限公司 | 一种异常检测方法及装置 |
US10409789B2 (en) * | 2016-09-16 | 2019-09-10 | Oracle International Corporation | Method and system for adaptively imputing sparse and missing data for predictive models |
-
2017
- 2017-10-11 WO PCT/JP2017/036875 patent/WO2019073557A1/ja active Application Filing
- 2017-10-11 CN CN201780095543.8A patent/CN111164575B/zh active Active
- 2017-10-11 JP JP2019547846A patent/JP6698956B2/ja active Active
- 2017-10-11 US US16/641,603 patent/US11797668B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112020007653T5 (de) | 2020-12-07 | 2023-08-03 | Mitsubishi Electric Corporation | Informationsverarbeitungseinrichtung, informationsverarbeitungsverfahren und informationsverarbeitungsgsprogramm |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019073557A1 (ja) | 2020-02-27 |
CN111164575A (zh) | 2020-05-15 |
US20210157909A1 (en) | 2021-05-27 |
CN111164575B (zh) | 2023-08-22 |
US11797668B2 (en) | 2023-10-24 |
WO2019073557A1 (ja) | 2019-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6698956B2 (ja) | サンプルデータ生成装置、サンプルデータ生成方法およびサンプルデータ生成プログラム | |
US10891378B2 (en) | Automated malware signature generation | |
US8955133B2 (en) | Applying antimalware logic without revealing the antimalware logic to adversaries | |
US8701192B1 (en) | Behavior based signatures | |
US8401982B1 (en) | Using sequencing and timing information of behavior events in machine learning to detect malware | |
RU2708356C1 (ru) | Система и способ двухэтапной классификации файлов | |
US20170083703A1 (en) | Leveraging behavior-based rules for malware family classification | |
US8302194B2 (en) | Using file prevalence to inform aggressiveness of behavioral heuristics | |
US11544575B2 (en) | Machine-learning based approach for malware sample clustering | |
CN112685735B (zh) | 用于检测异常数据的方法、设备和计算机可读存储介质 | |
CN113935033A (zh) | 特征融合的恶意代码家族分类方法、装置和存储介质 | |
EP2977928B1 (en) | Malicious code detection | |
Loi et al. | Towards an automated pipeline for detecting and classifying malware through machine learning | |
JP6407184B2 (ja) | 攻撃対策判定システム、攻撃対策判定方法及び攻撃対策判定プログラム | |
US20220237289A1 (en) | Automated malware classification with human-readable explanations | |
Nandagopal et al. | Classification of Malware with MIST and N-Gram Features Using Machine Learning. | |
JP2016525750A (ja) | 合法的オブジェクトの誤用の識別 | |
WO2020194449A1 (ja) | 警告装置、制御方法、及びプログラム | |
US20220237238A1 (en) | Training device, determination device, training method, determination method, training method, and determination program | |
US10706146B2 (en) | Scanning kernel data structure characteristics | |
US20200226257A1 (en) | System and method for identifying activity in a computer system | |
US11822655B1 (en) | False alarm reduction by novelty detection | |
US11941118B2 (en) | System and method to build robust classifiers against evasion attacks | |
Singh et al. | Static Malware Analysis Using Machine and Deep Learning | |
US20220269785A1 (en) | Enhanced cybersecurity analysis for malicious files detected at the endpoint level |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191025 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20191025 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20191106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191210 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200109 |
|
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: 20200407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200428 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6698956 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |