JP6698956B2 - サンプルデータ生成装置、サンプルデータ生成方法およびサンプルデータ生成プログラム - Google Patents

サンプルデータ生成装置、サンプルデータ生成方法およびサンプルデータ生成プログラム Download PDF

Info

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
Application number
JP2019547846A
Other languages
English (en)
Other versions
JPWO2019073557A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2019073557A1 publication Critical patent/JPWO2019073557A1/ja
Application granted granted Critical
Publication of JP6698956B2 publication Critical patent/JP6698956B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test 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

本発明は、システムの異常事象を検知する検知装置のサンプルデータを生成するサンプルデータ生成装置、サンプルデータ生成方法およびサンプルデータ生成プログラムに関する。特に、本発明は、検知装置の検知精度を高精度化するためのサンプルデータを生成するサンプルデータ生成装置、サンプルデータ生成方法およびサンプルデータ生成プログラムに関する。
故障、攻撃、あるいはその他の異常といった異常事象を検知する検知技術では、誤検知、すなわちFalse Positiveと、検知漏れ、すなわちFalse Negativeがしばしば発生する。誤検知とは、本来検知すべきではない正常な事象を検知してしまうことである。また、検知漏れとは、本来検知すべき異常事象を検知しないことである。誤検知および検知漏れは、検知技術の設計および評価の際に、十分な数かつ十分なバリエーションの正常な事象および異常事象を用意することができないために発生する。そこで、検知技術の設計および評価の精度を高めるために、検知技術が起こす可能性のある誤検知および検知漏れに関して、十分なサンプルデータを生成する技術が必要である。
特許文献1には、マルウェアといった不正プログラムに変異を与え、既存の不正プログラム検知製品では検出できないような不正プログラムのサンプルデータを生成する技術が開示されている。既存の不正プログラム検知製品の具体例は、アンチウィルスソフトウェアである。特許文献1の技術は、生成されたサンプルデータについて、既知の製品で検知されないこと、および、悪意のある機能を維持していることを検査する。そして、特許文献1の技術は、検査にパスしたサンプルデータを使って、不正プログラム検知技術を強化する。
特許文献2には、バイナリデータの攻撃データを効率的に作る技術が開示されている。特許文献2の技術は、攻撃データのバイト列を1バイトずつ正常データに近づける。そして、そのバイナリデータをシステムに入力し、システムが異常を起こすバイナリデータを特定する。このように、正常データの特徴を持つ攻撃データが自動生成される。特許文献2の技術は、正常データの特徴を持つ攻撃データを用いることにより、システムの異常を効率よく発見し、システムを強化することができる。
特表2016−507115号公報 特許5906855号公報
特許文献1の技術は、不正プログラム検知技術における監視対象の正常な状態を考慮していない。攻撃検知技術では、正常なファイルを誤検知しないように、正常なプログラムには含まれないような不正プログラムの特徴をもとに、攻撃検知のルールが定義される。そのため、高度な攻撃者は、正常なプログラムの特徴の範囲で悪意ある処理をする不正なプログラムを作る。しかし、特許文献1の技術では、正常なプログラムの特徴の範囲で悪意ある処理をする不正なプログラムを検知できるように攻撃検知プログラムを強化することはできない。また、特許文献1の技術では、誤検知のサンプルデータは提供されない。
特許文献2の技術は、生成された攻撃データが攻撃として成立するかまでは確認しない。そのため、高度な攻撃者は、システムが異常を起こさない正常な範囲のデータによってシステムに不正な処理をさせる入力データを検討する。しかし、特許文献2の技術では、システムが異常を起こさない正常な範囲のデータだけでシステムに不正な処理をさせる入力データを生成できない。また、特許文献2の技術では、誤検知のサンプルデータは提供されない。
本発明の目的は、検知装置の設計および評価の精度を高めるために、検知装置が起こす可能性がある検知漏れおよび誤検知に関する十分なサンプルデータを自動的に用意することである。
本発明に係るサンプルデータ生成装置は、
各々がシステムの通常事象である複数の正常サンプルデータと、各々が前記システムの異常事象である複数の非正常サンプルデータとを取得する取得部と、
前記複数の正常サンプルデータを表現する正常モデルを生成するモデル生成部と、
前記複数の非正常サンプルデータの非正常サンプルデータ毎に、前記非正常サンプルデータの特徴をベクトルで表した非正常特徴ベクトルを生成し、前記非正常特徴ベクトルの要素を変更して得られる非正常変更ベクトルを生成する変更部と、
前記非正常変更ベクトルと前記正常モデルとが類似である場合に、前記非正常変更ベクトルにより表されるサンプルデータを用いた処理を前記システムで実行し、前記システムの異常事象を検知する検知装置により異常事象が検知されるかを検証し、前記検知装置により異常事象が検知されないことが検証されると、前記検知装置によらず前記システムに異常事象があるかを判定し、異常事象があると判定した場合に、前記非正常変更ベクトルにより表されるサンプルデータを前記検知装置の検知漏れサンプルデータとして記憶部に記憶する検証部とを備えた。
本発明に係るサンプルデータ生成装置では、変更部が、非正常サンプルデータの特徴をベクトルで表した非正常特徴ベクトルを生成し、非正常特徴ベクトルの要素を変更して得られる非正常変更ベクトルを生成する。検証部が、非正常変更ベクトルと正常モデルとが類似である場合に、非正常変更ベクトルを用いた処理を実行した際に、検知装置により異常事象が検知されるかを検証する。そして、検証部が、検知装置により異常事象が検知されないことが検証されると、検知装置によらずシステムに異常事象があるかを判定する。そして、検証部が、異常事象があると判定した場合に、非正常変更ベクトルにより表されるサンプルデータを検知装置の検知漏れサンプルデータとして記憶部に記憶する。よって、本発明に係るサンプルデータ生成装置によれば、非正常特徴ベクトルの要素を変更しながら、正常モデルに類似し、かつ、検知装置に検知されず、かつ、異常事象であるサンプルデータを生成することができる。
実施の形態1に係るサンプルデータ生成装置100の構成図。 実施の形態1に係る正常サンプル生成部110の構成図。 実施の形態1に係るモデル生成部120の構成図。 実施の形態1に係る非正常サンプル生成部130の構成図。 実施の形態1に係る調整部140の構成図。 実施の形態1に係る取得処理およびモデル生成処理のフロー図。 実施の形態1に係る正常サンプルデータおよび非正常サンプルデータの母集団を表現する図。 実施の形態1に係る正常モデルが表現するサンプルデータおよび検知装置が検知するサンプルデータの母集団を表現する図。 実施の形態1に係る誤検知サンプルデータの母集団を表現する図。 実施の形態1に係る誤検知モデルが表現するサンプルデータの母集団を表現する図。 実施の形態1に係る検知漏れサンプルデータ生成処理のフロー図。 実施の形態1に係る検知漏れ調整処理の詳細フロー図。 実施の形態1に係る誤検知サンプルデータ生成処理のフロー図。 実施の形態1に係る誤検知調整処理の詳細フロー図。 実施の形態1の変形例に係るサンプルデータ生成装置100の構成図。 実施の形態2に係るサンプルデータ生成装置100aの構成図。 実施の形態2に係る特徴選択処理のフロー図。
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
実施の形態1.
***構成の説明***
図1から図5を用いて、本実施の形態に係るサンプルデータ生成装置100の構成を説明する。
サンプルデータ生成装置100は、システムの異常事象を検知する検知装置のサンプルデータを生成する。サンプルデータ生成装置100は、検知装置の検知精度の高精度化を目的としている。サンプルデータ生成装置100は、検知装置が検知できない異常事象を検知漏れサンプルデータとして生成する。また、サンプルデータ生成装置100は、検知装置が検知してしまう通常事象を誤検知サンプルデータとして生成する。なお、検知装置が異常事象の検知の対象とするシステムを、対象システムと呼ぶ場合がある。
サンプルデータ生成装置100は、コンピュータである。サンプルデータ生成装置100は、プロセッサ910を備えるとともに、メモリ921、補助記憶装置922、入力インタフェース930、出力インタフェース940、および通信装置950といった他のハードウェアを備える。プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
サンプルデータ生成装置100は、機能要素として、取得部10と、モデル生成部120と、調整部140と、記憶部150とを備える。取得部は、正常サンプル生成部110と、非正常サンプル生成部130とを備える。図2に示すように、正常サンプル生成部110は、正常収集部111と正常生成部112を備える。図3に示すように、モデル生成部120は、特徴変換部121と学習部122を備える。図4に示すように、非正常サンプル生成部130は、非正常生成部131と非正常収集部132を備える。図5に示すように、調整部140は、変更部141と検証部142を備える。変更部141は、特徴抽出部411と特徴修正部412を備える。記憶部150には、攻撃ツール群151と、サンプル生成ツール群152と、模擬環境153と、検知漏れサンプルデータ154と、誤検知サンプルデータ155とが記憶される。
取得部10とモデル生成部120と変更部141と検証部142の機能は、ソフトウェアにより実現される。記憶部150は、メモリ921に備えられる。
プロセッサ910は、サンプルデータ生成プログラムを実行する装置である。サンプルデータ生成プログラムは、取得部10とモデル生成部120と変更部141と検証部142の機能を実現するプログラムである。
プロセッサ910は、演算処理を行うIC(Integrated Circuit)である。プロセッサ910の具体例は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
メモリ921は、データを一時的に記憶する記憶装置である。メモリ921の具体例は、SRAM(Static Random Access Memory)、あるいはDRAM(Dynamic Random Access Memory)である。
補助記憶装置922は、データを保管する記憶装置である。補助記憶装置922の具体例は、HDDである。また、補助記憶装置922は、SD(登録商標)メモリカード、CF、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体であってもよい。なお、HDDは、Hard Disk Driveの略語である。SD(登録商標)は、Secure Digitalの略語である。CFは、CompactFlashの略語である。DVDは、Digital Versatile Diskの略語である。
入力インタフェース930は、マウス、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース930は、具体的には、USB(Universal Serial Bus)端子である。なお、入力インタフェース930は、LAN(Local Area Network)と接続されるポートであってもよい。
出力インタフェース940は、ディスプレイといった出力機器のケーブルが接続されるポートである。出力インタフェース940は、具体的には、USB端子またはHDMI(登録商標)(High Definition Multimedia Interface)端子である。ディスプレイは、具体的には、LCD(Liquid Crystal Display)である。
通信装置950は、ネットワークを介して他の装置と通信する装置である。通信装置950は、レシーバとトランスミッタを有する。通信装置950は、有線または無線で、LAN、インターネット、あるいは電話回線といった通信網に接続している。通信装置950は、具体的には、通信チップまたはNIC(Network Interface Card)である。
サンプルデータ生成プログラムは、プロセッサ910に読み込まれ、プロセッサ910によって実行される。メモリ921には、サンプルデータ生成プログラムだけでなく、OS(Operating System)も記憶されている。プロセッサ910は、OSを実行しながら、サンプルデータ生成プログラムを実行する。サンプルデータ生成プログラムおよびOSは、補助記憶装置922に記憶されていてもよい。補助記憶装置922に記憶されているサンプルデータ生成プログラムおよびOSは、メモリ921にロードされ、プロセッサ910によって実行される。なお、サンプルデータ生成プログラムの一部または全部がOSに組み込まれていてもよい。
サンプルデータ生成装置100は、プロセッサ910を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、サンプルデータ生成プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ910と同じように、サンプルデータ生成プログラムを実行する装置である。
サンプルデータ生成プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ921、補助記憶装置922、または、プロセッサ910内のレジスタあるいはキャッシュメモリに記憶される。
サンプルデータ生成プログラムは、取得部10とモデル生成部120と変更部141と検証部142の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させる。また、サンプルデータ生成方法は、サンプルデータ生成装置100がサンプルデータ生成プログラムを実行することにより行われる方法である。
サンプルデータ生成プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、サンプルデータ生成プログラムは、プログラムプロダクトとして提供されてもよい。
***動作の説明***
次に、本実施の形態に係るサンプルデータ生成装置100の各部の動作について説明する。
<取得処理およびモデル生成処理>
まず、図6を用いて、本実施の形態に係る取得処理およびモデル生成処理について説明する。
ステップS111において、取得部10は、各々がシステムの通常事象である複数の正常サンプルデータを取得する。具体的には、正常サンプル生成部110は、対象システムから真に正常なサンプルデータ、すなわち正常サンプルデータを収集する。サンプルデータの具体例は、通信パケット、プロキシログ、システムログ、メール、およびファイルである。サンプルデータに対応するセンサを対象システムに設置することにより、サンプルデータが収集される。この時点では、正常ではないサンプルデータ、すなわち非正常サンプルデータは対象システムに含まれていないものとする。
より詳しく説明する。
正常サンプル生成部110の正常収集部111が、対象システムから真に正常なサンプルデータを収集する。また、正常収集部111は、別の環境から収集した正常サンプルデータを、対象システム用に編集する。すなわち、正常収集部111が、対象システム以外の他システムから通常事象のサンプルデータを収集する。そして、正常収集部111は、収集したサンプルデータを対象システムの環境に合わせて修正することにより、複数の正常サンプルデータを取得する。別の環境から収集した正常サンプルデータとは、別の環境における通常事象である。例えば、別の環境から収集した正常サンプルデータがログの場合、タイムスタンプ、IPアドレス、ホスト名、およびドメイン名といった情報が、対象システムの環境のログとは異なる可能性がある。そこで、正常収集部111は、対象システムから収集したログの情報と整合するように、タイムスタンプ、IPアドレス、ホスト名、およびドメイン名といった情報を修正する。
また、正常サンプル生成部110の正常生成部112は、正常サンプルデータを収集するのではなく、パラメータに合わせて正常サンプルデータを生成する。正常生成部112は、サンプルデータの特徴ベクトルに合わせて正常サンプルデータを生成する。サンプルデータの特徴ベクトルに合わせて正常サンプルデータを生成するツールが、対象システムごとに用意される。すなわち、正常生成部112は、システムの通常事象のサンプルデータを生成するサンプル生成ツール群152と模擬環境153とを用いて、複数の正常サンプルデータを取得する。このツールは、誤検知サンプルデータを自動生成する際にも利用される。
なお、正常サンプル生成部110は、組織のシステムに設置したセンサから定期的に送られる正常サンプルデータを収集してもよい。
ステップS112において、モデル生成部120は、複数の正常サンプルデータを表現するモデルを生成する。正常サンプルデータを表現するモデルのことを正常モデルと呼ぶ。モデル生成部120は、正常サンプルデータのセットを機械学習といった技術を使って学習することにより、正常モデルを生成する。機械学習を利用する場合、モデル生成部120は、サンプルデータが正常サンプルデータかそれ以外かを分類するための1クラス識別器を利用する。モデル生成部120は、サンプルデータが正常サンプルデータに近いかどうかを測るために、識別のスコアを識別器から求めることができる識別アルゴリズムを利用する。モデル生成部120は、機械学習の前に、サンプルデータの生データを前処理し、既定の特徴を抽出するといった処理をしてもよい。
なお、モデル生成部120は、後述する非正常サンプル生成部130により生成される非正常サンプルデータのセットを利用してもよい。すなわち、モデル生成部120は、正常サンプルデータか非正常なサンプルデータかを分類する2クラス識別器を利用してもよい。2つのセットの大きさに差がある場合は、サンプルデータ数を調整したり、誤答の際のペナルティを調整したりするといった不均衡データに対して良く利用されるアプローチを採用する。
モデル生成部120の特徴変換部121は、複数の正常サンプルデータの各々を特徴ベクトルに変換する。また、モデル生成部120の学習部122は、機械学習技術を用いて、特徴変換部121により変換された特徴ベクトルから正常モデルを学習する。
具体的には、特徴変換部121は、入力されたサンプルデータを処理しやすい形式、すなわち特徴ベクトルに変換する。具体例としてプロキシログの場合について説明する。例えば、一定期間における送信元と送信先の通信に関して、通信の頻度、データサイズ、データに含まれる文字列の頻度といった情報を要素として並べたものが、特徴ベクトルC=(c1、c2、…、cn)である。収集したサンプルデータをそのままの形で学習できるならば、特徴変換部121は必要ない。
学習部122は、正常サンプルデータの特徴ベクトルを学習データとして、正常サンプルデータを表現する特徴空間をモデルとして学習する。学習されたモデルを使い、新たに与えられた特徴ベクトルに対して、スコアを計算することができれば、学習の方法は問わない。スコアは、与えられた特徴ベクトルが正常サンプルデータとどれだけ似ているかを表す値、すなわち類似度である。類似度は、正常サンプルデータのモデルに近ければ高い値になり、似てなければ低い値になる。機械学習の分類器の場合、スコアは予測値の確率にあたる。
ステップS113において、モデル生成部120は、複数の正常サンプルデータのうち検知装置が誤検知する正常サンプルデータを誤検知サンプルデータとして取得する。モデル生成部120は、既存の検知エンジンを利用して、既存の検知エンジンが誤検知を起こす正常サンプルデータを取得する。モデル生成部120は、正常サンプル生成部110がステップS111で取得した正常サンプルデータを、既存の検知エンジンに入力する。そして、モデル生成部120は、誤検知を起こす正常サンプルデータを誤検知サンプルデータとして取得する。
ステップS114において、モデル生成部120は、誤検知サンプルデータを表現するモデルを誤検知モデルとして生成する。具体的には、モデル生成部120は、誤検知を起こさない正常サンプルデータのセットと誤検知を起こす正常サンプルデータのセットを機械学習といった技術を使って学習する。そして、モデル生成部120は、誤検知を起こす正常サンプルデータ、すなわち誤検知サンプルデータを表現するモデルを生成する。誤検知サンプルデータを表現するモデルを誤検知モデルと呼ぶ。
機械学習を利用する場合、モデル生成部120は、誤検知を起こさない正常サンプルデータか、誤検知を起こす正常サンプルデータかを分類するための2クラス識別器となる。2つのセットの大きさに差がある場合は、サンプルデータ数を調整したり、誤答の際のペナルティを調整したりするといった不均衡データに対して良く利用されるアプローチを採用する。
本実施の形態では、モデルを生成するための手法として機械学習を取り上げている。機械学習のアルゴリズムは、対象とするシステム、情報、あるいはコストに応じて、適切に選択される。
次に、図7から図10を用いて、サンプルデータおよびモデルの関係について説明する。
図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は、攻撃機能を維持している非正常サンプルデータを検知漏れサンプルデータとして抽出する。
図4の非正常サンプル生成部130の非正常生成部131は、非正常サンプルデータを生成する。非正常生成部131は、ステップS121、ステップS123、およびステップS124において利用される。ステップS123およびステップS124では、非正常生成部131は、非正常サンプルデータの特徴と同じ攻撃を実際に実行する。
非正常生成部131は、システムの異常事象のサンプルデータを生成する攻撃ツールと模擬環境とを用いて、複数の非正常サンプルデータを取得する。具体的には、非正常生成部131は、攻撃ツール群151と模擬環境153とを用いて、非正常サンプルデータの特徴と同じ模擬攻撃を実際に実行する。攻撃ツール群151は、あらかじめ対象システムごとに個別に用意した攻撃ツールのセットである。模擬環境153は、仮想環境で模擬的に用意した対象システムである。模擬環境153は、攻撃の実行により実システムに対して悪影響がでないようにするために設けられる。影響が出ないまたは影響が出ても問題が無い場合においては、実環境で攻撃を実行すればよいので模擬環境153は必要ない。
攻撃ツール群151に含まれる攻撃ツールは、非正常サンプルデータの特徴を操作するためのパラメータを入力として持つプログラムである。パラメータは、エクスプロイトコードを実行する対象、すなわちIPアドレス、ポート番号、およびサービスといった情報である。また、パラメータは、例えば、侵入後にインストールする疑似マルウェアの種類、攻撃者のC&C(command and control)サーバのIPアドレス、通信の暗号化方法、C&C通信の頻度およびサイズ、情報漏えいのためのPOSTのサイズと頻度といった情報である。
図4の非正常サンプル生成部130の非正常収集部132は、他システムから異常事象のサンプルデータを収集する。そして、非正常収集部132は、収集したサンプルデータを対象システムの環境に合わせて修正することにより、複数の非正常サンプルデータを取得する。具体的には、非正常収集部132は、別の環境から収集した非正常サンプルデータを対象システム用に修正する。別の環境から収集した非正常サンプルデータには、攻撃サンプルデータ、故障サンプルデータ、およびその他の異常サンプルデータが含まれる。別の環境から収集した非正常サンプルデータがログの場合、タイムスタンプ、IPアドレス、ホスト名、およびドメイン名といった情報が、対象システムの環境のログとは異なる可能性がある。そこで、非正常収集部132は、別の環境から収集した非正常サンプルデータの情報が対象システムと整合するように、タイムスタンプ、IPアドレス、ホスト名、およびドメイン名といった情報を修正する。
図12を用いて、検知漏れサンプルデータ生成処理のうち検知漏れ調整処理の詳細について説明する。検知漏れ調整処理は、検知漏れサンプルデータ生成処理のうちの調整部140の動作である。図5に示すように、調整部140は、変更部141と検証部142を備える。また、変更部141は、特徴抽出部411と特徴修正部412を備える。
ステップS201からステップS203において、変更部141は、複数の非正常サンプルデータの非正常サンプルデータ毎に、非正常サンプルデータの特徴をベクトルで表した非正常特徴ベクトルを生成する。また、変更部141は、非正常特徴ベクトルの要素を変更して得られる非正常変更ベクトルを生成する。
具体的には、ステップ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’は、非正常変更ベクトルとも呼ばれる。
ステップS204からステップS209において、検証部142は、非正常変更ベクトルと正常モデルとが類似である場合に、非正常変更ベクトルにより表されるサンプルデータを用いた処理をシステムで実行する。ここでは、システムを模擬した模擬環境で、非正常変更ベクトルにより表されるサンプルデータを用いた処理が実行されてもよい。検証部142は、システムの異常事象を検知する検知装置により異常事象が検知されるかを検証する。検知装置により異常事象が検知されないことが検証されると、検証部142は、検知装置によらずシステムに異常事象があるかを判定する。検証部142は、異常事象があると判定した場合に、非正常変更ベクトルにより表されるサンプルデータを検知装置の検知漏れサンプルデータ154として記憶部150に記憶する。
なお、検証部142は、予め定められた非正常変更ベクトルの第1制約条件を満たす非正常変更ベクトルについてのみ、検知装置により異常事象が検知されるかを検証する。また、検証部142は、非正常変更ベクトルと正常モデルとの第1類似度を算出し、第1類似度が第1閾値以上の場合に、非正常変更ベクトルと正常モデルとが類似であると判定する。
具体的には、ステップS204において、検証部142は、特徴ベクトルC’が第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に戻る。
ステップS205において、検証部142は、第1制約条件を満たす特徴ベクトルC’=(c1+Δ1、c2+Δ2、…、cn+Δn)を得る。検証部142は、この特徴ベクトルC’について、正常モデルを用いて、スコアS(C’)を算出する。スコアS(C’)は、第1類似度の例である。正常モデルを分類器Eとする。算出されたスコアS(C’)が規定の第1閾値以上の場合、検証部142は、特徴ベクトルC’は正常モデルに近いと判定し、ステップS206に進む。スコアS(C’)が規定の第1閾値未満の場合、処理はステップS202に戻る。
ステップS206において、非正常生成部131により、正常モデルに近い特徴ベクトルC’に対応する攻撃が実行される。非正常生成部131は、攻撃ツール群151のうちの対応する攻撃ツールを利用して、正常モデルに近い特徴ベクトルC’に対応する攻撃を実行する。実行する際には模擬環境153を利用しても良い。攻撃ツールは、特徴ベクトルの各要素を調整可能なパラメータを入力として持つプログラムである。例えば、プロキシログを使った不審通信検知の場合、攻撃ツールは、1回あたりのPostのサイズ平均[bytes/time]、およびPostの周期T[sec]といった通信の特徴を調整可能である。対象システムにおいて検知したい事象(攻撃、故障、あるいは異常)に合わせて、攻撃ツールはあらかじめ用意される。
ステップS207において、検証部142は、実行された攻撃が検知装置で検知されるかを確認する。検知されれば、処理はステップS202に戻る。検知されなければ、処理はステップS208に進む。
ステップS208において、検証部142は、実行された攻撃が攻撃機能を維持しているかを確認する。検証部142は、検知装置によらずシステムに異常事象があるかを判定し、異常事象があると判定した場合に、実行された攻撃が攻撃機能を維持していると判定する。攻撃機能の維持の確認方法の例を以下に記載する。攻撃機能の維持の確認方法は、以下の例の方法以外でもよい。
検知装置の対象がログの場合、検証部142は、ログを発生させた攻撃が、攻撃の基本機能を行っているかを監視する。ここでの基本機能は、ファイル操作、ユーザ認証、プログラム起動、および外部への情報アップロードといった機能である。基本機能の有無を監視するために、検証部142は、Syslogあるいは通信ログといったログをパージングし、該当の操作に関するログが存在するかを監視する。
検知装置の対象がメールの場合、検証部142は、生成された不正メールが基本機能を発揮しているかを確認する。ここでの基本機能は、メールを送りつけられた人物が、誤って不正メールの文面にあるURLあるいは添付ファイルを実際にクリックしてしまうといった事象である。検証部142は、組織の不審メール対応訓練の一環として、不正メールを組織の人間に送り、不正メールの文面にあるURLあるいは添付ファイルを実際にクリックするかを監視する。添付ファイルには、クリックすると特定のURLにアクセスするようにプログラムされたスクリプトが記述されている。ドキュメントファイルであると誤認されるように、PDF(Portable Document Format)といったドキュメントのアイコンが添付ファイルに利用される。
検知装置の対象が通信の場合、検証部142は、生成された攻撃通信が基本機能を行っているかを監視する。ここでの基本機能は、RAT(Remote Administration Tool)の操作、C&Cサーバとのやりとり、およびファイルアップロードといった機能である。
検知装置の対象がファイルの場合、検証部142は、生成された不正ファイルが基本機能を行っているかを確認する。ここでの基本機能は、プログラムの実行、ファイルの削除、C&Cサーバとの通信、およびファイルアップロードといった機能である。
攻撃機能を維持していなければ、処理はステップS202に戻る。攻撃機能を維持してれば、処理はステップS209に進む。
ステップS209において、検証部142は、特徴ベクトルC’を検知漏れサンプルデータ154として記憶部150に記憶する。すなわち、検証部142は、第1制約条件を満たし、正常モデルにも十分近く、既存の検知装置で検知されず、攻撃機能を維持している検知漏れサンプルデータを記録する。第1制約条件を利用することで、特徴空間上で明らかに攻撃機能を有さないベクトルに対して、処理に時間を要するステップS205からステップS209を省略することができる。よって、検知漏れ調整処理の効率を上げることができる。
<誤検知サンプルデータ生成処理>
次に、図13を用いて、誤検知サンプルデータ生成処理について説明する。
図2に示すように、正常サンプル生成部110の正常生成部112は、サンプル生成ツール群152と模擬環境153とを用いて、正常サンプルデータを生成する。サンプル生成ツール群152は、あらかじめ対象システムごと個別に用意したサンプルデータを生成するためのツールのセットである。サンプル生成ツール群152は、攻撃ツール群151の攻撃機能を無効化したものに相当する。模擬環境153は、上述したように、仮想環境に模擬的に設けられた対象システムである。
ステップS131において、正常サンプル生成部110および非正常サンプル生成部130は、それぞれ正常サンプルデータと非正常サンプルデータを用意する。このとき、正常サンプル生成部110および非正常サンプル生成部130の各々は、正常サンプルデータあるいは非正常サンプルデータを収集しても、新たに生成しても構わない。
ステップS132において、調整部140の変更部141は、複数の処理サンプルデータの処理サンプルデータ毎に、処理サンプルデータの特徴をベクトルで表した処理特徴ベクトルを生成する。複数の処理サンプルデータは、複数の正常サンプルデータと複数の非正常サンプルデータとを含む。変更部141は、処理特徴ベクトルの要素を変更して得られる処理変更ベクトルを生成する。調整部140は、処理サンプルデータが誤検知モデルに近くなるよう修正する。
ステップS133において、調整部140は、既存の検知装置で検知されるサンプルデータを抽出する。正常サンプル生成部110は、サンプルデータ生成ツールおよび模擬環境を使って、サンプルデータと同じ特徴を持つ事象を実際に実行する。また、非正常サンプル生成部130は、攻撃ツールおよび模擬環境を使って、サンプルデータと同じ特徴を持つ事象を実際に実行する。サンプルデータと同じ特徴を持つ事象には、Webアクセス、ファイル操作、あるいはプログラムの実行といった通常作業を模擬したものが含まれる。調整部140は、既存の検知装置で検知されるかを確認し、検知されるサンプルデータのみを抽出する。
ステップS134において、調整部140は、このサンプルデータが攻撃機能を維持しているかを確認する。調整部140は、攻撃機能を維持していないサンプルデータのみを誤検知サンプルデータとして抽出する。
図14を用いて、誤検知サンプルデータ生成処理のうち誤検知調整処理の詳細について説明する。誤検知調整処理は、誤検知サンプルデータ生成処理のうちの調整部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’を生成する。
ステップS304において、検証部142は、特徴ベクトルC’が第2制約条件を満たすかを確認する。ここで第2制約条件とは、対象とする攻撃、すなわちサンプルデータを用いた攻撃において必須の条件の否定である。
以下において、プロキシログを使った不審通信検知を例に説明する。特徴ベクトルに以下の要素を含むとする。特徴ベクトルの要素および単位は、環境および対象システムに応じて適切なものに変える。
c1:1回あたりのPostのサイズ平均[bytes/time]
c2:Postの周期T[sec]
不審通信は、攻撃者のサーバとのやりとりおよび機密データの送信が目的である。そのため、評価者が、攻撃機能としての必須の条件の否定として、「一定時間P[sec]当たりのPostサイズが規定の閾値以下」、すなわち、「c1×(1/c2)×P≦θ[byte]」を第2制約条件とすることができる。
特徴ベクトルC’が第2制約条件を満たす場合は、処理はステップS305に進む。特徴ベクトルC’が第2制約条件を満たさない場合は、処理はステップS302に戻る。
ステップS305からステップS309において、検証部142は、処理変更ベクトルと誤検知モデルとが類似である場合に、処理変更ベクトルにより表されるサンプルデータを用いた処理をシステムで実行する。システムは模擬環境でもよい。検証部142は、検知装置により異常事象が検知されるかを検証する。検証部142は、検知装置により異常事象が検知されることが検証されると、検知装置によらずシステムに異常事象があるかを判定する。検証部142は、異常事象がないと判定した場合に、処理変更ベクトルにより表されるサンプルデータを検知装置の誤検知サンプルデータ155として記憶部150に記憶する。
なお、検証部142は、予め定められた処理変更ベクトルの第2制約条件を満たす処理変更ベクトルについてのみ、検知装置により異常事象が検知されるかを検証する。また、検証部142は、処理変更ベクトルと誤検知モデルとの第2類似度を算出し、第2類似度が第2閾値以上の場合に、処理変更ベクトルと誤検知モデルとが類似であると判定する。
ステップS305において、検証部142は、第2制約条件を満たす特徴ベクトルC’=(c1+Δ1、c2+Δ2、…、cn+Δn)を得る。検証部142は、この特徴ベクトルC’について、誤検知モデルを用いて、スコアS(C’)を算出する。スコアS(C’)は第2類似度の例である。誤検知モデルを分類器E1とする。誤検知モデルは2クラス分類のため、検証部142は、誤検知のクラスにおけるスコアS(C’)を確認する。算出されたスコアS(C’)が規定の第2閾値以上の場合、特徴ベクトルは誤検知モデルと類似と判定し、ステップS306に進む。スコアS(C’)が規定の第2閾値未満の場合、処理はステップS302に戻る。
ステップS306において、サンプル生成ツール群152のうち対応するサンプルデータ生成ツールを利用して、誤検知モデルに近い特徴ベクトルC’に対応するサンプルデータを実行する。実行する際には模擬環境153を利用しても良い。対象システムにおいて検知したい事象(攻撃、故障、異常)に合わせて、サンプルデータ生成ツールはあらかじめ用意される。
ステップS307において、検証部142は、実行されたサンプルデータが既存の検知装置で検知されるかを確認する。検知されなければ、処理はステップS302に戻る。検知されれば、処理はステップS308に進む。
ステップS308において、検証部142は、実行されたサンプルデータが攻撃機能を維持しているかを確認する。攻撃機能を維持しているか否かの判定は、ステップS208と同様である。攻撃機能を維持していれば、処理はステップS302に戻る。攻撃機能を維持していなければ、処理はステップS309に進む。
ステップS309において、検証部142は、特徴ベクトルC’を誤検知サンプルデータ155として記憶部150に記憶する。すなわち、検証部142は、第2制約条件を満たし、誤検知モデルにも十分近く、既存の検知装置で検知され、攻撃機能を維持していない誤検知サンプルデータを記録する。ここでも、第2制約条件を利用することで、特徴空間上で明らかに攻撃機能を有さないベクトルに対して、処理に時間を要するステップS305からステップS309を省略することができる。よって、誤検知調整処理の効率を上げることができる。
***他の構成***
本実施の形態では、主に、攻撃を検知する攻撃検知装置のサンプルデータを生成する例を説明した。しかし、本実施の形態は、故障を検知する故障検知装置、および、その他の異常を検知する異常検知装置についても適用可能である。
本実施の形態では、サンプルデータ生成装置100の機能がソフトウェアで実現されるが、変形例として、サンプルデータ生成装置100の機能がハードウェアで実現されてもよい。
図15は、本実施の形態の変形例に係るサンプルデータ生成装置100の構成を示す図である。
サンプルデータ生成装置100は、電子回路909、メモリ921、補助記憶装置922、入力インタフェース930、出力インタフェース940および通信装置950を備える。
電子回路909は、取得部10とモデル生成部120と調整部140(変更部141と検証部142)の機能を実現する専用の電子回路である。
電子回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field−Programmable Gate Arrayの略語である。
サンプルデータ生成装置100の構成要素の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、サンプルデータ生成装置100の構成要素の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、サンプルデータ生成装置100において、取得部10とモデル生成部120と変更部141と検証部142の機能は、プロセッシングサーキットリにより実現される。
サンプルデータ生成装置100において、取得部10とモデル生成部120と変更部141と検証部142の「部」を「工程」あるいは「処理」に読み替えてもよい。また、取得処理、モデル生成処理、変更処理、および検証処理の「処理」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な記憶媒体」に読み替えてもよい。
***本実施の形態の効果の説明***
本実施の形態に係るサンプルデータ生成装置100によれば、正常サンプルデータの特徴の範囲内で悪意ある処理をする非正常サンプルデータを生成することができる。よって、検知漏れの少ない高精度に検知装置を強化することができる。
また、本実施の形態に係るサンプルデータ生成装置100によれば、誤検知サンプルデータを自動生成することができる。よって、誤検知の少ない高精度に検知装置を強化することができる。
以上のように、本実施の形態に係るサンプルデータ生成装置100によれば、検知装置の設計および評価の精度を高めるために、検知装置が起こす可能性がある検知漏れおよび誤検知に関する十分なサンプルデータを自動的に用意することができる。
実施の形態2.
本実施の形態では、実施の形態1とは異なる点について説明する。なお、実施の形態1と同様の構成には同一の符号を付し、その説明を省略する場合がある。
図16を用いて、本実施の形態に係るサンプルデータ生成装置100aの構成について説明する。サンプルデータ生成装置100aは、実施の形態1のサンプルデータ生成装置100の構成に加え、特徴選択部160を備える。
特徴選択部160は、誤検知サンプルデータの分類に対する寄与度に基づいて特徴を抽出する。
図17を用いて、本実施の形態に係る特徴選択部160を用いた特徴選択処理について説明する。
ステップS161において、モデル生成部120は、誤検知モデルを生成する。モデル生成部120は、誤検知を起こさない正常サンプルデータか、誤検知を起こす正常サンプルデータかを分類するための2クラス識別器を利用する。その際、モデル生成部120は、特徴の寄与度が出るアルゴリズムを利用する。
ステップS162において、特徴選択部160は、各クラスに対する各特徴の寄与度を算出する。例えば、Random Forestでは、識別に利用する各特徴の寄与度が算出される。寄与度が大きいほど識別に重要な特徴である。寄与度以外にも、学習済みのモデルの重み係数、オッズ比、あるいは感度分析結果といった情報から、識別に強く影響を与える特徴を推測することができる。
ステップS163において、特徴選択部160は、誤検知を起こす正常サンプルデータのクラスへの分類に対して寄与度の大きな特徴を抽出する。これにより、攻撃(誤検知)への分類に強い影響を持つ特徴を抽出することができる。
特徴選択部160により抽出された特徴は、調整部140の特徴修正部412による修正対象の特徴ベクトルの要素とする。これにより修正する候補を減らし、検知漏れサンプルデータおよび誤検知サンプルデータの生成を効率化することができる。
実施の形態1および2では、サンプルデータ生成装置の各部を独立した機能ブロックとして説明した。しかし、サンプルデータ生成装置の構成は、上述した実施の形態のような構成でなくてもよい。サンプルデータ生成装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。
実施の形態1および2のうち、複数の部分を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、1つの部分を実施しても構わない。その他、これらの実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明の範囲、本発明の適用物の範囲、および本発明の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。
10 取得部、100,100a サンプルデータ生成装置、110 正常サンプル生成部、111 正常収集部、112 正常生成部、120 モデル生成部、121 特徴変換部、122 学習部、130 非正常サンプル生成部、131 非正常生成部、132 非正常収集部、140 調整部、141 変更部、142 検証部、411 特徴抽出部、412 特徴修正部、150 記憶部、151 攻撃ツール群、152 サンプル生成ツール群、153 模擬環境、154 検知漏れサンプルデータ、155 誤検知サンプルデータ、160 特徴選択部、909 電子回路、910 プロセッサ、921 メモリ、922 補助記憶装置、930 入力インタフェース、940 出力インタフェース、950 通信装置。

Claims (15)

  1. 各々がシステムの通常事象である複数の正常サンプルデータと、各々が前記システムの異常事象である複数の非正常サンプルデータとを取得する取得部と、
    前記複数の正常サンプルデータを表現する正常モデルを生成するモデル生成部と、
    前記複数の非正常サンプルデータの非正常サンプルデータ毎に、前記非正常サンプルデータの特徴をベクトルで表した非正常特徴ベクトルを生成し、前記非正常特徴ベクトルの要素を変更して得られる非正常変更ベクトルを生成する変更部と、
    前記非正常変更ベクトルにより表されるサンプルデータと前記正常モデルにより表現される前記複数の正常サンプルデータとが類似である場合に、前記非正常変更ベクトルにより表されるサンプルデータを用いた処理を前記システムで実行し、前記システムの異常事象を検知する検知装置により異常事象が検知されるかを検証し、前記検知装置により異常事象が検知されないことが検証されると、前記検知装置によらず前記システムに異常事象があるかを判定し、異常事象があると判定した場合に、前記非正常変更ベクトルにより表されるサンプルデータを前記検知装置の検知漏れサンプルデータとして記憶部に記憶する検証部と
    を備えたサンプルデータ生成装置。
  2. 前記モデル生成部は、
    前記複数の正常サンプルデータのうち前記検知装置が誤検知する正常サンプルデータを誤検知サンプルデータとして取得し、前記誤検知サンプルデータを表現するモデルを誤検知モデルとして生成し、
    前記変更部は、
    前記複数の正常サンプルデータと前記複数の非正常サンプルデータとを含む複数の処理サンプルデータの処理サンプルデータ毎に、前記処理サンプルデータの特徴をベクトルで表した処理特徴ベクトルを生成し、前記処理特徴ベクトルの要素を変更して得られる処理変更ベクトルを生成し、
    前記検証部は、
    前記処理変更ベクトルにより表されるサンプルデータと前記誤検知モデルにより表現される前記誤検知サンプルデータとが類似である場合に、前記処理変更ベクトルにより表されるサンプルデータを用いた処理を前記システムで実行し、前記検知装置により異常事象が検知されるかを検証し、前記検知装置により異常事象が検知されることが検証されると、前記検知装置によらず前記システムに異常事象があるかを判定し、異常事象がないと判定した場合に、前記処理変更ベクトルにより表されるサンプルデータを前記検知装置の誤検知サンプルデータとして前記記憶部に記憶する請求項1に記載のサンプルデータ生成装置。
  3. 前記検証部は、
    前記非正常変更ベクトルと前記正常モデルとの第1類似度を算出し、前記第1類似度が第1閾値以上の場合に、前記非正常変更ベクトルと前記正常モデルとが類似であると判定する請求項2に記載のサンプルデータ生成装置。
  4. 前記検証部は、
    前記処理変更ベクトルと前記誤検知モデルとの第2類似度を算出し、前記第2類似度が第2閾値以上の場合に、前記処理変更ベクトルと前記誤検知モデルとが類似であると判定する請求項2または3に記載のサンプルデータ生成装置。
  5. 前記取得部は、
    前記システム以外の他システムから通常事象のサンプルデータを収集し、収集したサンプルデータを前記システムの環境に合わせて修正することにより、前記複数の正常サンプルデータを取得する正常収集部と、
    前記システムの通常事象のサンプルデータを生成するサンプル生成ツールと模擬環境とを用いて、前記複数の正常サンプルデータを取得する正常生成部と
    を備えた請求項2から4のいずれか1項に記載のサンプルデータ生成装置。
  6. 前記取得部は、
    前記システム以外の他システムから異常事象のサンプルデータを収集し、収集したサンプルデータを前記システムの環境に合わせて修正することにより、前記複数の非正常サンプルデータを取得する非正常収集部と、
    前記システムの異常事象のサンプルデータを生成する攻撃ツールと模擬環境とを用いて、前記複数の非正常サンプルデータを取得する非正常生成部と
    を備えた請求項2から5のいずれか1項に記載のサンプルデータ生成装置。
  7. 前記モデル生成部は、
    前記複数の正常サンプルデータの各々を特徴ベクトルに変換する特徴変換部と、
    機械学習技術を用いて、前記特徴変換部により変換された特徴ベクトルから前記正常モデルを学習する学習部と
    を備えた請求項2から6のいずれか1項に記載のサンプルデータ生成装置。
  8. 前記変更部は、
    前記非正常特徴ベクトルの要素ごとに定められた第1変更範囲の範囲内において、前記非正常特徴ベクトルの要素を変更する請求項2から7のいずれか1項に記載のサンプルデータ生成装置。
  9. 前記変更部は、
    前記処理特徴ベクトルの要素ごとに定められた第2変更範囲の範囲内において、前記処理特徴ベクトルの要素を変更する請求項2から8のいずれか1項に記載のサンプルデータ生成装置。
  10. 前記システムは、仮想環境に模擬的に設けられた模擬環境に設けられた請求項2から9のいずれか1項に記載のサンプルデータ生成装置。
  11. 前記検証部は、
    予め定められた前記非正常変更ベクトルの第1制約条件を満たす前記非正常変更ベクトルについてのみ、前記検知装置により異常事象が検知されるかを検証する請求項2から10のいずれか1項に記載のサンプルデータ生成装置。
  12. 前記検証部は、
    予め定められた前記処理変更ベクトルの第2制約条件を満たす前記処理変更ベクトルについてのみ、前記検知装置により異常事象が検知されるかを検証する請求項2から11のいずれか1項に記載のサンプルデータ生成装置。
  13. 前記サンプルデータ生成装置は、
    前記誤検知サンプルデータの分類に対する寄与度に基づいて特徴を抽出する特徴選択部を備えた請求項2から12のいずれか1項に記載のサンプルデータ生成装置。
  14. 取得部が、各々がシステムの通常事象である複数の正常サンプルデータと、各々が前記システムの異常事象である複数の非正常サンプルデータとを取得し、
    モデル生成部が、前記複数の正常サンプルデータを表現する正常モデルを生成し、
    変更部が、前記複数の非正常サンプルデータの非正常サンプルデータ毎に、前記非正常サンプルデータの特徴をベクトルで表した非正常特徴ベクトルを生成し、前記非正常特徴ベクトルの要素を変更して得られる非正常変更ベクトルを生成し、
    検証部が、前記非正常変更ベクトルにより表されるサンプルデータと前記正常モデルにより表現される前記複数の正常サンプルデータとが類似である場合に、前記非正常変更ベクトルにより表されるサンプルデータを用いた処理を前記システムで実行し、前記システムの異常事象を検知する検知装置により異常事象が検知されるかを検証し、前記検知装置により異常事象が検知されないことが検証されると、前記検知装置によらず前記システムに異常事象があるかを判定し、異常事象があると判定した場合に、前記非正常変更ベクトルにより表されるサンプルデータを前記検知装置の検知漏れサンプルデータとして記憶部に記憶するサンプルデータ生成方法。
  15. 各々がシステムの通常事象である複数の正常サンプルデータと、各々が前記システムの異常事象である複数の非正常サンプルデータとを取得する取得処理と、
    前記複数の正常サンプルデータを表現する正常モデルを生成するモデル生成処理と、
    前記複数の非正常サンプルデータの非正常サンプルデータ毎に、前記非正常サンプルデータの特徴をベクトルで表した非正常特徴ベクトルを生成し、前記非正常特徴ベクトルの要素を変更して得られる非正常変更ベクトルを生成する変更処理と、
    前記非正常変更ベクトルにより表されるサンプルデータと前記正常モデルにより表現される前記複数の正常サンプルデータとが類似である場合に、前記非正常変更ベクトルにより表されるサンプルデータを用いた処理を前記システムで実行し、前記システムの異常事象を検知する検知装置により異常事象が検知されるかを検証し、前記検知装置により異常事象が検知されないことが検証されると、前記検知装置によらず前記システムに異常事象があるかを判定し、異常事象があると判定した場合に、前記非正常変更ベクトルにより表されるサンプルデータを前記検知装置の検知漏れサンプルデータとして記憶する検証処理と
    をコンピュータに実行させるサンプルデータ生成プログラム。
JP2019547846A 2017-10-11 2017-10-11 サンプルデータ生成装置、サンプルデータ生成方法およびサンプルデータ生成プログラム Active JP6698956B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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