(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-12
(45)【発行日】2024-09-24
(54)【発明の名称】サービス拒否攻撃の自動検出および軽減
(51)【国際特許分類】
H04L 43/022 20220101AFI20240913BHJP
【FI】
H04L43/022
(21)【出願番号】P 2023535466
(86)(22)【出願日】2021-12-09
(86)【国際出願番号】 US2021062713
(87)【国際公開番号】W WO2022125842
(87)【国際公開日】2022-06-16
【審査請求日】2023-08-02
(32)【優先日】2020-12-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ペパン,フランソワ
(72)【発明者】
【氏名】ハルダー,アンドレ・ロイド・ペルレ
(72)【発明者】
【氏名】ジョシ,プラジャクタ
(72)【発明者】
【氏名】ロイ,アミタバ
(72)【発明者】
【氏名】タラガデーディービ,サイラ
(72)【発明者】
【氏名】カイナー,エミール
(72)【発明者】
【氏名】クオ,チア-タン
(72)【発明者】
【氏名】イェ,ジアユ
【審査官】宮島 郁美
(56)【参考文献】
【文献】国際公開第2020/222872(WO,A1)
【文献】特開2005-039721(JP,A)
【文献】米国特許出願公開第2016/0352765(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-12/66,13/00,41/00-69/40
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実現される方法(600)であって、データ処理ハードウェア(144)によって実行されると、前記データ処理ハードウェア(144)に、動作を実行させ、前記動作は、
ネットワークサービス(30)によって現在受信されているネットワークトラフィックを表すネットワークトラフィックメッセージ(22)の第1のセットを取得することと、
第1のモデル(310)を介して、前記ネットワークトラフィックメッセージ(22)の第1のセットに基づいてネットワーク不正使用が発生しているかどうかを判断することと、
前記ネットワーク不正使用が発生しているとき、
前記ネットワークサービス(30)によって現在受信されているネットワークトラフィックを表すネットワークトラフィックメッセージ(22)の第2のセットを取得することと、
前記ネットワークトラフィックメッセージの第2のセット(22)内の各ネットワークトラフィックメッセージ(22)について、第2のモデル(172)を介して、前記ネットワークトラフィックメッセージ(22)を、前記ネットワーク不正使用に関与している不正ネットワークトラフィックメッセージ(22)または前記ネットワーク不正使用に関与していない非不正ネットワークトラフィックメッセージ(22)としてラベル付けすることと、
第3のモデル(410)を介して、少なくとも1つのネットワークトラフィックルール(402)を生成し、各ネットワークトラフィックルール(402)は、ファイアウォールによって実現されるよう構成され、実現されると、前記不正ネットワークトラフィックメッセージ(22)の影響を低減する、方法(600)。
【請求項2】
前記ネットワークトラフィックメッセージ(22)の第1のセットは、複数のネットワークトラフィックウィンドウ(210)を含み、前記複数のネットワークトラフィックウィンドウ(210)の各々は、異なる離散的な時間の部分に関連付けられる、前記ネットワークトラフィックメッセージ(22)の第1のセットのネットワークトラフィックメッセージ(22)のサブセットを含む、請求項1に記載の方法(600)。
【請求項3】
前記動作は、前記複数のネットワークトラフィックウィンドウ(210)の各々について、前記ネットワークトラフィックメッセージ(22)のサブセットから、サンプリングされたネットワークトラフィックメッセージ(22S)のセットをサンプリングすることをさらに含み、前記サンプリングされたネットワークトラフィックメッセージ(22S)のセットは、前記ネットワークトラフィックメッセージ(22)のサブセットの全体を表す、請求項2に記載の方法(600)。
【請求項4】
前記動作は、前記複数のネットワークトラフィックウィンドウ(210)の各々について、前記サンプリングされたネットワークトラフィックメッセージ(22S)のセットの特性を、データ構造に記憶することをさらに含む、請求項3に記載の方法(600)。
【請求項5】
前記ネットワーク不正使用が発生しているかどうかを判断することは、
前記第1のモデル(310)が、不正確率スコア(312)を生成することと、
前記不正確率スコア(312)は不正確率閾値を満たす、と判断することとを含む、請求項1~4のいずれか1項に記載の方法(600)。
【請求項6】
前記第1のモデル(310)は、ラベル付けされたネットワークトラフィックメッセージ(22L)のセットでトレーニングされたニューラルネットワークを含む、請求項1~5のいずれか1項に記載の方法(600)。
【請求項7】
前記動作は、前記ネットワーク不正使用が発生していると判断した後に、
前記発生しているネットワーク不正使用が偽陽性または実際のネットワーク不正使用のいずれかであったことを示すフィードバック(320)を受信することと、
前記フィードバック(320)に基づいて前記第1のモデル(310)を更新することとをさらに含む、請求項1~6のいずれか1項に記載の方法(600)。
【請求項8】
前記動作はさらに、
前記ネットワークサービス(30)によって以前に受信されたネットワークトラフィックを表す履歴ネットワークトラフィックメッセージ(22H)のセットを取得することを含み、
前記履歴ネットワークトラフィックメッセージ(22H)のセットは、前記ネットワーク不正使用前に前記ネットワークサービスによって以前に受信されたネットワークトラフィック(22H)を表し、
前記ネットワークトラフィックメッセージ(22)を、前記ネットワーク不正使用に関与している不正ネットワークトラフィックメッセージ(22)または前記ネットワーク不正使用に関与していない非不正ネットワークトラフィックメッセージ(22)としてラベル付けすることは、前記履歴ネットワークトラフィックメッセージ(22H)のセットに基づく、請求項1~7のいずれか1項に記載の方法(600)。
【請求項9】
前記動作はさらに、
前記生成された少なくとも1つのネットワークトラフィックルール(402)を、前記ネットワークサービス(30)に関連付けられるユーザ(12)に提供することと、
前記ユーザ(12)から、前記生成された少なくとも1つのネットワークトラフィックルール(402)のうちの1つを受け入れる指示を受信することと、
前記ユーザ(12)によって示される前記受け入れられたネットワークトラフィックルール(402)を実現することとを含む、請求項1~8のいずれか1項に記載の方法(600)。
【請求項10】
前記動作はさらに、
所望のネットワークトラフィックルール(402)に関連付けられるユーザプリファレンス(510)を受信することと、
前記ユーザプリファレンス(510)に基づいて、前記生成された少なくとも1つのネットワークトラフィックルール(402)のうちの1つを選択することと、
前記選択されたネットワークトラフィックルール(402)を実現することとを含む、請求項1~9のいずれか1項に記載の方法(600)。
【請求項11】
前記ユーザプリファレンス(510)は、前記選択されたネットワークトラフィックルール(402)によって影響されてもよい非不正ネットワークトラフィックメッセージ(22)の量を含む、請求項10に記載の方法(600)。
【請求項12】
前記ネットワーク不正使用はサービス拒否攻撃を含む、請求項1~11のいずれか1項に記載の方法(600)。
【請求項13】
システム(100)であって、
データ処理ハードウェア(144)と、
前記データ処理ハードウェア(144)と通信するメモリハードウェア(142)とを備え、前記メモリハードウェア(142)は、前記データ処理ハードウェア(144)上で実行されると前記データ処理ハードウェア(144)に動作を実行させる命令を記憶し、前記動作は、
ネットワークサービス(30)によって現在受信されているネットワークトラフィックを表すネットワークトラフィックメッセージ(22)の第1のセットを取得することと、
第1のモデル(310)を介して、前記ネットワークトラフィックメッセージ(22)の第1のセットに基づいてネットワーク不正使用が発生しているかどうかを判断することと、
前記ネットワーク不正使用が発生しているとき、
前記ネットワークサービス(30)によって現在受信されているネットワークトラフィックを表すネットワークトラフィックメッセージ(22)の第2のセットを取得することと、
前記ネットワークトラフィックメッセージの第2のセット(22)内の各ネットワークトラフィックメッセージ(22)について、第2のモデル(172)を介して、前記ネットワークトラフィックメッセージ(22)を、前記ネットワーク不正使用に関与している不正ネットワークトラフィックメッセージ(22)または前記ネットワーク不正使用に関与していない非不正ネットワークトラフィックメッセージ(22)としてラベル付けすることと、
第3のモデル(410)を介して、少なくとも1つのネットワークトラフィックルール(402)を生成し、各ネットワークトラフィックルール(402)は、ファイアウォールによって実現されるよう構成され、実現されると、前記不正ネットワークトラフィックメッセージ(22)の影響を低減する、システム(100)。
【請求項14】
前記ネットワークトラフィックメッセージ(22)の第1のセットは、複数のネットワークトラフィックウィンドウ(210)を含み、前記複数のネットワークトラフィックウィンドウ(210)の各々は、異なる離散的な時間の部分に関連付けられる、前記ネットワークトラフィックメッセージ(22)の第1のセットのネットワークトラフィックメッセージ(22)のサブセットを含む、請求項13に記載のシステム(100)。
【請求項15】
前記動作は、前記複数のネットワークトラフィックウィンドウ(210)の各々について、前記ネットワークトラフィックメッセージ(22)のサブセットから、サンプリングされたネットワークトラフィックメッセージ(22S)のセットをサンプリングすることをさらに含み、前記サンプリングされたネットワークトラフィックメッセージ(22S)のセットは、前記ネットワークトラフィックメッセージ(22)のサブセットの全体を表す、請求項14に記載のシステム(100)。
【請求項16】
前記動作は、前記複数のネットワークトラフィックウィンドウ(210)の各々について、前記サンプリングされたネットワークトラフィックメッセージ(22S)のセットの特性を、データ構造に記憶することをさらに含む、請求項15に記載のシステム(100)。
【請求項17】
前記ネットワーク不正使用が発生しているかどうかを判断することは、
前記第1のモデル(310)が、不正確率スコア(312)を生成することと、
前記不正確率スコア(312)は不正確率閾値を満たす、と判断することとを含む、請求項13~16のいずれか1項に記載のシステム(100)。
【請求項18】
前記第1のモデル(310)は、ラベル付けされたネットワークトラフィックメッセージ(22L)のセットでトレーニングされたニューラルネットワークを含む、請求項13~17のいずれか1項に記載のシステム(100)。
【請求項19】
前記動作は、前記ネットワーク不正使用が発生していると判断した後に、
前記発生しているネットワーク不正使用が偽陽性または実際のネットワーク不正使用のいずれかであったことを示すフィードバック(320)を受信することと、
前記フィードバック(320)に基づいて前記第1のモデル(310)を更新することとをさらに含む、請求項13~18のいずれか1項に記載のシステム(100)。
【請求項20】
前記動作はさらに、
前記ネットワークサービス(30)によって以前に受信されたネットワークトラフィックを表す履歴ネットワークトラフィックメッセージ(22H)のセットを取得することを含み、
前記履歴ネットワークトラフィックメッセージ(22H)のセットは、前記ネットワーク不正使用前に前記ネットワークサービス(30)によって以前に受信されたネットワークトラフィックを表し、
前記ネットワークトラフィックメッセージ(22)を、前記ネットワーク不正使用に関与している不正ネットワークトラフィックメッセージ(22)または前記ネットワーク不正使用に関与していない非不正ネットワークトラフィックメッセージ(22)としてラベル付けすることは、前記履歴ネットワークトラフィックメッセージ(22H)のセットに基づく、請求項13~19のいずれか1項に記載のシステム(100)。
【請求項21】
前記動作はさらに、
前記生成された少なくとも1つのネットワークトラフィックルール(402)を、前記ネットワークサービス(30)に関連付けられるユーザ(12)に提供することと、
前記ユーザ(12)から、前記生成された少なくとも1つのネットワークトラフィックルール(402)のうちの1つを受け入れる指示を受信することと、
前記ユーザ(12)によって示される前記受け入れられたネットワークトラフィックルール(402)を実現することとを含む、請求項13~20のいずれか1項に記載のシステム(100)。
【請求項22】
前記動作はさらに、
所望のネットワークトラフィックルール(402)に関連付けられるユーザプリファレンス(510)を受信することと、
前記ユーザプリファレンス(510)に基づいて、前記生成された少なくとも1つのネットワークトラフィックルール(402)のうちの1つを選択することと、
前記選択されたネットワークトラフィックルール(402)を実現することとを含む、請求項13~21のいずれか1項に記載のシステム(100)。
【請求項23】
前記ユーザプリファレンス(510)は、前記選択されたネットワークトラフィックルール(402)によって影響されてもよい非不正ネットワークトラフィックメッセージ(22)の量を含む、請求項22に記載のシステム(100)。
【請求項24】
前記ネットワーク不正使用はサービス拒否攻撃を含む、請求項13~23のいずれか1項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、サービス拒否(DoS)攻撃などのネットワーク不正使用の自動検出および軽減に関する。
【背景技術】
【0002】
背景
ネットワーク不正使用は、典型的には、ネットワークの許容可能な使用ポリシーによって禁止される目的のためのコンピュータネットワークの使用として定義される。ネットワーク不正使用の一般的な例は、サービス拒否(DoS)攻撃である。DoS攻撃は、正当なユーザが、1人以上の悪意のある行為者の行為に起因して、情報システム、デバイス、または他のネットワークリソースにアクセスできないときに発生する。影響を受けるサービスは、電子メール、ウェブサイト、オンラインアカウント(例えば、銀行業務)、または影響を受けるコンピュータもしくはネットワークに依存する他のサービスを含み得る。DoS攻撃は、典型的には、ターゲットが応答することができなくなる(例えば、クラッシュする)まで、ターゲットホストまたはネットワークをネットワークトラフィックでフラッディングすることによって達成され、正当なユーザのためのアクセスを妨げる。多くのタイプのネットワーク不正使用は、検出および軽減を回避するために正当なトラフィックを模倣する。これらの攻撃および他のネットワーク不正使用は、リソースおよびサービスをアクセス不可能にすることによって、組織に時間および費用の両方を費やさせ得る。
【発明の概要】
【0003】
概要
本開示の一局面は、データ処理ハードウェアによって実行されると、データ処理ハードウェアに動作を実行させる、コンピュータにより実現される方法を提供する。動作は、ネットワークサービスによって現在受信されているネットワークトラフィックを表すネットワークトラフィックメッセージの第1のセットを取得することを含む。動作はまた、第1のモデルを介して、ネットワークトラフィックメッセージの第1のセットに基づいてネットワーク不正使用が発生しているかどうかを判断することを含む。ネットワーク不正使用が発生しているとき、動作は、ネットワークサービスによって現在受信されているネットワークトラフィックを表すネットワークトラフィックメッセージの第2のセットを取得することを含む。動作はまた、ネットワークトラフィックメッセージの第2のセット中の各ネットワークトラフィックメッセージについて、第2のモデルを介して、ネットワークトラフィックメッセージを、ネットワーク不正使用に関与している不正ネットワークトラフィックメッセージまたはネットワーク不正使用に関与していない非不正ネットワークトラフィックメッセージとしてラベル付けすることを含む。本方法は、第3のモデルを介して、少なくとも1つのネットワークトラフィックルールを生成することを含む。各ネットワークトラフィックルールは、ファイアウォールによって実現されるよう構成され、実現されると、不正ネットワークトラフィックメッセージの影響を低減するよう構成される。
【0004】
本開示の実現例は、以下の任意選択の特徴のうちの1つ以上を含んでもよい。いくつかの実現例では、ネットワークトラフィックメッセージの第1のセットは、複数のネットワークトラフィックウィンドウを含む。複数のネットワークトラフィックウィンドウの各々は、ネットワークトラフィックメッセージの第1のセットのうち、異なる離散的な時間の部分に関連付けられるネットワークトラフィックメッセージのサブセットを含む。いくつかの例では、動作は、複数のネットワークトラフィックウィンドウの各々について、ネットワークトラフィックメッセージのサブセットから、サンプリングされたネットワークトラフィックメッセージのセットをサンプリングすることをさらに含む。サンプリングされたネットワークトラフィックメッセージのセットは、ネットワークトラフィックメッセージのサブセットの全体を表す。任意選択で、動作は、複数のネットワークトラフィックウィンドウの各々について、サンプリングされたネットワークトラフィックメッセージのセットの特性を、データ構造に記憶することをさらに含む。
【0005】
いくつかの実現例では、ネットワーク不正使用が発生しているかどうかを判断することは、第1のモデルが、不正確率スコアを生成することと、不正確率スコアが不正確率閾値を満たす、と判断することとを含む。いくつかの例では、第1のモデルは、ラベル付けされたネットワークトラフィックメッセージのセットでトレーニングされたニューラルネットワークを含む。動作は、ネットワーク不正使用が発生していると判断した後、発生しているネットワーク不正使用が偽陽性または実際のネットワーク不正使用のいずれかであったことを示すフィードバックを受信することと、フィードバックに基づいて第1のモデルを更新することとをさらに含んでもよい。
【0006】
いくつかの例では、動作は、過去にネットワークサービスによって受信されたネットワークトラフィックを表す履歴ネットワークトラフィックメッセージのセットを取得することをさらに含む。履歴ネットワークトラフィックメッセージのセットは、ネットワーク不正使用前にネットワークサービスによって受信されたネットワークトラフィックを表してもよい。ネットワークトラフィックメッセージを、ネットワーク不正使用に関与している不正ネットワークトラフィックメッセージまたはネットワーク不正使用に関与していない非不正ネットワークトラフィックメッセージとしてラベル付けすることは、履歴ネットワークトラフィックメッセージのセットに基づいてもよい。動作は、生成された少なくとも1つのネットワークトラフィックルールを、ネットワークサービスに関連付けられるユーザに提供することと、ユーザから、生成された少なくとも1つのネットワークトラフィックルールのうちの1つを受け入れる指示を受信することとをさらに含んでもよい。動作はまた、ユーザによって示される受け入れられたネットワークトラフィックルールを実現することをさらに含んでもよい。
【0007】
任意選択で、動作は、所望のネットワークトラフィックルールに関連付けられるユーザプリファレンスを受信することと、ユーザプリファレンスに基づいて、生成された少なくとも1つのネットワークトラフィックルールのうちの1つを選択することとをさらに含む。動作はまた、任意選択で、選択されたネットワークトラフィックルールを実現することをさらに含む。いくつかの例では、ユーザプリファレンスは、選択されたネットワークトラフィックルールによって影響されてもよい非不正ネットワークトラフィックメッセージの量を含む。いくつかの実現例では、ネットワーク不正使用はサービス拒否攻撃を含む。
【0008】
本開示の別の局面は、ネットワーク不正使用を検出および軽減するためのシステムを提供する。本システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されるとデータ処理ハードウェアに動作を実行させる命令を記憶する。動作は、ネットワークサービスによって現在受信されているネットワークトラフィックを表すネットワークトラフィックメッセージの第1のセットを取得することを含む。動作はまた、第1のモデルを介して、ネットワークトラフィックメッセージの第1のセットに基づいてネットワーク不正使用が発生しているかどうかを判断することを含む。ネットワーク不正使用が発生しているとき、動作は、ネットワークサービスによって現在受信されているネットワークトラフィックを表すネットワークトラフィックメッセージの第2のセットを取得することを含む。動作はまた、ネットワークトラフィックメッセージの第2のセット中の各ネットワークトラフィックメッセージについて、第2のモデルを介して、ネットワークトラフィックメッセージを、ネットワーク不正使用に関与している不正ネットワークトラフィックメッセージまたはネットワーク不正使用に関与していない非不正ネットワークトラフィックメッセージとしてラベル付けすることを含む。本方法は、第3のモデルを介して、少なくとも1つのネットワークトラフィックルールを生成することを含む。各ネットワークトラフィックルールは、ファイアウォールによって実現されるよう構成され、実現されると、不正ネットワークトラフィックメッセージの影響を低減するよう構成される。
【0009】
この態様は、以下の任意選択の特徴のうちの1つ以上を含んでもよい。いくつかの実現例では、ネットワークトラフィックメッセージの第1のセットは、複数のネットワークトラフィックウィンドウを含む。複数のネットワークトラフィックウィンドウの各々は、ネットワークトラフィックメッセージの第1のセットのうち、異なる離散的な時間の部分に関連付けられるネットワークトラフィックメッセージのサブセットを含む。いくつかの例では、動作は、複数のネットワークトラフィックウィンドウの各々について、ネットワークトラフィックメッセージのサブセットから、サンプリングされたネットワークトラフィックメッセージのセットをサンプリングすることをさらに含む。サンプリングされたネットワークトラフィックメッセージのセットは、ネットワークトラフィックメッセージのサブセットの全体を表す。任意選択で、動作は、複数のネットワークトラフィックウィンドウの各々について、サンプリングされたネットワークトラフィックメッセージのセットの特性を、データ構造に記憶することをさらに含む。
【0010】
いくつかの実現例では、ネットワーク不正使用が発生しているかどうかを判断することは、第1のモデルが、不正確率スコアを生成することと、不正確率スコアが不正確率閾値を満たす、と判断することとを含む。いくつかの例では、第1のモデルは、ラベル付けされたネットワークトラフィックメッセージのセットでトレーニングされたニューラルネットワークを含む。動作は、ネットワーク不正使用が発生していると判断した後、発生しているネットワーク不正使用が偽陽性または実際のネットワーク不正使用のいずれかであったことを示すフィードバックを受信することと、フィードバックに基づいて第1のモデルを更新することとをさらに含んでもよい。
【0011】
いくつかの例では、動作は、過去にネットワークサービスによって受信されたネットワークトラフィックを表す履歴ネットワークトラフィックメッセージのセットを取得することをさらに含む。履歴ネットワークトラフィックメッセージのセットは、ネットワーク不正使用前にネットワークサービスによって受信されたネットワークトラフィックを表してもよい。ネットワークトラフィックメッセージを、ネットワーク不正使用に関与している不正ネットワークトラフィックメッセージまたはネットワーク不正使用に関与していない非不正ネットワークトラフィックメッセージとしてラベル付けすることは、履歴ネットワークトラフィックメッセージのセットに基づいてもよい。動作は、生成された少なくとも1つのネットワークトラフィックルールを、ネットワークサービスに関連付けられるユーザに提供することと、ユーザから、生成された少なくとも1つのネットワークトラフィックルールのうちの1つを受け入れる指示を受信することとをさらに含んでもよい。動作はまた、ユーザによって示される受け入れられたネットワークトラフィックルールを実現することをさらに含んでもよい。
【0012】
任意選択で、動作は、所望のネットワークトラフィックルールに関連付けられるユーザプリファレンスを受信することと、ユーザプリファレンスに基づいて、生成された少なくとも1つのネットワークトラフィックルールのうちの1つを選択することとをさらに含む。動作はまた、任意選択で、選択されたネットワークトラフィックルールを実現することをさらに含む。いくつかの例では、ユーザプリファレンスは、選択されたネットワークトラフィックルールによって影響されてもよい非不正ネットワークトラフィックメッセージの量を含む。いくつかの実現例では、ネットワーク不正使用はサービス拒否攻撃を含む。
【0013】
本開示の1つ以上の実現例の詳細を、添付の図面および以下の説明に記載する。他の局面、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0014】
【
図1】ネットワーク不正使用を検出および軽減するための例示的なシステムの概略図である。
【
図2】ネットワークトラフィックメッセージのための例示的なネットワークトラフィックウィンドウの概略図である。
【
図3】
図1のシステムの例示的な構成要素の概略図である。
【
図4】
図1のシステムの追加の例示的な構成要素の概略図である。
【
図5】ネットワークトラフィックルールに対するユーザプリファレンスの概略図である。
【
図6】ネットワーク不正使用を検出および軽減する方法のための動作の例示的な構成のフローチャートである。
【
図7】本明細書で説明されるシステムおよび方法を実現するために使用されてもよい例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0015】
様々な図面における同様の参照符号は、同様の要素を示す。
詳細な説明
ネットワークサービスがますますユビキタスになるにつれ、ネットワーク不正使用も同様に日常的になっている。サービス拒否(DoS)攻撃などの攻撃は、正当なユーザに対するリソースおよびサービスに対するアクセスを拒否するために頻繁に使用される。これらの攻撃および他のネットワーク不正使用は、組織に時間および費用の両方を費やさせる著しい混乱を引き起こし得る。組織およびクラウドサービスプロバイダは、ネットワークトラフィックルールを積極的に使用してネットワーク不正使用を軽減しようとするが、存在する攻撃は多種多様であり、多くの攻撃は正当なトラフィックのように見える。正当なトラフィックを遮断することは、ネットワーク不正使用を軽減する目的をくじくので、ネットワーク不正使用の検出および軽減は、概して、複雑で労働集約的な努力である。
【0016】
従来、ネットワーク管理者は、(例えば、ファイアウォールを介して適所に置かれる)手動ネットワークトラフィックルールの混合を通して、および特定のアプリケーションのためのソフトウェア定義ルールを介して、ネットワーク不正使用防御を実施する。しかしながら、オフプレミスの、クラウドベースのサービスの出現に伴い、ネットワーク管理者は、今や、代わりに、ネットワークトラフィックルールおよび/またはポリシーを管理ならびに実施するために、クラウドプロバイダのインフラストラクチャに依拠することが多い。従来の技術は、細かい粒度で問題に対処できない。すなわち、いくつかの従来の技術は、いつ攻撃が発生しているかを識別するが、ネットワークトラフィックのどの部分が攻撃の一部であり、ネットワークトラフィックのどの部分が正当であるかを識別することはできない。これらの技術は、典型的には、トラフィックの増加がネットワーク不正使用であるか正当なトラフィックであるかを検出することが苦手であり、偽陽性につながる。加えて、従来の技術は、いかなる適切なスケーリングも欠いており、代わりに、ライブ(すなわち、「リアルタイム」)で実行するには計算費用がかかりすぎ、および/または反応する熟練者を必要とするかもしくはそのような熟練者に依存する。そのような熟練者は、概して、反応時間が相対的に遅く、費用がかかる。
【0017】
本明細書での実現例は、軽減を、ネットワーク不正使用がいつ発生するかをリアルタイムまたは近リアルタイムで判断する高速検出フェーズと、相対的により低速なトラフィック分類フェーズとに分割する、ネットワーク不正使用軽減部を対象とする。検出アルゴリズムは、ネットワーク不正使用が進行中であるときを検出するために連続的に動作する。検出アルゴリズムが、ネットワーク不正使用が進行中であると判断すると、署名生成アルゴリズムが、ネットワークトラフィックのいくつかまたはすべてを、正常な(すなわち、正当な)トラフィックまたは不正トラフィックのいずれかとして分類する。署名生成アルゴリズムは、不正トラフィックの鍵となる特性を抽出し、不正トラフィックの影響を低減する(たとえば、不正トラフィックを遮断する)ように設計された、1つ以上のネットワークトラフィックルールを生成する。したがって、いくつかの実現例では、ネットワーク不正使用軽減部は、人的介入を必要とせずにリアルタイムでネットワーク不正使用を検出および軽減する。
【0018】
図1を参照すると、いくつかの実現例では、例示的なシステム100は、ネットワーク112を介して複数の遠隔コンピューティングデバイス20、20a~nと通信する遠隔システム140を含む。遠隔システム140はスケーラブル/弾性コンピューティングリソース144(例えば、データ処理ハードウェア)および/もしくはストレージリソース142(例えば、メモリハードウェア)を有する、単一のコンピュータ、複数のコンピュータ、または分散型システム(例えば、クラウド環境)であってもよい。遠隔コンピューティングデバイス20は、ネットワーク112を介して(例えば、インターネットを介して)アクセス可能な任意のネットワーク接続されたコンピューティングデバイスであってもよい。
【0019】
遠隔システム140はまた、1つ以上のネットワークサービス30も含む。ネットワークサービス30は、ユーザデバイス10を介して、同じであるかまたは異なるネットワーク112を通じて遠隔システム140と通信するユーザ12(例えば、遠隔システム140の顧客、クライアント、管理者など)のために、ネットワーク関連サービスを提供する。ユーザデバイス10は、デスクトップワークステーション、ラップトップワークステーション、またはモバイルデバイス(すなわち、スマートフォン)などの任意のコンピューティングデバイスに対応してもよい。ユーザデバイス10は、コンピューティングリソース18(例えば、データ処理ハードウェア)および/またはストレージリソース16(例えば、メモリハードウェア)を含む。
【0020】
ネットワークサービス30は、ホスティング、負荷分散、ルーティングなどのサービスのためにクラウドネットワーク(例えば、遠隔システム140)のリソースをユーザ12に提供する。例えば、ユーザ12は、リソース(例えば、ウェブサイト)をホストし、ネットワークサービス30は、遠隔システム140のクラウド環境を通して、インターネット(すなわち、ネットワーク112)を介して、リソースへのアクセスを複数の遠隔コンピューティングデバイス20に提供する。ネットワークサービス30をネットワーク不正使用から保護するのを助けるために、遠隔システム140は、ネットワーク不正使用軽減部160を実行する。
【0021】
ネットワーク不正使用軽減部160は、ネットワーク不正使用のために遠隔コンピューティングデバイス20とネットワークサービス30との間で通信されるネットワークトラフィックメッセージ22を監視する。ネットワーク不正使用は、ユーザポリシーによって禁止された態様でのコンピュータネットワークの使用として定義される。典型的なネットワーク不正使用は、サービス拒否(DoS)攻撃、分散型サービス拒否(DDoS)攻撃、ページススクレイピング、およびクレデンシャルスタッフィング攻撃などの行為を含む。ネットワーク不正使用は、典型的には、リソース(例えば、時間、金銭など)の著しい混乱および損失を引き起こし得る、サービスの劣化または損失をもたらす。たとえば、DDoS攻撃は、大量のネットワークトラフィックでネットワークサービス(またはそのサポートインフラストラクチャ)を圧倒することによってネットワークサービスへのネットワークトラフィックを混乱させる悪意のある試みである。しかしながら、正当なトラフィックを遮断することは、それがDDoS攻撃の目標の達成になり、望ましくないので、そのようなネットワーク不正使用を軽減することは困難である。
【0022】
ネットワーク不正使用軽減部160は、不正検出部300を含む。不正検出部300は、ネットワークサービス30によって現在受信されているネットワークトラフィックを表すネットワークトラフィックメッセージ22の第1のセット22aを取得する。すなわち、不正検出部300は、遠隔コンピューティングデバイス20のうちの1つ以上からネットワークサービス30宛てのリアルタイムまたはほぼリアルタイムのネットワークトラフィックメッセージ22を取得する。いくつかの例では、ネットワークトラフィックメッセージは、L7(すなわち、HTTP)ヘッダフィールドのうちのいくつかまたはすべてである。
【0023】
ここで
図2を参照すると、いくつかの例では、ネットワークトラフィックメッセージ22の第1のセットは、複数のネットワークトラフィックウィンドウ210、210a~nを含む。概略
図200に示されるように、各ネットワークトラフィックウィンドウ210は、ネットワークトラフィックメッセージ22の第1のセットのうち、異なる離散的な時間の部分に関連付けられるネットワークトラフィックメッセージ22のサブセットを含む。概略
図200では、x軸は時間の経過を示し、各ネットワークトラフィックウィンドウ210はその時間の一部にわたる。すなわち、ネットワークトラフィックメッセージ22の第1のセットが、不正検出部300によって経時的に取得されたすべてのネットワークトラフィックメッセージ22を含むとき、各ネットワークトラフィックウィンドウ210は、それらのネットワークトラフィックメッセージ22のうち、離散的な時間の部分(例えば、15秒、30秒、1分など)にわたって受信されるサブセットを表す。各ネットワークトラフィックウィンドウ210の「サイズ」(すなわち、離散的な時間の部分の長さ)は、均一であってもよく、または変化するトラフィック傾向に基づいて動的であってもよい。たとえば、ネットワークトラフィックメッセージ22の密度が増加すると、1つ以上のネットワークトラフィックウィンドウ210のサイズは減少してもよい。
【0024】
いくつかの実現例では、複数のネットワークトラフィックウィンドウ210の各々について、不正検出部300は、ネットワークトラフィックウィンドウ210のネットワークトラフィックメッセージ22のサブセットから、サンプリングされたネットワークトラフィックメッセージ22のセット22Sa~nをサンプリングする。サンプリングされたネットワークトラフィックメッセージのセット22Sは、ネットワークトラフィックウィンドウ210のネットワークトラフィックメッセージ22のサブセットの全体を表す。すなわち、いくつかのシナリオでは、ネットワークトラフィックメッセージ22の量は、あらゆるネットワークトラフィックメッセージ22を分析または処理することを実行不可能または望ましくなくし、代わりに、不正検出部300は、サンプリングされたネットワークトラフィックメッセージの代表的なセット22Sをサンプリングして、ネットワークトラフィックウィンドウ210のネットワークトラフィックメッセージ22のサブセット全体の任意の特性または傾向を同時に保持しながら、分析すべきネットワークトラフィックメッセージ22の総数を減少させる。不正検出部300は、サンプリングされたネットワークトラフィックメッセージのセット22Sを取得するために、任意の従来のサンプリング技術を使用してもよい。
【0025】
任意選択で、不正検出部300は、複数のネットワークトラフィックウィンドウ210の各々について、サンプリングされたネットワークトラフィックメッセージのセット22Sの特性をデータ構造に記憶する。すなわち、各ネットワークトラフィックウィンドウ210についてサンプリングされたネットワークトラフィックメッセージ22Sの各々に関連付けられる情報の全体を記憶する代わりに、不正検出部300は、サンプリングされたネットワークトラフィックメッセージのセット22Sの記憶要件を低減するために、サンプリングされたネットワークトラフィックメッセージのセット22Sから、特定の特性(例えば、帯域幅、サイズ、ソースアドレス、宛先アドレス、領域など)を抽出してもよい。たとえば、不正検出部300は、サンプリングされたネットワークトラフィックメッセージ22Sのヘッダフィールドのいくつかもしくはすべて、またはサンプリングされたネットワークトラフィックメッセージ22Sの1つ以上のヘッダフィールドの値の傾向もしくは集約された統計を記憶してもよい。任意選択で、集約された統計は、確率的データ構造(例えば、カウント-最小スケッチ)を使用する。
【0026】
再び
図1を参照すると、不正検出部300は、検出モデル310を介して、ネットワークトラフィックメッセージ22の第1のセットに基づいてネットワーク不正使用が発生しているかどうかを判断する。すなわち、以下でより詳細に論じるように、不正検出部300は、検出モデル310を用いてネットワークトラフィックメッセージ22を処理することに基づいて、ネットワーク不正使用が現在発生しているかどうかを判断する。検出モデル310は、ネットワークトラフィックメッセージ22の統計またはニューラルネットワークに基づくアルゴリズムを含む任意のタイプのモデルを組み込むことができる。いくつかの例では、不正検出部300による不正判定302は、単一のネットワークトラフィックウィンドウ210に依存する。他の例では、不正判定302は、複数のネットワークトラフィックウィンドウ210に依存する。すなわち、これらの例では、不正検出部は、現在のネットワークトラフィックウィンドウ210においてネットワーク不正使用が発生しているかどうかを判断しながらいくつかの数の以前のネットワークトラフィックウィンドウ210の局面を保持するのに充分なメモリを含む。たとえば、不正検出部300は、現在のネットワークトラフィックウィンドウ210および以前の3つのネットワークトラフィックウィンドウ210に基づいて、ネットワーク不正使用が現在発生しているかどうかを判断してもよい。
【0027】
いくつかの実現例では、不正検出部300は、検出モデル310にデータを提供する前に、ネットワークトラフィックメッセージ22の第1のセットを時系列のセットに変換する。例えば、不正検出部300は、観測値の相対頻度を求めるために、ネットワークトラフィックメッセージ22の1つ以上の特性の分布(例えば、各L7ヘッダフィールドについての分布)を求める。不正検出部300は、時系列のセットを生成するために、例えば、ジェンセン・シャノン情報量を使用して、異なるネットワークトラフィックウィンドウ210におけるこれらの分布に基づく差を求めてもよい。検出モデル310は、これらの時系列において、(例えば、現在のメッセージ/秒またはネットワークトラフィックメッセージのヘッダ内の様々なフィールドのような)ネットワークトラフィックメッセージの様々な特性および傾向を表すトラフィック異常を検出するようにトレーニングされる。
【0028】
いくつかの例では、検出モデル310は、不正確率スコア312を生成する。不正検出部300が、不正確率スコアが不正確率閾値を満たす、と判断すると、不正検出部300は、検出モデル310が現在のネットワーク不正使用を検出したと判断し、不正判定302をメッセージラベル付け部170に送信する。
【0029】
ここで
図3を参照すると、いくつかの例では、検出モデル310は、トレーニングネットワークトラフィックサンプル22Tのセットでトレーニングされたニューラルネットワーク(例えば、ロングショートタームメモリ(LTSM)ニューラルネットワーク)を含む。いくつかの実現例では、各トレーニングネットワークトラフィックサンプル22Tはラベル付けされる。すなわち、各トレーニングネットワークトラフィックサンプル22Tは、トレーニングネットワークトラフィックサンプル22Tが、検出モデル310が不正ネットワークトラフィックサンプルまたは正当なネットワークトラフィックサンプルとして予測すべきサンプルであるかどうかを示すラベルを含む。いくつかの例では、トレーニングネットワークトラフィックサンプル22Tのサブセットは、正当なネットワークトラフィックサンプルを示す陽性ラベルを含み、トレーニングネットワークトラフィックサンプル22Tの残りのサブセットは、不正なネットワークトラフィックサンプルを示す陰性ラベルを含む。検出モデル310は、ラベル付けされたトレーニングネットワークトラフィックサンプル22Tの予測を行った後、検出モデル310は、その予測を(例えば損失公式を介して)ラベルと比較し、それに応じてモデル310のパラメータを(例えば、勾配降下を介して)調整して、適切なラベルを予測するよう学習する。トレーニングネットワークトラフィックサンプル22Tは、シミュレートされたワークトラフィックサンプルまたは履歴ネットワークトラフィックサンプルであってもよい。履歴ネットワークトラフィックサンプルは、検出モデルが監視するようにトレーニングされたネットワークサービス30によって以前に受信されたネットワークトラフィックメッセージ、および/または他のネットワークサービスによって以前に受信されたネットワークトラフィックメッセージであってもよい。
【0030】
いくつかの実現例では、ネットワーク不正使用軽減部160は、不正検出部300が不正判定302を生成した(すなわち、不正検出部300が、ネットワーク不正使用が現在発生していると判断した)後、不正検出部300がその判定を行ったときにネットワーク不正使用が実際に発生していたかどうかを示すフィードバック320を受信する。すなわち、フィードバック320は、不正検出部300が正しかったかまたは誤っていた(すなわち、偽陽性)かを示す。ネットワーク不正使用軽減部160は、ユーザ12からユーザデバイス10を介してフィードバック320を受信してもよい。例えば、ユーザ12は、ネットワーク不正使用の通知404(
図4)を受信した後、ユーザ12は、ネットワーク不正使用が起こっていたかまたは起こっていなかったことを調査および判断し、それに応じてフィードバック320を提供する。遠隔システム140も、フィードバック320を提供してもよい。たとえば、ネットワーク不正使用が発生していると不正検出部が判断した後、より洗練されたおよび/またはより時間がかかるネットワークトラフィック分析部が、ネットワーク不正使用が発生したかどうかを判断してもよい。
【0031】
いくつかの例では、検出モデル310は、ユーザ12および検出モデル310に関連付けられるネットワークサービス30(すなわち、検出モデル310が監視しているネットワークサービス)によって受信されたネットワークトラフィックメッセージ22に基づいてのみ更新される。他の例では、検出モデル310は、他のネットワークサービス30を監視する他の検出モデル310によって受信されたネットワークトラフィックメッセージ22に基づいて更新される。例えば、クラウド環境は、多くのネットワークサービス30を実行し、多くの異なる検出モデル310を使用して、これらのネットワークサービス30を保護してもよい。各検出モデル310は、他の検出モデル310を更新するために使用されてもよい異なるネットワークトラフィックメッセージ22を受信してもよい。いくつかの例では、ユーザ12は、グローバル検出モデル310更新をオプトアウトまたはオプトインしてもよい。
【0032】
ネットワーク不正使用軽減部160は、フィードバック320を、判断されたネットワーク不正使用の期間中に取得されたネットワークトラフィックメッセージ22に適用するラベルとして扱ってもよい。すなわち、ネットワーク不正使用軽減部160は、検出モデル310の精度を高めるために、フィードバック320から生成されたフィードバックサンプル22Fに基づいて、検出モデル310を更新または微調整または再トレーニングしてもよい。
【0033】
再び
図1を参照すると、ネットワーク不正使用が発生している間(すなわち、不正検出部300がメッセージラベル付け部170に不正判定302を送信した)、メッセージラベル付け部170は、ネットワークサービス30によって現在受信されているネットワークトラフィックを表すネットワークトラフィックメッセージ22の第2のセット22bを取得する。いくつかの例では、ネットワークトラフィックメッセージ22の第2のセットは、ネットワークトラフィックメッセージ22の第1のセット(すなわち、不正検出部300が取得したネットワークトラフィックメッセージ22のセット)と同じである。他の例では、メッセージラベル付け部は、ネットワークトラフィックメッセージ22の、少なくとも部分的に異なるセットを取得する。たとえば、メッセージラベル付け部170は、ネットワークトラフィックメッセージ22の、より最近の、またはより大きい、またはより小さいセットを取得する。
【0034】
メッセージラベル付け部170はまた、いくつかの例では、履歴ネットワークトラフィックメッセージ22Hのセットを取得する。これらの履歴ネットワークトラフィックメッセージ22H(または履歴ネットワークトラフィックメッセージ22Hの特性)は、ネットワーク不正使用に先行する可能性がある1つまたは以前のネットワークトラフィックウィンドウ210の間にキャプチャされたネットワークトラフィックメッセージ22を含む。たとえば、不正検出部300は、前の期間(例えば、24時間、48時間など)のネットワークトラフィックメッセージ22の第1のセット(またはサンプリングされたネットワークトラフィックメッセージ22Sのセットもしくはサンプリングされたネットワークトラフィックメッセージ22Sのセットの特性)を記憶してもよい。メッセージラベル付け部170は、履歴ネットワークトラフィックメッセージ22Hの取得されたセットが主に正当なトラフィックに関連付けられる尤度が高いという前提で、履歴ネットワークトラフィックメッセージ22Hのセットを取得する。すなわち、履歴ネットワークトラフィックメッセージ22Hのセットによって表される期間中にネットワーク不正使用が起こっていなかった可能性が高く、したがって履歴ネットワークトラフィックメッセージ22Hは主に正当なトラフィックを表す。必要ではないが、履歴ネットワークトラフィックメッセージ22Hのセットは、ネットワークサービス30のためのベースライントラフィックの潜在的なコンテキストをメッセージラベル付け部170に提供することによって、メッセージラベル付け部170の品質および/または精度を改善してもよい。
【0035】
ネットワークトラフィックメッセージの第2のセット内の各ネットワークトラフィックメッセージ22について、メッセージラベル付け部170は、ラベル付けモデル172を介し、履歴ネットワークトラフィックメッセージ22Hのセットを使用して、各ネットワークトラフィックメッセージを、ネットワーク不正使用に関与している不正ネットワークトラフィックメッセージ22またはネットワーク不正使用に関与していない非不正ネットワークトラフィックメッセージ22のいずれかとしてラベル付けする。すなわち、メッセージラベル付け部170は、正当なトラフィックに主に関連付けられる履歴ネットワークトラフィックメッセージ22Hのセットに基づいて、ネットワークトラフィックメッセージ22の第2のセット中の各ネットワークトラフィックメッセージ22を、正当なトラフィックまたは非正当なトラフィック(すなわち、不正トラフィック)のいずれかとしてラベル付けする。したがって、メッセージラベル付け部170は、ネットワークトラフィックメッセージ22の第2のセットのネットワークトラフィックメッセージ22の各々についてのラベル(すなわち、不正または正当)を含む、ラベル付けされたネットワークトラフィックメッセージ22Lのセットを生成する。
【0036】
いくつかの実現例では、ラベル付けモデル172は、履歴ネットワークトラフィックメッセージのセット(またはヘッダフィールドの分布などのメッセージの特性)を使用して、ネットワークサービス30のためのベースライントラフィックまたは正常トラフィックを決定する。ラベル付けモデル172は、履歴ネットワークトラフィックメッセージ22Hのセット内において特定の値を見る確率と、ネットワークトラフィックメッセージ22の第2のセット(すなわち、現在のメッセージ)内に同じ特定の値を見る確率とに基づいて、点を多次元空間(例えば、ネットワーク不正使用軽減部160が監視する各ヘッダフィールドにつき1次元)にマッピングすることによって、正常トラフィックを不正トラフィックから分離してもよい。ラベル付けモデル172は、多次元空間内の点をクラスタ化して、正常トラフィックと不正トラフィックとの分離を可能にしてもよい。いくつかの実現例では、ラベル付けモデル172は、正常トラフィックのクラスタおよび不正トラフィックのクラスタについてのベースライン分布から、各ヘッダフィールドについてのジェンセン・シャノン情報量の合計を測定する。ラベル付けモデル172は、より高いジェンセン・シャノン情報量を有するクラスタは不正トラフィックのクラスタである、と判断してもよい。
【0037】
いくつかの例では、ネットワーク不正使用軽減部160は、検出モデル310または不正検出部300を含まず、メッセージラベル付け部170は、不正判定302を受信しない。このシナリオでは、メッセージラベル付け部170は、充分な数のネットワークトラフィックメッセージ22が不正としてラベル付けされるときにネットワーク不正使用が発生していると判断することによって、検出モデル310として機能してもよい。たとえば、ある総数またはパーセンテージのネットワークトラフィックメッセージ22がしきい値を満たすとき、メッセージラベル付け部170は、ネットワーク不正使用が発生していると判断してもよい。
【0038】
メッセージラベル付け部170は、ラベル付けされたネットワークトラフィックメッセージ22Lのセットをルール生成部400に送信する。ルール生成部400は、ルールモデル410を介して、少なくとも1つのネットワークトラフィックルール402を生成し、これは、実現されると、不正ネットワークトラフィックメッセージ22の影響を低減する。すなわち、いくつかの例では、ルール生成部400は、ラベル付けされたネットワークトラフィックメッセージ22Lを受信し、ラベル付けされたネットワークトラフィックメッセージ22Lに基づいてネットワーク不正使用を軽減するネットワークトラフィックルール402を導出する。たとえば、ネットワークトラフィックルールは、不正としてラベル付けされた、ラベル付けされたネットワークトラフィックメッセージ22Lの一部を遮断または破棄する。ネットワークトラフィックルールは、任意に、ファイアウォールにおいて実現される。特定の例において、ルール生成部400は、不正なラベル付けされたネットワークトラフィックメッセージ22Lの大部分が特定の地域から発生していると判断してもよい。このシナリオでは、ルール生成部400は、その特定の地域からのネットワークトラフィックメッセージを遮断するネットワークトラフィックルール402を生成してもよい。ネットワークトラフィックルール402は、不正トラフィックが最も共通する特性に基づいて、ネットワークトラフィックメッセージ22の任意の数の特性(たとえばヘッダフィールド)に基づいて、ネットワークトラフィックメッセージ22を遮断または迂回させてもよい。
【0039】
ここで
図4を参照すると、ルール生成部400は、適用可能なネットワークトラフィックルール402であるルールを生成するルール生成アルゴリズムであるルールモデル410を含む。概して、ルール生成部400は、最大量の不正なネットワークトラフィックを軽減し、最小量の正当なトラフィックに影響を及ぼすルールの生成を試みる。いくつかの例では、これらの目標は競合している。すなわち、ネットワーク不正使用のいくつかの例では、遮断される不正トラフィックがより多いほど、同様に遮断される正当なトラフィックはより多くなる。この目的のため、ルール生成部400は、いくつかの実現例では、複数のネットワークトラフィックルール402、402a~nを生成する。ネットワーク不正使用軽減部160は、進行中のネットワーク不正使用を示す通知404とともに、ユーザデバイス10を介してネットワークサービス30に関連付けられるユーザ12に複数のネットワークトラフィックルール402を送信してもよい。いくつかの例では、ネットワーク不正使用軽減部160は、通知404だけをユーザ12に送信し、何らかのアクション(たとえば、1つ以上のネットワークトラフィックルール402を生成すること)を行う前にユーザ12からの応答を待つ。
【0040】
ユーザ12は、各提案されたネットワークトラフィックルール402が現在のネットワークトラフィックに及ぼす影響を評価し、ユーザの目標または希望に最も受け入れ可能なネットワークトラフィックルール402を選択してもよい。ネットワーク不正使用軽減部160は、提案されたネットワークトラフィックルール402の各々の効果をユーザ12に明確に示すモデル、報告、および/または統計を含んでもよい。たとえば、第1のネットワークトラフィックルール402は、不正なトラフィックの95パーセントを遮断するが、正当なトラフィックの10パーセントも遮断してもよく、一方、第2のネットワークトラフィックルール402は、不正なトラフィックの80パーセントのみを遮断するが、正当なトラフィックの1パーセントのみを遮断してもよい。
【0041】
ユーザ12は、提案される生成されたネットワークトラフィックルール402のうちの1つの受け入れを示す指示406を提供して、ネットワーク不正使用軽減部160に戻してもよい。ルール実現部(例えば、ファイアウォール)は、選択されたネットワークトラフィックルール402を実現してもよい。いくつかの例では、ネットワーク不正使用軽減部160は、ユーザ介入なしに、ネットワークトラフィックルール402のうちの1つを自動的に実現する。たとえば、ルール生成部400は、ネットワークトラフィックルール402を、様々な要素(例えば、遮断された不正トラフィックの量、遮断された正当なトラフィックの量、サービスの劣化など)から求められる最高スコアとともに与えてもよく、ルール実現部420は、生成されたネットワークトラフィックルール402を直ちに実現してもよい。いくつかの例では、ユーザ12は、後の時点で、ネットワークトラフィックルール402を無効にするか、または異なるネットワークトラフィックルール402を選択することによって、ネットワークトラフィックルール402をオーバーライドする。
【0042】
ここで
図5を参照すると、任意選択で、ネットワーク不正使用軽減部160は、ユーザ12から(例えば、ユーザデバイス10を介して)、所望のネットワークトラフィックルール402または所望のネットワークトラフィックルールパラメータに関連付けられるユーザプリファレンス510を受信する。すなわち、ネットワーク不正使用軽減部160は、ユーザプリファレンス510に基づいて、ネットワークトラフィックルール402を生成し、および/またはどのネットワークトラフィックルール402を実現するかを選択してもよい。ユーザプリファレンスは、付帯的損害感受性等のパラメータを含んでもよい。付帯的損害とは、ネットワークトラフィックルールによって影響を受ける非不正トラフィックまたは正当なトラフィックの量を指す。したがって、付帯的損害に対して高い感受性を有するユーザ12は、正当なトラフィックを遮断することに対する強い嫌悪を有するが、付帯的損害に対して低い感受性を有するユーザ12は、正当なトラフィックを遮断することに対する強い嫌悪を有さない。この感度は、ユーザ12の選好に加えて、ネットワークサービス30のタイプおよび性質に大きく依存してもよい。
【0043】
他のユーザプリファレンス510は、リソースプロビジョニング(すなわち、いくつのリソースがネットワークサービス30および/またはユーザ12に割り振られるか、およびいくつのリソースがネットワークサービス30に割り振られてもよいか)、コスト感度(すなわち、ユーザ12がネットワークサービス30および/またはそのインフラストラクチャによって消費されるリソースに対して支払いを行うとき)、ならびにインパクト感度(すなわち、ユーザ12がネットワークサービス30へのアクセスの低下または喪失にどの程度敏感であるか)を含む。ユーザプリファレンス510に基づいて、ネットワーク不正使用軽減部160は、ルール生成部400によって生成された複数のネットワークトラフィックルール402のうちの1つを選択してもよく、ルール実現部420は、人的介入なしに、選択されたネットワークトラフィックルール402を自動的に実現してもよい。
【0044】
図6は、サービス拒否攻撃などのネットワーク不正使用を自動的に検出および軽減する方法600のための動作の例示的な構成のフローチャートである。方法600は、動作602において、ネットワークサービス30によって現在受信されているネットワークトラフィックを表すネットワークトラフィックメッセージ22の第1のセットを取得することを含む。動作604において、方法600は、第1のモデル310を介して、ネットワークトラフィックメッセージ22の第1のセットに基づいてネットワーク不正使用が発生しているかどうかを判断することを含む。ネットワーク不正使用が発生しているとき、方法600は、動作606において、ネットワークサービス30によって現在受信されているネットワークトラフィックを表すネットワークトラフィックメッセージ22の第2のセットを取得することを含む。
【0045】
動作608において、方法600は、ネットワークトラフィックメッセージ22の第2のセット中の各ネットワークトラフィックメッセージ22について、第2のモデル170を介して、ネットワークトラフィックメッセージ22を、ネットワーク不正使用に関与している不正ネットワークトラフィックメッセージ22またはネットワーク不正使用に関与していない非不正ネットワークトラフィックメッセージ22としてラベル付けすることを含む。動作610において、方法600は、第3のモデル410を介して、少なくとも1つのネットワークトラフィックルール402を生成することを含む。各ネットワークトラフィックルール402は、ファイアウォールによって実現されるよう構成され、実現されると、不正ネットワークトラフィックメッセージ22の影響を低減するよう構成される。
【0046】
図7は、本文書で説明されるシステムおよび方法を実現するために用いられ得る例示的なコンピューティングデバイス700の概略図である。コンピューティングデバイス700は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すことが意図されている。本明細書に示された構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎず、本文書に記載および/または特許請求される本発明の実現例を限定するものではない。
【0047】
コンピューティングデバイス700は、プロセッサ710と、メモリ720と、ストレージデバイス730と、メモリ720および高速拡張ポート750に接続する高速インターフェイス/コントローラ740と、低速バス770およびストレージデバイス730に接続する低速インターフェイス/コントローラ760とを含む。構成要素710、720、730、740、750および760の各々は、様々なバスを用いて相互接続され、共通のマザーボード上に、または必要に応じて他の方法で実装されてもよい。プロセッサ710は、高速インターフェイス740に結合されたディスプレイ780などの外部入力/出力装置上にグラフィカルユーザインターフェイス(GUI)のためのグラフィカル情報を表示するために、メモリ720またはストレージデバイス730に記憶された命令を含む、コンピューティングデバイス700内で実行するための命令を処理することができる。他の実現例では、複数のプロセッサおよび/または複数のバスが、必要に応じて、複数のメモリおよびメモリのタイプとともに用いられてもよい。また、複数のコンピューティングデバイス700が接続されてもよく、各デバイスは、(たとえば、サーババンクとして、ブレードサーバのグループとして、またはマルチプロセッサシステムとして)必要な動作の部分を提供する。
【0048】
メモリ720は、コンピューティングデバイス700内で情報を非一時的に記憶する。メモリ720は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的メモリ720は、コンピューティングデバイス700による使用のためにプログラム(例えば、命令のシーケンス)またはデータ(例えば、プログラム状態情報)を一時的または永続的に記憶するために用いられる物理デバイスであってもよい。不揮発性メモリの例は、フラッシュメモリおよび読み出し専用メモリ(ROM)/プログラマブル読み出し専用メモリ(PROM)/消去可能プログラマブル読み出し専用メモリ(EPROM)/電子的消去可能プログラマブル読み出し専用メモリ(EEPROM)(たとえば、ブートプログラムなどのファームウェアに典型的に用いられる)を含むが、これらに限定されない。揮発性メモリの例には、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープが含まれるが、これらに限定されない。
【0049】
ストレージデバイス730は、コンピューティングデバイス700のための大容量ストレージを提供することができる。いくつかの実現例では、ストレージデバイス730はコンピュータ可読媒体である。様々な異なる実現例では、ストレージデバイス730は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイであってもよい。さらなる実現例では、コンピュータプログラム製品は、情報担体において有形に具現化される。コンピュータプログラム製品は、実行されると上述の方法などの1つ以上の方法を実行する命令を含む。情報担体は、メモリ720、ストレージデバイス730、またはプロセッサ710上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0050】
高速コントローラ740は、コンピューティングデバイス700のための帯域幅集約型動作を管理し、低速コントローラ760は、より低い帯域幅集約型動作を管理する。そのような役割の割り当ては、例示的なものにすぎない。いくつかの実現例では、高速コントローラ740は、メモリ720、ディスプレイ780(たとえば、グラフィックスプロセッサまたはアクセラレータを通して)、および様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート750に結合される。いくつかの実現例では、低速コントローラ760は、ストレージデバイス730および低速拡張ポート790に結合される。低速拡張ポート790は、様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、無線イーサネット(登録商標))を含んでもよく、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワーキングデバイスなどの1つ以上の入力/出力装置に、たとえばネットワークアダプタを介して結合されてもよい。
【0051】
コンピューティングデバイス700は、図に示されるように、いくつかの異なる形態で実現されてもよい。例えば、標準サーバ700aとして、もしくはそのようなサーバ700aのグループ内で複数回、ラップトップコンピュータ700bとして、またはラックサーバシステム700cの一部として実現されてもよい。
【0052】
本明細書に記載のシステムおよび技術のさまざまな実現例は、デジタル電子および/もしくは光学回路系、集積回路系、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組合せで実現されてもよい。これらのさまざまな実現例は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムにおける実現例を含んでいてもよく、当該プロセッサは専用であっても汎用であってもよく、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受信するように、かつこれらにデータおよび命令を送信するように結合されている。
【0053】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指してもよい。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれることがある。アプリケーションの例には、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、ワード処理アプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションが含まれるが、これらに限定はされない。
【0054】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラム可能なプロセッサのための機械命令を含み、高水準手続き型および/もしくはオブジェクト指向型プログラミング言語で、ならびに/またはアセンブリ/機械言語で実現することができる。本明細書で使用されるとき、用語「機械可読媒体」および「コンピュータ可読媒体」は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに提供するよう使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0055】
本明細書で説明するプロセスおよび論理フローは、データ処理ハードウェアとも呼ばれ、入力データに対して演算し出力を生成することによって1つ以上のコンピュータプログラムを実行して機能を実行する1つ以上のプログラマブルプロセッサによって実行されことができる。プロセスおよび論理フローはまた、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得る。コンピュータプログラムの実行に好適であるプロセッサは、例として、汎用マイクロプロセッサおよび特殊目的マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。概して、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリまたは両方から命令およびデータを受信することになる。コンピュータの必須要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つ以上のメモリデバイスである。一般に、コンピュータはさらに、たとえば磁気ディスク、光磁気ディスクまたは光ディスクといった、データを格納するための1つ以上の大容量記憶装置を含むか、当該1つ以上の大容量記憶装置からデータを受取るかもしくは当該1つ以上の大容量記憶装置にデータを転送するよう作動的に結合されるか、またはその両方を行うことにもなる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス;磁気ディスク、たとえば内蔵ハードディスクまたはリムーバブルディスク;光磁気ディスク;およびCD ROMおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体、ならびにメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路によって補足され得るか、または特殊目的論理回路に組み込まれ得る。
【0056】
ユーザとの対話を提供するために、本開示の1つ以上の局面は、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタまたはタッチスクリーンといったユーザに対して情報を表示するための表示装置と、選択肢的にキーボードおよびたとえばマウス、トラックボールといったユーザがコンピュータに入力を提供可能であるポインティングデバイスとを有するコンピュータ上で実現され得る。他の種類のデバイスを用いて、ユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受信することができる。加えて、コンピュータは、ユーザが用いるデバイスにドキュメントを送信し、ユーザが用いるデバイスからドキュメントを受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答してそのウェブブラウザにウェブページを送信することによって、ユーザと対話し得る。
【0057】
いくつかの実現例について説明した。それにもかかわらず、本開示の精神および範囲から逸脱することなく、様々な修正がなされ得ることが理解されるであろう。したがって、他の実現例は特許請求の範囲内にある。