JP2014086821A - 不正コネクション検出方法、ネットワーク監視装置及びプログラム - Google Patents

不正コネクション検出方法、ネットワーク監視装置及びプログラム Download PDF

Info

Publication number
JP2014086821A
JP2014086821A JP2012233189A JP2012233189A JP2014086821A JP 2014086821 A JP2014086821 A JP 2014086821A JP 2012233189 A JP2012233189 A JP 2012233189A JP 2012233189 A JP2012233189 A JP 2012233189A JP 2014086821 A JP2014086821 A JP 2014086821A
Authority
JP
Japan
Prior art keywords
information processing
packet
processing apparatus
transmitted
smb
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
JP2012233189A
Other languages
English (en)
Other versions
JP5920169B2 (ja
Inventor
Yuki Fujishima
由紀 藤嶌
Masanobu Morinaga
正信 森永
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012233189A priority Critical patent/JP5920169B2/ja
Priority to US13/951,652 priority patent/US20140115705A1/en
Publication of JP2014086821A publication Critical patent/JP2014086821A/ja
Application granted granted Critical
Publication of JP5920169B2 publication Critical patent/JP5920169B2/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers

Abstract

【課題】不正プログラムにより確立されるコネクションを検出できる確率を向上させる。
【解決手段】ネットワーク監視装置10は、情報処理装置21と情報処理装置22との間で送信されるパケットを取得する。ネットワーク監視装置10は、取得したパケットに基づいて、情報処理装置21から情報処理装置22に対してファイル送信に用いられるプロトコルのパケット31が送信され、パケット31から所定時間以内に、情報処理装置22から情報処理装置21に対して確立されるコネクションについてのパケット32が送信されたかを判定する。ネットワーク監視装置10は、判定の結果に応じた情報を出力する。
【選択図】図1

Description

本発明は不正コネクション検出方法、ネットワーク監視装置及びプログラムに関する。
現在、情報処理装置を利用した情報管理が普及し、個人情報や機密情報等の重要情報を情報処理装置に格納しておくことが多くなっている。これに伴い、特定の個人や組織を標的にして情報処理装置から重要情報を不正に窃取する標的型攻撃が発生している。標的型攻撃では、いわゆるマルウェアと呼ばれる不正プログラムが使用されることがある。
例えば、標的とする組織に対して電子メールなどを利用して不正プログラムを送り込み、その組織が使用する情報処理装置を不正プログラムに感染させる。不正プログラムに感染した情報処理装置は、その情報処理装置に格納された重要情報を、攻撃者が制御する情報処理装置に送信してしまうことがある。また、不正プログラムに感染した情報処理装置を踏み台として利用して、同じネットワークに属する他の情報処理装置に不正プログラムを送り込み、又は、他の情報処理装置から重要情報を収集することもある。
一方で、このような不正プログラムによる攻撃を検出できるようにする情報セキュリティシステムが研究されている。情報セキュリティシステムには、侵入検知システム(IDS:Intrusion Detection System)、侵入防止システム(IPS:Intrusion Prevention System)、ファイアウォールなどと呼ばれるものが含まれる。検出方法としては、Internet Protocol(IP)アドレスやポート番号に基づいて不適切なアクセスのパケットを検出するパケットフィルタリングや、既知の不正プログラムの特徴(シグネチャ)に適合するパケットを検出するパターンマッチング等が挙げられる。
なお、高信頼トラフィックと攻撃トラフィックを予め学習し、学習結果に基づいて以降のパケットストリームの信頼性を分析するヒューリスティック・ファイアウォールが提案されている。また、Transmission Control Protocol(TCP)トラフィックを監視し、自己複製機能をもつ不正プログラムであるワームを検出する悪性コード検出装置が提案されている。この悪性コード検出装置は、外部ネットワークから内部ネットワークに入る内向きTCPコネクションと、内向きTCPコネクションの要求を受け付けたホストが一定時間内に要求する外向きTCPコネクションとを検出する。そして、悪性コード検出装置は、内向きTCPコネクションと外向きTCPコネクションとで同じ内容のパケットが送信されたときに、当該パケットにワームが含まれると判定する。
国際公開第01/80480号 特開2006−135963号公報
ところで、ある情報処理装置(例えば、先に不正プログラムに感染したもの)が他の情報処理装置から重要情報を収集するときに、後者(対象装置)から前者(収集側装置)に対して「リバースコネクション」と呼ばれるコネクションを確立することがある。
例えば、収集側装置が対象装置に不正プログラムを送り込み、対象装置に不正プログラムを実行させたとする。このとき、収集側装置からアクセスを受け付けるためのサービスのプロセスを対象装置に長時間立ち上げておくと、常駐プロセスは目立つことから攻撃が発覚するリスクが高くなる。そこで、対象装置で実行される不正プログラムは、アクセスを受け付けるプロセスを立ち上げておく代わりに、対象装置から収集側装置に対してコネクションを確立し、当該コネクションを使用して重要情報を収集側装置に送信することがある。対象装置から収集側装置へのアクセスは、Hypertext Transfer Protocol(HTTP)などの頻繁に利用される正常なプロトコルのアクセスに偽装されることがある。
このような対象装置から収集側装置へのリバースコネクションを利用した重要情報の送信は、それ自体は正常な通信に見えることがあるため、攻撃として検出するのが容易でないという問題がある。このため、不正プログラムに対して圧縮・暗号化等の検出回避策が行われていて、対象装置への不正プログラムの送り込みがもし成功してしまうと、従来、その後の通信から攻撃を判定することが容易でなかった。
1つの側面では、本発明は、不正プログラムにより確立されるコネクションを検出できる確率を向上させる不正コネクション検出方法、ネットワーク監視装置及びプログラムを提供することを目的とする。
1つの態様では、複数の情報処理装置の間でパケットが送信されるネットワークに接続されたネットワーク監視装置が実行する不正コネクション検出方法が提供される。第1の情報処理装置と第2の情報処理装置との間で送信されるパケットを取得する。取得したパケットに基づいて、第1の情報処理装置から第2の情報処理装置に対してファイル送信に用いられるプロトコルの第1のパケットが送信され、第1のパケットから所定時間以内に、第2の情報処理装置から第1の情報処理装置に対して確立されるコネクションについての第2のパケットが送信されたかを判定する。そして、判定の結果に応じた情報を出力する。
1つの態様では、複数の情報処理装置の間でパケットが送信されるネットワークに接続されるネットワーク監視装置が提供される。ネットワーク監視装置は、受信部と判定部とを有する。受信部は、第1の情報処理装置と第2の情報処理装置との間で送信されるパケットを取得する。判定部は、取得したパケットに基づいて、第1の情報処理装置から第2の情報処理装置に対してファイル送信に用いられるプロトコルの第1のパケットが送信され、第1のパケットから所定時間以内に、第2の情報処理装置から第1の情報処理装置に対して確立されるコネクションについての第2のパケットが送信されたかを判定する。そして、判定の結果に応じた情報を出力する。
1つの態様では、複数の情報処理装置の間でパケットが送信されるネットワークに接続されるコンピュータに実行させるプログラムが提供される。コンピュータは、第1の情報処理装置と第2の情報処理装置との間で送信されるパケットを取得する。取得したパケットに基づいて、第1の情報処理装置から第2の情報処理装置に対してファイル送信に用いられるプロトコルの第1のパケットが送信され、第1のパケットから所定時間以内に、第2の情報処理装置から第1の情報処理装置に対して確立されるコネクションについての第2のパケットが送信されたかを判定する。そして、判定の結果に応じた情報を出力する。
1つの側面では、不正プログラムにより確立されるコネクションを検出できる確率が向上する。
第1の実施の形態に係る情報処理システムの例を示す図である。 第2の実施の形態に係る情報処理システムの例を示した図である。 第2の実施の形態に係るネットワーク監視装置のハードウェアの例を示した図である。 第2の実施の形態に係るネットワーク監視装置の機能の例を示したブロック図である。 標的型攻撃の例を示した第1の図である。 標的型攻撃の例を示した第2の図である。 パケット構造の例を示した図である。 3ウェイ・ハンドシェイクについて説明した図である。 第2の実施の形態に係るリバースコネクションの検出方法(解析レベル1の例)を説明した図である。 第2の実施の形態に係るリバースコネクションの検出方法(解析レベル2の例)を説明した図である。 第2の実施の形態に係るリバースコネクションの検出方法(解析レベル3の例)を説明した図である。 SMBリクエストテーブルの例を示した図である。 リバースコネクションテーブルの例を示した図である。 第2の実施の形態に係る監視処理の流れを示した第1の図である。 第2の実施の形態に係る監視処理の流れを示した第2の図である。 第2の実施の形態に係る監視処理の流れを示した第3の図である。
以下、本実施の形態を、図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係る情報処理システムの例を示す図である。
第1の実施の形態の情報処理システムは、ネットワーク監視装置10と情報処理装置21、22を含む複数の情報処理装置とを有する。ネットワーク監視装置10及び複数の情報処理装置は、ネットワーク30に接続されている。
情報処理装置21、22を含む複数の情報処理装置は、ネットワーク30を介してパケットを送信する。パケットの送信には、例えば、ネットワーク層のプロトコルとしてIPが用いられ、トランスポート層のプロトコルとしてTCPが用いられる。複数の情報処理装置それぞれは、ユーザが操作する端末装置としてのクライアント装置でもよいし、クライアント装置からアクセスされるサーバ装置でもよい。例えば、情報処理装置21をクライアント装置とし、情報処理装置22をサーバ装置としてもよい。
複数の情報処理装置は、標的型攻撃に用いられる不正プログラム(マルウェアと呼ばれることがある)に感染する可能性がある。不正プログラムは、例えば、ネットワーク30の外部にある攻撃者の情報処理装置から、インターネット等の広域ネットワークを介してネットワーク30に属する何れかの情報処理装置に送り込まれる。
第1の実施の形態では、情報処理装置21が先に不正プログラムに感染し、情報処理装置21が情報処理装置22から重要情報を取得する場合を考える。また、不正プログラムを利用した攻撃方法として、次のような方法を考える。まず、情報処理装置21は、情報処理装置22に不正プログラムを送り込み、送り込んだ不正プログラムを情報処理装置22に実行させる。情報処理装置21は、不正プログラムを送り込むとき、例えば、情報処理装置21に記憶されたログイン情報を用いて情報処理装置22にログインする。その後、情報処理装置22は、情報処理装置21へのリバースコネクションを確立し、リバースコネクションを用いて情報処理装置22の中にある重要情報を情報処理装置21に送信する。
ネットワーク監視装置10は、ネットワーク30を流れるパケットに基づいて、不正プログラムによって確立された不正コネクションが存在するか監視する。ネットワーク監視装置10は、ルータやファイアウォールなどのパケットを送信する通信装置でもよいし、通信装置からパケットの複製を取得して分析するコンピュータであってもよい。
ネットワーク監視装置10は、受信部11及び判定部12を有する。受信部11は、複数の情報処理装置の間で送信されるパケット、特に、情報処理装置21、22の間で送信されるパケットを取得する。受信部11は、例えば、ケーブルでネットワーク30に接続される有線通信インターフェースである。判定部12は、取得されたパケット(キャプチャされたパケットと言うこともできる)を分析する。判定部12は、Central Processing Unit(CPU)やDigital Signal Processor(DSP)などのプロセッサを含んでもよく、プロセッサに実行させるプログラムを記憶するメモリを含んでもよい。複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼んでもよい。また、判定部12は、Application Specific Integrated Circuit(ASIC)やField-Programmable Gate Array(FPGA)等の特定用途の集積回路を含んでもよい。
上記の判定部12は、取得されたパケットの中に、次の条件を満たすパケット31、32が存在するか判定する。判定部12は、パケット31として、情報処理装置21から情報処理装置22に対して送信された、ファイル送信に用いられる所定のプロトコルのパケットを検出する。所定のプロトコルは、例えば、アプリケーション層のプロトコルであり、Server Message Block(SMB)などのいわゆるファイル共有プロトコルでもよい。各パケットが所定のプロトコルのパケットであるか否かは、例えば、TCPヘッダの宛先ポート番号やアプリケーション層のヘッダ(例えば、SMBヘッダ)から判断できる。
また、判定部12は、パケット32として、パケット31が取得されてから所定時間以内に取得された、情報処理装置22から情報処理装置21に対して確立されるコネクションについてのパケットを検出する。パケット32は、例えば、TCPの3ウェイ・ハンドシェイク(SYN、SYN−ACK、ACK)のパケット等、情報処理装置22から情報処理装置21へのコネクションを確立するパケットでもよい。パケット32が情報処理装置22から情報処理装置21に送信される場合、パケット31の送信元がパケット32の宛先になり、パケット31の宛先がパケット32の送信元になる。パケット31とパケット32の関係は、例えば、送信元IPアドレスと宛先IPアドレスに基づいて判断できる。
そして、判定部12は、上記の判定結果に応じた情報を出力する。例えば、判定部12は、上記の条件を満たすパケット31、32が検出されたとき、情報処理装置22から情報処理装置21に対して確立されるコネクションが、不正プログラムによるリバースコネクションであると判定する。判定結果に応じた情報は、情報処理装置21から情報処理装置22に送信されたパケット31と、情報処理装置22から情報処理装置21に確立されたコネクションとを関連付けた情報を含んでもよい。判定結果に応じた情報は、ネットワーク監視装置10が備える表示部に表示されてもよいし、ネットワーク30に接続された管理者用の情報処理装置に送信されてもよい。ネットワーク監視装置10が備える表示部としては、例えば、ディスプレイや警告ランプ等が挙げられる。
なお、判定部12は、パケット31として、所定のプロトコルのパケットであり、且つ、ファイル書き込みコマンドを含むパケットを検出してもよい。コマンドの種類は、例えば、アプリケーション層のヘッダ(例えば、SMBヘッダ)から判断できる。また、判定部12は、パケット31として、所定のプロトコルのパケットであり、且つ、実行可能コードを含むパケットを検出してもよい。各パケットが実行可能コードを含むか否かは、例えば、Portable Executable(PE)ヘッダなどのファイルヘッダから判断できる。パケット31の検出条件を増やすと、リバースコネクションの判定精度が向上する。
第1の実施の形態によれば、情報処理装置22から情報処理装置21へのコネクションがリバースコネクションであるか否かが、それより前に不正プログラムを含む疑いのある通信が情報処理装置21から情報処理装置22に対して行われたかに応じて判定される。これにより、リバースコネクションを検出することが可能となり、不正プログラムにより確立される不正コネクションを検出できる確率が向上する。よって、情報処理装置21から情報処理装置22への不正プログラムの送り込みが成功してしまっても、その後に行われる情報処理装置22から情報処理装置21への重要情報の送信を検出できる可能性があり、セキュリティが向上する。なお、ネットワーク監視装置10は、リバースコネクションを検出したとき、自動的にパケット通信を制限する制御を行うようにしてもよい。
[第2の実施の形態]
次に、第2の実施の形態について説明する。
図2は、第2の実施の形態に係る情報処理システムの例を示した図である。
図2に示すように、第2の実施の形態に係る情報処理システム100は、情報処理装置101、102と、端末装置103と、ネットワーク監視装置110とを有する。情報処理装置101、102、端末装置103、及びネットワーク監視装置110は、後述するネットワーク94を介して相互に接続されている。
情報処理装置101、102は、サーバ装置又はユーザが操作するクライアント装置である。情報処理装置101、102は、ネットワーク94を介してパケットを送信する。情報処理装置101、102によるパケットの送信には、例えば、ネットワーク層のプロトコルとしてIPが用いられ、トランスポート層のプロトコルとしてTCPが用いられる。ネットワーク監視装置110は、情報処理システム100の管理者が使用する管理用の装置である。
ネットワーク監視装置110は、ネットワーク94を介して送信されるパケットを監視し、情報処理装置101に侵入した不正プログラムによる攻撃を検出する。例えば、ネットワーク監視装置110は、情報処理装置101に侵入した不正プログラムが、情報処理装置102に他の不正プログラムを送り込む処理や、送り込んだ不正プログラムに実行指示を与える処理などを検出する。また、ネットワーク監視装置110は、情報処理装置102に送り込まれた不正プログラムが、情報処理装置101に侵入した不正プログラムに対して窃取した情報を送り込むためのリバースコネクションなどを検出する。
端末装置103は、ネットワーク監視装置110が不正プログラムによる攻撃を検出した場合に発する警告を受け取る装置である。ネットワーク監視装置110から警告を受け取った端末装置103は、攻撃の検出を監視者に通知するための警告表示や警告音声の出力などを行う。
なお、図2の例において、ネットワーク監視装置110は、情報処理装置101、102及び端末装置103と別体として記載されているが、情報処理装置102や端末装置103の一部機能として動作するプログラムモジュールであってもよい。但し、以下の説明においては、ネットワーク監視装置110が情報処理装置101、102及び端末装置103とは別体であるものとして説明を進める。また、ネットワーク監視装置110は、ルータやファイアウォールなどのパケットを送信する通信装置でもよいし、通信装置からパケットの複製を取得して分析するコンピュータであってもよい。
第2の実施の形態に係る技術は、例えば、不正プログラムに感染した情報処理装置101が、ネットワーク94を介して接続された情報処理装置102から機密情報などを窃取するような不正な処理を検出できるようにする方法を提供するものである。この方法は、ネットワーク監視装置110の機能により実現される。また、ネットワーク監視装置110が有する機能は、例えば、図3に示すようなハードウェアを利用して実現することが可能である。
図3は、第2の実施の形態に係るネットワーク監視装置のハードウェアの例を示した図である。
図3に示すように、ネットワーク監視装置110は、例えば、CPU901、RAM(Random Access Memory)902、HDD(Hard Disk Drive)903、画像信号処理部904、入力信号処理部905、ディスクドライブ906、及び通信インターフェース907を有する。
CPU901は、プログラムに記述された命令を実行する演算器を含むプロセッサである。CPU901は、HDD903に記憶されているプログラムやデータの少なくとも一部をRAM902にロードし、プログラムに記述された命令を実行する。なお、CPU901は、複数のプロセッサコアを含んでいてもよい。また、ネットワーク監視装置110は、複数のCPU901を搭載していてもよい。この場合、ネットワーク監視装置110は、処理を並列実行することができる。
RAM902は、CPU901が実行するプログラムや、処理に用いられるデータを一時的に記憶するための揮発性メモリである。なお、ネットワーク監視装置110は、RAM902とは異なる種類のメモリを有していてもよい。また、ネットワーク監視装置110は、複数のメモリを備えていてもよい。
HDD903は、Operating System(OS)、ファームウェア、或いは、アプリケーションソフトウェアなどのプログラムや、処理に用いられるデータなどを記憶する不揮発性記憶装置の一例である。なお、ネットワーク監視装置110は、フラッシュメモリやSolid State Drive(SSD)など、HDD903とは異なる種類の記憶装置を有していてもよい。また、ネットワーク監視装置110は、複数の記憶装置を有していてもよい。
画像信号処理部904は、CPU901による制御を受け、ネットワーク監視装置110に接続された表示装置91に画像を出力する。表示装置91は、例えば、Cathode Ray Tube(CRT)ディスプレイ、Liquid Crystal Display(LCD)、Plasma Display Panel(PDP)、Organic Electro-Luminescence Display(OELD)などの表示デバイスである。
入力信号処理部905は、ネットワーク監視装置110に接続された入力デバイス92から入力信号を取得し、CPU901に通知する。入力デバイス92としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、トラックボール、リモートコントローラ、ボタンスイッチなどを用いることができる。
ディスクドライブ906は、記録媒体93に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体93としては、例えば、Flexible Disk(FD)、HDDなどの磁気ディスク、Compact Disc(CD)やDigital Versatile Disc(DVD)などの光ディスク、Magneto-Optical disk(MO)などの光磁気ディスクを用いることができる。ディスクドライブ906は、例えば、CPU901による制御を受け、記録媒体93から読み取ったプログラムやデータをRAM902又はHDD903に格納する。
通信インターフェース907は、ネットワーク94を介して他のコンピュータと通信を行うためのインターフェースである。通信インターフェース907は、有線インターフェースであってもよいし、無線インターフェースであってもよい。なお、情報処理装置101、102及び端末装置103が有する機能の一部又は全部は、ネットワーク監視装置110と同じハードウェアを用いて実現できる。
図4は、第2の実施の形態に係るネットワーク監視装置の機能の例を示したブロック図である。
図4に示すように、ネットワーク監視装置110は、キャプチャ部111と、キャプチャデータ記憶部112と、TCPコネクション判定部113と、設定情報記憶部114と、SMBリクエスト解析部115と、警告データ記憶部116と、警告部117とを有する。
なお、キャプチャ部111、TCPコネクション判定部113、SMBリクエスト解析部115、及び警告部117が有する機能の一部又は全部は、CPU901が実行するプログラムのモジュールとして実現できる。また、キャプチャ部111、TCPコネクション判定部113、SMBリクエスト解析部115、及び警告部117が有する機能の一部又は全部をソフトウェアではなく電子回路として実現することも可能である。また、キャプチャデータ記憶部112、設定情報記憶部114、及び警告データ記憶部116は、例えば、RAM902やHDD903に確保された記憶領域である。
キャプチャ部111は、ネットワーク94を介して送受信されるパケットをキャプチャする。キャプチャ部111は、キャプチャしたパケットに受信時刻(タイムスタンプ)を付加してキャプチャデータ記憶部112に格納する。キャプチャデータ記憶部112は、キャプチャ部111によりキャプチャされたパケットを格納するための記憶部である。キャプチャデータ記憶部112に格納されたパケットは、TCPコネクション判定部113及びSMBリクエスト解析部115により利用される。
TCPコネクション判定部113は、キャプチャデータ記憶部112に格納されたパケットを解析し、そのパケットが3ウェイ・ハンドシェイクの最後に送信されるACKパケットか否かを判定する。なお、3ウェイ・ハンドシェイクは、TCPコネクションを確立するための方法である。TCPコネクション判定部113は、キャプチャされたパケットが3ウェイ・ハンドシェイクのACKパケットであると判定した場合、SMBリクエスト解析部115にパケットの解析を依頼する。一方、3ウェイ・ハンドシェイクのACKパケットでないと判定した場合、TCPコネクション判定部113は、次にキャプチャデータ記憶部112に格納されたパケットについて3ウェイ・ハンドシェイクのACKパケットか否かを判定する。
TCPコネクション判定部113からパケットの解析を依頼されたSMBリクエスト解析部115は、設定情報記憶部114に格納された設定情報を参照する。設定情報は、例えば、SMBリクエスト解析部115が実行するパケット解析のレベルを示す解析レベルの情報を含む。後述するように、この解析レベルが高いほど攻撃を検知する精度が高まる。一方、解析レベルが高いほど、パケット解析に要する処理負荷が高い。この解析レベルの情報は、例えば、情報処理システム100を管理する管理者などが予め設定して設定情報記憶部114に格納する。
設定情報記憶部114は、上記のような設定情報を格納する記憶部である。SMBリクエスト解析部115は、設定情報記憶部114に格納された解析レベルの情報を確認する。また、SMBリクエスト解析部115は、キャプチャデータ記憶部112に格納されたパケットのうち、3ウェイ・ハンドシェイクが行われる一定時間前までにキャプチャされたパケットを参照し、SMBリクエストを検索する。SMBリクエストは、例えば、SMBプロトコルでクライアントからサーバへと処理を要求するためのSMBパケットである。
SMBは、ファイル共有などのファイルサービスを実現するために利用される。SMBは、ファイル共有サービス、プリンタ共有サービス、コンピュータ名のブラウズ、プロセス間通信、メールスロット機能などを提供する。コンピュータ名のブラウズとは、ネットワーク上に存在するコンピュータ名の一覧を取得する機能である。また、SMBには、ネットワーク上にあるコンピュータが公開しているリソースの一覧を取得する機能もある。プロセス間通信(IPC:interprocess communication)は、複数のプロセス間(又は複数のスレッド間)でデータをやり取りする仕組みである。メールスロット機能は、受信側で順にメッセージを取り出して処理することができるように、複数の送信元から送信されたメッセージを一時的に蓄えておく仕組み(メールスロット)を提供する機能である。
なお、SMBプロトコルは、ネットワーク階層で言えばアプリケーション層やプレゼンテーション層に相当するファイルサービスプロトコルである。SMBプロトコルの下位プロトコルとしては、例えば、NetBIOS Extended User Interface(NetBEUI)、NBT(NetBIOS over TCP/IP)、TCP/IP、IPX(Internetwork Packet Exchange)/SPX(Sequenced Packet Exchange)などが利用される。なお、SMBを拡張したプロトコルとして、インターネットなどのネットワークを介してファイル共有サービスなどを利用できるようにしたCommon Internet File System(CIFS)と呼ばれるプロトコルもある。
また、SMBは、ピアツーピアの動作を前提としている。従って、SMBでは、クライアントからサーバに何らかの要求(SMBリクエストと呼ばれる。)が送信され、その要求に応じてサーバが応答する動作が前提とされる。
さて、3ウェイ・ハンドシェイクが行われる一定時間前までにSMBリクエストが検出されなかった場合、SMBリクエスト解析部115は、TCPコネクション判定部113から再びパケットの解析が依頼されるまで待機する。一方、SMBリクエストを検出した場合、SMBリクエスト解析部115は、解析レベルに応じた処理を実行する。ここでは3段階の解析レベル(解析レベル=1、2、3)が設定されている場合について考える。
解析レベルが1の場合、SMBリクエスト解析部115は、SMBリクエストとは逆方向の3ウェイ・ハンドシェイク(リバースコネクション)のデータと、SMBリクエストのデータとを対応付けて警告データ記憶部116に格納する。例えば、情報処理装置101から情報処理装置102へとSMBリクエストが送られた後、一定時間内に、情報処理装置102から情報処理装置101へとコネクションを確立するための3ウェイ・ハンドシェイクが行われた場合について考える。この場合、SMBリクエストと3ウェイ・ハンドシェイクとは逆方向であるから、SMBリクエスト解析部115は、このSMBリクエストのデータ及び3ウェイ・ハンドシェイクのデータとを対応付けて警告データ記憶部116に格納する。
また、解析レベルが2の場合、SMBリクエスト解析部115は、SMBリクエストが書き込みコマンドを含むか否かを判定する。SMBリクエストが書き込みコマンドを含まない場合、SMBリクエスト解析部115は、TCPコネクション判定部113から再びパケットの解析が依頼されるまで待機する。一方、SMBリクエストが書き込みコマンドを含む場合、SMBリクエスト解析部115は、SMBリクエストとは逆方向の3ウェイ・ハンドシェイク(リバースコネクション)のデータと、SMBリクエストのデータとを対応付けて警告データ記憶部116に格納する。
また、解析レベルが3の場合、SMBリクエスト解析部115は、SMBリクエストが書き込みコマンド及び実行可能コードを含むか否かを判定する。SMBリクエストが書き込みコマンド及び実行可能コードを含まない場合、SMBリクエスト解析部115は、TCPコネクション判定部113から再びパケットの解析が依頼されるまで待機する。一方、SMBリクエストが書き込みコマンド及び実行可能コードを含む場合、SMBリクエスト解析部115は、キャプチャデータ記憶部112に格納されたパケットを参照し、実行指示コマンドを含むSMBリクエストが検出されているか否かを判定する。
実行指示コマンドを含むSMBリクエストが検出されていない場合、SMBリクエスト解析部115は、TCPコネクション判定部113から再びパケットの解析が依頼されるまで待機する。一方、実行指示コマンドを含むSMBリクエストが検出されている場合、SMBリクエスト解析部115は、SMBリクエストとは逆方向の3ウェイ・ハンドシェイク(リバースコネクション)のデータと、SMBリクエストのデータとを対応付けて警告データ記憶部116に格納する。
警告データ記憶部116にリバースコネクションのデータ及びSMBリクエストのデータが対応付けて格納された場合、警告部117は、警告を発する。このとき、警告部117は、Simple Network Management Protocol(SNMP)が設定されている場合、SNMPトラップにより警告を発する。一方、SNMPが設定されていない場合、警告部117は、電子メールを利用して警告を発する。これらSNMPトラップや電子メールは、端末装置103に送信される。
上記のような機能を有するネットワーク監視装置110によれば、攻撃と見なすSMBリクエストとリバースコネクションとを紐付けることが可能になる。また、SMBリクエストの内容を解析し、その解析結果に応じてSMBリクエストとリバースコネクションとを紐付けることで誤検出の頻度が低減され、攻撃の検出精度が向上する。
以下、情報処理装置101に侵入した不正プログラムが、情報処理装置102から機密情報を窃取しようとする標的型攻撃を例に挙げ、この標的型攻撃を検知する際のネットワーク監視装置110の動作について説明する。標的型攻撃の例として図5及び図6に示すケースを考える。
図5は、標的型攻撃の例を示した第1の図である。
図5の例では、情報処理装置101が不正プログラムAに感染している。この不正プログラムAは、情報処理装置101が保持するログイン情報を取得する。このログイン情報は、例えば、情報処理装置102の認証を通過するためのものである。ログイン情報を取得した不正プログラムAは、取得したログイン情報を利用して情報処理装置102にアクセスし、SMBパケットを用いて不正プログラムA1及びA2を情報処理装置102に送信する。また、不正プログラムA1は、情報処理装置102で実行される。
さらに、不正プログラムAは、不正プログラムA1に対し、SMBパケットを用いて不正プログラムA2を起動するように指示を与える。この指示を受けた不正プログラムA1は、不正プログラムA2を起動する。また、図6に示すように、不正プログラムAは、SMBパケットを用いて不正プログラムA1を削除する。
図6は、標的型攻撃の例を示した第2の図である。不正プログラムA1は、SMBリクエストを待つ常駐プロセス・常駐サービスとして動作する。そのため、不正プログラムA1が動作していると、情報処理装置102において普段とは異なるプロセス・サービスが長時間立ち上がった状態となり、不正プログラムA1の存在及び動作が露見しやすくなる。そのため、不正プログラムA1は、名前がプロセス一覧やサービス一覧に長い時間表示されて攻撃が露見することを避けるため、図6に示すように不正プログラムA2の起動後に短時間で削除される。
一方、不正プログラムA2は、常駐プロセス・常駐サービスではなく、クライアントプロセスとして動作する。そのため、不正プログラムA2は、自身で起動・停止を制御することが可能であり、長時間連続してプロセスが稼働した状態になるのを回避できる。但し、不正プログラムA2の起動・停止の制御は、不正プログラムAからも行われ得る。さらに、不正プログラムA2をWebブラウザなどの頻繁に利用されるアプリケーションプロセスに偽装することで、不正プログラムA2の露見可能性が抑制される。
上記のような不正プログラムA2は、情報処理装置102が保持する機密情報などを取得する。また、不正プログラムA2は、情報処理装置101が通信を許可しているポート番号を利用して、情報処理装置101で動作している不正プログラムAに接続する。さらに、不正プログラムA2は、情報処理装置102から取得した機密情報などを不正プログラムAに送信する。例えば、不正プログラムA2は、ポート番号80で情報処理装置101に接続し、HTTPなどのプロトコルに従って機密情報などを送信する。
上記のような標的型攻撃の場合、Webブラウザによって送信されるHTTPリクエストのように通常のファイアウォールで許可されている可能性が高い通信が利用されるため、ファイアウォールで攻撃が検知されないことがある。また、不正プログラムA1及びA2を情報処理装置102に送信する際のデータが圧縮・符号化などの方法で隠蔽されてしまうと、パターンマッチングなどの方法では攻撃が検知されないことがある。また、異常トラフィックが発生しないため、アノマリ型の異常検出方法でも上記のような攻撃が検知されないことがある。また、情報処理装置101から情報処理装置102へのSMBパケットの送信及びリバースコネクションの発生をそれぞれ検知しても、その個別の検知結果を直ちに攻撃の発生に結びつけることは適当でない。
そこで、図5及び図6に例示したような標的型攻撃の際に発生するリバースコネクションを検出し、この標的型攻撃に関するリバースコネクションとSMBパケットとを適切に紐付ける方法を以下に示す。この方法について説明するに先立ち、図7及び図8を参照しながら、SMBパケットの構造及び3ウェイ・ハンドシェイクの仕組みについて述べる。
図7は、パケット構造の例を示した図である。
ネットワーク監視装置110のキャプチャ部111は、ネットワーク94を介してTCP/IPパケットをキャプチャする。TCP/IPパケットは、図7(A)に示すような構造を有する。図7(A)に示すように、TCP/IPパケットは、IPヘッダ、TCPヘッダ、及びTCPペイロードを含む。IPヘッダには、送信元のIPアドレスと宛先のIPアドレスとが格納される。TCPヘッダには、送信元のポート番号、宛先のポート番号、シーケンス番号、ACK番号、ACKフラグ、及びSYNフラグが含まれる。シーケンス番号は、送信するデータの先頭バイト番号である。ACK番号は、次に逆方向に送信されるデータの先頭バイト番号である。ACKフラグは、応答確認フラグである。SYNフラグは、同期フラグである。
SMBリクエスト解析部115は、キャプチャ部111がキャプチャしたTCP/IPパケットの中からSMBパケットを抽出する。このとき、SMBリクエスト解析部115は、TCP/IPパケットのTCPペイロードを参照する。SMBパケットは、図7(B)に示すような構造を有する。つまり、SMBパケットのTCPペイロードには、SMBヘッダ及びSMBペイロードが含まれる。SMBヘッダには、IDデータ、コマンド、及びパラメータが含まれる。IDデータは、SMBヘッダの先頭に位置し、SMBプロトコルのパケットであることを示す4バイトの識別用文字列データである。
コマンドは、受信側に対するコマンドを表すコード番号を指定する情報である。コマンドとしては、例えば、フォルダの作成や削除、ファイルのオープン、作成、クローズ、削除、名前変更、書き込み、読み出し、検索などのファイルやフォルダの操作に関するコマンドがある。その他にも、ファイル・システム情報を取得するコマンドや、ファイルやディレクトリの属性を取得又は設定するコマンドなどがある。パラメータは、エラーに関する情報、コマンドに関する補助情報、及びユーザに関する情報などを含む。
SMBパケットは上記のような構造を有するため、キャプチャしたパケットがSMBパケットであるか否かは、TCPヘッダの宛先ポート番号(例えば、445番)とSMBヘッダのIDデータから判断することができる。また、SMBパケットが書き込みコマンドを含むか否かは、SMBヘッダのコマンドを参照することで判断することができる。
なお、SMBパケットの中には、実行可能コードを送信するためのものが存在する。実行可能コードを送信するためのSMBパケットは、例えば、図7(C)に示すような構造を有する。実行可能コードを送信するためのSMBパケットは、図7(C)に示すように、SMBペイロードがPEヘッダ、及び実行可能コードを含む。
PEヘッダは、実行可能コードの特性が書き込まれる部分である。PEヘッダには、シグネチャ及びCharacteristicsフラグなどが含まれる。シグネチャは、PEヘッダの先頭に位置する所定の4バイトの識別用文字列データである。また、Characteristicsフラグは、ファイルの属性値を指定するフラグである。例えば、CharacteristicsフラグとしてIMAGE_FILE_EXECUTABLE_IMAGE(値0x0002)が指定されていた場合、ダイナミックリンクライブラリなどのイメージファイルが有効であり、実行され得ることを示す。また、実行可能コードは、プログラムの実行手順が記述された機械語データである。
キャプチャしたSMBパケットが実行可能コードを含むか否かは、例えば、PEヘッダのシグネチャとCharacteristicsフラグから判断できる。上記のような実行可能コードを含むSMBパケットを利用し、ファイルの書き込みコマンドを指定することで、例えば、実行可能コードの書き込みを行うことが可能になる。
次に、図8を参照しながら、3ウェイ・ハンドシェイクについて説明する。図8は、3ウェイ・ハンドシェイクについて説明した図である。
TCPにおいては、確実なデータ送信を実現するために3ウェイ・ハンドシェイクと呼ばれるコネクションの確立方法が用いられる。この方法では、まず、送信側から受信側へと送信許可要求(SYN)を伝えるパケットが送信される。つまり、送信許可要求を示すSYNフラグが1に設定されたパケットが送信側から受信側へと送信される。次に、受信側から送信側へと送信許可及び送信許可要求(SYN+ACK)を伝えるパケットが送信される。つまり、送信許可を示すACKフラグが1に設定され、送信許可要求を示すSYNフラグが1に設定されたパケットが送信側から受信側へと送信される。
送信許可及び送信許可要求を伝えるパケットが送信側で受け取られると、送信側から受信側へ向かう方向の通信路が確立される。次に、送信側から受信側へと送信許可(ACK)を伝えるパケットが送信される。つまり、送信許可を示すACKフラグが1に設定されたパケットが送信側から受信側へと送信される。このパケットが受信側で受け取られると、受信側から送信側へ向かう方向の通信路が確立される。このようにして送信側と受信側との間で双方向に通信路が確立されると、コネクションの確立が完了する。上記の仕組みが3ウェイ・ハンドシェイクと呼ばれるコネクションの確立方法である。
なお、3ウェイ・ハンドシェイクの初めに送信側から受信側へと送信されるパケットのシーケンス番号(SEQ)には、送信側で用意した初期値が設定される。また、受信側から送信側へと送信されるパケットのシーケンス番号(SEQ)には、受信側で用意した初期値が設定される。また、このパケットのACK番号には、送信側の初期値に1を加えた値が設定される。このパケットを受け取った送信側から受信側へと送信されるパケットのACK番号には、受信側の初期値に1を加えた値が設定される。このような3ウェイ・ハンドシェイクの仕組みを利用することで確実なデータ送信が実現される。
以上、SMBパケットの構造及び3ウェイ・ハンドシェイクの仕組みについて述べた。
次に、図9〜図13を参照しながら、図5及び図6に例示したような標的型攻撃の際に発生するリバースコネクションを検出し、このリバースコネクションとSMBパケットとを紐付ける方法について説明する。なお、第2の実施の形態においては、解析レベル1〜3と称して3通りの方法を紹介する。
まず、図9を参照しながら、解析レベル1に係る方法について説明する。この方法は、ネットワーク監視装置110が有するSMBリクエスト解析部115の機能により実現される。図9は、第2の実施の形態に係るリバースコネクションの検出方法(解析レベル1の例)を説明した図である。
解析レベルが1の場合、SMBリクエスト解析部115は、SMBリクエストが検出された後、一定時間以内に、そのSMBリクエストと逆方向の3ウェイ・ハンドシェイク(リバースコネクション)が行われたか否かを確認する。リバースコネクションの前一定時間内に検出されたSMBリクエストがある場合、SMBリクエスト解析部115は、リバースコネクションのデータと、SMBリクエストのデータとを紐付ける。なお、一定時間としては、例えば、数十ミリ秒から数百ミリ秒程度の時間が設定される。紐付けが行われたSMBリクエストの送信及びリバースコネクションの確立は、攻撃の一部であると見なされる。
ところで、TCP/IPに基づくプロトコルとしてRemote Desktop Protocol(RDP)と呼ばれるプロトコルがある。RDPは、例えば、ターミナルサービスを利用してユーザから入力された情報を端末からサーバに伝える通信処理や、サーバが端末に対して画面情報を送信する通信処理に利用される。このRDPとSMBによるファイル共通サービスとを併用する場合、SMBリクエストとRDPによる逆方向の3ウェイ・ハンドシェイクとが連続して発生してしまう可能性がある。
この場合、単にSMBリクエストと逆方向の3ウェイ・ハンドシェイクの発生を検知して攻撃と見なすと、正常な処理を攻撃と誤認識してしまうことになる。しかし、解析レベル1の場合、SMBリクエストと3ウェイ・ハンドシェイクとが一定時間内に実行された場合に、その処理を攻撃の一部とみなす仕組みとしているため、RDPによる正常な接続処理を誤って攻撃と見なしてしまう確率が低減される。
次に、図10を参照しながら、解析レベル2に係る方法について説明する。この方法は、ネットワーク監視装置110が有するSMBリクエスト解析部115の機能により実現される。図10は、第2の実施の形態に係るリバースコネクションの検出方法(解析レベル2の例)を説明した図である。
解析レベル2の場合、SMBリクエスト解析部115は、SMBリクエストが検出された後、一定時間以内に、そのSMBリクエストと逆方向の3ウェイ・ハンドシェイク(リバースコネクション)が行われたか否かを確認する。また、SMBリクエスト解析部115は、検出されたSMBリクエストに書き込みコマンドが含まれるか否かを確認する。リバースコネクションの前一定時間内に検出されたSMBリクエストがあり、かつ、そのSMBリクエストに書き込みコマンドが含まれる場合、SMBリクエスト解析部115は、リバースコネクションのデータと、SMBリクエストのデータとを紐付ける。
つまり、SMBペイロードに書き込み対象のファイルデータが含まれ、そのファイルデータを情報処理装置102に保存させるリクエスト(書き込みコマンドを含むSMBリクエスト)が一定時間内に検出された場合に上記の紐付け処理が実行される。
紐付けが行われたSMBリクエストの送信及びリバースコネクションの確立は、攻撃の一部であると見なされる。解析レベル1の場合と同様に、SMBリクエストの検出からリバースコネクションの検知までの時間を限ることで、RDP接続などの際に行われる正常な処理を誤って攻撃と見なしてしまう確率が低減される。また、SMBリクエストに書き込みコマンドが含まれるか否かを判定することで、ファイルデータの書き込み以外のSMBリクエストとリバースコネクションとが紐付けされなくなるため、正常な処理を誤って攻撃と認識してしまう確率が更に低減される。
次に、図11を参照しながら、解析レベル3に係る方法について説明する。この方法は、ネットワーク監視装置110が有するSMBリクエスト解析部115の機能により実現される。図11は、第2の実施の形態に係るリバースコネクションの検出方法(解析レベル3の例)を説明した図である。
解析レベル3の場合、SMBリクエスト解析部115は、SMBリクエストが検出された後、一定時間以内に、そのSMBリクエストと逆方向の3ウェイ・ハンドシェイク(リバースコネクション)が行われたか否かを確認する。また、SMBリクエスト解析部115は、検出されたSMBリクエストに実行可能コードの書き込みコマンドが含まれるか否かを確認する。実行可能コードの書き込みコマンドが含まれるか否かは、例えば、SMBリクエストのPEヘッダにCharacteristicsフラグとしてIMAGE_FILE_EXECUTABLE_IMAGE(値0x0002)が指定されているか否かを確認することで判定可能である。
また、SMBリクエスト解析部115は、実行指示コマンドを含むSMBリクエストが検出されたか否かを判定する。但し、ここでは、書き込みコマンドと、先にSMBリクエストで送信した実行可能コードの実行指示を示すパラメータとの組み合わせを実行指示コマンドと呼んでいる。リバースコネクション前の一定時間内に実行可能コードの書き込みコマンドを含むSMBリクエストが検出され、実行可能コードを含む書き込みコマンドとリバースコネクションとの間に実行指示コマンドを含むSMBリクエストが送信されたことが検出された場合、SMBリクエスト解析部115は、リバースコネクションとSMBリクエストとを紐付ける。紐付けが行われたSMBリクエストの送信及びリバースコネクションの確立は、攻撃の一部であると見なされる。
上記のように、SMBリクエストの検出からリバースコネクションの検知までの時間を限定し、SMBリクエストに書き込みコマンドが含まれるか否かを判定することで、解析レベル2の場合と同様に正常な処理を誤って攻撃と見なしてしまう確率が低減される。また、SMBリクエストを解析して実行可能コードの書き込みコマンド及び実行指示コマンドを検知することで、正常な処理を誤って攻撃と見なしてしまう確率を更に低減することができる。
上記のように、解析レベル1の場合よりも解析レベル2の場合の方が誤検出の確率が低減される。さらに、解析レベル2の場合よりも解析レベル3の場合の方が誤検出の確率が低減される。但し、解析レベル2の場合は、SMBリクエストに書き込みコマンドが含まれるか否かを判定する処理が実行される分だけ解析レベル1の場合よりも処理負荷が高くなる。また、解析レベル3の場合は、実行可能コードの書き込みコマンド及び実行指示コマンドを検出する処理が実行される分だけ解析レベル2の場合よりも処理負荷が高くなる。従って、検出精度と処理負荷とのトレードオフを考慮して解析レベルが設定される。
ここで、図12及び図13を参照しながら、リバースコネクションの検知方法、紐付けるSMBリクエストの判定方法などについて説明を補足する。
図12は、SMBリクエストテーブルの例を示した図である。なお、図12に示したSMBリクエストテーブルは、SMBリクエスト解析部115により生成され、警告データ記憶部116に格納されるデータ(警告データ)のうち、SMBリクエストに関する警告データのデータ構造を示している。
図12に示すように、SMBリクエストテーブルには、ID、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、コマンド、実行可能コード、及び受信時刻などの情報が含まれる。受信時刻は、SMBリクエストを受信した時刻を示す。また、IDは、対応するリバースコネクションとの対応関係を識別するための識別情報である。
図11に示した例の場合、実行可能コードの書き込みコマンドを含むSMBリクエスト、及び実行指示コマンドを含むSMBリクエストが検出される。この場合、SMBリクエスト解析部115は、実行可能コードの書き込みコマンドを含むSMBリクエストについて、SMBリクエストテーブルのコマンドの欄に「書き込み」、実行可能コードの欄に「YES」と書き込む。また、SMBリクエスト解析部115は、このSMBリクエストについて、その他の情報と共に受信時刻の情報をSMBリクエストテーブルに書き込む。同様に、実行指示コマンドを含むSMBリクエストについて、SMBリクエスト解析部115は、SMBリクエストテーブルのコマンドの欄に「実行指示」、実行可能コードの欄に「NO」と書き込む。
また、ネットワーク監視装置110が有するSMBリクエスト解析部115は、リバースコネクションが検知された際、リバースコネクションに関する情報を図13に示すようにリバースコネクションテーブルへ書き込む。
図13は、リバースコネクションテーブルの例を示した図である。図13に示すように、リバースコネクションテーブルには、ID、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、及び受信時刻などの情報が含まれる。なお、IDは、対応するSMBリクエストとの対応関係を識別するための識別情報である。送信元IPアドレス及び送信元ポート番号は、3ウェイ・ハンドシェイクの最初に送信されるSYNパケット又は最後に送信されるACKパケットの送信元のIPアドレス及びポート番号を表す。宛先IPアドレス及び宛先ポート番号は、3ウェイ・ハンドシェイクの最初に送信されるSYNパケット又は最後に送信されるACKパケットの宛先のIPアドレス及びポート番号を表す。受信時刻は、例えば、リバースコネクションである3ウェイ・ハンドシェイクの最後に送信されるACKパケットを受信した時刻を示す。
以上、標的型攻撃の際に発生するリバースコネクションを検出し、このリバースコネクションとSMBパケットとを紐付ける方法について説明した。
次に、図14〜図16を参照しながら、第2の実施の形態に係る監視処理の流れについて説明する。なお、ここで説明する監視処理は、ネットワーク監視装置110により実行される。図14は、第2の実施の形態に係る監視処理の流れを示した第1の図である。
(S101)SMBリクエスト解析部115は、設定情報記憶部114に格納された設定情報を参照する。この設定情報は、例えば、SMBリクエスト解析部115が実行するパケット解析のレベルを示す解析レベルの情報を含む。この解析レベルの情報は、例えば、情報処理システム100を管理する管理者などが予め設定して設定情報記憶部114に格納する。SMBリクエスト解析部115は、設定情報記憶部114に格納された解析レベルの情報を確認する。なお、SMBリクエスト解析部115は、解析レベルの情報をユーザに入力するように求めてもよい。
(S102)キャプチャ部111は、ネットワーク94を介して送受信されるパケットをキャプチャする。また、キャプチャ部111は、キャプチャしたパケットにキャプチャされた時刻(受信時刻)を付加してキャプチャデータ記憶部112に格納する。
(S103)TCPコネクション判定部113は、キャプチャデータ記憶部112に格納されたパケットを解析し、そのパケットが3ウェイ・ハンドシェイクの最後のパケット(ACKパケット)か否かを判定する。なお、キャプチャされたパケットが3ウェイ・ハンドシェイクのACKパケットか否かは、図8に示したように、SYNパケット、SYN+ACKパケット、ACKパケットが順に検出されたか否かで判定することができる。なお、これら3つのパケットは、例えば、各パケットに含まれる送信元及び宛先のIPアドレスやポート番号を参照することで相互に対応付けることができる。
(S104)TCPコネクション判定部113が、S103の処理で3ウェイ・ハンドシェイクのACKパケットであると判定した場合(3ウェイ・ハンドシェイクによりTCPコネクションが確立されたと判定した場合)、処理はS105に進む。一方、TCPコネクション判定部113が、S103の処理で3ウェイ・ハンドシェイクのACKパケットでないと判定した場合、処理はS106に進む。
(S105)SMBリクエスト解析部115は、キャプチャデータ記憶部112に格納されたパケットのうち、3ウェイ・ハンドシェイクが行われる一定時間前までにキャプチャされたパケットを参照し、SMBリクエストを検索する。
なお、SMBリクエスト解析部115は、SMBリクエストの送信元IPアドレス及び宛先IPアドレスと、3ウェイ・ハンドシェイクのSYNパケット又はACKパケットの送信元IPアドレス及び宛先IPアドレスとが逆方向であるSMBリクエストを検索する。このとき、SMBリクエスト解析部115は、例えば、3ウェイ・ハンドシェイクの最後のパケット(ACKパケット)が受信されてから一定時間前までにキャプチャされたSMBリクエストを検索する。
SMBリクエストが検出された場合、SMBリクエスト解析部115は、SMBリクエストの解析を実行する。
(S106)ネットワーク監視装置110は、パケットの監視を終了するか否かを判定する。例えば、ユーザにより監視を終了する指示を受けた場合や、予め設定された監視時間が経過した場合など、終了条件を満たした場合に、ネットワーク監視装置110は、パケットの監視を終了する。パケットの監視を終了すると判定された場合、図14に示した一連の処理は終了する。一方、パケットの監視を終了しないと判定された場合、処理はS101に進む。
ここで、図15及び図16を参照しながら、S105の処理について更に説明する。図15は、第2の実施の形態に係る監視処理の流れを示した第2の図である。
(S111)SMBリクエスト解析部115は、キャプチャデータ記憶部112に格納されたパケットのうち、3ウェイ・ハンドシェイクが行われる一定時間前(例えば、3ウェイ・ハンドシェイクの最後のパケット(ACKパケット)が受信されてから一定時間前)までにキャプチャされたパケットを参照し、SMBリクエストを検索する。なお、SMBリクエスト解析部115は、SMBリクエストの送信元IPアドレス及び宛先IPアドレスと、3ウェイ・ハンドシェイクのSYNパケット又はACKパケットの送信元IPアドレス及び宛先IPアドレスとが逆方向であるSMBリクエストを検索する。
(S112)SMBリクエストが検出されなかった場合、SMBリクエスト解析部115は、S105の処理に係る一連の処理を終了する。一方、SMBリクエストを検出した場合、SMBリクエスト解析部115は、解析レベルに応じた処理を実行する。
(S113)解析レベルが1である場合、処理はS118に進む。解析レベルが1でない場合、処理はS114に進む。
(S114)解析レベルが2である場合、処理はS115に進む。解析レベルが2でない場合、処理はS116に進む。
(S115)SMBリクエスト解析部115は、SMBリクエストが書き込みコマンドを含むか否かを判定する。なお、SMBリクエストが書き込みコマンドを含むか否かは、SMBヘッダのコマンドを参照することで判断することができる。SMBリクエストが書き込みコマンドを含まない場合、S105の処理に係る一連の処理は終了する。一方、SMBリクエストが書き込みコマンドを含む場合、処理はS118に進む。
(S116)SMBリクエスト解析部115は、SMBリクエストが書き込みコマンド及び実行可能コードを含むか否かを判定する。SMBリクエストが実行可能コードを含むか否かは、例えば、SMBリクエストが有するPEヘッダのシグネチャとCharacteristicsフラグから判断できる。SMBリクエストが書き込みコマンド及び実行可能コードを含まない場合、S105の処理に係る一連の処理は終了する。一方、SMBリクエストが書き込みコマンド及び実行可能コードを含む場合、処理はS117に進む。
(S117)SMBリクエスト解析部115は、書き込みコマンド及び実行可能コードを含むSMBリクエストより後であり3ウェイ・ハンドシェイクの一定時間前までにキャプチャデータ記憶部112に格納されたパケットを参照し、実行指示コマンドを含むSMBリクエストが検出されているか否かを判定する。実行指示コマンドを含むSMBリクエストが検出されていない場合、S105の処理に係る一連の処理は終了する。一方、実行指示コマンドを含むSMBリクエストが検出されている場合、処理はS118に進む。
(S118)SMBリクエスト解析部115は、SMBリクエストとは逆方向の3ウェイ・ハンドシェイク(リバースコネクション)のデータと、SMBリクエストのデータとを対応付けて警告データを生成する。例えば、SMBリクエスト解析部115は、図12に例示したSMBリクエストテーブル、及び図13に例示したリバースコネクションテーブルを生成して警告データ記憶部116に格納する。S118の処理が終了すると、処理は、図16のS119に進む。
図16は、第2の実施の形態に係る監視処理の流れを示した第3の図である。
(S119)警告部117は、ネットワーク監視装置110にSNMPが設定されているか否かを判定する。SNMPが設定されている場合、処理はS120に進む。一方、SNMPが設定されていない場合、処理はS121に進む。
(S120)警告部117は、SNMPトラップを管理者が使用する端末装置103に対して送信される。例えば、警告部117は、警告データ記憶部116に記憶されたSMBリクエストテーブルとリバースコネクションテーブルを警告データとして送信する。S120の処理が終了すると、S105の処理に係る一連の処理は終了する。
(S121)警告部117は、電子メールを、メールサーバ(図示せず)を介して管理者が使用する端末装置103に送信する。例えば、警告部117は、警告データ記憶部116に記憶されたSMBリクエストテーブルとリバースコネクションテーブルを警告データとして送信する。S121の処理が終了すると、S105の処理に係る一連の処理は終了する。
以上、第2の実施の形態に係る監視処理の流れについて説明した。
以上説明したように、第2の実施の形態に係る技術を適用すれば、解析レベル1の場合のようにSMBリクエストの検出からリバースコネクションの検知までの時間を限ることで、RDP接続などの際に行われる正常な処理を誤って攻撃と見なしてしまう確率が低減される。さらに、解析レベル2の場合のようにSMBリクエストに書き込みコマンドが含まれるか否かを判定することで、正常な処理を誤って攻撃と見なしてしまう確率が更に低減される。さらに、解析レベル3の場合のようにSMBリクエストを解析して実行可能コードの書き込みコマンド及び実行指示コマンドを検知することで、正常な処理を誤って攻撃と見なしてしまう確率を更に低減することができる。
解析レベル1の場合よりも解析レベル2の場合の方が誤検出の確率が低減される。さらに、解析レベル2の場合よりも解析レベル3の場合の方が誤検出の確率が低減される。但し、解析レベル2の場合は、SMBリクエストに書き込みコマンドが含まれるか否かを判定する処理が実行される分だけ解析レベル1の場合よりも処理負荷が高くなる。また、解析レベル3の場合は、実行可能コードの書き込みコマンド及び実行指示コマンドを検出する処理が実行される分だけ解析レベル2の場合よりも処理負荷が高くなる。
従って、検出精度を重視する場合には解析レベル3が優れ、処理負荷の低減を重視する場合には解析レベル1が優れ、検出精度と処理負荷とのバランスを重視する場合には解析レベル2が優れる。つまり、検出精度と処理負荷とのトレードオフを考慮して解析レベルが設定される。
また、上記技術を適用すれば、例えば、PFW(Personal Fire Wall)バイパス機能を有するマルウェアによるリバースコネクションを検知することが可能になる。また、HTTPなどの通常利用されるプロトコルに違反しない正常なパケットを用いた攻撃を検知することができる。また、パケットに含まれるシグニチャを用いるパターンマッチングなどの方法で検知できないマルウェアの活動を検知することが可能になる。
また、マルウェアの送信及び実行に係る振る舞いの検知結果と、機密情報などの送信に係る振る舞いの検知結果とを組み合わせて攻撃の検知を行うため、高い精度の攻撃検知を実現することができる。
なお、上記の説明においては、SMBパケットを利用した不正プログラムの送信及び実行を前提とする標的型攻撃を例に挙げ、その検知方法について説明を進めてきた。しかし、第2の実施の形態に係る技術の適用範囲はSMBに限定されない。
例えば、他のプロトコルで規定されるパケットにも送信元及び宛先のアドレス情報が含まれるため、通信方向を判別してリバースコネクションを検出することができる。また、受信時刻はネットワーク監視装置110が記録すればよく、リバースコネクションの前一定時間内に受信したパケットを検索することもできる。さらに、ペイロードに含まれる実行可能コードの実行可否などを示す情報を利用すれば、パケットとリバースコネクションとの紐付けを高精度に行うことができる。こうした変形についても当然に第2の実施の形態の技術的範囲に属する。
10 ネットワーク監視装置
11 受信部
12 判定部
21、22 情報処理装置
30 ネットワーク
31、32 パケット
100 情報処理システム
101、102 情報処理装置
103 端末装置
110 ネットワーク監視装置
111 キャプチャ部
112 キャプチャデータ記憶部
113 TCPコネクション判定部
114 設定情報記憶部
115 SMBリクエスト解析部
116 警告データ記憶部
117 警告部

Claims (7)

  1. 複数の情報処理装置の間でパケットが送信されるネットワークに接続されたネットワーク監視装置が実行する不正コネクション検出方法であって、
    第1の情報処理装置と第2の情報処理装置との間で送信されるパケットを取得し、
    前記取得したパケットに基づいて、前記第1の情報処理装置から前記第2の情報処理装置に対してファイル送信に用いられるプロトコルの第1のパケットが送信され、前記第1のパケットから所定時間以内に、前記第2の情報処理装置から前記第1の情報処理装置に対して確立されるコネクションについての第2のパケットが送信されたかを判定し、
    前記判定の結果に応じた情報を出力する、
    不正コネクション検出方法。
  2. 前記第1のパケットとして、前記第1の情報処理装置から前記第2の情報処理装置に対して送信される、前記プロトコルに適合するファイル書き込みコマンドを含むパケットを検出する、請求項1記載の不正コネクション検出方法。
  3. 前記第1のパケットとして、前記第1の情報処理装置から前記第2の情報処理装置に対して送信される実行可能コードを含むパケットを検出する、請求項1又は2記載の不正コネクション検出方法。
  4. 前記第1のパケットと前記第2のパケットとの間に、前記第1の情報処理装置から前記第2の情報処理装置に対して、前記実行可能コードを前記第2の情報処理装置に実行させるための実行指示コマンドを含む第3のパケットが送信されたかを更に判定する、請求項3記載の不正コネクション検出方法。
  5. 前記判定の結果に応じた情報は、前記第1の情報処理装置から前記第2の情報処理装置に対して送信された前記第1のパケットと、前記第2の情報処理装置から前記第1の情報処理装置に対して確立される前記コネクションとを関連付けた情報を含む、請求項1乃至4の何れか一項に記載の不正コネクション検出方法。
  6. 複数の情報処理装置の間でパケットが送信されるネットワークに接続されるネットワーク監視装置であって、
    第1の情報処理装置と第2の情報処理装置との間で送信されるパケットを取得する受信部と、
    前記取得したパケットに基づいて、前記第1の情報処理装置から前記第2の情報処理装置に対してファイル送信に用いられるプロトコルの第1のパケットが送信され、前記第1のパケットから所定時間以内に、前記第2の情報処理装置から前記第1の情報処理装置に対して確立されるコネクションについての第2のパケットが送信されたかを判定し、前記判定の結果に応じた情報を出力する判定部と、
    を有するネットワーク監視装置。
  7. 複数の情報処理装置の間でパケットが送信されるネットワークに接続されるコンピュータに実行させるプログラムであって、前記コンピュータに、
    第1の情報処理装置と第2の情報処理装置との間で送信されるパケットを取得し、
    前記取得したパケットに基づいて、前記第1の情報処理装置から前記第2の情報処理装置に対してファイル送信に用いられるプロトコルの第1のパケットが送信され、前記第1のパケットから所定時間以内に、前記第2の情報処理装置から前記第1の情報処理装置に対して確立されるコネクションについての第2のパケットが送信されたかを判定し、
    前記判定の結果に応じた情報を出力する、
    処理を実行させるプログラム。
JP2012233189A 2012-10-22 2012-10-22 不正コネクション検出方法、ネットワーク監視装置及びプログラム Active JP5920169B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012233189A JP5920169B2 (ja) 2012-10-22 2012-10-22 不正コネクション検出方法、ネットワーク監視装置及びプログラム
US13/951,652 US20140115705A1 (en) 2012-10-22 2013-07-26 Method for detecting illegal connection and network monitoring apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012233189A JP5920169B2 (ja) 2012-10-22 2012-10-22 不正コネクション検出方法、ネットワーク監視装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2014086821A true JP2014086821A (ja) 2014-05-12
JP5920169B2 JP5920169B2 (ja) 2016-05-18

Family

ID=50486638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012233189A Active JP5920169B2 (ja) 2012-10-22 2012-10-22 不正コネクション検出方法、ネットワーク監視装置及びプログラム

Country Status (2)

Country Link
US (1) US20140115705A1 (ja)
JP (1) JP5920169B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019092106A (ja) * 2017-11-16 2019-06-13 富士通株式会社 ネットワーク監視装置、ネットワーク監視方法及びネットワーク監視プログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9971888B2 (en) * 2013-03-15 2018-05-15 Id Integration, Inc. OS security filter
US10841375B2 (en) 2013-11-01 2020-11-17 Hewlett Packard Enterprise Development Lp Protocol agnostic storage access in a software defined network topology
WO2016137491A1 (en) * 2015-02-27 2016-09-01 Hewlett Packard Enterprise Development Lp Software defined network controller for implementing tenant specific policy
JP6610100B2 (ja) * 2015-09-07 2019-11-27 富士通株式会社 ログ分析方法、プログラム及び情報処理装置
US9961093B1 (en) * 2015-09-30 2018-05-01 EMC IP Holding Company LLC Monitoring for reverse-connection network activity to detect a remote-administration tool
US10178002B2 (en) * 2016-01-28 2019-01-08 Honeywell International Inc. System and method for capturing and displaying packets and other messages in local control network (LCN)
US10135847B2 (en) * 2016-05-18 2018-11-20 Salesforce.Com, Inc. Reverse shell network intrusion detection
JP6939220B2 (ja) * 2017-08-03 2021-09-22 富士通株式会社 データ解析プログラム、データ解析方法、およびデータ解析装置
JP6918626B2 (ja) * 2017-08-09 2021-08-11 オムロンヘルスケア株式会社 情報処理装置、サーバおよびデータ伝送システム
US11394776B2 (en) 2018-06-07 2022-07-19 Tuxera, Inc. Systems and methods for transport layer processing of server message block protocol messages
CN114401103B (zh) * 2021-11-30 2024-04-19 奇安信科技集团股份有限公司 Smb远程传输文件检测方法及装置,电子设备,存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004356915A (ja) * 2003-05-28 2004-12-16 Chiba Inst Of Technology 情報処理システム、情報処理装置、プログラム、及び通信ネットワークにおける通信の異常を検知する方法
JP2005056243A (ja) * 2003-08-06 2005-03-03 Seiko Epson Corp ワームの感染防止システム
US20060291490A1 (en) * 2005-06-28 2006-12-28 Fujitsu Limited Computer-readable recording medium having recorded worm determination program, worm determination method, and worm determination apparatus
JP2008165601A (ja) * 2006-12-28 2008-07-17 Secure Ware:Kk 通信監視システム、通信監視装置、及び通信制御装置
JP2012103893A (ja) * 2010-11-10 2012-05-31 Nippon Telegr & Teleph Corp <Ntt> 解析システム、解析装置、解析方法及び解析プログラム
JP2014038596A (ja) * 2012-08-20 2014-02-27 Trusteer Ltd 悪意ある実行ファイルの識別方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249175B1 (en) * 1999-11-23 2007-07-24 Escom Corporation Method and system for blocking e-mail having a nonexistent sender address
US7624265B1 (en) * 2001-02-14 2009-11-24 Emc Corporation Methods and apparatus for establishing communications with a data storage system
KR100426317B1 (ko) * 2002-09-06 2004-04-06 한국전자통신연구원 패킷 워터마크 삽입 기법을 이용한 실시간 공격 연결역추적 시스템 및 그 구현 방법
US7293289B1 (en) * 2002-09-10 2007-11-06 Marvell International Ltd. Apparatus, method and computer program product for detection of a security breach in a network
JP3773194B2 (ja) * 2002-09-30 2006-05-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 通信監視システム及びその方法、情報処理方法並びにプログラム
US7761919B2 (en) * 2004-05-20 2010-07-20 Computer Associates Think, Inc. Intrusion detection with automatic signature generation
JP4461485B2 (ja) * 2005-04-05 2010-05-12 株式会社ジェイテクト 分散制御装置
JP4777461B2 (ja) * 2007-09-07 2011-09-21 株式会社サイバー・ソリューションズ ネットワークセキュリティ監視装置ならびにネットワークセキュリティ監視システム
JP5458752B2 (ja) * 2009-09-04 2014-04-02 富士通株式会社 監視装置、監視方法
EP2513743B1 (en) * 2009-12-17 2017-11-15 Toshiba Memory Corporation Semiconductor system, semiconductor device, and electronic device initializing method
US8681740B2 (en) * 2010-12-21 2014-03-25 Tektronix, Inc. LTE network call correlation during User Equipment mobility

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004356915A (ja) * 2003-05-28 2004-12-16 Chiba Inst Of Technology 情報処理システム、情報処理装置、プログラム、及び通信ネットワークにおける通信の異常を検知する方法
JP2005056243A (ja) * 2003-08-06 2005-03-03 Seiko Epson Corp ワームの感染防止システム
US20060291490A1 (en) * 2005-06-28 2006-12-28 Fujitsu Limited Computer-readable recording medium having recorded worm determination program, worm determination method, and worm determination apparatus
JP2008165601A (ja) * 2006-12-28 2008-07-17 Secure Ware:Kk 通信監視システム、通信監視装置、及び通信制御装置
JP2012103893A (ja) * 2010-11-10 2012-05-31 Nippon Telegr & Teleph Corp <Ntt> 解析システム、解析装置、解析方法及び解析プログラム
JP2014038596A (ja) * 2012-08-20 2014-02-27 Trusteer Ltd 悪意ある実行ファイルの識別方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6016009890; 水谷 正慶、他2名: 'セキュアでサステイナブルなインターネットアーキテクチャ論文特集' 電子情報通信学会論文誌(J92-B) 第J92-B巻, 20091001, pp.1631-1642, 社団法人電子情報通信学会 *
JPN6016009892; 水谷 正慶、他3名: '通信の共通性を利用した悪性プログラム検知手法の実装と評価' 情報処理学会論文誌 論文誌ジャーナル 第50巻 第9号, 20090915, pp.2137-2146, 社団法人情報処理学会 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019092106A (ja) * 2017-11-16 2019-06-13 富士通株式会社 ネットワーク監視装置、ネットワーク監視方法及びネットワーク監視プログラム

Also Published As

Publication number Publication date
JP5920169B2 (ja) 2016-05-18
US20140115705A1 (en) 2014-04-24

Similar Documents

Publication Publication Date Title
JP5920169B2 (ja) 不正コネクション検出方法、ネットワーク監視装置及びプログラム
JP7046111B2 (ja) マルウェアのランタイム中の自動検出
US10447730B2 (en) Detection of SQL injection attacks
US9306964B2 (en) Using trust profiles for network breach detection
JP6304833B2 (ja) マルウェア定義パッケージサイズを縮小するためのテレメトリの使用
US8677493B2 (en) Dynamic cleaning for malware using cloud technology
JP4327698B2 (ja) ネットワーク型ウィルス活動検出プログラム、処理方法およびシステム
US20120005743A1 (en) Internal network management system, internal network management method, and program
JP2019021294A (ja) DDoS攻撃判定システムおよび方法
JP2009238065A (ja) 通信検知装置、通信検知方法、及び通信検知プログラム
US10033761B2 (en) System and method for monitoring falsification of content after detection of unauthorized access
US10091225B2 (en) Network monitoring method and network monitoring device
US10757118B2 (en) Method of aiding the detection of infection of a terminal by malware
KR20130116418A (ko) Ip 평판 분석 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR20130105769A (ko) 악성 도메인 탐지 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
JP6635029B2 (ja) 情報処理装置、情報処理システム及び通信履歴解析方法
JP6911723B2 (ja) ネットワーク監視装置、ネットワーク監視方法及びネットワーク監視プログラム
KR100632204B1 (ko) 네트워크 상의 공격 탐지 장치 및 그 방법
JP5456636B2 (ja) ファイル収集監視方法、ファイル収集監視装置及びファイル収集監視プログラム
JP6498413B2 (ja) 情報処理システム、情報処理装置、制御サーバ、生成サーバ、動作制御方法及び動作制御プログラム
JP2016115037A (ja) 端末分析装置、ふるまい検知装置、端末分析プログラムおよびふるまい検知プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160303

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160328

R150 Certificate of patent or registration of utility model

Ref document number: 5920169

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150