IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2024-545111リスク評価のためにポリシ遵守と脆弱性管理を組み合わせること
<>
  • 特表-リスク評価のためにポリシ遵守と脆弱性管理を組み合わせること 図1
  • 特表-リスク評価のためにポリシ遵守と脆弱性管理を組み合わせること 図2
  • 特表-リスク評価のためにポリシ遵守と脆弱性管理を組み合わせること 図3
  • 特表-リスク評価のためにポリシ遵守と脆弱性管理を組み合わせること 図4
  • 特表-リスク評価のためにポリシ遵守と脆弱性管理を組み合わせること 図5
  • 特表-リスク評価のためにポリシ遵守と脆弱性管理を組み合わせること 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-05
(54)【発明の名称】リスク評価のためにポリシ遵守と脆弱性管理を組み合わせること
(51)【国際特許分類】
   G06F 21/57 20130101AFI20241128BHJP
   G06N 20/00 20190101ALI20241128BHJP
【FI】
G06F21/57 370
G06N20/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024534159
(86)(22)【出願日】2022-12-06
(85)【翻訳文提出日】2024-06-07
(86)【国際出願番号】 EP2022084587
(87)【国際公開番号】W WO2023104791
(87)【国際公開日】2023-06-15
(31)【優先権主張番号】17/643,205
(32)【優先日】2021-12-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】ブルート、ムハンマド ファティ
(72)【発明者】
【氏名】アデバヨ、アブドゥルハミド
(72)【発明者】
【氏名】グエタ、リリアン
(72)【発明者】
【氏名】ダイ、ティン
(72)【発明者】
【氏名】アダム、コスタンチン
(72)【発明者】
【氏名】ソウ、デイビィ
(72)【発明者】
【氏名】オセペク、スティーブン
(57)【要約】
ポリシ遵守を脆弱性管理と組み合わせて、環境のより正確なリスク評価を提供する装置、方法、およびコンピュータ・プログラム製品が提供される。方法は、緩和技術分類を作り出すためのポリシ機械学習モデルを生成するために、第1の訓練データセットを使用してポリシ機械学習モデルを訓練することと、弱点タイプ分類を作り出すための脆弱性機械学習モデルを生成するために、第2の訓練データセットを使用して脆弱性機械学習モデルを訓練することとを含む。方法はまた、緩和技術分類を攻撃技術にマッピングしてポリシ・マッピングを作り出すことと、弱点タイプ分類を攻撃技術にマッピングして脆弱性マッピングを作り出すことも含む。方法は、ポリシ・マッピングおよび脆弱性マッピングに基づいて脆弱性のリスク評価を作り出すことをさらに含む。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサと、少なくとも1つのメモリとを含むデータ処理システムにおける方法であって、前記メモリが、前記プロセッサに前記方法を実行させるために前記プロセッサによって実行される命令を含み、前記方法が、
緩和技術分類を作り出すためのポリシ機械学習モデルを生成するために、第1の訓練データセットを使用してポリシ機械学習モデルを訓練することと、
弱点タイプ分類を作り出すための脆弱性機械学習モデルを生成するために、第2の訓練データセットを使用して脆弱性機械学習モデルを訓練することと、
前記緩和技術分類を攻撃技術にマッピングしてポリシ・マッピングを作り出すことと、
前記弱点タイプ分類を前記攻撃技術にマッピングして脆弱性マッピングを作り出すことと、
前記ポリシ・マッピングおよび前記脆弱性マッピングに基づいて脆弱性のリスク評価を作り出すことと
を含む、方法。
【請求項2】
前記リスク評価を作り出すことが、
前記脆弱性マッピングに基づいて前記リスク評価を生成することと、
前記脆弱性マッピングにマッピングされた前記攻撃技術を、前記ポリシ・マッピングにマッピングされた前記攻撃技術と比較することと、
前記比較に基づいて、前記ポリシ・マッピングが、前記脆弱性マッピングとして少なくとも1つの攻撃技術を含むと判断することと、
前記少なくとも1つの攻撃技術に基づいて、前記リスク評価を調整することと
を含む、請求項1に記載の方法。
【請求項3】
前記緩和技術分類をマッピングすることが、
攻撃技術分類を生成するために、第3の訓練データセットを使用して緩和マッピング機械学習モデルを訓練することであって、前記第3の訓練データセットが緩和技術を含む、前記訓練することと、
攻撃技術分類を作り出すために、前記緩和技術分類を前記緩和マッピング機械学習モデルに入力することと、
前記緩和技術分類とそれらに対応する攻撃技術分類に基づいて、前記ポリシ・マッピングを作り出すこととを含む、請求項1または2に記載の方法。
【請求項4】
前記弱点タイプ分類をマッピングすることが、
攻撃技術分類を生成するために、第3の訓練データセットを使用して弱点マッピング機械学習モデルを訓練することであって、前記第3の訓練データセットが弱点タイプを含む、前記訓練することと、
攻撃技術分類を作り出すために、前記弱点タイプ分類を前記弱点マッピング機械学習モデルに入力することと、
前記緩和技術分類とそれらに対応する攻撃技術分類に基づいて、前記脆弱性マッピングを作り出すことと
を含む、請求項1ないし3のいずれか一項に記載の方法。
【請求項5】
前記弱点タイプが、共通脆弱性タイプ一覧(CWE)リストに由来する、請求項4に記載の方法。
【請求項6】
前記第1の訓練データセットが、緩和技術の対応する分類を有する、特徴ベクトルに変換されたポリシ遵守エントリを含む、請求項1ないし5のいずれか一項に記載の方法。
【請求項7】
前記第2の訓練データセットが、弱点タイプの対応する分類を有する、特徴ベクトルに変換された脆弱性エントリを含む、請求項1ないし6のいずれか一項に記載の方法。
【請求項8】
前記脆弱性エントリが、共通脆弱性識別子(CVE)リストに由来する、請求項7に記載の方法。
【請求項9】
コンピュータ可読プログラムが記憶されたコンピュータ可読記憶媒体を含むコンピュータ・プログラム製品であって、前記コンピュータ可読プログラムがコンピューティング・デバイス上で実行されると、前記コンピューティング・デバイスに、
緩和技術分類を作り出すためのポリシ機械学習モデルを生成するために、第1の訓練データセットを使用してポリシ機械学習モデルを訓練することと、
弱点タイプ分類を作り出すための脆弱性機械学習モデルを生成するために、第2の訓練データセットを使用して脆弱性機械学習モデルを訓練することと、
前記緩和技術分類を攻撃技術にマッピングしてポリシ・マッピングを作り出すことと、
前記弱点タイプ分類を前記攻撃技術にマッピングして脆弱性マッピングを作り出すことと、
前記ポリシ・マッピングおよび前記脆弱性マッピングに基づいて脆弱性のリスク評価を作り出すことと
を行わせる、コンピュータ・プログラム製品。
【請求項10】
前記リスク評価を作り出すことが、前記コンピューティング・デバイスに、
前記脆弱性マッピングに基づいて前記リスク評価を生成することと、
前記脆弱性マッピングにマッピングされた前記攻撃技術を、前記ポリシ・マッピングにマッピングされた前記攻撃技術と比較することと、
前記比較に基づいて、前記ポリシ・マッピングが、前記脆弱性マッピングとして少なくとも1つの攻撃技術を含むと判断することと、
前記少なくとも1つの攻撃技術に基づいて、前記リスク評価を調整することと
を行わせる、請求項9に記載のコンピュータ・プログラム製品。
【請求項11】
前記緩和技術分類をマッピングすることが、前記コンピューティング・デバイスに、
攻撃技術分類を生成するために、第3の訓練データセットを使用して緩和マッピング機械学習モデルを訓練することであって、前記第3の訓練データセットが緩和技術を含む、前記訓練することと、
攻撃技術分類を作り出すために、前記緩和技術分類を前記緩和マッピング機械学習モデルに入力することと、
前記緩和技術分類とそれらに対応する攻撃技術分類に基づいて、前記ポリシ・マッピングを作り出すことと
を行わせる、請求項9または10に記載のコンピュータ・プログラム製品。
【請求項12】
前記弱点分類をマッピングすることが、前記コンピューティング・デバイスに、
攻撃技術分類を生成するために、第3の訓練データセットを使用して弱点マッピング機械学習モデルを訓練することであって、前記第3の訓練データセットが弱点タイプを含む、前記訓練することと、
攻撃技術分類を作り出すために、前記弱点タイプ分類を前記弱点マッピング機械学習モデルに入力することと、
前記緩和技術分類とそれらに対応する攻撃技術分類に基づいて、前記脆弱性マッピングを作り出すことと
を行わせる、請求項9ないし11のいずれか一項に記載のコンピュータ・プログラム製品。
【請求項13】
前記弱点タイプが、共通脆弱性タイプ一覧(CWE)リストに由来する、請求項12に記載のコンピュータ・プログラム製品。
【請求項14】
前記第1の訓練データセットが、緩和技術の対応する分類を有する特徴ベクトルに変換されたポリシ遵守エントリを含む、請求項9ないし13のいずれか一項に記載のコンピュータ・プログラム製品。
【請求項15】
前記第2の訓練データセットが、弱点タイプの対応する分類を有する特徴ベクトルに変換された脆弱性エントリを含む、請求項9ないし14のいずれか一項に記載のコンピュータ・プログラム製品。
【請求項16】
前記脆弱性エントリが、共通脆弱性識別子(CVE)リストに由来する、請求項15に記載のコンピュータ・プログラム製品。
【請求項17】
装置であって、
プロセッサと、
前記プロセッサに結合されたメモリであって、前記メモリが、前記プロセッサによって実行されると前記プロセッサに、
緩和技術分類を作り出すためのポリシ機械学習モデルを生成するために、第1の訓練データセットを使用してポリシ機械学習モデルを訓練することと、
弱点タイプ分類を作り出すための脆弱性機械学習モデルを生成するために、第2の訓練データセットを使用して脆弱性機械学習モデルを訓練することと、
前記緩和技術分類を攻撃技術にマッピングしてポリシ・マッピングを作り出すことと、
前記弱点タイプ分類を前記攻撃技術にマッピングして脆弱性マッピングを作り出すことと、
前記ポリシ・マッピングおよび前記脆弱性マッピングに基づいて脆弱性のリスク評価を作り出すことと
を行わせる、装置。
【請求項18】
前記リスク評価を作り出すことが、前記プロセッサに、
前記脆弱性マッピングに基づいて前記リスク評価を生成することと、
前記脆弱性マッピングにマッピングされた前記攻撃技術を、前記ポリシ・マッピングにマッピングされた前記攻撃技術と比較することと、
前記比較に基づいて、前記ポリシ・マッピングが、前記脆弱性マッピングとして少なくとも1つの攻撃技術を含むと判断することと、
前記少なくとも1つの攻撃技術に基づいて、前記リスク評価を調整することと
を行わせる、請求項17に記載の装置。
【請求項19】
前記緩和技術分類をマッピングすることが、前記プロセッサに、
攻撃技術分類を生成するために、第3の訓練データセットを使用して緩和マッピング機械学習モデルを訓練することであって、前記第3の訓練データセットが緩和技術を含む、前記訓練することと、
攻撃技術分類を作り出すために、前記緩和技術分類を前記緩和マッピング機械学習モデルに入力することと、
前記緩和技術分類とそれらに対応する攻撃技術分類に基づいて、前記ポリシ・マッピングを作り出すことと
を行わせる、請求項17または18に記載の装置。
【請求項20】
前記弱点タイプ分類をマッピングすることが、前記プロセッサに、
攻撃技術分類を生成するために、第3の訓練データセットを使用して弱点マッピング機械学習モデルを訓練することであって、前記第3の訓練データセットが弱点タイプを含む、前記訓練することと、
攻撃技術分類を作り出すために、前記弱点タイプ分類を前記弱点マッピング機械学習モデルに入力することと、
前記緩和技術分類とそれらに対応する攻撃技術分類に基づいて、前記脆弱性マッピングを作り出すことと
を行わせる、請求項17ないし19のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、リスク評価に関し、より詳細には、ポリシ遵守と脆弱性管理を組み合わせて、環境のより正確なリスク評価を提供することに関する。
【0002】
企業セキュリティは、セキュリティ・ポリシ、制御、脅威モデル、および脅威検出シナリオ(ユースケース)を横断的に調整する必要がある複雑な問題である。これらのポリシ、モデル、および制御の施行には、脅威監視技術、セキュリティ・デバイス、ならびにセキュリティ、ビジネス、および技術スキルを有するリソースの広範な使用を必要とする。大規模に増大し続ける脅威の数により、これらの脅威を防止、検出、および対応する担当のアナリストをサポートすることにおいて、自動化が必要とされる。たいていの場合、アナリストは広範なデータ・ソースを手作業で検索し、過去の脅威イベントとそれがどのように扱われたかをレビューし、重複イベント、現在オープンなイベント、および情報を扱うための適切な対応手順に関するナレッジ・データベースについてチェックしなければならない。
【0003】
現在、構造化データ、非構造化データ、半構造化データ、および参照データを含む、広範なデータ・ソースを分析し、脅威、セキュリティ・ポリシ、および制御異常を示すパターンを識別するための、脅威監視用の多様なツールが存在する。このような脅威または異常あるいはその両方が検出されると、「アクション可能な」アラートが作成される。いったん要因が考慮されれば、セキュリティ・アナリストは特定のアラートに対する最適な処分を決定することができる。
【発明の概要】
【0004】
本開示の実施形態は、ポリシ遵守と脆弱性管理を組み合わせて、環境のより正確なリスク評価を提供するための方法を含む。方法は、緩和技術分類を作り出すためのポリシ機械学習モデルを生成するために、第1の訓練データセットを使用してポリシ機械学習モデルを訓練することと、弱点タイプ分類を作り出すための脆弱性機械学習モデルを生成するために、第2の訓練データセットを使用して脆弱性機械学習モデルを訓練することとを含む。方法はまた、緩和技術分類を攻撃技術にマッピングしてポリシ・マッピングを作り出すことと、弱点タイプ分類を攻撃技術にマッピングして脆弱性マッピングを作り出すことも含む。方法は、ポリシ・マッピングおよび脆弱性マッピングに基づいて脆弱性のリスク評価を作り出すことをさらに含む。
【0005】
本開示の追加的な実施形態は、ポリシ遵守と脆弱性管理を組み合わせて、環境のより正確なリスク評価を提供するためのコンピュータ・プログラム製品、コンピュータ可読プログラムが記憶されたコンピュータ可読記憶媒体を含み、コンピュータ可読プログラムは、コンピューティング・デバイス上で実行されると、コンピューティング・デバイスに、緩和技術分類を作り出すためのポリシ機械学習モデルを生成するために、第1の訓練データセットを使用してポリシ機械学習モデルを訓練させ、弱点タイプ分類を作り出すための脆弱性機械学習モデルを生成するために、第2の訓練データセットを使用して脆弱性機械学習モデルを訓練させる。コンピュータ・プログラムはまた、コンピューティング・デバイスに、緩和技術分類を攻撃技術にマッピングしてポリシ・マッピングを作り出させ、弱点タイプ分類を攻撃技術にマッピングして脆弱性マッピングを作り出させる。また、コンピュータ・プログラムは、ポリシ・マッピングおよび脆弱性マッピングに基づいて、コンピューティング・デバイスに脆弱性のリスク評価を作り出させる。
【0006】
本開示のさらなる実施形態は、ポリシ遵守と脆弱性管理を組み合わせて、環境のより正確なリスク評価を提供するための特徴および機械学習モデルを動的に選択する装置を含む。装置は、メモリ、プロセッサ、コンピュータ実行可能コードが記憶されたローカル・データ・ストレージを含む。コンピュータ実行可能コードは、プロセッサに上述の方法を実行させるための、プロセッサによって実行可能なプログラム命令を含む。本概要は、本開示の各態様、すべての実装形態、またはすべての実施形態あるいはその組合せを説明することを意図したものではない。
【0007】
本開示の実施形態のこれらおよび他の特徴、態様、および利点は、以下の説明、添付の特許請求の範囲、および添付の図面に関してより良く理解されるであろう。
【図面の簡単な説明】
【0008】
図1】本開示の1つまたは複数の実施形態によって使用される改善されたコンピューティング・ツールの主要動作要素の動作を示すブロック図である。
図2】環境のリスク評価を決定する際のランタイム動作中の訓練済機械学習モデルの動作を示し、本開示の1つまたは複数の実施形態によって使用されるブロック図である。
図3】本開示の実施形態に従って実行される、環境のより正確なリスク評価を提供するために、ポリシ遵守と脆弱性管理を組み合わせたプロセスを示すフロー図である。
図4】本開示が実施され得る本明細書に記載の方法、ツール、モジュール、および任意の関連機能の1つまたは複数を実施する際に使用され得る例示的なコンピュータ・システムを示す高レベル・ブロック図である。
図5】本開示の実施形態に従ったクラウド・コンピューティング環境の図である。
図6】本開示の実施形態に従った抽象モデル・レイヤの図である。
【発明を実施するための形態】
【0009】
本開示は様々な修正形態および代替形態を受け入れられる余地があるが、その具体例を図面に例示的に示し、詳細に説明する。しかしながら、説明される特定の実施形態を限定する意図はないことを理解されたい。それとは逆に、その意図は、本開示の範囲に含まれるすべての修正形態、等価物、代替形態を網羅することにある。添付図面では、同様の参照数字は同様の部分を指定するために使用されている。
【0010】
本開示は、リスク評価に関し、より詳細には、ポリシ遵守と脆弱性管理を組み合わせて、環境のより正確なリスク評価を提供することに関する。本開示は必ずしもこのような用途に限定されるものではないが、本開示の様々な態様は、このような文脈を用いた様々な例の考察を通じて理解されよう。
【0011】
情報システム・セキュリティ(ISS)は、情報、および情報を記憶して処理するシステムを保護しようとするものである。この保護は、情報の不正アクセス、使用、公開、妨害、改変、または破壊につながる可能性のあるリスクに対するものである。組織は、リスクに対して情報を保護するように設計されたセキュリティ・ポリシを採用している。ポリシ遵守管理、すなわちガバナンスは、これらのポリシ、プロセス、基準、およびガイドラインの遵守を確保するために実施される。ポリシに従っていれば、重要な情報が適切に管理されていることがある程度保証される。加えて、規制当局は、株主、顧客、および一般大衆に対するリスクが組織によって適切に管理されているかどうかのポリシ遵守を調べることができる。
【0012】
コンプライアンス・テストは、ガバナンス・プロセスについて一貫性のある比較可能な洞察を提供することができる。定期的かつ一貫してテストを行うことで、組織は経時的に改善を比較することができる。管理者は、経時的にプロセスを改良し、プロセスを改良および改善する変更を行うことができる。例えば、システム構成に関するポリシは、特定の脆弱性を緩和するのに役立ち、脆弱性のリスクを完全に排除できる可能性がある。ポリシに準拠していることを保証することで、組織は自身の情報をより確実に保護することができる。
【0013】
セキュリティ・ポリシ、または単にポリシは、組織によって実行されるアクションまたはプロセスに対するビジネス要件と考えることができる。これらのポリシは、ユーザ向けに規則を設定し、違反の結果を定義し、組織に対するリスクを最小限に抑えることができる。セキュリティ・ポリシは、確立された規範または方法である標準の形式をとることもでき、これは、組織全体で実施される手続き上の標準または技術的な標準とすることができる。ポリシには、ポリシを実施するために必要な手順を記述した手順、およびこのようなポリシの実施に関するパラメータを詳述したガイドラインを含めることもできる。例えば、ガイドラインは、あるポリシを一部のユーザには任意選択とし、他のユーザには必須とすることができる。
【0014】
ポリシ遵守管理に加えて、組織は、自身の情報技術(IT)インフラ内の潜在的な脆弱性から保護するために、脆弱性管理を実施することもできる。既知の脆弱性を取り除くことで、攻撃者がエンドポイントを侵害し、環境内に足場を築くことがより難しくなる。脆弱性が存在する場合、ポリシ遵守管理では攻撃者からシステムを完全に保護できない可能性があるため、脆弱性管理は極めて重要である。
【0015】
脆弱性管理は、パッチ管理システムを含むことによって脆弱性から保護しようとすることができる。パッチ管理は、ソフトウェア構成管理(SCM)システムと連携して、企業全体のサーバおよびエンドポイントのバージョンおよびパッチ・レベルを追跡することができる。それによりリモートでパッチを当て、システムを最新の状態に保つことができる。有用ではあるが、パッチ管理は、パッチがある脆弱性に対して利用可能であり、それらのパッチを適用するのに十分な時間と人手があることを前提としている。しかし、実際の環境では、そのような条件は存在しないことがあり、一定のコンポーネントはSCMによって検出できないことがある。例えば、ルータ、ファイアウォール、テスト機、放置されたサーバ、および互換性のないオペレーティング・システムを実行しているデバイスなどのコンポーネントは、検出できない可能性があり、古くなる可能性がある。このような状況を踏まえ、脆弱性管理は、ネットワーク機器に存在する脆弱性の全領域を評価し、どの脆弱性が組織のセキュリティに最も高いリスクをもたらすかを判断することで、リスクを管理しようとするものである。リスク評価が実施されれば、緩和技術を実施することができる。
【0016】
しかし、ポリシ遵守管理と脆弱性管理では、環境へのリスクを評価する際にこれら2つのセキュリティ・コンポーネントを別個に見ているため、限界が残っている。環境には、脆弱性のリスクを低減するポリシが存在するために、脆弱性が必ずしも環境を危険にさらさない状況も生じ得る。現在のところ、ある脆弱性と実施されている緩和チェックとの間で相関は行われていない。
【0017】
本開示の実施形態は、ポリシ遵守と脆弱性管理を組み合わせて、環境のより正確なリスク評価を提供するメカニズムを実現することによって、上述および他の問題を克服することができる。このようなメカニズムでは、ポリシ遵守ログを利用して、緩和技術を分類する際に機械学習モデルを訓練し、利用することができる。さらに、脆弱性ログ(例えば、共通脆弱性識別子(CVE)ログ)は、弱点(例えば、共通脆弱性タイプ一覧(CWE))を分類する際に機械学習モデルを訓練し、利用するために使用される。緩和技術分類と既知の攻撃技術との間には、マッピングを作成することができる。加えて、弱点分類と既知の攻撃技術との間には別のマッピングを作成することもできる。ランタイム動作中、リスク評価が実行されると、発見された攻撃技術を対応する緩和技術と照合し、環境に対する全体的なリスクのより正確に評価を与えることができる。
【0018】
より具体的には、コンプライアンス・セキュリティ・チェックと環境内の脆弱性の関係を識別するために、機械学習モデルが使用される。環境内で脆弱性が検出されると、対応する実施中のポリシがリスク評価と照らし合わされ、環境内の弱点だけでなく、そのようなリスクを軽減する可能性のある実施中のポリシも考慮した評価が与えられる。例えば、デバイス(例えば、ポータブル・ハード・ドライブ、フラッシュ・ドライブなど)をサーバにマウントすることに関して脆弱性が発見されることがある。しかし、ユーザがデバイスをサーバにマウントする能力を制限し、阻止するポリシが存在する可能性がある。そのため、リスクと併せてポリシを考慮する場合、脆弱性が利用されるのを防ぐ対策が既に講じられているため、全体的なリスク評価は低いものとして考えられる。
【0019】
いくつかの実施形態において、リスク評価を作り出すことは、最初に脆弱性マッピングに基づいてリスク評価を生成することを含む。最初のリスク評価は、環境内で検出された脆弱性に基づくことができる。いったん生成されると、脆弱性マッピングにマッピングされた攻撃技術は、ポリシ・マッピングにマッピングされた攻撃技術と比較することができる。その比較に基づいて、ポリシ・マッピングが、脆弱性マッピングとして少なくとも1つの攻撃技術を含むと判断することができる。脆弱性に関連して攻撃技術に対応するポリシ・マッピングが少なくとも1つ存在するため、実施中のポリシの要因のより正確な評価を与えるために最初のリスク評価を調整することができる。
【0020】
いくつかの実施形態では、軽減技術と攻撃技術のマッピングを容易にするために機械学習モデルが使用される。最初に、攻撃技術分類を生成するために、第3の訓練データセットを使用して緩和マッピング機械学習モデルが訓練される。第3の訓練データセットは、攻撃技術の対応する分類を有する、特徴ベクトルに変換された緩和技術を含むことができる。緩和技術分類は、緩和マッピング機械学習モデルに入力することで、ランタイム動作中に攻撃技術分類を作り出すことができる。ポリシ・マッピングは、対応する攻撃技術分類にマッピングされた緩和技術分類に基づいて作り出すことができる。
【0021】
いくつかの実施形態では、弱点タイプと攻撃技術のマッピングを容易にするために、機械学習モデルが使用される。最初に、攻撃技術分類を生成するために、第3の訓練データセットを使用して弱点マッピング機械学習モデルが訓練される。第3の訓練データセットは、攻撃技術の対応する分類を有する、特徴ベクトルに変換された弱点タイプを含むことができる。弱点タイプ分類は、弱点マッピング機械学習モデルに入力することで、ランタイム動作中に攻撃技術分類を作り出すことができる。脆弱性マッピングは、対応する攻撃技術分類にマッピングされた弱点タイプ分類に基づいて作り出すことができる。
【0022】
機械学習(ML)モデルベースのポリシ遵守および脆弱性管理のメカニズムは、コンピュータ・システムのポリシおよび脆弱性を環境の全体的なリスク評価に分類するために実装することができる。コンピュータ・システムのポリシおよび脆弱性を分類するために、様々な異なるMLモデルを使用することができ、場合によっては、リスク評価を判断することに関してポリシおよび脆弱性のログ・データ構造からコンピューティング・システムの状態を分類するため「分類器」とも呼ばれる、ランダム・フォレスト、勾配ブースティング、および深層学習機械学習モデルのアンサンブルなど、そのようなMLモデルのアンサンブルを利用することができる。実装される特定のポリシ遵守または脆弱性管理あるいはその両方のメカニズムにおいて、どのMLモデルを使用するかを判断するためである。
【0023】
図1は、本開示の実施形態に従って、ポリシ遵守チェックを脆弱性管理結果と組み合わせたリスク評価を提供するための、改善されたコンピューティング・ツール100の主要動作要素の動作を示すブロック図である。コンピューティング・ツール100は、監視対象コンピューティング環境102、ポリシ遵守チェック110、緩和技術120、ポリシ機械学習モデル130、ポリシ訓練データセット132、緩和機械学習モデル140、緩和訓練データセット142、脆弱性リスト150、弱点タイプ・リスト160、脆弱性機械学習モデル170、脆弱性訓練データセット172、弱点機械学習モデル180、弱点訓練データセット182、およびリスク評価器190を含む。本説明の目的上、例示的な実施形態は、コンピュータ・セキュリティ・メカニズムの一部として実装され、特に、ポリシ遵守と脆弱性管理を組み合わせたリスク評価を対象とするものと仮定する。しかし、これは1つの可能な実装形態に過ぎず、本開示を限定することを意図したものではない。本開示の趣旨および範囲から逸脱することなく、入力データ内の異常パターンを識別できる他の実施形態が使用されてもよい。
【0024】
ポリシ遵守チェック110は、コンポーネント、コンピュータ、モジュール、デバイスなどが、企業によって導入されたセキュリティ・ポリシに準拠しているかどうかをチェックする、監視対象コンピューティング環境102のスキャンである。ポリシ遵守チェック110の中には、監視対象コンピューティング環境102に強制されるポリシ・フレームワーク内のセキュリティ・ポリシが含まれている。セキュリティ・ポリシ、または単にポリシは、情報、および情報を記憶して処理するシステムを保護するための要件を定めたものである。ポリシは、組織によって実施されるアクションまたはプロセスに対する要件と考えることができる。保護は、情報の不正アクセス、使用、公開、妨害、改変、または破壊につながる可能性のあるリスクに対するものである。これらのポリシは、どのような場所でも、どのような形態でも、情報の保護を保証しようとするものである。ポリシの作成は、監視対象コンピューティング環境102に関する多くの要因によって決定することができる。要因には、組織の規模、プロセス、情報の種類、ならびに組織が従わなければならない法律および規制が含まれる。
【0025】
ポリシ遵守チェック110は、監視対象コンピューティング環境102をスキャンし、セキュリティ・ポリシ中の要件がセキュリティ制御および情報に適用されていることを検証する。ポリシ遵守チェック110は、1組の制御に対する遵守を測ることができる。これらの制御は、情報がどのように保護されるかを定義することができる。いくつかの実施形態では、ポリシ遵守チェック110は、遵守のレベルを判断するために、各ポリシに準拠しているデバイスの数を報告することができる。遵守のレベルは、デバイスの使用状況とトラフィック・スループットを考慮することができる。例えば、3つのファイアウォールはポリシを遵守しているが、4つ目のファイアウォールは遵守していない。しかし、4つ目のファイアウォールはインターネット・トラフィックの70%を扱っている。このトラフィック・スループットを扱うことは、その組織はポリシの30%しか遵守していないことを意味する。
【0026】
いくつかの実施形態では、ポリシ遵守チェックは、監視対象コンピューティング環境102内の異なるドメイン・ポリシ要件を含む。例えば、監視対象コンピューティング環境102は、ローカル・エリア・ネットワーク(LAN)ドメイン、ワイド・エリア・ネットワーク(WAN)ドメイン、ユーザ・ドメイン、ワークステーション・ドメイン、リモート・アクセス・ドメイン、LAN-to-WANドメイン、システム/アプリケーション・ドメインなどの異なるドメインを含むことができる。これらのドメインの各々は、その機器および運用などの要因に基づいて、独自のポリシ要件を有する可能性がある。ポリシ遵守チェック110は、これらのドメインの各々に関する情報を個別に、または別個に、あるいはその両方で含むことができる。
【0027】
緩和技術120は、監視対象コンピューティング環境102で実施されたときに、技術によって潜在的に緩和される脆弱性に対する技術である。ポリシ・フレームワークの各ポリシは、そのポリシが妨げる潜在的な脆弱性の緩和技術に関連付けることができる。緩和技術120は、脆弱性技術またはサブ技術が成功裏に実行されるのを防ぐために使用できるセキュリティ概念および技術のクラスを表すことができる。緩和技術120には、データ・バックアップ、暗号化、アンチウイルス、ブート整合性、実行防止、ハードウェア/ソフトウェアのインストール制限、ネットワーク・セグメンテーション、オペレーティング・システム構成、パスワード・ポリシ、レジストリ制限、ソフトウェア・アップデート、およびユーザ・アカウント制御などが含まれるが、これらに限定されるものではない。
【0028】
ポリシ機械学習モデル130は、機械学習モデルとして構成されたコンピューティング・ツール100のコンポーネントであり、ポリシ・フレームワーク内のポリシの緩和技術を識別するように訓練されている。ポリシ機械学習モデル130は、様々なタイプの機械学習(ML)モデルとして構成することができる。これらのMLモデルには、畳み込みニューラル・ネットワーク(CNN)、ディープ・ニューラル・ネットワーク(DNN)、再帰ニューラル・ネットワーク(RNN)、または他のタイプの機械学習モデルが含まれる。例えば、ポリシ機械学習モデル130は、深層学習モデル、ランダム・フォレスト・モデル、勾配ブースト・モデル、サポート・ベクタ・マシンなどとすることができる。ポリシMLモデル130は、ポリシを入力し、ポリシに関連する緩和技術を分類するように訓練される。ポリシと緩和技術には直接的なマッピングが存在するが、一部のポリシは直接的にマッピングされない緩和技術に関連することがある。注意すべきは、これは1つの可能な実装形態に過ぎず、他の実施形態は、異なるレベルの粒度および複雑さの分類を提供するように構成され得ることを理解されたい。例えば、ポリシ機械学習モデル130は、各ベクトル・スロットが異なる分類に対応し、各ベクトル・スロットの値が対応する分類が特定の入力に適用される確率を示すベクトル出力など、異なるタイプの緩和技術に対する個別の分類を提供することができる。
【0029】
ポリシ機械学習モデル130は、ランタイム動作中にポリシから緩和技術を識別できるようにするために、訓練データセット132から、ポリシ中の特徴を緩和技術に分類するための訓練を必要とする。訓練に関して、訓練データセット132は、訓練データセット・ソース(図示せず)から与えられる。訓練データセット132の訓練データは、それぞれが監視対象コンピューティング環境102上で実装可能なポリシ134を表すことができる、ポリシを表す訓練データ・エントリを含む。各訓練データ・エントリはまた、その訓練データ・エントリに対応する分類136、例えば緩和技術を有する。加えて、訓練データセット132はまた、監視対象コンピューティング環境102上で現在実装されていてもよいし、実装されていなくてもよい追加的なポリシ134を、対応する正しい分類136、またはグランド・トゥルース分類とともに含むこともできる。
【0030】
緩和機械学習モデル140は、機械学習モデルとして構成され、ポリシ機械学習モデル130によって作り出された緩和技術から攻撃技術を識別するように訓練された、コンピューティング・ツール100のコンポーネントである。攻撃技術とは、敵対者があるアクションを行う際に、どのように戦術的目標を達成するかについての技術である。例えば、アクセス・トークン操作は、敵対者がアクセス・トークンを改変し、異なるユーザまたはシステム・セキュリティ・コンテキストの下で操作して、アクションを実行し、アクセス制御をバイパスし得る攻撃技術である。特権アカウント管理およびユーザ・アカウント管理など、ユーザがトークンを作成する能力を制限する緩和技術は、アクセス・トークン操作攻撃に対抗する緩和技術となり得る。
【0031】
緩和機械学習モデル140は、様々なタイプのMLモデルとして構成することができる。これらのMLモデルには、CNN、DNN、RNN、または他のタイプの機械学習モデルが含まれる。例えば、緩和機械学習モデル140は、深層学習モデル、ランダム・フォレスト・モデル、勾配ブースト・モデル、サポート・ベクタ・マシンなどとすることができる。緩和MLモデル140は、緩和技術を入力し、入力された緩和技術に関連する攻撃技術を分類するように訓練される。緩和技術と攻撃技術には直接的なマッピングが存在するが、一部の緩和技術は、直接的にマッピングされない攻撃技術に関連することがある。注意すべきは、これは1つの可能な実装形態に過ぎず、他の実施形態は、異なるレベルの粒度および複雑さの分類を提供するように構成され得ることを理解されたい。例えば、緩和機械学習モデル140は、各ベクトル・スロットが異なる分類に対応し、各ベクトル・スロットの値が対応する分類が特定の入力に適用される確率を示すベクトル出力など、異なるタイプの緩和技術に対する個別の分類を提供することができる。
【0032】
緩和機械学習モデル140は、ランタイム動作中に緩和技術から攻撃技術を識別できるようにするために、訓練データセット142から、緩和技術における特徴を攻撃技術に分類するための訓練を必要とする。訓練に関して、訓練データセット142は、訓練データセット・ソース(図示せず)から与えられる。訓練データセット142の訓練データは、それぞれが監視対象コンピューティング環境102上で実装可能な緩和技術144を表すことができる、緩和技術を表す訓練データ・エントリを含む。各訓練データ・エントリはまた、その訓練データ・エントリに対応する分類146、例えば攻撃技術を有する。加えて、訓練データセット142はまた、監視対象コンピューティング環境102で現在実装されてもよいし、実装されなくてもよい追加的な緩和技術144を、対応するグランド・トゥルース分類146とともに含むこともできる。
【0033】
脆弱性リスト150は、サイバーセキュリティ脆弱性を集約したものである。これらの脆弱性は、監視対象コンピューティング環境102から情報を収集することで、検出および集約することができる。この情報には、ネットワーク上のホスト、エンドポイント、ネットワーク・デバイスなどの情報が含まれる。ホスト情報は、ネットワーク・マッピン・グツール(例えば、Nmap)、資産データベース・ツール、または構成管理データベース(CMDB)を使用した探索スキャンから収集することができる。脆弱性スキャナは、ネットワークベースのスキャンまたはホストベースのエージェントのいずれかを通して、デバイスと対話することによって脆弱性を発見するために実装することができる。検出された脆弱性は、脆弱性リスト150に追加することができる。ネットワーク・スキャナはまた、範囲内のすべてのインターネット・プロトコル(IP)アドレス、またはIPの特定のリストにアクセスし、どのポートが開いているか、それらのポートでどのサービスが実行中か、オペレーティング・システム(OS)のバージョン、関連構成、および各デバイスで実行中のソフトウェア・パッケージを判断するために使用することもできる。ホストベースのスキャンレス・エージェントは、監視対象コンピューティング環境102内のシステムに問い合わせ、実行中のサービスおよびバージョン情報を判断することができる。これらのスキャンおよび脆弱性チェックは、脆弱性リスト150に現行の脆弱性が含まれていることを確実にするために、定期的に実行することができる。脆弱性を検出するために、他のスキャンおよび方法が使用されてもよいことに留意されたい。
【0034】
いくつかの実施形態では、脆弱性リスト150には、一般に公開されているコンピュータ・セキュリティの欠陥を含む共通脆弱性識別子(CVE)リストを含む。CVEは、ある脆弱性や暴露に対して標準化された識別子を提供する。この識別子を使用して、CVEと互換性のある複数の情報源から、その問題に関する情報にアクセスすることができる。例えば、CVE IDへの参照を含むレポートを持つセキュリティ・ツールは、CVEとも互換性のある別個のデータベース中の固定情報にアクセスすることができる。いくつかの実施形態では、脆弱性リスト150は、現在公に知られている脆弱性、および監視対象コンピューティング環境102内で検出された脆弱性を解析する。公に知られている脆弱性は、別個に扱うこともできるし、検出された脆弱性と一緒に扱うこともできる。
【0035】
弱点タイプ・リスト160は、セキュリティに悪影響のあるソフトウェアおよびハードウェアの弱点タイプを集約したものである。「弱点」とは、ソフトウェアもしくはハードウェアの実装、コード、設計、またはアーキテクチャにおける欠陥、障害、バグ、またはその他のエラーと考えることができ、対処されないまま放置されると、システム、ネットワーク、またはハードウェアが攻撃に対して脆弱になる可能性がある。各弱点タイプには、説明、関連する弱点、その弱点がどのように環境に持ち込まれるかの説明、およびその弱点が対処されない場合に起こり得る潜在的な脆弱性などを含めることができる。
【0036】
いくつかの実施形態では、弱点タイプ・リスト160は、公に開示された共通弱点タイプおよびハードウェア弱点タイプを含む共通脆弱性タイプ一覧(CWE)リストを含む。これらの弱点タイプは、ソフトウェア弱点タイプとハードウェア弱点タイプに分けられ、さらに弱点タイプによって分類される。例えば、ソフトウェア弱点タイプのカテゴリには、認証エラー、カプセル化問題、特権問題、乱数問題、信号問題、型エラーなどがある。そして、このような個々のカテゴリの中に、様々な弱点タイプを列挙することができる。
【0037】
脆弱性機械学習モデル170は、機械学習モデルとして構成され、脆弱性リスト150の脆弱性から弱点タイプを識別するように訓練された、コンピューティング・ツール100のコンポーネントである。脆弱性機械学習モデル170は、様々なタイプのMLモデルとして構成することができる。これらのMLモデルには、CNN、DNN、RNN、または他のタイプの機械学習モデルが含まれる。例えば、脆弱性機械学習モデル170は、深層学習モデル、ランダム・フォレスト・モデル、勾配ブースト・モデル、サポート・ベクタ・マシンなどとすることができる。脆弱性MLモデル170は、脆弱性を入力し、入力された脆弱性に関連する弱点タイプを分類するように訓練される。脆弱性と弱点タイプの間には直接的なマッピングが存在するが、一部の脆弱性は、直接的にマッピングされない弱点タイプに関連することがある。注意すべきは、これは1つの可能な実装形態に過ぎず、他の実施形態は、異なるレベルの粒度および複雑さの分類を提供するように構成され得ることを理解されたい。例えば、脆弱性機械学習モデ179は、各ベクトル・スロットが異なる分類に対応し、各ベクトル・スロットの値が対応する分類が特定の入力に適用される確率を示すベクトル出力など、異なるタイプの脆弱性に対する個別の分類を提供することができる。
【0038】
脆弱性機械学習モデル170は、ランタイム動作中に脆弱性から弱点タイプを識別できるようにするために、訓練データセット172から、緩和技術における特徴を攻撃技術に分類するための訓練を必要とする。訓練に関して、訓練データセット172は、訓練データセット・ソース(図示せず)から与えられる。訓練データセット172の訓練データは、それぞれが監視対象コンピューティング環境102上で発見された脆弱性174を表すことができる、脆弱性を表す訓練データ・エントリを含む。各訓練データ・エントリはまた、その訓練データ・エントリに対応する分類176、例えば弱点タイプを有する。加えて、訓練データセット172はまた、監視対象コンピューティング環境102で現在発見されていてもよいし、発見されていなくてもよい追加的な脆弱性174を、対応するグランド・トゥルース分類146とともに含むこともできる。
【0039】
弱点機械学習モデル180は、機械学習モデルとして構成され、脆弱性機械学習モデル170によって作り出された弱点タイプから攻撃技術を識別するように訓練された、コンピューティング・ツール100のコンポーネントである。攻撃技術とは、敵対者があるアクションを行う際に、どのように戦術的目標を達成するかについての技術である。例えば、アクセス・トークン操作は、敵対者がアクセス・トークンを改変し、異なるユーザまたはシステム・セキュリティ・コンテキストの下で操作して、アクションを実行し、アクセス制御をバイパスし得る攻撃技術である。ファイル・システムへのアクセス制御の弱さ、システムへのアクセス制御の弱さ、およびユーザ・アカウント制御の弱さなどの弱点タイプは、アクセス・トークン操作を潜在的に生じさせる弱点である。
【0040】
弱点機械学習モデル180は、様々なタイプのMLモデルとして構成することができる。これらのMLモデルには、CNN、DNN、RNN、または他のタイプの機械学習モデルが含まれる。例えば、弱点機械学習モデル180は、深層学習モデル、ランダム・フォレスト・モデル、勾配ブースト・モデル、サポート・ベクタ・マシンなどとすることができる。弱点MLモデル180は、緩和技術を入力し、入力された緩和技術に関連する攻撃技術を分類するように訓練される。弱点タイプと攻撃技術の間には直接的なマッピングが存在するが、一部の弱点タイプは、直接的にマッピングされない攻撃技術に関連することがある。注意すべきは、これは1つの可能な実装形態に過ぎず、他の実施形態は、異なるレベルの粒度および複雑さの分類を提供するように構成され得ることを理解されたい。例えば、弱点機械学習モデル180は、各ベクトル・スロットが異なる分類に対応し、各ベクトル・スロットの値が対応する分類が特定の入力に適用される確率を示すベクトル出力など、異なるタイプの攻撃技術に対する個別の分類を提供することができる。
【0041】
弱点機械学習モデル180は、ランタイム動作中に弱点タイプから攻撃技術を識別できるようにするために、弱点タイプにおける特徴を攻撃技術に分類するために訓練データセット182からの訓練を必要とする。訓練に関して、訓練データセット182は、訓練データセット・ソース(図示せず)により与えられる。訓練データセット182の訓練データは、それぞれが監視対象コンピューティング環境102上で発見された弱点タイプ184を表すことができる、弱点タイプ184を表す訓練データ・エントリを含む。各訓練データ・エントリはまた、その訓練データ・エントリに対応する分類186、例えば攻撃技術を有する。加えて、訓練データセット182はまた、監視対象コンピューティング環境102で現在発見されていてもよいし、発見されていなくてもよい追加的な弱点タイプ184を、対応するグランド・トゥルース分類186とともに含むこともできる。
【0042】
リスク評価器190は、監視対象コンピューティング環境102のリスク評価を提供するように構成されたコンピューティング・ツール100のコンポーネントである。リスク評価は、環境の全体的なセキュリティの強度を測定し、セキュリティ・リスクに変更を加えるために必要な追加情報を提供することができる。リスク評価には、組織の資産を保護する現行のセキュリティ制御の有効性の客観的分析、およびそれらの資産の損失確率の判定を含めることができる。加えて、リスク評価は、監視対象コンピューティング環境102の脅威環境、資産価値、システムの重要度、セキュリティ制御の脆弱性、予想される損失影響をレビューし、またセキュリティ・リスクを許容可能なレベルまで低減するための追加的な制御に関する推奨事項を提供することもできる。この情報に基づいて、追加的なセキュリティ制御が必要かどうかを判断することができる。
【0043】
リスク評価器は、脆弱性リストの脆弱性、対応する弱点タイプ、および弱点タイプと攻撃技術の間の脆弱性マッピングを分析することにより、リスク評価を生成することができる。リスク評価器はさらに、脆弱性マッピングにマッピングされた攻撃技術を、攻撃技術と緩和技術との間のポリシ・マッピングにマッピングされた攻撃技術と比較することにより、リスク評価を調整することができる。緩和技術は、監視対象コンピューティング環境102の中で既に実施されているセキュリティ対策を表すことができる。攻撃技術がこれらの緩和技術にマッピングされると、リスク評価器190は、既に実施されている緩和技術に基づいてリスクの重大性を低減することができる。例えば、監視対象コンピューティング環境102にリスクを生じさせる脆弱性および弱点タイプから、ネットワークのサービス拒否(DOS)攻撃技術が発見される可能性がある。しかし、ネットワーク・トラフィックをフィルタリングするなどの緩和技術は、ネットワーク・トラフィックを減少させ、このような攻撃の発生を防いでいる。
【0044】
リスク評価器190は、リスクベースでの監視対象環境102の脆弱性および弱点だけでなく、監視対象コンピューティング環境102内で実施されている緩和技術およびポリシに基づいて、リスク評価を大小のリスクに調整することができる。ポリシ・マッピングは、脆弱性マッピングとともに使用することで、2つのマッピングにおける攻撃技術の類似性に基づいてリスクを調整することができる。
【0045】
図1は、改善されたコンピューティング・ツール100の主要な代表コンポーネントを描写することを意図していることに留意されたい。しかしながら、いくつかの実施形態では、個々のコンポーネントは、図1に表されているものよりも複雑さが大きくても小さくてもよく、図1に示されているコンポーネント以外のコンポーネントまたは図1に示されているコンポーネントに加えてコンポーネントが存在してもよく、そのようなコンポーネントの数、種類、および構成は変化してもよい。
【0046】
上述の方法でポリシ機械学習モデル130、緩和機械学習モデル140、脆弱性機械学習モデル170、および弱点機械学習モデル180を訓練した後、図2に示すように、ランタイム動作中に、ポリシ機械学習モデル130は、上述の方法でポリシ遵守リスト110を作り出すために評価され得る複数のコンピューティング・システム・リソース、例えば、ハードウェアまたはソフトウェアあるいはその両方のリソース、データ構造などを有する監視対象コンピューティング環境102から、ポリシ遵守リスト110の形態で入来データを受信することができる。加えて、脆弱性機械学習モデル170は、上述の方法で脆弱性リスト150を作り出すためにコンピューティング・システム・リソースを評価することによって、監視対象コンピューティング環境102から脆弱性リスト150の形態で入来データを受信することができる。
【0047】
ポリシ機械学習モデル130は、入来ポリシ遵守リスト110の分類、およびその分類に対応する緩和技術120の予測を生成することができる。緩和技術120は、次いで緩和機械学習モデル140の入来データとして使用される。緩和機械学習モデル140は、入来緩和技術120の分類、およびその分類に対応する攻撃技術の予測を生成することができる。緩和技術と攻撃技術の関連付けは、ポリシ・マッピングと考えることができる。
【0048】
脆弱性機械学習モデル170は、入来脆弱性リスト150の分類、およびその分類に対応する弱点タイプ160の予測を生成することができる。弱点タイプ160は、次いで弱点機械学習モデル180の入来データとして使用できる。弱点機械学習モデル180は、入来弱点タイプ160の分類、およびその分類に対応する攻撃技術の予測を生成することができる。弱点タイプと攻撃技術の関連付けは、脆弱性マッピングと考えることができる。
【0049】
このプロセスは、ポリシ遵守リスト110および脆弱性リスト150の各ポリシおよび脆弱性についてそれぞれ繰り返され、ポリシおよび脆弱性の各々について1つずつ、複数の分類を生成することができる。いくつかの実施形態では、これらの分類の組合せは、例えば論理「OR」演算を使用するなどして、ポリシ遵守リスト110または脆弱性リスト150あるいはその両方の単一の分類を生成するために使用することができる。場合によっては、確率/確信度値またはスコアは、適切な関数を用いて組み合わされ、ポリシ遵守リスト110または脆弱性リスト150の全体的な確率/確信度スコア、例えば、個々の確率/確信度スコアの平均、特定のMLモデルに他のモデルよりも大きな重み値を与えることができる加重平均などを生成することができる。
【0050】
リスク評価器190は、ポリシ遵守リスト110、脆弱性リスト150、緩和技術120、弱点タイプ160、ポリシ・マッピング、および脆弱性マッピングを評価し、全体的なリスク評価195を生成することができる。リスク評価器190は、リスク評価を作り出す際に、ポリシ・マッピングおよび脆弱性マッピングの両方に存在する攻撃技術を考慮することができる。
【0051】
リスク評価器190によって生成されて得られたリスク評価195は、応答アクションの実施のために、SIEMシステムまたは他の下流のコンピューティング・システムに出力することができる。応答アクションは、エスカレーションを必要とするリスク評価について、ユーザ・インターフェースを介するなどして人間のアナリストに通知を出力することを含め、既知のまたは後に開発される任意の形態をとることができる。ユーザ・インターフェースは、リスク評価内の個々の脆弱性および弱点タイプを特定することを含め、通知の詳細を掘り下げるためのユーザ・インターフェース要素を含むことができる。このようにして、人間のアナリストは、リスク評価において、どの脆弱性とポリシがエスカレーションに寄与したかを特定することができる。その上、リスク評価の分類について確率/確信度値、重み付け値などを通知で提供し、入来データの分類のさらなる根拠を示すこともできる。ユーザ・インターフェース要素は、ユーザが脆弱性、ポリシ、緩和技術、および弱点タイプの分類の正誤を示す入力を与えることができるようにするために用意され得、この情報は、将来MLモデルの訓練を更新するための新しい訓練データセットを作成するために記憶され得る。
【0052】
このように、例示的な実施形態は、監視対象コンピューティング・システム環境のより正確なリスク評価を提供するために、ポリシ遵守を脆弱性管理と組み合わせるメカニズムを提供する。加えて、例示的な実施形態のメカニズムは、SIEMシステムまたは他の下流のコンピューティング・システムあるいはその両方と連携して動作し、分類がリスク評価の処理をエスカレーションする必要性を示す場合に応答アクションを実行することができ、これには、個々のポリシ、脆弱性、その分類などの詳細を掘り下げるための機能を提供することができるユーザ・インターフェースを介して通知を出力することが含まれ得る。
【0053】
図3は、本開示の実施形態による、環境のより正確なリスク評価を提供するために、ポリシ遵守と脆弱性管理を組み合わせるプロセス300を示すフロー図である。図3に示すように、プロセス300は、ポリシ、例えばアクセス制御、ドメイン強制、ファイアウォール制限などに対応するエントリ、およびそれらに対応する正しい分類、例えば緩和技術を有する訓練データセット132を使用して、ポリシ機械学習モデル130を訓練することから始まる。これはステップ310に示されている。脆弱性機械学習モデル170は、脆弱性、例えばオーバフロー脆弱性、コード実行、サービス拒否オーバフローなどに対応するエントリ、およびそれらに対応する正しい分類、例えば弱点タイプを有する訓練データセット172を使用して訓練される。これはステップ320に示されている。
【0054】
緩和機械学習モデル140は、緩和技術に対応するエントリとそれらに対応する攻撃技術を持つ訓練データセット142を使用して訓練される。これはステップ330に示されている。いくつかの実施形態では、緩和技術と攻撃技術の間の直接的なマッピングが使用される。このマッピングは、緩和機械学習モデル140の代わりに使用できるポリシ・マッピングと考えることができる。弱点機械学習モデルは、弱点タイプに対応するエントリとそれらに対応する攻撃技術を持つ訓練データセット186を使用して訓練される。これはステップ340に示されている。いくつかの実施形態では、弱点タイプと攻撃技術の間の直接的なマッピングが使用される。このマッピングは、弱点機械学習モデル180の代わりに使用できる脆弱性マッピングと考えることができる。
【0055】
リスク評価器190は、緩和機械学習モデル140から作り出された攻撃技術のマッピングと、弱点機械学習モデル180からの攻撃技術のマッピングとの組合せに少なくとも部分的に基づいて、リスク評価を作り出す。いくつかの実施形態において、リスク評価器190は、リスク評価を生成するために直接的なマッピングを利用する。これはステップ350に示されている。
【0056】
次に図4を参照すると、本開示の実施形態に従って、本明細書に記載の方法、ツール、およびモジュール、ならびに任意の関連する機能のうちの1つまたは複数を実施する際に(例えば、コンピュータの1つまたは複数のプロセッサ回路またはコンピュータ・プロセッサを使用して)使用され得る、例示的なコンピュータ・システム400(例えば、改善されたコンピューティング・ツール100)の高レベル・ブロック図が示されている。いくつかの実施形態では、コンピュータ・システム400の主要コンポーネントは、1つまたは複数のプロセッサ402、メモリ404、端末インターフェース412、I/O(入力/出力)デバイス・インターフェース414、ストレージ・インターフェース416、およびネットワーク・インターフェース418を備えることができ、これらのすべては、メモリ・バス403、I/Oバス408、およびI/Oバス・インターフェース410を介して、コンポーネント間通信のために、直接的または間接的に通信可能に結合され得る。
【0057】
コンピュータ・システム400は、1つまたは複数の汎用プログラマブル中央処理装置(CPU)402-1、402-2、402-3、および402-Nを含むことができ、本明細書ではプロセッサ402と総称する。いくつかの実施形態では、コンピュータ・システム400は、比較的大規模なシステムでは典型的な複数のプロセッサを含むことができるが、他の実施形態では、コンピュータ・システム400は、代替的に単一のCPUシステムであってもよい。各プロセッサ402は、メモリ404に記憶された命令を実行することができ、1つまたは複数のレベルのオンボード・キャッシュを含むことができる。
【0058】
メモリ404は、ランダム・アクセス・メモリ(RAM)422またはキャッシュ・メモリ424などの揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム400はさらに、他のリムーバブル/非リムーバブルの、揮発性/不揮発性のコンピュータ・システム記憶媒体を含むことができる。単なる一例として、ストレージ・システム426は、「ハード・ドライブ」など非リムーバブルの不揮発性の磁気媒体からの読み取りおよびそれへの書き込みのために設けられることがある。図示していないが、リムーバブルの不揮発性磁気ディスク(例えば、「フロッピ(登録商標)・ディスク」)から読み取りおよびそれに書き込みするための磁気ディスク・ドライブ、またはリムーバブルの不揮発性の光学ディスク(例えば、CD-ROM、DVD-ROMまたは他の光学媒体)から読み取りもしくはそれに書き込みするための光学ディスク・ドライブを設けることができる。加えて、メモリ404はフラッシュ・メモリ、例えばフラッシュ・メモリ・スティック・ドライブまたはフラッシュ・ドライブを含むことができる。メモリ・デバイスは、1つまたは複数のデータ・メディア・インターフェースによってメモリ・バス403に接続することができる。メモリ404は、多様な実施形態の機能を遂行するように構成されたプログラム・モジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
【0059】
メモリ・バス403は、プロセッサ402、メモリ404、およびI/Oバス・インターフェース410間の直接通信経路を提供する単一のバス構造として図4に示されているが、メモリ・バス403は、いくつかの実施形態では、複数の異なるバスまたは通信経路を含むことができ、これらのバスまたは通信経路は、階層構成、スター構成、もしくはウェブ構成におけるポイント・ツー・ポイント・リンク、複数の階層バス、並列経路および冗長経路、または任意の他の適切なタイプの構成など、様々な形態のいずれかで配置することができる。さらに、I/Oバス・インターフェース410およびI/Oバス408は、単一のそれぞれのユニットとして示されているが、コンピュータ・システム400は、いくつかの実施形態では、複数のI/Oバス・インターフェース・ユニット、複数のI/Oバス、またはその両方を含むことができる。さらに、複数のI/Oインターフェース・ユニットが示され、これらはI/Oバス408を様々なI/Oデバイスに走る様々な通信経路から分離しているが、他の実施形態では、I/Oデバイスの一部またはすべてを1つまたは複数のシステムI/Oバスに直接接続することができる。
【0060】
いくつかの実施形態では、コンピュータ・システム400は、マルチユーザのメインフレーム・コンピュータ・システム、シングルユーザのシステム、または、直接的なユーザ・インターフェースをほとんどもしくは全く持たないが、他のコンピュータ・システム(クライアント)からの要求を受信する、サーバ・コンピュータもしくは類似のデバイスであってもよい。さらに、いくつかの実施形態では、コンピュータ・システム400は、デスクトップ・コンピュータ、ポータブル・コンピュータ、ラップトップもしくはノートブック・コンピュータ、タブレット・コンピュータ、ポケット・コンピュータ、電話機、スマートフォン、ネットワーク・スイッチもしくはルータ、または任意の他の適切なタイプの電子機器として実装することができる。
【0061】
図4は、例示的なコンピュータ・システム400の主要な代表コンポーネントを描写することを意図していることに留意されたい。しかしながら、いくつかの実施形態では、個々のコンポーネントは、図4に表されているものよりも複雑さが大きくても小さくてもよく、図4に示されているコンポーネント以外のコンポーネントまたは図4に示されているコンポーネントに加えてコンポーネントが存在してもよく、そのようなコンポーネントの数、種類、および構成は変化してもよい。
【0062】
それぞれが少なくとも1組のプログラム・モジュール430(例えば、改善されたコンピューティング・ツール100)を有する1つまたは複数のプログラム/ユーティリティ428は、メモリ404に記憶することができる。プログラム/ユーティリティ428は、ハイパーバイザ(仮想マシン・モニタとも呼ばれる)、1つまたは複数のオペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データを含むことができる。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データ、またはそれらの何らかの組合せの各々は、ネットワーク環境の実装を含むことができる。プログラム428またはプログラム・モジュール430あるいはその両方は、一般に、様々な実施形態の機能または方法論を実行する。
【0063】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書で説明される教示の実装形態はクラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本開示の実施形態は、現在既知の、または後に開発されるあらゆる他のタイプのコンピューティング環境と連携して実施することが可能である。
【0064】
クラウド・コンピューティングは、最小限の管理努力またはサービスのプロバイダとの対話で迅速にプロビジョニングおよびリリースされ得る、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの、便利でオン・デマンドのネットワーク・アクセスを可能とするためのサービス提供のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含むことができる。
【0065】
特徴は以下のとおりである:
【0066】
オン・デマンドのセルフサービス:クラウド消費者は、サービスのプロバイダとの人的介入を要求することなく必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
【0067】
幅広いネットワーク・アクセス:機能はネットワーク上で利用可能であり、異質なシン・クライアントまたはシック・クライアントのプラットフォーム(例えば、携帯電話、ラップトップ、およびP.D.A.)による使用を促進する標準的なメカニズムを通じてアクセスされる。
【0068】
リソースのプール:プロバイダのコンピューティング・リソースは、マルチテナントのモデルを使用して複数の消費者にサービス提供するためにプールされ、異なる物理的および仮想的なリソースが需要に応じて動的に割り当ておよび再割り当てされる。提供されるリソースの正確な場所についての制御または情報を消費者が一般的に持たない点で、場所の独立性の意味があるが、より高い抽象レベルにおいて場所(例えば、国、州、またはデータセンタ)を特定できることもある。
【0069】
迅速な拡張性:機能は迅速かつ拡張可能にプロビジョニングすることができ、いくつかの場合において、自動的に、素早くスケール・アウトされ、迅速にリリースされて素早くスケール・インされる。消費者にとって、プロビジョニングのために利用可能な機能は、しばしば無制限に見え、いつでもいくらでも購入することができる。
【0070】
サービスの計測:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント)に適当な何らかの抽象レベルにおいて計測機能を活用することによりリソースの使用を自動的に制御し、最適化する。リソースの使用量は監視され、制御され、かつ報告され得、利用されるサービスのプロバイダおよび消費者の両方にとって透明性を与えている。
【0071】
サービス・モデルは以下のとおりである:
【0072】
ソフトウェア・アズ・ア・サービス(Software as a Service(SaaS)):消費者に提供される機能は、クラウド・インフラストラクチャで実行中のプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェース(例えば、ウェブ・ベースの電子メール)を通じて様々なクライアント・デバイスからアクセス可能である。消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、またはさらには個々のアプリケーション機能を含む基礎となるクラウド・インフラストラクチャを管理または制御することはなく、例外として限定されたユーザ固有のアプリケーション構成設定が可能である。
【0073】
プラットフォーム・アズ・ア・サービス(Platform as a Service(PaaS)):消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者作成の、または既成のアプリケーションをクラウド・インフラストラクチャに展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎となるクラウド・インフラストラクチャの管理または制御をしないが、展開されたアプリケーション、および場合によっては環境構成をホストするアプリケーションについての制御を有する。
【0074】
インフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service(IaaS)):消費者に提供される機能は、消費者が任意のソフトウェアを展開および実行することができる処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることであり、これにはオペレーティング・システムおよびアプリケーションが含まれ得る。消費者は、基礎となるクラウド・インフラストラクチャの管理または制御をしないが、オペレーティング・システム、ストレージ、展開されたアプリケーションの制御、および場合によっては選択ネットワーキング・コンポーネント(例えば、ホスト・ファイヤウォール)の限定された制御を有する。
【0075】
展開モデルは以下のとおりである:
【0076】
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運用される。これは、その組織またはサード・パーティによって管理され得、オンプレミスまたはオフプレミスで存在することができる。
【0077】
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共有される事案(例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス検討事項)を有する特定のコミュニティをサポートする。これは、その組織またはサード・パーティによって管理され得、オンプレミスまたはオフプレミスで存在することができる。
【0078】
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆または大規模な業界団体に対して利用可能とされ、クラウド・サービスを販売する組織によって所有される。
【0079】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、一意なエンティティのままである2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)を組み合わせたものであるが、データおよびアプリケーションのポータビリティを可能にする標準化された、または専有的な技術(例えば、クラウド間で負荷分散を行うためのクラウド・バースト)によって結合される。
【0080】
クラウド・コンピューティング環境は、ステートレス性、低い結合性、モジュール性、および意味論的な相互運用性に焦点を当てたサービス指向である。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0081】
次に図5を参照すると、例示的なクラウド・コンピューティング環境500が描かれている。示されるように、クラウド・コンピューティング環境500は、例えば、携帯情報端末(P.D.A.)もしくは携帯電話520-1、デスクトップ・コンピュータ520-2、ラップトップ・コンピュータ520-3、または自動車コンピュータ・システム520-4あるいはその組合せなどのクラウドの消費者によって使用されるローカルのコンピューティング・デバイスと通信することができる1つまたは複数のクラウド・コンピューティング・ノード510を含む。ノード510は、互いに通信することができる。これらは、本明細書において上述したようなプライベート、コミュニティ、パブリック、もしくはハイブリッドのクラウド、またはそれらの組合せなど、1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化することができる(図示せず)。これにより、クラウド・コンピューティング環境500は、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せをサービスとして提供することができ、これらについてクラウドの消費者はローカルのコンピューティング・デバイスでリソースを維持する必要がない。図5に示されるコンピューティング・デバイス520-1~520-4のタイプは、単に例示的であることを意図されており、コンピューティング・ノード510およびクラウド・コンピューティング環境500は、あらゆるタイプのネットワーク上またはネットワーク・アドレス指定可能接続で(例えば、ウェブ・ブラウザを使用して)あるいはその両方で、あらゆるタイプのコンピュータ化されたデバイスと通信することができることが理解されよう。
【0082】
次に図6を参照すると、クラウド・コンピューティング環境500(図5)によって提供される機能的な抽象レイヤ600のセットが示されている。図6に示されるコンポーネント、レイヤ、および機能は、単に例示的であることを意図されており、本開示の実施形態はそれに限定されないことが、予め理解されるべきである。描かれるように、以下のレイヤおよび対応する機能が提供される。
【0083】
ハードウェアおよびソフトウェア・レイヤ610は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム611、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ612、サーバ613、ブレード・サーバ614、ストレージ・デバイス615、ならびにネットワークおよびネットワーキング・コンポーネント616が挙げられる。いくつかの実施形態において、ソフトウェア・コンポーネントとしては、ネットワーク・アプリケーション・サーバ・ソフトウェア617、およびデータベース・ソフトウェア618が挙げられる。
【0084】
仮想化レイヤ620は、仮想エンティティの以下の例が提供され得る抽象レイヤを提供する:仮想サーバ621、仮想ストレージ622、仮想プライベート・ネットワークを含む仮想ネットワーク623、仮想アプリケーションおよびオペレーティング・システム624、ならびに仮想クライアント625。
【0085】
一例では、管理レイヤ630は以下で説明される機能を提供することができる。リソース・プロビジョニング631は、コンピューティング・リソースおよびクラウド・コンピューティング環境内でタスクを実施するために利用される他のリソースの、動的な調達を提供する。計測および課金632は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費についての課金または請求書発行を提供する。一例では、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド消費者およびタスクについての識別情報の検証、ならびにデータおよび他のリソースについての保護を与える。ユーザ・ポータル633は、クラウド・コンピューティング環境へのアクセスを消費者およびシステム管理者に提供する。サービス水準管理634は、要求されるサービス水準が満たされるように、クラウド・コンピューティング・リソース割り当ておよび管理を提供する。サービス水準合意(S.L.A.)計画および遂行635は、S.L.A.に従って将来的な要求が予期されるクラウド・コンピューティング・リソースの事前申し合わせ、およびその調達を提供する。
【0086】
作業負荷レイヤ640は、クラウド・コンピューティング環境が利用され得る機能の例を提供する。このレイヤから提供され得る作業負荷および機能の例として以下が挙げられる:マッピングおよびナビゲーション641、ソフトウェア開発およびライフサイクル管理642(例えば、改善されたコンピューティング・ツール100)、仮想授業教育配信643、データ分析処理644、トランザクション処理645、および脅威類似性分析システム646。
【0087】
本開示は、統合のあらゆる可能な技術的詳細レベルにおける、システム、方法、またはコンピュータ・プログラム製品あるいはその組合せであってもよい。コンピュータ・プログラム製品は、プロセッサに本開示の態様を遂行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含むことができる。
【0088】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述のあらゆる好適な組合せであってもよいが、それに限定はしない。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙としては、以下が挙げられる:ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリースティック(登録商標)、フロッピ(登録商標)・ディスク、命令が記録されたパンチカードまたは溝に刻まれた隆起構造などの機械的にエンコードされたデバイス、および前述のあらゆる好適な組合せ。本明細書において使用される場合、コンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を介して伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または電線を介して伝送される電気的信号など、一過性の信号そのものであると解釈されてはならない。
【0089】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から個別のコンピューティング/処理デバイスに、あるいは、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはその組合せなどのネットワークを介して、外部のコンピュータまたは外部のストレージ・デバイスに、ダウンロードすることができる。ネットワークは、銅の伝送ケーブル、光学伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはその組合せを備えることができる。それぞれのコンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、個別のコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0090】
本開示の動作を遂行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいはSmalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語などの手続き型プログラミング言語もしくは類似するプログラミング言語、を含む1つもしくは複数のプログラミング言語のあらゆる組合せで記述された、ソース・コードまたはオブジェクト・コードのいずれかであってもよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、スタンドアロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、またはリモート・コンピュータ上もしくはサーバ上で全体的に、実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含むあらゆるタイプのネットワークを介してユーザのコンピュータに接続することができ、または接続は(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部のコンピュータに対してなされてもよい。一部の実施形態において、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本開示の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して電子回路を個別化することができる。
【0091】
本開示の態様は、本明細書では、本開示の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら説明される。フローチャート図またはブロック図あるいはその両方のそれぞれのブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。
【0092】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/作用を実装する手段を作成するように、コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を作るものであってよい。これらのコンピュータ可読プログラム命令はまた、命令を記憶するコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実装する命令を含む製造物品を備えるように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに特定のやり方で機能するように指示できるものであってよい。
【0093】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスで実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定された機能/動作を実装するように、コンピュータ実装処理を作るために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【0094】
図面中のフローチャートおよびブロック図は、本開示の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能性、および動作を図示している。この点において、フローチャートまたはブロック図のそれぞれのブロックは、指定された論理機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表現することができる。一部の代替的な実装形態において、ブロックで示される機能は図面で示した順とは異なって発生してもよい。例えば、連続して示される2つのブロックは、実際には1つのステップとして遂行されてもよく、同時に、実質的に同時に、部分的もしくは全体的に時間的に重なるやり方で実行されてもよく、またはブロックは関与する機能性によっては、時に逆の順で実行されてもよい。ブロック図またはフローチャート図あるいはその両方のそれぞれのブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定された機能もしくは行為を行う、または専用ハードウェアおよびコンピュータ命令の組合せを実行する、専用ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。
【0095】
本明細書で使用される用語は、特定の実施形態を単に説明するためのものであり、様々な実施形態を限定するよう意図したものではない。本明細書において使用される場合、単数形の「a」、「an」、および「the」は、文脈が明示的にそうではないと示さない限り、複数形も含むことを意図している。本明細書において使用される場合、用語「含む(includes)」または「含む(including)」あるいはその両方は、記載された特徴、整数、ステップ、動作、要素、または構成要素あるいはその組合せの存在を明記するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、またはそれらの群あるいはその組合せの存在または追加を排除するものではないことがさらに理解されるであろう。様々な実施形態の例示的な実施形態に関するこれまでの詳細な説明において、本明細書の一部を構成し、様々な実施形態が実施され得る具体的な例示的な実施形態が例として示されている添付図面(図面では、同様の番号は同様の要素を表す)を参照した。これらの実施形態は、当業者が実施形態を実践できるように十分に詳細に説明したが、他の実施形態を用いてもよく、様々な実施形態の範囲から逸脱することなく、論理的、機械的、電気的、および他の変更を加えてもよい。これまでの説明では、様々な実施形態を十分に理解するために、数多くの具体的な詳細を示した。しかし、このような特定の詳細がなくても、様々な実施形態を実践することができる。他の例では、実施形態を不明瞭にしないために、周知の回路、構造、および技術は詳細に示していない。
【0096】
異なる参照番号が、共通の番号の後に異なる文字(例えば、100a、100b、100c)または区切り文字の後に異なる番号(例えば、100-1、100-2、または100.1、100.2)を含む場合、文字または続きの番号を伴わない参照文字のみ(例えば、100)の使用は、全体としての要素群、群の任意のサブセット、または群の例示的な見本を指すことがある。
【0097】
本明細書を通じて、「メカニズム」という用語は、様々な動作、機能などを実行する本発明の要素を指すために使用されていることを、まず理解されたい。本明細書で使用される用語としての「メカニズム」は、装置、手順、またはコンピュータ・プログラム製品の形態における、例示の実施形態の機能または態様の実装形態であってもよい。手順の場合、手順は1つまたは複数のデバイス、装置、コンピュータ、データ処理システムなどによって実施される。コンピュータ・プログラム製品の場合、コンピュータ・プログラム製品にもしくはコンピュータ・プログラム製品上に具現化されたコンピュータ・コードまたは命令によって表されるロジックは、特定の「メカニズム」に関連する機能を実装するため、または動作を実行するために、1つまたは複数のハードウェア・デバイスによって実行される。したがって、本明細書で説明されるメカニズムは、特殊なハードウェア、ハードウェア上で実行されることでハードウェアが他の方法では実行できない本発明の特殊な機能を実行するようにハードウェアを構成するソフトウェア、命令がハードウェアによって容易に実行可能であるように媒体に記憶され、それによって記載の機能および本明細書で説明される特定のコンピュータ動作を実行するようにハードウェアを具体的に構成するソフトウェア命令、機能を実行するための手順もしくは方法、または上記のいずれかの組合せとして実装することができる。
【0098】
さらに、本明細書における「モデル(models)」または「モデル(model)」とは、特に、コンピュータ実行の機械学習モデルを指す。これらのモデルは、アルゴリズム、統計モデルなどを含み、コンピュータ・システムはそれらを、明示的な命令を使わずに、代わりにパターンおよび推論に頼って特定のタスクを実行するために使用する。機械学習アルゴリズムは、タスクを実行するように明示的にプログラムされていなくても、予測または決定を行うために、「訓練データ」として知られるサンプル・データに基づいて、コンピュータ実行のモデルを構築する。機械学習モデルの例としては、畳み込みニューラル・ネットワーク(CNN)、ディープ・ニューラル・ネットワーク(DNN)などの教師あり機械学習モデル、ならびにIsolation Forestモデル、One-Class Support Vector Machine(SVM)モデル、Local Outlier Factorモデルなどの教師なし機械学習モデル、Random Forestモデルなどのアンサンブル学習メカニズムなどが挙げられるが、これらに限定されない。
【0099】
さらに、「の少なくとも1つ(at least one of)」という言い回しは、項目の列挙とともに使用される場合、列挙された項目の1つまたは複数の異なる組合せを使用できることを意味し、必要とされる列挙内の各項目は1つだけでよい。言い換えれば、「の少なくとも1つ(at least one of)」とは、列挙から任意の項目と数を組み合わせて使用することができるが、列挙内のすべての項目が必要ではないことを意味する。項目とは、特定の物体、物事、またはカテゴリとすることができる。
【0100】
例えば、限定はしないが、「項目A、項目B、または項目Cの少なくとも1つ」には、項目A、項目Aと項目B、または項目Bが含まれ得る。この例には、項目Aと項目Bと項目C、または項目Bと項目Cも含まれる。もちろん、これらの項目のあらゆる組合せが存在することができる。いくつかの例示的な例では、「の少なくとも1つ(at least one of)」は、例えば、限定はしないが、項目Aのうちの2つ、項目Bのうちの1つ、および項目Cのうちの10個、項目Bのうちの4つおよび項目Cのうちの7つ、または他の適切な組合せとすることができる。
【0101】
本明細書内で使用される「実施形態」という語句の異なる用例は、必ずしも同じ実施形態を指すとは限らないが、そうであってもよい。本明細書で図示または説明するどのようなデータおよびデータ構造も単なる例示であり、他の実施形態では、異なるデータ量、データの種類、フィールド、フィールドの数と種類、フィールド名、行の数と種類、レコード、エントリ、またはデータ編成を使用することができる。加えて、どのようなデータもロジックと組み合わせることができるので、別個のデータ構造は必要ない場合がある。したがって、先述の詳細な説明は、限定的な意味で捉えられるものではない。
【0102】
本開示の様々な実施形態の説明は、例示を目的として提示されたが、網羅的であることまたは開示された実施形態に限定することを意図するものではない。説明した実施形態の範囲および趣旨から逸脱することなく、当業者には多くの修正形態および変形形態が明らかであろう。本明細書で使用される用語は、実施形態の原理、実用的な応用、もしくは市場で見られる技術に対する技術的改善を最良に説明するために、または本明細書で開示される実施形態を他の当業者が理解できるように選択された。
【0103】
本開示は、特定の実施形態の観点から説明されてきたが、その変更形態および修正形態が当業者に明らかになることが予想される。したがって、以下の特許請求の範囲は、本開示の真の趣旨および範囲に含まれるように変更形態および修正形態をすべて包含するものと解釈されることを意図している。
【0104】
本開示の様々な実施形態の説明は、例示を目的として提示されたが、網羅的であることまたは開示された実施形態に限定することを意図するものではない。説明した実施形態の範囲および趣旨から逸脱することなく、当業者には多くの修正形態および変形形態が明らかであろう。本明細書で使用される用語は、実施形態の原理、実用的な応用、もしくは市場で見られる技術に対する技術的改善を最良に説明するために、または本明細書で開示される実施形態を他の当業者が理解できるように選択された。
図1
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2024-06-12
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサと、少なくとも1つのメモリとを含むデータ処理システムにおける方法であって、前記メモリが、前記プロセッサに前記方法を実行させるために前記プロセッサによって実行される命令を含み、前記方法が、
緩和技術分類を作り出すためのポリシ機械学習モデルを生成するために、第1の訓練データセットを使用してポリシ機械学習モデルを訓練することと、
弱点タイプ分類を作り出すための脆弱性機械学習モデルを生成するために、第2の訓練データセットを使用して脆弱性機械学習モデルを訓練することと、
前記緩和技術分類を攻撃技術にマッピングしてポリシ・マッピングを作り出すことと、
前記弱点タイプ分類を前記攻撃技術にマッピングして脆弱性マッピングを作り出すことと、
前記ポリシ・マッピングおよび前記脆弱性マッピングに基づいて脆弱性のリスク評価を作り出すことと
を含む、方法。
【請求項2】
前記リスク評価を作り出すことが、
前記脆弱性マッピングに基づいて前記リスク評価を生成することと、
前記脆弱性マッピングにマッピングされた前記攻撃技術を、前記ポリシ・マッピングにマッピングされた前記攻撃技術と比較することと、
前記比較に基づいて、前記ポリシ・マッピングが、前記脆弱性マッピングとして少なくとも1つの攻撃技術を含むと判断することと、
前記少なくとも1つの攻撃技術に基づいて、前記リスク評価を調整することと
を含む、請求項1に記載の方法。
【請求項3】
前記緩和技術分類をマッピングすることが、
攻撃技術分類を生成するために、第3の訓練データセットを使用して緩和マッピング機械学習モデルを訓練することであって、前記第3の訓練データセットが緩和技術を含む、前記訓練することと、
攻撃技術分類を作り出すために、前記緩和技術分類を前記緩和マッピング機械学習モデルに入力することと、
前記緩和技術分類とそれらに対応する攻撃技術分類に基づいて、前記ポリシ・マッピングを作り出すこととを含む、請求項1記載の方法。
【請求項4】
前記弱点タイプ分類をマッピングすることが、
攻撃技術分類を生成するために、第3の訓練データセットを使用して弱点マッピング機械学習モデルを訓練することであって、前記第3の訓練データセットが弱点タイプを含む、前記訓練することと、
攻撃技術分類を作り出すために、前記弱点タイプ分類を前記弱点マッピング機械学習モデルに入力することと、
前記緩和技術分類とそれらに対応する攻撃技術分類に基づいて、前記脆弱性マッピングを作り出すことと
を含む、請求項1記載の方法。
【請求項5】
前記弱点タイプが、共通脆弱性タイプ一覧(CWE)リストに由来する、請求項4に記載の方法。
【請求項6】
前記第1の訓練データセットが、緩和技術の対応する分類を有する、特徴ベクトルに変換されたポリシ遵守エントリを含む、請求項1記載の方法。
【請求項7】
前記第2の訓練データセットが、弱点タイプの対応する分類を有する、特徴ベクトルに変換された脆弱性エントリを含む、請求項1記載の方法。
【請求項8】
前記脆弱性エントリが、共通脆弱性識別子(CVE)リストに由来する、請求項7に記載の方法。
【請求項9】
コンピューティング・デバイスに、
緩和技術分類を作り出すためのポリシ機械学習モデルを生成するために、第1の訓練データセットを使用してポリシ機械学習モデルを訓練することと、
弱点タイプ分類を作り出すための脆弱性機械学習モデルを生成するために、第2の訓練データセットを使用して脆弱性機械学習モデルを訓練することと、
前記緩和技術分類を攻撃技術にマッピングしてポリシ・マッピングを作り出すことと、
前記弱点タイプ分類を前記攻撃技術にマッピングして脆弱性マッピングを作り出すことと、
前記ポリシ・マッピングおよび前記脆弱性マッピングに基づいて脆弱性のリスク評価を作り出すことと
を実行させるためのコンピュータ・プログラム
【請求項10】
前記リスク評価を作り出すことが、前記コンピューティング・デバイスに、
前記脆弱性マッピングに基づいて前記リスク評価を生成することと、
前記脆弱性マッピングにマッピングされた前記攻撃技術を、前記ポリシ・マッピングにマッピングされた前記攻撃技術と比較することと、
前記比較に基づいて、前記ポリシ・マッピングが、前記脆弱性マッピングとして少なくとも1つの攻撃技術を含むと判断することと、
前記少なくとも1つの攻撃技術に基づいて、前記リスク評価を調整することと
を実行させる、請求項9に記載のコンピュータ・プログラム
【請求項11】
前記緩和技術分類をマッピングすることが、前記コンピューティング・デバイスに、
攻撃技術分類を生成するために、第3の訓練データセットを使用して緩和マッピング機械学習モデルを訓練することであって、前記第3の訓練データセットが緩和技術を含む、前記訓練することと、
攻撃技術分類を作り出すために、前記緩和技術分類を前記緩和マッピング機械学習モデルに入力することと、
前記緩和技術分類とそれらに対応する攻撃技術分類に基づいて、前記ポリシ・マッピングを作り出すことと
実行させる、請求項9記載のコンピュータ・プログラム
【請求項12】
請求項9~請求項11のいずれか1項に記載のコンピュータ・プログラムをコンピュータ可読に記録した記録媒体。
【請求項13】
装置であって、
プロセッサと、
前記プロセッサに結合されたメモリであって、前記メモリが、前記プロセッサによって実行されると前記プロセッサに、
緩和技術分類を作り出すためのポリシ機械学習モデルを生成するために、第1の訓練データセットを使用してポリシ機械学習モデルを訓練することと、
弱点タイプ分類を作り出すための脆弱性機械学習モデルを生成するために、第2の訓練データセットを使用して脆弱性機械学習モデルを訓練することと、
前記緩和技術分類を攻撃技術にマッピングしてポリシ・マッピングを作り出すことと、
前記弱点タイプ分類を前記攻撃技術にマッピングして脆弱性マッピングを作り出すことと、
前記ポリシ・マッピングおよび前記脆弱性マッピングに基づいて脆弱性のリスク評価を作り出すことと
を行わせる、装置。
【請求項14】
前記リスク評価を作り出すことが、前記プロセッサに、
前記脆弱性マッピングに基づいて前記リスク評価を生成することと、
前記脆弱性マッピングにマッピングされた前記攻撃技術を、前記ポリシ・マッピングにマッピングされた前記攻撃技術と比較することと、
前記比較に基づいて、前記ポリシ・マッピングが、前記脆弱性マッピングとして少なくとも1つの攻撃技術を含むと判断することと、
前記少なくとも1つの攻撃技術に基づいて、前記リスク評価を調整することと
を行わせる、請求項13に記載の装置。
【国際調査報告】