(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-16
(45)【発行日】2024-07-24
(54)【発明の名称】SIEMルール・ソーティングおよび条件付き実行のためのシステムおよび方法
(51)【国際特許分類】
G06F 21/55 20130101AFI20240717BHJP
【FI】
G06F21/55 320
(21)【出願番号】P 2021560136
(86)(22)【出願日】2020-04-28
(86)【国際出願番号】 IB2020053997
(87)【国際公開番号】W WO2020240304
(87)【国際公開日】2020-12-03
【審査請求日】2023-04-24
(32)【優先日】2019-05-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521555742
【氏名又は名称】キンドリル・インク
【氏名又は名称原語表記】Kyndryl Inc.
【住所又は居所原語表記】One Vanderbilt Avenue,15th Floor,New York,New York 10017,USA
(74)【代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】シェイデラー、ティム
(72)【発明者】
【氏名】アドゥピラグアヴェンドラ、アージュン
(72)【発明者】
【氏名】リードマン、アイバン
(72)【発明者】
【氏名】スゥル、マティアス
【審査官】▲柳▼谷 侑
(56)【参考文献】
【文献】米国特許出願公開第2017/0187741(US,A1)
【文献】米国特許出願公開第2014/0096184(US,A1)
【文献】特開2000-174808(JP,A)
【文献】米国特許出願公開第2003/0051165(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
(57)【特許請求の範囲】
【請求項1】
受け取ったセキュリティ・イベントがオフェンスとみなされるかどうかを判定するためのルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理する方法であって、前記方法が、
ルールのルール索引を生成すること
を含み、前記ルールが、入来セキュリティ・イベントを受け取ったときに適用されるルールであり、前記方法がさらに、
前記ルールごとに侵害指標索引を生成すること
を含み、前記侵害指標索引のそれぞれのエントリが、セキュリティ・イベントの属性との比較に使用される指標値を含み、前記方法がさらに、
前記ルールを逐次的に適用することによって前記入来セキュリティ・イベントを処理すること
を含み、前記ルールを逐次的に適用することによって前記入来セキュリティ・イベントを処理することが、
ルール増加ステップにおいて、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する現在のルール・カウンタを増加させること、および
前記トリガされたルールに属する現在の侵害指標カウンタを増加させること
を含み、前記方法がさらに、
既知の攻撃および関連侵害指標に関する受け取ったデータから、擬似セキュリティ・イベントを生成すること、ならびに
前記ルールを逐次的に適用することによって前記擬似セキュリティ・イベントを処理すること、
を含み、前記擬似セキュリティ・イベントを処理することが、
そのルールの処理が前記オフェンスをトリガした前記トリガされたルールに関係する擬似セキュリティ・イベントの現在のルール・カウンタを増加させること、および
前記トリガされたルールに属する擬似セキュリティ・イベントに対する現在の侵害指標カウンタを増加させること
を含み、前記方法がさらに、
前記ルール索引の中の前記ルールを、 対応するそれぞれの重み付けされたルール・カウンタ値に従ってソートすること、ならびに
それぞれのルール内で、前記侵害指標索引の中の前記侵害指標を、重み付けされた現在の侵害指標カウンタ値に従ってソートすること
を含む方法。
【請求項2】
前記ルールを前記ソートすることが、
前記ルールの重み付けされた過去のルール・カウンタ値と重み付けされた現在のルール・カウンタ値とを組み合わせることによって、前記重み付けされたルール・カウンタ値を決定すること
をさらに含む、請求項1に記載の方法。
【請求項3】
それぞれのルール内で前記侵害指標を前記ソートすることが、
対応するそれぞれの前記侵害指標の重み付けされた過去の侵害指標カウンタ値と重み付けされた現在の侵害指標カウンタ値とを組み合わせることによって、前記重み付けされた侵害指標カウンタ値を決定すること
をさらに含む、請求項1または2に記載の方法。
【請求項4】
前記ルール増加ステップが、
前記現在のルール・カウンタを、固定された数だけ、または前記オフェンスの重大度を示す数だけ増加させること
をさらに含む、請求項1ないし3のいずれかに記載の方法。
【請求項5】
前記現在の侵害指標カウンタを前記増加させることが、
前記現在の侵害指標カウンタを、固定された数だけ増加させること
をさらに含む、請求項1ないし4のいずれかに記載の方法。
【請求項6】
前記擬似セキュリティ・イベントを前記生成することが、
既知の攻撃に関する前記受け取ったデータからの戦法-技術-手順(TTP)識別データを適用することを含み、既知の攻撃に関する前記受け取ったデータが、脅威情報構造化記述形式(STIX)プロトコルを介して受け取られる、
請求項1ないし5のいずれかに記載の方法。
【請求項7】
前記擬似セキュリティ・イベントを前記生成することが、
攻撃パターンによって表現された部分サイバー攻撃のシーケンスのフェーズごとに擬似セキュリティ・イベントを生成すること
を含む、請求項1ないし6のいずれかに記載の方法。
【請求項8】
前記擬似セキュリティ・イベントを前記生成することが、
対応するそれぞれのルールに関係する侵害指標ごとに擬似セキュリティ・イベントを生成すること
を含む、請求項1ないし7のいずれかに記載の方法。
【請求項9】
擬似セキュリティ・イベントを前記生成することが、
擬似セキュリティ・イベントの前記現在のルール・カウンタをゼロにリセットすること、および
擬似セキュリティ・イベントに対する前記現在の侵害指標カウンタをゼロにリセットすること
をさらに含む、請求項1ないし8のいずれかに記載の方法。
【請求項10】
前記ルール索引の中の前記ルールを前記ソートすることが、
前記重み付けされたルール・カウンタRCwを、
RCw=P×過去のルール・カウンタ+(w1×観察されたイベント)+(w2×擬似セキュリティ・イベント)
によって決定することを含み、上式で、P=予め定められた百分率値、w1、w2=予め定められた重み付け係数値である、
請求項1ないし9のいずれかに記載の方法。
【請求項11】
所定の第1の数のルールが処理され、処理されたそれぞれのルール内で、所定の第2の数の侵害指標カウンタ・グループが処理された後に、前記入来セキュリティ・イベントをバッファに入れること、および
入来セキュリティ・イベントの処理負荷が、予め定められた負荷しきい値よりも低下した場合に、バッファに入れられた前記セキュリティ・イベントの前記処理を継続すること
をさらに含む、請求項1ないし10のいずれかに記載の方法。
【請求項12】
受け取ったセキュリティ・イベントがオフェンスとみなされるかどうかを判定するためのルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理するSIEMシステムであって、前記システムが、
ルールのルール索引を生成するように適合された第1の生成ユニット
を備え、前記ルールが、入来セキュリティ・イベントを受け取ったときに適用されるルールであり、前記第1の生成ユニットがさらに、前記ルールごとに侵害指標索引を生成するように適合されており、前記侵害指標索引のそれぞれのエントリが、セキュリティ・イベントの属性との比較に使用される指標値を含み、前記システムがさらに、
前記ルールを逐次的に適用することによって前記入来セキュリティ・イベントを処理するように適合された相関エンジンと、
そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する現在のルール・カウンタを増加させるように適合された増加モジュールであり、前記トリガされたルールに属する現在の侵害指標カウンタを増加させるようにさらに適合された前記増加モジュールと、
既知の攻撃および関連侵害指標に関する受け取ったデータから、擬似セキュリティ・イベントを生成するように適合された第2の生成ユニットと
を備え、前記相関エンジンが、前記ルールを逐次的に適用することによって前記擬似セキュリティ・イベントを処理するようにさらに適合されており、前記処理が、
擬似セキュリティ・イベント・カウンタ・モジュールによって、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する擬似セキュリティ・イベントの現在のルール・カウンタを増加させること、および
擬似セキュリティ・イベントに対する侵害指標に対するカウンタによって、前記トリガされたルールに属する擬似セキュリティ・イベントに対する現在の侵害指標カウンタを増加させること
を含み、前記システムがさらに、
前記ルール索引の中の前記ルールを、対応するそれぞれの重み付けされたルール・カウンタ値に従ってソートするように適合されたソーティング・モジュールであり、それぞれのルール内で、前記侵害指標索引の中の前記侵害指標を、重み付けされた侵害指標カウンタ値に従ってソートするようにさらに適合された前記ソーティング・モジュール
を備えるシステム。
【請求項13】
前記ソーティング・モジュールが、前記ルールの重み付けされた過去のルール・カウンタと重み付けされた現在のルール・カウンタとを組み合わせることによって、前記重み付けされたルール・カウンタ値を決定するようにさらに適合された、請求項12に記載のシステム。
【請求項14】
前記ソーティング・モジュールが、対応するそれぞれの前記指標値の重み付けされた過去の侵害指標カウンタと重み付けされた現在の侵害指標カウンタとを組み合わせることによって、前記重み付けされた侵害指標カウンタ値を決定するようにさらに適合された、請求項12または13のいずれかに記載のシステム。
【請求項15】
前記増加モジュールが、前記現在のルール・カウンタを、固定された数だけ、または前記オフェンスの重大度を示す数だけ増加させるようにさらに適合された、請求項12ないし14のいずれかに記載のシステム。
【請求項16】
前記増加モジュールが、前記現在の侵害指標カウンタを、固定された数だけ増加させるようにさらに適合された、請求項12ないし15のいずれかに記載のシステム。
【請求項17】
前記第2の生成ユニットが、既知の攻撃に関する前記受け取ったデータからの戦法-技術-手順(TTP)識別データを適用するようにさらに適合されており、既知の攻撃に関する前記受け取ったデータが、脅威情報構造化記述形式(STIX)プロトコルを介して受け取られる、請求項12ないし16のいずれかに記載のシステム。
【請求項18】
前記第2の生成ユニットが、攻撃パターンによって表現された部分サイバー攻撃のシーケンスのフェーズごとに擬似セキュリティ・イベントを生成するようにさらに適合された、請求項12ないし17のいずれかに記載のシステム。
【請求項19】
前記第2の生成ユニットが、対応するそれぞれのルールに関係する侵害指標ごとに擬似セキュリティ・イベントを生成するようにさらに適合された、請求項12ないし18のいずれかに記載のシステム。
【請求項20】
前記第2の生成ユニットが、擬似セキュリティ・イベントの前記現在のルール・カウンタをゼロにリセットし、擬似セキュリティ・イベントに対する前記現在の侵害指標カウンタをゼロにリセットするようにさらに適合された、請求項12ないし19のいずれかに記載のシステム。
【請求項21】
前記ソーティング・モジュールが、前記重み付けされたルール・カウンタRCwを、
RCw=P×過去のルール・カウンタ+(w1×観察されたイベント)+(w2×擬似セキュリティ・イベント)
によって決定するようにさらに適合されており、上式で、P=予め定められた百分率値、w1、w2=予め定められた重み付け係数値である、
請求項12ないし20のいずれかに記載のシステム。
【請求項22】
所定の第1の数のルールが処理され、処理されたそれぞれのルール内で、所定の第2の数の指標値グループが処理された後に、前記入来セキュリティ・イベントをバッファに入れるように適合された中間ストレージであり、入来セキュリティ・イベントの処理負荷が、予め定められた負荷しきい値よりも低下したときに、バッファに入れられた前記セキュリティ・イベントの前記処理の継続をトリガするようにさらに適合された前記中間ストレージ
をさらに備える、請求項12ないし21のいずれかに記載のシステム。
【請求項23】
受け取ったセキュリティ・イベントがオフェンスとみなされるかどうかを判定するためのルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理するコンピュータ・プログラ
ムであって、前記コンピュータ・プログラ
ムが、
1つまたは複数のコンピュータ可読の有形ストレージ媒体と、前記1つまたは複数の有形ストレージ媒体のうちの少なくとも1つの有形ストレージ媒体に記憶されたプログラム命令とを含み、前記プログラム命令がプロセッサによって実行可能であり、前記プログラム命令が、
ルールのルール索引を生成するためのプログラム命令であり、前記ルールが、入来セキュリティ・イベントを受け取ったときに適用されるルールである、前記プログラム命令と、
前記ルールごとに侵害指標索引を生成するためのプログラム命令であり、前記侵害指標索引のそれぞれのエントリが、セキュリティ・イベントの属性との比較に使用される指標値を含む、前記プログラム命令と、
前記ルールを逐次的に適用することによって前記入来セキュリティ・イベントを処理するためのプログラム命令と、
そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する現在のルール・カウンタを増加させるためのプログラム命令と、
前記トリガされたルールに属する現在の侵害指標カウンタを増加させるためのプログラム命令と、
既知の攻撃および関連侵害指標に関する受け取ったデータから、擬似セキュリティ・イベントを生成するためのプログラム命令と、
前記ルールを逐次的に適用することによって前記擬似セキュリティ・イベントを処理するためのプログラム命令と
を含み、前記処理が、
そのルールの処理が前記オフェンスをトリガした前記トリガされたルールに関係する擬似セキュリティ・イベントの現在のルール・カウンタを増加させるためのプログラム命令と、
前記トリガされたルールに属する擬似セキュリティ・イベントに対する現在の侵害指標カウンタを増加させるためのプログラム命令と
を含み、前記プログラム命令がさらに、
前記ルール索引の中の前記ルールを、対応するそれぞれの重み付けされたルール・カウンタ値に従ってソートするためのプログラム命令と、
それぞれのルール内で、前記侵害指標索引の中の前記侵害指標を、重み付けされた侵害指標カウンタ値に従ってソートするためのプログラム命令と
を含む、コンピュータ・プログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般にセキュリティ情報およびイベント管理(Security Information and Event Management)(以後「SIEM」)に関し、詳細には、ルール・ベースの警報体系(rule-based alarm scheme)を適用することによってセキュリティ・イベントを処理する方法、ルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理する関連SIEMシステム、およびコンピュータ・プログラム製品に関する。
【背景技術】
【0002】
情報技術(以降「IT」)セキュリティは、企業のIT担当幹部の最優先課題である。使用可能な最新のセキュリティ情報およびイベント監視(Security Information and Event Monitoring)(以後「SIEM」)ソリューションでは、結果的に組織に影響を与えるセキュリティ・インシデント(security incident)につながる可能性がある潜在的なセキュリティ脅威(security threat)を効果的に識別および検出するために、一組の複雑な相関ルールを、手動で展開、監視および調整する必要がある。
【0003】
SIEM相関ルール・エンジンは普通、一組の条件を整合させるため、および取り入れられる大量のセキュリティ・イベントを考慮してリアルタイムで評価されるために比較演算、フィルタおよびしきい値を使用する相関ルールとして、大きなシステム・リソース消費(CPUおよびメモリ)を必要とする。
【0004】
典型的な企業IT環境においてセキュリティ・ソリューションおよびデバイスによって生み出されるセキュリティ・イベントおよびログは平均して、1,000イベント毎秒(event per second)(以後「EPS」)から100,000EPSの間であることがあり、それらのセキュリティ・イベントおよびログを、平均約100~400個の異なるルールからなるルール・セットを横切って相関させる必要があることがある。したがって、伝統的なSIEM技術の大部分は、コンピューティング・システム上で重い負荷を生み出す。
【0005】
セキュリティ・イベント(例えばログ・エントリ(log entry))は静的(static)ルール・セットによって解析される。静的は、ルールが人間によって開発され、固定された順序で配列されていることを意味する。それぞれのイベントは、セキュリティ・インシデントを引き起こすことなしに全てのルールを通過することによって、またはルールがセキュリティ・インシデント(オフェンス(offense)としても知られている)を生成するまで、ルール・セットを通過する。ルールがセキュリティ・インシデントを生成すると、それ以降は、セキュリティ・インシデントがさらに強化され、処理されるため、この特定のイベントのさらなる処理は通常、もはや不要になる。
【0006】
侵害指標(Indicator of Compromise)(以後「IoC」)の長いリスト、例えば悪意あるインターネット・プロトコル(以後「IP」)アドレスのリストを取り扱うときには、オフェンスが生成されるまでに、多くの条件を有する多くのルール、すなわち必要な大量の比較演算を評価しければならない。その結果、静的IoCリストを有するルールが静的順序で処理される場合に、計算リソースが無駄になることがある。例えば、経験豊富なハッカーが多くのおとりイベントをSIEMシステムに送り込んだ場合には、重要なイベントの処理が遅れることがある。
【0007】
ルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理する方法に関してはいくつかの開示が存在する。
【0008】
知られている技術および上に概要を示した課題を考慮すれば、より少ない計算労力を必要とするセキュリティ・インシデントを生成し、同時にセキュリティ攻撃の検出率を高める新たな手法が必要である可能性がある。
【発明の概要】
【0009】
本発明の一態様によれば、ルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理する方法を提供することができる。この方法は、ルールのルール索引(rule index)を生成することを含むことができ、このルールは、入来セキュリティ・イベント(incoming security event)を受け取ったときに適用されるルールであり、この方法はさらに、ルールごとに侵害指標索引を生成することを含むことができ、この侵害指標索引のそれぞれのエントリは、セキュリティ・イベントの属性との比較に使用される指標値を含み、この方法はさらに、ルールを逐次的に適用することによって入来セキュリティ・イベントを処理することを含むことができる。
【0010】
この方法は、ルール増加ステップ(rule incrementation step)において、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する現在のルール・カウンタを増加させること、およびトリガされたルールに属する現在の侵害指標カウンタを増加させることをさらに含むことができる。
【0011】
さらに、この方法は、既知の攻撃および関連侵害指標に関する受け取ったデータから、擬似セキュリティ・イベントを生成すること、およびルールを逐次的に適用することによって擬似セキュリティ・イベントを処理することを含むことができ、この処理は、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する擬似セキュリティ・イベントの現在のルール・カウンタを増加させること、およびトリガされたルールに属する擬似セキュリティ・イベントに対する現在の侵害指標カウンタを増加させることを含む。
【0012】
この方法は、ルール索引の中のルールを、対応するそれぞれの重み付けされたルール・カウンタ値に従ってソートすること、およびそれぞれのルール内で、侵害指標索引の中の侵害指標を、重み付けされた現在の侵害指標カウンタ値に従ってソートすることを含むことができる。
【0013】
本発明の別の態様によれば、ルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理するセキュリティ情報およびイベント監視(以後「SIEM」)システムを提供することができる。このシステムは、ルールのルール索引を生成するように適合された第1の生成ユニットを含むことができ、このルールは、入来セキュリティ・イベントを受け取ったときに適用されるルールであり、第1の生成ユニットはさらに、ルールごとに侵害指標索引を生成するように適合されている。侵害指標索引のそれぞれのエントリは、セキュリティ・イベントの属性との比較に使用される指標値を含むことができる。このSIEMシステムはさらに、ルールを逐次的に適用することによって入来セキュリティ・イベントを処理するように適合された相関エンジンと、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する現在のルール・カウンタを増加させるように適合された増加モジュール(increment module)であり、トリガされたルールに属する現在の侵害指標カウンタを増加させるようにさらに適合された増加モジュールとを含むことができる。
【0014】
このSIEMシステムはさらに、既知の攻撃および関連侵害指標に関する受け取ったデータから、擬似セキュリティ・イベントを生成するように適合された第2の生成ユニットを含むことができ、相関エンジンはさらに、ルールを逐次的に適用することによって擬似セキュリティ・イベントを処理するように適合されており、この処理は、擬似セキュリティ・イベント・カウンタ・モジュールによって、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する擬似セキュリティ・イベントの現在のルール・カウンタを増加させること、および擬似セキュリティ・イベントに対する侵害指標に対するカウンタによって、トリガされたルールに属する擬似セキュリティ・イベントに対する現在の侵害指標カウンタを増加させることを含む。
【0015】
さらなるユニットとして、このSIEMシステムは、ルール索引の中のルールを、対応するそれぞれの重み付けされたルール・カウンタ値に従ってソートするように適合されたソーティング・モジュールであり、それぞれのルール内で、侵害指標索引の中の侵害指標を、重み付けされた現在の侵害指標カウンタ値に従ってソートするようにさらに適合されたソーティング・モジュールを含むことができる。
【0016】
ルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理する提案された方法は、多数の利点および技術的効果を提供することができる。
【0017】
提案された方法は、処理されるイベントの量および検出頻度に関して、SIEMソリューションの能力を増大させることができる。セキュリティ・イベントの一種であるオフェンスをより迅速にかつより効率的に生成することによって、使用可能なコンピューティング・リソースをより効率的に使用することができる。
【0018】
固定された一組の侵害指標をそれぞれのルールが含むことがある固定された一組のルールにそれぞれの入来イベントを通す代わりに、この方法は、より頻繁にオフェンスを生成しているルールがルール・セットの中の前の方に移動されるようなやり方で、それらのルールを動的にソートすることができる。イベントからオフェンスが生成された後、そのイベントのさらなる処理はもはや必要ないとみなすことができ、したがって、このソリューションは、できるだけ少ない比較演算で、すなわちできるだけ少ないコンピューティング・リソースでオフェンスをトリガすることを目指している。
【0019】
ルールに対してオフェンスをトリガする可能性を評価するため、2つの態様を考えることができる。第1の態様は、最近の所与の一組のイベントに対してそのルールがトリガしたオフェンスの量であり、第2の態様は、現在進行中のセキュリティ攻撃活動(security attack campaign)によって、基礎をなすシステムが攻撃された場合にルールが生成するであろうオフェンスの量である。
【0020】
さらに、同様のやり方で、侵害指標に優先順位を付けることもできる。すなわち、イベント属性を最も悪名高い侵害指標と比較してから、悪名高さに劣る侵害指標と比較することで、侵害指標に優先順位を付けることができる。この手法は、必要なコンピューティング・リソースを節約することができる。
【0021】
提案されたこのSIEM手法による最適化は、入来セキュリティ・イベントを主に、ルールのサブセットだけによって処理し、イベント属性を、侵害指標のサブセットだけによって比較することによって得ることができる。このソリューションは、伝統的なソリューションとは対照的である。伝統的なソリューションでは、入来セキュリティ・イベントがバッファに入れられ、それらの入来セキュリティ・イベントが、全ての既知のルールを適用することによって処理される。イベントもしくは関連属性またはその両方が、ルール・セット全体に対して処理された後に限り、次の入来セキュリティ・イベントを取り扱うことができる。したがって、多くの重要でないイベントが処理されている間、重要なイベントが、長期間、待ち行列に入れられることがある。
【0022】
したがって、提案されたソリューションは、極めてまれにオフェンスをトリガするルールの実行を延期することを可能にする一組の中間バッファを提案し、同じ所与の時間内に、頻繁にオフェンスを生成しているルールによって、より多くのイベントを処理することを可能にしている。特に攻撃シナリオでは、提案された方法が、おとりイベントにあまりに多くのリソースを費やすことを回避することにより、重要なイベントの認識を遅れさせることを予防的に防ぐ。
【0023】
以下では、本発明の着想の追加の実施形態を説明する。
【0024】
この方法の好ましい一実施形態によれば、ルールをソートすることは、ルールの重み付けされた過去のルール・カウンタ値と重み付けされた現在のルール・カウンタ値とを組み合わせることによって、特にこれらを加算することによって、重み付けされたルール・カウンタ値を決定することをさらに含むことができる。このようにすると、最近のイベントを処理に反映することができるだけでなく、過去に起こったイベントも処理に反映することができる。重み付け係数(weighing factor)を適用することにより、特定の実施態様に応じて、過去のイベントおよび現在のイベントの重要性を調整することができる。
【0025】
この方法の好ましい別の実施形態によれば、それぞれのルール内で侵害指標をソートすることは、対応するそれぞれの侵害指標の重み付けされた過去のIoCカウンタ値と重み付けされた現在の侵害指標(以後「IoC」)カウンタ値とを組み合わせることによって、特にこれらを加算することによって、重み付けされた侵害指標カウンタ値を決定することをさらに含む。このように、過去のイベントと現在のイベントとの間の重み付けに適用されるルールに関する原理を、侵害指標にも、対応するやり方で適用することができる。
【0026】
この方法の有用な一実施形態によれば、ルール増加ステップは、現在のルール・カウンタを、固定された数だけ、例えば「1」だけ、またはオフェンスの重大度(severity)を示す数だけ増加させることをさらに含むことができる。さらに、この特徴は、基礎をなすSIEMシステムを実際の攻撃パターンに対して調整することおよび適合させることを支援することができる。
【0027】
この方法の有用な別の実施形態によれば、現在の侵害指標カウンタを増加させることは、現在の侵害指標カウンタを、固定された数だけ、例えば「1」だけ増加させることをさらに含むことができる。現在の侵害指標カウンタを、特定のルール内の侵害指標の値の重要性に応じて別の数だけ、例えば1よりも大きな数だけ増大させることが可能なこともある。
【0028】
この方法の有利な一実施形態によれば、擬似セキュリティ・イベントを生成することは、既知の攻撃に関する受け取ったデータからの戦術-技術-手順(tactic-technique-procedure)(以後「TTP」)情報識別データを適用することを含むことができ、既知の攻撃に関する受け取ったデータは、脅威情報構造化記述形式(structured threat information expression)(以後STIX)プロトコルを介して受け取られる。このようにすると、セキュリティ攻撃が起こる前にSIEMシステムに訓練を施すように、SIEMシステムに既知のセキュリティの脅威を分配することができる。これを、SIEMシステムの予防接種になぞらえることができる。このように、SIEMシステムのルール・セット内において、最近の最も重要なセキュリティ攻撃のランクをより高くすることができる。このようにすると、セキュリティ攻撃をより速く検出することができ、その結果、攻撃を識別するのに必要なコンピューティング・リソースがより少なくてすむ。
【0029】
この方法の有利なさらなる実施形態によれば、擬似セキュリティ・イベントを生成することは、攻撃パターンによって表現された部分サイバー攻撃のシーケンスのフェーズごとに擬似セキュリティ・イベントを生成することを含むことができる。これは、セキュリティ攻撃チェーンまたはシーケンス(サイバー・キル・チェーン(cyber kill chain)としても知られている)の異なるフェーズをそれぞれの擬似セキュリティ・イベントが対象とする、擬似セキュリティ・イベントのシーケンスを生成することを含むことができる。
【0030】
この方法の任意選択の実施形態によれば、擬似セキュリティ・イベントを生成することは、対応するそれぞれのルールに関係する侵害指標ごとに擬似セキュリティ・イベントを生成することをさらに含むことができる。このように、ある種のセキュリティ攻撃に対してSIEMルールをより用心深くするために使用される原理を、所与のルール内の侵害指標に適用することもできる。
【0031】
この方法のさらに好ましい実施形態によれば、擬似セキュリティ・イベントを生成することは、擬似セキュリティ・イベントの現在のルール・カウンタをゼロにリセットすること、および擬似セキュリティ・イベントに対する現在の侵害指標カウンタをゼロにリセットすることをさらに含むことができる。ソーティングは、定期的に、または別のやり方でスケジュールされて実行されることがあるため、擬似セキュリティ・イベントのカウンタをゼロにセットすることは、ソーティングが開始されたときに現在のカウンタを過去のカウンタに加算する簡単な手法を表すことがある。次いで、現在のカウンタは、識別および処理されたセキュリティ脅威に従ってそれらのカウンタの値を増加させるように始動することができる。
【0032】
方法の許容される一実施形態によれば、ルール索引の中のルールをソートすることは、重み付けされたルール・カウンタRCwを、
RCw=P×過去のルール・カウンタ+(w1×観察されたイベント)+(w2×擬似セキュリティ・イベント)
によって決定することを含むことができ、上式で、P=予め定められた百分率値、w1、w2=予め定められた重み付け係数値である。同じ原理を、現在のIoCカウンタと過去のIoCカウンタの両方に適用することができる。
【0033】
さらに有利な実施形態によれば、この方法は、所定の第1の数のルールが処理され、処理されたそれぞれのルール内で、所定の第2の数の指標値グループが処理された後に、入来セキュリティ・イベントをバッファに入れること、および入来セキュリティ・イベントの処理負荷が、予め定められた負荷しきい値よりも低下した可能性がある場合に、バッファに入れられたセキュリティ・イベントの処理を継続することをさらに含むことができる。
【0034】
このようにすると、この方法もしくは関連SIEMシステムまたはその両方によって生成される対応するそれぞれの計算負荷を、最も重要なセキュリティ脅威、すなわち入来セキュリティ・イベントに集中させることができる。ルールの索引の中のランクがあまり高くないルールは、後刻に予備のコンピューティング容量が使用可能になったときに処理することができる。
【0035】
さらに、実施形態は、コンピュータもしくは命令実行システムによって使用されるプログラム・コードまたはコンピュータもしくは命令実行システムとともに使用されるプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能な関連コンピュータ・プログラム製品の形態をとることができる。この説明の目的上、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置もしくはデバイスによって使用されるプログラムまたは命令実行システム、装置もしくはデバイスとともに使用されるプログラムを記憶、通信、伝搬または輸送するための手段を含む任意の装置とすることができる。
【0036】
本発明のこれらの目的、特徴および利点ならびにその他の目的、特徴および利点は、本発明の例示的な実施形態の以下の詳細な説明から明らかとなろう。以下の詳細な説明は、添付図面とともに読むべきである。図解は、当業者が、詳細な説明を参照して本発明を理解することを容易にする際に分かり易くするためのものであるため、図のさまざまな特徴は一定の倍率では描かれていない。
【0037】
次に、以下の図面を参照して、本発明の好ましい実施形態を、単なる例として説明する。
【図面の簡単な説明】
【0038】
【
図1】ルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理する本発明の方法の一実施形態のブロック図である。
【
図2】一実施形態による、セキュリティ・イベント・ルールの属性値と関連侵害指標との比較のブロック図である。
【
図3】一実施形態による、ルールの体系、IoCのグループおよびバッファの一実施形態のブロック図である。
【
図4】一実施形態による、ルール・カウンタおよび侵害指標(以降「IoC」)カウンタの例示的な結果を示す図である。
【
図5】一実施形態による、ルール・カウンタおよびIoCカウンタの例示的な結果を、リソース割振りととともに示す図である。
【
図6】一実施形態による、ルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理する本発明のセキュリティ情報およびイベント監視(以後「SIEM」)システムのブロック図の一実施形態を示す図である。
【
図7】一実施形態による、
図6によるSIEMシステムを含むコンピューティング・システムの一実施形態を示す図である。
【
図8】本発明の一実施形態による、クラウド・コンピューティング環境を示す図である。
【
図9】本発明の一実施形態による、抽象化モデル層を示す図である。
【発明を実施するための形態】
【0039】
本発明の実施形態は異なる主題に関して記載されていることに留意すべきである。具体的には、一部の実施形態は方法型クレームに関して記載されており、他の実施形態は装置型クレームに関して記載されている。しかしながら、上記の説明および以下の説明から、当業者は、そうではないと記載されていない限り、1つの型の主題に属する特徴の任意の組合せに加えて、異なる主題に関係する特徴間の任意の組合せ、具体的には方法型クレームの特徴と装置型クレームの特徴との間の任意の組合せも、本明細書に開示されているとみなされることを理解するであろう。
【0040】
本発明の上に規定された態様および本発明のさらなる態様は、以下に記載される実施形態の例から明らかであり、それらの例は、実施形態の例を参照して説明される。しかしながら、本発明は、それらの例に限定されない。
【0041】
本明細書には、特許請求の範囲に記載された構造体および方法の詳細な実施形態が開示されている。しかしながら、開示された実施形態は、さまざまな形態で実施することができる特許請求の範囲に記載された構造体および方法の単なる例であることを理解することができる。しかしながら、本発明は多くの異なる形態で実施することができるのであって、本発明が、本明細書に説明された例示的な実施形態に限定されると解釈すべきではない。この説明では、示された実施形態を不必要に不明瞭にすることを避けるために、よく知られた特徴および技術の詳細が省かれていることがある。
【0042】
本発明の実施形態は、セキュリティ情報およびイベント管理(以後「SIEM」)の分野に関し、より詳細には、ルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理する方法、ルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理する関連SIEMシステム、およびコンピュータ・プログラム製品に関する。
【0043】
この説明の文脈では、以下の取り決め、用語もしくは表現またはそれらの組合せが使用されることがある。
【0044】
用語「セキュリティ・イベント」は、他のシステムとのそれぞれのインタラクション(interaction)がその中に記録されていることがあるセキュリティ・ログ・システムの中のエントリを意味することがある。セキュリティ・イベントは、少し例を挙げれば、限定はされないが、電子メール、ストレージ・システム・アクセス、ハイパー・テキスト・トランスファ・プロトコル(以後「HTTP」)リクエスト、ソーシャル・メディア・システムのメッセージ、データベース・リクエストなど、複数の外観を有することがある。
【0045】
用語「セキュリティ脅威」は、脆弱性を利用して、情報技術システムのセキュリティを突破し、したがって可能な危害を生じさせる可能性がある可能な危険を意味することがある。この用語は、コンピュータ・セキュリティの技術分野に関係し、侵入者または侵入システムによる潜在的な攻撃、無許可アクセス、またはコンピュータもしくはストレージ・システム内のデータの潜在的な破壊もしくは操作、あるいはコンピュータ、ストレージまたは通信システムの制御の乗っ取りを記述する。セキュリティ脅威は通常、サイバー攻撃から始まる。
【0046】
用語「オフェンス」は、コンピューティング・システムもしくはネットワーク・システムまたはこれらの組合せ、および全てのストレージ・システムに対する潜在的な攻撃を意味することがある。オフェンスは、危険なパターンが識別された場合にSIEMシステムによって生成されることがある。オフェンスは、サイバーセキュリティ攻撃のチェーンのそれぞれのフェーズに関係することがある。
【0047】
用語「サイバー攻撃チェーン」は、コンピュータまたは同種のシステムに対するサブ攻撃のシーケンスを意味することがある。シーケンスのそれぞれのステージまたはフェーズは、直前のステージまたはフェーズに依存する。サイバー攻撃のシーケンスまたはチェーンの7つのステージを有する理論的モデルが存在し、18個のステージを有する理論的モデルも存在する。本明細書では、用語「部分サイバー攻撃のシーケンス」と用語「サイバー攻撃チェーン」とが同義語として使用されることがある。
【0048】
用語「ルールのルール索引」は、コンピューティング・システム、もしくはネットワーク、もしくはストレージ・システム、またはこれらの組合せに対する潜在的なサイバー攻撃を識別するためのルールのソートされたリストを意味することがあり、それぞれのルールは、特定の一組の侵害指標を有することがあり、その特定の一組の侵害指標はさらに、ソートされた関連リストの中で管理されることがある。ソートされたリスト内の優先順位は、情報技術(以後「IT」)セキュリティ防御プロバイダの信頼できるソース(source)から脅威情報構造化記述形式(以後「STIX」)プロトコルを介して、例えば戦術-技術-手順識別ルール(戦術-技術-手順(以後「TTP」))データを介して受け取った情報に基づいて、変更および更新することができる。
【0049】
用語「侵害指標」(IoC)は、コンピュータ・フォレンジック(forensic)およびITセキュリティにおいて、コンピュータ侵入を高い信頼度で示す、ネットワーク上またはオペレーティング・システム内で観察されたアーチファクトを意味することがある。典型的なIoCは、ウイルス・シグネチャ(virus signature)およびインターネット・プロトコル(以後「IP」)アドレス、マルウェア・ファイルのMD5ハッシュ、またはボットネット・コマンドおよび制御サーバのURLもしくはドメイン名である。インシデント応答およびコンピュータ・フォレンジックの過程でIoCが識別された後、それらのIoCを、侵入検出システムおよびアンチウイルス・ソフトウェアを使用した将来の攻撃の試みの早期検出に使用することができる。既知の指標は普通、業界内で交換される。
【0050】
用語「セキュリティ・イベントの属性」は、記録されたセキュリティ・イベントの要素を意味することがある。属性値は、送信者の電子メール・アドレスおよびIPアドレス、電子メールの件名、電子メールの本文の特定のテキスト・フラグメント、ならびに特定のデータベースへのアクセス、悪意ある添付ファイルのハッシュ値、ならびにセキュリティ・イベントの属性に関係する他の多くの値に関係していることがある。
【0051】
用語「擬似セキュリティ・イベント」は、SIEMシステムの外から来る将来の入来セキュリティ・イベントに備えようとしているSIEMシステム内を起源とする、人工的に生成されたセキュリティ・イベントを意味することがある。これらの擬似セキュリティ・イベントは、確実性の高いセキュリティ攻撃を示すデータに基づくことがあり、他の既知の潜在的攻撃以外の予想される攻撃に対してSIEMシステムをより用心深くする手立てとなることがある。このようにすると、サイバーセキュリティ・シーケンスの1つまたは複数のフェーズにおける特定の種類の予想されるサイバー攻撃に対して、SIEMシステムを訓練することができる。ルールのソートされたリストによる検出の優先順位およびシーケンスは、コンピューティング・リソースを節約するのに役立つことがある。
【0052】
用語「脅威情報構造化記述形式(structured threat information expression)」(STIX)は、サイバーセキュリティ関連表現のうちの収集された表現のリポジトリを意味することがある。STIXは、サイバーセキュリティおよびホームランド局(office of Cybersecurity and Homeland)のアメリカ国土安全保障省主導の成果である。STIXは、サイバー脅威情報を表現するための構造化言語(すなわちプロトコル)を定義および開発するための共同的なコミュニティ・ドリブンの成果である。STIX言語は、あらゆる範囲の潜在的サイバー脅威情報を伝達するものであり、完全な表現力を有し、柔軟性があり、拡張可能および自動化可能で、可能な限り人間が読めるものであるように努めている。全ての利害関係者は、その開かれた共同的コミュニティの部分としてSTIXの発展に関与することを期待されている。STIX使用ケースは、(i)サイバー脅威を分析すること、(ii)サイバー脅威に対する指標パターンを指定すること、(iii)サイバー脅威防止および応答活動を管理すること、(iv)サイバー脅威情報を共有することを含む。
【0053】
用語「戦術-技術-手順識別ルール」(TTP)は、それに従ってサイバーセキュリティ攻撃を高い確率で識別することができる一組のルールを意味することがある。これができるのは、それらのルールを最新のものに維持することができ、それらのルールが、セキュリティ攻撃のシーケンスのフェーズごとに関連侵害指標を含むルールを提案することができるためである。
【0054】
以下では図を詳細に説明する。図の中の全ての説明は概略的である。最初に、ルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理する本発明の方法の一実施形態のブロック図を示す。その後に、さらなる実施形態、およびルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理するSIEMシステムの実施形態を説明する。
【0055】
図1は、セキュリティ・イベントを処理する方法100の一実施形態のブロック図を示している。この処理は、受け取ったセキュリティ・イベントがオフェンスとみなされるかどうかを判定するためのルール・ベースの警報体系を適用することによって実行される。方法100の操作は、ルールのルール索引を生成すること102を含む。これらのルールは、入来セキュリティ・イベントが受け取られたときに適用される。
【0056】
方法100はさらに、ルールごとに侵害指標(IoC)索引を生成すること104を含み、侵害指標索引のそれぞれのエントリは、セキュリティ・イベントの属性値との比較に使用される指標値を含む。実際には、関連IoCとセキュリティ・イベントの属性値とだけが比較される。属性値は、電子メール・アドレス、IPアドレス、件名またはテキスト要素(電子メールの場合)、ハッシュ値などであり、通常は複数ある。
【0057】
この方法は、これらのルールを逐次的に適用することによって入来セキュリティ・イベントを処理すること106を含む。通常の操作の間、この処理は次々に実行され、その間に、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する現在のルール・カウンタを増加させ、トリガされたルールに属する現在の侵害指標カウンタを増加させる。提案された着想の設計上の理由から、全ての入来セキュリティ・イベントが全てのルールおよび全てのIoCに対して処理されるわけではない。
【0058】
方法100はさらに、既知の攻撃および関連侵害指標に関する受け取ったデータから、擬似セキュリティ・イベント、特にルール・セットを訓練するための擬似セキュリティ・イベントを生成すること108、およびそれらのルールを逐次的に適用することによって擬似セキュリティ・イベントを処理すること110を含むことができる。この処理は、処理の結果として、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する擬似セキュリティ・イベントの現在のルール・カウンタを増加させること112、およびトリガされたルールに属する擬似セキュリティ・イベントに対する現在の侵害指標カウンタを増加させること114を含む。
【0059】
最後に、方法100は、ルール索引の中のルールを、対応するそれぞれの重み付けされたルール・カウンタ、特に、ルールがオフェンスをトリガする可能性に相当する対応するそれぞれの重み付けされたルール・カウンタに従って、例えば降順にソートすること116、およびそれぞれのルール内で、侵害指標索引の中の侵害指標値を、その重み付けされた現在の侵害指標カウンタに従って、この場合も例えば降順にソートすること118を含む。
【0060】
図2は、一実施形態による、比較220のブロック
図200を示している。セキュリティ・イベント202の属性値と、ルール210および218および関連侵害指標204、206、208、212、214、216、222、224、226との比較220のブロック
図200。セキュリティ・イベント202はSIEMシステムに入ることができる。セキュリティ・イベント202は、1つまたは複数の属性:属性_1 204、属性_2 206、...、属性_n 208を有することがある。セキュリティ・イベント202のタイプによって属性204、206、208が全く異なることがある。入来電子メールは、データベース・リクエストまたはネットワーク・アクセスと比較した場合に全く異なる属性を有することがある。しかしながら、それらの異なる属性を識別および分離し、さらなる処理のためにそれらの属性を異なる属性タイプとして管理するように、SIEMシステムの構成要素を適合させることができる。
【0061】
1つのタイプの処理を、属性204、206、208のうちの選択された属性を、侵害指標IoC_1 212、IoC_2 214、...、IoC_m 216と比較することとすることができる。それによって、SIEMシステムは、それらの属性を、同じタイプの侵害指標と比較するだけでよいことがあり、このことが、SIEMシステムがコンピューティング・リソースを節約するのに役立つことがある。これらのIoCは、異なるルール、例えばルール_1 210、...、ルール_x 218に属することに留意することもできる。通常、SIEMシステムでは数百またはそれ以上のルールが管理される。セキュリティ・イベント202の属性をルールおよび関連IoCと比較するのに必要なコンピューティング・リソースが計算集約的であることが明らかであることがある。この計算労力を低減させるため、次の図は、ルールのグループのソーティングおよび優先順位ならびに他の機構、例えばバッファリングが、サイバーセキュリティ攻撃、すなわち悪意あるセキュリティ・イベントを確実に識別するための計算時間を短縮するのにどのように役立ちうるのかを示している。
【0062】
図3は、どのルール・セットおよびどのIoCグループに従って入力イベントが処理されるのかを示す、実施形態300のブロック図を示している。SIEMレコードまたはセキュリティ・イベント304は、それらが相関エンジン(ルール・プロセッサ)を通して送られる前に、中間において、例えばログ・ファイルに記憶される(FIFO)。伝統的なSIEMシステムでは、人間によってルールが静的順序に置かれる。それぞれのイベントはそれぞれのルールによって処理される。それぞれのルールでは、セキュリティ・イベントの属性が、所与のIoCの静的リストと比較される。一実施態様では、ある種のセキュリティ・イベントに対する処理を、オフェンスが生成されたときに終了させることができ、別の実施態様では、オフェンスの生成に関わらず、セキュリティ・イベントが全てのルールによって解析される。302によって示されたルール・セットは、複数のルール:ルール_1 304、ルール_2 306、ルール_3 308、...、ルール_n 310を含む。
【0063】
伝統的なSIEMシステムの処理の効率は、人間によるルールの順序付けの決定に大きく依存する。ルールの順序は静的であり、サイバーセキュリティ攻撃のシーケンスのさまざまなフェーズにおけるその時点のハッキング活動/攻撃パターンによって変化しない。伝統的なSIEMシステムについては次のことも言える:IoCは通常、ダウンロードされ、性能パラメータを考慮してソートされることはない。
【0064】
これとは対照的に、
図3に示されているように、ルール304、306、308、310は、オフェンスを生成する可能性によってソートされる。それぞれのルール内では、IoCが、オフェンスを生成する可能性によってソートされる。したがって、1つのイベントは、1つのルールの全てのIoCと突き合わせて調べられるわけではなく、IoCはグループ分けされ、それぞれのイベントの属性がIoCの特定のグループと比較される。この提案の着想は、攻撃者が、IPアドレス、電子メール・アドレス、感染したファイルのシグネチャなどの攻撃者の「指紋」を動的に変更することによって、自分の痕跡を偽装する場合にも機能することに留意することができる。IoCのリストが数千のエントリを含むことがあることも理解することができる。
【0065】
図3の番号がつけられた矢印は、ルールによってセキュリティ・イベントが処理され、セキュリティ・イベント304の属性がIoCと突き合わせて調べられる例示的な順序を示している。ルール_1 304の中には、(オフェンスを生成する最も高い可能性を有する可能性がある)最も「悪名高い」IoCのグループ314、316、318が存在する。矢印312は、入来セキュリティ・イベント304にルール_1 304を適用することによってオフェンスが生成されるかどうかを調べるのに、これらのIoCが最初に使用されることを示している。
【0066】
ルール_2 306では、矢印320によって示されたIoCの他の2つのグループが高位にランクされている。ルール_3 308では、矢印322によって示されたIoCの1つのグループだけが最初に調べられる。以後、入来セキュリティ・イベント304が悪意あるセキュリティ・イベントである可能性があり、したがってオフェンスを生成する可能性があるのかどうかを判定するために、どのシーケンス1、2、3、4、5、6、7、8、9で、これらのグループおよび対応するIoCが使用されるのかが明白であることがある。
【0067】
さらに、次のセキュリティ・イベントが最も有望なルールによって解析されることを可能にするため、現在のイベントが、ステップ5(矢印5)の後も、中間FIFOバッファ324の中に維持される。入来セキュリティ・イベントのフローが止まったとき、またはこの中間バッファがいっぱいになったときにのみ、中間バッファの入来セキュリティ・イベントが、残りのステップ6および以降のステップによって処理される。
【0068】
所定のパラメータとして、この方法は、ルール・サブセット(またはルール優先順位レベル)の数、例えば2または5、および中間イベント・バッファの数を必要とする。イベント・バッファはIoCのサブセット間に置かれるため、イベント・バッファの数は、ルール・サブセットの数よりも少なくとも1つ少なくなければならない。
【0069】
ルール_2 306の2番目のIoCグループにおいてオフェンス326が生成され、ここで説明したルールおよびIoCのソーティング以外のさらなる処理がなされることが分かる。
【0070】
記載された方法は、以下の少なくとも4つの態様を含む。
【0071】
索引およびカウンタを準備する(一度だけ実行される)。
【0072】
イベントを処理する(入力イベントごとに実行される)。
【0073】
TTPに関する情報から擬似セキュリティ・イベントを生成し、擬似セキュリティ・イベントを処理する(定期的に、例えば、予め定められた数のイベントが解析された後、予め定められた時間が経過した後に実行される)。
【0074】
ルール・ソーティングおよびバッファの配置(擬似セキュリティ・イベントが処理された後に実行される)。
【0075】
詳細:索引およびカウンタの準備:
【0076】
全てのルールの索引およびそれぞれのルール内の全ての比較演算(イベント属性とIoCとの比較)の索引を生成する。
【0077】
それぞれの索引エントリに、2つの「現在の」整数カウンタ、すなわち観察されたイベント(実イベント)用の1つのカウンタと、この方法によって生成されたイベント(擬似セキュリティ・イベント、下記参照)用の1つのカウンタ、を割り当てる。これらのカウンタが「現在の」と呼ばれるのは、これらのカウンタが、現在の時間窓において生成されたオフェンスをカウントするためである。
【0078】
それぞれの索引エントリに、2つの「過去の」整数カウンタを、上記の方式と同じ方式で割り当てる。これらのカウンタが「過去の」と呼ばれるのは、これらのカウンタが、以前にカウントされたオフェンスの数を含むためである。
【0079】
詳細:セキュリティ・イベントの処理:
【0080】
ルールがオフェンスを生成しているときに、現在の、すなわち観察または現在のイベント・カウンタを増加させる。一実施態様では、カウンタを1だけ増加させることができ、別の実施態様では、カウンタを、オフェンスの重大性(magnitude)の程度の分だけ増加させることができる。
【0081】
ルールがオフェンスを生成したときに、現在のマッチングIoCカウンタ、すなわち、イベントの属性にマッチした現在のルールに対する観察イベント・カウンタを増加させる。
【0082】
詳細:TTPに関する情報からの擬似セキュリティ・イベントの生成および擬似セキュリティ・イベントの解析:
【0083】
ルールおよびIoC擬似セキュリティ・イベント・カウンタをともにゼロにセットする。
【0084】
IoCを含むTTPを、信頼できる外部ソースから(例えばSTIXプロトコルを使用して)取得する。
【0085】
TTP情報から擬似セキュリティ・イベントを生成する:
a.TTPごとに、セキュリティ攻撃のシーケンス(キル・チェーンとしても知られている)の中のフェーズ1つにつき1つの擬似セキュリティ・イベントを生成する。
b.セキュリティ攻撃フェーズのシーケンスから、イベント・タイプ(およびログ・ソース・タイプ)をとる。
c.IoCから属性をポピュレート(populate)する。IoC1つにつき1つの擬似セキュリティ・イベントを生成する。
【0086】
一例として、知られているTTPスピア・フィッシング(spear phishing)活動のフェーズ2「武器化(Weaponization)」を考えると、ドメイン@benefit-city.comから、「あなた宛のメール(mail for you)」または「あなたのための写真(photo for you)」という件名の、ハッシュ・キー3CB5Fによって識別されたウイルスを含む、悪意ある電子メールが送信される。ログ・ソース・メール・サーバから、上記の属性を含む2つのイベント「ウイルスを含むメールを受け取った(mail received containing a virus)」を生成する。
【0087】
それらの擬似セキュリティ・イベントをランして、ルール・セットに通す。
【0088】
ルールが擬似セキュリティ・イベントによってオフェンスを生成するたびに、現在の擬似セキュリティ・イベント・カウンタを1だけ増加させる(または、別のインプランテーションでは、擬似セキュリティ・イベントが生じる原因となった活動に割り当てられた重みだけ増加させる)。
【0089】
ルールがオフェンスを生成したときに、このルールの現在のマッチングIoC擬似セキュリティ・イベント・カウンタを、直前のステップと同様に増加させる。
【0090】
詳細:ルール・ソーティングおよびバッファの配置:
【0091】
過去のカウンタおよび現在のカウンタから、新たなルール・カウンタおよびIoCカウンタを、以下のようにして計算する。
新たなカウンタ=P×過去のルール・カウンタ+(w1×観察されたイベント)+(w2×擬似セキュリティ・イベント)
新たなカウンタ=P×過去のカウンタ+(w1×観察されたイベント)+(w2×擬似セキュリティ・イベント)
上式で、Pは、過去のイベントの影響を限定するための予め定められた百分率値(例えば50%)であり、w1およびw2は、TTPデータベースに登録された進行中の活動による観察されたイベントと予想されるイベントの影響のバランスをとる、予め定められた重みである。
【0092】
その新たなルール・カウンタの値によってルールを、例えば降順にソートする。すなわち、最も高いカウンタを有するルールがルール・セットの最初のルールとなり、一度も使用されなかったルールがルール・セットの最後のルールとなり、最後に評価される。
【0093】
それぞれのルール内で、新たなIoCカウンタによってIoCのリストを、例えば降順にソートする。すなわち、イベントの属性は、最初に、過去において属性の中に最も頻繁に見られたIoCと突き合わせて調べられる。すなわち、イベントの属性は、最初に、オフェンスの生成に寄与する可能性が最も高いIoCと突き合わせて調べられる。
【0094】
全ての現在のルール・カウンタおよび全ての現在のIoCカウンタを0にリセットする。
【0095】
それぞれの新たなルール・カウンタの値をそれぞれの過去のルール・カウンタに割り当て、新たなIoCカウンタをそれぞれの過去のIoCカウンタに割り当てる。すなわち、過去のカウンタ=新しいカウンタとする。
【0096】
ルール・セット内に予め定められた数のイベント・バッファを生成する。ルールの配置は実行順序と整列する(下記参照)。
【0097】
図4は、一実施形態による、ルール・カウンタおよびIoCカウンタの例示的な結果400のブロック図を示している。
図4は、7つのルールを含むルール・セットの簡略化された例を示している。ルール・セットの中のルールは、「ルール・ソーティングおよびバッファの配置」のステップ2に従って順序付けされている。IoCは、ステップ3に従って順序付けされている。水平行は、異なるルールに関係付けられている。ルールごとに、垂直行として示されて、IoCカウンタが列挙されている。例えば、一番大きなカウントを有するルールは96カウントを示しており、関連IoCカウンタは、IoC1=80、IoC2=20、IoC3=20、IoC4=5、IoC5=1、IoC6=1カウントなどを示している。
【0098】
この例では、ルールがオフェンスを生成したときに、ルール・カウンタを、(オフェンスの重大性1~10の分だけ増加させるのではなく)1だけ増加させる。オフェンスをトリガするのにいくつかのIoCが寄与するため、1つのルール内においては、IoCカウンタの和が通常、ルール・カウンタよりも大きい。例えば、ルールは、イベント属性に関する条件、メール・アドレス=「info@benefit-city.com」AND件名=「あなた宛のメール」を含むことがある。
【0099】
この例では、ルール・サブセット(ルール優先順位レベル)の数が3に設定されており、イベント・バッファの数が2に設定されている。それぞれのルール・サブセットは、相対IoCカウンタまたは絶対IoCカウンタによって記述される。
【0100】
この例ではさらに、サブセットを定義するために、IoCカウンタの相対数が使用される。最初に(最も高い優先順位、斜線の縞)、IoCカウンタの90%(全342カウントのうちの307カウント)をカバーするように、ルールおよび比較演算が実行される。すなわち、イベントの属性は、最初に、圧倒的なヒット・カウントを有するIoCと突き合わせて調べられるが、少数のIoC(56のうちの11)とだけ突き合わせて調べられる。そのイベントが最初のルール・サブセットによって処理された後、そのイベントはバッファに入れられ(
図5と比較されたい)、別の入力イベントが、最初のルール・サブセットによって処理される。
【0101】
2番目のルール・サブセット(水平の縞)は、IoCヒット・カウンタの98%(335カウント)をカバーし、既に調べられたIoCを除くルールおよび比較演算によって定義される。この場合も、イベントが2番目のルール・セットによって処理された後、そのイベントはバッファに入れられる。
【0102】
3番目のルール・サブセット(無縞)は残りの比較演算を含む。
【0103】
現実の実施態様は通常、数百個のルール、および数千のエントリも含むIoCを有するリストを含む。この例をより現実的にするためには、ルール・セットのめったに使用されない底のより多くのルールを想像しなければならず、IoCを含む値ゼロの数千の列を右側に追加しなければならない。これによって本発明の利点はより明白になる。
【0104】
別の実施態様では、最初のルール・サブセットが、所与のイベントについて、カウンタ≧10のIoCだけを使用して全ての比較演算を実行するものとして定義される。2番目のルール・サブセットは、カウンタが9から1の間であるIoCを使用した全ての比較演算を含む。3番目のルール・サブセットは、カウンタによればオフェンスをまだトリガしていないIoCを使用した全ての比較演算を含む。
【0105】
この方法では、(イベント数またはメガバイト数に関する)バッファ・サイズ、およびコンピューティング・リソース(例えば仮想CPU)のデフォルトの分布が予め定められている必要がある。全てのバッファについてバッファ・サイズを同じ値に設定し、最初のルール・セットにより多くのコンピューティング・リソースを割り当て、最後のルール・セットに、例えば50%、25%、12.5%など、より少ないコンピューティング・リソースを割り当てることが望ましい。
【0106】
図5は、一実施形態による、ルール・カウンタおよびIoCカウンタの例示的な結果500を、リソース割振りとともに示している。
【0107】
8つの仮想CPUを有するコンピュータ上の直前の例を考えると、デフォルトによって、4つ、2つ、1つのCPU506、508、510をそれぞれ、最初、2番目および3番目のルール・サブセット内でイベントを処理するように割り当てることができる。残りのCPUは全体の調整に割り当てられる。
【0108】
バッファA 502がいっぱいとなり、したがって最初の4つのCPU506がアイドル状態にある場合、それらのCPUは一時的に、2番目のルール・サブセット(水平縞)内でのイベントの処理に割り当てられる。バッファA 502の利用が(例えば80%未満に)低下したら直ちに、4つのCPU502は、最初のルール・サブセット内でのイベントの処理に再び割り当てられる。バッファB 504がいっぱいになったときにも同じ方法が適用される。
【0109】
このようにすると、攻撃がより迅速に検出されるように、入来イベントが、オフェンスを生成する最も有望なルールによって処理され、イベント属性が、最も悪名高いIoCと突き合わせて迅速に調べられることが保証される。
【0110】
この方法の上記のバージョンの拡張も可能である。上記の実施態様では、この方法が、動的に最適化された1つのルール・セットを扱う。2つの入力ソースから生成されたオフェンスに関する2組の結果である観察されたイベントおよび擬似セキュリティ・イベントが重み付けされる。
【0111】
別の実施態様では、システムが、2つのルール・セットを管理することができる。1つのルール・セット(1次ルール・セット)は、観察されたイベントによるオフェンスの生成に基づいて最適化することができる(すなわちw2=0)。デフォルトによって、1次ルール・セットはルール・エンジンにロードされ、イベントを処理する。
【0112】
別のルール・セット(2次ルール・セット)は、観察されたイベントおよびかなり大きな重みw3を有する擬似セキュリティ・イベントによるオフェンスの生成に基づいて最適化することができる。擬似セキュリティ・イベントは、上記の方法によって生成され、データベースに記憶される。方法「イベントを処理する(process events)」は追加のステップによって増強される。擬似セキュリティ・イベントにマッチした観察されたイベントの数が所定のしきい値を超えた場合には、1次ルール・セットの代わりに2次ルール・セットが使用される。この場合も、それにもかかわらず、擬似セキュリティ・イベントにマッチしたイベントが観察されない場合、(処理されたイベントの数または経過時間によって定義された)所定の期間の後、1次ルール・セットがルール・エンジンにロードされる。
【0113】
別の実施態様では、3つ以上のルール・セットが定義される。擬似セキュリティ・イベントは、(TTPソースから取り出された)脅威シナリオによってグループ分けされる。1つのルール・セットは1つまたは複数の脅威シナリオをカバーする。上述のとおり、特定の脅威シナリオの擬似セキュリティ・イベントにマッチした観察されたイベントの数が所定のしきい値を超えた場合には、適切なルール・セットがルール・エンジンにロードされる。
【0114】
図6は、受け取ったセキュリティ・イベントがオフェンスとみなされるかどうかを判定するためのルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理するSIEMシステム600のブロック図を示している。SIEMシステム600は、ルールのルール索引を生成するように適合された第1の生成ユニット602を含み、これらのルールは、入来セキュリティ・イベントを受け取ったときに適用される。それによって、生成ユニット602はさらに、ルールごとに侵害指標索引を生成するように適合されている。侵害指標索引のそれぞれのエントリは、セキュリティ・イベントの属性との比較に使用される指標値を含む。
【0115】
システム600はさらに、ルールを逐次的に適用することによって入来セキュリティ・イベントを処理するように適合された相関エンジン604、およびそのルールの処理がオフェンスをトリガしたトリガされたルールに関係する現在のルール・カウンタを増加させるように適合された増加モジュール606を含み、増加モジュールはさらに、トリガされたルールに属する現在の侵害指標カウンタを増加させるように適合されている。
【0116】
システム600はさらに、既知の攻撃および関連侵害指標に関する受け取ったデータから、擬似セキュリティ・イベントを生成するように適合された第2の生成ユニット608を含む。相関エンジン604はさらに、ルールを逐次的に適用することによって擬似セキュリティ・イベントを処理するように適合されている。それによって、この処理は、擬似セキュリティ・イベント・カウンタ・モジュールによって、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する擬似セキュリティ・イベントの現在のルール・カウンタを増加させること、および擬似セキュリティ・イベントに対する侵害指標カウンタによって、トリガされたルールに属する擬似セキュリティ・イベントに対する現在の侵害指標カウンタを増加させることを含む。
【0117】
SIEMシステム600の追加のソーティング・モジュール610は、ルール索引の中のルールを、対応するそれぞれの重み付けされたルール・カウンタに従ってソートするように適合されており、さらに、それぞれのルール内で、侵害指標索引の中の侵害指標値を、侵害指標値の重み付けされた現在の侵害指標カウンタに従ってソートするように適合されている。
【0118】
本発明の実施形態は、事実上任意のタイプのコンピュータとともに実施することができる。このことは、そのプラットフォームが、プログラム・コードを記憶もしくは実行するのに適しているかどうか、またはプログラム・コードを記憶および実行するのに適しているかどうかを問わない。
図7は、一例として、提案された方法に関係するプログラム・コードを実行するのに適したコンピューティング・システム700を示している。
【0119】
コンピューティング・システム700は、適当なコンピュータ・システムの一例に過ぎず、コンピューティング・システム700が、以上に記載された機能を実装もしくは実行することができるかどうか、または実装および実行することができるかどうかに関わらず、コンピューティング・システム700が、本明細書に記載された本発明の実施形態の使用または機能の範囲に関する限定を示唆することは意図されていない。コンピュータ・システム700には構成要素が存在し、それらの構成要素は、他の多数の汎用または専用コンピューティング・システム環境または構成とともに動作可能である。コンピュータ・システム/サーバ700とともに使用するのに適していることがある、よく知られたコンピューティング・システム、環境もしくは構成またはこれらの組合せの例は、限定はされないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能なコンシューマ電子機器、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、ならびに上記のいずれかのシステムまたはデバイスを含む分散クラウド・コンピューティング環境などを含む。コンピュータ・システム/サーバ700は、コンピュータ・システム700によって実行されているプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行する、または特定の抽象データ型を実装した、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含むことができる。コンピュータ・システム/サーバ700は、通信ネットワークを介してリンクされた遠隔処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境で使用することができる。分散クラウド・コンピューティング環境では、ローカル・コンピュータ・システム・ストレージ媒体と遠隔コンピュータ・システム・ストレージ媒体の両方にプログラム・モジュールを置くことができる。このストレージ媒体にはメモリ・ストレージ・デバイスが含まれる。
【0120】
この図に示されているとおり、コンピュータ・システム/サーバ700は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ700の構成要素は、限定はされないが、1つまたは複数のプロセッサまたは処理ユニット702、システム・メモリ704およびバス706を含むことができ、バス706は、システム・メモリ704を含むさまざまなシステム構成要素をプロセッサ702に結合する。バス706は、メモリ・バスまたはメモリ・コントローラ、周辺バス、加速グラフィクス・ポート、およびプロセッサ・バスまたはローカル・バスを含む、さまざまなバス・アーキテクチャを使用したいくつかのタイプのバス構造体のうちの1つまたは複数の任意のバス構造体を表す。例として、このようなアーキテクチャは、限定はされないが、インダストリ・スタンダード・アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクツ(PCI)バスを含む。コンピュータ・システム/サーバ700は通常、さまざまなコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム/サーバ700がアクセス可能な利用可能な任意の媒体とすることができ、揮発性媒体と不揮発性媒体の両方、取外し可能媒体と非取外し可能媒体の両方を含むことができる。
【0121】
システム・メモリ704は、ランダム・アクセス・メモリ(RAM)708もしくはキャッシュ・メモリ710またはその両方など、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ700はさらに、他の取外し可能/非取外し可能な揮発性/不揮発性のコンピュータ・システム・ストレージ媒体を含むことができる。単なる例として、ストレージ・システム712は、非取外し可能な不揮発性の磁気媒体(図示せず。通常は「ハード・ドライブ」と呼ばれる)からの読取り用、および非取外し可能な不揮発性の磁気媒体への書込み用に提供することができる。図示されてはいないが、取外し可能な不揮発性の磁気ディスク(例えば「フロッピー(R)・ディスク」)からの読取り用および取外し可能な不揮発性の磁気ディスクへの書込み用の磁気ディスク・ドライブ、ならびにCD-ROM、DVD-ROMまたは他の光学式媒体などの取外し可能な不揮発性光ディスクからの読取り用および取外し可能な不揮発性の光ディスクへの書込み用の光ディスク・ドライブを提供することもできる。そのような場合には、それぞれを、1つまたは複数のデータ媒体インタフェースによってバス706に接続することができる。後にさらに示し、説明するが、メモリ704は、本明細書に記載された実施形態の機能を実行するように構成された一組の(例えば少なくとも1つの)プログラム・モジュールを有する少なくとも1つのプログラム製品を含むことができる。
【0122】
一組の(少なくとも1つの)プログラム・モジュール716、例えば、限定はされないが、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュールおよびプログラム・データなどを有するプログラム/ユーティリティを、メモリ704に記憶することができる。このオペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュールおよびプログラム・データまたはこれらのある組合せはそれぞれ、ネットワーキング環境の実施態様を含むことができる。プログラム・モジュール716は一般に、本明細書に記載された本発明の実施形態の機能もしくは方法またはその両方を実行する。
【0123】
コンピュータ・システム/サーバ700はさらに、キーボード、ポインティング・デバイス、ディスプレイ720など;ユーザがコンピュータ・システム/サーバ700と対話することを可能にする1つもしくは複数のデバイス;またはコンピュータ・システム/サーバ700が1つもしくは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えばネットワーク・カード、モデムなど)、あるいはこれらの組合せなどの、1つまたは複数の外部デバイス718と通信することができる。このような通信は、入力/出力(I/O)インタフェース714を介して実行することができる。さらに、コンピュータ・システム/サーバ700は、ネットワーク・アダプタ722を介して、ローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN)もしくは公衆ネットワーク(例えばインターネット)、またはこれらの組合せなどの1つまたは複数のネットワークと通信することができる。図示されているように、ネットワーク・アダプタ722は、バス706を介してコンピュータ・システム/サーバ700の残りの構成要素と通信することができる。示されてはいないが、他のハードウェア構成要素もしくはソフトウェア構成要素またはその両方を、コンピュータ・システム/サーバ700とともに使用することができることを理解すべきである。このような構成要素の例は、限定はされないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイバル・ストレージ・システムなどを含む。
【0124】
さらに、バス・システム706に、ルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理するSIEMシステム600を接続することができる。
【0125】
本発明のさまざまな実施形態の説明は例示のために示したものであり、それらの説明が網羅的であること、または開示された実施形態に限定されることは意図されていない。当業者には、記載された実施形態の範囲および思想を逸脱しない多くの変更および変形が明らかとなろう。本明細書で使用されている用語は、実施形態の原理、実際的用途、もしくは市場に出ている技術についての技術的改良を最もうまく説明するように、または本明細書に開示された実施形態を他の当業者が理解することができるように選択した。
【0126】
本発明は、システム、方法もしくはコンピュータ・プログラム製品、またはこれらの組合せとして実施されることがある。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体を含むことがある。
【0127】
この媒体は、伝搬媒体用の電子、磁気、光学、電磁気、赤外線または半導体システムとすることができる。コンピュータ可読媒体の例は、半導体または固体状態メモリ、磁気テープ、取外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、硬質磁気ディスクおよび光ディスクを含むことができる。光ディスクの現在の例は、コンパクト・ディスク-リードオンリー・メモリ(CD-ROM)、コンパクト・ディスク-リード/ライト(CD-R/W)、DVDおよびブルーレイディスクを含む。
【0128】
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持および記憶することができる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は例えば、限定はされないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたはこれらの適当な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、消去可能なプログラマブル・リードオンリー・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リードオンリー・メモリ(CD-ROM)、ディジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、機械的にコード化されたデバイス、例えばパンチカードまたはその上に命令が記録された溝の中の一段高くなった構造体、およびこれらの適当な組合せを含む。本明細書で使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が一過性の信号、例えば電波もしくは他の自由に伝搬する電磁波、ウェーブガイドもしくは他の伝送体内を伝搬する電磁波(例えば光ファイバ・ケーブル内を通る光パルス)、または電線を通して伝送される電気信号であると解釈されるべきではない。
【0129】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から対応するそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、またはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはそれらの組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードすることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバ、またはこれらの組合せを含むことができる。それぞれのコンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それらのコンピュータ可読プログラム命令を、対応するそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【0130】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、もしくは状態設定データであってもよく、またはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同種のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードもしくはオブジェクト・コードであってもよい。このコンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行されてもよく、独立型ソフトウェア・パッケージとして一部がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で、一部が遠隔コンピュータ上で実行されてもよく、または全体が遠隔コンピュータもしくは遠隔サーバ上で実行されてもよい。上記の最後のシナリオでは、遠隔コンピュータが、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、またはこの接続が、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)実施されてもよい。いくつかの実施形態では、本発明の態様を実施するために、例えばプログラム可能論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)またはプログラム可能論理アレイ(PLA)を含む電子回路が、このコンピュータ可読プログラム命令の状態情報を利用してその電子回路をパーソナライズすることにより、このコンピュータ可読プログラム命令を実行してもよい。
【0131】
本明細書では、本発明の態様が、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品の流れ図もしくはブロック図またはその両方の図を参照して説明される。それらの流れ図もしくはブロック図またはその両方の図のそれぞれのブロック、およびそれらの流れ図もしくはブロック図またはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実施することができることが理解される。
【0132】
これらのコンピュータ可読プログラム命令は、機械を形成する汎用コンピュータ、専用コンピュータまたは他のプログラム可能データ処理装置のプロセッサに、それらのコンピュータまたは他のプログラム可能データ処理装置のプロセッサによって実行されるこれらの命令が、これらの流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/動作を実施する手段を生成するような態様で、提供することができる。これらのコンピュータ可読プログラム命令はさらに、特定の方式で機能するようにコンピュータ、プログラム可能データ処理装置もしくは他のデバイスまたはこれらの組合せに指図することができるコンピュータ可読ストレージ媒体に、その中に命令が記憶されたコンピュータ可読ストレージ媒体が、これらの流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/動作の態様を実施する命令を含む製品を含むような態様で、記憶することができる。
【0133】
これらのコンピュータ可読プログラム命令はさらに、コンピュータ、他のプログラム可能装置または他のデバイス上で一連の動作ステップを実行させて、コンピュータによって実施されるプロセスを生み出すために、このコンピュータ、他のプログラム可能データ処理装置または他のデバイス上に、このコンピュータ、他のプログラム可能装置または他のデバイス上で実施されるこれらの命令が、これらの流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/動作を実施するような態様で、ロードすることができる。
【0134】
添付図中の流れ図もしくはブロック図またはその両方は、本発明のさまざまな実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能および動作を示す。この点に関して、それらの流れ図またはブロック図のそれぞれのブロックは、指定された論理機能を実施する1つまたは複数の実行可能命令を含む、命令のモジュール、セグメントまたは部分を表すことがある。いくつかの代替実施態様では、ブロックに示された機能を、図に示された順序とは異なる順序で実行することができる。例えば、連続して示された2つのブロックが、実際は、実質的に同時に実行されることがあり、または、含まれる機能によってはそれらのブロックが逆の順序で実行されることもある。それらのブロック図もしくは流れ図またはその両方の図のそれぞれのブロック、ならびにそれらのブロック図もしくは流れ図またはその両方の図のブロックの組合せを、指定された機能もしくは動作を実行しまたは専用ハードウェアとコンピュータ命令の組合せを実施するハードウェアベースの専用システムによって実施することができることにも留意すべきである。
【0135】
本明細書で使用される用語の目的は特定の実施形態を説明することだけであり、それらの用語が本発明を限定することは意図されていない。文脈からそうでないことが明らかである場合を除き、本明細書で使用されるとき、単数形の「a」、「an」および「the」は複数形も含むことが意図されている。本明細書で使用されるとき、用語「備える(comprises)」もしくは「備える(comprising)」またはその両方は、明示された特徴、完全体(integer)、ステップ、動作、要素もしくは構成要素またはこれらの組合せの存在を指定するが、他の1つもしくは複数の特徴、完全体、ステップ、動作、要素、構成要素もしくはこれらのグループ、またはこれらの組合せの存在または追加を排除しないことも理解される。
【0136】
対応する構造体、材料、動作、ならびに特許請求の範囲に記載された全ての手段またはステップおよび機能要素の等価物は、特許請求の範囲に記載された他の請求の要素とともに機能を実行するための任意の構造体、材料または動作を含むことが意図されている。本発明の説明は、図示および説明のために示したものだが、本発明の説明が、網羅的であること、または本発明の開示された形態に限定されることは意図されていない。当業者には、本発明の範囲および趣旨を逸脱しない多くの変更および変形形態が明らかとなろう。実施形態は、本発明の原理および実際的用途を最もよく説明するため、ならびに企図された特定の使用に適したさまざまな変更を有するさまざまな実施形態に関して当業者が本発明を理解することを可能にするために選抜し、説明した。
【0137】
簡潔に言えば、本発明の着想は、以下の箇条によって記述することができる。
【0138】
受け取ったセキュリティ・イベントがオフェンスとみなされるかどうかを判定するためのルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理する方法であって、この方法が、ルールのルール索引を生成することを含み、このルールが、入来セキュリティ・イベントを受け取ったときに適用されるルールであり、この方法がさらに、ルールごとに侵害指標索引を生成することを含み、侵害指標索引のそれぞれのエントリが、セキュリティ・イベントの属性との比較に使用される指標値を含み、この方法がさらに、ルールを逐次的に適用することによって入来セキュリティ・イベントを処理することを含み、この処理が、ルール増加ステップにおいて、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する現在のルール・カウンタを増加させること、およびトリガされたルールに属する現在の侵害指標カウンタを増加させることを含み、この方法がさらに、既知の攻撃および関連侵害指標に関する受け取ったデータから、擬似セキュリティ・イベントを生成すること、ならびにルールを逐次的に適用することによって擬似セキュリティ・イベントを処理することを含み、この処理が、ルール増加ステップにおいて、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する擬似セキュリティ・イベントの現在のルール・カウンタを増加させること、およびトリガされたルールに属する擬似セキュリティ・イベントに対する現在の侵害指標カウンタを増加させることを含み、この方法がさらに、ルール索引の中のルールを、対応するそれぞれの重み付けされたルール・カウンタ値に従ってソートすること、ならびにそれぞれのルール内で、侵害指標索引の中の侵害指標を、重み付けされた現在の侵害指標カウンタ値に従ってソートすることを含む方法。
【0139】
ルールをソートすることが、ルールの重み付けされた過去のルール・カウンタ値と重み付けされた現在のルール・カウンタ値とを組み合わせることによって、重み付けされたルール・カウンタ値を決定することをさらに含む、方法。
【0140】
それぞれのルール内で侵害指標をソートすることが、対応するそれぞれの侵害指標の重み付けされた過去の侵害指標カウンタ値と重み付けされた現在の侵害指標カウンタ値とを組み合わせることによって、重み付けされた侵害指標カウンタ値を決定することをさらに含む、方法。
【0141】
ルール増加ステップが、現在のルール・カウンタを、固定された数だけ、またはオフェンスの重大度を示す数だけ増加させることをさらに含む、方法。
【0142】
現在の侵害指標カウンタを増加させることが、現在の侵害指標カウンタを、固定された数だけ増加させることをさらに含む、方法。
【0143】
擬似セキュリティ・イベントを生成することが、既知の攻撃に関する受け取ったデータからの戦法-技術-手順(TTP)識別データを適用することを含み、既知の攻撃に関する受け取ったデータが、脅威情報構造化記述形式(STIX)プロトコルを介して受け取られる、方法。
【0144】
擬似セキュリティ・イベントを生成することが、攻撃パターンによって表現された部分サイバー攻撃のシーケンスのフェーズごとに擬似セキュリティ・イベントを生成することを含む、方法。
【0145】
擬似セキュリティ・イベントを生成することが、対応するそれぞれのルールに関係する侵害指標ごとに擬似セキュリティ・イベントを生成することを含む、方法。
【0146】
擬似セキュリティ・イベントを生成することが、擬似セキュリティ・イベントの現在のルール・カウンタをゼロにリセットすること、および擬似セキュリティ・イベントに対する現在の侵害指標カウンタをゼロにリセットすることをさらに含む、方法。
【0147】
ルール索引の中のルールをソートすることが、重み付けされたルール・カウンタRCwを、
RCw=P×過去のルール・カウンタ+(w1×観察されたイベント)+(w2×擬似セキュリティ・イベント)
によって決定することを含み、上式で、P=予め定められた百分率値、w1、w2=予め定められた重み付け係数値である、方法。
【0148】
所定の第1の数のルールが処理され、処理されたそれぞれのルール内で、所定の第2の数の侵害指標カウンタ・グループが処理された後に、入来セキュリティ・イベントをバッファに入れること、および入来セキュリティ・イベントの処理負荷が、予め定められた負荷しきい値よりも低下した場合に、バッファに入れられたセキュリティ・イベントの処理を継続することをさらに含む、方法。
【0149】
受け取ったセキュリティ・イベントがオフェンスとみなされるかどうかを判定するためのルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理するSIEMシステムであって、このシステムが、ルールのルール索引を生成するように適合された第1の生成ユニットを含み、このルールが、入来セキュリティ・イベントを受け取ったときに適用されるルールであり、第1の生成ユニットがさらに、ルールごとに侵害指標索引を生成するように適合されており、侵害指標索引のそれぞれのエントリが、セキュリティ・イベントの属性との比較に使用される指標値を含み、このシステムがさらに、ルールを逐次的に適用することによって入来セキュリティ・イベントを処理するように適合された相関エンジンと、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する現在のルール・カウンタを増加させるように適合された増加モジュールであり、トリガされたルールに属する現在の侵害指標カウンタを増加させるようにさらに適合された増加モジュールと、既知の攻撃および関連侵害指標に関する受け取ったデータから、擬似セキュリティ・イベントを生成するように適合された第2の生成ユニットとを含み、相関エンジンがさらに、ルールを逐次的に適用することによって擬似セキュリティ・イベントを処理するように適合されており、この処理が、擬似セキュリティ・イベント・カウンタ・モジュールによって、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する擬似セキュリティ・イベントの現在のルール・カウンタを増加させること、および擬似セキュリティ・イベントに対する侵害指標に対するカウンタによって、トリガされたルールに属する擬似セキュリティ・イベントに対する現在の侵害指標カウンタを増加させることを含み、このシステムがさらに、ルール索引の中のルールを、対応するそれぞれの重み付けされたルール・カウンタ値に従ってソートするように適合されたソーティング・モジュールであり、それぞれのルール内で、侵害指標索引の中の侵害指標を、重み付けされた侵害指標カウンタ値に従ってソートするようにさらに適合されたソーティング・モジュールを含むシステム。
【0150】
ソーティング・モジュールが、ルールの重み付けされた過去のルール・カウンタと重み付けされた現在のルール・カウンタとを組み合わせることによって、重み付けされたルール・カウンタ値を決定するようにさらに適合された、システム。
【0151】
ソーティング・モジュールが、対応するそれぞれの指標値の重み付けされた過去の侵害指標カウンタと重み付けされた現在の侵害指標カウンタとを組み合わせることによって、重み付けされた侵害指標カウンタ値を決定するようにさらに適合された、システム。
【0152】
増加モジュールが、現在のルール・カウンタを、固定された数だけ、またはオフェンスの重大度を示す数だけ増加させるようにさらに適合された、システム。
【0153】
増加モジュールが、現在の侵害指標カウンタを、固定された数だけ増加させるようにさらに適合された、システム。
【0154】
第2の生成ユニットが、既知の攻撃に関する受け取ったデータからの戦法-技術-手順(TTP)識別データを適用するようにさらに適合されており、既知の攻撃に関する受け取ったデータが、脅威情報構造化記述形式(STIX)プロトコルを介して受け取られる、システム。
【0155】
第2の生成ユニットが、攻撃パターンによって表現された部分サイバー攻撃のシーケンスのフェーズごとに擬似セキュリティ・イベントを生成するようにさらに適合された、システム。
【0156】
第2の生成ユニットが、対応するそれぞれのルールに関係する侵害指標ごとに擬似セキュリティ・イベントを生成するようにさらに適合された、システム。
【0157】
第2の生成ユニットが、擬似セキュリティ・イベントの現在のルール・カウンタをゼロにリセットし、擬似セキュリティ・イベントに対する現在の侵害指標カウンタをゼロにリセットするようにさらに適合された、システム。
【0158】
ソーティング・モジュールが、重み付けされたルール・カウンタRCwを、
RCw=P×過去のルール・カウンタ+(w1×観察されたイベント)+(w2×擬似セキュリティ・イベント)
によって決定するようにさらに適合されており、上式で、P=予め定められた百分率値、w1、w2=予め定められた重み付け係数値である、システム。
【0159】
所定の第1の数のルールが処理され、処理されたそれぞれのルール内で、所定の第2の数の指標値グループが処理された後に、入来セキュリティ・イベントをバッファに入れるように適合された中間ストレージであり、入来セキュリティ・イベントの処理負荷が、予め定められた負荷しきい値よりも低下したときに、バッファに入れられたセキュリティ・イベントの処理の継続をトリガするようにさらに適合された中間ストレージをさらに含む、システム。
【0160】
受け取ったセキュリティ・イベントがオフェンスとみなされるかどうかを判定するためのルール・ベースの警報体系を適用することによってセキュリティ・イベントを処理するコンピュータ・プログラム製品であって、このコンピュータ・プログラム製品が、プログラム命令が実装されたコンピュータ可読ストレージ媒体を含み、このプログラム命令が、1つまたは複数のコンピューティング・システムまたはコントローラによって、この1つまたは複数のコンピューティング・システムに、ルールのルール索引を生成することを実行させるように実行可能であり、このルールが、入来セキュリティ・イベントを受け取ったときに適用されるルールであり、このプログラム命令がさらに、この1つまたは複数のコンピューティング・システムに、ルールごとに侵害指標索引を生成することを実行させるように実行可能であり、侵害指標索引のそれぞれのエントリが、セキュリティ・イベントの属性との比較に使用される指標値を含み、このプログラム命令がさらに、この1つまたは複数のコンピューティング・システムに、ルールを逐次的に適用することによって入来セキュリティ・イベントを処理すること、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する現在のルール・カウンタを増加させること、トリガされたルールに属する現在の侵害指標カウンタを増加させること、既知の攻撃および関連侵害指標に関する受け取ったデータから、擬似セキュリティ・イベントを生成すること、およびルールを逐次的に適用することによって擬似セキュリティ・イベントを処理することを実行させるように実行可能であり、この処理が、そのルールの処理がオフェンスをトリガしたトリガされたルールに関係する擬似セキュリティ・イベントの現在のルール・カウンタを増加させること、およびトリガされたルールに属する擬似セキュリティ・イベントに対する現在の侵害指標カウンタを増加させることを含み、このプログラム命令がさらに、この1つまたは複数のコンピューティング・システムに、ルール索引の中のルールを、対応するそれぞれの重み付けされたルール・カウンタ値に従ってソートすること、およびそれぞれのルール内で、侵害指標索引の中の侵害指標を、重み付けされた侵害指標カウンタ値に従ってソートすることを実行させるように実行可能である、コンピュータ・プログラム製品。
【0161】
本明細書に記載されたプログラムは、本発明の特定の実施形態においてそれらのプログラムが実施されるアプリケーションに基づいて識別される。しかしながら、本明細書に記載された特定のプログラム名は単に便宜的に使用されているだけであること、したがって、本発明を、そのような名称によって識別もしくは暗示される特定のアプリケーションまたはそのような名称によって識別および暗示される特定のアプリケーションで使用することだけに限定すべきでないことを理解すべきである。
【0162】
本発明の実施形態は、クラウド・コンピューティング・インフラストラクチャを通してエンド・ユーザに提供することができる。クラウド・コンピューティングは一般に、スケーラブルなコンピューティング・リソースをネットワークを介してサービスとして提供することを指す。より形式的には、クラウド・コンピューティングは、コンピューティング・リソースとその基礎をなす技術的アーキテクチャ(例えばサーバ、ストレージ、ネットワーク)との間の抽象化を提供するコンピューティング機能であって、最小限の管理労力またはサービスのプロバイダの最小限のインタラクションで迅速に供給およびリリースすることができる構成可能なコンピューティング・リソースの共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするコンピューティング機能と定義することができる。したがって、クラウド・コンピューティングは、コンピューティング・リソースを提供するために使用される基礎をなす物理システム(またはそれらのシステムの位置)に関わらず、ユーザが、「クラウド」内の仮想コンピューティング・リソース(例えばストレージ、データ、アプリケーションおよび仮想化されたコンピューティング・システム全体)にアクセスすることを可能にする。
【0163】
通常、クラウド・コンピューティング・リソースは、実際に使用されたコンピューティング・リソース(例えばユーザによって消費されたストレージ・スペースの量またはユーザによってインスタンス化された仮想化システムの数)に対してのみユーザに料金が請求される利用回数料金制で(on a pay-per-use basis)ユーザに提供される。ユーザは、クラウドに存在するリソースに、いつでも、インターネットを横切ってどこからでもアクセスすることができる。本発明の文脈において、ユーザは、クラウド内で使用可能な標準化された検索エンジン(normalized search engine)または関連データにアクセスすることができる。例えば、基準化された検索エンジンは、クラウド内のコンピューティング・システム上で実行することができ、基準化された検索を実行することができる。そのような場合、標準化された検索エンジンは、情報のコーパスを標準化し、その標準化の索引を、クラウド内の記憶位置に記憶することができる。そうすることによって、ユーザは、クラウドに接続されたネットワーク(例えばインターネット)に接続された任意のコンピューティング・システムからこの情報にアクセスすることができる。
【0164】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載された教示の実施態様はクラウド・コンピューティング環境だけに限定されないことを予め理解されたい。むしろ、本発明の実施形態は、現在知られているまたは後に開発される他の任意のタイプのコンピューティング環境に関連して実施することができる。
【0165】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの最小限のインタラクションで迅速に供給およびリリースすることができる構成可能なコンピューティング・リソース(例えばネットワーク、ネットワーク帯域、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想機械およびサービス)の共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするサービス配信モデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント(deployment)モデルを含むことができる。
【0166】
特徴は以下のとおりである。
【0167】
オンデマンド・セルフサービス:クラウド・コンシューマは、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能の供給を、このサービスのプロバイダとのヒューマン・インタラクションを必要とすることなく必要に応じて自動的に一方向的に受けることができる。
【0168】
ブロード・ネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、機能には、異種のシンまたはシック・クライアント・プラットフォーム(例えば移動電話、ラップトップおよびPDA)による使用を促進する標準的機構を通してアクセスされる。
【0169】
リソース・プーリング(resource pooling):マルチテナント・モデルを使用して多数のコンシューマにサービスを提供するために、プロバイダのコンピューティング・リソースがプールされており、要求に応じて、異なる物理的および仮想リソースが動的に割当ておよび再割当てされる。コンシューマは一般に、提供されたリソースの正確な位置を制御できずまたは正確な位置を知らないが、より高次の抽象化レベル(例えば国、州またはデータセンター)で位置を指定することができるという意味で、位置独立の感覚がある。
【0170】
ラピッド・エラスティシティ(rapid elasticity):機能は、素早くスケールアウトするために迅速かつ弾力的に、場合によっては自動的に供給することができ、素早くスケールインするために迅速にリリースすることができる。コンシューマにとって、供給に利用可能な機能はしばしば無限であるように見え、いつでも好きな量だけ購入することができる。
【0171】
メジャード・サービス(measured service):クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域および使用中ユーザ・アカウント)に対して適切なある抽象化レベルで計測機能に介入することによって、リソースの使用状況を自動的に制御および最適化する。リソースの使用状況を監視、制御および報告して、利用されているサービスのプロバイダとコンシューマの両方に透明性を提供することができる。
【0172】
サービス・モデルは以下のとおりである。
【0173】
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供されるこの機能は、クラウド・インフラストラクチャ上でランしているプロバイダのアプリケーションを使用する機能である。ウェブ・ブラウザなどのシン・クライアント・インタフェース(例えばウェブ・ベースの電子メール)を通してさまざまなクライアント・デバイスからアプリケーションにアクセス可能である。場合によっては可能な限られたユーザ固有のアプリケーション構成の設定を除けば、コンシューマは、ネットワーク、サーバ、オペレーティング・システム、ストレージまたは個々のアプリケーション機能を含む基礎をなすクラウド・インフラストラクチャを管理もまたは制御もしない。
【0174】
プラットフォーム・アズ・ア・サービス(PaaS):コンシューマに提供されるこの機能は、クラウド・インフラストラクチャ上で、プロバイダがサポートするプログラム言語およびツールを使用して作成されたコンシューマ作成または取得のアプリケーションをデプロイする機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システムまたはストレージを含む基礎をなすクラウド・インフラストラクチャを管理もまたは制御もしないが、デプロイされたアプリケーションおよび場合によってはアプリケーション・ホスティング環境構成は制御することができる。
【0175】
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供されるこの機能は、処理、ストレージ、ネットワークおよび他の基本的なコンピューティング・リソースを供給する機能であり、コンシューマは任意のソフトウェアをデプロイおよびランすることができ、これらのソフトウェアは、オペレーティング・システムおよびアプリケーションを含むことができる。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理もまたは制御もしないが、オペレーティング・システム、ストレージおよびデプロイされたアプリケーションは制御することができ、場合によっては、選択されたネットワーク構成要素(例えばホスト・ファイアウォール)を限定的に制御することができる。
【0176】
デプロイメント・モデルは以下のとおりである。
【0177】
プライベート・クラウド:このクラウド・インフラストラクチャは、組織体のためだけに運営される。インフラストラクチャは、その組織体または第三者が管理することができ、オンプレミス(on-premises)またはオフプレミス(off-premises)で存在することができる。
【0178】
コミュニティ・クラウド:このクラウド・インフラストラクチャは、いくつかの組織体によって共有され、利害(例えばミッション、セキュリティ要件、ポリシーおよびコンプライアンス上の問題)を共有する特定のコミュニティをサポートする。インフラストラクチャは、その組織体または第三者が管理することができ、オンプレミスまたはオフプレミスで存在することができる。
【0179】
パブリック・クラウド:このクラウド・インフラストラクチャは、一般大衆または大きな産業グループが利用可能であり、クラウド・サービスを販売している組織体によって所有される。
【0180】
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、固有のエンティティ(entity)を維持しているが、データおよびアプリケーション・ポータビリティを可能にする標準化された技術または独占技術(例えばクラウド間のロード・バランシングのためのクラウド・バースティング(cloud bursting))によって1つに結合された2つ以上のクラウド(プライベート、コミュニティまたはパブリック)の合成体である。
【0181】
クラウド・コンピューティング環境は、無国籍、低結合、モジュール性および意味論的相互運用性(semantic interoperability)に重きを置くサービス指向の環境である。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【0182】
次に
図8を参照すると、例示的なクラウド・コンピューティング環境800が示されている。示されているとおり、クラウド・コンピューティング環境800は1つまたは複数のクラウド・コンピューティング・ノード810を含み、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイス、例えばパーソナル・ディジタル・アシスタント(PDA)もしくは携帯電話840A、デスクトップ・コンピュータ840B、ラップトップ・コンピュータ840Cまたは自動車コンピュータ・システム840Nあるいはこれらの組合せは、これらのノードと通信することができる。クラウド・コンピューティング・ノード810は互いに通信することができる。それらのノードは、上で説明したプライベート、コミュニティ、パブリックまたはハイブリッド・クラウドまたはこれらの組合せなどの1つまたは複数のネットワークに、物理的にまたは仮想的にグループ分けされていることがある(図示せず)。これによって、クラウド・コンピューティング環境800は、インフラストラクチャ、プラットフォームもしくはソフトウェアまたはこれらの組合せをサービスとして提供することができ、そのため、クラウド・コンシューマは、ローカル・コンピューティング・デバイス上にリソースを維持する必要がない。
図8に示されたタイプのコンピューティング・デバイス840A~Nは単なる例であることが意図されていること、ならびにクラウド・コンピューティング・ノード810およびクラウド・コンピューティング環境800は、任意のタイプのネットワーク上もしくはアドレス指定可能なネットワーク接続上またはその両方で(例えばウェブ・ブラウザを使用して)、コンピュータ化された任意のタイプのデバイスと通信することができることが理解される。
【0183】
次に
図9を参照すると、クラウド・コンピューティング環境800(
図8に示されている)によって提供される一組の機能抽象化層が示されている。
図9に示された構成要素、層および機能は単なる例であることが意図されており、本発明の実施形態はそれらに限定されないことを予め理解しておくべきである。図示のとおり、以下の層および対応する機能が提供される。
【0184】
ハードウェアおよびソフトウェア層960は、ハードウェア構成要素およびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム961、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ962、サーバ963、ブレード・サーバ(blade server)964、ストレージ・デバイス965ならびにネットワークおよびネットワーキング構成要素966を含む。いくつかの実施形態では、ソフトウェア構成要素が、ネットワーク・アプリケーション・サーバ・ソフトウェア967およびデータベース・ソフトウェア968を含む。
【0185】
仮想化層970は抽象化層を提供し、この層から、仮想エンティティの以下の例を提供することができる:仮想サーバ971、仮想ストレージ972、例えば
図7に示されたシステム・メモリ、仮想専用ネットワークを含む仮想ネットワーク973、仮想アプリケーションおよびオペレーティング・システム974、ならびに仮想クライアント975。
【0186】
一例では、管理層980が以下の機能を提供することができる。リソース供給981は、クラウド・コンピューティング環境内でタスクを実行する目的に利用されるコンピューティング・リソースおよびその他のリソースの動的調達を提供する。計量および価格決定982は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡、およびこれらのリソースの消費に対する課金または請求を提供する。一例では、これらのリソースがアプリケーション・ソフトウェア・ライセンスを含むことがある。セキュリティは、クラウド・コンシューマおよびタスクの識別確認ならびにデータおよび他のリソースの保護を提供する。ユーザ・ポータル983は、コンシューマおよびシステム管理者に、クラウド・コンピューティング環境へのアクセスを提供する。サービス水準管理984は、必要なサービス水準が達成されるようなクラウド・コンピューティング・リソースの割振りおよび管理を提供する。サービス水準合意(Service Level Agreement)(SLA)計画および履行985は、SLAによって将来必要になると予想されるクラウド・コンピューティング・リソースの事前調整および調達を提供する。
【0187】
ワークロード層990は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロードおよび機能の例は、マッピングおよびナビゲーション991、ソフトウェア開発およびライフサイクル管理992、仮想教室教育配信993、データ解析処理994、トランザクション処理995、ならびにセキュリティ情報およびイベント管理996を含む。セキュリティ情報およびイベント管理996は、ルールに基づく体系を適用することによってセキュリティ・イベントを処理することに関係することがある。
【0188】
本発明は、統合の任意の可能な技術的詳細レベルでシステム、方法もしくはコンピュータ・プログラム製品、またはこれらの組合せであることがある。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体を含むことがある。
【0189】
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持および記憶することができる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は例えば、限定はされないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたはこれらの適当な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、消去可能なプログラマブル・リードオンリー・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リードオンリー・メモリ(CD-ROM)、ディジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、機械的にコード化されたデバイス、例えばパンチカードまたはその上に命令が記録された溝の中の一段高くなった構造体、およびこれらの適当な組合せを含む。本明細書で使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が一過性の信号、例えば電波もしくは他の自由に伝搬する電磁波、ウェーブガイドもしくは他の伝送体内を伝搬する電磁波(例えば光ファイバ・ケーブル内を通る光パルス)、または電線を通して伝送される電気信号であると解釈されるべきではない。
【0190】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から対応するそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、またはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはそれらの組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードすることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバ、またはこれらの組合せを含むことができる。それぞれのコンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それらのコンピュータ可読プログラム命令を、対応するそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【0191】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、もしくは集積回路用の構成データであってもよく、またはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同種のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードもしくはオブジェクト・コードであってもよい。このコンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で実行されてもよく、独立型ソフトウェア・パッケージとして実行されてもよく、一部がユーザのコンピュータ上で、一部が遠隔コンピュータ上で実行されてもよく、または全体が遠隔コンピュータもしくは遠隔サーバ上で実行されてもよい。上記の最後のシナリオでは、遠隔コンピュータが、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、またはこの接続が、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)実施されてもよい。いくつかの実施形態では、本発明の態様を実施するために、例えばプログラム可能論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)またはプログラム可能論理アレイ(PLA)を含む電子回路が、このコンピュータ可読プログラム命令の状態情報を利用してその電子回路をパーソナライズすることにより、このコンピュータ可読プログラム命令を実行してもよい。
【0192】
本明細書では、本発明の態様が、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品の流れ図もしくはブロック図またはその両方の図を参照して説明される。それらの流れ図もしくはブロック図またはその両方の図のそれぞれのブロック、およびそれらの流れ図もしくはブロック図またはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実施することができることが理解される。
【0193】
これらのコンピュータ可読プログラム命令は、機械を形成する汎用コンピュータ、専用コンピュータまたは他のプログラム可能データ処理装置のプロセッサに、それらのコンピュータまたは他のプログラム可能データ処理装置のプロセッサによって実行されるこれらの命令が、これらの流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/動作を実施する手段を生成するような態様で、提供することができる。これらのコンピュータ可読プログラム命令はさらに、特定の方式で機能するようにコンピュータ、プログラム可能データ処理装置もしくは他のデバイスまたはこれらの組合せに指図することができるコンピュータ可読ストレージ媒体に、その中に命令が記憶されたコンピュータ可読ストレージ媒体が、これらの流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/動作の態様を実施する命令を含む製品を含むような態様で、記憶することができる。
【0194】
これらのコンピュータ可読プログラム命令はさらに、コンピュータ、他のプログラム可能装置または他のデバイス上で一連の動作ステップを実行させて、コンピュータによって実施されるプロセスを生み出すために、このコンピュータ、他のプログラム可能データ処理装置または他のデバイス上に、このコンピュータ、他のプログラム可能装置または他のデバイス上で実施されるこれらの命令が、これらの流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/動作を実施するような態様で、ロードすることができる。
【0195】
添付図中の流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能および動作を示す。この点に関して、それらの流れ図またはブロック図のそれぞれのブロックは、指定された論理機能を実施する1つまたは複数の実行可能命令を含む、命令のモジュール、セグメントまたは部分を表すことがある。いくつかの代替実施態様では、ブロックに示された機能を、図に示された順序とは異なる順序で実行することができる。例えば、連続して示された2つのブロックが、実際は、実質的に同時に実行されることがあり、または、含まれる機能によってはそれらのブロックが逆の順序で実行されることもある。それらのブロック図もしくは流れ図またはその両方の図のそれぞれのブロック、ならびにそれらのブロック図もしくは流れ図またはその両方の図のブロックの組合せを、指定された機能もしくは動作を実行しまたは専用ハードウェアとコンピュータ命令の組合せを実施するハードウェアベースの専用システムによって実施することができることにも留意すべきである。
【0196】
本発明のさまざまな実施形態の説明は例示のために示したものであり、それらの説明が網羅的であること、または開示された実施形態に限定されることは意図されていない。当業者には、記載された実施形態の範囲を逸脱しない多くの変更および変形が明らかとなろう。本明細書で使用されている用語は、実施形態の原理、実際的用途、もしくは市場に出ている技術についての技術的改良を最もうまく説明するように、または本明細書に開示された実施形態を他の当業者が理解することができるように選択した。