(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-20
(45)【発行日】2024-10-01
(54)【発明の名称】ディープ・ラーニングによるネットワーク侵入検知
(51)【国際特許分類】
G06F 21/55 20130101AFI20240924BHJP
G06N 3/094 20230101ALI20240924BHJP
G06N 3/0464 20230101ALI20240924BHJP
G06N 3/045 20230101ALI20240924BHJP
【FI】
G06F21/55
G06N3/094
G06N3/0464
G06N3/045
(21)【出願番号】P 2023500033
(86)(22)【出願日】2021-06-10
(86)【国際出願番号】 CN2021099266
(87)【国際公開番号】W WO2022007581
(87)【国際公開日】2022-01-13
【審査請求日】2023-06-07
(32)【優先日】2020-07-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521555742
【氏名又は名称】キンドリル・インク
【氏名又は名称原語表記】Kyndryl Inc.
【住所又は居所原語表記】One Vanderbilt Avenue,15th Floor,New York,New York 10017,USA
(74)【代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】ヴァス、カーシック
【審査官】辻 勇貴
(56)【参考文献】
【文献】中国特許出願公開第110875912(CN,A)
【文献】特開2020-102178(JP,A)
【文献】岩佐 暁史,"自己組織化マップと畳み込みニューラルネットワークを用いて攻撃性の高い通信を分析するシステムの開発",電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2019年06月,Vol.119,No.70
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
G06N 3/094
G06N 3/0464
G06N 3/045
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のコンピュータ・プロセッサによって、内部ネットワークに入る、または存在する1つまたは複数のネットワーク入力をインターセプトすることと、
1つまたは複数のコンピュータ・プロセッサによって、訓練済みの敵対的生成ネットワークを利用してテキスト埋め込みネットワーク入力の正規分布からサンプリングされたランダム・ノイズ・ベクトルから、1つまたは複数のネットワーク入力画像を合成することと、
1つまたは複数のコンピュータ・プロセッサによって、正規化線形ユニットを有する訓練済み畳み込みニューラル・ネットワークを利用して、
前記1つまたは複数のネットワーク入力画像に含まれるオブジェクトを識別することによって、1つまたは複数の合成されたネットワーク入力画像を分類することであって、前記オブジェクトは、パターン、シーケンス、トレンドおよびシグネチャを含む、分類することと、
1つまたは複数のコンピュータ・プロセッサによって、前記分類されたネットワーク入力画像および関連する1つまたは複数のネットワーク入力のセキュリティ・プロファイルを予測することであって、前記セキュリティ・プロファイルは、ルールおよび関連する軽減動作のセット、類似の過去のネットワーク・トラフィック、感染の可能性、過去の悪意のあるネットワーク入力とシグネチャが一致する可能性、ならびに危害の要因を含む、予測することと、
1つまたは複数のコンピュータ・プロセッサによって、前記1つまたは複数のネットワーク入力に関連する前記予測されたセキュリティ・プロファイルに基づいて、1つまたは複数の軽減動作を適用することと
を含む、コンピュータ実施方法。
【請求項2】
1つまたは複数のコンピュータ・プロセッサによって、前記予測されたセキュリティ・プロファイルを有する1つまたは複数の侵入検知システム・シグネチャを更新することによって、後続の偽陽性を軽減すること
をさらに含む、請求項1に記載の方法。
【請求項3】
1つまたは複数のコンピュータ・プロセッサによって、ホスト侵入検知システムならびにテキスト、グラフィック・ベース、画像ベース、およびビデオ・ベースの異常シグネチャを含むライブラリを利用して、インバウンドおよびアウトバウンドのネットワーク入力を監視すること
をさらに含む、請求項1に記載の方法。
【請求項4】
1つまたは複数のコンピュータ・プロセッサによって、ネットワーク侵入検知システムを利用してすべてのネットワーク・トラフィックを監視して、サブネット上の通過するネットワーク・トラフィックの分析を実行することであって、前記ネットワーク侵入検知システムは、パケット、フロー、セッション、パケット・ペイロード、トラフィック・グループ、ネットワーク・セッション遷移および伝送を分析する、実行することと、
1つまたは複数のコンピュータ・プロセッサによって、監視されたネットワーク・トラフィックを、悪意のあるシグネチャのライブラリと照合することと
をさらに含む、請求項1に記載の方法。
【請求項5】
正規化線形ユニットを有する前記訓練済み畳み込みニューラル・ネットワークを利用して、
前記オブジェクトを識別することによって、1つまたは複数の合成されたネットワーク入力画像を分類す
ることは、
1つまたは複数のコンピュータ・プロセッサによって、それぞれの過去のネットワーク画像に対する合成画像の画像類似性の確率を示す類似性スコアを計算すること
をさらに含む、請求項1に記載の方法。
【請求項6】
前記軽減動作は、前記予測されたセキュリティ・プロファイルに含まれる1つまたは複数の要因、スコアおよび確率に基づいて、送信すること、監視すること、変更すること、一時停止すること、フラグ付けすること、隔離すること、迂回すること、保存すること、またはログに記録することを含む、
請求項1に記載の方法。
【請求項7】
前記訓練済みの敵対的生成ネットワークを利用してテキスト埋め込みネットワーク入力の前記正規分布からサンプリングされた前記ランダム・ノイズ・ベクトルから、1つまたは複数のネットワーク入力画像を合成することは、
1つまたは複数のコンピュータ・プロセッサによって、意味的テキスト埋め込み、カスケード画像生成のためのグローバル-ローカル共同注視、意味的テキスト再生成、および意味的テキスト再生成アライメントを含む再記述を通して、テキストから画像への生成を適用すること
をさらに含む、請求項1に記載の方法。
【請求項8】
1つまたは複数のコンピュータ可読ストレージ媒体および前記1つまたは複数のコンピュータ可読ストレージ媒体上に格納されたプログラム命令を含み、前記格納されたプログラム命令は、
内部ネットワークに入る、または存在する1つまたは複数のネットワーク入力をインターセプトするプログラム命令と、
訓練済みの敵対的生成ネットワークを利用してテキスト埋め込みネットワーク入力の正規分布からサンプリングされたランダム・ノイズ・ベクトルから、1つまたは複数のネットワーク入力画像を合成するプログラム命令と、
正規化線形ユニットを有する訓練済み畳み込みニューラル・ネットワークを利用して、
前記1つまたは複数のネットワーク入力画像に含まれるオブジェクトを識別することによって、1つまたは複数の合成されたネットワーク入力画像を分類するプログラム命令であって、前記オブジェクトは、パターン、シーケンス、トレンドおよびシグネチャを含む、分類するプログラム命令と、
前記分類されたネットワーク入力画像および関連する1つまたは複数のネットワーク入力のセキュリティ・プロファイルを予測するプログラム命令であって、前記セキュリティ・プロファイルは、ルールおよび関連する軽減動作のセット、類似の過去のネットワーク・トラフィック、感染の可能性、過去の悪意のあるネットワーク入力とシグネチャが一致する可能性、ならびに危害の要因を含む、予測するプログラム命令と、
前記1つまたは複数のネットワーク入力に関連する前記予測されたセキュリティ・プロファイルに基づいて、1つまたは複数の軽減動作を適用するプログラム命令と
を含む、コンピュータ・プログラ
ム。
【請求項9】
前記1つまたは複数のコンピュータ可読ストレージ媒体上に格納された前記プログラム命令は、
前記予測されたセキュリティ・プロファイルを有する1つまたは複数の侵入検知システム・シグネチャを更新することによって、後続の偽陽性を軽減するプログラム命令
をさらに含む、請求項8に記載のコンピュータ・プログラ
ム。
【請求項10】
前記1つまたは複数のコンピュータ可読ストレージ媒体上に格納された前記プログラム命令は、
ホスト侵入検知システムならびにテキスト、グラフィック・ベース、画像ベース、およびビデオ・ベースの異常シグネチャを含むライブラリを利用して、インバウンドおよびアウトバウンドのネットワーク入力を監視するプログラム命令
をさらに含む、請求項8に記載のコンピュータ・プログラ
ム。
【請求項11】
前記1つまたは複数のコンピュータ可読ストレージ媒体上に格納された前記プログラム命令は、
ネットワーク侵入検知システムを利用してすべてのネットワーク・トラフィックを監視して、サブネット上の通過するネットワーク・トラフィックの分析を実行するプログラム命令であって、前記ネットワーク侵入検知システムは、パケット、フロー、セッション、パケット・ペイロード、トラフィック・グループ、ネットワーク・セッション遷移および伝送を分析する、実行するプログラム命令と、
監視されたネットワーク・トラフィックを、悪意のあるシグネチャのライブラリと照合するプログラム命令と
をさらに含む、請求項8に記載のコンピュータ・プログラ
ム。
【請求項12】
正規化線形ユニットを有する前記訓練済み畳み込みニューラル・ネットワークを利用して、
前記オブジェクトを識別することによって、1つまたは複数の合成されたネットワーク入力画像を分類するプログラム命
令は、
それぞれの過去のネットワーク画像に対する合成画像の画像類似性の確率を示す類似性スコアを計算するプログラム命令
をさらに含む、請求項8に記載のコンピュータ・プログラ
ム。
【請求項13】
前記軽減動作は、前記予測されたセキュリティ・プロファイルに含まれる1つまたは複数の要因、スコアおよび確率に基づいて、送信すること、監視すること、変更すること、一時停止すること、フラグ付けすること、隔離すること、迂回すること、保存すること、またはログに記録することを含む、
請求項8に記載のコンピュータ・プログラ
ム。
【請求項14】
前記訓練済みの敵対的生成ネットワークを利用してテキスト埋め込みネットワーク入力の前記正規分布からサンプリングされた前記ランダム・ノイズ・ベクトルから、1つまたは複数のネットワーク入力画像を合成するプログラム命令は、
1つまたは複数のコンピュータ・プロセッサによって、意味的テキスト埋め込み、カスケード画像生成のためのグローバル-ローカル共同注視、意味的テキスト再生成、および意味的テキスト再生成アライメントを含む再記述を通して、テキストから画像への生成を適用するプログラム命令
をさらに含む、請求項8に記載のコンピュータ・プログラ
ム。
【請求項15】
1つまたは複数のコンピュータ・プロセッサと、
1つまたは複数のコンピュータ可読ストレージ媒体と、
前記1つまたは複数のコンピュータ・プロセッサの少なくとも1つによる実行ために、前記コンピュータ可読ストレージ媒体上に格納されたプログラム命令とを含み、
前記格納されたプログラム命令は、
内部ネットワークに入る、または存在する1つまたは複数のネットワーク入力をインターセプトするプログラム命令と、
訓練済みの敵対的生成ネットワークを利用してテキスト埋め込みネットワーク入力の正規分布からサンプリングされたランダム・ノイズ・ベクトルから、1つまたは複数のネットワーク入力画像を合成するプログラム命令と、
正規化線形ユニットを有する訓練済み畳み込みニューラル・ネットワークを利用して、
前記1つまたは複数のネットワーク入力画像に含まれるオブジェクトを識別することによって、1つまたは複数の合成されたネットワーク入力画像を分類するプログラム命令であって、前記オブジェクトは、パターン、シーケンス、トレンドおよびシグネチャを含む、分類するプログラム命令と、
前記分類されたネットワーク入力画像および関連する1つまたは複数のネットワーク入力のセキュリティ・プロファイルを予測するプログラム命令であって、前記セキュリティ・プロファイルは、ルールおよび関連する軽減動作のセット、類似の過去のネットワーク・トラフィック、感染の可能性、過去の悪意のあるネットワーク入力とシグネチャが一致する可能性、ならびに危害の要因を含む、予測するプログラム命令と、
前記1つまたは複数のネットワーク入力に関連する前記予測されたセキュリティ・プロファイルに基づいて、1つまたは複数の軽減動作を適用するプログラム命令と
を含む、コンピュータ・システム。
【請求項16】
前記1つまたは複数のコンピュータ可読ストレージ媒体上に格納された前記プログラム命令は、
ホスト侵入検知システムならびにテキスト、グラフィック・ベース、画像ベース、およびビデオ・ベースの異常シグネチャを含むライブラリを利用して、インバウンドおよびアウトバウンドのネットワーク入力を監視するプログラム命令
をさらに含む、請求項15に記載のコンピュータ・システム。
【請求項17】
前記1つまたは複数のコンピュータ可読ストレージ媒体上に格納された前記プログラム命令は、
ネットワーク侵入検知システムを利用してすべてのネットワーク・トラフィックを監視して、サブネット上の通過するネットワーク・トラフィックの分析を実行するプログラム命令であって、前記ネットワーク侵入検知システムは、パケット、フロー、セッション、パケット・ペイロード、トラフィック・グループ、ネットワーク・セッション遷移および伝送を分析する、実行するプログラム命令と、
監視されたネットワーク・トラフィックを、悪意のあるシグネチャのライブラリと照合するプログラム命令と
をさらに含む、請求項15に記載のコンピュータ・システム。
【請求項18】
正規化線形ユニットを有する前記訓練済み畳み込みニューラル・ネットワークを利用して、
前記オブジェクトを識別することによって、1つまたは複数の合成されたネットワーク入力画像を分類するプログラム命令
は、
それぞれの過去のネットワーク画像に対する合成画像の画像類似性の確率を示す類似性スコアを計算するプログラム命令
をさらに含む、請求項15に記載のコンピュータ・システム。
【請求項19】
前記軽減動作は、前記予測されたセキュリティ・プロファイルに含まれる1つまたは複数の要因、スコアおよび確率に基づいて、送信すること、監視すること、変更すること、一時停止すること、フラグ付けすること、隔離すること、迂回すること、保存すること、またはログに記録することを含む、
請求項15に記載のコンピュータ・システム。
【請求項20】
前記訓練済みの敵対的生成ネットワークを利用してテキスト埋め込みネットワーク入力の前記正規分布からサンプリングされた前記ランダム・ノイズ・ベクトルから、1つまたは複数のネットワーク入力画像を合成するプログラム命令は、
1つまたは複数のコンピュータ・プロセッサによって、意味的テキスト埋め込み、カスケード画像生成のためのグローバル-ローカル共同注視、意味的テキスト再生成、および意味的テキスト再生成アライメントを含む再記述を通して、テキストから画像への生成を適用するプログラム命令
をさらに含む、請求項15に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、ディープ・ラーニングの分野に関し、より具体的にはディープ・ラーニングを利用した侵入検知に関する。
【0002】
侵入検知システム(IDS)は、悪意のあるアクティビティまたはポリシー違反について、ネットワークまたはシステムを監視するデバイスまたはソフトウェア・アプリケーションである。典型的に、侵入アクティビティまたは違反は、ログに記録、もしくは管理者に報告、またはその両方がされる。IDSsは、(例えば、着信ネットワーク・トラフィックを分析する)ネットワークベースの侵入検知システム(network-based intrusion detection system)(NIDS)および(例えば、重要なオペレーティング・システム・ファイルを監視する)ホストベースの侵入検知システム(host-based intrusion detection)(HIDS)を含む。
【0003】
ニューラル・ネットワーク(NNs)は、生物学的なニューラル・ネットワークによって着想されたコンピューティング・システムである。NNsは、単純なアルゴリズムではなく、機械学習アルゴリズムが複雑な入力を処理するためのフレームワークである。このようなシステムは、一般にタスク固有のルールでプログラムされることなく、トレーニング例を検討することによって、タスクを実行することを「学習(learn)」する。NNsは、人工ニューロンと呼ばれる、接続されたユニットまたはノードのコレクションに基づいていて、これは、各人工ニューロンがある人工ニューロンから他の人工ニューロンへ信号を送信することができる、生物学的な脳におけるニューロンを大まかにモデル化したものである。ここで、人工ニューロンは、信号を受信し、前記人工ニューロンが信号を処理し、続いて、追加の人工ニューロンに信号を転送することができる。一般的なNNの実装では、人工ニューロン間の接続での信号は、実数であり、各人工ニューロンの出力は、入力の合計の非線形関数によって計算される。人工ニューロンおよびエッジは、一般に、学習が進むにつれて調整されるそれぞれの重みを有する。それぞれの重みは、接続での信号の強度を増減する。人工ニューロンは、集約された信号が閾値を超えた場合にのみ、信号を送信するような閾値を有し得る。典型的には、人工ニューロンは、複数の層が入力に対して複数のデータ変換を実行する層に集約される。
【0004】
畳み込みニューラル・ネットワーク(CNN)は、ニューラル・ネットワークのクラスまたはサブカテゴリであり、視覚的な画像の分析に最も一般的に適用される。CNNsは、層内の各ニューロンが後続の層内のすべてのニューロンと接続される、多層パーセプトロン(例えば、完全に接続されたネットワーク)の正規化されたバージョンである。CNNsは、データ内の階層パターンを利用し、調整されたパターンを利用してより複雑なパターンを導出する。CNNsは、画像をカーネル(例えば、5×5ピクセル)に分解し、指定されたストライド長で画像にわたって反復する。CNNsは、他の画像分類アルゴリズムと比べて比較的少ない前処理を用い、ネットワークが、従来のアルゴリズムでは手作業で設計されたフィルタを学習できる。
【0005】
敵対的生成ネットワーク(GAN)は、2つのニューラル・ネットワーク(すなわち、生成的ネットワークおよび識別的ネットワーク)を含む機械学習システムのクラスまたはサブカテゴリである。GANsは、提供されたトレーニング・セットに示されているように、同様のデータ統計で新しいデータを生成することを学習する。例えば、写真のトレーニング・セットで訓練されたGANは、人間の観察者にとっては少なくとも表面的には本物に見える新しい写真を生成することができる。包含生成ネットワークは、候補を生成する一方で、識別的ネットワークは、生成された候補を評価する。典型的には、生成的ネットワークは、学習して、潜在的空間から関心のあるデータ分布へとマップするが、識別的ネットワークは、生成された候補をトレーニング・セット・データ分布から区別する。生成的ネットワークは、識別的ネットワークのエラー率を増加させ(すなわち、識別器が合成されていないと考える新たな候補を生成することにより、識別機ネットワークによる誤分類を含み)、したがって、統計的に現実的な候補を生成する。
【発明の概要】
【0006】
本発明の実施形態は、ネットワーク・トラフィック異常を検知および軽減のためのコンピュータ実装方法、コンピュータ・プログラム製品およびシステムを開示する。コンピュータ実装方法は、内部ネットワークに入る、または存在する、1つまたは複数のネットワーク入力をインターセプトする、1つまたは複数のコンピュータ・プロセッサを含む。1つまたは複数のコンピュータ・プロセッサは、訓練済みの敵対的生成ネットワークを利用してテキスト埋め込みネットワーク入力の正規分布からサンプリングされたランダム・ノイズ・ベクトルから、1つまたは複数のネットワーク入力画像を合成する。1つまたは複数のコンピュータ・プロセッサは、正規化線形ユニットを有する訓練済み畳み込みニューラル・ネットワークを利用して、包含オブジェクトを識別することによって、1つまたは複数の合成されたネットワーク入力画像を分類し、ここで、オブジェクトは、パターン、シーケンス、トレンドおよびシグネチャを含む。1つまたは複数のコンピュータ・プロセッサは、分類されたネットワーク入力画像および関連する1つまたは複数のネットワーク入力のセキュリティ・プロファイルを予測し、ここで、セキュリティ・プロファイルは、ルールおよび関連する軽減動作のセット、類似の過去のネットワーク・トラフィック、感染の可能性、過去の悪意のあるネットワーク入力とシグネチャが一致する可能性、ならびに危害の要因を含む。1つまたは複数のコンピュータ・プロセッサは、1つまたは複数のネットワーク入力に関連する予測されたセキュリティ・プロファイルに基づいて、1つまたは複数の軽減動作を適用する。
【図面の簡単な説明】
【0007】
【
図1】本発明の実施形態による、計算環境を示す機能ブロック図。
【
図2】本発明の実施形態による、ネットワーク・トラフィックの異常の検知および軽減のための、
図1の計算環境内のサーバ・コンピュータ上のプログラムの動作ステップを示すフローチャート。
【
図3】本発明の実施形態による、ディープ・ラーニング画像の生成および分析に基づくネットワーク・トラフィックの分析のための、
図1の計算環境内のサーバ・コンピュータ上のプログラムの動作ステップを示すフローチャート。
【
図4】本発明の実施形態による、例示的な生成ネットワーク画像。
【
図5】本発明の実施形態による、
図1の計算環境内のサーバ・コンピュータ上のプログラムの例示的なステップを示すフローチャート。
【
図6】本発明の実施形態による、サーバ・コンピュータのコンポーネントのブロック図。
【発明を実施するための形態】
【0008】
従来、侵入検知システム(IDS)は、パケット・シグネチャを検知し、識別することによって、潜在的に無許可の、または悪意のあるアクティビティのための内部ネットワークを監視する。IDSは、認証された、または許可されたネットワーク・アクティビティに起因する誤ったアラームを頻繁に起こす傾向にあり、間違って、フラグ付けされ、記録され、一時停止され、もしくは終了され、またはこれらの組み合わせが行われ、さらなるエラー、遅延、ネットワークの輻輳、計算コストの増加、そして、最終的には、ネットワーク効率の低下を引き起こす。従来のIDSsは、悪意の識別率を高く維持して、誤ったアラームを減少するために、内部ネットワークの要件と使用を微調整する必要がある。従来のIDSの調整は、潜在的なネットワーク入力/パケット署名の量に起因する、実質的にリソースを大量に消費する処理であり、頻繁な手作業の介入を要し、したがって、コストの最適化および実装要件を増加させる。
【0009】
本発明の実施形態は、ネットワークベースの侵入検知システム(network-based intrusion detection system)(NIDS)およびホストベースの侵入検知システム(host-based intrusion detection)(HIDS)などの侵入検知システムのためのディープ・ラーニングの方法を可能にする。本発明の実施形態は、シグネチャベースの検知技術および異常ベースの検知技術を利用して、ネットワーク・トラフィックおよびポートを監視し、分析する。本発明の実施形態は、教師無し機械学習を、IDSによって生成されるネットワーク侵入アラーム(すなわち、テキスト・ネットワーク・データ)に適用する。本発明の実施形態は、敵対的生成ネットワーク(GAN)を利用して、生のテキスト・データを画像もしくはグラフィック形式またはその両方に変換する。本発明の実施形態は、探索的データ分析(EDA)および適用された主成分分析(PDA)を利用する1つまたは複数の分類モデルを利用して、生成された画像を分類する。この実施形態では、本発明は、生成された画像内のネットワーク・トラフィック・パターンを発見し、偽陽性(すなわち、アラーム)を最小化しながらネットワーク異常(例えば、フラグなど)を予測する。本発明の実施形態は、スクリーンショット・キャプチャ技術およびチャート・ダッシュボード分析などの画像認識技術に適用して、ネットワーク侵入のリスクおよび従来システムに関連する計算要件を減少しながら、偽陽性および悪意のある異常を識別する。本発明の実施形態は、1つまたは複数の、ネットワーク、ホストもしくはアプリケーションまたはその組み合わせに固有の、特定のネットワーク・パターンに基づいて、1つまたは複数の侵入モデルを動的に調整する。発明の実施形態の実装は、様々な形態をとることができ、例示的な実装の詳細は、以下で図面を参照して説明される。
【0010】
本発明は、図面を参照して、以下で詳細に説明される。
【0011】
図1は、本発明の一実施形態による、一般に100で示される計算環境を示すブロック図である。本明細書で使用される用語「計算(computational)」は、単一のコンピュータとして一緒に動作する、複数の物理的な個別のデバイスを含む、コンピュータ・システムを表す。
図1は、1つの実装の例示のみを提供し、異なる実施形態を実装できる環境に関して如何なる制限も暗示しない。請求項に記載された発明の範囲から逸脱することなく、当業者は、図示された環境に対して多くの変更を行うことができるであろう。
【0012】
計算環境100は、外部ネットワーク102および内部ネットワーク104を介して接続されたサーバ・コンピュータ120を含む。外部ネットワーク102および内部ネットワーク104は、それぞれ、例えば、電気通信ネットワーク、ローカル・エリア・ネットワーク(LAN)、インターネットのようなワイド・エリア・ネットワーク(WAN)、または、この3つの組み合わせとすることができ、有線接続、無線接続、または光ファイバ接続を含むことができる。外部ネットワーク102および内部ネットワーク104は、それぞれ、音声情報、データ情報およびビデオ情報を含むマルチメディア信号を含む、データ、音声もしくはビデオ信号またはその組み合わせを受信および送信できる、1つまたは複数の有線ネットワークもしくは無線ネットワークまたはその両方を含むことができる。一般に、外部ネットワーク102および内部ネットワーク104は、それぞれ、サーバ・コンピュータ120および計算環境100内の他のデバイス(不図示)間の通信をサポートする、接続およびプロトコルの任意の組み合わせとすることができる。様々な実施形態では、外部ネットワーク102および内部ネットワーク104は、それぞれ、有線、ワイヤレスまたは光接続を介してローカルに動作し、接続およびプロトコルの任意の組み合わせとすることができる(例えば、パーソナル・エリア・ネットワーク(PAN)、近距離無線通信(NFC)、レーザ、赤外線、超音波など)。一実施形態では、外部ネットワーク102は、より大きなイントラネットまたはインターネットのエントリのポイントとして公にアクセス可能である。一実施形態では、内部ネットワーク104は、公にアクセス可能ではない。この実施形態では、内部ネットワーク104は、サーバ・コンピュータ120を通じて外部ネットワーク102から(例えば、制御されたポイントおよび監視されたポイントを通じてのみアクセス可能に)セグメント化される。
【0013】
サーバ・コンピュータ120は、侵入検知システム、スタンドアロン・コンピューティング・デバイス、管理サーバ、ウェブ・サーバ、モバイル・コンピューティング・デバイス、もしくはその他の任意の電子デバイス、またはデータを受信、送信および処理することが可能なコンピューティング・システムとすることができる。他の実施形態では、サーバ・コンピュータ120は、クラウド・コンピューティング環境におけるような、複数のコンピュータをサーバ・システムとして利用する、サーバ・コンピューティング・システムを表すことができる。他の実施形態では、サーバ・コンピュータ120は、ラップトップ・コンピュータ、タブレット・コンピュータ、ネットブック・コンピュータ、パーソナル・コンピュータ(PC)、デスクトップ・コンピュータ、パーソナル・デジタル・アシスタント(PDA)、スマートホン、または外部ネットワーク102もしくは内部ネットワーク104または両方を介して計算環境100内の他のコンピューティング・デバイス(不図示)と通信することが可能な任意のプログラム可能な電子デバイスとすることができる。他の実施形態では、サーバ・コンピュータ120は、計算環境100内でアクセスされるとシームレス・リソースの単一のプールとして機能する、クラスタ化されたコンピュータおよびコンポーネント(例えば、データベース・サーバ・コンピュータ、アプリケーション・サーバ・コンピュータなど)を利用するコンピューティング・システムを表す。図示された実施形態では、サーバ・コンピュータ120は、データベース122およびプログラム150を含む。他の実施形態では、サーバ・コンピュータ120は、ネットワーク侵入検知システム(NIDS)である。他の実施形態では、サーバ・コンピュータ120は、ホスト侵入検知システム(HIDS)である。様々な実施形態において、サーバ・コンピュータ120は、外部ネットワーク102内に配置されるホストと、内部ネットワーク104内に配置されるホストとの間のネットワーク・トラフィックの流れを制御する。他の実施形態では、サーバ・コンピュータ120は、計算環境100に示されていない他のアプリケーション、データベース、プログラムなどを含み得る。サーバ・コンピュータ120は、
図6に関連して詳細に示され、説明されるように、内部ハードウェアおよび外部ハードウェアを含み得る。
【0014】
データベース122は、プログラム150によって使用されるデータのためのリポジトリである。図示された実施形態では、データベース122は、サーバ・コンピュータ120上に存在する。他の実施形態では、データベース122は、プログラム150がデータベース122にアクセスできる、計算環境100内の別の場所に存在してもよい。データベースは、データの整理されたコレクションである。データベース122は、プログラム150によってアクセスおよび利用できる、データおよび構成ファイルを格納することができる、データベース・サーバ、ハードディスク・ドライブ、またはフラッシュ・メモリなどの任意の種類のストレージ・デバイスに実装できる。一実施形態では、データベース122は、プログラム150によって使用される、過去の生成されたネットワーク画像、侵入検知シグネチャ;ホワイトリスト/ブラックリストのホスト、ポート、IPs、ルート、ホストおよびアプリケーション;過去の異常および関連するネットワークの入力情報;ならびに過去の偽陽性および関連するネットワークの入力情報などのデータを格納する。図示された実施形態では、データベース122は、コーパス124を含む。
【0015】
コーパス124は、テキストベースのコーパス(すなわち、パケット情報、コンソール出力、IDSシグネチャ、過去の異常、偽陽性ならびに認証されたネットワーク・トラフィックおよび関連するメタデータ)および関連する画像ベースのコーパス(すなわち、ネットワーク・グラフ、ダッシュボードなど)の複数を含む。一実施形態では、コーパス124は、1つまたは複数の過去の生成された画像表現を含む。一実施形態では、前記過去の異常は、特定のホスト、ルート、アプリケーション、ロケーション、またはグループに関して分類され、整理され、もしくは構造化され、またはそれらの組み合わせが行われる。例えば、ロケーションに関する全ての過去の生成された画像表現は、集計される。様々な実施形態では、コーパス124に含まれる情報は、時間的に構造化される。例えば、前記情報は、特定の期間に関して制約され、または制限され得る(例えば、先月に生成されたネットワーク・トラフィック)。
【0016】
ネットワーク入力画像モデル152およびネットワーク入力分類モデル154は、訓練し、重みを計算し、入力を取り込み、複数の解(例えば、パケット予測、シーケンス識別、画像解析、画像生成など)を出力するディープ・ラーニング技術を利用する、複数のモデルを表す。一実施形態では、ネットワーク入力画像モデル152およびネットワーク入力分類モデル154は、ディープ・ラーニングのモデル、技術、およびアルゴリズム(例えば、決定木、単純ベイズ分類、分類問題のためのサポート・ベクトル・マシン、分類および回帰のためのランダム・フォレスト、線形回帰、最小二乗回帰、ロジスティック回帰)の任意の組み合わせを含む。一実施形態では、ネットワーク入力画像モデル152およびネットワーク入力分類モデル154は、教師ありの方法または教師無しの方法で訓練され得る、転送可能なニューラル・ネットワークのアルゴリズムおよびモデル(例えば、長短期記憶(LSTM)、ディープ・スタッキング・ネットワーク(DSN)、ディープ・ビリーフ・ネットワーク(DBN)、畳み込みニューラル・ネットワーク(CNN)、複合階層ディープ・モデル)を利用する。図示される実施形態では、ネットワーク入力画像モデル152およびネットワーク入力分類モデル154は、教師あり訓練法もしくは教師無し訓練法または両方で訓練される、正規化線形ユニット(RELU)を有するCNNである。この実施形態では、プログラム150は、ネットワーク入力分類モデル154を利用して、ネットワーク入力を、認証された、異常な、または、潜在的な偽陽性として分類する。
【0017】
図示された実施形態では、ネットワーク入力画像モデル152は、意図された出力画像(すなわち、生成されたネットワーク入力画像)を表す画像を用いて、教師無し方法および教師あり方法で訓練された2つの敵対的なニューラル・ネットワーク(すなわち、生成器ネットワークおよび識別器ネットワーク)を含む敵対的生成ネットワーク(GAN)である。一実施形態では、プログラム150は、コーパス124に記載されているように、既知の(すなわち過去の)データを利用して識別器を訓練する。他の実施形態では、プログラム150は、事前に定義された潜在空間(多変量正規分布)からサンプリングされた、ランダム化された入力データを利用して、生成器を初期化し、その後、識別器は、生成器によって合成された候補を評価する。この実施形態では、プログラム150は、生成器がより良い画像を生成する一方で、識別器が合成画像にフラグすることに熟練するように、両方のネットワークに逆伝搬を適用する。図示された実施形態では、生成器は、逆畳み込みニューラル・ネットワークであり、識別器は、畳み込みニューラル・ネットワークである。ネットワーク入力画像モデル152およびネットワーク入力分類モデル154の作成、訓練、および利用は、
図2に関してさらに詳細に図示され、説明される。
【0018】
プログラム150は、ネットワーク・トラフィック異常の検知および軽減のためのプログラムである。様々な実施形態では、プログラム150は、以下の、内部ネットワークに入る、または存在する1つまたは複数のネットワーク入力をインターセプトすること、敵対的生成ネットワークを利用して、テキスト埋め込みネットワーク入力の正規分布からサンプリングされたランダム・ノイズ・ベクトルから1つまたは複数のネットワーク入力画像を合成すること、識別された包含オブジェクトによって、正規化線形ユニットを有する訓練済み畳み込みニューラル・ネットワークを利用して、1つまたは複数の合成されたネットワーク入力画像を分類することであって、オブジェクトが、パターン、シーケンス、トレンド、およびシグネチャを含む、分類すること、1つまたは複数の分類されたネットワーク入力画像および関連する1つまたは複数のネットワーク入力のセキュリティ・プロファイルを予測することであって、セキュリティ・プロファイルは、ルールおよび関連する軽減動作のセット、類似の過去のネットワーク・トラフィック、感染の可能性、過去の悪意のあるネットワーク入力とシグネチャが一致する可能性、ならびに危害の要因を含む、予測すること、および、1つまたは複数のネットワーク入力に関連する予測されたセキュリティ・プロファイルに基づいて、1つまたは複数の軽減動作を適用すること、のステップを実施し得る。図示された実施形態では、プログラム150は、スタンドアロンのソフトウェア・プログラムである。他の実施形態では、プログラム150の機能、またはその任意の組み合わせのプログラムは、単一のソフトウェア・プログラムに統合され得る。いくつかの実施形態では、プログラム150は、別個のコンピューティング・デバイス(不図示)に配置されてよいが、外部ネットワーク102もしくは内部ネットワーク104または両方を介して通信することもできる。さまざまな実施形態では、プログラム150のクライアント・バージョンは、計算環境100内の任意の他のコンピューティング・デバイス(不図示)に存在する。
【0019】
プログラム150は、
図2に関してより詳細に図示され、説明される。
【0020】
本発明は、パーソナル・ストレージ・デバイス、データ、コンテンツ、またはユーザが処理を望まない情報を含み得る、データベース112およびコーパス124のような様々なアクセス可能なデータ・ソースを含んでよい。処理とは、収集、記録、編成、構造化、格納、適応、変更、検索、相談、使用、送信による開示、伝送、または個人データに対して行われる、利用可能にすること、組み合わせ、制限、消去、もしくは破壊などの、自動または非自働の動作または動作のセットを指す。プログラム150は、個人データの収集の通知とともにインフォームド・コンセントを提供し、ユーザが、個人データを処理することのオプトインまたはオプトアウトをできるようにする。同意にはいくつかの形態がある。オプトインの承諾は、個人データが処理される前に、ユーザに積極的な行動をとることが課される。あるいは、オプトアウトの承諾は、個人データが処理される前に、個人データの処理を防止する積極的な行動をとることがユーザに課される。プログラム150は、個人識別情報または機密個人情報などの個人データだけでなく、追跡情報のようなユーザ情報の、認証されたセキュアな処理を可能にする。プログラム150は、個人データおよび処理の性質(例えば、種類、範囲、目的、期間など)に関する情報を提供する。プログラム150は、保存された個人データのコピーをユーザに提供する。プログラム150は、不正確な、または不完全な個人データの修正または完成を可能にする。プログラム150は、個人データの即時の削除を可能にする。
【0021】
様々な実施形態では、用語「ネットワーク入力」(すなわち、パケット)は、広い意味を有していると解釈されるべきであり、全ての種類のネットワークカプセル化を含むべきである。ネットワーク入力の非限定的な例は、インターネット・プロトコル(IP)、インターネット・コントロール・メッセージ・プロトコル(ICMP)、ユーザ・データグラム・プロトコル(UDP)、伝送制御プロトコル(TCP)、関連するルートおよびサービスを含む。さらなる実施形態では、ネットワーク入力は、制御情報およびデータ・ペイロードを含み、制御情報は、ソース・アドレス、宛先アドレス、エラー・コード、およびシーケンス情報を含む。一実施形態では、ネットワーク・トラフィックは、1つまたは複数のネットワーク入力またはパケットを含む。
【0022】
図2は、本発明の実施形態による、ネットワーク・トラフィック異常の検知および軽減のためのプログラム150の動作ステップを示すフローチャートである。
【0023】
プログラム150は、ネットワーク入力をインターセプトする(ステップ203)。一実施形態では、プログラム150は、コンピューティング・デバイスと、1つまたは複数の後続のコンピューティング・デバイス、ノード、宛先ネットワーク、もしくはサーバまたはこれらの組み合わせとの間に「座る(sitting)」、インライン・プロキシもしくは透過型プロキシまたは両方として動作する。この実施形態では、内部ネットワーク(例えば、内部ネットワーク104)に入る、および存在するすべてのネットワーク・トラフィックは、プログラム150を介してルーティング(例えば、移動、送信など)する。一実施形態では、プログラム150は、着信ネットワーク入力(すなわち、外部ネットワークから内部ネットワークへ)または発信ネットワーク入力(すなわち、内部ネットワークから外部ネットワークへ)に応答して開始する。様々な実施形態では、プログラム150は、内部ネットワーク全体(例えば、イントラネット、企業ドメインなど)もしくはネットワークのサブセット(例えば、サブネット、プライベートIPアドレス範囲、ネットワーク・トラフィックの種類など)または両方を監視する。他の実施形態では、プログラム150は、ネットワーク内の要衝(例えば、ネットワークのボトルネック、エッジ・デバイス、ルータ、管理されたスイッチなど)に位置するネットワーク侵入検知システム(NIDS)を管理し、操作し、もしくは含み、またはこれらの組み合わせを行い、ネットワーク上のすべてのデバイスへのトラフィックおよびネットワーク上のすべてのデバイスからのトラフィックを監視する。一実施形態では、プログラム150は、ネットワーク侵入検知システム分析を利用して、すべてのネットワーク・トラフィックを監視し、サブネット上の通過するネットワーク・トラフィックの分析を実行し、ここで、ネットワーク侵入検知システムは、パケット、フロー、セッション、パケット・ペイロード、トラフィック・グループ、ネットワーク・セッション遷移および伝送を分析する。
【0024】
一実施形態では、プログラム150は、1つまたは複数のホスト、サブホスト、アプリケーション、ルートもしくはポートまたはその組み合わせを監視するホスト侵入検知システム(HIDS)を管理し、操作し、もしくは含み、またはその組み合わせを行う。さまざまな実施形態では、プログラム150(例えば、IDS)は、HIDSを利用して、テキスト・ログまたはシステム・イベントの形式でデバイスからのインバウンドまたはアウトバウンドのパケットを監視する。さらなる実施形態では、プログラム150は、テキスト、グラフィック・ベース、画像ベースおよびビデオ・ベースの異常シグネチャを含む、悪意のあるシグネチャ(過去の、または既知のサイバー攻撃)のライブラリを取り込み、または受信する。一実施形態では、プログラム150は、ホストに関連する1つまたは複数のネットワーク・インターフェースを識別し、同時に、データ伝送(すなわち、ネットワーク入力)またはネットワーク接続/アクセス要求の開始および検知のために、オペレーティング・システム、アプリケーション、もしくはネットワーク・インターフェースまたはその組み合わせを(例えば、HIDSを利用して)監視する。この実施形態では、ホスト・コンピューティング・デバイスへの、またはホスト・コンピューティング・デバイスからのすべてのネットワーク・トラフィックは、プログラム150を通じて送信する。他の実施形態では、プログラム150は、アプリケーション・アクティビティを監視し、ネットワーク伝送もしくは要求または両方を判定する。一実施形態では、1つまたは複数のネットワーク入力をインターセプトすることに応じて、プログラム150は、1つまたは複数のネットワーク入力を一時停止、フラグ付け、隔離、迂回、保存、もしくはログに記録またはそれらの組み合わせを行う。
【0025】
プログラム150は、インターセプトされたネットワーク入力を分析する(ステップ204)。一実施形態では、プログラム150は、ステップ302で説明されるように、1つまたは複数のインターセプトされたネットワーク入力からネットワーク入力情報を抽出する。他の実施形態では、プログラム150は、ステップ304で説明されるように、抽出されたネットワーク入力情報に基づいて、ネットワーク入力画像を生成する。他の実施形態では、プログラム150は、ステップ306で説明されるように、生成されたネットワーク入力画像を分類する。他の実施形態では、プログラム150は、ステップ308で説明されるように、分類されたネットワーク入力画像のセキュリティ・プロファイルを予測する。一実施形態では、プログラム150は、監視されたネットワーク・トラフィックを悪意のあるシグネチャのライブラリと照合する。分析の手順をさらに説明し、
図3に含まれるフローチャートおよびステップで詳しく説明する。
【0026】
プログラム150は、軽減動作を分析されたネットワーク入力に適用する(ステップ206)。プログラム150は、1つまたは複数の軽減動作を、ステップ204で説明された1つまたは複数の分析されたネットワーク入力に適用する。完了した分析および計算された予測に応答して、
図3で説明されるように、プログラム150は、軽減動作を決定し、予測および1つまたは複数の関連した確率に基づいて、1つまたは複数のパケットに適用する。例えば、プログラム150は、悪意のあるネットワーク入力および関連するアクティビティ/トラフィックの可能性が高い(例えば、95%以上の)、関連するネットワーク入力を隔離する。他の例では、プログラム150は、低い(例えば、40%以下の)危害/リスクの要因もしくはスコア(例えば、遅延値、予想ダウンタイム、金銭的コスト、および支出など)または両方を有するネットワーク入力をログに記録、またはフラグ付けをする。一実施形態では、プログラム150は、ネットワーク入力予測に含まれる1つまたは複数の要因、スコアもしくは確率またはそれらの組み合わせに基づいて、1つまたは複数のネットワーク入力の送信、パススルー、監視、変更、一時停止、フラグ付け、隔離、迂回、保存もしくはログに記録またはそれらの組み合わせを行う。例えば、プログラム150は、管理者がネットワーク・トラフィックを承認するまで、複数の悪意のあるネットワーク入力を隔離する。
【0027】
一実施形態では、プログラム150は、ステップ304で説明したように1つまたは複数の生成された画像表現に基づいて、関連するアプリケーション(例えば、ウェブベースのインターフェースなど)または関連するコンピューティング・デバイス(不図示)の能力(例えば、ディスプレイのサイズ、解像度など)に応じて、生成された画像表現を提示し、もしくは調整し、またはその両方をする。様々な実施形態では、プログラム150は、1つまたは複数の生成された画像表現を表示し、修正し、もしくは提示し、またはそれらの組み合わせをする。様々な実施形態では、プログラム150は、1つまたは複数の関連するコンピュータ上およびネットワーク上で、1つまたは複数の生成された画像を表示する。他の実施形態では、プログラム150は、ディスプレイまたは1つまたは複数の表示された画像表現の、フォント、フォントサイズ、文字スタイル、フォント色、背景色、大文字、全般的な透過度、および相対的な透過度を含むがこれらの限定されない、1つまたは複数の文体的な要素を変更し、変換し、または調整する。いくつかの実施形態では、プログラム150は、GUIプロンプト、ショート・メッセージ・サービス(SMS)、電子メール、プッシュ通知、自動電話、テキスト読み上げなどを含むがこれらの限定されない複数の伝送方法を使用して、生成された画像表現を1つまたは複数の関連するコンピューティング・デバイスに送信する。
【0028】
一実施形態では、プログラム150は、1つまたは複数の分析されたネットワーク入力をコーパス124に記録する。例示の実施形態では、プログラム150は、コンピューティング・デバイス(不図示)上のグラフィカル・ユーザ・インターフェース(不図示)を通じてユーザ・フィードバックを受信し得る。例えば、プログラム150がネットワーク入力を分析した後、ユーザは、ユーザ・インターフェース上の生成された画像のためのフィードバックを提供することができる。一実施形態では、フィードバックは、単純な、肯定的な応答または否定的な応答を含み得る。例えば、プログラム150が1つまたは複数の異常および関連する生成された画像を誤って識別した場合、ユーザは、否定的なフィードバックを提供でき、画像を(例えば、送信前に)修正することができる。一実施形態では、プログラム150は、ユーザ・フィードバックおよび修正された画像をネットワーク入力画像モデル152に供給し、前記モデルの調整を可能にする。他の実施形態では、プログラム150は、1つまたは複数のNLPの技術を使用して、ユーザの応答が肯定的か否定的かを記録することができる。様々な実施形態では、プログラム150は、上述したディープ・ラーニング処理を、従来のネットワーク侵入ネットワーク・シグネチャ分析と組み合わせて、セキュリティ・プロファイル予測を強化する。この実施形態では、プログラム150は、ネットワーク記述(例えば、悪意のある、認証されたなど)に関連するネットワーク入力のネットワーク・パターンまたはシーケンスの一意の識別子である、ネットワーク入力シグネチャを更新する。さらなる実施形態では、プログラム150は、更新されたネットワーク入力シグネチャを、IDSなどの1つまたは複数のダウンストリーム・ネットワーク・デバイスまたはアップストリーム・ネットワーク・デバイスに適用する。他の実施形態では、プログラム150は、計算された予測および関連するフィードバックを用いて、関連するモデルおよびネットワークの複数を再訓練する。
【0029】
図3は、本発明の実施形態による、ディープ・ラーニング画像生成および分析に基づいてネットワーク・トラフィックを分析するための、
図1の計算環境内のサーバ・コンピュータ上のプログラムの動作ステップを示すフローチャートである。
【0030】
プログラム150は、インターセプトされたネットワーク入力から、ネットワーク入力情報を抽出する(ステップ302)。プログラム150は、1つまたは複数のインターセプトされた(例えば、保存された、隔離された、一時停止された、など)ネットワーク入力から、ネットワーク入力情報を抽出する。様々な実施形態では、プログラム150は、パケット・ヘッダまたはデータ・ペイロード情報の一致など、ネットワーク入力または特定のネットワーク特性の一連のパケットを調べる。一実施形態では、ネットワーク入力情報は、IPアドレス・フィールド;IPプロトコル・フィールド;IPオプション;IPフラグメント・パラメータ;IP、TCPおよびUDPのチェックサム;IPおよびTCPのポート番号;TCPフラグ;ICMPメッセージ・タイプ、生存時間フィールド(すなわち、ネットワーク上でパケットが生存できる秒数)、ならびにプロトコル・フィールド(すなわちTCP、UDP、ICMPなど)を含む。他の実施形態では、プログラム150は、パケット・ヘッダとともにパケットのペイロード(例えば、不正な形式のURL)からネットワーク入力情報を作成する。他の実施形態では、プログラム150は、侵入検知・防止システム(IDPS)コンソールから送信されるアラーム、不正のフラグ、もしくは偽陽性またはそれらの組み合わせから、ネットワーク入力情報を作成する。一実施形態では、プログラム150は、深層回帰型ニューラル・ネットワーク(RNN)を利用し、抽出されたネットワーク入力情報のテキスト埋め込みの、1つまたは複数のインスタンスおよびインスタンスのセットを作成する。この実施形態では、作成された埋め込みは、基礎となるネットワーク入力情報のベクトル化された視覚的属性を一意的に含む。様々な実施形態では、プログラム150は、トランザクションに関連する複数のネットワーク入力を、クラスタ化し、グループ化し、もしくは関連付けをし、またはそれらの組み合わせをする。
【0031】
プログラム150は、抽出されたネットワーク入力情報に基づいて、ネットワーク入力画像を生成する(ステップ304)。一実施形態では、プログラム150は、生成器モデルおよび識別器モデルを含む敵対的生成ネットワーク(GAN)(例えば、ネットワーク入力画像モデル152)を生成する。この実施形態では、プログラム150は、最初に、意図された画像スタイル(例えば、グラフィカル、チャート、グラフなど)の画像表現がある教師あり方法を利用して、前記モデルを訓練する。図示された実施形態では、生成器は、逆畳み込みニューラル・ネットワークであり、識別器は、畳み込みニューラル・ネットワークである。画像モデルの作成および訓練に応答して、プログラム150は、深層畳み込みGANなどのGANアーキテクチャおよび関連するGANアルゴリズムを使用して、ネットワーク入力情報の1つまたは複数のテキスト埋め込みを、画像(例えば、グラフ)に生成または変換する。この実施形態では、プログラム150は、ネットワーク入力情報の正規分布からサンプリングされたランダム・ノイズ・ベクトルから、1つまたは複数のネットワーク入力画像を合成する。一実施形態では、プログラム150は、ノイズ分布データセットのための条件付きGAN(cGAN)アルゴリズムの以下の式(1)を利用する。
【0032】
【0033】
ここで、Pdataは実際のデータ分布であり、zはデータ・サンプルであり、Gtは生成器であり、Dtは識別器であり、Bはテキスト埋め込みt1およびt2間を補完する。一実施形態では、プログラム150は、テキスト・ネットワーク入力情報を画像形式に変換するためのGANアルゴリズムの以下の式(2)を利用する。
【0034】
【0035】
ここで、{(Vn,tn,yn:n-1,・・・,N)}は訓練データセットであり、Δは0-1損失、vnは画像、tnは対応するテキスト記述、ynは分類ラベル、fvおよびftは分類器である。
【0036】
追加の実施形態では、プログラム150は、再記述技術を有するGANを利用し、ネットワーク入力画像を生成する。この実施形態では、プログラム150は、再記述および意味的テキスト埋め込み(すなわち、単語およびセンテンスのレベルの埋め込みを生成すること)、カスケード画像生成のためのグローバル-ローカル共同注視モジュール(すなわち、粗いスケールから細かいスケールまでターゲット画像を生成し、ローカル単語の注視とグローバル・センテンスの注視との両方を活用して、生成された画像の多様性と意味的一貫性を徐々に強化すること)、ならびに、意味的テキスト再生成およびアライメント・モジュール(すなわち、生成された画像からテキスト記述を再生成し、それによって所与のテキストを意味的に整列する)からなるテキストからの画像生成を適用する。一実施形態では、プログラム150は、類似のネットワーク入力、過去の画像、過去のネットワーク入力などに関連する、一時的な状況に基づいて、1つまたは複数の生成されたネットワーク入力画像をグループ化し、もしくはクラスタ化し、またはその両方をする。
【0037】
プログラム150は、生成されたネットワーク入力画像を分類する(ステップ306)。1つまたは複数のネットワーク入力に対する1つまたは複数のネットワーク入力画像の作成もしくは生成またはその両方に応答して、プログラム150は、オブジェクトおよび画像認識技術を利用して、前記生成されたネットワーク画像に記述タグまたはラベルを適用する。一実施形態では、プログラム150は、ネットワーク入力分類モデル154などの正規化線形ユニット(RELU)(すなわち、区分線形関数)を有する訓練済みCNNを利用し、ここで、層内の包含されたニューロンは、後続の層内のすべてのニューロンに完全に接続されていない。一実施形態では、プログラム150は、RELUを有する訓練済みCNNを利用し、生成された画像およびグラフ内のオブジェクト(例えば、パターン、シーケンス、トレンド、シグネチャなど)を識別する。この実施形態では、プログラム150は、グラフィカル・ネットワーク情報内に含まれる識別されたオブジェクトに基づいて、生成された画像を分類する。
【0038】
1つまたは複数の生成されたネットワーク画像の分類に応答して、プログラム150は、ネットワーク・トラフィック、プロトコルおよび抽出されたネットワーク情報に基づいて、分類された画像を集計およびグループ化する。
この実施形態では、プログラム150は、K-means(KNN)クラスタリングおよび探索的データ分析(EDA)を利用して、ネットワーク・パターンおよびネットワーク特性を識別し、まとめる。この実施形態では、プログラム150は、それぞれX(すなわち、誤報/偽陽性)およびY(すなわち、異常)について訓練済みサンプルを有する生成されたネットワーク画像に関連するネットワーク情報が適用された多変量ボックス・プロットを利用する。さらなる実施形態では、プログラム150は、任意の次元モデル(例えば、主成分分析(PCA))上の次元削減技術を利用し、確率の相関変数の観察のセットを、価値のある変数のセットに変換する。一実施形態では、プログラム150は、ネットワーク・フロー、パケット・フローおよびIPグループに基づいて、生成されたネットワーク入力画像をクラスタ化する。様々な実施形態では、プログラム150は、一連のネットワーク入力に関連する複数の生成されたネットワーク入力画像を、グループ化する。一実施形態では、プログラム150は、複数のネットワーク入力および接続にわたって広がった、または断片化された、潜在的な攻撃を識別する。この実施形態では、プログラム150は、生成された画像を重ね合わせ、高い類似性で生成された画像を比較することで、前記攻撃を識別する。様々な実施形態では、プログラム150は、KNNを利用して、1つまたは複数の分類されたネットワーク入力画像をクラスタ化し、1つまたは複数の同様に分類されたネットワーク入力画像のセットを作成する。
【0039】
プログラム150は、分類されたネットワーク入力画像のセキュリティ・プロファイルを予測する(ステップ308)。プログラム150は、1つまたは複数のインターセプトされたネットワーク入力に関連する1つまたは複数の分類されたネットワーク入力画像のセキュリティ・プロファイル(例えば、ルールのセットおよび関連する軽減動作、類似のネットワーク・トラフィック、ならびに過去のトラフィックおよび関連する動作)を予測する。一実施形態では、セキュリティ・プロファイルは、以下の、感染の確率、シグネチャが悪意のあるネットワーク入力またはパケットと一致する確率、同様のネットワーク・パターン、承認されたネットワークの確率、およびネットワークの一時停止またはネットワークの終了に起因する危害の要因のうち、1つまたは複数を含む。例えば、プログラム150は、一連のネットワーク入力がTCP攻撃またはSYNフラッドの高い可能性と関連していることを予測する。様々な実施形態では、予測は、TCPホスト・スイープ、TCP SYNフラッド、TCPポート・スキャン、TCPセッション・ハイジャック、TCPトラフィック・レコード、TCPアプリケーション、電子メール攻撃、NetBIOS攻撃、ウェブ攻撃、UDPpオート・スキャン、UDPアプリケーション、UDPトラフィック・レコード、分散DoS(DDoS)攻撃、DNS攻撃、Loki攻撃、認証攻撃、RPC攻撃を含み得る。この実施形態では、プログラム150は、訓練済みCNNを利用し、ネットワークが悪意のある可能性を示す確率の、1つまたは複数のセットを出力する。一実施形態では、プログラム150は、訓練済みCNNを利用し、クラスタ化され、処理された、生成されたネットワーク入力画像を、過去/既知の悪意のある、または承認されたネットワーク・トラフィックと比較する。他の実施形態では、プログラム150は、訓練済みCNNを利用し、生成されたネットワーク入力画像と過去のネットワーク入力画像(例えば、アプリケーション、ホスト、セキュリティ・プロファイルにラベル付けされた画像)との間で類似する可能性を表す類似性スコアを計算する。この実施形態では、プログラム150は、それぞれの過去のネットワーク画像に対する合成画像の画像類似性の確率を示す類似性スコアを計算する。さらなる実施形態では、ステップ306で説明された分析および分類処理から関連付けられ、計算されたトピック信頼度に比例して、前述の結果のそれぞれを重み付けする。他の実施形態では、プログラム150は、1つまたは複数の予測しきい値(すなわち、p値)、例えば95%を利用し、1つまたは複数のネットワーク入力および関連する生成された画像に対する予測を決定する。例えば、プログラム150は、50%の信頼度(すなわち、悪意のある予測)よりも小さい予測値または確率値が、認証されたトラフィックであり、51%~94%は、偽陽性であり、95%以上は悪意のあるトラフィックである、閾値を設定する。これに応じて、プログラム150は、1つまたは複数のネットワーク入力予測にしたがいステップ206で説明されたような、1つまたは複数の軽減動作または軽減技術を開始する。
【0040】
図4は、本発明の実施形態による生成されたネットワーク画像の例を示す。
図4は、ステップ304で説明したように、訓練済みGANによって生成されたネットワーク入力画像を表す、生成されたネットワーク画像402を含む。生成されたネットワーク画像402は、1つまたは複数のインターセプトされたネットワーク入力に関連する複数の生成されたチャートを示す、生成された画像(例えば、チャート)ダッシュボードの例である。
【0041】
図5は、本発明の実施形態による、プログラムの例示的な動作ステップを示す例示的なフローチャート500を示す。プログラム150は、ステップ202で説明したように、ネットワーク入力502を検出し、受信し、もしくはインターセプトし、またはそれらの組み合わせをしたことに応答して、ファイル転送プロトコル(FTP)を介したファイル転送のインバウンド要求を開始する。プログラム150は、ステップ204およびステップ302~308で説明したように、インターセプトされたネットワーク入力502の分析を開始する。プログラム150は、ステップ302で説明したように、ネットワーク入力502から複数のネットワーク情報を抽出し、ネットワーク情報からネットワーク画像を生成するように訓練されたGANであるGAN504に、抽出されたネットワーク情報を入力する。それに応じて、プログラム150は、ステップ304で説明したように、GAN504を利用し、生成されたネットワーク画像の1つまたは複数を表す、生成されたネットワーク画像506を生成する。さらに、プログラム150は、生成されたネットワーク画像506を、グループ化されたネットワーク画像508にグループ化またはクラスタ化する。プログラム150は、ステップ306で説明したように、CONV+RELUを利用し、
グループ化されたネットワーク画像508に含まれる1つまたは複数の関心領域を識別し、計算された類似性スコアに基づいて分類されたネットワーク画像512を作成/分類する。次に、プログラム150は、分類されたネットワーク画像512をさらにクラスタ化し、クラスタ化されたネットワーク画像514を作成し、同時に複数の次元削減技術の例である次元削減516を適用する。プログラム150は、ステップ308で説明したように、縮小されたクラスタ化されたネットワーク画像514を利用し、1つまたは複数の予測(例えば、認証された、偽の、悪意のあるトラフィック)を含むネットワーク入力予測518および関連する確率を計算する。プログラム150は、ステップ206で説明したように、ネットワーク入力予測518を利用し、認証されたネットワーク入力520などの1つまたは複数の軽減動作を決定および適用し、ネットワーク入力が中断されず通過できるようにし、悪意あるネットワーク入力522をネットワーク入力から隔離できるようにする。適用された軽減動作に応答して、プログラム150は、1つまたは複数の関連するモデルおよびネットワークを、予測および任意のフィードバックで再訓練する。追加的に、プログラム150は、更新されたネットワーク入力シグネチャ524を、1つまたは複数のネットワーク・デバイス(IDS)に適用して、将来の偽陽性を減らし、ネットワーク効率を改善する。
【0042】
図6は、本発明の例示的な実施形態による、サーバ・コンピュータ120のコンポーネントのブロック図を示す。
図6は、一つの実装の例のみを提供し、異なる実施形態が実装され得る環境に関して如何なる制限も暗示していないことを理解されたい。図示された環境に対して多くの変更が行われ得る。
【0043】
サーバ・コンピュータ120は、それぞれ、キャッシュ603、メモリ602、永続ストレージ605、通信ユニット607および入力/出力(I/O)インターフェース606間の通信を提供する、通信ファブリック604を含む。通信ファブリック604は、プロセッサ(マイクロプロセッサ、通信、ネットワーク・プロセッサなど)、システム・メモリ、周辺デバイス、およびシステム内の他の任意のハードウェア・コンポーネント間で、データもしくは制御情報または両方をわたすために設計された任意のアーキテクチャで実装される。例えば、通信ファブリック604は、1つまたは複数のバスまたはクロスバー・スイッチで実装することができる。
【0044】
メモリ602および永続ストレージ605は、コンピュータ可読ストレージ媒体である。この実施形態では、メモリ602は、ランダム・アクセス・メモリ(RAM)を含む。一般に、メモリ602は、任意の適切な揮発性または不揮発性のコンピュータ可読ストレージ媒体を含むことができる。キャッシュ603は、メモリ602から最近アクセスされたデータおよびアクセスされたデータに近いデータを保持することによって、コンピュータ・プロセッサ601の性能を向上させる高速のメモリである。
【0045】
プログラム150は、キャッシュ603を介して、1つまたは複数のコンピュータ・プロセッサ601のそれぞれによって実行するために、永続ストレージ605およびメモリ602に格納され得る。実施形態では、永続ストレージ605は、磁気ハードディスク・ドライブを含む。代替的に、または磁気ハードディスク・ドライブの追加的に、永続ストレージ605は、ソリッドステート・ハード・ドライブ、半導体ストレージ・デバイス、リード・オンリー・メモリ(ROM)、消去可能プログラマブル・リード・オンリー・メモリ(EPROM)フラッシュ・メモリ、またはプログラム命令またはデジタル情報を格納することが可能なその他のコンピュータ可読ストレージ媒体を含むことができる。
【0046】
永続ストレージ605によって使用される媒体は、取り外し可能であってもよい。例えば、取り外し可能なハード・ドライブが、永続ストレージ605に用いられ得る。他の例は、光学ディスクおよび磁気ディスク、サム・ドライブ、ならびに永続ストレージ605の一部でもある他のコンピュータ可読ストレージ媒体への転送のためにドライブに挿入されるスマート・カードを含む。ソフトウェアおよびデータ612は、キャッシュ603を介して、1つまたは複数のプロセッサ601のそれぞれによってアクセスもしくは実行またはその両方のために、永続ストレージ605に格納することができる。
【0047】
通信ユニット607は、これらの例では、他のデータ処理システムまたはデバイスとの通信を提供する。これらの例では、通信ユニット607は、1つまたは複数のネットワーク・インターフェース・カードを含む。通信ユニット607は、物理的通信リンクおよび無線通信リンクのいずれかまたは両方の使用を介した通信を提供し得る。プログラム150は、通信ユニット607を通じて永続ストレージ605にダウンロードされ得る。
【0048】
I/Oインターフェース606は、サーバ・コンピュータ120と接続され得る他のデバイスとのデータの入力および出力を可能にする。例えば、I/Oインターフェース606は、キーボード、キーパッド、タッチ・スクリーン、もしくはいくつかの他の適切な入力デバイスまたはそれらの組み合わせなどの外部デバイス608との接続を提供する。外部デバイス608は、例えば、サム・ドライブ、ポータブル光学ディスクまたはポータブル磁気ディスク、またはメモリ・カードなどの持ち運び可能なコンピュータ可読ストレージ媒体を含むこともできる。本発明の実施形態を実施するためのソフトウェアおよびデータ、例えばプログラム150は、このような持ち運び可能なコンピュータ可読ストレージ媒体に格納することができ、I/Oインターフェース606を介して永続ストレージ605上にロードすることができる。I/Oインターフェース606は、ディスプレイ609にも接続する。
【0049】
ディスプレイ609は、データをユーザに表示するためのメカニズムを提供し、例えば、コンピュータ・モニタとすることができる。
【0050】
本明細書で説明されるプログラムは、本発明の特定の実施形態で実装されるアプリケーションに基づいて識別される。しかしながら、任意の特定のプログラム命名法が単に便宜のために用いられること、したがって、発明が、そのような命名法によって識別され、もしくは暗示され、または両方がされる任意の特定のプログラムでの使用のみに限定されるべきではないことを理解されたい。
【0051】
本発明は、システム、方法もしくはコンピュータ・プログラム製品またはその組み合わせであってもよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体(または複数の媒体)を含み得る。
【0052】
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持および記憶することができる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は、例えば、限定はされないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたはこれらの適当な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、消去可能なプログラマブル・リードオンリー・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリー・メモリ(CD-ROM)、ディジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(登録商標)・ディスク、機械的にエンコードされたデバイス、例えばパンチカードまたはその上に命令が記録された溝の中の一段高くなった構造物、およびこれらの適当な組合せを含む。本明細書で使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が一過性の信号、例えば電波もしくは他の自由に伝搬する電磁波、またはウェーブガイドもしくは他の伝送体内を伝搬する電磁波(例えば光ファイバ・ケーブル内を通る光パルス)、または電線を通して伝送される電気信号であると解釈されるべきではない。
【0053】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から対応するそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、またはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはそれらの組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードすることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバ、またはこれらの組合せを含むことができる。それぞれのコンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それらのコンピュータ可読プログラム命令を、対応するそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【0054】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同種のプログラミング言語などの従来型の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードもしくはオブジェクト・コード、および、「Q」プログラミング言語、Q#、量子計算言語(QCL)もしくは類似のプログラミング言語、アセンブリ言語などの低レベルプログラミング言語、または類似のプログラミング言語などの量子プログラミング言語であってもよい。このコンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で実行されてもよく、独立型ソフトウェア・パッケージとして実行されてもよく、一部がユーザのコンピュータ上で、一部が遠隔コンピュータ上で実行されてもよく、または全体が遠隔コンピュータもしくは遠隔サーバ上で実行されてもよい。上記の最後のシナリオでは、遠隔コンピュータが、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、またはこの接続が、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)実施されてもよい。いくつかの実施形態では、本発明の態様を実施するために、例えばプログラム可能論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)またはプログラム可能論理アレイ(PLA)を含む電子回路が、このコンピュータ可読プログラム命令の状態情報を利用してその電子回路をパーソナライズすることにより、このコンピュータ可読プログラム命令を実行してもよい。
【0055】
本明細書で説明した本発明の態様を、本発明の実施形態にしたがい、フローチャート命令および方法のブロック図、またはそれらの両方、装置(システム)、およびコンピュータ・プログラム製品を参照して説明した。フローチャートの図示およびブロック図またはそれら両方およびフローチャートの図示におけるブロックおよびブロック図、またはそれらの両方のいかなる組合せでもコンピュータ可読なプログラム命令により実装することができることを理解されたい。
【0056】
コンピュータ可読なプログラム命令は、機械を生成するための他のプログラマブル・データ・プロセッシング装置に提供することができ、コンピュータのプロセッサまたは他のプログラマブル・データ・プロセッシング装置による実行がフローチャートおよびブロック図のブロックまたは複数のブロックまたはこれらの組み合わせで特定される機能/動作を実装するための手段を生成する。これらのコンピュータ、プログラマブル・データ・プロセッシング装置および他の装置またはこれらの組み合わせが特定の仕方で機能するように指令するこれらのコンピュータ可読なプログラム命令は、またコンピュータ可読な記録媒体に格納することができ、その内に命令を格納したコンピュータ可読な記録媒体は、フローチャートおよびブロック図のブロックまたは複数のブロックまたはこれらの組み合わせで特定される機能/動作の特徴を実装する命令を含む製造品を構成する。
【0057】
コンピュータ可読なプログラム命令は、またコンピュータ、他のプログラマブル・データ・プロセッシング装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で操作ステップのシリーズに対してコンピュータ実装プロセスを生じさせることで、コンピュータ、他のプログラマブル装置または他のデバイス上でフローチャートおよびブロック図のブロックまたは複数のブロックまたはこれらの組み合わせで特定される機能/動作を実装させる。
【0058】
図(すなわち、図面)中のフローチャートおよびブロック図は、本発明の種々の実施形態による、システム、方法およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を例示する。この点に関し、フローチャートのそれぞれのブロックまたはブロック図は、モジュール、セグメント、または命令の部分を表し、この部分は、特定の論理的機能(複数でもよい)を実装するための1つまたはそれ以上の実行可能な命令を含む。いくつかの代替的な実装においては、ブロック内に記載された機能は、図に記載された順序ではなく発生する場合がある。例えば、連続して示された2つのブロックは、含まれる機能に応じて、実質的に同時的に実行することができるか、または複数のブロックは、時として逆の順番で実行することができる。また、ブロック図およびフローチャートの図示、またはこれらの両およびブロック図中のブロックおよびフローチャートの図示またはこれらの組み合わせのそれぞれは、特定の機能または動作を実行するかまたまたは特定の目的のハードウェアおよびコンピュータ命令を遂行する特定目的のハードウェアに基づいたシステムにより実装することができることにも留意されたい。
【0059】
本発明の種々の実施形態の説明は、例示を目的として示されたが、網羅的であること、または、開示された実施形態に限定されることを意図していない。発明の範囲および精神から逸脱することなく、多くの修正および変形が、当業者には明白であろう。本明細書で使用される用語は、実施形態の原理、実用的用途もしくは市場において見られる技術的改善を最もよく説明するため、または、本明細書で開示される実施形態を他の当業者が理解することを可能にするために、選抜された。