JP6714314B2 - 応答のない発信ネットワークトラフィックの解析を介する感染したネットワークデバイスの検出 - Google Patents

応答のない発信ネットワークトラフィックの解析を介する感染したネットワークデバイスの検出 Download PDF

Info

Publication number
JP6714314B2
JP6714314B2 JP2013186005A JP2013186005A JP6714314B2 JP 6714314 B2 JP6714314 B2 JP 6714314B2 JP 2013186005 A JP2013186005 A JP 2013186005A JP 2013186005 A JP2013186005 A JP 2013186005A JP 6714314 B2 JP6714314 B2 JP 6714314B2
Authority
JP
Japan
Prior art keywords
packet
packet information
network
firewall
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013186005A
Other languages
English (en)
Other versions
JP2014057307A (ja
Inventor
アーロン アール. デイヴィス,
アーロン アール. デイヴィス,
ティモシー エム. アルドリッチ,
ティモシー エム. アルドリッチ,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boeing Co
Original Assignee
Boeing Co
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 Boeing Co filed Critical Boeing Co
Publication of JP2014057307A publication Critical patent/JP2014057307A/ja
Application granted granted Critical
Publication of JP6714314B2 publication Critical patent/JP6714314B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures 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)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Cardiology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本開示は、ネットワークセキュリティに関し、より詳細には、応答のない発信ネットワークトラフィックの解析を介して感染したネットワークデバイスを検出するための1つまたは複数のシステム、方法、ルーチン、および/または技法に関する。
コンピュータの使用の普及とともに、一部の見識のない個人および/またはエンティティが、様々な技法を用いて、無防備なユーザまたはエンティティのコンピュータにマルウェアを拡散させてきた。マルウェアとは、コンピュータウイルス、スパイプログラム、求められていない広告、広告実行ファイル、望ましくないコンテンツなどを含む、悪意のある、有害な、さらに/または望ましくない実行ファイルおよび/またはデータを一般に指す。マルウェア対策プログラムが、マルウェアを検出し、さらに/または除去するように設計されている。検出は、通常、ウイルス定義ファイルなどの定期的に更新されるマルウェア定義ファイルを使用して、ユーザのコンピュータ上のファイルおよびフォルダをスキャンすることによって達せられる。マルウェア定義ファイルは、マルウェアを示唆するパターンを示すことが可能である。ユーザのコンピュータ上のファイルをマルウェア定義ファイルと比較することによって、一部のマルウェアが検出され得る。マルウェアが所与のファイル内で検出された場合、そのファイルに注意するようフラグが付けられることが可能であり、さらに/またはそのファイルが修復される、もしくは削除されることが可能である。
慣例のアプローチ、および従来のアプローチのさらなる限界および欠点が、そのようなシステムを、本出願の後段において、さらに図面を参照して説明される本発明のいくつかの態様と比較することを通して、当業者には明白となろう。
本開示は、応答のない発信ネットワークトラフィックの解析を介して感染したネットワークデバイスを検出するための1つまたは複数のシステム、方法、ルーチン、および/または技法を説明する。本開示のシステム、方法、ルーチン、および/または技法は、攻撃者によって使用される様々な技法を検出するように設計される、さらに/または適応させられることが可能である。本開示の1つまたは複数の実施形態は、応答パケットを全く受信しない、または実質的な応答を有するパケットを全く受信しない発信ネットワークパケット(すなわち、応答のないパケット)を解析して、デバイス上、および/またはネットワーク上のマルウェアを検出することを説明することが可能である。
本開示の1つまたは複数の実施形態は、ネットワークセキュリティおよび/またはデバイスセキュリティのための、コンピュータによって実施される方法を説明する。この方法は、1つまたは複数のコンピュータ(例えば、1つまたは複数のファイアウォール)上で実行されることが可能であり、さらにこれらのコンピュータのうちの1つまたは複数のコンピュータ上で実行されるいくつかのルーチンを含み得る。この方法は、入力として第1のパケット情報を受け取るルーチンを含み得る。この方法は、第1のパケット情報を解析して、第1のパケット情報が、ネットワーク通信の開始に関連する発信ネットワークパケットを識別するかどうかを判定するルーチンを含み得る。この方法は、第1のパケット情報が、ネットワーク通信の開始に関連する発信ネットワークパケットを識別し、さらに第1のパケット情報が、応答のないパケットである可能性があると判定された場合、第1のパケット情報が1つまたは複数のデータストアの中に格納されるようにする、さらに/または第1のパケット情報が追跡されるようにするルーチンを含み得る。この方法は、入力として第2のパケット情報を受け取るルーチンを含み得る。この方法は、第2のパケット情報を解析して、第2のパケット情報が、発信ネットワークパケットに応答する着信ネットワークパケットを識別するかどうかを判定するルーチンを含み得る。この方法は、第2のパケット情報が、発信ネットワークパケットに応答する着信ネットワークパケットを識別し、さらに第2のパケット情報に基づいて、第1のパケット情報が応答のないパケットではないと判定された場合、第1のパケット情報が1つまたは複数のデータストアの中で除去されるようにする、さらに/または第1のパケット情報の追跡を終わらせるルーチンを含み得る。
一部の実施形態において、第1のパケット情報および第2のパケット情報はそれぞれ、パケットヘッダ情報であり得る。一部の実施形態において、第1のパケット情報および第2のパケット情報はそれぞれ、或る期間にわたって1つまたは複数のパケットに共通のパケットヘッダ情報を含む正規化されたパケットヘッダ情報であり得る。一部の実施形態において、第1のパケット情報を解析して、第1のパケット情報が、ネットワーク通信の開始に関連する発信ネットワークパケットを識別するかどうかを判定するステップは、第1のパケット情報を解析して、第1のパケット情報が、SYNパケットである発信TCPネットワークパケットを識別するかどうかを判定することを含み得る。
一部の実施形態において、この方法は、第1のパケット情報をフィルタ構成データと比較して、第1のパケット情報が選別されて除かれるべきかどうかを判定することによって、第1のパケット情報を解析するルーチンを含み得る。一部の実施形態において、この方法は、第1のパケット情報を解析して、第1のパケット情報が、1つまたは複数のデータストアの中に格納されていた、さらに/または追跡されていた以前の発信ネットワークパケットの再送であるネットワークパケットを識別するかどうかを判定するルーチンを含み得る。一部の実施形態において、この方法は、第2のパケット情報を解析して、第2のパケット情報が、誤りを示すパケットであるネットワークパケットを識別するかどうかを判定するルーチンを含み得る。一部の実施形態において、この方法は、指定された期間にわたって1つまたは複数のデータストアの中に存在していたパケット情報を、1つまたは複数のデータストアの中で除去されるようにする、さらに/または追跡を終わらせるルーチンを含み得る。一部の実施形態において、この方法は、入力として、1つまたは複数のデータストアから、或る期間内に有効な応答パケットを全く受信しなかった発信ネットワークパケットと関係するパケット情報を受け取るルーチンを含み得る。また、この方法は、このパケット情報を解析し、さらにネットワーク内に、またはデバイス上にマルウェアが存在する可能性があることを示す1つまたは複数のイベントを生成するルーチンを含むことも可能である。
本開示の1つまたは複数の実施形態は、ネットワークセキュリティおよび/またはデバイスセキュリティのための、コンピュータによって実施される方法を説明する。この方法は、1つまたは複数のコンピュータ(例えば、1つまたは複数のファイアウォール)上で実行されることが可能であり、さらにこれらのコンピュータのうちの1つまたは複数のコンピュータ上で実行されるいくつかのルーチンを含み得る。この方法は、入力として、ネットワークトラフィックから複数のパケット情報を受け取るルーチンを含み得る。この方法は、これらのパケット情報を解析して、或る期間中に応答パケットを全く受信しない発信ネットワークパケットを識別するルーチンを含み得る。この方法は、応答パケットを全く受信していない発信ネットワークパケットと関係するパケット情報が、1つまたは複数のデータストアの中に格納されるようにする、さらに/または追跡されるようにするルーチンを含み得る。一部の実施形態において、これらのパケット情報を解析して、或る期間中に応答パケットを全く受信しない発信ネットワークパケットを識別するステップは、これらのパケット情報を解析して、デッドSYNパケットである発信ネットワークパケットを識別することを含み得る。
一部の実施形態において、この方法は、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するルーチンを含み得る。また、この方法は、ネットワークトラフィックに異常が存在するかどうかの判定に基づいて、1つまたは複数のイベントを生成することも可能であり、この1つまたは複数のイベントは、ネットワーク内に、またはデバイス上にマルウェアが存在する可能性があることを示す。一部の実施形態において、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、アドバンストパーシスタントスレット(API)を示す異常を検出することを含み得る。
一部の実施形態において、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、応答パケットを全く受信していない複数の発信ネットワークパケットを生成しているかどうかを判定することを含み得る。一部の実施形態において、この方法は、入力として、1つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取るルーチンを含み得る。これらのパケット情報のそれぞれは、ネットワークパケットに関連することが可能であり、さらに関連するパケットの送信元および宛先と、時間指示とを含み得る。一部の実施形態において、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、そのグループのパケット情報を解析して、そのグループの中の、同じ送信元および同じ宛先を有するパケット情報の数を判定すること、および同じ送信元および同じ宛先を有するパケット情報の数がしきい値を超えるかどうかを判定することを含み得る。一部の実施形態において、そのグループに含められるパケット情報の数は、或る数のパケット情報が或る所定の期間にわたって受け取られるように、期間構成を各パケット情報の時間指示と比較することによって決定され得る。
一部の実施形態において、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、複数の送信元デバイスが同じマルウェアに感染しているかどうかを判定することを含み得る。一部の実施形態において、この方法は、入力として、1つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取るルーチンを含み得る。これらのパケット情報のそれぞれは、ネットワークパケットに関連することが可能であり、さらに関連するパケットの送信元および宛先と、時間指示とを含み得る。一部の実施形態において、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、そのグループのパケット情報を解析して、各宛先に関して、固有の送信元ごとにそのグループの中のパケット情報の数を判定すること、および単一の宛先に関して、各固有の送信元を有するパケット情報の数がしきい値を超えるかどうかを判定することを含み得る。
一部の実施形態において、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、送信元デバイスが複数の宛先と通信しようと試みているかどうかを判定することを含み得る。一部の実施形態において、この方法は、入力として、1つまたは複数のデータストアから複数のパケット情報を含むグループのパケット情報を受け取るルーチンを含み得る。これらのパケット情報のそれぞれは、ネットワークパケットに関連することが可能であり、さらに関連するパケットの送信元および宛先と、時間指示とを含み得る。一部の実施形態において、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、そのグループのパケット情報を解析して、各送信元に関して、固有の宛先ごとにそのグループの中のパケット情報の数を判定すること、および単一の送信元に関して、各固有の宛先を有するパケット情報の数がしきい値を超えるかどうかを判定することを含み得る。
一部の実施形態において、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、繰り返し特定の宛先と通信しようと試みているかどうかを判定することを含み得る。一部の実施形態において、この方法は、入力として、1つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取るルーチンを含み得る。これらのパケット情報のそれぞれは、ネットワークパケットに関連することが可能であり、さらに関連するパケットの送信元および宛先と、時間指示とを含み得る。グループの中のパケット情報のそれぞれは、同じ送信元および同じ宛先を有することが可能である。一部の実施形態において、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、そのグループのパケット情報を解析して、各宛先に関して、そのグループの中のパケット情報の数を判定すること、および単一の宛先に関して、パケット情報の数がしきい値を超えるかどうかを判定することを含み得る。
一部の実施形態において、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、或る期間にわたって、それまでの期間にわたる平均とほぼ同じである平均回数、特定の宛先と通信しようと試みているかどうかを判定することを含み得る。一部の実施形態において、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、単一の宛先に関して、送信元ごとに、単一の宛先を有するそのグループの中のパケット情報の平均数を判定すること、この平均数を、それまでのグループのパケット情報のそれまでの平均数と比較すること、およびこの平均数とそれまでの平均数がほぼ同じであるかどうかを判定することをさらに含み得る。グループに含められるパケット情報の数は、或る数のパケット情報が或る所定の期間にわたって受け取られるように、期間構成を各パケット情報の時間指示と比較することによって決定され得る。
一部の実施形態において、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、応答パケットを全く受信していない発信ネットワークパケットの繰り返されるクラスタを生成しているかどうかを判定することを含み得る。一部の実施形態において、この方法は、入力として、1つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取るルーチンを含み得る。これらのパケット情報のそれぞれは、ネットワークパケットに関連することが可能であり、さらに関連するパケットの送信元および宛先と、時間指示とを含み得る。1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、そのグループのパケット情報を解析すること、および、各送信元に関して、互いに比較的近い時間指示を有するパケット情報に関してパケットクラスタを形成すること、およびこれらのパケットクラスタ間の時間が繰り返されているかどうかを判定することを含み得る。
一部の実施形態において、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、繰り返されるクラスタにおいて特定の宛先と通信しようと試みているかどうかを判定することを含み得る。一部の実施形態において、この方法は、入力として、1つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取るルーチンを含み得る。これらのパケット情報のそれぞれは、ネットワークパケットに関連することが可能であり、さらに関連するパケットの送信元および宛先と、時間指示とを含み得る。一部の実施形態において、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、そのグループのパケット情報を解析すること、および、各送信元/宛先ペアに関して、互いに比較的近い時間指示を有するパケット情報に関してパケットクラスタを形成すること、およびこれらのパケットクラスタ間の時間が繰り返されているかどうかを判定することを含み得る。
本開示の1つまたは複数の実施形態は、ネットワークセキュリティおよび/またはデバイスセキュリティのためのデータ処理システムを説明する。このシステムは、1つまたは複数のネットワークと通信状態にある1つまたは複数の通信ユニットと、コンピュータコードを格納する1つまたは複数のメモリユニットと、この1つまたは複数の通信ユニット、およびこの1つまたは複数のメモリユニットに結合された1つまたは複数のプロセッサユニットとを含み得る。この1つまたは複数のプロセッサユニットは、入力として、ネットワークトラフィックから複数のパケット情報を受け取り、これらのパケット情報を解析して、或る期間中に応答パケットを全く受信しない発信ネットワークパケットを識別し、さらに応答パケットを全く受信していない発信ネットワークパケットと関係するパケット情報を1つまたは複数のデータストアの中に格納させ、さらに/または追跡させることをするようにデータ処理システムを適応させる、1つまたは複数のメモリユニットの中に格納されたコンピュータコードを実行することが可能である。この1つまたは複数のプロセッサユニットは、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定し、さらにネットワークトラフィックに異常が存在するかどうかの判定に基づいて、1つまたは複数のイベントを生成し、この1つまたは複数のイベントは、ネットワーク内に、またはデバイス上にマルウェアが存在する可能性があることを示すことをするようにデータ処理システムを適応させる、1つまたは複数のメモリユニットの中に格納されたコンピュータコードを実行することが可能である。一部の実施形態において、データ処理システムは、ファイアウォールであり得る。
本開示のこれら、およびその他の利点、態様、および新奇な特徴、ならびにそのような利点、態様、および特徴の例示される実施形態の詳細は、後段の説明、および図面から、より完全に理解されよう。以上の一般的な説明は、例示および説明に過ぎず、主張される本開示を限定するものではないことを理解されたい。
いくつかの特徴および利点が、以下の図面を例として使用して、いくつかの実施形態が説明され、後段の開示において説明される。
本開示の1つまたは複数の実施形態が役立ち得るネットワークセットアップの例示的な構成要素、接続、および対話を示すブロック図である。 本開示の1つまたは複数の実施形態による、ネットワークセットアップおよび応答のないパケットアラートモジュールの例示的な構成要素、接続、および対話を示すブロック図である。 本開示の1つまたは複数の実施形態による、応答のないパケットエクストラクタにおいて見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図である。 本開示の1つまたは複数の実施形態による、リストクリーンアップモジュールにおいて見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図である。 本開示の1つまたは複数の実施形態による、量検出モジュールにおいて見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図である。 本開示の1つまたは複数の実施形態による、宛先検出モジュールにおいて見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図である。 本開示の1つまたは複数の実施形態による、クラスタ検出モジュールにおいて見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図である。 本開示の1つまたは複数の実施形態に関連して説明される、時間の経過とともに送信元によって試みられる例示的な接続を示すグラフである。 本開示の1つまたは複数の実施形態による、本開示の方法、ルーチン、およびソリューションのうちの1つまたは複数を部分的に、または全体として実行することが可能である例示的なデータ処理システムを示す図である。
様々な技法が、マルウェア攻撃を検出すること、および/または防止することを目的としているが、これらのソリューションは、攻撃者またはハッカによって使用される様々な技法に対処することに効果的でないことが判明している。攻撃者によって使用される1つの例示的な技法によれば、ときとしてアドバンストパーシスタントスレット(以降、「APT」(複数可))と呼ばれるマルウェアは、何らかの侵入機構によって目標のマシンに感染し、さらに攻撃者のためにアクションを行うことができるソフトウェアプログラムをインストールする。インストールされた後、APTは、通常、規則的に、繰り返し、コンピュータネットワークを介してホストに、または特定の複数のホストに対して「コールアウト」または「ビーコン」を開始することが可能である。これらのコールアウトまたはビーコンの目的は、ほとんどの着信トラフィックを阻止するが、ほとんどの発信トラフィックを許す傾向がある企業ファイアウォールまたはパーソナルファイアウォールを迂回することであり得る。ソフトウェアプログラムが、他のコンピューティングシステムを調査すること、感染したデバイスからデータを収集すること、および/または情報を密かに抜き出して攻撃者に渡すことなどの、攻撃者のためのアクションを遂行するよう被害者デバイスに攻撃者が命令する、または被害者デバイスを攻撃者が制御することを可能にし得る。このビーコン技法を効果的にするために、例えば、攻撃者によって制御されるサーバまたはIPアドレスが、マルウェアプログラムが、アウトバウンドのデータを送信することによって攻撃者と通信することができように、感染に先立ってマルウェアプログラムによって指定される、または保存されることが可能である。このサーバもしくはIPアドレス、または特定の複数のサーバもしくはIPアドレスは、将来、攻撃者によって更新され得る。マルウェアプログラムが意図されるとおりに機能するには、マルウェアプログラムは、一般に、制御が確立され得るように、さらに/またはマルウェアの更新が取得され得るように、攻撃者によって制御されるサーバまたはグループのサーバ(一般に、コマンド&コントロールサーバ、またはC&Cサーバと呼ばれる)に規則的な間隔で接触する必要がある。長い期間にわたって、攻撃者は、(複数の)C&Cサーバをオフラインのままにして、こられのサーバがセキュリティ会社によって暴露されること、またはシャットダウンされることを防ぐ。したがって、大多数のビーコンの試みは、(複数の)C&Cサーバがオンラインでないため、成功しない可能性があり、さらに要求には誤りが戻される、または全く何も戻されない。そのようなビーコンの試みは、一般に、応答のない(例えば、応答のない発信パケットおよび/または応答のないネットワークトラフィック)と言われることが可能である。
本開示は、応答のない発信ネットワークトラフィックの解析を介して感染したネットワークデバイスを検出するための1つまたは複数のシステム、方法、ルーチン、および/または技法を説明する。本開示のシステム、方法、ルーチン、および/または技法は、攻撃者によって使用される様々な技法を検出するように設計され、さらに/または適応させられることが可能であり、検出は、認識される脅威のシグネチャおよび/またはフィンガプリントも、悪意があることが広く知られているIPアドレスについての知識を要求することなしに行われ得る。本開示のシステム、方法、ルーチン、および/または技法は、攻撃者によって使用される様々な技法を検出するように設計され、さらに/または適応させられることが可能であり、検出は、マルウェア感染が存在するかどうかを判定するのに多くの人間対話も手動の検査も要求することなしに行われ得る。本開示のシステム、方法、ルーチン、および/または技法は、攻撃者によって使用される様々な手法を検出するように設計され、さらに/または適応させられることが可能であり、検出は、特定のカテゴリの感染に共通する挙動パターンを解析することによって行われ得る。本開示のシステム、方法、ルーチン、および/または技法は、攻撃者によって使用される様々な手法を検出するように設計され、さらに/または適応させられることが可能であり、検出は、マルウェア「ビーコン」段階(すなわち、マルウェアの感染から活性化までの間の時間)中に行われ得る。
本開示の1つまたは複数の実施形態は、応答パケットを全く受信しない、または実質的な応答を有するパケットを全く受信しない発信ネットワークパケット(すなわち、応答のないパケット)を解析して、デバイス上、および/またはネットワーク上のマルウェアを検出することを説明することが可能である。応答のないパケットという用語は、応答パケットを全く受信しない、または実質的な応答を全く有さないパケット、例えば、接続エラーを示すパケットだけを受信する発信ネットワークパケットを指すことが可能である。一例として、「デッドSYN」という用語が、対応する応答パケット(例えば、SYN−ACKパケット)を全く受信しないTCP同期(SYN)パケットを指すことが可能である。別の例として、リセットパケットまたはRSTパケットが、接続エラーを示すとともに、有効な応答パケットを示さない可能性があるTCPパケットを指すことが可能である。本開示の1つまたは複数の実施形態は、応答のないパケット追跡(例えば、デッドSYN追跡)を使用して、デバイス上、および/またはネットワーク上のマルウェア、例えば、アドバンストパーシスタントスレット(API)を検出することを説明することが可能である。本開示の1つまたは複数の実施形態は、応答のないパケット(例えば、デッドSYNパケット)の量、周期性、クラスタリング、および/または目標の宛先を解析することを説明することが可能である。本開示の1つまたは複数の実施形態は、マルウェアの存在を示す可能性がある1つまたは複数の条件に対してオペレータ、プログラム、サービス、または他のエンティティの注意を喚起することを説明することが可能である。本開示の1つまたは複数の実施形態は、フィルタおよび/または制御パラメータを使用して、偽陽性アラートの数を制限することを説明することが可能である。
本開示における説明は、様々な通信プロトコル、例えば、初期のアウトバウンドのパケットまたは初期のアウトバウンドのトラフィックを送信し、さらに何らかの実質的な応答が戻されることを予期する任意の通信プロトコルに当てはまり得ることを理解されたい。例示的な通信プロトコルは、TCP、UDP、他のルーティングプロトコル、または他の任意の通信プロトコルであり得る。本開示における様々な説明は、本開示を明確に説明するために、特定のプロトコルの例、例えば、TCPプロトコル(およびデッドSYN追跡)の例を説明する可能性があるものの、本明細書で与えられる説明は、他の様々な通信プロトコルおよび応答のないパケットに当てはまり得ることを理解されたい。
図1は、本開示の1つまたは複数の実施形態が役立ち得るネットワークセットアップ100の例示的な構成要素、接続、および対話を示すブロック図の例示を示す。ネットワークセットアップ100は、図1に示されるのと比べて、さらなる、またはより少ない構成要素、接続、および対話を含み得ることを理解されたい。図1は、構成要素、接続、および対話のはるかに大きいネットワークであり得るものの一部分に注目する。ネットワークセットアップ100は、ネットワーク102と、ファイアウォール104と、いくつかの内部デバイス(例えば、内部デバイス106、108、110、111)と、いくつかの外部デバイス(例えば、外部デバイス112、114、116)とを含み得る。ネットワーク102は、データ処理システム、および、場合により、他のデバイスなどの様々なデバイスの間で通信リンクをもたらすのに使用される媒体であり得る。ネットワーク102は、ワイヤレス通信リンクまたは有線通信リンクなどの接続を含み得る。一部の例において、ネットワーク102は、伝送制御プロトコル−インターネットプロトコル(TCP IT)スイートのプロトコルを使用して互いに通信するネットワークおよびゲートウェイの世界的な集まりを表す。一部の例において、ネットワーク102は、イントラネット、ローカルエリアネットワーク(LAN)、またはワイドエリアネットワーク(WAN)を含み得る。
図1に示される例において、参照符号120は、「内部」であるネットワークセットアップ100の一部分を表し、つまり、この部分は、ネットワーク102上の悪意のある活動を検出しようと試みるとともに、内部デバイス106、108、110、111にマルウェア、ウイルスなどが存在しないように保とうと試みるファイアウォールまたは他の何らかのデバイスもしくはプログラムの背後にある。一例として、ファイアウォール104は、企業ファイアウォールであることが可能であり、さらに内部部分120は、企業内部ネットワーク内に存在するデバイスのすべて、または一部分であることが可能である。内部デバイス106、108、110、111は、データ処理システム、サーバ、プリンタ、コンピュータ、ラップトップ、スマートフォン、PDA、またはネットワークと通信することが可能な他の任意の種類のデバイスであり得る。外部デバイス112、114、116は、内部デバイス106、108、110、111のような内部デバイスを攻撃するように設計され、さらに/またはプログラミングされたデータ処理システム、サーバ、コンピュータなどであり得る。
本開示の1つまたは複数の実施形態は、内部デバイス106、108、110、111とネットワーク102の間に置かれたデバイス上で実行され得る。例えば、本開示の1つまたは複数の実施形態が、ファイアウォール104上で実行されることが可能である。ファイアウォール104は、応答のない発信ネットワークトラフィックの解析を介して感染したネットワークデバイスを検出するためのシステム、方法、ルーチン、および/または技法のうちの1つまたは複数を実行することが可能なコンピュータコードを実行するようにプログラミングされ得る1つまたは複数のデータ処理システムであり得る。一部の実施形態において、本開示のシステム、方法、ルーチン、および/または技法のうちの1つまたは複数は、例えば、ファイアウォール104などの1つまたは複数のデバイス内に配置された、ハードウェアとして設計され得る。一部の実施形態において、本開示のシステム、方法、ルーチン、および/または技法のうちの1つまたは複数は、ハードウェアとソフトウェアの組合せとして設計され得る。一部の実施形態において、本開示のシステム、方法、ルーチン、および/または技法は、複数のファイアウォールデバイスを使用して実施され得る。例えば、1つまたは複数のファイアウォールデバイスが、より大型のユニットとして協働することが可能である。
図2は、本開示の1つまたは複数の実施形態が役立ち得るネットワークセットアップ200の例示的な構成要素、接続、および対話を示すブロック図の例示を示す。図2は、ネットワークトラフィック202、パケットヘッダキャプチャエンジン204、パケットヘッダリスト206、応答のないパケットアラートモジュール208、およびイベントリスト210の図を示す。ネットワークトラフィック202は、生のパケットのフロー、例えば、図1のネットワーク102のようなネットワーク上を流れている生のパケットを含み得る。パケットヘッダキャプチャエンジン204が、ネットワークトラフィック202からの生のパケットを監視し、さらに/または解析することが可能であり、さらにパケットのヘッダを抽出し、さらに/またはキャプチャすることが可能である。パケットヘッダは、送信元情報(例えば、送信元IPアドレス(Src)、送信元ポート番号(SrcPort))、および宛先情報(例えば、宛先IPアドレス(Dst)、宛先ポート番号(DstPort))などのルーティング情報を含むパケットについての情報を含み得る。本開示の一部の実施形態において、「宛先」とは、単一の宛先(例えば、単一のコンピュータ、単一のIPアドレスなど)にとどまらないものを指す可能性があることを理解されたい。例えば、宛先は、1つまたは複数のグループの特定の宛先、例えば、いくつかの範囲のネットワークアドレスまたはIPアドレスなどを全体的に指すことが可能である。このため、本明細書で説明される様々な実施形態は、或る宛先について述べる可能性があるものの、本明細書で説明される技法を1つまたは複数のグループの宛先に適用し得る様々な実施形態、または代替の実施形態が企図されることを理解されたい。
一部の実施形態において、パケットキャプチャエンジン204は、ヘッダを「正規化する」ことが可能であり、つまり、エンジン204は、或る期間にわたって、例えば、1分間にわたってエンジン204がネットワークトラフィック202の中で認識するすべての同一のヘッダをグループ化することが可能である。パケットヘッダキャプチャエンジン204は、その期間内の最初のパケットの時刻(開始時刻)、およびその期間内の最後のパケットの時刻(終了時刻)を格納することが可能である。パケットヘッダキャプチャエンジン204は、パケットヘッダを、例えばパケットヘッダリスト206の中に格納することが可能である。パケットヘッダリストは、いくつかの行の情報を含み得るデータベースまたは他の何らかのデータストアであり得る。ヘッダキャプチャエンジン204がヘッダを正規化する場合、エンジン204は、その期間にわたって同一のヘッダが観察された回数のカウントを含め、或る期間にわたる同じヘッダの各グループを、ヘッダリスト206の単一の行の中に格納することが可能である。また、ヘッダキャプチャエンジン204は、ヘッダの各グループの開始時刻および終了時刻を格納することも可能である。これに関して、パケットヘッダ情報は、情報を依然として保ちながら、ヘッダリストのより少ない行に圧縮され得る。
パケットヘッダリスト206は、入力として、応答のないパケットアラートモジュール208に供給され得る。図2に示される例は、ネットワークトラフィックが、解析のためにどのようにキャプチャされ、蓄積され、さらに/または格納されることが可能であるかの一例に過ぎないことを理解されたい。本開示の他の実施形態において、応答のないパケットアラートモジュール208は、入力として他の形態のパケット情報を受け入れることが可能である。例えば、応答のないパケットアラートモジュール208は、生のパケットキャプチャ全体、トラフィック情報および/もしくはパケットストリーム情報、ならびに/または他のフォーマットのパケット情報を解析するように適応させられ得る。別の例として、応答のないパケットアラートモジュール208は、正規化されたヘッダを解析する代わりに、各パケットヘッダを解析することが可能である。これらの例において、ヘッダリスト206が、開始時刻および終了時刻の代わりに、各ヘッダの正確な、またはおおよその着信時刻を格納することが可能である。本明細書で説明されるシステム、方法、ルーチン、および/または技法のより明確な説明を与えるために、本開示は、応答のないパケットアラートモジュール208のためのパケット情報の源として、例えば、ヘッダリスト206からの、正規化されたヘッダに注目する。しかし、本明細書で説明される様々なシステム、方法、ルーチン、および/または技法の説明は、パケット情報の他の源に適用されることも可能であることを理解されたい。
応答のないパケットアラートモジュール208は、いくつかの構成要素、ルーチン、アルゴリズム、コード、構成データなどを含み得る。応答のないパケットアラートモジュール208は、応答のないパケットエクストラクタ212と、フィルタ構成(config)ファイル214と、追跡される接続リスト216と、リストクリーンアップモジュール218と、量検出モジュール220と、宛先検出モジュール222と、クラスタ検出モジュール224とを含み得る。応答のないパケットエクストラクタ212は、ヘッダリスト206からヘッダエントリを読み取り、さらに解析するようにプログラミングされ、さらに/または適応させられることが可能である。ネットワークトラフィックは、様々な通信プロトコルのうちの1つまたは複数を利用することが可能であり、さらに応答のないパケットエクストラクタ212は、使用されているプロトコルに関連するパケットヘッダエントリを読み取り、さらに解析することが可能である。一部の実施形態において、ネットワークトラフィックは、TCPプロトコルを利用することが可能であり、その場合、応答のないパケットエクストラクタ212は、TCPパケットヘッダエントリを読み取り、さらに解析することが可能である。応答のないパケットエクストラクタ212は、応答のないパケット、例えば、デッドSYNパケットを検出し、抽出し、さらに/または応答のないパケットの格納を開始する、もしくは格納させることが可能である。応答のないパケットアラートモジュール208は、入力として、フィルタ構成データ214、例えば、1つまたは複数のフィルタ構成(config)ファイルを使用する、または受け入れることが可能である。応答のないパケットアラートモジュール208は、追跡される接続リスト216にデータおよび/またはコマンドを通信することが可能であり、さらに追跡される接続リストが、応答のないパケットエクストラクタ212からの通信の結果、追跡される接続リストのデータストアにデータを追加することおよび/または追跡される接続リストのデータストアからデータを除去することが可能である。
追跡される接続リスト216は、データベースまたは他のデータストア、例えば、容易に検索可能なデータストアであり得る。追跡される接続リストの中の各エントリまたは各行は、固有の「タプル」を含み得る。タプルとは、複数のデータを含むパケットについての情報を指すことが可能である。一例として、タプルは、開始時刻および終了時刻(ヘッダキャプチャエンジン204によって特定される)と、送信元情報(例えば、送信元IPアドレス(Src)、送信元ポート(SrcPort))および宛先情報(例えば、宛先IPアドレス(Dst)、宛先ポート(DstPort))、プロトコルがフラグ(例えば、TCPフラグ)を使用する場合に1つまたは複数のフラグ、および開始時刻に始まり、終了時刻に終わる期間にわたってヘッダキャプチャエンジン204によって認識された同一のヘッダの量などのパケットヘッダからの情報とを含み得る。本開示の一部の実施形態において、「宛先」とは、単一の宛先(例えば、単一のコンピュータ、単一のIPアドレスなど)にとどまらないものを指す可能性があることを理解されたい。例えば、宛先は、1つまたは複数のグループの特定の宛先、例えば、いくつかの範囲のネットワークアドレスまたはIPアドレスなどを全体的に指すことが可能である。このため、本明細書で説明される様々な実施形態は、或る宛先について述べる可能性があるものの、本明細書で説明される技法を1つまたは複数のグループの宛先に適用し得る様々な実施形態、または代替の実施形態が企図されることを理解されたい。追跡される接続リストは、リストクリーンアップモジュール218と通信状態にあり得る。リストクリーンアップモジュールは、追跡される接続リストと通信して、例えば、或る期間にわたってリストの中に存在してきたエントリを除去して、追跡される接続リストの中のエントリを維持することが可能である。
いくつかの独立した検出プロセスが、追跡される接続リスト216と通信状態にあることが可能であり、さらに追跡される接続リスト216の中に格納された情報を利用することが可能である。検出プロセスの例が、量検出器220、宛先検出器222、およびクラスタ検出器224である。これらの例示的な3つのプロセスが、本明細書で詳細に説明されるが、本開示は、同様に機能する他の検出プロセスも企図する。各検出プロセスは、追跡される接続リスト216から入力エントリを受け入れる。各エントリは、前段で説明されるタプルであり得る。各検出プロセスは、1つまたは複数のイベント、例えば、解析のために別のエンティティに通信され得るイベントを出力し得る。これらのイベントは、関心対象であり得る異常がネットワークトラフィックにおいて検出されたことを示し得る。例えば、オペレータがイベントのログを手動で検査することが可能であり、さらに、例えば、違反するソフトウェアを除去する、またはデバイスが悪意のあるアクションを行うことを防止する措置をとることが可能である。別の例として、イベントが、ソフトウェアパッケージ、イベント相関ツール、イベントログ記録機構、または他の外部エンティティによって解析されることが可能であり、さらにこれらのエンティティが、関心を引く状況を検出し、さらに/またはイベントに脅威レベルを割り当てることが可能である。
図3は、本開示の1つまたは複数の実施形態による、応答のないパケットエクストラクタ300において見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図の例示を示す。応答のないパケットエクストラクタ300は、図2の応答のないパケットエクストラクタ212と同様であり得る。応答のないパケットエクストラクタ300は、図2のパケットヘッダリスト206および追跡される接続リスト216とそれぞれ同様であり得るパケットヘッダリスト302および追跡される接続リスト304と通信することが可能である。
応答のないパケットエクストラクタ300は、ヘッダリスト302から正規化されたヘッダエントリを読み取り、さらに解析するようにプログラミングされ、さらに/または適応させられることが可能である。一部の実施形態において、応答のないパケットエクストラクタ300は、正規化されたパケットヘッダエントリ(例えば、TPCパケットヘッダエントリ)を読み取り、さらに解析することが可能である。応答のないパケットエクストラクタ300は、いくつかの構成要素、ルーチン、アルゴリズム、構成データなどを利用して、応答のないパケット、例えば、デッドSYNパケットを検出し、抽出し、さらに/または応答のないパケットの格納を開始する、もしくは格納させることが可能である。ステップ306で、正規化されたヘッダまたはレコードが、ヘッダリスト302の中の現在のエントリまたは行から読み取られる、または取得されることが可能である。このレコードは、パケットを識別する固有のセットの情報を含み得る。一部の例において、この情報は、以下、すなわち、送信元情報(例えば、Src、SrcPort)、宛先情報(例えば、Dst、DstPort)、プロトコルがフラグ(例えば、TCPフラグ)を有する場合に1つまたは複数のフラグ、開始時刻、終了時刻、およびその期間内(すなわち、開始時刻から終了時刻までの間)に表されているそのような同一のパケットヘッダの量を含む。例えば、ヘッダが、或る期間にわたって集約される代わりに、個々にキャプチャされる他の例において、正規化されたヘッダ情報は、開始時刻および終了時刻の代わりに単一の時刻を含み得る。パケットを一意に識別するこれらの情報は、「正規化された」フィールドと呼ばれ得る。ヘッダリスト302の中の各パケットに関して、さらに追跡される接続リスト304の中の各接続に関して正規化されたフィールドが保存され得る。例えば、追跡される接続リストにおいて使用される接続という用語は、正規化されたパケットと同様の情報を指すことが可能である。しかし、接続という用語は、正規化されたパケットが、完全なネットワークトランザクションまたはハンドシェーク、例えば、TCPハンドシェークの一部であることを示唆する。
本明細書の技法を完全に説明するのに役立つことを意図し、本開示によって企図される通信プロトコルのタイプを限定することは全く意図しないネットワークトランザクションまたはハンドシェークの一例として、TCPハンドシェークについて述べる。一般に、TCPプロトコルは、ネットワーク、例えば、インターネットを介して接続をセットアップする3方向のハンドシェークを要求する。TCPの3方向のハンドシェーク技法は、2つのコンピュータの間でTCPセッションをネゴシエートして開始するようにTCPによって送信される3つのメッセージが存在するため、SNY、SYN−ACK、ACKと呼ばれ得る。TCPハンドシェーク機構は、通信しようと試みている2つのコンピュータが、データ、例えば、SSHウェブブラウザ要求およびHTTPウェブブラウザ要求を送信するのに先立って、ネットワークTCPソケット接続のパラメータをネゴシエートすることができるように設計される。TCPプロトコルに準拠して送信される第1のメッセージは、送信元(src)から宛先(dst)に送信されるSYNメッセージまたはSYNパケットである。TCPプロトコルに準拠して送信される第2のメッセージは、宛先(dst)から送信元(src)に送信されるSNY−ACKメッセージまたはSNY−ACKパケットである。TCPプロトコルに準拠して送信される第3のメッセージは、送信元(src)から宛先(dst)に送信されるACKメッセージまたはACKパケットである。応答のないパケットエクストラクタ300は、ほとんどすべてのTCPトランザクションがSYNメッセージまたはSYNパケットから始まるとともに、適切な接続が形成されるには、srcがdstから何らかの応答を受信しなければならないことを認識するようにプログラミングされ、さらに/または適応させられることが可能である。TCPプロトコルに準拠して、応答パケットは、SNY−ACK以外の何らかのメッセージタイプであってもよいことが可能であり得る。したがって、応答のないパケットエクストラクタ300は、応答データのタイプについて柔軟であるようにプログラミングされ、さらに/または適応させられることが可能である。
ステップ308で、応答のないパケットエクストラクタ300が、例えば、ヘッダのフラグまたはフラグフィールド(例えば、TCPフラグ)を解析することによって、ステップ306で読み取られた正規化されたヘッダを解析して、そのパケット(例えば、TCPパケット)が初期通信(例えば、SYNメッセージまたはSYNパケット)であるかどうかを判定することが可能である。パケットが初期通信(例えば、SYNメッセージ)である場合、応答のないパケットエクストラクタ300は、このパケットを、トランザクションまたは通信の始まりまたは開始として解釈することが可能である。パケットエクストラクタ300は、このパケットがトランザクションまたはネットワーク通信の開始に関連し、さらにパケット情報が、さらに説明されるとおり、応答のないパケットである可能性があると判定された場合、このパケットのパケット情報を格納させる、さらに/または追跡させることが可能である。パケットが初期通信(例えば、SYNメッセージ)である場合、ステップ310で、応答のないパケットエクストラクタ300が、このパケットが選別されて除かれるべきであるかどうか、つまり、このパケットの追跡が行われないかどうかを判定することが可能である。パケットは、様々な理由で、さらに様々な様態で選別されて除かれ得る。例えば、信頼される宛先を相手に接続を開始しようと試みているパケットが、選別されて除かれ得る。ステップ310で、応答のないパケットエクストラクタ300が、例えば、構成ファイルまたは構成データベースからのフィルタ構成データ312を使用することが可能である。フィルタ構成データは、ユーザによって作成される、さらに/またはユーザによって供給されるものであることが可能であり、さらにフィルタ構成データは、特定のパケットが選別されて除かれるべきことを示すフィールドのリストなどを含むことが可能である。例えば、フィルタ構成データは、選別されて除かれるべき送信元、宛先、および/または送信元/宛先組合せのリストを含み得る。別の例として、フィルタ構成データは、選別されて除かれるべきパケットを示す時間、期間、または他の時間ベースのメトリックを含み得る。この時間ベースのフィルタリングは、例えば、ユーザまたは管理者が、例えば、メンテナンスまたは計画された停止のため、ネットワークまたはマシンが或る期間にわたってダウンすることを知っていた場合、有用であり得る。ステップ310で、応答のないパケットエクストラクタ300が、ステップ306で読み取られた正規化されたヘッダをフィルタ構成データ312と比較することが可能であり、さらにこのファイルが、そのパケットが選別されて除かれるべきことを示す場合、応答のないパケットエクストラクタ300は、その接続を追跡せず、ヘッダリスト302の中の次の行、または次の正規化されたヘッダに進む(ステップ314)。
ステップ310で、ヘッダ/パケット(例えば、TCP SYNヘッダ/パケット)が選別されて除かれない場合、ステップ316で、応答のないパケットエクストラクタ300が、初期通信パケットが再送プロトコル(例えば、TCP再送プロトコル)によってもたらされたと判定した場合、初期通信パケット(例えば、TCP SYNメッセージ)は、除去される(すなわち、追跡されない)。一例として、TCPプロトコルに準拠して、パケットに応答がない、またはデッドであると判定されるまでに、TCP SYNメッセージは、4回、試みられることが可能である。初期SYNメッセージ後の後続のSYNメッセージの試みは、再送と呼ばれる。したがって、ステップ316で、初期通信パケット(例えば、SYNメッセージ)が、例えば、同じヘッダ情報(例えば、src、dst、src−port、dst−portなど)を有する、或る期間内の後続の初期通信パケットである場合、このパケットは、再送であると判定され得る。一部の実施形態において、応答のないパケットエクストラクタ300は、追跡される接続リスト304と通信して、類似する初期通信パケットが最近、検出されているかどうかを判定することが可能である。一部の実施形態において、応答のないパケットエクストラクタ300は、パケット自体の中の情報、例えば、パケットのヘッダから、そのパケットが再送であると判定することが可能である。再送メッセージを除去すること(すなわち、追跡しないこと)は、同じTCP接続を重複して追跡することを防止することが可能である。
ステップ318で、初期通信パケットまたは初期通信メッセージ(例えば、TCP SYNパケットまたはTCP SYNメッセージ)が選別されて除かれていない、または除去されていない場合、正規化されたヘッダは、追跡される接続リスト304が、例えば、1つの正規化されたヘッダ当り1つのエントリまたは1つの行を利用して、正規化されたヘッダ情報を、応答のない可能性があるパケットとして保存し、格納し、さらに/または追跡するように、追跡される接続リスト304に通信され得る。例えば、正規化されたヘッダが、開始時刻から終了時刻までの間に認識された類似するヘッダの数(すなわち、カウント)を示すフィールドを含む場合、応答のないパケットエクストラクタ300は、このカウントが1以上である場合、その正規化されたヘッダ情報を保存する、または格納することが可能である。これに関して、応答のない可能性があるパケット、例えば、デッドSYNパケットは、追跡される接続リストに追加され得る。追跡される接続リストに追加された接続が、例えば、その接続に関して応答または返信が認識されたと判定する他の何らかのルーチン、ステップなどによって、後に除去されない場合、その接続には、マルウェアであることを示し得る応答のないパケットとしてフラグが付けられ得る。追跡される接続リストから接続を除去することが可能なルーチン、ステップ、構成要素、規則、および/または以上に類するものについては、後段で説明される。ステップ318の後、応答のないパケットエクストラクタ300は、ヘッダリスト302の中の次の行、または次の正規化されたヘッダに進む(ステップ314)。
ステップ308で、応答のないパケットエクストラクタ300が、例えば、ヘッダのフラグまたはフラグフィールド(例えば、TCPフラグフィールド)を解析することによって、ステップ306で読み取られた正規化されたヘッダを解析して、そのパケット(例えば、TCPパケット)が初期通信パケット(例えば、SYNメッセージまたはSYNパケット)であるかどうかを判定することが可能である。パケットが初期通信パケット(例えば、SYNメッセージ)ではない場合、応答のないパケットエクストラクタ300は、そのパケットをさらに解析することが可能である。ステップ320およびステップ322で、応答のないパケットエクストラクタ300が、ステップ306で読み取られたパケットヘッダが、追跡される接続リスト304の中で追跡されている通信に対する応答パケットまたは返信パケットであるかどうかを判定することが可能である。パケットが応答または返信である場合、それまでに解析された初期通信パケット(例えば、TCP SYNパケット)は、応答のないパケットではなく、マルウェアとしてフラグが付けられない可能性がある。ステップ320で、応答のないパケットエクストラクタ300が、追跡される接続リスト304と通信して、当面のヘッダ(Src−Dst)と比べて基本的に逆になっているヘッダ情報(Dst−Src)を含むエントリまたは接続が、データベースの中に既に存在するかどうかを判定することが可能である。特定のSrcと、特定のDstとを有するTCP SYNパケットが、通信プロトコル(例えば、TCPプロトコル)に準拠して送信される場合、初期通信パケット(例えば、SYNパケット)に対する応答パケットは、初期通信パケットのDstと同じSrcと、初期通信パケットのSrcと同じDstとを有することが予期され得る。直近のパケットのヘッダ情報と格納されたパケットが、この逆の様態で合致する場合、直近のパケットは、追跡される接続リスト304の中にそれまでに格納されていた接続に関する応答パケットであり得る。直近のパケットのヘッダ情報と格納されたパケットが合致しない場合、このパケットは、無視され(すなわち、追跡されず)、さらに応答のないパケットエクストラクタ300が、ヘッダリスト302の中の次の行、または次の正規化されたヘッダに進む(ステップ314)。
ステップ322で、応答のないパケットエクストラクタ300が、応答パケットが、応答パケットが実質的な応答を含まないことを示すフラグ(例えば、TCPフラグ)または他のデータを含むかどうかを判定することが可能である。一例として、このフラグは、接続エラー(例えば、TCPプロトコルにおけるRST(リセット)フラグ)を示すことが可能である。TCPプロトコルに準拠して、リセットパケットは、接続が拒否されたことを示すのに使用される。パケットが実質的な応答(例えば、接続エラーではない)を含む場合、応答のないパケットエクストラクタ300は、例えば、追跡される接続リスト304と通信することによって、そのパケットまたはそのヘッダ(Src−Dst)を、追跡されることから除外することが可能である(ステップ324)。応答のないパケットエクストラクタ300は、応答パケットが宛先から受信されており、さらにその応答パケットが実質的であった(すなわち、リセットパケットでも、拒否された接続を示すパケットでもなかった)ために、パケットを、追跡されることから除外することが可能である。応答のないパケットエクストラクタ300は、パケットが応答のないパケット(例えば、デッドSYN)ではないと応答のないパケットエクストラクタ300が判定したために、パケットを、追跡されることから除外することが可能である。したがって、そのパケットには、潜在的なマルウェアとしてのフラグが付けられない。追跡される接続リスト304からパケットを除去した後、応答のないパケットエクストラクタ300は、ヘッダリスト302の中の次の行、または次の正規化されたヘッダに進むことが可能である(ステップ314)。ステップ322で、応答のないパケットエクストラクタ300が、パケットが実質的なパケットではない、例えば、リセットパケット、または接続エラーを示すパケットであると判定した場合、そのパケットは無視され(すなわち、対応するパケットは、追跡される接続リストから除去されない)、さらに応答のないパケットエクストラクタ300が、ヘッダリスト302の中の次の行、または次の正規化されたヘッダに進むことが可能である(ステップ314)。これに関して、応答のないパケットエクストラクタ300は、全く応答が返って来なかったかのように接続エラーパケットまたはリセットパケットを扱うことが可能である。
図4は、本開示の1つまたは複数の実施形態による、リストクリーンアップモジュール400において見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図の例示を示す。リストクリーンアップモジュール400は、図2のリストクリーンアップモジュール218と同様であり得る。リストクリーンアップモジュール400は、図2の追跡される接続リスト216と同様であり得る追跡される接続リスト404と通信することが可能である。
リストクリーンアップモジュール400は、追跡される接続リスト404と通信状態にあって、例えば、追跡される接続リスト404が、或る期間にわたってリストの中に存在していて、もはや追跡を要求しないエントリを除去するように、追跡される接続リスト404と通信して、追跡される接続リスト404の中のエントリを維持することが可能である。このリストクリーンアップモジュール400は、いくつかの構成要素、ルーチン、アルゴリズム、構成データなどを利用して、追跡される接続リスト404の中のエントリを維持することが可能である。ステップ406で、リストクリーンアップモジュール400が、追跡される接続リスト404の中のエントリまたは行(例えば、現在のエントリ、または現在の行)を選択し、さらに読み取ることが可能である。ステップ408で、リストクリーンアップモジュール400が、接続がリストの中に十分に長い間、入っており、もはや追跡されるべきではないかどうかを判定する。リストクリーンアップモジュール400は、パケットヘッダの中の時間フィールド(例えば、終了時刻)を1つまたは複数の時間限度、例えば、最大格納時間限度と比較することが可能である。例えば、正規化されたヘッダが、開始時刻と、終了時刻とを含む場合、リストクリーンアップモジュール400は、終了時刻が、追跡される接続が認識された最新の時刻を表し得るため、時間限度を終了時刻と比較することが可能である。これらの時間限度は、ユーザによって供給されるものであり得、さらに/または、例えば、構成ファイルまたは構成データベースからの、例えば、時間限度構成データ410の中でユーザによって指定されるものであり得る。この(これらの)時間限度は、様々な値、例えば、数日、数週間、数ヶ月、および/または以上に類する期間に設定され得る。ステップ408を参照すると、追跡される接続がこの(これらの)時間限度を超えていない場合、リストクリーンアップモジュール400は、追跡される接続リスト404に関して全くアクションを開始しないことが可能であり、さらに、追跡される接続リスト404の中の次のエントリ、または次の行を選択し、さらに/または読み取って、ステップ406に戻ることが可能である。
リストクリーンアップモジュール400は、様々な理由で追跡される接続リストからエントリを除去することが可能である。例えば、或る時間限度が、或る期間の後、フラグが付けられた接続が、扱われることになる場合には、その時刻までに扱われることになる、または処理されることになるという決定を表すことが可能である。別の例として、本開示の1つまたは複数の実施形態を実施するのに使用される(複数の)システムが、限られたリソース、例えば、限られたデータストレージを有することが可能である。接続を除去することに関する時間限度は、追跡される接続リストが多すぎるリソース、および/または多すぎる記憶空間を消費することを賢明に防止するようになっていることが可能である。
ステップ412で、追跡される接続がこの(これらの)時間限度より古い場合、リストクリーンアップモジュール400が、追跡される接続リスト404と通信して、追跡される接続リスト404がその接続を除去し得るようにすることが可能である。次に、リストクリーンアップモジュール400は、追跡される接続リスト404の中の次のエントリ、または次の行を選択して、さらに/または読み取って、ステップ406に戻ることが可能である。
図5は、本開示の1つまたは複数の実施形態による、量検出器500において見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図の例示を示す。量検出器500は、図2の量検出器220と同様であり得る。量検出器500は、図2の追跡される接続リスト216と同様であり得る追跡される接続リスト504と通信することが可能である。量検出器500は、追跡される接続リスト504の中に格納された情報を利用することが可能である。
量検出器500は、入力として、追跡される接続リスト504からのエントリを受け入れることが可能である。各エントリは、タプルを含み得る。一例として、タプルは、開始時刻および終了時刻と、開始時刻に始まり、終了時刻に終わる期間にわたってヘッダキャプチャエンジンによって認識された、送信元情報(例えば、送信元IPアドレス(Src)、送信元ポート(SrcPort))および宛先情報(例えば、宛先IPアドレス(Dst)、宛先ポート(DstPort))などの固有のパケットヘッダ情報とを含み得る。本開示の一部の実施形態において、「宛先」とは、単一の宛先(例えば、単一のコンピュータ、単一のIPアドレスなど)にとどまらないものを指す可能性があることを理解されたい。例えば、宛先は、1つまたは複数のグループの特定の宛先、例えば、いくつかの範囲のネットワークアドレスまたはIPアドレスなどを全体的に指すことが可能である。このため、本明細書で説明される様々な実施形態は、或る宛先について述べる可能性があるものの、本明細書で説明される技法を1つまたは複数のグループの宛先に適用し得る様々な実施形態、または代替の実施形態が企図されることを理解されたい。量検出500は、1つまたは複数のイベント(ステップ530およびイベントリスト502を参照)、例えば、解析および/またはアクションのために別のエンティティに通信され得るイベントを出力することが可能である。これらのイベントは、関心対象であり得るネットワークトラフィックにおいて異常が検出されていることを示すことが可能である。マルウェアハッカは、検出を回避するように宛先サーバを常に変える可能性があり、したがって、量検出器500は、例えば、マルウェアを示し得る様々なタイプの挙動を検出するように、追跡される接続リストの中のデータに関していくつかの異なるチェックおよび/または比較を利用することが可能である。
量検出器500は、いくつかの構成要素、ルーチン、アルゴリズム、構成データなどを利用して、様々な応答のない追跡される接続を解析して、これらの接続が、マルウェアおよび/または感染したデバイスを示す可能性があるかどうかを判定することが可能である。ステップ506で、量検出器500が、追跡される接続リスト504からいくつかのエントリまたは行を選択し、さらに/または読み取ることが可能である。例えば、量検出器500は、或る期間内の固有の送信元および宛先(例えば、固有のSrc、Dst、SrcPort、およびDstPort)を有するすべてのエントリを読み取ることが可能である。この期間は、図2のヘッダキャプチャエンジン204によって使用される期間とは異なり得る。量検出器500によって使用される期間は、追跡される接続リスト504の中のいくつかのエントリまたは行にわたることが可能である。
量検出器500によって使用される期間は、例えば、構成ファイルまたは構成データベースからの、例えば、期間構成データ508によって、ユーザによって定義されるもの、さらに/またはユーザによって供給されるものであり得る。量検出器500によって使用される期間は、最少の偽陽性イベント生成をもたらすように調整され得る。量検出器500によって使用される期間は、追跡される接続に関する返信パケットまたは応答パケットが受信されるのに時間がかかるため、使用され得る。量検出器500によって使用される期間は、応答のないパケットエクストラクタ300が、追跡される接続リストから任意の「デッドでない」パケット(実質的な応答を受信したパケット)を除去する時間を許されるように使用され得る。量検出器500によって使用される期間は、前述した再送プロトコルを扱うのに使用されることが可能であり、このことは、数分(例えば、TCPプロトコルの場合、3分)かかり得る。量検出器500は、再送プロトコルに関するバッファが終わるのを許す期間、例えば、TCPプロトコルの場合、5分を利用することが可能である。量検出器500は、例えば、傾向および/または再発生が検出され得るように、追跡される接続リスト504の中の応答のないパケットの数が妥当な数まで増えるのを許すだけ十分に長い期間を利用することが可能である。短すぎる期間は、異常のまばらな検出、または間断的な検出につながり得る。
本開示の一部の実施形態において、量検出器500は、2つ以上の期間を利用することが可能である。一方の期間は、例えば、問題を迅速に検出するように、比較的短いことが可能であり、他方の期間は、例えば、異常および/または感染している可能性があるデバイスをより正確に(すなわち、より高い信頼度および/または精度で)検出するように、より長いことが可能である。一例として、短い方の期間は、60分であることが可能であり、さらに長い方の期間は、2日であることが可能である。他の様々な期間が、ユーザおよび/または管理者に興味深い結果および/または目標の状況を最適化するように使用されてもよい。2つ以上の期間が、様々な理由で有用であり得る。例えば、様々なタイプのマルウェアが、異なるビーコン挙動(例えば、より短いビーコンサイクル、またはより長いビーコンサイクル)を示し得る。量検出器500は、様々な期間を使用して、様々なビーコン挙動に従って送信されるパケットをキャプチャしようと試みることが可能である。
ステップ510で、固有の送信元および宛先(例えば、固有のSrcフィールド、Dstフィールド、SrcPortフィールド、DstPortフィールド)を有するパケットまたはヘッダのセットが、或る時間枠(または複数の時間枠)内で選択されると、量検出器500が、固有の送信元/宛先タプル(例えば、Src、Dst、DstPortのタプル)の数をカウントすることが可能である。このカウントが、所与の単一の送信元デバイスが同じ宛先デバイスおよび/または宛先サービスに対して複数の応答のないパケット(すなわち、返信のないSYNの試み)を生成している状況を検出するのに使用され得る。ステップ516で、このカウントが、しきい値と比較されて、このカウントがしきい値を超えるかどうかが判定される。このしきい値は、例えば、構成ファイルまたは構成データベースからの、例えば、しきい値構成データ522によって、ユーザによって構成されるもの、さらに/またはユーザによって供給されるものであり得る。ステップ516で、このカウントがしきい値未満である場合、アクションは全く起こされず(ステップ528)、量検出器500は、ステップ506に戻って、次のセットの固有のタプルを選択する。このカウントがしきい値を超えている場合、量検出器500は、イベントを生成することが可能であり(ステップ530)、さらにこのイベントをイベントリスト502に通信することが可能である。次に、量検出器500は、ステップ506に戻って、次のセットの固有のタプルを選択することが可能である。
量検出器500および様々なしきい値構成データ(例えば、構成データ522、524、526)および様々なしきい値比較(例えば、ステップ516、518、520)に関して、複数の期間が使用される事例において、上述したように、さらなるしきい値が使用されることが可能であり、さらに/またはさらなるしきい値比較ステップが追加されることが可能であることを理解されたい。例えば、様々なしきい値比較ステップ(例えば、ステップ516、518、520)において、しきい値比較ステップは、各期間に関して異なる比較を実行することが可能であり、さらに各期間に関して異なるしきい値を基準とすることが可能である。これに関して、量検出器500は、これらの様々なしきい値、しきい値比較、および期間に対応する1つまたは複数のイベントを生成することが可能である。
ステップ512で、固有の送信元/宛先(例えば、固有のSrcフィールド、Dstフィールド、SrcPortフィールド、DstPortフィールド)を有するパケットまたはヘッダのセットが、或る時間枠(または複数の時間枠)内で選択されると、量検出器500が、各固有の宛先デバイスまたは宛先サービス(例えば、固有のDst/DstPortタプル)ごとに異なる送信元デバイスの数をカウントすることが可能である。このカウントは、複数の送信元デバイスが同じマルウェアに感染しており、さらにこれらすべてが、同じC&Cサーバと通信しようと試みている状況を検出するのに使用され得る。ステップ518で、このカウントがしきい値と比較されて、このカウントがしきい値を超えるかどうかが判定される。このしきい値は、例えば、構成ファイルまたは構成データベースからの、例えば、しきい値構成データ524によって、ユーザによって構成されるもの、さらに/またはユーザによって供給されるものであり得る。ステップ518で、このカウントがしきい値未満である場合、アクションは全く起こされず(ステップ528)、量検出器500は、ステップ506に戻って、次のセットの固有のタプルを選択する。このカウントがしきい値を超えている場合、量検出器500は、イベントを生成することが可能であり(ステップ530)、さらにこのイベントをイベントリスト502に通信することが可能である。次に、量検出器500は、ステップ506に戻って、次のセットの固有のタプルを選択することが可能である。
ステップ514で、固有の送信元/宛先(例えば、固有のSrcフィールド、Dstフィールド、SrcPortフィールド、DstPortフィールド)を有するパケットまたはヘッダのセットが、或る時間枠(または複数の時間枠)内で選択されると、量検出器500が、各送信元デバイスが通信しようと試みて、失敗した異なるデバイスまたはサービス(例えば、固有のDst/DstPortタプル)の数をカウントすることが可能である。このカウントは、単一の送信元デバイスが複数の宛先デバイスと通信しようと試みており、常に失敗している状況を検出するのに使用され得る。この状況は、APTマルウェアの一般的な挙動を示し得る。ステップ520で、このカウントがしきい値と比較されて、このカウントがしきい値を超えるかどうかが判定される。このしきい値は、例えば、構成ファイルまたは構成データベースからの、例えば、しきい値構成データ526によって、ユーザによって構成されるもの、さらに/またはユーザによって供給されるものであり得る。ステップ520で、このカウントがしきい値未満である場合、アクションは全く起こされず(ステップ528)、量検出器500は、ステップ506に戻って、次のセットの固有のタプルを選択する。このカウントがしきい値を超えている場合、量検出器500は、イベントを生成することが可能であり(ステップ530)、さらにこのイベントをイベントリスト502に通信することが可能である。次に、量検出器500は、ステップ506に戻って、次のセットの固有のタプルを選択することが可能である。
図6は、本開示の1つまたは複数の実施形態による、宛先検出モジュール600において見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図の例示を示す。宛先検出器600は、図2の宛先検出器222と同様であり得る。宛先検出器600は、図2の追跡される接続リスト216と同様であり得る追跡される接続リスト604と通信することが可能である。宛先検出器600は、追跡される接続リスト604の中に格納された情報を利用することが可能である。
宛先検出器600は、入力として、追跡される接続リスト604からエントリを受け入れることが可能である。各エントリは、タプルを含み得る。一例として、タプルは、開始時刻および終了時刻と、開始時刻に始まり、終了時刻に終わる期間にわたってヘッダキャプチャエンジンによって認識された、送信元情報(例えば、送信元IPアドレス(Src)、送信元ポート(SrcPort))および宛先情報(例えば、宛先IPアドレス(Dst)、宛先ポート(DstPort))などの固有のパケットヘッダ情報とを含み得る。本開示の一部の実施形態において、「宛先」とは、単一の宛先(例えば、単一のコンピュータ、単一のIPアドレスなど)にとどまらないものを指す可能性があることを理解されたい。例えば、宛先は、1つまたは複数のグループの特定の宛先、例えば、いくつかの範囲のネットワークアドレスまたはIPアドレスなどを全体的に指すことが可能である。このため、本明細書で説明される様々な実施形態は、或る宛先について述べる可能性があるものの、本明細書で説明される技法を1つまたは複数のグループの宛先に適用し得る様々な実施形態、または代替の実施形態が企図されることを理解されたい。宛先検出器600は、1つまたは複数のイベント(ステップ620、632、およびイベントリスト602を参照)、例えば、解析および/またはアクションのために別のエンティティに通信され得るイベントを出力することが可能である。これらのイベントは、関心対象であり得るネットワークトラフィックにおいて異常が検出されていることを示すことが可能である。
宛先検出器600は、いくつかの構成要素、ルーチン、アルゴリズム、構成データなどを利用して、様々な応答のない追跡される接続を解析して、これらの接続が、マルウェアおよび/または感染したデバイスを示す可能性があるかどうかを判定することが可能である。ステップ606で、宛先検出器600が、追跡される接続リスト604からいくつかのエントリまたは行を選択し、さらに/または読み取ることが可能である。例えば、宛先検出器600は、或る期間内の固有の送信元/宛先(例えば、Src、Dst、SrcPort、およびDstPort)を有するすべてのエントリを読み取ることが可能である。この期間は、図2のヘッダキャプチャエンジン204によって使用される期間とは異なり得る。宛先検出器600によって使用される期間は、追跡される接続リスト604の中のいくつかのエントリまたは行にわたることが可能である。
宛先検出器600によって使用される期間は、例えば、構成ファイルまたは構成データベースからの、例えば、期間構成データ608によって、ユーザによって定義されるもの、さらに/またはユーザによって供給されるものであり得る。宛先検出器600によって使用される期間は、例えば、図5の量検出器500によって使用される(複数の)期間と比べて、より長い期間にわたって宛先検出器600がパケットにおける異常を検出することが可能であるように調整され得る。宛先検出器600によって使用される期間は、最少の偽陽性イベント生成、例えば、通信傾向のより明確な見通しを可能にするだけ十分に長い期間をもたらすように調整され得る。一例として、マルウェアプログラム、例えば、APTプログラムが、規則的な間隔で、ときとして、同じ数の試行を行って、同じ宛先サーバと通信しようと試みることが可能である。さらに、一部のハッカは、多くの宛先サーバを保持する可能性があり、さらに一部のマルウェアプログラムは、特定のサーバに対する接続の試みを、長い期間の合間をあけて行う可能性がある。宛先検出器600によって使用される期間は、その期間が、より長い期間にわたる特定の宛先に対する傾向に、例えば、送信元が特定の宛先に接触しようと試みる平均回数(例えば、2週間にわたって15回の試行)に気付くだけ十分に長いように調整され得る。
本開示の一部の実施形態において、宛先検出器600は、2つ以上の期間を利用することが可能である。これらの複数の期間、例えば、1週間の期間、4週間の期間、および8週間の期間は、重なり合うことが可能である。宛先検出器600は、複数の期間を利用して、様々なタイプのマルウェア、および/または様々なタイプのビーコン挙動を検出しようと試みることが可能である。複数の期間を利用する実施形態において、しきい値構成データ616は、例えば、構成データベースの中の異なる構成ファイル、または異なるデータの、各期間に関する構成データの別々のセットを含み得る。
ステップ610で、固有の送信元/宛先(例えば、固有のSrcフィールド、Dstフィールド、SrcPortフィールド、DstPortフィールド)を有するパケットまたはヘッダのセットが、或る時間枠(または複数の時間枠)内で選択されると、宛先検出器600が、このセットの中で各宛先(例えば、Dst、DstPortのタプル)が出現する回数をカウントすることが可能である。このカウントは、複数の送信元が、共通の宛先、例えば、潜在的なAPT C&Cサーバを相手に接続を確立しようと試みる状況を検出するのに使用され得る。ステップ612で、このセットからのそれぞれの固有の宛先(例えば、Dst/DstPortのタプル)が解析される。ステップ612のサブステップとして、ステップ614で、このセットからのそれぞれの固有の宛先(例えば、Dst/DstPortのタプル)に関して、この宛先が出現した回数のカウントがしきい値と比較されて、このカウントがしきい値を超えるかどうかが判定される。このしきい値は、例えば、構成ファイルまたは構成データベースからの、例えば、しきい値構成データ616によって、ユーザによって定義されるもの、さらに/またはユーザによって供給されるものであり得る。ステップ614で、このカウントがしきい値未満である場合、アクションは全く起こされず(ステップ618)、宛先検出器600は、ステップ606に戻って、次のセットの固有のタプルを選択する。このカウントがしきい値を超えている場合、宛先検出器600は、イベントを生成することが可能であり(ステップ620)、さらにこのイベントをイベントリスト602に通信することが可能である。このイベントは、その特定の宛先(例えば、Dst/DstPortの組合せ)が潜在的なマルウェア(例えば、APT)C&CサーバもしくはC&Cデバイスと関係することを示し得る。次に、宛先検出器600は、ステップ606に戻って、次のセットの固有のタプルを選択する。
ステップ622で、ステップ614で識別された特定の宛先(例えば、Dst/DstPortのタプル)が繰り返し出現するマルウェア(例えば、APT)C&CサーバもしくはC&Cデバイスであるかどうかを判定する1つまたは複数のルーチンが、開始することが可能である。ステップ622で、宛先検出器600が、送信元デバイスごとに、その特定の宛先(例えば、Dst/DstPortのタプル)が応答のないパケット(例えば、デッドSYNパケット)の目標であった平均回数を計算することが可能である。この計算は、送信元が、その期間にわたってどれだけの頻度で宛先に接続しようと試みるかの推定をもたらし得る。ステップ624で、ステップ622の計算の結果が、先行する1つまたは複数の期間に関して行われた同じ計算の結果(すなわち、送信元ごとの平均宛先)と比較され得る。ステップ626で、現在の期間からの平均と過去の(複数の)期間からの平均が近い、例えば、互いに標準偏差1以内である場合、このことは、送信元が、規則的に、繰り返し、同じ宛先に、例えば、潜在的なC&Cサーバに接続しようと試みていることを示し得る(例えば、直近の2週間、その前の2週間などにわたって15回の試行)。このことは、規則的な間隔でビーコンを送ろうと試みるマルウェアの中の繰り返し出現するコードを示し得る。ステップ630で、宛先検出器600が、追跡される接続リスト604と通信して、現在の宛先(例えば、Dst/DstPortのタプル)を有する応答のないパケット(例えば、デッドSYNパケット)を有するすべての送信元デバイスのリストを取得し、さらに/または生成することが可能である。次に、宛先検出器600は、各送信元に関してイベントを生成することが可能であり、さらにこれらのイベントをイベントリスト602に通信することが可能である。各送信元に関するイベントは、例えば、高い確率で、その送信元が、その宛先と関係するC&Cサーバと通信しようと試みているマルウェアに、例えば、APTマルウェアに感染している見込みがあることを示し得る。
ステップ626で、現在の期間からの平均と過去の(複数の)期間からの平均が近くはない、例えば、互いに標準偏差1以内ではない場合、宛先検出器600は、イベントを全く生成しないことが可能であり、ステップ606に戻って、次のセットの固有のタプルを選択することが可能である。
図7Aは、本開示の1つまたは複数の実施形態による、クラスタ検出モジュール700において見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図の例示を示す。クラスタ検出器700は、図2のクラスタ検出器224と同様であり得る。クラスタ検出器700は、図2の追跡される接続リスト216と同様であり得る追跡される接続リスト704と通信することが可能である。クラスタ検出器700は、追跡される接続リスト704の中に格納された情報を利用することが可能である。
クラスタ検出器700は、入力として、追跡される接続リスト704からエントリを受け入れることが可能である。各エントリは、タプルを含み得る。一例として、タプルは、開始時刻および終了時刻と、開始時刻に始まり、終了時刻に終わる期間にわたってヘッダキャプチャエンジンによって認識された、送信元情報(例えば、送信元IPアドレス(Src)、送信元ポート(SrcPort))および宛先情報(例えば、宛先IPアドレス(Dst)、宛先ポート(DstPort))などの固有のパケットヘッダ情報とを含み得る。本開示の一部の実施形態において、「宛先」とは、単一の宛先(例えば、単一のコンピュータ、単一のIPアドレスなど)にとどまらないものを指す可能性があることを理解されたい。例えば、宛先は、1つまたは複数のグループの特定の宛先、例えば、いくつかの範囲のネットワークアドレスまたはIPアドレスなどを全体的に指すことが可能である。このため、本明細書で説明される様々な実施形態は、或る宛先について述べる可能性があるものの、本明細書で説明される技法を1つまたは複数のグループの宛先に適用し得る様々な実施形態、または代替の実施形態が企図されることを理解されたい。クラスタ検出器700は、1つまたは複数のイベント(ステップ720、736、およびイベントリスト702を参照)、例えば、解析および/またはアクションのために別のエンティティに通信され得るイベントを出力することが可能である。これらのイベントは、関心対象であり得るネットワークトラフィックにおいて異常が検出されていることを示すことが可能である。
クラスタ検出器700は、いくつかの構成要素、ルーチン、アルゴリズム、構成データなどを利用して、様々な応答のない追跡される接続を解析して、これらの接続が、マルウェアおよび/または感染したデバイスを示す可能性があるかどうかを判定することが可能である。例えば、クラスタ検出器700は、送信元によって行われた応答のない接続の試みのクラスタ間の周期性を検出することが可能である。ステップ706で、クラスタ検出器700が、追跡される接続リスト704からいくつかのエントリまたは行を選択し、さらに/または読み取ることが可能である。例えば、クラスタ検出器700は、或る期間内のすべてのエントリを読み取ることが可能であり、さらにこれらのエントリを送信元別にグループ化することが可能である。この期間は、図2のヘッダキャプチャエンジン204によって使用される期間とは異なる期間であり得る。クラスタ検出器700によって(ステップ706で)使用されるこの期間は、追跡される接続リスト704の中のいくつかのエントリまたは行にわたることが可能である。
クラスタ検出器700によって(ステップ706で)使用される期間は、例えば、構成ファイルまたは構成データベースからの、例えば、期間構成データ708によって、ユーザによって定義されるもの、さらに/またはユーザによって供給されるものであり得る。クラスタ検出器700によって(ステップ706で)使用される期間は、例えば、図5の量検出器500によって使用される(複数の)期間と比べて、より長い期間にわたってクラスタ検出器700がパケットにおける異常を検出することが可能であるように調整され得る。クラスタ検出器700によって(ステップ706で)使用される期間は、例えば、図6の宛先検出器600によって使用される(複数の)期間と比べて、より短いことが可能である。クラスタ検出器700によって使用される期間は、特定の送信元に関する繰り返される挙動が検出されることが可能であるように調整され得る。例えば、感染したデバイス上で実行されるマルウェアが、或る短い期間内に(例えば、異なるいくつかの宛先サーバに対して)数回の接続を行おうと試みることが可能であり(すなわち、これらの接続は、時間的にクラスタ化していることが可能であり)、さらに、その後、そのマルウェアが、比較的長い期間、待ってから、別のクラスタの接続を試みることが可能である。つまり、マルウェア(例えば、APTマルウェア)が、規則的な、繰り返される間隔でC&Cサーバにビーコン(またはクラスタのビーコン)を送出することが可能である。
本開示の一部の実施形態において、クラスタ検出器700は、例えば、偽陽性イベント生成を最小限に抑えるように、2つ以上の期間を利用することが可能である。これらの複数の期間、例えば、2週間の期間、4週間の期間、および6週間の期間は、重なり合うことが可能である。クラスタ検出器700は、複数の期間を利用して、様々なタイプのマルウェア、および/または様々なタイプのビーコン挙動を検出しようと試みることが可能である。複数の期間を利用する実施形態において、しきい値構成データ708および/または724は、例えば、構成データベースの中の異なる構成ファイル、または異なるデータの、各期間に関する構成データの別々のセットを含み得る。
ステップ710で、それぞれの固有の送信元に関して、共通の送信元を有するセット(ステップ706)からのすべてのエントリ、またはすべてのパケットが解析される。ステップ710のサブステップとして、ステップ712で、各送信元に関して、これらのパケットのすべてが、時間クラスタにグループ化され得る。図7Bは、時間の経過とともに送信元によって試みられる例示的な接続を示すグラフ750の例示を示す。図7Bで見て取ることができるとおり、第1のクラスタ化752が、10:00:00の印の少し後に生じており、さらに第2のクラスタ化754が、10:57:36の印の辺りで生じている。図7Aを再び参照すると、クラスタ検出器700が、互いに比較的近い様々な接続の試みを、いくつかの離散的なデータポイントではなく、単一のクラスタとして認識するようにプログラミングされ、さらに/または設計されることが可能である。クラスタ検出器700は、互いに比較的近い様々な接続の試みを組み合わせて、単一のデータポイント(例えば、図7Bにおける2つのデータポイント752、754)にするようにプログラミングされ、さらに/または設計されることが可能である。次に、クラスタ検出器700は、正確な接続時間とは対照的に接続の試みのクラスタを比較するときにパターンがより顕著になる可能性があるため、例えば、クラスタデータポイントを使って、動作、ルーチンなどを行うことが可能である。
ステップ714で、クラスタ検出器700が、接続の試みのクラスタ間の時間を測定することが可能である。ステップ716で、クラスタ検出器700が、クラスタ間の時間が繰り返されるパターンで、または規則的な間隔で形成されるように見えるかどうかを判定することが可能である。例えば、ステップ716で、クラスタ検出器700が、接続試行クラスタ間の時間が互いに近い、例えば、標準偏差1以内であるかどうかを検出することが可能である。ステップ716で、クラスタ間の時間がパターンを形成するように見えない場合、クラスタ検出器700は、イベント生成に関して全くアクションを起こさず(ステップ718)、ステップ710に戻って、各送信元に関する反復を繰り返す。クラスタ間の時間がパターンを形成するように見える場合、クラスタ検出器700は、適切なイベントを生成することが可能であり(ステップ720)、さらにこのイベントをイベントリスト702に通信することが可能である。このイベントは、その特定の送信元がマルウェアに、例えば、繰り返しC&Cサーバにビーコンを送っている可能性があるAPTマルウェアに感染している可能性があることを示し得る。次に、クラスタ検出器700は、ステップ710に戻って、各送信元に関する反復を繰り返すことが可能である。
ステップ722で、クラスタ検出器700が、ステップ706で始まった(複数の)ルーチンと同様の1つまたは複数のルーチンを開始することが可能である。例えば、ステップ722で始まる(複数の)ルーチンは、同様のクラスタ化ステップおよび検出ステップを使用することが可能である。ステップ722で始まる(複数の)ルーチンは、ステップ706で始まった(複数の)ルーチンとは異なる入力データセットを使用することが可能であり、したがって、(ステップ736で)生成される(複数の)イベントは、異なることが可能である。ステップ722で、クラスタ検出器700が、追跡される接続リスト704からいくつかのエントリ、またはいくつかの行を選択し、さらに/または読み取ることが可能である。例えば、クラスタ検出器700は、或る期間内のすべてのエントリを読み取ることが可能であり、さらに送信元/宛先タプル(例えば、Src/Dst/DstPortのタプル)別にエントリをグループ化することが可能である。クラスタ検出器700によって(ステップ722で)使用されるこの期間は、追跡される接続リスト704の中のいくつかのエントリ、またはいくつかの行にわたることが可能である。クラスタ検出器700によって(ステップ722で)使用されるこの期間は、例えば、構成ファイルまたは構成データベースからの、例えば、期間構成データ724によって、ユーザによって定義されるもの、さらに/またはユーザによって供給されるものであり得る。この期間は、期間構成データ708に関連する期間と同様であり得るが、この期間は、異なること、さらに/または独立に構成されることも可能である。ステップ726で、それぞれの固有の送信元/宛先(例えば、Src/Dst/DstPortのタプル)に関して、その共通の送信元/宛先を有するセットからのすべてのエントリまたはパケット(ステップ722)が解析される。次に、ステップ728、730、732、734、736が、ステップ712、714、716、718、720と同様に実行される。ステップ736で生成される(複数の)イベントは、特定の送信元がマルウェア(例えば、APTマルウェア)に感染している可能性があることを示すことが可能であり、さらにその送信元がビーコンを送っているのが、厳密には、いずれのC&CサーバもしくはC&Cデバイスであるかを示すことも可能である。そのC&Cサーバを知ることは、厳密には、いずれのマルウェアプログラムもしくはAPTマルウェアプログラムがSrcデバイス上に存在するかを特定するのに役立ち得る。
応答のない発信ネットワークトラフィックの解析を介して感染したネットワークデバイスを検出することの利点に関して、以下に、本開示の1つまたは複数の実施形態のさらなる利点を説明する。説明される利点は、限定または要件ではなく、さらに一部の実施形態は、説明される利点のうちの1つまたは複数を省くことが可能であることを理解されたい。
本開示の1つまたは複数の実施形態は、ネットワークセキュリティツールのより大きいスイートもしくはパッケージの中で動作可能であるように適応させられることが可能である。本開示で説明されるシステム、方法、ルーチン、および/または技法は、例えば、警告イベントなどを生成するための1つの源として、ネットワークセキュリティパッケージ内の1つまたは複数のツールを形成することが可能である。また、ネットワークセキュリティパッケージは、警告イベントを解析することが可能な1つまたは複数のイベント相関器などを含むことも可能である。
本開示で説明されるシステム、方法、ルーチン、および/または技法は、認識される脅威のシグネチャおよび/またはフィンガプリントも、悪意があることが広く知られているIPアドレスについての知識を要求することなしに、マルウェアの検出を可能にすることができる。説明されるシステム、方法、ルーチン、および/または技法は、パケットの挙動を解析することによって、マルウェアプログラムのコードを解析することなしにマルウェアを検出することが可能であるため、多種多様な悪意のあるコード、例えば、シグネチャファイルおよび/またはフィンガプリントファイルがまだ知られていない新たなマルウェアプログラムを検出することができる。したがって、本開示において説明されるシステム、方法、ルーチン、および/または技法は、大規模な規則ベースの、またはシグネチャベースの比較アプローチに依拠する様々な技法の利点を提供することが可能である。
本開示で説明されるシステム、方法、ルーチン、および/または技法は、セキュリティ技術者が、パケットストリーム全体を解析することができ、さらに圧倒的な量(例えば、一部のサンプル実装形態において1日当り160億パケットを超える)のデータの中でパターンを認識できるとした場合に、セキュリティ技術者が行う可能性が高い解析を自動化することが可能である。本明細書で説明されるシステム、方法、ルーチン、および/または技法は、セキュリティ技術者が、感染している可能性があるデバイスを迅速に識別するのを助けて、これにより、時間を最大限に利用することが可能である。さらに、脅威についてのあらかじめの知識(すなわち、シグネチャなど)が要求されないため、セキュリティ技術者は、特定のタイプの知識でシステムを「準備」しなくてもよい可能性があり、したがって、システムは、セットアップするのにそれほど労力と時間を要さないことが可能である。さらに、セキュリティ技術者が、それまでに検出するのに時間または情報を有していなかった可能性がある脅威を、セキュリティ技術者が検出することができる可能性がある。
本開示で説明されるシステム、方法、ルーチン、および/または技法は、例えば、脅威を検出するのにそれほど人的資源が要求されない可能性があるため、大幅な費用節約を可能にすることができる。本開示で説明されるシステム、方法、ルーチン、および/または技法は、個人およびエンティティが、センシティブな情報、例えば、知的財産および機密情報が失われるのを防ぐことを助けることが可能である。有害なマルウェアの早期の検出は、個人またはエンティティが、早期の改善ステップを行うことを可能にすることができ、このことにより、大規模なエンティティの場合、数百万ドルが節約され得る。
説明される様々な実施形態の流れ図および/またはブロック図に示される例示的な方法およびルーチンを含む、本開示で説明されるシステム、方法、ルーチン、および/または技法は、データ処理システムが、本明細書で説明される方法、ルーチン、技法、およびソリューションを行い、さらに/または実行するように適応させられるようにプログラミングされたデータ処理システムによって実行されるソフトウェアとして実施され得る。本明細書で参照されるブロック図または流れ図における各ブロックまたは各記号は、1つまたは複数のデータ処理システムによって、指定された機能または複数の機能を実施するための1つまたは複数の実行可能命令を備える、コンピュータが使用可能な、またはコンピュータ可読のプログラムコードのモジュール、セグメント、または一部分を表すことが可能である。本開示の一部の代替の実装形態において、ブロック図または流れ図のブロックまたは記号に示される機能または複数の機能は、それらの図に記載される順序を外れて生じてもよい。例えば、一部の事例において、連続して示される2つのブロックまたは記号が、実質的に同時に実行されてもよく、またはそれらのブロックが、関与する機能に依存して、ときとして、逆の順序で実行されてもよい。本開示の様々な実施形態は、コンピュータプログラム製品からアクセス可能であり、コンピュータによって、または命令を実行する任意のデバイスもしくはシステムによって、または以上に関連して使用されるようにプログラムコードを提供する、永続的ストレージ上、および/またはコンピュータが使用可能な、もしくはコンピュータ可読の媒体上に格納されたコンピュータコードの形態をとり得る。このコンピュータコードの一部またはすべてが、データ処理システムのメモリにロードされてから、データ処理システムがこのコードを実行することが可能である。
次に図8を参照すると、本開示の方法、ルーチン、および/または技法のうちの1つまたは複数を部分的に、または全体として実行することが可能である例示的なデータ処理システム800の図が示されている。本開示の一部の実施形態において、複数のデータ処理システム、例えば、複数のデータ処理システム800が、本明細書で説明される方法、ルーチン、技法、およびソリューションを実施するのに使用され得る。図8の例において、データ処理システム800は、構成要素、例えば、プロセッサユニット804、メモリ806、永続的ストレージ808、通信ユニット810、入出力(I/O)ユニット812、およびディスプレイ814の間で通信をもたらす通信ファブリック802を含み得る。1つの特定の実施形態において、データ処理システム800は、モニタ、キーボード、マウス、および、場合により、他の周辺デバイスに関連するパーソナルコンピュータ(PC)または他のコンピュータアーキテクチャであり得る。別の特定の実施形態において、データ処理システムは、例えば、図1に示されるファイアウォール104であり得る。
プロセッサユニット804は、メモリ806にロードされ得る命令(例えば、ソフトウェアプログラム)を実行する役割をすることが可能である。プロセッサユニット804は、特定の実装形態に依存して、1つまたは複数のプロセッサのセットであることが可能であり、またはマルチプロセッサコアであることが可能である。さらに、プロセッサユニット804は、メインプロセッサが単一のチップ上に二次プロセッサと一緒に存在する1つまたは複数の異種のプロセッサシステムを使用して実施されてもよい。別の説明的な例として、プロセッサユニット804は、同じタイプの複数のプロセッサを含む対称マルチプロセッサシステムであり得る。
これらの例におけるメモリ806は、例えば、ランダムアクセスメモリ、または他の任意の適切な揮発性もしくは不揮発性のストレージデバイスであり得る。
永続的ストレージ808は、特定の実装形態に依存して様々な形態をとり得る。例えば、永続的ストレージ808は、1つまたは複数の構成要素またはデバイスを含み得る。例えば、永続的ストレージ808は、ハードドライブ、フラッシュメモリ、書き換え可能な光ディスク、書き換え可能な磁気テープ、または以上の何らかの組合せであり得る。永続的ストレージ808によって使用される媒体は、リムーバブルであることも可能である。例えば、リムーバブルハードドライブが使用され得る。
オペレーティングシステムに関する命令は、永続的ストレージ808上に置かれることが可能である。1つの特定の実施形態において、オペレーティングシステムは、いくつかの知られているオペレーティングシステムの何らかのバージョンであり得る。アプリケーションおよび/またはプログラムに関する命令が、やはり、永続的ストレージ808上に置かれることが可能である。これらの命令は、プロセッサユニット804によって実行されるようにメモリ806にロードされ得る。例えば、本開示で説明される様々な実施形態のプロセスは、メモリ806などのメモリにロードされ得るコンピュータによって実施される命令を使用してプロセッサユニット804によって行われ得る。プロセッサユニット804内のプロセッサによって読み取られ、さらに実行され得るこれらの命令は、プログラムコード、コンピュータが使用可能なプログラムコード、またはコンピュータ可読のプログラムコードと呼ばれる。様々な実施形態におけるプログラムコードは、メモリ806、永続的ストレージ808、および/または、例えば、CDもしくはDVDの一部としての他のコンピュータ可読媒体などの様々な物理的コンピュータ可読媒体上、または実体のあるコンピュータ可読媒体上に実現され得る。
アプリケーションおよび/またはプログラムに関する命令が、データ処理システム800に永久的には含められないコンピュータ可読媒体818上に置かれることが可能である。例えば、プログラムコード816が、コンピュータ可読媒体818上に或る機能形態で置かれることが可能であり、さらにプロセッサユニット804によって実行されるようにデータ処理システム800にロードされる、または転送されることが可能である。プログラムコード816とコンピュータ可読媒体818が、コンピュータプログラム製品820を形成することが可能である。一例において、コンピュータ可読媒体818は、例えば、永続的ストレージ808の一部であるハードドライブなどのストレージデバイス上に移されるように、ドライブまたは他のデバイスに挿入される、または入れられる光ディスクまたは磁気ディスクなどの実体のある形態であることが可能である。このドライブまたは他のデバイスは、例えば、通信ファブリック802を介して、または入出力ユニット812を介して、データ処理システム800の他の構成要素に接続されること、またはそのような構成要素と通信状態にあることが可能である。別の実体のある形態において、コンピュータ可読媒体818は、データ処理システム800に接続されたハードドライブまたはフラッシュメモリなどの永続的ストレージであり得る。
本開示の目的のため、コンピュータが使用可能な媒体またはコンピュータ可読の媒体は、一般に、システム、例えば、命令を実行するシステムによって、またはそのようなシステムに関連して使用されるように(ソフトウェアプログラムなどの)データを含むこと、格納すること、通信すること、伝搬すること、またはトランスポートすることが可能な任意の実体のある装置であり得る。コンピュータが使用可能な媒体またはコンピュータ可読の媒体は、例えば、電子、磁気、光学、電磁、赤外線または半導体のシステムまたは伝搬媒体とすることができるが、これらに限定されない。コンピュータ可読媒体の限定的でない例には、半導体メモリもしくはソリッドステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、磁気ハードディスク、および光ディスクが含まれる。光ディスクには、コンパクトディスク読み取り専用メモリ(CD ROM)、書き換え可能なコンパクトディスク(CD R/W)、およびDVDが含まれ得る。さらに、コンピュータが使用可能な、またはコンピュータ可読の媒体は、コンピュータ可読の、またはコンピュータが使用可能なプログラムコードがコンピュータ上で実行されると、このコンピュータ可読の、またはコンピュータが使用可能なプログラムコードの実行が、コンピュータに、指定されるルーチン、手順、ステップなどを実行させるように、コンピュータ可読の、またはコンピュータが使用可能なプログラムコードを含む、または格納することが可能である。この実体のある形態のコンピュータ可読媒体は、コンピュータが記録可能な記憶媒体とも呼ばれる。
ディスプレイ814が、例えば、CRTモニタ、LCDモニタ、もしくはLEDモニタ、LED照明、または他のタイプのディスプレイを介して、ユーザに情報を表示する機構を提供することが可能である。
入出力(I/O)ユニット812が、データ処理システム800に接続され得る他のデバイスを用いてデータを入力すること、および出力することを可能にする。例えば、入出力ユニット812は、キーボード、タッチスクリーン、マウス、および/または他のポインティングデバイスを介するユーザ入力のための接続をもたらすことが可能である。さらに、入出力ユニット812は、プリンタに出力を送ることが可能である。入出力デバイスが、直接に、または介在するI/Oコントローラ経由でシステムに結合され得る。様々な通信アダプタが、システムに結合されて、データ処理システムが、介在するプライベートネットワークまたは公共ネットワークを介して他のデータ処理システム、または遠隔プリンタ、またはストレージデバイスに結合され得るようにすることも可能である。モデムやネットワークアダプタなどの限定的でない例は、現在、利用可能なタイプの通信アダプタのいくつかに過ぎない。プログラムコード816が、入出力ユニット812に対する接続を介してコンピュータ可読媒体818からデータ処理システム800に転送され得る。この接続は、説明的な例において物理的であっても、ワイヤレスであってもよい。コンピュータ可読媒体は、プログラムコードを含む通信リンクまたはワイヤレス伝送などの実体のない媒体の形態をとることも可能である。
データ処理システム800に関して示される様々な構成要素は、様々な実施形態が実施され得る様態にアーキテクチャ上の限定をもたらすことは意図していない。様々な例示的な実施形態は、データ処理システム800に関して例示される構成要素に加えて、またはそのような構成要素の代わりに複数の構成要素を含むデータ処理システムにおいて実施されてもよい。図8に示される他の構成要素は、図示される説明的な例とは異なることが可能である。例えば、バスシステムが、通信ファブリック802を実施するのに使用されることが可能であり、さらにシステムバスまたは入出力バスなどの1つまたは複数のバスから成ることが可能である。このバスシステムは、このバスシステムにつながれた様々な構成要素またはデバイスの間でデータの転送を可能にする任意の適切なタイプのアーキテクチャを使用して実施され得る。さらに、通信ユニットが、モデムまたはネットワークアダプタなどの、データを送受信するのに使用される1つまたは複数のデバイスを含み得る。さらに、メモリは、例えば、メモリ806、および/または通信ファブリック802内に存在することが可能なインターフェース−メモリコントローラハブにおいて見られるキャッシュなどのキャッシュであり得る。
通信ユニット810が、他のデータ処理システムまたはデータ処理デバイスとの通信を可能にし得る。これらの例において、通信ユニット810は、ネットワークインターフェースカード(NIC)であり得る。通信ユニット810は、物理的通信リンクおよび/またはワイヤレス通信リンクのいずれか、または両方の使用を介して通信をもたらし得る。通信ユニット810は、データの入力を可能にし得る。通信ユニット810は、データ(例えば、パケット、ヘッダなど)のキャプチャ、または別のデバイスからのデータの転送を円滑にすることが可能である。
コンピュータ可読媒体は、プログラムコードを含む通信リンクまたはワイヤレス伝送などの実体のない媒体の形態をとることも可能である。
様々な有利な実施形態の説明は、例示および説明のために提示されており、網羅的であることも、開示される形態に実施形態を限定することも意図していない。多くの変形形態および変更形態が、当業者には明白となろう。様々な実施形態には、以下が含まれ得る。すなわち、
A1.ネットワークセキュリティおよび/またはデバイスセキュリティのための、コンピュータによって実施される方法であって、1つまたは複数のコンピュータ上で、入力として、ネットワークトラフィックから複数のパケット情報を受け取るルーチンを実行すること、1つまたは複数のコンピュータ上で、複数のパケット情報を解析して、或る期間中に応答パケットを全く受信しない発信ネットワークパケットを識別するルーチンを実行すること、および、1つまたは複数のコンピュータ上で、応答パケットを全く受信していない発信ネットワークパケットと関係するパケット情報が、1つまたは複数のデータストアの中に格納されるようにする、さらに/または追跡されるようにするルーチンを実行することを備える、コンピュータによって実施される方法。
A2.複数のパケット情報を解析して、或る期間中に応答パケットを全く受信しない発信ネットワークパケットを識別するステップは、複数のパケット情報を解析して、デッドSYNパケットである発信ネットワークパケットを識別することを含むA1のコンピュータによって実施される方法。
A3.1つまたは複数のコンピュータ上で、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するルーチンを実行すること、およびネットワークトラフィックに異常が存在するかどうかの判定に基づいて、1つまたは複数のイベントを生成することをさらに備え、この1つまたは複数のイベントは、ネットワーク内に、またはデバイス上にマルウェアが存在する可能性があることを示す、A1のコンピュータによって実施される方法。
A4.ネットワークトラフィックに異常が存在するかどうかを判定するステップは、アドバンストパーシスタントスレット(APT)の存在を示す異常を検出することを含む、A3のコンピュータによって実施される方法。
A5.1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、応答パケットを全く受信していない複数の発信ネットワークパケットを生成しているかどうかを判定することを含む、A3のコンピュータによって実施される方法。
A6.1つまたは複数のコンピュータ上で、入力として、1つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、複数のパケット情報のそれぞれは、ネットワークパケットに関連するとともに、関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに備え、さらに1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、グループのパケット情報を解析して、同じ送信元および同じ宛先を有するグループの中のパケット情報の数を判定すること、および同じ送信元および同じ宛先を有するパケット情報の数がしきい値を超えるかどうかを判定することを含む、A3のコンピュータによって実施される方法。
A7.グループの中に含められるパケット情報の数は、或る数のパケット情報が或る所定の期間にわたって受信されるように、期間構成を各パケット情報の時間指示と比較することによって決定される、A6のコンピュータによって実施される方法。
A8.1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、複数の送信元デバイスが同じマルウェアに感染しているかどうかを判定することを含む、A3のコンピュータによって実施される方法。
A9.1つまたは複数のコンピュータ上で、入力として、1つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、複数のパケット情報のそれぞれは、ネットワークパケットに関連するとともに、関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに備え、さらに1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、グループのパケット情報を解析して、各宛先に関して、それぞれの固有の送信元に関するグループの中のパケット情報の数を判定すること、および単一の宛先に関して、それぞれの固有の送信元を有するパケット情報の数がしきい値を超えるかどうかを判定することを含む、A3のコンピュータによって実施される方法。
A10.1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、送信元デバイスが複数の宛先と通信しようと試みているかどうかを判定することを含む、A3のコンピュータによって実施される方法。
A11.1つまたは複数のコンピュータ上で、入力として、1つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、複数のパケット情報のそれぞれは、ネットワークパケットに関連するとともに、関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに備え、さらに1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、グループのパケット情報を解析して、各送信元に関して、それぞれの固有の宛先に関するグループの中のパケット情報の数を判定すること、および単一の送信元に関して、それぞれの固有の宛先を有するパケット情報の数がしきい値を超えるかどうかを判定することを含む、A3のコンピュータによって実施される方法。
A12.1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、繰り返し特定の宛先と通信しようと試みているかどうかを判定することを含む、A3のコンピュータによって実施される方法。
A13.1つまたは複数のコンピュータ上で、入力として、1つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、複数のパケット情報のそれぞれは、ネットワークパケットに関連するとともに、関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに備え、グループの中の複数のパケット情報のそれぞれは、同じ送信元および同じ宛先を有し、さらに1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、グループのパケット情報を解析して、各宛先に関して、グループの中のパケット情報の数を判定すること、および単一の宛先に関するパケット情報の数がしきい値を超えるかどうかを判定することを含む、A3のコンピュータによって実施される方法。
A14.1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、或る期間にわたって特定の宛先と通信しようと試みている平均回数が、先行する期間にわたる平均とほぼ同じであるかどうかを判定することを含む、A3のコンピュータによって実施される方法。
A15.1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、単一の宛先に関して、送信元ごとに単一の宛先を有するグループの中のパケット情報の平均数を判定すること、この平均数を、先行するグループのパケット情報のそれまでの平均数と比較すること、およびこの平均数とそれまでの平均数がほぼ同じであるかどうかを判定することをさらに含む、A13のコンピュータによって実施される方法。
A16.グループの中に含められるパケット情報の数は、或る数のパケット情報が或る所定の期間にわたって受け取られるように、期間構成を各パケット情報の時間指示と比較することによって決定される、A13のコンピュータによって実施される方法。
A17.1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、応答パケットを全く受信していない発信ネットワークパケットの繰り返されるクラスタを生成しているかどうかを判定することを含む、A3のコンピュータによって実施される方法。
A18.1つまたは複数のコンピュータ上で、入力として、1つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、複数のパケット情報のそれぞれは、ネットワークパケットに関連するとともに、関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに備え、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、グループのパケット情報を解析し、さらに、各送信元に関して、互いに比較的近い時間指示を有するパケット情報に関してパケットクラスタを形成すること、およびパケットクラスタ間の時間が繰り返されているかどうかを判定することを含む、A3のコンピュータによって実施される方法。
A19.1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、繰り返されるクラスタで特定の宛先と通信しようと試みているかどうかを判定することを含む、A3のコンピュータによって実施される方法。
A20.1つまたは複数のコンピュータ上で、入力として、1つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、複数のパケット情報のそれぞれは、ネットワークパケットに関連するとともに、関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに備え、1つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、グループのパケット情報を解析し、さらに、各送信元/宛先ペアに関して、互いに比較的近い時間指示を有するパケット情報に関してパケットクラスタを形成すること、およびパケットクラスタ間の時間が繰り返されているかどうかを判定することを含む、A3のコンピュータによって実施される方法。
B1.ネットワークセキュリティおよび/またはデバイスセキュリティのための、コンピュータによって実施される方法であって、1つまたは複数のコンピュータ上で、入力として第1のパケット情報を受け取るルーチンを実行すること、1つまたは複数のコンピュータ上で、第1のパケット情報を解析して、第1のパケット情報が、ネットワーク通信の開始に関連する発信ネットワークパケットを識別するかどうかを判定するルーチンを実行すること、および第1のパケット情報が、ネットワーク通信の開始に関連する発信ネットワークパケットを識別し、さらに第1のパケット情報が応答のない可能性があるパケットであると判定された場合、1つまたは複数のコンピュータ上で、第1のパケット情報が、1つまたは複数のデータストアの中に格納されるようにする、さらに/または追跡されるようにするルーチンを実行することを備える、コンピュータによって実施される方法。
B2.1つまたは複数のコンピュータ上で、入力として第2のパケット情報を受け取るルーチンを実行すること、1つまたは複数のコンピュータ上で、第2のパケット情報を解析して、第2のパケット情報が、発信ネットワークパケットに応答する着信ネットワークパケットを識別するかどうかを判定するルーチンを実行すること、および、第2のパケット情報が、発信ネットワークパケットに応答する着信ネットワークパケットを識別し、さらに第1のパケット情報が、第2のパケット情報に基づいて、応答のないパケットではないと判定された場合、1つまたは複数のコンピュータ上で、1つまたは複数のデータストアの中で第1のパケット情報が除去されるようにする、さらに/または追跡されることを終了するルーチンを実行することをさらに備える、B1のコンピュータによって実施される方法。
B3.第1のパケット情報と第2のパケット情報はそれぞれ、パケットヘッダ情報である、B2のコンピュータによって実施される方法。
B4.第1のパケット情報と第2のパケット情報はそれぞれ、或る期間にわたる1つまたは複数のパケットに共通のパケットヘッダ情報を含む正規化されたパケットヘッダ情報である、B2のコンピュータによって実施される方法。
B5.第1のパケット情報を解析して、第1のパケット情報が、ネットワーク通信の開始に関連する発信ネットワークパケットを識別するかどうかを判定するステップは、第1のパケット情報を解析して、第1のパケット情報が、SYNパケットである発信TCPネットワークパケットを識別するかどうかを判定することを含む、B2のコンピュータによって実施される方法。
B6.1つまたは複数のコンピュータ上で、第1のパケット情報をフィルタ構成データと比較して、第1のパケット情報が選別されて除かれるべきかどうかを判定することによって、第1のパケット情報を解析するルーチンを実行することをさらに備える、B3のコンピュータによって実施される方法。
B7.1つまたは複数のコンピュータ上で、第1のパケット情報を解析して、第1のパケット情報が、1つまたは複数のデータストアの中に格納されていた、さらに/または追跡されていたそれまでの発信ネットワークパケットの再送であるネットワークパケットを識別するかどうかを判定するルーチンを実行することをさらに備える、B3のコンピュータによって実施される方法。
B8.1つまたは複数のコンピュータ上で、第2のパケット情報を解析して、第2のパケット情報が、誤りを示すパケットであるネットワークパケットを識別するかどうかを判定するルーチンを実行することをさらに備える、B3のコンピュータによって実施される方法。
B9.1つまたは複数のコンピュータ上で、指定された期間にわたって1つまたは複数のデータストアの中に存在してきたパケット情報が、1つまたは複数のデータストアの中で削除されるようにする、さらに/または追跡されることを終了するルーチンを実行することをさらに備える、B3のコンピュータによって実施される方法。
B10.1つまたは複数のコンピュータ上で、入力として、1つまたは複数のデータストアから、或る期間内に有効な応答パケットを全く受信しなかった発信ネットワークパケットと関係するパケット情報を受け取るルーチンを実行すること、および1つまたは複数のコンピュータ上で、このパケット情報を解析し、さらにネットワーク内、またはデバイス上にマルウェアが存在する可能性があることを示す1つまたは複数のイベントを生成するルーチンを実行することをさらに備える、B3のコンピュータによって実施される方法。
さらなる異なる有利な実施形態が、他の有利な実施形態と比べて、異なる利点を提供し得る。選択された実施形態または複数の実施形態は、実際的な応用の実施形態の原理を最もよく説明するとともに、当業者が、企図される特定の用途に適した様々な変形を伴って様々な実施形態に関する開示を理解することを可能にするために選ばれ、説明されている。
100、200 ネットワークセットアップ
102 ネットワーク
104 ファイアウォール
106、108、110、111 内部デバイス
112、114、116 外部デバイス
120 ネットワーク内部
204 ヘッダキャプチャエンジン
206、302 ヘッダリスト
208 パケットアラートモジュール
210、502、602、702 イベントリスト
212、300 応答のないパケットエクストラクタ
214、312 フィルタ構成
216、304、404、504、604、704 追跡される接続リスト
218、400 リストクリーンアップモジュール
220 量検出器
222、600 宛先検出器
224 クラスタ検出器
410 時間限度構成
508、608、708、724 期間構成
522、524、526、616 しきい値構成
800 データ処理システム
802 通信ファブリック
804 プロセッサユニット
806 メモリ
808 永続的ストレージ
810 通信ユニット
812 入出力ユニット
814 ディスプレイ
816 プログラムコード
818 コンピュータ可読媒体
820 コンピュータプログラム製品

Claims (10)

  1. ネットワークセキュリティおよび/またはデバイスセキュリティのための、ファイアウォールによって実施される方法であって、
    1つまたは複数のファイアウォールデバイス上で、入力として、ネットワークトラフィックから複数のパケット情報であって、予め決められた時間内に受信された同一のヘッダがグループ化されるように正規化されたパケットヘッダを含むパケット情報を受け取るルーチンを実行すること、
    前記1つまたは複数のファイアウォールデバイス上で、前記パケット情報を解析して、或る期間中に応答パケットを全く受信しない、ファイアウォールの内側から外側へ出ていく、発信ネットワークパケットを識別するルーチンを実行すること、
    前記1つまたは複数のファイアウォールデバイス上で、応答パケットを全く受信していない前記発信ネットワークパケットと関係するパケット情報が、1つまたは複数のデータストアの中に格納されるようにする、さらに/または追跡されるようにするルーチンを実行すること、
    現在のパケットのヘッダ情報(Src−Dst)と逆になっているヘッダ情報(Dst−Src)を含むパケット情報が前記1つまたは複数のデータストアの中に既に存在するかどうかを判定すること、および、
    前記現在のパケットのヘッダ情報(Src−Dst)と逆になっているヘッダ情報(Dst−Src)を含むパケット情報が前記1つまたは複数のデータストアの中に既に存在するとき、現在のパケットと関連するパケット情報を前記1つまたは複数のデータストアから除去すること、
    を含む、ファイアウォールによって実施される方法。
  2. 前記パケット情報を解析して、或る期間中に応答パケットを全く受信しない、ファイアウォールの内側から外側へ出ていく、発信ネットワークパケットを識別するルーチンを実行することは、前記パケット情報を解析して、ファイアウォールの内側から外側へ出ていく、デッドSYNパケットである発信ネットワークパケットを識別することを含む、請求項1に記載のファイアウォールによって実施される方法。
  3. 前記1つまたは複数のファイアウォールデバイス上で、前記1つまたは複数のデータストアからのパケット情報を解析して、前記ネットワークトラフィックに異常が存在するかどうかを判定するルーチンを実行すること、および
    前記ネットワークトラフィックに異常が存在するかどうかの前記判定に基づいて、1つまたは複数のイベントを生成することをさらに含み、前記1つまたは複数のイベントは、ネットワーク内に、またはデバイス上にマルウェアが存在する可能性があることを示す、請求項1に記載のファイアウォールによって実施される方法。
  4. 前記1つまたは複数のデータストアからのパケット情報を解析して、前記ネットワークトラフィックに異常が存在するかどうかを判定するルーチンを実行することは、パケット情報を解析して、特定の送信元デバイスが、応答パケットを全く受信していない、ファイアウォールの内側から外側へ出ていく、複数の発信ネットワークパケットを生成しているかどうかを判定することを含む、請求項3に記載のファイアウォールによって実施される方法。
  5. 前記1つまたは複数のファイアウォールデバイス上で、入力として、1つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、前記パケット情報のそれぞれは、ネットワークパケットに関連するとともに、前記関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに含み、
    前記1つまたは複数のデータストアからのパケット情報を解析して、前記ネットワークトラフィックに異常が存在するかどうかを判定するルーチンを実行することは、
    前記グループのパケット情報を解析して、各宛先に関して、それぞれの固有の送信元に関する前記グループの中のパケット情報の数を判定すること、および
    単一の宛先に関して、それぞれの固有の送信元を有するパケット情報の前記数がしきい値を超えるかどうかを判定することを含む、請求項3に記載のファイアウォールによって実施される方法。
  6. 前記1つまたは複数のデータストアからのパケット情報を解析して、前記ネットワークトラフィックに異常が存在するかどうかを判定するルーチンを実行することは、パケット情報を解析して、特定の送信元デバイスが、繰り返し特定の宛先と通信しようと試みているかどうかを判定することを含む、請求項3に記載のファイアウォールによって実施される方法。
  7. 前記1つまたは複数のデータストアからのパケット情報を解析して、前記ネットワークトラフィックに異常が存在するかどうかを判定するルーチンを実行することは、パケット情報を解析して、特定の送信元デバイスが、応答パケットを全く受信していない、ファイアウォールの内側から外側へ出ていく、発信ネットワークパケットの繰り返されるクラスタを生成しているかどうかを判定することを含む、請求項3に記載のファイアウォールによって実施される方法。
  8. 前記1つまたは複数のデータストアからのパケット情報を解析して、前記ネットワークトラフィックに異常が存在するかどうかを判定するルーチンを実行することは、パケット情報を解析して、特定の送信元デバイスが、繰り返されるクラスタで特定の宛先と通信しようと試みているかどうかを判定することを含む、請求項3に記載のファイアウォールによって実施される方法。
  9. ネットワークセキュリティおよび/またはデバイスセキュリティのためのファイアウォールであって、
    1つまたは複数のネットワークと通信状態にある1つまたは複数の通信ユニットと、
    コンピュータコードを格納する1つまたは複数のメモリユニットと、
    前記1つまたは複数の通信ユニット、および前記1つまたは複数のメモリユニットに結合された1つまたは複数のプロセッサユニットとを備え、前記1つまたは複数のプロセッサユニットは、前記1つまたは複数のメモリユニットの中に格納された前記コンピュータコードを実行して、請求項1ないし8のいずれか一項に記載の方法を行わせるようにファイアウォールを適応させる、ファイアウォール
  10. ファイアウォールの1つまたは複数のプロセッサユニットによって実行されると、前記ファイアウォールに、請求項1ないし8のいずれか一項に記載の方法を行わせるコンピュータ可読命令を備えるコンピュータプログラム
JP2013186005A 2012-09-11 2013-09-09 応答のない発信ネットワークトラフィックの解析を介する感染したネットワークデバイスの検出 Active JP6714314B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/610,537 2012-09-11
US13/610,537 US9191399B2 (en) 2012-09-11 2012-09-11 Detection of infected network devices via analysis of responseless outgoing network traffic

Publications (2)

Publication Number Publication Date
JP2014057307A JP2014057307A (ja) 2014-03-27
JP6714314B2 true JP6714314B2 (ja) 2020-06-24

Family

ID=48998518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013186005A Active JP6714314B2 (ja) 2012-09-11 2013-09-09 応答のない発信ネットワークトラフィックの解析を介する感染したネットワークデバイスの検出

Country Status (8)

Country Link
US (1) US9191399B2 (ja)
EP (1) EP2706721B1 (ja)
JP (1) JP6714314B2 (ja)
KR (1) KR102040990B1 (ja)
CN (1) CN103685223B (ja)
AU (1) AU2013206740B2 (ja)
CA (1) CA2821126C (ja)
SG (1) SG2013064357A (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9641349B2 (en) * 2013-04-22 2017-05-02 Salesforce.Com, Inc. Systems and methods of viral enablement of features by peer-to-peer connection
JP6229504B2 (ja) * 2014-01-09 2017-11-15 富士通株式会社 ネットワーク監視装置、監視方法及びプログラム
US10846257B2 (en) * 2014-04-01 2020-11-24 Endance Technology Limited Intelligent load balancing and high speed intelligent network recorders
US9917851B2 (en) 2014-04-28 2018-03-13 Sophos Limited Intrusion detection using a heartbeat
US10122753B2 (en) * 2014-04-28 2018-11-06 Sophos Limited Using reputation to avoid false malware detections
US20160191549A1 (en) * 2014-10-09 2016-06-30 Glimmerglass Networks, Inc. Rich metadata-based network security monitoring and analysis
WO2016081520A1 (en) 2014-11-18 2016-05-26 Vectra Networks, Inc. Method and system for detecting threats using metadata vectors
GB2548270B (en) 2014-12-18 2019-10-30 Sophos Ltd A method and system for network access control based on traffic monitoring and vulnerability detection using process related information
US20160241574A1 (en) * 2015-02-16 2016-08-18 Taasera, Inc. Systems and methods for determining trustworthiness of the signaling and data exchange between network systems
JP6641819B2 (ja) * 2015-09-15 2020-02-05 富士通株式会社 ネットワーク監視装置、ネットワーク監視方法及びネットワーク監視プログラム
CN106921608B (zh) 2015-12-24 2019-11-22 华为技术有限公司 一种检测终端安全状况方法、装置及系统
US20170300541A1 (en) * 2016-04-15 2017-10-19 Counsyl, Inc. Analytic results management database
US10412099B2 (en) * 2016-06-22 2019-09-10 Paypal, Inc. System security configurations based on assets associated with activities
JP6581053B2 (ja) * 2016-09-01 2019-09-25 日本電信電話株式会社 フロー解析装置、トラフィック解析システム、及びフロー解析方法
US9584381B1 (en) 2016-10-10 2017-02-28 Extrahop Networks, Inc. Dynamic snapshot value by turn for continuous packet capture
US10476673B2 (en) 2017-03-22 2019-11-12 Extrahop Networks, Inc. Managing session secrets for continuous packet capture systems
US20180324061A1 (en) * 2017-05-03 2018-11-08 Extrahop Networks, Inc. Detecting network flow states for network traffic analysis
JP6749873B2 (ja) * 2017-09-01 2020-09-02 日本電信電話株式会社 検知装置、検知方法、および、検知プログラム
JP7301181B2 (ja) * 2017-10-11 2023-06-30 村上 真梨 検出方法、検出プログラムおよび検出装置
JP2019070995A (ja) * 2017-10-11 2019-05-09 村上 真梨 検出方法、検出プログラムおよび検出装置
JP6866271B2 (ja) * 2017-10-18 2021-04-28 日本電信電話株式会社 異常検知装置、異常検知方法、及びプログラム
US9967292B1 (en) 2017-10-25 2018-05-08 Extrahop Networks, Inc. Inline secret sharing
CN109951348B (zh) * 2017-12-21 2022-11-04 北京奇虎科技有限公司 一种验证应用流量的质量的方法、装置及电子设备
US10389574B1 (en) 2018-02-07 2019-08-20 Extrahop Networks, Inc. Ranking alerts based on network monitoring
US10038611B1 (en) 2018-02-08 2018-07-31 Extrahop Networks, Inc. Personalization of alerts based on network monitoring
US10270794B1 (en) 2018-02-09 2019-04-23 Extrahop Networks, Inc. Detection of denial of service attacks
US10411978B1 (en) 2018-08-09 2019-09-10 Extrahop Networks, Inc. Correlating causes and effects associated with network activity
US10594718B1 (en) 2018-08-21 2020-03-17 Extrahop Networks, Inc. Managing incident response operations based on monitored network activity
CN109274677B (zh) * 2018-10-11 2021-04-27 四川长虹电器股份有限公司 基于机器学习的ip分类方法及系统
US10965702B2 (en) * 2019-05-28 2021-03-30 Extrahop Networks, Inc. Detecting injection attacks using passive network monitoring
US11165814B2 (en) 2019-07-29 2021-11-02 Extrahop Networks, Inc. Modifying triage information based on network monitoring
US11388072B2 (en) 2019-08-05 2022-07-12 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US10742530B1 (en) 2019-08-05 2020-08-11 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
CN110535844B (zh) * 2019-08-20 2021-09-28 北京网思科平科技有限公司 一种恶意软件通讯活动检测方法、系统及存储介质
US10742677B1 (en) 2019-09-04 2020-08-11 Extrahop Networks, Inc. Automatic determination of user roles and asset types based on network monitoring
CN110661794B (zh) * 2019-09-20 2021-07-27 秒针信息技术有限公司 流量识别方法、装置、电子设备及可读存储介质
US11165823B2 (en) 2019-12-17 2021-11-02 Extrahop Networks, Inc. Automated preemptive polymorphic deception
US11310256B2 (en) 2020-09-23 2022-04-19 Extrahop Networks, Inc. Monitoring encrypted network traffic
US11463466B2 (en) 2020-09-23 2022-10-04 Extrahop Networks, Inc. Monitoring encrypted network traffic
CN112838966A (zh) * 2021-04-22 2021-05-25 北京拓课网络科技有限公司 一种udp链路监控方法、系统及电子设备
RU2769075C1 (ru) * 2021-06-10 2022-03-28 Общество с ограниченной ответственностью "Группа АйБи ТДС" Система и способ активного обнаружения вредоносных сетевых ресурсов
US11349861B1 (en) 2021-06-18 2022-05-31 Extrahop Networks, Inc. Identifying network entities based on beaconing activity
US11296967B1 (en) 2021-09-23 2022-04-05 Extrahop Networks, Inc. Combining passive network analysis and active probing
US11768720B2 (en) * 2021-09-29 2023-09-26 PagerDuty, Inc. Auto pause incident notification
US11843606B2 (en) 2022-03-30 2023-12-12 Extrahop Networks, Inc. Detecting abnormal data access based on data similarity
US11902404B1 (en) * 2022-06-10 2024-02-13 Juniper Networks, Inc. Retaining key parameters after a transmission control protocol (TCP) session flap
CN115865683B (zh) * 2023-03-02 2023-05-23 山东创安交通预警工程有限公司 智慧社区设备管理系统

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772348B1 (en) * 2000-04-27 2004-08-03 Microsoft Corporation Method and system for retrieving security information for secured transmission of network communication streams
US20110214157A1 (en) * 2000-09-25 2011-09-01 Yevgeny Korsunsky Securing a network with data flow processing
US20060212572A1 (en) * 2000-10-17 2006-09-21 Yehuda Afek Protecting against malicious traffic
EP1490768B1 (en) * 2002-03-29 2007-09-26 Global Dataguard, Inc. Adaptive behavioural intrusion detection
US7716725B2 (en) * 2002-09-20 2010-05-11 Fortinet, Inc. Firewall interface configuration and processes to enable bi-directional VoIP traversal communications
US7391740B2 (en) * 2003-04-17 2008-06-24 University Of Maryland Method for quantifying reponsiveness of flow aggregates to packet drops in a communication network
US7266754B2 (en) * 2003-08-14 2007-09-04 Cisco Technology, Inc. Detecting network denial of service attacks
JP4051020B2 (ja) * 2003-10-28 2008-02-20 富士通株式会社 ワーム判定プログラム、ワーム判定プログラムを記憶したコンピュータ読み取り可能な記憶媒体、ワーム判定方法およびワーム判定装置
US8204984B1 (en) * 2004-04-01 2012-06-19 Fireeye, Inc. Systems and methods for detecting encrypted bot command and control communication channels
CN100344972C (zh) * 2004-04-16 2007-10-24 中国人民解放军防化指挥工程学院 一种病毒检测系统及检测方法
US7854000B2 (en) * 2004-10-26 2010-12-14 Cisco Technology, Inc. Method and system for addressing attacks on a computer connected to a network
KR100612452B1 (ko) * 2004-11-08 2006-08-16 삼성전자주식회사 악성 코드 탐지 장치 및 그 방법
US8037517B2 (en) * 2004-12-22 2011-10-11 Wake Forest University Method, systems, and computer program products for implementing function-parallel network firewall
CA2514039A1 (en) * 2005-07-28 2007-01-28 Third Brigade Inc. Tcp normalization engine
EP1917778A2 (en) * 2005-08-03 2008-05-07 Calyptix Security Systems and methods for dynamically learning network environments to achieve adaptive security
US7832009B2 (en) * 2005-12-28 2010-11-09 Foundry Networks, Llc Techniques for preventing attacks on computer systems and networks
US8255996B2 (en) * 2005-12-30 2012-08-28 Extreme Networks, Inc. Network threat detection and mitigation
US8397284B2 (en) * 2006-01-17 2013-03-12 University Of Maryland Detection of distributed denial of service attacks in autonomous system domains
US7930256B2 (en) * 2006-05-23 2011-04-19 Charles River Analytics, Inc. Security system for and method of detecting and responding to cyber attacks on large network systems
US7953984B1 (en) 2006-06-29 2011-05-31 Trend Micro Incorporated Enhanced malware detection utilizing transparently integrated searching
US8533819B2 (en) * 2006-09-29 2013-09-10 At&T Intellectual Property Ii, L.P. Method and apparatus for detecting compromised host computers
JP2008141398A (ja) * 2006-11-30 2008-06-19 Mitsubishi Electric Corp 中継装置および中継装置の制御方法
CN101227314A (zh) * 2007-01-18 2008-07-23 国际商业机器公司 用于通过网络安全地更新脆弱系统的装置和方法
US8020207B2 (en) * 2007-01-23 2011-09-13 Alcatel Lucent Containment mechanism for potentially contaminated end systems
US8429742B2 (en) * 2007-04-16 2013-04-23 International Business Machines Corporation Detection of a denial of service attack on an internet server
WO2009132047A2 (en) * 2008-04-21 2009-10-29 Zytron Corp. Collaborative and proactive defense of networks and information systems
US8813220B2 (en) * 2008-08-20 2014-08-19 The Boeing Company Methods and systems for internet protocol (IP) packet header collection and storage
US8726382B2 (en) * 2008-08-20 2014-05-13 The Boeing Company Methods and systems for automated detection and tracking of network attacks
KR101048513B1 (ko) * 2009-10-13 2011-07-12 연세대학교 산학협력단 애드 혹 네트워크에서의 악의적 플러딩 공격에 대한 대처 방법 및 장치
FR2954547B1 (fr) * 2009-12-21 2012-10-12 Alcatel Lucent Procede de detection d?un detournement de ressources informatiques
US8291258B2 (en) * 2010-01-08 2012-10-16 Juniper Networks, Inc. High availability for network security devices
JP2012084994A (ja) * 2010-10-07 2012-04-26 Hitachi Ltd マルウェア検出方法、およびマルウェア検出装置
US8677487B2 (en) * 2011-10-18 2014-03-18 Mcafee, Inc. System and method for detecting a malicious command and control channel
US9792430B2 (en) * 2011-11-03 2017-10-17 Cyphort Inc. Systems and methods for virtualized malware detection
US9092616B2 (en) * 2012-05-01 2015-07-28 Taasera, Inc. Systems and methods for threat identification and remediation

Also Published As

Publication number Publication date
CN103685223A (zh) 2014-03-26
SG2013064357A (en) 2014-04-28
CN103685223B (zh) 2018-09-28
AU2013206740A1 (en) 2014-03-27
CA2821126A1 (en) 2014-03-11
EP2706721A3 (en) 2017-01-04
JP2014057307A (ja) 2014-03-27
US9191399B2 (en) 2015-11-17
EP2706721B1 (en) 2019-11-27
CA2821126C (en) 2020-05-05
KR20140034045A (ko) 2014-03-19
KR102040990B1 (ko) 2019-11-05
AU2013206740B2 (en) 2016-09-15
EP2706721A2 (en) 2014-03-12
US20140075536A1 (en) 2014-03-13

Similar Documents

Publication Publication Date Title
JP6714314B2 (ja) 応答のない発信ネットワークトラフィックの解析を介する感染したネットワークデバイスの検出
US10594707B2 (en) Learned profiles for malicious encrypted network traffic identification
EP3195124B1 (en) Malicious relay detection on networks
US9124626B2 (en) Firewall based botnet detection
US9288221B2 (en) Information processing apparatus, method for determining unauthorized activity and computer-readable medium
US8006302B2 (en) Method and system for detecting unauthorized use of a communication network
US8205259B2 (en) Adaptive behavioral intrusion detection systems and methods
EP3297248B1 (en) System and method for generating rules for attack detection feedback system
EP1995929A2 (en) Distributed system for the detection of eThreats
US11770397B2 (en) Malicious port scan detection using source profiles
US11930036B2 (en) Detecting attacks and quarantining malware infected devices
JP7388613B2 (ja) パケット処理方法及び装置、デバイス、並びに、コンピュータ可読ストレージ媒体
US11838319B2 (en) Hardware acceleration device for denial-of-service attack identification and mitigation
CN113079185B (zh) 实现深度数据包检测控制的工业防火墙控制方法及设备
CN112118154A (zh) 基于机器学习的icmp隧道检测方法
US10721148B2 (en) System and method for botnet identification
CN113678419B (zh) 端口扫描检测
Seo et al. Abnormal behavior detection to identify infected systems using the APChain algorithm and behavioral profiling
Xue et al. Research of worm intrusion detection algorithm based on statistical classification technology
CN112005234A (zh) 恶意软件检测的上下文剖析
JP7215571B2 (ja) 検知装置、検知方法および検知プログラム
US20230082289A1 (en) Automated fuzzy hash based signature collecting system for malware detection
EP4187416A1 (en) Method and apparatus for protecting a computing device connected to a network
CN114285660A (zh) 蜜网部署方法、装置、设备及介质
Hu An Intrusion Detection Scheme Utilizing Teiresias to Determine a Computer’s DNA Sequence Responsible for Network Traffic

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180807

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180821

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200605

R150 Certificate of patent or registration of utility model

Ref document number: 6714314

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250