(57)【要約】  悪意のあるハイジャックイベントをリアルタイムで検出するためのシステム及び方法が提供される。方法は、少なくとも１つのＢＧＰルータからボーダゲートウェイプロトコル（ＢＧＰ）イベントに関連付けられているルーティングデータを受信することを含み得る。方法は、所有権、並びにオリジン及び上流機器に関する様々な他の詳細を表すフィーチャのリストを生成するために、ルーティングデータを処理することを更に含み得る。方法は、ルーティングデータ及びフィーチャのリストを使用して、ハイジャック検出モデルを生成することを更に含み得、正例とラベルなし学習技術などの機械学習技法が用いられる。機械学習技法は、少なくとも１つのデータ入力及び確率出力を含み得、データ入力は、履歴的に確認されたＢＧＰハイジャックデータのセット及びルーティングデータを受信するように接続される一方、確率出力は、データ入力に基づいて計算され得る、悪意のあるイベントの確率値を送信する。最後に、方法は、ＢＧＰハイジャックモデルを使用して、ＢＧＰイベントを、悪意のあるイベント又は悪意のないイベントに分類することを含み得る。この分類は、閾値カットオフ値を使用して、この閾値を機械学習技法によって生成される確率と比較することによって実現され得る。
2019504584.tif 000002
【特許請求の範囲】
【請求項１】
ルータハイジャックイベントを検出する方法であって、
データ収集モジュールによって、ボーダゲートウェイプロトコル（ＢＧＰ）イベントに関連付けられているルーティングデータを、少なくとも１つのＢＧＰルータから受信することと、
データプロセッサによって、オリジン、プレフィックス、又は上流機器に関連付けられているフィーチャのリストを生成するために前記ルーティングデータを処理することと、
前記ルーティングデータ及び前記フィーチャのリストを使用して、ハイジャック検出モデルを生成することと、
前記ＢＧＰハイジャックモデルを使用して、前記ＢＧＰイベントを、悪意のあるイベント又は悪意のないイベントに分類することと、を含む、方法。
【請求項２】
前記ハイジャック検出モデルを前記生成することが、
履歴的に確認されたＢＧＰハイジャックデータのセットを検索することと、
前記ルーティングデータのホールドアウトデータサブセットを使用して、閾値カットオフ値を生成することと、
データ入力及び確率出力を有する、機械学習技法を用いることによって、前記悪意のあるイベントの確率を計算することであって、前記データ入力が、前記履歴的に確認されたＢＧＰハイジャックデータのセット及び前記ルーティングデータを受信するように接続する、計算することと、を含み、
前記ＢＧＰイベントは、前記確率が前記閾値カットオフ値よりも大きい場合に、前記悪意のあるイベントとして分類される、請求項１に記載の方法。
【請求項３】
前記機械学習技法が、正例とラベルなし（ＰＵ）学習アルゴリズムであり、正例データ入力、ラベルなしデータ入力、及び確率出力を有し、前記正例データ入力が、前記履歴的に確認されたＢＧＰハイジャックデータのセットを受信するように接続され、前記ラベルなしデータ入力が、前記ルーティングデータを受信するように接続されている、請求項２に記載の方法。
【請求項４】
前記ＢＧＰイベントを前記分類することが、
ハイジャックイベントの確率を、前記ハイジャック検出モデルから受信することと、
前記確率が、所定値よりも大きいかどうかを判定することと、
前記確率が前記所定値よりも大きいことに応答して、前記ＢＧＰイベントを前記悪意のあるイベントとして分類することと、を含む、請求項１に記載の方法。
【請求項５】
各イベントが偽陰性又は偽陽性であるかどうかを検出することと、
検出された偽陰性又は偽陽性に応答して、前記履歴的に確認されたＢＧＰハイジャックデータのセットを修正することと、
前記修正された履歴的に確認されたＢＧＰハイジャックデータのセットを使用して、前記ＢＧＰハイジャックモデルを再訓練すること、を更に含む、請求項１に記載の方法。
【請求項６】
悪意のあるイベントに応答して、ＩＰアドレスのブロックのレピュテーションスコアを生成することと、
前記レピュテーションスコアを、少なくとも１つの接続された自立システム（ＡＳ）に送信すること、を更に含む、請求項１に記載の方法。
【請求項７】
悪意のあるイベントに応答して、前記悪意のあるイベントに関連付けられているＩＰアドレスのブロックを判定することと、
少なくとも１つの破損したパスを識別するために、ルーティングテーブルにアクセスすることと、
前記ルーティングテーブルを使用して、修正されたパスを生成することと、
前記ルーティングテーブルを前記修正されたパスで更新することと、を更に含む、請求項１に記載の方法。
【請求項８】
ルータハイジャック検出システムであって、
ＢＧＰイベントに関連付けられているルーティングデータを、少なくとも１つのＢＧＰルータから受信するように接続されたデータ収集モジュールと、
前記データ収集モジュールに接続されたメモリと、
メモリ及び前記データ収集モジュールに接続されたプロセッサであって、
前記ルーティングデータに関連付けられているフィーチャのリストを生成するために、前記データ収集モジュールに接続されたデータ処理モジュールと、
前記ルーティングデータ及び前記フィーチャのリストに基づいて、ハイジャック検出モデルを生成するために、データ収集モジュール及び前記データ処理モジュールに接続されたモデル生成モジュールと、
前記ＢＧＰハイジャックモデル前記ハイジャック検出モデルを使用して、前記ＢＧＰイベントを、悪意のあるイベント又は悪意のないイベントとして分類するために、前記モデル生成モデルに接続された検出ユニットと、を備えるプロセッサと、を備える、ルータハイジャック検出システム。
【請求項９】
前記モデル生成モジュールが、
履歴的に確認されたＢＧＰハイジャックデータのセットを受信するように接続された受信機と、
前記ルーティングデータのホールドアウトデータサブセットを使用して、閾値カットオフ値を生成するために、前記データ収集モジュールに接続された閾値モジュールと、
前記閾値モジュール及び前記データ収集モジュールに接続された処理ユニットと、を備え、前記処理ユニットが、データ入力及び確率出力を有する、機械学習技法を用いて、前記悪意のあるイベントの確率を計算するように構成され、前記データ入力が、前記履歴的に確認されたＢＧＰハイジャックデータのセット及びＢＧＰルーティングデータを受信するように接続され、前記ＢＧＰイベントは、前記確率が前記閾値カットオフ値よりも大きい場合に、前記悪意のあるイベントとして分類される、請求項８に記載のルータハイジャック検出システム。
【請求項１０】
前記処理ユニットの前記機械学習技法が、正例とラベルなし（ＰＵ）アルゴリズムであり、正例データ入力、ラベルなしデータ入力、及び確率出力を有し、前記正例データ入力が、前記履歴的に確認されたＢＧＰハイジャックデータのセットを受信するように接続され、前記ラベルなしデータ入力が、前記ルーティングデータを受信するように接続されている、請求項９に記載のルータハイジャック検出システム。
【請求項１１】
前記プロセッサが、
前記ルーティングデータに関連付けられているフィーチャのリストを生成するために前記データ収集モジュールに接続されたデータ処理モジュールを更に備え、前記モデル生成モジュールが、前記ハイジャック検出モデルを生成するための前記フィーチャのリストを受信するように接続する、請求項８に記載のルータハイジャック検出システム。
【請求項１２】
前記プロセッサが、
前記分類された悪意のあるイベント又は悪意のないイベントの通知を受信するために、かつ偽陽性又は偽陰性が発生しているかどうかを検出するために、前記検出ユニットに接続された検証ユニットと、
前記履歴的に確認されたＢＧＰハイジャックデータのセットを修正するために、前記検証ユニットに接続された修正ユニットと、
前記修正された履歴的に確認されたＢＧＰハイジャックデータのセットを使用して、前記ハイジャック検出モデルを再訓練するために、前記モデル生成モジュールに接続された同調ユニットと、を更に備える、請求項８に記載のルータハイジャック検出システム。
【請求項１３】
ＩＰアドレスのブロックの悪意のあるイベントに応答して、レピュテーションスコアを生成するために、前記検出ユニットに接続されたレピュテーションユニットと、
前記レピュテーションスコアを、少なくとも１つの接続された自立システム（ＡＳ）に送信するために、前記レピュテーションユニットに接続された送信機と、を更に備える、請求項８に記載のルータハイジャック検出システム。
【請求項１４】
前記悪意のあるイベントに関連付けられているＩＰアドレスのブロックを識別するために、前記検出ユニットに接続されたルート修正ユニットを更に備え、
前記ルート修正ユニットが、ルーティングテーブルを、少なくとも１つの自立システム（ＡＳ）から受信するように接続し、前記ＩＰアドレスのブロックに基づいて、少なくとも１つの破損したパスを識別し、前記ルート修正ユニットが、前記ルーティングテーブルを使用して、少なくとも１つの修正されたパスを生成し、かつ前記ルーティングテーブルを前記少なくとも１つの修正されたパスで更新する、請求項８に記載のルータハイジャック検出システム。
【請求項１５】
方法を実行するためのコードを含む非一時的コンピュータ可読媒体であって、前記方法が、
ＢＧＰイベントに関連付けられているルーティングデータを、少なくとも１つのＢＧＰルータから受信することと、
フィーチャのリストを生成するために前記ルーティングデータを処理することと、
前記ルーティングデータ及び前記フィーチャのリストを使用して、ハイジャック検出モデルを生成することと、
前記ＢＧＰハイジャックモデルを使用して、前記ＢＧＰイベントを、悪意のあるイベント又は悪意のないイベントに分類することと、を含む、非一時的コンピュータ可読媒体。
【請求項１６】
前記ハイジャック検出モデルを前記生成することが、
履歴的に確認されたＢＧＰハイジャックデータのセットを検索することと、
前記ルーティングデータのホールドアウトデータサブセットを使用して、閾値カットオフ値を生成することと、
データ入力及び確率出力を有する、機械学習技法を使用することによって、前記悪意のあるイベントの確率を計算することであって、前記データ入力が、前記履歴的に確認されたＢＧＰハイジャックデータのセット及び前記ルーティングデータを受信するように接続する、計算することと、を含み、
前記ＢＧＰイベントは、前記確率が前記閾値カットオフ値よりも大きい場合に、前記悪意のあるイベントとして分類される、請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
前記機械学習技法が、正例とラベルなし（ＰＵ）学習アルゴリズムであり、正例データ入力、ラベルなしデータ入力、及び確率出力を有し、前記正例データ入力が、前記履歴的に確認されたＢＧＰハイジャックデータのセットを受信するように接続され、前記ラベルなしデータ入力が、前記ルーティングデータを受信するように接続されている、請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
前記ＢＧＰイベントを前記分類することが、
ハイジャックイベントの確率を、前記ハイジャック検出モデルから受信することと、
前記確率が、所定値よりも大きいかどうかを判定することと、
前記確率が前記所定値よりも大きいことに応答して、前記ＢＧＰイベントを前記悪意のあるイベントとして分類することと、を含む、請求項１５に記載のコンピュータ可読媒体。
【請求項１９】
前記方法が、
各イベントが偽陰性又は偽陽性であるかどうかを検出することと、
検出された偽陰性又は偽陽性に応答して、前記履歴的に確認されたＢＧＰハイジャックデータのセットを修正することと、
前記修正された前記履歴的に確認されたＢＧＰハイジャックデータのセットを使用して、前記ＢＧＰハイジャックモデルを再訓練すること、を更に含む、請求項１５に記載のコンピュータ可読媒体。
【請求項２０】
前記方法が、
悪意のあるイベントに応答して、前記悪意のあるイベントに関連付けられているＩＰアドレスのブロックを判定することと、
少なくとも１つの破損したパスを識別するために、ルーティングテーブルにアクセスすることと、
前記ルーティングテーブルを使用して、修正されたパスを生成することと、
前記ルーティングテーブルを前記修正されたパスで更新することと、を更に含む、請求項１５に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
サイバー犯罪者は、ボーダゲートウェイプロトコル（ＢＧＰ）ハイジャックによって、信頼できる自律システム（ＡＳ）に関連付けられているインターネットプロトコルアドレス（ＩＰアドレス）のブロックを一時的に盗み、スパム、フィッシング、マルウェアホスティングなどのその他の悪意のある活動を実行する可能性がある。ＩＰアドレスは、通信のためにインターネットプロトコルを使用するコンピュータネットワークに参加する各デバイス（例えば、コンピュータ、プリンタ）に割り当てられた数値ラベルであるため、ＩＰアドレスの盗難は個人情報の盗難の一形態を表し、それによって犯罪者の足取りを再追跡することはできない。これらの個々のＩＰアドレスは、（Ｓｐｒｉｎｔ、Ｖｅｒｉｚｏｎ、ＡＴ＆Ｔなどの）ＡＳによって発信又は所有され得るプレフィックスにグループ化され得る。各ＡＳは、ＡＳ間のＩＰルーティングに関する情報を交換するための標準ルーティングプロトコルとして、ＢＧＰを使用して保持されるルーティングテーブルを有する１つ以上のルータを含み得る。したがって、ハイジャックされたネットワークからの攻撃を開始するサイバー犯罪者は、通常はネットワークの第１の防御層として使用することができる、過去のＩＰレピュテーションに基づいて、トレーサビリティを阻害し、セキュリティシステムを回避することができる。
【０００２】
ＢＧＰハイジャックモニタはハイジャックされたネットワークＩＰプレフィックスの検出を容易にするが、既存のハイジャック検出技術は４つの主要分野で苦悩している。第１に、従来のハイジャック検出システムは、正例サンプルが悪意のあるＢＧＰアナウンスメント（ルーティングデータ）を表し、負例サンプルが悪意のないものを表す、正例サンプルと負例サンプルとの両方を含むラベル付けされたセットを想定している。しかし、実際の実装のための正例サンプルは、ＢＧＰハイジャックイベントを確実に識別できるセキュリティ専門家によってのみ検出することができ、負例サンプル（悪意のないＢＧＰアナウンスメント）は多様過ぎてラベル付けすることができない。更に、現在のハイジャックモニタは、検出されたハイジャックを無効化するという課題のために、多くの誤検知を被っている。
【０００３】
第２に、一部の現在のハイジャックモニタは、ネットワークオペレータが検出されたハイジャックイベントの有効化又は無効化を手動で提供する場合に、単にネットワークオペレータが自身のネットワークをモニタリングするのを助けることに役立つものである。第３に、これらの検出メカニズムの一部は、インターネットルーティングインフラストラクチャの異常を探して、ネットワークＩＰプレフィックスのハイジャックを、ハイジャックされたプレフィックスが他のタイプの攻撃を開始するために使用されるかどうかを確認するために、あらゆる種類の悪意のあるネットワークトラフィックと相関させることなく検出することのみを行う。第４に、一部のシステムでは、ネットワークＩＰプレフィックスのハイジャックのシナリオがいくつか考えられるが、必ずしもサイバー犯罪者が使用するものではない可能性がある。
【０００４】
最後に、ネットワークＩＰプレフィックスハイジャック攻撃（例えば、ＲＰＫＩ、ＢＧＰｓｅｃなど）を防ぐために、通常は暗号を使用して、ルーティングインフラストラクチャにセキュリティ機構を実装するための多くの努力がなされている。しかしながら、これらの提案されたソリューションは、通常、ネットワークデバイスのソフトウェア及びハードウェアに大きな変更を必要とし、これによって現在これらのソリューションを広く展開させることを妨げている。これは、実施形態が生まれる文脈内にある。
【発明の概要】
【０００５】
一部の実施形態では、ルータハイジャックイベントを検出するシステム及び方法が提供される。方法は、データ収集モジュールによって、ＢＧＰイベントに関連するルーティングデータを、少なくとも１つのＢＧＰルータから受信することを含み得る。方法は、データプロセッサによって、オリジン、プレフィックス、及び／又は上流機器に関連付けられているフィーチャのリストを生成するために、ルーティングデータを処理することを更に含み得る。更に、方法は、ルーティングデータ及びフィーチャのリストを使用して、ハイジャック検出モデルを生成することを含み得る。モデル生成工程は、少なくとも１つのデータ入力及び確率出力を含む正例とラベルなし（ＰＵ）学習などの機械学習技法を用いることによって、悪意のあるイベントの確率を計算することを含み得、データ入力は、履歴的に確認されたＢＧＰハイジャックデータのセット及びルーティングデータを受信するように接続される一方、確率出力は、データ入力に基づく悪意のあるイベントの確率値を送信する。更に、方法は、ＢＧＰハイジャックモデルを使用して、ＢＧＰイベントを、悪意のあるイベント又は悪意のないイベントに分類することを含み得る。分類は、ルーティングデータのホールドアウトデータサブセットを使用して、確率が閾値カットオフ値よりも大きいかどうかを評価することを含み得、それによって、確率がより大きいと検証すると、そのイベントは、悪意のあるものとして分類される。
【０００６】
一部の実施形態において、ルータハイジャック検出システムが提供される。ルータハイジャック検出システムは、ＢＧＰイベントに関連付けられているルーティングデータを、少なくとも１つのＢＧＰルータ、メモリ及びプロセッサから受信するように接続されたデータ収集モジュールを含み得る。プロセッサは、ルーティングデータに関連付けられているフィーチャのリストを生成するために、データ収集モジュールに接続されたデータ処理モジュールを含み得る。プロセッサは、ルーティングデータ及びフィーチャのリストに基づいてハイジャック検出モデルを生成するために、データ収集モジュール及びデータ処理モジュールに接続されたモデル生成モジュールを更に含み得る。更に、プロセッサは、ＢＧＰハイジャックモデルハイジャック検出モデルを使用して、ＢＧＰイベントを、悪意のあるイベント又は悪意のないイベントとして分類するために、モデル生成モデルに接続された検出ユニットを含み得る。更に、プロセッサは、分類された悪意のあるイベント又は悪意のないイベントの通知を受信するために、かつ偽陽性又は偽陰性が発生しているかどうかを検出するために、検出ユニットに接続された検証ユニットを含み得る。この検証ユニットは、履歴的に確認されたＢＧＰハイジャックデータのセットを修正するための修正ユニットに接続され得る。更に、修正された履歴的に確認されたＢＧＰハイジャックデータのセットを使用して、ハイジャック検出モデルを再訓練するために、モデル生成モジュールに接続された同調ユニット。
【０００７】
一部の実施形態において、プロセッサによって実行されると、プロセッサに、本明細書に記載するルータハイジャック検出方法を実行させる命令を有する有形の非一時的コンピュータ可読媒体。方法は、データ収集モジュールによって、ＢＧＰイベントに関連付けられているルーティングデータを、少なくとも１つのＢＧＰルータから受信することを含み得る。方法は、データプロセッサによって、オリジン、プレフィックス、又は上流機器に関連付けられているフィーチャのリストを生成するために、ルーティングデータを処理することを更に含み得る。更に、方法は、ルーティングデータ及びフィーチャのリストを使用して、ハイジャック検出モデルを生成することを含み得る。モデル生成工程は、少なくとも１つのデータ入力及び確率出力を含む、ＰＵ学習などの機械学習技法を用いることによって、悪意のあるイベントの確率を計算することを含み得、データ入力は、履歴的に確認されたＢＧＰハイジャックデータのセット及びルーティングデータを受信するように接続され、確率出力は、データ入力に基づく悪意のあるイベントの確率値を送信する。更に、方法は、ＢＧＰハイジャックモデルを使用して、ＢＧＰイベントを、悪意のあるイベント又は悪意のないイベントに分類することを含み得る。分類は、ルーティングデータのホールドアウトデータサブセットを使用して、確率が閾値カットオフ値よりも大きいかどうかを評価することを含み得、それによって、確率がより大きいと検証すると、そのイベントは、悪意のあるものとして分類される。
【０００８】
実施形態の他の態様及び利点は、例えば、記載した実施形態の原理を示す添付図面と関連して行われる以下の詳細な説明から明白になるであろう。
【図面の簡単な説明】
【０００９】
説明した実施形態及びその利点は、添付図面と関連して行われる以下の説明を参照して最もよく理解され得る。これらの図面は、記載された実施形態の趣旨と範囲から逸脱することなく、記載された実施形態に対して当業者によって行われる形態と詳細のいかなる変更も制限しない。
【００１０】
【図１Ａ】本明細書で開示されるリアルタイムアプリケーションにおける悪意のあるハイジャックイベントを検出する、ハイジャック検出システムを有する例示的なネットワークアーキテクチャのブロック図である。
【００１１】
【図１Ｂ】一部の実施形態における図１の例示的な自律システム（ＡＳ）である。
【００１２】
【図２】埋め込まれたハイジャック検出モジュールを有する例示的なＡＳである。
【００１３】
【図３Ａ】一部の実施形態による、悪意のあるハイジャックイベントをリアルタイムで検出するための方法のフロー図である。
【００１４】
【図３Ｂ】一部の実施形態による、図３Ａのモデル構築段階３００のフロー図である。
【００１５】
【図３Ｃ】一部の実施形態による、図３Ａのハイジャック検出段階３５０及びモデル再訓練段階３８０のフロー図である。
【００１６】
【図４】本明細書に記載する実施形態を実現し得る例示的なコンピューティングデバイスを示す説明図である。
【発明を実施するための形態】
【００１７】
実施形態は以下に、ネットワークの完全性を保証するためのルータハイジャックイベントを検出するシステム及び方法を説明する。方法は、データ収集モジュールによって、ＢＧＰイベントに関連付けられているルーティングデータを、少なくとも１つのＢＧＰルータから受信することを含み得る。方法は、データプロセッサによって、オリジン、プレフィックス、及び／又は上流機器に関連付けられているフィーチャのリストを生成するために、ルーティングデータを処理することを更に含み得る。更に、方法は、ルーティングデータ及びフィーチャのリストを使用して、ハイジャック検出モデルを生成することを含み得る。モデル生成工程は、少なくとも１つのデータ入力及び確率出力を含む、機械学習技法の使用を用いてもよく、データ入力は、履歴的に確認されたＢＧＰハイジャックデータのセット及びルーティングデータを受信するように接続され、一方で確率出力は、データ入力に基づいて計算され得る、悪意のあるイベントの確率値を送信する。更に、方法は、ＢＧＰハイジャックモデルを使用して、ＢＧＰイベントを、悪意のあるイベント又は悪意のないイベントに分類することを含み得る。特に、分類は、ルーティングデータのホールドアウトデータサブセットを使用して、確率が閾値カットオフ値よりも大きいかどうかを評価することを含み得、それによって、確率がより大きいと検証すると、そのイベントは、悪意のあるものとして分類される。したがって、悪意のあるイベントに関連付けられているネットワークＩＰプレフィックスの知識は価値があり得、本明細書で説明するシステムが、単一のＩＰアドレスだけでなくＩＰアドレスの全ブロック（ＩＰプレフィックス）についても、トラフィックを再ルーティングするのに必要であると考えられる適切なアクションを取ることを可能にする。
【００１８】
システムは、正確なリアルタイムＢＧＰハイジャック識別を達成するためのＰＵ学習方法論のような、機械学習技法を用い得、限定された悪意のない訓練データを改善し、かつセキュリティ専門家から手作業でラベル付けする作業を軽減する。特に、モデル生成工程は、正例データ入力、ラベルなしデータ入力及び確率出力を有する、ＰＵ学習技法の使用を用いてもよく、正例データ入力は、履歴的に確認されたＢＧＰハイジャックデータのセットを受信するように接続され、ラベルなしデータ入力は、ルーティングデータを受信するように接続され、確率出力は、データ入力に基づいて計算され得る悪意のあるイベントの確率値を送信する。例えば、過去２．５年間に収集された３，８９９件のＢＧＰハイジャックデータを３４０，０００件の未確認データと共に使用することによって、システムは全ての新しいＢＧＰハイジャックイベントの検出率について９９．６％を達成することができる。
【００１９】
本明細書に記載するシステムは、インターネットルーティングインフラストラクチャ内の異常を探して、ネットワークＩＰプレフィックスのハイジャックを検出するだけでなく、本明細書に記載するシステム及び方法は、これらの異常を様々な種類の悪意のあるネットワークトラフィックと相関させ得、ハイジャックされたプレフィックスが他の種類の攻撃を開始するかどうかを確認する。ハイジャックされたネットワークの悪意のある使用を検出することは、ネットワークをハイジャックすることによってトレーサビリティを妨げ、ＩＰレピュテーションベースの防衛システムを回避することを目的とする攻撃者によって実行される、より効率的な悪意のある活動（例えば、スパム、詐欺ウェブサイト）を識別するのに役立ち得る。
【００２０】
本明細書に記載するシステムによって生成される悪意のあるイベントの知識は、例えば、スパムフィルタで使用されるＩＰブラックリストの更新など、既存のＩＰレピュテーションベースのシステムを更新するために使用することができる。悪意のあるＢＧＰハイジャックを正確に検出することで、サイバー犯罪者が完全に管理しているネットワークを識別することができ、所与の時間期間でこれらのネットワークＩＰプレフィックスから送信された全てのネットワークトラフィックについて、適切なアクションを取ることができる（例えば、そのセキュリティシステムでは非常に低いレピュテーションを与える）。セキュリティシステム（例えば、スパムフィルタ）は、通常、他のネットワークトラフィック分析と比べて、リソース消費が非常に低いプロセスであるため、第１の防衛層（例えば、トラフィックをブロック又は奪取する）としてＩＰレピュテーションを使用する。したがって、本明細書に記載するシステム及び方法は、既存のＩＰレピュテーションベースのシステム（例えば、ＩＰブラックリスト）の更新に役立ち、結果として、競合他社がハイジャックされたネットワークから送信された悪意のある活動を検出するために、従来のより高いリソース要求の技術（例えば、電子メールのダウンロード及び分析など）を使用するようになる。それによって、本明細書に記載するシステム及び方法は、理想的には、ＢＧＰハイジャックイベントを自動的かつ効果的に識別する。
【００２１】
以下の説明で、多数の詳細について説明する。しかしながら、本発明はこれらの特定の詳細を伴わずに実施されてもよいことが、当業者には明白となるであろう。いくつかの例では、本発明が不明瞭になるのを回避するため、周知の構造及びデバイスについては、詳細ではなくブロック図の形態で示される。
【００２２】
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットでの動作のアルゴリズム及び記号表現に関して与えられる。これらのアルゴリズム的記述及び表現は、データ処理分野の当業者が、他の当業者に対して仕事の内容を最も効果的に伝達するために使用する手段である。アルゴリズムは、本明細書では、また一般に、所望の結果に結び付く工程の首尾一貫したシーケンスとして想到される。工程は、物理量の物理的操作を要するものである。必須ではないものの、通常、これらの量は、記憶し、転送し、組み合わせ、比較し、また別の形で操作することができる、電気信号又は磁気信号の形態を採る。これらの信号をビット、値、要素、記号、文字、用語、数値などと称することが、主に一般的な用法の理由から時には好都合であることが判明している。
【００２３】
しかしながら、これら及び同様の用語の全てが、適切な物理量と関連付けられるものであり、これらの量に適用される好都合なラベルに過ぎないことに留意すべきある。以下の考察から明白であるように、別の形で具体的に提示されない限り、明細書全体を通して、「提供する」、「生成する」、「インストールする」、「モニタリングする」、「実施する」、「受信する」、「ログに記録する」、「妨害する」などの用語を利用した考察は、コンピュータシステムのレジスタ及びメモリ内の物理（電子）量として表されるデータを操作し、コンピュータシステムのメモリ若しくはレジスタ、又は他のかかる情報の記憶、伝達、若しくは表示デバイス内の物理量として同様に表される、他のデータへと変換する、コンピュータシステム又は類似の電子コンピューティングデバイスのアクション及びプロセスを指すことを理解されたい。
【００２４】
本発明はまた、本明細書の動作を行うための装置に関する。この装置は、要求される目的に合わせて特別に構築されてもよく、又はコンピュータに記憶されたコンピュータプログラムによって選択的に活性化若しくは再構成される汎用コンピュータを備えてもよい。かかるコンピュータプログラムは、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、及び光磁気ディスクを含む任意の種類のディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、又は電子命令を記憶するのに好適な任意の種類の媒体などが挙げられるが、これらに限定されない、コンピュータ可読記憶媒体に記憶されてもよく、それぞれがコンピュータシステムバスに接続される。
【００２５】
本明細書における「一実施形態」又は「ある実施形態」に対する言及は、実施形態と関連して記載される特定の特徴、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。本明細書の様々な位置にある「一実施形態では」という句は、必ずしも同じ実施形態を指さない。図面の説明全体を通して、同様の参照番号は、同様の要素を意味する。
【００２６】
図１Ａは、ハイジャック検出システム１２０の実施形態が動作し得る、有するリアルタイムで悪意のあるイベントを検出する例示的なネットワークアーキテクチャ１００のブロック図である。ネットワークアーキテクチャ１００は、ネットワーク１５０（例えば、インターネットなどのパブリックネットワーク又はローカルエリアネットワーク（ＬＡＮ）などのプライベートネットワーク）に接続された複数のハイジャック検出システム１２０を含んでもよい。更に、ネットワークアーキテクチャ１００は、再訓練段階中に偽陽性及び偽陰性サンプルを検証する、セキュリティ専門家からの入力を受信するように接続されたコンピューティングデバイス１３６を含んでもよい。コンピューティングデバイス１３６の例としては、パーソナルコンピュータ、ラップトップ、ＰＤＡ、携帯電話、ネットワークアプライアンスなどが挙げられるが、これらに限定されない。コンピューティングデバイス１３６及びハイジャック検出システム１２０は、インターネットを介して接続されているが、ファイアウォール、ルータ、及び／又は他のネットワークデバイスによって分離された、同じＬＡＮ上又は異なるＬＡＮ上に存在してもよい。別の実施形態では、コンピューティングシステムは異なるネットワーク上に存在してもよい。図示されていないが、様々な実施形態において、コンピューティングシステムは、ノートブックコンピュータ、デスクトップコンピュータ、マイクロプロセッサベース又はプログラム可能な民生用電子機器、ネットワーク機器、携帯電話、スマートフォン、ページャ、無線周波数（ＲＦ）、赤外線（ＩＲ）デバイス、携帯情報端末（ＰＤＡ）、テレビジョン、前述のデバイスのうちの少なくとも１つを組み合わせた統合型デバイスなどであってもよい。
【００２７】
ネットワーク１５０は、個別に管理されたドメインの制御下にある１つ以上のサブネットネットワークを含んでもよく、その地域インターネットレジストリによって割り当てられた固有の数値識別子（ＡＳ  ＩＤ）によって識別されるＡＳ（１４０ａ〜１４０ｆ）を構成する。各ＡＳ（１４０ａ〜１４０ｆ）は、ドメイン間ルーティング、例えば、隣接する自律システム（ＡＳ）を介したＩＰトラフィックのルーティングを容易にするために、１つ以上のＢＧＰルータ（図示せず）を含んでもよい。ＡＳ  ＩＤは、ＡＳが所有する１つ以上のＩＰ宛先プレフィックスに関連付けられてもよい。ハイジャック検出システム１２０の例として、パーソナルコンピュータ、ラップトップ、ＰＤＡ、携帯電話、ネットワーク機器などが挙げられるが、これらに限定されない。ハイジャック検出システム１２０は、ネットワーク機器、ゲートウェイ、パーソナルコンピュータなどであってもよい。示されるような一実施形態では、ハイジャック検出システム１２０は、ネットワーク１５０の外部に存在してもよい。別の実施形態では、ハイジャック検出システム１２０は、図２を参照して更に説明する、１つのＡＳ（１４０ａ〜１４０ｆ）と共に存在してもよい。
【００２８】
各ＡＳ（１４０ａ〜１４０ｆ）は、インターネットを介して共に接続されてもよいが、ファイアウォール、ルータ、及び／又は他のネットワークデバイスによって分離されてもよい。インターネットには、数十万のＡＳが含まれている場合があり、各ＡＳは、ドメイン間ルーティング情報（又はルーティングアナウンスメント）を保持及び交換するためにＢＧＰルータを使用して、隣接関係を確立してもよい。図示されていないが、様々な実施形態において、ハイジャック検出システム１２０は、ノートブックコンピュータ、デスクトップコンピュータ、マイクロプロセッサベース又はプログラム可能な民生用電子機器、ネットワーク機器、携帯電話、スマートフォン、ページャ、無線周波数（ＲＦ）デバイス、赤外線（ＩＲ）デバイス、携帯情報端末（ＰＤＡ）、テレビジョン、前述のデバイスのうちの少なくとも１つを組み合わせた統合型デバイスなどであってもよい。
【００２９】
ハイジャック検出システム１２０は、悪意のあるＢＧＰイベントについて分析されるルーティングデータを、リアルタイムで収集するためのデータ収集モジュール１２２を含んでもよい。ハイジャック検出システム１２０はまた、現在のルーティングデータ、履歴的に確認されたＢＧＰハイジャックデータ（正例サンプル）のうちの少なくとも１つのセット、負例サンプルなどを格納する、１つ以上の集中データレポジトリであってもよい、ローカルデータストア１２４を含む。ローカルデータストア１２４は、磁気又は光ストレージベースのディスク、テープ又はハードドライブなどの１つ以上の大容量記憶装置に存在する単一又は複数のデータ構造（データベース、リポジトリ、ファイルなど）を表してもよい。ハイジャック検出システム１２０に対してローカルであるように図示されているが、ローカルデータストア１２４は、ハイジャック検出システム１２０から離れていてもよく、ハイジャック検出システム１２０は、パブリック又はプライベートネットワークを介してローカルデータストア１２４と通信することができる。
【００３０】
ハイジャック検出システム１２０は、プロセッサ１２６、データ前処理モジュール１２８、ＢＧＰハイジャック検出モジュール１３０、及びメモリ１３４を更に含んでもよい。データ前処理モジュール１２８は、ルーティングデータをデータ収集モジュールから受信するように接続されてもよい。データ前処理モジュール１２８は、ルーティングデータを処理して、そのオリジン、プレフィックス、及び／又は任意の上流機器に関連付けられているフィーチャのリストを生成するための命令を含んでもよい。かかるリストは、以下の表１のフィーチャのうちのいずれか１つを含むことができる。実施形態は、グローバルＢＧＰアナウンスメントの履歴記録にアクセスすることができることは理解されるべきである。新しいアナウンスメントが検出された場合、実施形態は表１に示すようなフィーチャを生成することができる。
【００３１】
【表１】
2019504584.tif 000003
【００３２】
ＢＧＰハイジャック検出モジュール１３０は、少なくとも１つのデータ入力及び確率出力を含む、ハイジャック検出モデル１３２を生成するために機械学習技法の使用を用いてもよい。データ入力は、履歴的に確認されたＢＧＰハイジャックデータのセットを、ローカルデータストア１２４から受信するように接続してもよい。更に、データ入力は、ルーティングデータを、データ収集モジュール１２２から受信するように接続してもよい。ＢＧＰハイジャック検出モジュール１３０は、ハイジャック検出モデル１３２によって生成され、確率出力を介して送信される悪意のあるイベントの確率値の更なる処理を用いてもよい。
【００３３】
システムは、モデル構築段階、悪意のあるＢＧＰハイジャック検出段階、及びモデル再訓練段階の３段階の動作を含むことができる。モデル構築段階において、ＢＧＰハイジャック検出モジュール１３０は、履歴的に確認されたＢＧＰハイジャックデータのセットを検索してもよい。ＢＧＰハイジャック検出モジュール１３０はまた、ルーティングデータのホールドアウトデータサブセットを使用して閾値カットオフ値を生成してもよく、閾値カットオフ値は、イベントが悪意のあるもの又は悪意のないものであるかどうかの判定を行うために使用される。ＢＧＰハイジャック検出モジュール１３０は、データ入力及び確率出力を有する、機械学習技法を使用することによって、悪意のあるイベントの確率を計算し得、データ入力は、履歴的に確認されたＢＧＰハイジャックデータのセット及びルーティングデータを受信するように接続する。最後に、ハイジャック検出モデル１３２は、確率が閾値カットオフ値より大きい場合にＢＧＰイベントを悪意のあるものとして分類するように構成される。
【００３４】
悪意のあるＢＧＰハイジャック検出段階において、ＡＳ間のドメイン間ルーティングによって、ＡＳが悪意のあるＡＳのＢＧＰルータ（例えば、プレフィックスハイジャッカー）が、偽造されたＡＳパス（例えば、偽アナウンスメント）を使用して宛先プレフィックスへのルートをアナウンスできないようにするが、ハイジャック検出システム１２０は、モデル構築段階において生成されたモデルを使用して、悪意のあるイベントを検出するために、所定の期間内にＢＧＰルータによって送信された全てのルーティングデータをモニタリングしてもよい。偽アナウンスメントは、複数のＡＳにまたがる多数のＢＧＰルータにすぐにカスケード接続し、関連するルーティングテーブルを汚染する可能性があるが、本明細書に記載するシステムは、これらの悪意のあるイベントをリアルタイムで検出し、関連するルーティングテーブルを個別に修正するための各ＡＳへの通知を発行してもよい。別の実施形態では、ハイジャック検出システム１２０は、悪意のあるイベントに関連付けられているＩＰアドレスのブロックを検出し、少なくとも１つの破損したパスを識別してもよい。ハイジャック検出システム１２０は、更に、修正されたパスを生成し、ルーティングテーブルを更新してもよい。
【００３５】
モデル再訓練段階において、ＢＧＰハイジャック検出モジュール１３０は、各イベントが偽陰性又は偽陽性であるかどうかを検出する追加の検査を実行してもよい。別の実施形態では、ＢＧＰハイジャック検出モジュール１３０は、任意の偽陰性又は偽陽性イベントを検証した管理者からの入力を受け取るために接続してもよい。ＢＧＰハイジャック検出モジュール１３０は、更に、検出された偽陰性又は偽陽性に応答して、ローカルデータストア１２４に記憶された履歴的に確認されたＢＧＰハイジャックデータのセットを修正してもよい。ＢＧＰハイジャック検出モジュール１３０は、関連するルーティングテーブルを修正するための各ＡＳへの通知を更に生成することができる。更に、ＢＧＰハイジャック検出モジュール１３０は、修正された履歴的に確認されたＢＧＰハイジャックデータのセットを使用して、ＢＧＰハイジャックモデル１３２を再訓練してもよい。
【００３６】
図１Ｂは、一部の実施形態における図１の例示的な自律システム（ＡＳ）１４０ａを示す。ＡＳ１４０ａは、少なくとも１つのＢＧＰルータ１４４と少なくとも１つの内部ゲートウェイプロトコル（ＩＧＰ）ルータ１４２とを相互接続する、少なくとも１つのドメイン内ネットワーク１４８を含む。少なくとも１つのＢＧＰルータ１４４は、隣接するＡＳのＢＧＰルータ（１４０ｂ〜１４０ｅ）の間でドメイン間ルーティング情報を保持し、交換し、図１に示すように、例えば、隣接するＡＳとの間のＩＰトラフィックのルーティングを容易にするように構成される。ＢＧＰルータ１４４は、（１）宛先プレフィックス、（２）次ホップＡＳ及び（３）ＡＳレベルのパスを保持するルーティングテーブル１４６を含んでもよい。
【００３７】
図２は、一部の実施形態による、埋め込みハイジャック検出システムを有する例示的なＡＳを示す。ＡＳ１４０ａと同様に、ＡＳ２００は、少なくとも１つのＢＧＰルータ２０６と少なくとも１つのＩＧＰルータ２０２とを相互接続する、少なくとも１つのドメイン内ネットワーク２１０を含んでもよい。少なくとも１つのＢＧＰルータ２０６は、例えば、図１に示すように、隣接するＡＳのＢＧＰルータとのドメイン間ルーティング情報を保持し、交換し、隣接するＡＳとの間のＩＰトラフィックのルーティングを容易にするように構成されてもよい。ＢＧＰルータ２０６は、（１）宛先プレフィックス、（２）次ホップＡＳ及び（３）ＡＳレベルのパスを保持するルーティングテーブル１４６を含んでもよい。
【００３８】
ハイジャック検出システム２０４は、少なくとも１つのＢＧＰルータ２０６と少なくとも１つのＩＧＰルータ２０２とを相互接続する、少なくとも１つのドメイン内ネットワーク２１０に接続してもよい。独立型ハイジャック検出システム１２０と同様に、ハイジャック検出システム２０４は、データ収集モジュールと、プロセッサと、データ前処理モジュールと、ＢＧＰハイジャック検出モジュールと、メモリ（図示せず）と、を含んでもよい。データ収集モジュールは、少なくとも１つのＢＧＰルータ２０６と少なくとも１つのＩＧＰルータ２０２とを相互接続する、少なくとも１つのドメイン内ネットワーク２１０からルーティングデータを受信するように接続してもよい。データ前処理モジュールは、ルーティングデータを処理して、そのオリジン、プレフィックス、及び／又は任意の上流機器に関連付けられているフィーチャのリストを生成するための命令を含んでもよい。ハイジャック検出システム２０４は、少なくとも１つのデータ入力及び確率出力を含む、ハイジャック検出モデルを生成するために、機械学習技法の使用を用いてもよい。モデルのデータ入力は、履歴的に確認されたＢＧＰハイジャックデータのセットを、ローカル又はリモートのデータストアから受信するように接続してもよい。更に、生成されたハイジャックモデルのデータ入力は、ルーティングデータを受信するように接続してもよい。ハイジャック検出システム２０４は、悪意のあるイベントの検出のための確率値の更なる処理を用いてもよい。
【００３９】
図３Ａは、一部の実施形態による、悪意のあるハイジャックイベントをリアルタイムで検出するための方法のフロー図を示す。上述したように、ハイジャック検出のための本明細書に記載するシステム及び方法は、モデル構築段階３００と、悪意のあるＢＧＰハイジャック検出段階３５０と、モデル再訓練段階３８０と、の３つの動作段階を含むことができる。例えば、アクション３００の第１の段階において、ハイジャック検出システム１２０は、機械学習技法に基づいてハイジャック検出モデルを構築してもよい。ハイジャック検出を実用するのに好適な機械学習方法としては、例えば、教師付き学習法（例えば、分析学習、人工ニューラルネットワーク、事例ベース推論、決定木学習、誘導論理プログラミングガウスプロセス回帰、遺伝子発現プログラミング、カーネル推定器、サポートベクタマシン、ランダムフォレスト、分類器のアンサンブルなど）、教師なし学習方法（例えば、自己組織化マップ（ＳＯＭ）及び適応共鳴理論（ＡＲＴ）を備えたニューラルネットワーク、半教師付き学習方法（例えば、制約付きクラスタリング、ＰＵ学習）、強化学習法（例えば、モンテカルロ法）、伝達推論法（例えば、伝達支援ベクトルマシン、ベイジアンコミティーマシン）、又はマルチタスク学習法（例えば、クラスタ化マルチタスク学習）を挙げることができる。
【００４０】
アクション３５０の第２の段階において、ハイジャック検出システム１２０は、ＢＧＰアナウンスメントの形式で送信されたルーティングデータのリアルタイムハイジャック検出の処理を一貫して行ってもよい。例えば、ルーティングデータは、データ収集モジュール１２２及びＢＧＰハイジャック検出モジュール１３０によって、リアルタイムでモニタリングされてもよい。ＢＧＰハイジャック検出モジュール１３０は、アクション３００で生成されたハイジャック検出モデル１３２を使用して、悪意のあるイベント及び悪意のないイベントを識別してもよい。ＢＧＰハイジャック検出モジュール１３０は、更に、少なくとも１つの悪意のあるイベントに関連付けられているＩＰアドレスのブロックを検出してもよい。更に、ＢＧＰハイジャック検出モジュール１３０は、識別された悪意のあるイベントに関連付けられている少なくとも１つの破損したパスを検出してもよい。したがって、ＢＧＰハイジャック検出モジュール１３０は、少なくとも１つの破損したパスを置き換えて、ＢＧＰルータのルーティングテーブルに格納される修正されたパスを生成することができる。
【００４１】
アクション３８０の第３の段階において、モデル構築段階で生成されたハイジャック検出モデルを再訓練するために、偽陰性及び偽陽性データを検証してもよい。例えば、ＢＧＰハイジャック検出モジュール１３０は、偽陰性及び偽陽性データセットを識別し、その正確性を検証してもよい。別の実施形態では、ＢＧＰハイジャック検出モジュール１３０は、コンピューティングデバイス１３６からの入力を受信するように接続され得、セキュリティ専門家は、偽陰性及び偽陽性データセットに関する検証データを入力する。これらの３つの段階は、図３Ｂ及び図３Ｃを参照して更に詳細に説明される。
【００４２】
図３Ｂは、一部の実施形態による、図３Ａのモデル構築段階３００のフロー図を示す。モデル構築段階３００において、データ収集モジュールは、アクション３０２においてリアルタイムでＢＧＰルーティングデータを集めてもよい。例えば、データ収集モジュール１２２は、ＡＳ（１４０ａ〜１４０ｆ）のＢＧＰルータによって送信されたＢＧＰアナウンスメントを受信するように接続してもよい。アクション３０４において、所有権、プレフィックスデータ、及び上流機器に関するフィーチャのリストが、ルーティングデータから生成されてもよい。例えば、データ前処理モジュール１２８は、このアナウンスメントを表す所有権、プレフィックス、及び／又は上流機器に関連するフィーチャのリストを生成するために、各ＢＧＰルーティングアナウンスメントを処理してもよい。アクション３０６において、ハイジャック検出は、履歴的に確認されたハイジャックデータを検索してもよい。例えば、ＢＧＰハイジャック検出モジュール１３０は、履歴的に確認されたハイジャックデータを、データベース１２４のようなローカルデータストアから検索してもよい。別の実施形態では、履歴的に確認されたハイジャックデータが、データ収集モジュール１２２によって、ネットワーク１５０を介して、一部のネットワークストレージユニットから集められてもよい。
【００４３】
アクション３０８において、初期モデルが、アクション３０６において検索された履歴的に確認されたＢＧＰハイジャックデータ及びアクション３０４のフィーチャのリストを使用して構築されてもよい。例えば、ＢＧＰハイジャック検出モジュール１３０は、機械学習アルゴリズムを用いて、リアルタイムルーティングデータのうちの一部を使用して初期モデルを生成してもよい。更に、アクション３１０において、初期モデルを使用して、所定量の正例データ及びラベルなしデータが収集されてもよい。例えば、ハイジャック検出システム１２０が所定量の正例データ（すなわち、確認されたＢＧＰハイジャック）及びラベルなしデータ（すなわち、データ収集モジュールによって集められたデータ）を集めると、ＢＧＰハイジャック検出モジュール１３０は、ＰＵ学習方法を用いてハイジャック検出モデルを構築し、アクション３１２においてモデルを更新してもよい。
【００４４】
したがって、アクション３１４において、閾値カットオフ値が生成されてもよい。例えば、ＢＧＰハイジャック検出モジュール１３０は、ルーティングデータのホールドアウトデータサブセットを使用して閾値を生成してもよい。一部の実施形態では、受信機動作特性（ＲＯＣ）曲線を使用して閾値を生成してもよい。例えば、偽陽性率期待値は０．１％で予め設定されていてもよく、ＢＧＰハイジャック検出モジュール１３０はＲＯＣ曲線を見て、どの閾値カットオフ値が０．１％偽陽性率に対応するかの判定を行ってもよい。ＰＵ学習の確率的性質のために、この閾値が、ＢＧＰアナウンスメントに悪意があるかどうかを判定する際のカットオフ値として使用されてもよい。特に、閾値より大きい確率を有するアナウンスメントは、悪意のあるものとして分類される可能性がある。ハイジャック検出モデルが構築されると、そのモデルはハイジャック検出の目的でメモリ１３４に存在してもよい。
【００４５】
正例及びラベルなしの例（ＰＵ学習）を使用する機械学習技法は、負例のデータサンプルを収集することが困難である場合、又は訓練データに偽陰性が多量に存在する場合、バイナリ分類アプリケーションのソリューションとして生じる。例えば、本明細書に記載するシステム及び方法を参照すると、ルーティングデータは、ハイジャック検出モデルを構築することができる２セットのサンプル、すなわち手動で確認され、検証されたＢＧＰハイジャック例の正例セットと、ＢＧＰハイジャック又は悪意のないＢＧＰアナウンスメントのいずれかの可能性がある疑わしいイベントを含む混合セットと、から構成されてもよい。ただし、混合したセットは、最初はラベルなしである。つまり、悪意のあるハイジャックイベントと、混合したデータセットの悪意のないＢＧＰアナウンスメントとは区別されない。ＢＧＰハイジャックイベント（正例サンプル）を確実に識別するためにセキュリティ専門家への依存が大きいため、負例（悪意のないＢＧＰアナウンスメント）サンプルの不足が、現在の実際の手動ＢＧＰハイジャック識別プロセスを表している一方で、他のＢＧＰアナウンスメント（負例サンプル）は多様過ぎてラベル付けすることができない。更に、特定の疑わしいイベントは、更なる検査を妨げる、これらのアナウンスメントに関連付けられている複雑な要因のために、ラベル付けされていないことがある。
【００４６】
ハイジャック検出に関して、信頼できる負例サンプルが不足していることは、サイバー脅威の識別において共通の問題である。例えば、ネットワーク侵入及びウイルス検出に対処する現在のシステムは存在しない。悪意のないもの又は侵入するものとしてネットワーク接続にラベル付けするには、人の専門家のための多額の費用が必要である。更に、ネットワークトラフィックの変更は、悪意のない行動のプロファイルを変更する可能性がある。識別された侵入型接続が正例サンプルとみなされ、悪意のない接続が負例サンプルとみなされる場合、真陰性サンプルは正例訓練データよりも取得することが困難であることがわかる。明示的にラベル付けされた侵入脅威のみから学習するために、距離又は密度に基づく現在の検出戦略が適用されている。しかしながら、これらの方法は、悪意のある挙動又は悪意のない挙動のいずれかが、比較的一定のプロファイルを有すると仮定しており、実生活のデータでは必ずしも満足されない。
【００４７】
図３Ｃは、一部の実施形態による、図３Ａのハイジャック検出段階３５０及びモデル再訓練段階３８０のフロー図を示す。アクション３５２の悪意のあるＢＧＰハイジャック検出段階において、ハイジャック検出システムはルーティングデータを受信してもよい。例えば、データ収集モジュール１２２は、ＢＧＰルーティング情報をリアルタイムで集めてもよい。アクション３５４において、所有権、プレフィックスデータ、及び上流機器に関連するフィーチャのリストは、アクション３５２において受信されたルーティングデータから生成されてもよい。例えば、各ＢＧＰルーティングアナウンスメントは、データ前処理モジュールによって処理し、受信されたＢＧＰアナウンスメントを表すフィーチャのリストを生成されてもよい。アクション３５６において、ハイジャック検出モデルを使用して、悪意のあるイベントの確率を生成してもよい。例えば、ＢＧＰハイジャック検出モジュール１３０は、メモリ１３４に記憶されたハイジャック検出モデル１３２を使用して、各アナウンスメントを処理してもよい。定義ブロック３５８において、確率はハイジャック検出モデルの閾値と比較される。例えば、ハイジャック検出モデル１３２によって生成された確率は、閾値より大きいかどうかを判定するために評価されてもよく、イベントは、モデル構築段階３００で識別された閾値に基づいて、悪意のあるもの（アクション３６０において）又は悪意のないもの（アクション３６２において）のいずれかとして分類される。
【００４８】
アクション３６４において、悪意のあるイベント及び悪意のないイベントを格納されてもよい。例えば、悪意のあるイベント及び悪意のないイベントは、１つ以上の集中データリポジトリを表す、ローカルデータストア１２４に格納されてもよい。別の実施形態において、識別されたイベントは、ハイジャック検出システム１２０とは個別のストレージデバイス内にあるか、又はパブリック若しくはプライベートネットワークを介してリモートに格納されてもよい。以下の再訓練段階３８０を参照してより詳細に説明するように、この格納されたデータは、モデルを再訓練するための入力として使用されてもよい。アクション３６６において、ＩＰアドレスの関連するブロックに対するレピュテーションスコアが生成されてもよい。例えば、ＢＧＰハイジャック検出モジュール１３０は、データ収集モジュール１２２によって受信されたルーティングデータに関連付けられている識別された悪意のあるイベント及び悪意のないイベントを使用して、レピュテーションスコアが生成されてもよい。したがって、アクション３６８において、レピュテーションスコアがＡＳに送信されてもよい。例えば、ハイジャック検出システム１２０は、レピュテーションスコアを、ネットワーク１５０を介してＡＳ（１４０ａ〜１４０ｆ）に送信してもよい。更に、アクション３７０において、識別された少なくとも１つの悪意のあるイベントを有するＢＧＰルータのルーティングテーブルが修正されてもよい。例えば、ＢＧＰハイジャック検出モジュール１３０は、各悪意のあるイベントに関連付けられているＩＰアドレスのブロックを識別してもよい。ＢＧＰハイジャック検出モジュール１３０は、各悪意のあるイベントに対応するルーティングテーブル内の各破損したパスを識別してもよい。更に、ＢＧＰハイジャック検出モジュール１３０は、ルーティングテーブル及び対応するＡＳ（１４０ａ〜１４０ｆ）の現在の知識を使用して、ルーティングテーブルを更新することによって修正されたパスを生成してもよい。
【００４９】
アクション３８２の再訓練段階３８０において、偽陰性及び偽陽性が検証されてもよい。例えば、検証のためのプロセスは、ＢＧＰハイジャック検出モジュール１３０を使用して実行されてもよい。別の実施形態では、システム管理者（セキュリティ専門家）は、ＢＧＰアナウンスメントが悪意のあるハイジャックイベントであるかどうかを手動で確認し、ＢＧＰハイジャック検出モジュール１３０に接続されたコンピューティングデバイス１３６を使用して、このデータを一貫して入力してもよい。有利に、検証プロセスのこの部分は、各悪意のあるＢＧＰハイジャックイベントの調査のためではない。すなわち、ＢＧＰハイジャック検出モジュール１３０又はセキュリティ専門家は、偽陽性又は偽陰性のいずれかのケースを検証して訓練データの品質を徐々に向上させるだけでよい。アクション３８４において、履歴的に確認されたハイジャックデータが更新されてもよい。例えば、悪意があると判明した検証された偽陰性が、ローカルデータストア１２４に格納された履歴的に確認されたハイジャックデータに追加されてもよい。データが特定のサイズに蓄積されるか、又は特定の業務要件（例えば、偽陽性が特定の値を上回った場合など）に一致すると、履歴データが更新され、アクション３８６において、ハイジャック検出モデルが更新されたデータで再訓練されてもよい。有利に、一部の実施形態では、データが既に処理され、フィーチャのリストに変換されているため、アクション３８６における再訓練は１０分未満で完了することがある。
【００５０】
図４は、ＤＬＰマネージャの実行を容易にするためのコンピュータシステムの一実施形態を示す図である。コンピュータシステム４００内には、本明細書で考察する方法論の任意の１つ以上を機械が行うための命令セットがある。ＣＰＵ  ４００は、図１〜図３Ｃに関して記載された機能を可能にするために、本明細書に記載の機能を実行するように規定されてもよい。代替実施形態では、機械は、ＬＡＮ、イントラネット、エクストラネット、又はインターネットで他の機械に接続（例えば、ネットワーク化）されてもよい。機械は、クラウドのホスト、クラウドプロバイダシステム、クラウドコントローラ、又は他の任意の機械であることができる。機械は、又はクライアント−サーバネットワーク環境におけるサーバ若しくはクライアントマシンの容量内で、又はピアツーピア（若しくは分散）ネットワーク環境におけるピアマシンとして動作することができる。機械は、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、コンソールデバイス又はセットトップボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチ若しくはブリッジ、又は機械が取るアクションを指定する命令セット（連続的若しくはその他）を実行することができる他の機械であってもよい。更に、単一の機械のみを例示しているが、「機械」という用語はまた、命令セット（若しくは複数のセット）を個別に又は一緒に実行して、本明細書で考察する方法論の任意の１つ以上を行う、任意の機械（例えば、コンピュータ）の集合体を含むものと解釈されるものとする。
【００５１】
例示のコンピュータシステム４００は、バス４２８を介して互いと通信する、処理デバイス４２６、主メモリ４２２（例えば、読出し専用メモリ（ＲＯＭ）、フラッシュメモリ、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）若しくはＤＲＡＭ（ＲＤＲＡＭ）などのダイナミックランダムアクセスメモリ（ＤＲＡＭ）など）、スタティックメモリ４１８（例えば、フラッシュメモリ、スタティックランダムアクセスメモリ（ＳＲＡＭ）など）、及び二次メモリ４０８（例えば、固定の若しくは取り外し可能なコンピュータ可読記憶媒体を含んでもよい、ドライブユニットの形態のデータ記憶デバイス）を含む。本明細書に開示される方法の機能を具体化するコードは、一部の実施形態において、処理デバイス４２６などのプロセッサによる実行のために主メモリ４２２、静的メモリ４１８又は二次メモリ４０８内に格納してもよい。コンピューティングデバイス上のオペレーティングシステムは、ＭＳ−ＷＩＮＤＯＷＳ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ｉＯＳ（登録商標）、ＣｅｎｔＯＳ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）、Ｒｅｄｈａｔ  Ｌｉｎｕｘ（登録商標）、ｚ／ＯＳ（登録商標）、又はその他の既知のオペレーティングシステムであってもよい。本明細書に記載の実施形態が、仮想化コンピューティングシステムと一体化されてもよいことを理解されたい。
【００５２】
処理デバイス４２６は、マイクロプロセッサ、中央処理装置など、１つ以上の汎用処理デバイスを表す。より具体的には、処理デバイス４２６は、複雑命令セットコンピュータ（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、長大命令語（ＶＬＩＷ）マイクロプロセッサ、他の命令セットを実装したプロセッサ、又は命令セットの組み合わせを実装したプロセッサであってもよい。処理デバイス４２６はまた、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサなど１つ以上の専用処理デバイスであってよい。処理デバイス４２６は、本明細書で考察する動作及び工程を行うための命令４２４を実行するように構成される。
【００５３】
コンピュータシステム４００は、ネットワークインターフェースデバイス４１６を更に含んでよい。コンピュータシステム４００はまた、グラフィックポート及びグラフィックチップセットを通してコンピュータシステムに接続された、ビデオディスプレイユニット４０２（例えば、液晶表示装置（ＬＣＤ）若しくは陰極線管（ＣＲＴ））、英数字入力デバイス４０４（例えば、キーボード）、カーソル制御デバイス４０６（例えば、マウス）、及び信号生成デバイス４１４（例えば、スピーカ）を含んでもよい。
【００５４】
二次メモリ４０８は、機械可読記憶媒体（若しくはより具体的には、コンピュータ可読記憶媒体）４１０を含んでもよく、そこに、本明細書に記載する方法論又は機能の任意の１つ以上を具体化する１つ以上の命令セット４１２が記憶される。一実施形態では、命令４１２はハイジャック検出モデル１３２に対する命令を含む。命令４１２はまた、コンピュータシステム４００によるその実行中にメインメモリ４２２内、及び／又は処理デバイス４２６内に完全に、又は少なくとも部分的に存在し得、メインメモリ４２２及び処理デバイス４２６は、マシン可読記憶媒体も構成する。
【００５５】
コンピュータ可読記憶媒体４１０はまた、命令４１２を持続的に記憶するのに使用されてもよい。コンピュータ可読記憶媒体４１０は、例示的な一実施形態では、単一の媒体であるものとして示されているが、「コンピュータ可読記憶媒体」という用語は、１つ以上の命令セットを記憶する単一の媒体又は複数の媒体（例えば、集中型若しくは分散型データベース、及び／又は関連するキャッシュ及びサーバ）を含むものと解釈されるものとする。「コンピュータ可読記憶媒体」という用語はまた、機械が実行するために命令セットを記憶又は符号化することができると共に、本発明の方法論の任意の１つ以上を機械に行わせる、任意の媒体を含むものと解釈されるものとする。したがって、「コンピュータ可読記憶媒体」という用語は、固体メモリ、並びに光学及び磁気媒体を含むものと解釈されるが、それらに限定されないものとする。
【００５６】
本明細書に記載する命令４１２、コンポーネント、及び他の特徴は、ＡＳＩＣ、ＦＰＧＡ、ＤＳＰ、若しくは類似のデバイスなど、離散的なハードウェアコンポーネントとして実装するか、又はハードウェアコンポーネントの機能性に統合することができる。加えて、命令４１２は、ハードウェアデバイス内のファームウェア又は機能回路部品として実装することができる。更に、命令４１２は、ハードウェアデバイス及びソフトウェアコンポーネントの任意の組み合わせで実装することができる。
【００５７】
上述の説明で、多数の詳細について説明している。しかしながら、本発明はこれらの特定の詳細を伴わずに実施されてもよいことが、当業者には明白となるであろう。いくつかの例では、本発明が不明瞭になるのを回避するため、周知の構造及びデバイスについては、詳細ではなくブロック図の形態で示される。
【００５８】
上述の説明は限定ではなく例示を意図したものであることを理解されたい。上述の説明を読み理解することで、他の多くの実施形態が当業者には明白となるであろう。特定の例示的実施形態を参照して本発明について記載してきたが、本発明は記載した実施形態に限定されず、添付の請求項の趣旨及び範囲内の修正及び変更と共に実施できることが認識されるであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきである。したがって、本発明の範囲は、添付の請求項が享受する等価物の全範囲と共に、かかる請求項を参照して決定されるべきである。
【００５９】
詳細な説明的な実施形態は、本明細書に開示される。しかしながら、本明細書に開示された特定の機能的詳細は、実施形態を記載するための代表に過ぎない。しかしながら、実施形態は、多くの代替形態で具現化されてもよく、本明細書で説明された実施形態のみに限定されるように解釈されるべきでない。
【００６０】
第１、第２などの用語は、本明細書では、様々な工程又は計算を説明するために使用されることがあり、そのような工程又は計算は、これらの用語によって限定されるべきでないことを理解されたい。これらの用語は、ある工程又は計算を別のものと区別するためにのみ使用される。例えば、本開示の範囲から逸脱せずに、第１の計算を第２の計算と呼ぶことができ、同様に第２の工程を第１の工程と呼ぶことができる。本明細書で使用されるとき、「及び／又は（and/or）」という用語と「／」という記号は、関連したリスト項目のいずれか及び１つ以上の全ての組み合わせを含む。本明細書で使用されるとき、「ａ」、「ａｎ」、及び「ｔｈｅ」という単数形は、文脈で特に明示されない限り、複数形も含むように意図される。更に、「備える」、「備えること」、「含む」、及び／又は「含むこと」という用語が、本明細書で使用されるとき、述べられた特徴、整数、工程、動作、要素、及び／又は構成要素の存在を明示するが、１つ以上の他の特徴、整数、工程、動作、要素、構成要素、及び／又はそのグループの存在又は追加を除外しないことを理解されよう。したがって、本明細書で使用される用語は、特定の実施形態を説明するためだけのものであり、限定するものではない。
【００６１】
また、一部の代替実施態様では、示された機能／行為は、図に示された順序以外で行われてもよいことに注意されたい。例えば、連続的に示された２つの図が、実際には、含まれる機能／行為に応じて、実質的に同時に実行されてもよく、逆の順序で実行されてもよい。上記の実施形態を考慮すると、実施形態が、コンピュータシステムに記憶されたデータに関係する様々なコンピュータ実施動作を用いることがあることを理解されたい。これらの動作は、物理量の物理的操作を必要とするものである。必須ではないものの、通常、これらの量は、記憶し、転送し、組み合わせ、比較し、また別の形で操作することができる、電気信号又は磁気信号の形態を採る。更に、行われる操作は、作成、識別、判定、比較などの用語で言及されることがある。実施形態の一部を構成する本明細書に記載された動作はいずれも、有用な機械動作である。実施形態は、これらの動作を行うためのデバイス又は装置にも関する。装置は、必要とされる目的のために特別に構成されてもよく、又は装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に起動又は構成される汎用コンピュータでもよい。具体的には、本明細書の教示に従って記述されたコンピュータプログラムと共に様々な汎用マシンを使用することができ、必要な動作を実行するためにより特殊な装置を構成することがより好都合であることがある。
【００６２】
モジュール、アプリケーション、レイヤ、エージェント、又は他の方法で実行可能なエンティティは、ハードウェア、プロセッサ実行ソフトウェア、又はこれらの組み合わせとして実現されてもよい。ソフトウェアベースの実施形態が本明細書に開示される場合、ソフトウェアが、コントローラなどの物理的マシンで具現化されてもよいことを理解されたい。例えば、コントローラは、第１のモジュール及び第２のモジュールを含んでもよい。コントローラは、例えば、方法、アプリケーション、レイヤ、又はエージェントの様々な動作を実行するように構成されていてもよい。
【００６３】
また、実施形態は、非一時的コンピュータ可読媒体上のコンピュータ可読コードとして実施されてもよい。コンピュータ可読媒体は、後でコンピュータシステムが読み取ることができるデータを記憶することができる任意のデータ記憶デバイスである。コンピュータ可読媒体の例としては、ハードディスク、ネットワーク接続ストレージ（ＮＡＳ）、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、フラッシュメモリデバイス、並びに他の光学及び非光学データ記憶デバイスが挙げられる。コンピュータ可読媒体は、コンピュータ可読コードが分散式に記憶され実行されるように、ネットワーク接続されたコンピュータシステムに分散されてもよい。本明細書に記載された実施形態は、携帯端末デバイス、タブレット、マイクロプロセッサシステム、マイクロプロセサベース又はプログラム可能な民生用電子機器、ミニコンピュータ、メインフレームコンピュータなどを含む様々なコンピュータシステム構成で実施されてもよい。実施形態は、また、有線又は無線ネットワークによって連結されたリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実施され得る。
【００６４】
方法動作を特定の順序で記載しているが、記載された動作の間に他の動作を行ってもよく、記載された動作が、わずかに異なる時間で行われるように調整されてもよく、記載された動作が、処理と関連付けられた様々な間隔で処理動作を行うことを可能にするシステム内で分散されてもよいことを理解されたい。
【００６５】
様々な実施形態において、本明細書に記載される方法及び機構の１つ以上の部分は、クラウドコンピューティング環境の一部をなし得る。そのような実施形態では、リソースが、１つ以上の様々なモデルによるサービスとしてインターネットを介して提供され得る。そのようなモデルとしては、サービスとしてのインフラストラクチャ（Infrastructure as a Service）（ＩａａＳ）、サービスとしてのプラットフォーム（Platform as a Service）（ＰａａＳ）、及びサービスとしてのソフトウェア（Software as a Service）（ＳａａＳ）を挙げることができる。ＩａａＳでは、コンピュータインフラストラクチャは、サービスとして送達される。そのような場合には、コンピューティング機器は、通常、サービスプロバイダによって所有され、操作されている。ＰａａＳモデルでは、開発者がソフトウェアソリューション開発に使用するソフトウェアツール及び基本機器は、サービスとして提供され、サービスプロバイダによってホストされ得る。ＳａａＳは、典型的に、サービスプロバイダライセンシングソフトウェアをオンデマンドサービスとして含んでいる。サービスプロバイダは、ソフトウェアをホストし得るか、又はソフトウェアを所定の期間の間顧客に展開し得る。上述のモデルの多数の組み合わせが可能であり、かつ企図される。
【００６６】
様々なユニット、回路、又は他の構成要素が、タスク（１つ又は複数）を行う「ように構成される」として記載又は特許請求され得る。そのような文脈において、「ように構成される」とは、ユニット／回路／構成要素が、動作中にタスク（１つ又は複数）を行う構造（例えば、回路機構）を含むと示すことにより、構造を含んで使用される。そのため、ユニット／回路／構成要素は、指定されたユニット／回路／構成要素が現在動作中でない（例えば、電源が入っていない）場合であっても、タスクを行うように構成されると言うことができる。「ように構成される」という文言と共に使用されるユニット／回路／構成要素には、ハードウェア例えば、動作を実装するように実行可能なプログラム命令を格納する回路、メモリが含まれる。ユニット／回路／構成要素が１つ以上のタスクを行う「ように構成される」ことへの言及は、そのユニット／回路／構成要素に関して、米国特許法１１２条第６項を行使しないことが明示的に意図される。更に、「ように構成される」には、ソフトウェア及び／又はファームウェア（例えば、ＦＰＧＡ又はソフトウェアを実行する汎用プロセッサ）によって問題のタスク（複数可）を行うことができる様式で動作するように操作される一般的な構造（例えば、一般的な回路機構）が含まれ得る。「ように構成される」には、１つ以上のタスクを実装又は実行するように適合されるデバイス（例えば、集積回路）を製造するように、生産プロセス（例えば、半導体製造設備）を適合することも含む。
【００６７】
以上の説明は、説明のために、特定の実施形態を参照して記載されている。しかしながら、上述の例示的な考察は、包括的であること、又は本発明を開示される正確な形態に限定することを意図するものではない。上述の教示を考慮して、多くの修正及び変形が可能である。実施形態は、実施形態の原理及びその実際の用途を最も良く説明するために選択かつ記載され、それにより、他の当業者が、企図される特定の用途に好適であり得る実施形態と様々な修正を最大限に利用することを可能にする。したがって、この実施形態は、説明的であり非限定的なものとして解釈されるべきであり、本発明が本明細書に示された詳細に限定されないが、添付の特許請求の範囲及び等価物内で修正され得る。
【図１Ａ】
2019504584.tif 000004
【図１Ｂ】
2019504584.tif 000005
【図２】
2019504584.tif 000006
【図３Ａ】
2019504584.tif 000007
【図３Ｂ】
2019504584.tif 000008
【図３Ｃ】
2019504584.tif 000009
【図４】
2019504584.tif 000010
【手続補正書】
【提出日】平成30年6月20日(2018.6.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
データ収集モジュールによって、ボーダゲートウェイプロトコル（ＢＧＰ）イベントに関連付けられているルーティングデータを、少なくとも１つのＢＧＰルータから受信することと、
データプロセッサによって、オリジン、プレフィックス、又は上流機器に関連付けられているフィーチャのリストを生成するために、前記ルーティングデータを処理することと、
データベースから、履歴的に確認されたＢＧＰハイジャックデータのセットを受信することと、
前記ルーティングデータ、前記フィーチャのリスト、及び前記履歴的に確認されたＢＧＰハイジャックデータのセットを使用して、正例とラベルなし学習（ＰＵ学習）アルゴリズムを用いることによって、ハイジャック検出モデルを生成することであって、前記ハイジャック検出モデルを生成することが、履歴的に確認された悪意のないＢＧＰデータを考慮しない、生成することと、
前記ハイジャック検出モデルを使用して、前記ＢＧＰイベントを、悪意のあるイベント又は悪意のないイベントに分類することと、
悪意のあるイベントに応答して、前記悪意のあるイベントに関連付けられているＩＰアドレスのブロックを判定することと、
前記悪意のあるイベントに関連付けられている少なくとも１つの破損したパスを識別するために、ルーティングテーブルにアクセスすることと、
前記ルーティングテーブルを使用して、修正されたパスを生成することと、
前記ルーティングテーブルを前記修正されたパスで更新することと、を含む、方法。
【請求項２】
前記ハイジャック検出モデルを前記生成することが、
前記ルーティングデータのホールドアウトデータサブセットを使用して、閾値カットオフ値を生成することと、
前記悪意のあるイベントの確率を計算することと、を含み、
前記ＢＧＰイベントは、前記確率が前記閾値カットオフ値よりも大きい場合に、前記悪意のあるイベントとして分類される、請求項１に記載の方法。
【請求項３】
前記ＰＵ学習アルゴリズムが、正例データ入力、ラベルなしデータ入力、及び確率出力を含み、前記正例データ入力が、前記履歴的に確認されたＢＧＰハイジャックデータのセットを受信するように接続され、前記ラベルなしデータ入力が、前記ルーティングデータを受信するように接続されている、請求項１に記載の方法。
【請求項４】
前記ＢＧＰイベントを前記分類することが、
ハイジャックイベントの確率を、前記ハイジャック検出モデルから受信することと、
前記確率が、所定値よりも大きいかどうかを判定することと、
前記確率が前記所定値よりも大きいことに応答して、前記ＢＧＰイベントを、前記悪意のあるイベントとして分類することと、を含む、請求項１に記載の方法。
【請求項５】
各イベントが偽陰性又は偽陽性であるかどうかを検出することと、
検出された偽陰性又は偽陽性に応答して、前記履歴的に確認されたＢＧＰハイジャックデータのセットを修正することと、
前記修正された履歴的に確認されたＢＧＰハイジャックデータのセットを使用して、前記ハイジャック検出モデルを再訓練すること、を更に含む、請求項１に記載の方法。
【請求項６】
悪意のあるイベントに応答して、ＩＰアドレスのブロックのレピュテーションスコアを生成することと、
前記レピュテーションスコアを、少なくとも１つの接続された自立システム（ＡＳ）に送信すること、を更に含む、請求項１に記載の方法。
【請求項７】
ルータハイジャック検出システムであって、
メモリと、
前記メモリに接続されたプロセッサであって、
ＢＧＰイベントに関連付けられているルーティングデータを、少なくとも１つのＢＧＰルータから受信することと、
前記ルーティングデータに関連付けられているフィーチャのリストを生成することと、
履歴的に確認されたＢＧＰハイジャックデータのセットを受信することと、
前記ルーティングデータ、前記フィーチャのリスト、及び前記履歴的に確認されたＢＧＰハイジャックデータのセットを使用して、正例とラベルなし学習（ＰＵ学習）アルゴリズムを用いることによって、ハイジャック検出モデルを生成することであって、前記ハイジャック検出モデルを生成することが、履歴的に確認された悪意のないＢＧＰデータを考慮しない、生成することと、
前記ハイジャック検出モデルを使用して、ＢＧＰイベントを、悪意のあるイベント又は悪意のないイベントに分類することと、
悪意のあるイベントに応答して、前記悪意のあるイベントに関連付けられているＩＰアドレスのブロックを判定することと、
前記悪意のあるイベントに関連付けられている少なくとも１つの破損したパスを識別するために、ルーティングテーブルにアクセスすることと、
前記ルーティングテーブルを使用して、修正されたパスを生成することと、
前記ルーティングテーブルを前記修正されたパスで更新することと、を行うように構成されている、プロセッサと、を備える、ルータハイジャック検出システム。
【請求項８】
前記プロセッサが、
前記ルーティングデータのホールドアウトデータサブセットを使用して、閾値カットオフ値を生成することと、
前記悪意のあるイベントの確率を計算することであって、前記ＢＧＰイベントが、前記確率が前記閾値カットオフ値よりも大きい場合に、前記悪意のあるイベントとして分類される、計算することと、を行うように、更に構成されている、請求項７に記載のルータハイジャック検出システム。
【請求項９】
前記ＰＵ学習アルゴリズムが、正例データ入力、ラベルなしデータ入力、及び確率出力を含み、前記正例データ入力が、前記履歴的に確認されたＢＧＰハイジャックデータのセットを受信するように接続され、前記ラベルなしデータ入力が、前記ルーティングデータを受信するように接続されている、請求項７に記載のルータハイジャック検出システム。
【請求項１０】
前記プロセッサが、
前記分類された悪意のあるイベント又は悪意のないイベントの通知を受信し、かつ偽陽性又は偽陰性が発生しているかどうかを検出し、
履歴的に確認されたＢＧＰハイジャックデータのセットを修正し、
前記修正された履歴的に確認されたＢＧＰハイジャックデータのセットを使用して、前記ハイジャック検出モデルを再訓練する、ように更に構成されている、請求項７に記載のルータハイジャック検出システム。
【請求項１１】
方法を実行するためのコードを含む非一時的コンピュータ可読媒体であって、前記方法が、
ＢＧＰイベントに関連付けられているルーティングデータを、少なくとも１つのＢＧＰルータから受信することと、
フィーチャのリストを生成するために前記ルーティングデータを処理することと、
履歴的に確認されたＢＧＰハイジャックデータのセットを受信することと、
前記ルーティングデータ、前記フィーチャのリスト、及び前記履歴的に確認されたＢＧＰハイジャックデータのセットを使用して、正例とラベルなし学習（ＰＵ学習）アルゴリズムを用いることによって、ハイジャック検出モデルを生成することであって、前記ハイジャック検出モデルを生成することが、履歴的に確認された悪意のないＢＧＰデータを考慮しない、生成することと、
前記ハイジャック検出モデルを使用して、前記ＢＧＰイベントを、悪意のあるイベント又は悪意のないイベントに分類することと、
悪意のあるイベントに応答して、前記悪意のあるイベントに関連付けられているＩＰアドレスのブロックを判定することと、
前記悪意のあるイベントに関連付けられている少なくとも１つの破損したパスを識別するために、ルーティングテーブルにアクセスすることと、
前記ルーティングテーブルを使用して、修正されたパスを生成することと、
前記ルーティングテーブルを前記修正されたパスで更新することと、を含む、非一時的コンピュータ可読媒体。
【請求項１２】
前記ハイジャック検出モデルを前記生成することが、
前記ルーティングデータのホールドアウトデータサブセットを使用して、閾値カットオフ値を生成することと、
前記悪意のあるイベントの確率を計算することと、を含み、
前記ＢＧＰイベントは、前記確率が前記閾値カットオフ値よりも大きい場合に、前記悪意のあるイベントとして分類される、請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
前記ＰＵ学習アルゴリズムが、正例データ入力、ラベルなしデータ入力、及び確率出力を含み、前記正例データ入力が、前記履歴的に確認されたＢＧＰハイジャックデータのセットを受信するように接続され、前記ラベルなしデータ入力が、前記ルーティングデータを受信するように接続されている、請求項１１に記載のコンピュータ可読媒体。
【請求項１４】
前記ＢＧＰイベントを前記分類することが、
ハイジャックイベントの確率を、前記ハイジャック検出モデルから受信することと、
前記確率が、所定値よりも大きいかどうかを判定することと、
前記確率が前記所定値よりも大きいことに応答して、前記ＢＧＰイベントを、前記悪意のあるイベントとして分類することと、を含む、請求項１１に記載のコンピュータ可読媒体。
【請求項１５】
前記方法が、
各イベントが偽陰性又は偽陽性であるかどうかを検出することと、
検出された偽陰性又は偽陽性に応答して、前記履歴的に確認されたＢＧＰハイジャックデータのセットを修正することと、
前記修正された履歴的に確認されたＢＧＰハイジャックデータのセットを使用して、前記ハイジャック検出モデルを再訓練すること、を更に含む、請求項１１に記載のコンピュータ可読媒体。
【国際調査報告】
2019504584.tif 000011
2019504584.tif 000012
2019504584.tif 000013