(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-04
(54)【発明の名称】サイバー攻撃検出のためのホストレベルデータ分析
(51)【国際特許分類】
G06F 21/55 20130101AFI20240528BHJP
【FI】
G06F21/55 320
G06F21/55 340
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023572099
(86)(22)【出願日】2022-05-20
(85)【翻訳文提出日】2024-01-09
(86)【国際出願番号】 US2022030402
(87)【国際公開番号】W WO2022246299
(87)【国際公開日】2022-11-24
(32)【優先日】2021-05-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523438153
【氏名又は名称】マンデックス インク.
【氏名又は名称原語表記】MANDEX, Inc.
【住所又は居所原語表記】12500 Fair Lakes Circle, Suite 125, Fairfax, VA 22033, United States of America
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ジェイムズ クレイグ ボール シニア
(57)【要約】
ホストコンピュータシステムは、そのシステムパフォーマンスを内部システムパラメータに関して追跡するように監視され得、この監視は、ホストコンピュータシステムがサイバー攻撃を受けていることが分かっているときに、及びホストコンピュータシステムがサイバー攻撃を受けていないことが分かっているときに、実行され得る。これらの条件におけるホストのシステムパフォーマンスデータは、ホストレベルデータ分析により比較分析され、サイバー攻撃に判別可能に相関する内部システムパラメータの部分集合及びこれらの対応するデータ値が見つけ出され得る。この情報から、サイバー攻撃シグネチャが生成され得る。その後、ホストシステムは、そのシステムパフォーマンスデータに基づいて監視され、このシステムパフォーマンスデータがサイバー攻撃シグネチャとマッチングするかどうかが判定され、ホストがサイバー攻撃を受けているかどうかの判定がサポートされ得る。
【特許請求の範囲】
【請求項1】
ホストレベルデータ分析に基づいてサイバー攻撃を検出するための方法であって、
プロセッサにより、サイバー攻撃に対応するサイバー攻撃シグネチャにアクセスすることであって、前記サイバー攻撃シグネチャは、ホストコンピュータシステムに対する前記サイバー攻撃の影響を、前記ホストコンピュータシステムの複数の内部システムパラメータに関して表すデータを含む、前記アクセスすることと、
前記プロセッサにより、テストホストコンピュータシステムからテストシステムパフォーマンスデータを収集することであって、前記テストシステムパフォーマンスデータは、前記テストホストコンピュータシステムの動作中における前記テストホストコンピュータシステムの前記内部システムパラメータを経時的に表す複数のデータ値を含む、前記収集することと、
前記プロセッサにより、前記収集したテストシステムパフォーマンスデータを、前記アクセスしたサイバー攻撃シグネチャと比較して、前記収集したテストシステムパフォーマンスデータ内に前記アクセスしたサイバー攻撃シグネチャとのマッチングがあるかどうかを判定することと、
前記マッチングが存在するという判定に応じて、前記プロセッサにより、前記テストホストコンピュータシステム上で前記サイバー攻撃が検出されたことの通知を生成することと、
を含む、前記方法。
【請求項2】
前記サイバー攻撃は、列挙サイバー攻撃を含む、請求項1に記載の方法。
【請求項3】
前記列挙サイバー攻撃は、Nmap列挙スキャンを含む、請求項2に記載の方法。
【請求項4】
前記列挙サイバー攻撃は、Nessus列挙スキャンを含む、請求項2~3のいずれかに記載の方法。
【請求項5】
前記収集するステップは、前記テストホストコンピュータシステム上でパフォーマンス監視アプリケーションを経時的に実行することを含む、請求項1~4のいずれかに記載の方法。
【請求項6】
前記パフォーマンス監視アプリケーションは、Nmonを含む、請求項5に記載の方法。
【請求項7】
前記パフォーマンス監視アプリケーションは、Collectlを含む、請求項5~6のいずれかに記載の方法。
【請求項8】
前記パフォーマンス監視アプリケーションは、Monitorixを含む、請求項5~7のいずれかに記載の方法。
【請求項9】
前記内部システムパラメータは、プロセッサ使用アクティビティを表すデータを含む、請求項1~8のいずれに記載の方法。
【請求項10】
前記プロセッサ使用アクティビティは、プロセッサ切り替えアクティビティを含む、請求項9に記載の方法。
【請求項11】
前記プロセッサ使用アクティビティは、プロセッサ割り込みアクティビティを含む、請求項9~10のいずれかに記載の方法。
【請求項12】
前記内部システムパラメータは、ネットワークカードアクティビティを含む、請求項1~11のいずれかに記載の方法。
【請求項13】
前記内部システムパラメータは、メモリ使用アクティビティを含む、請求項1~12のいずれかに記載の方法。
【請求項14】
前記メモリ使用アクティビティは、RAMアクティビティを含む、請求項13に記載の方法。
【請求項15】
前記内部システムパラメータは、消費電力を含む、請求項1~14のいずれかに記載の方法。
【請求項16】
前記内部システムパラメータは、プロセスの経過時間を含む、請求項1~15のいずれかに記載の方法。
【請求項17】
前記テストホストコンピュータシステムは、Red Hat Enterprise Linux(RHEL)システムを含む、請求項1~16のいずれかに記載の方法。
【請求項18】
前記アクセスするステップは、複数のサイバー攻撃シグネチャにアクセスすることを含み、各サイバー攻撃シグネチャは、異なるタイプのサイバー攻撃に対応し、その対応するサイバー攻撃タイプがホストコンピュータシステムに及ぼす影響を、前記ホストコンピュータシステムの複数の内部システムパラメータに関して表すデータを含み、
前記比較するステップは、前記収集したテストシステムパフォーマンスデータを、前記アクセスしたサイバー攻撃シグネチャのそれぞれと比較して、前記収集したシステムパフォーマンスデータ内に前記アクセスしたサイバー攻撃シグネチャのうちのいずれかとのマッチングがあるかどうかを判定することを含み、
前記アクセスしたサイバー攻撃シグネチャのいずれかとのマッチングが存在するという判定に応じて、前記通知を生成する、
請求項1~17のいずれかに記載の方法。
【請求項19】
前記複数の異なるサイバー攻撃シグネチャは、前記ホストコンピュータシステムに対するこれらの影響を、互いに異なる内部システムパラメータに関して表す、請求項18に記載の方法。
【請求項20】
前記プロセッサにより、ホストコンピュータシステムの第2の複数の内部システムパラメータに関して、前記サイバー攻撃を受けていることがわかっているときの前記ホストコンピュータシステムの動作、及び前記サイバー攻撃を受けていないことがわかっているときの前記ホストコンピュータシステムの動作を表すシステムパフォーマンスデータに対して、ホストレベルデータ分析を適用して、前記第2の複数の内部システムパラメータ及びこれらの対応するデータ値のうち、前記サイバー攻撃に判別可能に相関するものを見つけることと、
前記プロセッサにより、前記サイバー攻撃に判別可能に相関することが判明した前記内部システムパラメータ及びこれらの対応するデータ値に基づいて、前記サイバー攻撃シグネチャを生成することと、
をさらに含む、請求項1~19のいずれかに記載の方法。
【請求項21】
前記適用するステップは、
前記サイバー攻撃を受けていないことがわかっている前記ホストコンピュータシステムから正常状態システムパフォーマンスデータを収集することであって、前記正常状態システムパフォーマンスデータは、前記ホストコンピュータシステムの動作中における、前記サイバー攻撃を受けていないことが分かっている前記ホストコンピュータシステムの前記第2の複数の内部システムパラメータを経時的に表す複数のデータ値を含む、前記収集することと、
前記サイバー攻撃を受けていることがわかっている前記ホストコンピュータシステムから被攻撃状態システムパフォーマンスデータを収集することであって、前記被攻撃状態システムパフォーマンスデータは、前記ホストコンピュータシステムの動作中における、前記サイバー攻撃を受けていることが分かっている前記ホストコンピュータシステムの前記第2の複数の内部システムパラメータを経時的に表す複数のデータ値を含む、前記収集することと、
前記正常状態システムパフォーマンスデータを、前記被攻撃状態システムパフォーマンスデータと比較分析して、前記攻撃に判別可能に相関する前記内部システムパラメータ及びこれらの対応するデータ値を特定することと、
を含む、請求項20に記載の方法。
【請求項22】
前記比較分析するステップは、前記第2の複数の内部システムパラメータ内の前記内部システムパラメータの異なる組み合わせに対して、回帰分析を実行することを含む、請求項21に記載の方法。
【請求項23】
前記正常状態システムパフォーマンスデータ及び前記被攻撃状態システムパフォーマンスデータを前記収集するステップは、前記サイバー攻撃を受けていることがわかっている前記ホストコンピュータシステム上、及び前記サイバー攻撃を受けていないことが分かっている前記ホストコンピュータシステム上で、パフォーマンス監視アプリケーションを実行することを含む、請求項21~22のいずれかに記載の方法。
【請求項24】
前記パフォーマンス監視アプリケーションは、Nmonを含む、請求項23に記載の方法。
【請求項25】
前記パフォーマンス監視アプリケーションは、Collectlを含む、請求項23~24のいずれかに記載の方法。
【請求項26】
前記パフォーマンス監視アプリケーションは、Monitorixを含む、請求項23~25のいずれかに記載の方法。
【請求項27】
前記適用するステップは、さらに、
前記サイバー攻撃を受けていないことがわかっている前記ホストコンピュータシステムのクローンを作成することと、
前記クローンホストコンピュータシステム上で前記サイバー攻撃を実行することと、
前記サイバー攻撃が実行された前記クローンホストコンピュータシステムから、被攻撃状態シグネチャパフォーマンスデータを収集することと、
を含む、請求項20~26のいずれかに記載の方法。
【請求項28】
前記サイバー攻撃を受けていることがわかっている前記ホストコンピュータシステム、及び前記サイバー攻撃を受けていないことがわかっている前記ホストコンピュータシステムは、Red Hat Enterprise Linuxシステムである、請求項20~27のいずれかに記載の方法。
【請求項29】
前記サイバー攻撃は、Nmap列挙スキャンを含み、前記Nmap列挙スキャンの前記サイバー攻撃シグネチャは、所定期間にわたり(1)着信ネットワークパケットのアクティビティ、(2)1秒あたりのプロセス切り替え、(3)プロセッサ使用、及び(4)プロセッサ割り込み、これらからなるグループのうちの少なくとも2つの構成要素が、これらの正常状態ベースラインに対して増加することを含む、請求項1~28のいずれかに記載の方法。
【請求項30】
前記Nmap列挙スキャンの前記サイバー攻撃シグネチャは、前記所定期間にわたり(1)着信ネットワークパケットのアクティビティ、(2)1秒あたりのプロセス切り替え、(3)プロセッサの使用、及び(4)プロセッサ割り込みが、これらの前記正常状態ベースラインに対して増加することを含む、請求項29に記載の方法。
【請求項31】
前記所定期間は、5~8秒を含む、請求項29~30のいずれかに記載の方法。
【請求項32】
前記サイバー攻撃は、Nessus列挙スキャンを含み、前記Nessus列挙スキャンの前記サイバー攻撃シグネチャは、(1)第1の所定期間にわたり(i)着信ネットワークパケットのアクティビティ、(ii)1秒あたりのプロセス切り替え、(iii)プロセッサ使用、及び(iv)プロセッサ割り込みが、これらの正常状態ベースラインに対して増加し、その後(2)第2の所定期間にわたりこれらの正常アクティビティが続き、その後(3)第3の所定期間にわたり(i)着信ネットワークパケットのアクティビティ、(ii)1秒あたりのプロセス切り替え、(iii)プロセッサ使用、及び(iv)プロセッサ割り込みが、これらの前記正常状態ベースラインに対してまた別に増加すること、を含む、請求項1~31のいずれかに記載の方法。
【請求項33】
前記Nessus列挙スキャンの前記サイバー攻撃シグネチャは、(1)前記第1の所定期間にわたり(i)着信ネットワークパケットのアクティビティ、(ii)1秒あたりのプロセス切り替え、(iii)プロセッサ使用、及び(iv)プロセッサ割り込み、これらからなるグループのうちの少なくとも2つの構成要素が、これらの前記正常状態ベースラインに対して増加し、その後(2)前記第2の所定期間にわたりこれらの正常アクティビティが続き、その後(3)前記第3の所定期間にわたり(i)着信ネットワークパケットのアクティビティ、(ii)1秒あたりのプロセス切り替え、(iii)プロセッサ使用、及び(iv)プロセッサ割り込み、これらからなるグループのうちの少なくとも2つの構成要素が、これらの前記正常状態ベースラインに対してまた別に増加すること、を含む、請求項32に記載の方法。
【請求項34】
前記第1の所定期間は、6秒を含む、請求項32~33のいずれかに記載の方法。
【請求項35】
前記第2の所定期間は、8秒を含む、請求項32~34のいずれかに記載の方法。
【請求項36】
前記第3の所定期間は、6秒を含む、請求項32~35のいずれかに記載の方法。
【請求項37】
前記プロセッサは、複数のプロセッサを含む、請求項1~36のいずれかに記載の方法。
【請求項38】
前記プロセッサは、第1のプロセッサと、第2のプロセッサと、を備え、
前記第1のプロセッサは、前記サイバー攻撃シグネチャを生成し、
前記第2のプロセッサは、前記サイバー攻撃シグネチャに前記アクセスするステップと、前記テストシステムパフォーマンスデータを収集するステップと、前記収集した前記テストシグネチャパフォーマンスデータを前記アクセスしたサイバー攻撃シグネチャと前記比較するステップと、を実行する、
請求項37に記載の方法。
【請求項39】
ホストレベルデータ分析に基づいてサイバー攻撃を検出するためのシステムであって、
実行可能コードを格納するように構成されたメモリと、
前記メモリと協働するプロセッサと、
を備え、
前記プロセッサは、前記実行可能コードの実行に応じて、
サイバー攻撃に対応するサイバー攻撃シグネチャにアクセスすることであって、前記サイバー攻撃シグネチャは、ホストコンピュータシステムに対する前記サイバー攻撃の影響を、前記ホストコンピュータシステムの複数の内部システムパラメータに関して表すデータを含む、前記アクセスすることと、
テストホストコンピュータシステムからテストシステムパフォーマンスデータを収集することであって、前記テストシステムパフォーマンスデータは、前記テストホストコンピュータシステムの動作中における前記テストホストコンピュータシステムの前記内部システムパラメータを経時的に表す複数のデータ値を含む、前記収集することと、
前記収集したテストシステムパフォーマンスデータを、前記アクセスしたサイバー攻撃シグネチャと比較して、前記収集したテストシステムパフォーマンスデータ内に前記アクセスしたサイバー攻撃シグネチャとのマッチングがあるかどうかを判定することと、
前記マッチングが存在するという判定に応じて、前記テストホストコンピュータシステム上で前記サイバー攻撃が検出されたことの通知を生成することと、
を実行するように構成される、前記システム。
【請求項40】
前記プロセッサは、さらに、請求項2~38のいずれかに記載の方法を実行するように構成される、請求項39に記載のシステム。
【請求項41】
ホストレベルデータ分析に基づいてサイバー攻撃を検出するための製品であって、
非一時的コンピュータ可読記憶媒体上に常駐する機械可読コードを備え、前記コードは、プロセッサにより実行可能であり、
サイバー攻撃に対応するサイバー攻撃シグネチャにアクセスすることであって、前記サイバー攻撃シグネチャは、ホストコンピュータシステムに対する前記サイバー攻撃の影響を、前記ホストコンピュータシステムの複数の内部システムパラメータに関して表すデータを含む、前記アクセスすることと、
テストホストコンピュータシステムからテストシステムパフォーマンスデータを収集することであって、前記テストシステムパフォーマンスデータは、前記テストホストコンピュータシステムの動作中における前記テストホストコンピュータシステムの前記内部システムパラメータを経時的に表す複数のデータ値を含む、前記収集することと、
前記収集したテストシステムパフォーマンスデータを、前記アクセスしたサイバー攻撃シグネチャと比較して、前記収集したテストシステムパフォーマンスデータ内に前記アクセスしたサイバー攻撃シグネチャとのマッチングがあるかどうかを判定することと、
前記マッチングが存在するという判定に応じて、前記テストホストコンピュータシステム上で前記サイバー攻撃が検出されたことの通知を生成することと、
を前記プロセッサに実行させる、前記製品。
【請求項42】
前記コードは、プロセッサにより実行可能であり、請求項2~38のいずれかに記載の方法を前記プロセッサに実行させる、請求項41に記載の製品。
【請求項43】
ホストレベルデータ分析に基づいてサイバー攻撃シグネチャを生成するための方法であって、
プロセッサにより、ホストコンピュータシステムの内部システムパラメータの集合に関して、サイバー攻撃を受けていることがわかっているときの前記ホストコンピュータシステムの動作、及び前記サイバー攻撃を受けていないことがわかっているときの前記ホストコンピュータシステムの動作を表すシステムパフォーマンスデータに対して、ホストレベルデータ分析を適用して、前記サイバー攻撃に判別可能に相関する前記内部システムパラメータの部分集合及びこれらの対応するデータ値を見つけることと、
前記プロセッサにより、前記サイバー攻撃に判別可能に相関することが判明した前記内部システムパラメータの部分集合及びこれらの対応するデータ値に基づいて、前記サイバー攻撃シグネチャを生成することと、
を含む、前記方法。
【請求項44】
前記適用するステップは、
前記サイバー攻撃を受けていないことがわかっている前記ホストコンピュータシステムから正常状態システムパフォーマンスデータを収集することであって、前記正常状態システムパフォーマンスデータは、前記ホストコンピュータシステムの動作中における、前記サイバー攻撃を受けていないことが分かっている前記ホストコンピュータシステムの前記内部システムパラメータの集合を経時的に表す複数のデータ値を含む、前記収集することと、
前記サイバー攻撃を受けていることがわかっている前記ホストコンピュータシステムから被攻撃状態システムパフォーマンスデータを収集することであって、前記被攻撃状態システムパフォーマンスデータは、前記ホストコンピュータシステムの動作中における、前記サイバー攻撃を受けていることが分かっている前記ホストコンピュータシステムの前記内部システムパラメータの集合を経時的に表す複数のデータ値を含む、前記収集することと、
前記正常状態システムパフォーマンスデータを、前記被攻撃状態システムパフォーマンスデータと比較分析して、前記攻撃に判別可能に相関する前記内部システムパラメータの部分集合及びこれらの対応するデータ値を特定することと、
を含む、請求項43に記載の方法。
【請求項45】
前記比較分析するステップは、前記内部システムパラメータの集合内の前記内部システムパラメータの異なる組み合わせに対して、回帰分析を実行することを含む、請求項44に記載の方法。
【請求項46】
前記正常状態システムパフォーマンスデータ及び前記被攻撃状態システムパフォーマンスデータを前記収集するステップは、前記サイバー攻撃を受けていることがわかっている前記ホストコンピュータシステム上、及び前記サイバー攻撃を受けていないことが分かっている前記ホストコンピュータシステム上で、パフォーマンス監視アプリケーションを実行することを含む、請求項44~45のいずれかに記載の方法。
【請求項47】
前記パフォーマンス監視アプリケーションは、Nmonを含む、請求項46に記載の方法。
【請求項48】
前記パフォーマンス監視アプリケーションは、Collectlを含む、請求項46~47のいずれかに記載の方法。
【請求項49】
前記パフォーマンス監視アプリケーションは、Monitorixを含む、請求項46~48のいずれかに記載の方法。
【請求項50】
前記内部システムパラメータの部分集合は、プロセッサ使用アクティビティを表すデータを含む、請求項43~49のいずれに記載の方法。
【請求項51】
前記プロセッサ使用アクティビティは、プロセッサ切り替えアクティビティを含む、請求項50に記載の方法。
【請求項52】
前記プロセッサ使用アクティビティは、プロセッサ割り込みアクティビティを含む、請求項50~51のいずれかに記載の方法。
【請求項53】
前記内部システムパラメータの部分集合は、ネットワークカードアクティビティを含む、請求項43~52のいずれかに記載の方法。
【請求項54】
前記内部システムパラメータの部分集合は、メモリ使用アクティビティを含む、請求項43~53のいずれかに記載の方法。
【請求項55】
前記メモリ使用アクティビティは、RAMアクティビティを含む、請求項54に記載の方法。
【請求項56】
前記内部システムパラメータの部分集合は、消費電力を含む、請求項43~55のいずれかに記載の方法。
【請求項57】
前記内部システムパラメータの部分集合は、プロセスの経過時間を含む、請求項43~56のいずれかに記載の方法。
【請求項58】
前記適用するステップは、さらに、
前記サイバー攻撃を受けていないことがわかっている前記ホストコンピュータシステムのクローンを作成することと、
前記クローンホストコンピュータシステム上で前記サイバー攻撃を実行することと、
前記サイバー攻撃が実行された前記クローンホストコンピュータシステムから、被攻撃状態シグネチャパフォーマンスデータを収集することと、
を含む、請求項43~57のいずれかに記載の方法。
【請求項59】
前記サイバー攻撃を受けていることがわかっている前記ホストコンピュータシステム、及び前記サイバー攻撃を受けていないことがわかっている前記ホストコンピュータシステムは、Red Hat Enterprise Linuxシステムである、請求項43~58のいずれかに記載の方法。
【請求項60】
前記サイバー攻撃は、Nmap列挙スキャンを含み、前記Nmap列挙スキャンの前記サイバー攻撃シグネチャは、所定期間にわたり(1)着信ネットワークパケットのアクティビティ、(2)1秒あたりのプロセス切り替え、(3)プロセッサ使用、及び(4)プロセッサ割り込み、これらからなるグループのうちの少なくとも2つの構成要素が、これらの正常状態ベースラインに対して増加することを含む、請求項43~59のいずれかに記載の方法。
【請求項61】
前記Nmap列挙スキャンの前記サイバー攻撃シグネチャは、前記所定期間にわたり(1)着信ネットワークパケットのアクティビティ、(2)1秒あたりのプロセス切り替え、(3)プロセッサの使用、及び(4)プロセッサ割り込みが、これらの前記正常状態ベースラインに対して増加することを含む、請求項60に記載の方法。
【請求項62】
前記所定期間は、5~8秒を含む、請求項60~61のいずれかに記載の方法。
【請求項63】
前記サイバー攻撃は、Nessus列挙スキャンを含み、前記Nessus列挙スキャンの前記サイバー攻撃シグネチャは、(1)第1の所定期間にわたり(i)着信ネットワークパケットのアクティビティ、(ii)1秒あたりのプロセス切り替え、(iii)プロセッサ使用、及び(iv)プロセッサ割り込みが、これらの正常状態ベースラインに対して増加し、その後(2)第2の所定期間にわたりこれらの正常アクティビティが続き、その後(3)第3の所定期間にわたり(i)着信ネットワークパケットのアクティビティ、(ii)1秒あたりのプロセス切り替え、(iii)プロセッサ使用、及び(iv)プロセッサ割り込みが、これらの前記正常状態ベースラインに対してまた別に増加すること、を含む、請求項43~62のいずれかに記載の方法。
【請求項64】
前記Nessus列挙スキャンの前記サイバー攻撃シグネチャは、(1)前記第1の所定期間にわたり(i)着信ネットワークパケットのアクティビティ、(ii)1秒あたりのプロセス切り替え、(iii)プロセッサ使用、及び(iv)プロセッサ割り込み、これらからなるグループのうちの少なくとも2つの構成要素が、これらの前記正常状態ベースラインに対して増加し、その後(2)前記第2の所定期間にわたりこれらの正常アクティビティが続き、その後(3)前記第3の所定期間にわたり(i)着信ネットワークパケットのアクティビティ、(ii)1秒あたりのプロセス切り替え、(iii)プロセッサ使用、及び(iv)プロセッサ割り込み、これらからなるグループのうちの少なくとも2つの構成要素が、これらの前記正常状態ベースラインに対してまた別に増加すること、を含む、請求項63に記載の方法。
【請求項65】
前記第1の所定期間は、6秒を含む、請求項63~64のいずれかに記載の方法。
【請求項66】
前記第2の所定期間は、8秒を含む、請求項63~65のいずれかに記載の方法。
【請求項67】
前記第3の所定期間は、6秒を含む、請求項63~66のいずれかに記載の方法。
【請求項68】
前記プロセッサは、複数のプロセッサを含む、請求項43~67のいずれかに記載の方法。
【請求項69】
ホストレベルデータ分析に基づいてサイバー攻撃シグネチャを生成するためのシステムであって、
実行可能コードを格納するように構成されたメモリと、
前記メモリと協働するプロセッサと、
を備え、
前記プロセッサは、前記実行可能コードの実行に応じて、
ホストコンピュータシステムの内部システムパラメータの集合に関して、サイバー攻撃を受けていることがわかっているときの前記ホストコンピュータシステムの動作、及び前記サイバー攻撃を受けていないことがわかっているときの前記ホストコンピュータシステムの動作を表すシステムパフォーマンスデータに対して、ホストレベルデータ分析を適用して、前記サイバー攻撃に判別可能に相関する前記内部システムパラメータの部分集合及びこれらの対応するデータ値を見つけることと、
前記サイバー攻撃に判別可能に相関することが判明した前記内部システムパラメータの部分集合及びこれらの対応するデータ値に基づいて、前記サイバー攻撃シグネチャを生成することと、
を実行するように構成される、前記システム。
【請求項70】
前記プロセッサは、さらに、請求項44~68のいずれかに記載の方法を実行するように構成される、請求項69に記載のシステム。
【請求項71】
ホストレベルデータ分析に基づいてサイバー攻撃シグネチャを生成するための製品であって、
非一時的コンピュータ可読記憶媒体上に常駐する機械可読コードを備え、前記コードは、プロセッサにより実行可能であり、
ホストコンピュータシステムの内部システムパラメータの集合に関して、サイバー攻撃を受けていることがわかっているときの前記ホストコンピュータシステムの動作、及び前記サイバー攻撃を受けていないことがわかっているときの前記ホストコンピュータシステムの動作を表すシステムパフォーマンスデータに対して、ホストレベルデータ分析を適用して、前記サイバー攻撃に判別可能に相関する前記内部システムパラメータの部分集合及びこれらの対応するデータ値を見つけることと、
前記サイバー攻撃に判別可能に相関することが判明した前記内部システムパラメータの部分集合及びこれらの対応するデータ値に基づいて、前記サイバー攻撃シグネチャを生成することと、
を、前記プロセッサに実行させるように構成される、前記製品。
【請求項72】
前記コードは、プロセッサにより実行可能であり、請求項44~68のいずれかに記載の方法を前記プロセッサに実行させる、請求項71に記載の製品。
【請求項73】
本明細書で開示される任意の特徴または特徴の組み合わせを含む、装置、システム、方法、及び/またはコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
関連特許出願の相互参照及び優先権主張
本特許出願は、2021年5月21日に出願された「Host Level Data Analytics for Cyberattack Detection」と題する米国仮特許出願第63/191,464号に対する優先権を主張し、その開示内容全体は、参照により本明細書に組み込まれるものとする。
【背景技術】
【0002】
導入:
データ分析を使用してコンピュータシステムに対するサイバー攻撃を検出するための従来のアプローチは、サイバー攻撃のネットワークフットプリントに焦点を当てている。したがって、サイバー攻撃をデータ分析する従来のアプローチは、
図1の150に示されるように、ホストコンピュータシステムに出入りするコンピュータネットワークトラフィックに分析を集中させることにより、コンピュータシステムのネットワークレベルでパターン分析を行う。この分析は、多くの場合、ホストコンピュータシステム100に出入りするパケットトラフィックの送信元及び送信先を精査し、ことによると、このようなパケットトラフィックのペイロードのコンテンツを調べる深いパケット検査を含む。したがって、サイバー攻撃検出の従来のアプローチでは、ネットワークデバイス及び境界デバイスが異常を発見するために、ネットワークトラフィック、ネットワークトラフィックログ、及びシステムイベントなど、コンピュータシステムのエッジで起こるアクティビティが観察される。
【0003】
しかし、本発明者は、システムがサイバー攻撃をより良く検出できるように、当技術分野の向上が必要であると考えている。多くの洗練されたサイバー攻撃により、悪意のある行為者は、従来のネットワークレベルのサイバー防御を秘かに通り抜けて、ホストコンピュータシステムで検出されない状態を長期間維持することが可能となり、その間にホストコンピュータシステムから価値のある機密情報またはデータを収集して盗むことができる。
【0004】
発明の概要
当技術分野におけるサイバー攻撃検出の新たなアプローチの必要性を満たすため、本発明者は、サイバー攻撃を示すシステムパフォーマンスパターンを検出するように、
図1の152に示されるようにホストコンピュータシステムの内部パフォーマンスに焦点を当てている。本明細書で使用される「サイバー攻撃」とは、コンピュータ、コンピュータシステム、または電子通信ネットワークに、ダメージを与える、混乱を引き起こす、及び/または不正アクセスを行う試みを指す。サイバー攻撃の例には、コンピュータシステムに対するマルウェアの展開またはインストールが挙げられ、マルウェアは、金銭目的、破壊目的、または他の目的にかかわらず、情報を抽出し、情報へのアクセスを無効化し、及び/または認可なしにシステムアプリケーションを変更するように動作する。
【0005】
本発明者は、ホストコンピュータシステムの外部のインタラクション及び特性を観察するのではなく、ホストコンピュータシステムの変化を内部的に観察し、ホストコンピュータシステムの内部パフォーマンスを分析して、ホストコンピュータシステムがサイバー攻撃を受けているかどうかを判定する技術を開発した。
【0006】
このアプローチでは、ホストコンピュータシステムのパフォーマンスを示すデータセットの定量的かつ探索的な分析により、サイバー攻撃のリソース使用指標の特定が促進され得る。
【0007】
このアプローチの一環として、サイバー攻撃による危殆化が起こっていないことが分かっているホストコンピュータシステムのシステムパフォーマンスデータを収集することにより、ホストコンピュータシステムのビヘイビアのベースラインが確立され得る。このようなホストコンピュータシステムは、正常状態ホストコンピュータシステムと称され得る。正常状態ホストコンピュータシステムから収集されたシステムパフォーマンスデータは、正常状態システムパフォーマンスデータと称され得、ホストレベルデータ分析のベースライン制御として機能し得る。正常状態システムパフォーマンスデータは、動作中のホストコンピュータシステムのそれぞれ異なる態様を表す多数の異なるパラメータの経時的データ値を含み得る。
【0008】
また、サイバー攻撃の結果、マルウェアにより危殆化されたことが分かっているホストコンピュータシステムから、システムパフォーマンスデータが収集され得る。このようなホストコンピュータシステムは、被攻撃状態ホストコンピュータシステムと称され得、そこから収集されたシステムパフォーマンスデータは、被攻撃状態システムパフォーマンスデータと称され得る。被攻撃状態システムパフォーマンスデータは、正常状態システムパフォーマンスデータに使用されるパラメータと同じパラメータの経時的データ値を含み得る。
【0009】
正常状態システムパフォーマンスデータ及び被攻撃状態システムパフォーマンスデータに対して、統計分析が行われ、サイバー攻撃に対し判別可能に相関するシステムパフォーマンスパラメータ及びパラメータ値が特定され得る。正常状態システムパフォーマンスデータ及び被攻撃状態システムパフォーマンスデータ内の様々なパラメータの値は、陽性及び陰性のサイバー攻撃理論に対する変数として評価され得る。次に、ロジスティック回帰により、サイバー攻撃の存在を示すシステム指標が特定され得る。これらのシステム指標は、その後、ホストコンピュータシステムのサイバー攻撃シグネチャとして機能し得る。
【0010】
その後、未知のサイバー攻撃状態にあるホストコンピュータシステムは、その内部システムパフォーマンスパラメータが、このサイバー攻撃シグネチャに対してテストされ、ホストコンピュータシステムがサイバー攻撃により危殆化状態にあるどうかが判定され得る。このホストコンピュータシステムは、テストホストコンピュータシステムと称され得る。このテストを成し遂げるために、テストホストコンピュータシステムからシステムパフォーマンスデータが収集され得、このシステムパフォーマンスデータは、テストシステムパフォーマンスデータと称され得る。テストシステムパフォーマンスデータは、被攻撃状態システムパフォーマンスデータ内の同じシステムパラメータの経時的データ値を含み得る(またはこれらのシステムパラメータのうち、少なくとも、サイバー攻撃シグネチャとマッチングするかどうかを判定するのに十分なシステムパラメータの経時的データ値を含み得る)。
【0011】
次に、テストシステムパラメータデータは、攻撃シグネチャと比較され、これら2つの間にパターンマッチングがあるかどうかが判定され得る。マッチングの存在により、システムは、テストホストコンピュータシステムがサイバー攻撃に関して陽性としてレポートされるべきであると、判定することが可能となる。マッチングが見つからない場合、テストホストコンピュータシステムは、サイバー攻撃に関して陰性としてレポートされ得る。
【0012】
このようなホストレベルデータ分析を通して、本発明者は、サイバー攻撃を容易に検出して対策を講じることができるように、より多くの選択肢が利用可能であると考えている。例えば、サイバー攻撃の準備フェーズを形成することが多いNmapスキャン及びNessusスキャンなどの列挙スキャンが、このようなホストレベルデータ分析の使用を介して検出され得る。このような列挙サイバー攻撃をタイムリーに検出することは、列挙フェーズが検出されなかった場合にサイバー攻撃のその後のフェーズで生じ得る損失及び損害を防止するのに役立ち得る。
【0013】
さらに、これらの技術を、多数の異なるタイプのサイバー攻撃と共に使用して、異なるタイプのサイバー攻撃に対応するサイバー攻撃シグネチャのライブラリが開発され得る。その後、テストシステムパフォーマンスデータは、これらのサイバー攻撃シグネチャのいずれかまたはすべてと比較され、テストホストコンピュータシステムがサイバー攻撃により危殆化状態にあるかどうかが判定され得る。
【0014】
本発明のこれらの特徴及び利点ならびに他の特徴及び利点が、下記により詳しく説明される。
【図面の簡単な説明】
【0015】
【
図1】例示的なホストコンピュータシステムを示す。
【
図2】サイバー攻撃を検出するために、ホストレベルデータ分析を実行するための例示的なプロセスフローを示す。
【
図3】複数の異なるタイプのサイバー攻撃のうちのいずれかを検出するために、ホストレベルデータ分析を実行するための例示的なプロセスフローを示す。
【
図4】例示的な実施形態のホストコンピュータシステムに関連して、ホストレベルデータ分析を実行するためのさらなる例示的なプロセスフローを示す。
【
図5】例示的な実施形態のホストコンピュータシステムに関連して、ホストレベルデータ分析を実行するためのさらなる例示的なプロセスフローを示す。
【
図6】例示的な実施形態のホストコンピュータシステムに関連して、ホストレベルデータ分析を実行するためのさらなる例示的なプロセスフローを示す。
【
図7】例示的な実施形態のホストコンピュータシステムに関連して、ホストレベルデータ分析を実行するためのさらなる例示的なプロセスフローを示す。
【
図8A】例示的な実施形態のホストコンピュータシステムに関連して、ホストレベルデータ分析を実行するためのさらなる例示的なプロセスフローを示す。
【
図8B】例示的な実施形態のホストコンピュータシステムに関連して、ホストレベルデータ分析を実行するためのさらなる例示的なプロセスフローを示す。
【
図9】例示的な実施形態のホストコンピュータシステムに関連して、ホストレベルデータ分析を実行するためのさらなる例示的なプロセスフローを示す。
【
図10】例示的な実施形態のホストコンピュータシステムに関連して、ホストレベルデータ分析を実行するためのさらなる例示的なプロセスフローを示す。
【
図11】Nmap列挙サイバー攻撃及びNessus列挙サイバー攻撃の存在を示し得る、収集されたシステムパフォーマンスデータの例示的なプロットを示す。
【
図12】Nmap列挙サイバー攻撃及びNessus列挙サイバー攻撃の存在を示し得る、収集されたシステムパフォーマンスデータの例示的なプロットを示す。
【
図13】Nmap列挙サイバー攻撃及びNessus列挙サイバー攻撃の存在を示し得る、収集されたシステムパフォーマンスデータの例示的なプロットを示す。
【
図14】Nmap列挙サイバー攻撃及びNessus列挙サイバー攻撃の存在を示し得る、収集されたシステムパフォーマンスデータの例示的なプロットを示す。
【
図15】Nmap列挙サイバー攻撃及びNessus列挙サイバー攻撃の存在を示し得る、収集されたシステムパフォーマンスデータの例示的なプロットを示す。
【発明を実施するための形態】
【0016】
図1は、本発明の例示的な実施形態の実践で使用され得る例示的なホストコンピュータシステム100を示す。ホストコンピュータシステム100は、1つ以上のプロセッサ102を含み、これらは、1つ以上のCPUまたは他の適切なコンピュータリソースの形態を取り得る。ホストコンピュータシステム100はまた、1つ以上のメモリ104を含む。メモリ104は、オペレーティングシステム(OS)、ソフトウェアアプリケーションなど、プロセッサ(複数可)により実行されるコードを格納し得る。メモリ104は、ファイル、レコードなど、システム動作中にプロセッサ(複数可)102により処理されるデータも格納し得る。メモリ(複数可)104には、ランダムアクセスメモリ(RAM)デバイス、ディスクドライブ、または他の適切なデータ記憶装置が含まれ得る。ホストコンピュータシステム100はまた、1つ以上のネットワークインターフェースカード106を含み得、これを介して、インターネットなどの外部ネットワーク120と通信することができる。ホストコンピュータシステム100は、さらにまた、1つ以上の周辺機器108または他のコンポーネント、例えば数ある中でもI/Oデバイス(キーボード、モニタ、プリンタなど)を含み得る。ホストコンピュータシステム100のこれらのコンポーネントは、システムバス110または他の適切な相互接続技術を介して、相互接続され、通信することができる。
【0017】
図1は、精緻化目的でホストコンピュータシステム100の高度に簡略化されたバージョンを示すが、より複雑なシステムアーキテクチャが展開され得ることを理解されたい。例えば、ホストコンピュータシステム100は、分散ネットワーク内の多数のマシンに対して多種多様なサービスをホストするITコンピュータシステムであり得、このようなサービスには、電子メールアプリケーション、ワード処理アプリケーション、及び/または他の業務支援アプリケーションもしくはテクニカルサポートアプリケーションが含まれ得る。
【0018】
図2は、
図1に示されるようなホストコンピュータシステムに対するサイバー攻撃を検出するために、ホストレベルデータ分析を実行するための例示的なプロセスフローを示す。
図2のプロセスフローは、メモリ104などの非一時的機械可読記憶媒体に常駐する機械可読コードにより、具現化され得る。コードは、本明細書で論述される処理動作を定義するソフトウェア及び/またはファームウェアの形態を取り得、1つ以上のプロセッサ102により実行される。
【0019】
図2のプロセスフローは、攻撃シグネチャ生成プロセスフロー250と、サイバー攻撃検出プロセスフロー252とを含む。例示的な実施形態では、これらのプロセスフロー250及び252は、ソフトウェアアプリケーションまたは他のプロセッサ実行可能コードにおいて、組み合わせることができる。ただし、実施者の所望に応じて、これらのプロセスフロー250及び252は、異なるソフトウェアアプリケーションなどの異なるコードによっても実施できることを、理解されたい。さらにまた、プロセスフロー250及び252は、互いに連携して実行される必要はなく、または互いに時間的に近接して実行される必要さえないことを、理解されたい。例えば、プロセスフロー250は、1回(または比較的低頻度で)実行されてもよく、一方、プロセスフロー252は、複数回(比較的高頻度で)実行されてもよい。
【0020】
ホストレベルデータ分析を介した攻撃シグネチャの生成:
攻撃シグネチャ生成プロセスフロー250のステップ200~206は、1つ以上のホストコンピュータシステム100にホストレベルデータ分析を適用して、サイバー攻撃検出プロセスフロー252により使用され得る攻撃シグネチャを生成するように動作する。
【0021】
ステップ200では、正常状態/コントロールホストは、パフォーマンス監視アプリケーションを実行して、自身のパフォーマンスを多数の異なるホストシステムパラメータにわたり経時的に測定する。この測定データは、上記で論述された正常状態システムパフォーマンスデータと称され得る。ステップ200で監視され得るホストシステムパラメータの例には、以下の任意の組み合わせが含まれ得る。
・CPU使用。CPU使用パラメータの例として、プロセッサ切り替え(例えば秒などの単位時間あたりのプロセッサ切り替え)の測定、及びプロセッサ割り込み(例えば秒などの単位時間あたりの割り込み)の測定、オペレーティングシステムによるCPU使用(例えばシステムパーセンテージ(Sys%))の測定、及び/またはユーザアプリケーションによるCPU使用(例えばユーザパーセンテージ(User%))の測定が挙げられ得る。
・消費電力。消費電力パラメータの例として、ホストレベルシステム周辺機器及び/またはシステムリソースの単位時間当たりの消費電力の測定などが挙げられ得る。
・ランダムアクセスメモリ(RAM)使用。RAM使用パラメータの例として、RAM割り当て(例えば使用メモリ対空きメモリなど)の測定が挙げられ得る。
・ネットワークカード使用。ネットワークカード使用パラメータの例として、着信ネットワークパケット(例えばカウント、サイズなど)の測定、及び/またはネットワークトラフィック(例えば単位時間あたりのトラフィック量(入力KB/秒または出力KB/秒など))の測定が挙げられ得る。
・ユーザプロセスの経過時間。ユーザプロセス経過時間パラメータの測定の例として、秒などの単位時間あたりのユーザプロセス数の測定が挙げられ得る。
・CPUビヘイビア。CPUビヘイビアパラメータは、1つ以上のCPU使用パラメータにおいて、経時的な任意のパターンを含み得る。例えば、CPUビヘイビアパラメータは、単位時間あたりのプロセッサ切り替え、単位時間あたりのプロセス割り込み、システムパーセンテージ、及び/またはユーザパーセンテージにおける、それぞれのベースライン値に対する偏差の測定であり得る。CPUビヘイビアに反映されたCPU使用の顕著な及び/または突然の増加は、サイバー攻撃を検出する際の要素として使用され得る。
・電力ビヘイビア。電力ビヘイビアパラメータは、1つ以上の消費電力パラメータにおいて、経時的な任意のパターンを含み得る。例えば、電力ビヘイビアパラメータは、単位時間あたりの消費電力における、そのベースライン値に対する偏差の測定であり得る。電力ビヘイビアに反映された電力使用の顕著な及び/または突然の増加は、サイバー攻撃を検出する際の要素として使用され得る。
・RAMビヘイビア。RAMビヘイビアパラメータは、1つ以上のRAM使用パラメータにおいて、経時的な任意のパターンを含み得る。例えば、RAMビヘイビアパラメータは、メモリ割り当てにおける、そのベースライン値に対するメモリ割り当ての偏差の測定であり得る。RAMビヘイビアに反映されたメモリ割り当ての顕著な及び/または突然の増加は、サイバー攻撃を検出する際の要素として使用され得る。
・ネットワークカードビヘイビア。ネットワークビヘイビアパラメータは、1つ以上のネットワークカード使用パラメータにおいて、経時的な任意のパターンを含み得る。例えば、ネットワークカードビヘイビアパラメータは、着信ネットワークパケット及び/または着信/発信ネットワークパケットにおける、それぞれのベースライン値に対する偏差の測定であり得る。ネットワークカードビヘイビアに反映されたネットワークカード使用の顕著な及び/または突然の増加は、サイバー攻撃を検出する際の要素として使用され得る。
・ユーザビヘイビア。ユーザビヘイビアパラメータは、1つ以上のユーザプロセス経過時間パラメータにおいて、経時的な任意のパターンを含み得る。例えば、ユーザビヘイビアパラメータは、単位時間あたりのユーザプロセスにおける、そのベースライン値に対する偏差の測定であり得る。ユーザビヘイビアに反映された、ユーザ(未知のユーザ及び/または未知のユーザプロセスを含み得る)がシステム上で実行するユーザプロセスまたはアプリケーションの顕著な及び/または突然の増加は、サイバー攻撃を検出する際の要素として使用され得る。
【0022】
これらは、収集可能なホストシステムパラメータの単なる例であり、実施者は、攻撃シグネチャを生成するとき、より多くの、より少ない、及び/または異なるホストシステムパラメータの使用を選択してもよいことを、理解されたい。さらに、実施者は、特定のタイプのサイバー攻撃を検出する経験及び必要性に基づいて、このようなホストシステムパラメータの測定に適した持続時間を選択することができる。次に、これらのホストシステムパラメータは、特徴として機能し得、その特徴値は評価されて、従属する結末(すなわちサイバー攻撃の存在)と相関する特徴値を有する適切な特徴集合が特定される。ロジスティック回帰及びモデルフィッティングを使用して、特定されたホストシステムパラメータ集合の特徴係数が特定され得、これらは、対象の特徴集合のホストシステムパラメータに関してサイバー攻撃の検出をモデル化するモデルで使用される。
【0023】
正常なオペレーティングシステムビヘイビアと異常なオペレーティングシステムビヘイビアとを区別可能になるのに必要な時間範囲の推定に基づいて、実施者は、正常状態システムパフォーマンスデータが対象とすべき持続時間の長さを選択する必要がある。10分以上などの期間が使用され得る。しかし、一部の実施者は、より長いまたはより短い期間が望ましい及び/または十分であると感じる場合があることがわかる。
【0024】
ステップ202では、被攻撃状態ホストは、パフォーマンス監視アプリケーションを実行して、自身のパフォーマンスを多数の異なるホストシステムパラメータにわたり経時的に測定する。この測定データは、上記で論述された被攻撃状態システムパフォーマンスデータと称され得る。ステップ200及び202での2つの収集目的は、被攻撃状態ホストの内部動作ビヘイビアと、正常状態ホストの内部動作ビヘイビアとを比較することで、サイバー攻撃に対し判別可能に相関するデータセットの差分に基づいて、攻撃指標を検出できることであるため、ステップ202で被攻撃状態ホストから収集されたホストシステムパラメータには、ステップ200に関して上記で論述されたシステムパラメータと同じものが含まれ得る。
【0025】
ステップ202では、ホストコンピュータシステム100は、多数の異なるタイプのサイバー攻撃のうちのいずれかを受け得る。例えば、列挙スキャンは、悪意のある行為者によりサイバー攻撃の準備フェーズとして使用されることが多く、悪意のある行為者は、ホストの監視及びその構造の学習を試み、よって、ホストのセキュリティの欠陥または弱点が調べ上げられ得る。列挙スキャンにより、ホストコンピュータシステム上に存在するユーザ名、マシン名、ネットワークリソース、及び他のサービスを抽出するプロセスが実行される。その後、この情報は、悪意のある行為者により、サイバー攻撃の後のフェーズを実行する際に活用され得る。このような列挙サイバー攻撃で使用され得る列挙スキャンツールの例として、ネットワークマッパー(Nmap)及びNessusが挙げられる。Nmapは、パケットを送信して応答を分析することにより、コンピュータネットワーク上のホスト及びサービスを発見するのに使用されるオープンソースネットワークスキャナである。Nessusは、同様に動作するプロプライエタリスキャナである。よって、例示的な実施形態では、ホストコンピュータシステム100は、Nmapスキャナ及び/またはNessusスキャナにより攻撃され得、ステップ202は、Nmapスキャナ及び/またはNessusスキャナがホストシステム内で動作している間に、システムパフォーマンスを監視するように動作する。
【0026】
しかしながら、ステップ202では列挙攻撃以外のサイバー攻撃が用いられてもよいことが、理解されよう。本発明者は、
図2のプロセスフローが、いずれのタイプのサイバー攻撃に関しても動作でき、正常状態システムパフォーマンスデータと十分な差分を示す被攻撃状態システムパフォーマンスデータを生成し、よって、下記で論述される技術を使用して、サイバー攻撃を検出できることを見込んでいる。
【0027】
ステップ200及び202を実行するために、多数の異なるパフォーマンス監視アプリケーションのうちのいずれかが使用され得る。適切なパフォーマンス監視アプリケーションの例として、Nmonが挙げられる。Nmonは、コンピュータシステムから、上記に論述されたようなシステムパラメータに関して、指定された持続時間の秒毎に、システムパフォーマンスデータを収集するオープンソース監視アプリケーションである。例えば、Nmonは、Linuxホストシステムから、CPUパフォーマンス、内部システムプロセス、メモリ、ディスク使用、システムリソース、ファイルシステム、及びネットワークカードアクティビティなどのシステムパラメータに特化したデータを記録し得る。Nmonデータファイルは、ホストコンピュータシステム100から収集され、分析に適したアプリケーション(IBM Nmonスプレッドシート及びアナライザなど)にインポートされ得る。
【0028】
適切なパフォーマンス監視アプリケーションの別の例として、Collectlが挙げられる。Collectlは、コンピュータシステムから、上記で論述されたようなシステムパラメータに関して、指定された持続時間にわたり秒毎に、システムハードウェアデータ及びシステムソフトウェアデータを収集する軽量のコマンドラインユーティリティである。例えば、Collectlは、ホストシステムから、CPUパフォーマンス、内部システムプロセス、ディスク使用、ファイルシステム、メモリ、ネットワークカードアクティビティ、及びネットワークプロトコルなどのシステムパラメータに特化したデータを記録し得る。Collectlデータファイルは、ホストコンピュータシステム100から収集され、分析に適したアプリケーションにインポートされ得る(例えばMicrosoft Excelまたは他のスプレッドシートプログラムにテキストファイルとしてインポートされ得、データはグラフ化され、パターン及び変化について評価され得る)。
【0029】
適切なパフォーマンス監視アプリケーションのさらに別の例として、Monitorixが挙げられる。Monitorixは、Linuxオペレーティングシステム内のシステムリソース及びサービスを監視するように設計されたソフトウェアアプリケーションであり、Webブラウザでパフォーマンス出力を表示することができる。Monitorixは、CPU使用、電力、メモリ、ネットワークカード、ネットワークトラフィック、内部システムプロセス、及びシステムユーザに特化したデータを、経時的に監視して記録するように動作する。Monitorixデータファイルも、分析に適したソフトウェアアプリケーションにインポートされ得る。
【0030】
所望に応じて、ホストコンピュータシステム100上で複数のパフォーマンス監視アプリケーションを実行することにより、ステップ200及び202は動作してもよいことを、理解されたい。例えば、実施者は、ホストコンピュータシステム100上でNmap及びCollectlの両方を実行して、正常状態システムパフォーマンスデータ及び被攻撃状態システムパフォーマンスデータを収集することが有用であると、感じる場合がある。
【0031】
さらに、ステップ200及び202は、直接ホストコンピュータシステム自体ではなく、ホストコンピュータシステム100のクローン上で動作してもよいことも、理解されたい。したがって、ステップ202は(実施者が望む場合はステップ200も)、ホストコンピュータシステム100のクローンを作成し、次いでクローンホスト上でパフォーマンス監視アプリケーション(複数可)を実行することも含み得る。このようなクローニングにより、実施者は、ホストコンピュータシステム100自体を攻撃する必要を回避することができる。
【0032】
ステップ204では、システムは、正常状態システムパフォーマンスデータ及び被攻撃状態システムパフォーマンスデータに統計分析を実行する。この統計分析に基づいて、サイバー攻撃に相関するシステムパフォーマンスパラメータ及びパラメータ値が特定され得る。これらのシステムパラメータ及びパラメータ値は、サイバー攻撃のシステム指標として機能し得る。
【0033】
この統計分析により、正常状態システムパフォーマンスデータ及び被攻撃状態システムパフォーマンスデータの異なるパラメータ及びパラメータ値に対して、陽性及び陰性の感染理論がテストされ得る。陽性的中率理論では、確率統計を使用して、サイバー攻撃の陽性徴候が確認され得る。陰性的中率理論では、サイバー攻撃が発生したと肯定的に結論付ける所定閾値にシステム指標が達しなかったことから、サイバー攻撃は発生していないという結論に達し得る。サイバー攻撃が発生したこと、または発生することを示す指標として機能するシステムパラメータ及びパラメータ値は、ロジスティック回帰分析を使用して特定され得る。
【0034】
このようにして、特徴集合及び対応する特徴係数に関して、サイバー攻撃の確率をモデル化するロジスティック回帰モデルが開発され得る。特徴は、既知の正常状態システムパフォーマンスデータと既知の被攻撃状態システムパフォーマンスデータとの比較統計分析に基づいた、サイバー攻撃の存在に相関するホストシステムパラメータであり得る。
【0035】
陽性的中率理論及び陰性的中率理論では、実施者は、ロジスティック回帰分析を使用して、サイバー攻撃が存在する(陽性である)確率及びサイバー攻撃が存在しない(陰性である)確率をテストし得る。陽性的中率理論を使用して、サイバー攻撃の存在を示すホストシステムパラメータ及びパラメータ値が特定され得、陰性的中率理論を使用して、サイバー攻撃の不在を示すホストシステムパラメータ及びパラメータ値が特定され得る。
【0036】
実施者は、陽性的中率理論及び陰性的中率理論を使用して、サイバー攻撃の徴候または指標(例えばサイバー攻撃と相関性が高いことが判明しているパフォーマンスの急変動、急上昇、または異常)のホストシステムパラメータの組み合わせを分析することにより、ホストコンピュータシステムに対するサイバー攻撃の確率をテストし得る。陽性的中率理論及び陰性的中率理論により、ホストレベルシステムデータ分析は、システムの危殆化の陽性または陰性の指標をシステムが提供するかどうかを、テストすることも可能となる。陽性的中率理論及び陰性的中率理論を適用して、システムパフォーマンスデータを評価することにより、パフォーマンス監視結果が実施者に提供され、可能性のあるサイバー攻撃の陽性確率または陰性確率を確認することができる。
【0037】
陽性的中率の使用では、ホストレベルシステムの確率統計を提供することにより、サイバー攻撃の陽性徴候が確認される。陰性的中率では、ホストレベルシステム上の陽性結果閾値(例えばサイバー攻撃に十分相関するパフォーマンスの急変動、急上昇、または異常)にホストレベルシステム指標が達していないことから、サイバー攻撃は発生していないことが論証され、これにより、システムは攻撃を受けていないことが確認される。陽性的中率理論及び陰性的中率理論に対するロジスティック回帰テストの使用では、陽性値または陰性値に対して計算を行い、システムが危殆化されたパーセンテージ及び指標を提供することにより、ホストシステムがサイバー攻撃を受けている確率が導き出され、同時に、潜在的な偽陽性サイバー攻撃特定の量が削減される。
【0038】
IBM SPSSのようなツールを使用して、正常状態システムパフォーマンスデータセット及び被攻撃状態システムパフォーマンスデータセットの統計分析が提供され得る。しかし、これは必須ではなく、実施者の所望に応じて、データセットの統計分析の他のツールが使用されてもよいことを、理解されたい。
【0039】
サイバー攻撃のシステム指標を確実に特定して有効化するために、プロセスフロー250は、ステップ200、202、及び204を複数回繰り返す必要があり得ることを、理解されたい。
【0040】
次に、ステップ204で特定されたサイバー攻撃システム指標を使用して、ステップ206ではサイバー攻撃シグネチャが作成され得る。このサイバー攻撃シグネチャは、ホストシステムパラメータ及び対応するパラメータ値(パラメータ値の範囲を含み得る)で表され得る複数のシステム指標を含み、ホストシステム上のサイバー攻撃の存在を特徴付けるように機能する。このように、サイバー攻撃シグネチャは、様々なホストシステムパラメータに対するサイバー攻撃の測定可能及び定量化可能な影響に関して、サイバー攻撃を表すように機能する。
【0041】
サイバー攻撃シグネチャは、メモリ104に格納され得、サイバー攻撃が発生したかどうかを判定するためにホストコンピュータシステム100をテストする際に、後でアクセスされる。
【0042】
ホストレベルサイバー攻撃シグネチャを使用したサイバー攻撃の検出:
サイバー攻撃検出プロセスフロー252のステップ210~218は、ホストレベルデータ分析を適用してホストコンピュータシステム100をテストし、ステップ206で作成されたサイバー攻撃シグネチャに対応するサイバー攻撃により、ホストコンピュータシステム100が危殆化されたかどうかを判定するように動作する。
【0043】
ステップ210では、システムは、サイバー攻撃検出プロセスフロー252がホストコンピュータシステム100上で実行されるようにトリガーする。このホストコンピュータシステム100は、テストホストコンピュータシステムと称され得る。このトリガーは、実施者が望み得る期間ベースまたはイベントベースで、実行されるように構成され得る。例えば、実施者は、サイバー攻撃検出プロセスフロー252を、X分ごと(例えば10分ごと)、または他の時間ベース(1時間ごと、1日ごと、1週間ごとなど)で実行するように、選択し得る。さらに、サイバー攻撃検出プロセス252に含まれる期間は、サイバー攻撃検出プロセス252が繰り返されたとき、期間が重複し得る。重複の程度は、サイバー攻撃シグネチャの時間持続特性に依存し得る。例えば、ホストのシステムパラメータからサイバー攻撃を検出するために、サイバー攻撃シグネチャが2分間のデータ値ウィンドウを必要とする場合では、実施者は、検出プロセス252を繰り返すとき、2分(または2分より少し多く)重複する期間を使用することを望み得る。これは、検出プロセス252の時間的端部付近で発生し得るサイバー攻撃を確実に見逃さないようにするのに役立ち得る。別の例として、ステップ210は、ユーザ要求に応じて、または他の何らかのイベント駆動ベースで、サイバー攻撃検出プロセスフロー252をトリガーし得る。
【0044】
別の例示的な実施形態では、システムは、サイバー攻撃検出プロセス252を連続的に実行することができ、この場合、トリガーステップ210は不要とされてもよい。連続動作モードでは、システムは、実質的に常に、テストホストコンピュータシステムからのシステムパフォーマンスデータのスライディングウィンドウを調べ、サイバー攻撃が示されているかどうかを判定する。
【0045】
ステップ212では、システムは、ステップ200及び202で使用されたパフォーマンス監視アプリケーション(複数可)をテストホストコンピュータシステム上で実行し、そのパフォーマンスを、多数の異なるホストシステムパラメータにわたり経時的に測定する。ステップ212で生成されたシステムパフォーマンスデータは、テストシステムパフォーマンスデータと称され得る。ステップ200及び202に関して上記で論述されたように、ステップ212でデータが収集されたシステムパラメータには、以下のうちのいずれかを示すシステムパラメータ測定が含まれ得る。
・CPU使用
・消費電力
・ランダムアクセスメモリ(RAM)使用
・ネットワークカード使用
・各プロセスの経過時間
・CPUビヘイビア
・電力ビヘイビア
・RAMビヘイビア
・ネットワークカードビヘイビア
・ユーザビヘイビア
【0046】
よって、テストシステムパフォーマンスデータは、テストホストコンピュータシステムの動作中の複数のホストシステムパラメータと、これらの経時的な対応値とを含み得る。所望に応じて、実施者は、ステップ212での監視及び収集を、サイバー攻撃シグネチャがそこに存在するかどうかを評価するために必要なシステムパラメータのみに限定することができる。
【0047】
収集のための期間は、サイバー攻撃シグネチャによるサイバー攻撃の検出を可能にするのに十分な長さの持続時間であり得、実施者は、ステップ210のトリガー頻度と連携して、ステップ212での収集期間を設定することを望み得、これにより、検出プロセス252は、ホストに対しすべての期間で動作し得る(よって省いた期間中にサイバー攻撃が発生して検出されないリスクを回避し得る)。
【0048】
上記で論述されたように、ステップ212で使用され得るパフォーマンス監視アプリケーションの例として、Nmon、Collectl、及び/またはMonitorixが挙げられる。
【0049】
ステップ214では、システムは、テストシステムパフォーマンスデータをサイバー攻撃シグネチャと比較して、パターンマッチングが存在するかどうかを判定する。この比較は、サイバー攻撃シグネチャの特性を、テストシステムパフォーマンスデータのスライディングウィンドウに対して比較して、サイバー攻撃シグネチャにマッチングするテストシステムパフォーマンスデータの任意の部分が存在するかどうかを判定することを含み得る。
【0050】
ステップ214の結果、テストシステムパフォーマンスデータの一部とサイバー攻撃シグネチャとの間にマッチングが見つかった場合には、プロセスフローはステップ216に進むことができ、ステップ216では、システムは、テストホストコンピュータシステムがサイバー攻撃に関して陽性であるとレポートする。このレポートにより、ホストコンピュータシステム100のセキュリティ保護を担当するシステム管理者または他のユーザのユーザインターフェース上に、アラートがトリガーされ得る。次に、システムは、サイバー攻撃が検出された時間の特定、及びマッチングをトリガーしたテストシステムパフォーマンスデータの部分など、検出されたサイバー攻撃を記述するデータを提供するログへのアクセスを、ユーザに提供し得る。これにより、陽性レポートが正確であると見なされた場合、ユーザが好適な是正措置を取ることが可能となり得る。
【0051】
ステップ214の結果、テストシステムパフォーマンスデータとサイバー攻撃シグネチャとの間にマッチングが見つらなかった場合には、プロセスフローはステップ218に進むことができ、ステップ218では、システムは、テストホストコンピュータシステムがサイバー攻撃に関して陰性であるとレポートする。陰性結果は、システムによりログに記録され得、これにより、システム管理者または他のユーザは、テスト結果を監査し、所望に応じてこれらの関連データ特性を精査することが可能である。
【0052】
したがって、
図2は、サイバー攻撃を受けていないときのホストの正常状態動作パフォーマンスの制御ベースラインと比較したときの、ホストの動作パフォーマンスに対するサイバー攻撃の影響の観点から、ホストレベルデータ分析を使用してサイバー攻撃を検出する技術を説明することを、理解されたい。
【0053】
サイバー攻撃シグネチャライブラリを介した複数のタイプのサイバー攻撃の検出:
別の例示的な実施形態では、
図2のプロセスフローを拡張して、複数の異なるタイプのサイバー攻撃のうちのいずれかに関して、ホストコンピュータシステムをテストする能力が提供され得る。
図3は、そのための例示的なプロセスフローを示す。
図3のプロセスフローは、メモリ104などの非一時的機械可読記憶媒体に常駐する機械可読コードにより、具現化され得る。コードは、本明細書で論述される処理動作を定義するソフトウェア及び/またはファームウェアの形態を取り得、1つ以上のプロセッサ102により実行される。
【0054】
図3のプロセスフローは、複数のサイバー攻撃シグネチャを生成するためのプロセスフロー350と、複数の攻撃シグネチャと連携して作動するサイバー攻撃検出プロセスフロー352とを含む。例示的な実施形態では、これらのプロセスフロー350及び352は、ソフトウェアアプリケーションまたは他のプロセッサ実行可能コードにおいて、組み合わせることができる。ただし、実施者の所望に応じて、これらのプロセスフロー350及び352は、異なるソフトウェアアプリケーションなどの異なるコードによっても実施できることを、理解されたい。さらにまた、プロセスフロー350及び352は、互いに連携して実行される必要はなく、または互いに時間的に近接して実行される必要さえないことを、理解されたい。例えば、プロセスフロー350は、1回(または比較的低頻度で)実行されてもよく、一方、プロセスフロー352は、複数回(比較的高頻度で)実行されてもよい。
【0055】
プロセスフロー350は、複数の異なるタイプのサイバー攻撃に関して、
図2のステップ200~206を実行することを含むステップ300を含む。その結果、複数の異なるサイバー攻撃シグネチャが作成され、各サイバー攻撃シグネチャは、対応するサイバー攻撃タイプを有する。これらのサイバー攻撃シグネチャは、次に、サイバー攻撃シグネチャのライブラリ310として、メモリ104に格納され得る。例えば、上記で論述された列挙サイバー攻撃に関して、ステップ300は、(1)Nmap列挙サイバー攻撃に関してステップ200~206を実行して、Nmap列挙サイバー攻撃のサイバー攻撃シグネチャを生成することと、(2)Nessus列挙サイバー攻撃に関してステップ200~206を実行して、Nessus列挙サイバー攻撃のサイバー攻撃シグネチャを生成することと、を含み得る。ライブラリ310にNmapサイバー攻撃シグネチャ及びNessusサイバー攻撃シグネチャを追加することにより、システムは、これらのタイプのサイバー攻撃のどちらかの存在を、プロセスフロー352を介して検出することが可能となり得る。
【0056】
プロセスフロー352は、ステップ310、312、314、316、及び318を含み、これらは、
図2の対応するステップ210、212、214、216、及び218と実質的に同様である。よって、ステップ310は、ステップ210と同様に動作し得、ステップ312は、ステップ212と同様に動作し得る。しかし、ステップ312でテストホストコンピュータシステムからデータが収集されるシステムパラメータは、ライブラリ310内のすべてのサイバー攻撃シグネチャを評価するために必要なすべてのシステムパラメータの少なくとも上位集合でなければならないことを、理解されたい。ステップ314は、ステップ214と同様に動作し得るが、ライブラリ310内の複数のサイバー攻撃シグネチャのそれぞれに関して、テストシステムパフォーマンスデータに対しマッチングプロセスが実行され得る。したがって、ステップ314から任意のマッチングが見つかった場合には、ステップ316は、テストホストコンピュータシステムがサイバー攻撃に関して陽性であるとレポートし得る。さらに、どのサイバー攻撃シグネチャがマッチングをトリガーしたかという知識に基づいて、システムは、検出されたサイバー攻撃のタイプもレポートし得る。上記で論述されたように、システム管理者または他のユーザが陽性ヒットを評価することができるユーザインターフェースが提供され得る。さらに、ステップ314で複数のサイバー攻撃シグネチャにマッチングが見つかった場合、これらの陽性マッチングのそれぞれがステップ316でレポートされ得る。ステップ314でライブラリ310のサイバー攻撃シグネチャのうちのいずれもマッチングが見つからない場合には、上記で論述されたように、ステップ318は陰性結果をレポートし得る。
【0057】
したがって、
図3は、サイバー攻撃を受けていないときのホストの正常状態動作パフォーマンスの制御ベースラインと比較したときの、ホストの動作パフォーマンスに対する複数のタイプのサイバー攻撃の影響の観点から、ホストレベルデータ分析を使用して複数のタイプのサイバー攻撃を検出する技術を説明する。
【0058】
発明者は、
図2及び/または
図3のプロセスフローは、これら自体がコンピュータシステムのサイバーセキュリティアプリケーションとして使用でき、または当業者には周知である上記で論述されたネットワークレベルデータ分析などの他のサイバーセキュリティアプリケーションと連携して使用できると、考えている。このようにして、サイバー攻撃の存在を示し得る異常を検出するために、ホストシステムの外部トラフィック特性ならびにホストシステムの内部動作特性を含む、ホストシステムの多数の異なる側面を評価するサイバーセキュリティダッシュボードが提供され得る。
【0059】
例示的な実施形態‐Red Hat Enterprise Linuxシステムに対するNmap列挙攻撃及びNessus列挙攻撃の検出:
例示的な実施形態では、ホストコンピュータシステム100は、Red Hat Enterprise Linux(RHEL)システムであり得、これは商業分野及び行政分野で使用される一般的なホストシステムであり、サイバー攻撃は、Nmap列挙サイバー攻撃であり得る。本発明者は、本明細書で説明されるサイバー攻撃検出技術を、RHELシステム上でNmap列挙サイバー攻撃に関して実験的にテストしたところ、本明細書で説明されるホストレベルデータ分析により、RHELシステムに対するNmap列挙サイバー攻撃を正確に検出できることを発見した。
【0060】
この実施例で、ステップ200、202、及び212で使用され得るパフォーマンス監視アプリケーションは、Nmonパフォーマンス監視アプリケーション及び/またはCollectlパフォーマンス監視アプリケーションであり得る。本明細書に含まれる付録Aは、Nmon及びCollectlを使用してRHELホストシステム上で収集を実行し、正常状態システムパフォーマンスデータ及び被攻撃状態システムパフォーマンスデータを収集し、次に、結果得られたデータを評価して、サイバー攻撃と相関しかつサイバー攻撃シグネチャとして使用され得る異常を見つける、例示的な手順を説明する。
【0061】
RHELシステムの仮想マシンの20個のインスタンスにわたり、Nmonシステム収集及びNmap列挙サイバー攻撃に関してプロセスフロー250を実行することにより、RHELシステムのうちの15個で、列挙スキャン時間中にシステムアクティビティ及びリソース使用が増加することが明らかとなった。15個のテスト陽性仮想マシンはすべて、Nmapスキャンが発生した時間に特化して、ネットワークインターフェースカードへの着信ネットワークパケット、中央プロセッサ使用、1秒あたりのプロセス切り替え、及びプロセッサ割り込みに関するリソース使用の増加をログに記録した。NmonとCollectlの両方のグラフ化された結果では、ネットワークインターフェースカードの着信ネットワークパケット、中央プロセッサ使用、1秒あたりのプロセス切り替え、及びプロセッサ割り込みに関してキャプチャされたデータに特化して、テスト陽性仮想マシンシステム全体のシステムアクティビティ及びリソース使用に、これらの増加が表示された。これらのグラフ化された指標は、Nmapスキャン時間と相関し、NmonとCollectlの両方に記録された。ドキュメント化されたアクティビティの増加及びグラフ化された結果により、これらの仮想マシンのテスト陽性指定が確認された。
【0062】
NmonとCollectlの両方に記録されたNmap列挙スキャンの指標は、着信ネットワークパケット、1秒あたりのプロセス切り替え、プロセッサ使用に関する5秒~8秒のアクティビティ単独増加、及びプロセッサ割り込みの増加であった。したがって、これらの特性は、Nmon及び/またはCollectlを実行して関連システムパフォーマンスデータを収集するRHELシステムに対するNmap列挙サイバー攻撃と、判別可能に相関する。
【0063】
別の例示的な実施形態では、RHELシステムは、Nessus列挙サイバー攻撃を受け得る。本発明者は、本明細書で説明されるサイバー攻撃検出技術を、RHELシステム上でNessus列挙サイバー攻撃に関して実験的にテストしたところ、本明細書で説明されるホストレベルデータ分析により、RHELシステムに対するNessus列挙サイバー攻撃を正確に検出できることを発見した。
【0064】
この実施例で、ステップ200、202、及び212で使用され得るパフォーマンス監視アプリケーションは、Nmonパフォーマンス監視アプリケーション及び/またはCollectlパフォーマンス監視アプリケーションであり得る。RHELシステムの仮想マシンの20個のインスタンスにわたり、Nmonシステム収集及びNessus列挙サイバー攻撃に関してプロセスフロー250を実行することにより(追加5回のNmon収集及び追加5回のCollectl収集の再テストとともに)、RHELシステムのうちの15個で、列挙スキャン時間中にシステムアクティビティ及びリソース使用が増加することが明らかとなった。15個のテスト陽性仮想マシンはすべて、Nessusスキャンが発生した時間に特化して、ネットワークインターフェースカードへの着信ネットワークパケット、中央プロセッサ使用、1秒あたりのプロセス切り替え、及びプロセッサ割り込みに関するリソース使用の増加をログに記録した。テスト陽性システムに関連するグラフ化されたNessusスキャンの攻撃指標は、Nmonデータ及びCollectlデータの両方でも記録された。これらのグラフ化された指標は、Nessusスキャン時間と相関し、NmonデータセットとCollectlデータセットの両方に記録された。ドキュメント化されたアクティビティの増加及びグラフ化された結果により、これらの仮想マシンのテスト陽性指定が確認された。
【0065】
NmonとCollectlの両方に記録されたNessus列挙スキャンの指標は、着信ネットワークパケット、1秒あたりのプロセス切り替え、プロセッサ使用に関して、6秒のアクティビティ単独増加、続いて8秒の時間フレームの正常アクティビティ、続いて別の6秒のアクティビティ単独増加、及びプロセッサ割り込みの増加であった。したがって、これらの特性は、Nmon及び/またはCollectlを実行して関連システムパフォーマンスデータを収集するRHELシステムに対するNessus列挙サイバー攻撃と、判別可能に相関する。
【0066】
これらの実験では、Nmap列挙のサイバー攻撃及びNessus列挙のサイバー攻撃と相関する、Nmonデータファイル及びCollectlデータファイルの両方に記録された同様のシステム指標が開示された。具体的には、これらの実験では、Nmonデータ集合及びCollectlデータ集合を使用して、Nmap列挙スキャン及びNessus列挙スキャンを検出するための以下のパフォーマンスメトリックが示された。
・感度=75%。感度とは、攻撃が存在するときに、テストが陽性になるホストのパーセンテージである。よって、テスト感度は、ホストレベルデータ分析が判別可能であったNmap列挙サイバー攻撃及びNessus列挙サイバー攻撃から、測定可能な影響を示したホストのパーセンテージを提供する。
・特異度=100%。特異度とは、攻撃されていない、テストは陰性のマシンのパーセンテージである。よって、特異度のパーセンテージは、真陰性の確率を表し、偽陽性の区別を可能にする。
・陽性結果的中率=100%及び陰性結果的中率=100%。的中率とは、陽性結果または陰性結果が真であるとみなされる確率の測定結果である。よって、的中率は、結果を予測できた正確さのレベルであり、テスト陽性またはテスト陰性を正確に予測するために、的中率のパーセンテージにより偽陰性を排除することが可能となる。
・テスト効率=87.5%。テスト効率とは、テストされたホストの総数に対して、正しい結果を出したホストのパーセンテージである。テスト効率は、実行されたテストの総数に対する正しい結果の数の測定結果、及びサイバー攻撃を測定可能に検出する能力を示したテスト対象ホストのパーセンテージを提供する。
【0067】
図4は、RHELホストシステムのこのテストに関連する、Nmonアプリケーション及びCollectlアプリケーションを使用したベースラインデータキャプチャのプロセスフローを示す。このプロセスフローにより、
図2及び
図3に関連して上記で論述された正常状態システムパフォーマンスデータが生成される。ステップ402では、ユーザがベースラインRHELホストシステムにログインする。ステップ404では、端末ウィンドウが開かれる。ステップ406では、Nmonログ及びCollectlログのディレクトリが作成される。次に、Nmon及びCollectlが開始され得る(ステップ408及び410、ステップ412はCollectlアプリケーションの終了を示す)。次に、ベースラインキャプチャログを有するディレクトリがアクセスされ(ステップ414)、処理/分析のために外部ドライブ(または別の場所)にコピーされる(ステップ416)。
【0068】
図5は、収集されたベースラインメトリック(
図4の収集プロセスからメトリック及びグラフ化されたRHELベースラインシステム結果を含み得る‐502を参照)が、時間データ(504を参照)、NICアクティビティデータ(506を参照)、及びCPUアクティビティデータ(508を参照)を含む、プロセスフローを示す。このベースラインデータは、次に処理及び分析され、一定の/規則的なリソース使用のパターンが確立される(ステップ510)。システムは、このベースラインデータから、ベースラインRHELシステム上の各アプリケーションのベースラインNICアクティビティをドキュメント化し(ステップ512)、ベースラインRHELシステム上の各アプリケーションのベースラインCPUアクティビティをドキュメント化し得る(ステップ514)。
【0069】
図6は、Nmonアプリケーション及びCollectlアプリケーションを実行しているRHELホストシステムに対するNmapサイバー攻撃及びNessusサイバー攻撃に関するデータキャプチャのプロセスフローを示す。このプロセスフローにより、
図2及び
図3に関連して上記で論述された被攻撃状態システムパフォーマンスデータが生成される。ステップ602では、ベースラインRHELシステムのフルクローンが作成され、次にこのクローンは、ターゲットRHELシステムとして機能し得る。ステップ604では、攻撃システム(例えばKali Linux攻撃システム)がブートされ、ログインされる。ステップ606では、攻撃システムの端末ウィンドウが開かれ、Nessusが開始される。ステップ608では、ターゲットRHELシステムがログインされる。次に、攻撃システムのIPアドレス及びターゲットRHELシステムのIPアドレスが特定され(ステップ610及び612参照)、攻撃システムとターゲットRHELシステムとの間のpingを完了して、これらが相互通信できる状態が確保される(ステップ614及び616参照)。ステップ618では、Nmon収集及びCollectl収集からのログファイルに関して、Nmonディレクトリ及びCollectlディレクトリが作成される。次に、ターゲットRHELシステム上で、Nmonアプリケーション及びCollectlアプリケーションが開始される(ステップ620)。次に、攻撃システムは、ターゲットRHELシステムに対する攻撃を開始し得(ステップ622)、攻撃には、ターゲットRHELシステムのNmapスキャンを実行すること(ステップ624)と、ターゲットRHELシステムのNessusスキャンを実行すること(ステップ626)と、が含まれ得る。これらの攻撃は、実施者の所望に応じて、別々の時間に実行して、異なる収集を行うことができることを、理解されたい。これらの攻撃は、実行中のNmonアプリケーション及びCollectlアプリケーションによりターゲットRHELシステムが監視されている間に発生し、ステップ628は、Collectlアプリケーションを終了することを示す。次に、キャプチャログファイルを有するディレクトリがアクセスされ(ステップ630)、攻撃シグネチャを開発するための処理及び分析のために外部ドライブ(または別の場所)にコピーされる(ステップ632)。次に、ターゲットシステム及び攻撃システムがログオフされ、電源が切られ得る(ステップ634及び636)。
【0070】
図7は、収集された攻撃メトリック702が、時間データ(704を参照)、NICアクティビティデータ(706を参照)、及びCPUアクティビティデータ(708を参照)を含むプロセスフローを示す。時間情報704により、サイバー攻撃のタイミングを検証し(ステップ710を参照)、これを使用して、NICアクティビティ及びCPUアクティビティの測定と相関させることが可能となる。ステップ712では、システムは、検証された攻撃時間に相関して、NICにわたるアクティビティ(例えば着信ネットワークパケットなど)が増加したかどうかを判定し得る。被攻撃状態システムパフォーマンスデータ内の相関するNICアクティビティは、ステップ512の正常状態/ベースラインNICアクティビティと比較され(ステップ714を参照)、各アプリケーション及び各攻撃に関する何らかの変化(例えば攻撃から生じるNICアクティビティの増加)がドキュメント化され得る(ステップ716を参照)。システムは、CPUアクティビティデータに関しても同様の動作を実行し得る。ステップ718では、システムは、検証された攻撃時間に相関して、CPU使用が増加したかどうかを判定し得る。720に示されるように、このCPU使用は、CPUのうちの少なくとも1つにおいてアクティビティが増加することにより測定され得、該当する場合、アクティビティ増加は、Nmap列挙スキャン及びNessus列挙スキャンの時間に相関する(Nmon収集データから導出される)。722に示されるように、このCPU使用はまた、1秒あたりのプロセス切り替えのアクティビティが増加することにより測定され得、該当する場合、アクティビティ増加は、Nmap列挙スキャン及びNessus列挙スキャンの時間に相関する(Nmon収集データから導出される)。724に示されるように、このCPU使用はまた、1秒当たりのプロセッサ割り込みのアクティビティが増加することにより測定され得、該当する場合、アクティビティ増加は、Nmap列挙スキャン及びNessus列挙スキャンの時間に相関する(Collectl収集データから導出される)。被攻撃状態システムパフォーマンスデータ内の相関するCPU使用アクティビティは、ステップ514の正常状態/ベースラインNICアクティビティと比較され(ステップ726を参照)、各アプリケーション及び各攻撃に関する何らかの変化(例えば攻撃から生じるNICアクティビティの増加)がドキュメント化され得る(ステップ728を参照)。NICアクティビティ及びCPUアクティビティにおけるこれらの変化は、攻撃シグネチャの生成に使用するために、記録/ドキュメント化され得る(730を参照)。
【0071】
図8A及び
図8Bは、RHELホストシステムから収集されたNmonデータセット及び/またはCollectlデータセットに基づいて、Nmapスキャン及びNessusスキャンに対応するサイバー攻撃シグネチャを生成するためのプロセスフローを示す。例えば、ステップ802では、システムは、被攻撃状態のシステムのリソース使用増加ドキュメントを収集し、グラフ化し、分析し得る。この実施例では、判別のために使用されるシステムパラメータは、NICアクティビティ(例えば、着信パケットアクティビティの測定)及びCPUアクティビティ(例えば1秒あたりのプロセッサ切り替え(プロセッサ割り込み))であり、プロセスフローは、被攻撃状態システムパフォーマンスデータと、正常状態/ベースラインシステムパフォーマンスデータとにおいて、これらのシステムパラメータの値を比較し得る(NICアクティビティ及びCPUアクティビティについて804及び808をそれぞれ参照)。次に、変化(例えばこの事例ではアクティビティの増加)が定量化され、ドキュメント化され、記録され得る(NICアクティビティ及びCPUアクティビティについて806及び810をそれぞれ参照)。よって、システムは、各攻撃に関するNICアクティビティメトリック増加及びCPUアクティビティメトリック増加を記録し得る(812を参照)。次に、これらのシステムパラメータと攻撃との相関関係から、Nmap攻撃シグネチャ及びNessus攻撃シグネチャが開発され得、これらは次に、パフォーマンスを改善するために経時的にテストされ更新され得る(814を参照)。攻撃シグネチャは、Nmap攻撃及び/またはNessus攻撃を示すことが判明したNICアクティビティ及びCPUアクティビティの特徴及び特徴値に基づき得る。例えば、特徴及び特徴値には、1秒あたりのプロセス切り替えに関するアクティビティの増加(該当する場合、Nmap攻撃及びNessus攻撃の時間に相関する(816に図示))を表す特徴及び特徴値、ならびに、1秒あたりのプロセス割り込みに関するアクティビティの増加(該当する場合、Nmap攻撃及びNessus攻撃の時間に相関する(818に図示))を表す特徴及び特徴値が含まれ得、シグネチャは、このような増加の閾値、ならびにこのようなアクティビティのタイムウィンドウを含み得、これには、システムパフォーマンスデータで観察された他の測定アクティビティに関するタイミングも含まれる。別の例示的な実施形態では、攻撃シグネチャは、その特徴及び特徴値が攻撃パターンとマッチングするかどうかを判定するために、どのようにシステムパフォーマンスデータをテストできるかを定義するアルゴリズムにより、表され得る。攻撃シグネチャの開発が一旦終わると、攻撃シグネチャは、攻撃監視アプリケーションの侵入検出ダッシュボードに挿入され得る(820を参照)。その後、この攻撃シグネチャは、RHELシステムへの新たな攻撃に対してテストされ(ステップ822)、この攻撃シグネチャが既知の攻撃の検出においてどの程度良く機能するかが評価され得る(ステップ824)。実施者により定義されたパフォーマンスメトリックに従って、攻撃シグネチャが適切に良く機能する場合には、攻撃シグネチャが運用で使用されるように配備され得る(ステップ826)。例えば、定義されたパフォーマンスメトリックは、ステップ822及び824において、高い精度(例えば90%、95%、100%など)で攻撃を正確に検出することを要求し得る。ステップ822及び824が適切な結果を生み出さなかった場合(既知の攻撃の検出に失敗するなど(828を参照))、システムは、適切に良く機能する攻撃シグネチャが開発されるまで、シグネチャを反復的に調整し得る(830を参照)。
【0072】
図9は、ベースライン収集と攻撃収集を、攻撃シグネチャ生成と共に組み合わせた全体のプロセスフローを示し、テストに成功した攻撃シグネチャは、運用で検出を行うように配備され得る。
【0073】
図10は、攻撃のテスト対象である運用RHELホストシステムからシステムパフォーマンスデータを収集するための別のプロセスフローを示す。このプロセスフローにより、
図2及び
図3に関連して上記で論述されたテストシステムパフォーマンスデータが生成される。
図10のステップ1002、1004、1006、1008、1010、1012、1014、及び1016は、概して、
図4のステップ402、404、406、408、410、412、414、及び416にそれぞれ該当するが、RHELシステムは、運用システムであり、これは、
図8Bのステップ826の結果により配備された運用攻撃シグネチャに基づいて、サイバー攻撃監視が行われる。
【0074】
図11は、テスト対象のRHELホストシステムがNmapスキャン及びNessusスキャンにより攻撃されたとき(及びRHELホストシステムがパフォーマンスを監視するためにNmonアプリケーション、Collectlアプリケーション、及びMonitorixアプリケーションを実行していた間に)、Nmonアプリケーションを使用してテスト対象のRHELホストシステムからキャプチャされた、IBM Nmonアナライザからのプロットを示す。
図11のプロットは、RHELホストシステムのNICに特化した、キャプチャされたパフォーマンスデータを示し、スパイク1100、1102、及び1104は、イーサネットカード読み出しアクティビティの増加を示す。X軸は、時間を示し(各システムの10分間のテスト期間に等しく)、X軸は、アクティビティを示す。第1のスパイク1100は、Nmapスキャン時間に直接相関する。次に、約1分後に、他の2つの顕著なスパイク1102及び1104が存在し、これらは、Nessusスキャン開始時間に直接相関する。
【0075】
図12は、テスト対象のRHELホストシステムがNmapスキャン及びNessusスキャンにより攻撃されたとき(及びRHELホストシステムがパフォーマンスを監視するためにNmonアプリケーション、Collectlアプリケーション、及びMonitorixアプリケーションを実行していた間に)、Nmonアプリケーションを使用してテスト対象のRHELホストシステムからキャプチャされた、IBM Nmonアナライザからの別のプロットを示す。
図12のプロットは、
図11のプロットと同じ期間及び同じホストシステムを対象とするが、
図11のプロットは、1秒あたりの処理切り替えアクティビティ(プロセッサ割り込み)に関するテスト対象システムのCPUアクティビティに特化した、キャプチャされたパフォーマンスデータを示す。ボックス1200は、Nmapスキャン時間に相関する顕著なスパイク1202を囲む。ボックス1204は、約1分後、Nessusスキャン時間に相関する2つのスパイク1206及び1208を囲む。
【0076】
図13は、再テスト対象のRHELホストシステムがNmapスキャン及びNessusスキャンにより攻撃されたとき(及びRHELホストシステムがパフォーマンスを監視するためにNmonアプリケーションのみを実行していた間に)、Nmonアプリケーションを使用して再テスト対象のRHELホストシステムからキャプチャされた、IBM Nmonアナライザからのプロットを示す。
図13のプロットは、RHELホストシステムのNICに特化した、キャプチャされたパフォーマンスデータを示し、スパイク1300、1302、及び1304は、イーサネットカード読み出しアクティビティの増加を示す。X軸は、時間を示し(各システムの10分間のテスト期間に等しく)、X軸は、アクティビティを示す。第1のスパイク1300は、Nmapスキャン時間に相関する。次に、約1分後に、他の2つの顕著なスパイク1302及び1304が存在し、これらは、Nessusスキャン開始時間に直接相関する。
【0077】
図14は、
図13の再テスト対象のRHELホストシステムがNmapスキャン及びNessusスキャンにより攻撃されたとき(及びRHELホストシステムがパフォーマンスを監視するためにNmonアプリケーションのみを実行していた間に)、Nmonアプリケーションを使用して再テスト対象のRHELホストシステムからキャプチャされた、IBM Nmonアナライザからの別のプロットを示す。
図14のプロットは、
図13のプロットと同じ期間及び同じホストシステムを対象とするが、
図14のプロットは、1秒あたりの処理切り替えアクティビティ(プロセッサ割り込み)に関するテスト対象システムのCPUアクティビティに特化した、キャプチャされたパフォーマンスデータを示す。ボックス1400は、Nmapスキャン時間に相関する顕著なスパイク1402を囲む。ボックス1404は、約1分後、Nessusスキャン時間に相関する2つのスパイク1406及び1408を囲む。
【0078】
図11~
図14のプロットに反映されたように、イーサネットカード読み取りアクティビティ及び1秒あたりのプロセッサ切り替えアクティビティに関するNmonデータで、このような顕著かつ肯定的な増加を示したシステムは、分析中にテスト陽性とマークされ得る。
【0079】
図15は、攻撃されたRHELホストシステムの再テスト中にキャプチャされた、Collectlのみのデータセットからのグラフを示し、プロットは、NIC及びCPU上のアクティビティに特化したものである(プロット1510によりネットワークパケットのインバウンドを示し、プロット1512によりCPUに対する1秒あたりのプロセッサ割り込みを示す)。依然として、X軸は、時間を示し、システムの10分間のテスト期間に等しく、Y軸は、アクティビティを示す。ボックス1500は、NICアクティビティの最初のスパイクを含み、Nmapスキャン時間に直接マッチングするプロセッサアクティビティのスパイクに相関する。ボックス1502は、NICアクティビティの次の2つのスパイクを含み、システムに対するNessusスキャン時間に関連したプロセッサアクティビティのスパイクに相関する。よって、これらのアクティビティで顕著な増加を示したシステムは、分析中にテスト陽性とマークされ得る。
【0080】
付録A:収集、テスト、及び評価手順の実施例
研究ベースラインシステム構成からフルクローンテストシステムを作成する。
・ORIGINAL RHEL BASELINE(オリジナルRHELベースライン)仮想マシンを選択して、ファイルメニューでVirtual Machine(仮想マシン)をクリックする。
・ドロップダウンメニューからCreate Full Clone(フルクローンの作成)を選択する。
・Save As: TEST_SYSTEM##(TEST_SYSTEM##として保存)で、Save(保存)をクリックする。
・クローンが完了したら、画面上のPlay(再生)アイコンをクリックして、ターゲットマシンを起動する。
【0081】
Kali Linux攻撃システムをブートする。
【0082】
Kali Linuxにログインし、Nessusを起動する。
・端末ウィンドウを開く:
・Nessusを開始する。
・/etc/init.d/nessusd start
【0083】
RHELターゲットテストシステムが実行されたら
・ターゲットテストシステムにログインする。
【0084】
Kali Linux攻撃システムの端末ウィンドウを開く。
・ifconfigコマンドを遂行して、攻撃システムIPアドレスを特定する。
【0085】
RHELターゲットテストシステムの端末ウィンドウを開く。
・ifconfigコマンドを遂行して、ターゲットシステムIPアドレスを特定する。
【0086】
Kali Linux攻撃システムの端末ウィンドウにおいて
・RHELターゲットIPアドレスへのpingコマンドを遂行して、システムへのネットワーク接続を検証する。
【0087】
RHELターゲットテストシステムの端末ウィンドウにおいて
・Kali Linux IPアドレスへのpingコマンドを遂行して、システムへのネットワーク接続を検証する。
【0088】
RHELターゲットシステム上で
・Monitorixを開始して、Firefoxでウェブページを開く。
・端末ウィンドウで、以下を入力する:
・Service monitorix start(サービスmonitorix開始) -> アドミニストレーションパスワードnimdanimdaを入力する。
・Firefoxウェブブラウザを開いて、以下を入力する:
・URL:Localhost:8080/monitorix
・ホスト名:localhost
・All graphs、Daily、OK(すべてのグラフ、毎日、OK)を選択する。
・Nmonを開始する。
・端末ウィンドウ開く。
・Nmonログのディレクトリを作成する。
・タイプ:sudo mkdir /home/nmon/testsys#_nmon(必要に応じてアドミンパスワードを入力する:nimdanimda)。
・Nmonを開始する。
・タイプ:sudo nmon ‐s 1 ‐c 600 ‐f ‐t ‐m /home/nmon/testsys#_nmon(必要に応じてアドミンパスワードを入力する:nimdanimda)。
・Collectlを開始する。
・タイプ:collect ‐scdimnt >> /home/admin/testsys#_collectl
【0089】
Kali Linux攻撃システム上で:
・端末ウィンドウを開く:
・RHELターゲットIPアドレスへのpingコマンドを遂行する。
・ping XXX.XXX.XXX.XXX
・RHELターゲットIPアドレスのNmapスキャンを遂行する。
・nmap ‐A ‐sV ‐O ‐v XXX.XXX.XXX.XXX
・RHELターゲットIPアドレスのNessusスキャンを実行する。
・Firefoxを開いてURLを入力する:
・ローカルホスト:8834
・ユーザ名及びパスワードでログインし、Scans(スキャン)を選択する。
・ターゲットシステムのIPアドレスを入力することにより、RHELターゲットシステム上でBasic Scan(基本スキャン)を実行する。
【0090】
RHELターゲットシステム上で10分間のログ収集時間の終了時
【0091】
RHELターゲットシステム上で
・Collectlを終了する。
・端末ウィンドウで、Ctrl-Cを押下する。
・FirefoxウェブブラウザからテキストアプリケーションへMonitorixデータをコピーする。
・MonitorixテキストファイルをHome¥Documentsフォルダに保存する。
・Collectl、Nmon、及びMonitorixのテキストファイルを収集して、格納のためにリムーバブル媒体にコピーする。
【0092】
よって、パフォーマンスデータは、監査ログ、ならびにMonitorix、Collectl、及びNmonを含むシステム監視アプリケーションを介して、収集され得る。収集されると、パフォーマンスデータは、分析のためにMicrosoft Excelスプレッドシートにインポートされる。この分析は、非危殆化状態ベースラインシステムから収集されたデータを、サイバー攻撃中に攻撃されたまたは危殆化状態システムから収集されたデータに対して比較することを含む。すべてのベースラインデータ及びテストデータは、Microsoft Excelのスプレッドシートにインポートされ、陽性的中率理論及び陰性的中率理論に対するグラフ比較及びロジスティック回帰分析のために、IBM SPSSを使用してプロット化される。IBM SPSS、Microsoft Excel、及びIBM Nmon分析アプリケーション内のグラフデータ及びプロットにより、非危殆化状態ベースラインシステムデータと、サイバー攻撃テスト中にキャプチャされた被攻撃状態及び危殆化状態システムデータとの調査及び視覚的比較が可能となる。IBM SPSS、Microsoft Excel、及びIBM Nmon分析アプリケーション内の視覚的比較及びグラフ比較、ならびにロジスティック回帰分析により、実施者は、リソース使用、タイミング、ビヘイビア、動作環境における、サイバー攻撃を示すパフォーマンスの急変動、急上昇、または異常を含み得る、可能性のあるホストレベルシステム変化のデータを、視覚的に調査することが可能となる。
【0093】
各システムからの変数(ホストシステムパラメータ)に特化したデータが収集され、非危殆化状態ベースラインシステムパフォーマンスデータ、テストシステムパフォーマンスデータ、及び再テストシステムパフォーマンスデータ、ならびに陽性的中率理論ベンチマーク及び陰性的中率理論ベンチマークに対して比較される。各システムの変数データは、収集されると、変数、ベースラインベンチマーク、テスト、再テスト、陽性的中率、及び陰性的中率の列に分けられる。
【0094】
変数列データは、行により以下のグループに分けられる。
・リソース使用:中央処理装置、電力、ランダムアクセスメモリ、ネットワークカード
・時間:各プロセスの経過時間
・ビヘイビア:中央処理装置、電力、ランダムアクセスメモリ、ネットワークカード、及びユーザ
・環境:ネットワークオブジェクトモデル環境及びコマンドラインインターフェース
【0095】
生データを調査することは、1つの変数が次の攻撃または危殆化状態システムをより良く示すかどうか、または変数が次のサイバーイベントを予測する値を有さないかどうか、を判定するのに役立つ。
【0096】
生パフォーマンスデータは、各ホストレベルシステムから収集され、各システムの監査ログ、ならびにMonitorixアプリケーション、Collectlアプリケーション、及びNmonアプリケーションからのパフォーマンスデータを含む。カンマ区切り(CSV)データが、Microsoft Excelスプレッドシートへ、各変数、イベント、アプリケーション、及びログに関連する列に、インポートされる。スプレッドシート内の各行は、各ホストレベルベースラインシステム及び各ホストレベル運用システムの収集データを含む。パフォーマンスデータを自動的にインポートできない場合は、実施者は、記録データをコピーして、Microsoft Excelスプレッドシートの正しいセルに貼り付けることにより、手動で入力することができる。データが正しくインポートされ、検証された後、Microsoft Excelスプレッドシートは、IBM SPSSソフトウェアにインポートされ、グラフ化、視覚化、分析、及び精査が行われる。
【0097】
グラフ比較、視覚化、及びロジスティック回帰分析により、実施者は、パフォーマンスデータを視覚的に検査し、ホストレベルシステム及び周辺機器におけるシステムリソース使用、タイミング、ビヘイビア、及び環境に生じるいずれの変化(パフォーマンスの急変動、急上昇、または異常)も認識することが可能となる。さらに、Nmonと、Collectlと、ホストレベルのシステムと、記録されたテストログとのタイムスタンプ相関関係を使用して、データ及び結果が三角測量され、サイバー攻撃に特化した陽性調査結果または偽陰性調査結果が検証され得る。また、タイムスタンプの三角測量を使用して、Microsoft Excel及びIBM Nmon分析ソフトウェア内のパフォーマンスデータが有効化及び検証され、すべての時間がホストレベルシステムログ及びサイバー攻撃時間に対応することが確保される。
【0098】
本発明は、その例示的な実施形態に関連して前述されたが、本発明の範囲内に依然として収まる様々な変更が、本発明に行われてもよい。例えば、所与のタイプのサイバー攻撃に関する攻撃シグネチャを開発するのではなく、代わりに、サイバー攻撃により危殆化されていないことが分かっているホストシステムから、本明細書で説明された技術を使用して、正常状態システムパフォーマンスデータを収集するように、システムが構成されてもよい。次に、システムは、テストシステムパフォーマンスデータを収集し得、このテストシステムパフォーマンスデータは、次に、正常状態システムパフォーマンスデータと統計的に比較され、何らかの異常が存在するかどうかが判定され得る。テストシステムパフォーマンスデータにおける異常の検出に応じて、これらの異常は、分離され、さらなる精査のためにシステム管理者または他のユーザにレポートされ得る。このアプローチは、上記で論述された攻撃シグネチャアプローチより高い偽陽性率を有すると予想されるが、本発明者は、依然として異常検出アプローチがユーザに価値を提供できると考えている。本発明に対するこれらの変更及び他の変更は、本明細書の教示を精査することで認識可能となる。
【国際調査報告】