JP6173613B2 - Httpトラフィックを搬送するtcp接続を分類する方法、デバイス、コンピュータプログラム及び情報記憶手段 - Google Patents

Httpトラフィックを搬送するtcp接続を分類する方法、デバイス、コンピュータプログラム及び情報記憶手段 Download PDF

Info

Publication number
JP6173613B2
JP6173613B2 JP2016557461A JP2016557461A JP6173613B2 JP 6173613 B2 JP6173613 B2 JP 6173613B2 JP 2016557461 A JP2016557461 A JP 2016557461A JP 2016557461 A JP2016557461 A JP 2016557461A JP 6173613 B2 JP6173613 B2 JP 6173613B2
Authority
JP
Japan
Prior art keywords
signature
http
request message
database
tcp connection
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
Application number
JP2016557461A
Other languages
English (en)
Other versions
JP2017502625A (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.)
Mitsubishi Electric R&D Centre Europe BV Netherlands
Original Assignee
Mitsubishi Electric R&D Centre Europe BV Netherlands
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric R&D Centre Europe BV Netherlands filed Critical Mitsubishi Electric R&D Centre Europe BV Netherlands
Publication of JP2017502625A publication Critical patent/JP2017502625A/ja
Application granted granted Critical
Publication of JP6173613B2 publication Critical patent/JP6173613B2/ja
Expired - Fee Related 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、一般的には、HTTPトラフィックを搬送するTCP接続を信頼TCP接続または非信頼TCP接続として分類することに関する。
HTTP(IETF(「インターネットエンジニアリングタスクフォース」)によって公開された標準文書RFC2616によって定義されるように、「ハイパーテキスト転送プロトコル」)プロトコルは、TCP(標準文書RFC793によって定義されるように、「伝送制御プロトコル」)セグメントを介して運ばれる。
HTTPプロトコルは、セッションレベルの部分として見なすことができる。
今日、HTTPプロトコルは、ボリュームに関してのみならず、HTTPプロトコルに頼るサービスの多様性に関しても、最も使用されるセッションプロトコルになっている。
実際に、ますます多くのアプリケーションがウェブブラウザ環境内で実行され、またはウェブブラウザ機能を実施し、それらの通信はHTTPプロトコルに基づく。
HTTPプロトコルの1つの利点は、簡素性である。その理由は、HTTPプロトコルが少数の要求メソッドをサポートし、基本的に、アプリケーションは主に、要求メソッドのうちの2つまたは3つ(例えば、GET要求およびPOST要求)を使用する。
多くのアプリケーションは、HTTPプロトコルをセッションプロトコルとして使用する。HTTPプロトコルは、ウェブブラウザによって使用されるのみならず、ファイルをダウンロードする好ましい方法として多くのソフトウェアアプリケーションによっても使用される。したがって、多くのソフトウェア更新手順は、HTTPプロトコルに頼る。
インスタントメッセージングまたはクラウドサービスも、HTTPプロトコルをセッションレイヤとして使用し得る。
HTTPプロトコルの実施は、かなり柔軟であり、幾つかの大きなセマンティックおよびシンタックスバリエーションをサポートし得る。実際に、HTTPプロトコルは、テキストベースのプロトコルであり、大小文字を区別しない。標準文書RFC2616は、予め定義される値を有する幾つかの標準化HTTPヘッダを定義するが、HTTPクライアントアプリケーションおよびHTTPサーバアプリケーションによって使用されるHTTPメッセージにおいて必須とされるのは、それらのうちの極めて少なくない数のものである。
幾つかの追加のヘッダが、プロキシ、ファイル交換等の幾つかの特定の機能のために、他の標準文書によって定義された。加えて、幾つかのプロプライエタリHTTPヘッダも、任意のアプリケーションによって定義することができ、それらの使用は制限されない。
幾つかの標準化HTTPヘッダフィールドの値は、対応するHTTPメッセージを生成するアプリケーションまたは前記アプリケーションの実行に使用される端末の領域設定に依存し得る。
一例によれば、HTTPプロトコルは、HTTPメッセージを生成するアプリケーションを識別することが意図される「ユーザエージェント」ヘッダを定義する。ユーザエージェントヘッダは通常、HTTPクライアントアプリケーションについてのソフトウェアバージョン情報、およびHTTPクライアントアプリケーションが実行されるオペレーティングシステムについてのソフトウェアバージョン情報を含む。
別の例によれば、HTTPプロトコルは「許容言語」ヘッダを定義する。この「許容言語」ヘッダは、そのような「許容言語」ヘッダを含む要求への応答を形成するために好ましい1組の自然言語を定義することが意図される。
したがって、HTTPプロトコルの実施は同じHTTP API(「アプリケーションプログラミングインターフェース」)に頼るが、異なるHTTPヘッダが異なる順序で存在し得、異なるシンタックスがヘッダ値のエンコードに使用されるように見える。
マルウェア、トロイ、またはリモート管理ツール(RAT)等の悪意のあるアプリケーションも多くの場合、
悪意のあるアプリケーションを伝搬させた誰かの制御下で、感染デバイスと呼ばれる、悪意のあるアプリケーションを実行するデバイスと、コマンドおよび制御(C&C)サーバと呼ばれるサーバとの通信をセットアップする搬送プロトコルとして、
HTTPプロトコルを使用する。
悪意のあるHTTPデータフローを検出し分類する方法が提案されている。しかし、前記方法は通常、URL(「ユニフォームリソースロケータ」)およびIP(RFC791によって定義されるように、「インターネットプロトコル」)宛先アドレス分析に頼り、潜在的な脅威および漏出を検出する。幾つかのURLブラックリストが通常、疑いのある通信を分離するために使用され、幾つかのURLホワイトリストが通常、信頼される通信を許可するために使用される。同様の手法が、IPアドレスブラックリストおよびホワイトリストとも使用される。
上述した方法の主な問題は、IPアドレスおよびURLに頼ることが、信頼できないことがあることである。実際に、非信頼マシンまたはURLが、ホワイトリストおよびブラックリストに短期で反映されずに現れ得る。ホワイトリストおよびブラックリストの管理は通常、中央手法に頼り、ホワイトリストおよびブラックリストは、悪意のあるソフトウェア構成においてサーバとして機能して新しいマシンまたは新しいURLによってポイントされるサービスが発見されると、人間の管理者によって更新される。
上述した方法に伴う別の主な問題は、通常、中央でオフラインにて埋められるデータベースに頼ることである。これは、オペレータがホワイトリストまたはブラックリストに入れる新しいIPアドレスまたは新しいURLが発見した場合に、データベースが更新されることを意味する。したがって、これはユーザの環境に適合しないことがある。したがって、そのようなデータベースをより簡単かつより効率的に埋めることができる解決策を提供することが望ましい。
技術的現況の上記欠点を解消することが望ましい。
特に、IPアドレスおよびURLよりも信頼性の高い情報に基づいて、HTTPトラフィックを搬送しているTCP接続を信頼TCP接続または非信頼TCP接続として分類することができる解決策を提供することが望ましい。
したがって、従来技術の解決策と比較して改善された分類性能をもたらす解決策を提供することが望ましい。
特に、新しい悪意のあるソフトウェアの伝搬に反応する解決策を提供することが望ましい。
実施が容易であり、費用効率的な解決策を提供することが更に望ましい。
そのために、本発明は、分析デバイスによって実行される、信頼TCP接続または非信頼TCP接続としてHTTPトラフィックを搬送するTCP接続を分類する方法に関する。本方法は、TCP接続によって搬送されるHTTPトラフィック内のHTTPセッションのHTTP要求メッセージを検出することと、検出されたHTTP要求メッセージのヘッダから、HTTPセッションのシグネチャを構築するための情報を取得することと、HTTPセッションのシグネチャを、分析デバイスによって事前にシグネチャデータベースに記憶されたシグネチャと比較することと、HTTPセッションのシグネチャが、シグネチャデータベースに分析デバイスによって事前に記憶され、信頼HTTPクライアントアプリケーションを表すシグネチャに一致する場合、TCP接続を信頼接続として分類することと、HTTPセッションのシグネチャが、シグネチャデータベースに分析デバイスによって事前に記憶されたいずれのシグネチャにも一致しない場合、認証データを提供するようにユーザに要求する認証手順を実行することと、有効な認証データがユーザによって提供される場合、HTTPセッションのシグネチャをシグネチャデータベースに追加し、HTTPセッションのシグネチャは、シグネチャデータベース内で信頼HTTPクライアントアプリケーションを表し、TCP接続を信頼接続として分類することと、有効な認証データが前記ユーザによって提供されない場合、TCP接続を非信頼接続として分類することとを含む。
したがって、シグネチャデータベースの内容がユーザの環境に適合するように、シグネチャデータベースを単純かつ効率的に埋めることができる。
特定の実施形態によれば、TCP接続が、認証手順に続き非信頼接続として分類される場合、本方法は、HTTPセッションのシグネチャをシグネチャデータベースに追加することであって、HTTPセッションのシグネチャは、シグネチャデータベース内で、非信頼HTTPクライアントアプリケーションを表す、追加することを更に含む。
したがって、シグネチャデータベースは、信頼および非信頼HTTPクライアントアプリケーションの両方に関連する情報を含む。
特定の実施形態によれば、シグネチャデータベースに記憶される各シグネチャには、前記シグネチャが信頼TCP接続に対応するか、または非信頼TCP接続に対応するかを表す第1の安全性インジケータが関連付けられる。
したがって、記憶されたシグネチャがTCP接続に対応するか、または非信頼TCP接続に対応するかの判断は
特定の実施形態によれば、HTTPセッションのシグネチャは、検出されたHTTP要求メッセージに存在するHTTP必須ヘッダを表す情報と、検出されたHTTP要求メッセージに存在するHTTP任意選択的ヘッダを表す情報と、HTTP必須ヘッダが検出されたHTTP要求メッセージに現れるシーケンスを表す情報と、検出されたHTTP要求メッセージに存在するHTTP必須ヘッダの予め定義されるフィールドに含まれる値を表す情報とを含む。
したがって、HTTPヘッダの存在、HTTPヘッダシーケンス、およびHTTP必須ヘッダの予め定義されるフィールドに含まれる値のに頼ることにより、TCP接続の分類の信頼性はより高くなる。
特定の実施形態によれば、シグネチャデータベースに記憶されるシグネチャには、少なくとも1つのIPアドレスのセットが関連付けられ、前記方法は、HTTPセッションのシグネチャをシグネチャデータベースに追加する際、HTTPセッションのシグネチャに、HTTP要求メッセージを発したIPソースアドレスを関連付けることと、HTTPセッションのシグネチャをシグネチャデータベースに事前に記憶されたシグネチャと比較する際、IPソースアドレスに、シグネチャデータベースに事前に記憶された任意のシグネチャが関連付けられているか否かをチェックすることと、シグネチャデータベース内のシグネチャにIPソースアドレスが関連付けられていない場合、HTTPセッションのシグネチャがシグネチャデータベース内のいずれのシグネチャにも一致しないと見なすこととを含む。
したがって、HTTPセッションのシグネチャにIPソースアドレスを関連付けることにより、TCP接続の分類はより正確であり、ユーザの環境に動的に適合する。さらに、どのHTTPクライアントアプリケーションがどのデバイスで実行されるかの細かい全体像を有することができ、悪意のあるHTTPクライアントアプリケーションによるなりすましのリスクを制限することができる。
特定の実施形態によれば、認証手順は、検出されたHTTP要求メッセージを発したデバイスに応答を送信することであって、前記応答は、検出されたHTTP要求メッセージを発したデバイスを別のURLにリダイレクトする、送信することと、検出されたHTTP要求メッセージを発したデバイスから、前記別のURLを参照する別のHTTP要求メッセージを受信することと、前記別のHTTP要求メッセージに応答して、ユーザが認証情報を入力することができるウェブページを送信することと、有効な認証情報が受信される場合、TCP接続を信頼と見なし、その他の場合、TCP接続を非信頼と見なすこととを含む。
したがって、認証は、人間によってのみ実行されることが予期され、これは、TCP接続が悪意のあるHTTPクライアントアプリケーションに関わるのに反して、前記TCP接続が信頼として宣言することを回避するはずである。
特定の実施形態によれば、ウェブページは、認証情報としてログインおよびパスワードをユーザが入力できるようにするよう構成され、分析デバイスは、入力されたログインおよびパスワードを事前に記憶されたログインおよびパスワードと比較するか、またはウェブページは、CAPTCHA(「Completely Automated Public Turing test to tell Computers and Humans Apart: コンピュータと人間を区別する完全に自動化された公開チューリングテスト」)画像を表示し、ユーザが文字列を入力できるようにするよう構成され、分析デバイスは、入力された文字列を表示されたCAPTCHA画像に対応する予め定義される文字と比較する。
したがって、認証セキュリティが強化される。
特定の実施形態によれば、ウェブページは、検出されたHTTP要求メッセージに適合するものとして分析デバイスによって決定されるプロファイルのセットの中からプロファイルをユーザが選択できるようにするよう更に構成され、各プロファイルは、シグネチャに適合する各HTTP要求メッセージに存在すると予期されるHTTP必須ヘッダのリストと、シグネチャに適合する各HTTP要求メッセージに存在すると予期されるHTTP任意選択的ヘッダのリストと、シグネチャに適合する各HTTP要求メッセージに存在する特定の値を有するHTTP必須ヘッダのリストと、HTTP必須ヘッダが検出されたHTTP要求メッセージに現れるシーケンスを表す情報とを含む。
したがって、プロファイルに頼ることは、シグネチャデータベースに追加されるシグネチャの定義を容易にする。
特定の実施形態によれば、有効な認証情報が受信される場合、分析デバイスは、選択されたプロファイルおよび検出されたHTTP要求メッセージのヘッダからHTTPセッションのシグネチャを特定する。
したがって、シグネチャの定義は更に容易になる。
特定の実施形態によれば、方法は、検出されたHTTP要求メッセージに関連付けられたIP宛先アドレスを表す情報を取得することと、シグネチャに基づいてTCP接続を分類しようとする前に、IP宛先アドレスに基づいてTCP接続を信頼TCP接続または非信頼TCP接続として分類しようとすることとを含む。
したがって、シグネチャベースの分類手法は、より簡単なIPベースの分類手法の試みが成功しなかった場合に実施される。
特定の実施形態によれば、方法は、IP宛先アドレスをIPアドレスデータベースに事前に記憶されたIPアドレスと比較することを含み、IPアドレスデータベースに記憶される各IPアドレスには、前記IPアドレスが信頼デバイスに対応するか、または非信頼デバイスに対応するかを表す第2の安全性インジケータが関連付けられ、各TCP接続は、信頼宛先デバイスが信頼として見なされることを暗に示し、各TCP接続は、非信頼宛先デバイスが非信頼として見なされることを暗に示す。
したがって、IPアドレスベースのより簡単な分類手法は、実施が簡単である。さらに、ソフトウェア更新HTTPクライアントアプリケーション等の1つ又は少数のドメインにアクセスする正当なHTTPクライアントアプリケーションをより容易に分類することができる。
特定の実施形態によれば、IPアドレスデータベースを埋めるために、方法は、UDP(「User Datagram Protocol: ユーザデータグラムプロトコル」)データグラムを受信することと、受信したUDPデータグラム内のDNS(「Domain Name System: ドメイン名システム」)サーバ応答を検出することと、検出されたDNSサーバ応答から、IPアドレスとドメイン名情報との一致の情報を取得することと、前記ドメイン名情報がドメイン名データベースに存在するか否かをチェックすることであって、前記ドメイン名データベースは、前記ドメイン名が信頼であるか、または非信頼であるかを表す第3の安全性インジケータが関連付けられたドメイン名を含む、チェックすることと、前記ドメイン名情報がドメイン名データベースに存在する場合、IPアドレスデータベースに、第3の安全性インジケータに関連付けて、前記ドメイン名情報に一致するIPアドレスを追加することとを含む。
したがって、IPアドレスデータベースは自動的に埋めることができる。
特定の実施形態によれば、方法は、検出されたHTTP要求メッセージのヘッダから、HTTP要求メッセージが参照するURLを表す情報を取得することと、シグネチャに基づいてTCP接続を分類しようとする前に、URLに基づいてTCP接続を信頼TCP接続または非信頼TCP接続として分類しようとすることとを含む。
したがって、シグネチャベースの分類手法は、より簡単なURLベースの分類手法の試みが成功しない場合に実施される。さらに、ソフトウェア更新HTTPクライアントアプリケーション等の1つ又は少数のドメインにアクセスする正当なHTTPクライアントアプリケーションをより容易に分類することができる。
特定の実施形態によれば、方法は、URLをURLデータベースに事前に記憶されたURLと比較することを含み、URLデータベースに記憶された各URLには、前記URLが信頼デバイスに対応するか、または非信頼デバイスに対応するかを表す第4の安全性インジケータが関連付けられ、信頼URLを参照するHTTP要求メッセージを運ぶ各TCP接続は、信頼として見なされ、各TCP接続は、非信頼URLが非信頼として見なされることを暗に示す。
したがって、URLベースのより簡単な分類手法は、実施が簡単である。
別の態様によれば、本発明は、信頼TCP接続または非信頼TCP接続としてHTTPトラフィックを搬送するTCP接続を分類するデバイスにも関する。前記デバイスは、TCP接続によって搬送されるHTTPトラフィック内のHTTPセッションのHTTP要求メッセージを検出する手段と、検出されたHTTP要求メッセージのヘッダから、HTTPセッションのシグネチャを構築するための情報を取得する手段と、HTTPセッションのシグネチャを、分析デバイスによって事前にシグネチャデータベースに記憶されたシグネチャと比較する手段と、HTTPセッションのシグネチャが、シグネチャデータベースに分析デバイスによって事前に記憶され、信頼HTTPクライアントアプリケーションを表すシグネチャに一致する場合、TCP接続を信頼接続として分類する手段と、HTTPセッションのシグネチャが、シグネチャデータベースに分析デバイスによって事前に記憶されたいずれのシグネチャにも一致しない場合、認証手順を実行する手段であって、認証手順は、認証データを提供するようにユーザに要求する、実行する手段と、有効な認証データがユーザによって提供される場合、HTTPセッションのシグネチャをシグネチャデータベースに追加し、HTTPセッションのシグネチャは、シグネチャデータベース内で信頼HTTPクライアントアプリケーションを表し、TCP接続を信頼接続として分類する手段と、有効な認証データがユーザによって提供されない場合、TCP接続を非信頼接続として分類する手段とを備える。
本発明は、通信ネットワークからダウンロードすることができ、かつ/またはコンピュータによって読み出し、プロセッサによって実行することができる媒体に記憶することができるコンピュータプログラムにも関する。このコンピュータプログラムは、前記プログラムがプロセッサによって実行されると、実施形態の任意の1つでの上述した方法を実施する命令を含む。本発明は、そのようなコンピュータプログラムを記憶した情報記憶媒体にも関する。
デバイスおよびコンピュータプログラムに関連する特徴および利点は、対応する上述した方法に関して既に述べたものと同一であるため、前記特徴および利点についてはここで繰り返さない。
本発明の特徴は、実施形態例の以下の説明を読むことからより明確に浮かび上がり、前記説明は、添付図面を参照して行われる。
本発明を実施し得る通信システムを概略的に表す。 通信システムの分析デバイスのアーキテクチャを概略的に表す。 分析デバイスのモジュール式構成を概略的に表す。 シグネチャ情報をシグネチャデータベースに記憶する構造の例を概略的に表す。 TCP接続を分類する、分析デバイスによって実行されるアルゴリズムを概略的に表す。 TCP接続のシグネチャをチェックし、必要な場合、シグネチャデータベースを更新する、分析デバイスによって実行されるアルゴリズムを概略的に表す。 新しいエントリをIPアドレスデータベースに追加する、分析デバイスによって実行されるアルゴリズムを概略的に表す。
ユーザの制御下にないアプリケーション(例えば、マルウェア、ルートキット)を検出する文脈の中で、HTTPトラフィックを搬送するTCP接続を信頼または非信頼として分類するに当たり性能を改善するとともに、ユーザの環境に従ってTCP接続の分類を動的に適合させるために、HTTPトラフィック内のHTTP要求メッセージに含まれる情報からHTTPセッションシグネチャを特定し、特定されたシグネチャが、シグネチャデータベースに事前に記憶されたシグネチャに一致するか否かを更に判断することが提案される。
シグネチャがシグネチャデータベースに記憶されたシグネチャに一致する場合、記憶されたシグネチャに関連付けられた安全性インジケータは、TCP接続が信頼TCP接続として分類される必要があるか、または非信頼TCP接続として分類される必要があるかを示す。
そして、特定されたシグネチャが、シグネチャデータベースに事前に記憶されたいずれのシグネチャとも一致しない場合、ユーザ認証手順が実行され、特定されたシグネチャはシグネチャデータベースに追加される。
有効なユーザ認証データがユーザ認証手順内で受信される場合、特定されたシグネチャには、好ましくは、シグネチャデータベースにおいて、任意の対応するTCP接続が信頼TCP接続として分類される必要があることを示す安全性インジケータが関連付けられる。
有効なユーザ認証データがユーザ認証手順内で受信されない場合、特定されたシグネチャには、好ましくは、シグネチャデータベースにおいて、任意の対応するTCP接続が非信頼TCP接続として分類される必要があることを示す安全性シンジケータが関連付けられる。
ユーザの制御下にないアプリケーション(例えば、マルウェア、ルートキット)は、有効なユーザ認証データを提供することができないため、シグネチャデータベースには、HTTPクライアントアプリケーションに関してユーザの環境を表すシグネチャが埋められる。
有効なユーザ認証データが受信される場合、正当なHTTPクライアントアプリケーションを識別することができ、次に、任意の対応するTCP接続が信頼TCP接続として分類される必要があることを示す安全性インジケータが関連付けられる。
一方、有効なユーザ認証データが受信されない場合、ユーザの制御下になりHTTPクライアントアプリケーションを識別することができ、任意の対応するTCP接続が非信頼TCP接続として分類される必要があることを示す安全性インジケータが関連付けられる。
好ましい実施形態では、シグネチャは、HTTP要求メッセージ内のHTTP必須ヘッダの有効存在、HTTP要求メッセージ内のHTTP任意選択的ヘッダの有効存在、HTTP必須ヘッダがHTTP要求メッセージ内で現れるシーケンス、およびHTTP必須ヘッダの幾つかの各値に基づく。
実際に、ユーザの制御下にない大半のアプリケーションは、HTTPヘッダ内の正確な記入、より詳細には、HTTP必須ヘッダが前記アプリケーションによって生成されたHTTP要求メッセージ内で表されるシーケンスに注意を払わない。
換言すれば、正当なHTTPクライアントアプリケーションおよび疑いのあるHTTPクライアントアプリケーションは通常、HTTPヘッダに同じようには記入せず、HTTP必須ヘッダを同じ順序(すなわち、HTTP必須ヘッダのシーケンス)では提示しない。
したがって、この態様を使用して、前記HTTP要求メッセージが属するHTTPセッションのシグネチャを構築し、HTTPセッションのシグネチャは、TCP接続の信頼特徴または非信頼特徴(すなわち、HTTPセッションに参加しているHTTPクライアントアプリケーションの信頼特徴または非信頼特徴)を表す。
図1は、本発明を実施し得る通信システムを概略的に表す。
通信システムは、分析デバイス130を備える。分析デバイス130は、少なくとも1つの第1のHTTPデバイス(例えばウェブサーバ)と、少なくとも1つの第2のHTTPデバイス(例えばウェブクライアント)との間でHTTPトラフィックが運ばれる経路に配置されるHTTPトラフィックは、TCP接続内で搬送される。
図1に示される特定の実施形態では、分析デバイス130は、通信デバイス100内に含まれる。通信デバイス100は、第1の通信ネットワーク101および第2の通信ネットワーク102を相互接続するように構成される。第1のデバイスはそれぞれ、第1の通信ネットワーク101に接続され、第2のデバイスはそれぞれ、第2の通信ネットワーク102に接続される。図1は、1つの第1のデバイス110および1つの第2のデバイス120を例示的に示す。
したがって、通信デバイス100は、通信デバイス100を介して送信されるTCPセグメントを分析デバイス130に転送するように更に構成され、それにより、分析デバイス130が、TCPセグメントによって運ばれているHTTPトラフィックを検出できるようにする。
通信デバイス100は、通常、住居用ゲートウェイデバイスである。第2の通信ネットワーク102はローカルエリアネットワーク(LAN)であり、第1の通信ネットワーク101はインターネットである。通信デバイス100は、より多くの通信ネットワークを相互接続し得る。通信デバイス100は、IPルータ、Wi−Fi(登録商標)アクセスポイント、またはWi−Fi(登録商標)アクセスポイントを実施しているルータとし得る。
通信システムは、監督デバイス121を更に備え得る。監督デバイス121は、分析デバイス130にアクセス可能にされる。一実施形態では、通信デバイス100が住宅用ゲートウェイデバイスであり、第2の通信ネットワーク102がLANである場合、監督デバイス121は、好ましくは、前記LANに配置される。
監督デバイス121は、分析デバイス130からLANを介してアラーム、すなわちメッセージの形態でのアラームを受信するように構成される。したがって、監督デバイス121は、前記アラームを表す情報をユーザに提供することが可能である。
監督デバイス121は、図6に関して以下詳述するユーザ認証手順の範囲において、分析デバイス130の代理としてユーザと対話するように更に構成し得る。
図2は、分析デバイス130のハードウェアアーキテクチャを概略的に表す。示されるアーキテクチャによれば、分析デバイス130は、通信バス210によって相互接続された以下の構成要素を備える:プロセッサ、マイクロプロセッサ、マイクロコントローラ、またはCPU(中央演算処理装置)200、RAM(ランダムアクセスメモリ)201、ROM(読み取り専用メモリ)202、HDD(ハードディスクドライブ)203、またはSD(セキュアデジタル)カードリーダ等の記憶手段に記憶された情報を読み出すように構成される任意の他のデバイス、ならびに分析デバイス130を、例えば、第1の通信ネットワーク101および第2の通信ネットワーク102等の少なくとも1つの通信ネットワークに接続できるようにする通信インターフェースのセット204。
CPU200は、ROM202、SDカード等の外部メモリ、またはHDD203からRAM201にロードされた命令を実行することが可能である。分析デバイス130が電源投入された後、CPU200は、RAM201から命令を読み出し、これらの命令を実行することが可能である。命令は、CPU200に後述するアルゴリズムのいくつかまたは全てのステップを実行させる1つのコンピュータプログラムを形成する。
後述するアルゴリズムのありとあらゆるステップは、PC(パーソナルコンピュータ)、DSP(デジタル信号プロセッサ)、もしくはマイクロコントローラ等のプログラマブル計算マシンによる命令セットまたはプログラムセットの実行により、ソフトウェアにおいて実施してもよく、またはFPGA(フィールドプログラマブルゲートアレイ)もしくはASIC(特定用途向け集積回路)等のマシンもしくは専用構成要素によってハードウェアにおいて実施してもよい。
図3は、分析デバイス130のモジュール式構成の例を概略的に表す。
分析デバイス130は、送受信モジュール301を備える。送受信モジュール301は、通信デバイス100が接続された各通信ネットワークからTCPセグメントを受信するように構成されるとともに、必要な場合、前記TCPセグメントが各アドレスに向けたルートを続けることができるように、受信したTCPセグメントを伝搬するように構成される。
送受信モジュール301は、通信デバイス100が接続された各通信ネットワークからUDP(標準文書RFC768によって定義されるような「User Datagram Protocol: ユーザデータグラムプロトコル」)データグラムを受信し、前記UDPデータグラムがルートを続けることができるように、受信したUDPデータグラムを伝搬するように更に構成し得る。
分析デバイス130は、各オープンTCP接続の状態監視の実行、単一のHTTP要求メッセージをセグメント化された様式で運ぶTCPセグメントの再組み立てを担うTCP分析モジュール302を更に備える。そうするために、TCP分析モジュール302は、TCPセグメントを送受信モジュール301から受信するように構成される。
TCP分析モジュール302は、非HTTP要求メッセージに対応するTCPセグメントを検出し、前記TCPセグメントがアドレスに向けたルートを続けることができるように、前記TCPセグメントを送受信モジュール301に返送するように更に構成される。TCP分析モジュール302は、HTTP要求メッセージに対応するTCPセグメントを検出し、HTTP要求メッセージを更に分析するために、前記TCPセグメントをURL/IPベースの分類モジュール303に送信するように更に構成される。
一実施形態では、前記HTTP要求メッセージは、URL/IPベースの分類モジュール303に提供するために、TCP分析モジュール302によってコピーされ、次に、TCP分析モジュール302は、TCP分析モジュール302によって受信されるものと同じシーケンス(すなわち、順序)でTCPセグメントを伝搬するように構成される。したがって、TCP接続の形態および待ち時間への分析デバイス130の影響は制限される。
別の実施形態では、分析デバイス130によって分析されると、前記HTTP要求メッセージは、TCP分析モジュール302に再び提供され、TCP分析モジュール302は次に、他のTCPセグメントを保留にして、TCP分析モジュール302によって受信されたものと同じシーケンス(すなわち、順序)でのTCPセグメントの伝搬を保証するように構成される。したがって、TCP接続の形態への分析デバイス130の影響は制限され、待ち時間のみがわずかに影響を受ける。
更に別の実施形態では、前記HTTP要求メッセージは、信頼TCP接続に属するものとしてそれぞれ分類される場合、TCP分析モジュール302に再び提供される。前記HTTP要求メッセージが非信頼TCP接続に属するものとしてそれぞれ分類される場合、TCP分析モジュール302に通知が送信される。
TCP分析モジュール302は、この場合、分析デバイス130が非信頼TCP接続からHTTP要求メッセージを取り下げない限り、他のTCPセグメントを保留にして、TCP分析モジュール302によって受信されたものと略同じシーケンス(すなわち、順序)でのTCPセグメントの伝搬を保証するように構成される。
分析デバイス130は、URL/IPベースの分類モジュール303を更に備える。
URL/IPベースの分類モジュール303は、TCP接続によって運ばれるTCPセグメントに含まれるIP宛先アドレス値および/またはURLに従ってTCP接続を分類するように構成される。
URL/IPベースの分類モジュール303は、TCP分析モジュール302からHTTP要求メッセージを受信するように構成される。
URL/IPベースの分類モジュール303は、HTTP要求メッセージに含まれるIP宛先アドレスおよび/またはURLを、IPアドレスデータベース310および/またはURLデータベース311にそれぞれ含まれる情報と比較するように構成される。
IPアドレスデータベース310に記憶された各IPアドレスおよびURLデータベース311に記憶された各URLには、安全性インジケータが関連付けられる。
「0」に等しい安全性インジケータは、対応するIPアドレスを有するか、または対応するURLがポイントするホストが信頼できることを意味する。したがって、対応するTCP接続は信頼接続として見なされる。
「0」とは異なる安全性インジケータは、対応するIPアドレスを有するか、または対応するURLがポイントするホストが信頼できないこと、すなわち、非信頼であることを意味し得る。したがって、対応するTCP接続は非信頼接続と見なされる。
IPアドレスは、例えば、分析デバイス130のユーザインターフェースを使用することにより、管理者によってIPアドレスデータベース310に入力される。
そのようなIPアドレスは、IPアドレスデータベース310または分析デバイス130の製造プロセス中に記憶することもできる。
そのようなIPアドレスは、第1の通信ネットワーク101等の通信ネットワークからダウンロードすることもできる。
そのようなIPアドレスは、図7に関して以下に詳述するように、IPアドレスデータベース310に自動的に追加されることもできる。
URLは、例えば、分析デバイス130のユーザインターフェースを使用することにより、管理者によってURLデータベース311に入力される。
そのようなURLは、URLデータベース311または分析デバイス130の製造プロセス中に記憶することもできる。
そのようなURLは、第1の通信ネットワーク101等の通信ネットワークからダウンロードすることもできる。
分析デバイス130は、HTTPシグネチャベースの分類モジュール304を更に備える。
HTTPシグネチャベースの分類モジュール304は、HTTP要求メッセージのHTTPヘッダに含まれる情報から構築されるHTTPセッションシグネチャに従ってTCP接続を分類するように構成される。
HTTPシグネチャベースの分類モジュール304は、URL/IPベースの分類モジュール303から、URL/IPベースの分類モジュール303が事前に分類することができなかった任意のHTTP要求メッセージを受信するように構成される。
HTTPシグネチャベースの分類モジュール304は、前記シグネチャをシグネチャデータベース312に記憶されたシグネチャと比較して、TCP接続が信頼であるか、または非信頼であるかを判断するように構成される。
好ましい実施形態では、HTTPシグネチャベースの分類モジュール304は、
HTTP要求メッセージ内のHTTP必須ヘッダおよびHTTP任意選択的ヘッダの有効存在を表す情報と、
HTTP必須ヘッダがHTTP要求メッセージ内に現れるシーケンスと、
HTTP必須ヘッダの幾つかに示される値と
から、シグネチャを構築するように構成される。
一実施形態では、分析デバイス130は、URL/IPベースの分類モジュール303およびTCP分析モジュール302を備えず、HTTPシグネチャベースの分類モジュール304と直接対話する。
分析デバイス130は、ユーザ認証モジュール305を更に備える。
ユーザ認証モジュール305は、認証手順を実行して、HTTPシグネチャベースの分類モジュール304が事前に分類することができなかったTCP接続が、信頼であるか、または非信頼であるかを判断するように構成される。
ユーザ認証モジュール305は、HTTPシグネチャベースの分類モジュール304が、TCP接続についてシグネチャデータベース312内の少なくとも1つの一致するシグネチャを見つけることができなかった場合、認証手順を起動するように構成される。
したがって、ユーザ認証モジュール305は、HTTPシグネチャベースの分類モジュール304から、HTTPシグネチャベースの分類モジュール304が事前に分類することができなかった旨の任意のHTTP要求メッセージを受信するように構成される。
ユーザ認証モジュール305は、ユーザ認証の成功に起因して信頼接続として見なされるTCP接続のシグネチャでシグネチャデータベース312を更新するように更に構成され、好ましくは、ユーザ認証の不成功に起因して非信頼接続として見なされるTCP接続のシグネチャでシグネチャデータベース312を更新するように構成される。
分析デバイス130は、アラーム生成モジュール306を更に備える。
アラーム生成モジュール306は、URL/IPベースの分類モジュール303、HTTPシグネチャベースの分類器304、またはユーザ認証モジュール305によって報告されるエラーイベントに基づいてアラーム指示を提供するように構成される。
したがって、アラーム生成モジュール306は、URL/IPベースの分類モジュール303、HTTPシグネチャベースの分類器304、およびユーザ認証モジュール305からエラーイベントを受信するように構成される。
一実施形態では、分析デバイス130は、UDP分析モジュール307およびドメイン名分析モジュール308を更に備える。UDP分析モジュール307は、UDPデータグラム内のDNS(「Domain Name System: ドメイン名システム」)サーバ応答を検出し、前記DNSサーバ応答をドメイン名分析モジュール308に提供することを担う。
そうするために、UDP分析モジュール307は、UDPデータグラムを送受信モジュール301から受信するように構成される。
一実施形態では、前記DNSサーバ応答は、UDP分析モジュール307によってコピーされて、前記DNSサーバ応答をドメイン名分析モジュール308に提供し、次に、UDP分析モジュール307は、UDP分析モジュール307によって受信される物と同じシーケンス(すなわち、順序)でUDPデータグラムを伝搬するように構成される。
したがって、UDPデータフローの形態および待ち時間への分析デバイス130の影響は制限される。
別の実施形態では、ドメイン名分析モジュール308によって分析されると、前記UDPデータグラムは、前記UDPデータグラムを伝搬するために、再びUDP分析モジュール307に提供される。
UDPはデータグラム順序に関して柔軟であるコネクションレス伝送プロトコルであるため、UDPデータグラムは、受信されるものと同じシーケンス(すなわち、順序)で伝搬しないことがある。
ドメイン名分析モジュール308は、標準文書RFC1035およびRFC3596において定義され、DNSサーバ応答に含まれるAおよび/またはAAAAレコードを調べるように構成される。前記レコードは、ドメイン名情報とのIPアドレスの関連付けを含む。
ドメイン名分析モジュール308は、DNSサーバ応答に含まれるドメイン名情報がドメイン名データベース313に存在するか否かをチェックするように構成される。
ドメイン名データベース313に記憶される各ドメイン名情報には、安全性インジケータが関連付けられる。
「0」に等しい安全性インジケータは、ドメイン名が信頼できることを意味する。「0」とは異なる安全性インジケータは、ドメイン名が信頼できない、すなわち、非信頼であることを意味する。
ドメイン名情報は、例えば、分析デバイス130のユーザインターフェースを使用することにより、管理者によってドメイン名データベース313に入力される。
ドメイン名情報は、ドメイン名データベース313または分析デバイス130の製造プロセス中に記憶することもできる。
ドメイン名情報は、第1の通信ネットワーク101等の通信ネットワークからダウンロードすることもできる。
ドメイン名分析モジュール308は、DNSサーバ応答に含まれるドメイン名情報がドメイン名データベース313に存在し、レコードに含まれるIPアドレスがIPアドレスデータベース310にまだ存在していない場合、新しいエントリをIPアドレスデータベース310に追加するように更に構成される。
前記新しいエントリは、レコードに含まれるIPアドレスであり、ドメイン名データベース313に記憶されたドメイン名情報に関連付けられた安全性インジケータが関連付けられる。これにより、IPアドレスデータベース310を自動的に埋めることができる。
特定の実施形態では、予め定義される時間が前記新しいエントリに関連付けられる。前記エントリは、前記予め定義される時間が切れた後、IPアドレスデータベース310から分析デバイス130によって除去される。
IPアドレスデータベース310、URLデータベース311、シグネチャデータベース312、および/またはドメイン名データベース313は、分析デバイス130に統合し得る。
代替的には、IPアドレスデータベース310、URLデータベース311、シグネチャデータベース312、および/またはドメイン名データベース313は、別個に実施され、次に、例えば通信ネットワークを介して分析デバイス130に接続してもよい。
図4は、シグネチャデータベース312にシグネチャを記憶する例としての構造400を概略的に表す。
シグネチャデータベース312に記憶されたシグネチャは少なくとも、
HTTP要求メッセージに存在することが予期されるHTTP必須ヘッダを表す情報と、
HTTP要求メッセージに存在することが予期されるHTTP任意選択的ヘッダを表す情報と、
HTTP必須ヘッダがHTTP要求メッセージに現れるシーケンスを表す情報と、
HTTP要求メッセージに存在するHTTP必須ヘッダの予め定義されるフィールドに含まれる値を表す情報と
を含む。
シグネチャデータベース312に記憶されたシグネチャは、図4に示される構造400等のより多くの情報を含み得る。図4に示される構造400は、以下を含む。
−HTTP必須ヘッダの第1のリスト411、
−HTTP任意選択的ヘッダの第2のリスト412、
−チェックされる値を含む予め定義されるフィールドを有するHTTP必須ヘッダの第3のリスト413、
−HTTP必須ヘッダが現れるシーケンスを表す情報414、
−チェックされる値を含む予め定義されるフィールドを有するHTTP必須ヘッダの第3のリスト413の許可される値のセット422、
−安全性インジケータ423、および
−単一のIPソースアドレスに制限することができるIPソースアドレスのセットを表す情報424。
HTTP必須ヘッダの第3のリスト413の許可された値が、文字列または正規表現であり得ることに留意されたい。
シグネチャ400はプロファイル401に基づく。
プロファイル401は、
HTTP必須ヘッダの第1のリスト411と、
HTTP任意選択的ヘッダの第2のリスト412と、
HTTP必須ヘッダの第3のリスト413と、
HTTP必須ヘッダが現れるシーケンスを表す情報414と
を含む。
プロファイルは、例えば、分析デバイス130のユーザインターフェースを使用することにより、管理者によってシグネチャデータベース312に入力される。
プロファイル401は、シグネチャデータベース312または分析デバイス130の製造プロセス中に記憶することもできる。
プロファイル401は、第1の通信ネットワーク101等の通信ネットワークからダウンロードすることもできる。
単一のプロファイルは幾つかのシグネチャによって共有し得る。
シグネチャは、上述した認証手順に続き、ユーザ認証モジュール305によってシグネチャデータベース312に入力される。
IPソースアドレスのセットを表す情報424は、シグネチャを追加または更新する際にユーザ認証モジュール305によって出願され、シグネチャがシグネチャデータベース312に追加されたHTTPクライアントアプリケーションを実施中のデバイスのIPアドレスを定義する。
ウェブブラウザ等の正当なHTTPクライアントアプリケーションは一般に、TCP接続毎に同じHTTP必須ヘッダのリスト、同じHTTP任意選択的ヘッダのリスト、HTTP必須ヘッダが現れる同じシーケンスを使用する。
さらに、特定の値は、前記正当なHTTPクライアントアプリケーションによって生成されるHTTP要求メッセージのHTTP必須ヘッダの同じ予め定義されるフィールドに含まれる。
したがって、図4に示されるようなプロファイルに頼り、シグネチャデータベース312に挿入されるシグネチャの作成を簡易化することができる。
図5は、TCP接続を分類する、分析デバイス130によって実行されるアルゴリズムを概略的に表す。
ステップS500において、分析デバイス130は、第2のデバイス120から第1のデバイス110に送信されたTCPセグメントを受信する。実際に、既に述べたように、分析デバイス130は、第1のデバイス110と第2のデバイス120とのデータ経路に配置される。図3に示されるモジュール式構成の範囲において、ステップS500は送受信モジュール301によって実行される。
続くステップS501において、分析デバイス130は、受信したTCPセグメントに基づいて再組み立てを実行し、再組み立て後、TCPセグメント内のHTTPセッションのHTTP要求メッセージを検出しようとする。図3に示されるモジュール式構成の範囲において、ステップS501は、TCP分析モジュール302によって実行される。
続くステップS502において、分析デバイス130は、HTTPセッションのシグネチャを構築できるように、検出されたHTTP要求メッセージから情報を取得する。
好ましい実施形態では、分析デバイス130は、少なくとも、
HTTP要求メッセージに含まれるHTTP必須ヘッダおよびHTTP任意選択的ヘッダのそれぞれを表す情報と、
前記HTTP必須ヘッダがHTTP要求メッセージ内で現れるシーケンスを表す情報と、
HTTP必須ヘッダのフィールドに含まれる値を表す情報と
を取得する。
分析デバイス130は、
IPソースアドレスHTTP要求メッセージ、すなわち、HTTP要求メッセージを発したデバイスのIPアドレスを表す情報と、
IP宛先アドレス、すなわち、HTTP要求メッセージが意図されたデバイスのIPアドレスを表す情報と、
HTTP要求メッセージに含まれるURLを表す情報と
を更に取得し得る。
IPソースアドレスを表す情報は、シグネチャデータベース312に記憶されたシグネチャについて第2のデバイス120が事前に認証されたか否かを任意選択的に判断する(認証手順を実行したことにより)ために使用される。
IP宛先アドレスを表す情報およびURLを表す情報は、IP宛先アドレスに対応する第1のデバイス110が信頼デバイスであるかまたは非信頼デバイスであるかを任意選択的に判断するために、使用される。
続く任意選択的なステップS503において、分析デバイス130は、検出されたHTTP要求メッセージからステップS502において得られたIP宛先アドレスをチェックする。これを達成するために、分析デバイス130は、前記IP宛先アドレスをIPアドレスデータベース310の内容と比較する。
図3に示されるモジュール式構成の範囲において、ステップS503はURL/IPベースの分類モジュール303によって実行される。
IP宛先アドレスがIPアドレスデータベース310に含まれており、関連付けられた安全性インジケータが「0」とは異なる場合、TCP接続が非信頼であることを意味し、したがって、エラーイベントがアラーム生成器306に向けて生成される。
そのようなIP宛先アドレスに頼ることによるTCP接続の分類は、ソフトウェア更新HTTPクライアントアプリケーション等の1つまたは少数のドメインにアクセスする正当なHTTPクライアントアプリケーションの分類をより容易にすることもできる。
続くステップS504において、分析デバイス130は、ステップS502において得られたIP宛先アドレスがIPアドレスデータベース310に含まれているか否かをチェックする。
ステップS502において得られたIP宛先アドレスがIPアドレスデータベース310に含まれている場合、ステップS510が実行され、その他の場合、ステップS505が実行される。
任意選択的なステップS505において、分析デバイス130は、検出されたHTTP要求メッセージからステップS502において得られたURLをチェックする。これを達成するために、分析デバイス130は、前記URLをURLデータベース311の内容と比較する。
図3に示されるモジュール式構成の範囲において、ステップS505は、URL/IPベースの分類モジュール303によって実行される。
URLがURLデータベース311に含まれ、関連付けられた安全性インジケータが「0」とは異なる場合、TCP接続が非信頼であることを意味し、したがって、エラーイベントがアラーム生成器306に向けて生成される。そのようなURLに頼ることによるTCP接続の分類は、ソフトウェア更新HTTPクライアントアプリケーション等の1つまたは少数のドメインにアクセスする正当なHTTPクライアントアプリケーションの分類をより容易にすることもできる。
続くステップS506において、分析デバイス130は、ステップS502において得られたURLがURLデータベース311に含まれているか否かをチェックする。
ステップS502において得られたURLがURLデータベース311に含まれている場合、ステップS510が実行され、その他の場合、ステップS507が実行される。
ステップS507において、分析デバイス130は、検出されたHTTP要求メッセージからステップS502において得られた情報から、HTTPセッションのシグネチャを構築する。分析デバイス130は、構築されたシグネチャを更にチェックする。これを達成するために、分析デバイス130は、構築されたシグネチャをシグネチャデータベース312の内容と比較する。
図3に示されるモジュール式構成の範囲において、ステップS507は、潜在的にユーザ認証モジュール305と併せて、HTTPシグネチャベースの分類モジュール304によって実行される。
ステップS507の詳細な実施形態は、以下、図6に関して詳述される。
構築されたシグネチャがシグネチャデータベース312に含まれており、関連付けられた安全性インジケータが「0」とは異なる場合、TCP接続が非信頼であることを意味し、したがって、エラーイベントがアラーム生成器306に向けて生成される。
続くステップS508において、分析デバイス130は、構築されたシグネチャがシグネチャデータベース312に含まれているか否かをチェックする(前記シグネチャが、HTTP要求メッセージの受信前にシグネチャデータベース312に存在していたか、またはシグネチャがユーザ認証モジュール305によって追加されたかのいずれかのため)。
構築されたシグネチャがアプリケーションデータベース312に含まれている場合、ステップS510が実行され、その他の場合、ステップS509が実行される。
ステップS509において、分析デバイス130はアラームを生成する。
図3に示されるモジュール式構成の範囲において、ステップS509は、検出されたHTTP要求メッセージに含まれるIP宛先アドレスおよび/またはURLをチェックする際にURL/IPベースの分類モジュール303によって生成されるエラーイベントから、HTTPシグネチャベースの分類モジュール304によって生成されるエラーイベントから、またはユーザ認証モジュール305によって生成されるエラーイベントから、アラーム生成モジュール306によって実行される。
ステップS510において、分析デバイス130は、IPアドレスデータベース310において見つけられたIPアドレス(ステップS510がステップS504の実行に続けて実行される場合)、URLデータベース311において見つけられたURL(ステップS510がステップS506の実行に続けて実行される場合)、またはシグネチャデータベース312において見つけられたシグネチャ(ステップS510がステップS508の実行に続けて実行される場合)に関連付けられた安全性インジケータが「0」に等しいか否かをチェックする。
安全性インジケータが「0」とは異なる場合、TCP接続が非信頼であることを意味し、したがって、既に述べたように、エラーイベントがアラーム生成器306に向けて生成される。したがって、分析デバイス130は、ステップS509を実行することによってアラームを生成する。
そのようなアラームは、分析デバイス130が、関わるTCP接続のTCPセグメントをアドレスに向けたルートで伝搬せずに、前記TCPセグメントを取りやめることを暗に示し得る。
そのようなアラームは、変形において、分析デバイス130が、前記TCPセグメントの取りやめありまたはなしで、ユーザに向けられたアラーム指示、例えば、光または音を生成することを暗に示し得る。
そのようなアラーム指示の提供は、分析デバイス130によって保持されるログファイル内の対応するラインに記入することもできる。
安全インジケータが「0」に等しい場合、TCP接続が信頼であることを意味し、ステップS511が実行され、検出されたHTTP要求メッセージは安全と見なされる。
図6は、HTTPセッションのシグネチャをチェックし、必要な場合にはシグネチャデータベース312を更新する、分析デバイス130によって実行されるアルゴリズムを概略的に表す。
図6のアルゴリズムは、ステップS507の詳細な実施形態である。
図3に示されるモジュール式構成の範囲において、図6のアルゴリズムは、より詳細には、別段のことが示される場合を除き、HTTPシグネチャベースの分類モジュール304によって実行される。
図6のアルゴリズムは、ステップS501において検出されたHTTP要求メッセージに一致するシグネチャデータベース312に記憶されたシグネチャを見つけようとする。
ステップS600において、分析デバイス130は、シグネチャデータベース312に記憶されたシグネチャを選択する。記憶されたシグネチャは、好ましくは、図4に関して既に詳述したフォーマットに従って構築される。
続くステップS601において、分析デバイス130は、IPソースアドレス、すなわち、HTTP要求メッセージを発したデバイスのIPアドレスをチェックして、選択されたシグネチャが前記HTTP要求メッセージに適用可能であるか否かを見つけ出す。
続くステップS602において、分析デバイス130は、前記IPソースアドレスが、選択されたシグネチャ内に規定されたIPソースアドレスのセットに含まれるか否かをチェックする。IPソースアドレスが、選択されたシグネチャに規定されたIPソースアドレスのセットに含まれる場合、ステップS603が実行され、その他の場合、ステップS612が実行される。
ステップS603において、分析デバイス130は、HTTP要求メッセージのHTTPヘッダをチェックして、選択されたシグネチャにおいて規定される任意のHTTP必須ヘッダがHTTP要求メッセージに存在するか否かを見つけ出す。
続くステップS604において、分析デバイス130は、選択されたシグネチャにおいて規定された各HTTP必須ヘッダが、HTTP要求メッセージに存在するか否かをチェックする。選択されたシグネチャにおいて規定された各HTTP必須ヘッダがHTTP要求メッセージに存在する場合、ステップS605が実行され、その他の場合、ステップS612が実行される。
ステップS605において、分析デバイス130は、HTTP要求メッセージのHTTPヘッダをチェックして、前記HTTPヘッダがHTTP必須ヘッダの第1のリスト411または選択されたシグネチャのHTTP任意選択的ヘッダの第2のリスト412に存在するか否かを見つけ出す。
続くステップS606において、分析デバイス130は、HTTP要求メッセージの各HTTPヘッダが、HTTP必須ヘッダの第1のリスト411または選択されたシグネチャのHTTP任意選択的ヘッダの第2のリスト412に存在するか否かをチェックする。各HTTPヘッダが選択されたシグネチャに存在する場合、ステップS607が実行され、その他の場合、ステップS612が実行される。
ステップS607において、分析デバイス130は、HTTP要求メッセージのHTTP必須ヘッダが現れるシーケンスをチェックして、前記シーケンスが、選択されたシグネチャにおいて規定されたHTTP必須ヘッダのシーケンスに一致するか否かを見つけ出す。
続くステップS608において、分析デバイス130は、HTTP要求メッセージのHTTP必須ヘッダが現れるシーケンスが、選択されたシグネチャにおいて規定されたHTTP必須ヘッダのシーケンスに一致するか否かをチェックする。HTTP要求メッセージのHTTPヘッダが現れるシーケンスが、選択されたシグネチャにおいて規定されるHTTPヘッダのシーケンスに一致する場合、ステップS609が実行され、その他の場合、ステップS612が実行される。
ステップS609において、分析デバイス130は、HTTP要求メッセージのHTTP必須ヘッダに存在する値をチェックして、前記HTTPヘッダが選択されたシグネチャにおいて規定される値を含むか否かを見つけ出す。
続くステップS610において、分析デバイス130は、HTTP要求メッセージのHTTPヘッダが、選択されたシグネチャにおいて規定される値を含むか否かをチェックする。HTTP要求メッセージのHTTPヘッダが、選択されたシグネチャにおいて規定される値を含む場合、ステップS611が実行され、その他の場合、ステップS612が実行される。
ステップS611において、分析デバイス130は、HTTP要求メッセージに対応するシグネチャが、シグネチャデータベース312において見つけられたことを考慮する。これは、HTTP要求メッセージが、既に事前に直面したことがあるアプリケーションについてのTCP接続に属することを意味する。
図4に示されるように、選択されたシグネチャは安全性インジケータを含む。この安全性インジケータは、ステップS510に関して既に説明したように、HTTP要求メッセージが、信頼されるTCP接続に属するか否かを判断したために使用される。
図6のアルゴリズムは、次に終了する。
ステップS612において、分析デバイス130は、シグネチャデータベース312に記憶された全てのシグネチャが考慮されたか否かをチェックする。シグネチャデータベース312に記憶された全てのシグネチャが考慮された場合、HTTP要求メッセージが、シグネチャデータベース312に既に記憶されたいかなるシグネチャに対応しないことを意味し、ステップS613が実行され、その他の場合、ステップS600は、まだ考慮されていない、シグネチャデータベース312に記憶されたシグネチャを選択することによって繰り返される。
ステップS613において、分析デバイス130は、認証手順を起動させて、HTTP要求メッセージがユーザによって信頼されるアプリケーションによって送信されたか否かを判断する。図3に示されるモジュール式構成の範囲において、認証手順は、HTTPシグネチャベースの分類モジュール304による要求される場合、ユーザ認証モジュール305によって実行される。
認証手順が成功する場合、ステップS615において、対応するシグネチャはシグネチャデータベース312に追加され、次に、ステップS611が実行される。シグネチャは信頼TCP接続に対応するため、シグネチャデータベース312に追加されたシグネチャ内の安全性インジケータは、この場合、「0」に設定される。
認証手順が成功しない場合、ステップS616において、分析デバイス130は、HTTP要求メッセージに対応するシグネチャがシグネチャデータベース312において見つけられなかったことを考慮する。そして、図6のアルゴリズムは終了する。したがって、これは、図5のアルゴリズムの範囲において、HTTP要求メッセージがアラームの生成を暗に示すことを意味する。
変形では、認証手順が成功しない場合、ステップS616において、対応するシグネチャはシグネチャデータベース312に追加され、次に、ステップS611が実行される。
前記シグネチャは非信頼TCP接続に対応するため、シグネチャデータベース312に追加されたシグネチャ内の安全性インジケータは、この場合、「0」とは異なる値に設定される。
この場合、図6のアルゴリズムは、HTTP要求メッセージがシグネチャデータベース312に記憶されたシグネチャに一致することを考慮することにより、終了する。
したがって、これは、図5のアルゴリズムの範囲において、HTTP要求メッセージに一致するシグネチャに関連付けられた安全性インジケータが「0」とは異なる値に設定されるため、HTTP要求メッセージがアラームの生成を暗に示すことを意味する。
認証手順は、HTTP要求メッセージ(事前に分類することができなかった)を生成したHTTPクライアントアプリケーションが、ユーザの制御下にあるか、またはユーザの制御から隠されているかを判断することを目的とする。
認証手順の目的は、ウェブブラウザ等の正当なアプリケーションをマルウェア、ルートキット、またはユーザの制御外で実行中の任意のソフトウェア等の悪意のあるアプリケーションから明確に区別することである。
一実施形態では、認証手順は以下のようである:分析デバイス130は、HTTP要求メッセージを発したデバイスに、分析デバイス130によって管理される仮想URLにリダイレクトするHTTP応答メッセージを送信する。
次に、HTTP要求メッセージを発したデバイスは、別のHTTP要求メッセージを仮想URLに送信することによって反応し、分析デバイス130は、ログイン/パスワードHTML(「ハイパーテキストマークアップ言語」)フォームと、好ましくは、プロファイル選択フィールドとを含むウェブページで答える。
したがって、ユーザは、有効なログインおよび有効なパスワード、すなわち、分析デバイス130に事前に知られたログインおよびパスワードでフォームに記入することが予期される。
ユーザはまた、一致するプロファイルの予め定義されたセットの中から、どのプロファイル401を適用するかを選択することも予期される。
次に、HTTP要求メッセージを発したデバイスは、ユーザによって入力されたログインおよびパスワードと、もしあれば、選択されたプロファイルとを分析器130に送信する。
フォームが有効に記入される場合、分析デバイス130は、TCP接続が信頼であると見なす。
フォームが無効に記入される場合、分析デバイス130は、潜在的には、有効に記入されたフォームを取得した最大試行回数後、TCP接続が非信頼であると見なす。
予め定義された時間が切れた後、ウェブページへの応答が受信されない場合、分析デバイス130は、TCP接続は非信頼であると見なす。
プロセスを簡易化するために、ログイン/パスワード手法は、マシンではなく人間によってのみ解くことが意図されるパズル(「CAPTCHA」として知られ、これは、「コンピュータと人間を区別する完全に自動化された公開チューリングテスト(Completely Automated Public Turing test to tell Computers and Humans Apart)」を表す)手法で置換することができる。そのようなパズルは、HTTPクライアントアプリケーションが人間であるか否かを判断するために計算技術で使用される一種のチャレンジ−レスポンステストである。主な利点は、ログインおよびパスワード情報を記憶するデータベースの保持を回避することである。
図3に示されるモジュール式構成の範囲において、分析デバイス130に対する認証手順のステップは、ユーザ認証モジュール305によって実行される。
別の実施形態では、認証は、監督デバイス121と連携して実行される。この場合、HTTP要求メッセージは、認証手順中、保留される。
次に、分析デバイス130は、監督デバイス121と通信して、ユーザ認証を要求し、したがって、ユーザは、監督デバイスを介してフォームに記入することが予期される。
HTTP要求メッセージから抽出された追加情報もユーザに表示して、ユーザがどのHTTPクライアントアプリケーションが認証手順に関わっているかを見つけ出すのを助け得る。
したがって、信頼アプリケーション、すなわち、信頼TCP接続の宣言を可能にするが、前記アプリケーションは、ウェブページの表示が可能ではないマシンで実行される。
認証手順の範囲でのユーザとの対話は、分析デバイス130のユーザインターフェースを介して実行することもできる。したがって、信頼アプリケーション、すなわち、信頼TCP接続を宣言することもできるようにするが、前記アプリケーションは、ウェブページの表示が可能ではないマシンで実行される。
シグネチャデータベース312に記憶するシグネチャを構築するために、分析デバイス130は、適合するプロファイルのリストを選択し、HTTP要求メッセージが、選択されたプロファイルがある場合、選択された各プロファイルに準拠することをチェックする。
分析デバイス130は、選択された各プロファイル内の全てのHTTP必須ヘッダが、HTTP要求メッセージに存在すること、およびHTTP要求メッセージ内の全てのヘッダが、選択された各プロファイル内のHTTP必須ヘッダまたはHTTP任意選択的ヘッダとして列挙されていることをチェックする。
2つ以上のプロファイルが選択される場合、ユーザは、分析デバイス130によって選択されたプロファイルのリストの中から1つのプロファイルを選択することが予期される。
分析デバイス130は、ユーザによって選択されるプロファイルにおいて、値をチェックする必要があるHTTP必須ヘッダのリストに属するHTTP必須ヘッダの値を更に取得する。
安全性インジケータは、信頼HTTPクライアントアプリケーション、すなわち、信頼TCP接続を示すために、「0」に設定され、非信頼HTTPクライアントアプリケーション、すなわち、非信頼TCP接続を示すために、「0」とは異なる値に設定される。
分析デバイス130は、HTTP要求メッセージを発したデバイスのIPアドレスを更に取得する。
次に、分析デバイス130は、それに従ってシグネチャ構造400を記入する。
シグネチャが、HTTP要求メッセージを発したデバイスのIPアドレスが示されていない場合を除き、シグネチャデータベース312に既に存在する場合、分析デバイス130は、シグネチャデータベース312に記憶された前記シグネチャに含まれるIPソースアドレスセットを更新する。
これは、図4に示されるシグネチャフォーマットに従って、アイテム411、412、413、414、422、および423が、アイテム424において識別されるデバイスで実行中のHTTPクライアントアプリケーションについて共有されることを除き、シグネチャを単に追加することに対応する。
図7は、IPアドレスデータベース311に新しいエントリを追加する、分析デバイス130によって実行されるアルゴリズムを概略的に表す。図3に示されるモジュール式構成の範囲では、図7のアルゴリズムは、より詳細には、別段のことが記される場合を除き、ドメイン名分析モジュール308によって実行される。
ステップS700において、分析デバイス130はUDPデータグラムを受信する。図3に示されるモジュール式構成の範囲において、ステップS701はUDP分析モジュール307によって実行される。
続くステップS701において、分析デバイス130は、受信したUDPデータグラム内のDNSサーバ応答を検出しようとする。図3に示されるモジュール式構成の範囲において、ステップS701もUDP分析モジュール307によって実行される。
続くステップS702において、分析デバイス130は、検出されたDNSサーバ応答から情報を取得する。そのような情報は、ドメイン名情報とのIPアドレスの関連付けを含む、A型(IPv4アドレス)またはAAAA型(IPv6アドレス)のレコードである。
続くステップS703において、分析デバイス130は、検出されたDNSサーバ応答から取得されたドメイン名情報が、ドメイン名データベース313に存在するか否かをチェックする。
続くステップS704において、分析デバイス130は、検出されたDNSサーバ応答から取得されたドメイン名情報が、ドメイン名データベース313から検索されたか否かをチェックする。検出されたDNSサーバ応答から取得されたドメイン名情報が、ドメイン名データベース313から検索された場合、ステップS706が実行され、その他の場合、ステップS705が実行され、図7のアルゴリズムは終了する。
ステップS706において、分析デバイス130は、新しいエントリをIPアドレスデータベース310に追加する。新しいエントリは、ドメイン名情報に関連付けてレコードに含まれるIPアドレスに対応する。
次に、前記IPアドレスには、IPアドレスデータベース310において、ドメイン名データベース313において前記ドメイン名情報に関連付けられた安全性インジケータに一致する安全性インジケータが関連付けられる。
特定の実施形態では、前記IPアドレスには、予め定義される時間も関連付けられる。その場合、対応するエントリは、前記予め定義される時間が切れた後、分析デバイス130によってIPアドレスデータベース310から除去される。
したがって、図7のアルゴリズムは、IPアドレスデータベース310を埋めることができる。DNSサーバ応答の分析によってIPアドレスデータベース310を埋める本明細書に記載される原理が、HTTPセッションシグネチャの任意の分析から独立して実施し得ることに留意し得る。

Claims (14)

  1. 分析デバイスによって実行される、信頼TCP接続または非信頼TCP接続としてHTTPトラフィックを搬送するTCP接続を分類する方法であって、
    前記TCP接続によって搬送される前記HTTPトラフィック内のHTTPセッションのHTTP要求メッセージを検出することと、
    前記検出されたHTTP要求メッセージのヘッダから、前記HTTPセッションのシグネチャを構築するための情報を取得することと、
    前記HTTPセッションの前記シグネチャを、前記分析デバイスによって事前にシグネチャデータベースに記憶されたシグネチャと比較することと、
    前記HTTPセッションの前記シグネチャが、前記シグネチャデータベースに前記分析デバイスによって事前に記憶され、信頼HTTPクライアントアプリケーションを表すシグネチャに一致する場合、前記TCP接続を信頼接続として分類することと、
    前記HTTPセッションの前記シグネチャが、前記シグネチャデータベースに前記分析デバイスによって事前に記憶されたいずれのシグネチャにも一致しない場合、認証データを提供するようにユーザに要求する認証手順を実行することと、
    有効な認証データが前記ユーザによって提供される場合、前記HTTPセッションの前記シグネチャを前記シグネチャデータベースに追加し、前記HTTPセッションの前記シグネチャは、前記シグネチャデータベース内で信頼HTTPクライアントアプリケーションを表し、前記TCP接続を信頼接続として分類することと、
    有効な認証データが前記ユーザによって提供されない場合、前記TCP接続を非信頼接続として分類することと
    を含み、
    前記認証手順は、
    前記検出されたHTTP要求メッセージを発したデバイスに応答を送信することであって、前記応答は、前記検出されたHTTP要求メッセージを発した前記デバイスを別のURLにリダイレクトする、送信することと、
    前記検出されたHTTP要求メッセージを発した前記デバイスから、前記別のURLを参照する別のHTTP要求メッセージを受信することと、
    前記別のHTTP要求メッセージに応答して、前記ユーザが認証情報を入力することができるウェブページを送信することと、
    有効な認証情報が受信される場合、前記TCP接続を信頼と見なし、その他の場合、前記TCP接続を非信頼と見なすことと
    を含み、
    前記ウェブページは、認証情報としてログインおよびパスワードを前記ユーザが入力できるようにするよう構成され、前記分析デバイスは、前記入力されたログインおよびパスワードを事前に記憶されたログインおよびパスワードと比較するか、または
    前記ウェブページは、CAPTCHA画像を表示し、前記ユーザが文字列を入力できるようにするよう構成され、前記分析デバイスは、前記入力された文字列を前記表示されたCAPTCHA画像に対応する予め定義される文字と比較し、
    前記ウェブページは、前記検出されたHTTP要求メッセージに適合するものとして前記分析デバイスによって決定されるプロファイルのセットの中からプロファイルを前記ユーザが選択できるようにするよう更に構成され、
    各プロファイルは、
    前記シグネチャに適合する各HTTP要求メッセージに存在すると予期されるHTTP必須ヘッダのリストと、
    前記シグネチャに適合する各HTTP要求メッセージに存在すると予期されるHTTP任意選択的ヘッダのリストと、
    前記シグネチャに適合する各HTTP要求メッセージに存在する特定の値を有するHTTP必須ヘッダのリストと、
    前記HTTP必須ヘッダが前記検出されたHTTP要求メッセージに現れるシーケンスを表す情報と
    を含む
    ことを特徴とする、方法。
  2. 前記TCP接続が、前記認証手順に続き非信頼接続として分類される場合、
    前記方法は、
    前記HTTPセッションの前記シグネチャを前記シグネチャデータベースに追加することであって、前記HTTPセッションの前記シグネチャは、前記シグネチャデータベース内で、非信頼HTTPクライアントアプリケーションを表す、追加すること
    を更に含むことを特徴とする、請求項1に記載の方法。
  3. 前記シグネチャデータベースに記憶される各シグネチャには、前記シグネチャが信頼TCP接続に対応するか、または非信頼TCP接続に対応するかを表す第1の安全性インジケータが関連付けられることを特徴とする、請求項2に記載の方法。
  4. 前記HTTPセッションの前記シグネチャは、
    前記検出されたHTTP要求メッセージに存在するHTTP必須ヘッダを表す情報と、
    前記検出されたHTTP要求メッセージに存在するHTTP任意選択的ヘッダを表す情報と、
    前記HTTP必須ヘッダが前記検出されたHTTP要求メッセージに現れるシーケンスを表す情報と、
    前記検出されたHTTP要求メッセージに存在する前記HTTP必須ヘッダの予め定義されるフィールドに含まれる値を表す情報と
    を含むことを特徴とする、請求項1〜3のいずれか一項に記載の方法。
  5. 前記シグネチャデータベースに記憶される前記シグネチャには、少なくとも1つのIPアドレスのセットが関連付けられ、
    前記方法は、
    前記HTTPセッションの前記シグネチャを前記シグネチャデータベースに追加する際、前記HTTPセッションの前記シグネチャに、前記検出されたHTTP要求メッセージを発したIPソースアドレスを関連付けることと、
    前記HTTPセッションの前記シグネチャを前記シグネチャデータベースに事前に記憶された前記シグネチャと比較する際、前記IPソースアドレスに、前記シグネチャデータベースに事前に記憶された任意のシグネチャが関連付けられているか否かをチェックすることと、
    前記シグネチャデータベース内のシグネチャに前記IPソースアドレスが関連付けられていない場合、前記HTTPセッションの前記シグネチャが前記シグネチャデータベース内のいずれのシグネチャにも一致しないと見なすことと
    を含むことを特徴とする、請求項1〜4のいずれか一項に記載の方法。
  6. 有効な認証情報が受信される場合、前記分析デバイスは、前記選択されたプロファイルおよび前記検出されたHTTP要求メッセージのヘッダから前記HTTPセッションの前記シグネチャを特定することを特徴とする、請求項1から5のいずれか一項に記載の方法。
  7. 前記方法は、
    前記検出されたHTTP要求メッセージに関連付けられたIP宛先アドレスを表す情報を取得することと、
    前記シグネチャに基づいて前記TCP接続を分類しようとする前に、前記IP宛先アドレスに基づいて前記TCP接続を信頼TCP接続または非信頼TCP接続として分類しようとすることと
    を含むことを特徴とする、請求項1〜のいずれか一項に記載の方法。
  8. 前記方法は、
    前記IP宛先アドレスをIPアドレスデータベースに事前に記憶されたIPアドレスと比較することを含み、
    前記IPアドレスデータベースに記憶される各IPアドレスには、前記IPアドレスが信頼デバイスに対応するか、または非信頼デバイスに対応するかを表す第2の安全性インジケータが関連付けられ、
    各TCP接続は、信頼宛先デバイスが信頼として見なされることを暗に示し、各TCP接続は、非信頼宛先デバイスが非信頼として見なされることを暗に示す
    ことを特徴とする、請求項に記載の方法。
  9. 前記IPアドレスデータベースを埋めるために、
    前記方法は、
    UDPデータグラムを受信することと、
    前記受信したUDPデータグラム内のDNSサーバ応答を検出することと、
    前記検出されたDNSサーバ応答から、IPアドレスとドメイン名情報との一致の情報を取得することと、
    前記ドメイン名情報がドメイン名データベースに存在するか否かをチェックすることであって、前記ドメイン名データベースは、前記ドメイン名が信頼であるか、または非信頼であるかを表す第3の安全性インジケータが関連付けられたドメイン名を含む、チェックすることと、
    前記ドメイン名情報が前記ドメイン名データベースに存在する場合、前記IPアドレスデータベースに、前記第3の安全性インジケータに関連付けて、前記ドメイン名情報に一致する前記IPアドレスを追加することと
    を含むことを特徴とする、請求項に記載の方法。
  10. 前記方法は、
    前記検出されたHTTP要求メッセージのヘッダから、前記HTTP要求メッセージが参照するURLを表す情報を取得することと、
    前記シグネチャに基づいて前記TCP接続を分類しようとする前に、前記URLに基づいて前記TCP接続を信頼TCP接続または非信頼TCP接続として分類しようとすることと
    を含むことを特徴とする、請求項1〜のいずれか一項に記載の方法。
  11. 前記方法は、
    前記URLをURLデータベースに事前に記憶されたURLと比較することを含み、
    前記URLデータベースに記憶された各URLには、前記URLが信頼デバイスに対応するか、または非信頼デバイスに対応するかを表す第4の安全性インジケータが関連付けられ、
    信頼URLを参照するHTTP要求メッセージを運ぶ各TCP接続は、信頼として見なされ、各TCP接続は、非信頼URLが非信頼として見なされることを暗に示す
    ことを特徴とする、請求項10に記載の方法。
  12. 信頼TCP接続または非信頼TCP接続としてHTTPトラフィックを搬送するTCP接続を分類するデバイスであって、
    前記TCP接続によって搬送される前記HTTPトラフィック内のHTTPセッションのHTTP要求メッセージを検出する手段と、
    前記検出されたHTTP要求メッセージのヘッダから、前記HTTPセッションのシグネチャを構築するための情報を取得する手段と、
    前記HTTPセッションの前記シグネチャを、前記分析デバイスによって事前にシグネチャデータベースに記憶されたシグネチャと比較する手段と、
    前記HTTPセッションの前記シグネチャが、前記シグネチャデータベースに前記分析デバイスによって事前に記憶され、信頼HTTPクライアントアプリケーションを表すシグネチャに一致する場合、前記TCP接続を信頼接続として分類する手段と、
    前記HTTPセッションの前記シグネチャが、前記シグネチャデータベースに前記分析デバイスによって事前に記憶されたいずれのシグネチャにも一致しない場合、認証手順を実行する手段であって、前記認証手順は、認証データを提供するようにユーザに要求する、実行する手段と、
    有効な認証データが前記ユーザによって提供される場合、前記HTTPセッションの前記シグネチャを前記シグネチャデータベースに追加し、前記HTTPセッションの前記シグネチャは、前記シグネチャデータベース内で信頼HTTPクライアントアプリケーションを表し、前記TCP接続を信頼接続として分類する手段と、
    有効な認証データが前記ユーザによって提供されない場合、前記TCP接続を非信頼接続として分類する手段と
    を備え
    前記検出されたHTTP要求メッセージを発したデバイスに応答を送信することであって、前記応答は、前記検出されたHTTP要求メッセージを発した前記デバイスを別のURLにリダイレクトする、送信する手段と、
    前記検出されたHTTP要求メッセージを発した前記デバイスから、前記別のURLを参照する別のHTTP要求メッセージを受信する手段と、
    前記別のHTTP要求メッセージに応答して、前記ユーザが認証情報を入力することができるウェブページを送信する手段と、
    有効な認証情報が受信される場合、前記TCP接続を信頼と見なし、その他の場合、前記TCP接続を非信頼と見なす手段と
    を含み、
    前記ウェブページは、認証情報としてログインおよびパスワードを前記ユーザが入力できるようにするよう構成され、前記分析デバイスは、前記入力されたログインおよびパスワードを事前に記憶されたログインおよびパスワードと比較するか、または
    前記ウェブページは、CAPTCHA画像を表示し、前記ユーザが文字列を入力できるようにするよう構成され、前記分析デバイスは、前記入力された文字列を前記表示されたCAPTCHA画像に対応する予め定義される文字と比較し、
    前記ウェブページは、前記検出されたHTTP要求メッセージに適合するものとして前記分析デバイスによって決定されるプロファイルのセットの中からプロファイルを前記ユーザが選択できるようにするよう更に構成され、
    各プロファイルは、
    前記シグネチャに適合する各HTTP要求メッセージに存在すると予期されるHTTP必須ヘッダのリストと、
    前記シグネチャに適合する各HTTP要求メッセージに存在すると予期されるHTTP任意選択的ヘッダのリストと、
    前記シグネチャに適合する各HTTP要求メッセージに存在する特定の値を有するHTTP必須ヘッダのリストと、
    前記HTTP必須ヘッダが前記検出されたHTTP要求メッセージに現れるシーケンスを表す情報と
    を含む
    ことを特徴とする、デバイス。
  13. プログラマブルデバイスによって実行されたときに請求項1〜11のいずれか一項に記載の方法を実施するために前記プログラマブルデバイスにおいてロード可能なプログラムコード命令を含むコンピュータプログラム。
  14. プログラマブルデバイスによって実行されたときに請求項1〜11のいずれか一項に記載の方法を実施するために前記プログラマブルデバイスにおいてロード可能なプログラムコード命令を含むコンピュータプログラムを記憶している情報記憶手段。
JP2016557461A 2014-03-07 2015-02-26 Httpトラフィックを搬送するtcp接続を分類する方法、デバイス、コンピュータプログラム及び情報記憶手段 Expired - Fee Related JP6173613B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14158365.8 2014-03-07
EP14158365.8A EP2916512B1 (en) 2014-03-07 2014-03-07 Method for classifying a TCP connection carrying HTTP traffic as a trusted or an untrusted TCP connection
PCT/JP2015/056443 WO2015133557A1 (en) 2014-03-07 2015-02-26 Method and device for classifying tcp connection carrying http traffic

Publications (2)

Publication Number Publication Date
JP2017502625A JP2017502625A (ja) 2017-01-19
JP6173613B2 true JP6173613B2 (ja) 2017-08-02

Family

ID=50239434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016557461A Expired - Fee Related JP6173613B2 (ja) 2014-03-07 2015-02-26 Httpトラフィックを搬送するtcp接続を分類する方法、デバイス、コンピュータプログラム及び情報記憶手段

Country Status (5)

Country Link
US (1) US10148645B2 (ja)
EP (1) EP2916512B1 (ja)
JP (1) JP6173613B2 (ja)
CN (1) CN106063222B (ja)
WO (1) WO2015133557A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015128480A1 (en) 2014-02-28 2015-09-03 Novartis Ag Modified meningococcal fhbp polypeptides
WO2015147779A1 (en) * 2014-03-24 2015-10-01 Hewlett-Packard Development Company, L.P. Monitoring for authentication information
CN106659776A (zh) 2014-07-17 2017-05-10 葛兰素史密丝克莱恩生物有限公司 脑膜炎球菌疫苗
CN104270405A (zh) * 2014-08-29 2015-01-07 小米科技有限责任公司 基于路由器的联网控制方法及装置
US10194001B1 (en) * 2015-05-27 2019-01-29 Google Llc Automatic discovery of API information
US9954746B2 (en) * 2015-07-09 2018-04-24 Microsoft Technology Licensing, Llc Automatically generating service documentation based on actual usage
US11818116B2 (en) * 2016-02-23 2023-11-14 Tokenex, Inc. Network gateway messaging systems and methods
US10200407B1 (en) * 2016-02-23 2019-02-05 TokenEx, LLC Network gateway messaging systems and methods
US10965675B2 (en) * 2018-03-14 2021-03-30 Bank Of America Corporation Preventing unauthorized access to secure information systems using advanced pre-authentication techniques
EP3544262A1 (en) * 2018-03-22 2019-09-25 Mitsubishi Electric R&D Centre Europe B.V. Method of improving security in a factory automation network
CN108521408B (zh) * 2018-03-22 2021-03-12 平安科技(深圳)有限公司 抵抗网络攻击方法、装置、计算机设备及存储介质
FR3083659B1 (fr) * 2018-07-06 2020-08-28 Qosmos Tech Identification de protocole d'un flux de donnees
JP6716051B2 (ja) * 2018-07-26 2020-07-01 デジタルア−ツ株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
CN109033399B (zh) * 2018-08-02 2021-06-18 挖财网络技术有限公司 一种检测链接有效性的方法
US11095666B1 (en) * 2018-08-28 2021-08-17 Ca, Inc. Systems and methods for detecting covert channels structured in internet protocol transactions
US11677713B2 (en) * 2018-10-05 2023-06-13 Vmware, Inc. Domain-name-based network-connection attestation
CN109600317B (zh) * 2018-11-25 2022-05-17 北京亚鸿世纪科技发展有限公司 一种自动识别流量并提取应用规则的方法及装置
CN109495325B (zh) * 2018-12-26 2020-07-24 睿哲科技股份有限公司 网站IPv6支持度评估方法、装置和设备
US10862854B2 (en) * 2019-05-07 2020-12-08 Bitdefender IPR Management Ltd. Systems and methods for using DNS messages to selectively collect computer forensic data
US11461484B2 (en) * 2019-12-30 2022-10-04 Imperva, Inc. Capturing contextual information for data accesses to improve data security
US11023607B1 (en) 2020-04-03 2021-06-01 Imperva, Inc. Detecting behavioral anomalies in user-data access logs
CN114531497A (zh) * 2020-10-30 2022-05-24 华为技术有限公司 一种tcp保活方法、装置及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050102414A1 (en) * 2003-09-16 2005-05-12 Shailesh Mehra Systems and methods to support quality of service in communications networks
US7581112B2 (en) * 2004-12-30 2009-08-25 Ebay, Inc. Identifying fraudulent activities and the perpetrators thereof
US8244799B1 (en) * 2008-07-21 2012-08-14 Aol Inc. Client application fingerprinting based on analysis of client requests
KR101109669B1 (ko) * 2010-04-28 2012-02-08 한국전자통신연구원 좀비 식별을 위한 가상 서버 및 방법과, 가상 서버에 기반하여 좀비 정보를 통합 관리하기 위한 싱크홀 서버 및 방법
US20120084423A1 (en) * 2010-10-04 2012-04-05 Openwave Systems Inc. Method and system for domain based dynamic traffic steering
US20120297457A1 (en) * 2010-11-15 2012-11-22 Brian Schulte Interactive Malware Detector
CN102255924B (zh) * 2011-08-29 2013-11-06 浙江中烟工业有限责任公司 基于可信计算的多级安全互联平台及其处理流程
CN102299926B (zh) * 2011-08-29 2014-02-19 浙江中烟工业有限责任公司 多级安全互联平台的数据交换前置子系统
CN102355459B (zh) * 2011-09-27 2014-04-09 北京交通大学 基于TPM的可信Web网页的实现方法
CN103117897B (zh) * 2013-01-25 2015-11-25 北京星网锐捷网络技术有限公司 一种检测包含Cookie信息的消息的方法及相关装置

Also Published As

Publication number Publication date
CN106063222B (zh) 2019-05-07
EP2916512B1 (en) 2016-08-24
WO2015133557A1 (en) 2015-09-11
JP2017502625A (ja) 2017-01-19
EP2916512A1 (en) 2015-09-09
US10148645B2 (en) 2018-12-04
CN106063222A (zh) 2016-10-26
US20160337333A1 (en) 2016-11-17

Similar Documents

Publication Publication Date Title
JP6173613B2 (ja) Httpトラフィックを搬送するtcp接続を分類する方法、デバイス、コンピュータプログラム及び情報記憶手段
US10637880B1 (en) Classifying sets of malicious indicators for detecting command and control communications associated with malware
US10200384B1 (en) Distributed systems and methods for automatically detecting unknown bots and botnets
US7702772B2 (en) Discovering and determining characteristics of network proxies
EP1990977B1 (en) Client side protection against drive-by pharming via referrer checking
US8756697B2 (en) Systems and methods for determining vulnerability to session stealing
US8161538B2 (en) Stateful application firewall
CN111400722B (zh) 扫描小程序的方法、装置、计算机设备和存储介质
US9407650B2 (en) Unauthorised/malicious redirection
US9426171B1 (en) Detecting network attacks based on network records
CN109150874B (zh) 访问认证方法、装置及认证设备
US9756058B1 (en) Detecting network attacks based on network requests
CN107347076B (zh) Ssrf漏洞的检测方法及装置
JP7388613B2 (ja) パケット処理方法及び装置、デバイス、並びに、コンピュータ可読ストレージ媒体
CN105430011A (zh) 一种检测分布式拒绝服务攻击的方法和装置
CN110557358A (zh) 蜜罐服务器通信方法、SSLStrip中间人攻击感知方法及相关装置
KR101190564B1 (ko) 부정 통신 프로그램의 규제 시스템 및 컴퓨터 기록 매체
Naik et al. D-FRI-Honeypot: A secure sting operation for hacking the hackers using dynamic fuzzy rule interpolation
JP6548823B2 (ja) 木グラフプロパティを適用するjsonデータのリアルタイムバリデーション
KR101398740B1 (ko) 악성 도메인 탐지 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
JP2018531466A6 (ja) 木グラフプロパティを適用するjsonデータのリアルタイムバリデーション
US10360379B2 (en) Method and apparatus for detecting exploits
US10819816B1 (en) Investigating and securing communications with applications having unknown attributes
EP4270907A1 (en) Attack success identification method and protection device
Smedshammer Discovering Novel Semantic Gap Attacks: A hands-on evaluation of the security of popular reverse proxies and web servers

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170517

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170704

R150 Certificate of patent or registration of utility model

Ref document number: 6173613

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees