(57)【要約】  ホストの挙動／ＩＰアドレスに基づいてマルウェアの脅威を決定するシステム及び方法は、ネットフローデータ、ホワイトリスト、ブラックリスト、及びモデルを用いた機械学習分類器を使用する。ホワイトリスト生成法及び機械学習モデル検証法を用いてもよい。【選択図】図１
2020530638.tif 000002
【特許請求の範囲】
【請求項１】
インターネットプロトコル（ＩＰ）アドレスを有するホストが悪意のあるホストであるかどうかを決定するシステムであって、プロセッサ、メモリ、及び複数のコンピュータコードを有するコンピュータを備え、
前記コンピュータコードが、
ネットフローデータのセットであって、該ネットフローデータの各要素が、ホストのソースインターネットプロトコル（ＩＰ）アドレスと宛先ＩＰアドレスとの間のデータトラフィックに関するデータ、悪意のある１又は２以上のホストのリストを含むブラックリスト、及び無害の１又は２以上のホストのリストを含むホワイトリストを包含する、ネットフローデータのセットを受け取り、
前記ネットフローデータのセット、前記ブラックリスト及び前記ホワイトリストから生成された特徴のセットに分類器機械学習モデルを適用し、
前記ネットフローデータのセットにおいて前記ホストの少なくとも１つについて前記分類器機械学習モデルを用いて前記ホストが悪意のあるホストであるかどうかの予測を生成する、
ように構成されている、システム。
【請求項２】
前記コンピュータシステムが更に、前記分類器機械学習モデルをトレーニングするよう構成されている、請求項１に記載のシステム。
【請求項３】
前記コンピュータシステムが更に、前記ホストのＩＰアドレスに関するパブリック情報を用いて前記分類器機械学習モデルを検証するよう構成される、請求項１に記載のシステム。
【請求項４】
前記コンピュータシステムが更に、前記ホワイトリストを生成するよう構成される、請求項１に記載のシステム。
【請求項５】
前記コンピュータシステムが更に、前記ネットフローデータのセットから１又は２以上の特徴を抽出するよう構成される、請求項１に記載のシステム。
【請求項６】
インターネットプロトコル（ＩＰ）アドレスを有するホストが悪意のあるホストであるかどうかを決定する方法であって、
ネットフローデータのセットを受け取るステップであって、前記ネットフローデータの各要素が、ホストのソースインターネットプロトコル（ＩＰ）アドレスと宛先ＩＰアドレスとの間のデータトラフィックに関するデータ、悪意のある１又は２以上のホストのリストを含むブラックリスト、及び無害の１又は２以上のホストのリストを含むホワイトリストを包含する、ステップと、
前記ネットフローデータのセット、前記ブラックリスト及び前記ホワイトリストから生成された特徴のセットに分類器機械学習モデルを適用するステップと、
前記ネットフローデータのセットにおいて前記ホストの少なくとも１つについて前記分類器機械学習モデルを用いて前記ホストが悪意のあるホストであるかどうかの予測を生成するステップと、
を含む、方法。
【請求項７】
前記分類器機械学習モデルをトレーニングするステップを更に含む、請求項６に記載の方法。
【請求項８】
前記ホストのＩＰアドレスに関するパブリック情報を用いて前記分類器機械学習モデルを検証するステップを更に含む、請求項６に記載の方法。
【請求項９】
前記ネットフローデータのセットを用いて前記ホワイトリストを生成するステップを更に含む、請求項６に記載の方法。
【請求項１０】
前記ネットフローデータのセットから１又は２以上の特徴を抽出するステップを更に含む、請求項６に記載の方法。
【請求項１１】
ホワイトリストを生成する方法であって、
前記パブリックホワイトリストから所定の数のＩＰアドレスを抽出するステップと、
前記ネットフローデータのセットから前記ホストに関して最小接続閾値を満たす複数のＩＰアドレスを生成するステップと、
前記ホストに関して前記最小接続閾値を満たす特徴のセットを生成して、ホワイトリストを生成するステップと、
を含む、方法。
【請求項１２】
前記ＩＰアドレスを抽出するステップが更に、ある時間期間内の前記ＩＰアドレスを抽出するステップを含む、請求項１１に記載の方法。
【請求項１３】
前記ＩＰアドレスを抽出するステップが更に、１日の間に前記ホストについてＩＰアドレスを抽出して、所与の周波数レンジからＩＰアドレスを取得するステップを含む、請求項１２に記載の方法。
【請求項１４】
分類器機械学習モデルを検証する方法であって、
ネットフローデータのセットを受け取るステップであって、前記ネットフローデータの各要素が、ホストのソースインターネットプロトコル（ＩＰ）アドレスと宛先ＩＰアドレスとの間のデータトラフィック及び分類器モデルに関するデータを包含する、ステップと、
前記ネットフローデータのセットから前記ホストに関して最小接続閾値を満たす複数のＩＰアドレスを取得するステップと、
前記ネットフローデータのセットから複数の特徴を生成するステップと、
前記分類器モデル及び前記生成された特徴を用いて、悪意のあるＩＰアドレスを有するホストを予測するステップと、
パブリックＩＰアドレス情報に基づいて前記予測したホストをスコアリングし、前記分類器モデルを検証するステップと、
を含む、方法。
【請求項１５】
前記ホストに関して最小接続閾値を満たす複数のＩＰアドレスを取得するステップが更に、検証時間期間内で前記ホストに関して最小接続閾値を満たす複数のＩＰアドレスを取得するステップを含む、請求項１４に記載の方法。
【請求項１６】
前記ホストに関して最小接続閾値を満たす複数のＩＰアドレスを取得するステップが更に、１日の間に前記ホストについてＩＰアドレスを抽出して、所定の基準に適合するアクティブなＩＰアドレスを取得するステップを含む、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（優先権の主張／関連出願）
本国際出願は、米国特許法第１１９（ｅ）条及び１２０条に基づき、その内容全体が引用により本明細書に組み込まれる、２０１７年８月９日に出願された、名称「ＭＡＬＷＡＲＥ  ＨＯＳＴ  ＮＥＴＦＬＯＷ  ＡＮＡＬＹＳＩＳ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ」の米国特許出願第１５／６７３，３４１号に対して優先権を主張する。
【０００２】
（技術分野）
本開示は、全体的に、ネットフロー分析及び機械学習を用いてマルウェアホストの挙動を決定するシステム及び方法に関する。
【背景技術】
【０００３】
グローバルインターネットには、ハッカー自体から感染したゾンビワーカーに至るまで、悪意あるアクター（攻撃者）が存在する。これらのアクターを発見してブラックリストに加えること（及び多くの場合、サイトを削除するような他の手段）は、企業及び個人ユーザの両方の安全を確保するのに不可欠である。２０１６年の終わりまでに、グローバルインターネットは３５億を超えるユーザ、１１億のホスト、１０億を超えるＷｅｂサイトを有し、そのトラフィックは年間で１．１ゼタバイトに達すると推定された。グローバルインターネットのホストの数、ウェブページの数、トラフィック量、及び可能なパケット通過ルートの数は絶えず増加しつつある。この絶え間ない増加と同時に、そのデータを分析できるセキュリティの専門家の数は極めて限られている。残念ながら、現在のところ、大量のインターネットセキュリティ関連のタスクは、依然として人間の認識力と専門家の判断に依存しているため、拡張可能ではなく、グローバルインターネットの絶え間ない増加に追いつくことができない。
【０００４】
ブラックリストの提供に加えて、レピュテーションスコア（ブラックリスト、ユーザレポート、ＵＲＬ間のコンテキスト関係、パッシブＤＮＳデータ、マルウェアが接続するＩＰアドレス、ハニーポット、クローラーから）を計算する多くのサービスがある。或いは、一部のシステムは、最初にフォーカスするＩＰアドレスを決定する別の方法があるが、ほとんどの場合、自明ではない場合に選択する方法は明らかにされていない（例： ハニーポットを攻撃したＩＰを観測する）。
【０００５】
悪意あるアクターを識別する既知の方法及びシステムは、ネットフロー全体を分析するのに十分な拡張性がないため、従って、一部のフォーカス領域を選択すると、このような手法の機能が厳密に制限される。ほとんどの既知の方法は、誤検出を回避するために、合理的なレベルの信頼度を有するデータを見つけることを優先する（誤検出は依然として時々発生するが）。更に、インターネット犯罪の新たな手法（新しいタイプの悪意のあるアクティビティ、新しい攻撃ツール、ボットネットの形成に使用される新しいハードウェアタイプ、その他など）により、アドレスが悪意のあることを確認するプロセスが極めて遅くなり、エラーが発生しやすくなる。更に、過去には、処理能力が不足していたことに起因して、機械学習法を用いてネットフローを収集し首尾良く分析することができなかった。
【図面の簡単な説明】
【０００６】
【図１】ネットフロー及び機械学習を用いてマルウェアホスト挙動を決定するシステムの実施例を示す図である。
【図２】ネットフロー及び機械学習を用いてマルウェアホスト挙動を決定するプロセスを示す図である。
【図３】ホワイトリスト生成方法を示す図である。
【図４】図３の方法を用いてホワイトリストを生成するのに用いることができる疑似コードの実施例を示す図である。
【図５】モデル検証法を示す図である。
【図６】モデルを検証するのに用いることができる疑似コードの実施例を示す図である。
【発明を実施するための形態】
【０００７】
本開示は、インターネットのような広域ネットワーク上に実装されるマルウェアホスト挙動決定システムに特に適用可能であり、また本明細書においては、本開示が記載されることになる。しかしながら、本システム及び方法は、以下で開示されること以外の方法で実施することができ、マルウェアを検出するためにホスト挙動を決定でいることが望ましい他のネットワークについてホスト挙動を決定するのに用いることができるので、より優れた有用性があることは理解されるであろう。以下で記載される実施例において、本システム及び方法を用いて、サプライチェーンセキュリティが監視されるサプライチェーンに対するセキュリティサービスを管理することができる。しかしながら、開示されるシステム及び方法は、マルウェアを検出するためにホスト挙動を決定でいることが望ましいあらゆるシステム、ネットワーク、その他に用いることができることは、当業者であれば理解される。また、以下で記載されるネットフローデータ及びひいては悪意あるホスト検出システム及びプロセスは、自動車産業又は半導体産業などの異なる産業から、又はデトロイトもしくはカリフォルニアなどの異なる地理的地域からのデータを用いることができることは理解される。
【０００８】
図１は、ネットフロー及び機械学習を用いてマルウェアホスト挙動を決定するシステム１００の実施例を示す。本システムは、様々な有線又は無線の通信経路によって共に結合される１又は２以上のエレメントを有することができる。例えば、本システムは、広域ネットワークエレメント１０２、ネットワークフロー（ネットフロー）監視データコレクタ１０４、ワーカーエレメント１０６、アドミニストレータエレメント１０８、及び任意選択のネットフローストレージエレメント１１０を有することができ、これらは図１に示すように互いに結合される。一般に、インターネットとすることができる広域ネットワークエレメント１０２は更に、１又は２以上のネットワークルータ１０２Ａ、．．．．，１０２Ｎを含むことができ、これらネットワークルータは更に、その挙動がシステムによって決定されてマルウェアを検出する複数のホスト（図１には示されていないコンピュータシステム）に接続される。広域ネットワークエレメント１０２は、有線又は無線ネットワーク、コンピュータネットワーク、通信経路及びホストが結合される同様のものとすることができる１又は２以上のサブネットワークを含むことができる。
【０００９】
ネットワークフロー（ネットフロー）監視データコレクタ１０４は、広域ネットワーク１０２に結合され、広域ネットワーク１０２に接続又は結合された様々なホストからネットフローデータを収集することができる。ネットフロー監視データコレクタ１０４はまた、ホストに対する既知のパッシブドメインネームサービス（ＤＮＳ）データを収集することができる。ネットフロー監視データコレクタ１０４は、ハードウェア又はソフトウェアにて実装することができる。ソフトウェアにて実装されたときには、ネットフロー監視データコレクタ１０４は、コンピュータコード／命令の複数のラインとすることができ、これらラインは、プロセッサ及びメモリを有するコンピュータによって格納及び実行することができ、コンピュータ及びプロセッサが、ネットフロー監視データコレクタ１０４の動作を実行するよう構成されることになる。ハードウェアにて実装されたときには、ネットフロー監視データコレクタ１０４は、ネットフロー監視データコレクタ１０４の動作を作動及び実施する、マイクロコントローラ、プログラム可能論理回路、ＡＳＩＣ、その他などのハードウェアデバイスとすることができる。
【００１０】
ネットフロー監視データコレクタ１０４は、広域ネットワーク１０２に結合された種々のホストに対するネットフローデータを収集することができ、ここでは、データの各ネットフロー要素が、少なくとも１つのソースインターネット（ＩＰ）アドレス及び特定のホストによって生じる相互作用についての宛先ＩＰアドレスを含むことができるデータ記録を含むことができる。ネットフローデータの総量が天文学的な量であるので、以下で記載されるプロセスで使用されるネットフローデータの量を削減することができる。例えば、ネットフローデータは、時間期間（以下で記載されるように）によって制限することができ、又は特定の産業に制限することができ（特定の産業における悪意あるホストを見つける）、或いは特定の地理的地域に制限することができる。特定のホスト相互作用に対するネットフローの極めて簡単な実施例は以下とすることができる。
2020530638.tif 000003
【００１１】
ホストと別のコンピュータとの間の特定の相互作用についてのネットフロー記録は、特定のトラフィックフローに関して大量のデータを含むことができ、本システムは、ネットフローデータから以下の特徴をマイニングすることができる。
ｔｓ−開始時間
ｔｅ−終了時間
ｔｄ−期間
ｓａ−ソースアドレス
ｄａ−宛先アドレス
ｓｐ−ソースポート
ｄｐ−宛先ポート
ｓａｓ−ソースＡＳ番号
ｄａｓ−宛先ＡＳ番号
ｐｒ−プロトコル
ｆｌｇ−ＴＣＰフラグ
ｉｐｋｔ−入力パケット
ｉｎ−入力バイト
ｏｕｔ−出力バイト
ｐｐｓ−１秒あたりのパケット数
ｂｐｓ−１秒あたりのバイト数
【００１２】
上記特徴の各々は、データコレクタ１０４によって収集されたネットフローデータから抽出することができるネットフローデータの既知のエレメントである。システムのストレージ１１０は、ネットフローデータと本システムによって使用されるパッシブＤＮＳデータとを格納することができる。ストレージ１１０は、ハードウェアストレージデバイス又はソフトウェアベースのストレージシステムとすることができる。
【００１３】
アドミニストレータエレメント１０８及びワーカーエレメント１０６は、ネットフローデータを用いてシステム（図２に示す）の処理を実施して、マルウェアを検出することができる。アドミニストレータエレメント１０８と、アドミニストレータエレメント１０８の一部とすることができるウェブ／アプリケーション１０８Ａ及びデータベース１０８Ｂは、ハードウェア又はソフトウェア、もしくはハードウェアとソフトウェアの組み合わせで実装することができる。アドミニストレータエレメント１０８がソフトウェアで実装されるときには、アドミニストレータエレメント１０８は、コンピュータコード／命令の複数のラインを有することができ、これらラインは、アドミニストレータエレメント１０８をホストするコンピュータシステムのメモリ内に格納されて、コンピュータシステムのプロセッサによって実行することができ、コンピュータシステム及び／又はプロセッサは、以下で記載されるようにシステムの動作を実行するよう構成されることになる。アドミニストレータエレメント１０８又はサブエレメント１０８Ａ、１０８Ｂがハードウェアで実装されるときには、アドミニストレータエレメント１０８は、以下で記載されるようにシステムの動作を作動及び実施する、マイクロコントローラ、ＡＳＩＣ、プログラム可能論理回路、その他などのハードウェアデバイスとすることができる。アドミニストレータエレメント１０８は、ワーカーエレメント１０６のネットフローマイニング、報告及び監視を実施し、システムの全体の処理を管理し、グラフィカルユーザインタフェース又はデータなどの処理の結果をユーザ又は別のシステムに供給することができる。ウェブ１０８Ａは、ワーカーのタスクをスケジューリングするグラフィカルインタフェースを生成する。ストレージ１０８Ｂは、システムによって生成されモデル結果及び他のデータ、ユーザ情報及びデータ並びにタスクの説明、システムによって生成又は必要とする可能性がある他のデータは何でも格納することができる。
【００１４】
ワーカーエレメント１０６は、アドミニストレータエレメント１０８に結合され、更に、アドミニストレータエレメント１０８の指示／管理下でシステムの処理作業を実行する１又は２以上のワーカーエレメント１０６Ａ、．．．．、１０６Ｎを有することができる。図１に示すように、アドミニストレータエレメント１０８は、処理タスクをワーカー１０６Ａ〜１０６Ｎに通信することができ、結果をアドミニストレータエレメント１０８に通信して戻すことができる。各ワーカー１０６Ａ〜１０６Ｎは、例えば、スレッドとすることができる。ワーカーエレメント１０６及び各ワーカーエレメント１０８Ａ〜１０８Ｎは、ハードウェア又はソフトウェア、もしくはハードウェアとソフトウェアの組み合わせで実装することができる。ワーカーエレメント１０６（又は各ワーカー１０６Ａ〜１０６Ｎ）がソフトウェアで実装されるときには、コンピュータコード／命令の複数のラインを有することができ、これらラインは、ワーカーエレメント１０６をホストするコンピュータシステムのメモリ内に格納されて、コンピュータシステムのプロセッサによって実行することができ、コンピュータシステム及び／又はプロセッサは、以下で記載されるようにシステムの動作を実行するよう構成されることになる。ワーカーエレメント１０６又はサブエレメント１０６Ａ、．．．．、１０６Ｎがハードウェアで実装されるときには、ワーカーエレメント１０６は、以下で記載されるようにシステムの動作を作動及び実施する、マイクロコントローラ、ＡＳＩＣ、プログラム可能論理回路、その他などのハードウェアデバイスとすることができる。１つの実施形態において、アドミニストレータエレメント１０８とワーカーエレメント１０６の組み合わせは、アドミニストレータエレメント１０８によって制御されるメッセージ待ち行列アーキテクチャを用いることができ、ここで各ワーカーは、メッセージ待ち行列からタスクを取得して、処理タスクを実施する。更に、１つの実施形態において、アドミニストレータエレメント１０８及びワーカーエレメント１０６は、連鎖法を用いて動作して、各ワーカーを効率的に用いてタスクを完了することができる。
【００１５】
システムによって実施されるタスクの１つは、ネットフローに関連するホストの特徴についてのネットフローデータのマイニングである。詳細には、ネットフローデータのＩＰアドレスに対応する挙動を定量化するために、システム及び方法は、ネットフローデータをマイニングして、ネットフローの特徴に基づいて統計値を計算するが、その実施例は、上記で記載した。統計値を計算するために、システム及び方法は、宛先アドレス及び／又はソースアドレスの何れかによりフローの全てをグループ化することができる。結果として得られる特徴セットの実施例は、
ソースアドレスによってグループ化された統計値−添字＿ｓａ
宛先アドレスによってグループ化された統計値−添字＿ｄａ
全ての＿ｓａ統計値を＿ｄａ統計値で除算することにより得られたものの比−添字＿ｒａｔｉｏ
からなることができる。また、統計値は、以下とすることができる。
接続（記録時間で正規化された全ての接続）、
隣人（一意のアドレスから／への接続）、
ｔｄ：平均、標準、最大
ｓｐ：ｎｕｎｉｑｕｅ（一意の数）
ｄｐ：ｎｕｎｉｑｕｅ
ｐｒ：ｎｕｎｉｑｕｅ
ｆｌｇ：ｎｕｎｉｑｕｅ
ｉｐｋｔ：平均、標準、最大、最小
ｉｎ：平均、中央値、標準、最大、最小
ｏｕｔ：平均、中央値、標準、最大、最小
ｐｐｓ：平均、標準、最大
ｂｐｓ：平均、標準、最大
ｂｐｐ：平均、中央値、標準、最大、最小
ｐｒの各値に対して：平均
ｆｌｇの幾つかのチェリーピッキング値に対して：平均
例えば、例示的なデータの１つのセットを有する１つの実施形態において、システム及び方法は、＿ｓａ、＿ｄａ及び＿ｒａｔｉｏについて４６個の統計値をマイニング／収集することができ、その結果、システムは、全部で１３８個の特徴を有するようになる。システム及び方法は、種々の異なるデータと共に用いることができ、同様の又は異なる特徴セットを生成することができるので、上記の特徴セット及び統計値は、単に例示にすぎない。
【００１６】
図２は、ネットフロー及び機械学習を用いてマルウェアホスト挙動を決定するプロセス２００を示す。図２に示すプロセスは、図１のアドミニストレータエレメント１０８及びワーカーエレメント１０６によって実施することができるが、本開示の範囲内にある他の方法又は他のエレメントによって実施することもできる。プロセス２００は、検出プロセス２０２及びトレーニングプロセス２０４を含むことができ、ここで検出プロセス２０２は、マイニングされたネットフローデータを用いて、機械学習処理を実施し、ホスト挙動及びマルウェアの尤度に関して１又は２以上の予測を生成することができる。トレーニングプロセス２０４は、実施されている分析のためのデータを作成し、以下で説明されるような機械学習プロセスをトレーニングすることができる。
【００１７】
トレーニングプロセスの一部として、システムは、１又は２以上のブラックリスト２０６の生成／検索を行い、１又は２以上のホワイトリスト２０８の生成／検索を行うことができる。ブラックリストは、各ホスト／ＩＰアドレスがマルウェアをホスト／配分する、又は悪意あるアクティビティを実施することが知られている、ホスト／ＩＰアドレスのリストである。
ブラックリストの実施例は、
1.1.1.7
1.1.1.2
1.1.1.3
とすることができる。ホワイトリストは、各ホスト／ＩＰアドレスがマルウェアをホスト／配分しない、又は悪意あるアクティビティを実施しないことが知られている、ホスト／ＩＰアドレスのリストである。
ホワイトリストの実施例は、
1.1.1.4
1.1.1.5
1.1.1.6
とすることができる。
【００１８】
１又は２以上のブラックリストは、商業用とコミュニティ主導の両方の複数の脅威ソースから集約されたデータに基づくことができる。システムは、市販のＡｌｅｘａの最も人気のあるサイトを検索することができる（リスト上の位置に関連するトレーニングセットに含まれる確率に応じて（人気が高いほど含まれる可能性が高くなる））。Ａｌｅｘａから検索されるホワイトリストの更なる詳細は、ｈｔｔｐ：／／ｗｗｗ．ａｌｅｘａ．ｃｏｍ／ｓｉｔｅｉｎｆｏにて見つけることができ、これは引用により本明細書に組み込まれる。実験及び一部の調査によると、ネットワークトラフィックのほとんど（７５％を上回る）が無害（例： 悪意ではない）として分類されているので、本方法はまた、独自のホワイトリスト（自己生成ホワイトリスト）を生成することができる。データはまた、インターネット上のほとんどのランダムＩＰアドレスが無害であり、このため、外部ホワイトリストにない場合でもトレーニングセットに含めることができることを示している。一部の悪意のあるＩＰアドレスが通過する可能性があるので、本方法は、モデルの以前の反復を使用して、このような「グレーホワイトリスト」をフィルタリングし、より明白な悪意のあるサーバを除外することができる。ホワイトリストの生成の更なる詳細について、以下の図３を参照しながら詳細に説明する。
【００１９】
次に、トレーニングプロセスは、ネットフローデータ（２１０）を検索して、ホワイトリスト２０８及びブラックリスト２０６とネットフローデータとを使用して、ホワイトリスト及びブラックリストに基づいて悪意のあることが分かっているネットフローデータと無害であることが分かっているネットフローデータとにおけるフローセットを生成することができる。その後、プロセスは、例えば上記の特徴を使用して特徴抽出（２１４）と、上記のようなネットフローデータを使用した統計計算とを実行することができる。特徴は、各ホストについてのフローを集約することによって得られる。１つの実施例において、統計値は、フローの数、１又は複数のプロトコル、１又は複数のフラグ、１又は複数のポート、自律システム、送信／受信されたパッケージの数、フローのバイトサイズ、及び／又はサービスのタイプに基づくことができる。１つの実施例において、上述の特徴は、送受信フローについて別個に計算することができ、得られた値のペアの比も特徴として用いられる。
【００２０】
生成された統計、上記の未処理のＮｅｔｆｌｏｗ統計、及び抽出された特徴は、ホストの挙動に関する予測（２２２）を生成するモデルを備えた機械学習プロセス分類器（２２０）によって使用することができる。
システムから出力された予測の実施例は、
2.1.1.2,0.9975
2.1.1.3,0.1326
2.1.1.4,0.0004
2.1.1.5,0.5779
2.1.1.6,0.0378
2.1.1.7,0.8931
とすることができる。機械学習プロセス分類器は、トレーニングデータセット及び検証データセット（２１６）を含むデータセットに分割される特徴からの入力でトレーニングされて、既知の機械学習トレーニングプロセス（２１８）を実行して、分類器プロセス（２２０）及び方法のモデルをトレーニングできるようにする。
【００２１】
開示される方法２００は、機械学習分類モデルを使用する分類器プロセス（２２０）を使用して悪意のあるホストと無害のホストとを区別し、各ホストの挙動、及びひいてはホストがネットフロー生成されたホワイトリスト、並びにホストの挙動を決定し悪意のあるホストを識別するという上記の問題に対する技術的解決策を提供する機械学習を用いてマルウェアを格納／配分する尤度を識別／決定することができる。悪意のあるホストの実施例としては、他のホストにマルウェアを感染させ、又はボットネットを他のホストに拡散するＣｎＣ（コマンドアンドコントロール）サーバとすることができる。このようなボットネットは、スパム、ＤＤｏＳ（サービス拒否）攻撃、又は総当たり攻撃を実行する可能性がある。対照的に、無害ホストは、悪意のあるホストの動作を実行しないホストである。技術的な解決策は、外部ブラックリストと生成される可能性のあるホワイトリスト、ネットフローデータ及び機械学習の組み合わせを使用して提供される。システム及び方法は、様々な異なる機械学習アルゴリズム及びモデルを用いて実装することができる。例えば、方法は、既知のランダムフォレスト機械学習分類器を用いることができる。しかしながら、本方法２００はまた、決定木、統計的分類器、人工ニューラルネットワーク、教師あり学習、教師なし学習、クラスタリングアルゴリズム、及び同様のものも使用することができる。トレーニング済みモデルを使用して、ネットワークアクティビティをスコアリングし、又は異なるタイプのサイバー脅威を区別することができる。本モデルは、図５を参照して以下で記載されるように検証することができる。
【００２２】
図２の方法２００及び図１に示すシステム１００において、ホスト挙動の決定に使用されるデータ（履歴フロー、抽出されたホワイトリストとブラックリスト、計算された特徴）は、コンピュータデータストレージ内のファイル構造（例： バイナリファイル又はカンマ区切り値）に保持することができる。ストレージはまた、図２の方法２００のプロセスを実行するのに使用できる図１に示されるエレメントを実装するのに使用されるコンピュータコードを格納することができる。
【００２３】
方法２００は、悪意のあるホスト及び無害のホストの決定の出力を生成することができる。例えば、方法２００は、スコアを出力することができ、該スコアは、エキスパートがチェック／確認するのにホストのＩＰアドレスを命令するのに使用することができる。スコアは、各ホストの各ＩＰアドレスの範囲（０，１）の単一の数値とすることができる。脅威分類のための追加の方法を使用して、高い悪意スコアについての最も可能性の高い理由を示唆することができる。当該データは、後でネットワーク及びセキュリティオペレータに対する動作の示唆、又はドメインの専門家によるより深い調査に使用することができる。
【００２４】
図３は、ホワイトリストの生成方法３００を示す。１つの実施形態において、ホワイトリストの生成は、図１のシステムのワーカーエレメント２０６及びアドミニストレータエレメント１０８によって実施することができる。本方法において、ネットフローデータ（３０２）、ＩＰアドレスのパブリックソースホワイトリスト（３０４）、及び時間期間（３０６）は、本方法への入力とすることができる。例えば、時間期間は、ネットフローの３〜６時間ウィンドウとすることができる。時間期間データを用いると、本方法は、（ネットフローデータにおけるトラフィックの日付に基づいて）１日からＩＰアドレスを抽出（３０８）し、所与の周波数レンジ（３１０）からＩＰアドレスを取得（３１０）し、次いで、所与の数のＩＰアドレスをサンプリングする（３１２）ことができる。次に、ネットフローデータ及びホワイトリストからサンプルＩＰアドレスを使用して、本方法は、時間期間との最小接続閾値を満たす何れかのＩＰアドレスを検索／識別（３１４）することができる。１つの実施例では、閾値は、１〜３時間ウィンドウの間にＮｅｔｆｌｏｗにおいて登録された２０個のインバウンド接続と２０個のアウトバウンド接続とすることができるが、閾値は調整することができる。次いで、本方法は、特徴を生成する（３１６）ことができる。図４は、図３の方法を使用してホワイトリストを生成するのに使用することができる疑似コードの実施例を示している。図３の方法３００によって生成されたホワイトリストは、図２の方法２００の一部として用いることができる。
【００２５】
図５は、モデル検証の方法５００を示し、図６は、モデルを検証するのに用いることができる疑似コードの実施例を示す。１つの実施形態において、モデル検証は、図１のシステムのワーカーエレメント１０６及びアドミニストレータエレメント１０８によって実施することができる。本方法では、モデル（５０２）、ネットフローデータのセット（５０４）、及び検証時間期間（５０６）を方法に入力することができる。ネットフローデータ及び検証時間期間を使用して、本方法は、１日（５０８）のネットフローデータからＩＰアドレスを抽出（５０８）し、所定の基準に従ってアクティブなＩＰアドレスを取得（５１０）することができる。例えば、所定の基準は、上述の閾値を超える数とすることができる。次いで、本方法は、上述のように検証時間期間との最小接続閾値を満たす何れかのＩＰアドレスを検索／識別する（５１２）ことができる。次に、本方法は、基準を満たすネットフローデータ、検証時間期間及びＩＰアドレスを用いて特徴を生成（５１４）することができる。本方法はまた、ＩＰアドレスに対してパブリック情報を取得することができる。生成された特徴及びモデル（５０２）を用いて、本方法は、ＩＰアドレスに対して予測を行う（５１６）ことができる。次に、予測及びパブリック情報を用いて、予測をスコアリング（５２０）し、当該モデルの予測をパブリック情報と比較することにより、モデルの検証を決定することができる。上記のプロセスにおいて、本システムは、外部ソースを用いてモデルを照合及び検証し、ＩＰに対して生成されたスコア（［ＩＰ，スコア］のペア）を外部のブラックリストからのグランドトルースと比較することができる。
【００２６】
以上の説明は、説明の目的で特定の実施形態を参照して説明してきた。しかしながら、上述の例示的な検討は、網羅的なものではなく、或いは、本開示を開示された厳密な形態に限定するものではない。上述の教示に照らして、多くの修正形態及び変形形態が実施可能である。本実施形態は、本開示の原理及び実施可能な用途を最も良く説明するようにまた企図される特定の用途に適するような様々な修正を含む様々な実施形態の開示を当業者が理解するのを可能にするように、選択し且つ説明してきた。
【００２７】
本明細書で開示されたシステム及び方法は、１又は２以上の構成要素、システム、サーバ、アプリケーション、他の部分構成要素を介して実施され、或いはこのような要素間で分散させることができる。システムとして実装されたときに、かかるシステムは、とりわけ、汎用コンピュータにて見られるソフトウェアモジュール、汎用のＣＰＵ、ＲＡＭ、その他などの構成要素を含む及び／又は包含することができる。新規の手法がサーバ上に常駐する実施構成において、かかるサーバは、汎用コンピュータにて見られるような、ＣＰＵ、ＲＡＭ、その他などの構成要素を含む及び／又は包含することができる。
【００２８】
加えて、本明細書のシステム及び方法は、上記に記載されたことを超えて、異なる又は全く異なるソフトウェア、ハードウェア、及び／又はファームウェア構成要素を有する実施構成を介して実現することができる。本発明に関連付けられ又は本発明を具現化する他のこのような構成要素（例えば、ソフトウェア、処理構成要素、その他）及び／又はコンピュータ可読媒体に関しては、例えば、本明細書における本発明の態様は、多数の汎用又は特定用途のコンピュータシステム及び構成と適合して実装することができる。本明細書における新しい手法と共に用いるのに好適とすることができる様々な例示的なコンピュータシステム、環境及び／又は構成は、限定ではないが、パーソナルコンピュータ、ルーティング／接続性構成要素などのサーバ又はサーバコンピュータデバイス、ハンドヘルド又はラップトップデバイス、マルチプロセッサデバイス、ネットワークＰＣ、他の既存のコンピュータプラットフォーム、上記のシステム又はデバイスのうちの１又は２以上を含む分散コンピュータ環境、その他内にある又はこれらで具現化されるソフトウェア又は他の構成要素を含むことができる。
【００２９】
幾つかの例では、本システム及び方法の態様は、例えば、このような構成要素又は回路構成と関連して実行されるプログラムモジュールを含む論理回路及び／又は論理命令を介して実現又は実施することができる。一般に、特定のタスクを実施し又は本明細書の特定の命令を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造を含むことができる。本発明はまた、分散ソフトウェア、コンピュータ、又は回路構成が通信バス、回路又はリンクを介して接続される回路設定の関連で実施することができる。分散設定において、制御及び／又は命令は、メモリ記憶デバイスを含むローカル及びリモートのコンピュータストレージ媒体の両方から生じることができる。
【００３０】
本明細書のソフトウェア、回路及び構成要素はまた、コンピュータ可読媒体の１又は２以上のタイプを含む及び／又は利用することができる。コンピュータ可読媒体は、このような回路及び／又はコンピュータ構成要素上に存在し、又はこれらと関連付けられ、もしくはこれらによってアクセス可能なあらゆる利用可能な媒体とすることができる。限定ではなく例証として、コンピュータ可読媒体は、コンピュータストレージ媒体及び通信媒体を含むことができる。コンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータなど、情報格納のための何らかの方法又は技術において実装される揮発性及び不揮発性、取り外し可能及び取り外し不能の媒体を含む。コンピュータ可読媒体は、限定ではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ又は他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、又は他の光学記憶装置、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶デバイス、或いは、所望の情報を格納するのに用いることができ且つコンピュータ構成要素によってアクセス可能な他の何れかの媒体を含む。通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール及び／又は他の構成要素を含むことができる。更に、通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体を含むことができるが、本明細書でのこのような何れかのタイプの媒体は、一時的媒体を含まない。上記の何れかの組み合わせもまた、コンピュータ可読媒体の範囲内に含まれる。
【００３１】
本明細書では、構成要素、モジュール、デバイスなどの用語は、様々な方法で実装できるあらゆるタイプの論理回路又は機能ソフトウェア要素、回路、ブロック、及び／又はプロセスを指すことができる。例えば、様々な回路及び／又はブロックの機能を互いに組み合わせて、他の何れかの数のモジュールにすることができる。各モジュールは、本明細書の新規の手法の機能を実装するために中央処理装置によって読み取られる有形メモリ（例えば、ランダムアクセスメモリ、読み取り専用メモリ、ＣＤ−ＲＯＭメモリ、ハードディスクドライブ、その他）に格納されたソフトウェアプログラムとして実装することもできる。或いは、モジュールは、送信搬送波を介して汎用コンピュータ又は処理／グラフィックスハードウェアに送信されるプログラミング命令を含むことができる。また、モジュールは、本明細書で新規の手法に含まれる機能を実装するハードウェア論理回路として実装することができる。最後に、モジュールは、所望のレベルの性能及びコストを提供する、特定用途命令（ＳＩＭＤ命令）、フィールドプログラマブル論理アレイ、又はこれらの組み合わせを使用して実装することができる。
【００３２】
本明細書で開示されるように、本開示と一致する特徴は、コンピュータハードウェア、ソフトウェア及び／又はファームウェアを介して実装することができる。例えば、本明細書で開示されるシステム及び方法は、例えば、データベース、デジタル電子回路、ファームウェア、ソフトウェア、又はこれらの組み合わせも含むコンピュータなどのデータプロセッサを含む、様々な形態で具現化することができる。更に、開示された実施構成の一部は、特定のハードウェア構成要素を記述しているが、本明細書の新規の手法と一致するシステム及び方法は、ハードウェア、ソフトウェア及び／又はファームウェアの何れかの組み合わせで実装することができる。更に、本明細書の新規の手法の上記の特徴及び他の態様並びに原理は、様々な環境で実装することができる。このような環境及び関連の応用は、本発明による様々なルーチン、プロセス、及び／又は動作を実行するために特別に構築することができ、或いは、必要な機能を提供するためにコードによって選択的にアクティブ化又は再構成される汎用コンピュータ又はコンピュータプラットフォームを含むことができる。本明細書で開示されるプロセスは、何れかの特定のコンピュータ、ネットワーク、アーキテクチャ、環境、又は他の装置に本質的に関連するものではなく、ハードウェア、ソフトウェア、及び／又はファームウェアの好適な組み合わせによって実装することができる。例えば、様々な汎用マシンは、本発明の教示に従って書かれたプログラムと共に使用することができ、或いは、必要とされる方法及び技法を実行する専用の装置又はシステムを構築するのにより好都合とすることができる。
【００３３】
論理回路などの本明細書で記載される方法及びシステムの態様は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブルアレイロジック（「ＰＡＬ」）デバイス、電気的にプログラム可能なロジック及びメモリデバイス及び標準セルベースのデバイス、並びに特定用途向け集積回路など、プログラマブルロジックデバイス（ＰＬＤ）を含む様々な回路の何れかにプログラムされた機能として実装することもできる。態様を実装する他の何れかの可能性としては、メモリデバイス、メモリを備えたマイクロコントローラ（ＥＥＰＲＯＭなど）、埋め込みマイクロプロセッサ、ファームウェア、ソフトウェア、その他が挙げられる。更に、態様は、ソフトウェアベースの回路エミュレーション、ディスクリート論理回路（シーケンシャル及び組み合わせ）、カスタムデバイス、ファジー（ニューラル）論理回路、量子デバイス、及び上記デバイスタイプの何れかの混成体を有するマイクロプロセッサで具体化することができる。基礎となるデバイス技術は、例えば、相補型金属酸化物半導体（ＣＭＯＳ）などの金属酸化膜半導体電界効果トランジスタ（ＭＯＳＦＥＴ）技術、エミッタ結合論理回路 （「ＥＣＬ」）のようなバイポーラ技術、ポリマー技術（例えば、シリコン共役ポリマー及び金属共役ポリマー−金属構造）、アナログ及びデジタルの混合、などにおいて提供することができる。
【００３４】
また、本明細書で開示される様々な論理回路及び／又は機能は、挙動、レジスタ転送、論理構成要素、及び／又は他の特性の観点で、ハードウェア、ファームウェア、及び／又はデータ及び／又は様々な機械可読又はコンピュータ可読媒体に組み込まれた命令のあらゆる数の組み合わせを使用して有効にすることができる点に留意されたい。このようなフォーマットされたデータ及び／又は命令を具体化することができるコンピュータ可読媒体には、一時的媒体は含まれないが、様々な形態の不揮発性記憶媒体（例えば、光学、磁気又は半導体記憶媒体）が含まれるが、これらに限定されない。文脈がそうでないことを明確に要求しない限り、本明細書全体を通じて、「含む」、「含む」などの用語は、排他的又は網羅的な意味ではなく、包括的な意味で解釈されるべきであり、すなわち、「含むがこれらに限定されない」という意味では、単数又は複数を使用した用語には、それぞれ複数又は単数も含まれる。加えて、用語「ここで」、「以下」、「上」、「下」という用語、及び同様の意味の用語は、この適用全体を指し、この適用の特定の部分を指すものではない。用語「又は」が２つ以上の項目のリストを参照するのに使用される場合、その用語は、用語の以下の全ての解釈、すなわち、リスト内の項目の何れか、リスト内の項目の全て、及びリスト内の項目の何れかの組み合わせの全てを対象とする。
【００３５】
現在好ましい本発明の特定の実施を本明細書で具体的に説明してきたが、本明細書に示し説明した様々な実施構成の変形形態及び修正形態が、本発明の精神及び範囲から逸脱することなくなされ得ることは、本発明に関係する当業者には明らかであろう。従って、本発明は、適用可能な法の規則によって要求される範囲にのみ限定されることが意図されている。
【００３６】
上記のことは、本開示の特定の実施形態を参照してきたが、本実施形態の変更は、本開示の原理及び精神から逸脱することなく行うことができ、その範囲が添付の請求項によって定められることを当業者であれば理解するであろう。
【符号の説明】
【００３７】
１０２Ａ  ルータ１
１０２Ｎ  ルータＮ
ＩＮＴＥＲＮＥＴ  インターネット
１０４  ネットワークフロー監視データコレクタ
１１０  ストレージ（任意選択）
１０６  ワーカー
１０６Ａ  ワーカー１
１０６Ｎ  ワーカーＮ
ＴＡＳＫＳ  タスク
ＲＥＳＵＬＳ  結果
１０８  アドミニストレータ
１０８Ａ  ウェブ
１０８Ｂ  データベース
【図１】
2020530638.tif 000004
【図２】
2020530638.tif 000005
【図３】
2020530638.tif 000006
【図４】
2020530638.tif 000007
【図５】
2020530638.tif 000008
【図６】
2020530638.tif 000009
【国際調査報告】
2020530638.tif 000010
2020530638.tif 000011
2020530638.tif 000012