JP7176630B2 - 検知装置、検知方法および検知プログラム - Google Patents

検知装置、検知方法および検知プログラム Download PDF

Info

Publication number
JP7176630B2
JP7176630B2 JP2021527312A JP2021527312A JP7176630B2 JP 7176630 B2 JP7176630 B2 JP 7176630B2 JP 2021527312 A JP2021527312 A JP 2021527312A JP 2021527312 A JP2021527312 A JP 2021527312A JP 7176630 B2 JP7176630 B2 JP 7176630B2
Authority
JP
Japan
Prior art keywords
server
feature amount
clients
malicious
matrix
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
JP2021527312A
Other languages
English (en)
Other versions
JPWO2020261582A1 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2020261582A1 publication Critical patent/JPWO2020261582A1/ja
Application granted granted Critical
Publication of JP7176630B2 publication Critical patent/JP7176630B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/144Detection or countermeasures against botnets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、検知装置、検知方法および検知プログラムに関する。
ボットネットとは、マルウェアと呼ばれるコンピュータウィルスなどによって多くの端末やサーバに、遠隔操作可能である攻撃用プログラムを送り込み、外部からの指令で一斉に攻撃を行わせるネットワークである。このネットワークは、攻撃を司令するする司令塔サーバと、攻撃用プログラムに感染した端末やサーバ(ボット)群から構成される。このような司令塔サーバ等の悪性サーバを検知するために、例えば、教師あり学習の手法を用いて、ボットネットの悪性サーバを検知していた。
特開2018-169897号公報
Leyla Bilge, Engin Kirda, Davide Balzarotti, Christopher Kruegel, William Robertson,"DISCLOSURE: Detecting Botnet Command and Control Servers Through Large-Scale NetFlow Analysis", 28th Annual Computer Security Applications Conference, December 3-7, 2012.
しかしながら、マルウェアに感染したクライアントを制御する悪性サーバの検知精度を向上させることが出来ない場合があるという課題があった。例えば、従来の技術では、教師あり学習の手法を用いて悪性サーバを検知する場合に、クライアントの行動(フローサイズ、アクセス時間等)に着目する技術が多く、悪性サーバの検知精度が不十分になるという問題があった。
上述した課題を解決し、目的を達成するために、本発明の検知装置は、クライアントおよびサーバを含むネットワークにおける通信情報を収集する収集部と、前記収集部によって収集された通信情報を用いて、前記クライアントから前記サーバへのアクセス状況を表す行列を生成する行列生成部と、対象サーバへアクセスした複数のクライアントを集約し、集約されたクライアント間での前記行列の類似性の統計情報を、前記対象サーバの特徴量として生成する特徴量生成部と、サーバが悪性なサーバであるか否かが既知の対象サーバについて、前記特徴量生成部によって生成された特徴量を用いて、サーバが悪性なサーバであるか否かを判定するためのモデルを学習する学習部と、サーバが悪性なサーバであるか否かが既知でない対象サーバについて、前記特徴量生成部によって生成された特徴量と前記モデルを用いて、前記対象サーバが悪性なサーバであるか否かを判定する判定部とを有すること特徴とする。
本発明によれば、マルウェアに感染したクライアントを制御する悪性サーバの検知精度を向上させることできるという効果を奏する。
図1は、第1の実施形態に係る検知装置の構成の一例を示す図である。 図2は、悪性サーバ情報記憶部に記憶されるデータの一例を示す図である。 図3は、クライアントのサーバ利用状況を表す行列を生成する処理および対象サーバの特徴量を生成する処理の一例を説明する図である。 図4は、学習処理と検知処理の概要を説明する図である。 図5は、第1の実施形態に係る検知装置における処理の流れの一例を示すフローチャートである。 図6は、他の実施形態に係る学習装置における処理の流れの一例を示すフローチャートである。 図7は、他の実施形態に係る検知装置における処理の流れの一例を示すフローチャートである。 図8は、検知プログラムを実行するコンピュータを示す図である。
以下に、本願に係る検知装置、検知方法および検知プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る検知装置、検知方法および検知プログラムが限定されるものではない。
[第1の実施形態]
以下の実施の形態では、第1の実施形態に係る検知装置10の構成、検知装置10の処理の流れを順に説明し、最後に第1の実施形態による効果を説明する。
[検知装置の構成]
まず、図1を用いて、検知装置10の構成について説明する。図1は、第1の実施形態に係る検知装置10の構成の一例を示す図である。図1に示すように、この検知装置10は、入力部11、出力部12、通信部13、記憶部14および制御部15を有する。以下に検知装置10が有する各部の処理を説明する。
入力部11は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部15に対して各種指示情報を入力する。出力部12は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置、スピーカ等によって実現され、例えば、後述する悪性サーバのIPアドレス等を出力する。
通信部13は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部13は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部15(後述)との間の通信を行う。例えば、通信部13は、ネットワーク内におけるフローデータを、インプットとして受信し、制御部15に出力する。また、例えば、通信部13は、制御部15が検知した悪性サーバのIPアドレス等を外部の攻撃対処装置等へ出力する。
また、記憶部14は、制御部15による各種処理に必要なデータおよびプログラムを格納する。記憶部14は、悪性サーバ情報記憶部14aを有する。例えば、記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
悪性サーバ情報記憶部14aは、後述する検知処理により検知された悪性サーバのIPアドレスを記憶する。例えば、悪性サーバ情報記憶部14aは、図2に例示するように、悪性サーバを一意に識別する「悪性サーバID」と、検知された悪性サーバのIPアドレスを示す「悪性サーバのIPアドレス」とを対応付けて記憶する。
なお、ここで、悪性サーバとは、悪性な実行ファイル(マルウェア)を配布したり、マルウェアによって感染したボットに対して命令を行ったりする司令塔サーバ(C&C(command and control)サーバ)のことをいうものとする。ただし、これに限定するものではなく、検知装置10は、司令塔サーバ以外の悪性サーバを検知するようにしてもよい。
制御部15は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部15は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路である。また、制御部15は、収集部15a、行列生成部15b、特徴量生成部15c、学習部15dおよび判定部15eを有する。
収集部15aは、クライアントおよびサーバを含むネットワークにおける通信情報を収集する。例えば、収集部15aは、通信部13から出力された、ネットワーク内におけるフローデータを収集する。ここでフローデータは、例えば、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル、フラグ等を含むものとする。また、収集部15aは、フローデータを収集するタイミングとして、どのようなタイミングであってもよく、所定時間ごとに定期的に行ってよいし、所定の条件を満たした場合に行うようにしてもよい。
行列生成部15bは、収集部15aによって収集された通信情報から、クライアントからサーバへのアクセス状況を表す行列を生成する。例えば、行列生成部15bは、クライアントから各サーバへのアクセスの有無に応じて、行列を生成する。なお、行列を生成する手法としては、これに限定されるものではなく、例えば、サーバへアクセスがあったクライアント数や、クライアントがアクセスした回数等を考慮して行列を生成するようにしてもよい。
例えば、行列生成部15bは、サーバごとに、各サーバへのアクセスがあったクライアント数を用いて、サーバの全体重要度を計算するとともに、クライアントごとに、アクセスした各サーバの回数を用いて、各クライアントに対する各サーバの局所重要度を計算し、全体重要度および局所重要度に応じて、行列を生成するようにしてもよい。行列生成部15bは、アクセスがあったクライアント数が多いサーバほど全体重要度が小さくなるものとして計算し、また、アクセスしたサーバの回数が多いほど局所重要度が大きくなるものとして計算する。なお、全体重要度および局所重要度の計算手法については、どのような計算手法を用いてもよい。
特徴量生成部15cは、対象サーバへアクセスした複数のクライアントを集約し、集約されたクライアント間での行列の類似性の統計情報を、対象サーバの特徴量として生成する。例えば、特徴量生成部15cは、同一の対象サーバへアクセスした二つのクライアントを一つの組として、各組について、二つのクライアントのサーバへのアクセス状況を表す行列の相関係数を計算し、複数のクライアントの組の相関係数の統計値を、サーバの特徴量として計算する。そして、特徴量生成部15cは、サーバが悪性サーバであるか非悪性サーバであるかが既知である場合には、上記の特徴量に、当該特徴量が悪性サーバに関するものか非悪性サーバに関するものかを示すラベルを付与して学習部15dへ出力する。なお、検知装置10は、サーバが悪性サーバであるか非悪性サーバであるかが既知である。
例えば、特徴量生成部15cは、悪性サーバと各クライアントとの通信情報から悪性サーバの通信特徴量を生成し、非悪性サーバと各クライアント2との通信情報から非悪性サーバのサーバ1の通信特徴量を生成する。そして、特徴量生成部15cは、上記の通信特徴量に、当該通信特徴量が悪性サーバに関するものか非悪性サーバに関するものかを示すラベル情報を付与して学習部15dへ出力する。
ここで、図3を用いて、クライアントのサーバ利用状況を表す行列を生成する処理および対象サーバの特徴量を生成する処理の一例を説明する。図3は、クライアントのサーバ利用状況を表す行列を生成する処理および対象サーバの特徴量を生成する処理の一例を説明する図である。図3に例示するように、行列生成部15bは、同一の対象サーバS0にアクセスした複数のクライアントC1、C2、C3を集約する(図3の(1)参照)。
そして、行列生成部15bは、クライアントC1、C2、C3のサーバ利用状況を表す行列を生成する(図3の(2)参照)。図3の例では、行列生成部15bは、クライアントから各サーバへのアクセスの有無に応じて、「0」(アクセス無し)または「1」(アクセス有)の2値を用いて行列を生成している。つまり、図3に例示するように、クライアントからサーバへのアクセスがあった場合には「1」、クライアントからサーバへのアクセスがなかった場合には「0」となる。例えば、行列生成部15bは、サーバS1に対するクライアントC1からのアクセスがあったので、サーバS1とクライアントC1とに対応する行列の要素に「1」の値を設定する。
また、行列を生成する手法としては、これに限定されるものではなく、例えば、行列生成部15bは、アクセスがあったクライアント数が少ないサーバほど重み付けを大きくしてもよい。また、行列生成部15bは、アクセスの有無ではなく、クライアントがアクセスした回数に応じて、行列を生成するようにしてもよい。例えば、行列生成部15bは、サーバS1の重み付け係数が「0.8」であり、サーバS1に対してクライアントC1のアクセス数が「20」である場合には、「0.8」に「20」を乗算した「16」の値を、サーバS1とクライアントC1とに対応する行列の要素に設定するようにしてもよい。また、行列生成部15bは、具体的な計算手法として、TF-IDF法を用いて重み付けするようにしてもよい。
続いて、特徴量生成部15cは、二つのクライアントのサーバ利用状況を表す行列の類似度を計算する(図3の(3)参照)。図3の例では、特徴量生成部15cは、同一の対象サーバS0へアクセスした二つのクライアントの組である、C1とC2の組、C2とC3の組、および、C1とC3の組について、二つのクライアントのサーバへのアクセス状況を表す行列の相関係数をそれぞれ計算する。
その後、特徴量生成部15cは、複数のクライアントの組の相関係数の統計値を、対象サーバの特徴量として生成する(図3の(4)参照)。例えば、特徴量生成部15cは、相関係数の統計値として、相関係数の平均、分散、最大、最小および中央値のいずれか一つまたは複数を計算し、計算した統計値を対象サーバの特徴量とする。
また、特徴量生成部15cは、同一の対象サーバへアクセスしたクライアントの数が所定数(例えば、100)を超えた場合には、事前に設定した数(例えば、100)のクライアントをサブセットとして抽出し、該サブセット内のクライアント間での行列の類似性の統計情報を、対象サーバの特徴量として生成するようにしてもよい。このため、特徴量生成部15cは、対象サーバへアクセスしたクライアントの数が多い場合には、処理負荷を軽減することが可能である。なお、上記した所定数や事前に設定した数は、任意に設定変更が可能であるものとする。
図1の説明に戻って、学習部15dは、サーバが悪性なサーバであるか否かが既知の対象サーバについて、特徴量生成部15cによって生成された特徴量を用いて、サーバが悪性なサーバであるか否かを判定するためのモデルを学習する。例えば、学習部15dは、サーバの種別を示すラベル情報がある対象サーバについて、ラベル情報と特徴量生成部15cによって生成された特徴量とを用いて、モデルを学習する。
つまり、学習部15dは、特徴量生成部15cから出力された、悪性サーバの通信特徴量と非悪性サーバの通信特徴量とを用いて機械学習を行う。そして、学習部15dは、上記の機械学習の結果を用いて、悪性サーバおよび非悪性サーバそれぞれに対する通信特徴量を示したモデルを生成する。学習されたモデルは、検知装置10の記憶部14の所定領域に記憶されるものとする。なお、検知装置10は、悪性サーバもしくは非悪性サーバであることが既知であるサーバについては、事前に情報を記憶しており、事前に記憶している情報を基に、対象サーバについて、サーバが悪性サーバもしくは非悪性サーバであることが既知であるか否かを判定できるものとする。
判定部15eは、サーバが悪性なサーバであるか否かが既知でない対象サーバについて、特徴量生成部15cによって生成された特徴量とモデルを用いて、対象サーバが悪性なサーバであるか否かを判定する。例えば、判定部15eは、ラベル情報がない対象サーバについて、特徴量生成部15cによって生成された特徴量をモデルに入力し、モデルから出力される対象サーバのラベル情報を得る。そして、判定部15eは、対象サーバのラベル情報が悪性なラベルである場合には、対象サーバを悪性サーバとして、悪性サーバのIPアドレスを悪性サーバ情報記憶部14aに記憶するとともに、悪性サーバのIPアドレスを出力するように制御する。なお、悪性サーバのIPアドレスは、上述した出力部12を介して出力されてもよいし、上述した通信部13を介して外部の装置に出力されてもよい。
ここで、図4を用いて、学習処理と検知処理の概要について説明する。図4は、学習処理と検知処理の概要を説明する図である。図4に例示するように、行列生成部15bは、入力された通信情報を用いて、クライアントからサーバへのアクセス状況を表す行列を生成し、行列を特徴量生成部15cに出力する。特徴量生成部15cは、対象サーバへアクセスした複数のクライアントを集約し、集約されたクライアント間での行列の類似性の統計情報を、対象サーバの特徴量として生成する。
そして、対象サーバのラベル情報が既知である場合には、学習部15dは、特徴量生成部によって生成された特徴量を用いて教師あり機械学習を行うことで、モデルを訓練し、訓練したモデルの情報を判定部15eに出力する。
また、判定部15eは、ラベル情報が既知でない対象サーバについて、学習部15dによって学習されたモデルに対して特徴量生成部15cによって生成された特徴量をモデルに入力し、モデルから出力される対象サーバのラベル情報を得る。この結果、判定部15eは、ラベル情報から対象サーバが悪性サーバであると判定した場合には、悪性サーバのIPアドレスを出力するように制御する。
[検知装置の処理手順]
次に、図5を用いて、第1の実施形態に係る検知装置10による処理手順の例を説明する。図5は、第1の実施形態に係る検知装置における処理の流れの一例を示すフローチャートである。
図5に例示するように、検知装置10の収集部15aが通信情報を収集すると(ステップS101肯定)、行列生成部15bは、収集部15aによって収集された通信情報から、クライアントからサーバへのアクセス状況を表す行列を生成する(ステップS102)。例えば、行列生成部15bは、クライアントから各サーバへのアクセスの有無に応じて、行列を生成する。
そして、特徴量生成部15cは、対象サーバへアクセスした複数のクライアントを集約する(ステップS103)。続いて、特徴量生成部15cは、集約されたクライアント間での行列の類似性の統計情報を、対象サーバの特徴量として生成する(ステップS104)。例えば、特徴量生成部15cは、同一の対象サーバへアクセスした二つのクライアントを一つの組として、各組について、二つのクライアントのサーバへのアクセス状況を表す行列の相関係数を計算し、複数のクライアントの組の相関係数の統計値を、サーバの特徴量として計算する。
そして、特徴量生成部15cは、対象サーバのラベル情報が既知であるか否かを判定する(ステップS105)。この結果、特徴量生成部15cが対象サーバのラベル情報が既知であると判定した場合には(ステップS105肯定)、学習部15dは、ラベル情報と対象サーバの特徴量とを用いてモデルを訓練する(ステップS106)。
また、特徴量生成部15cが対象サーバのラベル情報が既知でないと判定した場合には(ステップS105否定)、判定部15eは、対象サーバの特徴量とモデルを用いて、対象サーバのラベル情報を判定する(ステップS107)。例えば、判定部15eは、ラベル情報がない対象サーバについて、特徴量生成部15cによって生成された特徴量をモデルに入力し、モデルから出力される対象サーバのラベル情報を得る。そして、判定部15eは、対象サーバのラベル情報が悪性なサーバであることを示すラベル(悪性なラベル)であるか否かを判定する。
この結果、判定部15eは、対象サーバのラベル情報が悪性なラベルであると判定した場合には(ステップS108肯定)、対象サーバを悪性サーバとして、悪性サーバのIPアドレスを出力する(ステップS109)。また、判定部15eは、対象サーバのラベル情報が悪性なラベルでないと判定した場合には(ステップS108否定)、そのまま処理を終了する。なお、図5の例では、学習処理と検知処理とを同一フロー上の処理として説明するが、学習処理と検知処理とを別々の処理として実行してもよい。つまり、検知装置10は、学習処理を事前に行ってモデルを生成した後に、生成されたモデルを用いて検知処理を行うようにしてもよい。
[第1の実施形態の効果]
このように、第1の実施形態に係る検知装置10は、クライアントおよびサーバを含むネットワークにおける通信情報を収集し、収集した通信情報を用いて、クライアントからサーバへのアクセス状況を表す行列を生成する。そして、検知装置10は、対象サーバへアクセスした複数のクライアントを集約し、集約されたクライアント間での行列の類似性の統計情報を、対象サーバの特徴量として生成する。続いて、検知装置10は、サーバが悪性なサーバであるか否かが既知の対象サーバについて、生成された特徴量を用いて、サーバが悪性なサーバであるか否かを判定するためのモデルを学習する。また、検知装置10は、サーバが悪性なサーバであるか否かが既知でない対象サーバについて、生成された特徴量とモデルを用いて、対象サーバが悪性なサーバであるか否かを判定する。
このため、第1の実施形態に係る検知装置10では、マルウェアに感染したクライアントを制御する悪性サーバの検知精度を向上させることが可能である。つまり、第1の実施形態に係る検知装置10では、クライアントの目的に着目し、同一正規サーバにアクセスしたクライアントが同一目的(興味)を持つ集団だと仮定し、クライアント間のサイト利用時の嗜好性の類似性といった特徴量群を通信情報から抽出し、教師あり学習に適用することで、正規サーバと不正サーバの違いを見分け、検知精度を高めることが可能である。
[その他の実施形態]
上述した第1の実施形態では、検知装置10が学習処理と検知処理の両方を行う場合を説明したが、これに限定されるものではなく、学習処理と検知処理とを別々の装置が実行するようにしてもよい。例えば、学習処理を行う学習装置が教師あり機械学習を行ってモデルを生成し、学習装置によって生成されたモデルを用いて検知装置が悪性サーバを検知するようにしてもよい。
この場合には、学習装置は、前述した制御部15において、収集部15a、行列生成部15b、特徴量生成部15cおよび学習部15dを有し、検知装置は、制御部15において、収集部15a、行列生成部15b、特徴量生成部15cおよび判定部15eを有するものとする。
以下では、図6を用いて、他の実施形態に係る学習装置における処理の流れを説明し、図7を用いて、他の実施形態に係る検知装置における処理の流れを説明する。図6は、他の実施形態に係る学習装置における処理の流れの一例を示すフローチャートである。図7は、他の実施形態に係る検知装置における処理の流れの一例を示すフローチャートである。
図6に示すように、他の実施形態に係る学習装置の収集部15aが通信情報を収集すると(ステップS201肯定)、行列生成部15bは、収集部15aによって収集された通信情報から、クライアントからサーバへのアクセス状況を表す行列を生成する(ステップS202)。例えば、行列生成部15bは、クライアントから各サーバへのアクセスの有無に応じて、行列を生成する。
そして、特徴量生成部15cは、対象サーバへアクセスした複数のクライアントを集約する(ステップS203)。続いて、特徴量生成部15cは、集約されたクライアント間での行列の類似性の統計情報を、対象サーバの特徴量として生成する(ステップS204)。例えば、特徴量生成部15cは、同一の対象サーバへアクセスした二つのクライアントを一つの組として、各組について、二つのクライアントのサーバへのアクセス状況を表す行列の相関係数を計算し、複数のクライアントの組の相関係数の統計値を、サーバの特徴量として計算する。
そして、学習部15dは、対象サーバのラベル情報と対象サーバの特徴量とを用いてモデルを訓練する(ステップS205)。ここでは、対象サーバのラベル情報は既知であるものとする。つまり、学習部15dは、ステップS204で生成された特徴量を用いた機械学習により、モデルを生成する。
続いて、図7を用いて、他の実施形態に係る検知装置が、学習装置によって生成されたモデルを用いて悪性サーバを検知する手順について説明する。図7に示すように、他の実施形態に係る検知装置の収集部15aが通信情報を収集すると(ステップS301肯定)、行列生成部15bは、収集部15aによって収集された通信情報から、クライアントからサーバへのアクセス状況を表す行列を生成する(ステップS302)。例えば、行列生成部15bは、クライアントから各サーバへのアクセスの有無に応じて、行列を生成する。
そして、特徴量生成部15cは、対象サーバへアクセスした複数のクライアントを集約する(ステップS303)。続いて、特徴量生成部15cは、集約されたクライアント間での行列の類似性の統計情報を、対象サーバの特徴量として生成する(ステップS304)。例えば、特徴量生成部15cは、同一の対象サーバへアクセスした二つのクライアントを一つの組として、各組について、二つのクライアントのサーバへのアクセス状況を表す行列の相関係数を計算し、複数のクライアントの組の相関係数の統計値を、サーバの特徴量として計算する。
そして、判定部15eは、対象サーバの特徴量とモデルを用いて、対象サーバのラベル情報を判定する(ステップS305)。例えば、判定部15eは、ラベル情報がない対象サーバについて、特徴量生成部15cによって生成された特徴量をモデルに入力し、モデルから出力される対象サーバのラベル情報を得る。そして、判定部15eは、対象サーバのラベル情報が悪性なサーバであることを示すラベル(悪性なラベル)であるか否かを判定する。
この結果、判定部15eは、対象サーバのラベル情報が悪性なラベルであると判定した場合には(ステップS306肯定)、対象サーバを悪性サーバとして、悪性サーバのIPアドレスを出力する(ステップS307)。また、判定部15eは、対象サーバのラベル情報が悪性なラベルでないと判定した場合には(ステップS306否定)、そのまま処理を終了する。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
図8は、検知プログラムを実行するコンピュータを示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、例えばディスプレイ1061に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、検知装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、装置における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施の形態の処理で用いられるデータは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク、WANを介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 検知装置
11 入力部
12 出力部
13 通信部
14 記憶部
14a 悪性サーバ情報記憶部
15 制御部
15a 収集部
15b 行列生成部
15c 特徴量生成部
15d 学習部
15e 判定部

Claims (7)

  1. クライアントおよびサーバを含むネットワークにおける通信情報を収集する収集部と、
    前記収集部によって収集された通信情報を用いて、前記クライアントから前記サーバへのアクセス状況を表す行列を生成する行列生成部と、
    対象サーバへアクセスした複数のクライアントを集約し、集約されたクライアント間での前記行列の類似性の統計情報を、前記対象サーバの特徴量として生成する特徴量生成部と、
    サーバが悪性なサーバであるか否かが既知の対象サーバについて、前記特徴量生成部によって生成された特徴量を用いて、サーバが悪性なサーバであるか否かを判定するためのモデルを学習する学習部と、
    サーバが悪性なサーバであるか否かが既知でない対象サーバについて、前記特徴量生成部によって生成された特徴量と前記モデルを用いて、前記対象サーバが悪性なサーバであるか否かを判定する判定部と
    を有すること特徴とする検知装置。
  2. 前記行列生成部は、前記クライアントから各サーバへのアクセスの有無に応じて、前記行列を生成することを特徴とする請求項1に記載の検知装置。
  3. 前記行列生成部は、前記サーバごとに、各サーバへのアクセスがあったクライアント数を用いて、サーバの全体重要度を計算するとともに、前記クライアントごとに、アクセスした各サーバの回数を用いて、各クライアントに対する各サーバの局所重要度を計算し、前記全体重要度および前記局所重要度に応じて、前記行列を生成することを特徴とする請求項1に記載の検知装置。
  4. 前記特徴量生成部は、同一の対象サーバへアクセスした二つのクライアントを一つの組として、各組について、前記二つのクライアントのサーバへのアクセス状況を表す行列の相関係数を計算し、複数のクライアントの組の相関係数の統計値を、前記対象サーバの特徴量として計算することを特徴とする請求項1に記載の検知装置。
  5. 前記特徴量生成部は、同一の対象サーバへアクセスしたクライアントの数が所定数を超えた場合には、事前に設定した数のクライアントをサブセットとして抽出し、該サブセット内のクライアント間での前記行列の類似性の統計情報を、前記対象サーバの特徴量として生成することを特徴とする請求項1に記載の検知装置。
  6. 検知装置によって実行される検知方法であって、
    クライアントおよびサーバを含むネットワークにおける通信情報を収集する収集工程と、
    前記収集工程によって収集された通信情報を用いて、前記クライアントから前記サーバへのアクセス状況を表す行列を生成する行列生成工程と、
    対象サーバへアクセスした複数のクライアントを集約し、集約されたクライアント間での前記行列の類似性の統計情報を、前記対象サーバの特徴量として生成する特徴量生成工程と、
    サーバが悪性なサーバであるか否かが既知の対象サーバについて、前記特徴量生成工程によって生成された特徴量を用いて、サーバが悪性なサーバであるか否かを判定するためのモデルを学習する学習工程と、
    サーバが悪性なサーバであるか否かが既知でない対象サーバについて、前記特徴量生成工程によって生成された特徴量と前記モデルを用いて、前記対象サーバが悪性なサーバであるか否かを判定する判定工程と
    を含むこと特徴とする検知方法。
  7. クライアントおよびサーバを含むネットワークにおける通信情報を収集する収集ステップと、
    前記収集ステップによって収集された通信情報を用いて、前記クライアントから前記サーバへのアクセス状況を表す行列を生成する行列生成ステップと、
    対象サーバへアクセスした複数のクライアントを集約し、集約されたクライアント間での前記行列の類似性の統計情報を、前記対象サーバの特徴量として生成する特徴量生成ステップと、
    サーバが悪性なサーバであるか否かが既知の対象サーバについて、前記特徴量生成ステップによって生成された特徴量を用いて、サーバが悪性なサーバであるか否かを判定するためのモデルを学習する学習ステップと、
    サーバが悪性なサーバであるか否かが既知でない対象サーバについて、前記特徴量生成ステップによって生成された特徴量と前記モデルを用いて、前記対象サーバが悪性なサーバであるか否かを判定する判定ステップと
    をコンピュータに実行させることを特徴とする検知プログラム。
JP2021527312A 2019-06-28 2019-06-28 検知装置、検知方法および検知プログラム Active JP7176630B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/025987 WO2020261582A1 (ja) 2019-06-28 2019-06-28 検知装置、検知方法および検知プログラム

Publications (2)

Publication Number Publication Date
JPWO2020261582A1 JPWO2020261582A1 (ja) 2020-12-30
JP7176630B2 true JP7176630B2 (ja) 2022-11-22

Family

ID=74061330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021527312A Active JP7176630B2 (ja) 2019-06-28 2019-06-28 検知装置、検知方法および検知プログラム

Country Status (2)

Country Link
JP (1) JP7176630B2 (ja)
WO (1) WO2020261582A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9060018B1 (en) 2014-02-05 2015-06-16 Pivotal Software, Inc. Finding command and control center computers by communication link tracking
JP2019047335A (ja) 2017-09-01 2019-03-22 日本電信電話株式会社 検知装置、検知方法、および、検知プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9060018B1 (en) 2014-02-05 2015-06-16 Pivotal Software, Inc. Finding command and control center computers by communication link tracking
JP2019047335A (ja) 2017-09-01 2019-03-22 日本電信電話株式会社 検知装置、検知方法、および、検知プログラム

Also Published As

Publication number Publication date
JPWO2020261582A1 (ja) 2020-12-30
US20220311785A1 (en) 2022-09-29
WO2020261582A1 (ja) 2020-12-30

Similar Documents

Publication Publication Date Title
Aljawarneh et al. Anomaly-based intrusion detection system through feature selection analysis and building hybrid efficient model
Rabbani et al. A hybrid machine learning approach for malicious behaviour detection and recognition in cloud computing
Barati et al. Distributed Denial of Service detection using hybrid machine learning technique
TW201931187A (zh) 統一資源定位符(url)攻擊檢測方法、裝置及電子設備
JP6697123B2 (ja) プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム
CN109586282B (zh) 一种电网未知威胁检测***及方法
JP6400758B2 (ja) 不正リモート管理からのコンピュータを保護するためのシステム及び方法
JP6726706B2 (ja) コンボリューションのポピュラリティに基づいて異常なイベントを検出するシステムおよび方法
JP2019021294A (ja) DDoS攻撃判定システムおよび方法
JP6770454B2 (ja) 異常検知システム及び異常検知方法
US10965553B2 (en) Scalable unsupervised host clustering based on network metadata
JP6491356B2 (ja) 分類方法、分類装置および分類プログラム
US10757029B2 (en) Network traffic pattern based machine readable instruction identification
JP2019149681A (ja) トラフィック異常検知装置、トラフィック異常検知方法、及びトラフィック異常検知プログラム
CN110855649A (zh) 一种检测服务器中异常进程的方法与装置
US20150096019A1 (en) Software network behavior analysis and identification system
Nguyen et al. DGA botnet detection using collaborative filtering and density-based clustering
CN108156127B (zh) 网络攻击模式的判断装置、判断方法及其计算机可读取储存媒体
TWI599905B (zh) 惡意碼的防護方法、系統及監控裝置
JP2019103069A (ja) 特定システム、特定方法及び特定プログラム
JP7176630B2 (ja) 検知装置、検知方法および検知プログラム
JP7424395B2 (ja) 分析システム、方法およびプログラム
JP2019029798A (ja) 異常検知システム及び異常検知方法
US12028356B2 (en) Detection device, detection method, and detection program
EP3799367B1 (en) Generation device, generation method, and generation program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211006

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221024

R150 Certificate of patent or registration of utility model

Ref document number: 7176630

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150