JP2020135471A - 推定装置、推定方法及びプログラム - Google Patents

推定装置、推定方法及びプログラム Download PDF

Info

Publication number
JP2020135471A
JP2020135471A JP2019028716A JP2019028716A JP2020135471A JP 2020135471 A JP2020135471 A JP 2020135471A JP 2019028716 A JP2019028716 A JP 2019028716A JP 2019028716 A JP2019028716 A JP 2019028716A JP 2020135471 A JP2020135471 A JP 2020135471A
Authority
JP
Japan
Prior art keywords
information
threat information
threat
graph
malignancy
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.)
Granted
Application number
JP2019028716A
Other languages
English (en)
Other versions
JP7111025B2 (ja
Inventor
雄太 風戸
Yuta Kazeto
雄太 風戸
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
Priority to JP2019028716A priority Critical patent/JP7111025B2/ja
Priority to US17/432,212 priority patent/US12088602B2/en
Priority to PCT/JP2020/005377 priority patent/WO2020170911A1/ja
Publication of JP2020135471A publication Critical patent/JP2020135471A/ja
Application granted granted Critical
Publication of JP7111025B2 publication Critical patent/JP7111025B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】脅威情報の悪性度を高い精度で推定すること。
【解決手段】悪性度の推定対象の脅威情報が入力されると、前記脅威情報に関連する関連情報と、前記脅威情報とは異なる他の脅威情報とを収集する収集手段と、前記関連情報に基づいて、前記脅威情報の特徴を表す特徴量を生成する特徴量生成手段と、前記関連情報と前記他の脅威情報とに基づいて、前記脅威情報及び前記他の脅威情報のそれぞれをノード、該ノード間の関連をエッジとするグラフを示すグラフ情報を生成するグラフ情報生成手段と、前記グラフ情報により示されるグラフ上で前記脅威情報と前記他の脅威情報の間にグラフ構造が存在する場合、前記脅威情報の特徴量を用いて、グラフ畳み込みニューラルネットワークにより、前記脅威情報の悪性度を推定する推定手段と、を有することを特徴とする。
【選択図】図3

Description

本発明は、推定装置、推定方法及びプログラムに関する。
近年、脅威情報(CTI:Cyber Threat Intelligence)を活用したセキュリティオペレーションが行われている。脅威情報とは、サイバー攻撃や脅威に関連する攻撃者、攻撃目的、攻撃手法等に関する情報を収集・蓄積し、その分析を行うことで、攻撃検知や対処等のセキュリティオペレーションに活用可能な情報のことである。脅威情報としては、例えば、攻撃者が利用したIP(Internet Protocol)アドレスやドメイン名、URL(Uniform Resource Locator)等のIoC(Indicator of Compromise)情報、攻撃への対処方法(Course of Action)に関する情報、マルウェアのハッシュ値等が挙げられる。
このような脅威情報の指標の1つとして、悪性度(Maliciousness)が知られており、脅威情報に対する優先度の決定や意思決定の判断等に用いられている。悪性度とは、ドメイン名やURL等の脅威情報がサイバー攻撃に使用されている可能性の度合いを示す指標であり、例えば、当該脅威情報が悪性である確率で表される。このため、悪性度が正確である程、迅速かつ正確なセキュリティオペレーション等が実現可能となる。なお、脅威情報の情報源としては、例えば、セキュリティ企業の脅威情報提供サービス、攻撃通信を検知する攻撃検知装置からのアラート情報、オープンソースインテリジェンス(OSINT:open-source intelligence)等が挙げられる。
脅威情報の悪性度を算出する従来技術として、脅威情報を「ノード」、互いに関連する脅威情報間の接続を「エッジ」としたグラフを用いて、グラフ分析手法によって悪性度を推定する技術が知られている。例えば、ページランク手法を用いて悪性度を計算する技術(非特許文献1)やグラフ伝播手法によって悪性度を推定する技術(非特許文献2)が知られている。また、2部グラフ上での確率伝搬法を用いて、脅威スコアを算出する技術も知られている(非特許文献3)。
Boukhtouta, Amine, et al. "Graph-theoretic characterization of cyber-threat infrastructures." Digital Investigation 14 (2015): S3-S15 WANG, Xin, et al. "Poster: An Approach to Verifying Threat Intelligence Based on Graph Propagation." IEEE S&P 2018 Poster 風戸雄太, 福田健介, 菅原俊治. "DNS グラフ上でのグラフ分析と脅威スコア伝播による悪性ドメイン特定." コンピュータ ソフトウェア 33.3 (2016): 3_16-3_2
しかしながら、従来技術では、脅威情報自体の特徴を利用できないため、悪性度の推定精度が高くない場合があった。
本発明は、上記の点に鑑みてなされたもので、脅威情報の悪性度を高い精度で推定することも目的とする。
上記目的を達成するため、本発明の実施の形態は、悪性度の推定対象の脅威情報が入力されると、前記脅威情報に関連する関連情報と、前記脅威情報とは異なる他の脅威情報とを収集する収集手段と、前記関連情報に基づいて、前記脅威情報の特徴を表す特徴量を生成する特徴量生成手段と、前記関連情報と前記他の脅威情報とに基づいて、前記脅威情報及び前記他の脅威情報のそれぞれをノード、該ノード間の関連をエッジとするグラフを示すグラフ情報を生成するグラフ情報生成手段と、前記グラフ情報により示されるグラフ上で前記脅威情報と前記他の脅威情報の間にグラフ構造が存在する場合、前記脅威情報の特徴量を用いて、グラフ畳み込みニューラルネットワークにより、前記脅威情報の悪性度を推定する推定手段と、を有することを特徴とする。
脅威情報の悪性度を高い精度で推定することができる。
本発明の実施の形態における悪性度推定システムの全体構成の一例を示す図である。 本発明の実施の形態における悪性度推定装置のハードウェア構成の一例を示す図である。 本発明の実施の形態における悪性度推定処理の一例を示すフローチャートである。
以下、本発明の実施の形態について説明する。本発明の実施の形態では、脅威情報の特徴を表す特徴量と、悪性度の推定対象の脅威情報(以降、「対象脅威情報」とも表す。)と他の脅威情報との関連性(グラフ構造)とを用いて、グラフ畳み込みニューラルネットワーク(GCN:Graph Convolutional Networks又はGraph Convolutional Neural Networks)によって対象脅威情報の悪性度を推定する。また、本発明の実施の形態では、対象脅威情報が他の脅威情報と関連性がない場合(すなわち、対象脅威情報がグラフ上で単独であり、他の脅威情報との間でグラフ構造を有しない場合)には、特徴量を用いて、教師あり学習で学習した所定のモデルによって対象脅威情報の悪性度を推定する。
そこで、以降の本発明の実施の形態では、各脅威情報の特徴を用いて、対象脅威情報が他の脅威情報との間でグラフ構造を有する場合にはグラフ畳み込みニューラルネットワークによって悪性度を推定し、対象脅威情報が他の脅威情報との間でグラフ構造を有しない場合には教師あり学習で学習した所定のモデルによって悪性度を推定する悪性度推定システム1について説明する。
<悪性度推定システム1の全体構成>
まず、本発明の実施の形態における悪性度推定システム1の全体構成について、図1を参照しながら説明する。図1は、本発明の実施の形態における悪性度推定システム1の全体構成の一例を示す図である。
図1に示すように、本発明の実施の形態における悪性度推定システム1には、悪性度推定装置10と、各種の外部装置20とが含まれる。悪性度推定装置10と、各種の外部装置20とは、任意のネットワーク(例えば、インターネットや社内LAN(Local Area Network)等)を介して通信可能に接続される。ここで、外部装置20としては、例えば、脅威情報管理装置21、フロー観測情報管理装置22、攻撃検知装置23、OSINTサーバ24、DNSサーバ25、及びWHOIS/RDAPサーバ26等が挙げられる。
悪性度推定装置10は、対象脅威情報が入力されると、対象脅威情報に関連する情報(以降、「関連情報」とも表す。)や他の脅威情報等を収集した上で、これら対象脅威情報や関連情報、他の脅威情報等を用いて、対象脅威情報の悪性度を推定する。このとき、悪性度推定装置10は、対象脅威情報の特徴量を生成すると共に、対象脅威情報が他の脅威情報とグラフ構造を有するか否かを判定した上で、この判定結果に応じて、グラフ畳み込みニューラルネットワーク又は教師あり学習で学習した所定のモデルのいずれかによって対象脅威情報の悪性度を推定する。なお、他の脅威情報とは、対象脅威情報以外の脅威情報のことを意味する。
脅威情報管理装置21は、過去に登録、共有、分析、又は利用(以降、登録、共有、分析、利用をまとめて「利用等」とも表す。)された脅威情報を蓄積・管理するDB(データベース)である。脅威情報管理装置21には、脅威情報に加えて、この脅威情報の悪性度(過去に推定又は設定された悪性度)と特徴量(過去に生成された特徴量)も蓄積・管理されているものとする。
フロー観測情報管理装置22は、ネットワーク上に存在するフローエクスポータやフローコレクタ等から収集したフロー観測情報を格納・管理するDBである。
攻撃検知装置23は、ファイアウォールやIDS(Intrusion Detection System)/IPS(Intrusion Prevention System)等のサイバー攻撃を検知・遮断するためのソフトウェア又はネットワーク機器である。
OSINTサーバ24は、オープンソースインテリジェンスの公開情報を提供するサーバである。OSINTサーバ24は、例えばWebページ等の形態で、オープンソースインテリジェンスの公開情報を提供する。
DNSサーバ25は、ドメイン名とIPアドレスとの間の名前解決(又は「アドレス解決」とも称される。)を行うサーバである。
WHOIS/RDAPサーバ26は、IPアドレスやドメイン名の所有者情報を提供するサーバである。
ここで、図1に示すように、悪性度推定装置10は、機能部として、入力部101と、情報収集部102と、特徴量生成部103と、グラフ情報生成部104と、悪性度計算部105と、出力部106とを有する。
入力部101は、対象脅威情報を入力する。なお、入力部101は、予め決められた任意の入力元から対象脅威情報を入力すればよい。例えば、入力部101は、メモリ等の記憶装置に格納されている対象脅威情報を入力してもよいし、ネットワークを介して接続された他の装置から受信した対象脅威情報を入力してもよい。
情報収集部102は、関連情報や他の脅威情報を収集する。ここで、情報収集部102には、NW情報収集部111と、OSINT収集部112と、脅威情報収集部113とが含まれる。
NW情報収集部111は、ネットワークで観測可能な関連情報を収集する。例えば、NW情報収集部111は、フロー観測情報管理装置22に問い合わせて、対象脅威情報に関連するフロー観測情報を収集する。また、例えば、NW情報収集部111は、DNSサーバ25に問い合わせて、対象脅威情報に含まれるドメイン名やIPアドレスを名前解決した情報(名前解決結果情報)を収集する。同様に、例えば、NW情報収集部111は、WHOIS/RDAPサーバ26に問い合わせて、対象脅威情報に含まれるドメイン名やIPアドレスの所有者情報を収集する。
なお、例えば、NW情報収集部111は、攻撃検知装置23に問い合わせて、対象脅威情報に関連するアラート情報を関連情報として収集してもよい。アラート情報も関連情報として収集されることで、例えば、各脅威情報(対象脅威情報及び他の脅威情報)の関連を表すグラフ構造からグラフ情報を生成する際に利用したり、推定された悪性度(つまり、対象脅威情報の悪性度)の根拠情報として利用したりすることが可能となる。
OSINT収集部112は、オープンソースインテリジェンスの公開情報を収集する。すなわち、OSINT収集部112は、OSINTサーバ24に問い合わせて、対象脅威情報に関連する公開情報を収集する。なお、OSINT収集部112によって収集される公開情報としては、例えば、AS(Autonomous System)番号結果を示す情報、GeoIPの検索結果を示す情報、レピュテーションサービスから得られる情報等が挙げられる。
脅威情報収集部113は、他の脅威情報を収集する。すなわち、脅威情報収集部113は、脅威情報管理装置21に問い合わせて、過去に利用等された他の脅威情報を収集する。なお、他の脅威情報の関連情報も脅威情報管理装置21に蓄積・管理されていてもよく、この場合には、脅威情報収集部113は、他の脅威情報に加えて、他の脅威情報の関連情報を収集してもよい。
特徴量生成部103は、対象脅威情報に含まれるドメイン名やURL等と、NW情報収集部111やOSINT収集部112により収集された関連情報とを用いて、対象脅威情報の特徴量を生成する。
グラフ情報生成部104は、対象脅威情報と、情報収集部102により収集された関連情報及び他の脅威情報とを用いて、各脅威情報(対象脅威情報及び他の脅威情報)の関連を表すグラフ構造からグラフ情報(ノード情報及びグラフ情報)を生成する。
悪性度計算部105は、グラフ情報生成部104により生成されたグラフ情報を用いて、対象脅威情報が他の脅威情報との間でグラフ構造を有するか否かを判定する。そして、この判定結果に応じて、悪性度計算部105は、各脅威情報(対象脅威情報及び他の脅威情報)の特徴量を用いて、グラフ畳み込みニューラルネットワーク又は教師あり学習で学習した所定のモデルのいずれかによって対象脅威情報の悪性度を推定する。ここで、悪性度計算部105には、前処理部121と、グラフ畳み込み計算部122と、教師あり学習計算部123とが含まれる。
前処理部121は、前処理として、各脅威情報の特徴量のそれぞれを示すデータ(以降、「特徴量データ」とも表す。)の集合を、例えば、教師用集合と、検証用集合と、テスト用集合とに分割する。ここで、教師用集合とは、グラフ畳み込みニューラルネットワークや教師あり学習で学習するモデルの学習に用いられる特徴量データの集合である。また、検証用集合とは、当該学習結果の検証に用いられる特徴量データの集合である。一方で、テスト用集合とは、悪性度の推定に用いられる特徴量データの集合であり、対象脅威情報の特徴量データはテスト用集合に含まれる。
そして、前処理部121は、教師用集合から複数の教師データを作成すると共に、検証用集合から複数の検証用データを作成する。また、前処理部121は、テスト用集合からテスト用データを作成する。ここで、教師データ及び検証用データとは、グラフ畳み込みニューラルネットワークや教師あり学習で学習するモデルに入力される入力データに対して、悪性度を示すラベルを付与したデータである。このとき、教師データ及び検証用データに含まれるラベルは、教師データ及び検証用データをそれぞれ構成する特徴量データの悪性度から算出されればよい。一方で、テスト用データとは、グラフ畳み込みニューラルネットワークや教師あり学習で学習するモデルに入力される入力データのことである(つまり、テスト用データにはラベルは付与されない)。なお、他の脅威情報の特徴量データと、教師データ及び検証用データにラベルを付与するための悪性度とは、脅威情報管理装置21に蓄積・管理されているものを用いる。
グラフ畳み込み計算部122は、前処理部121により作成された入力データ(教師データ、検証用データ及びテスト用データ)と、グラフ情報生成部104により生成されたグラフ情報とを用いて、グラフ畳み込みニューラルネットワークによって対象脅威情報の悪性度を計算(推定)する。
教師あり学習計算部123は、前処理部121により作成された入力データ(教師データ、検証用データ及びテスト用データ)を用いて、教師あり学習の手法によって対象脅威情報の悪性度を計算(推定)する。
出力部106は、対象脅威情報と、悪性度計算部105により計算(推定)された悪性度とを出力する。なお、出力部106は、予め決められた任意の出力先に対象脅威情報と悪性度とを出力すればよい。例えば、出力部106は、ディスプレイ等を出力先としてもよいし、メモリ等の記憶装置を出力先としてもよいし、ネットワークを介して接続される他の装置(例えば、脅威情報管理装置21等)を出力先としてもよい。
<悪性度推定装置10のハードウェア構成>
次に、本発明の実施の形態における悪性度推定装置10のハードウェア構成について、図2を参照しながら説明する。図2は、本発明の実施の形態における悪性度推定装置10のハードウェア構成の一例を示す図である。
図2に示すように、本発明の実施の形態における悪性度推定装置10は、ハードウェアとして、入力装置201と、表示装置202と、外部I/F203と、RAM(Random Access Memory)204と、ROM(Read Only Memory)205と、プロセッサ206と、通信I/F207と、補助記憶装置208とを有する。これら各ハードウェアは、それぞれがバスBを介して通信可能に接続されている。
入力装置201は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置202は、例えばディスプレイ等であり、悪性度推定装置10の処理結果(例えば、推定された悪性度等)を表示する。なお、悪性度推定装置10は、入力装置201及び表示装置202の少なくとも一方を有していなくてもよい。
外部I/F203は、記録媒体203a等の外部記録媒体とのインタフェースである。悪性度推定装置10は、外部I/F203を介して、記録媒体203aの読み取りや書き込み等を行うことができる。記録媒体203aには、悪性度推定装置10が有する各機能部(例えば、入力部101、情報収集部102、特徴量生成部103、グラフ情報生成部104、悪性度計算部105及び出力部106等)を実現する1以上のプログラム等が記録されていてもよい。
記録媒体203aには、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
RAM204は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM205は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM205には、例えば、OS(Operating System)に関する設定情報や通信ネットワークに関する設定情報等が格納されている。
プロセッサ206は、例えばCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等であり、ROM205や補助記憶装置208等からプログラムやデータをRAM204上に読み出して処理を実行する演算装置である。悪性度推定装置10が有する各機能部は、ROM205や補助記憶装置208等に格納されている1以上のプログラムをRAM204上に読み出してプロセッサ206が処理を実行することで実現される。
通信I/F207は、悪性度推定装置10を通信ネットワークに接続するためのインタフェースである。悪性度推定装置10が有する各機能部を実現する1以上のプログラムは、通信I/F207を介して、所定のサーバ等から取得(ダウンロード)されてもよい。
補助記憶装置208は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置208に格納されているプログラムやデータには、例えば、OS,当該OS上で各種機能を実現するアプリケーションプログラム、悪性度推定装置10が有する各機能部を実現する1以上のプログラム等がある。
本発明の実施の形態における悪性度推定装置10は、図2に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図2に示す例では、本発明の実施の形態における悪性度推定装置10が1台の装置(コンピュータ)で実現されている場合を示したが、これに限られない。本発明の実施の形態における悪性度推定装置10は、複数台の装置(コンピュータ)で実現されていてもよい。また、1台の装置(コンピュータ)には、複数のプロセッサ206や複数のメモリ(RAM204やROM205、補助記憶装置208等)が含まれていてもよい。
<悪性度推定処理>
次に、対象脅威情報の悪性度を推定する処理(悪性度推定処理)について、図3を参照しながら説明する。図3は、本発明の実施の形態における悪性度推定処理の一例を示すフローチャートである。
ステップS101:まず、入力部101は、対象脅威情報を入力する。
ステップS102:次に、情報収集部102は、関連情報と他の脅威情報とを収集する。すなわち、情報収集部102は、NW情報収集部111によってネットワークで観測可能な関連情報をフロー観測情報管理装置22や攻撃検知装置23、DNSサーバ25、WHOIS/RDAPサーバ26等から収集すると共に、OSINT収集部112によってオープンソースインテリジェンスの公開情報を関連情報としてOSINTサーバ27から収集する。また、情報収集部102は、脅威情報収集部113によって他の脅威情報を脅威情報管理装置21から収集する。
なお、上記のステップS102で収集された関連情報及び他の脅威情報は、例えば、悪性度推定装置10の補助記憶装置208等に格納される。
ステップS103:次に、特徴量生成部103は、対象脅威情報に含まれるドメイン名やURL等と、NW情報収集部111やOSINT収集部112により収集された関連情報とを用いて、対象脅威情報の特徴量を生成する。ここで、特徴量は、例えば、脅威情報の様々な特徴を数値化した値を各要素するベクトルで表される。
脅威情報の特徴としては、一例として、以下に示すものが挙げられる。
・脅威情報に含まれるドメイン名やURLの文字列の長さ
・脅威情報に含まれるドメイン名やURL中の数字の割合
・脅威情報に含まれるドメイン名やURL中の子音の割合
・脅威情報に含まれるドメイン名やURLに所定の特徴的な文字列(例えば、文字列「exe」等)が含まれるか否か
・名前解決結果情報に含まれるAレコード数やNSレコード数
・脅威情報に含まれるIPアドレスの国別情報
これらの各特徴を数値化するにあたっては、関連情報が用いられる場合もある。例えば、脅威情報に含まれるIPアドレスの国別情報を数値化する際には、GeoIPの検索結果を示す情報等が用いられる。
これにより、例えば、対象脅威情報の各特徴を数値化した値をx,x,・・・,xとすれば、これらx,x,・・・,xを各要素とするベクトル[x,x,・・・,x]が対象脅威情報の特徴量として生成される。ここで、Nは、予め決められた値であり、脅威情報の特徴数を表す。なお、例えば、ドメイン名やURLに所定の特徴的な文字列が含まれるか否かを数値化する場合等には、One−hot Encoder等が用いられればよい。
なお、上記の脅威情報の特徴は一例であって、上記に挙げた特徴以外にも種々の特徴が用いられてもよい。
ステップS104:次に、グラフ情報生成部104は、対象脅威情報と、上記のステップS102で収集された関連情報及び他の脅威情報とを用いて、各脅威情報(対象脅威情報及び他の脅威情報)の関連を表すグラフ構造からグラフ情報を生成する。ここで、グラフ情報生成部104は、各脅威情報(対象脅威情報及び他の脅威情報)をノード、脅威情報(ノード)間の関連をエッジとして、グラフ情報を生成する。なお、他の脅威情報の関連情報は、例えば、上記のステップS102で脅威情報管理装置21から収集されてもよいし、本ステップで脅威情報管理装置21に蓄積・管理されている関連情報を参照又は収集されてもよい。
関連がある脅威情報としては、一例として、以下に示すものが挙げられる。
・同一ドメイン名の正引き結果として得られるIPアドレスが含まれる脅威情報同士
例えば、或るドメイン名の正引き結果としてIPアドレスAとIPアドレスBとが得られる場合、IPアドレスAが含まれる脅威情報Aと、IPアドレスBが含まれる脅威情報Bとは関連がある脅威情報となる。
・同一IPアドレスを共有しているドメイン名が含まれる脅威情報同士
例えば、ドメイン名Cとドメイン名Dとが同一のIPアドレスを共有している場合、ドメイン名Cが含まれる脅威情報Cと、ドメイン名Dが含まれる脅威情報Dとは関連がある脅威情報となる。
・WHOIS又はRDAPの問い合わせ結果として得られる企業名やレジスタ名が同じであるドメイン名が含まれる脅威情報同士
例えば、ドメイン名E及びドメイン名FのWHOIS又はRDAPの問い合わせ結果が同一企業名である場合、ドメイン名Eが含まれる脅威情報Eと、ドメイン名Fが含まれる脅威情報Fとは関連がある脅威情報となる。
これにより、各脅威情報をノードとし、関連がある脅威情報のノード間にエッジを有するグラフ構造を得ることができ、グラフ情報生成部104は、このグラフ構造を示すグラフ情報を生成することができる。グラフ情報としては、例えば、隣接行列(adjacency matrix)やグラフラプラシアン等が挙げられる。
ステップS105:次に、悪性度計算部105は、上記のステップS104で作成されたグラフ情報を用いて、対象脅威情報が他の脅威情報との間でグラフ構造を有するか否かを判定する。すなわち、悪性度計算部105は、対象脅威情報を示すノードが、他のノード(つまり、他の脅威情報を示すノード)とエッジで接続されているか否かを判定する。
ステップS105で対象脅威情報が他の脅威情報との間でグラフ構造を有すると判定された場合、悪性度計算部105は、ステップS106に進む。一方で、対象脅威情報が他の脅威情報との間でグラフ構造を有しないと判定された場合(つまり、対象脅威情報を示すノードがグラフ上で単独である場合)、悪性度計算部105は、ステップS108に進む。
ステップS106:上記のステップS105で対象脅威情報が他の脅威情報との間でグラフ構造を有すると判定された場合、悪性度計算部105は、前処理部121により、各脅威情報の特徴量データを、教師用集合と、検証用集合と、テスト用集合とに分割する。ここで、前処理部121は、例えば、教師用集合に含まれる特徴量データ数と、検証用集合に含まれる特徴量データ数と、テスト用集合に含まれる特徴量データ数とが、それぞれ予め設定された割合(全特徴量データ数に対する割合)となるように、ランダムに分割すればよい。なお、上述したように、テスト用集合には、対象脅威情報の特徴量データ(すなわち、上記のステップS104で生成された特徴量を示すデータ)が含まれる。
そして、前処理部121は、教師用集合から複数の教師データを作成すると共に、検証用集合から複数の検証用データを作成する。また、前処理部121は、テスト用集合からテスト用データを作成する。なお、或る1つの教師データに付与されるラベルの悪性度は、例えば、この教師データを構成する特徴量データの悪性度の平均等とすればよい。検証用データについても同様である。
ステップS107:次に、悪性度計算部105は、グラフ畳み込み計算部122により、上記のステップS106で作成された入力データ(教師データ、検証用データ及びテスト用データ)と、上記のステップS104で生成されたグラフ情報とを用いて、グラフ畳み込みニューラルネットワークによって対象脅威情報の悪性度を計算(推定)する。グラフ畳み込みニューラルネットワークでは、tをグラフ畳みニューラルネットワークの層を示すインデックス、t=0を入力層、t=T−1を出力層として、t=0,・・・,T−1に対して、以下の式(1)により悪性度を推定する。
(t+1)=σ(AH(t)(t)) ・・・(1)
ここで、Aはグラフ情報、W(t)はt層目のパラメータ(重み)、σは活性化関数である。また、X=H(0)は入力データであり、所定の個数の特徴量データで構成される行列(例えば、所定の個数をM、特徴量データがN次の横ベクトルとすれば、M×N行列)である。なお、活性化関数σとしては、例えば、出力層以外ではReLU等を用いて、出力層では悪性度を出力するsoftmax関数(つまり、悪性度をpとして、pと1−pとを出力するsoftmax関数)を用いる。
このとき、グラフ畳み込み計算部122は、以下の(1−1)〜(1−3)により悪性度を推定する。
(1−1)まず、グラフ畳み込み計算部122は、複数の教師データのそれぞれを入力データとして、グラフ畳み込みニューラルネットワークの各パラメータ(重み)W(t)を更新する。すなわち、悪性度計算部105は、教師データに付与されたラベルと、当該教師データを入力データとした場合のグラフ畳み込みニューラルネットワークの出力結果とを用いて、所定の誤差関数(誤差関数は「目的関数」や「損失関数」等と称されてもよい。)が最小となるように、既知の最適化手法により各パラメータW(t)を更新する。
(1−2)次に、グラフ畳み込み計算部122は、複数の検証用データのそれぞれを入力データとして、グラフ畳み込みニューラルネットワークの推定精度を検証する。すなわち、悪性度計算部105は、検証用データに付与されたラベルと、当該検証用データを入力データとした場合のグラフ畳み込みニューラルネットワークの出力結果とを用いて、既知の検証手法によりグラフ畳み込みニューラルネットワークの推定精度を検証する。なお、例えば、この検証結果、グラフ畳み込みニューラルネットワークの推定精度が十分でない場合には、学習用集合及び検証用集合の割合を変更して、上記のステップS106から再度実行することが考えられる。
(1−3)最後に、グラフ畳み込み計算部122は、テスト用データを入力データとして、グラフ畳み込みニューラルネットワークの出力結果を得る。この出力結果が、対象脅威情報の悪性度の推定結果である。
なお、上記の(1−2)は必ずしも行われなくてもよい。この場合は、上記のステップS106で検証用データが作成されなくてもよい。
ステップS108:上記のステップS105で対象脅威情報が他の脅威情報との間でグラフ構造を有しないと判定された場合、悪性度計算部105は、上記のステップS106と同様に、前処理部121により、各脅威情報の特徴量データを、教師用集合と、検証用集合と、テスト用集合とに分割し、複数の教師データと、複数の検証用データと、テスト用データとを作成する。
ただし、例えば、教師用集合に含まれる特徴量データ数と、検証用集合に含まれる特徴量データ数と、テスト用集合に含まれる特徴量データ数との割合が、上記のステップS105と異なっていてもよい(すなわち、上記のステップS105と本ステップとで、異なる値が割合として設定されていてもよい)。例えば、教師あり学習の手法で用いるモデルによっては各脅威情報の特徴量データそのものが入力データとなる。このような場合、テスト用集合に含まれる特徴量データ数が「1」となるように割合が設定される。
ステップS109:次に、悪性度計算部105は、教師あり学習計算部123により、上記のステップS108で作成された入力データ(教師データ、検証用データ及びテスト用データ)を用いて、教師あり学習の手法によって対象脅威情報の悪性度を計算(推定)する。
ここで、教師あり学習の手法に用いるモデル(学習モデル)としては任意の学習モデルを用いることができる。例えば、学習モデルとしては、サポートベクターマシンや決定木、アンサンブル学習(バギング、ブースティング)に適用される学習モデル等が挙げられる。
このとき、教師あり学習計算部123は、以下の(2−1)〜(2−3)により悪性度を推定する。
(2−1)まず、教師あり学習計算部123は、複数の教師データのそれぞれを入力データとして、教師あり学習の手法により学習モデルを学習する。
(2−2)次に、教師あり学習計算部123は、複数の検証用データのそれぞれを入力データとして、既知の検証手法により学習モデルの推定精度を検証する。なお、例えば、この検証結果、学習モデルの推定精度が十分でない場合には、学習用集合及び検証用集合の割合を変更して、上記のステップS108から再度実行することが考えられる。
(2−3)最後に、教師あり学習計算部123は、テスト用データを入力データとして、学習モデルの出力結果を得る。この出力結果が、対象脅威情報の悪性度の推定結果である。
なお、上記の(2−2)は必ずしも行われなくてもよい。この場合は、上記のステップS108で検証用データが作成されなくてもよい。
ステップS110:ステップS107又はステップS109に続いて、出力部106は、対象脅威情報と、上記のステップS107又は上記のステップS109で推定された悪性度とを出力する。なお、例えば、上記のステップS107又は上記のステップS109で推定された悪性度が所定の閾値を超えている場合にのみ、出力部106は、本ステップを実行するようにしてよい。
また、例えば、上記のステップS107又は上記のステップS109で推定された悪性度が、予め設定された所定の閾値を超えている場合には、出力部106は、セキュリティ運用者の端末等に所定の通知を送信してもよい。
更に、出力部106は、対象脅威情報及び悪性度に加えて、例えば、対象脅威情報を示すノードを含むグラフや対象脅威情報の特徴量等を出力してもよい。このとき、出力部106は、脅威情報を所定の形式(例えば、STIX(Structured Threat Information Expression)形式等の標準記述形式)で出力してもよい。
<まとめ>
以上のように、本発明の実施の形態における悪性度推定装置10は、様々な関連情報や脅威情報を収集した上で、対象脅威情報が他の脅威情報との間でグラフ構造を有するか否かを判定し、この判定結果に応じて、グラフ畳み込みニューラルネットワーク又は教師あり学習で学習した所定のモデルと、各脅威情報の特徴量とを用いて、対象脅威情報の悪性度を推定する。これにより、対象脅威情報が他の脅威情報との間でグラフ構造を有する場合には、対象脅威情報の特徴と、グラフ構造とを利用して、極めて高い精度で悪性度を推定することが可能となる。一方で、対象脅威情報が他の脅威情報との間でグラフ構造を有しない場合であっても、対象脅威情報の特徴を利用して、高い精度で悪性度を推定することが可能となる。
このため、本発明の実施の形態における悪性度推定装置10を用いることで、より早期に、かつ、より高い精度で様々なサイバー攻撃を検知及び対処可能となる。また、多数の脅威情報の分析・選別に要する運用者の負担軽減や誤検知の削減による効率的なセキュリティオペレーションも可能となる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
1 悪性度推定システム
10 悪性度推定装置
20 外部装置
21 脅威情報管理装置
22 フロー観測情報管理装置
23 攻撃検知装置
24 OSINTサーバ
25 DNSサーバ
26 WHOIS/RDAPサーバ
101 入力部
102 情報収集部
103 特徴量生成部
104 グラフ情報生成部
105 悪性度計算部
106 出力部
111 NW情報収集部
112 OSINT収集部
113 脅威情報収集部
121 前処理部
122 グラフ畳み込み計算部
123 教師あり学習計算部

Claims (6)

  1. 悪性度の推定対象の脅威情報が入力されると、前記脅威情報に関連する関連情報と、前記脅威情報とは異なる他の脅威情報とを収集する収集手段と、
    前記関連情報に基づいて、前記脅威情報の特徴を表す特徴量を生成する特徴量生成手段と、
    前記関連情報と前記他の脅威情報とに基づいて、前記脅威情報及び前記他の脅威情報のそれぞれをノード、該ノード間の関連をエッジとするグラフを示すグラフ情報を生成するグラフ情報生成手段と、
    前記グラフ情報により示されるグラフ上で前記脅威情報と前記他の脅威情報の間にグラフ構造が存在する場合、前記脅威情報の特徴量を用いて、グラフ畳み込みニューラルネットワークにより、前記脅威情報の悪性度を推定する推定手段と、
    を有することを特徴とする推定装置。
  2. 前記収集手段は、
    フローエクスポータ又は/及びフローコレクタから収集可能なフロー観測情報と、オープンソースインテリジェンスを提供するサーバ又はWebサイトから収集可能な公開情報と、DNSサーバから収集可能な名前解決情報と、WHOISサーバ又はRDAPサーバから収集可能な所有者情報とのうちの少なくとも1つ以上の情報を前記関連情報として収集し、
    前記特徴量生成手段は、
    収集された前記1つ以上の情報に基づいて、前記特徴量を生成する、ことを特徴とする請求項1に記載の推定装置。
  3. 前記推定手段は、
    前記グラフ情報により示されるグラフ上で前記脅威情報と前記他の脅威情報の間にグラフ構造が存在しない場合、前記脅威情報の特徴量を用いて、教師あり学習の手法で学習された所定の学習モデルにより、前記脅威情報の悪性度を推定する、ことを特徴とする請求項1又は2に記載の推定装置。
  4. 前記特徴量には、
    前記脅威情報に含まれるドメイン名の文字列の長さと、前記脅威情報に含まれるURLの文字列の長さと、前記脅威情報に含まれるドメイン名中の数字の割合と、前記脅威情報に含まれるURL中の数字の割合と、前記脅威情報に含まれるドメイン名中の子音の割合と、前記脅威情報に含まれるURL中の子音の割合と、前記脅威情報に含まれるドメイン名に所定の文字列が含まれるか否かを示す情報と、前記脅威情報に含まれるURLに所定の文字列が含まれるか否かを示す情報と、前記脅威情報に含まれるIPアドレスの国別情報と、前記脅威情報に含まれるIPアドレス又はドメイン名を名前解決した場合におけるAレコード数及びNSレコード数と、のうちの少なくとも1つ以上が含まれる、ことを特徴とする請求項1乃至3の何れか一項に記載の推定装置。
  5. 悪性度の推定対象の脅威情報が入力されると、前記脅威情報に関連する関連情報と、前記脅威情報とは異なる他の脅威情報とを収集する収集手順と、
    前記関連情報に基づいて、前記脅威情報の特徴を表す特徴量を生成する特徴量生成手順と、
    前記関連情報と前記他の脅威情報とに基づいて、前記脅威情報及び前記他の脅威情報のそれぞれをノード、該ノード間の関連をエッジとするグラフを示すグラフ情報を生成するグラフ情報生成手順と、
    前記グラフ情報により示されるグラフ上で前記脅威情報と前記他の脅威情報の間にグラフ構造が存在する場合、前記脅威情報の特徴量を用いて、グラフ畳み込みニューラルネットワークにより、前記脅威情報の悪性度を推定する推定手順と、
    をコンピュータが実行することを特徴とする推定方法。
  6. コンピュータを、請求項1乃至4の何れか一項に記載の推定装置における各手段として機能させるためのプログラム。
JP2019028716A 2019-02-20 2019-02-20 推定装置、推定方法及びプログラム Active JP7111025B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019028716A JP7111025B2 (ja) 2019-02-20 2019-02-20 推定装置、推定方法及びプログラム
US17/432,212 US12088602B2 (en) 2019-02-20 2020-02-12 Estimation apparatus, estimation method and program
PCT/JP2020/005377 WO2020170911A1 (ja) 2019-02-20 2020-02-12 推定装置、推定方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019028716A JP7111025B2 (ja) 2019-02-20 2019-02-20 推定装置、推定方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020135471A true JP2020135471A (ja) 2020-08-31
JP7111025B2 JP7111025B2 (ja) 2022-08-02

Family

ID=72143519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019028716A Active JP7111025B2 (ja) 2019-02-20 2019-02-20 推定装置、推定方法及びプログラム

Country Status (2)

Country Link
JP (1) JP7111025B2 (ja)
WO (1) WO2020170911A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632564A (zh) * 2020-12-30 2021-04-09 绿盟科技集团股份有限公司 一种威胁评估方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
風戸 雄太ほか: "確率伝播法を用いた脅威情報の信頼度算出方式の一検討", 電子情報通信学会2018年通信ソサイエティ大会講演論文集2, JPN6020013565, 28 August 2018 (2018-08-28), pages 89, ISSN: 0004803418 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632564A (zh) * 2020-12-30 2021-04-09 绿盟科技集团股份有限公司 一种威胁评估方法及装置
CN112632564B (zh) * 2020-12-30 2024-04-05 绿盟科技集团股份有限公司 一种威胁评估方法及装置

Also Published As

Publication number Publication date
JP7111025B2 (ja) 2022-08-02
US20230008765A1 (en) 2023-01-12
WO2020170911A1 (ja) 2020-08-27

Similar Documents

Publication Publication Date Title
US11750659B2 (en) Cybersecurity profiling and rating using active and passive external reconnaissance
JP2023512507A (ja) サイバー検出ファジー・パターン照合
US10574695B2 (en) Gateway apparatus, detecting method of malicious domain and hacked host thereof, and non-transitory computer readable medium
US9032527B2 (en) Inferring a state of behavior through marginal probability estimation
CN111355697B (zh) 僵尸网络域名家族的检测方法、装置、设备及存储介质
US10523691B2 (en) Graph prioritization for improving precision of threat propagation algorithms
US20210136120A1 (en) Universal computing asset registry
JP6988690B2 (ja) 信頼度算出装置、信頼度算出方法及びプログラム
JP6770454B2 (ja) 異常検知システム及び異常検知方法
CN118511170A (zh) 云环境中升级路径的检测
US20190180032A1 (en) Classification apparatus, classification method, and classification program
EP3913888A1 (en) Detection method for malicious domain name in domain name system and detection device
CN114884703B (zh) 基于威胁情报和消息传递模型的高级持续性威胁检测方法
US20180293330A1 (en) Malware label inference and visualization in a large multigraph
JP2018077607A (ja) セキュリティルール評価装置およびセキュリティルール評価システム
US10320823B2 (en) Discovering yet unknown malicious entities using relational data
CN112019519A (zh) 网络安全情报威胁度的检测方法、装置和电子装置
US10735457B2 (en) Intrusion investigation
US20240231909A1 (en) System and method for universal computer asset normalization and configuration management
WO2020170911A1 (ja) 推定装置、推定方法及びプログラム
US20170346845A1 (en) System and method for hierarchical and chained internet security analysis
US12088602B2 (en) Estimation apparatus, estimation method and program
CN114491533B (zh) 数据处理方法、装置、服务器及存储介质
JP6813451B2 (ja) 異常検知システム及び異常検知方法
JP5639535B2 (ja) 良性ドメイン名除外装置、良性ドメイン名除外方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210528

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220704

R150 Certificate of patent or registration of utility model

Ref document number: 7111025

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150