JP6014280B2 - 情報処理装置、方法およびプログラム - Google Patents
情報処理装置、方法およびプログラム Download PDFInfo
- Publication number
- JP6014280B2 JP6014280B2 JP2015557759A JP2015557759A JP6014280B2 JP 6014280 B2 JP6014280 B2 JP 6014280B2 JP 2015557759 A JP2015557759 A JP 2015557759A JP 2015557759 A JP2015557759 A JP 2015557759A JP 6014280 B2 JP6014280 B2 JP 6014280B2
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- communication
- phase
- malware
- correlation analysis
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Description
本発明は、ネットワークに接続された端末を管理する技術に関する。
従来、トラフィックを分析する方法として、ネットワーク上のホスト間のフローに懸念指標値を割り当て、累積された懸念指標値が閾値を超えた場合にアラームを発する方法が提案されている(特許文献1および2を参照)。
また、情報漏えいの発覚を遅らせるために、組織内で搾取した情報を組織内の代表感染端末へ集約し、外部へ送信していた攻撃手法が報告されている(非特許文献1を参照)。更に、組織内の端末にエージェントを導入し、通信内容およびプロセス情報等を取得し解析することで、当該端末がボットネットに参加しているか否かを判定し、当該端末がボットネットに参加している場合に、当該端末が該ボットネットにおいてどのような役割を持っているかを分析する研究内容が報告されている(非特許文献2を参照)。
独立行政法人情報処理推進機構、"標的型サイバー攻撃の事例分析と対策レポート"、[online]、平成24年 1月20日、独立行政法人情報処理推進機構、[平成26年12月19日検索]、インターネット〈URL:http://www.ipa.go.jp/files/000024536.pdf〉
Hailong Wang、外1名、"Role−based collaborative information collection model for botnet detection"、[online]、平成22年 5月17日、IEEE、[平成26年12月19日検索]、インターネット〈URL:http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5478475&isnumber=5478444〉
従来、攻撃の発覚を遅らせるために、組織内部の端末に役割を持たせて協働させることで、感染端末と外部端末の通信量を少なくする攻撃手法がある。これに対して、従来、端末上で稼働するエージェント型監視ソフトウェアによって、当該端末で稼働しているソフトウェアの種類、当該端末で行われている処理内容を分析することで、マルウェアの活動を検出する技術が提案されている。しかし、従来の手法では感染端末の検知後に通信ログや通信キャプチャ情報、マルウェア検体などを解析するため、感染端末の検知からマルウェアの活動・役割の特定までに長時間を要する場合がある。
本開示は、上記した問題に鑑み、ネットワーク内において協働して活動を行っている端末を発見することを課題とする。
本開示の一例は、複数の端末による通信と予め保持されたパターンとを比較する比較手段と、前記比較の結果に従って、前記端末の活動のフェーズを決定する決定手段と、前記複数の端末に含まれる第一の端末について現在または過去において決定されたフェーズと、前記複数の端末に含まれる第二の端末について現在または過去において決定されたフェーズと、が共通する場合に、該第一の端末による通信と該第二の端末による通信との相関分析を行うことで、前記第一の端末と前記第二の端末とが協働して活動を行っているか否かを判定する相関分析手段と、を備える情報処理装置である。
本開示は、情報処理装置、システム、コンピューターによって実行される方法またはコンピューターに実行させるプログラムとして把握することが可能である。また、本開示は、そのようなプログラムをコンピューターその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピューター等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的または化学的作用によって蓄積し、コンピューター等から読み取ることができる記録媒体をいう。
本開示によれば、ネットワーク内において協働して活動を行っている端末を発見することが可能となる。
以下、本開示に係る情報処理装置、方法およびプログラムの実施の形態を、図面に基づいて説明する。但し、以下に説明する実施の形態は、実施形態を例示するものであって、本開示に係る情報処理装置、方法およびプログラムを以下に説明する具体的構成に限定するものではない。実施にあたっては、実施形態に応じた具体的構成が適宜採用され、また、種々の改良や変形が行われてよい。
本実施形態では、本開示に係る情報処理装置、方法およびプログラムを、ネットワーク上で不正な活動を行っている端末を発見し、通信遮断やアラート通知等の対処を行うためのシステムにおいて実施した場合の実施の形態について説明する。但し、本開示に係る情報処理装置、方法およびプログラムは、ネットワーク上の不正な活動を検知するための技術について広く用いることが可能であり、本開示の適用対象は、本実施形態において示した例に限定されない。
<システムの構成>
図1は、本実施形態に係るシステム1の構成を示す概略図である。本実施形態に係るシステム1は、複数の情報処理端末90(以下、「ノード90」と称する)が接続されるネットワークセグメント2と、ノード90に係る通信を監視するためのネットワーク監視装置20と、を備える。更に、管理サーバー50が、ルータ10を介してネットワークセグメント2と通信可能に接続されている。本実施形態において、ネットワーク監視装置20は、スイッチまたはルータ(図1に示した例では、ルータ)のモニタリングポート(ミラーポート)に接続されることで、ノード90によって送受信されるパケットやフレーム等を取得する。この場合、ネットワーク監視装置20は、取得したパケットを転送しないパッシブモードで動作する。
図1は、本実施形態に係るシステム1の構成を示す概略図である。本実施形態に係るシステム1は、複数の情報処理端末90(以下、「ノード90」と称する)が接続されるネットワークセグメント2と、ノード90に係る通信を監視するためのネットワーク監視装置20と、を備える。更に、管理サーバー50が、ルータ10を介してネットワークセグメント2と通信可能に接続されている。本実施形態において、ネットワーク監視装置20は、スイッチまたはルータ(図1に示した例では、ルータ)のモニタリングポート(ミラーポート)に接続されることで、ノード90によって送受信されるパケットやフレーム等を取得する。この場合、ネットワーク監視装置20は、取得したパケットを転送しないパッシブモードで動作する。
管理サーバー50は、ネットワーク監視装置20から情報を収集し、ネットワーク監視装置20を管理する。なお、外部ネットワークには、更に検疫サーバーが設けられ、ネットワークセグメント2に接続されたノード90に対して検疫サービスを提供してもよいし、業務サーバーが設けられ、ノード90に対して業務のためのサービスを提供してもよい(図示は省略する)。
本実施形態に係るシステム1では、ノード90から接続される各種サーバーは、インターネットや広域ネットワークを介して遠隔地において接続されたものであり、例えばASP(Application Service Provider)によって提供されるが、これらのサーバーは、必ずしも遠隔地に接続されたものである必要はない。例えば、これらのサーバーは、ノード90やネットワーク監視装置20が存在するローカルネットワーク上に接続されていてもよい。
図2は、本実施形態に係るネットワーク監視装置20および管理サーバー50のハードウェア構成を示す図である。なお、図2においては、ネットワーク監視装置20および管理サーバー50以外の構成(ルータ10、ノード90等)については、図示を省略している。ネットワーク監視装置20および管理サーバー50は、それぞれ、CPU(Central Processing Unit)11a、11b、RAM(Random Access Memory)13a、13b、ROM(Read Only Memory)12a、12b、EEPROM(Electrically Erasable and Programmable Read Only Memory)やHDD(Hard Disk Drive)等の記憶装置14a、14b、NIC(Network Interface Card)15a、15b等の通信ユニット、等を備えるコンピューターである。
図3は、本実施形態に係るネットワーク監視装置20の機能構成の概略を示す図である。なお、図3においては、ネットワーク監視装置20以外の構成(ルータ10、ノード90および管理サーバー50等)については、図示を省略している。ネットワーク監視装置20は、記憶装置14aに記録されているプログラムが、RAM13aに読み出され、CPU11aによって実行されることで、通信取得部21、通信遮断部22、アプリケーション検知エンジン23、プロトコルアノマリ検知エンジン24およびマルウェアふるまい検知エンジン25を備える情報処理装置として機能する。また、マルウェアふるまい検知エンジン25は、比較部251、評価値取得部252、補正部253、決定部254、保持部255、合計部256、判定部257、相関分析部258および役割推定部259を含む。なお、本実施形態では、ネットワーク監視装置20の備える各機能は、汎用プロセッサであるCPU11aによって実行されるが、これらの機能の一部または全部は、1または複数の専用プロセッサによって実行されてもよい。また、これらの機能の一部または全部は、クラウド技術等を用いて、遠隔値に設置された装置や、分散設置された複数の装置によって実行されてもよい。
通信取得部21は、ネットワークに接続された端末によって送受信される通信を取得する。なお、本実施形態において、ネットワーク監視装置20による監視および検知の対象となる「端末」には、ネットワークセグメント2に接続されたノード90の他、ノード90とルータ10を介して通信するその他の装置(他のネットワークに属するノードや外部サーバー等)を含む。
通信遮断部22は、アプリケーション検知エンジン23、プロトコルアノマリ検知エンジン24またはマルウェアふるまい検知エンジン25によって、端末が不正な活動を行っていると判定された場合に、当該端末による通信を遮断する。なお、本実施形態では、端末が不正な活動を行っていると判定された場合、当該端末の通信を遮断する対処が採られる例について説明しているが、端末が不正な活動を行っていると判定された場合の対処方法は、通信の遮断に限定されない。ネットワーク監視装置20は、端末が不正な活動を行っていると判定された場合に、アラート(警告)の通知を行ってもよいし、不正な活動を行っている端末の治癒(例えば、マルウェアの除去や脆弱性の除去)を行ってもよい。
アプリケーション検知エンジン23は、マルウェアが利用する、業務に不要なアプリケーションがネットワーク上で通信を行っていることを検知するエンジンであり、例えば、既知のRAT(Remote Access Trojan)、P2P(Peer to Peer)アプリケーション、Tor(The Onion Router)、UltraSurf(Proxyツール)および匿名プロキシ等による通信を検知することで、ノード90において業務に不要なアプリケーションが動作していることを検知する。
プロトコルアノマリ検知エンジン24は、ネットワーク上における、プロトコルに沿っていない通信を検知するエンジンであり、例えば、HTTPアノマリ検知エンジン、SSL/TLSアノマリ検知エンジンおよびDNSアノマリ検知エンジン等が含まれる。プロトコルアノマリ検知エンジン24は、これらのプロトコルに沿っていない通信を検知することで、ネットワーク上でプロトコルを遵守していない通信を行うノード90を検知する。
マルウェアふるまい検知エンジン25は、マルウェアの活動遷移モデルに定義された、マルウェアによる不正な活動のフェーズごとに、ネットワーク上の通信と「マルウェア特有の通信パターン」との共通性を評価し、マルウェアの活動フェーズの遷移状況を監視することでマルウェアのふるまい(挙動)を分析し、ノード90におけるマルウェア感染を検知するエンジンである。
図4は、本実施形態のマルウェアふるまい検知エンジン25によって用いられる、マルウェアの活動遷移モデルを示す図である。なお、本実施形態において示されるマルウェアの活動遷移モデルにはフェーズP1からフェーズP8が定義されているが、これは本実施形態において用いられる一例であり、マルウェアの活動遷移モデルは、実施の形態に応じて、適宜変更されてよい。以下、本実施形態に係るマルウェアの活動遷移モデルにおける各フェーズについて説明する。
フェーズP1は、侵入フェーズ、即ち、標的型攻撃メールの添付ファイル、メールのURLのクリック、Webサイト(主に、SNSサイト)上のURLのクリック等を契機に、OSやアプリケーションの脆弱性を利用して感染する悪性コンテンツ(悪性コード、攻撃コード、エクスプロイト等とも称される)が投下されるフェーズである。フェーズP1からの移行先は、ワーム等の自律型のマルウェアが侵入した場合、フェーズP2、フェーズP4またはフェーズP8であり、ボット系のマルウェアの場合、フェーズP2またはフェーズP4である。
フェーズP2は、探索フェーズ、即ち、脆弱性を持った感染端末の探索フェーズである。
フェーズP3は、感染・浸潤フェーズ(拡散フェーズ)、即ち、脆弱な標的に対して攻撃コードを送り込んで感染させるかまたは他の端末から攻撃コードが送り込まれて感染させられるフェーズである。感染・浸潤フェーズでは、既に感染している端末を介して攻撃コードが標的の端末に送り込まれ、攻撃コードが送り込まれた端末がマルウェアに感染する。例えば、Windows(登録商標) OSのMS−RPCやファイル共有の脆弱性を利用して拡散活動が行われる。ボット系のマルウェアの場合は、攻撃者(ハーダー)から発行される、C&C(Command and Control)サーバーを経由した指令(フェーズP6)に基づいて感染活動(マルウェアの拡散活動)が実行される。フェーズP3からの移行先は、ワーム等の自律型のマルウェアの場合、フェーズP4またはフェーズP8であり、ボット系のマルウェアの場合、フェーズP4である。感染・浸潤フェーズは、2つの側面を持つ。1つは、感染元端末が感染活動を実行するフェーズである。もう1つは、被害者(感染先)端末として、攻撃コードが送り込まれ感染させられるフェーズである。
フェーズP4は、実行ファイルのダウンロードフェーズ、即ち、攻撃コードが送り込まれたのち、マルウェアの配布サイトや既に感染している端末から、マルウェア本体である実行ファイルをダウンロードして活性化、またはアンチウィルス製品によるマルウェアの検出の回避や新しい機能の追加等の目的で、攻撃者からの指令(C&Cサーバー経由)に従って、指定されたサイトから、新しいマルウェアがダウンロードされるフェーズである。マルウェア本体のダウンロードには、主に、HTTP、FTP、TFTPが使用される。また、マルウェア独自のプロトコルを利用する場合もある。フェーズP4からの移行先は、ボット等の遠隔操作タイプのマルウェアの場合、フェーズP5またはP6であり、ワーム等の自律型のマルウェアの場合、通常、フェーズP2またはフェーズP8である。
フェーズP5は、C&C検索フェーズ、即ち、攻撃者からの指令を受け取るためのC&Cサーバーを検索するフェーズである。このフェーズに遷移するマルウェアは、主に、ボット等の遠隔操作タイプのマルウェアである。マルウェアには、通常、複数のC&CサーバーのFQDNが組み込まれており、DNSクエリを使用してアドレス解決を行う。P2Pタイプのボットネットの場合は、P2Pプロトコル(汎用または独自プロトコル)を使用してC&Cノードを検索する。IPアドレスがハードコーディングされているタイプのマルウェアは、このフェーズでは活動しない。フェーズP5からの移行先は、フェーズP6である。
フェーズP6は、C&C通信(含む、インターネット接続確認)フェーズ、即ち、攻撃者からの指令の受信と指令の実行結果の報告(応答)等を行うために、C&Cサーバーに接続してデータの送受信を行うフェーズである。C&Cサーバーに接続する前に、インターネット接続確認を行うマルウェアが存在する。C&Cサーバーとの接続には、フェーズP5でアドレス解決が成功したIPアドレスの何れか、またはマルウェアにハードコーディングされたIPアドレスの何れかが使用される。マルウェアの活動は、C&Cサーバーから指令を受信すると、攻撃者からの指令に従って、フェーズP6からフェーズP2、フェーズP4またはフェーズP8に移行する。実行結果は、C&Cサーバー経由で攻撃者に通知される。一方、マルウェアは、C&Cサーバーへの接続に失敗した場合、別のIPアドレスで接続を再試行し、それでも失敗した場合には、フェーズP5に戻って別のC&Cサーバーを検索するか、活動自体を停止する。なお、接続が成功するまで延々と再接続を繰り返すマルウェアの存在も報告されている。また、C&C通信パスに異常が発生し、リカバリできない場合、マルウェアの活動はフェーズP5に移行する。更に、一定期間でC&Cサーバーを変更する動作を行うマルウェアも存在し、この場合も、マルウェアの活動はフェーズP5に移行する。また、フェーズP6は、攻撃者からの指令を待ち合わせているフェーズを含む。マルウェアは、定期的にC&Cサーバーにアクセスして、通信パスを維持するとともに、攻撃者からの指令を待ち受ける。一定期間でC&Cサーバーを変更する動作を行うマルウェアも存在し、この場合も、マルウェアの活動はフェーズP5に移行する。
フェーズP7は、搾取情報のアップロードフェーズ、即ち、マルウェア等が活動することによって得られた情報が、攻撃者側のサーバー等にアップロードされるフェーズである。
フェーズP8は、攻撃活動フェーズ、即ち、攻撃者からの指令(ボット系)やマルウェア自体に組み込まれた攻撃コード(ワーム系)に従って、各種攻撃活動を行うフェーズである。攻撃標的を見つけるために、フェーズP1相当の活動が行われることもある。攻撃活動には、DoS攻撃、スパムメール攻撃、Web攻撃(Web改ざん)、踏み台等が含まれる。
マルウェアふるまい検知エンジン25は、比較部251、評価値取得部252、補正部253、決定部254、保持部255、合計部256、判定部257、相関分析部258および役割推定部259を有することで(図3を参照)、上記のように定義されたマルウェアの活動フェーズの遷移状況を監視し、ノード90におけるマルウェア感染を検知する。以下、マルウェアふるまい検知エンジン25が有する各機能部について説明する。
比較部251は、通信取得部21によって新たに取得された通信(本実施形態では、新たに取得されて処理の対象となったパケット。以下「入力パケット」と称する)と、予め保持された通信パターンと、を比較する。通信パターンには、マルウェアの様々な活動の結果として現れる特異な通信パターンが、予め定義されている。本実施形態において、通信パターンは、マルウェアの活動遷移モデルのフェーズ毎に予め複数定義され、ネットワーク監視装置20または管理サーバーによって保持されており、フェーズPn(ここで、nは1から7までの整数)の通信パターンは、「Pn−m」(ここで、mは1以上の数値)のように表される。但し、何れのフェーズにも依存しない(換言すれば、複数の異なるフェーズにおいて出現し得る)通信パターンも存在する。本実施形態において、フェーズP1からフェーズP8の何れにも依存しない通信パターンは、「P0−m」で表される。
評価値取得部252は、比較部251による比較の結果、入力パケットと一致または近似した(以下、単に「対応する」と称する)通信パターンについて予め設定されているグレード(評価値)を、入力パケットのグレードとして取得する。グレード(Gr)は、個々の通信パターンに割り当てられる「端末が不正な活動(マルウェアの活動)をしていると推測される程度」を示す値である。本実施形態において、グレード(Gr)は、0 ≦ Gr < 1.0の範囲の値(小数点以下1桁)が設定されている。グレード(Gr)=0は、マルウェアの活動の結果発生した通信パターンである可能性が極めて低いことを示し、1に近いグレードほどマルウェアの活動の結果発生した通信パターンである可能性が高いことを示す。グレード(Gr)は、正当なアプリケーションの通信パターンとして出現する頻度に基づいて、通信パターン毎に予め決定されている。即ち、正当なアプリケーションによる通信として現れる可能性が低い通信にはより高い値のグレードが割り当てられ、正当なアプリケーションによる通信として現れる可能性が高い通信にはより低いグレードが割り当てられる。本実施形態では、通信パターンPn−mに予め設定されたグレードが「Gr(Pn−m)」、通信パターンPn−mに該当する通信を行った端末(h)に割り当てられたグレードが「Gr(h, Pn−m)」で表される。
なお、同一の通信パターンであっても、条件に基づいて、異なるグレード(Gr)が割り当てられ得る。例えば、通信パターンに付随して2つの条件「A:宛先がC&Cサーバーに一致しない」、「B:宛先がC&Cサーバーの1つに一致」が設定されている場合、以下のように条件判定され、宛先が登録済みのC&Cサーバーに一致するか否かによって、異なるグレードが割り当てられる。
IF (Pn−m = TRUE) AND (A) THEN Gr(Pn−m)=0.1、ACTION= C&Cサーバー候補リストに記録
IF (Pn−m = TRUE) AND (B) THEN Gr(Pn−m)=0.6、ACTION=No
IF (Pn−m = TRUE) AND (A) THEN Gr(Pn−m)=0.1、ACTION= C&Cサーバー候補リストに記録
IF (Pn−m = TRUE) AND (B) THEN Gr(Pn−m)=0.6、ACTION=No
更に、本実施形態において、評価値取得部252は、入力パケットと、入力パケットに係る端末によって入力パケットよりも前または後に送信または受信された他のパケット(以下、「先行パケット」「後続パケット」と称する)と、の相関分析の結果に従って、グレードを取得する。より具体的には、本実施形態において、評価値取得部252は、通信取得部21によって取得された通信(入力パケット)に関して取得されたフェーズと、当該通信に係る端末に関して当該通信の前または後に行われた他の通信(先行パケットまたは後続パケット)に関して取得されたフェーズと、の間に連続性があるか否かを判定し、連続性があると判定された場合に、グレードを取得する。
補正部253は、入力パケットと先行パケットまたは後続パケットとの相関分析の結果に従って、評価値取得部252によって取得されたグレードを補正する。より具体的には、本実施形態において、補正部253は、通信取得部21によって取得された通信(入力パケット)に関して取得されたフェーズと、当該通信に係る端末に関して当該通信の前または後に行われた他の通信(先行パケットまたは後続パケット)に関して取得されたフェーズと、の間に連続性があるか否かを判定し、連続性があると判定された場合に、評価値取得部252によって取得されたグレードを、連続性があると判定されなかった場合に比べてより大きく補正する。
換言すれば、本実施形態では、新たに取得された通信(入力パケット)と、当該通信に係る端末による過去または未来の通信(先行パケットまたは後続パケット)との相関分析が行われ、入力パケットと先行パケットまたは後続パケットとの間に、「マルウェア活動として推定される度合いをより高めるような連続性」が認められた場合に、過去または未来の通信(先行パケットまたは後続パケット)に対するグレードの取得や、新たに取得された通信(入力パケット)に対するグレードの補正が行われる。
決定部254は、入力パケットについて、当該端末に係るフェーズおよびグレードを決定する。決定部254は、比較部251による比較の結果、入力パケットに対応する通信パターンPn−mについて予め設定されているフェーズPnを、当該端末に係るフェーズとして決定する。また、決定部254は、評価値取得部252によって取得されたグレードGr(Pn−m)をそのまま入力パケットのグレードとして決定することもあるが、補正部253によってグレードが補正された場合には、補正された値が、入力パケットのグレードとして決定される。
保持部255は、端末毎に、決定されたグレードのフェーズ毎の最大値を保持する。本実施形態では、保持部255は、マルウェア活動遷移モデルのフェーズPn毎に、当該フェーズPnについて検出された通信パターンPn−mのグレードGr(Pn−m)の最大値をフェーズPnのグレードとして保持し、「PGr(Pn)」で表す。端末(h)のフェーズPnのグレードは「PGr(h, Pn)」で表され、以下の式を用いて取得される。
PGr(h, Pn) = max {Gr(Pn−m) | Pn−m∈h}
PGr(h, Pn) = max {Gr(Pn−m) | Pn−m∈h}
本実施形態において、保持部255は、端末毎にフェーズ毎のグレード最大値を保持するグレード管理テーブルを用いて、端末毎、フェーズ毎のグレードを管理する(図示は省略する)。グレード管理テーブルには、ネットワーク監視装置20が把握している端末(h)毎に、各フェーズPnのグレードPGr(h, Pn)が保持される。各フェーズPnのグレードPGr(h, Pn)は、先述の通り、当該フェーズPnについて検出された通信パターンPn−mのグレードGr(Pn−m)の最大値である。このため、何れかのフェーズについて新たにグレードが決定されると、新たに決定されたグレードとグレード管理テーブルに保持されているグレードPGr(h, Pn)とが比較され、最大値に更新される。なお、通信パターンPn−m毎のグレードGr(Pn−m)の最大値Gr(h, Pn−m)についても、記憶装置14aに保持される。
合計部256は、端末毎に、フェーズP1からフェーズP8までの夫々のフェーズのグレードの最大値PGr(h, Pn)を取得し、これらを合計する。
判定部257は、処理対象となっている端末(h)の、フェーズ毎のグレードの最大値PGr(h, Pn)に基づいて、端末が不正な活動を行っているか否かを判定する。本実施形態では、判定部257は、合計部256によって得られた合計値に基づいて、端末が不正な活動を行っているか否かを判定する。より具体的には、判定部257は、合計値に所定の重み付けを行うことで、「マルウェアが活動している可能性の高さを示す値」(以下、「マルウェア活動可能性」と称する)を算出し、この値が所定の閾値を超えた場合に、当該端末が不正な活動を行っていると判定する。端末(h)のマルウェア活動可能性は、端末(h)がマルウェアに感染している可能性の度合いを示し、「IR(h)」で表される。端末(h)のマルウェア活動可能性は、0(感染なし)〜100(感染の可能性大)の値を取る。即ち、本実施形態において、端末(h)のマルウェア活動可能性は、以下のように定義される。ここで、ψはマルウェア活動係数を示す。
一般に、活動遷移モデルの多くの(連続した)フェーズ上で通信パターンが検出された端末は、より少ないフェーズ上で通信パターンが検出された端末よりも、マルウェアに感染している可能性が高いと判断できるため、マルウェア活動係数ψ(本実施形態では、具体的な値として0.5が設定される)を導入する。上記のマルウェア活動可能性IR(h)は、端末(h)に関連する通信パターンに対応する通信パターンが検出される都度、計算および更新される。
本実施形態では、マルウェア活動可能性が、0〜49の端末を「クリーン端末」、50〜89の端末を「グレー端末」、90〜100の端末を「ブラック端末」と定義する。管理者端末の管理画面(デバイス一覧画面)には、リアルタイムレポート情報として、端末ごとに、マルウェア活動可能性と「クリーン」、「グレー」、「ブラック」が表示される。また、詳細情報として、端末ごとに、検出された「通信パターン」の概要と検知回数のリストが表示される。なお、「クリーン」、「グレー」、「ブラック」のマルウェア活動可能性の閾値は、管理者によって設定可能であってもよい。
相関分析部258は、入力パケットと、入力パケットに係る端末によって入力パケットよりも前または後に送信または受信された他のパケット(先行パケットまたは後続パケット)と、の相関分析を行う。即ち、本実施形態において実施される相関分析は、2つ以上の通信間または2つ以上のフェーズ間に連続性や共通性等の相関性の有無または程度を分析するものであり、相関分析の結果は、評価値取得部252、補正部253および判定部257等によって用いられる。例えば、相関分析部258は、決定部254によって、侵入フェーズP1であると決定された第一の通信と、実行ファイルのダウンロードフェーズであると決定された第二の通信との相関分析を行うことで、第一の通信によるコンテンツのダウンロードと、第二の通信による実行ファイルのダウンロードとの間の相関性の有無または程度を判定する。その他、相関分析の具体的な手法については、後述する。
また、相関分析部258は、通信が検出された第一の端末について現在または過去において決定されたフェーズと、第二の端末について現在または過去において決定されたフェーズと、が共通する(同一である)場合に、第一の端末による通信と第二の端末による通信との相関分析を行うことで、第一の端末と第二の端末とが協働して活動を行っているか否かを判定する。この際、相関分析部258は、第一の端末による通信と第二の端末による通信との連続性または関連性の有無または程度を判定することによって、第一の端末と第二の端末とが協働して活動を行っているか否かを判定する。異なる端末による通信間の相関分析の詳細については、「(3)役割推定のための相関分析」において後述する。
役割推定部259は、相関分析部258によって協働していると判定された第一の端末または第二の端末の、当該フェーズにおける活動の役割を推定する。
<処理の流れ>
次に、本実施形態に係るシステム1によって実行される処理の流れを、フローチャートを用いて説明する。なお、以下に説明するフローチャートに示された処理の具体的な内容および処理順序は、本発明を実施するための一例である。具体的な処理内容および処理順序は、本発明の実施の形態に応じて適宜選択されてよい。
次に、本実施形態に係るシステム1によって実行される処理の流れを、フローチャートを用いて説明する。なお、以下に説明するフローチャートに示された処理の具体的な内容および処理順序は、本発明を実施するための一例である。具体的な処理内容および処理順序は、本発明の実施の形態に応じて適宜選択されてよい。
ネットワーク監視装置20は、新たなネットワークに接続されると、後述するパケット毎の検知処理を開始する前に、準備処理として、ネットワーク構成の解析/学習処理を実行する。具体的には、ネットワーク監視装置20は、新たなネットワークに接続されると、所定時間パケットを取得して、取得されたパケットを解析することで、監視対象となるネットワークの構成を解析し、マルウェア検知に必要な情報(デバイス一覧(デバイスタイプ、OS種別、MAC/IPアドレス等)、監視対象ネットワークのアドレス体系、DNSサーバー情報、メールサーバー情報、プロキシ(HTTP/SOCKS)情報、Active Directory情報等)を学習し、記憶装置14a等に保存する。
なお、ネットワーク構成の解析/学習処理は、後述する検知処理が開始された後も、ネットワーク監視装置20によって継続的に実行される。即ち、ネットワーク監視装置20は、取得されたパケットを解析して得られた情報と、以前の解析/学習処理によって学習され、ネットワーク監視装置20の記憶装置14aに保持されている情報とを照合し、照合の結果、新たに得られた情報が保持されている情報と異なる場合、ネットワーク監視装置20は、ネットワークセグメント2における構成が変更されたと判断し、新たに得られた情報を用いて、ネットワーク監視装置20の記憶装置14aに保持されている情報を更新する。
図5は、本実施形態に係る、パケット毎の検知処理の流れの概要を示すフローチャートである。本実施形態に係る検知処理は、ネットワーク監視装置20によって、ネットワーク上を流れるパケット(または、複数パケットからなるデータ)が取得される度に実行される。
ステップS001では、パケット解析の前処理が実行される。ネットワーク監視装置20は、通信取得部21によって新たに通信(入力パケット)が取得されると、入力パケットの整形、分類、および有効な既存フローへの関連付けを行う。また、ネットワーク監視装置20は、入力パケットを端末単位(送信元/宛先IPアドレス(MACアドレス)単位)、プロトコル(TCP/UDP、ICMP、DNS、HTTP、HTTPS、IRC、FTP、TFTP、SOCKS、NetBIOS等)単位に分類、および既存フローとの関連付けを行う。その後、処理はステップS002へ進む。
ステップS002からステップS005では、アプリケーション検知エンジン23およびプロトコルアノマリ検知エンジン24による処理が行われる。本実施形態に係るネットワーク監視装置20は、上述した3種類の検知エンジン(検知プログラム)を用いて、ネットワークに接続された端末による不正な通信を検知するが、本実施形態において、ネットワーク監視装置20は、パケットを取得すると、アプリケーション検知エンジン23およびプロトコルアノマリ検知エンジン24による検知を行った後で、マルウェアふるまい検知エンジン25による検知を行う。即ち、本実施形態において、マルウェアふるまい検知エンジン25は、他の検知手段(アプリケーション検知エンジン23およびプロトコルアノマリ検知エンジン24)によって不正な通信として検知されなかった通信に基づいて、ノード90が不正な活動を行っているか否かを判定する。このようにすることで、本実施形態によれば、マルウェアふるまい検知エンジン25によって処理されるパケットの数を減らし、ふるまい検知エンジンの動作によって生じる負荷を減らすことが出来る。但し、マルウェアふるまい検知エンジン25は、単体で動作してもよいし、その他の検知エンジンと組み合わせて動作されてもよい。また、パケットが取得された際の検知エンジンの処理順序は、本実施形態に示した例に限定されない。
アプリケーション検知エンジン23によって不要なアプリケーションが検知された場合や、プロトコルアノマリ検知エンジン24によってプロトコルアノマリが検知された場合、処理はステップS012へ進み、遮断またはアラート発行が行われる。一方、不要なアプリケーションやプロトコルアノマリが検知されなかった場合、処理はステップS006へ進む。なお、本フローチャートにおいて、ステップS006からステップS011までの処理は、マルウェアふるまい検知エンジン25による処理に相当する。
ステップS006では、通信パターンの判定処理が行われる。比較部251は、入力パケットと予め定義された通信パターン(Pn−m)とを比較することで、入力パケットと予め定義された通信パターン(Pn−m)との共通性を判定する。ここで、通信パターン(Pn−m)と共通性があると判定された場合、入力パケットに係る端末(h)の活動遷移モデル上のフェーズはフェーズPn(h)に決定される。また、評価値取得部252は、判定の結果、一致または近似する(対応する)と判定された通信パターンのグレードGr(Pn−m)を、端末(h)に関連づけて、入力パケットのグレードGr(h, Pn−m)として取得する。更に、ネットワーク監視装置20は、検出した通信パターンに基づいて、対象通信の送信元端末または宛先端末を「マルウェア配布サーバー候補リスト」、または「C&Cサーバー候補リスト」に登録する。ここでは、パケットロストを考慮して、すべてのフェーズの通信パターンを対象に判定および評価が行われる。なお、既知の判定済みフローと関連付いているために、追加の判定処理が不要な入力パケットについては、判定は行われず、統計情報の更新のみが行われる。その後、処理はステップS007へ進む。
ステップS007では、第一の相関分析が行われる。評価値取得部252は、ステップS006で検出できなかったC&C通信をピックアップする。評価値取得部252は、探索フェーズP2、感染・浸潤フェーズP3、実行ファイルのダウンロードフェーズP4、攻撃活動フェーズP8に遷移する際に、そのトリガーとなった通信をピックアップし、ネットワーク監視装置20は、対象通信の送信元端末または宛先端末C&Cサーバー候補リストに登録する。なお、第一の相関分析の処理内容については、図6から図8、および図9を参照して後述する。その後、処理はステップS008へ進む。
ステップS008では、第二の相関分析が行われる。補正部253は、ステップS006で判定された端末(h)の活動フェーズPn(h)について、その直前に活動していたフェーズとの連続性や他の(感染)端末の挙動との相関性を分析する。分析の結果、マルウェアの挙動である疑いの高い通信パターンが発見された場合、補正部253は、ステップS006で判定した端末(h)の通信パターン(Pn−m)のグレードGr(h, Pn−m)を、以下の式を用いて補正し、より高いグレードを割り当てる。
Gr(h, Pn−m) = θ・Gr(h, Pn−m)
但し、マルウェア挙動類似係数θの範囲は1.0から2.0。ここで1.0は「類似性なし」を意味する。なお、第二の相関分析の処理内容、およびマルウェア挙動類似係数θについては、図6から図8、および図10から図15を参照して後述する。その後、処理はステップS009へ進む。
Gr(h, Pn−m) = θ・Gr(h, Pn−m)
但し、マルウェア挙動類似係数θの範囲は1.0から2.0。ここで1.0は「類似性なし」を意味する。なお、第二の相関分析の処理内容、およびマルウェア挙動類似係数θについては、図6から図8、および図10から図15を参照して後述する。その後、処理はステップS009へ進む。
ステップS009では、活動フェーズのグレード(PGr)が決定される。決定部254は、ステップS006からステップS008の処理結果に基づいて、対応する端末hの通信パターンのグレードGr(h, Pn−m)から、フェーズPnのグレードPGr(h, Pn)iを決定する。なお、ここで、PGr(h, Pn)i−1は、前回までのフェーズPnのグレードを示す。
PGr(h, Pn)i = max {PGr(h, Pn)i−1 , Gr(h, Pn−m)}
その後、処理はステップS010へ進む。
PGr(h, Pn)i = max {PGr(h, Pn)i−1 , Gr(h, Pn−m)}
その後、処理はステップS010へ進む。
ステップS010では、マルウェア活動可能性(IR(h))が算出される。合計部256および判定部257は、端末hのマルウェア活動可能性IR(h)を算出する。具体的な算出方法については、合計部256および判定部257の説明において上述した通りである。その後、処理はステップS011へ進む。
ステップS011およびステップS012では、マルウェア活動可能性IR(h)が所定の閾値以上である場合に、該当端末の遮断や管理者アラート発行等の対処が行われる。判定部257は、ステップS010で算出された端末のマルウェア活動可能性が「ブラック」を示す所定の閾値以上であるか否かを判定する(ステップS011)。そして、マルウェア活動可能性が「ブラック」の場合、通信遮断部22は、該当端末による通信を遮断する、または管理者にアラートを発行する等の対処を行う(ステップS012)。また、マルウェア活動可能性が「グレー」の場合にも、ネットワーク監視装置20は、管理者にアラートを発行してよい。マルウェア活動可能性が「クリーン」の場合は、遮断やアラートの発行等の対処は行われない。その後、本フローチャートに示された処理は終了する。
図6から図8は、本実施形態に係る、マルウェアふるまい検知エンジン25による検知処理の流れを示すフローチャートである。本フローチャートは、図5を用いて説明した検知処理のステップS006からステップS012の処理をより詳細に説明するものである。より具体的には、ステップS101からステップS103は、図5のステップS006で説明した通信パターン判定処理をより詳細に説明するものであり、ステップS104からステップS110は、ステップS007で説明した第一の相関分析処理をより詳細に説明するものであり、ステップS111からステップS116は、ステップS008で説明した第二の相関分析処理をより詳細に説明するものであり、ステップS117からステップS120は、ステップS009で説明した活動フェーズのグレード決定処理をより詳細に説明するものである。また、ステップS121は、図5のステップS010に相当し、ステップS122およびステップS123は、ステップS011およびステップS012に相当する。
ステップS101およびステップS102では、取得されたパケット(入力パケット)が、予め定義された通信パターンの何れに該当するかが判定される。比較部251は、入力パケットと予め保持された通信パターンとを比較することで、入力パケットと予め定義された通信パターン(Pn−m)との共通性を判定する。判定の結果、何れの通信パターンにも該当しないと判定された場合、当該パケットに係る処理は終了し、本フローチャートに示された処理は終了する。一方、何れかの通信パターンに該当すると判定された場合、処理はステップS103へ進む。
ステップS103では、入力パケットに係る端末に関して、該当すると判定された通信パターン(Pn−m)が検出されたことが記録される。また、評価値取得部252は、入力パケットに対応する通信パターン(Pn−m)が属するフェーズPnおよび通信パターン(Pn−m)に予め設定されているグレードGr(Pn−m)を、入力パケットに係る端末(h)のフェーズPn(h)、および当該フェーズのグレードGr(h, Pn−m)として取得する。その後、処理はステップS104へ進む。
ステップS104およびステップS105では、入力パケットに対応する通信パターンに必須条件が設定されている場合に、必須条件に対応する通信が過去に取得されているか否かが判定される。必須条件が設定されていない場合、処理はステップS107へ進む。ここで、必須条件とは、ステップS101において入力パケットに対応すると判定された通信パターン(Pn−m)に予め設定されているグレードGr(Pn−m)を、当該入力パケットに係る端末(h)のフェーズPn(h)のグレードGr(h, Pn−m)として決定してよいか否かを判定するための条件である。例えば、「P6−4: HTTP標準ポート(80)を宛先ポートとしたHTTP通信(プロキシ/非プロキシ)」の通信パターンはHTTPの一般的な通信であるが、この通信パターンは、「P0−1〜P0−15」に定義されている「HTTP悪性通信パターン」の何れかが検知されていることが必須条件である。このため、これらの必須条件が満たされた場合に、当該入力パケットについて通信パターンP6−4のグレードGr(h, P6−4)が決定され、必須条件が満たされない場合は、当該入力パケットについて通信パターンP6−4のグレードGr(h, P6−4)は決定されない。
即ち、評価値取得部252は、入力パケットに関して取得されたフェーズと、当該通信に係る端末に関して当該通信の前に行われた他の通信(先行パケット)に関して取得されたフェーズと、の間に連続性があるか否かを、過去に取得された通信が必須条件を満たしているか否かを判定することで判定する。必須条件が満たされないと判定された場合、処理はステップS106へ進み、当該入力パケットのグレードは0(ゼロ)に設定される。一方、必須条件が満たされると判定された場合、処理はステップS107へ進む。
ステップS107では、入力パケットに係る端末のフェーズにグレードが割り当てられる。評価値取得部252は、入力パケットについて、該当すると判定された通信パターンPn−mに予め定義されたグレードGr(Pn−m)を取得し、端末(h)のフェーズPn(h)のグレードGr(h, Pn−m)とする。その後、処理はステップS108へ進む。
ステップS108では、入力パケットが、過去に検知された通信パターンの必須条件に該当するか否かが判定される。換言すれば、ステップS108では、過去に取得された通信(先行パケット)から見て未来にあたる現時点において、必須条件に該当する通信(入力パケット)が検知されたか否かが判定される。評価値取得部252は、入力パケットの通信パターンが必須条件に設定されている通信パターンが、過去に検出されているか否かを判定する。判定の結果、入力パケットに係る通信パターンを必須条件とする通信パターンが過去に検出されていないと判定された場合、処理はステップS111へ進む。一方、判定の結果、入力パケットに係る通信パターンを必須条件とする通信パターンが過去に検出されていると判定された場合、処理はステップS110へ進む。
ステップS110では、過去に取得された通信(先行パケット)のフェーズにグレードが割り当てられる。評価値取得部252は、過去に検出された通信に、当該通信パターン(Pn−m)に予め定義されたグレードGr(Pn−m)を取得し、割り当てる。その後、処理はステップS111へ進む。
ステップS111およびステップS112では、入力パケットに対応する通信パターンにグレード補正条件が設定されている場合に、グレード補正条件に該当する通信が過去に取得されているか否かが判定される。グレード補正条件が設定されていない場合、処理はステップS114へ進む。ここで、グレード補正条件とは、ステップS101において入力パケットに対応すると判定された通信パターン(Pn−m)に予め設定されているグレードGr(Pn−m)をより大きな値に補正すべきか否かを判定するための条件である。補正部253は、グレード補正条件に該当する通信が、入力パケットに係る端末について過去に検知されているか否かを判定する。グレード補正条件が満たされないと判定された場合、グレードの補正は行われず、処理はステップS114へ進む。一方、必須条件が満たされると判定された場合、処理はステップS113へ進む。
ステップS113では、グレードの補正が行われる。補正部253は、ステップS112で満たされたと判定されたグレード補正条件について予め設定された補正値に従って、ステップS107で割り当てられたグレードGr(h, Pn−m)を補正する。例えば、補正値が1.5である場合、グレードGr(h, Pn−m)の値が1.5倍される。その後、処理はステップS114へ進む。
ステップS114では、入力パケットが、過去に検知された通信パターンのグレード補正条件に該当するか否かが判定される。換言すれば、ステップS114では、過去に取得された通信(先行パケット)から見て未来にあたる現時点において、グレード補正条件に該当する通信(入力パケット)が検知されたか否かが判定される。補正部253は、入力パケットの通信パターンがグレード補正条件に設定されている通信パターンが、過去に検出されているか否かを判定する。判定の結果、入力パケットに係る通信パターンをグレード補正条件とする通信パターンが過去に検出されていないと判定された場合、処理はステップS117へ進む。一方、判定の結果、入力パケットに係る通信パターンをグレード補正条件とする通信パターンが過去に検出されていると判定された場合、処理はステップS116へ進む。
ステップS116では、過去の通信(先行パケット)に係るグレードの補正が行われる。補正部253は、過去に検出された通信パターンに係る端末に割り当てられていたグレードを、当該グレード補正条件について予め定義された補正値で補正する。例えば、補正値が1.5である場合、グレードが1.5倍される。その後、処理はステップS117へ進む。
ステップS117からステップS120では、フェーズ毎の最大グレードの更新処理が行われる。まず、ネットワーク監視装置20は、入力パケットに係る端末について、検知フェーズ(P1からP8)毎に保持されている最大グレード(補正されているグレードについては、補正後の値)を、グレード管理テーブルから取得し(ステップS117)、ステップS101からステップS116までの処理の結果決定部254によって決定されたグレードと比較することで、各フェーズにおいて、最大グレードが更新されたか否かを判定する(ステップS118)。ここで、最大グレードが更新されていないと判定された場合、処理はステップS121へ進む。一方、最大グレードが更新されたと判定された場合、保持部255は、新たに割り当てられたグレードをもって、グレード管理テーブルに記録された最大グレードを更新し、これを保持する(ステップS120)。なお、この過程で、証跡ログが採取される(ステップS119)。その後、処理はステップS121へ進む。
ステップS121では、端末におけるマルウェア活動可能性が算出される。合計部256は、当該端末hの各フェーズで求められた最大グレードを合算し、判定部257は、マルウェア活動係数を乗算することで、端末hのマルウェア活動可能性IR(h)を算出する。詳細な算出方法は、合計部256および判定部257の説明において上述した通りである。その後、処理はステップS122へ進む。
ステップS122およびステップS123では、対象ノード90の、マルウェア感染の有無が判定される。判定部257は、ステップS121で算出されたマルウェア活動可能性IR(h)が所定の閾値を超えているか否かを判定する(ステップS122)。ここで、マルウェア活動可能性IR(h)が閾値を超えていると判定された場合、ネットワーク監視装置20は、マルウェア感染が検知された際の所定の対応を行う。マルウェア感染が検知された際の対応としては、例えば、通信遮断部22による当該ノード90の通信遮断開始や、当該ノード90がマルウェアに感染していることのアラート(警告)の通知等が挙げられる。一方、マルウェア活動可能性IR(h)が閾値を超えていないと判定された場合には、通信遮断や警告等の、マルウェア感染が検知された際の対応は行われない。その後、本フローチャートに示された処理は終了する。
なお、ネットワーク監視装置20は、例えば、L2/L3スイッチから取得された通信データを破棄する方法、L2/L3スイッチのポートを遮断する方法、ノード90に対してARP偽装によるパケット送信先の誘導を行う方法、ルータ10に指示してノード90に係る通信を破棄させる方法、またはノード90が属するVLANを変更して隔離する方法、等を用いて、ノード90による通信を遮断することができる。また、ネットワーク監視装置20がルータ10に搭載(内包)されている場合には、ノード90が受信または送信する通信を直接遮断することもできる。また、ネットワーク監視装置20は、管理サーバーやノード90、予め設定された管理者端末等に通知パケットやメール等を送信する方法や、ネットワーク監視装置20自身に設けられた表示装置(ディスプレイやLED等)を介して警告表示する方法等を用いて、アラートを通知することが出来る。
<相関分析の具体例>
以下に、相関分析の具体例を説明する。但し、相関分析は、端末による複数の通信が、マルウェアの活動に伴うフェーズの遷移の観点から相関性を有しているか否かを分析するものであればよく、本実施形態に示された例に限定されない。
以下に、相関分析の具体例を説明する。但し、相関分析は、端末による複数の通信が、マルウェアの活動に伴うフェーズの遷移の観点から相関性を有しているか否かを分析するものであればよく、本実施形態に示された例に限定されない。
(1)第一の相関分析
通信パターンの判定処理(ステップS006を参照)は、予め定義された「通信パターン」に基づいている。従って、この処理のみでは、通信パターンに一致しない通信を行うマルウェアを検知できない。このため、本実施形態では、第一の相関分析(ステップS007を参照)を行うこととしている。
通信パターンの判定処理(ステップS006を参照)は、予め定義された「通信パターン」に基づいている。従って、この処理のみでは、通信パターンに一致しない通信を行うマルウェアを検知できない。このため、本実施形態では、第一の相関分析(ステップS007を参照)を行うこととしている。
図9は、本実施形態における第一の相関分析で監視対象とする活動遷移モデル上のフェーズとその遷移を示す図である。一般に、マルウェアは、C&Cサーバーからの指令に従って、探索フェーズP2、感染・浸潤フェーズP3、実行ファイルのダウンロードフェーズP4、または攻撃活動フェーズP8に遷移する。また、C&Cサーバーからの指令を受信してから、探索フェーズP2、感染・浸潤フェーズP3、実行ファイルのダウンロードフェーズP4、攻撃活動フェーズP8に遷移するまでの時間は、非常に短い(1秒以内)ことが一般的である。第一の相関分析では、この特性を利用して、端末(h)が、探索フェーズP2、感染・浸潤フェーズP3、実行ファイルのダウンロードフェーズP4、または攻撃活動フェーズP8に遷移した際に、トリガーとなった通信を一旦C&C通信と見なして、当該通信に係る端末をC&Cサーバー候補リストに登録する。C&Cサーバー候補リストに登録した後、マルウェアの感染を特定する処理は上記に示したマルウェアの検知方法に従う。
(1.1)準備(評価情報の収集)
第一の相関分析では、活動遷移モデル上の探索フェーズP2、感染・浸潤フェーズP3、実行ファイルのダウンロードフェーズP4または攻撃活動フェーズP8における活動が観測(通信パターンが検出)された際に、そのトリガーとなった通信を分析して、一定の条件を満たす場合に、そのトリガーとなった通信の送信元(端末(h)から見た場合は接続先)をC&Cサーバー候補としてリストに登録する。以下に、第一の相関分析で利用する情報の収集方法と記録内容を説明する。なお、以下の処理は、監視対象端末が送信したパケットを検出するたびに実行される。また、この準備(評価情報の収集)処理は、通信パターンの判定処理(ステップS006を参照)の終了後に実行される。
第一の相関分析では、活動遷移モデル上の探索フェーズP2、感染・浸潤フェーズP3、実行ファイルのダウンロードフェーズP4または攻撃活動フェーズP8における活動が観測(通信パターンが検出)された際に、そのトリガーとなった通信を分析して、一定の条件を満たす場合に、そのトリガーとなった通信の送信元(端末(h)から見た場合は接続先)をC&Cサーバー候補としてリストに登録する。以下に、第一の相関分析で利用する情報の収集方法と記録内容を説明する。なお、以下の処理は、監視対象端末が送信したパケットを検出するたびに実行される。また、この準備(評価情報の収集)処理は、通信パターンの判定処理(ステップS006を参照)の終了後に実行される。
(1.1.1)分析
パケットを分析して、以下の条件を満たす場合は(1.1.2)のパケット待ち合わせに進む。条件を満たさない場合は、何もせずパケットを待ち合わせる。
・パケットは、端末(h)が送信したHTTP GET、POST、PUT、CONNECTリクエストの何れかである。且つ
・GETリクエストは、ファイルのダウンロード要求ではない。且つ
・User−Agentヘッダーの値が”Mozilla”で始まらない、またはUser−Agentヘッダーが存在しない。
パケットを分析して、以下の条件を満たす場合は(1.1.2)のパケット待ち合わせに進む。条件を満たさない場合は、何もせずパケットを待ち合わせる。
・パケットは、端末(h)が送信したHTTP GET、POST、PUT、CONNECTリクエストの何れかである。且つ
・GETリクエストは、ファイルのダウンロード要求ではない。且つ
・User−Agentヘッダーの値が”Mozilla”で始まらない、またはUser−Agentヘッダーが存在しない。
なお、上記したUser−Agentの条件は、ウェブブラウザ以外のアプリケーションが送信したHTTPリクエストだけを評価対象にすることを意味する。(偽装)ウェブブラウザ通信は、通信パターンの判定処理で評価対象になっているため、第一の相関分析では、非ウェブブラウザ通信のみが対象となる。そして、上記の条件を満たされた場合、端末(h)の管理テーブルには以下の情報が記録される。
・メソッド種別(GET, POST, PUT, CONNECTの何れか)
・User−Agentヘッダーの値(文字列)。User−Agentヘッダーが存在しない場合は”NULL”
・Hostヘッダーの値(FQDNまたはIPアドレス)
・メソッド種別(GET, POST, PUT, CONNECTの何れか)
・User−Agentヘッダーの値(文字列)。User−Agentヘッダーが存在しない場合は”NULL”
・Hostヘッダーの値(FQDNまたはIPアドレス)
(1.1.2)パケット待ち合わせ
ここでは、後続のパケットが待ち合わせられる。パケットが受信されると、以下の処理が実行される。
・パケットが(1.1.1)の条件を満たす端末(h)が送信した新しいHTTPリクエストである場合、処理は(1.1.1)の分析に戻る。なお、HTTPリクエストおよびそのレスポンスとしては、最新のデータのタイムスタンプのみが必要だが、パケットロストが発生する可能性があるため、全てのHTTPレスポンス受信時にタイムスタンプを記録して、後続のレスポンスを受信した場合に上書きしてもよい。
・パケットが、端末(h)が(1.1.1)で送信したHTTPリクエストのレスポンスであり、且つHTTPレスポンスのホディ部のサイズがゼロである場合、処理は(1.1.1)に移行する。これは、HTTPレスポンスのホディ部のサイズがゼロの場合、C&Cサーバーからの指令情報を含んでいないことを意味するためである。
・パケットは、端末(h)が(1.1.1)で送信したHTTPリクエストのレスポンスである。且つHTTPレスポンスのホディ部のサイズがゼロでない場合は、以下に示す内容を記録して、処理は(1.1.3)に移行する。
・HTTPレスポンスパケットの検出(受信)時刻(タイムスタンプ:ミリ秒)を記録する。以降、このタイムスタンプを「TimeStamp(C)」で表す。なお、ここではHTTPレスポンスの最終データのタイムスタンプのみが必要であるが、パケットロストが発生する可能性があるため、全てのHTTPレスポンス受信時にタイムスタンプを記録して、後続のレスポンスを受信した場合に上書きすることとする。
ここでは、後続のパケットが待ち合わせられる。パケットが受信されると、以下の処理が実行される。
・パケットが(1.1.1)の条件を満たす端末(h)が送信した新しいHTTPリクエストである場合、処理は(1.1.1)の分析に戻る。なお、HTTPリクエストおよびそのレスポンスとしては、最新のデータのタイムスタンプのみが必要だが、パケットロストが発生する可能性があるため、全てのHTTPレスポンス受信時にタイムスタンプを記録して、後続のレスポンスを受信した場合に上書きしてもよい。
・パケットが、端末(h)が(1.1.1)で送信したHTTPリクエストのレスポンスであり、且つHTTPレスポンスのホディ部のサイズがゼロである場合、処理は(1.1.1)に移行する。これは、HTTPレスポンスのホディ部のサイズがゼロの場合、C&Cサーバーからの指令情報を含んでいないことを意味するためである。
・パケットは、端末(h)が(1.1.1)で送信したHTTPリクエストのレスポンスである。且つHTTPレスポンスのホディ部のサイズがゼロでない場合は、以下に示す内容を記録して、処理は(1.1.3)に移行する。
・HTTPレスポンスパケットの検出(受信)時刻(タイムスタンプ:ミリ秒)を記録する。以降、このタイムスタンプを「TimeStamp(C)」で表す。なお、ここではHTTPレスポンスの最終データのタイムスタンプのみが必要であるが、パケットロストが発生する可能性があるため、全てのHTTPレスポンス受信時にタイムスタンプを記録して、後続のレスポンスを受信した場合に上書きすることとする。
(1.1.3)判定
ここでは、以下の判定および処理が行われる。
・(1.1.2)で処理したパケットがHTTPレスポンスの最終データではない場合、マルウェアふるまいエンジン25は、(1.1.2)に留まって、後続のレスポンスを待ち合わせる。
・(1.1.2)で処理したパケットがHTTPレスポンスの最終データであった場合、マルウェアふるまいエンジン25は、(1.1.1)の分析に移り、新規のHTTPリクエストを待ち合わせる。
ここでは、以下の判定および処理が行われる。
・(1.1.2)で処理したパケットがHTTPレスポンスの最終データではない場合、マルウェアふるまいエンジン25は、(1.1.2)に留まって、後続のレスポンスを待ち合わせる。
・(1.1.2)で処理したパケットがHTTPレスポンスの最終データであった場合、マルウェアふるまいエンジン25は、(1.1.1)の分析に移り、新規のHTTPリクエストを待ち合わせる。
(1.2)探索フェーズP2への遷移時の処理内容
マルウェアふるまい検知エンジン25は、以下の処理を順次行い、条件を満たす場合に、「準備(評価情報の収集)」で記録したパケットに係る端末をC&Cサーバー候補リストに登録する。
・探索フェーズP2上の活動と認定(「探索フェーズP2の通信パターン」に一致)且つ
・探索フェーズP2に遷移した時刻(タイムスタンプ:TimeStamp(P2))と記録しているTimeStamp(C)が以下の条件を満たす。
TimeStamp(C)+500ms > TimeStamp(P2)
マルウェアふるまい検知エンジン25は、上記の条件を満たす「準備(評価情報の収集)」で記録した通信(入力パケット)には、グレード(Gr)=0.3を付与する。記録しているC&C通信フェーズのグレード(PGr)と比較して、大きい値のグレードをC&C通信フェーズのグレード(PGr)として記録し直す。なお、TimeStamp(P2)は、通信パターンの判定処理で、「探索フェーズP2の通信パターン」を検出した際に記録される。TimeStamp(P2)の計測対象は、探索フェーズ上の「疑わしい接続の試み」に該当する通信パターンのみである。また、通信パターンの観測時刻は、「疑わしい接続の試み」に該当する通信パターンを検出した時刻とする。
マルウェアふるまい検知エンジン25は、以下の処理を順次行い、条件を満たす場合に、「準備(評価情報の収集)」で記録したパケットに係る端末をC&Cサーバー候補リストに登録する。
・探索フェーズP2上の活動と認定(「探索フェーズP2の通信パターン」に一致)且つ
・探索フェーズP2に遷移した時刻(タイムスタンプ:TimeStamp(P2))と記録しているTimeStamp(C)が以下の条件を満たす。
TimeStamp(C)+500ms > TimeStamp(P2)
マルウェアふるまい検知エンジン25は、上記の条件を満たす「準備(評価情報の収集)」で記録した通信(入力パケット)には、グレード(Gr)=0.3を付与する。記録しているC&C通信フェーズのグレード(PGr)と比較して、大きい値のグレードをC&C通信フェーズのグレード(PGr)として記録し直す。なお、TimeStamp(P2)は、通信パターンの判定処理で、「探索フェーズP2の通信パターン」を検出した際に記録される。TimeStamp(P2)の計測対象は、探索フェーズ上の「疑わしい接続の試み」に該当する通信パターンのみである。また、通信パターンの観測時刻は、「疑わしい接続の試み」に該当する通信パターンを検出した時刻とする。
(1.3)実行ファイルのダウンロードフェーズP4への遷移時の処理内容
マルウェアふるまい検知エンジン25は、以下の処理を順次行い、条件を満たす場合に、「準備(評価情報の収集)」で記録したパケットに係る端末をC&Cサーバー候補リストに登録する。
・実行ファイルのダウンロードフェーズP4上の活動と認定(「実行ファイルのダウンロードフェーズP4の通信パターン」に一致)且つ
・実行ファイルのダウンロードフェーズP4に遷移した時刻(タイムスタンプ:TimeStamp(P4))と記録しているTimeStamp(C)が以下の条件を満たす。
TimeStamp(C)+500ms > TimeStamp(P4)
マルウェアふるまい検知エンジン25は、上記の条件を満たす「準備(評価情報の収集)」で記録した通信に、グレード(Gr)=0.3を付与する。記録しているC&C通信フェーズのグレード(PGr)と比較して、大きい値のグレードをC&C通信フェーズのグレード(PGr)として記録し直す。なお、TimeStamp(P4)は、通信パターンの判定処理で、「実行ファイルのダウンロードフェーズP4の通信パターン」を検出した際に記録される。TimeStamp(P4)は、HTTP GETリクエスト、FTPダウンロード、TFTPダウンロードの開始時刻ではなく、ファイルのダウンロードが完了した時刻(HTTP GETの場合は、レスポンスの最終パケット)とする。パケットロストが発生するため、HTTP GETレスポンスの個々のパケット、FTP/TFTPのダウンロードパケットを検出するたびにTimeStamp(P4)を更新してもよい。
マルウェアふるまい検知エンジン25は、以下の処理を順次行い、条件を満たす場合に、「準備(評価情報の収集)」で記録したパケットに係る端末をC&Cサーバー候補リストに登録する。
・実行ファイルのダウンロードフェーズP4上の活動と認定(「実行ファイルのダウンロードフェーズP4の通信パターン」に一致)且つ
・実行ファイルのダウンロードフェーズP4に遷移した時刻(タイムスタンプ:TimeStamp(P4))と記録しているTimeStamp(C)が以下の条件を満たす。
TimeStamp(C)+500ms > TimeStamp(P4)
マルウェアふるまい検知エンジン25は、上記の条件を満たす「準備(評価情報の収集)」で記録した通信に、グレード(Gr)=0.3を付与する。記録しているC&C通信フェーズのグレード(PGr)と比較して、大きい値のグレードをC&C通信フェーズのグレード(PGr)として記録し直す。なお、TimeStamp(P4)は、通信パターンの判定処理で、「実行ファイルのダウンロードフェーズP4の通信パターン」を検出した際に記録される。TimeStamp(P4)は、HTTP GETリクエスト、FTPダウンロード、TFTPダウンロードの開始時刻ではなく、ファイルのダウンロードが完了した時刻(HTTP GETの場合は、レスポンスの最終パケット)とする。パケットロストが発生するため、HTTP GETレスポンスの個々のパケット、FTP/TFTPのダウンロードパケットを検出するたびにTimeStamp(P4)を更新してもよい。
(1.4)攻撃フェーズP8への遷移時の処理内容
マルウェアふるまい検知エンジン25は、以下の処理を順次行い、条件を満たす場合に、「準備(評価情報の収集)」で記録したパケットに係る端末をC&Cサーバー候補リストに登録する。
・攻撃フェーズP8上の活動と認定(「攻撃フェーズP8の通信パターン」に一致)且つ
・攻撃フェーズP8に遷移した時刻(タイムスタンプ:TimeStamp(P8))と記録しているTimeStamp(C)が以下の条件を満たす。
TimeStamp(C)+500ms > TimeStamp(P8)
マルウェアふるまい検知エンジン25は、上記の条件を満たす「準備(評価情報の収集)」で記録した通信には、グレード(Gr)=0.3を付与する。記録しているC&C通信フェーズのグレード(PGr)と比較して、大きい値のグレードをC&C通信フェーズのグレード(PGr)として記録し直す。なお、TimeStamp(P8)は、通信パターンの判定処理で、「攻撃フェーズP8の通信パターン」を検出した際に記録する。TimeStamp(P8)は、(複数のパケットから最終的に)攻撃活動を認定した時刻ではなく、攻撃の通信パターンの最初のパケットを検出した時刻である。
マルウェアふるまい検知エンジン25は、以下の処理を順次行い、条件を満たす場合に、「準備(評価情報の収集)」で記録したパケットに係る端末をC&Cサーバー候補リストに登録する。
・攻撃フェーズP8上の活動と認定(「攻撃フェーズP8の通信パターン」に一致)且つ
・攻撃フェーズP8に遷移した時刻(タイムスタンプ:TimeStamp(P8))と記録しているTimeStamp(C)が以下の条件を満たす。
TimeStamp(C)+500ms > TimeStamp(P8)
マルウェアふるまい検知エンジン25は、上記の条件を満たす「準備(評価情報の収集)」で記録した通信には、グレード(Gr)=0.3を付与する。記録しているC&C通信フェーズのグレード(PGr)と比較して、大きい値のグレードをC&C通信フェーズのグレード(PGr)として記録し直す。なお、TimeStamp(P8)は、通信パターンの判定処理で、「攻撃フェーズP8の通信パターン」を検出した際に記録する。TimeStamp(P8)は、(複数のパケットから最終的に)攻撃活動を認定した時刻ではなく、攻撃の通信パターンの最初のパケットを検出した時刻である。
(2)第二の相関分析
マルウェアは、マルウェア活動遷移モデルのフェーズを遷移しながら活動を深化させていく。従って、遷移した直後のフェーズでの活動(通信)が、一つ前のフェーズでの活動(通信)をトリガーにして発生した可能性が高い場合(換言すれば、前後のフェーズに相関性がある場合)、当該端末はマルウェアに感染している確率が高いと判断できる。このトリガーを通信パターンに含まれるデータ内容(例えば、C&Cサーバーからの指令内容)から判断する方法も考えられるが、データ部を暗号化や難読化しているマルウェアも多く、リアルタイムに解析・判定することは困難である。このため、本実施形態では、フェーズの遷移に要した時間(通信パターンPr−sを検出してから通信パターンPm−nを検出するまでの時間)、通信先(コールバック通信)の端末(h)、マルウェア感染の可能性が高い複数端末の挙動の相関性および一致性、扱ったファイルの種類等の情報に基づいて第二の相関分析(ステップS008を参照)を行う。分析の結果、マルウェアの挙動の疑いが高い通信であると判定できた場合は、その通信に対応する通信パターンPm−nのグレードGr(Pm−n)を補正(マルウェアの挙動類似係数θ倍)し、より高いグレードを付与する。
マルウェアは、マルウェア活動遷移モデルのフェーズを遷移しながら活動を深化させていく。従って、遷移した直後のフェーズでの活動(通信)が、一つ前のフェーズでの活動(通信)をトリガーにして発生した可能性が高い場合(換言すれば、前後のフェーズに相関性がある場合)、当該端末はマルウェアに感染している確率が高いと判断できる。このトリガーを通信パターンに含まれるデータ内容(例えば、C&Cサーバーからの指令内容)から判断する方法も考えられるが、データ部を暗号化や難読化しているマルウェアも多く、リアルタイムに解析・判定することは困難である。このため、本実施形態では、フェーズの遷移に要した時間(通信パターンPr−sを検出してから通信パターンPm−nを検出するまでの時間)、通信先(コールバック通信)の端末(h)、マルウェア感染の可能性が高い複数端末の挙動の相関性および一致性、扱ったファイルの種類等の情報に基づいて第二の相関分析(ステップS008を参照)を行う。分析の結果、マルウェアの挙動の疑いが高い通信であると判定できた場合は、その通信に対応する通信パターンPm−nのグレードGr(Pm−n)を補正(マルウェアの挙動類似係数θ倍)し、より高いグレードを付与する。
以下に、通信パターンの相関分析の分析内容を説明する。なお、フェーズの遷移順序が一致しない場合や、フェーズの遷移は一致しているが途中に別のフェーズを挟んでいる場合は、分析対象外として相関分析は行われない。また、マルウェアふるまい検知エンジン25は、すべてのフェーズ遷移を相関分析の対象としない。マルウェアふるまい検知エンジン25は、マルウェアの挙動として顕著な相関性が観測される以下のフェーズ遷移を、相関分析の対象とする。図10から図15において、実線矢印は分析対象であることを、破線矢印は分析対象でないことを示す。
(2.1)探索フェーズP2への遷移時の分析内容
図10は、本実施形態における第二の相関分析で監視対象とする、探索フェーズP2への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)が探索フェーズP2に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
図10は、本実施形態における第二の相関分析で監視対象とする、探索フェーズP2への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)が探索フェーズP2に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
(2.1.1)C&C通信フェーズP6から探索フェーズP2へ遷移
if {条件A = TRUE} then {Gr(h, P2−m) = θ・Gr(h, P2−m)} (θ=1.2)
・条件A:端末(h)のC&Cサーバー候補リストに登録されているC&Cサーバーの何れかでデータ通信(C&Cサーバーから何らかのデータ(指令)を受信)を観測してから、N(a)秒以内に、端末(h)で探索フェーズの通信パターンP2−mを観測した。
なお、ここでC&Cサーバーからデータ(指令)を受信した時刻は、以下のパケットを観測した時刻とする。
・C&CがHTTPタイプである場合、HTTP GET/POST/PUTリクエストに対応する、データ長(ボディ部のサイズ)がゼロでないHTTPレスポンスの(最終)データの受信時刻
・C&CがHTTPS(直接またはCONNECT)または独自プロトコルタイプである場合、該当TCPコネクション上で、端末(h)が送信したデータパケットに対応する、データ長がゼロでない(最終)TCPデータの受信時刻
・C&CがIRCタイプである場合、C&Cサーバーからデータ長がゼロでないIRCメッセージの最終データの受信時刻
ここで、探索フェーズの通信パターンP2−mは、「疑わしい接続の試み」に該当する通信パターンだけを対象とする。また、通信パターンの観測時刻は、「疑わしい接続の試み」に該当する通信パターンを検出した時刻とする。
if {条件A = TRUE} then {Gr(h, P2−m) = θ・Gr(h, P2−m)} (θ=1.2)
・条件A:端末(h)のC&Cサーバー候補リストに登録されているC&Cサーバーの何れかでデータ通信(C&Cサーバーから何らかのデータ(指令)を受信)を観測してから、N(a)秒以内に、端末(h)で探索フェーズの通信パターンP2−mを観測した。
なお、ここでC&Cサーバーからデータ(指令)を受信した時刻は、以下のパケットを観測した時刻とする。
・C&CがHTTPタイプである場合、HTTP GET/POST/PUTリクエストに対応する、データ長(ボディ部のサイズ)がゼロでないHTTPレスポンスの(最終)データの受信時刻
・C&CがHTTPS(直接またはCONNECT)または独自プロトコルタイプである場合、該当TCPコネクション上で、端末(h)が送信したデータパケットに対応する、データ長がゼロでない(最終)TCPデータの受信時刻
・C&CがIRCタイプである場合、C&Cサーバーからデータ長がゼロでないIRCメッセージの最終データの受信時刻
ここで、探索フェーズの通信パターンP2−mは、「疑わしい接続の試み」に該当する通信パターンだけを対象とする。また、通信パターンの観測時刻は、「疑わしい接続の試み」に該当する通信パターンを検出した時刻とする。
(2.2)実行ファイルのダウンロードフェーズP4への遷移時の分析内容
図11は、本実施形態における第二の相関分析で監視対象とする、実行ファイルのダウンロードフェーズP4への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)が実行ファイルのダウンロードフェーズP4に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
図11は、本実施形態における第二の相関分析で監視対象とする、実行ファイルのダウンロードフェーズP4への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)が実行ファイルのダウンロードフェーズP4に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
(2.2.1)探索フェーズP2から実行ファイルのダウンロードフェーズP4へ遷移
if {条件A = TRUE} then {Gr(h, P4−m) = θ・Gr(h, P4−m)} (θ=1.5)
if {条件B = TRUE} then {Gr(h, P4−m) = θ・Gr(h, P4−m)} (θ=1.2)
・条件A:端末(h)で実行ファイルのダウンロードの通信パターンP4−mを観測、且つP4−mの接続先(宛先IP/FQDN)が感染元端末(k)と一致した。
・条件B:端末(h)で実行ファイルのダウンロードの通信パターンP4−mを観測、且つP4−mの接続先(宛先IP/FQDN)がマルウェア配布サーバー候補リストに登録されているサーバーの何れかと一致した。
なお、マルウェアに感染してから一定時間内に実行ファイルがダウンロードされるとは限らない場合がある(10秒後もあれば、3日後のケースがある)ため、フェーズP2からフェーズP4への遷移では、時間に係る条件は入れない。
if {条件A = TRUE} then {Gr(h, P4−m) = θ・Gr(h, P4−m)} (θ=1.5)
if {条件B = TRUE} then {Gr(h, P4−m) = θ・Gr(h, P4−m)} (θ=1.2)
・条件A:端末(h)で実行ファイルのダウンロードの通信パターンP4−mを観測、且つP4−mの接続先(宛先IP/FQDN)が感染元端末(k)と一致した。
・条件B:端末(h)で実行ファイルのダウンロードの通信パターンP4−mを観測、且つP4−mの接続先(宛先IP/FQDN)がマルウェア配布サーバー候補リストに登録されているサーバーの何れかと一致した。
なお、マルウェアに感染してから一定時間内に実行ファイルがダウンロードされるとは限らない場合がある(10秒後もあれば、3日後のケースがある)ため、フェーズP2からフェーズP4への遷移では、時間に係る条件は入れない。
(2.2.2)C&C通信フェーズP6から実行ファイルのダウンロードフェーズP4へ遷移
if {条件C = TRUE} then {Gr(h, P4−m) = θ・Gr(h, P4−m)} (θ=1.2)
if {条件D = TRUE} then {Gr(h, P4−m) = θ・Gr(h, P4−m)} (θ=1.5)
・条件C:端末(h)のC&Cサーバー候補リストに登録されているC&Cサーバーの何れかでデータ通信(C&Cサーバーから何らかのデータを受信)を観測してから、N(b)秒以内に、端末(h)で実行ファイルのダウンロードフェーズの通信パターンP4−mを観測した。
・条件D: 条件C且つP4−mの接続先(宛先IP/FQDN)がマルウェア配布サーバー候補リストに登録されているサーバーの何れかと一致した。
なお、C&Cサーバーからデータ(指令)を受信した時刻は、「(2.1)探索フェーズP2への遷移時の分析内容」を参照。また、実行ファイルのダウンロードフェーズの通信パターンP4−mの観測時刻は、HTTP GETリクエスト、FTPダウンロード、TFTPダウンロードの開始時刻ではなく、ファイルのダウンロードが完了した時刻(HTTP GETの場合は、レスポンスの最終パケット)とする。パケットロストが発生するため、HTTP GETレスポンスの個々のパケット、FTP/TFTPのダウンロードパケットを検出するたびに時刻を更新してもよい。
if {条件C = TRUE} then {Gr(h, P4−m) = θ・Gr(h, P4−m)} (θ=1.2)
if {条件D = TRUE} then {Gr(h, P4−m) = θ・Gr(h, P4−m)} (θ=1.5)
・条件C:端末(h)のC&Cサーバー候補リストに登録されているC&Cサーバーの何れかでデータ通信(C&Cサーバーから何らかのデータを受信)を観測してから、N(b)秒以内に、端末(h)で実行ファイルのダウンロードフェーズの通信パターンP4−mを観測した。
・条件D: 条件C且つP4−mの接続先(宛先IP/FQDN)がマルウェア配布サーバー候補リストに登録されているサーバーの何れかと一致した。
なお、C&Cサーバーからデータ(指令)を受信した時刻は、「(2.1)探索フェーズP2への遷移時の分析内容」を参照。また、実行ファイルのダウンロードフェーズの通信パターンP4−mの観測時刻は、HTTP GETリクエスト、FTPダウンロード、TFTPダウンロードの開始時刻ではなく、ファイルのダウンロードが完了した時刻(HTTP GETの場合は、レスポンスの最終パケット)とする。パケットロストが発生するため、HTTP GETレスポンスの個々のパケット、FTP/TFTPのダウンロードパケットを検出するたびに時刻を更新してもよい。
(2.2.3)侵入フェーズP1から実行ファイルのダウンロードフェーズP4へ遷移
「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)が実行ファイルのダウンロードフェーズP4に遷移した際に、以下に説明する相関分析を行い、相関性があると判定された場合、活動通信パターンのグレードが補正され、マルウェアに感染している(ドライブバイダウンロード攻撃を受けている)と判定される(図5から図8を参照)。相関性の有無は、侵入フェーズP1にマッピングされた通信P1−nと実行ファイルのダウンロードフェーズP4にマッピングされた通信P4−mの連続性および関連性に基づいて判定される。ここで、連続性は、コネクションの同一性、検出時刻の近さ、2つの通信パターンP1−nとP4−mの間に検出した他のパケットの有無等に基づいて判定され、関連性は、宛先サーバーのアドレス、宛先サーバーの情報の共通性等に基づいて判定される。
「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)が実行ファイルのダウンロードフェーズP4に遷移した際に、以下に説明する相関分析を行い、相関性があると判定された場合、活動通信パターンのグレードが補正され、マルウェアに感染している(ドライブバイダウンロード攻撃を受けている)と判定される(図5から図8を参照)。相関性の有無は、侵入フェーズP1にマッピングされた通信P1−nと実行ファイルのダウンロードフェーズP4にマッピングされた通信P4−mの連続性および関連性に基づいて判定される。ここで、連続性は、コネクションの同一性、検出時刻の近さ、2つの通信パターンP1−nとP4−mの間に検出した他のパケットの有無等に基づいて判定され、関連性は、宛先サーバーのアドレス、宛先サーバーの情報の共通性等に基づいて判定される。
図12は、本実施形態における、侵入フェーズP1に係る通信と実行ファイルのダウンロードフェーズP4に係る通信との相関性を判定するための相関分析処理の流れを示すフローチャートである。本フローチャートに示された処理は、図6および図7を用いて説明したマルウェアふるまい検知エンジンのステップS111からステップS116の処理に相当し、侵入フェーズP1にマッピングされた「悪性コンテンツのダウンロード」通信および実行ファイルのダウンロードフェーズP4にマッピングされた通信が検出された場合に、当該端末においてドライブバイダウンロード攻撃が行われたことを検出するために実行される。
ステップS701からステップS703では、相関条件1から3を満たすか否かが判定される。相関条件1から3の何れも満たされない場合、本フローチャートに示された処理は終了する。一方、相関条件1から3の何れかが満たされた場合、処理はステップS704へ進む。相関条件1から3は、以下の通りである。
相関条件1:端末(h)で通信パターンP1−m(m=1〜5)を検出後、検出したP1−mと同一のTCPコネクション上で、通信パターンP4−n(n=1〜4)を検出した。
if (条件 = TRUE) then PGr(h, P1) = 0.3
if (条件 = TRUE) then Gr(h, P4−1〜P4−4) = θ・Gr(h, P4−1〜P4−4) (θ=2.0)
if (条件 = TRUE) then PGr(h, P1) = 0.3
if (条件 = TRUE) then Gr(h, P4−1〜P4−4) = θ・Gr(h, P4−1〜P4−4) (θ=2.0)
相関条件2:端末(h)でP1−m(m=1〜5)を検出した直後に、検出したP1−mと同一のFQDN/IPアドレスをもつ通信パターンP4−n(n=1〜4)を検出した。但し、P1−mとP4−nのTCPコネクションは異なる。
if (条件 = TRUE) then PGr(h, P1) = 0.3
if (条件 = TRUE) then Gr(h, P4−1〜P4−4) = θ・Gr(h, P4−1〜P4−4) (θ=2.0)
if (条件 = TRUE) then PGr(h, P1) = 0.3
if (条件 = TRUE) then Gr(h, P4−1〜P4−4) = θ・Gr(h, P4−1〜P4−4) (θ=2.0)
相関条件3:端末(h)でP1−m(m=1〜5)を検出した直後に、検出したP1−mと同一のFQDN/IPアドレスをもつ、IEまたはJava(登録商標)のUser−Agentヘッダー値が設定された正常なGETリクエストを検出し、このGETリクエストは、唯一個のGETリクエストであり、且つ上記の正常なGETリクエスト(&レスポンス)の直後に、検出したP1−m(m=1〜5)と同一のFQDN/IPアドレスをもつ通信パターンP4−n(n=1〜4)を検出した。但し、P1−mとP4−nのTCPコネクションは異なる。
if (条件 = TRUE) then PGr(h, P1) = 0.3
if (条件 = TRUE) then Gr(h, P4−1〜P4−4) = θ・Gr(h, P4−1〜P4−4) (θ=2.0)
if (条件 = TRUE) then PGr(h, P1) = 0.3
if (条件 = TRUE) then Gr(h, P4−1〜P4−4) = θ・Gr(h, P4−1〜P4−4) (θ=2.0)
ステップS704では、フェーズP1およびフェーズP4−mのグレードが補正される。補正部253は、例えば、フェーズP1のグレードを0.3に設定し、フェーズP4−mのグレードを2.0倍する、等の補正を行う。その後、本フローチャートに示された処理は終了し、最終的には閾値との比較によってマルウェア感染(ドライブバイダウンロード攻撃)の有無が判定される(図8に示す処理を参照)。
(2.3)C&C検索フェーズP5への遷移時の分析内容
図13は、本実施形態における第二の相関分析で監視対象とする、C&C検索フェーズP5への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)がC&C検索フェーズP5に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
図13は、本実施形態における第二の相関分析で監視対象とする、C&C検索フェーズP5への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)がC&C検索フェーズP5に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
(2.3.1) 探索フェーズP2からC&C検索フェーズP5へ遷移
if {条件A = TRUE} then {Gr(h, P5−m) = θ・Gr(h, P5−m)} (θ=1.2)
・条件A: (感染させられた側の)端末(h)で感染活動を観測(通信パターンP2−9またはP2−10の接続先端末側)してから、N(c)秒以内に、端末(h)でC&C検索フェーズの通信パターンP5−mを観測した。
if {条件A = TRUE} then {Gr(h, P5−m) = θ・Gr(h, P5−m)} (θ=1.2)
・条件A: (感染させられた側の)端末(h)で感染活動を観測(通信パターンP2−9またはP2−10の接続先端末側)してから、N(c)秒以内に、端末(h)でC&C検索フェーズの通信パターンP5−mを観測した。
(2.3.2)C&C通信フェーズP6からC&C検索フェーズP5へ遷移
if {条件B = TRUE} then {Gr(h, P5−m) = θ・Gr(h, P5−m)} (θ=1.3)
・条件B:端末(h)がC&C通信フェーズP6から、一定の周期(時間)でC&C検索フェーズP5に遷移(C&C検索フェーズP5の通信パターンP5−mを検出)を繰り返した。
なお、本実施形態では、過去3回の遷移がほぼ同じ周期(時間)である場合に、一定の周期でC&C検索フェーズP5への遷移を繰り返したと判断される。
if {条件B = TRUE} then {Gr(h, P5−m) = θ・Gr(h, P5−m)} (θ=1.3)
・条件B:端末(h)がC&C通信フェーズP6から、一定の周期(時間)でC&C検索フェーズP5に遷移(C&C検索フェーズP5の通信パターンP5−mを検出)を繰り返した。
なお、本実施形態では、過去3回の遷移がほぼ同じ周期(時間)である場合に、一定の周期でC&C検索フェーズP5への遷移を繰り返したと判断される。
(2.4)C&C通信フェーズP6への遷移時の分析内容
図14は、本実施形態における第二の相関分析で監視対象とする、C&C通信フェーズP6への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)がC&C通信フェーズP6に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
図14は、本実施形態における第二の相関分析で監視対象とする、C&C通信フェーズP6への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)がC&C通信フェーズP6に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
(2.4.1) 探索フェーズP2からC&C通信フェーズP6へ遷移
if {条件A = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.1)
if {条件B = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.2)
if {条件C = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.5)
・条件A:端末(h)で感染活動を観測(通信パターンP2−9またはP2−10の感染先端末側)を観測してから、N(d)秒以内に、端末(h)でC&C通信フェーズP6の通信パターンP6−mを観測した。
・条件B: 条件A且つP6−mの接続先(宛先IP/FQDN)が(任意の監視対象端末の)C&Cサーバー候補リストに登録されているC&Cサーバーの何れかと一致した。
・条件C: 条件A且つP6−mの接続先(宛先IP/FQDN)が感染元端末(k)のC&Cサーバー候補リストに登録されているC&Cサーバーの何れかと一致した。
if {条件A = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.1)
if {条件B = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.2)
if {条件C = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.5)
・条件A:端末(h)で感染活動を観測(通信パターンP2−9またはP2−10の感染先端末側)を観測してから、N(d)秒以内に、端末(h)でC&C通信フェーズP6の通信パターンP6−mを観測した。
・条件B: 条件A且つP6−mの接続先(宛先IP/FQDN)が(任意の監視対象端末の)C&Cサーバー候補リストに登録されているC&Cサーバーの何れかと一致した。
・条件C: 条件A且つP6−mの接続先(宛先IP/FQDN)が感染元端末(k)のC&Cサーバー候補リストに登録されているC&Cサーバーの何れかと一致した。
(2.4.2)実行ファイルのダウンロードフェーズP4からC&C通信フェーズP6へ遷移
if {条件D = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.1)
if {条件E = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.2)
if {条件F = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.3)
・条件D:端末(h)で実行ファイルのダウンロードの通信パターンP4−mを観測してから、N(e)秒以内に、端末(h)でC&C通信フェーズの通信パターンP6−mを観測した。
・条件E: 条件D且つP6−mの接続先(宛先IP/FQDN)が(任意の監視対象端末の)C&Cサーバー候補リストに登録されているC&Cサーバーの何れかと一致した。
・条件F: 条件D且つP6−mの接続先(宛先IP/FQDN)が端末(h)のC&Cサーバー候補リストに既に登録済みのC&Cサーバーの何れかと一致した。
if {条件D = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.1)
if {条件E = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.2)
if {条件F = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.3)
・条件D:端末(h)で実行ファイルのダウンロードの通信パターンP4−mを観測してから、N(e)秒以内に、端末(h)でC&C通信フェーズの通信パターンP6−mを観測した。
・条件E: 条件D且つP6−mの接続先(宛先IP/FQDN)が(任意の監視対象端末の)C&Cサーバー候補リストに登録されているC&Cサーバーの何れかと一致した。
・条件F: 条件D且つP6−mの接続先(宛先IP/FQDN)が端末(h)のC&Cサーバー候補リストに既に登録済みのC&Cサーバーの何れかと一致した。
(2.4.3) C&C検索フェーズP5からC&C通信フェーズP6へ遷移
if {条件G = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.2)
・条件G:端末(h)でC&C検索フェーズの通信パターンP5−mを観測してから、N(f)秒以内に、端末(h)でC&C通信フェーズの通信パターンP6−mを観測、且つP6−mの接続先(宛先IP/FQDN)が(任意の監視対象端末の)C&Cサーバー候補リストに登録されているC&Cサーバーの何れかと一致した。
if {条件G = TRUE} then {Gr(h, P6−m) = θ・Gr(h, P6−m)} (θ=1.2)
・条件G:端末(h)でC&C検索フェーズの通信パターンP5−mを観測してから、N(f)秒以内に、端末(h)でC&C通信フェーズの通信パターンP6−mを観測、且つP6−mの接続先(宛先IP/FQDN)が(任意の監視対象端末の)C&Cサーバー候補リストに登録されているC&Cサーバーの何れかと一致した。
(2.5)攻撃フェーズP8への遷移時の分析内容
図15は、本実施形態における第二の相関分析で監視対象とする、攻撃フェーズP8への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)がC&C通信フェーズP6に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
図15は、本実施形態における第二の相関分析で監視対象とする、攻撃フェーズP8への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)がC&C通信フェーズP6に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
(2.5.1)実行ファイルのダウンロードフェーズP4から攻撃フェーズP8へ遷移
if {条件A = TRUE} then {Gr(h, P8−m) = θ・Gr(h, P8−m)} (θ=1.2)
・条件A:端末(h)で実行ファイルのダウンロードの通信パターンP4−mを観測してから、N(g)秒以内に、端末(h)で攻撃フェーズの通信パターンP8−mを観測した。
if {条件A = TRUE} then {Gr(h, P8−m) = θ・Gr(h, P8−m)} (θ=1.2)
・条件A:端末(h)で実行ファイルのダウンロードの通信パターンP4−mを観測してから、N(g)秒以内に、端末(h)で攻撃フェーズの通信パターンP8−mを観測した。
(2.5.2) C&C通信フェーズP6から攻撃フェーズP8へ遷移
if {条件B = TRUE} then {Gr(h, P8−m) = θ・Gr(h, P8−m)} (θ=1.2)
if {条件C = TRUE} then {Gr(h, P8−m) = θ・Gr(h, P8−m)} (θ=1.5)
・条件B:端末(h)のC&Cサーバー候補リストに登録されているC&Cサーバーの何れかでデータ通信(C&Cサーバーから何らかのデータ(指令)を受信)を観測してから、N(h)秒以内に、端末(h)で攻撃フェーズの通信パターンP8−mを観測した。
・条件C: 条件Bを満足する2台以上の端末を検出した。(同時に発生する必要はない)
if {条件B = TRUE} then {Gr(h, P8−m) = θ・Gr(h, P8−m)} (θ=1.2)
if {条件C = TRUE} then {Gr(h, P8−m) = θ・Gr(h, P8−m)} (θ=1.5)
・条件B:端末(h)のC&Cサーバー候補リストに登録されているC&Cサーバーの何れかでデータ通信(C&Cサーバーから何らかのデータ(指令)を受信)を観測してから、N(h)秒以内に、端末(h)で攻撃フェーズの通信パターンP8−mを観測した。
・条件C: 条件Bを満足する2台以上の端末を検出した。(同時に発生する必要はない)
(3)役割推定のための相関分析
標的型攻撃に使用される攻撃手法では、組織内での攻撃活動の発覚を遅らせるために、組織内の感染端末から攻撃者が管理する外部端末への通信量をなるべく少なくする傾向がある。ここで、外部端末との通信量を少なくするために、外部端末との通信を行う組織内部の感染端末の数を絞り、感染端末に役割を持たせ、感染端末を管理するという手法がある。例えば、感染端末が持つ役割として下記4つがある。なお、1つの感染端末で複数の役割を持つことがある。
1.マルウェアの組織内への感染拡大を目的として探索・感染・諜報活動を行う役割
2.攻撃者が管理する外部端末から組織内へファイルをダウンロードし、自端末内に配置し、再配布を行う役割
3.攻撃者が管理する外部端末からのC&C通信を中継する役割
4.組織内での諜報活動の結果情報を集約し、攻撃者が管理する外部端末へ当該情報のアップロードを行う役割
標的型攻撃に使用される攻撃手法では、組織内での攻撃活動の発覚を遅らせるために、組織内の感染端末から攻撃者が管理する外部端末への通信量をなるべく少なくする傾向がある。ここで、外部端末との通信量を少なくするために、外部端末との通信を行う組織内部の感染端末の数を絞り、感染端末に役割を持たせ、感染端末を管理するという手法がある。例えば、感染端末が持つ役割として下記4つがある。なお、1つの感染端末で複数の役割を持つことがある。
1.マルウェアの組織内への感染拡大を目的として探索・感染・諜報活動を行う役割
2.攻撃者が管理する外部端末から組織内へファイルをダウンロードし、自端末内に配置し、再配布を行う役割
3.攻撃者が管理する外部端末からのC&C通信を中継する役割
4.組織内での諜報活動の結果情報を集約し、攻撃者が管理する外部端末へ当該情報のアップロードを行う役割
このような感染端末の挙動を調査するために、従来、端末上で稼働するエージェント型監視ソフトウェアによって、当該端末で稼働しているソフトウェアの種類、当該端末で行われている処理内容を分析することで、マルウェアの活動を検出する技術が提案されている。しかし、従来の手法では感染端末の検知後に通信ログや通信キャプチャ情報、マルウェア検体などを解析するため、感染端末の検知からマルウェアの活動・役割の特定までに長時間を要する場合がある。
上述の通り、攻撃者は攻撃の発覚を遅らせるために感染端末と外部端末の通信量を少なくしようとし、このために、組織内部に攻撃者が管理する外部端末との通信を他の感染端末に代わって行う代行感染端末を設ける場合がある。この場合、外部端末−代行感染端末間通信と代行感染端末−感染端末間通信では、同一フェーズの通信となる。
そこで、本実施形態では、異なる端末による同一フェーズの通信同士を相関分析することで、組織内部の感染端末と攻撃者が管理する外部端末との通信を代行する役割を持つ感染端末等を発見し、端末の役割を推定する。
以下に、異なる端末による通信間の相関分析の内容を説明する。なお、フェーズの遷移順序が一致しない場合や、フェーズの遷移は一致しているが途中に別のフェーズを挟んでいる場合は、分析対象外としてもよい。また、マルウェアふるまい検知エンジン25は、マルウェアの挙動として相関性が観測されるフェーズ遷移を、相関分析の対象とする。
図16は、本実施形態に係る、マルウェアふるまい検知エンジン25による第三の相関分析処理の流れを示すフローチャートである。本実施形態に係る第三の相関分析処理は、ネットワーク監視装置20によって、ネットワーク上を流れるパケット(または、複数パケットからなるデータ)が取得された後、上記説明した通信パターンの判定処理(図5のステップS006、および図6のステップS101からステップS103に相当)によって、所定の通信パターンが検出された場合に実行される。
ここで、本実施形態における所定の通信パターンは、以下に例示する4種類の通信パターンである。
1.感染・浸潤行為が行われた可能性がある通信パターンP3−m、
2.実行ファイルが送り込まれた可能性がある通信パターンP4−m、
3.C&C通信が行われている可能性がある通信パターンP6−m、および
4.搾取情報がアップロードされた可能性がある通信パターンP7−m。
なお、マルウェアによる通信は暗号化されている可能性があるが、本実施形態に係るマルウェアふるまい検知エンジンは、通信パターンに基づいて情報のアップロードのための通信を検知するため、暗号化された通信であっても、当該通信が何れのフェーズに属する通信であるか検知することが可能である。
1.感染・浸潤行為が行われた可能性がある通信パターンP3−m、
2.実行ファイルが送り込まれた可能性がある通信パターンP4−m、
3.C&C通信が行われている可能性がある通信パターンP6−m、および
4.搾取情報がアップロードされた可能性がある通信パターンP7−m。
なお、マルウェアによる通信は暗号化されている可能性があるが、本実施形態に係るマルウェアふるまい検知エンジンは、通信パターンに基づいて情報のアップロードのための通信を検知するため、暗号化された通信であっても、当該通信が何れのフェーズに属する通信であるか検知することが可能である。
ステップS201では、検知された通信パターンに対応する役割推定相関分析処理が実行される。マルウェアふるまい検知エンジンは、上記説明した通信パターンの判定処理(図5のステップS006、および図6のステップS101からステップS103に相当)において検出された通信パターンに応じて、対応する役割推定相関分析処理を実行する。具体的には、
1.感染・浸潤行為が行われた可能性がある通信パターンP3−mが検知された場合、感染・浸潤フェーズP3の役割推定相関分析処理が実行され、
2.実行ファイルが送り込まれた可能性がある通信パターンP4−mが検知された場合、実行ファイルのダウンロードフェーズP4の役割推定相関分析処理が実行され、
3.C&C通信が行われている可能性がある通信パターンP6−mが検知された場合、C&C通信フェーズP6の役割推定相関分析処理が実行され、
4.搾取情報がアップロードされた可能性がある通信パターンP7−mが検知された場合、搾取情報のアップロードフェーズP7の役割推定相関分析処理が実行される。
夫々の端末間相関分析処理の詳細については後述する。その後、処理はステップS202へ進む。
1.感染・浸潤行為が行われた可能性がある通信パターンP3−mが検知された場合、感染・浸潤フェーズP3の役割推定相関分析処理が実行され、
2.実行ファイルが送り込まれた可能性がある通信パターンP4−mが検知された場合、実行ファイルのダウンロードフェーズP4の役割推定相関分析処理が実行され、
3.C&C通信が行われている可能性がある通信パターンP6−mが検知された場合、C&C通信フェーズP6の役割推定相関分析処理が実行され、
4.搾取情報がアップロードされた可能性がある通信パターンP7−mが検知された場合、搾取情報のアップロードフェーズP7の役割推定相関分析処理が実行される。
夫々の端末間相関分析処理の詳細については後述する。その後、処理はステップS202へ進む。
ステップS202では、役割推定相関分析の結果に応じて、該当端末の遮断や管理者アラート発行等の対処が行われる。上記した各役割推定相関分析において、何れかのノード90が、マルウェア活動における何らかの役割を有していると推定された場合、ネットワーク監視装置20は、マルウェア感染が検知された際の所定の対応を行う。マルウェア感染が検知された際の対応としては、例えば、通信遮断部22による当該ノード90の通信遮断開始や、当該ノード90がマルウェアに感染していることのアラート(警告)の通知等が挙げられる。このような情報を管理者から把握可能とすることで、組織内ネットワーク上にどのような役割を持つ端末があるかを管理者に把握させ、マルウェアの感染拡大や攻撃活動が起きている状況を管理者に把握させ、適切な対処を促すことが出来る。上記した各役割推定相関分析において、何れのノード90も、マルウェア活動における役割を有していると推定されなかった場合は、遮断やアラートの発行等の、マルウェア感染が検知された際の対処は行われない。なお、ネットワーク監視装置20による通信遮断やアラート発行の具体的な方法については、ステップS123の説明等において例示した通りである。その後、本フローチャートに示された処理は終了する。
次に、夫々の役割推定相関分析処理の具体的な内容について説明する。
(3.1)感染・浸潤フェーズP3の役割推定相関分析処理
図17は、本実施形態に係る、感染・浸潤フェーズP3の役割推定相関分析処理の流れを示すフローチャートである。本フローチャートは、感染・浸潤行為が行われた可能性がある通信パターンが検知されたために、図16を用いて説明した第三の相関分析処理のステップS201において、感染・浸潤フェーズP3の役割推定相関分析処理が呼び出された場合の処理をより詳細に説明するものである。また、図18は、本実施形態において、感染・浸潤フェーズP3の役割推定相関分析処理によって役割推定される端末が活動する様子を示す図である。
図17は、本実施形態に係る、感染・浸潤フェーズP3の役割推定相関分析処理の流れを示すフローチャートである。本フローチャートは、感染・浸潤行為が行われた可能性がある通信パターンが検知されたために、図16を用いて説明した第三の相関分析処理のステップS201において、感染・浸潤フェーズP3の役割推定相関分析処理が呼び出された場合の処理をより詳細に説明するものである。また、図18は、本実施形態において、感染・浸潤フェーズP3の役割推定相関分析処理によって役割推定される端末が活動する様子を示す図である。
ステップS301では、感染元端末情報および感染先端末情報が記録される。マルウェアふるまい検知エンジン25は、感染・浸潤行為が行われた可能性がある通信パターンが検知された場合に、当該通信に係る端末の端末情報、即ち、感染元端末情報および感染先端末情報を記憶装置14aに記録する。例えば、ノード90bからノード90cに対する感染・浸潤行為が行われた可能性がある通信パターンが検知された場合、マルウェアふるまい検知エンジン25は、ノード90b(感染元)およびノード90c(感染先)の端末情報を記録する。ここで記録される端末情報は、例えば、端末のIPアドレス等である。その後、処理はステップS302へ進む。
ステップS302では、感染元端末が、過去に組織内端末から感染・浸潤を受けているか否かが判定される。相関分析部258は、今回検出された感染・浸潤フェーズP3の通信に係る感染元端末(上記した例では、ノード90b)が、過去に、他の何れかのノード90(例えば、ノード90a)と、同様の感染・浸潤行為が行われた可能性がある感染・浸潤フェーズP3の通信を行なっており、その際に感染先端末であったか否かを判定する。この判定は、本フローチャートに係る処理が過去に実行された際に、ステップS301において記録された情報を検索することで行われる。
即ち、相関分析部258は、通信が検出された感染元端末(ノード90b)について現在決定されたフェーズP3と、他の何れかのノード90について過去において決定されたフェーズと、が共通している場合に、感染元端末(ノード90b)による通信と他の端末(例えば、ノード90a)による通信との相関分析を行うことで、これらの端末が協働して活動を行っているか否かを判定する。感染元端末が、過去に組織内端末から感染・浸潤を受けてないと判定された場合、本フローチャートに示された処理は終了する。一方、感染元端末が、過去に組織内端末から感染・浸潤を受けていると判定された場合、処理はステップS303へ進む。
ステップS303では、今回感染・浸潤を行った端末および過去に感染・浸潤を行った端末が「感染・浸潤の役割」を持った端末であると推定され、推定結果が記録される。役割推定部259は、ステップS302において、感染元端末が、過去に組織内端末から感染・浸潤を受けていると判定された場合、今回の感染元端末(上記した例では、ノード90b)および過去の感染元端末(上記した例では、ノード90a)が、マルウェアの「感染・浸潤の役割」を持った端末として動作していると推定し、これらの端末の端末情報を記録する。その後、本フローチャートに示された処理は終了する。
(3.2)実行ファイルのダウンロードフェーズP4の役割推定相関分析処理
図19は、本実施形態に係る、実行ファイルのダウンロードフェーズP4の役割推定相関分析処理の流れを示すフローチャートである。本フローチャートは、実行ファイルが送り込まれた可能性がある通信パターンが検知されたために、図16を用いて説明した第三の相関分析処理のステップS201において、実行ファイルのダウンロードフェーズP4の役割推定相関分析処理が呼び出された場合の処理をより詳細に説明するものである。また、図20は、本実施形態において、実行ファイルのダウンロードフェーズP4の役割推定相関分析処理によって役割推定される端末が活動する様子を示す図である。
図19は、本実施形態に係る、実行ファイルのダウンロードフェーズP4の役割推定相関分析処理の流れを示すフローチャートである。本フローチャートは、実行ファイルが送り込まれた可能性がある通信パターンが検知されたために、図16を用いて説明した第三の相関分析処理のステップS201において、実行ファイルのダウンロードフェーズP4の役割推定相関分析処理が呼び出された場合の処理をより詳細に説明するものである。また、図20は、本実施形態において、実行ファイルのダウンロードフェーズP4の役割推定相関分析処理によって役割推定される端末が活動する様子を示す図である。
ステップS401では、リクエスト送信元端末およびリクエスト受信端末の検知情報が記録される。マルウェアふるまい検知エンジン25は、実行ファイルのダウンロードが行われた可能性がある通信パターンが検知された場合に、当該通信の検知情報を記憶装置14aに記録する。ここで記録される検知情報には、実行ファイルをダウンロードするためのリクエストを送信したと推測される端末の端末情報(例えば、ノード90cのIPアドレス等)、およびリクエストを受信したと推測される端末の端末情報(例えば、ノード90bのIPアドレス等)が含まれる。その後、処理はステップS402へ進む。
ステップS402およびS403では、リクエストを受信した端末が、組織内部の端末であり、且つ、過去に組織外部の端末から実行ファイルをダウンロードしているか否かが判定される。相関分析部258は、今回検出された実行ファイルのダウンロードフェーズP4通信においてリクエストを受信した端末(上記した例では、ノード90b)が、組織内部の端末であるか否かを判定する(ステップS402)。なお、判定の具体的な手法は限定されないが、例えば、パケットに設定されたIPアドレス等を参照することで、リクエストを受信した端末が組織内部の端末であるか否かを判定することが出来る。リクエストを受信した端末が組織内部の端末でない場合、本フローチャートに示された処理は終了する。
一方、リクエストを受信した端末が、組織内部の端末である場合、当該端末が、過去に、組織外部の端末から実行ファイルをダウンロードした可能性がある実行ファイルのダウンロードフェーズP4の通信を行なっていたか否かが判定される(ステップS403)。なお、上記した例ではリクエスト受信端末はノード90bであり、組織内部の端末である。この判定は、本フローチャートに係る処理が過去に実行された際に、ステップS401において記録された情報を検索することで行われる。
即ち、相関分析部258は、通信が検出されたリクエスト受信端末(ノード90b)について現在決定されたフェーズP4と、組織外部の端末について過去において決定されたフェーズと、が共通している場合に、リクエスト受信端末(ノード90b)による通信と組織外部の端末による通信との相関分析を行うことで、これらの端末が協働して活動を行っているか否かを判定する。過去に組織外部の端末から実行ファイルをダウンロードしていないと判定された場合、本フローチャートに示された処理は終了する。一方、過去に組織外部の端末から実行ファイルをダウンロードしていると判定された場合、処理はステップS404へ進む。例えば、今回のリクエスト受信端末であるノード90bが、過去に組織外部の何れかの端末から実行ファイルをダウンロードしていた場合、本ステップにおける判定結果は「YES」となり、処理はステップS404へ進む。
ステップS404では、リクエスト受信端末に対して実行ファイルのダウンロードのリクエストを行った組織内端末が他にも存在するか否かが判定される。換言すれば、ステップS404では、リクエスト受信端末に対して実行ファイルのダウンロードのリクエストを行った組織内端末が複数存在するか否かが判定される。相関分析部258は、今回検出された実行ファイルのダウンロードフェーズP4の通信においてリクエストを受信した端末(上記した例では、ノード90b)が、今回リクエストを送信した端末(ノード90c)とは異なる組織内端末(例えば、ノード90d)から、実行ファイルのダウンロードのリクエスト(実行ファイルのダウンロードフェーズP4の通信)を受信していたか否かを判定する。この判定は、本フローチャートに係る処理が過去に実行された際に、ステップS401において記録された情報を検索することで行われる。
即ち、相関分析部258は、通信が検出されたリクエスト受信端末(ノード90b)について現在決定されたフェーズP4と、組織内端末(ノード90d)について過去において決定されたフェーズと、が共通している場合に、これらの通信についての相関分析を行うことで、これらの端末が協働して活動を行っているか否かを判定する。リクエストを行った組織内端末が他には存在しないと判定された場合、本フローチャートに示された処理は終了する。一方、リクエストを行った組織内端末が他にも存在すると判定された場合、処理はステップS405へ進む。
ステップS405では、今回リクエストを受信した端末が「実行ファイルを再配布する役割」を持った端末であると推定され、推定結果が記録される。役割推定部259は、ステップS404において、リクエストを行った組織内端末が他にも存在すると判定された場合、リクエスト受信端末(例えば、ノード90b)が、組織外部との通信量を抑制することで発見を遅らせるために、組織内部において実行ファイルを配布する役割を持たされた端末であると推定し、これらの端末の端末情報を記録する。その後、本フローチャートに示された処理は終了する。
(3.3)C&C通信フェーズP6の役割推定相関分析処理
図21は、本実施形態に係る、C&C通信フェーズP6の役割推定相関分析処理の流れを示すフローチャートである。本フローチャートは、C&C通信が行われている可能性がある通信パターンが検知されたために、図16を用いて説明した第三の相関分析処理のステップS201において、C&C通信フェーズP6の役割推定相関分析処理が呼び出された場合の処理をより詳細に説明するものである。また、図22は、本実施形態において、C&C通信フェーズP6の役割推定相関分析処理によって役割推定される端末が活動する様子を示す図である。
図21は、本実施形態に係る、C&C通信フェーズP6の役割推定相関分析処理の流れを示すフローチャートである。本フローチャートは、C&C通信が行われている可能性がある通信パターンが検知されたために、図16を用いて説明した第三の相関分析処理のステップS201において、C&C通信フェーズP6の役割推定相関分析処理が呼び出された場合の処理をより詳細に説明するものである。また、図22は、本実施形態において、C&C通信フェーズP6の役割推定相関分析処理によって役割推定される端末が活動する様子を示す図である。
ステップS501では、コマンド送信元端末およびコマンド受信端末の検知情報が記録される。マルウェアふるまい検知エンジン25は、C&C通信が行われた可能性がある通信パターンが検知された場合に、当該通信の検知情報を記憶装置14aに記録する。ここで記録される検知情報には、C&C通信のコマンドを送信したと推測される端末の端末情報(例えば、ノード90bのIPアドレス等)、およびコマンドを受信したと推測される端末の端末情報(例えば、ノード90cのIPアドレス等)が含まれる。その後、処理はステップS502へ進む。
ステップS502およびS503では、コマンド送信元端末が、組織内部の端末であり、且つ、過去に組織外部の端末とC&C通信を推測される通信を行なっているか否かが判定される。相関分析部258は、今回検出されたC&C通信フェーズP6の通信パターンにおいてコマンドを送信した端末(上記した例では、ノード90b)が、組織内部の端末であるか否かを判定する(ステップS502)。なお、判定の具体的な手法は限定されないが、例えば、パケットに設定されたIPアドレス等を参照することで、コマンド送信元端末が組織内部の端末であるか否かを判定することが出来る。コマンドを送信した端末が組織内部の端末でない場合、本フローチャートに示された処理は終了する。
一方、コマンドを送信した端末が、組織内部の端末である場合、当該端末が、過去に、組織外部の端末とC&C通信の可能性があるC&C通信フェーズP6の通信を行なっていたか否かが判定される(ステップS503)。なお、上記した例ではコマンド送信端末はノード90bであり、組織内部の端末である。この判定は、本フローチャートに係る処理が過去に実行された際に、ステップS501において記録された情報を検索することで行われる。
即ち、相関分析部258は、通信が検出されたコマンド送信元端末(ノード90b)について現在決定されたフェーズP6と、組織外部の端末について過去において決定されたフェーズと、が共通している場合に、コマンド送信元端末(ノード90b)による通信と組織外部の端末による通信との相関分析を行うことで、これらの端末が協働して活動を行っているか否かを判定する。過去に組織外部の端末とC&C通信の可能性がある通信を行なっていないと判定された場合、本フローチャートに示された処理は終了する。一方、過去に組織外部の端末とC&C通信の可能性がある通信を行なっていたと判定された場合、処理はステップS504へ進む。例えば、今回のコマンド送信端末であるノード90bが、過去に組織外部の何れかの端末とC&C通信を行なっていた場合、本ステップにおける判定結果は「YES」となり、処理はステップS504へ進む。
ステップS504では、コマンド送信端末とC&C通信を行った組織内端末が他にも存在するか否かが判定される。換言すれば、ステップS504では、コマンド送信端末とC&C通信を行った組織内端末が複数存在するか否かが判定される。相関分析部258は、今回検出されたC&C通信フェーズP6の通信においてコマンドを送信した端末(上記した例では、ノード90b)が、今回C&C通信の相手方となった端末(ノード90c)とは異なる組織内端末(例えば、ノード90d)と、C&C通信の可能性がある通信(C&C通信フェーズP6の通信)を行なっていたか否かを判定する。この判定は、本フローチャートに係る処理が過去に実行された際に、ステップS501において記録された情報を検索することで行われる。
即ち、相関分析部258は、通信が検出されたコマンド送信端末(ノード90b)について現在決定されたフェーズP6と、組織内端末(ノード90d)について過去において決定されたフェーズと、が共通している場合に、これらの通信についての相関分析を行うことで、これらの端末が協働して活動を行っているか否かを判定する。C&C通信を行った組織内端末が他には存在しないと判定された場合、本フローチャートに示された処理は終了する。一方、C&C通信を行った組織内端末が他にも存在すると判定された場合、処理はステップS505へ進む。
ステップS505では、今回コマンドを送信した端末が「C&C通信を中継する役割」を持った端末であると推定され、推定結果が記録される。役割推定部259は、ステップS504において、C&C通信を行った組織内端末が他にも存在すると判定された場合、コマンド送信端末(例えば、ノード90b)が、組織外のC&CサーバーからのC&C通信を中継する役割を持たされた端末であると推定し、これらの端末の端末情報を記録する。その後、本フローチャートに示された処理は終了する。
(3.4)搾取情報のアップロードフェーズP7の役割推定相関分析処理
図23は、本実施形態に係る、搾取情報のアップロードフェーズP7の役割推定相関分析処理の流れを示すフローチャートである。本フローチャートは、搾取情報がアップロードされた可能性がある通信パターンが検知されたために、図16を用いて説明した第三の相関分析処理のステップS201において、搾取情報のアップロードフェーズP7の役割推定相関分析処理が呼び出された場合の処理をより詳細に説明するものである。また、図24は、本実施形態において、搾取情報のアップロードフェーズP7の役割推定相関分析処理によって役割推定される端末が活動する様子を示す図である。
図23は、本実施形態に係る、搾取情報のアップロードフェーズP7の役割推定相関分析処理の流れを示すフローチャートである。本フローチャートは、搾取情報がアップロードされた可能性がある通信パターンが検知されたために、図16を用いて説明した第三の相関分析処理のステップS201において、搾取情報のアップロードフェーズP7の役割推定相関分析処理が呼び出された場合の処理をより詳細に説明するものである。また、図24は、本実施形態において、搾取情報のアップロードフェーズP7の役割推定相関分析処理によって役割推定される端末が活動する様子を示す図である。
ステップS601では、情報のアップロード元端末およびアップロード先端末の検知情報が記録される。マルウェアふるまい検知エンジン25は、搾取情報のアップロードが行われた可能性がある通信パターンが検知された場合に、当該通信の検知情報を記憶装置14aに記録する。ここで記録される検知情報には、搾取情報をアップロードしたと推測される端末の端末情報(例えば、ノード90bのIPアドレス等)、および搾取情報のアップロードを受けたと推測される端末の端末情報(例えば、組織外部のサーバーのIPアドレス等)が含まれる。その後、処理はステップS602へ進む。
ステップS602では、アップロード先端末が、組織外部の端末であるか否かが判定される。相関分析部258は、今回検出された通信パターンにおいて情報のアップロードを受けた端末(上記した例では、組織外部のサーバー)が、組織外部の端末であるか否かを判定する。なお、判定の具体的な手法は限定されないが、例えば、パケットに設定されたIPアドレス等を参照することで、情報のアップロードを受けた端末が組織外部の端末であるか否かを判定することが出来る。情報のアップロードを受けた端末が組織外部の端末でない場合、本フローチャートに示された処理は終了する。一方、情報のアップロードを受けた端末が、組織外部の端末である場合、処理はステップS603へ進む。なお、上記した例では、アップロード先端末は組織外部のサーバー(端末)である。
ステップS603では、アップロード元端末に対して情報のアップロードを行った組織内端末が複数存在するか否かが判定される。相関分析部258は、今回検出された搾取情報のアップロードフェーズP7の通信において情報のアップロードを行った端末(上記した例では、ノード90b)が、過去に、複数の組織内端末(例えば、ノード90a、90c、90d)から、情報のアップロード(搾取情報のアップロードフェーズP7の通信)を受信していたか否かを判定する。この判定は、本フローチャートに係る処理が過去に実行された際に、ステップS601において記録された情報を検索することで行われる。
即ち、相関分析部258は、通信が検出されたアップロード元端末(ノード90b)について現在決定されたフェーズP7と、複数の組織内端末(例えば、ノード90a、90c、90d)について過去において決定されたフェーズと、が共通している場合に、これらの通信についての相関分析を行うことで、これらの端末が協働して活動を行っているか否かを判定する。情報のアップロードを行った組織内端末が複数存在しないと判定された場合、本フローチャートに示された処理は終了する。一方、情報のアップロードを行った組織内端末が複数存在すると判定された場合、処理はステップS604へ進む。
ステップS604では、今回アップロードを行った端末が「搾取情報を集約し、アップロードする役割」を持った端末であると推定され、推定結果が記録される。役割推定部259は、ステップS603において、アップロード元端末に対して情報のアップロードを行った組織内端末が複数存在すると判定された場合、アップロード元端末(例えば、ノード90b)が、組織外部との通信量を抑制することで発見を遅らせるために、組織内部から情報を集めて、組織外部のサーバーへ送信する役割を持たされた端末であると推定し、この端末の端末情報を記録する。その後、本フローチャートに示された処理は終了する。
上記説明した、役割推定のための相関分析によれば、組織内の通信を監視することで、マルウェアに感染した端末の組織内での「役割」を推定することが可能となり、更に、推定された「役割」に応じた通信制御を行うことが可能となる。例えば、情報をアップロードする役割を持つ可能性がある端末に対しては、マルウェア活動可能性が低い段階であっても通信遮断する等の対応を選択することができる。また、感染端末を複数検知した場合に、感染端末の「役割」の脅威度合いが大きい端末を優先して解析を行うなど、セキュリティインシデント対応時の判断材料とすることも可能である。
<通信の遮断>
通信遮断部22は、上述の通り、不正な活動を行っていると判定された端末による通信を遮断する。ここで、通信遮断部22は、更に、組織内の端末について、マルウェアふるまい検知エンジンによって、マルウェアに感染したことが検出されたか、または、端末の組織内での役割が推定された場合、当該端末の不正な活動に関わる通信先を、マルウェア検出に至った通信パターンの組み合わせから特定し、組織内端末から当該通信先への通信を遮断してもよい。ここで、端末の不正活動に関わる通信先とは、例えば、マルウェアのダウンロード元、マルウェアへ指令を送るC&Cサーバー、諜報活動結果を送付するアップロードサーバー等である。また、組織内端末からの当該通信先への通信を遮断する場合には、当該組織内端末がマルウェアに感染していると判定されているか否かに拘らず、通信を遮断することとしてもよい。具体的には、通信遮断部22は、マルウェア感染の判定または役割の推定がなされた場合、マルウェアが通信していた宛先(プロトコル、ポート番号、URI等)に対する、組織内端末(マルウェア感染していない端末も含む)からの通信をアクセス制御(遮断や、廃棄、または宛先変更)する。
通信遮断部22は、上述の通り、不正な活動を行っていると判定された端末による通信を遮断する。ここで、通信遮断部22は、更に、組織内の端末について、マルウェアふるまい検知エンジンによって、マルウェアに感染したことが検出されたか、または、端末の組織内での役割が推定された場合、当該端末の不正な活動に関わる通信先を、マルウェア検出に至った通信パターンの組み合わせから特定し、組織内端末から当該通信先への通信を遮断してもよい。ここで、端末の不正活動に関わる通信先とは、例えば、マルウェアのダウンロード元、マルウェアへ指令を送るC&Cサーバー、諜報活動結果を送付するアップロードサーバー等である。また、組織内端末からの当該通信先への通信を遮断する場合には、当該組織内端末がマルウェアに感染していると判定されているか否かに拘らず、通信を遮断することとしてもよい。具体的には、通信遮断部22は、マルウェア感染の判定または役割の推定がなされた場合、マルウェアが通信していた宛先(プロトコル、ポート番号、URI等)に対する、組織内端末(マルウェア感染していない端末も含む)からの通信をアクセス制御(遮断や、廃棄、または宛先変更)する。
遮断の対象となる通信先は、役割が推定された端末に対して当該役割を果たすためのマルウェアや悪性コンテンツ等を送信した端末、または役割が推定された端末が当該役割を果たすために通信する外部サーバー等である。例えば、
1.侵入フェーズP1系の通信パターンが検知された場合、組織内部端末からの接続先は、攻撃者が用意した感染のきっかけとなる細工の施されたサイトである可能性があり、
2.実行ファイルのダウンロードフェーズP4系の通信パターンが検知された場合、組織内部端末からの接続先は、マルウェアが格納されているデバイスである可能性があり、
3.C&Cサーバー検索フェーズP5またはC&Cサーバー通信フェーズP6系の通信パターンが検知された場合、組織内部端末からの接続先は、組織内端末において動作するマルウェアに対して指令を行うデバイスである可能性があり、
4.搾取情報のアップロードフェーズP7系の通信パターンが検知された場合、組織内部端末からの接続先は、マルウェアが搾取情報を格納しているデバイスである可能性がある。
このため、通信遮断部22は、これらの接続先に対する通信を遮断する。
1.侵入フェーズP1系の通信パターンが検知された場合、組織内部端末からの接続先は、攻撃者が用意した感染のきっかけとなる細工の施されたサイトである可能性があり、
2.実行ファイルのダウンロードフェーズP4系の通信パターンが検知された場合、組織内部端末からの接続先は、マルウェアが格納されているデバイスである可能性があり、
3.C&Cサーバー検索フェーズP5またはC&Cサーバー通信フェーズP6系の通信パターンが検知された場合、組織内部端末からの接続先は、組織内端末において動作するマルウェアに対して指令を行うデバイスである可能性があり、
4.搾取情報のアップロードフェーズP7系の通信パターンが検知された場合、組織内部端末からの接続先は、マルウェアが搾取情報を格納しているデバイスである可能性がある。
このため、通信遮断部22は、これらの接続先に対する通信を遮断する。
本実施形態に開示されたシステムによれば、このようにして、予め役割別に定められた遮断ポリシーに従い、マルウェア活動と判定された通信に関わった役割別に、対象デバイスへの通信を、マルウェア感染していないデバイスからの通信も含めて遮断することで、危険な通信を遮断して被害の拡大を未然に防止し、内部に侵入しているマルウェアの活動を早期に沈静化することが出来る。
また、ネットワーク監視装置20は、上記処理で特定された、不正活動に関わる通信先(例えば、マルウェアのダウンロード元、マルウェアへ指令を送るC&Cサーバー、諜報活動結果を送付するアップロードサーバー等)を、管理者に通知してもよい。
<バリエーション>
上記実施形態では、ネットワーク監視装置20が、スイッチまたはルータのモニタリングポート(ミラーポート)に接続されることでノード90によって送受信されるパケットやフレーム等を取得し、取得したパケットを転送しないパッシブモードで動作する例について説明した(図1を参照)。但し、上記実施形態に示したネットワーク構成は、本開示を実施するための一例であり、実施にあたってはその他のネットワーク構成が採用されてもよい。
上記実施形態では、ネットワーク監視装置20が、スイッチまたはルータのモニタリングポート(ミラーポート)に接続されることでノード90によって送受信されるパケットやフレーム等を取得し、取得したパケットを転送しないパッシブモードで動作する例について説明した(図1を参照)。但し、上記実施形態に示したネットワーク構成は、本開示を実施するための一例であり、実施にあたってはその他のネットワーク構成が採用されてもよい。
例えば、ネットワーク監視装置20は、モニタリングポート(ミラーポート)に接続されず、単にネットワークセグメント2に接続されている場合であっても、ネットワークセグメント2を流れるフレームを、自身のMACアドレス宛でないものも含めて全て取得することで、ノード90によって送受信されるパケットやフレーム等を取得することが出来る。この場合も、ネットワーク監視装置20は、パッシブモードで動作する。また、例えば、ネットワーク監視装置20は、ネットワークセグメント2のスイッチまたはルータと、その上位にある他のスイッチまたはルータと、の間に接続されることで、通過するパケットやフレーム等を取得してもよい(図25を参照)。この場合、ネットワーク監視装置20は、取得したパケットのうち、遮断しなくてもよいパケットについては転送するインラインモードで動作する。また、ネットワーク監視装置20は、ルータまたはスイッチに内包されてもよい。
なお、本実施形態では、ネットワークを流れるパケットを取得して、上記した各種の検知エンジンによりリアルタイムで検知を行う実施形態について説明したが、本開示の適用範囲は、リアルタイム検知に限定されない。例えば、ネットワークを流れる通信に係るデータを蓄積しておいて、蓄積されたデータに対して上記した各種の検知エンジンによる処理を行うこととしてもよい。
1 システム
20 ネットワーク監視装置
50 管理サーバー
90 ノード
20 ネットワーク監視装置
50 管理サーバー
90 ノード
Claims (10)
- 複数の端末による通信と予め保持されたパターンとを比較する比較手段と、
前記比較の結果に従って、前記端末の活動のフェーズを決定する決定手段と、
前記複数の端末に含まれる第一の端末について現在または過去において決定されたフェーズと、前記複数の端末に含まれる第二の端末について現在または過去において決定されたフェーズと、が共通する場合に、該第一の端末による通信と該第二の端末による通信との相関分析を行うことで、前記第一の端末と前記第二の端末とが協働して活動を行っているか否かを判定する相関分析手段と、
を備える情報処理装置。 - 前記相関分析手段は、前記第一の端末による通信と前記第二の端末による通信との連続性または関連性の有無または程度を判定することによって、該第一の端末と該第二の端末とが協働して活動を行っているか否かを判定する、
請求項1に記載の情報処理装置。 - 前記相関分析手段によって協働していると判定された前記第一の端末または前記第二の端末の、前記フェーズにおける活動の役割を推定する役割推定手段を更に備える、
請求項1または2に記載の情報処理装置。 - 前記端末の役割が推定された場合に、該端末に係る通信を遮断する通信遮断手段を更に備える、
請求項3に記載の情報処理装置。 - 前記通信遮断手段は、前記端末の役割が推定された場合に、該端末の役割に関連する所定の端末への通信を、該所定の端末への通信元がマルウェアに感染しているか否かに拘らず遮断する、
請求項4に記載の情報処理装置。 - 前記所定の端末は、前記役割が推定された端末に対して該役割を果たすためのソフトウェアを送信した端末、または前記役割が推定された端末が該役割を果たすために通信する端末である、
請求項5に記載の情報処理装置。 - 前記フェーズは、前記端末による所定の活動の遷移の状態を示し、
前記決定手段は、前記比較の結果、前記通信と一致または近似したパターンについて予め設定されているフェーズを、前記通信に係るフェーズとして決定する、
請求項1から6の何れか一項に記載の情報処理装置。 - 前記ネットワークに接続された端末による通信を取得する通信取得手段を更に備え、
前記比較手段は、取得された前記通信と予め保持されたパターンとを比較する、
請求項1から7の何れか一項に記載の情報処理装置。 - コンピューターが、
複数の端末による通信と予め保持されたパターンとを比較する比較ステップと、
前記比較の結果に従って、前記端末の活動のフェーズを決定する決定ステップと、
前記複数の端末に含まれる第一の端末について現在または過去において決定されたフェーズと、前記複数の端末に含まれる第二の端末について現在または過去において決定されたフェーズと、が共通する場合に、該第一の端末による通信と該第二の端末による通信との相関分析を行うことで、前記第一の端末と前記第二の端末とが協働して活動を行っているか否かを判定する相関分析ステップと、
を実行する方法。 - コンピューターを、
複数の端末による通信と予め保持されたパターンとを比較する比較手段と、
前記比較の結果に従って、前記端末の活動のフェーズを決定する決定手段と、
前記複数の端末に含まれる第一の端末について現在または過去において決定されたフェーズと、前記複数の端末に含まれる第二の端末について現在または過去において決定されたフェーズと、が共通する場合に、該第一の端末による通信と該第二の端末による通信との相関分析を行うことで、前記第一の端末と前記第二の端末とが協働して活動を行っているか否かを判定する相関分析手段と、
として機能させるためのプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014004055 | 2014-01-14 | ||
JP2014004055 | 2014-01-14 | ||
PCT/JP2014/084691 WO2015107862A1 (ja) | 2014-01-14 | 2014-12-26 | 情報処理装置、方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6014280B2 true JP6014280B2 (ja) | 2016-10-25 |
JPWO2015107862A1 JPWO2015107862A1 (ja) | 2017-03-23 |
Family
ID=53522354
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015557759A Expired - Fee Related JP6014280B2 (ja) | 2014-01-14 | 2014-12-26 | 情報処理装置、方法およびプログラム |
JP2015557758A Active JP6097849B2 (ja) | 2014-01-14 | 2014-12-26 | 情報処理装置、不正活動判定方法および不正活動判定用プログラム、並びに、情報処理装置、活動判定方法および活動判定用プログラム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015557758A Active JP6097849B2 (ja) | 2014-01-14 | 2014-12-26 | 情報処理装置、不正活動判定方法および不正活動判定用プログラム、並びに、情報処理装置、活動判定方法および活動判定用プログラム |
Country Status (4)
Country | Link |
---|---|
US (3) | US9288221B2 (ja) |
JP (2) | JP6014280B2 (ja) |
CN (3) | CN104778404B (ja) |
WO (2) | WO2015107861A1 (ja) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6421436B2 (ja) * | 2014-04-11 | 2018-11-14 | 富士ゼロックス株式会社 | 不正通信検知装置及びプログラム |
US9965627B2 (en) * | 2014-09-14 | 2018-05-08 | Sophos Limited | Labeling objects on an endpoint for encryption management |
US10122687B2 (en) | 2014-09-14 | 2018-11-06 | Sophos Limited | Firewall techniques for colored objects on endpoints |
US9537841B2 (en) | 2014-09-14 | 2017-01-03 | Sophos Limited | Key management for compromised enterprise endpoints |
US9641543B2 (en) * | 2015-04-22 | 2017-05-02 | Aktiebolaget AKF | Systems and methods for securing remote configuration |
US9781131B2 (en) * | 2015-04-22 | 2017-10-03 | Aktiebolaget Skf | Systems and methods for securing remote configuration |
US9699202B2 (en) * | 2015-05-20 | 2017-07-04 | Cisco Technology, Inc. | Intrusion detection to prevent impersonation attacks in computer networks |
US10826915B2 (en) * | 2015-06-02 | 2020-11-03 | Mitsubishi Electric Corporation | Relay apparatus, network monitoring system, and program |
US20170155667A1 (en) * | 2015-11-30 | 2017-06-01 | Symantec Corporation | Systems and methods for detecting malware infections via domain name service traffic analysis |
JP2017147575A (ja) | 2016-02-16 | 2017-08-24 | 富士通株式会社 | 制御プログラム、制御装置、および、制御方法 |
US10075456B1 (en) * | 2016-03-04 | 2018-09-11 | Symantec Corporation | Systems and methods for detecting exploit-kit landing pages |
US10826933B1 (en) * | 2016-03-31 | 2020-11-03 | Fireeye, Inc. | Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints |
US10893059B1 (en) | 2016-03-31 | 2021-01-12 | Fireeye, Inc. | Verification and enhancement using detection systems located at the network periphery and endpoint devices |
US10050982B1 (en) * | 2016-05-19 | 2018-08-14 | Symantec Corporation | Systems and methods for reverse-engineering malware protocols |
JP6105792B1 (ja) * | 2016-07-04 | 2017-03-29 | 株式会社ラック | 情報処理装置、情報処理方法及びプログラム |
JP6903901B2 (ja) * | 2016-11-28 | 2021-07-14 | 富士通株式会社 | 攻撃検知装置、攻撃検知プログラム及び攻撃検知方法 |
CN106682517B (zh) * | 2017-01-16 | 2019-04-23 | 西安电子科技大学 | 安卓应用运行时的Activity推断方法 |
JP6207784B1 (ja) * | 2017-03-27 | 2017-10-04 | 株式会社ラック | 中継装置、中継方法およびプログラム |
IL251683B (en) | 2017-04-09 | 2019-08-29 | Yoseph Koren | A system and method for dynamic management of private data |
JP6869100B2 (ja) | 2017-05-12 | 2021-05-12 | 株式会社Pfu | 情報処理装置、不正活動分類方法および不正活動分類用プログラム |
US10174302B1 (en) | 2017-06-21 | 2019-01-08 | Xl-Protein Gmbh | Modified L-asparaginase |
JP7033467B2 (ja) * | 2018-03-01 | 2022-03-10 | 株式会社日立製作所 | 不正通信検知装置および不正通信検知プログラム |
CN108429746B (zh) * | 2018-03-06 | 2020-01-03 | 华中科技大学 | 一种面向云租户的隐私数据保护方法及系统 |
CN108632087B (zh) * | 2018-04-26 | 2021-12-28 | 深圳市华迅光通信有限公司 | 一种基于路由器的上网管理方法及系统 |
JP7378089B2 (ja) * | 2018-06-13 | 2023-11-13 | パナソニックIpマネジメント株式会社 | 不正通信検知装置、不正通信検知方法及び製造システム |
JP7109391B2 (ja) | 2019-02-26 | 2022-07-29 | 株式会社日立製作所 | 不正通信検知装置および不正通信検知プログラム |
CN110995525A (zh) * | 2019-10-31 | 2020-04-10 | 北京直真科技股份有限公司 | 一种基于维护矩阵的路由器检测方法 |
CN113051556A (zh) * | 2020-09-07 | 2021-06-29 | 沈建锋 | 基于大数据和云计算的业务信息检测方法及系统 |
DE102020213893A1 (de) * | 2020-11-04 | 2022-05-05 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zur Erkennung eines unerlaubten physischen Zugriffs auf ein Bussystem |
US11792209B2 (en) * | 2020-12-31 | 2023-10-17 | Imperva, Inc. | Robust learning of web traffic |
CN114422495B (zh) * | 2022-01-25 | 2023-10-24 | 北京浩瀚深度信息技术股份有限公司 | 一种针对DNS over HTTP协议的安全监管方法 |
WO2023233580A1 (ja) * | 2022-06-01 | 2023-12-07 | 日本電信電話株式会社 | 検知対処制御システム、検知対処制御方法、ハードウェアアクセラレータ、コントローラ、および、プログラム |
US20240028494A1 (en) * | 2022-07-20 | 2024-01-25 | Zscaler, Inc. | Dynamic Applicative Session Grouping |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006350543A (ja) * | 2005-06-14 | 2006-12-28 | Mitsubishi Electric Corp | ログ分析装置 |
US20090172815A1 (en) * | 2007-04-04 | 2009-07-02 | Guofei Gu | Method and apparatus for detecting malware infection |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7185368B2 (en) | 2000-11-30 | 2007-02-27 | Lancope, Inc. | Flow-based detection of network intrusions |
AU2002322109A1 (en) * | 2001-06-13 | 2002-12-23 | Intruvert Networks, Inc. | Method and apparatus for distributed network security |
US7475426B2 (en) | 2001-11-30 | 2009-01-06 | Lancope, Inc. | Flow-based detection of network intrusions |
US8117659B2 (en) * | 2005-12-28 | 2012-02-14 | Microsoft Corporation | Malicious code infection cause-and-effect analysis |
EP1877904B1 (en) * | 2005-05-05 | 2015-12-30 | Cisco IronPort Systems LLC | Detecting unwanted electronic mail messages based on probabilistic analysis of referenced resources |
JP2006352543A (ja) * | 2005-06-16 | 2006-12-28 | Iwatsu Electric Co Ltd | Sip電話交換システム |
CN101414939B (zh) * | 2008-11-28 | 2011-12-28 | 武汉虹旭信息技术有限责任公司 | 一种基于动态深度包检测的互联网应用识别方法 |
CN103581155B (zh) * | 2012-08-08 | 2016-04-27 | 贵州电网公司信息通信分公司 | 信息安全态势分析方法与系统 |
US9311479B1 (en) * | 2013-03-14 | 2016-04-12 | Fireeye, Inc. | Correlation and consolidation of analytic data for holistic view of a malware attack |
-
2014
- 2014-04-17 US US14/254,928 patent/US9288221B2/en active Active
- 2014-07-18 CN CN201410342602.5A patent/CN104778404B/zh not_active Expired - Fee Related
- 2014-12-26 JP JP2015557759A patent/JP6014280B2/ja not_active Expired - Fee Related
- 2014-12-26 CN CN201480073238.5A patent/CN105934763A/zh active Pending
- 2014-12-26 WO PCT/JP2014/084690 patent/WO2015107861A1/ja active Application Filing
- 2014-12-26 JP JP2015557758A patent/JP6097849B2/ja active Active
- 2014-12-26 CN CN201480073245.5A patent/CN105917348B/zh not_active Expired - Fee Related
- 2014-12-26 WO PCT/JP2014/084691 patent/WO2015107862A1/ja active Application Filing
-
2016
- 2016-07-13 US US15/208,937 patent/US10277614B2/en not_active Expired - Fee Related
- 2016-07-13 US US15/208,905 patent/US20160323304A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006350543A (ja) * | 2005-06-14 | 2006-12-28 | Mitsubishi Electric Corp | ログ分析装置 |
US20090172815A1 (en) * | 2007-04-04 | 2009-07-02 | Guofei Gu | Method and apparatus for detecting malware infection |
Also Published As
Publication number | Publication date |
---|---|
CN104778404B (zh) | 2018-03-06 |
CN105917348A (zh) | 2016-08-31 |
US20150200956A1 (en) | 2015-07-16 |
JPWO2015107862A1 (ja) | 2017-03-23 |
CN105934763A (zh) | 2016-09-07 |
US20160323305A1 (en) | 2016-11-03 |
US9288221B2 (en) | 2016-03-15 |
JP6097849B2 (ja) | 2017-03-15 |
US10277614B2 (en) | 2019-04-30 |
US20160323304A1 (en) | 2016-11-03 |
CN104778404A (zh) | 2015-07-15 |
WO2015107861A1 (ja) | 2015-07-23 |
WO2015107862A1 (ja) | 2015-07-23 |
CN105917348B (zh) | 2019-04-05 |
JPWO2015107861A1 (ja) | 2017-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6014280B2 (ja) | 情報処理装置、方法およびプログラム | |
US10721243B2 (en) | Apparatus, system and method for identifying and mitigating malicious network threats | |
AU2017200969B2 (en) | Path scanning for the detection of anomalous subgraphs and use of dns requests and host agents for anomaly/change detection and network situational awareness | |
Blaise et al. | Detection of zero-day attacks: An unsupervised port-based approach | |
Hoque et al. | Network attacks: Taxonomy, tools and systems | |
US8707440B2 (en) | System and method for passively identifying encrypted and interactive network sessions | |
US10652259B2 (en) | Information processing apparatus, method and medium for classifying unauthorized activity | |
Haddadi et al. | DoS-DDoS: taxonomies of attacks, countermeasures, and well-known defense mechanisms in cloud environment | |
Hindy et al. | A taxonomy of malicious traffic for intrusion detection systems | |
Raftopoulos et al. | Understanding network forensics analysis in an operational environment | |
Patel et al. | A Snort-based secure edge router for smart home | |
Mantoo et al. | A machine learning model for detection of man in the middle attack over unsecured devices | |
Anbar et al. | Investigating study on network scanning techniques | |
KR20200044210A (ko) | 무선 IoT장비에 대한 이상행위 패킷탐지 장치 | |
Zhang et al. | A distributed network-sensor based intrusion detection framework in enterprise networks | |
Misbahuddin et al. | Dynamic IDP Signature processing by fast elimination using DFA | |
Khan et al. | Prevention of DOS/DDOS Attacks Through Expert Honey Mesh Security Infrastructure | |
Nechaev et al. | Internet botnets: A survey of detection techniques | |
CN118139052A (zh) | 增强网络安全防护方法及装置、存储介质、电子装置 | |
Zaw | Intrusion Alert Elimination on Network Attack Alerting System | |
Akande | Detection of Denial of Service Attack (DOS) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20160906 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160923 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6014280 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |