JP2005538620A - コンピュータアプリケーションへの不正なリクエストのスクリーニング - Google Patents

コンピュータアプリケーションへの不正なリクエストのスクリーニング Download PDF

Info

Publication number
JP2005538620A
JP2005538620A JP2004534897A JP2004534897A JP2005538620A JP 2005538620 A JP2005538620 A JP 2005538620A JP 2004534897 A JP2004534897 A JP 2004534897A JP 2004534897 A JP2004534897 A JP 2004534897A JP 2005538620 A JP2005538620 A JP 2005538620A
Authority
JP
Japan
Prior art keywords
request
rule
condition
uri
http
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.)
Withdrawn
Application number
JP2004534897A
Other languages
English (en)
Inventor
ライナー、リチャード
Original Assignee
ライナー、リチャード
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 ライナー、リチャード filed Critical ライナー、リチャード
Publication of JP2005538620A publication Critical patent/JP2005538620A/ja
Withdrawn legal-status Critical Current

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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0254Stateful filtering
    • 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
    • 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/1458Denial of Service

Landscapes

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

Abstract

コンピュータアプリケーションへの不正なリクエストが、存在に関する条件、統計的条件、及び複合の普遍条件のうちの少なくとも1つを持つルールを用いてスクリーニングされうる。コンピュータアプリケーションへの不正なハイパーテキスト転送プロトコル(HTTP)リクエストが、リクエストの要素(例えば、ヘッダ)に適用されるルールを用いてスクリーニングされうる。

Description

発明の背景
本発明は、コンピュータアプリケーションへの不正なリクエストのスクリーニングに関する。
コンピュータネットワークでは、情報はパケット形式で通常伝送される。情報の流れは、通常、コンピュータアプリケーションに対して為されるリクエストとアプリケーションによる該リクエストへの応答の形式である。パケットが信頼されていないソース(例えば、公衆インターネット)から来た場合、それらがコンピュータアプリケーションへの不正なリクエストを含んでいる(comprise又はcontain)危険性がある。そのような不正なリクエストは、所有者の情報へアクセスしようとする未許可の試み、情報を改竄しようとする未許可の試み、又はアプリケーションの通常の動作に干渉しようとする試み(所謂、「DoS攻撃」)を構成しうる。
コンピュータ上のアプリケーションは、アプリケーションに向けられたパケットをフィルタリングするコンピュータファイアウォールによって、不正なリクエストから保護されうる。より詳細には、ファイアウォールはパケットを検証し、予め定義されたアクセスルールのセットに一致するかどうかによって、それらをアプリケーションへと受け渡すかまたはそれらを破棄する。インターネットプロトコル(IP)に従うパケットの場合、パケットフィルタリングファイアウォールは、インターネットプロトコル(IP)ナンバー、トランスポートコントロールプロトコル(TCP)ポート番号、ユーザデータグラムプロトコル(UDP)ポート番号、インターネット制御通知プロトコル(ICMP)タイプコード、及びパケットの他の関連する特徴、のうちの1つ以上に基づき、このスクリーニングを行う。パケットフィルタリングファイアウォールは、ステートレスなものであってもステートフルなものであってもよい。ステートレスファイアウォールフィルタは、各IPデータグラムを独立してフィルタリングする。ステートフルファイアウォールは、コネクションに属するデータグラムをトラッキングし、これにより、より効果的なフィルタリングが可能となる。
パケットフィルタリングファイアウォールは、多くの不正なリクエストをスクリーニング除去するのに効果的であるが、そのようなファイアウォールを破るうまい「攻撃」が未だ発生している。
不正なリクエストからアプリケーションを保護するための別のアプローチには、プロキシファイアウォールの採用がある。プロキシファイアウォールは、公衆ネットワークを介して到達するパケットの宛先として機能し、各パケットから公衆ネットワークを介するパケットの方向付けに使用されたオーバーヘッドを取り除く。このアプローチにより、パケットのネットワークオーバーヘッドを使用するいずれの攻撃も回避される。プロキシファイアウォールは非常に効果的なものでありうるが、既存のプロキシファイアウォールは未だ突破を可能としえ、さらに、プロキシファイアウォールはパケットトラフィックを(しばしばかなり)遅くする。
従って、理想的にはパケットトラフィックの流れに顕著な影響を与えることなく、不正なリクエストを効果的にスクリーニングするためのアプローチの必要性が存在している。
発明の要旨
コンピュータアプリケーションへの不正なリクエストは、存在に関する条件(existential condition)、統計的条件(statistical condition)、及び複合の普遍条件(complex universal condition)のうちの少なくとも1つ以上を持つルールを用いてスクリーニングされうる。コンピュータアプリケーションへの不正なハイパーテキスト転送プロトコル(HTTP)リクエストは、HTTPリクエストの要素に適用されるルールを用いてスクリーニングされうる。
本発明によれば、コンピュータアプリケーションへの不正なリクエストをスクリーニングする方法が提供され、該方法は、存在に関する条件、統計的条件、及び複合の普遍条件のうちの少なくとも1つを有するルールを用いてリクエストをスクリーニングすることを含んでいる。該方法を達成するためのコンピュータ読取可能媒体及びスクリーナ(screener)も提供される。
本発明の別の態様によれば、コンピュータアプリケーションへの不正なハイパーテキスト転送プロトコル(HTTP)リクエストをスクリーニングする方法が提供され、該方法は、ルールを用いてHTTPリクエストをスクリーニングすることを含んでおり、該ルールは、リクエストの以下のパート:ヘッダ、クッキー、HTTPバージョンインジケータ、普遍資源識別子(URI)パラメータ、URIエンコードフィールド、マルチパートエンコードフィールド、シンプルオブジェクトアクセスプロトコル(SOAP)要素、URIフォーマット、のうちの少なくとも1つについての条件を含んでいる。該方法を達成するためのコンピュータ読取可能媒体及びスクリーナも提供される。
他の特徴及び利点は、図面とともに以下の説明を検討後、明らかとなるだろう。
詳細な説明
インターネットを介して伝送されるパケットは、上位のリンク層、中位のネットワーク層、より下位のトランスポート層、下位のアプリケーション層を含む。より上位の層のそれぞれが、本質的には、パケットである。従って、リンク層は、ヘッダとネットワーク層パケットを含むデータとを有するパケットであり、ネットワーク層パケットは、ヘッダとトランスポート層パケットを含むデータとを有する。リンク層のヘッダは、ほぼ必ず、パケットが従うプロトコルがインターネットプロトコル(IP)(より旧式のプロトコルは、現在はほとんど廃れているかつ/又はインターネットでは使用されていない)であることを示している。パケットがIPパケットである場合、ネットワーク層は、IPデータグラムとして知られている。トランスポート層のヘッダは伝送プロトコルを示す。IPの伝送制御プロトコル(TCP)は、それがウェブブラウジング、電子メール、およびウェブサービスに使用されているので、とりわけ最も一般的な伝送プロトコルである。(当業者に理解されるように、ウェブサービスは、あるアプリケーションが別のアプリケーションのリクエストをそれにより作成しうるマシン間の対話である)。
トランスポート層パケットのデータは、アプリケーション層を含む(これは通常、多数のトランスポート層パケットにわたって分散されている)。トランスポート層におけるポート番号、及び/又はコンテキストは、アプリケーション層プロトコルを示している。伝送プロトコルがTCPである場合、アプリケーション層プロトコルは様々なアプリケーション層プロトコルのいずれであってもよいが、最も重要なのは、ハイパーテキスト転送プロトコル(HTTP)、セキュアHTTP(HTTPS)、ファイル転送プロトコル(FTP)、及び簡易メール転送プロトコル(SMTP)である。
公知のパケットフィルタリングファイアウォールは、使用されているプロトコルを検証するために、リンク層、ネットワーク層、及びトランスポート層のうちの1つ以上のパケットヘッダにルールを適用しうる。公知のプロキシファイアウォールは、アプリケーションプロトコルを検証しうる。公知のパケットフィルタリングファイアウォール及びプロキシファイアウォールにより適用される各ルールは、「汎用(simple universal)」と呼ばれうる形式である。説明として、ルールは、それが適用される要素のタイプを特定する。ルールは、ルールにより特定されるタイプの全ての要素にそれが適用される場合、汎用ルールである。一例として、ルール「全てのパケットは、送信先ポート番号80宛でなくてはならない」において、このルールが適用される要素はパケットである。そして、このルールが全てのパケットに適用されるので、それは汎用ルールである。
現在、HTTP(又はHTTPS)は、ウェブブラウジング及びウェブサービスに使用されている。HTTPリクエストは、以下の一般的な形式を有する。
<メソッド> <URI> <HTTPバージョン>
<埋め込みクッキーを持つHTTPヘッダ>
<リクエスト本体>
ここで、「URI」は、普遍資源識別子を示す。URIは、ウェブ上のエンティティへのリンクであり、一般には統一資源位置指定子(URL)である。URIはまた、任意のURIパラメータ(これもGETフィールドとして知られている)を含む。HTTPリクエスト中には、0以上のヘッダと0以上のクッキーが存在しうる。本体はオプションであり、もしある場合には、URIエンコードフォーマット、フォームマルチパートエンコードフォーマット、シンプルオブジェクトアクセスプロトコル(SOAP)フォーマットを有していてもよいし、本体が体系化されていない内容を有していてもよい。URIエンコードフォーマット又はフォームマルチパートエンコードフォーマットを有する本体は、ハイパーテキストマークアップ言語(HTML)又は拡張可能HTML(XHTML)で記述される。SOAPフォーマットを有する本体は、拡張可能マークアップ言語(XML)で記述される。
例として、図1Aを参照して、HTTPリクエスト10は、GETメソッド12、URI14、HTTPバージョンインジケータ16、及び埋め込みクッキー20を持つヘッダ18、並びに本体22を有する。この特殊なHTTPリクエストは本体を持たない。URIは、URL24とURIパラメータ26から構成される。
図1Aから明らかなように、URIパラメータ26は、フォーマット“名”=“値”を持つ(実施例HTTPリクエスト10は2つのURIパラメータを持つ)。典型的であるように、URIパラメータは、ユーザのカレントセッションを識別する。ヘッダ18は、フォーマット“名”:“値”を持つ。各クッキーは埋め込まれた名と値とのペアを持ち、各ペアはコロンにより分けられている。従って、クッキー20はフォーマット:“クッキー”:”名1=“値1”;“名2”=“値2”;“名3”=“値3”・・・を持つ。
図1Bは、POSTメソッド12’、URIパラメータを持たないURI14’、HTTPバージョンインジケータ16、埋め込みクッキー20’を持つヘッダ18’を有する第2の実施例HTTPリクエスト10’を示している。HTTPリクエスト10’は、本体22’も有している。本体は、フィールド25’(各々が、名24’と値26’とのペアを持つ)から構成される。リクエスト10’のヘッダ18a’は、本体22’が、URLエンコードフォーマットを有し、結果として、名−値ペアが形式“名”=“値”(各ペアは&によって分けられている)を有することを示している。
図1Cの実施例HTTPリクエスト10”は、メソッド12”、URI14”、HTTPバージョンインジケータ16”、ヘッダ18”、及び本体22”を有している。ヘッダに埋め込まれたクッキーはないことが分かる。ヘッダ18a”は、本体22”がマルチパートフォームエンコードフォーマットを有することを示している。マルチパートフォームフォーマットの場合、本体のフィールドはパートとして知られている。ヘッダ18a”は、各パートを線引きするパートバウンダリ28”を指定する。パートバウンダリの後には、データフィールドの名24”、それに続くフィールド値26”を含む1つ以上のヘッダ30”が続く。
図1Dの実施例HTTPリクエスト10’’’は、本体の要素25’’’がXML要素、それらの属性、及びSOAPメッセージフォーマットの仕様に従うデータオブジェクトを含むように、本体22’’’がSOAPフォーマットを有することを示すヘッダ18a’’’を持つ。
アプリケーションへの攻撃を始める際にパケットの実際のペイロードデータパート(アプリケーション層)を用いる不正なリクエスト生成元(これは人のハッカーであるかもしれないし機械であるかもしれない)の可能性が存在する。従って、攻撃は、HTTPリクエストのパートを使用しうる。そのような攻撃を失敗させるためには、不正なリクエストをスクリーニングするため、各HTTPリクエストのパートにスクリーニングルールを適用することが考えられる。
各ルールは、トリガー文(trigger clause)及び1つ以上の条件を持ちうる。トリガー文は、ルールが適用される全ての可能なリクエストのサブセットを示している。条件は、そのようなリクエストがルールを満たすものであるかどうかを決定するために、トリガー文を満たすリクエストに適用される制限である。
トリガー文は、最も有用には、リクエスト中に現れうるURIのいくつかのサブセットの仕様として策定される。例えば、トリガー文は、「全てのURLは拡張子‘.gif’で終わる」、「全てのURLは文字‘/scripts’で始まる」、又は「全てのURLは、小文字、続いて1つの強調文字、続いて1つの小文字の、1つ以上の存在の列を含む」でありうる。
条件は、リクエストのいずれかの又はすべての残りの要素に(すなわち、トリガー文が満たされるかどうかを決定するために使用されるもの以外のリクエストの要素に)適用される制限である。条件は、最も有用には、リクエスト中の要素のたった1つのタイプ(例えば、リクエストのヘッダ)に対する制限を記載するように策定される。この制限は、任意の所望の複雑さの条件を策定するために、他のそのような制限(例えば、ブール、if−then、又はファジー理論を使用することによってなど)と組み合わせてもよい。
従って、ルールは、以下のHTTP要素(任意の埋め込みクッキー、リクエスト本体のフィールド、URIフォーマット、URIパラメータ、HTTPバージョン、及びヘッダ)のうちの1つ以上に適用可能な1つ以上の条件を持って記述されうる。ルールはまた、メソッドに1つ以上の条件を持ちうる。
リクエストの以下のタイプの要素(ヘッダ、クッキー、URIパラメータ、(リクエスト本体の)URIエンコードフィールド、(リクエスト本体の)マルチパートエンコードフィールド、及び(リクエスト本体の)SOAP要素)のそれぞれが、リクエスト中に複数例存在しうる。これらのタイプの要素のいずれかについての条件(この条件はそのようなタイプの全ての要素に適用される)が、単純な普遍条件(simple universal condition)である。従って、例えば、条件「クッキーの全てがアルファベット値を持たなくてはならない」は単純な普遍条件である。アプリケーション層の要素に適用される単純な普遍条件は、不正なリクエストのスクリーニングに有用である。しかしながら、本発明者は、単純な普遍条件ではない条件を用いてリクエストをスクリーニングすることが有用であることに気付いた。より詳細には、本発明者は、存在に関する条件、統計的条件、及び複合の普遍条件が、リクエストをスクリーニングするためのルールに有用であることを見出した。以下は、これらのタイプの条件のそれぞれを説明する。
特定数の所定タイプの要素、或いは、特定のプロパティ(例えば、特定の“名”又は“値”)を持つ特定数の所定タイプの要素の存在を必要とする条件が存在に関するものである。条件が、所定タイプの要素、又は特定のプロパティを持つ所定タイプの要素の存在を単に必要とするときは、条件は単純な存在に関する条件である。例えば、条件「‘セッションID’と呼ばれるクッキーが存在しなくてはならない」は、クッキー要素の名プロパティに対する単純な存在に関する条件である。必要とされる数に対するより複雑な制限を条件が持つときは、条件は複合の存在に関する条件である。従って、例えば、条件「5個のヘッダが存在しなければならない」及び「数値を有するPOSTフィールドが3〜5個存在しなくてはならない」は、複合の存在に関する条件である。
条件がリクエスト中の特定タイプの要素のプロパティの統計的尺度に基づく場合、それは統計的条件であると考えられる。例えば、以下は統計的条件である。「URIパラメータ値の平均長は3よりも大きくなくてはならない」、「POSTメソッドの場合、リクエスト本体におけるフィールド長の標準偏差は、3〜7でなくてはならない」。(第1の実施例では、要素タイプはURIパラメータであり、プロパティはそれらの値である。第2の実施例では、“長さ”は特定のプロパティであり、“フィールド”は要素タイプである。)
複合の普遍条件は、所定タイプの全ての要素を考慮に入れるが、その際、そのような要素のうちの全て未満に制限を加える。そのような条件の例は以下のとおりである。「POSTメソッドの場合、1つを除き全てのフィールドが、数値である値を持たなければならない」、「ヘッダの50%が100文字長未満でなくてはならない」、「POSTメソッドの場合、フィールドの30%〜70%は、ブランクではない値を持たなければならない」。
単純な普遍条件ではない条件を持つルールでのスクリーニングは、単純な普遍条件のみを持つルールで可能なものよりも、ユーザとアプリケーションとの間の許容される対話の形式をより正確に反映することを可能とする。例えば、存在に関する条件を用いた場合、“セッションID”クッキーの存在を必要とすることが可能である。そして、複合の普遍条件を用いた場合、フォームがそのフィールドブランクの大部分とともに提出されないかもしれないことを保証することが可能である。単純な普遍条件ではない条件の採用は、リクエストが人によって作られたか機械によって作られたかの決定を容易にしうる。正当なリクエストが人により作られる場合には、これは、不正なリクエストを隔離しうる。例えば、ウェブサイトへのPOSTメソッドの場合(記入したフォームをユーザが提出することから通常生じる)、条件は、リクエストのフィールド中の文字使用の相対頻度と、人の言語に特有な相対頻度とを比較しうる。もし、フィールド中の文字使用の相対頻度が、人の言語に特有なものから閾値を超えて逸脱していたら、条件は満たされないだろう。POSTメソッドに対するさらなる条件は、ブランクフィールドとブランクではないフィールドとの割合を判断しうる。そして、リクエストがこれらの条件のいずれかを満たさない場合、それはスクリーニング除去されうる。
図2は、人が読み取り可能な形式で表現されている実施例ルールセットを示している。(実際には、リクエスト用のルールは、通常はテーブルに記憶され、そして、人が読み取り可能な形式で簡便に表現されうるよりも細かい区別を可能とする様式で、記号を用いて表現されうる。) 図2を参照して、トリガー50は、それと関連付けられた多数の条件52を有する。各条件は、トリガー条件を満たすリクエスト中に現れうる要素タイプ56に又は要素タイプ56のプロパティ58に、制限54を確立する。
ルールはリクエストを以下のようにしてスクリーニングするために使用される。
・リクエストは、それが任意のルールのトリガー条件を満たさない場合、ルールに違反している。(すなわち、全てのリクエストがルールによってスクリーニングされるように各リクエストに適用される少なくとも1つのルールが存在する場合であるはずである。)
・リクエストは、それがルールのトリガー文を満たしかつそのルールの各条件を満たさない場合、ルールに違反している。
・リクエストは、それがルールのトリガー文を満たす各々の場合に、それがそのルールの条件の全てを満たしている場合、ルールに適合していると考えられうる。あるいは、ルールがより具体的なものからより一般的なものへと順序付けられている場合、リクエストは、それがトリガー文を満たすリスト中の第1のルールについて、それがそのルールの条件の全てを満たしている場合、ルールに適合していると考えられうる。
リクエストがルールに違反している場合、以下の動作のうちの任意の1つ以上が行われうる:リクエストはスクリーニング除去されうる(すなわち、ブロックされ、従って、それが方向付けられたアプリケーションへは受け渡されない)、違反のログが記録されうる、かつ/又は違反が(システム管理者への)通知又は警告を生じうる。
図3は、本発明の実施形態を採用した実施例ネットワークを示している。図3を見ると、ネットワーク100は公衆インターネット110を含み、公衆インターネット110にウェブサーバ112がスクリーナ114を介して接続されている。ローカルエリアネットワーク(LAN)116は、ファイアウォール118を介して、インターネット110に接続されている。多数のワークステーション120及びウェブサーバ122、123が、LAN116に接続されている。ウェブサーバ130は、ファイアウォール132を介して、インターネット110に接続されている。スクリーナ134も、入/出力136を介して、ファイアウォール132に接続されている。
いくつかのアプリケーションがサーバ112上で実行されうる。アプリケーションのそれぞれが、ウェブサービスを提供またはウェブサイトを支援しうる。これらのアプリケーションのそれぞれが、そのホスト名部分又はそのパス部分のプレフィックスセグメントが異なるURIを持つ。スクリーナ114は、ウェブサーバ112上のいずれかのアプリケーション宛のリクエストを受信し、それらが内部に記憶されたルールセット(このルールセットは本発明に従う)と一致する場合のみ、それらをウェブサーバへと通過させるように適合された特殊用途の装置(例えば、専用チップまたはASIC)である。
スクリーナ114と同様に、スクリーナ134は、本発明に従い作製された内部に記憶されたルールセットに違反するリクエストを廃棄するように適合された特殊用途の装置である。スクリーナ134は、そのルールセットに一致するリクエストを戻すように適合されている。ファイアウォール132は、それがブロックしない全ての入ってきたリクエストをスクリーナ134へと受け渡すように改変された任意の公知のファイアウォールでありうる。ファイアウォール132はまた、それがスクリーナ134から戻ってきたリクエストをウェブサーバ130へと方向付けるように改変されている。従って、ウェブサーバ130上のアプリケーション宛のリクエストがファイアウォール132に達した場合に、ファイアウォールは、その通常様式でリクエストに作用する。ファイアウォールがリクエストをブロックしない場合、それはそれを(場合により改変された形式で)スクリーナ134へと受け渡す。スクリーナは、その内部ルールセットをリクエストのアプリケーション層に適用し、リクエストを廃棄するか又はそれをファイアウォールへと戻す。リクエストがファイアウォールへと戻された場合、それはウェブサーバ130へと回される。本発明に従うスクリーニングが、さらにセキュリティを高めるために、任意の以前から存在するファイアウォール技術とともに採用されうることは、この実施例構成から明らかである。
ファイアウォール118は、メモリを持つプロセッサ上で実行されるアプリケーションである。ファイアウォールアプリケーションは、コンピュータ読取可能媒体126から読み込まれたスクリーニングソフトウェアによって改変される。コンピュータ読取可能媒体126は、例えば、ディスク、読み出し専用メモリチップ、又はリモートソースからダウンロードされたファイルでありうる。スクリーニングソフトウェアは、その通常様式での動作に加えて、それがスクリーナとして動作する(入ってくるリクエストを本発明に従うルールセットを用いてスクリーニングする)ようにファイアウォール118を適合させる。
リクエストがルールセットに違反している場合、法廷で用いられる記録を保存することを可能とするために、そのログが記録されうる。ログは、スクリーナ、関連するファイアウォール、又はログを記録することが可能な別のサーバによって、保存されうる。ログは、リクエストが方向付けられたアプリケーションと関連付けられうる。さらに、スクリーナが1つを超えるアプリケーションを保護する場合、アプリケーション群(例えば、一企業のアプリケーション)についてのログが共に関連付けられうる。
現在、ウェブ検索はキーワードベースである。セマンティックウェブ検索(semantic web searching)を開発するための試みがなされている。これを支援するために、ウェブページはHTML又はXHTMLよりもXMLでコーディングされうる(XMLはユーザがページ上に任意のデータ要素をマークアップ(タグ)することを可能とするので)。ウェブページがXMLベースとなった場合、リクエストは、HTMLよりもXMLでコーディングされる。XMLベースのリクエストに、そして実際には、任意の他の適切な言語に基づくリクエストに、本発明は適用可能であることが理解される。さらに、HTTP又は任意の他の適切なプロトコルに従うリクエストへの適用を本発明は有する。
記載されたルールはトリガー及び1つ以上の条件を含んでいるが、トリガーは必ずしも必要ではない。トリガーがない場合、ルールは全てのリクエストに適用される。
他の特徴及び利点が当業者には明らかであり、従って、本発明は特許請求の範囲に定義される。
本発明の実施例態様を記載する図において、図1A、1B、1C、及び1Dは、実施例HTTPリクエストの内容を示している。 本発明の実施例態様を記載する図において、図1A、1B、1C、及び1Dは、実施例HTTPリクエストの内容を示している。 本発明の実施例態様を記載する図において、図1A、1B、1C、及び1Dは、実施例HTTPリクエストの内容を示している。 本発明の実施例態様を記載する図において、図1A、1B、1C、及び1Dは、実施例HTTPリクエストの内容を示している。 図2は、人が読み取り可能な形式の本発明に従うルールセットの一部の例である。そして、 図3は、本発明の実施形態を採用するネットワークの概要図である。

Claims (30)

  1. 存在に関する条件、統計的条件、及び複合の普遍条件のうちの少なくとも1つを持つルールを用いてリクエストをスクリーニングすることを含む、コンピュータアプリケーションへの不正なリクエストをスクリーニングする方法。
  2. 前記ルールを用いてのスクリーニングが、前記リクエストが特定タイプであることにより引き起こされる、請求項1に記載の方法。
  3. 前記ルールが複数の条件を持ち、該複数の条件が、前記リクエストが前記特定タイプであることにより引き起こされる、請求項2に記載の方法。
  4. 前記特定タイプが、特定タイプの普遍資源識別子(URI)である、請求項3に記載の方法。
  5. 前記存在に関する条件が、所定タイプの特定数の要素が前記リクエスト中に存在することを必要とする、請求項1に記載の方法。
  6. 所定タイプの前記要素が、ヘッダ、クッキー、普遍資源識別子(URI)パラメータ、URIエンコードフィールド、マルチパートエンコードフィールド、シンプルオブジェクトアクセスプロトコル(SOAP)エンコード要素のうちの1つである、請求項5に記載の方法。
  7. 前記存在に関する条件が、所定のプロパティを持つ所定タイプの特定数の要素が前記リクエスト中に存在することを必要とする、請求項1に記載の方法。
  8. 前記複合の普遍条件が、所定タイプの特定の割合の要素が前記リクエスト中に存在することを必要とする、請求項1に記載の方法。
  9. 前記統計的条件が、リクエスト中の特定タイプの要素のプロパティの統計的尺度に基づくものである、請求項1に記載の方法。
  10. 特定タイプの要素の前記プロパティが、特定タイプの前記要素の名又は値のうちの1つである、請求項9に記載の方法。
  11. 前記リクエストがハイパーテキスト転送プロトコル(HTTP)リクエストである、請求項1に記載の方法。
  12. 前記ルールが、リクエストの以下のパート:ヘッダ、クッキー、メソッド、HTTPバージョン、普遍資源識別子(URI)パラメータ、URIエンコードフィールド、マルチパートエンコードフィールド、シンプルオブジェクトアクセスプロトコル(SOAP)要素、の1つ以上についての条件を含む、請求項11に記載の方法。
  13. 前記リクエストの前記本体がシンプルオブジェクトアクセスプロトコル(SOAP)に従う、請求項3に記載の方法。
  14. 存在に関する条件を持つルールを用いてリクエストをスクリーニングすることを含む、コンピュータアプリケーションへの不正なリクエストをスクリーニングする方法。
  15. コンピュータアプリケーションへの不正なハイパーテキスト転送プロトコル(HTTP)リクエストをスクリーニングする方法であって、該方法は、ルールを用いてHTTPリクエストをスクリーニングすることを含み、該ルールは、リクエストの以下のパート:ヘッダ、クッキー、HTTPバージョンインジケータ、普遍資源識別子(URI)パラメータ、URIエンコードフィールド、マルチパートエンコードフィールド、シンプルオブジェクトアクセスプロトコル(SOAP)要素、URIフォーマット、のうちの少なくとも1つについての条件を含む、方法。
  16. 前記ルールを用いたスクリーニングが、前記リクエストのURIが特定タイプであることにより引き起こされる、請求項15に記載の方法。
  17. リクエストが条件を満たさないと判明した時、該リクエストをブロックすることをさらに含む、請求項15に記載の方法。
  18. リクエストが条件を満たさないと判明した時、イベントログにエントリを追加することをさらに含む、請求項15に記載の方法。
  19. リクエストが条件を満たさないと判明した時、警告することをさらに含む、請求項15に記載の方法。
  20. コンピュータアプリケーションへの不正なハイパーテキスト転送プロトコル(HTTP)リクエストをスクリーニングする方法であって、該方法は、ルールを用いてHTTPリクエストをスクリーニングすることを含み、該ルールは、該リクエストの本体中のフィールド又は要素についての条件と、該リクエストのクッキーに対する別の条件とを含む、方法。
  21. 前記ルールが、前記リクエストの普遍資源識別子(URI)パラメータについての条件も含む、請求項20に記載の方法。
  22. 前記ルールが、前記リクエストのメソッドについての条件も含む、請求項21に記載の方法。
  23. 前記ルールのセットが、前記リクエストのハイパーテキスト転送プロトコル(HTTP)バージョンインジケータについての条件も含む、請求項22に記載の方法。
  24. 前記ルールが、前記リクエストのURIフォーマットについての条件も含む、請求項23に記載の方法。
  25. 前記ルールが、前記リクエストのヘッダについての条件も含む、請求項24に記載の方法。
  26. プロセッサ上にロードされたときに、存在に関する条件、統計的条件、及び複合の普遍条件のうちの1つを持つルールを用いてリクエストを該プロセッサにスクリーニングさせるコンピュータ実行可能な命令を含むコンピュータ読取可能媒体。
  27. プロセッサ上にロードされたときに、ルールを用いてHTTPリクエストを該プロセッサにスクリーニングさせるコンピュータ実行可能な命令を含むコンピュータ読取可能媒体であって、該ルールが、リクエストの以下のパート:ヘッダ、クッキー、HTTPバージョンインジケータ、普遍資源識別子(URI)パラメータ、URIエンコードフィールド、マルチパートエンコードフィールド、シンプルオブジェクトアクセスプロトコル(SOAP)要素、URIフォーマット、のうちの少なくとも1つについての条件を含む、コンピュータ読取可能媒体。
  28. リクエストを受信するための入力と、
    存在に関する条件、統計的条件、及び複合の普遍条件のうちの1つを持つルールを用いて、受信したリクエストをスクリーニングするための手段と
    を備えるスクリーナ。
  29. HTTPリクエスト受信するための入力と、
    ルールを用いてHTTPリクエストをスクリーニングするための手段と
    を備えるスクリーナであって、
    該ルールが、リクエストの以下のパート:ヘッダ、クッキー、HTTPバージョンインジケータ、普遍資源識別子(URI)パラメータ、URIエンコードフィールド、マルチパートエンコードフィールド、シンプルオブジェクトアクセスプロトコル(SOAP)要素、URIフォーマット、のうちの少なくとも1つについての条件を含む、スクリーナ。
  30. コンピュータアプリケーションへの不正なハイパーテキスト転送プロトコル(HTTP)リクエストをスクリーニングする方法であって、該方法は、ルールを用いてHTTPリクエストをスクリーニングすることを含み、該ルールは、リクエストの以下のパート:ヘッダ、クッキー、メソッド、HTTPバージョン、普遍資源識別子(URI)パラメータ、URIエンコードフィールド、マルチパートエンコードフィールド、シンプルオブジェクトアクセスプロトコル(SOAP)要素、URIフォーマット、のうちの少なくとも2つについての条件を含む、方法。
JP2004534897A 2002-09-13 2003-09-12 コンピュータアプリケーションへの不正なリクエストのスクリーニング Withdrawn JP2005538620A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41028802P 2002-09-13 2002-09-13
PCT/CA2003/001333 WO2004025460A2 (en) 2002-09-13 2003-09-12 Screening for illegitimate requests to a computer application

Publications (1)

Publication Number Publication Date
JP2005538620A true JP2005538620A (ja) 2005-12-15

Family

ID=31994104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004534897A Withdrawn JP2005538620A (ja) 2002-09-13 2003-09-12 コンピュータアプリケーションへの不正なリクエストのスクリーニング

Country Status (6)

Country Link
US (1) US20050246545A1 (ja)
EP (1) EP1540917A2 (ja)
JP (1) JP2005538620A (ja)
AU (1) AU2003269619A1 (ja)
CA (1) CA2498649A1 (ja)
WO (1) WO2004025460A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063424A (ja) * 2012-09-24 2014-04-10 Mitsubishi Space Software Co Ltd 不正通信検出装置及びサイバー攻撃検出システム及びコンピュータプログラム及び不正通信検出方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7318097B2 (en) * 2003-06-17 2008-01-08 International Business Machines Corporation Security checking program for communication between networks
US8812638B2 (en) * 2006-07-12 2014-08-19 Telefonaktiebolaget Lm Ericsson (Publ) Method, apparatus and computer program product for controlling devices
US8266687B2 (en) * 2009-03-27 2012-09-11 Sophos Plc Discovery of the use of anonymizing proxies by analysis of HTTP cookies
JP4852124B2 (ja) * 2009-06-18 2012-01-11 株式会社東芝 異常データ検出装置、異常データ検出方法及び異常データ検出プログラム
US8750126B2 (en) 2009-10-16 2014-06-10 Tekelec, Inc. Methods, systems, and computer readable media for multi-interface monitoring and correlation of diameter signaling information
CN102656845B (zh) 2009-10-16 2015-04-01 泰克莱克股份有限公司 用于向直径信令路由器提供集成的监控和/或防火墙功能的方法、系统和计算机可读介质
EP2534794B1 (en) 2010-02-12 2019-03-27 Tekelec, Inc. Methods, systems, and computer readable media for providing peer routing at a diameter node
EP2534792B1 (en) 2010-02-12 2018-07-25 Tekelec, Inc. Methods, systems, and computer readable media for inter-diameter-message processor routing
JP5732550B2 (ja) 2011-03-03 2015-06-10 テケレック・インコーポレイテッドTekelec, Inc. ダイアメータシグナリングメッセージを強化するための方法、システム、およびコンピュータ可読媒体

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5386412A (en) * 1993-05-11 1995-01-31 Park; Jung S. Telecommunication system protocol for asynchronous data communication between multiport switch control processor and information support personal computer terminal
US5913024A (en) * 1996-02-09 1999-06-15 Secure Computing Corporation Secure server utilizing separate protocol stacks
US5958053A (en) * 1997-01-30 1999-09-28 At&T Corp. Communications protocol with improved security
US5896499A (en) * 1997-02-21 1999-04-20 International Business Machines Corporation Embedded security processor
US6779118B1 (en) * 1998-05-04 2004-08-17 Auriq Systems, Inc. User specific automatic data redirection system
US7159237B2 (en) * 2000-03-16 2007-01-02 Counterpane Internet Security, Inc. Method and system for dynamic network intrusion monitoring, detection and response

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063424A (ja) * 2012-09-24 2014-04-10 Mitsubishi Space Software Co Ltd 不正通信検出装置及びサイバー攻撃検出システム及びコンピュータプログラム及び不正通信検出方法

Also Published As

Publication number Publication date
AU2003269619A8 (en) 2004-04-30
CA2498649A1 (en) 2004-03-25
US20050246545A1 (en) 2005-11-03
AU2003269619A1 (en) 2004-04-30
WO2004025460A2 (en) 2004-03-25
WO2004025460A3 (en) 2004-09-23
EP1540917A2 (en) 2005-06-15

Similar Documents

Publication Publication Date Title
US7475138B2 (en) Access control list checking
US7302480B2 (en) Monitoring the flow of a data stream
US8261340B2 (en) Using statistical analysis to generate exception rules that allow legitimate messages to pass through application proxies and gateways
US8566919B2 (en) Distributed web application firewall
CN1612532B (zh) 基于主机的网络入侵检测系统
US7774832B2 (en) Systems and methods for implementing protocol enforcement rules
US7706378B2 (en) Method and apparatus for processing network packets
US8161538B2 (en) Stateful application firewall
US8695083B2 (en) Rule generalization for web application entry point modeling
US20040073811A1 (en) Web service security filter
CN112602301B (zh) 用于高效网络保护的方法和系统
EP1547335B1 (en) Rule creation for computer application screening
JP2005529409A (ja) プロトコルゲートウェイのためのシステム及び方法
US7707636B2 (en) Systems and methods for determining anti-virus protection status
US20070136802A1 (en) Firewall device
JP2005538620A (ja) コンピュータアプリケーションへの不正なリクエストのスクリーニング
Cisco Cisco Secure Intrusion Detection System Signature Engines Version 3.0
EP1820293A2 (en) Systems and methods for implementing protocol enforcement rules
CA2510633C (en) Access control list checking
Ambhore et al. Proxy server FOR intranet security
Erlacher Efficient intrusion detection in high-speed networks.
CN115766275A (zh) 一种基于Web的网络信息资源整合方法
Vacca The Importance of Firewalls

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060823

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080207

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20081126