JP2004533676A - アプリケーション・レイヤ・セキュリティ方法及びシステム - Google Patents

アプリケーション・レイヤ・セキュリティ方法及びシステム Download PDF

Info

Publication number
JP2004533676A
JP2004533676A JP2002574086A JP2002574086A JP2004533676A JP 2004533676 A JP2004533676 A JP 2004533676A JP 2002574086 A JP2002574086 A JP 2002574086A JP 2002574086 A JP2002574086 A JP 2002574086A JP 2004533676 A JP2004533676 A JP 2004533676A
Authority
JP
Japan
Prior art keywords
operation request
application
parameter
pipes
request
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.)
Pending
Application number
JP2002574086A
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 JP2004533676A publication Critical patent/JP2004533676A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/0245Filtering by information in the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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/1433Vulnerability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

図2Aは、本発明の一実施形態によるアプリケーション・レイヤ・セキュリティ・システム(200)を示す図である。具体的には、保護レイヤ(210)が、信頼できない環境と、1又は2以上のウェブ・サーバ(220)上に常駐する1又は2以上のアプリケーションを含む信頼できる環境の間で実施される。保護レイヤ(210)が、信頼できないソースを介して送信された悪意のあるオペレーション要求から、信頼できるアプリケーションを保護する。それぞれの着信オペレーション要求が、アプリケーションによって実施すべき、複数の要求されたコマンド、パラメータ、パラメータ値を有することができる。着信オペレーション要求を、1又は2以上のポート(230)を介して外部HTTPトラフィックとして受信できる。セキュリティ・システム(200)が、単一の、分散型の、又は共用アプリケーションをサポートするためのトンネル(240)を有する。トンネル(240)は、信頼できない環境と信頼できる環境の間の、プロトコル・ベースの、たとえばTCP/IP接続である。それぞれのトンネル(240)が、たとえば、HTTP、HTTPs、SOAPなどの特定のアプリケーション・プロトコルを実施し確認できる。システム(200)が、アプリケーションの機能を保護するか又はモニタするために提供される1又は2以上のパイプ(250)を更に有し、システムはウェブ・アプリケーション(260)も有する。更に、ウェブ・アプリケーション(260)が、パイプ実行を特定のアプリケーション経路にカストマイズできる。

Description

【技術分野】
【0001】
本発明は、情報セキュリティに関し、具体的には、信頼できるコンピュータ・アプリケーションを、未知の又は信頼できないソースから発信される違法又は有害なオペレーション要求を実行することから保護するためのアプリケーション・レイヤ・セキュリティ方法及びシステムに関する。
【背景技術】
【0002】
インターネットの容易さ、アクセス可能性、便利さにより、人々がコンピュータを使用し、情報にアクセスする方法が急激に変わってきた。しばしば「ウェブ」と呼ぶワールド・ワイド・ウェブ(「WWW」)は、インターネット上で情報を検索するための最も人気のある手段の1つである。ウェブにより、ユーザは、世界の各地に置かれているサーバからハイパーテキスト転送プロトコル(「HTTP」)を介して検索されるインターリンクされたハイパーテキスト・ドキュメントなどのほぼ無数のリソースにアクセスすることができる。ウェブは基本的なクライアント−サーバ・フォーマットで動作し、サーバは、ウェブ・ドキュメント又はバイナリ・オブジェクトを格納し、それをネットワーク上のクライアント・コンピュータに送信するなど、一定の方式でリソースを実行する専用コンピュータ又は個々のコンピュータ・アプリケーションである。たとえば、ユーザが、検索された情報を表示したり、又は所望の方式で動作するようサーバ上のアプリケーションに要求したりするために、ウェブ・ブラウザを通じてサーバとインタラクトできる。
【0003】
ウェブ・ページと呼ぶウェブ上のドキュメントは、一般に、ハイパーテキスト・マークアップ言語(「HTML」)又は同様の言語で書かれ、ファイル又はリソースにアクセスできる特定のマシン及びパス名を指定するユニフォーム・リソース・ロケータ(「URL」)によって識別される。HTMLドキュメント内に埋め込まれた、しばしばタグと呼ぶコードが、ドキュメント内の特定の語及び画像をURLに関連づけ、その結果、ユーザがキーを押したりマウスをクリックしたりすることにより、別のファイル又はページにアクセスできるようになる。これらのファイルは、一般に、テキスト、画像、ビデオ、オーディオ、及び、ユーザがハイパリンクをクリックすることによって起動した場合に実行する、たとえばJavaやActiveXで書かれた、アプレット又は他の埋め込まれたソフトウェア・プログラムを含む。ウェブ・ページを見ているユーザが、たとえば、ユーザにより供給された要求情報をフォームを使用してサーバに転送し、ファイル転送プロトコル(「FTP」)を介してファイルをダウンロードし、チャット・ルームでのユーザ参加を容易にし、安全な商取引を行い、ウェブ・ページ上のリンクを使用することにより電子メールを介してメッセージを他のユーザに送信するコンポーネントとインタラクトすることもできる。
【0004】
一般に、ユーザの望みを合法化し、ウェブ・サイトを見ごたえのある又は人気のあるものにするようなコンポーネントがまた、サーバ及び周囲のネットワーク環境を、悪意のある、無責任な、又は犯罪を犯す意図のある個人からの攻撃に対して脆弱なものにすることがある。これは、「ウェブ・ハッキング」と呼ばれ、一般に、サーバ・アプリケーション自体を通じてウェブ設計の間違いや脆弱性につけこむことに関係する。ウェブ・ハッキングは、攻撃が一般にアプリケーション・レイヤ・プロトコルを介して行われるので、これまでのシステムやアプリケーションのハッキングとは異なる。一般に、クライアントが、ウェブ・ページを通じてサーバ・アプリケーションと直接に話したりインタラクトすることが容易になればなる程、誰かがそれらのアプリケーションにハッキングすることが容易になる。代表的な攻撃には、グラフィックスを削除しそれらを不正に細工した、時にはけばけばしいグラフィックスに置換することによりページの外見を損なわせること、パスワード・ファイルを改変したり盗んだりすること、データ・ファイルを削除すること、著作権のある作品を侵害すること、クレジット及びデビット・カード番号、又は他の顧客情報を勝手に変更すること、プライベートなビジネス情報を公表すること、秘密情報又は無許可情報にアクセスすること、内部データベースを通じてサーチすることが含まれるが、それらに限定されるものではない。従って、ウェブ・ハッキングにより、ユーザ、顧客、ビジネス、1又は2以上のサーバのオペレータに対して、不便及び恐らくは元に戻らないような損害が引き起こされる。一般に、従来のコンピュータ・セキュリティ方法は、ウェブ・ハッキングの懸念に対処していないか又はそれを完全に無視している。
【0005】
国際標準化機構(「ISO」)が、コンピュータが互いに接続し合い、できるだけエラーを少なくして情報を交換することを可能にするよう設計された1組のプロトコル標準を開発した。コンピュータ通信全体を標準化するための一般に認められているプロトコルは、開放型システム間相互接続(「OSI」)モデルとして既知である、7レイヤからなる1組のハードウェア及びソフトウェア・ガイドライン内で指定される。このプロトコル・モデルは、貴重な基準を形成し、データ通信で使用される言語の多くを定義する。図1に示されているように、アプリケーション・レイヤは、OSIモデル内の標準の最も高いレイヤである。
【0006】
従来のセキュリティ方法は、一般に、ファイアウォール又はセッションを使用することによるデータ・リンク・レイヤ及び物理レイヤのいずれかと、安全なソケット・レイヤ(「SSL」)又は公開鍵インフラストラクチャ(「PKI」)を使用することによるトランスポート・レイヤの間で実施される。ファイアウォールは、インターネットなどの別のネットワークから発信されるデータ・リンク・レイヤで、外部からの脅威に対して信頼できる環境又はネットワークを保護するよう意図された1つのタイプのセキュリティの実施である。ファイアウォールは、コンピュータが、信頼できるネットワーク外のコンピュータと直接に通信することをファイアウォールで防ぐ。その代わりに、全ての通信が、信頼できるネットワークの外側にあるプロキシ・サーバを通じて経路設定され、プロキシ・サーバが、特定のメッセージ・タイプ又はファイル・タイプを、1組のフィルタに基づいて、信頼できるネットワークに通過させることが安全かどうかを判断する。安全なソケット・レイヤは、クレジット・カード情報などのクリティカルな情報の傍受を防ぐために、安全で暗号化された通信チャネルを確立するためのNetscape Communications(登録商標)によって開発された公開標準である。SSLを使用する主な目的は、ウェブなどの公衆ネットワーク上で安全で暗号化された電子トランザクションを可能にすることである。公開鍵インフラストラクチャ又は信頼階層は、通信セッションに関係するそれぞれの関係当局を検証し認証する、ディジタル認証、認証局、他の登録局のシステムである。PKIは、現在も発展し続けており、単一のPKIもなければ、PKIを設定するための同意された単一の標準もない。上記の従来の技術の1つの欠点は、アプリケーション・レイヤ・プロトコルの検査を実施しない、すなわち着信要求のアプリケーション・コンテントを精査しないことである。従って、これらの技術は、オペレーション要求のアプリケーション・コンテントを通じて向かってくるウェブ・ハッキング攻撃を防ぐことができない。
【0007】
ウェブ・ハッカは、ウェブ設計の欠陥及び脆弱性を悪用することにより、コンピュータ・システムを容易に攻撃することができる。たとえば、デフォルト・スクリプトにより、ファイルをウェブ・サーバにアップロードでき、環境変数のウェブ・サーバの処理を悪用でき、サード・パーティ製品の「バックドア」又は欠陥の存在により無許可のアクセスが可能となる。これらの技術は、強力な攻撃であり得、一般に従来の手段を通じて防御することは困難である。毎月新しいソフトウェアの脆弱性が発見されているが、多くのシステム・オペレータは通常、これらのホールをパッチせず、防ぐことが可能な攻撃から自分のシステムをオープンのまま放置している。上手に構成されたファイアウォール、PKI、SSLの実施を利用している大企業及び政府関係機関が、ハッカにより既知のアプリケーション・レイヤを使用して潜入されてきた。これらの進入は、一般に、アプリケーションに送信して、意図された又は認証された範囲のオペレーション外のことを無理に実行させる違法で有害な要求を伴う。これは、アプリケーションを悪用して、アプリケーション自体、ファイル、バッファ、他のアプリケーション、性能、又は情報の機密性を損傷させることができる。
【0008】
従来の2つのアプローチが、これらの問題のいくつかに対処することを試みている。1つの技術が、サーバ・オペレーティング・システムを追跡して、ファイルを削除したりディスクをフォーマットするなどの怪しい事象を識別することに関係する。しかし、このタイプの反応型技術は、一般に、損害が起きた後又は完了した後になって起動する。第2の技術が、アプリケーションの前にネットワーク・フィルタをインストールすること、及びアプリケーションに影響を及ぼすことのできる既知のパターンでフィルタ・データベースを更新することに関係する。しかし、この技術は、フィルタ・データベースにはまだ「既知」になっていないパターンを識別できないという点で限定されている。言い換えれば、この技術のケイパビリティは、パターンを引き出すフィルタ・データベースのわかりやすさに直接関係する。ケイパビリティを上げるために、フィルタ・データベースは継続的な更新を必要とする。更に、これらの技術は、環境変数又はアプリケーションの実施されるビジネス・プロセスの改ざんに対して保護しない。
【0009】
更に、従来のセキュリティ・ソリューションは、一般に、電子商取引(「eコマース」)、モバイル、インタラクティブ・テレビジョン(「iTV」)のアプリケーションの激増により増加しつつあるハッキングの機会に対処していない。これらのアプリケーションは、一般に、異なる技術を使用して全てがともに機能する、異なるプラットフォーム上で動作する数々のコンポーネントの組合せを必要とする。たとえば、単一のアプリケーションが、ウェブ・サーバ・アプリケーション、トランザクション・サーバ・アプリケーション、データベース、全てがともに機能するJava、ActiveX、Flashアプレットなどの、複数のコンポーネントを有することができる。 一般に、従来のセキュリティ・ソリューションは、多くのコンポーネント・システムにおけるそれぞれのコンポーネントの一意のセキュリティの必要を満たすことができない。
【発明の開示】
【発明が解決しようとする課題】
【0010】
本発明は、信頼できるコンピュータ・アプリケーション及び関連するリソースを、アプリケーション自体を通じて直接に無許可のユーザによってアクセス又は実行されることから防ぐためのアプリケーション・レイヤ・セキュリティ方法及びシステムを提供することにより、従来の技術の上記の及び他の欠陥を克服する。
【課題を解決するための手段】
【0011】
本発明の一実施形態では、信頼できない環境から受信された違法又は有害なオペレーション要求を実行することからアプリケーションを保護するための方法が、1又は2以上のパイプを着信オペレーション要求に適用するステップを含む。違法で有害なオペレーション要求により、アプリケーション、他のアプリケーション、信頼できるネットワーク、1又は2以上のデータ・ファイル、メモリ、バッファ、性能、秘密情報、ハードウェア、ソフトウェア、データベース、情報サーバなどが損傷したり、又はそれらへの無許可アクセスが可能になることがある。たとえば、違法で有害なオペレーション要求が、データベースの改ざん、既知のインターネット情報サーバの脆弱性又はアプリケーションの脆弱性に対する攻撃、URLの改ざん、ビジネス・プロセスの改ざんなどであり得る。オペレーション要求が違法又は有害であると識別された場合は、これらの要求を完全に拒否するか、あるいは正当な又は無害なオペレーション要求に修正するか、又はそれらに置換することができる。
【0012】
本発明の一実施形態では、セキュリティ・システムが、実行の前後に、アプリケーション・サーバから又はアプリケーション・リクエスタ(クライアント)から来る、1パケット又はストリームのパケット内で受信されたか又は識別されたアプリケーション・オペレーション要求又は結果をくまなく探す。オペレーションにおいては、着信パケット又はストリームのパケットが、オペレーション要求内の、1又は2以上のアプリケーション・コマンド又はパラメータあるいはその一部分を識別する識別子に転送される。次いで、識別されたコマンド又はパラメータが、たとえば、コマンドのタイプ、要求されているアプリケーション、クライアント識別、又はそれらの組合せにより、それぞれのコマンド又は要求全体を適切なトンネルに向ける経路設定スキームを有するルータに転送される。本発明の1つの特徴は、異なるパイプがオペレーション要求の異なる部分に適用できることである。
【0013】
本発明の一実施形態では、データベース・ドリブン・パイプが、データベース・オペレーションに関係し、データベース要求内に悪意のある意図を示すパターンを見つけ出すことを目的とする。具体的には、着信データベース要求のコンテンツが、使用されるデータベースのタイプ及び1又は2以上の埋め込まれた有害なSQLコマンドの存在に基づいて許容構文について検査される。
【0014】
本発明の別の実施形態では、決定性タイプのパイプが、着信オペレーション要求を既知の脆弱性パターンについて検査する。全ての既知のアプリケーションの脆弱性、及びそれにつけこむ各要求が格納され、着信要求と比較される。比較結果が一致した場合は、着信要求は阻止され、アプリケーションに進むことができない。更に、このパイプは、アクセスされるか又は実行された場合に、否定的な影響を及ぼしたりアプリケーション環境又はサーバへの違法アクセスを可能にする恐れのある、実行可能プログラム、メソッド、スクリプトの使用を消去することにより、未知の脆弱性に対してアプリケーションを遮蔽できる。
【0015】
本発明の別の実施形態では、HTMLドリブン・パイプにより、アプリケーションが設計通りに動作し、アプリケーション・オーナによって実施されることが確実となる。具体的には、パイプは、それぞれの発信返信をそのパラメータ名及び値についてチェックし、次いで、着信パラメータと発信パラメータの間の比較に基づいて次のクライアントを確認する。この方法により、アプリケーションへの後続のユーザ要求が、アプリケーションの期待するユーザ要求のみであることが確実となる。
【0016】
本発明の別の実施形態では、アプリケーション・ノードを阻止しているパイプが、リモート・ユーザ要求を、アプリケーション・オーナによって制限されたものとして指定されているアプリケーション経路を入力することから制限する。アプリケーション・オーナが、時々、たとえアプリケーション内で脆弱性が知られているにもかかわらず、生産パッチが使用可能になるまで、ビジネスを失うことを恐れてアプリケーションを実行し続けることがあり得る。このパイプを使用すると、アプリケーション・オーナは、他のアプリケーション経路をクライアントから使用可能にしたまま、脆弱なアプリケーション経路がアクセスされることを阻止できる。
【0017】
本発明の別の実施形態では、パイプが、信頼できないオペレーション要求を、信頼できるネットワーク内の信頼できる環境又はゾーンに転送されることから阻止する。このパイプを実施することにより、アドミニストレータが、リモート・ユーザの特有のメッセージを許可されたものとして指定されたメッセージのみに制限できる。
【0018】
本発明の別の実施形態では、パイプが、定義済式規則に従って着信パラメータ値を確認する。
【0019】
本発明の別の実施形態では、クッキーベースのパイプが、クライアント側のクッキーを、ユーザによって修正されるか又は改ざんされることから保護する。このパイプにより、クッキー内に格納されている内部情報がユーザから使用不可能になるが、アプリケーション自体にはどのような変更も適用せずに、アプリケーションにはトランスペアレントにクリアであることが確実となる。
【0020】
本発明の別の実施形態では、SOAPパイプは、有害なクライアント要求にサービスすること、あるいはリモート・クライアント又は特定のクライアントが呼び出すことを許可されていないサービス要求を防ぐことから、ウェブ・サービスを保護する。具体的には、このパイプにより、ウェブ・サービスが設計通りに動作し、アプリケーション・オーナによって実施されることが確実となる。このパイプにより、全てのクライアント要求がウェブ・サービスの定義及びデータ構造に一致し、リモート・クライアントが要求することを認証されているサービスにのみアクセスできることが確実となる。
【0021】
本発明の別の実施形態では、学習手法により、要求内のパラメータが、統計モデルから判断されたクライアント、すなわちリクエスタによって入力された最も一般的な値により良く一致するよう「微調整され」ることが可能となる。ダイナミックな範囲の入力された値が、クライアントが送信する要求内のそれぞれのパラメータについて構築される。実施された統計モードに基づき、確率の高い、すなわち最もしばしば入力された値又は期待された値の範囲が計算され、オペレーション要求パラメータの値が、アプリケーションからの返信に基づいて調整できる。
【0022】
本発明の利点は、正当で無害な要求のみが、信頼できるネットワークへ及びそのネットワーク内の信頼できる全てのアプリケーションへ通過することである。別の利点は、本発明が、これらのサーバ上のどのようなソフトウェアも修正したりインストールしたりすることなく、単一の又は多くのアプリケーション・サーバにインストールされた無制限の数のアプリケーションを保護することである。本発明の別の利点は、オペレーション要求の一部分を異なるセキュリティ技術によって精査できることである。本発明の別の利点は、パイプのどのような組合せも、アプリケーションの正確なセキュリティの必要に従ってアプリケーション経路に適用できることである。
【0023】
本発明は、アプリケーション・レイヤを通じて向けられた攻撃の問題に対して、頑強でスケーラブルでダイナミックで有効なかつあざやかなソリューションを提供する。
【0024】
本発明の上記の及び他の特徴と利点は、本発明の好ましい実施形態についての以下のより具体的な説明、添付図面、特許請求の範囲から自明となろう。
【0025】
本発明と本発明の目的及び利点をより完全に理解するために、添付図面と合わせて以下の説明について言及する。
【発明を実施するための最良の形態】
【0026】
本発明の好ましい実施形態及びそれらの利点は、図2〜15を参照することによって理解できるであろう。これらの実施形態は、インターネット、イントラネット、モバイル通信ネットワーク、iTVネットワーク、ハイブリッド・ネットワーク、又は、HTTP、HTTPs、HTTPd、SOAP(simple object access protocol)、WebDAV(web distributed authoring and versioning)、メール転送プロトコル(SMTP)などのアプリケーション・プロトコルを使用するがそれらに限定されるものではない任意の他のアプリケーション環境内で用いることができる。その上、本発明のコンセプトは、信頼できるアプリケーション又はネットワークと信頼できない通信環境の間で情報が交換される、どのようなタイプの通信システムにおいても実践できる。本発明のコンセプトは、アプリケーション・サービス・プロバイダ(「ASP」)、ビジネス対商取引、ビジネス対ビジネスのネットワーク環境を保護するのに特に適している。
【0027】
本発明は、アプリケーション・レイヤを通じて直接要求された信頼できるコンピュータ・アプリケーション又はリソースの無許可使用を防ぐ。アプリケーション・レイヤは、アプリケーションの要件に関係し、クライアントとサーバの間のデータの伝送を制御するより低いレイヤとは異なり、クライアントによって要求されたアプリケーション・オペレーションを容易にする。一般に、全てのアプリケーション・オペレーションが、アプリケーション・レイヤを通じて提供される、要素、たとえばパラメータ及び関連付けられた値を使用する。本発明の一実施形態によるアプリケーション・レイヤ・セキュリティ方法及びシステムが、それのみで又は組み合わせて動作する、本明細書においてパイプと呼ぶ、1又は2以上のセキュリティ接続技術を実施し、信頼できるアプリケーション又は周囲の環境に対して違法な又は有害なコマンドを識別するために、クライアント・メッセージのアプリケーション・コンテント、すなわち信頼できないオペレーション要求又は着信データ・ストリームを精査する1又は2以上のアプリケーション・レイヤ・セキュリティ・プロセスを有する。従って、アプリケーション・レイヤ、特にウェブに関係する脅威に対して信頼できるアプリケーションを保護する。アプリケーション・レイヤ・セキュリティ方法及びシステムは、アプリケーション、共用アプリケーション、分散型アプリケーション、又は多くのアプリケーションを、意図された範囲のオペレーション外で実行するよう要求されることから保護するよう実施できる。それにより、このようなアプリケーションがアプリケーション自体、データ・ファイル、バッファ、他のアプリケーション、サーバ性能、又は情報の機密性を害するのを防止する。有害又は違法であると識別されたオペレーション要求が、完全に拒否されるか、あるいは無害な又は正当な要求に修正されるか、あるいはそれに置換できる。従って、無害で正当な要求のみが、実行のためにアプリケーションに通過する。
【0028】
本発明の一実施形態では、セキュリティ・システムが、1又は2以上のアプリケーションを有する信頼できる環境の前に位置づけられる。セキュリティ・システムは、これらの1又は2以上の信頼できるアプリケーションと、未知の又は信頼できない環境から又はそれを通じて受信された信頼できない着信アプリケーション・オペレーション要求の間のアプリケーション・レイヤで保護レイヤを実施する。保護レイヤは、フォーム、コンテント、又は両方について、これらの要求を検査して、正当で無害な要求のみが信頼できる環境に通過することを確実にする。セキュリティ・システムは、保護レイヤを実施するための、ハードウェア、ソフトウェア、又は両方を有することができる。
【0029】
図2Aは、本発明の一実施形態によるアプリケーション・レイヤ・セキュリティ・システム200を示す図である。具体的には、保護レイヤ210が、信頼できない環境と、1又は2以上のウェブ・サーバ220上に常駐する1又は2以上のアプリケーション(図示せず)を有する信頼できる環境の間で実施される。保護レイヤ210は、信頼できないソースを介して送信された悪意のあるオペレーション要求から、信頼できるアプリケーションを保護する。それぞれの着信オペレーション要求が、アプリケーションによって実施されるべき、複数の要求されたコマンド、パラメータ、パラメータ値を有することができる。着信オペレーション要求が、1又は2以上のポート230を介して外部HTTPトラフィックとして受信されることがある。それぞれのアプリケーションを、専用又は共用サーバ上で実施する、あるいは多くのサーバ全体を通じて分散することができ、HTMLドキュメント、ウェブ・サーバ・ソフトウェア、共通ゲートウェイ・インターフェース(「CGI」)スクリプト、Perlスクリプト、データベース情報、又は任意のタイプの情報リソース又は実行可能なプログラムなどのリソースを有することができるが、それらに限定されるものではない。アプリケーション経路は、特定のアプリケーション・タスク又はコマンドを実行するためのアプリケーションのリソース場所を表す。リソース場所は、ウェブ・サーバ220上に常駐する物理アドレス又は仮想アドレスであり得る。たとえば、図2Bは、サブディレクトリ、「/My App/Images」及び「/My App/DOCS」から構成される仮想サブディレクトリ「/My App」を表す。これらのサブディレクトリのそれぞれ1つが、各画像又はドキュメントの場所を指定するアプリケーション経路を表す。
【0030】
セキュリティ・システム200が、単一の、分散型、又は共用アプリケーションをサポートするためのトンネル240を有する。トンネル240は、信頼できない環境と信頼できる環境の間の、プロトコル・ベースの、たとえばTCP/IP接続である。それぞれのトンネルを通って進行する着信又は発信データ・パケットを有するネットワーク・トラフィックが、データ・パケットのアプリケーション・コンテントから導出された適切なアプリケーション経路に基づいて分離される。たとえば、HTTPにおいて、アプリケーション経路は、特定のトンネルを介してアクセスできるウェブ・サーバ220上で定義された仮想ディレクトリであり得る。それぞれのトンネル245が、たとえば、HTTP、HTTPs、SOAP、WebDAV、FTP、Telnetなどの特定のアプリケーション・プロトコルを実施し確認できる。あるいは、それぞれのトンネル240が、単に着信及び発信データ・パケット・ストリームを転送できる。
【0031】
図2Cは、信頼できないネットワーク側の聴取アドレス及びポートと、信頼できるネットワーク側の接続ローカル・アドレスの間で情報を伝えるトンネル240の例を表す図である。聴取アドレス及びポートは、着信アプリケーション・オペレーション要求を受信する。接続ローカル・アドレスは、トンネル240を通って受信された情報を受信し、その接続アドレス及びポートで聴取しているバックエンド・アプリケーションにそれを転送する。図2Dは、サブディレクトリ/DOCSに関連付けられた、具体的にはトンネル#3と呼ぶトンネル240のトンネル実施の例を表す図である。この例においては、一定のドキュメント、たとえばHTTPプロトコルのアプリケーション・コマンドGET/DOCSを有するアプリケーションを表示するための要求が、トンネル#3を通って対応するアプリケーションに送信される。
【0032】
システム200は更に、アプリケーションの機能を保護又はモニタするために提供された1又は2以上のパイプ250を有する。具体的には、1又は2以上のパイプ250が、トンネル内で動作しているトラフィック上で実行される。たとえば、第1のパイプは1又は2以上のアプリケーションを既知の脆弱性から保護し、第2のパイプはデータベースの改ざんを防ぎ、第3のパイプはパラメータのポイゾニングを防ぐ。特定のパイプ実施形態及び実装形態を、以下の説明で詳細に記述している。追加のパイプが他の特定の又は一般的なセキュリティ懸念を表すことができることは、当業者なら認識されるであろう。
【0033】
図2A及び特に図2Eを参照すると、システム200が、複数のトンネル240をラッピング又はグルーピングする論理エンティティである1又は2以上のウェブ・アプリケーション260と、アプリケーション経路と、信頼できるアプリケーションをともに保護する1又は2以上のパイプ250とを有する。いくつかのウェブ・サーバ220間に分散されたアプリケーション、すなわち異なるマシン上に常駐する別個のHTMLページを保護する場合、単一のウェブ・アプリケーション・エンティティは分布を表す。たとえば、ウェブ・アプリケーション260が、選択されたアプリケーション経路を介する全てのトラフィックを精査しモニタする。デフォルト・ウェブ・アプリケーションが、ウェブ・アプリケーション260内で定義されていない全てのトンネルを介する全てのトラフィック上のセキュリティ保護を表す論理エンティティである。更に、ウェブ・アプリケーション260が、1又は2以上のパイプの実行を特定のアプリケーション経路にカストマイズできる。
【0034】
セキュリティ・システム200が、保護レイヤ210を実施するためのハードウェア、ソフトウェア、又は両方を有することができる。本発明の一実施形態では、保護レイヤ210が、スタンドアロン・サーバ上で実施される。代替実施形態では、保護レイヤ210が、既存サーバにインストールできる「プラグ・アンド・プレイ」ハードウェアなどとして実施される。本発明の別の実施形態では、保護レイヤ210が、1又は2以上のサーバにインストールされたソフトウェア・コンポーネントによって実施される。
【0035】
本発明の一実施形態では、アプリケーション・レイヤ・セキュリティ方法が、着信及び/又は発信メッセージ又はデータ・パケットのコンテンツを検査して、意図された又は認証された範囲外で実行している信頼できるアプリケーションに関連付けられたアプリケーション・コマンド又はパラメータを識別するステップを含む。メッセージ・コンテンツが、アプリケーションが実行又は解釈する、メッセージ・ヘッダ、メッセージ本体、クエリ・ストリング、ユニフォーム・リソース識別子(「URI」)、及び特に、アプリケーションが実行したり解釈したりするアプリケーション変数やコマンドなどのアプリケーション・レイヤ要素を有する。コンテントをチェックすることには、1又は2以上のパイプを適用するステップが含まれ、それぞれのパイプが、特定の保護又はモニタ機能をアプリケーション・レイヤ・コンテントに提供する。
【0036】
本発明の一実施形態では、セキュリティ方法300が、着信アプリケーション・オペレーション要求のアプリケーション・レイヤ・コンテンツを精査するために用いられる。図3Aの左側を参照すると、アプリケーション経路識別及びトンネル構築が、まず第1に、着信オペレーション要求上で実施される(ステップ302〜322)。具体的には、信頼できないネットワークから送信されたデータ・パケット又はストリームのパケットの形式のオペレーション要求が、まず第1に、バッファ・オーバーフロー攻撃、すなわち、サーバが扱うことのできる数を超える所与の時間内に受信された多数の冗長又は違法要求によって引き起こされるサービスの拒否が生じ、それにより、正当な要求に対してサービスの拒否が生じたり、又はオーバーフロー要求が無許可のまま進行することが可能となることを防ぐ、好ましくは待ち行列に入れられたソケット・サーバなどの受信手段で受信される(ステップ302)。他の実施形態では、データ通信を受信し扱うことのできる他の従来の受信手段が使用できるが、その識別及び実施については当業者には自明であろう。要求を受信すると、バイナリ・ストリーム・リーダが、サーバ待ち行列からデータ・パケットを読み取る(ステップ304)。好ましい実施形態では、内部エンティティ、すなわちネットワーク・セッション・オブジェクトが、システム内でその生存期間中それぞれのメッセージを扱う。
【0037】
プロトコル・メッセージ生成関数が、任意のタイプのプロトコルに従って最初にフォーマットされた可能性のある、受信されたオペレーション要求を、プロトコル指定307によって指定された所望のフォーマットを有する内部メッセージに組み立てる(ステップ306)。プロトコル指定307は、信頼できるアプリケーションによって実施される、HTTP、HTTPs、SOAP、HTTPd、FTP、WebDAVなどの、任意のタイプのアプリケーション・プロトコルであり得る。内部メッセージ構築はまたトンネル構築とも呼ばれ、オペレーション要求は、信頼できるアプリケーションのプロトコルのデータ・フォーマット内に埋め込まれている。本発明の一実施形態では、たとえばミッシング・パラメータやエキストラ・パラメータにより正当なプロトコル・メッセージを作成することができないなどの理由から、オペレーション要求が内部メッセージにフォーマットできない場合は、そのオペレーション要求は即時に拒否される。成功裏に内部メッセージにフォーマットされると、そのメッセージは、索引付けされ(ステップ308)、後に分析するために格納され、それにより、必要な場合には要求からアプリケーション・コンテントを集め、一時バッファ又は永久記憶装置デバイス内に蓄積することが可能となる。以下に詳細に説明するように、集められたコンテントは、要求のアプリケーションの実行から戻ってきた又は後続の他のオペレーション要求及び返信に戻る、対応する返信と比較するのに有用である。
【0038】
拒否が起きなかった場合は、メッセージは、パイプ・コンポーネントによって理解される既知の符号化言語に翻訳される(ステップ310)。既知の符号化言語は、任意のタイプの符号化言語であり得る。本発明の好ましい実施形態では、使用される符号化言語は、ユニコード又は拡張ユニコードである。ユニコードは、HTTPアプリケーション・プロトコルを使用する場合に特に好ましい。オペレーションにおいては、要求がユニコード・キャラクタに翻訳される。たとえば、受信された要求が、情報交換用米国標準コード(「ASCII」)又は任意の他の符号化標準に符号化されている場合、メッセージは、ユニコード又は拡張ユニコードに翻訳される。翻訳により、要求内に含まれた記号が予期しないものであるか否かを判断することにより、オペレーション要求の切り離され独立した検査が実現される。言い換えれば、予期しないキャラクタを含むどのような要求も、その全体を拒否できる。翻訳により、後続のセキュリティ・プロセスが期待される符号化標準で実施されることが確実となり、それにより、予期しないキャラクタによるセキュリティとの妥協のリスクが最小限に抑えられる。その上、翻訳により、元のメッセージを翻訳されたメッセージから切り離して、全てのパイプが翻訳されたメッセージ上で適切に実行することが確実となる。本発明の一実施形態では、プロトコル指定307のどのような更新も、既知の符号化言語の即時の更新となる。他の実施形態では、ASCII又は任意の他の符号化標準を符号化言語として使用できる。
【0039】
成功裏に組み立て索引付けし翻訳した結果、信頼できないオペレーション要求が、ユニコードで符号化された、うまくフォーマットされたプロトコル・メッセージに変換される。これらのステップは、1又は2以上のパイプを適用することにより、コンテンツの徹底的な精査のために要求が通過する前の、要求のフォーマットの予備スクリーニングとして作用する。言い換えれば、これらのステップは、隠蔽された又は容易に識別可能でない違法又は有害なコマンドについて要求のコンテンツをチェックする前にまず、全く驚くべき又は予期しない要求をフィルタリングする。
【0040】
翻訳に続いて、オペレーション要求内のそれぞれのコマンド又はパラメータあるいはそれの一部分が、その意図されたアプリケーション経路とともに識別され(ステップ312)、次いで、特定の経路設定スキームを用いて、論理管理されたエンティティ、すなわちウェブ・アプリケーションに関係づけられる(ステップ314)。本発明の一実施形態では、その識別されたアプリケーション経路が既知である場合、すなわち、ウェブ・アプリケーション及び経路設定スキームに関連付けられたアプリケーション経路との一致が発見された場合は、コマンドが経路設定スキームに従って経路設定される(ステップ316)。コマンドのアプリケーション経路が存在しない場合、又は完全には識別できなかった場合、又はどのような既知のアプリケーション経路にも一致しなかった場合は、メッセージは、好ましくは最大のセキュリティのために全ての使用可能なパイプに適用されるデフォルト・トンネルを通って経路設定される(ステップ318)。デフォルト・トンネルはまた、最初のトンネル構築中にセキュリティ問題を有することが発見された、どのようなメッセージにも適用できる。デフォルト・トンネルの実施により、エラー・ウェブ・ページ、セキュリティ警告ウェブ・ページ、又は同様の手段を表示して、エラーが起きたこと又は推定される悪意のある攻撃の宛て先が信頼できるアプリケーションから変更されたことを通知することがトリガされることがある。しかし、デフォルト・トンネルが指定されない場合は、要求は拒否される(ステップ320)。適切なアプリケーション経路に対応するそれぞれのコマンド又はパラメータが、経路設定スキームに従って経路設定され、それにより、指定されたトンネルを通ってそれぞれのコマンドを経路設定し、そのアプリケーション経路のための特定の数及び組合せのパイプが適用される。オペレーション要求内に含まれる追加のコマンド及びパラメータについて、ステップ312〜320を繰り返す(ステップ322)。
【0041】
図3Aの右側を参照すると、経路設定スキームによって決められた通りに、1又は2以上のパイプが、それぞれの着信オペレーション要求に順次に適用されて(ステップ324、326、328)、要求内に含まれる命令、コマンド、クエリ・ストリング、環境変数、パラメータなどのアプリケーション・レイヤ・コンテンツを徹底的に精査する。それぞれのパイプが、独自タイプの分析又はモニタ機能を提供する。適用されたパイプの特定の数及びタイプは、所望されるセキュリティの量、一般に、それぞれのトンネル及び/又はアプリケーション経路のタイプ及び必要に依存する。たとえば、一方のトンネルは適用された3つのパイプを有し、他方のトンネルは適用された2つのパイプを有することがある。
【0042】
パイプは、一般に、スタティック又はダイナミックなパイプとして分類され、そのいずれかが、以下に記述する「学習」手法を任意に実施できる。スタティックなタイプのパイプが、一般に、ハッキング・パターン又は既知の、すなわち識別された脆弱性に関係する、静的に格納された情報との比較によりアプリケーション・コンテンツを精査する。たとえば、比較により一致が発見された場合は、要求は、拒否、修正、又は置換することができる。ダイナミックなタイプのパイプが、着信要求と発信返信の両方、及びそれらの間で恐らく変化している即ちダイナミックな関係を精査する。これらのタイプのパイプのいずれかが、要求及び/又は返信から情報を集めて、パイプのセキュリティ範囲を「微調整」する学習手法を適用できる。その上、単一のパイプが、学習手法のあるなしにかかわらず、スタティック及びダイナミックなタイプのパイプに関連付けられたいくつかの特性を組み合わせることができる。特定のパイプ構成及び実施を、以下の説明において記述する。適切な数及びタイプのパイプを適用すると、オペレーション要求のアプリケーション・コンテンツの合法性及び/又は有害性が判断される。オペレーション要求が精査に合格すると、その要求は、送信される(ステップ330)か又は少なくとも、処理のために信頼できるアプリケーションに進むことが可能となる(ステップ332)。
【0043】
代表的なクライアント・サーバ通信セッションにおいて、いったんアプリケーションがオペレーション要求を処理すると、要求側のクライアントに戻るための各返信が生成される。たとえば、返信は、HTMLドキュメント、画像、データベース情報、ビデオ、又はサーバを通じてアクセス可能な任意の他のリソースであり得る。図3Bを参照すると、オペレーション要求の実行の後に起きる方法300のステップが示されている。発信返信が読み取られ(ステップ334)、次いで、特定のアプリケーション・プロトコル337に基づいて内部メッセージに組み立てられる(ステップ336)。本発明の好ましい実施形態では、アプリケーション・プロトコル337はアプリケーション・プロトコル307と同一である。着信オペレーション要求に適用されたパイプのいずれかが、リターン返信の検査を必要とする場合は、ステップ338〜356が実施される。具体的には、実施されたパイプのいずれかについて2つの間の比較が必要な場合には、返信メッセージが、元の要求に索引付けし戻される(ステップ338)。メッセージを索引付けすると、返信メッセージが、着信データ・ストリーム上で使用される符号化言語に翻訳される(ステップ340)。発信返信が、以前に格納された、翻訳され索引付けされた要求、及び翻訳され索引付けされた返信メッセージを使用して、確認される(ステップ342)。具体的には、このステップにより、発信返信が性質上些細なものであることが確実となる。たとえば、返信は、サーバから開放するために認証された情報のみを有することがある。些細ではない返信がクライアントに到達することが拒否される(ステップ344)。受入れ可能なパラメータ名及び値と新しいアプリケーション経路が、返信内で識別される(それぞれ、ステップ346及び348)。この情報を使用して、適切なダイナミックなタイプのパイプ又は実施された学習手法を更新する(ステップ350、352、354)。更新すると、必要な場合には、返信はプロトコル35に従ってメッセージに再び組み立てられ(ステップ356)、オペレーションを要求しているクライアントに送信される(ステップ358)。好ましい実施形態では、プロトコル357はプロトコル307と同一である。オペレーション要求が、返信の検査を必要とする適用されたどのようなパイプも有さない場合は、ステップ338〜356がスキップされる。
【0044】
図4は、アプリケーション・サーバから又はクライアントから来るパケット又はストリームのパケット内で受信されたか又は識別されたアプリケーション・オペレーション要求又は返信を経路設定するためのセキュリティ・システム400を示す図である。具体的には、システム400が、クライアント410、要求識別子420、要求ルータ424、N数のパイプ430A〜N、サーバ440、返信識別子450、返信ルータ454を有する。クライアント410は、信頼できないネットワーク内に置かれていると推定される。サーバ440は、信頼できるネットワーク内に常駐し、サーバ440又は追加の分散型サーバ(図示せず)上に常駐する1又は2以上のアプリケーション(図示せず)との、クライアント410のインタラクションのホストとして働く。オペレーションにおいては、クライアント410によって伝送されたパケット又はストリームのパケットを有する着信要求が、通信リンク412を介して要求識別子420に転送される。要求識別子420は、要求内の1又は2以上のアプリケーション・コマンド又はパラメータあるいはそれの一部分を識別する。次いで、識別されたコマンド又はパラメータが、通信リンク422を介して要求ルータ424に転送される。
【0045】
要求ルータ424が、それぞれのコマンド又はパラメータあるいは全要求自体を、アプリケーション経路426A〜Mのうちの適切な1つに向ける。ここでMは、適用できるパイプ430A〜Nの一意の数又は特定の組合せである。たとえば、示されているように、アプリケーション経路426Aは全てのNパイプをオペレーション要求に適用し、アプリケーション経路426Bはただ2つのパイプを適用する。しかし、パイプのどのような組合せも、それぞれのアプリケーション経路に適用できる。アプリケーション経路の総数Mとパイプの数Nは、必ずしも等しくない。本発明の好ましい実施形態では、要求ルータ424が、たとえば、要求されたオペレーションのタイプ、コマンドのタイプ、パラメータ名、パラメータ値、要求されている特定のアプリケーション、要求されたアプリケーション経路、クライアント識別、又はそれらの組合せに基づいて、それぞれのコマンド又はパラメータのための適切なアプリケーション経路を判断する経路設定スキームを用いる。その上、要求ルータ424が、特定の又は識別不可能なクライアント・アドレスから受信されたコマンド又はパラメータを、全ての使用可能なパイプを適用するデフォルト・アプリケーション経路に向けることができる。パイプ430Aなどの一定のパイプについては、要求、コマンド、又はパラメータ上でパイプを適用することから確かめられた情報を使用して、通信リンク431を介して要求ルータ424によって用いられた経路設定スキームを動的に修正する。この経路設定スキームは、通信リンク463を介して発信返信上を動作しているパイプによって確かめられた情報により、同様に修正できる。その上、経路設定スキームへの更新又は修正が、システム400の外部のソース(図示せず)から受信できる。全ての適切なパイプがオペレーション要求のサブコンポーネント、たとえばパラメータなどに適用されると、全てのサブコンポーネントが受入れ可能と思われる場合に、オペレーション要求は、処理のためにサーバ440に転送される。
【0046】
要求を処理した結果得られた、パケット又はストリームのパケットを有する発信返信が、着信ストリームと同様の精査を受ける。具体的には、サーバ440によって生成された発信パケット又はストリームのパケットは、通信リンク442を介して返信識別子450に転送され、返信識別子450が、その中に含まれている特定のパラメータ名及び値又は任意の他の関連アプリケーション・レイヤ要素を識別する。これらの識別されたパラメータ及び要素は、通信リンク452を介して返信ルータ454に転送される。返信ルータ454は、それぞれの要素をアプリケーション経路456A〜Mのうちの適切な1つに向ける。ここでMは、それぞれの発信パラメータ又は要素に適用できるパイプ460A〜Nのうちの一意の数又は特定の組合せである。パイプ460A〜Nの一部分は、パイプ430A〜Nの一部分と同一であり得る。本発明の好ましい実施形態では、返信ルータ454が、たとえば、返信のタイプ、パラメータのタイプ、パラメータの値、要素のタイプ、返信を生成したアプリケーション、返信を受信するクライアントの識別、又はそれらの組合せに基づいて、それぞれの要求、パラメータ、パラメータ値、又は要素のための適切なアプリケーション経路を判断する経路設定スキームを用いる。返信経路設定スキームは、要求ルータ424内で用いられる経路設定スキームと同一であり得るが、必ずしも同一とは限らない。発信パラメータ又は要素上の、示されているパイプ460Aなどのパイプによって確かめられた情報を使用して、通信経路461を介して返信ルータ454によって実施される経路設定スキームを修正できる。その上、着信要求上を動作しているパイプ430Aによって確かめられた情報が、通信経路433を介してこの経路設定スキームを動的に修正できる。その上、返信経路設定スキームへの更新又は修正が、システム400の外部のソース(図示せず)から受信できる。アプリケーション経路456に関連付けられた全ての適切なパイプ460を適用すると、受入れ可能な結果が、通信チャネル462を介してクライアント410に戻る。
【0047】
上記の実施形態は、要求識別子420、要求ルータ424、返信識別子450、又は返信ルータ454に適切に接続された通信リンク422、433、452、463とともに例示されている。本発明の一実施形態では、識別子420、要求ルータ424、返信識別子450、返信ルータ454が、ソフトウェア又はハードウェアのいずれかとして実施される、パイプ430及び460とは別個のソフトウェアとして実施できる。従って、通信リンク422、433、452、463は、実際の物理接続ではなく、ソフトウェア・モジュール間の仮想接続である。通信リンク412、432、442、462、及びここで識別される任意の他のリンクは、任意の従来の通信媒体であり得るが、その実施については当業者には自明であろう。代替実施形態では、要求識別子420、要求ルータ424、返信識別子450、返信ルータ454が、パイプ430A〜N及び460A〜Nのあるなしにかかわらず、単一のハードウェア・コンポーネント内に実施される。
【0048】
図5は、本発明の一実施形態に従ってハードウェア構成を有するセキュリティ・システム500を示す図である。具体的には、セキュリティ・システム500が、信頼できるコンピュータ・アプリケーション520と信頼できないネットワーク環境の間に位置づけられたセキュリティ・モジュール510を備える。モジュール510が、アプリケーション520の無許可使用を防ぐために保護レイヤを実施する。本発明の一実施形態では、モジュール510が、プロセッサ530及びパイプ論理540を有する。用語、プロセッサとは、本明細書に記述される機能を実施するよう構成された任意の論理、回路、コード、ソフトウェアなどを表す。プロセッサ530が、アプリケーション520から信頼できない環境を介して受信されたオペレーション要求を切り離す内部エンティティを実施することにより、上述した最初のトンネル構築、索引付け、翻訳を実施する。内部エンティティは、信頼できない要求を識別子/ルータ534及びアナライザ538に案内する。識別子/ルータ534が、必要な場合には着信要求ストリーム又は発信返信ストリーム上のあらゆる既存アプリケーション経路を適用して、アプリケーション内のオペレーション要求の所望の宛先と、またあればパラメータ及び値も識別する。アナライザ538が、パイプ論理540内に格納されている1又は2以上のパイプをオペレーション要求又はその一部分に適用する。
【0049】
パイプの例についての記述
以下は、着信オペレーション要求及び発信返信に、単独で又は組み合わせて適用できるパイプの例の詳細な記述を表す。従来の技術を指向したセキュリティ・プロセスなどの、本明細書では言及しない追加のパイプも適用できるが、その識別及び実施については当業者には自明であろう。
【0050】
1.Marabu
本発明の一実施形態では、本明細書では「Marabu」と呼ぶ第1のパイプが、1又は2以上のアプリケーション経路に適用される。Marabuとは、オペレーション要求において悪意のある意図を示すパターンを発見することを目的とするコンテント・ドリブン・パイプである。Marabuは、データベース・オペレーションに関係するアプリケーション経路に適用されることが好ましい。具体的には、Marabuは、要求されたデータベースのタイプ及び1又は2以上の埋め込まれた有害なSQLコマンドの存在に基づいて、許容構文のための着信要求のアプリケーション・コンテンツを検査する。要求されたデータベースのタイプ、たとえばSQLタイプのデータベースやオラクル(Oracle)・タイプのデータベースについて受入れ可能であると思われる複数の格納されたデータベース・コマンドとの一致が発見されなかったことにより、有害なコマンドが識別される。受入れ可能なコマンドとの一致が発見されなかった場合は、要求は、拒否されるか、あるい正当な又は無害な受入れ可能なフォームに改良、すなわち修正されるか、あるいはそれと置換される。このパイプが、データベース又はその環境に対して有害であると思われるウェルフォームドで部分的なSQLコマンドをキャッチする。
【0051】
本発明の一実施形態では、データベース・クエリ・パーサ・エンジンが、オペレーション要求のそれぞれの式のフォーム及び機能を識別するために実施される。パーサ・エンジンは、個々に分析するために、個々の式すなわち要素を解析する。Marabuは、「状態の自動化(state−automate)」であり限定されたアルファベットを適用することにより、それぞれの式の構文が明白であり軽信であることを確認することに注目する。具体的には、Marabuは、状態の自動化を構築するステップと、許容構文及び限定されたアルファベットに従ってあらゆる式を検査するステップと、あらゆる式に状態の自動化を適用するステップとを含む適正な構文を実施する方法を用いる。状態の自動化は、アプリケーションの現在の及び他の可能な状態を表すノードの相関である。それぞれのノードが、アプリケーションの状態を変更する式に基づいて他のノードとの接続を有することができる。たとえば、特定の式たとえばDELETEコマンドが実行された場合に、アプリケーションの現在の状態を表す第1のノードが、現在の状態から到達することが可能な状態を表す別のノードに接続される。全ての接続が、一方方向の接続である、すなわち、いったんある状態が別の状態に変更すると、その変更は元に戻らないと推定される。
【0052】
本発明の一実施形態では、アルファベットは、文字、ディジット、及び他の符号化されたキャラクタ、たとえばa、b、c、_など、DELETEやALTERなどの文字のブロック、DELETE、ALTER、CREATEをメンバとして含むSQLグループなどのブロックのグループを有する。オペレーション要求内のそれぞれの式が、1回又は複数回スキャンされる。それぞれの式が、受入れ可能であるとして識別された文字及びディジットのシーケンスから構成される場合は、要求は承認され、パイプ実行が停止する。式が、文字及びディジットの受入れ可能なシーケンスから構成されていない場合は、式内の注釈、特に、MSSQL−/**/or−−などの注釈を表すデータベース特有のキャラクタが省略され、状態の自動化を適用することにより式が検査される。式又は関数引き数に関連付けられたあらゆる定義済アルファベット文字が、自動化の現在の状態を接続している可能な状態に移動させる。
【0053】
本発明の一実施形態では、状態の自動化を適用した場合に到達する状態のタイプにより、異なるプロセスが実施される。たとえば、状態の自動化がブール状態に到達した場合、式は、「15」=「1」+「5」及び「6>5 OR 5=5」などの「常に正しい(always−true)」式についてチェックできる。常に正しい式が、データベースをだまして、通常認めるべきではない要求を認めさせることができる。式トリーにより、常に正しい式の識別が可能となる。具体的には、式は、たとえばAND、OR、=などの演算子としてのノード、又はフィールドなどの変数を有するトリーに再帰的に分解される。トリー(tree)が構築された後に、異なる式値が挿入される。後行順スキャンにより、最終的にTRUE又はFALSE決定に導かれる。変数に賢明にサンプリングされた値が、全ての可能なソリューションの範囲をカバーし、それにより式が常に正しいかどうか、従って要求を拒否するかどうかを判断する。状態の自動化がSQL−状態に到達した場合は、式は、ディクショナリ内に格納されているSQLプロトタイプを使用して確認される。プロトタイプは、アークによって接続された異なる状態のグラフを使用して実施される。双方向アークにより、再帰的式、すなわちそれら自体を指し、入力に適合するよう試みるために「引伸ばし(stretching)」ているアークを有する状態が可能となる。状態の自動化がトラップ状態に到達した場合は、式は拒否され、パイプの実行が停止する。これらの状態のどれも起きないか又は上記の状態の検査の結果、式の拒否とならなかった場合は、式は承認され、パイプ実行が停止する。
【0054】
図6は、本発明の一実施形態に従ってMarabuパイプを実施するためのプロセス600を示す図である。具体的には、たとえばSQLバージョンのタイプに基づいて、サポートされたデータベースのための構成パラメータが、プロセッサ内にロードされる(ステップ610)。任意に、これらの構成パラメータに対するどのような改良もロードされる(ステップ620)。オペレーション要求は、ロードされ(ステップ630)、要素に解析されて、オペレーション要求内に含まれる式、たとえばパラメータ名及び値を識別する(ステップ640)。次いで、Marabuパイプがそれぞれのパラメータに適用されて(ステップ650)、埋め込まれたSQLコマンドが受入れ可能かどうかを判断する(ステップ660)。受入れ不可能であった場合は、全オペレーション要求が拒否される場合がある(ステップ670)。受入れ可能であった場合は、そのパラメータが最後のパラメータであるか否かが判断される(ステップ680)。そのパラメータが最後のパラメータでなかった場合は、ステップ640〜680を繰り返す。パラメータが最後のパラメータであった場合は、違法でなく有害でもないSQLコマンドが識別され、オペレーション要求は認められ(ステップ690)、次に進むことができる。
【0055】
以下は、このパイプによってキャッチできる、インターネットを介して一般に広がっており改ざんタイプの攻撃で代表的な、2つの共通なタイプのデータベース攻撃である。第1は、テーブル内の全てのレコードを削除するための要求を表す。たとえば、全てのレコードが攻撃する削除において、データベース・サーバ上でSQLコマンドを実行して、「http://www.yoursite.com/phones」(ここで、phoneidは34に等しい)のコンテンツを選択し報告する、
http://www.yoursite.com/phones/phonelist.cgi?phoneid=34
などの元のリンクが、
http://www.yoursite.com/phones/phonelist.cgi?phoneid=34;DELETE
などのDELETEコマンドを連結する修正されたリンクに変更できる。後者は、データベース上でSQLコマンドを実行して、「http://www.yoursite.com/phones」(ここで、「phoneid」は34に等しい)のコンテンツを削除する。このパイプを適用する際に、DELETEコマンドは無許可のコマンドとして認識され、従って、完全に要求を拒否するか、又はその要求をDELETEコマンドを含まない元のリンクなどの正当な要求に置換することができる。以下の第2のタイプの違法要求においては、パスワードを使用せずに、ログインが試みられる。たとえば、
http://www.yoursite.com/logon.asp?login=yourname;pws=123
などの元のリンクが、データベース・サーバ上でSQLコマンドを実行して、ユーザ・リストから名前を選択する(ここで、ログイン=「yourname」及びパスワード=「123」である)。修正されたリンクが、「常に正しい」ブール句を追加して、アプリケーションをだまして、無効なパスワード、たとえばデータベース・サーバ上でSQLコマンドを実行して、ユーザ・リストから名前を選択した、
http://www.yoursite.com/logon.asp?login=yourname’or‘1’=‘1’;pws=8
を認めさせる(ここで、ログイン=「yourname」又は「1」=「1」及びパスワード=「123」である)。このパイプを適用した場合、「1」=「1」部分コマンドは無効なものとして認識され、要求はその意図された実行を達成することができない。
【0056】
アプリケーション・データベースを改ざんするユーザ及びクライアント・アプリケーションに対して、完全なデータベース保護が実現される。Marabuパイプが、データベース内に格納されている情報に損害を及ぼす可能性のあるデータ改ざんに対するシールドとして作用する。更に、他のパイプと組み合わされた場合には、Marabuパイプは、データベース・システム・アドミニストレータにさらなるレベルの保護も提供し、アプリケーション・バグがバック・オフィス・データベースに影響を及ぼさないことを確実にする。
【0057】
2.Minime
本発明の一実施形態では、本明細書では「Minime」と呼ぶ第2のパイプが、1又は2以上のアプリケーション経路に適用される。Minimeとは、着信オペレーション要求を既知の脆弱性パターンについて検査する決定性パイプである。本発明の特定の実施形態では、全ての既知のアプリケーションの脆弱性、具体的にはそれにつけこむ各要求が格納され、着信要求と比較される。着信要求の任意の部分と格納された情報の任意の部分の間に一致が発見された場合は、着信要求は阻止され、アプリケーションに進むことができない。更に、パイプは、スクリプト、コマンド、メソッド、実行可能プログラム、たとえば記憶空間をフォーマットするformat.exe、あるいはアクセスされたり又は実行されたりした場合に、コマンド・ライン入力プロンプトが否定的な影響を及ぼすことを可能にする、あるいはアプリケーション環境又はサーバへの違法アクセスを可能にする、cmd.exeの使用を消去することにより、未知の又は容易に識別可能でない脆弱性に対してアプリケーションを遮蔽できる。
【0058】
本発明の好ましい実施形態では、格納された脆弱性情報は、将来に脆弱性が識別された時に更新することができる。具体的には、格納された情報は、情報ソース、たとえば専用集中型サーバあるいは商用又は政府ソースからの多くのウェブ・サーバからダウンロードされた情報とともに更新できる。
【0059】
本発明の一実施形態では、Minimeパイプは、正確なパターン一致方法を用いる。具体的には、本方法は、オペレーション要求内の連続するキャラクタ、たとえば4つ毎に連続するキャラクタのためのハッシュ値を計算するステップと、不適正な要求に関連付けられたハッシュ値のリストに対して計算されたそれぞれのハッシュ値を比較するステップとを含む。オペレーションにおいては、オペレーション要求の最初の4つのキャラクタが、4つのキャラクタ・ウィンドウ内に入力される。4つのキャラクタのそれぞれが、8ビットのバイナリ・コードたとえば、
abcd=[01000001][01000010][0100011][01000100]
に変換される。
【0060】
次いで、第1のハッシュ値が、32ビットのストリング(4キャラクタx8ビット/キャラクタ)から計算される。第2のハッシュ値が、1キャラクタだけ、すなわちキャラクタ2から5にウィンドウをシフトすることにより計算される。第3のハッシュ値が、再び1キャラクタだけ、すなわちキャラクタ3から6を使用してウィンドウをシフトすることにより計算される。追加のハッシュ値が、オペレーション要求内の全てのキャラクタが使い尽くされるまで、このような方式で計算される。従って、オペレーション要求内にnのキャラクタがあった場合は、n−3を有する値が計算される。それぞれのハッシュ値が、格納され不適正な要求に関連付けられたハッシュ値と比較される。従って、一致が発見された場合は、着信要求は拒否される。
【0061】
本発明の好ましい実施形態では、上記の方法が、HTTPプロトコルで組み立てられたオペレーション要求に適用される。オペレーション要求は、それぞれ、メッセージURI、クエリ・ストリング、メッセージ・ヘッダ、メッセージ本体を表す4つのゾーンに分割される。上述した脆弱性パターン一致が、特定の4つのゾーンのうちの1又は2以上のゾーンに向けられる。パイプ・アプリケーションを、単一のゾーン又は全オペレーション要求自体より小さい一部分に向けることができるので、性能を向上し、擬似警報を減少することができる。ストリングが原因であると判断された場合は、全く単純なストリング一致が実施される。
【0062】
図7は、本発明の一実施形態に従ってMinimeパイプを実施するためのプロセス700を示す図である。具体的には、脆弱性パターンが、内部記憶装置又は外部データベースのいずれかからプロセッサ内にロードされる(ステップ710)。任意に、脆弱性パターンの値を含むテーブルが、効率的なパターン一致を容易にするために作成される(ステップ720)。4つの異なるスキャニング・ゾーンが構築され(ステップ730)、適用すべき指定されたハッシュ値に関連付けられる。着信メッセージはロードされ(ステップ740)、1又は2以上のメッセージ・ゾーンがスキャンされて(ステップ750)、脆弱性パターン、たとえばハッシュ値が一致するかどうかを判断する(ステップ760)。一致が発見された場合は、メッセージは拒否される場合がある(ステップ770)。一致が発見されなかった場合は、メッセージは別のパイプ又はアプリケーションに進むことができる(ステップ780)。どのような後続のオペレーション要求についても、ステップ740〜780を繰り返す。
【0063】
以下は、阻止された、3つの共通なMicrosoft Internet Information Server(登録商標)の脆弱性である。ウェブ・サーバ・ハード・ディスク上に任意のファイルを表示する。たとえば、
http://www.yoursite.com/msadc/Samples/SELECTOR/
showcode.asp?source=/msadc/Samples/../../../../../boot.ini.
直接データベースに任意のSQLコマンドを実行する。たとえば、
http://www.yoursite.com/msadc/samples/adctest.asp.
CodeBrws.aspを使用して、Outlookメール・フォルダを表示する。たとえば、
http://www.yoursite.com/iissamples/exair/howitworks/
codebrws.asp?source=/../../winnt/Profiles/Administrator/
Application%20Data/Microsoft/Outlook%20Express/Mail/inbox.mbx
Minimeパイプは、少なくとも以下の利点を実現する。すなわち、アプリケーションの脆弱性を使用してシステムのハッキングを試みるリモート・ユーザからのアプリケーション保護と、パッチが使用可能となりサーバにインストールされるまでのアプリケーションに対する一時保護と、カスタム・パターンを追加でき、既存パターンを記憶装置から除去できることが少なくとも実現する。
【0064】
3.Hide & Seek
本発明の一実施形態では、本明細書では「Hide & Seek」と呼ぶ第3のパイプが、1又は2以上のアプリケーション経路に適用される。Hide & Seekとは、ハイパーテキスト・マークアップ言語ドリブン・パイプであり、その目的は、アプリケーションが設計通りに動作し、アプリケーション・オーナによって実施されることを確実にすることである。ハイパーテキスト・マークアップ言語又は本明細書においてはHTMLが、エクステンシブル・マークアップ言語(「XML」)、エクステンシブル・ハイパーテキスト・マークアップ言語(「XHTML」)、ワイヤレス・マークアップ言語(「WML」)などの任意のタイプのマークアップ言語を含む。具体的には、パイプが、それぞれの発信HTML返信をチェックして、その内部パラメータ名及び値を識別し、次いで、次のユーザ要求が以前に識別されたパラメータに対応することを確認し、それにより、アプリケーションへの後続のユーザ要求が、アプリケーションが戻ることを期待しているか又は意図するユーザ要求のみであることが確実となる。
【0065】
本発明の一実施形態では、方法には、単一のクライアントを識別して、アプリケーションとインタラクトすることと、アプリケーションからの返信内にクライアントに送信された要素、たとえばパラメータ名及び値を識別することと、アプリケーションへのクライアントの後続の要求が任意のパラメータ及び値を有しているかどうかを判断し、有していれば、これらのパラメータ及び値がアプリケーションによって期待されているものであるか否かを判断することとが含まれる。クライアントから受信されたパラメータ及び値が、以前の、送信された対応するメッセージから判断された要素に対応している場合にのみ、サーバは、要求をアプリケーションに転送する。
【0066】
本発明の一実施形態では、アルゴリズムが、返信ドキュメント上でHTML解析を実施し、クライアントによって受信された全てのHTMLタグを格納する。たとえば、パーサが、アプリケーションから来るそれぞれの返信を読み取り、返信メッセージ内の特定のHTML要素、たとえば入力、選択、フォームなどを識別する。それぞれの識別された要素について、パーサは、要素値を判断する。全ての解析された要素名及び値が、サーバ上に置かれたセッション・オブジェクト内に格納され、それぞれのセッションが単一のクライアントに関連付けられている。クライアントを識別し、要求にセッション・オブジェクトを任意に付加した後に、追加のパーサが要求上で動作する。この段階で、コンパレータを使用して、HTML要素に基づいて要求を返信に一致させる。たとえば、返信パーサは、クライアントが自分の次の要求でパラメータ値を変更できるかどうかを判断する。できる場合は、クライアントがこのパラメータを有する任意の値を送信できる。たとえば、アプリケーション返信が<INPUT>タグを有する場合、クライアントは、値を入力することが期待される。
【0067】
ステートレス・プロトコル、すなわち、ソース及び宛先情報にのみ関係するがメッセージのコンテンツには関係しないプロトコル内のクライアントを識別するために、セッションベースのクッキーが利用される。好ましくは、クライアントのウェブ・ブラウザ上でクッキーが可能となる。セキュリティ目的で、可能となっているクッキーがないクライアントは、最小アプリケーション・アクティビティに限定された「新しい」又は無許可のユーザであると考えられる。クッキーがクライアントによって可能である場合は、サーバは、クライアント−サーバ・セッションの開始時に、クライアントでセッションベースのクッキーを生成し格納する。本発明の一実施形態では、セッションベースのクッキーは、クライアント識別情報を含むヘッダと、セッション・オブジェクトを識別する暗号化されたセキュリティ値を含むクッキー本体とを有する。
【0068】
以下は、Hide & Seekパイプの実施例である。ログイン及びパスワードのための代表的なHTMLドキュメントは、以下の通りである。
【0069】
Figure 2004533676
Figure 2004533676
このHTMLドキュメントは、クライアントが最初にサーバにアクセスした時に、クライアントに送信される。解析すると、以下の結果が、セッション・オブジェクト内に格納される。
【0070】
Figure 2004533676
このセッション・オブジェクトは、クライアントでクッキー内に格納されている、セッション値に関連付けられている。クライアントの次の後続の要求、すなわち、ログイン及びパスワードを求めているサーバに対するクライアントの応答で、Hide & Seekが、クライアントからセッション値を取得し、セッション値に関連付けられたセッション・オブジェクトを識別する。次いで、パイプは、セッション・オブジェクト内に格納されている結果を取得し、これらの結果に対する着信パラメータ名及び値を確認する。着信パラメータと発信パラメータが一致した場合は、クライアントは、パラメータのいずれをも改ざんしていないと推定される。しかし、着信パラメータのいずれかと各発信パラメータとが一致しなかった場合は、ユーザは、要求を改ざんしたと推定される。従って、着信要求は拒否される。
【0071】
本発明の一実施形態では、テキスト・フィールド、たとえばログイン・フィールドを扱うために改良宣言テーブルが用いられる。テーブルは、パラメータ及びその期待されるデータ・タイプ、長さ、allow nullなどを含む。
【0072】
図8は、本発明の一実施形態に従って、Hide & Seekパイプを実施するためのプロセス800を示す図である。具体的には、サポートされているHTMLバージョンに従って、構成パラメータがロードされる(ステップ805)。次いで、所望の場合には、改良が任意にロードされる(ステップ810)。分析のために着信オペレーション要求メッセージがロードされ(ステップ815)、次いで、HTTPクッキー・ヘッダ内のクライアント識別についてチェックされる(ステップ820)。その後、クッキーの本体が取得され(ステップ825)、セッション値を得るために解読される(ステップ830)。セッション値に関連付けられたセッション・オブジェクトが取得される(ステップ835)。セッション・オブジェクトが存在しなかった場合は、ブランク又は新しいものが作成される。次いで、着信メッセージは、パラメータ名及び値に解析される(ステップ840)。パラメータ、値、それらの組合せが、セッション・オブジェクト内に格納されている情報と又は改良テーブルと比較される(ステップ845)。次いで、一致が存在するかどうかが判断される(ステップ850)。一致が発見されなかった場合は、メッセージは拒否される(ステップ855)。全てのパラメータが一致した場合は、メッセージは次に進むことができる(ステップ860)。後続の着信要求で、ステップ815〜860を繰り返す。
【0073】
図9は、本発明の一実施形態に従って、返信メッセージ上でHide & Seekパイプを実施するためのプロセス900を示す図である。まず第1に、返信メッセージが受信され(ステップ910)、ロードされて(ステップ920)、その返信がHTMLドキュメントであるか否かを判断する(ステップ930)。HTMLでなかった場合は、返信メッセージはクライアントに送信される(ステップ940)。HTMLであった場合は、返信メッセージはパラメータに解析される(ステップ950)。全ての解析された情報は、セッション・オブジェクト内に格納される(ステップ960)。セッション・オブジェクトは、それが新しいバスケットであるか否かが識別される(ステップ970)。セッション・オブジェクトが新しいものでなかった場合は、メッセージはクライアントに送信される(ステップ980)。セッション・オブジェクトが新しいものであった場合は、ヘッダが、セッションを識別する情報を有する返信メッセージに追加され(ステップ990)、次いでメッセージ全体がクライアントに送信される(ステップ995)。
【0074】
Hide & Seekが、アプリケーション・ビジネス・プロセスを改ざんするリモート・ユーザからアプリケーションを保護する。更にHide & Seekは、改ざん技術を伴うどのような要求からもアプリケーションを保護し、アプリケーション・オーナに即時の連続遮蔽を提供する。
【0075】
4.Inigo
本発明の一実施形態では、本明細書では「Inigo」と呼ぶ第4のパイプが、1又は2以上のアプリケーション経路に適用される。Inigoとは、アプリケーション・オーナによって制限されたものとして指定されているアプリケーション経路を入力することからアプリケーション・オペレーション要求を制限する、アプリケーション−ノード阻止パイプである。ビジネス・アプリケーションが動作している環境においては、アプリケーション・オーナは、一般に、アプリケーション経路に関連したバグが発見された場合は、管理上の問題に直面することとなる。しかし、そのアプリケーション経路に関連付けられたアプリケーションの全ての実行を停止することは、アプリケーションが実施する1又は2以上のビジネス・プロセスに対して否定的な影響を及ぼす。従って、アプリケーション・オーナは、一般に、たとえアプリケーション内で脆弱性が知られても生産パッチが使用可能となるまで、アプリケーションを操作し続ける。Inigoパイプを実施することにより、アプリケーション・オーナは、ユーザが他のアプリケーションを使用できる状態にしたまま、脆弱なアプリケーション経路がアクセスされることを阻止できる。
【0076】
図10は、本発明の一実施形態に従って、Inigoパイプを実施するためのプロセス1000を示す図である。アプリケーション経路がデータ・ソースからロードされる(ステップ1010)。着信要求メッセージが論理内にロードされる(ステップ1020)。次いで、メッセージの宛先が判断されて(ステップ1030)、阻止されるものとして指定されている特定のアプリケーション経路に対して比較される(ステップ1040)。一致が発見された場合は、メッセージは拒否される(ステップ1060)。一致が発見されなかった場合は、メッセージは通過できる(ステップ1050)。
【0077】
たとえば、リンク、
http://www.yoursite.com/mysite/press/news.asp?newsid=23,
上で誤って公表された情報による、プレス・リリース・ディレクトリをブラウジングから阻止するために、Indigoが、このアプリケーション経路のための要求を識別し、完全に要求を拒否するか、又は要求の宛て先を変更して、
http://www.yoursite.com/mysite/default.html,
などの異なるプレス・リリースが、クライアントに戻される。
【0078】
Inigoパイプは、生産パイプが全てのサーバ上で実施されるのを待つことなく、アプリケーション・オーナに即時のトラフィック阻止ケイパリビティを提供し、それにより、脆弱性が発見された場合にも、単一の又は多量のアプリケーションを管理する複雑さが容易になる。
【0079】
5.Ogini
本発明の一実施形態では、本明細書ではOginiと呼ぶ第5のパイプが、1又は2以上のアプリケーション経路に適用される。Oginiとは、信頼できないオペレーション要求が信頼できるネットワーク内の信頼できる環境又はゾーンに転送されることを阻止するパイプである。このパイプを実施することにより、アドミニストレータが、クライアントの特定のメッセージを、許可されたものとして指定されているアプリケーション経路のみに制限できる。具体的には、許可されたメッセージの定義済リストが実施される。クライアントの要求メッセージがリスト内のいずれかに一致した場合は、オペレーション要求は受け入れられる。そうでない場合は、オペレーション要求は拒否される。許可されたメッセージ・リストを更新するための容易な方法をアドミニストレータに提供するために、パイプは学習手法を任意にサポートし、受入れ可能であると判断された全ての着信要求メッセージが、後に着信要求と比較するためにメモリ内に格納される。
【0080】
図11は、Oginiパイプを実施するためのプロセス1100を示す図である。具体的には、受入れ可能なオペレーション要求のリストが処理手段にロードされる(ステップ1110)。着信メッセージは、ロードされ(ステップ1120)、リストと比較して(ステップ1130)、一致が存在するかどうかを判断する(ステップ1140)。一致が発見された場合は、オペレーション要求は、通過することができる(ステップ1150)。そうでない場合は、オペレーション要求は拒否される(ステップ1160)。
【0081】
6.Miloba
本発明の一実施形態では、本明細書では「Miloba」と呼ぶ第6のパイプが、1又は2以上のアプリケーション経路に適用される。Milobaとは、定義済式規則に従って着信パラメータ値を確認するパイプである。たとえば、オンライン書店で、顧客がそれぞれの注文において1冊から5冊の本を注文できる場合がある。その書店は、注文された本の数を表すorder_qtyパラメータを使用する。Milobaが、ユーザのorder_qtyパラメータ値が1から5の値を有する整数データ・タイプに一致することを確認する。本発明の一実施形態では、それぞれのパラメータについて定義済式規則を識別し組み立てるために、学習手法を連続するプロセスで実施して、以前に提出されたオペレーション要求に基づいて定義済規則を更新することによりオペレーション要求内の新しい受入れ可能なパラメータを識別する。
【0082】
図12は、本発明の一実施形態に従って、Milobaパイプを実施するためのプロセス1200を示す図である。定義済規則がデータ・ソースからロードされる(ステップ1210)。着信オペレーション要求が処理手段にロードされる(ステップ1220)。オペレーション要求内に含まれるパラメータ名及び値が判断される(ステップ1230)。それぞれのタイプのパラメータについては、そのパラメータに関連付けられた特定の規則が定義済規則から識別され(ステップ1240)、次いで着信パラメータ値に適用される(ステップ1250)。従って、規則が満足するものであるか否かが判断される(ステップ1260)。満足するものであった場合は、パラメータ値は認められる(ステップ1270)。そうでない場合は、オペレーション要求は拒否される(ステップ1280)。
【0083】
7.Cookie
本発明の一実施形態では、本明細書では「Cookie」と呼ぶ第7のパイプが、1又は2以上のアプリケーション経路に適用される。このパイプは、クライアント側の(セッション・ベースの又は持続する)クッキーを、クライアントによって修正されるか又は改ざんされることから保護する。このパイプにより、クッキー内に格納されている情報がクライアントから使用可能でないことが確実となるが、アプリケーション自体にどのような変更も適用することなく、アプリケーションにはトランスペアレントにクリアである。具体的には、要求及びその場所に関連付けられたクッキーを識別するクッキー識別が、クライアント側で暗号化されて、クライアントがクッキーの識別を判断することを防ぐ。どのようなタイプの暗号化方法も用いることができ、またその実施については当業者には自明であろう。
【0084】
図13は、本発明の一実施形態に従って、着信オペレーション要求上でCookieパイプを実施するためのプロセス1300を示す図である。着信オペレーション要求がプロセッサにロードされる(ステップ1310)。パイプは、オペレーション要求内でプロトコル指定によって定義されたクッキー識別についてサーチする(ステップ1320)。次いで、パイプは、任意のクッキー識別が発見されたかどうかを判断する(ステップ1330)。発見された場合は、クッキー情報は解読され、オペレーション要求は、暗号化されたクッキー情報の代わりに解読されたクッキー情報を用いることにより修正される(ステップ1340)。次いで、クッキーは次のセキュリティ・パイプに転送される(ステップ1350)。クッキー情報が発見されなかった場合は、ステップ1340は実施されない。
【0085】
図14は、本発明の一実施形態に従って、返信メッセージ上でCookieパイプを実施するためのプロセス1400を示す図である。返信は、ロードされ(ステップ1410)、プロトコル指定によって定義されたクッキー識別についてスキャンされる(ステップ1420)。クッキー識別が発見された(ステップ1430)場合は、その情報が暗号化される(ステップ1440)。次いでその後、返信は暗号化された値を反映するよう修正される。次いで、メッセージは、次のセキュリティ・パイプ又はクライアントに転送される(ステップ1450)。
【0086】
8.SOAP
本発明の別の実施形態では、SOAPパイプは、有害なクライアント要求にサービスすること、あるいはリモート・クライアント又は特定のクライアントが呼び出すことを許可されていないサービス要求を防ぐことから、ウェブ・サービスを保護する。具体的には、このパイプにより、ウェブ・サービスが設計通りに動作し、アプリケーション・オーナによって実施されることが確実となる。このパイプにより、全てのクライアント要求がウェブ・サービスの定義及びデータ構造に一致し、リモート・クライアントが要求することを認証されているサービスにのみアクセスできることが確実となる。
【0087】
図15は、本発明の一実施形態に従って、着信オペレーション要求上でSOAPパイプを実施するためのプロセス1500を示す図である。定義済規則がデータ・ソースからロードされる(ステップ1510)。着信オペレーション要求が処理手段にロードされる(ステップ1520)。オペレーション要求内に含まれるサービス名、パラメータ名、タイプ及び値が判断される(ステップ1530)。それぞれのサービス名については、ウェブ・サービス定義が取り込まれる(ステップ1540)。取り込む時に、サービス定義が発見されなかった場合は(ステップ1550)、オペレーション要求は拒否される(ステップ1590)。サービス定義が発見された場合は(ステップ1550)、そのサービスに関連付けられた特定の規則が識別され、次いで適用される(ステップ1560)。従って、規則は満足するものであるか否かが判断される(ステップ1570)。満足するものであった場合は、オペレーション要求は認められる(ステップ1580)。そうでない場合は、オペレーション要求は拒否される(ステップ1590)。
【0088】
9.学習
本発明の一実施形態では、学習手法が、1又は2以上のアプリケーション経路上に適用される1又は2以上のパイプに用いられる。学習手法を適用することにより、要求内のパラメータが、統計モデルから判断されたクライアント、すなわちリクエスタによって入力される最も共通な値により良く一致するよう「微調整」できる。具体的には、それぞれのアプリケーション経路への全てのオペレーション要求が集められ、仮想記憶装置内に格納される。次いで、ダイナミックな範囲の入力された値が、クライアントが送信する要求内のそれぞれのパラメータについて構築される。実施された統計モードに基づき、確率の高い、すなわち最もしばしば入力された値か又は期待された値の範囲が計算される。更に、パラメータの値はアプリケーションからの返信に基づいて調整できる。
【0089】
たとえば、格納されたフィールド「F」のコンテンツがリクエスタに報告し戻されることを要求しているデータベース・オペレーション要求を考える。特定の統計モデルが、90パーセントの要求が9から18までの範囲内で特定のFを求めると判断した。更に、Fをこの範囲内に限定することが望まれる。この例においては、9から18の間のどのようなF値も、アプリケーションに通過し実行できるが、20のF値は、完全に拒否されるか、又は最も近い受入れ可能な値、たとえば18などの別の値に調整される。
【0090】
それまでに要求されたパラメータ値及び/又はアプリケーション経路から蓄積された情報を調整するか又はそれから「学習する」能力により、この技術を学習手法と呼ぶ。言い換えれば、統計モデルは変更できないが、最も共通する値の範囲は、数々の要求オペレーションから「学習された」値とともに動的に変更する。たとえば、最も共通する値の境界は、共通する値の元の範囲外の値がますます多く受信されるにつれて、変更できる。学習手法は、アプリケーション・レイヤ保護を強化するための別の方法を提供する。学習オペレーションは、それぞれのウェブ・アプリケーション上で別個に又は全ての使用可能なトンネル上で適用できる。
【0091】
本発明の一実施形態では、ウェブ・アプリケーションが、2つのモードのオペレーション、たとえば学習モード又はイネーブル・モードを有する。学習モードにおいては、ウェブ・アプリケーションは、パイプによって判断される全てのセキュリティ・エラーを収集するための方法を用いる。それぞれのエラーについては、ウェブ・アプリケーション、トンネル、アプリケーション経路、要求されたアプリケーションなどのオペレーション要求のプロパティと、オペレーション・メッセージ・パラメータと、このセキュリティ事象を判断したパイプとが記録される。関連パイプのための改良推奨レコードが、関連パイプで作成される。改良推奨レコードが、それぞれのパイプに適用するために学習手法がシステム・アドミニストレータに提供する構成情報を有する。イネーブル・モードのオペレーションにおいては、それぞれの着信オペレーション要求について、ウェブ・アプリケーションは、オペレーション要求を1又は2以上のパイプに通過させることにより、オペレーション要求が承認されたメッセージであるか否かを判断する。承認された場合は、オペレーション要求は信頼できると思われる。承認されなかった場合は、オペレーション要求は更にパイプ検査をするために通過する。
【0092】
それぞれのパラメータに関係する正規式を識別するために、学習手法は、それぞれのパラメータ値を蓄積する統計正規分布を使用する。現在の分散に基づいて、アルゴリズムは、現在のパラメータ正規式妥当性検査プロセスを改良する。たとえば、オペレーション要求が、
ステップ パラメータ値 正規式
1 価格=12ドル Long[0−1e6],[a−z],[./’@$]
2 価格=15 Int[0−100],[/@$]
3 価格=34ドル Int[5−50],[$]
4 価格=25.5ドル Long[5−50],[.$]
X 価格=22.2ドル Long[10−30],[.$]
などの価格パラメータを有する。
【0093】
xステップは、学習手法が有する最終正規式を表す。パラメータ正規式の分布分散が低かった場合に、最終段階に到達する。
【0094】
本発明は、従来のセキュリティ技術を補完できる。たとえば、システムの一実施形態では、ファイアウォールが信頼できないネットワークとセキュリティ・システムの間に含まれ、それにより、ファイアウォールが、アプリケーション・レイヤで精査される前に、信頼できないオペレーション要求に対してデータ・リンク・レイヤでそのセキュリティ方法を実施できる。他の実施形態では、本発明のコンセプトは、SSLやPKIなどのどのようなより低いレイヤ・セキュリティ技術とも組み合わせることができる。
【0095】
本発明について、いくつかの好ましい実施形態を参照しながら具体的に示し記述してきたが、頭記の特許請求の範囲に定義されている本発明の趣旨及び範囲から逸脱することなく、形式及び詳細な点においてさまざまな変更形態を実施できることは、当業者なら理解されるであろう。
【図面の簡単な説明】
【0096】
【図1】3つの従来のセキュリティ技術が動作するOSIモデル及びプロトコル・レイヤを示す図である。
【図2A】図2Aは、本発明の一実施形態によるアプリケーション・レイヤ・セキュリティ・システムを示す図である。
【図2B】図2Bは、本発明の一実施形態によるアプリケーション・レイヤ・セキュリティ・システムを示す図である。
【図2C】図2Cは、本発明の一実施形態によるアプリケーション・レイヤ・セキュリティ・システムを示す図である。
【図2D】図2Dは、本発明の一実施形態によるアプリケーション・レイヤ・セキュリティ・システムを示す図である。
【図2E】図2Eは、本発明の一実施形態によるアプリケーション・レイヤ・セキュリティ・システムを示す図である。
【図3A】図3Aは、本発明の一実施形態によるアプリケーション・レイヤ・セキュリティ方法を示す図である。
【図3B】図3Bは、本発明の一実施形態によるアプリケーション・レイヤ・セキュリティ方法を示す図である。
【図4】本発明の一実施形態によるアプリケーション・レイヤ経路設定システムを示す図である。
【図5】本発明の一実施形態によるアプリケーション・レイヤ・セキュリティ・システムを示す図である。
【図6】本発明の一実施形態による第1のパイプを示す図である。
【図7】本発明の一実施形態による第2のパイプを示す図である。
【図8】本発明の一実施形態による第3のパイプを示す図である。
【図9】本発明の一実施形態による第3のパイプを示す図である。
【図10】本発明の一実施形態による第4のパイプを示す図である。
【図11】本発明の一実施形態による第5のパイプを示す図である。
【図12】本発明の一実施形態による第6のパイプを示す図である。
【図13】本発明の一実施形態による第7のパイプを示す図である。
【図14】本発明の一実施形態による第7のパイプを示す図である。
【図15】本発明の一実施形態による第8のパイプを示す図である。

Claims (83)

  1. 信頼できない環境から受信された違法又は有害なオペレーション要求を実行することからアプリケーションを保護するための方法であって、
    1又は2以上のパイプをオペレーション要求のアプリケーション−レイヤ・コンテンツに適用して、前記オペレーション要求が、前記アプリケーションの環境に対して違法又は有害であるか否かを判断するステップと、
    前記アプリケーションが違法又は有害なオペレーション要求を実行するのを防止するステップと、
    を含むことを特徴とする方法。
  2. 前記違法及び有害なオペレーション要求は、前記アプリケーション、前記アプリケーション以外のアプリケーション、信頼できるネットワーク、1又は2以上のデータ・ファイル、メモリ、バッファ、性能、秘密情報、ハードウェア、ソフトウェア、データベース、情報サーバ、それらの任意の組合せからなる群から選択されるコンピュータ・システム要素又はパラメータにダメージを生じさせるか、該コンピュータ・システム要素又はパラメータに対する無許可のアクセスを可能にする請求項1記載の方法。
  3. 前記違法及び有害なオペレーション要求が、
    データベースの改ざん、インターネット情報サーバの脆弱性に対する攻撃、アプリケーションの脆弱性に対する攻撃、URLの改ざん、アプリケーション要求の改ざん、ビジネス・プロセスの改ざん、ポイゾニング攻撃、アプリケーション・パラメータの改ざん、それらの任意の組合せからなる群から選択される請求項1記載の方法。
  4. 前記防止するステップが、
    前記違法又は有害なオペレーション要求を拒否するステップを含む請求項1記載の方法。
  5. 前記防止するステップが、
    前記違法又は有害なオペレーション要求を正当な又は無害なオペレーション要求に修正するステップを含む請求項1記載の方法。
  6. 前記防止するステップが、
    前記違法又は有害なオペレーション要求を正当な又は無害なオペレーション要求に置換するステップを含む請求項1記載の方法。
  7. 前記1又は2以上のパイプのうちの1つが、データベースの改ざんを引き起こす埋め込まれたコマンドの存在についてチェックするステップを含む請求項1記載の方法。
  8. 前記埋め込まれたコマンドが、SQLベースのコマンドの一部分である請求項7記載の方法。
  9. 前記1又は2以上のパイプのうちの1つが、
    前記オペレーション要求を1又は2以上の式に解析するステップと、
    状態の自動化を構築するステップと、
    第1のアルファベット内で定義されていない不適正な構文及びキャラクタのための前記1又は2以上の式を検査するステップと、
    前記状態の自動化を前記オペレーション要求に適用するステップとを含む請求項7記載の方法。
  10. 前記アルファベットが、文字、ディジット、符号化されたキャラクタと、文字のブロックと、前記ブロックのグループと、それらの任意の組合せとからなる群から選択される請求項9記載の方法。
  11. 前記1又は2以上のパイプのうちの1つが、
    格納された既知の脆弱性パターンに対して前記オペレーション要求を比較して、一致を判断するステップと、
    一致が発見された場合に、前記オペレーション要求を阻止するステップとを含む請求項1記載の方法。
  12. 追加の脆弱性パターンとともに前記格納された脆弱性パターンを更新するステップを更に含む請求項11記載の方法。
  13. 前記比較するステップが、
    前記オペレーション要求内のあらゆる連続する特定の数のキャラクタをnビットのバイナリ・コードに変換するステップと、
    前記オペレーション要求内の前記あらゆる連続する特定の数のキャラクタのためのハッシュ値を計算するステップと、
    あらゆるハッシュ値を、脆弱性パターンを表す格納されたハッシュ値と比較するステップとを含む請求項11記載の方法。
  14. nが8であり、前記特定の数が4である請求項13記載の方法。
  15. 前記1又は2以上のパイプのうちの1つが、
    前記オペレーション要求をゾーンに分割するステップと、
    格納された既知の脆弱性パターンに対して前記ゾーンのそれぞれを比較して、一致を判断するステップと、
    一致が発見された場合に、前記オペレーション要求を阻止するステップとを含む請求項1記載の方法。
  16. 前記ゾーンが、
    前記オペレーション要求のURIから構成される第1のゾーンと、
    前記オペレーション要求のクエリ・ストリングから構成される第2のゾーンと、
    前記オペレーション要求のヘッダから構成される第3のゾーンと、
    前記オペレーション要求の本体から構成される第4のゾーンとを有する請求項15記載の方法。
  17. 正当な又は無害なオペレーション要求を前記アプリケーションに送信するステップと、
    前記正当な又は無害なオペレーション要求への返信を受信するステップとを更に含む請求項1記載の方法。
  18. 前記1又は2以上のパイプのうちの1つが、
    前記返信内に含まれるパラメータ名及び値を判断するステップと、
    前記返信への応答を受信するステップと、
    前記応答を前記パラメータ名及び値と比較して、前記応答が前記返信への有効な応答であるか否かを判断するステップと、
    前記応答が前記返信への有効な応答でなかった場合に、前記応答が前記アプリケーションへ通過することを却下するステップとを含む請求項17記載の方法。
  19. 単一のクライアントを識別して、前記アプリケーションとインタラクトするステップと、
    前記返信内の第1の組のパラメータ名及び値を判断するステップと、
    前記返信に応答して前記クライアントから第2のオペレーション要求を受信するステップと、
    前記第2のオペレーション要求内のパラメータ名及び値を判断するステップとを更に含む請求項17記載の方法。
  20. 前記1又は2以上のパイプのうちの1つが、
    前記アプリケーションのアプリケーション経路を制限されたものとして指定するステップと、
    前記オペレーション要求の宛先を判断するステップと、
    前記宛先が前記指定されたアプリケーション経路に等しい場合は、前記オペレーション要求を阻止するステップとを含む請求項1記載の方法。
  21. 前記1又は2以上のパイプのうちの1つが、
    受入れ可能なオペレーション要求のリストをコンパイルするステップと、
    前記受入れ可能なオペレーション要求のリストに対して前記オペレーション要求を比較するステップとを含む請求項1記載の方法。
  22. 前記1又は2以上のパイプのうちの1つが、
    前記オペレーション要求内に含まれているパラメータ値を判断するステップと、
    前記パラメータ・タイプに基づいて定義済規則を前記パラメータに適用するステップとを含み、
    前記定義済規則が、1又は2以上の受入れ可能なパラメータ値を定義する請求項1記載の方法。
  23. 前記1又は2以上のパイプのうちの1つが、
    前記オペレーション要求に関連付けられたクッキーを識別するステップと、
    前記クッキーの一部分を解読するステップと、
    前記解読された一部分を反映するよう前記クッキーを修正するステップとを含む請求項1記載の方法。
  24. 前記1又は2以上のパイプのうちの1つが、
    前記返信に関連付けられたクッキーを識別するステップと、
    前記クッキーの一部分を暗号化するステップと、
    前記暗号化された一部分を反映するよう前記クッキーを修正するステップとを含む請求項17記載の方法。
  25. 複数のオペレーション要求を受信するステップと、
    仮想記憶装置内に前記複数のオペレーション要求を格納するステップと、
    前記複数のオペレーション要求内のそれぞれのパラメータのためのダイナミックな範囲の入力された値を構築するステップと、
    それぞれの値のために前記ダイナミックな範囲の入力された値に適用された統計モデルに基づいて、それぞれのパラメータのための受入れ可能な範囲の値を計算するステップと、後続のオペレーション要求を受信するステップと、
    前記後続のオペレーション要求内のパラメータ値を識別するステップと、
    前記後続のオペレーション要求内の前記パラメータ値が前記受入れ可能な範囲の値内であるか否かを判断するステップとを更に含む請求項1記載の方法。
  26. 後続のオペレーション要求内の前記パラメータ値を前記ダイナミックな範囲に追加するステップと、
    前記統計モデルを適用することにより、それぞれのパラメータのための前記受入れ可能な範囲の値を調整するステップとを更に含む請求項25記載の方法。
  27. 前記1又は2以上のパイプのうちの1つが、
    前記オペレーション要求のサービス名を識別するステップと、
    前記サービス名に関連付けられたウェブ・サービス定義をロードするステップと、
    前記ウェブ・サービス定義に基づく規則を前記オペレーション要求に適用するステップとを含む請求項1記載の方法。
  28. アプリケーションが認証されたオペレーションの範囲外で実行するのを防止するための方法であって、
    オペレーション要求内の1又は2以上のパラメータを識別するステップと、
    それぞれのパラメータのためのアプリケーション経路を決定するステップと、
    1又は2以上のパイプをそれぞれのパラメータに適用するステップとを含み、それぞれのパラメータに適用されたパイプの数及びタイプが、パラメータの前記決定されたアプリケーション経路に基づく方法。
  29. 指定された通信プロトコルに従って、前記オペレーション要求をフォーマットされたメッセージにフォーマットするステップと、
    前記フォーマットされたメッセージを索引付けするステップと、
    前記フォーマットされたメッセージを格納するステップと、
    符号化スキームに従って、前記フォーマットされたメッセージを内部メッセージに翻訳するステップとを更に含み、前記指定された通信プロトコルが、HTTP、HTTPs、HTTPd、WebDAV、SOAPからなる群から選択される請求項28記載の方法。
  30. 前記符号化スキームがユニコードである請求項29に記載の方法。
  31. 前記1又は2以上のパイプのうちの1つが、
    オペレーション要求を1又は2以上の式に解析するステップと、
    状態の自動化を構築するステップと、
    第1のアルファベット内に定義されていない不適正な構文及びキャラクタのための前記1又は2以上の式を検査するステップと、
    前記状態の自動化を前記オペレーション要求に適用するステップとを含む請求項28記載の方法。
  32. 前記アルファベットが、
    文字、ディジット、符号化されたキャラクタと、文字のブロックと、前記ブロックのグループと、それらの組合せとからなる群から選択される請求項31記載の方法。
  33. 前記1又は2以上のパイプのうちの1つが、
    格納された既知の脆弱性パターンに対して前記オペレーション要求を比較して、一致を判断するステップと、
    前記一致が発見された場合に前記オペレーション要求を阻止するステップとを含む請求項28記載の方法。
  34. 追加の脆弱性パターンとともに前記格納された脆弱性パターンを更新するステップを更に含む請求項33記載の方法。
  35. 前記比較するステップが、
    前記オペレーション要求内のあらゆる連続する特定の数のキャラクタをnビットのバイナリ・コードに変換するステップと、
    前記オペレーション要求内の前記あらゆる連続する特定の数のキャラクタのためのハッシュ値を計算するステップと、
    脆弱性パターンを表す格納されたハッシュ値にあらゆるハッシュ値を比較するステップとを含む請求項28記載の方法。
  36. 前記nビットのnが8であり、前記特定の数が4である請求項35記載の方法。
  37. 前記1又は2以上のパイプのうちの1つが、
    オペレーション要求をゾーンに分割するステップと、
    格納された既知の脆弱性パターンに対して前記ゾーンのそれぞれを比較して、一致を判断するステップと、
    前記一致が発見された場合に、前記オペレーション要求を阻止するステップとを含む請求項28記載の方法。
  38. 前記ゾーンが、
    前記オペレーション要求のURIから構成される第1のゾーンと、
    前記オペレーション要求のクエリ・ストリングから構成される第2のゾーンと、
    前記オペレーション要求のヘッダから構成される第3のゾーンと、
    前記オペレーション要求の本体から構成される第4のゾーンとを有する請求項37記載の方法。
  39. 正当な又は無害なオペレーション要求を前記アプリケーションに送信するステップと、
    前記正当な又は無害なオペレーション要求への返信を受信するステップとを更に含む請求項28記載の方法。
  40. 前記1又は2以上のパイプのうちの1つが、
    前記返信内に含まれている第1の組の内部アプリケーション経路及びパラメータ値を判断するステップと、
    前記返信への応答を受信するステップと、
    前記応答内に含まれている第2の組のアプリケーション経路及びパラメータ値を判断するステップと、
    前記第2の組を前記第1の組と比較して、前記応答が前記返信への有効な応答であるか否かを判断するステップと、
    前記応答が前記返信への有効な応答でなかった場合に、前記応答が前記アプリケーションに通過することを却下するステップとを含む請求項39記載の方法。
  41. 前記1又は2以上のパイプのうちの1つが、
    単一のクライアントを識別して、前記アプリケーションとインタラクトするステップと、
    前記返信内の第1の組のパラメータ名及び値を判断するステップと、
    前記返信に応答して前記クライアントから第2のオペレーション要求を受信するステップと、
    前記第2のオペレーション要求内の第2の組のパラメータ名及び値を判断するステップと、
    前記第1の組が前記第2の組に一致した場合にのみ、前記第2の要求を前記アプリケーションに転送するステップとを含む請求項39記載の方法。
  42. 前記1又は2以上のパイプのうちの1つが、
    前記アプリケーションのアプリケーション経路を制限されたものとして指定するステップと、
    前記オペレーション要求の宛先を判断するステップと、
    前記宛先が前記指定されたアプリケーション経路に等しい場合に、前記オペレーション要求を阻止するステップとを含む請求項28記載の方法。
  43. 前記1又は2以上のパイプのうちの1つが、
    受入れ可能なオペレーション要求のリストをコンパイルするステップと、
    前記受入れ可能なオペレーション要求のリストに前記オペレーション要求を比較するステップとを含む請求項28記載の方法。
  44. 前記1又は2以上のパイプのうちの1つが、
    前記オペレーション要求内に含まれているパラメータ値を判断するステップと、
    前記パラメータ・タイプに基づいて定義済規則を前記パラメータに適用するステップとを含み、
    前記定義済規則が、1又は2以上の受入れ可能なパラメータ値を定義する請求項28記載の方法。
  45. 前記1又は2以上のパイプのうちの1つが、
    前記オペレーション要求に関連付けられたクッキーを識別するステップと、
    前記クッキーの一部分を解読するステップと、
    前記解読された一部分を反映するよう前記クッキーを修正するステップとを含む請求項28記載の方法。
  46. 前記1又は2以上のパイプのうちの1つが、
    前記返信に関連付けられたクッキーを識別するステップと、
    前記クッキーの一部分を暗号化するステップと、
    前記暗号化された一部分を反映するよう前記クッキーを修正するステップとを含む請求項39記載の方法。
  47. 前記1又は2以上のパイプのうちの1つが、
    仮想記憶装置内に前記複数のオペレーション要求を格納するステップと、
    前記複数のオペレーション要求内のそれぞれのパラメータのためのダイナミックな範囲の入力された値を構築するステップと、
    それぞれの値のために前記ダイナミックな範囲の入力された値に適用された統計モデルに基づいて、それぞれのパラメータのための受入れ可能な範囲の値を計算するステップと、後続のオペレーション要求を受信するステップと、
    前記後続のオペレーション要求内のパラメータ値を識別するステップと、
    前記後続のオペレーション要求内の前記パラメータ値が前記受入れ可能な範囲の値内であるか否かを判断するステップとを含む請求項28記載の方法。
  48. 後続のオペレーション要求内の前記パラメータ値をダイナミックな範囲に追加するステップと、
    前記統計モデルを適用することにより、それぞれのパラメータのための前記受入れ可能な範囲の値を調整するステップとを更に含む請求項47記載の方法。
  49. 前記1又は2以上のパイプのうちの1つが、
    前記オペレーション要求のサービス名を識別するステップと、
    前記サービス名に関連付けられたウェブ・サービス定義をロードするステップと、
    前記ウェブ・サービス定義に基づく規則を前記オペレーション要求に適用するステップとを含む請求項28記載の方法。
  50. アプリケーションと信頼できないコンピュータ環境の間でアプリケーション・セキュリティ・レイヤを実施するためのシステムであって、
    1又は2以上のパラメータを有するアプリケーション・オペレーション要求を受信するための手段と、
    前記1又は2以上のパラメータを識別するための識別モジュールと、
    経路設定スキームに従って、前記1又は2以上のパラメータのそれぞれを1又は2以上のアプリケーション経路に経路設定するためのルータ・モジュールとを備えたシステム。
  51. 前記オペレーション要求を、前記アプリケーションによって使用されたデータ・フォーマットにフォーマットするための手段を更に備えた請求項50記載のシステム。
  52. 前記データ・フォーマットが、
    HTTP、HTTPs、HTTPd、WebDAV、SOAPからなる群から選択される請求項51記載のシステム。
  53. 前記受信手段が、待ち行列に入れられたソケット・サーバである請求項50に記載のシステム。
  54. 1又は2以上のパイプを実施する論理を更に有し、いくつかの前記1又は2以上のパイプがそれぞれのアプリケーション経路に適用される請求項50記載のシステム。
  55. 前記数が、それぞれのアプリケーション経路に依存する請求項54記載のシステム。
  56. アプリケーションと信頼できないコンピュータ環境の間でアプリケーション・セキュリティ・レイヤを実施するためのシステムであって、
    アプリケーションのためのオペレーション要求を受信するための手段と、
    前記オペレーション要求のための宛先アプリケーション・ノードを決定するための手段と、
    1又は2以上のパイプを前記オペレーション要求に適用する手段とを含み、前記オペレーション要求に適用された数及びタイプのパイプが、前記オペレーション要求の前記決定された宛先ノードに基づくシステム。
  57. 前記アプリケーションによって使用されるデータ・フォーマットに前記オペレーション要求をフォーマットするための手段を更に含み、前記データ・フォーマットが、HTTP、HTTPs、HTTPd、WebDAV、SOAPからなる群から選択される請求項56記載のシステム。
  58. 符号化スキームに従って前記オペレーション要求を符号化するための符号器を更に備え、前記符号化スキームがユニコードである請求項56記載のシステム。
  59. ファイアウォールを更に有する請求項56記載のシステム。
  60. 1又は2以上のアプリケーションが意図されたオペレーションの範囲外で実行するのを防止するためのコンピュータ実行可能命令を有するコンピュータ読取り可能媒体であって、
    命令が、
    アプリケーション・オペレーション要求内の1又は2以上のパラメータを識別するステップと、
    それぞれのパラメータのためのアプリケーション経路を決定するステップと、
    1又は2以上のパイプをそれぞれのパラメータに適用するステップとを容易にし、
    それぞれのパラメータに適用された数及びタイプのパイプが、パラメータの前記決定されたアプリケーション経路に基づくコンピュータ読取り可能媒体。
  61. 前記1又は2以上のパイプのうちの1つが、
    前記パラメータを前記決定されたアプリケーション経路に経路設定するステップを含む請求項60記載のコンピュータ読取り可能媒体。
  62. 命令が、前記アプリケーション経路が決定されていない場合に前記パラメータをデフォルト・アプリケーション経路に経路設定するステップを更に容易にする請求項60記載のコンピュータ読取り可能媒体。
  63. 命令が、
    指定された通信プロトコルに従って、それぞれのオペレーション要求をフォーマットされたメッセージにフォーマットするステップと、
    前記フォーマットされたメッセージを索引付けするステップと、
    前記フォーマットされたメッセージのコピーを格納するステップと、
    符号化スキームに従って前記フォーマットされたメッセージを内部メッセージに翻訳するステップとを更に容易にし、
    前記符号化スキームがユニコードである請求項60記載のコンピュータ読取り可能媒体。
  64. 前記指定された通信プロトコルが、
    HTTP、HTTPs、HTTPd、WebDAV、SOAPからなる群から選択される請求項63記載のコンピュータ読取り可能媒体。
  65. 前記1又は2以上のパイプのうちの1つが、
    オペレーション要求を1又は2以上の式に解析するステップと、
    状態の自動化を構築するステップと、
    第1のアルファベット内に定義されていない不適正な構文及びキャラクタのための前記1又は2以上の式を検査するステップと、
    前記状態の自動化を前記オペレーション要求に適用するステップとを含む請求項60記載のコンピュータ読取り可能媒体。
  66. 前記アルファベットが、
    文字、ディジット、符号化されたキャラクタと、文字のブロックと、前記ブロックのグループと、それらの組合せとからなる群から選択される請求項65記載のコンピュータ読取り可能媒体。
  67. 前記1又は2以上のパイプのうちの1つが、
    格納された既知の脆弱性パターンに対して前記オペレーション要求を比較して、一致を判断するステップと、
    前記一致が発見された場合に前記オペレーション要求を阻止するステップと
    を含む請求項60記載のコンピュータ読取り可能媒体。
  68. 命令が、追加の脆弱性パターンとともに前記格納された脆弱性パターンを更新するステップを更に容易にする請求項60記載のコンピュータ読取り可能媒体。
  69. 前記比較するステップが、
    前記オペレーション要求内のあらゆる連続する特定の数のキャラクタをnビットのバイナリ・コードに変換するステップと、
    前記オペレーション要求内の前記あらゆる連続する特定の数のキャラクタのためのハッシュ値を計算ステップと、
    脆弱性パターンを表す格納されたハッシュ値に対してあらゆるハッシュ値を比較するステップとを含む請求項65記載のコンピュータ読取り可能媒体。
  70. 前記nビットのnが8であり、前記特定の数が4である請求項69記載のコンピュータ読取り可能媒体。
  71. 前記1又は2以上のパイプのうちの1つが、
    オペレーション要求をゾーンに分割するステップと、
    格納された既知の脆弱性パターンに対して前記ゾーンのそれぞれを比較して、一致を判断するステップと、
    前記一致が発見された場合に、前記オペレーション要求を阻止するステップとを含む請求項60記載のコンピュータ読取り可能媒体。
  72. 前記ゾーンが、
    前記オペレーション要求のURIから構成される第1のゾーンと、
    前記オペレーション要求のクエリ・ストリングから構成される第2のゾーンと、
    前記オペレーション要求のヘッダから構成される第3のゾーンと、
    前記オペレーション要求の本体から構成される第4のゾーンとを有する請求項71記載のコンピュータ読取り可能媒体。
  73. 命令が、
    正当な又は無害なオペレーション要求を前記アプリケーションに送信するステップと、
    前記正当な又は無害なオペレーション要求への返信を受信するステップとを更に容易にする請求項60記載のコンピュータ読取り可能媒体。
  74. 前記1又は2以上のパイプのうちの1つが、
    前記返信内に含まれている第1の組の内部アプリケーション経路及びパラメータ値を判断するステップと、
    前記返信への応答を受信するステップと、
    前記応答内に含まれている第2の組の内部アプリケーション経路及びパラメータ値を判断するステップと、
    前記第2の組を前記第1の組と比較して、前記応答が前記返信への有効な応答であるか否かを判断するステップと、
    前記応答が前記返信への有効な応答でなかった場合に、前記応答が前記アプリケーションに通過することを却下するステップとを含む請求項60記載のコンピュータ読取り可能媒体。
  75. 前記1又は2以上のパイプのうちの1つが、
    前記返信内の第1の組のパラメータ名及び値を判断するステップと、
    前記返信に応答して前記クライアントから第2のオペレーション要求を受信するステップと、
    前記第2のオペレーション要求内の第2の組のパラメータ名及び値を判断するステップと、
    前記第1の組が前記第2の組に一致した場合にのみ、前記第2の要求を前記アプリケーション転送するステップとを含む請求項60に記載のコンピュータ読取り可能媒体。
  76. 前記1又は2以上のパイプのうちの1つが、
    前記アプリケーションのアプリケーション経路を制限されたものとして指定するステップと、
    前記オペレーション要求の宛先を判断するステップと、
    前記宛先が前記指定されたアプリケーション経路に等しい場合に前記オペレーション要求を阻止するステップとを含む請求項60記載のコンピュータ読取り可能媒体。
  77. 前記1又は2以上のパイプのうちの1つが、
    受入れ可能なオペレーション要求のリストをコンパイルするステップと、
    前記受入れ可能なオペレーション要求のリストに前記オペレーション要求を比較するステップとを含む請求項60記載のコンピュータ読取り可能媒体。
  78. 前記1又は2以上のパイプのうちの1つが、
    前記オペレーション要求内に含まれているパラメータ値を判断するステップと、
    前記パラメータ・タイプに基づいて定義済規則を前記パラメータに適用するステップとを含み、
    前記定義済規則が、1又は2以上の受入れ可能なパラメータ値を定義する請求項60記載のコンピュータ読取り可能媒体。
  79. 前記1又は2以上のパイプのうちの1つが、
    前記オペレーション要求に関連付けられたクッキーを識別するステップと、
    前記クッキーの一部分を解読するステップと、
    前記解読された一部分を反映するよう前記クッキーを修正するステップとを含む請求項60記載のコンピュータ読取り可能媒体。
  80. 前記1又は2以上のパイプのうちの1つが、
    前記返信に関連付けられたクッキーを識別するステップと、
    前記クッキーの一部分を暗号化するステップと、
    前記暗号化された一部分を反映するよう前記クッキーを修正するステップとを含む請求項73記載のコンピュータ読取り可能媒体。
  81. 前記1又は2以上のパイプのうちの1つが、
    仮想ディレクトリ内に前記複数のオペレーション要求を格納するステップと、
    前記複数のオペレーション要求内のそれぞれのパラメータのためのダイナミックな範囲の入力された値を構築するステップと、
    それぞれの値のために前記ダイナミックな範囲の入力された値に適用された統計モデルに基づいて、それぞれのパラメータのための受入れ可能な範囲の値を計算するステップと、後続のオペレーション要求を受信するステップと、
    前記後続のオペレーション要求内のパラメータ値を識別するステップと、
    前記後続のオペレーション要求内の前記パラメータ値が前記受入れ可能な範囲の値内であるか否かを判断するステップとを含む請求項60記載のコンピュータ読取り可能媒体。
  82. 後続のオペレーション要求内の前記パラメータ値をダイナミックな範囲に追加するステップと、
    前記統計モデルを適用することにより、それぞれのパラメータのための前記受入れ可能な範囲の値を調整するステップとを更に含む請求項81記載のコンピュータ読取り可能媒体。
  83. 前記1又は2以上のパイプのうちの1つが、
    前記オペレーション要求のサービス名を識別するステップと、
    前記サービス名に関連付けられたウェブ・サービス定義をロードするステップと、
    前記ウェブ・サービス定義に基づく規則を前記オペレーション要求に適用するステップとを含む請求項60記載のコンピュータ読取り可能媒体。
JP2002574086A 2001-03-16 2002-03-15 アプリケーション・レイヤ・セキュリティ方法及びシステム Pending JP2004533676A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/809,030 US7313822B2 (en) 2001-03-16 2001-03-16 Application-layer security method and system
PCT/US2002/008029 WO2002075547A1 (en) 2001-03-16 2002-03-15 Application layer security method and system

Publications (1)

Publication Number Publication Date
JP2004533676A true JP2004533676A (ja) 2004-11-04

Family

ID=25200382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002574086A Pending JP2004533676A (ja) 2001-03-16 2002-03-15 アプリケーション・レイヤ・セキュリティ方法及びシステム

Country Status (8)

Country Link
US (1) US7313822B2 (ja)
EP (1) EP1381949A4 (ja)
JP (1) JP2004533676A (ja)
KR (1) KR100884714B1 (ja)
AU (1) AU2002252371B2 (ja)
CA (1) CA2441230A1 (ja)
NZ (1) NZ527915A (ja)
WO (1) WO2002075547A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005276185A (ja) * 2004-02-24 2005-10-06 Microsoft Corp ソフトウェアの脆弱性の悪用を防止するように通信をフィルタ処理するための方法およびシステム
JP2011512572A (ja) * 2008-01-17 2011-04-21 デーエルベー・ファイナンス・アンド・コンサルタンシー・ベー・フェー コンピュータ・アプリケーション・プログラムを制御するための方法及びシステム
JP2019121017A (ja) * 2017-12-28 2019-07-22 株式会社リコー 情報処理装置、脆弱性検知方法およびプログラム
JP7408725B2 (ja) 2018-12-03 2024-01-05 セールスフォース インコーポレイテッド コンピュータシステムの自動動作管理

Families Citing this family (201)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162636B2 (en) 1998-06-22 2007-01-09 Semtek Innovative Solutions, Inc. Method and apparatus for securing and authenticating encoded data and documents containing such data
US20040073617A1 (en) * 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US9444785B2 (en) * 2000-06-23 2016-09-13 Cloudshield Technologies, Inc. Transparent provisioning of network access to an application
US8266677B2 (en) * 2000-12-20 2012-09-11 Intellisync Corporation UDP communication with a programmer interface over wireless networks
US7882555B2 (en) 2001-03-16 2011-02-01 Kavado, Inc. Application layer security method and system
AU2002322109A1 (en) 2001-06-13 2002-12-23 Intruvert Networks, Inc. Method and apparatus for distributed network security
US6513122B1 (en) * 2001-06-29 2003-01-28 Networks Associates Technology, Inc. Secure gateway for analyzing textual content to identify a harmful impact on computer systems with known vulnerabilities
US7103714B1 (en) * 2001-08-04 2006-09-05 Oracle International Corp. System and method for serving one set of cached data for differing data requests
JP3961796B2 (ja) * 2001-08-27 2007-08-22 ソニー株式会社 情報提供システム、情報処理装置および方法、情報提供装置および方法、記録媒体、並びにプログラム
TW515955B (en) * 2001-08-30 2003-01-01 Inventec Corp Authorized data reading method and system thereof
US8560709B1 (en) * 2004-02-25 2013-10-15 F5 Networks, Inc. System and method for dynamic policy based access over a virtual private network
US20030084436A1 (en) * 2001-10-30 2003-05-01 Joubert Berger System and method for installing applications in a trusted environment
US7739328B1 (en) 2001-12-11 2010-06-15 Actional Corporation Traffic manager for distributed computing environments
US7480799B2 (en) * 2001-12-11 2009-01-20 Actional Corporation Traffic manager for distributed computing environments
US20030120956A1 (en) * 2001-12-20 2003-06-26 Inventec Corporation Authorization method and system for storing and retrieving data
AU2003210900A1 (en) * 2002-02-07 2003-09-02 Empirix Inc. Automated security threat testing of web pages
US20060015942A1 (en) 2002-03-08 2006-01-19 Ciphertrust, Inc. Systems and methods for classification of messaging entities
US8578480B2 (en) 2002-03-08 2013-11-05 Mcafee, Inc. Systems and methods for identifying potentially malicious messages
US20030172291A1 (en) 2002-03-08 2003-09-11 Paul Judge Systems and methods for automated whitelisting in monitored communications
US7870203B2 (en) * 2002-03-08 2011-01-11 Mcafee, Inc. Methods and systems for exposing messaging reputation to an end user
US7694128B2 (en) 2002-03-08 2010-04-06 Mcafee, Inc. Systems and methods for secure communication delivery
US8561167B2 (en) * 2002-03-08 2013-10-15 Mcafee, Inc. Web reputation scoring
US8132250B2 (en) * 2002-03-08 2012-03-06 Mcafee, Inc. Message profiling systems and methods
US7693947B2 (en) 2002-03-08 2010-04-06 Mcafee, Inc. Systems and methods for graphically displaying messaging traffic
US6941467B2 (en) * 2002-03-08 2005-09-06 Ciphertrust, Inc. Systems and methods for adaptive message interrogation through multiple queues
US7124438B2 (en) 2002-03-08 2006-10-17 Ciphertrust, Inc. Systems and methods for anomaly detection in patterns of monitored communications
US7903549B2 (en) * 2002-03-08 2011-03-08 Secure Computing Corporation Content-based policy compliance systems and methods
IL149583A0 (en) 2002-05-09 2003-07-06 Kavado Israel Ltd Method for automatic setting and updating of a security policy
US7634806B2 (en) * 2002-05-30 2009-12-15 Microsoft Corporation Peer assembly inspection
US20030229782A1 (en) * 2002-06-07 2003-12-11 Robert Bible Method for computer identification verification
KR20040028257A (ko) * 2002-09-30 2004-04-03 삼성전자주식회사 네트워크에 접근가능한 장치, 그 보안 방법 및 정보저장매체
US7376732B2 (en) * 2002-11-08 2008-05-20 Federal Network Systems, Llc Systems and methods for preventing intrusion at a web host
US7353538B2 (en) * 2002-11-08 2008-04-01 Federal Network Systems Llc Server resource management, analysis, and intrusion negation
US7359976B2 (en) * 2002-11-23 2008-04-15 Microsoft Corporation Method and system for improved internet security via HTTP-only cookies
MY141160A (en) * 2003-01-13 2010-03-31 Multimedia Glory Sdn Bhd System and method of preventing the transmission of known and unknown electronic content to and from servers or workstations connected to a common network
JP4173517B2 (ja) * 2003-03-05 2008-10-29 インテリシンク コーポレイション コンピューティング・ネットワークとリモート装置との間のバーチャル・プライベート・ネットワーク
US20050004937A1 (en) * 2003-05-12 2005-01-06 Colarik Andrew Michael Integrity mechanism for file transfer in communications networks
EP1634175B1 (en) * 2003-05-28 2015-06-24 Citrix Systems, Inc. Multilayer access control security system
US20040260754A1 (en) * 2003-06-20 2004-12-23 Erik Olson Systems and methods for mitigating cross-site scripting
US8984644B2 (en) 2003-07-01 2015-03-17 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US9118710B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc System, method, and computer program product for reporting an occurrence in different manners
US9100431B2 (en) 2003-07-01 2015-08-04 Securityprofiling, Llc Computer program product and apparatus for multi-path remediation
US9118708B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Multi-path remediation
US9118709B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US9118711B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US20070113272A2 (en) 2003-07-01 2007-05-17 Securityprofiling, Inc. Real-time vulnerability monitoring
US9350752B2 (en) 2003-07-01 2016-05-24 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
DE10330575A1 (de) * 2003-07-07 2005-01-27 Pösl, Rudolf, Dipl.-Ing. Patientendaten-Informationssystem
US7530103B2 (en) 2003-08-07 2009-05-05 Microsoft Corporation Projection of trustworthiness from a trusted environment to an untrusted environment
US7472413B1 (en) * 2003-08-11 2008-12-30 F5 Networks, Inc. Security for WAP servers
US7743420B2 (en) * 2003-12-02 2010-06-22 Imperva, Inc. Dynamic learning method and adaptive normal behavior profile (NBP) architecture for providing fast protection of enterprise applications
US7774834B1 (en) 2004-02-18 2010-08-10 Citrix Systems, Inc. Rule generalization for web application entry point modeling
US7617531B1 (en) * 2004-02-18 2009-11-10 Citrix Systems, Inc. Inferencing data types of message components
US7890996B1 (en) * 2004-02-18 2011-02-15 Teros, Inc. Using statistical analysis to generate exception rules that allow legitimate messages to pass through application proxies and gateways
US7752662B2 (en) * 2004-02-20 2010-07-06 Imperva, Inc. Method and apparatus for high-speed detection and blocking of zero day worm attacks
US7373524B2 (en) 2004-02-24 2008-05-13 Covelight Systems, Inc. Methods, systems and computer program products for monitoring user behavior for a server application
US7523498B2 (en) * 2004-05-20 2009-04-21 International Business Machines Corporation Method and system for monitoring personal computer documents for sensitive data
US8707251B2 (en) * 2004-06-07 2014-04-22 International Business Machines Corporation Buffered viewing of electronic documents
US8245049B2 (en) * 2004-06-14 2012-08-14 Microsoft Corporation Method and system for validating access to a group of related elements
US7506812B2 (en) 2004-09-07 2009-03-24 Semtek Innovative Solutions Corporation Transparently securing data for transmission on financial networks
US8161538B2 (en) * 2004-09-13 2012-04-17 Cisco Technology, Inc. Stateful application firewall
KR100602954B1 (ko) * 2004-09-22 2006-07-24 주식회사 아이큐브 미디어 게이트웨이
US20060069671A1 (en) * 2004-09-29 2006-03-30 Conley James W Methodology, system and computer readable medium for analyzing target web-based applications
US7904956B2 (en) * 2004-10-01 2011-03-08 Microsoft Corporation Access authorization with anomaly detection
US7506364B2 (en) * 2004-10-01 2009-03-17 Microsoft Corporation Integrated access authorization
US7685632B2 (en) * 2004-10-01 2010-03-23 Microsoft Corporation Access authorization having a centralized policy
US8181219B2 (en) 2004-10-01 2012-05-15 Microsoft Corporation Access authorization having embedded policies
EP1653697B1 (en) * 2004-10-29 2016-08-17 BlackBerry Limited Secure Peer-to-Peer Messaging Invitation Architecture
US8635690B2 (en) * 2004-11-05 2014-01-21 Mcafee, Inc. Reputation based message processing
US8458467B2 (en) 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US7664879B2 (en) 2004-11-23 2010-02-16 Cisco Technology, Inc. Caching content and state data at a network element
US7987272B2 (en) 2004-12-06 2011-07-26 Cisco Technology, Inc. Performing message payload processing functions in a network element on behalf of an application
US7725934B2 (en) * 2004-12-07 2010-05-25 Cisco Technology, Inc. Network and application attack protection based on application layer message inspection
US8082304B2 (en) 2004-12-10 2011-12-20 Cisco Technology, Inc. Guaranteed delivery of application layer messages by a network element
US7356545B2 (en) * 2004-12-22 2008-04-08 Oracle International Corporation Enabling relational databases to incorporate customized intrusion prevention policies
US20060185018A1 (en) * 2005-02-17 2006-08-17 Microsoft Corporation Systems and methods for shielding an identified vulnerability
US20060259950A1 (en) * 2005-02-18 2006-11-16 Ulf Mattsson Multi-layer system for privacy enforcement and monitoring of suspicious data access behavior
US9288078B2 (en) * 2005-03-25 2016-03-15 Qualcomm Incorporated Apparatus and methods for managing content exchange on a wireless device
US7937480B2 (en) * 2005-06-02 2011-05-03 Mcafee, Inc. Aggregation of reputation data
US8266327B2 (en) 2005-06-21 2012-09-11 Cisco Technology, Inc. Identity brokering in a network element
CA2510647A1 (en) * 2005-06-23 2006-12-23 Cognos Incorporated Signing of web request
US8782201B2 (en) * 2005-10-28 2014-07-15 Bank Of America Corporation System and method for managing the configuration of resources in an enterprise
US20070136809A1 (en) * 2005-12-08 2007-06-14 Kim Hwan K Apparatus and method for blocking attack against Web application
US7757289B2 (en) * 2005-12-12 2010-07-13 Finjan, Inc. System and method for inspecting dynamically generated executable code
US8443442B2 (en) * 2006-01-31 2013-05-14 The Penn State Research Foundation Signature-free buffer overflow attack blocker
US7720984B2 (en) * 2006-02-07 2010-05-18 Cisco Technology, Inc. Method and system for stream processing web services
US7675854B2 (en) 2006-02-21 2010-03-09 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
US20070220509A1 (en) * 2006-02-24 2007-09-20 International Business Machines Corporation System and method for deploying software based on matching provisioning requirements and capabilities
JP4769608B2 (ja) * 2006-03-22 2011-09-07 富士通株式会社 起動検証機能を有する情報処理装置
US8812638B2 (en) * 2006-07-12 2014-08-19 Telefonaktiebolaget Lm Ericsson (Publ) Method, apparatus and computer program product for controlling devices
US20080047009A1 (en) * 2006-07-20 2008-02-21 Kevin Overcash System and method of securing networks against applications threats
US20080034424A1 (en) * 2006-07-20 2008-02-07 Kevin Overcash System and method of preventing web applications threats
US7934253B2 (en) * 2006-07-20 2011-04-26 Trustwave Holdings, Inc. System and method of securing web applications across an enterprise
US8255489B2 (en) * 2006-08-18 2012-08-28 Akamai Technologies, Inc. Method of data collection among participating content providers in a distributed network
US8769275B2 (en) 2006-10-17 2014-07-01 Verifone, Inc. Batch settlement transactions system and method
US8584199B1 (en) 2006-10-17 2013-11-12 A10 Networks, Inc. System and method to apply a packet routing policy to an application session
US9361617B2 (en) 2008-06-17 2016-06-07 Verifone, Inc. Variable-length cipher system and method
US8312507B2 (en) * 2006-10-17 2012-11-13 A10 Networks, Inc. System and method to apply network traffic policy to an application session
US9123042B2 (en) 2006-10-17 2015-09-01 Verifone, Inc. Pin block replacement
JP4405503B2 (ja) * 2006-12-28 2010-01-27 キヤノンItソリューションズ株式会社 情報処理装置および情報処理装置の制御方法およびプログラムおよび記録媒体
US8453245B2 (en) * 2006-12-29 2013-05-28 Microsoft Corporation Automatic vulnerability detection and response
US8214497B2 (en) * 2007-01-24 2012-07-03 Mcafee, Inc. Multi-dimensional reputation scoring
US8179798B2 (en) * 2007-01-24 2012-05-15 Mcafee, Inc. Reputation based connection throttling
US7779156B2 (en) * 2007-01-24 2010-08-17 Mcafee, Inc. Reputation based load balancing
US7949716B2 (en) 2007-01-24 2011-05-24 Mcafee, Inc. Correlation and analysis of entity attributes
US8763114B2 (en) 2007-01-24 2014-06-24 Mcafee, Inc. Detecting image spam
US8286138B2 (en) * 2007-01-30 2012-10-09 Microsoft Corporation Multi-threaded detection of a game software debugger
US8443424B2 (en) * 2007-02-08 2013-05-14 Scipioo Holding B.V. Method and system for reducing the proliferation of electronic messages
US20080208806A1 (en) * 2007-02-28 2008-08-28 Microsoft Corporation Techniques for a web services data access layer
EP2145432A2 (en) * 2007-03-14 2010-01-20 Hewlett-Packard Development Company, L.P. Connecting collaboration nodes
EP2057793A1 (en) 2007-03-14 2009-05-13 Hewlett-Packard Development Company, L.P. Synthetic bridging
US7962957B2 (en) * 2007-04-23 2011-06-14 International Business Machines Corporation Method and apparatus for detecting port scans with fake source address
US8355982B2 (en) 2007-08-16 2013-01-15 Verifone, Inc. Metrics systems and methods for token transactions
EP2203860A2 (en) * 2007-09-21 2010-07-07 Breach Security, Inc. System and method for detecting security defects in applications
US7925694B2 (en) * 2007-10-19 2011-04-12 Citrix Systems, Inc. Systems and methods for managing cookies via HTTP content layer
US8185930B2 (en) 2007-11-06 2012-05-22 Mcafee, Inc. Adjusting filter or classification control settings
US8045458B2 (en) * 2007-11-08 2011-10-25 Mcafee, Inc. Prioritizing network traffic
US20090125980A1 (en) * 2007-11-09 2009-05-14 Secure Computing Corporation Network rating
US8180886B2 (en) * 2007-11-15 2012-05-15 Trustwave Holdings, Inc. Method and apparatus for detection of information transmission abnormalities
US20090158403A1 (en) * 2007-12-14 2009-06-18 Dirk Leonard Benschop Method and system for permitting or denying service
US8239921B2 (en) * 2008-01-03 2012-08-07 Dlb Finance & Consultancy B.V. System and method of retrieving a service contact identifier
US8463921B2 (en) * 2008-01-17 2013-06-11 Scipioo Holding B.V. Method and system for controlling a computer application program
US8160975B2 (en) * 2008-01-25 2012-04-17 Mcafee, Inc. Granular support vector machine with random granularity
CN101984778B (zh) 2008-01-26 2014-08-13 思杰系统有限公司 用于细粒度策略驱动的cookie代理的系统和方法
GB2458568B (en) * 2008-03-27 2012-09-19 Covertix Ltd System and method for dynamically enforcing security policies on electronic files
US8589503B2 (en) * 2008-04-04 2013-11-19 Mcafee, Inc. Prioritizing network traffic
US8144940B2 (en) 2008-08-07 2012-03-27 Clay Von Mueller System and method for authentication of data
FR2936071B1 (fr) * 2008-09-15 2010-10-29 Airbus France Procede et dispositif pour automatiser des procedures de verification d'equipements dans un aeronef.
US8799268B2 (en) * 2008-12-17 2014-08-05 International Business Machines Corporation Consolidating tags
US8251283B1 (en) 2009-05-08 2012-08-28 Oberon Labs, LLC Token authentication using spatial characteristics
KR100927010B1 (ko) * 2009-05-11 2009-11-16 엘아이지넥스원 주식회사 보안 모듈을 내장하는 sca 기반의 데이터 처리 장치 및 방법
DE102009039098A1 (de) * 2009-08-27 2011-03-03 Siemens Aktiengesellschaft Verfahren zum Betreiben eines Kommunikationsnetzwerks
US8590045B2 (en) * 2009-10-07 2013-11-19 F-Secure Oyj Malware detection by application monitoring
US9960967B2 (en) * 2009-10-21 2018-05-01 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US8701180B2 (en) * 2009-12-04 2014-04-15 Sap Ag Securing communications between different network zones
KR101055267B1 (ko) * 2010-03-05 2011-08-09 한국전자통신연구원 액티브엑스 컨트롤의 배포 사이트 식별 방법과 보안 취약점 검출 방법 및 면역화 방법
US8621638B2 (en) 2010-05-14 2013-12-31 Mcafee, Inc. Systems and methods for classification of messaging entities
US8914879B2 (en) 2010-06-11 2014-12-16 Trustwave Holdings, Inc. System and method for improving coverage for web code
US9215275B2 (en) 2010-09-30 2015-12-15 A10 Networks, Inc. System and method to balance servers based on server load status
US9336396B2 (en) 2010-10-25 2016-05-10 Radware, Ltd. Method and system for generating an enforceable security policy based on application sitemap
US8578487B2 (en) 2010-11-04 2013-11-05 Cylance Inc. System and method for internet security
US9609052B2 (en) 2010-12-02 2017-03-28 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US8396842B2 (en) 2011-03-21 2013-03-12 International Business Machines Corporation Externalized data validation engine
US9342274B2 (en) 2011-05-19 2016-05-17 Microsoft Technology Licensing, Llc Dynamic code generation and memory management for component object model data constructs
US8881101B2 (en) 2011-05-24 2014-11-04 Microsoft Corporation Binding between a layout engine and a scripting engine
US9116717B2 (en) 2011-05-27 2015-08-25 Cylance Inc. Run-time interception of software methods
US8893278B1 (en) * 2011-07-12 2014-11-18 Trustwave Holdings, Inc. Detecting malware communication on an infected computing device
US8806574B2 (en) * 2011-10-05 2014-08-12 Hewlett-Packard Development Company, L.P. System and method for policy conformance in a web application
US8897154B2 (en) 2011-10-24 2014-11-25 A10 Networks, Inc. Combining stateless and stateful server load balancing
US9386088B2 (en) 2011-11-29 2016-07-05 A10 Networks, Inc. Accelerating service processing using fast path TCP
US9094364B2 (en) 2011-12-23 2015-07-28 A10 Networks, Inc. Methods to manage services over a service gateway
US10044582B2 (en) 2012-01-28 2018-08-07 A10 Networks, Inc. Generating secure name records
US9118618B2 (en) 2012-03-29 2015-08-25 A10 Networks, Inc. Hardware-based packet editor
US8782221B2 (en) 2012-07-05 2014-07-15 A10 Networks, Inc. Method to allocate buffer for TCP proxy session based on dynamic network conditions
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US9106561B2 (en) 2012-12-06 2015-08-11 A10 Networks, Inc. Configuration of a virtual service network
KR101692751B1 (ko) 2012-09-25 2017-01-04 에이10 네트워크스, 인코포레이티드 데이터망 부하 분산
US10002141B2 (en) 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
US9843484B2 (en) 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US9135439B2 (en) 2012-10-05 2015-09-15 Trustwave Holdings, Inc. Methods and apparatus to detect risks using application layer protocol headers
JP6147269B2 (ja) * 2012-10-10 2017-06-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation コンピュータによるコンポーネントの動作状態の検出
US9338225B2 (en) 2012-12-06 2016-05-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9531846B2 (en) 2013-01-23 2016-12-27 A10 Networks, Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgement
US9900252B2 (en) 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
US9992107B2 (en) 2013-03-15 2018-06-05 A10 Networks, Inc. Processing data packets using a policy based network path
EP2784692A1 (en) * 2013-03-28 2014-10-01 Hewlett-Packard Development Company, L.P. Filter regular expression
WO2014179753A2 (en) 2013-05-03 2014-11-06 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10027761B2 (en) 2013-05-03 2018-07-17 A10 Networks, Inc. Facilitating a secure 3 party network session by a network device
US9430452B2 (en) 2013-06-06 2016-08-30 Microsoft Technology Licensing, Llc Memory model for a layout engine and scripting engine
CN103366104A (zh) * 2013-07-22 2013-10-23 腾讯科技(深圳)有限公司 应用的访问控制方法和装置
US10230770B2 (en) 2013-12-02 2019-03-12 A10 Networks, Inc. Network proxy layer for policy-based application proxies
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US9942162B2 (en) 2014-03-31 2018-04-10 A10 Networks, Inc. Active application response delay time
US9906422B2 (en) 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
US9986061B2 (en) 2014-06-03 2018-05-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US10129122B2 (en) 2014-06-03 2018-11-13 A10 Networks, Inc. User defined objects for network devices
US9992229B2 (en) 2014-06-03 2018-06-05 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US10268467B2 (en) 2014-11-11 2019-04-23 A10 Networks, Inc. Policy-driven management of application traffic for providing services to cloud-based applications
US9665716B2 (en) * 2014-12-23 2017-05-30 Mcafee, Inc. Discovery of malicious strings
US9977911B2 (en) 2014-12-30 2018-05-22 Facebook, Inc. Methods and systems for managing permissions to access mobile device resources
US10581976B2 (en) 2015-08-12 2020-03-03 A10 Networks, Inc. Transmission control of protocol state exchange for dynamic stateful service insertion
US10243791B2 (en) 2015-08-13 2019-03-26 A10 Networks, Inc. Automated adjustment of subscriber policies
US10223425B2 (en) 2016-02-24 2019-03-05 Bank Of America Corporation Operational data processor
US10019486B2 (en) 2016-02-24 2018-07-10 Bank Of America Corporation Computerized system for analyzing operational event data
US10366367B2 (en) 2016-02-24 2019-07-30 Bank Of America Corporation Computerized system for evaluating and modifying technology change events
US10067984B2 (en) 2016-02-24 2018-09-04 Bank Of America Corporation Computerized system for evaluating technology stability
US10387230B2 (en) 2016-02-24 2019-08-20 Bank Of America Corporation Technical language processor administration
US10430743B2 (en) 2016-02-24 2019-10-01 Bank Of America Corporation Computerized system for simulating the likelihood of technology change incidents
US10366337B2 (en) 2016-02-24 2019-07-30 Bank Of America Corporation Computerized system for evaluating the likelihood of technology change incidents
US10275183B2 (en) 2016-02-24 2019-04-30 Bank Of America Corporation System for categorical data dynamic decoding
US10366338B2 (en) 2016-02-24 2019-07-30 Bank Of America Corporation Computerized system for evaluating the impact of technology change incidents
US10216798B2 (en) 2016-02-24 2019-02-26 Bank Of America Corporation Technical language processor
US10275182B2 (en) 2016-02-24 2019-04-30 Bank Of America Corporation System for categorical data encoding
US9660870B1 (en) * 2016-06-08 2017-05-23 Synack, Inc. Systems and methods of soft patching security vulnerabilities
CA3011474A1 (en) * 2017-08-08 2019-02-08 Sierra Nevada Corporation Bi-directional data security for control systems
US10540496B2 (en) * 2017-09-29 2020-01-21 International Business Machines Corporation Dynamic re-composition of patch groups using stream clustering
US10915640B2 (en) 2018-10-01 2021-02-09 International Business Machines Corporation Cyber security testing for authorized services
US11010479B2 (en) 2018-10-01 2021-05-18 International Business Machines Corporation Cyber security for space-switching program calls
US11604786B2 (en) * 2019-04-26 2023-03-14 EMC IP Holding Company LLC Method and system for processing unstable writes in a clustered file system
US11336679B2 (en) 2020-01-28 2022-05-17 International Business Machines Corporation Combinatorial test design for optimizing parameter list testing
CN112653659A (zh) * 2020-09-02 2021-04-13 浙江德迅网络安全技术有限公司 一种基于http协议的隐蔽隧道及其检测方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61133454A (ja) * 1984-12-03 1986-06-20 Hitachi Ltd 端末制御方式
US5191611A (en) * 1989-04-03 1993-03-02 Lang Gerald S Method and apparatus for protecting material on storage media and for transferring material on storage media to various recipients
US5073933A (en) * 1989-12-01 1991-12-17 Sun Microsystems, Inc. X window security system
US5315657A (en) * 1990-09-28 1994-05-24 Digital Equipment Corporation Compound principals in access control lists
US5220604A (en) * 1990-09-28 1993-06-15 Digital Equipment Corporation Method for performing group exclusion in hierarchical group structures
US5224163A (en) * 1990-09-28 1993-06-29 Digital Equipment Corporation Method for delegating authorization from one entity to another through the use of session encryption keys
US5166977A (en) * 1991-05-31 1992-11-24 Encrypto, Inc. Protocol converter for a secure fax transmission system
US5317742A (en) * 1991-06-21 1994-05-31 Racal-Datacom, Inc. Dynamic translation of network management primitives to queries to a database
GB9205774D0 (en) * 1992-03-17 1992-04-29 Int Computers Ltd Computer security system
US5611048A (en) * 1992-10-30 1997-03-11 International Business Machines Corporation Remote password administration for a computer network among a plurality of nodes sending a password update message to all nodes and updating on authorized nodes
US5566326A (en) * 1993-09-28 1996-10-15 Bull Hn Information Systems Inc. Copy file mechanism for transferring files between a host system and an emulated file system
US5559800A (en) * 1994-01-19 1996-09-24 Research In Motion Limited Remote control of gateway functions in a wireless data communication network
US5629981A (en) * 1994-07-29 1997-05-13 Texas Instruments Incorporated Information management and security system
US5944794A (en) * 1994-09-30 1999-08-31 Kabushiki Kaisha Toshiba User identification data management scheme for networking computer systems using wide area network
US5623601A (en) * 1994-11-18 1997-04-22 Milkway Networks Corporation Apparatus and method for providing a secure gateway for communication and data exchanges between networks
EP2110732A3 (en) * 1995-02-13 2009-12-09 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US5657390A (en) * 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
US5623600A (en) * 1995-09-26 1997-04-22 Trend Micro, Incorporated Virus detection and removal apparatus for computer networks
US5724355A (en) * 1995-10-24 1998-03-03 At&T Corp Network access to internet and stored multimedia services from a terminal supporting the H.320 protocol
JP2000503154A (ja) * 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
US5826014A (en) * 1996-02-06 1998-10-20 Network Engineering Software Firewall system for protecting network elements connected to a public network
US5774695A (en) * 1996-03-22 1998-06-30 Ericsson Inc. Protocol interface gateway and method of connecting an emulator to a network
JP3636399B2 (ja) * 1996-05-29 2005-04-06 富士通株式会社 プロトコル変換システム及びプロトコル変換方法
US6167520A (en) * 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US6154844A (en) * 1996-11-08 2000-11-28 Finjan Software, Ltd. System and method for attaching a downloadable security profile to a downloadable
US5908469A (en) * 1997-02-14 1999-06-01 International Business Machines Corporation Generic user authentication for network computers
US5983270A (en) * 1997-03-11 1999-11-09 Sequel Technology Corporation Method and apparatus for managing internetwork and intranetwork activity
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US6321337B1 (en) * 1997-09-09 2001-11-20 Sanctum Ltd. Method and system for protecting operations of trusted internal networks
US5870544A (en) * 1997-10-20 1999-02-09 International Business Machines Corporation Method and apparatus for creating a secure connection between a java applet and a web server
US6317868B1 (en) * 1997-10-24 2001-11-13 University Of Washington Process for transparently enforcing protection domains and access control as well as auditing operations in software components
US6311278B1 (en) * 1998-09-09 2001-10-30 Sanctum Ltd. Method and system for extracting application protocol characteristics
AU9094198A (en) 1998-09-10 2000-04-03 Sanctum Ltd. Method and system for maintaining restricted operating environments for application programs or operating systems
EP1118056A4 (en) 1998-09-10 2003-11-05 Sanctum Ltd Process and system to protect internal secure network operations
US6684329B1 (en) * 1999-07-13 2004-01-27 Networks Associates Technology, Inc. System and method for increasing the resiliency of firewall systems
US6356906B1 (en) * 1999-07-26 2002-03-12 Microsoft Corporation Standard database queries within standard request-response protocols
US6782418B1 (en) * 2000-01-24 2004-08-24 General Electric Company Method and apparatus for secure data file uploading
EP1269286B1 (en) * 2000-03-03 2008-11-19 International Business Machines Corporation System for determining web application vulnerabilities
US6668282B1 (en) * 2000-08-02 2003-12-23 International Business Machines Corporation System and method to monitor and determine if an active IPSec tunnel has become disabled

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005276185A (ja) * 2004-02-24 2005-10-06 Microsoft Corp ソフトウェアの脆弱性の悪用を防止するように通信をフィルタ処理するための方法およびシステム
JP2011512572A (ja) * 2008-01-17 2011-04-21 デーエルベー・ファイナンス・アンド・コンサルタンシー・ベー・フェー コンピュータ・アプリケーション・プログラムを制御するための方法及びシステム
JP2019121017A (ja) * 2017-12-28 2019-07-22 株式会社リコー 情報処理装置、脆弱性検知方法およびプログラム
JP7167439B2 (ja) 2017-12-28 2022-11-09 株式会社リコー 情報処理装置、脆弱性検知方法およびプログラム
JP7408725B2 (ja) 2018-12-03 2024-01-05 セールスフォース インコーポレイテッド コンピュータシステムの自動動作管理

Also Published As

Publication number Publication date
WO2002075547A1 (en) 2002-09-26
AU2002252371B2 (en) 2008-03-13
KR100884714B1 (ko) 2009-02-19
KR20030096277A (ko) 2003-12-24
NZ527915A (en) 2005-05-27
US20030023873A1 (en) 2003-01-30
CA2441230A1 (en) 2002-09-26
EP1381949A4 (en) 2008-01-16
EP1381949A1 (en) 2004-01-21
US7313822B2 (en) 2007-12-25

Similar Documents

Publication Publication Date Title
AU2002252371B2 (en) Application layer security method and system
US7882555B2 (en) Application layer security method and system
AU2002252371A1 (en) Application layer security method and system
US10834082B2 (en) Client/server security by executing instructions and rendering client application instructions
EP1992141B1 (en) Distributed web application firewall
US8528047B2 (en) Multilayer access control security system
EP1330095B1 (en) Monitoring of data flow for enhancing network security
US7188173B2 (en) Method and apparatus to enable efficient processing and transmission of network communications
US8104078B2 (en) System and method for preventing service oriented denial of service attacks
Young et al. The hacker's handbook: the strategy behind breaking into and defending networks
Rash et al. Intrusion prevention and active response: deploying network and host IPS
US8060629B2 (en) System and method for managing information requests
Balasubramanian Web application vulnerabilities and their countermeasures
Holtkamp The role of XML firewalls for web services
Stritter et al. Cleaning Up the Mess of Web 2.0 Security (At Least Partly)
Metz Third party security evaluations of Web-based systems
WO2016186817A1 (en) Client/server security by an intermediary executing instructions received from a server and rendering client application instructions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071122

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090303