JP2020155986A - ルータ攻撃検出装置、ルータ攻撃検出プログラム及びルータ攻撃検出方法 - Google Patents

ルータ攻撃検出装置、ルータ攻撃検出プログラム及びルータ攻撃検出方法 Download PDF

Info

Publication number
JP2020155986A
JP2020155986A JP2019053769A JP2019053769A JP2020155986A JP 2020155986 A JP2020155986 A JP 2020155986A JP 2019053769 A JP2019053769 A JP 2019053769A JP 2019053769 A JP2019053769 A JP 2019053769A JP 2020155986 A JP2020155986 A JP 2020155986A
Authority
JP
Japan
Prior art keywords
packet
attack
router
candidate
operation log
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
JP2019053769A
Other languages
English (en)
Other versions
JP7166969B2 (ja
Inventor
加藤 正之
Masayuki Kato
正之 加藤
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 Information Network Corp
Original Assignee
Mitsubishi Electric Information Network 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 Information Network Corp filed Critical Mitsubishi Electric Information Network Corp
Priority to JP2019053769A priority Critical patent/JP7166969B2/ja
Publication of JP2020155986A publication Critical patent/JP2020155986A/ja
Application granted granted Critical
Publication of JP7166969B2 publication Critical patent/JP7166969B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】ルータの脆弱性公表からルータでの対策実施までの間のルータへの攻撃を防ぐ、ルータ攻撃検出装置を提供する。【解決手段】ルータ攻撃検出装置100は、ルータ300が生成する第1動作ログとルータ300への攻撃事象のある発生ログとを比較し、第1動作ログに攻撃事象が存在するかを判定する事象発生判定部21と、攻撃事象が存在する場合、パケット保存DB11からパケットを取り出し、仮想ルータ23へパケットを入力して仮想ルータ23から第2動作ログを取得し、第2動作ログに発生ログの攻撃事象が存在するかを判定し、存在する場合、第2動作ログでの攻撃事象の発生タイミングと、パケットの仮想ルータ23への入力タイミングとに基づき、仮想ルータ23へ入力したパケットが攻撃パケットかを決定する攻撃パケット抽出部22と、攻撃パケットと決定されたパケットのシグネチャを生成するシグネチャ作成部24とを備える。【選択図】図1

Description

この発明は、ルータ攻撃検出装置、ルータ攻撃検出プログラム及びルータ攻撃検出方法に関する。
インターネットに接続するルータに脆弱性が公表された場合、そのルータで脆弱性対策が実施されるまでの間に外部から攻撃され、サービス不能(DoS)、ハングアップ及び任意コード実行のような事象が起きるリスクがある。
このようなリスクに対しては、ルータとインターネットの間に存在するIDS/IPSのようなセキュリティ機器によって、攻撃を一部防御できる。ここで、IDS/IPSでの攻撃検知方法にはアノマリ型とシグネチャ型がある(例えば特許文献1)。
アノマリ型は、トラフィックを分析して、統計的に異常なパケットを攻撃として検知するため、未知のパターンの攻撃を検知することは可能であるが、統計的処理のため、攻撃の通過や、正常通信を攻撃と判定する「誤検知」が起こる可能性がある。
シグネチャ型は、事前に登録したパターンとパケットとの照合により、攻撃を精度高く検知できる。しかし、新たな攻撃については、パターンを管理者が作成しない限り検知できず、作成までに時間がかかることもあり、また、管理者は情報不足によりパターンを作成できないこともある。
従って、脆弱性公表からルータで対策が実施されるまでの間、アノマリ型及びシグネチャ型の対策では攻撃を防げない場合がある。
特開2018−121262号公報
本発明は、ルータの脆弱性公表からルータで脆弱性対策が実施されるまでの間、ルータへの攻撃を防ぐ、ルータ攻撃検出装置の提供を目的とする。
この発明のルータ攻撃検出装置は、
パケットの入力に伴ってルータが生成する第1動作ログと、前記ルータへの攻撃事象が記載されている発生ログとの比較により、前記第1動作ログに前記攻撃事象が存在するかどうかを判定する攻撃事象判定部と、
前記第1動作ログに前記攻撃事象が存在すると判定された場合、前記ルータに入力されるパケットを格納するパケット格納装置から攻撃パケットの候補となる候補パケットを取り出し、前記ルータに代替する代替ルータへ前記候補パケットを入力し、前記候補パケットの入力に伴って前記代替ルータが生成する第2動作ログを取得し、前記発生ログと前記第2動作ログとの比較により、前記第2動作ログに前記攻撃事象が存在するかどうかを判定し、前記第2動作ログに前記攻撃事象が存在する場合、前記第2動作ログでの前記攻撃事象の発生タイミングと、前記候補パケットの前記代替ルータへの入力タイミングとに基づいて、前記攻撃パケットとなる候補パケットを決定する攻撃パケット決定部と、
前記攻撃パケットと決定された前記候補パケットの有するパケット情報を用いて、前記ルータへ入力される前記パケットが前記攻撃パケットかどうかを特定するシグネチャを生成するシグネチャ作成部と
を備える。
前記攻撃パケット決定部は、前記候補パケットとして、
前記第1動作ログに前記攻撃事象が存在すると判定された判定時刻から定まる一定期間に前記パケット格納装置に格納されたパケットを取り出す。
前記攻撃パケット決定部は、
安全な安全パケットの有するパケット情報が記載されたホワイトリストの前記パケット情報と、前記候補パケットの有するパケット情報との比較により、前記安全パケットである前記候補パケットを決定し、前記安全パケットと決定された前記候補パケットを前記代替ルータへの入力から除外する。
前記攻撃パケット決定部は、
攻撃パケットである可能性を予測する情報が記載されている攻撃パケット予測情報を用いて、前記候補パケットが前記攻撃パケットである確度を決定し、前記攻撃パケットである確度の高い順に前記代替ルータへ、前記候補パケットを入力する。
前記シグネチャ作成部は、
前記シグネチャとして、前記攻撃パケットと決定された複数の前記候補パケットに共通する項目を有する共通項目シグネチャを作成する。
この発明のルータ攻撃検出プログラムは、
コンピュータに、
パケットの入力に伴ってルータが生成する第1動作ログと、前記ルータへの攻撃事象が記載されている発生ログとの比較により、前記第1動作ログに前記攻撃事象が存在するかどうかを判定する攻撃事象判定処理と、
前記第1動作ログに前記攻撃事象が存在すると判定された場合、前記ルータに入力されるパケットを格納するパケット格納装置から攻撃パケットの候補となる候補パケットを取り出し、前記ルータに代替する代替ルータへ前記候補パケットを入力し、前記候補パケットの入力に伴って前記代替ルータが生成する第2動作ログを取得し、前記発生ログと前記第2動作ログとの比較により、前記第2動作ログに前記攻撃事象が存在するかどうかを判定し、前記第2動作ログに前記攻撃事象が存在する場合、前記第2動作ログでの前記攻撃事象の発生タイミングと、前記候補パケットの前記代替ルータへの入力タイミングとに基づいて、前記攻撃パケットとなる候補パケットを決定する攻撃パケット決定処理と、
前記攻撃パケットと決定された前記候補パケットの有するパケット情報を用いて、前記ルータへ入力される前記パケットが前記攻撃パケットかどうかを特定するシグネチャを生成するシグネチャ作成処理とを実行させる。
この発明のルータ攻撃検出方法は、
コンピュータが、
パケットの入力に伴ってルータが生成する第1動作ログと、前記ルータへの攻撃事象が記載されている発生ログとの比較により、前記第1動作ログに前記攻撃事象が存在するかどうかを判定し、
前記第1動作ログに前記攻撃事象が存在すると判定された場合、前記ルータに入力されるパケットを格納するパケット格納装置から攻撃パケットの候補となる候補パケットを取り出し、前記ルータに代替する代替ルータへ前記候補パケットを入力し、前記候補パケットの入力に伴って前記代替ルータが生成する第2動作ログを取得し、前記発生ログと前記第2動作ログとの比較により、前記第2動作ログに前記攻撃事象が存在するかどうかを判定し、前記第2動作ログに前記攻撃事象が存在する場合、前記第2動作ログでの前記攻撃事象の発生タイミングと、前記候補パケットの前記代替ルータへの入力タイミングとに基づいて、前記攻撃パケットとなる候補パケットを決定し、
前記攻撃パケットと決定された前記候補パケットの有するパケット情報を用いて、前記ルータへ入力される前記パケットが前記攻撃パケットかどうかを特定するシグネチャを生成する。
本発明によれば、ルータの脆弱性公表からルータで脆弱性対策が実施されるまでの間、ルータへの攻撃を防ぐ、ルータ攻撃検出装置を提供できる。
実施の形態1の図で、ルータ攻撃検出装置100の機能ブロック図。 実施の形態1の図で、ルータ攻撃検出装置100のハードウェア構成を示す図。 実施の形態1の図で、ルータ攻撃検出装置100の動作を説明するフローチャート。 実施の形態1の図で、パケット一時保存DB11が保存する保存パケット情報11aを示す図。 実施の形態1の図で、ログ保存DB12が一時的に保存する保存ログ情報12aを示す図。 実施の形態1の図で、ホワイトリストDB13が保存するホワイトリスト13aを示す図。 実施の形態1の図で、脆弱性情報DB14が格納している脆弱性情報140Aを示す図。 実施の形態1の図で、実事象発生通知21aを示す図。 実施の形態1の図で、シグネチャDB15が格納しているシグネチャ情報15aを示す図。 実施の形態1の図で、攻撃パケット抽出部22が攻撃パケット701を抽出する動作を示すフローチャート。 実施の形態1の図で、攻撃パケット抽出部22が攻撃パケット701を抽出する動作を示す続きのフローチャート。
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
実施の形態1.
***構成の説明***
図1から図11を参照して、実施の形態1のルータ攻撃検出装置100を説明する。
図1は、ルータ攻撃検出装置100の機能ブロックを示している。また図1は、ルータ攻撃検出装置100が使用されるシステムの概要を示している。ルータ攻撃検出装置100は、インターネット600に接続している。インターネット600からはルータ300へパケットが入力される。ルータ攻撃検出装置100はインターネット600とルータ300との間に接続されている。またルータ300とルータ攻撃検出装置100との間にはスイッチ210が接続されている。内部IPネットワーク500とルータ300との間には、スイッチ220が接続されている。
攻撃者400は、ルータ300への攻撃のため、インターネット600経由で攻撃パケット701をルータ300へ送信する。攻撃パケット701は、ルータ脆弱性を突く、加工されたパケットである。
図1では、以下を前提としている。
(1)攻撃者400
(1.1)攻撃者400は何らかの手段で攻撃対象(IPアドレス)と内在している脆弱性を把握している。
(1.2)攻撃者400は攻撃対象にダメージを与えるため、同じ脆弱性を突いた攻撃を繰り返し行い、通常の利用者が攻撃対象のサービスを利用できない状態にさせる目的を持っている。
(1.3)攻撃者400はルータ300で対処されていない既知の脆弱性を攻撃に使用する。攻撃者400が操れる攻撃元装置(IPアドレス)の数は限界があり、したがって、攻撃元のIPアドレスのバリエーションには限度がある。
(2)攻撃対象(攻撃を受けるサービス提供者)
(2.1)接続元のIPアドレスを絞り込むことはできないものとする。
(2.2)既知の脆弱性であっても、即時にはソフトウェアバージョンアップの対応が出来ない環境であるとする。
(3)その他
数分間など短時間で影響が出る攻撃を対象とする。
ルータ攻撃検出装置100は、パケット保存DB11、ログ保存DB12、ホワイトリストDB13、脆弱性情報DB14、シグネチャDB15、事象発生判定部21、攻撃パケット抽出部22、仮想ルータ23、シグネチャ作成部24を備えている。仮想ルータ23は代替ルータである。仮想ルータ23はソフトウェアで実現することを想定しているが、現物のハードウェアを用いてもよい。なおDBはデータベースを示す。これらの機能は後述する。事象発生判定部21は、攻撃事象判定部である。攻撃パケット抽出部22は、攻撃パケット決定部である。パケット保存DB11はパケット格納装置である。
図2は、ルータ攻撃検出装置100のハードウェア構成を示す。ルータ攻撃検出装置100は、コンピュータである。ルータ攻撃検出装置100は、プロセッサ110を備えるとともに、主記憶装置120、補助記憶装置130、入力IF140、出力IF150及び通信IF160といった他のハードウェアを備える。なおIFはインタフェースを示す。プロセッサ110は、信号線170を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ルータ攻撃検出装置100は、機能要素として、事象発生判定部21、攻撃パケット抽出部22、仮想ルータ23、シグネチャ作成部24を備える。仮想ルータ23はソフトウェアで実現される仮想的なルータである。事象発生判定部21、攻撃パケット抽出部22、仮想ルータ23及びシグネチャ作成部24の機能は、ルータ攻撃検出プログラム101により実現される。
プロセッサ110は、ルータ攻撃検出プログラム101を実行する装置である。ルータ攻撃検出プログラム101は、事象発生判定部21、攻撃パケット抽出部22、仮想ルータ23及びシグネチャ作成部24の機能を実現するプログラムである。プロセッサ110は、演算処理を行うIC(Integrated Circuit)である。プロセッサ110の具体例は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
主記憶装置120は記憶装置である。主記憶装置120の具体例は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。主記憶装置120は、プロセッサ110の演算結果を保持する。
補助記憶装置130は、データを不揮発的に保管する記憶装置である。補助記憶装置130の具体例は、HDD(Hard Disk Drive)である。また、補助記憶装置130は、SD(登録商標)(Secure Digital)メモリカード、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記録媒体であってもよい。
補助記憶装置130は、ルータ攻撃検出プログラム101、パケット保存DB11、ログ保存DB12、ホワイトリストDB13、脆弱性情報DB14、シグネチャDB15を格納している。なお、ルータ攻撃検出プログラム101、パケット保存DB11、ログ保存DB12、ホワイトリストDB13、脆弱性情報DB14、シグネチャDB15のようなデータは、クラウドサーバのような他の装置に格納されており、ルータ攻撃検出装置100が他の装置から取得してもよい。
入力IF140は、各種機器が接続され、各種機器からデータが入力されるポートである。出力IF150は、各種機器が接続され、各種機器にプロセッサ110によりデータが出力されるポートである。通信IF160はプロセッサが他の装置と通信するための通信ポートである。
プロセッサ110は補助記憶装置130からルータ攻撃検出プログラム101を主記憶装置120にロードし、主記憶装置120からルータ攻撃検出プログラム101を読み込み実行する。主記憶装置120には、ルータ攻撃検出プログラム101だけでなく、OS(Operating System)も記憶されている。プロセッサ110は、OSを実行しながら、ルータ攻撃検出プログラム101を実行する。ルータ攻撃検出装置100は、プロセッサ110を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、ルータ攻撃検出プログラム101の実行を分担する。それぞれのプロセッサは、プロセッサ110と同じように、ルータ攻撃検出プログラム101を実行する装置である。ルータ攻撃検出プログラム101により利用、処理または出力されるデータ、情報、信号値及び変数値は、主記憶装置120、補助記憶装置130、または、プロセッサ110内のレジスタあるいはキャッシュメモリに記憶される。
ルータ攻撃検出プログラム101は、事象発生判定部21、攻撃パケット抽出部22、仮想ルータ23及びシグネチャ作成部24の「部」及び「仮想ルータ」を、「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程をコンピュータに実行させるプログラムである。
また、ルータ攻撃検出プログラム101は、コンピュータであるルータ攻撃検出装置100が、ルータ攻撃検出プログラム101を実行することにより行われる方法である。ルータ攻撃検出プログラム101は、コンピュータ読み取り可能な記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
***動作の説明***
図3は、ルータ攻撃検出装置100の動作を説明するフローチャートである。図3を参照して、ルータ攻撃検出装置100の動作を説明する。ルータ攻撃検出装置100の動作は、ルータ攻撃検出方法に相当する。ルータ攻撃検出装置100の動作は、ルータ攻撃検出プログラム101の処理に相当する。
<ステップS11>
ステップS11において、図1で述べたように、攻撃パケット701を含む複数のパケットが、インターネット600を介してルータ300へ送信される。パケット保存DB11は、インターネット600からルータ300へ送信されたパケットを、保存パケット情報11aとして一時的に保存する。
図4は、パケット一時保存DB11が保存する保存パケット情報11aを示す。保存パケット情報11aでは例1と例2を示している。保存パケット情報11aは、項目として、1.パケット番号、2.パケットの受信時刻、3.レイヤ3、4プロトコル、4.送信元IPアドレス、5.送信元ポート、6.宛先IPアドレス、7.宛先ポート、8.ペイロードデータ、9.パケット長を含む。
「1.パケット番号」は、受信順に昇順で整数が付与される。「2.パケットの受信時刻」は、日付を含む。「3.レイヤ3、4プロトコル」のプロトコル名は、ICMP,IP,TCP,UDP,ESP,IKEv1,IKEv2,...のような名称である。「5.送信元ポート」は、TCP/UDPポート番号である。「7.宛先ポート」は、TCP/UDPポート番号である。「8.ペイロードデータ」は、プロトコルで送信するデータ内容である。「9.パケット長さ」は、IPパケット長である。
<ステップS12>
ステップS12において、ログDB12は、ルータ300および接続機器であるスイッチ210,220が、パケットの受信に伴って作成する、動作ログ及び操作ログを、一時的に保存する。
図5は、ログ保存DB12が一時的に保存する保存ログ情報12aを示す。図5では、保存ログ情報12aとして、例1及び例2を示している。保存ログ情報12aとは、ルータ300、接続機器であるスイッチ210,220から受信したシステムログ、稼働データである。受信したデータは時刻情報が付与されて保存ログ情報12aとして保存される。ログの種別は、1から4の以下を想定している。ログ種別1=システムログ、ログ種別2=SNMPTrap(ルータ)、ログ種別3=SNMPTrap(周辺機器)、ログ種別4=その他である。図5に示すように、保存ログ情報12aは項目として、1.データの日付を含む受信時刻、2.ログ種別、3.ログデータを含む。
<ステップS13>
ステップS13において、ホワイトリストDB13は、安全な接続元アドレス情報を記載したホワイトリスト13aを、事前に格納する。
図6は、ホワイトリストDB13が保存するホワイトリスト13aを示す。図6に示すように、ホワイトリスト13aは項目として、IPアドレスを含む。図6では、ホワイトリスト13aの情報として、例1及び例2を示している。例1は、社内ネットワークを想定したIPアドレスであり、例2は、VPNルータグローバルIPアドレスを想定したIPアドレスである。
<ステップS14>
ステップS14において、脆弱性情報DB14は、公表された脆弱性情報140Aを格納する。
図7は、脆弱性情報DB14が格納している脆弱性情報140Aを示す。脆弱性情報140Aは、攻撃パケット要件14a,発生事象14b,発生ログ14cを含む。図7では、脆弱性情報140A1と脆弱性情報140A2との2つの脆弱性情報140Aを示している。脆弱性情報140Aは、公表された脆弱性の情報である。脆弱性情報140Aは、ルータ攻撃検出装置100がパケットを受信した場合に、そのパケットが攻撃パケット701であるかどうかを決定することはできないが、攻撃パケット701である可能性を示す確度を決定できる情報である。確度は後述の一致率である。
(a)攻撃パケット要件14aは、攻撃パケット701の仕様の一部の情報である。攻撃パケット要件14aでは攻撃パケット701を特定できない。攻撃パケット要件14aは、項目として、1.脆弱性識別番号、2.レイヤ3、4プロトコル、3.送信元IPアドレス、4.送信元ポート、5.宛先IPアドレス、6.宛先ポート、7.ペイロードデータ、8.パケット長、を含む。
(b)発生事象は、攻撃を受けた場合にルータ300に発生する事象である。
攻撃パケット要件14aは、項目として、1.脆弱性識別番号、2.発生事象14bの種別を含む。
発生する事象の種別として以下を想定する。
発生事象種別1=起動、発生事象種別2=再起動、発生事象種別3=CPU高負荷、発生事象種別4=通信停止、発生事象種別5=ハングアップ、発生事象種別6=クラッシュ、発生事象種別7=任意コード実行、発生事象種別8=その他である。
(c)発生ログ14cは、攻撃パケット701による攻撃の際に、ルータ300及びスイッチ210、220が生成し、出力するログである。発生ログ14cは、項目として、1.脆弱性識別番号、2.発生ログの内容を含む。
<ステップS15>
ステップS15において、事象発生判定部21は、パケットの入力に伴ってルータ300が生成する第1動作ログと、ルータ300への攻撃事象が記載されている発生ログ14cとの比較により、第1動作ログに攻撃事象が存在するかどうかを判定する。具体的には以下のようである。事象発生判定部21は、ログDB12の保存ログ(第1動作ログ)を、脆弱性情報DB14の発生ログ14cと照合し、保存ログの内容(攻撃事象)が発生ログ14cの攻撃事象に一致するか判定する。なお、数値など可変部分は除いて判定する。
<ステップS16>
ステップS16において、事象発生判定部21は、保存ログの内容が脆弱性情報(発生ログ)に一致した場合、脆弱性攻撃による事象が発生したと判定する。事象発生判定部21は、脆弱性攻撃による事象が発生したと判定した場合、実事象発生通知21aを攻撃パケット抽出部22に送信する。
図8は、実事象発生通知21aを示す。実事象発生通知21aは項目として、実事象発生時刻と発生事象14bを有する。図8では例1と例2を示している。
<ステップS17>
ステップS17において、ルータ300の生成する第1動作ログに攻撃事象が存在すると判定された場合、ルータ300に入力されるパケットを格納するパケット保存DB11から攻撃パケットの候補となる候補パケットを取り出す。
そして攻撃パケット抽出部22は、ルータ300に代替する代替ルータである仮想ルータ23へ候補パケットを入力し、候補パケットの入力に伴って仮想ルータ23が生成する第2動作ログを取得する。
攻撃パケット抽出部22は、発生ログ14cと第2動作ログとの比較により、第2動作ログに攻撃事象が存在するかどうかを判定する。攻撃パケット抽出部22は、第2動作ログに攻撃事象が存在する場合、第2動作ログでの攻撃事象の発生タイミングと、候補パケットの仮想ルータ23への入力タイミングとに基づいて、攻撃パケットとなる候補パケットを決定する。この攻撃事象の発生タイミングと、候補パケットの仮想ルータ23への入力タイミングとに基づいて、攻撃パケットとなる候補パケットを決定する処理は、後述の図11のステップS39に該当する。
攻撃パケット抽出部22は、攻撃パケット701の候補になる候補パケットとして、ルータ300の作成した第1動作ログに発生ログ14cに記載されている攻撃事象が存在すると判定された判定時刻から定まる一定期間にパケット保存DB11に格納されたパケットを取り出す。具体的には以下のようである。
攻撃パケット抽出部22は、判定時刻である実事象発生通知21aの示す実事象発生時刻の直前(5分程度)のパケットに攻撃パケットが含まれるとみなし、パケット保存DB11から、その時間帯のパケットを取り出す。
<ステップS18>
ステップS18において、攻撃パケット抽出部22は、攻撃パケットである可能性を予測する情報が記載されている攻撃パケット予測情報である脆弱性情報140Aを用いて、候補パケットが攻撃パケットである確度を決定し、攻撃パケットである確度の高い順に代替ルータである仮想ルータ23へ、候補パケットを入力する。
攻撃パケット抽出部22は、安全な安全パケットの有するパケット情報が記載されたホワイトリスト13aのパケット情報と、候補パケットの有するパケット情報との比較により、安全パケットである候補パケットを決定し、安全パケットと決定された候補パケットを仮想ルータ23への入力から除外する。具体的には、仮想ルータ23への入力の際に、攻撃パケット抽出部22は、取り出した候補パケットから、ホワイトリスト13aの情報、脆弱性情報140A(攻撃パケット要件14a)により、攻撃パケットではないものを除外する。この除外後、攻撃パケット抽出部22は、各パケットについて一致率を算出する。
<ステップS19>
ステップS19において、攻撃パケット抽出部22は、一致率の高い順に、パケットを仮想ルータ23へ入力する。
ステップS20において、攻撃パケット抽出部22は、実際に発生した発生ログ14cと同じ動作ログ(第2動作ログ)が仮想ルータ23に発生した場合には、仮想ルータ23に流し込んだ候補パケットを攻撃パケットと判定する。
<ステップS21>
ステップS21において、シグネチャ作成部24は、攻撃パケットと決定された候補パケットの有するパケット情報を用いて、ルータ300へ入力されるパケットが攻撃パケットかどうかを特定するシグネチャを生成する。具体的には以下のようである。
シグネチャ作成部24は、攻撃と判定されたパケットをブロックするシグネチャを自動生成し、従来のIPS相当部のシグネチャDB15を更新する。これにより、以後、同じ攻撃パケットはルータ300に届かない。
図9は、シグネチャDB15が格納しているシグネチャ情報15aを示す。図9では、シグネチャ情報15aとしてシグネチャ1及びシグネチャ2を示している。シグネチャ15aは、項目として、攻撃パケット701を特定するための「攻撃パケット特定要件」と、攻撃パケットを特定した場合の処置を含む。図9では、「攻撃パケット特定要件」としては、以下の7つを記載している。1.レイヤ3、4プロトコル、2.送信元IPアドレス、3.送信元ポート、4.宛先IPアドレス、5.宛先ポート、6.ペイロードデータ、7.パケット長である。
図10、図11は、攻撃パケット抽出部22が攻撃パケット701を抽出する動作を説明するフローチャートである。図11には図10に続く動作を記載している。図10、図11を参照して、攻撃パケット抽出部22による攻撃パケット701の抽出動作を説明する。
<ステップS31>
まず、ルータ攻撃検出装置100が起動する。ステップS31において、攻撃パケット抽出部22は、事象発生判定部21から実事象発生通知21aの通知待ち状態になる。
<ステップS32、ステップS33>
ステップS32で事象発生判定部21から実事象発生通知21aを受信した場合、ステップS33において、攻撃パケット抽出部22は、一定期間における複数のパケットをパケット保存DB11から取り出す。攻撃パケット抽出部22は、ステップS17で述べたように、実事象発生通知21aに記載されている実事象発生時刻の直前の5分間にルータ攻撃検出装置100が受信したパケットを、パケット保存DB11から取り出す。
<ステップS34>
ステップS34において、攻撃パケット抽出部22は、パケット保存DB11から取得したパケットをホワイトリスト13aと照合し、取得したパケットのうち、ホワイトリスト13aに一致したパケットを除外する。
<ステップS35>
ステップS35において、攻撃パケット抽出部22はパケットの一致率を計算する。攻撃パケット抽出部22は、残ったパケットの持つパケット情報を、脆弱性情報DB14の脆弱性情報140Aと照合する。攻撃パケット抽出部22は、各パケットのパケット情報について、脆弱性情報140Aの攻撃パケット要件14aと照合する。攻撃パケット抽出部22は、攻撃パケット要件14aにおける、「2.レイヤ3、4プロトコル」、「3.送信元IPアドレス」、「4.送信元ポート」、「5.宛先IPアドレス」、「6.宛先ポート」、「7.ペイロードデータ」、「8.パケット長」を参照する。なお、各パケットのパケット情報は攻撃パケット要件14aの有する項目を持つ。この例では、パケット情報は、「2.レイヤ3、4プロトコル」から「8.パケット長」のデータ項目(フィールド)を有すると共に、これらのデータ項目は記載されている。攻撃パケット抽出部22は、各パケットについて、そのパケットのパケット情報と、攻撃パケット要件14aとの一致率を計算する。例示すれば以下のようである。
一致率は確度である。
パケットAの持つパケット情報は、図7に示す脆弱性情報140A1の攻撃パケット要件14aとの一致率が70%である。パケットBの持つパケット情報は、図7に示す脆弱性情報140A2の攻撃パケット要件14aとの一致率が40%である。
<ステップS36>
図11のステップS36において、攻撃パケット抽出部22は、一致率が高い順に、パケットを並べ替える。攻撃パケット抽出部22は、パケットA、パケットC、パケットD、パケットB、パケットR・・・のように、パケットをソートする。
<ステップS37、ステップS38>
ステップS37において、攻撃パケット抽出部22は、一致率が高いパケットから順に、仮想ルータ23に投入する。ステップS38において、攻撃パケット抽出部22、仮想ルータ23で生成される動作ログ(第2動作ログ)を仮想ルータ23から取得する。
<ステップS39>
ステップS39において、攻撃パケット抽出部22は、仮想ルータ23から取得した動作ログに、
発生ログ14cに記載されている事象が発生しているかどうかを確認する。発生していない場合は、処理はステップS37に戻る。発生している場合は、処理はステップS40に進む。
<ステップS40>
ステップS40において、攻撃パケット抽出部22は、発生ログ14cに記載されている事象と同じ事象が仮想ルータ23の動作ログに発生している場合、その動作ログを発生させた投入したパケットを、攻撃パケットと決定する。攻撃パケット抽出部22は、順次、すべてのパケットを仮想ルータ23に投入する(ステップS39のNO、後述するステップS42でNO)。
<ステップS41>
ステップS41において、攻撃パケット抽出部22は、攻撃パケット701として確定したパケットの持つパケット情報をシグネチャ作成部24へ通知する。
ステップS42において、攻撃パケット抽出部22は、仮想ルータ23へ入力したパケットが、ステップS36で並び替えたうちの最後のパケットかどうかを判定する。最後のパケットであれば、攻撃パケット抽出部22は処理をステップS31に進め、最後のパケットでなければ、攻撃パケット抽出部22は処理をステップS37へ進める。
以下に、シグネチャ作成部24によるシグネチャの作成動作を説明する。攻撃パケット抽出部22から攻撃パケット701と決定されたパケットのパケット情報を受け取ったシグネチャ作成部24は、以下の処理を行う。
攻撃パケット抽出部22が、攻撃パケットを1個しか見つけることができなかった場合は、シグネチャ作成部24は、その単一のパケットを特定するシグネチャを作成する。この場合は、図9において、シグネチャ1のみが作成されるような場合である。
シグネチャ作成部24は、シグネチャとして、攻撃パケットと決定された複数の候補パケットに共通する項目を有する共通項目シグネチャを作成する。具体的には以下のようである。
攻撃パケット抽出部22が攻撃パケットとして、パケットC、パケットD、パケットEのように複数のパケットを攻撃パケット701として決定し、攻撃パケット抽出部22から各パケットのパケット情報を取得した場合、シグネチャ作成部24は、複数のパケットに共通するシグネチャである共通項シグネチャを作成する。シグネチャ作成部24は、各パケットのパケット情報から共通する項目の値を抽出し、値が一致しない項目は変数化して共通項シグネチャを作成し、共通項シグネチャをシグネチャDB15に登録する。例示すれば以下のようである。
以下は、パケットCとパケットDのパケット情報を示している。
パケットC:送信元1:1.1.1、プロトコル:UDP、宛先ポート:500、サイズ:210byte.
パケットD:送信元1:1.1.2、プロトコル:UDP、宛先ポート:500、サイズ:210byte
シグネチャ作成部24は、共通項シグネチャとして、送信元1.1.1.0/24、プロトコル:UDP、宛先ポート:500、サイズ:210byteを作成する。
なお、シグネチャ作成部24は、シグネチャの作成方法として、攻撃パケット抽出部22によって今回決定された攻撃パケットの有するパケット情報と、すでにシグネチャDB15に登録されているシグネチャとを照合することにより、既存のシグネチャを新たに攻撃パケットと決定されたパケットのパケット情報を用いて更新してもよい。
また、シグネチャ作成部24は、ログ保存DB12に保存されているログで発生した事象と、登録済みの脆弱性情報140Aの発生事象とを照合して、ログ保存DB12に保存されているログから疑わしい脆弱性情報を抽出する。実際にはシグネチャ作成部24は、事前に設定した事象発生時の発生ログ14cと、新たに出力されるログDB12のログとを照合し、可変部分以外が一致するかどうか確認し、一致する事象を脆弱性情報として抽出する。
***実施の形態1の効果***
実施の形態1のルータ攻撃検出装置100によれば、ルータの脆弱性公表からルータで脆弱性対策が実施されるまでの間、ルータへの攻撃を防ぐ、ルータ攻撃検出装置を提供できる。
また、ルータ攻撃検出装置100はルータ攻撃検出プログラム101として既存のソフトウェアに組み込むことができるので、ハードウェア構成を変更することなく、既存の装置に適用できる。
以上、実施の形態1について説明したが、実施の形態1のうち、1つを部分的に実施しても構わない。あるいは、実施の形態1のうち、2つ以上を部分的に組み合わせて実施しても構わない。なお、本発明は、実施の形態1に限定されるものではなく、必要に応じて種々の変更が可能である。
11 パケット保存DB、11a 保存パケット情報、12 ログ保存DB、12a 保存ログ情報、13 ホワイトリストDB、13a ホワイトリスト、14 脆弱性情報DB、14a 攻撃パケット要件、14b 発生事象、14c 発生ログ、15 シグネチャDB、21 事象発生判定部、21a 実事象発生通知、22 攻撃パケット抽出部、23 仮想ルータ、24 シグネチャ作成部、100 ルータ攻撃検出装置、101 ルータ攻撃検出プログラム、110 プロセッサ、120 主記憶装置、130 補助記憶装置、140 入力IF、150 出力IF、160 通信IF、210 スイッチ、220 スイッチ、300 ルータ、400 攻撃者、500 内部IPネットワーク、600 インターネット。

Claims (7)

  1. パケットの入力に伴ってルータが生成する第1動作ログと、前記ルータへの攻撃事象が記載されている発生ログとの比較により、前記第1動作ログに前記攻撃事象が存在するかどうかを判定する攻撃事象判定部と、
    前記第1動作ログに前記攻撃事象が存在すると判定された場合、前記ルータに入力されるパケットを格納するパケット格納装置から攻撃パケットの候補となる候補パケットを取り出し、前記ルータに代替する代替ルータへ前記候補パケットを入力し、前記候補パケットの入力に伴って前記代替ルータが生成する第2動作ログを取得し、前記発生ログと前記第2動作ログとの比較により、前記第2動作ログに前記攻撃事象が存在するかどうかを判定し、前記第2動作ログに前記攻撃事象が存在する場合、前記第2動作ログでの前記攻撃事象の発生タイミングと、前記候補パケットの前記代替ルータへの入力タイミングとに基づいて、前記攻撃パケットとなる候補パケットを決定する攻撃パケット決定部と、
    前記攻撃パケットと決定された前記候補パケットの有するパケット情報を用いて、前記ルータへ入力される前記パケットが前記攻撃パケットかどうかを特定するシグネチャを生成するシグネチャ作成部と
    を備えるルータ攻撃検出装置。
  2. 前記攻撃パケット決定部は、前記候補パケットとして、
    前記第1動作ログに前記攻撃事象が存在すると判定された判定時刻から定まる一定期間に前記パケット格納装置に格納されたパケットを取り出す請求項1に記載のルータ攻撃検出装置。
  3. 前記攻撃パケット決定部は、
    安全な安全パケットの有するパケット情報が記載されたホワイトリストの前記パケット情報と、前記候補パケットの有するパケット情報との比較により、前記安全パケットである前記候補パケットを決定し、前記安全パケットと決定された前記候補パケットを前記代替ルータへの入力から除外する請求項1または請求項2に記載のルータ攻撃検出装置。
  4. 前記攻撃パケット決定部は、
    攻撃パケットである可能性を予測する情報が記載されている攻撃パケット予測情報を用いて、前記候補パケットが前記攻撃パケットである確度を決定し、前記攻撃パケットである確度の高い順に前記代替ルータへ、前記候補パケットを入力する請求項1から請求項3のいずれか一項に記載のルータ攻撃検出装置。
  5. 前記シグネチャ作成部は、
    前記シグネチャとして、前記攻撃パケットと決定された複数の前記候補パケットに共通する項目を有する共通項目シグネチャを作成する請求項1から請求項4のいずれか一項に記載のルータ攻撃検出装置。
  6. コンピュータに、
    パケットの入力に伴ってルータが生成する第1動作ログと、前記ルータへの攻撃事象が記載されている発生ログとの比較により、前記第1動作ログに前記攻撃事象が存在するかどうかを判定する攻撃事象判定処理と、
    前記第1動作ログに前記攻撃事象が存在すると判定された場合、前記ルータに入力されるパケットを格納するパケット格納装置から攻撃パケットの候補となる候補パケットを取り出し、前記ルータに代替する代替ルータへ前記候補パケットを入力し、前記候補パケットの入力に伴って前記代替ルータが生成する第2動作ログを取得し、前記発生ログと前記第2動作ログとの比較により、前記第2動作ログに前記攻撃事象が存在するかどうかを判定し、前記第2動作ログに前記攻撃事象が存在する場合、前記第2動作ログでの前記攻撃事象の発生タイミングと、前記候補パケットの前記代替ルータへの入力タイミングとに基づいて、前記攻撃パケットとなる候補パケットを決定する攻撃パケット決定処理と、
    前記攻撃パケットと決定された前記候補パケットの有するパケット情報を用いて、前記ルータへ入力される前記パケットが前記攻撃パケットかどうかを特定するシグネチャを生成するシグネチャ作成処理と
    を実行させるルータ攻撃検出プログラム。
  7. コンピュータが、
    パケットの入力に伴ってルータが生成する第1動作ログと、前記ルータへの攻撃事象が記載されている発生ログとの比較により、前記第1動作ログに前記攻撃事象が存在するかどうかを判定し、
    前記第1動作ログに前記攻撃事象が存在すると判定された場合、前記ルータに入力されるパケットを格納するパケット格納装置から攻撃パケットの候補となる候補パケットを取り出し、前記ルータに代替する代替ルータへ前記候補パケットを入力し、前記候補パケットの入力に伴って前記代替ルータが生成する第2動作ログを取得し、前記発生ログと前記第2動作ログとの比較により、前記第2動作ログに前記攻撃事象が存在するかどうかを判定し、前記第2動作ログに前記攻撃事象が存在する場合、前記第2動作ログでの前記攻撃事象の発生タイミングと、前記候補パケットの前記代替ルータへの入力タイミングとに基づいて、前記攻撃パケットとなる候補パケットを決定し、
    前記攻撃パケットと決定された前記候補パケットの有するパケット情報を用いて、前記ルータへ入力される前記パケットが前記攻撃パケットかどうかを特定するシグネチャを生成するルータ攻撃検出方法。
JP2019053769A 2019-03-20 2019-03-20 ルータ攻撃検出装置、ルータ攻撃検出プログラム及びルータ攻撃検出方法 Active JP7166969B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019053769A JP7166969B2 (ja) 2019-03-20 2019-03-20 ルータ攻撃検出装置、ルータ攻撃検出プログラム及びルータ攻撃検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019053769A JP7166969B2 (ja) 2019-03-20 2019-03-20 ルータ攻撃検出装置、ルータ攻撃検出プログラム及びルータ攻撃検出方法

Publications (2)

Publication Number Publication Date
JP2020155986A true JP2020155986A (ja) 2020-09-24
JP7166969B2 JP7166969B2 (ja) 2022-11-08

Family

ID=72559946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019053769A Active JP7166969B2 (ja) 2019-03-20 2019-03-20 ルータ攻撃検出装置、ルータ攻撃検出プログラム及びルータ攻撃検出方法

Country Status (1)

Country Link
JP (1) JP7166969B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023042709A1 (ja) * 2021-09-16 2023-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 通信分析システム、分析方法及びプログラム
WO2023042710A1 (ja) * 2021-09-16 2023-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 通信分析システム、分析方法及びプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060101517A1 (en) * 2004-10-28 2006-05-11 Banzhof Carl E Inventory management-based computer vulnerability resolution system
JP2007058514A (ja) * 2005-08-24 2007-03-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
JP2007129482A (ja) * 2005-11-02 2007-05-24 Nippon Telegr & Teleph Corp <Ntt> ネットワーク攻撃防御方法、ネットワーク攻撃防御システム、中継装置、防御装置、中継装置用プログラムおよび防御装置用プログラム
JP2014021509A (ja) * 2012-07-12 2014-02-03 Mitsubishi Electric Corp 不正検出システム及び端末装置及び不正検出装置及びコンピュータプログラム及び不正検出方法
JP2015121968A (ja) * 2013-12-24 2015-07-02 三菱電機株式会社 ログ分析装置及びログ分析方法及びログ分析プログラム
JP2015138509A (ja) * 2014-01-24 2015-07-30 株式会社日立システムズ 脆弱性リスク診断システム及び脆弱性リスク診断方法
WO2018159362A1 (ja) * 2017-03-03 2018-09-07 日本電信電話株式会社 ログ分析装置、ログ分析方法およびログ分析プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060101517A1 (en) * 2004-10-28 2006-05-11 Banzhof Carl E Inventory management-based computer vulnerability resolution system
JP2007058514A (ja) * 2005-08-24 2007-03-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
JP2007129482A (ja) * 2005-11-02 2007-05-24 Nippon Telegr & Teleph Corp <Ntt> ネットワーク攻撃防御方法、ネットワーク攻撃防御システム、中継装置、防御装置、中継装置用プログラムおよび防御装置用プログラム
JP2014021509A (ja) * 2012-07-12 2014-02-03 Mitsubishi Electric Corp 不正検出システム及び端末装置及び不正検出装置及びコンピュータプログラム及び不正検出方法
JP2015121968A (ja) * 2013-12-24 2015-07-02 三菱電機株式会社 ログ分析装置及びログ分析方法及びログ分析プログラム
JP2015138509A (ja) * 2014-01-24 2015-07-30 株式会社日立システムズ 脆弱性リスク診断システム及び脆弱性リスク診断方法
WO2018159362A1 (ja) * 2017-03-03 2018-09-07 日本電信電話株式会社 ログ分析装置、ログ分析方法およびログ分析プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023042709A1 (ja) * 2021-09-16 2023-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 通信分析システム、分析方法及びプログラム
WO2023042710A1 (ja) * 2021-09-16 2023-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 通信分析システム、分析方法及びプログラム

Also Published As

Publication number Publication date
JP7166969B2 (ja) 2022-11-08

Similar Documents

Publication Publication Date Title
US10657251B1 (en) Multistage system and method for analyzing obfuscated content for malware
US8782791B2 (en) Computer virus detection systems and methods
US11714910B2 (en) Measuring integrity of computing system
US10972490B2 (en) Specifying system, specifying device, and specifying method
US9548990B2 (en) Detecting a heap spray attack
KR102271545B1 (ko) 도메인 생성 알고리즘(dga) 멀웨어 탐지를 위한 시스템 및 방법들
EP2637121A1 (en) A method for detecting and removing malware
US10482240B2 (en) Anti-malware device, anti-malware system, anti-malware method, and recording medium in which anti-malware program is stored
WO2016002605A1 (ja) 検知装置、検知方法及び検知プログラム
JP2020155986A (ja) ルータ攻撃検出装置、ルータ攻撃検出プログラム及びルータ攻撃検出方法
US20220337604A1 (en) System And Method For Secure Network Access Of Terminal
US20230300168A1 (en) Detecting malware infection path in a cloud computing environment utilizing a security graph
KR102382889B1 (ko) 프로세스 정보를 사용하여 웹쉘을 탐지하는 방법 및 시스템
US8938807B1 (en) Malware removal without virus pattern
US20230208862A1 (en) Detecting malware infection path in a cloud computing environment utilizing a security graph
RU2708355C1 (ru) Способ обнаружения вредоносных файлов, противодействующих анализу в изолированной среде
US20220006819A1 (en) Detection of malicious C2 channels abusing social media sites
WO2020255185A1 (ja) 攻撃グラフ加工装置、方法およびプログラム
JP2018147444A (ja) 分析プログラムを実行する計算機システム、及び、分析プログラムの実行を監視する方法
KR101934381B1 (ko) 해킹툴 탐지 방법 및 이를 수행하는 사용자 단말 및 서버
US20230022279A1 (en) Automatic intrusion detection based on malicious code reuse analysis
JP7427146B1 (ja) 攻撃分析装置、攻撃分析方法、及び攻撃分析プログラム
JP7023433B2 (ja) インシデント対応効率化システム、インシデント対応効率化方法およびインシデント対応効率化プログラム
US20240080330A1 (en) Security monitoring apparatus, security monitoring method, and computer readable medium
KR102175651B1 (ko) 해킹툴 탐지 방법 및 이를 수행하는 사용자 단말 및 서버

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220111

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221019

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221025

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221026

R150 Certificate of patent or registration of utility model

Ref document number: 7166969

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150