(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6899567
(24)【登録日】2021年6月17日
(45)【発行日】2021年7月7日
(54)【発明の名称】ウェブサービスに対する悪意の自動攻撃の防止
(51)【国際特許分類】
G06F 21/55 20130101AFI20210628BHJP
G06F 21/12 20130101ALI20210628BHJP
【FI】
G06F21/55
G06F21/12 380
【請求項の数】20
【全頁数】20
(21)【出願番号】特願2019-530724(P2019-530724)
(86)(22)【出願日】2017年12月8日
(65)【公表番号】特表2020-503605(P2020-503605A)
(43)【公表日】2020年1月30日
(86)【国際出願番号】US2017065351
(87)【国際公開番号】WO2018107048
(87)【国際公開日】20180614
【審査請求日】2019年7月25日
(31)【優先権主張番号】62/431,681
(32)【優先日】2016年12月8日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】517438826
【氏名又は名称】セクエンス セキュリティ,インコーポレイテッド
(74)【代理人】
【識別番号】110000659
【氏名又は名称】特許業務法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】バレット,マイケル
(72)【発明者】
【氏名】メータ,シュレヤンズ
(72)【発明者】
【氏名】タルウォーカー,アメヤ
【審査官】
大桃 由紀雄
(56)【参考文献】
【文献】
特開2008−152791(JP,A)
【文献】
特開2006−195559(JP,A)
【文献】
米国特許出願公開第2014/0344925(US,A1)
【文献】
米国特許出願公開第2010/0192223(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
G06F 21/12
(57)【特許請求の範囲】
【請求項1】
ウェブサービスに対する悪意の攻撃の防止を容易にする方法であって、
クライアントから、前記ウェブサービスを提供するウェブサーバに向けられたウェブ要求を、コンピュータシステムによって傍受するステップと、
前記ウェブ要求が悪意のものか否かを、前記コンピュータシステムによって識別するステップと、
前記コンピュータシステムにおいて、前記ウェブ要求が悪意のものであると識別されたときに、前記ウェブ要求が前記ウェブサーバに到達することを防止し、代わりに、前記ウェブサーバの応答を模倣するように構成された隔離軽減サーバに前記ウェブ要求をリダイレクトするステップと、
前記隔離軽減サーバにおいて、前記ウェブサーバの正当な応答挙動を模倣する前記ウェブ要求に基づいて、前記ウェブ要求によって標的にされたウェブページに関連するページテンプレートを使用すること、および、人工コンテンツを動的に生成するために、前記ページテンプレートのデータ値に誤った情報を記入することによって、前記人工コンテンツを生成するために、前記ウェブ要求を処理し、前記ウェブ要求に応答して前記人工コンテンツを提示するステップと、を含む方法。
【請求項2】
前記ウェブ要求に基づいて前記人工コンテンツを生成するために前記ウェブ要求を処理するステップは、前記ウェブ要求によって標的にされた前記ウェブページの種類に基づいて前記人工コンテンツを生成することを含む、請求項1に記載の方法。
【請求項3】
前記ウェブ要求に基づいて前記人工コンテンツを生成するために前記ウェブ要求を処理するステップは、前記ウェブ要求に関連する攻撃の種類に基づいて前記人工コンテンツを生成することを含む、請求項1に記載の方法。
【請求項4】
前記ウェブ要求に関連する前記攻撃の種類は資格情報攻撃含み、前記攻撃の種類に基づいて前記人工コンテンツを生成することは、偽の成功ログインページを生成することを含む、請求項3に記載の方法。
【請求項5】
前記ページテンプレートは、前記データ値が前記誤った情報で記入され得る領域を識別する前記ウェブ要求によって標的にされる前記ウェブページのページ構造を含む、請求項1に記載の方法。
【請求項6】
前記コンピュータシステムにおいて、前記ウェブサーバの前記正当な応答挙動を観察および学習するために、前記ウェブサーバと相互作用し、前記正当な応答挙動を前記隔離軽減サーバに提供するステップと、をさらに含む、請求項1に記載の方法。
【請求項7】
前記ウェブ要求に基づいて前記人工コンテンツを生成するために前記ウェブ要求を処理するステップは、前記ウェブ要求に関連する攻撃ツールの識別に基づいて、前記人工コンテンツを生成することを含む、請求項1に記載の方法。
【請求項8】
ウェブサービスに対する悪意の攻撃の防止を容易にするためのネットワークセキュリティシステムであって、
リダイレクトシステムと、
隔離軽減サーバと、を備え、
前記リダイレクトシステムは、前記ウェブサービスを提供するウェブサーバに向けられたクライアントからのウェブ要求を傍受し、前記ウェブ要求が悪意のものか否かを識別し、前記ウェブ要求が悪意のものであると識別されたときに、前記ウェブ要求が前記ウェブサーバに到達することを防止し、代わりに、前記ウェブサーバの応答を模倣するように構成された隔離軽減サーバに前記ウェブ要求をリダイレクトするように構成されており、
前記隔離軽減サーバは、前記ウェブサーバの正当な応答挙動を模倣する前記ウェブ要求に基づいて、前記ウェブ要求によって標的にされたウェブページに関連するページテンプレートを使用すること、および、人工コンテンツを動的に生成するために、前記ページテンプレートのデータ値に誤った情報を記入することによって、前記人工コンテンツを生成するために、前記ウェブ要求を処理し、前記ウェブ要求に応答して前記人工コンテンツを前記クライアントに提示する用に構成されている、ネットワークセキュリティシステム。
【請求項9】
前記ウェブ要求に基づいて前記人工コンテンツを生成するために前記ウェブ要求を処理するように構成された前記隔離軽減サーバは、前記ウェブ要求によって標的にされた前記ウェブページの種類に基づいて前記人工コンテンツを生成するように構成された前記隔離軽減サーバを備える、請求項8に記載のネットワークセキュリティシステム。
【請求項10】
前記ウェブ要求に基づいて前記人工コンテンツを生成するために前記ウェブ要求を処理するように構成された前記隔離軽減サーバは、前記ウェブ要求に関連する攻撃の種類に基づいて前記人工コンテンツを生成するように構成された前記隔離軽減サーバを備える、請求項8に記載のネットワークセキュリティシステム。
【請求項11】
前記ウェブ要求に関連する前記攻撃の種類は資格情報攻撃を含み、前記攻撃の種類に基づいて前記人工コンテンツを生成する前記隔離軽減サーバは、偽の成功ログインページを生成するように構成された前記隔離軽減サーバを備える、請求項10に記載のネットワークセキュリティシステム。
【請求項12】
前記ページテンプレートは、前記データ値が前記誤った情報で記入され得る領域を識別する前記ウェブ要求によって標的にされる前記ウェブページのページ構造を含む、請求項8に記載のネットワークセキュリティシステム。
【請求項13】
前記リダイレクトシステムは、前記ウェブサーバの前記正当な応答挙動を観察および学習するために、前記ウェブサーバと相互作用し、かつ、前記正当な応答挙動を前記隔離軽減サーバに提供するようにさらに構成された、請求項8に記載のネットワークセキュリティシステム。
【請求項14】
1つ以上のコンピュータ可読記憶媒体と、
前記1つ以上のコンピュータ可読記憶媒体に動作可能に結合された処理システムと、
前記1つ以上のコンピュータ可読記憶媒体上に記憶されたプログラム命令であって、前記プログラム命令は、前記処理システムによって実行されると、前記処理システムに対して、少なくとも、
ウェブサービスを提供するウェブサーバに向けられたクライアントからのウェブ要求を傍受するステップと、
前記ウェブ要求が悪意のものか否かを識別するステップと、
前記ウェブ要求が悪意のものであると識別されたときに、前記ウェブ要求が前記ウェブサーバに到達することを防止し、代わりに、前記ウェブサーバの応答を模倣するように構成された隔離軽減サーバに前記ウェブ要求をリダイレクトするステップであって、前記隔離軽減サーバは、前記ウェブサーバの正当な応答挙動を模倣する前記ウェブ要求に基づいて、前記ウェブ要求によって標的にされたウェブページに関連するページテンプレートを使用すること、および、人工コンテンツを動的に生成するために、前記ページテンプレートのデータ値に誤った情報を記入することによって、前記人工コンテンツを生成するために前記ウェブ要求を処理するように構成されている、ステップと、前記ウェブ要求に応答して前記人工コンテンツを前記クライアントに提示するステップと、
を実行するように指示する、プログラム命令と、
を備える装置。
【請求項15】
前記隔離軽減サーバは、前記ウェブ要求によって標的にされた前記ウェブページの種類に基づいて前記人工コンテンツを生成することによって前記ウェブ要求に基づいて前記人工コンテンツを生成するために前記ウェブ要求を処理するように構成されている、請求項14に記載の装置。
【請求項16】
前記隔離軽減サーバは、前記ウェブ要求に関連する攻撃の種類に基づいて前記人工コンテンツを生成することによって前記ウェブ要求に基づいて前記人工コンテンツを生成するために前記ウェブ要求を処理するように構成されている、請求項14に記載の装置。
【請求項17】
前記ウェブ要求に関連する前記攻撃の種類は資格情報攻撃を含み、前記攻撃の種類に基づいて前記人工コンテンツを生成するステップは、偽の成功ログインページを生成することを含む、請求項16に記載の装置。
【請求項18】
前記ページテンプレートは、前記データ値が前記誤った情報で記入され得る領域を識別する前記ウェブ要求によって標的にされる前記ウェブページのページ構造を含む、請求項14に記載の装置。
【請求項19】
前記プログラム命令は、前記ウェブサーバの前記正当な応答挙動を観察および学習するために、前記ウェブサーバと相互作用し、前記正当な応答挙動を前記隔離軽減サーバに提供するように前記処理システムにさらに指示する、請求項14に記載の装置。
【請求項20】
ウェブサービスに対する悪意の攻撃の防止を容易にするための1つ以上のコンピュータ可読記憶媒体であって、
第1のプログラム命令と、
第2のプログラム命令と、を備え、
前記第1のプログラム命令は、前記1つ以上のコンピュータ可読記憶媒体上に記憶され、計算システムによって実行されると、前記計算システムに対して、少なくとも、
前記ウェブサービスを提供するウェブサーバに向けられたクライアントからのウェブ要求を傍受するステップと、
前記ウェブ要求が悪意のものか否かを識別するステップと、
前記ウェブ要求が悪意のものであると識別されたときに、前記ウェブ要求が前記ウェブサーバに到達するのを防止し、代わりに、前記ウェブサーバの応答を模倣するように構成された隔離軽減サーバに前記ウェブ要求をリダイレクトするステップと、
を実行するように指示し、
前記第2のプログラム命令は、前記1つ以上のコンピュータ可読記憶媒体上に記憶され、前記隔離軽減サーバによって実行されると、前記隔離軽減サーバに対して、少なくとも、
前記ウェブサーバの正当な応答挙動を模倣する前記ウェブ要求に基づいて、前記ウェブ要求によって標的にされたウェブページに関連するページテンプレートを使用すること、および、人工コンテンツを動的に生成するために、前記ページテンプレートのデータ値に誤った情報を記入することによって、前記人工コンテンツを生成するために前記ウェブ要求を処理するステップと、
前記ウェブ要求に応答して前記人工コンテンツを前記クライアントに提示するステップと、
を実行するように指示する、1つ以上のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、その全体があらゆる目的のため参照によって本明細書に組み込まれる、2016年12月8日に出願された、「ウェブサービスに対する悪意の自動攻撃の防止(PREVENTION OF MALICIOUS AUTOMATION ATTACKS ON A WEB SERVICE)」と題された、米国仮特許出願第62/431,681号明細書の利益および優先権を主張する。
【背景技術】
【0002】
ウェブサービスを提供するウェブサーバは、サービスに不正にアクセスするために盗まれた資格情報を使用すること、アクセスを得るためにいくつかのユーザ名およびパスワードの組み合わせを試すブルートフォース攻撃、偽のアカウントを登録すること、ウェブデータを収集するためにウェブサイトをスクレイピングすることなど、自動攻撃を頻繁に受ける。このような速度攻撃は、通常、非常に短い時間の間にウェブサービスとの多数のトランザクションを必要とし、一般的に使用されるウェブブラウザは、このような大規模で高速の通信にとって非常に遅い。代わりに、攻撃者は、単純なシェルスクリプトから、トランザクションを高速化するように設計された高度なカスタムツールに至るまで、さまざまな攻撃ツールを使用する。
【0003】
ファイアウォール、侵入防止システムなどの悪意の行為者による攻撃からウェブサービスおよびそのコンポーネントを保護するために、様々な種類のネットワークセキュリティ装置が動作する。このような装置は、通常は着信トラフィックデータをパターンおよびネットワークプロトコルアナライザのライブラリと照合することによって、さまざまな程度の深さでネットワークトラフィックを検査する。セキュリティ研究者は通常、ネットワークレベルでのマルウェア挙動の分析に基づいて、このパターンライブラリを連続的に更新する。通常、従来のインラインセキュリティ技術が悪意の挙動を検出すると、これらは攻撃者を阻止しようとして単に接続を遮断する。残念ながら、攻撃者はその後、接続に使用されるインターネットプロトコル(IP)アドレスを変更することによって、または異なる攻撃ツールを採用することによって対応し、ウェブサービスをさらなる攻撃に曝す可能性がある。
【発明の概要】
【0004】
ウェブサービスに対する悪意の攻撃の防止を容易にする方法が開示される。方法は、ウェブサービスを提供するウェブサーバに向けられたウェブ要求を傍受するステップと、ウェブ要求が悪意のものか否かを識別するステップと、を備える。方法は、ウェブ要求が悪意のものであると識別されたときに、ウェブサーバの応答を模倣するように構成された隔離軽減サーバにウェブ要求をリダイレクトするステップを、さらに備える。方法は、隔離軽減サーバにおいて、ウェブサーバによって提供された本物のコンテンツのように見えるウェブ要求に基づいて人工コンテンツを生成するために、ウェブ要求を処理するステップと、ウェブ要求に応答して人工コンテンツを提示するステップと、をさらに備える。
【0005】
この概要は、詳細な説明において以下にさらに説明される概念の選択を単純化された形で紹介するために、提供される。この概要は、請求される主題の重要な特徴または本質的な特徴を識別するように意図されるものではなく、請求される主題の範囲を限定するために使用されるように意図されるものでもないことは、理解されるだろう。
【図面の簡単な説明】
【0006】
【
図1】例示的な実施形態における通信システムを示すブロック図である。
【0007】
【
図2】例示的な実施形態における通信システムの動作を示すフロー図である。
【0008】
【
図3】通信システムの動作を示すブロック図である。
【0009】
【
図4】例示的な実施形態における通信システムの動作を示すブロック図である。
【0010】
【
図5】例示的な実施形態における通信システムの動作を示すシーケンス図である。
【0011】
【
図6】例示的な実施形態における計算システムを示すブロック図である。
【発明を実施するための形態】
【0012】
以下の説明および関連する図面は、本発明の最良の形態を教示する。発明の原理を教示する目的のため、最良の形態のいくつかの従来の態様は、簡素化または省略されることがある。以下の請求項は、本発明の範囲を指定する。最良の形態のいくつかの態様は、請求項によって指定されるような本発明の範囲に含まれない場合があることに、留意されたい。したがって、当業者は、本発明の範囲に含まれる最良の形態からの変形例を理解するだろう。当業者は、以下に記載される特徴が、本発明の複数の変形例を形成するために様々な方法で組み合わされ得ることを、理解するだろう。結果として、本発明は、以下に記載される特定の実施例に限定されるものではなく、請求項およびそれらの同等物によってのみ限定される。
【0013】
ウェブサイトは通常、リバースプロキシまたはロードバランサ、ウェブサーバインスタンスのクラスタ、アカウント資格情報検証またはその他のアカウント固有情報を必要とし得るデータベースバックエンドで構成される。ウェブクライアントがウェブサイトに要求を送信するとき、リバースプロキシは要求をウェブサーバインスタンスのうちの1つにルーティングし、ウェブサーバはユーザ認証を実行して、データベースバックエンドを通じてユーザ固有のコンテンツを提供する。自動攻撃がウェブサイトを襲うとき、従来のネットワークセキュリティ手段は、攻撃を検出することができれば、発信元のIPアドレスからのトラフィックを遮断する可能性がある。攻撃ツールはその後ウェブサイトに接続できなくなるので、この遮断行為は、軽減努力を攻撃者に知らせることになる。結果として、攻撃者は、プロキシサーバ、仮想プライベートネットワーク(VPN)接続、クラウドプロバイダインスタンス、または遮断された接続を迂回しようと試みる攻撃で使用される接続のその他いくつかの態様の交代を通じて、IPアドレスを変更することによって対応する可能性がある。攻撃者はこのようにして迅速に攻撃を再開することができるので、接続を遮断する従来の軽減機構はほとんど効果がなくなってしまう。しかしながら、本明細書に開示される技術では、ウェブサイトは、自動攻撃から生じるウェブ要求を遮断する必要がない。代わりに、実際のウェブサーバおよびデータベースと相互作用したり負荷を与えたりすることなく、悪意の要求に偽のウェブコンテンツが提供される。
【0014】
ウェブサービスに対する悪意の攻撃の防止を容易にするための実装例が、本明細書に開示される。少なくとも1つの実装例では、リダイレクトシステムは、ウェブサービスを提供するウェブサーバに向けられたウェブ要求を傍受し、ウェブ要求が悪意のものか否かを識別する。いくつかの例では、ウェブ要求はリダイレクトシステム自体によって悪意のものとして識別されてもよく、またはこの判断は、悪意の要求を識別するために要求および要求しているクライアントに関連する情報を処理および分析するための1つ以上のシステム、プロセス、モジュール、サーバなどにアンロードされてもよい。ウェブ要求が悪意のものとして識別されると、ウェブ要求は、ウェブサーバの応答を模倣するように構成された隔離軽減サーバにリダイレクトされる。隔離軽減サーバはその後、ウェブサーバによって提供された本物のコンテンツのように見える人工コンテンツを生成するためにウェブ要求を処理し、ウェブ要求に応答して人工コンテンツを提示する。その結果、攻撃者は、軽減サーバから受信した人工コンテンツがウェブサーバからの本物の応答であると信じ込ませられ、したがって任意の軽減努力が行われたことに気付かないままである。加えて、軽減サーバはウェブサーバから隔離されているので、悪意のウェブ要求または軽減サーバによって生成および転送された人工コンテンツのいずれによっても、ウェブサーバとの追加の相互作用またはウェブサーバに対する影響は生じない。
【0015】
ここで
図1を参照すると、通信システム100のブロック図が示されている。通信システム100は、クライアント計算システム101、通信ネットワーク120、リダイレクトシステム130、ウェブサーバ140、データベース145、および軽減サーバ150を含む。クライアント計算システム101および通信ネットワーク120は、通信リンク111を介して通信する。通信ネットワーク120およびリダイレクトシステム130は、通信リンク121を介して通信している。リダイレクトシステム130およびウェブサーバ140は通信リンク131を介して通信しており、ウェブサーバ140およびデータベース145は通信リンク141を介して通信している。リダイレクトシステム130および軽減サーバ150は、通信リンク151を介して通信する。少なくとも1つの実装例では、リダイレクトシステム130および軽減サーバ150は、別個の機能を提供するものとして説明されているが、いくつかの実装例では、これらの機能は組み合わせられて単一のリダイレクトおよび軽減システムとすることができる。たとえば、リダイレクトシステム130および軽減サーバ150は、リダイレクトシステム130が軽減サーバ150と同じ計算ハードウェアによって実行されるように、同じハードウェア装置内に異なるモジュールとして含まれることが可能である。しかしながら、リダイレクトシステム130および軽減サーバ150は、いくつかの実装例では、通信システム100内の2つの別個のハードウェア機器に物理的に常駐することも可能である。たとえば、少なくとも1つの実装例では、リダイレクトシステム130および軽減サーバ150は、別個の専用中央処理装置、オペレーティングシステム、およびメモリコンテナ上で実行されることが可能である。ここで
図2を参照して、通信システム100の例示的な動作が説明される。
【0016】
図2は、例示的な実装例における通信システム100の動作を示すフロー図である。
図2に示される動作200は、本明細書において軽減プロセス200とも称され得る。動作のステップは、括弧書きで以下に示される。動作200の以下の説明は、その動作を示すために
図1の要素を参照して進められるが、
図1に提供される詳細は単なる例示であり、プロセス200の範囲を
図1の特定の実装例に限定するよう意図しないことに、留意されたい。
【0017】
動作200は、ウェブサービス上の悪意の攻撃の防止を容易にするために採用され得る。
図2の動作フローに示されるように、リダイレクトシステム130は、ウェブサービスを提供するウェブサーバ140に向けられたウェブ要求を傍受する(201)。この例では、ウェブ要求は、クライアント計算システム101によって送信される。通常、ウェブ要求は、ウェブサーバ140上で機能を実行し、データベース145からデータを取得し、クライアント計算システム101によって転送されたデータをデータベース145内に記憶するようにウェブサービスに指示する命令を備える。たとえば、ウェブサービス要求は、クエリ、メッセージ、通知、コマンド、要求、命令、またはこれらの組み合わせを含むクライアント計算システム101とウェブサーバ140との間のその他いずれかの通信を備えることができる。いくつかの実装例では、リダイレクトシステム130は、ネットワークトラフィックを監視し、検出されたセキュリティの脅威を軽減する、ネットワークセキュリティ機器を備えることができる。たとえば、リダイレクトシステム130は、最終目的地への途中でネットワークトラフィックを傍受するように構成されたアクティブインラインセキュリティ装置を備えることができ、これはウェブサーバ140、別の計算システム、クラウドサーバ、モバイルアプリケーションサーバ、アプリケーションプログラミングインターフェース(API)フロー、またはその他いずれかの計算リソースであってもよい。いくつかの例では、リダイレクトシステム130は、ウェブサービスの提供において使用されるリバースプロキシおよび/またはロードバランサに含まれることが可能であり、ここでリダイレクトシステム130のアクティブインラインセキュリティモジュールは、ウェブサービスに配信する前に、クライアント計算システム101など複数のユーザからネットワークトラフィックを受信および分析する。
【0018】
リダイレクトシステム130は、ウェブ要求が悪意のものか否かを識別する(202)。いくつかの例では、ウェブ要求は、自己導出型および/または外部の知能を使用して、リダイレクトシステム130によって、悪意のものとして識別されてもよい。たとえば、リダイレクトシステム130は、ウェブ要求、および/またはウェブ要求を悪意のものとして識別するために要求を作成したクライアント計算システム101に関連する情報を分析することによって、ウェブ要求が悪意のものか否かを識別することができる。しかしながら、他の例では、この判断は、悪意の要求を識別するために要求および要求しているクライアントに関連する情報を処理および分析するための1つ以上のシステム、プロセス、モジュール、サーバなどにアンロードされてもよい。悪意のものとしてのウェブ要求の識別は、同じクライアント計算システム101またはユーザに関連するウェブトラフィック内の一連の要求にも基づくことができる。たとえば、少なくとも1つの実装例では、受動的分析システムは、ウェブトラフィックのコピーを受信して、悪意の挙動パターンを検出するためにこれに対して奥深い分析を実行することができる。受動的分析システムは、挙動パターンを分析することによって大規模速度攻撃を検出することができるが、これらは通常、経時的にパケットのストリーム内で識別される。識別され得るいくつかの例示的な挙動は、接続が持続する時間の長さ、接続上のアイドルからアクティブへの遷移、エンドポイントから送信される要求の頻度、要求に関連するヘッダ情報、もしくはクライアント計算システム101によって提出されたウェブ要求から観察可能なその他いずれかの文脈または挙動データを含む。
【0019】
リダイレクトシステム130またはその他何らかの1つまたは複数の外部システムがウェブ要求を悪意のものとして識別することに関与しているか否かにかかわらず、この判断は、いくつかの異なる基準および考察に基づくことができる。少なくとも1つの実装例では、リダイレクトシステム130は、接続レベルの情報を処理することによって、ウェブ要求が悪意のものか否かを識別することができる。たとえば、悪意のものとしてのウェブ要求の識別は、伝送制御プロトコル(TCP)/IPおよびセキュアソケットレイヤ(SSL)の特性、クライアントが作成した接続の数、接続ごとに送信された要求の数、各接続が持続する時間の長さ、ならびに計算システム101およびウェブ要求の相互作用から観察可能なその他いずれかのデータなど、接続レベルの情報および挙動に基づくことができる。さらに、いくつかの実装例では、リダイレクトシステム130は、ウェブ要求に関連するハイパーテキスト転送プロトコル(HTTP)ヘッダを処理することによって、ウェブ要求が悪意のものか否かを識別することができる。たとえば、悪意のウェブ要求の判断は、要求ヘッダ内のフィールドの順序、特定のフィールドの有無、プロトコル、言語、媒体の種類、圧縮アルゴリズム、およびクライアントがサポートするその他の特徴などのフィールドの値、古いバージョンにはなかった新しいバージョンのブラウザに見られる新しい機能、HTTPセキュア(HTTPS)セッションの確立の間にクライアント101によって送信された暗号スイートのリスト、および要求ヘッダから収集され得るその他いずれかの情報を含む、ウェブ要求に関連するHTTPヘッダに基づくことができる。IPアドレスのホワイトリスト、ブラックリスト、正規表現、挙動のフィンガープリント、データモデル、または類似のトラフィックに対して照合される可能性のあるその他いずれかの情報も、悪意の要求の識別に採用されることが可能であり、これらの組み合わせも含む。いくつかの実装例では、クリック、キーストローク、およびその他のユーザ入力のタイミング、ページナビゲーション、ページスクロール、コンテンツ要求などの、ユーザ/クライアント挙動情報が考慮され得る。当然ながら、上記の基準および考察は単に例示的かつ非限定的であり、ウェブ要求から収集され得るその他いずれかの情報、および/またはウェブ要求が悪意のものか否かを識別するために使用され得る要求クライアント計算システム101も可能であり、本開示の範囲内である。
【0020】
ウェブ要求が悪意のものとして識別されると、リダイレクトシステム130は、ウェブサーバ140の応答を模倣するように構成された隔離軽減サーバ150にウェブ要求をリダイレクトする(203)。事実上、リダイレクトシステム130は、ウェブサーバ140から隔離された軽減サーバ150に要求をリダイレクトすることによって、ウェブ要求がウェブサーバ140を襲わないようにする。したがって、ウェブサーバ140は悪意のウェブ要求による負荷を受けず、データベース145に記憶されたデータのセキュリティは損なわれないままである。
【0021】
隔離軽減サーバ150は、ウェブサーバ140によって提供された本物のコンテンツのように見えるウェブ要求に基づいて人工コンテンツを生成するためにウェブ要求を処理し、ウェブ要求に応答して人工コンテンツを提示する(204)。軽減サーバ150は、ウェブサーバ140の応答を模倣しようと試みるアクティブアプリケーションを備える。いくつかの例では、軽減サーバ150は、ハニートラップモジュールを備えるか、またはそのように称されることが可能である。ウェブ要求に基づいて人工コンテンツを生成するとき、軽減サーバ150は、実際のウェブサーバ140またはデータベース145と相互作用することなく、ウェブサーバ140とのクライアント計算システム101の相互作用を模倣しようと試みる。軽減サーバ150はまた、悪意のウェブ要求によって標的にされたウェブページに基づいて異なる挙動を模倣しようと試み、攻撃の種類に基づいて挙動の結果を調整することもできる。いくつかの実装例では、軽減サーバ150は、ウェブ要求に関連する攻撃の種類に基づいて人工コンテンツを生成することによって、ウェブ要求に基づいて人工コンテンツを生成するためにウェブ要求を処理することができる。たとえば、少なくとも1つの実装例では、ウェブ要求に関連する攻撃の種類は資格情報攻撃を備えることができ、攻撃の種類に基づいて人工コンテンツを生成することは、偽の成功ログインページを生成することを備えることができる。たとえば、ウェブ要求がウェブサイトのログインページに資格情報を提出する場合、軽減サーバ150は、ウェブサーバ140によって提供されるであろう失敗または成功ログインページを模倣することによって、人工コンテンツを生成することができる。この資格情報攻撃の種類に基づいて、軽減サーバ150は、失敗ログインページと共にいくつかの偽の成功ログインページとして人工コンテンツを提示することができるが、偽の成功ログインページは実際には、有効なユーザ資格情報と相関しない。軽減サーバ150が偽の成功ログインページで応答した資格情報を攻撃者が後に使用しようとした場合、これらの資格情報は、実際にはウェブサーバ140にログインするように機能しないだろう。それに基づいて人工コンテンツが生成され得る他の攻撃の種類は、アカウントパスワードリセット攻撃、新規アカウント作成、自動買い物かごチェックアウトの試み、またはウェブサービスに対するその他いずれかの攻撃を含む。いくつかの実装例では、軽減サーバ150は、ウェブ要求によって標的にされたウェブページの種類に基づいて人工コンテンツを生成することによって、ウェブ要求に基づいて人工コンテンツを生成するためにウェブ要求を処理することができる。たとえば、攻撃者がパスワードリセットページにアクセスしようとすると、軽減サーバ150は、ウェブサーバ140によって提供されるであろうパスワードリセットページを模倣することができる。同様に、軽減サーバ150は、アカウント登録ページ用の新規アカウント作成フロー、またはユーザが自動化を用いてサイト上で商品を購入しようとするときのeコマース買い物かごチェックアウトフローを模倣することができる。
【0022】
いくつかの実装例では、軽減サーバ150は、ウェブ要求によって標的にされたウェブページに関連するページテンプレートを使用して人工コンテンツを生成することによって、ウェブ要求に基づいて人工コンテンツを生成するためにウェブ要求を処理することができる。たとえば、軽減サーバ150は、ウェブサーバ140によって提供されるウェブページの各々のページテンプレートを用いて構成されることが可能であり、これはページ構造の骨格を提供し、軽減サーバ150によってデータ値が記入され得る領域を識別する。したがって、少なくとも1つの実装例では、軽減サーバ150は、人工コンテンツを動的に生成するために誤った情報をページテンプレートに記入することによって、ウェブ要求によって標的にされたウェブページに関連するページテンプレートを使用して人工コンテンツを生成することができる。たとえば、軽減サーバ150は、ウェブ要求に関連するページについて誤った情報をページテンプレートのHTML値にランダムに記入することによって、ウェブ要求に基づいて人工コンテンツを自動的に生成することができる。
【0023】
いくつかの実装例では、隔離軽減サーバ150は、ウェブサーバ140に関連する正当な挙動の観察に基づいてウェブサーバ140の応答を模倣するように構成されることが可能である。たとえば、リダイレクトシステム130は、ウェブサーバ140のサイト固有の挙動および応答などのウェブサーバ140の正当な挙動を観察および学習し、これらの挙動を模倣する人工コンテンツを生成できるようにウェブサーバ140の正当な挙動を軽減サーバ150に提供するために、ウェブサーバ140と相互作用し得る。ウェブサーバ140によって提供される本物のコンテンツのように見える人工コンテンツを生成するためにウェブ要求を処理する軽減サーバ150のその他の技術も可能であり、本開示の範囲内である。さらに、これらの技術はウェブページおよびHTMLに限定されず、モバイルアプリケーション、API呼び出しフロー、およびその他のウェブサービスにも等しく機能する。
【0024】
有利には、悪意のウェブ要求は傍受されて軽減サーバ150にリダイレクトされ、軽減サーバ150はウェブ要求に応答して人工コンテンツを生成および提示する。透過的に動作し、ウェブサーバによって提供された本物のコンテンツのように見える人工コンテンツを提供することによって、クライアント計算システム101およびユーザは、リダイレクトおよび軽減努力が行われたという指摘を受信しない。このようにして、リダイレクトシステム130および軽減サーバ150は、攻撃者に対していかなる有効または機密の情報も提供することなく、攻撃者の攻撃が実際に機能していると思わせるように攻撃者を欺くように機能する。さらに、ウェブ要求はもはやウェブサーバ140には実際に到達せず、隔離軽減サーバ150によって操作されるので、これらの技術は分散型サービス拒否(DDoS)攻撃からウェブサーバ140を保護するのに役立つ。
【0025】
ここで
図3を参照すると、例示的な実施形態の通信システム300の動作のブロック図が示されている。通信システム300は、ウェブクライアント、リバースプロキシ/ロードバランサ、3つのウェブサーバ、およびデータベースを含む。通信システム300は、リバースプロキシ/ロードバランサ、ウェブサーバインスタンスのクラスタ、資格情報およびその他のアカウント固有情報を問い合わせるためのデータベースバックエンドを備える、典型的なウェブサイトの一例を提供する。動作中、ウェブクライアントがウェブサイトに要求を提出するとき、リバースプロキシは要求をウェブサーバインスタンスのうちの1つにルーティングし、受信ウェブサーバはユーザ認証を実行して、データベースバックエンドを通じてユーザ固有のコンテンツを提供する。しかしながら、悪意のユーザは、盗まれた資格情報を使用してユーザアカウントを奪い取り、不正アカウントを作成し、パスワードをリセットし、個人を特定できる情報をスクレイピングし、その他の有害な行動を行おうと試みる、自動攻撃を展開する。自動攻撃がウェブサイトを襲うと、ファイアウォール、ウェブアプリケーションファイアウォール、侵入防止システムなどのような従来のインラインセキュリティ技術は、これらの手段が攻撃を検出することができると想定して、発信元のIPアドレスからのトラフィックを単純に遮断する。攻撃ツールはもはや攻撃を受けたサイトに接続できないので機能を停止すると、悪意のユーザは軽減努力を知らされて、プロキシサーバ、VPN、クラウドプロバイダインスタンス、またはその他何らかの接続の特性を変更することによって、攻撃に使用されるIPアドレスを単純に変更する。加えて、または代わりに、攻撃者は攻撃ツールを切り替えてもよい。いずれにしても、攻撃はほぼ即座に再開され、接続遮断技術の効果をほとんどなくす。ウェブサービスに対する悪意の攻撃を軽減するための例示的な技術は、ここで
図4を参照して説明される。
【0026】
図4は、例示的な実施形態における通信システム400の動作を示すブロック図である。通信システム400は通信システム100の一例を提供するが、通信システム100は代替構成を使用することができる。以下の動作は計算システム125および通信システム100内の他の要素によって実行されることが可能であり、いくつかの実装例では
図2の動作200と組み合わせられることも可能である。
【0027】
通信システム400は、ウェブクライアント、リバースプロキシ/ロードバランサ、3つのウェブサーバ、データベース、およびハニートラップを含む。リバースプロキシは軽減リダイレクタモジュールを含む。軽減リダイレクタモジュールはリダイレクトシステム130の一例を提供するが、リダイレクトシステム130は代替構成を使用することもできる。同様に、ハニートラップモジュールは軽減サーバ150の一例を提供するが、軽減サーバ150は代替構成を使用することもできる。
【0028】
悪意のユーザが、盗まれた資格情報を使用してユーザアカウントを奪い取ろうとする自動攻撃を仕掛けると、彼らは盗まれた資格情報を採用し、不正アカウントを作成し、パスワードをリセットし、個人を特定できる情報をスクレイピングし、その他の有害な行動をしようと試みる可能性がある。通常、これらの悪意の行為は、上述の自動化アクティビティに応答して提示されるウェブページを解析するスクリプト、ボット、またはブラウザを実行することによって、達成される。ユーザ資格情報で保護されているウェブページは、静的コンテンツおよび非静的コンテンツを備える。静的コンテンツは、画像、スタイルシート、メディアコンテンツなどの形態を取ることができる。非静的コンテンツは、アカウント情報、過去の購入履歴、個人を特定できる情報、個人の健康情報、およびその他の個人データの形態を取ることができる。自動攻撃がウェブサイトを襲うと、従来のインラインセキュリティ技術は、発信元のIPアドレスからのトラフィックを単純に遮断する。しかしながら、この遮断行為は、軽減努力を悪意のユーザに知らせるのに役立って、攻撃者が攻撃ツールを切り替えるように、もしくは異なるプロキシサーバ、VPN、クラウドプロバイダインスタンスに切り替えるかまたは接続の他の特性を変更することによって攻撃に使用されるIPアドレスを単に変更するように促す。いずれにしても、攻撃はほぼ即座に再開され、接続遮断技術の効果をほとんどなくす。しかしながら、軽減リダイレクタおよびハニートラップモジュールを採用することによって、本明細書に開示される技術は自動攻撃から生じる要求を遮断せず、代わりにこれらをウェブサーバからリダイレクトして、実際のウェブサーバおよびデータベースに対して負荷を与えることなくこれらに偽のコンテンツを提供し続ける。
【0029】
軽減リダイレクタは、スタンドアロンモジュールとして動作するか、または典型的なウェブアプリケーションスタックのリバースプロキシまたはロードバランサへのプラグインとして動作することができる。ウェブサイトとのほとんどの正規の相互作用では、軽減リダイレクタは、ウェブクライアントからの要求が正規のウェブサーバに送信される通過装置として機能する。しかしながら、自己導出型および/または外部の知能に基づいて、軽減リダイレクタが悪意のウェブトラフィックを検出すると、実際のウェブサーバではなくハニートラップモジュールに特定の要求を送信することができる。ウェブクライアントは、軽減リダイレクタが存在すること、または悪意のものとして識別されたウェブトラフィックの要求をハニートラップにリダイレクトし始めたという指摘を受信しない。軽減リダイレクタのもう1つの役割は、ウェブサーバのサイト固有の相互作用を学習し、これらの挙動がハニートラップモジュールによって模倣され得るようにこれらをハニートラップに供給することである。
【0030】
ハニートラップモジュールは、実際のウェブサーバとの相互作用とまったく同じように見える方法で、ウェブサーバとのウェブクライアントの相互作用を模倣しようと試みるが、本物のコンテンツと非常によく似た偽のコンテンツを提供することによってこれを実現する。この機能を実行している間、ハニートラップモジュールは、実際のウェブサーバまたはデータベースと相互作用しない。一例では、悪意のユーザはウェブサイトのログインページ上で盗まれたユーザ名およびパスワードの組み合わせのセットを試み、資格情報の各セットがアカウント情報(成功したログイン試行)を含むページまたはユーザに再試行を要求するページ(ログイン試行の失敗)につながるか確認するスクリプトを実行してもよい。返されたページに基づいて、スクリプトは、資格情報が機能したか否かを判断する。ハニートラップモジュールは、実際のウェブサーバとの相互作用を模倣し、ウェブページに基づいて異なる挙動も模倣する、誤ったウェブコンテンツを供給することによって、自動攻撃を欺くように機能する。たとえば、ハニートラップは、ログインページ上で異なる資格情報のリストを繰り返し試行している攻撃に対して失敗および成功のログインを模倣することができる。ウェブサーバ応答の模倣に加えて、ハニートラップモジュールは、攻撃の種類に基づいて挙動の結果を模倣することもできる。たとえば、ハニートラップは、上述のアカウント検証攻撃アクティビティの種類を検出するときに偽の失敗ログインを提供しながら、いくつかの偽の成功ログインをランダムに提供することができる。ハニートラップによって返されているページを解析している攻撃ツールは、コンテンツが人工であると識別する能力を有していない。成功ログインページを返すものとして識別されたログイン資格情報など、攻撃によって生成されたデータは、実際のウェブサーバにアクセスするためには使用され得ないので、実際には役に立たない。ハニートラップによって模倣され得る挙動の他の例は、パスワードリセットページのためのパスワードリセット機能、アカウント登録ページのための新規アカウント作成フロー、誰かが自動化を用いてウェブサイト上で何かを購入しようとするときの買い物かごチェックアウトフロー、およびウェブページとのその他の相互作用を含む。
【0031】
自動攻撃に関連するウェブ要求を識別してハニートラップモジュールにリダイレクトするために軽減リダイレクタを利用することによって、ウェブサーバおよびデータベースは、ウェブサービスとの不正なトランザクション、DDoS攻撃、およびその他の悪意の挙動から保護される。加えて、実際のウェブサーバから期待される応答を模倣する偽のウェブコンテンツを提供することによって、ハニートラップモジュールは、攻撃者の攻撃が実際に機能していると思わせるように攻撃者を欺くように機能するので、彼らは攻撃方法論を変更する可能性が低くなり、これによって攻撃軽減努力を容易にする。このようにして、ハニートラップモジュールは、悪意のウェブサービス攻撃を阻止するための有効なツールを提供する。ここで
図5を参照して、通信システム400の例示的な動作が論じられる。
【0032】
図5は、例示的な実施形態における通信システム400の動作を示すシーケンス図である。最初に、ウェブクライアントは、有効な資格情報でのユーザログインなど、正当なウェブ要求をウェブサーバに発行する。ウェブ要求は軽減リダイレクタによって傍受され、要求に関連する特性は、要求が正当であるか判断するために分析される。この場合、軽減リダイレクタはウェブ要求が正当であると判断し、正当なウェブ要求をウェブサーバに転送する。ウェブサーバはその後、通常の方法で正当なウェブ要求を処理し、ユーザログイン試行を承認してユーザアカウントホームページを提供するなど、ウェブクライアントに応答を提供する。
【0033】
後の時点で、
図5に見られる破線で示されるように、ウェブクライアントは、悪意のウェブ要求をウェブサーバに送信しようと試みる。悪意のウェブ要求は軽減リダイレクタによって傍受され、要求に関連する特性は、要求が正当であるか悪意のものかを判断するために分析される。たとえば、軽減リダイレクタは、ウェブ要求、および/またはウェブ要求を悪意のものとして識別するために要求を作成したウェブクライアント計算システムに関連する情報を分析することによって、ウェブ要求が悪意のものか否かを識別することができる。ウェブ要求が正当なものか悪意のものかの判断は、いくつかの異なる基準および考察に基づくことができる。たとえば、軽減リダイレクタは、接続レベルの情報、ウェブ要求に関連するHTTPヘッダ、暗号スイート、IPアドレスのホワイトリスト、ブラックリスト、正規表現、挙動のフィンガープリント、データモデルを処理することによってウェブ要求が悪意のものか否かを識別することができ、類似のトラフィックに対して照合される可能性のあるその他いずれかの情報もまた、悪意の要求の識別において軽減リダイレクタによって採用されることが可能である。
【0034】
この場合、軽減リダイレクタは、ウェブ要求が悪意のものであると判断する。したがって、悪意のウェブ要求は、実際のウェブサーバに到達することが許可されず、代わりにハニートラップモジュールにリダイレクトされる。悪意のウェブ要求はその後、ウェブ要求に基づいて、ウェブサーバによって提供される本物のコンテンツのように見える人工コンテンツを生成するために、ハニートラップモジュールによって分析されて、悪意のウェブ要求に応答して人工コンテンツをウェブクライアントに提供する。いくつかの例では、ハニートラップは、ウェブ要求によって標的にされたウェブページの種類、悪意のウェブ要求に関連する攻撃の種類、悪意のウェブ要求を展開するために使用される攻撃ツールの識別、またはその他いずれかの基準に基づいて人工コンテンツを生成するために、悪意のウェブ要求を処理することができる。
【0035】
有利には、ハニートラップモジュールは、実際のウェブサーバとの相互作用を模倣し、ウェブページに基づいて異なる挙動も模倣する、誤ったウェブコンテンツを供給することによって、自動攻撃を欺くように機能する。ウェブサーバ応答の模倣に加えて、ハニートラップモジュールは、攻撃の種類に基づいて挙動の結果を模倣することもできる。ハニートラップによって返されているページを解析している攻撃ツールは、コンテンツが人工であり、したがって攻撃者にとって役に立たないと識別する能力を有していない。本明細書に開示される軽減技術を利用することによって、ウェブサイトは、自動攻撃から生じるウェブ要求を遮断する必要がない。代わりに、それでもなおこれらの悪意のウェブ要求には、実際のウェブサーバおよびデータベースシステムと相互作用したり負荷を与えたりすることなく、ハニートラップモジュールから偽のコンテンツが提供され得る。
【0036】
ここで
図1に戻って参照すると、クライアント計算システム101は、処理システムおよび通信トランシーバを備える。クライアント計算システム101はまた、ユーザインターフェース、データ記憶システム、および電源など、その他の構成要素も含み得る。クライアント計算システム101は、単一の装置内に常駐してもよく、または複数の装置にわたって分散されてもよい。クライアント計算システム101の例は、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、およびゲーム装置などのモバイルコンピューティングデバイス、ならびにその他いずれかの種類のモバイルコンピューティングデバイスおよびこれらのいずれかの組み合わせまたは変形例を含む。クライアント計算システム101の例はまた、デスクトップコンピュータ、サーバコンピュータ、および仮想マシン、ならびにその他いずれかの種類の計算システム、これらの変形例または組み合わせも含む。
【0037】
通信ネットワーク120は、ルータ、ゲートウェイ、遠隔通信スイッチ、サーバ、処理システム、または通信およびデータサービスを提供するためのその他の通信機器およびシステムなど、複数のネットワーク要素を備えることができる。いくつかの例では、通信ネットワーク120は、無線通信ノード、電話交換機、インターネットルータ、ネットワークゲートウェイ、コンピュータシステム、通信リンク、またはこれらの組み合わせを含むその他何らかの種類の通信機器を備えることができる。通信ネットワーク120はまた、光ネットワーク、非同期転送モード(ATM)ネットワーク、パケットネットワーク、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、またはその他のネットワークトポロジー、機器、またはシステム(これらの組み合わせを含む)も備え得る。通信ネットワーク120は、金属、無線、または光リンクによって通信するように構成され得る。通信ネットワーク120は、時分割多重(TDM)、インターネットプロトコル(IP)、イーサネット(登録商標)、光ネットワーキング、無線プロトコル、通信シグナリング、またはこれらの組み合わせを含むその他何らかの通信フォーマットを使用するように構成されてもよい。いくつかの例では、通信ネットワーク120は、広い地理的領域にわたっていくつかのコンピュータシステムに通信サービスを提供するための、さらなるアクセスノードおよび関連機器を含む。
【0038】
リダイレクトシステム130は、通信ネットワークを介して別の計算システムに接続し得る、任意の計算装置、1つまたは複数のシステムを表すことができる。リダイレクトシステム130は、処理システムおよび通信トランシーバを備える。リダイレクトシステム130はまた、ルータ、サーバ、データ記憶システム、および電源など、その他の構成要素も含み得る。リダイレクトシステム130は、単一の装置内に常駐してもよく、または複数の装置にわたって分散されてもよい。リダイレクトシステム130は離散システムであってもよく、または通信システム100内の他のシステムを含む、他のシステム内に統合されてもよい。いくつかの例では、リダイレクトシステム130は軽減サーバ150を含むことができる。リダイレクトシステム130のいくつかの例は、デスクトップコンピュータ、サーバコンピュータ、クラウドコンピューティングプラットフォーム、および仮想マシン、ならびにその他いずれかの種類の計算システム、これらの変形例または組み合わせも含む。いくつかの例では、リダイレクトシステム130は、ネットワークセキュリティ機器、ファイアウォール、リバースプロキシ/ロードバランサ、侵入防止システム、ウェブアプリケーションファイアウォール、ウェブサーバ、ネットワークスイッチ、ルータ、スイッチングシステム、パケットゲートウェイ、ネットワークゲートウェイシステム、インターネットアクセスノード、アプリケーションサーバ、データベースシステム、サービスノード、またはこれらの組み合わせを含むその他何らかの通信システムを含むことができる。
【0039】
ウェブサーバ140は、通信ネットワークを介して別の計算システムに接続し得る、任意の計算装置、1つまたは複数のシステムを表すことができる。ウェブサーバ140は、処理システムおよび通信トランシーバを備える。ウェブサーバ140はまた、ルータ、サーバ、データ記憶システム、および電源など、その他の構成要素も含み得る。ウェブサーバ140は、単一の装置内に常駐してもよく、または複数の装置にわたって分散されてもよい。ウェブサーバ140は離散システムであってもよく、または通信システム100内の他のシステムを含む、他のシステム内に統合されてもよい。ウェブサーバ140のいくつかの例は、デスクトップコンピュータ、サーバコンピュータ、クラウドコンピューティングプラットフォーム、および仮想マシン、ならびにその他いずれかの種類の計算システム、これらの変形例または組み合わせも含む。
【0040】
データベース145は、通信ネットワークを介して別の計算システムに接続し得る、任意の計算装置、1つまたは複数のシステムを表すことができる。データベース145は、データ記憶システムおよび通信トランシーバを備える。データベース145はまた、処理システム、ルータ、サーバ、および電源など、その他の構成要素も含み得る。データベース145は、単一の装置内に常駐してもよく、または複数の装置にわたって分散されてもよい。データベース145は離散システムであってもよく、または通信システム100内の他のシステムを含む、他のシステム内に統合されてもよい。データベース145のいくつかの例は、デスクトップコンピュータ、サーバコンピュータ、クラウドコンピューティングプラットフォーム、および仮想マシン、ならびにその他いずれかの種類の計算システム、これらの変形例または組み合わせも含む。
【0041】
軽減サーバ150は、通信ネットワークを介して別の計算システムに接続し得る、任意の計算装置、1つまたは複数のシステムを表すことができる。軽減サーバ150は、処理システムおよび通信トランシーバを備える。軽減サーバ150はまた、ルータ、サーバ、データ記憶システム、および電源など、その他の構成要素も含み得る。軽減サーバ150は、単一の装置内に常駐してもよく、または複数の装置にわたって分散されてもよい。軽減サーバ150は離散システムであってもよく、または通信システム100内の他のシステムを含む、他のシステム内に統合されてもよい。いくつかの例では、軽減サーバ150はリダイレクトシステム130を含むことができる。軽減サーバ150のいくつかの例は、デスクトップコンピュータ、サーバコンピュータ、クラウドコンピューティングプラットフォーム、および仮想マシン、ならびにその他いずれかの種類の計算システム、これらの変形例または組み合わせも含む。いくつかの例では、軽減サーバ150は、ネットワークセキュリティ機器、ファイアウォール、リバースプロキシ/ロードバランサ、侵入防止システム、ウェブアプリケーションファイアウォール、ウェブサーバ、ネットワークスイッチ、ルータ、スイッチングシステム、パケットゲートウェイ、ネットワークゲートウェイシステム、インターネットアクセスノード、アプリケーションサーバ、データベースシステム、サービスノード、またはこれらの組み合わせを含むその他何らかの通信システムを含むことができる。
【0042】
通信リンク111、121、131、141、および151は、輸送媒体として、金属、空気、空間、ガラスまたはプラスチックなどの光ファイバ、またはその他の材料(これらの組み合わせをふくむ)を使用する。通信リンク111、121、131、141、および151は、TDM、IP、イーサネット(登録商標)、電話、光ネットワーキング、光同軸ハイブリッド(HFC)、通信シグナリング、無線プロトコル、またはこれらの組み合わせをふくむその他何らかの通信フォーマットなど、様々な通信プロトコルを使用することができる。通信リンク111、121、131、141、および151は、直接リンクであってもよく、または中間ネットワーク、システム、または装置を含んでもよい。
【0043】
ここで
図6を参照すると、例示的な実装例の計算システム600を示すブロック図が示されている。計算システム600は、リダイレクトシステム130、軽減サーバ150、もしくは軽減プロセス200またはその変形例を実行するために使用され得る任意の計算システムの一例を提供するが、このようなシステムは代替構成を使用することもできる。計算システム600は、処理システム601、記憶システム603、ソフトウェア605、通信インターフェース607、およびユーザインターフェース609を含む。ソフトウェア605は、それ自体が軽減プロセス200を含むアプリケーション606を含む。軽減プロセス200は、アプリケーション606とは別個に、任意選択的に実施され得る。
【0044】
計算システム600は、アプリケーション606および軽減プロセス200またはこれらの変形例がその上で適切に実施され得る任意の計算装置、1つまたは複数のシステムを表すことができる。計算システム600の例は、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、およびゲーム装置などのモバイルコンピューティングデバイス、ならびにその他いずれかの種類のモバイルコンピューティングデバイスおよびこれらのいずれかの組み合わせまたは変形例を含む。計算システム600の特徴または機能は、デスクトップコンピュータ、サーバコンピュータ、および仮想マシン、ならびにその他いずれかの種類の計算システム、これらの変形例または組み合わせにも適用できることに、留意されたい。
【0045】
計算システム600は、処理システム601、記憶システム603、ソフトウェア605、通信インターフェース607、およびユーザインターフェース609を含む。処理システム601は、記憶システム603、通信インターフェース607、およびユーザインターフェース609と動作可能に結合されている。処理システム601は、記憶システム603からソフトウェア605をロードして実行する。一般的に計算システム600、特に処理システム601によって実行されると、ソフトウェア605は、軽減プロセス200またはその変形例について本明細書に記載されたように動作するように、計算システム600に指示する。計算システム600は任意選択的に、簡潔にするために本明細書で論じられていない追加の装置、特徴、または機能を含んでもよい。
【0046】
引き続き
図6を参照すると、処理システム601は、マイクロプロセッサ、および記憶システム603からソフトウェア605を収集して実行するその他の回路を備えてもよい。処理システム601は、単一の処理装置内に実装されてもよいが、プログラム命令の実行において協働する複数の処理装置またはサブシステムにわたって分散されてもよい。処理システム601の例は、汎用中央処理装置、特定用途向けプロセッサ、および論理装置、ならびにその他の種類の処理装置、これらの組み合わせ、または変形例を含む。
【0047】
記憶システム603は、ソフトウェア605を記憶することができ、処理システム601によって読み取り可能な、任意のコンピュータ可読記憶媒体を備えてもよい。記憶システム603は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなど、情報を記憶するための任意の方法または技術において実装される、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含んでもよい。記憶システム603は単一の記憶装置として実装されてもよいが、共同配置または互いに対して分散した複数の記憶装置またはサブシステムにわたって実装されてもよい。記憶システム603は、処理システム601と通信することが可能な、コントローラなどの追加要素を備えてもよい。記憶媒体の例は、ランダムアクセスメモリ、読み出し専用メモリ、磁気ディスク、光ディスク、フラッシュメモリ、仮想メモリおよび非仮想メモリ、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置、または所望の情報を記憶するために使用されることが可能であって命令実行システムによってアクセスされ得るその他いずれかの媒体、ならびにこれらの任意の組み合わせまたは変形例、またはその他いずれかの種類の記憶媒体を含む。いかなる場合も、コンピュータ可読記憶媒体は伝播信号ではない。
【0048】
動作中、処理システム601は、ウェブサービスに値する悪意の攻撃の防止を容易にするために、軽減プロセス200などのソフトウェア605の一部をロードして実行する。ソフトウェア605は、プログラム命令に実装されてもよく、他の機能の中でもとりわけ、一般的に計算システム600、特に処理システム601によって実行されると、ウェブサービスを提供するウェブサーバに向けられたウェブ要求を傍受し、ウェブ要求が悪意のものか否かを識別するように、計算システム600または処理システム601に指示してもよい。 ソフトウェア605は、ウェブ要求が悪意のものであると識別されたときに、ウェブサーバの応答を模倣するように構成された隔離軽減サーバにウェブ要求をリダイレクトするように、計算システム600または処理システム601にさらに指示してもよい。さらに、ソフトウェア605は、ウェブサーバによって提供された本物のコンテンツのように見えるウェブ要求に基づいて人工コンテンツを生成するために、ウェブ要求を処理し、ウェブ要求に応答して人工コンテンツを提示するように、計算システム600または処理システム601に指示してもよい。
【0049】
いくつかの実装例では、ソフトウェア605は、ウェブサービスを提供するウェブサーバに向けられたウェブ要求を傍受し、ウェブ要求が悪意のものか否かを識別し、ウェブ要求が悪意のものであると識別されたときに、ウェブサーバの応答を模倣するように構成されたハニートラップモジュールにウェブ要求をリダイレクトする、軽減リダイレクタソフトウェアモジュールを備えることができる。ソフトウェア605はまた、軽減リダイレクタソフトウェアモジュールからウェブ要求を受信し、ウェブサーバによって提供された本物のコンテンツのように見えるウェブ要求に基づいて人工コンテンツを生成するためにウェブ要求を処理し、ウェブ要求に応答して人工コンテンツを提示する、ハニートラップソフトウェアモジュールも備えることができる。
【0050】
ソフトウェア605は、オペレーティングシステムソフトウェアまたはその他のアプリケーションソフトウェアなど、追加のプロセス、プログラム、またはコンポーネントを含んでもよい。オペレーティングシステムの例は、ウィンドウズ(登録商標)、iOS(登録商標)、およびアンドロイド(登録商標)、ならびにその他いずれか適切なオペレーティングシステムを含む。ソフトウェア605はまた、ファームウェア、または処理システム601によって実行可能な機械可読処理命令のその他何らかの形態も備え得る。
【0051】
一般的に、ソフトウェア605は、処理システム601にロードされて実行されると、汎用計算システムから、各実装例について本明細書に記載されたようなウェブサービスに対する悪意の攻撃の防止を容易にするようにカスタマイズされた専用計算システムに、計算システム600全体を変換することができる。たとえば、記憶システム603上の符号化ソフトウェア605は、記憶システム603の物理的構造を変換することができる。物理的構造の具体的な変換は、この説明の異なる実装例における様々な要因に依存し得る。このような要因の例は、記憶システム603の記憶媒体を実装するために使用される技術、およびコンピュータ可読記憶媒体が一次または二次記憶装置として特徴付けられるか否かを含むが、これらに限定されない。
【0052】
いくつかの例では、コンピュータ可読記憶媒体が半導体ベースのメモリとして実装される場合、ソフトウェア605は、プログラムがその中で符号化されたときに半導体メモリの物理的状態を変換することができる。たとえば、ソフトウェア605は、トランジスタ、コンデンサ、または半導体メモリを構成するその他のディスクリート回路素子を変換することができる。磁気媒体または光媒体に関しても、類似の変換が起こり得る。本説明の範囲から逸脱することなく、物理的媒体の他の変換も可能であり、上記の例はこの議論を容易にするためにのみ提供されたものである。
【0053】
計算システム600は一般的に、アプリケーション606および/または軽減プロセス200(ならびにその変形例)を実装するためにソフトウェア605が展開および実行されるのに用いられる計算システムを表すように意図されることは、理解されるべきである。しかしながら、計算システム600はまた、ソフトウェア605がステージされ得る、そしてそこから展開および実行、またはさらに追加の配布のためにソフトウェア605がさらに別の計算システムに配布、輸送、ダウンロード、または別途提供され得る、任意の計算システムを表すこともできる。たとえば、計算システム600は、クラウドベースの展開シナリオなど、その上で実行するためにインターネットを介して1つ以上のクライアント計算システムにソフトウェア605を展開するように構成されることが可能である。
【0054】
通信インターフェース607は、通信ネットワーク611またはネットワークの集合を介して、計算システム600と他の計算システム(図示せず)またはサービスとの間の通信を可能にする、通信接続および装置を含み得る。いくつかの実装例では、通信インターフェース607は、通信ネットワーク611を介して動的データ621を受信する。システム間通信を共に可能にする接続および装置の例は、ネットワークインターフェースカード、アンテナ、電力増幅器、RF回路、トランシーバ、およびその他の通信回路を含み得る。前述のネットワーク、接続、および装置は周知のものであり、ここで詳細に論じられる必要はない。
【0055】
ユーザインターフェース609は、音声入力装置、ユーザからジェスチャを受け取るためのタッチ入力装置、ユーザによる非タッチジェスチャおよびその他の動作を検出するための動作入力装置、およびユーザからのユーザ入力を受け取ることが可能なその他の入力装置および関連する処理要素を含み得る。ディスプレイ、スピーカ、触覚装置、およびその他の種類の出力装置などの出力装置もまた、ユーザインターフェース609に含まれ得る。いくつかの例では、ユーザインターフェース609は、やはり表面上の接触を介してユーザ入力を受け付けるグラフィカルユーザインターフェースを表示することが可能なタッチスクリーンを含むことができる。前述のユーザ入力装置は当該技術分野において周知のものであり、ここで詳細に論じられる必要はない。ユーザインターフェース609はまた、上記で論じられた様々なユーザ入出力装置を支持する処理システム601によって実行可能な関連するユーザインターフェースソフトウェアも含み得る。互いにまたは他のハードウェアおよびソフトウェア要素とは別個に、またはこれらと併せて、ユーザインターフェースソフトウェアおよび装置は、グラフィカルユーザインターフェース、ナチュラルユーザインターフェース、またはその他いずれかの種類のユーザインターフェースを提供してもよい。いくつかの実装例では、ユーザインターフェース609は省略されてもよい。
【0056】
図面において提供された機能ブロック図、動作シーケンス、およびフロー図は、本開示の新規な態様を実行するための例示的なアーキテクチャ、環境、および方法論を表す。説明の簡素化を目的として、本明細書に含まれる方法は、機能図、動作シーケンス、またはフロー図の形態であるかも知れず、一連の行為として説明されるかも知れないが、いくつかの行為は、これにしたがって、本明細書に図示および記載されるものとは異なる順序でおよび/または他の行為と同時に起こり得るので、方法は行為の順序によって限定されないことが、理解および認識されるべきである。たとえば、当業者は、方法が代替的に、状態図のように一連の相関する状態または事象として表され得ることを、理解および認識するだろう。また、方法論に示される全ての行為が新規な実装例にとって必要とされるわけではない。
【0057】
上記の説明および関連する図面は、本発明の最良の形態を教示する。以下の請求項は、本発明の範囲を指定する。最良の形態のいくつかの態様は、請求項によって指定されるような本発明の範囲に含まれない場合があることに、留意されたい。当業者は、上記で記載された特徴が、本発明の複数の変形例を形成するために様々な方法で組み合わされ得ることを、理解するだろう。結果として、本発明は、上記で記載された特定の実施形態に限定されるものではなく、以下の請求項およびそれらの同等物によってのみ限定される。