(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024177129
(43)【公開日】2024-12-19
(54)【発明の名称】大規模言語モデルを使用した報告からの情報の抽出
(51)【国際特許分類】
G06F 40/279 20200101AFI20241212BHJP
G06F 40/216 20200101ALI20241212BHJP
G06F 21/57 20130101ALI20241212BHJP
【FI】
G06F40/279
G06F40/216
G06F21/57 370
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024092354
(22)【出願日】2024-06-06
(31)【優先権主張番号】63/471,532
(32)【優先日】2023-06-07
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/457,381
(32)【優先日】2023-08-29
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
2.YouTube
(71)【出願人】
【識別番号】517451940
【氏名又は名称】エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジョゼッペ・シラクーザノ
(72)【発明者】
【氏名】ダヴィデ・サンヴィート
(72)【発明者】
【氏名】ロベルト・ゴンサレス・サンチェス
(72)【発明者】
【氏名】ロベルト・ビフルコ
(57)【要約】
【課題】機械学習-人工知能(ML-AI)モデル使用して、セキュリティ報告または医療記録などの報告から情報を抽出するための方法を提供すること。
【解決手段】構造化された情報を抽出してデータモデルにマッピングするためのコンピュータで実施される方法は、テキストデータを1つまたは複数の構造化されていないデータソースから取得するステップを含む。言い換えられたテキストデータは、大規模言語モデル(LLM)、前処理プロンプト、およびテキストデータを使用して決定される。抽出されるデータは、LLM、抽出プロンプト、データモデル、および言い換えられたテキストデータを使用して決定される。抽出されたデータはデータモデルにマッピングされる。この方法は、とりわけ、データモデルを改善して意思決定を支援するために、たとえば、医療の使用事例またはサイバー脅威の検出に適用され得る。
【選択図】
図3
【特許請求の範囲】
【請求項1】
構造化された情報を抽出してデータモデルにマッピングするためのコンピュータで実施される方法であって、
テキストデータを1つまたは複数の構造化されていないデータソースから取得するステップと、
大規模言語モデル(LLM)、前処理プロンプト、および前記テキストデータを使用して、言い換えられたテキストデータを決定するステップと、
前記LLM、抽出プロンプト、前記データモデル、および前記言い換えられたテキストデータを使用して、抽出されるデータを決定するステップと、
前記抽出されたデータを前記データモデルにマッピングするステップとを備える、方法。
【請求項2】
前記抽出されたデータをユーザレビューのためにユーザインターフェースに出力するステップと、
前記抽出されたデータについてのユーザ入力を受け取るステップと、
前記ユーザ入力に基づいて、訂正された抽出プロンプトを決定するステップと、
前記LLM、前記訂正された抽出プロンプト、前記データモデル、および前記言い換えられたテキストデータを使用して、さらなる抽出されるデータを決定するステップとをさらに備え、
前記さらなる抽出されたデータが、前記データモデルにマッピングされる前記抽出されたデータとして使用される、請求項1に記載の方法。
【請求項3】
前記1つまたは複数の構造化されていないデータソースがセキュリティ報告を含み、前記テキストデータがセキュリティインシデントに関するサイバー脅威インテリジェンス(CTI)情報を含む、請求項1に記載の方法。
【請求項4】
前記テキストデータが前記LLMにより処理されるのに十分な情報を含まないという決定に基づいて、さらなるテキストデータをインターネットソースから取得するステップをさらに備え、前記言い換えられたテキストを決定するステップが前記テキストデータおよび前記さらなるテキストデータに基づく、請求項1に記載の方法。
【請求項5】
前記テキストデータおよび/または前記さらなるテキストデータが、前記データモデルによって定義されるエンティティに基づいて前記1つまたは複数の構造化されていないデータソースおよび/または前記インターネットソースを解析することによって取得される、請求項4に記載の方法。
【請求項6】
前記言い換えられたテキストデータを決定するステップが、
前記LLMの入力容量に基づいて1つまたは複数のテキストチャンクを前記テキストデータから取得するステップと、
前記前処理プロンプトおよび前記1つまたは複数のテキストチャンクの第1のテキストチャンクを前記LLMに入力して、前記第1のテキストチャンクのための要約された言い換えられたテキストデータを前記言い換えられたテキストデータとして取得するステップとを備え、前記要約された言い換えられたテキストデータが、前記第1のテキストチャンクより少ないテキストデータを備え、前記抽出されるデータを決定するステップが、前記要約された言い換えられたテキストデータに基づく、請求項1に記載の方法。
【請求項7】
さらなる前処理プロンプトおよび前記1つまたは複数のテキストチャンクの第2のテキストチャンクを前記LLMに入力して、前記第2のテキストチャンクのための第2の要約された言い換えられたテキストデータを取得するステップをさらに備え、前記第2の要約された言い換えられたテキストデータが、前記第2のテキストチャンクより少ないテキストデータを備え、
前記抽出されるデータを決定するステップがさらに、前記第2の要約された言い換えられたテキストデータに基づく、請求項6に記載の方法。
【請求項8】
前記言い換えられたテキストデータを決定するステップが、
前記前処理プロンプトおよび前記テキストデータを前記LLMに入力して、前記テキストデータのための拡張された言い換えられたテキストを取得するステップをさらに備え、前記拡張された言い換えられたテキストが、前記テキストデータの拡張を備え、
前記抽出されるデータを決定するステップがさらに、前記拡張された言い換えられたテキストデータに基づく、請求項1に記載の方法。
【請求項9】
前記テキストデータの前記拡張が、前記テキストデータの少なくとも一部分と、前記テキストデータからの情報の異なる記述を示す新しいテキストとを備える、請求項8に記載の方法。
【請求項10】
前記言い換えられたテキストデータをユーザレビューのためにユーザインターフェースに出力するステップと、
前記言い換えられたテキストデータについてのユーザ入力を受け取るステップと、
前記ユーザ入力に基づいて、訂正された前処理プロンプトを決定するステップと、
前記LLM、前記訂正された前処理プロンプト、および前記テキストデータソースを使用することに基づいて、さらなる言い換えられたテキストデータを決定するステップとをさらに備え、
前記さらなる言い換えられたテキストデータが、前記抽出されるデータを決定する際に前記言い換えられたテキストデータとして使用される、請求項1に記載の方法。
【請求項11】
前記抽出プロンプトおよび前記LLMを使用して前記データモデルのエンティティを取得するステップをさらに備え、前記抽出プロンプトが、前記データモデルの前記エンティティを前記言い換えられたテキストデータから抽出するように前記LLMにクエリし、
前記データモデルが、脅威情報構造化記述形式(STIX)データモデルであり、
前記抽出されたデータを前記データモデルにマッピングするステップが、前記抽出されたエンティティを前記データモデルにマッピングするステップと、ユーザインターフェースを介して前記マッピングされたデータモデルをユーザに出力するステップとをさらに備える、請求項1に記載の方法。
【請求項12】
前記テキストデータがサイバー脅威インテリジェンス(CTI)情報を含み、前記エンティティが、マルウェア、脅威行為者、標的、および脆弱性の1つまたは複数を含み、または、
前記テキストデータが医療記録を含み、前記エンティティが、患者、医師、治療、病院、および薬の1つまたは複数を含む、請求項11に記載の方法。
【請求項13】
前記LLM、前記前処理プロンプトとは異なるさらなる前処理プロンプト、および前記テキストデータソースを使用してさらなる言い換えられたテキストデータを決定するステップ、ならびに/または、前記LLM、前記抽出プロンプトとは異なるさらなる抽出プロンプト、前記データモデル、および前記言い換えられたテキストデータを使用してさらなる抽出されるデータを決定するステップと、
前記さらなる言い換えられたテキストデータが前記言い換えられたテキストデータと同じである、もしくはかなり類似している、または、前記さらなる抽出されたデータが前記抽出されたデータと同じ抽出されたエンティティを備えると決定するステップとをさらに備える、請求項1に記載の方法。
【請求項14】
構造化された情報を抽出してデータモデルにマッピングするためのコンピュータシステムであって、前記コンピュータシステムが、単独でまたは組合せで、
テキストデータを1つまたは複数の構造化されていないデータソースから取得するステップ、
大規模言語モデル(LLM)、前処理プロンプト、および前記テキストデータを使用して、言い換えられたテキストデータを決定するステップ、
前記LLM、抽出プロンプト、前記データモデル、および前記言い換えられたテキストデータを使用して、抽出されるデータを決定するステップ、ならびに、
前記抽出されたデータを前記データモデルにマッピングするステップ
の実行を実現するように構成される、1つまたは複数のハードウェアプロセッサを備える、コンピュータシステム。
【請求項15】
構造化された情報を抽出してデータモデルにマッピングするための、有形の非一時的コンピュータ可読媒体であって、前記非一時的コンピュータ可読媒体が、1つまたは複数のハードウェアプロセッサによって実行されると、単独でまたは組合せで、
テキストデータを1つまたは複数の構造化されていないデータソースから取得するステップ、
大規模言語モデル(LLM)、前処理プロンプト、および前記テキストデータを使用して、言い換えられたテキストデータを決定するステップ、
前記LLM、抽出プロンプト、前記データモデル、および前記言い換えられたテキストデータを使用して、抽出されるデータを決定するステップ、ならびに
前記抽出されたデータを前記データモデルにマッピングするステップ
の実行を実現する命令を有する、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
その開示全体が参照によって本明細書に組み込まれる、2023年6月7日に出願された米国仮特許出願第63/471,532号に対する優先権が主張される。
【0002】
本発明は、機械学習-人工知能(machine learning - artificial intelligence:ML-AI)モデルを使用して、セキュリティ報告または医療記録などの報告から情報を抽出するための方法、システム、およびコンピュータ可読媒体に関する。
【背景技術】
【0003】
サイバー脅威インテリジェンス(cyber threat intelligence:CTI)は、サイバー脅威から保護して攻撃に反応するために必要な情報をセキュリティ事業者に提供する。CTIは、脅威情報構造化記述形式(structured threat information expression:STIX)などの標準的なフォーマットで構造化されると、自動化されたツールとともに、および効率的な検索と分析のために使用することができる。しかしながら、CTIの多くのソースは構造化され、インターネットプロトコル(internet protocol:IP)アドレスのブロックリストおよびマルウェアシグネチャなどの侵害インジケータ(indicators of compromise:IoC)を含むものの、有用なCTIは普通は、構造化されていないフォーマット、たとえばテキストの報告または記事として提示される。
【0004】
この形式のCTIは、攻撃者(脅威行為者)と被害者(標的)、および攻撃がどのように実行されるか、すなわちツール(マルウェア)と攻撃パターンについての情報を含むので、セキュリティ事業者にとって有用であり得る。究極的には、これが、脅威ハンティング活動を可能にし得る情報である。
【発明の概要】
【課題を解決するための手段】
【0005】
ある実施形態では、本発明は、構造化された情報を抽出してデータモデルにマッピングするためのコンピュータで実施される方法を提供する。1つまたは複数の構造化されていないデータソースから、テキストデータが取得される。大規模言語モデル(Large Language Model:LLM)、前処理プロンプト、およびテキストデータを使用して、言い換えられたテキストデータが決定される。LLM、抽出プロンプト、データモデル、および言い換えられたテキストデータを使用して、抽出されるデータが決定される。抽出されたデータはデータモデルにマッピングされる。方法は、とりわけデータモデルを改善して意思決定を支援するために、たとえば医療用途またはサイバー脅威の検出に適用され得る。
【0006】
本発明の実施形態は、例示的な図面に基づいて以下でさらにより詳しく説明される。本発明は例示的な実施形態に限定されない。本明細書で説明および/または例示されるすべての特徴が、単独で、または本発明の実施形態の異なる組合せで使用され得る。本発明の様々な実施形態の特徴および利点は、以下のことを示す添付の図面に関連して以下の詳細な説明を読むことによって明らかになる。
【図面の簡単な説明】
【0007】
【
図1】構造化されたCTIを抽出するための手動パイプラインの例を示す図である。
【
図2】自動CTI抽出に採用されるパイプラインの例を示す図である。
【
図3】本発明の1つまたは複数の実施形態によるグローバルシステムの例を示す図である。
【
図4】本発明の1つまたは複数の実施形態によるグローバルシステムの別の例を示す図である。
【
図5】本発明の1つまたは複数の実施形態による大規模言語モデル(LLM)エージェントを示す図である。
【
図6】本発明の1つまたは複数の実施形態によるSTIXオントロジーの一部分を示す図である。
【
図7】公開されるセキュリティ報告の例を示す図である。
【
図8】
図7のセキュリティ報告を表すSTIXバンドルを示す図である。
【
図9】本発明の1つまたは複数の実施形態による、本明細書で開示されるあらゆるすべての動作を実行するように構成され得る、例示的な処理システムのブロック図である。
【
図10】本発明の1つまたは複数の実施形態による、構造化されたCTI情報抽出ツールを概略的に示す図である。
【
図11】他のツールと比較した、本発明の1つまたは複数の実施形態による構造化されたCTI情報抽出ツールのマルウェアエンティティ抽出の性能を示す図である。
【
図12】他のツールと比較した、本発明の1つまたは複数の実施形態による構造化されたCTI情報抽出ツールの脅威行為者エンティティ抽出の性能を示す図である。
【
図13】LADDERと比較した、本発明の1つまたは複数の実施形態による構造化されたCTI情報抽出ツールの標的エンティティ抽出の性能を示す図である。
【
図14a】他のツールと比較した、本発明の1つまたは複数の実施形態による構造化されたCTI情報抽出ツールによって抽出される攻撃パターンの総数を示す図である。
【
図14b】他のツールと比較した、本発明の1つまたは複数の実施形態による構造化されたCTI情報抽出ツールの攻撃パターンエンティティ抽出の性能を示す図である。
【
図15】本発明の実施形態による、構造化されたCTI情報抽出ツールのマルウェア抽出のためのアブレーションを示す図である。
【
図16】本発明の実施形態による、構造化されたCTI情報抽出ツールの脅威行為者抽出のためのアブレーションを示す図である。
【
図17】本発明の実施形態による、構造化されたCTI情報抽出ツールの攻撃パターン抽出のためのアブレーションを示す図である。
【
図18】他のツールと比較した、本発明の1つまたは複数の実施形態によるヒューリスティクスを用いた構造化されたCTI情報抽出ツールのマルウェアエンティティ抽出の性能を示す図である。
【
図19】他のツールと比較した、本発明の1つまたは複数の実施形態によるヒューリスティクスを用いた構造化されたCTI情報抽出ツールの脅威行為者エンティティ抽出の性能を示す図である。
【
図20】他のツールと比較した、本出願の1つまたは複数の実施形態による構造化されたCTI情報抽出ツールの関係抽出の性能を示す図である。
【発明を実施するための形態】
【0008】
本発明の実施形態は、コンピュータ処理の分野を基礎とする進歩、具体的には機械学習の分野の進歩に伴う、機械学習システムおよび方法を提供する。たとえば、いくつかの変形では、本発明の実施形態は、情報を正確に抽出するためにモデルの固有の訓練を必要としないことがあり、計算リソースと訓練時間を節約する。加えて、本発明の実施形態は、セキュリティエキスパートの特定のタスクに適応され得るので、フレキシビリティとユーザビリティが向上する。サイバーセキュリティ手順の機能を改善することによって、本発明の実施形態は、データセキュリティとプライバシーの改善にも寄与する。その上、本発明の実施形態は、たとえばサイバーセキュリティ手順のための情報の抽出を改善することによって、サイバーセキュリティ手順およびプログラムを実施するために必要とされる計算能力を減らし、計算リソースを節約することができる。本発明の実施形態は、最新のモデルより高い性能も提供することができ、正確さ、コンピュータ処理の機能、および計算リソースの使用を改善する。たとえば、重複するもしくは複数のモデル固有データセットの作成および/または記憶を減らすことによって、計算リソース(たとえば、処理需要、メモリ需要)を温存することができる。
【0009】
本発明の実施形態は、大規模言語モデル(LLM)を使用することによって、最小限の人の介入で重要な情報をサイバーセキュリティ報告から抽出することが可能なシステムを提供することができる。
【0010】
CTIの重要性を考慮すると、リソースが限られていても、セキュリティアナリストは、大量の時間を費やして、情報を標準的なフォーマットで構造化するためにCTIのソースを手動で処理する。実際に、この労力は、構造化されたCTIとそれを生み出すためのコストを共有するための組織を企業が編成できるほど十分に大きい。たとえば、サイバー脅威アライアンス(cyber threat alliance:CTA)は、STIXバンドルの形式でメンバー間でCTIを共有するためのプラットフォームを提供し、そのメンバーは、CISCO、MCAFEE、SYMANTEC、SOPHOS、FORTINETなどの30社以上の大企業である。この活動を助けるために、セキュリティコミュニティは、構造化されていないCTIソースから情報を抽出するプロセスを自動化するための方法を積極的に研究しており、これはいくつかの方法とツールの開発につながった。
【0011】
これらの方策はアナリストの負担を減らすことに寄与するが、これまで、それらの方策の注目点はIoCの抽出に限られており、これはパターン照合方法(たとえば、正規表現)を用いて特定するのが比較的簡単である。最近になりようやく、深層学習を使用した自然言語処理(natural language processing:NLP)の進化により、より複雑な情報(たとえば、脅威行為者、マルウェア、標的、攻撃パターン)を抽出できる方法の開発が可能になった。それでも、これらの方策の性能はまだ限られている。問題の1つは、これらの機械学習の方策が動作する方式である。それらの方策は、汎用NLP機械学習モデルを特殊化し、それをサイバーセキュリティドメイン向けに微調整したものであることが多い。微調整は、多数の報告を手動でラベリングすることによって構築された訓練データセットを機械学習モデルに提供することによって行われる。
【0012】
しかしながら、これらのAIモデルは、固有表現抽出(named entity recognition:NER)などのタスクを実行するように特別に設計されることがあり、これはセキュリティアナリストの要望に近いものの、決定的に異なる。実際に、それらのAIモデルは、抽出された情報の重要性を考慮しないことがある。たとえば、新しいマルウェアの使用を記述する報告は、一般的な導入部分において、他の既知のマルウェアについて、それらが過去の類似する攻撃において使用されたので言及することがある。これらの言及は、報告において記述される現在の攻撃とは無関係であるが、普通のNERモデルはそれでも、それらをマルウェアとして抽出して分類し得る。しかしながら、構造化されたCTI報告をまとめるセキュリティアナリストであれば、攻撃についての情報を抽出するときにそのような無関係な言及を無視するであろう。すなわち、構造化されたCTI報告の生成には、重要な固有表現(たとえば、マルウェア)のみを抽出することが必要であり得る。
【0013】
第1の態様において、本開示は、構造化された情報を抽出してデータモデルにマッピングするためのコンピュータで実施される方法を提供する。テキストデータが、1つまたは複数の構造化されていないデータソースから取得される。大規模言語モデル(LLM)、前処理プロンプト、およびテキストデータを使用して、言い換えられたテキストデータが決定される。LLM、抽出プロンプト、データモデル、および言い換えられたテキストデータを使用して、抽出されるデータが決定される。抽出されたデータは、データモデルにマッピングされる。
【0014】
第2の態様において、本開示は第1の態様による方法を提供し、この方法は、抽出されたデータをユーザレビューのためにユーザインターフェースに出力するステップと、抽出されたデータについてのユーザ入力を受け取るステップと、ユーザ入力に基づいて、訂正された抽出プロンプトを決定するステップと、LLM、訂正された抽出プロンプト、データモデル、および言い換えられたテキストデータを使用して、さらなる抽出されるデータを決定するステップとをさらに備える。さらなる抽出されたデータは、データモデルにマッピングされる抽出されたデータとして使用される。
【0015】
第3の態様において、本開示は第1または第2の態様による方法を提供し、その方法において、1つまたは複数の構造化されていないデータソースはセキュリティ報告を含み、テキストデータはセキュリティインシデントに関するサイバー脅威インテリジェンス(CTI)情報を含む。
【0016】
第4の態様において、本開示は第1から第3の態様のいずれかによる方法を提供し、この方法は、LLMにより処理されるのに十分な情報をテキストデータが含まないという決定に基づいて、さらなるテキストデータをインターネットソースから取得するステップをさらに備え、言い換えられたテキストを決定するステップは、テキストデータおよびさらなるテキストデータに基づく。
【0017】
第5の態様において、本開示は第1から第4の態様のいずれかによる方法を提供し、その方法において、テキストデータおよび/またはさらなるテキストデータが、データモデルによって定義されるエンティティに基づいて1つまたは複数の構造化されていないデータソースおよび/またはインターネットソースを解析することによって取得される。
【0018】
第6の態様において、本開示は第1から第5の態様のいずれかによる方法を提供し、この方法において、言い換えられたテキストデータを決定するステップは、LLMの入力容量に基づいて1つまたは複数のテキストチャンクをテキストデータから取得するステップと、前処理プロンプトおよび1つまたは複数のテキストチャンクの第1のテキストチャンクをLLMに入力して、第1のテキストチャンクのための要約された言い換えられたテキストデータを言い換えられたテキストデータとして取得するステップとを備える。要約された言い換えられたテキストデータは、第1のテキストチャンクより少ないテキストデータを備え、抽出されるデータを決定するステップは、要約された言い換えられたテキストデータに基づく。
【0019】
第7の態様において、本開示は第1から第6の態様のいずれかによる方法を提供し、この方法は、さらなる前処理プロンプトおよび1つまたは複数のテキストチャンクの第2のテキストチャンクをLLMに入力して、第2のテキストチャンクのための第2の要約された言い換えられたテキストデータを取得するステップをさらに備える。第2の要約された言い換えられたテキストデータは、第2のテキストチャンクより少ないテキストデータを備え、抽出されるデータを決定するステップはさらに、第2の要約された言い換えられたテキストデータに基づく。
【0020】
第8の態様において、本開示は第1から第7の態様のいずれかによる方法を提供し、この方法において、言い換えられたテキストデータを決定するステップは、前処理プロンプトおよびテキストデータをLLMに入力して、テキストデータのための拡張された言い換えられたテキストを取得するステップをさらに備える。拡張された言い換えられたテキストは、テキストデータの拡張を備え、抽出されるデータを決定するステップはさらに、拡張された言い換えられたテキストデータに基づく。
【0021】
第9の態様において、本開示は第1から第8の態様のいずれかによる方法を提供し、この方法において、テキストデータの拡張は、テキストデータの少なくとも一部分と、テキストデータからの情報の異なる記述を示す新しいテキストとを備える。
【0022】
第10の態様において、本開示は第1から第9の態様のいずれかによる方法を提供し、この方法は、言い換えられたテキストデータをユーザレビューのためにユーザインターフェースに出力するステップと、言い換えられたテキストデータについてのユーザ入力を受け取るステップと、ユーザ入力に基づいて、訂正された前処理プロンプトを決定するステップと、LLM、訂正された前処理プロンプト、およびテキストデータソースを使用することに基づいて、さらなる言い換えられたテキストデータを決定するステップとをさらに備える。さらなる言い換えられたテキストデータは、抽出されるデータを決定する際に言い換えられたテキストデータとして使用される。
【0023】
第11の態様において、本開示は第1から第10の態様のいずれかによる方法を提供し、この方法は、抽出プロンプトおよびLLMを使用してデータモデルのエンティティを取得するステップをさらに備える。抽出プロンプトは、データモデルのエンティティを言い換えられたテキストデータから抽出するようにLLMにクエリする。データモデルは、脅威情報構造化記述形式(STIX)データモデルである。抽出されたデータをデータモデルにマッピングするステップは、抽出されたエンティティをデータモデルにマッピングするステップと、ユーザインターフェースを介してマッピングされたデータモデルをユーザに出力するステップとをさらに備える。
【0024】
第12の態様において、本開示は第1から第11の態様のいずれかによる方法を提供し、この方法において、テキストデータはサイバー脅威インテリジェンス(CTI)情報を含み、エンティティは、マルウェア、脅威行為者、標的、および脆弱性の1つまたは複数を含み、または、テキストデータは医療記録を含み、エンティティは、患者、医師、治療、病院、および薬の1つまたは複数を含む。
【0025】
第13の態様において、本開示は第1から第12の態様のいずれかによる方法を提供し、この方法は、LLM、前処理プロンプトとは異なるさらなる前処理プロンプト、およびテキストデータソースを使用してさらなる言い換えられたテキストデータを決定するステップ、ならびに/または、LLM、抽出プロンプトとは異なるさらなる抽出プロンプト、データモデル、および言い換えられたテキストデータを使用してさらなる抽出されるデータを決定するステップと、さらなる言い換えられたテキストデータが言い換えられたテキストデータと同じである、もしくはかなり類似している、または、さらなる抽出されたデータが抽出されたデータと同じ抽出されたエンティティを備えると決定するステップとをさらに備える。
【0026】
第14の態様において、本開示は、構造化された情報を抽出してデータモデルにマッピングするためのコンピュータシステムを提供し、コンピュータシステムは、単独でまたは組合せで、第1から第13の態様のいずれかによる方法の実行を実現するように構成される、1つまたは複数のハードウェアプロセッサを備える。
【0027】
第15の態様において、本開示は、構造化された情報を抽出してデータモデルにマッピングするための、有形の非一時的コンピュータ可読媒体を提供し、非一時的コンピュータ可読媒体は、1つまたは複数のハードウェアプロセッサによって実行されると、単独でまたは組合せで、第1から第13の態様のいずれかによる方法の実行を実現する命令を有する。
【0028】
本発明の実施形態は、自由形式のテキストで書かれたCTI報告から情報を自動的に抽出し、LLMを使用することによって構造化された方法でその情報を表すための、適応システムを提供する。たとえば、本発明の実施形態は、プロンプトテンプレートを使用することによって、LLMへのクエリを行う(たとえば、生成および/または提供する)LLMエージェントを使用することができる。
【0029】
ある構造(たとえば、STIX)になると、CTIからの疑念、危殆化、およびアトリビューションの側面が、オブジェクトおよび記述関係により明確に表現され得る。STIX情報は、アナリストのために視覚的に表現され、または機械が迅速に読み取ることができるように(たとえば、JavaScript Object Notation (JSON)として)記憶され得る。しかしながら、情報がSTIX構造で表現され得る前に、STIX情報がCTIテキストから抽出されなければならないことがある。
【0030】
図1は、構造化されたCTIを抽出するための手動パイプライン100(たとえば、手動抽出)の例を示す。このプロセスでは、1名または複数のセキュリティアナリスト102が、大量の構造化されていないデータ104(たとえば、CTIテキスト報告)を読み、関連する情報を選択し、そして、それをSTIXなどの所望の構造化された表現106へと変換する。
【0031】
結果として、1名または複数のセキュリティアナリスト102は、構造化された表現106を構造化されていないデータ104(たとえば、CTIテキスト報告)から生成することを担い、関連する情報を選択するときに自分の知識を利用し、CTIテキスト報告を読み関連する情報を構造化された表現106に変換するのに時間を費やすことが必要であり得る。
【0032】
図2は、自動CTI抽出に採用されるパイプライン200の例示的な実施形態を示す。パイプライン200の方策にはいくつかの問題があり得る。CTIを抽出するための自動化された方法は、NLPなどの様々な機械学習(machine learning:ML)技術に依存する。しかしながら、現在の自動化された方法には、その用途を大幅に制限するいくつかの重大な制約があり得る。
【0033】
まず、パイプライン200は、構造化された報告において見出される様々なタイプの情報を抽出するには、複数のパイプラインの利用が必要であり得る。
図2において、エンティティおよび関係(たとえば、マルウェア、脅威行為者、および/または攻撃被害者)を抽出するためのエンティティおよび関係パイプライン204、ならびに構造化されていないデータ202から攻撃パターン(たとえば、特定のタクソノミーに従って攻撃者によって実行される行動を記述する文章)を抽出して分類するための攻撃パターンパイプライン206という、2つの別個のパイプラインが図示されている。これらのパイプライン204、206は多数のMLコンポーネントからなり、各々が固有にアノテートされたデータセットを必要とし得る。
【0034】
たとえば、エンティティおよび関係パイプライン204は、構造化されていないデータ202において言及される固有表現を探し、あらかじめ定められたカテゴリ(たとえば、人名、組織、位置、時間表現)へと分類し、および/または抽出するためのNERモデル208を含み得る。エンティティおよび関係パイプライン204はまた、構造化されていないデータ202の中の情報とオブジェクトとの関係(たとえば、モデル208によって抽出される固有表現間の関係)を探し、分類し、および/または抽出するための関係モデル210を含み得る。モデル208は、構造化されていないデータ202の固有表現をそれから抽出すべき入力として、アノテートされたデータセット214を利用することができ、モデル210は、構造化されていないデータ202からの関係をそれから抽出すべき入力として、アノテートされたデータセット216を利用することができる。その上、モデル208およびモデル210は各々、別々にアノテートされたデータセットを必要とし得る。
【0035】
同様に、攻撃パターンパイプライン206は、所与の質問への回答を含む文章を特定して抽出するための文章選択モデル220と、文章をあらかじめ定められたグループへと分類するための文章分類モデル222とを含み得る。モデル220は、構造化されていないデータ202の固有表現をそれから抽出すべき入力としてアノテートされたデータセット224を利用することができ、モデル222は、構造化されていないデータ202からの関係をそれから抽出すべき入力として、アノテートされたデータセット226を利用することができ。その上、モデル220およびモデル222は各々、別々にアノテートされたデータセットを必要とし得る。
【0036】
エキスパートまたはアナリスト212(たとえば、クロスドメインエキスパート)は、アノテートされたデータセット214、アノテートされたデータセット216、アノテートされたデータセット224、および/またはアノテートされたデータセット226を、別々にまたは同時にのいずれかで、場合によっては構造化されていないデータ202の異なるデータセットから生成することが必要とされ得る。
【0037】
データセット214、216、224、および/または226は、それぞれのタスク(たとえば、それぞれのモデル208、210、220、222のタスク)のために明確に生成され得る。データセットは、抽出された情報を表すために使用される最終的な構造化されたフォーマット230と整合していてもよく、いくつかのクロスドメインエキスパート212が関与していてもよい。これらのパイプライン204、206の出力228はそれでも、人の操作者(たとえば、アナリスト232)による検証、フィルタリング、および選択を必要とすることがあり、それは、コンポーネントが抽出された情報の重要性を理解できないことがあるからである。
【0038】
サイバーセキュリティ報告の抜粋の例として、次のようなものがある。
【0039】
「その行為者に関連するYoutubeアカウントも発見した… 別のビデオでは、脅威行為者がCuckoo sandbox上でLockbit 2.0サンプルを提出し、その結果を別の恐らくLockBit 2.0と比較していることを確認した… 現時点で、x4kがLockBit 2.0活動に関係しているとは考えていない…」
【0040】
LockBit 2.0はマルウェアであるが、それは報告の例示的な抜粋において記述される攻撃に関係していない。従前の方法はそれでも、LockBit 2.0をマルウェアとして抽出して分類することがあり、場合によっては、人の操作者がテキスト報告を読み、無関係な情報を除去することが必要になる。
【0041】
いくつかの従前の方法は、ヒューリスティクスを利用してそのような事例を自動的にフィルタリングすることができるが、それらはしばしば誤分類をもたらし得る。
【0042】
最後に、構造化されたフォーマット230で構造化されていないデータ202の報告を表すために使用される分類またはデータモデルへのどのような修正も、アナリスト232が直接は行えないことがある。代わりに、修正には、パイプラインコンポーネントを訓練するために使用されるデータセット214、216、224、および/または226を再ラベリングすることが必要であり得る。たとえば、LockBitの分類をマルウェアからランサムウェアに変更するには、関連するラベルを変更することが必要であり得る。その結果、CTIアナリストは、その分類を所望の出力228に適合させるようにパイプライン204、206を直接調整できないことがある。
【0043】
本発明の実施形態は、これらの制約への方策を提供することができる。第一に、本発明の実施形態は、パイプラインのすべてのコンポーネントのために単一のモデルを利用することができ、固有にアノテートされたデータセットまたはタスク固有の訓練の必要をなくす。代わりに、その単一のモデルが、明確な訓練なしでタスクを実行するように命令され得る。第二に、重要な情報を自動的にフィルタリングして選択するために、その単一のモデルの推論能力が活用され得る。分類だけに頼る従来の方法とは異なり、その単一のモデルの推論能力は、モデルが抽出された情報の文脈と重要性を理解することを可能にし得る。
【0044】
第三に、本発明の実施形態は、特定のタスクに向けてパイプラインをカスタマイズするための専用のクロスドメインエキスパートの必要性をなくすことができる。ドメイン固有エキスパートがパイプラインをプログラムすることを必要としていた従前の手法とは異なり、提案されるモデルの実施形態は、CTIアナリストがそのモデルと直接対話することを可能にし得る。CTIアナリストは、モデルの出力(たとえば、
図3、
図9)を、自分が手動で生成したであろうもの(たとえば、
図1)と比較し、必要な場合、命令をモデルに直接提供することができる。このフレキシビリティにより、CTIアナリストは、外部エキスパートに必ずしも依存することなく、特定の要件に従ってパイプラインを適応させて微調整することが可能になる。
【0045】
図3は、本発明の1つまたは複数の実施形態によるグローバルシステム300を記述する。たとえば、第1のステップにおいて、セキュリティエキスパートおよび/またはユーザ302は、ユーザ302が要約を望んでいる報告、ならびに/または、ユーザ302が関心を持っている話題を示すいくつかの用語(たとえば、マルウェアの名前)および所望のデータモデル(たとえば、STIX)を、入力304としてシステム300(たとえば、システム300のユーザインターフェース306)に提供する。
【0046】
たとえば、本発明のある実施形態では、ユーザインターフェース306は、ユーザ302による処理なしで、データおよび情報を報告から受け取ることができる。ユーザインターフェース306は、たとえばデータが最初に生成されたときの形式で、構造化されていない報告(たとえば、HTMLソース、テキスト表現)を受け取ることができ、有利には、ユーザ302がセキュリティ報告を自分で構造化することの負担を減らす。
【0047】
第2のステップにおいて、ユーザインターフェース306は、入力304からの情報をデータ取得モジュール308(たとえば、データ取得デバイス)に送る(たとえば、提供および/または入力する)ことができる。データ取得モジュール308は、その情報が、LLM312が応答(たとえば、正確なまたは有用な応答)を生成するのに十分なものであるかどうか、または、データ取得モジュール308がインターネット314上で(たとえば、取得および解析のために)追加の情報を探すことが必要とされるかどうかを決めることができる。これは、たとえば、LLMエージェント310が、ユーザ302が関心を持っている話題についての用語の単純で短いセットではなく、テキストによる報告を受け取ることを、データ取得モジュール308が確実にすることによって行われ得る。たとえば、ユーザインターフェース306がすでに報告を提供しているとき、データ取得モジュール308は、追加の材料または情報は必要ではないと決めることができる。ユーザインターフェース306が、関心対象の話題を示すいくつかの用語(たとえば、マルウェアの名前)を単に指定した(たとえば、提供した)だけであるとき、データ取得モジュール308は、インターネット314から追加の情報をダウンロードすることができる。この情報は、検索エンジン、またはユーザインターフェース306および/もしくはユーザ302によって提供されるリンク(たとえば、ウェブサイト上でサイバーセキュリティ報告を公開し、検索エンジンを提供している、有名な組織および機関のウェブサイト)に由来し得る。
【0048】
第3のステップにおいて、データ取得モジュール308は、セキュリティエキスパートまたはダウンロード302によって提供される入力304からの内容316(たとえば、報告304のテキストおよび/または報告304のテキストの表現)を解析する。いくつかの事例では、データ取得モジュール308は、解析された情報を補足するためにインターネット314上で検索することが必要とされる。そのような事例では、データ取得モジュール308は次いで、インターネット314からの新しい情報を解析し、エキスパート302により提供される、または検索により(たとえば、検索エンジンを使用して)提供されるかのいずれかであるリンクをたどる。様々なソースを解析するために、データ取得モジュール308は、特定のウェブサイト/フォーマットのために専門化された様々なプラグインを有し得る(たとえば、含み得る)。
【0049】
複数のプラグインが、構造化されていない報告(たとえば、HTMLソース、テキスト表現)の個々のフォーマットを取り扱うために利用可能であり得る。データ取得モジュール308は、これらのプラグインを使用して、入力報告の様々なソースから重要な情報を取得して解析することができ、様々なソースを解析した後、これらの様々なソースによって提供される情報は、インターネットから取得されたさらなる情報によって補足され得る。たとえば、ウェブサイト上でサイバーセキュリティ報告を公開している有名な組織や機関があり、各ウェブサイトは異なる構造およびフォーマットを有することがある。データ取得モジュール308は、プラグインを使用して、ウェブサイトのHTMLページから、(たとえば、LLMエージェント310およびLLM312によって)後でさらに処理される、人が読めるプレーンテキストを抽出することができる。データ取得モジュール308は、そのウェブサイト/ドメインからのすべての報告に共通であり報告の実際の内容を含まない可能性のある、ページからの不要な情報(たとえば、ヘッダ、フッタ、およびメニュー)を取り除くことができる、各ソース(たとえば、ソースドメイン)のために設計されたより洗練されたプラグインを利用することもできる。
【0050】
第4のステップにおいて、データ取得モジュール308は、解析された情報をLLMエージェント310に渡し(たとえば、送信し、および/または送り)、そしてLLMエージェント310は、解析された情報を受け取り、LLM312に対して行われるべき(たとえば、提供および/または入力されるべき)クエリを決める(たとえば、決定する)。
【0051】
たとえば、本発明のある実施形態では、LLMエージェント310は、LLM312のコンテキストウィンドウに適合する(たとえば、それと一致する、またはそれに収まる)、LLMエージェント310がデータ取得モジュール308から受け取った解析された情報(たとえば、テキストデータソースからのテキストデータ)の一部分(たとえば、チャンク)を選択することによるLLM312に対するクエリ(たとえば、プロンプト)と、選択された部分を要約せよとの要求とを形成する(たとえば、決定および/または生成する)ことができる。LLMエージェント310は、この選択された部分およびプロンプトをLLM312に供給することができ、LLM312はプロンプト要求に従って選択された部分を要約する(たとえば、LLMがより少ないトークンしか処理しなくてもよいように、選択された部分におけるテキストデータの量を減らす)ことができる。ユーザ302は、LLM312によって生成された要約に重要な情報を補足する(たとえば、組み込む)ことができる命令を提供することができる。解析された情報からの1つより多くの選択が行われて要約されると、要約は一緒に統合されて、LLM312に入力され得る(たとえば、LLM312によるエンティティの抽出のために)。
【0052】
本発明のある実施形態では、LLMエージェント310は、LLM312のコンテキストウィンドウに適合する(たとえば、それと一致する、またはそれに収まる)、LLMエージェント310がデータ取得モジュール308から受け取った解析された情報(たとえば、テキストデータソースからのテキストデータ)の一部分(たとえば、チャンク)を選択することによるLLM312に対するクエリ(たとえば、プロンプト)と、選択された部分をさらに記述せよ(たとえば、選択された部分における重要な事実を特定せよ、および/またはテキストの中の情報のつながりを見つけよ)との要求とを形成することができる。LLMエージェント310は、この選択された部分およびプロンプトをLLM312に供給することができ、LLM312は、プロンプト要求に従って選択された部分を記述することができる。ユーザ302は、LLM312によって生成された記述に重要な情報を補足する(たとえば、組み込む)ことができる命令を提供することができる。
【0053】
第5のステップにおいて、LLMエージェント310は、情報を前処理して抽出するために、いくつかのクエリをLLM312に対して実行する(たとえば、提供および/または入力する)ことができる。LLMエージェント310についてのさらなる情報が以下で与えられる。
【0054】
たとえば、本発明のある実施形態では、LLMエージェント310は、特定されるべきエンティティおよび関係、以前に生成された要約および/もしくは記述、ならびに/またはLLMエージェント310がデータ取得モジュール308から受け取った解析された情報を含む所望のデータモデルと、さらなるプロンプトとをLLM312に入力する(たとえば、提供するおよび/または送る)ことができる。さらなるプロンプトは、(たとえば、所望のオントロジーへと簡単に構造化するための)指定されたフォーマットのエンティティを提供することを含めて、提供された入力からエンティティを抽出するように、および/または、特定の質問(たとえば、「どのマルウェアが使用されているか?」)に答えるようにLLM312に要求することができる。
【0055】
第6のステップにおいて、LLMエージェント310は、LLM312から出力される情報を受け取り、受け取った情報を解析し、それを所望のデータオントロジー(たとえば、STIX)でフォーマットすることができる。
【0056】
第7のステップにおいて、ユーザインターフェース306は、所望の情報318(たとえば、LLMエージェント310の出力)をセキュリティエキスパートまたはユーザ302に返す。たとえば、エキスパート302は、LLMエージェント310によって生成されたオントロジー(たとえば、STIXバンドル)を見て、STIXバンドルが入力304の情報(たとえば、標的、マルウェア、パターンなどのエンティティ)を正確に反映しているかどうかを決定することができる。
【0057】
第8のステップにおいて、ユーザ302は、フィードバックをLLMエージェント310に提供することができる(たとえば、LLMエージェント310は、フィードバックをユーザ302から受け取ることができる)。たとえば、LLMエージェント310の出力を受け取った後、ユーザ302は、LLMエージェント310の出力への変更を決定し、その決定された変更をユーザインターフェース306に提供することができる。ユーザインターフェース306は次いで、その決定された変更をLLMエージェント310に送ることができ、LLMエージェント310は、その決定された変更を、直接または間接的に(たとえば、さらなる処理コンポーネントまたはエンティティを介して)ユーザインターフェース306から受け取ることができる。
【0058】
第9のステップにおいて、LLMエージェント310は、プロンプトテンプレート(たとえば、クエリ)を修正および/または追加することができる。たとえば、ユーザ302のフィードバックを受け取った後、LLMエージェント310は、プロンプトテンプレートを修正し、および/またはそれらをLLM312に提供されるプロンプトテンプレートに追加することができ、これらの修正および/または追加は、ユーザ302の受け取られたフィードバックに基づいて行われ得る。
【0059】
本発明のある実施形態では、LLMエージェント310のフォーマットコンポーネントは、LLM312および/またはユーザ302のフィードバックから取得された情報を所望のオントロジー(たとえば、STIX)にマッピングすることができる。
【0060】
このプロセスは繰り返し行われ得る。たとえば、このプロセス(たとえば、ステップ1から9)は、情報318がセキュリティエキスパート302にとって十分に良くないこと、および/または好結果ではないことに基づいて、再び開始することができる。ある実施形態では、ユーザ302は、情報318を受け取り、情報318を評価し、フィードバックをユーザインターフェース306に提供することができる。ユーザインターフェース306は、直接または間接的にフィードバックをLLMエージェント310に送ることができ、LLMエージェント310は、プロンプトテンプレートを修正および/または追加することができる。LLMエージェント310は次いで、必要であれば、修正されたまたは追加のテンプレートを使用してLLM312にクエリして、直接または間接的に出力をユーザインターフェース306に提供することができる。ユーザインターフェース306は次いで、情報をエキスパート302に提供することができる。エキスパート302は、情報318を再び評価し、フィードバックをユーザインターフェース306に提供することができ、インターフェース306は、クエリテンプレートへの修正および/または追加のために、フィードバックをLLMエージェント310に再び提供する。LLMエージェント310は、修正されたおよび/または追加のクエリテンプレートを使用してLLM312に再びクエリして、情報318をエキスパート302によるレビューのためにユーザインターフェース306に提供することができる。
【0061】
図4は、本発明の1つまたは複数の実施形態による、LLMエージェントシステム350を図示する簡略化されたブロック図である。たとえば、LLMエージェントシステム300は、限定はされないが、セキュリティエキスパートまたはユーザ302、ユーザインターフェース306、データ取得モジュール308、およびLLMエージェント310を含む。ユーザ302は、情報をユーザインターフェース306から受け取ることができ、ユーザインターフェース306によって提供される情報を評価することができる(たとえば、ユーザ302は、情報318が十分であるかどうかを決定することができる)。ユーザ302は次いで、入力をユーザインターフェース306に提供する(たとえば、情報318についてのフィードバックを提供する)ことができる。
【0062】
ユーザインターフェース306は、入力をユーザ302から受け取り、この入力をLLMエージェントシステム300の別のコンポーネントに送ることができる。たとえば、ユーザインターフェース306は、入力304または情報318についてのフィードバックをユーザ302から受け取ることができ、これらをLLMエージェント310および/またはデータ取得モジュール308に送ることができる。たとえば、ユーザインターフェース306が情報318についてのフィードバックをユーザ302から受け取る場合、ユーザインターフェース306は、さらなる処理のためにフィードバックをLLMエージェント310に送る(たとえば、提供する)ことができる。ユーザインターフェース306が入力304をユーザ302から受け取る場合、ユーザインターフェース306は、入力304をデータ取得モジュール308に送る(たとえば、提供する)ことができる。
【0063】
ユーザインターフェース306は、情報をLLMエージェント310から受け取り、受け取った情報をユーザ302に表示することができる。たとえば、LLMエージェント310は、出力をユーザ302に提供する(たとえば、LLMエージェント310から受け取られた情報を表示する)ことができる。ユーザ302は、情報をレビューし、LLMエージェント310によって生み出された情報を受け入れ、または否定することができ、たとえば、フィードバックをユーザインターフェース306に提供することもでき、提供しなくてもよい。上で言及されたように、ユーザ302がLLMエージェント310によって生み出された情報についてのフィードバックを提供するとき、ユーザインターフェース306はこのフィードバックをLLMエージェント310に提供することができる。
【0064】
データ取得モジュール308はプロセッサ358を含み得る。プロセッサ358は、本明細書で説明される機能、プロセス、および/または方法を実行するためのコンピュータ実行可能命令を実行する、中央処理装置(central processing unit:CPU)、RASPBERRY PIプロセッサ/ロジック、コントローラ、および/またはロジックなどの、任意のタイプのハードウェアおよび/またはソフトウェアロジックであり得る。プロセッサは、LLMエージェントシステム350の他のコンポーネント(たとえば、ユーザインターフェース306、LLMエージェント310、ネットワークインターフェース360)と通信することができる。データ取得モジュール308は、プロセッサ358を使用して入力304をユーザインターフェース306から受け取ることができる。上で説明されたように、データ取得モジュール308は、(たとえば、プロセッサ358およびメモリ362の評価プロセスを使用して)ユーザインターフェース306から受け取った入力304を評価(たとえば解析)することができ、プロセッサ358を使用して、入力304からの情報および/または入力自体をLLMエージェント310に転送する(たとえば、送るおよび/または提供する)ことができる。データ取得モジュール308が、プロセッサ358を使用して、入力304がLLMエージェント310のために十分なおよび/または十分良い情報を持っていないと決定する(たとえば、決める)とき、データ取得モジュール308は、プロセッサ358を使用して、ネットワークインターフェース360を通じてインターネット314にアクセスし、インターネット314上のソースにクエリすることができる。データ取得モジュール308のプロセッサ358は、クエリをインターネット314に送る(たとえば、提供する)ことができ、(たとえば、提供されたクエリに応答して)情報をインターネット314から受け取ることができる。
【0065】
データ取得モジュール308はメモリ362を含み得る。メモリ362は、上で説明されたように、入力304がLLMエージェント310のための十分な情報を含むかどうかを決定するためにユーザインターフェース306によって提供される入力304を評価するためにプロセッサ358によって使用されるプロセス(たとえば、プログラムおよび/またはスクリプト)を含み得る。たとえば、プロセッサ358は、ユーザインターフェース306から受け取った入力304をメモリ362のプロセスに入力して、LLM312のためのプロンプトテンプレートをLLMエージェント310が形成するのに十分な情報が提供されたかどうかを決定することができる。これらのプロセスは、メモリ362に記憶されて維持され、および/または、メモリの中で更新もしくは記憶され得る。いくつかの例では、メモリ362は、限定はされないが、電気的な、磁気的な、光学的な、電磁的な、赤外線の、もしくは半導体のコンピュータ可読媒体などの、コンピュータ使用可能媒体またはコンピュータ可読媒体であってもよく、および/あるいはそれらを含んでもよい。コンピュータ可読媒体のより具体的な例(たとえば、非網羅的なリスト)は、1つまたは複数のワイヤを有する電気的な接続、ポータブルコンピュータディスケット、ハードディスク、時間依存アクセスメモリ(たとえば、RAM)、ROM、消去可能プログラム可能読み取り専用メモリ(erasable programmable read-only memory:EPROMまたはフラッシュメモリ)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory:CD-ROM)、または他の有形の光学もしくは磁気記憶デバイスなどの有形媒体を含み得る。コンピュータ可読媒体は、本出願の態様を実施するためのコンピュータ可読命令/プログラムコードを記憶することができる。たとえば、プロセッサ358によって実行されると、コンピュータ可読命令/プログラムコードは、LLMエージェント310のために十分な情報がユーザインターフェース306によって提供されたかどうかを決定することを含む本出願の動作を実施することができる。
【0066】
LLMエージェント310はプロセッサ356を含み得る。プロセッサ358は、本明細書で説明される機能、プロセス、および/または方法を実行するためのコンピュータ実行可能命令を実行する、中央処理装置(CPU)、RASPBERRY PIプロセッサ/ロジック、コントローラ、および/またはロジックなどの、任意のタイプのハードウェアおよび/またはソフトウェアロジックであり得る。プロセッサ356は、LLMエージェントシステム350の他のコンポーネント(たとえば、ユーザインターフェース306、データ取得モジュール308、および存在するとき、ネットワークインターフェース364)と通信することができる。LLMエージェント310のプロセッサ356は、情報をユーザインターフェース306から受け取ることができる。たとえば、LLMエージェント310のプロセッサ356は、ユーザインターフェース306が送る情報を受け取ることによって、ユーザ302がユーザインターフェース306に入力する(たとえば、提供する)フィードバックを受け取ることができる。LLMエージェント310はまた、プロセッサ356を使用して情報をユーザインターフェース306に提供する(たとえば、送る)ことができ、ユーザインターフェース306はそれを受け取ってユーザ302に表示することができる。たとえば、LLMエージェント310のプロセッサ356は、ユーザ302によってユーザインターフェース306に提供されるフィードバック(たとえば、LLMエージェント310によって生成される情報についてのフィードバック)を繰り返し受け取り、生成された情報を訂正し(たとえば、生成されたLLMプロンプトテンプレートを訂正し)、ユーザ302によるレビューのために訂正された情報をユーザインターフェース306に送ることができる。このプロセスは、ある設定された回数(たとえば、処理閾値または所定の閾値により制限される)、および/またはユーザ302による入力があると(たとえば、ユーザ302が入力を認めると)、継続することができる。
【0067】
LLMエージェント310はメモリ354を含み得る。メモリ354は、上で説明されたように、LLM312のためのおよび/もしくはユーザ302によるレビューのためのプロンプトテンプレートを決定ならびに/または生成するためにデータ取得モジュール308から受け取った情報を評価するために、プロセッサ356によって使用されるプロセス(たとえば、プログラムおよび/またはスクリプト)を含み得る。たとえば、プロセッサ356は、データ取得モジュール308から受け取った情報をメモリ354のプロセスに入力して、LLM312のためのおよび/もしくはユーザ302によるレビューのためのプロンプトテンプレートを決定ならびに/または生成することができる。これらのプロセスは、メモリ354に記憶されて維持され、および/または、メモリにおいて更新もしくは記憶され得る。LLMエージェント310は、(たとえば、アプリケーションプログラミングインターフェース(application programming interface:API)を通じたサービスとして)提供される1つまたは複数のLLM312と対話することができる。いくつかの例では、メモリ354は、限定はされないが、電気的な、磁気的な、光学的な、電磁的な、赤外線の、もしくは半導体のコンピュータ可読媒体などの、コンピュータ使用可能媒体またはコンピュータ可読媒体であってもよく、および/あるいはそれらを含んでもよい。コンピュータ可読媒体のより具体的な例(たとえば、非網羅的なリスト)は、1つまたは複数のワイヤを有する電気的な接続、ポータブルコンピュータディスケット、ハードディスク、時間依存アクセスメモリ(たとえば、RAM)、ROM、消去可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュメモリ)、コンパクトディスク読み取り専用メモリ(CD-ROM)、または他の有形の光学もしくは磁気記憶デバイスなどの有形媒体を含み得る。コンピュータ可読媒体は、本出願の態様を実施するためのコンピュータ可読命令/プログラムコードを記憶することができる。たとえば、プロセッサ356によって実行されると、コンピュータ可読命令/プログラムコードは、上で説明されたように、LLM312のためのおよび/もしくはユーザ302によるレビューのためのプロンプトテンプレートを決定ならびに/または生成することを含む、本出願の動作を実施することができる。
【0068】
LLMエージェント310は、プロセッサ356を使用して、情報(たとえば、プロンプト)を1つまたは複数のLLM312に送る(たとえば、提供するおよび/または入力する)ことができる。本発明のある実施形態では、LLMエージェント310のプロセッサ356は、ネットワークインターフェース364(存在するとき)を使用して、プロンプトを1つまたは複数のLLM312(たとえば、メモリ354の外部に記憶されるLLM312)に送ることができる。LLMエージェント310のプロセッサ356はまた、出力をLLM312から受け取ることができ、本発明のある実施形態では、LLMエージェント310のプロセッサ356は、(存在するとき)ネットワークインターフェース364を介して出力をLLM312から受け取ることができる。
【0069】
LLMは、人により生み出されるテキストと区別不可能なテキストを生成するように大量の自然言語データについて訓練された、一種の人工知能(artificial intelligence:AI)モデルである。これらのモデルは、深層学習技術を使用して背後にある言語のパターンと構造を学習することができ、言語翻訳、質問回答、またはテキスト補完などの特定のNLPタスクを実行するように微調整され得る。
【0070】
LLMは、数千万個から数千億個にわたり得る多数のパラメータと、インターネットコーパスまたは書籍全体を含み得る、それらのパラメータを訓練するために使用される大量のデータとによって特徴付けられ得る。これらのモデルは、NLPの分野に革新をもたらし、言語翻訳、コンテンツ生成、および会話インターフェースなどのアプリケーションが、前例のない水準の正確さと精巧さを得ることを可能にした。それらはプロンプトを使用することによってプログラムされ得る。
【0071】
LLMプロンプトは、応答を生成するためにLLMに与えられる初期入力である。それは、一貫した重要なテキスト応答をLLMが生成するための文脈を提供する短い文章、質問、または一連のキーワードであり得る。プロンプトは、訓練データからの学習されたパターンおよび構造に基づいてモデルがテキストを生成するための開始点としての役割と果たす。
【0072】
たとえば、言語翻訳LLMのためのプロンプトは、別の言語へ翻訳される必要のある、ある言語の文章であり得る。LLMは、元の文章の意味と意図を正確に反映する翻訳を生成するための指針としてプロンプトを使用する。同様に、テキスト補完タスクにおいて、プロンプトは、与えられた文脈に合う完全な文章を生成するためにLLMが使用する、部分的な文章または語句であり得る。
【0073】
プロンプトの品質と固有性は、生成される応答の品質と妥当性に重大な影響を及ぼし得る。よく作られたプロンプトは、より正確で適切な応答をLLMが生成するのに役立ち得るが、曖昧なまたは不明瞭なプロンプトは、あまり一貫せず、または妥当ではない出力をもたらし得る。
【0074】
LLMエージェント(たとえば、
図3および
図4に示されるLLMエージェント310):本発明のある例示的な実施形態では、LLMエージェント500は、
図5に示されるように3つのサブシステムにより構成される。たとえば、
図3および
図4を参照すると、いくつかの実施形態では、LLMエージェント500はLLMエージェント310であり得る。このLLMエージェント(たとえば、310および/または500)は、機能(たとえば、処理、情報抽出、および/またはフォーマット)を実行する3つのサブシステム(たとえば、前処理コンポーネント504、情報抽出コンポーネント506、およびフォーマットコンポーネント508)から構成され得る。
【0075】
前処理コンポーネント504は、構造化されていない入力報告(たとえば、データ502)から重要なテキストを選択することを担う。いくつかの実施形態では、これには2つの異なるタイプの推論が可能である(たとえば、以下で説明される、要約およびフィルタリングならびに拡張)。
【0076】
要約およびフィルタリング:第1のタイプは、テキストに明確に含まれる重要な情報をフィルタリングして選択するために使用される。重要ではない情報を除去して重要な情報を選択するために、より大きな文脈が考慮され得る。いくつかの実施形態では、LLMの1つの制約はそれらのコンテキストウィンドウであることがあり、それは、LLMは一度に限られた量のテキストしか処理できないからである。この制約を克服するために、前処理ステップおよび前処理コンポーネント504は、LLMの入力容量に収まる最大のテキストチャンクを選択することを伴い得る。続いて、テキストを要約することができ、プロンプトにおいてCTIアナリストによって提供される命令に基づいて重要な情報を組み込む。たとえば、LLMの入力容量は、選ばれる特定のLLMモデルによって与えられる固定値であり得る。入力容量はトークンで表されてもよく、トークンは単一の語または語の一部である。たとえば、LLMモデルは、入力と出力の合計サイズを4000トークン(約3000~3500語)に制限してもよく、これは、LLMモデルが処理できる入力の種類を制限し得る。LLMエージェント310の入力容量の選択は、テキストの各チャンクに対応するトークンの数およびトークンに関するLLMモデルの制約に基づいて、チャンクの中の入力テキストを分割することを担う。
【0077】
要約およびフィルタリングプロンプトの一例が以下で与えられる。
下記の簡潔な要約を書き、{フィルタ}に関するすべての情報を含めよ:
{テキスト}
簡潔な要約:
【0078】
上記の例示的な実施形態は、要約およびフィルタリングのために使用されるプロンプトテンプレートを表す。すべてのテキストチャンクが、同じ要約およびフィルタリングプロセスを経ることができる。続いて、それらは単一のテキストへと一緒に統合されてもよく、次いで抽出ステップのために抽出コンポーネント506を通される。この手法は、生成されたテキストが重要な情報の評価と抽出のための大局的な文脈を確実に提供するようにするのに役立ち得る。
【0079】
拡張:第2のタイプは、テキストにおいて示唆されるだけである情報を明確にするために利用される。この場合、前処理ステップは、テキストにおいて記述される概念に対する拡張を伴い、場合によっては、元のテキストに含まれる情報の異なる記述を提供する新しいテキストを生成する。生成される新しいテキストの量は、コンテキストウィンドウに確実に収まるように制御され得る。
【0080】
攻撃パターン記述は、CTI報告に普通は含まれる暗黙的な情報の例である。これらの記述は、攻撃者またはマルウェアによって実施される行動を概説し、CTIでは、報告を処理して特定のタクソノミーに従いこれらの行動を分類するのが一般的である。
【0081】
以下は、報告から抽出された攻撃パターンT1573「暗号化されたチャネル」の使用を記述する段落の例である。
【0082】
「PlugXマルウェアの2022年1月バージョンは、動的に構築されるハードコーディングされたキーとともにRC4暗号化を利用する。通信のために、データはコマンドアンドコントロール(C2)サーバへの送信の前に圧縮され、次いで暗号化され、C2サーバから受信されるデータについて同じプロセスが逆方向に実施される。以下は、暗号化されたデータとともに伝達されているときのRC4キー「sV!e@T\#L\$PH\%」を示す。データはLZNT1およびRtlDecompressBufferを介して圧縮されて解凍される。2022年1月のキャンペーンの間、配信されたPlugXマルウェアサンプルはポート187を介してC2サーバ92.118.188[.]78と通信していた。」
【0083】
コマンドアンドコントロールとの通信のために暗号化されたチャネルを使用することは、テキストにおいて明確に述べられていない。
【0084】
以下のプロンプトは、上記のテキストについての拡張推論を触発するために使用され得る。
以下のテキストにおける重要な事実を段階を追って記述せよ:
{テキスト}
重要な事実:
【0085】
これが対応する出力である。
「PlugXマルウェアの2022年1月バージョンは、コマンドアンドコントロール(C2)サーバとの通信のために動的に構築されたキーを用いたRC4暗号化を使用する。」
【0086】
要約およびフィルタリングされ、拡張されたテキストが次いで、情報抽出ステップのために抽出コンポーネント506への入力として前処理コンポーネント504から渡され得る。
【0087】
情報抽出コンポーネント506は、前処理コンポーネント504の出力を使用する。この時点で、得られたテキストは使用されるLLMのコンテキストウィンドウに収まり得る。再び、プロンプトテンプレートを使用して、LLMエージェントは、必要とされる様々な情報を取得するためにLLMにクエリすることができる。
【0088】
LLMエージェント500(たとえば、抽出コンポーネント506)は、いくつかの抽出方法をサポートし、抽出すべき情報のリストを提供することができる。
以下のテキストから、すべての{NER_str}エンティティを抽出せよ。エンティティを分類し、与えられたフォーマットに従ってそれらを出力せよ。
====フォーマット====
マルウェア:<カンマで区切られたリスト>または該当なし
脅威行為者:<カンマで区切られたリスト>または該当なし
または、直接的な質問を行う。
下記の文脈を使用して最後の質問に回答せよ。
{文脈}
質問:記述された攻撃の標的は誰/どれか?
【0089】
両方の場合において、抽出すべき情報についてのさらなるフィルタリングを指定することができる。たとえば、抽出すべきエンティティのセットだけにリストを制限することによって、質問にフィルタを直接挿入する:「どのマルウェアが攻撃において使用されたか?バックドアをマルウェアとして考慮するな」または「どの組織が攻撃の被害者であったか?被害者の本国を含めよ。」
【0090】
抽出コンポーネント506による抽出の後で、情報抽出モジュール(たとえば、情報抽出コンポーネント506)は追加の確認ステップを実行することができ、抽出された情報が元のテキストに存在することを確認するようにLLMにクエリして、不一致がある場合にエラーを報告する。
【0091】
さらに、抽出コンポーネント506は、抽出された情報をフォーマットコンポーネント508に提供することができる。フォーマットコンポーネント508は、取得された情報を必要とされるオントロジーにマッピングすることができる。たとえば、ユーザは、情報がそのために抽出されるべき所望のデータモデル512を提供することができ、ユーザによって提供される所望のデータモデル512は、STIX標準に従ったエンティティを含み得る。フォーマットコンポーネント508は次いで、抽出された情報を所望のデータモデル512にマッピングして、グラフ表現510を生成することができる。
【0092】
この場合、抽出された情報はグラフフォーマット510を含むSTIXバンドルとして表されてもよく、グラフフォーマット510はすべての抽出されたエンティティ(たとえば、ユーザによって要求されるエンティティのタイプの明確なインスタンス化)を含み得る。
【0093】
1つまたは複数の実施形態では、サイバーセキュリティ報告などの構造化されていないデータソースからの構造化されたCTI情報の抽出のための方法は、以下のステップを備え得る。
1)入力報告(利用可能であるとき)とインターネットからの追加の情報(必要とされるとき)を統合する重要なテキストデータソースを取得して解析するステップ(
図3のデータ取得ブロック308)。
2)情報の重要性を考慮しながらLLMと対話することによってCTI情報を自動的に処理するためのプロンプトのパイプラインの定義。アナリストのタスクにとって重要ではないものを無視して、
a)重要なCTI情報(マルウェア、脅威行為者、標的、攻撃パターンなど)のみを選択し、以下の動作の性能を改善するための何らかのテキストコンテンツを言い換えるための前処理プロンプト(
図5の前処理ブロック504)、
b)ユーザによって指定されるCTIデータモデルに基づいて提供されるテキストから重要なCTI情報(マルウェア、脅威行為者、標的、攻撃パターンなど)を抽出するための抽出プロンプト(
図5の情報抽出ブロック506)(ここで、「重要な」とは、一般的な意味でドメインとって重要であること(たとえば、報告において言及されるあらゆるマルウェア)ではなく、エンドユーザ(たとえば、CTIアナリスト)にとって重要であることとして理解され得る)。
3)抽出された情報を所望のデータモデル、たとえばオントロジーにマッピングするステップ(
図5のフォーマットブロック508)。たとえば、STIXオントロジーは、マルウェア、脅威行為者、攻撃パターン、および脆弱性などのエンティティを定義する。
4)ユーザフィードバックに基づく情報の前処理および抽出ステップの任意選択の改良。
【0094】
本発明の実施形態は、多くの利点を提供することができる。たとえば、前処理ステップおよび固有のプロンプトは、CTI情報を抽出するタスクのためにテキストに含まれる情報の文脈について推論するために使用され得る。前処理ステップは、後続のステップ(たとえば、情報抽出)の性能を改善する。このステップは、次のことのために使用され得る。
a. 要約およびフィルタリング:情報が含まれるより広い文脈(すべてのテキスト報告)について推論し、受け取った命令に従って何が重要であり何が重要ではないかを選択する。
b. 拡張:攻撃の記述に暗黙的に含まれる詳細なステップについて推論し、攻撃を実行するために必要とされる明確なステップの新しい/追加の記述を生成する。
【0095】
本発明のいくつかの実施形態では、プロンプトは、どの情報をCTI報告から抽出するかを直接指定し、それらを抽出し、および/または最終的に正しい抽出を検証するために使用され得る。
【0096】
本発明のいくつかの実施形態では、CTIアナリストは、手動で生み出されたものと一致する出力を生み出すシステムを有することによってフィードバックループに直接含まれることが許容されてもよく、それは簡単な命令を与えることによってプログラム可能である。
【0097】
本発明の実施形態は、有利には、モデルの固有の訓練を必要とせず、セキュリティエキスパートの固有のタスクに適合され得るので、既存の技術よりも高い性能を提供し、訓練時間と計算リソースの節約にもなる。
【0098】
本発明の実施形態は、医療および健康管理の分野にも適用され得る(たとえば、医療報告に適用される)。たとえば、パイプラインの多くのステップ(たとえば、フィルタリングまたは拡張)は、他のドメインに適用可能である。たとえば、LLMエージェント310によって利用されLLM312によって処理されるプロンプトを、所望のタスクおよびソース文書のタイプ(たとえば、医療報告)に合わせるおよび/または適合させることによって、本発明の実施形態は、医療および健康管理の分野においてそれらを支援するためのAIツールを提供することができる。たとえば、医療関連文書は、画像の中に重要な情報を含むことがあるが、他の場合には、入力文書はテキストしか含まないことがあり、場合によっては、画像とテキスト情報の両方を含むことがあり、エキスパート302、ユーザインターフェース306、データ取得モジュール308、LLMエージェント310、およびLLM312がすべて、関連する情報および最終的なタスクに応じて、これらの報告から重要な画像および/またはテキスト情報を処理して抽出するように適合され得る。したがって、本明細書では、「報告」はテキストおよび/または画像を含み得るソース文書を指すことがあり、「インシデント」は関連するドメインにおける関心対象のイベントまたはエンティティを指す。
【0099】
図9を参照すると、処理システム900は、1つまたは複数のプロセッサ902、メモリ904、1つまたは複数の入力/出力デバイス906、1つまたは複数のセンサ908、1つまたは複数のユーザインターフェース910、および1つまたは複数のアクチュエータ912を含み得る。処理システム900は、本明細書で開示される各コンピューティングシステムを表し得る。
【0100】
プロセッサ902は、1つまたは複数のコアを各々有する、1つまたは複数の別個のプロセッサを含み得る。別個のプロセッサの各々は、同じまたは異なる構造を有し得る。プロセッサ902は、1つまたは複数の中央処理装置(CPU)、1つまたは複数のグラフィクス処理装置(graphics processing unit:GPU)、回路(たとえば、特定用途向け集積回路(application specific integrated circuit:ASIC))、デジタルシグナルプロセッサ(digital signal processor:DSP)などを含み得る。プロセッサ902は、共通の基板または複数の異なる基板に搭載され得る。
【0101】
プロセッサ902は、別個のプロセッサの1つまたは複数のうちの1つが、ある機能、方法、または動作を具現化する動作を実行することが可能であるときに少なくとも、その機能、方法、または動作を実行するように構成される(たとえば、機能、方法、または動作の性能を実現するように構成される)。プロセッサ902は、メモリ904に記憶されているコードを実行し(たとえば、スクリプトを解釈し)、および/または1つまたは複数のASICを通じてデータをトラフィッキングすることによって、機能、方法、または動作を具現化する動作を実行することができる。プロセッサ902、したがって処理システム900は、本明細書で開示されるあらゆるすべての機能、方法、および動作を自動的に実行するように構成され得る。したがって、処理システム900は、本明細書で説明されるプロトコル、デバイス、機構、システム、および方法のいずれか(たとえば、そのすべて)を実施するように構成され得る。
【0102】
たとえば、方法またはデバイスがタスク「X」を実行する(またはタスク「X」が実行される)ことを本開示が述べるとき、そのような陳述は、処理システム900がタスク「X」を実行するように構成され得ることを開示するものとして理解されるべきである。処理システム900は、プロセッサ902がある機能、方法、または動作を実行するように構成されるときに少なくとも、同じことを行うように構成される。
【0103】
メモリ904は、揮発性メモリ、不揮発性メモリ、およびデータを記憶することが可能な任意の他の媒体を含み得る。揮発性メモリ、不揮発性メモリ、および任意の他のタイプのメモリの各々が、複数の別個の位置に位置し各々が異なる構造を有する、複数の異なるメモリデバイスを含み得る。メモリ904は、リモートホストされる(たとえば、クラウド)ストレージを含み得る。
【0104】
メモリ904の例は、RAM、ROM、フラッシュメモリ、EEPROMなどの非一時的コンピュータ可読媒体、DVD、Blu-Ray(登録商標)ディスクなどの任意の種類の光学ストレージディスク、磁気ストレージ、ホログラフィックストレージ、HDD、SSD、命令またはデータ構造の形式でプログラムコードを記憶するために使用され得る任意の媒体などを含み得る。本明細書で説明される方法、機能、および動作のいずれもが、有形の形式で、および/またはメモリ904において保存される非一時的機械可読コード(たとえば、解釈可能なスクリプト)で完全に具現化され得る。
【0105】
入力-出力デバイス906は、ポート、アンテナ(たとえば、トランシーバ)、印刷された導電性経路などの、データをトラフィッキングするための任意のコンポーネントを含み得る。入力-出力デバイス906は、USB(登録商標)、DisplayPort(登録商標)、HDMI(登録商標)、Ethernetなどを介した有線通信を可能にし得る。入力-出力デバイス906は、適切なメモリ904との電気的な、光学的な、磁気的な、およびホログラフィックの通信を可能にし得る。入力-出力デバイス906は、WiFi(登録商標)、Bluetooth(登録商標)、セルラー(たとえば、LTE(登録商標)、CDMA(登録商標)、GSM(登録商標)、WiMax(登録商標)、NFC(登録商標))、GPSなどを介したワイヤレス通信を可能にし得る。入力-出力デバイス906は、有線および/またはワイヤレス通信経路を含み得る。
【0106】
センサ908は、環境の物理的な測定結果を捉え、それをプロセッサ902に報告することができる。ユーザインターフェース910は、ディスプレイ、物理ボタン、スピーカー、マイクロフォン、キーボードなどを含み得る。アクチュエータ912は、プロセッサ902が機械的な力を制御することを可能にし得る。
【0107】
処理システム900は分散していてもよい。たとえば、処理システム900のいくつかのコンポーネントはリモートホストされたネットワークサービスに存在していてもよいが(たとえば、クラウドコンピューティング環境)、処理システム900の他のコンポーネントはローカルコンピューティングシステムに存在していてもよい。処理システム900は、いくつかのモジュールが
図9に示される複数の特徴/機能を含むようなモジュール式設計を有し得る。たとえば、I/Oモジュールは揮発性メモリおよび1つまたは複数のプロセッサを含み得る。別の例として、個々のプロセッサモジュールは読み取り専用メモリおよび/またはローカルキャッシュを含み得る。
【0108】
以下では、上で与えられた情報のいくつかと重複し得る、本発明の例示的な実施形態のさらなる背景および説明が、さらなる詳細において与えられる。以下の実施形態を説明するために使用される用語が、先行する実施形態を説明するために使用された用語と異なる可能性のある範囲で、当業者は、いくつかの用語が異なる実施形態において互いに対応することを理解するであろう。以下で説明される特徴は、様々な実施形態において上で説明された特徴と組み合わせられ得る。
【0109】
CTIは、組織にとって、リスクを査定してセキュリティを向上させる際に決定的な役割を果たす。しかしながら、構造化されていないテキストソースから重要な情報を抽出するプロセスは、高価で時間がかかり得る。構造化されたCTIの自動化された抽出のための既存のツールには性能の限界があることを、これまでの実証的経験は示している。さらに、現在のコミュニティには、それらの性能を定量的に査定するための共通のベンチマークがない。
【0110】
これらの欠落は、新しい大規模なオープンベンチマークデータセットと、「aCTIon」と呼ばれる構造化されたCTI情報抽出ツールである本発明の実施形態とを提供することによって埋められ得ることが、本発明において認識されている。このデータセットは、204個の現実世界の公に入手可能な報告と、それらの対応する構造化されたCTI情報とを、STIXフォーマットで含む。このデータセットは、CTIアナリストの3つの独立したグループによる数か月にわたる作業により整理された。このデータセットは、大きさが、以前に公開されたオープンソースデータセットより2桁大きい。次いでaCTIonが設計され、2つのカスタム情報抽出パイプラインの文脈で、最近導入されたLLM(たとえば、Generating Pre-training Transformer 3.5 (GPT3.5))を活用する。aCTIonは、従前の研究において提示された10個の方策と比較され、オープンソースの実装形態がなかったときには、それらの方策のために実装形態が提供された。
【0111】
aCTIonは構造化されたCTI抽出について従前の研究よりも優れており、すべてのタスクにわたり、F1スコアは10%ポイントから50%ポイント改善している。
【0112】
CTIは、サイバー脅威から保護して攻撃に反応するために必要な情報をセキュリティ事業者に提供する。CTIは、STIXなどの標準的なフォーマットで構造化されると、自動化されたツールとともに、および効率的な検索と分析のために使用することができる。しかしながら、CTIの多くのソースは構造化され、インターネットプロトコル(IP)アドレスのブロックリストおよびマルウェアシグネチャなどのIoCを含むものの、大半のCTIデータは普通は、構造化されていないフォーマット、たとえばテキストの報告または記事で提示される。この形式のCTIは、攻撃者(脅威行為者)と被害者(標的)、および攻撃がどのように実行されるか、すなわちツール(マルウェア)と攻撃パターンについての情報を典型的には含むので、セキュリティ事業者にとって有用であることがわかっている。これが、脅威ハンティング活動を通常は可能にする情報である。
【0113】
CTIの重要性を考慮すると、リソースが限られていても、セキュリティアナリストは、大量の時間を費やして、情報を標準的なフォーマットで構造化するためにCTIのソースを手動で処理することがある。実際に、この労力は、構造化されたCTIとそれを生み出すためのコストを共有するための組織を企業が編成できるほど十分に大きい。たとえば、CTAは、STIXバンドルの形式でメンバー間でCTIを共有するためのプラットフォームを提供し、そのメンバーは、CISCO、MCAFEE、SYMANTEC、SOPHOS、FORTINETなどの30社以上の大企業である。
【0114】
この活動を助けるために、セキュリティコミュニティは、構造化されていないCTIソースから情報を抽出するプロセスを自動化するための方法を積極的に研究しており、これはいくつかの方法とツールの開発につながった。これらの方策はアナリストの負担を減らすことに寄与するが、これまで、それらの方策の注目点はIoCの抽出に限られており、これはパターン照合方法(たとえば、正規表現)を用いて特定するのが比較的簡単である。最近になりようやく、深層学習を使用したNLPの進化により、より複雑な情報(たとえば、脅威行為者、マルウェア、標的、攻撃パターン)を抽出できる方法の開発が可能になった。それでも、これらの方策の性能はまだ限られている。
【0115】
問題の1つは、これらのMLによる方策が動作する方式であり得ることが、本発明の実施形態において認識されている。すなわち、それらの方策は、汎用NLP機械学習モデルを特殊化し、それをサイバーセキュリティドメイン向けに微調整したものであることが多い。微調整は、多数の報告を手動でラベリングすることによって構築された訓練データセットを機械学習モデルに提供することによって行われる。しかしながら、これらのAIモデルは、NERなどのタスクを実行するように特別に設計され、これはセキュリティアナリストの要望に近いものの、それでも異なる。たとえば、新しいマルウェアの使用を記述する報告は、一般的な導入部分において他の既知のマルウェアに言及することがある。これらのマルウェアは普通のNERモデルによって抽出されるが、セキュリティアナリストは、構造化された報告をまとめるときにそれらを無視するであろう。すなわち、構造化されたCTI報告の生成には、重要な固有表現のみを抽出することが必要である。さらに悪いことに、現在のセキュリティコミュニティには、これらのツールを評価するためのベンチマークとして機能し得る大規模なラベリングされたデータセットがない。実際に、現在の最新技術は、NLPドメインに属するメトリクスを使用して大半が評価されており、これは基本的に、セキュリティアナリストによって実行される端から端までのタスクの代わりにサブタスクを評価するものである。
【0116】
本発明の実施形態は、構造化されたCTI情報の抽出のための既存のツールおよび未来のツールを評価するための手段と、最新技術を改善するための方策とを提供することができる。
【0117】
まず、CTIの有名なソースから収集された204個の報告を含むラベリングされたデータセット、およびそれらの対応するSTIXバンドルが提供される。これらの報告は、内容と長さが様々であり、平均で2133語、最大で6446語を含む。訓練されたセキュリティアナリストが、数か月にわたり報告を精査し、対応するSTIXバンドルを定義した。このプロセスはとりわけ、340個を超える詳細なエントリを含む、MITRE ATT&CK matrixを使用して攻撃パターン(戦術、技術、手順)を分類することを必要とした。アナリストは、正しい分類を行うために、これらの技術を知り、報告において記述されている事例がそれらのいずれかに当てはまるかどうかを理解する必要がある。
【0118】
次に、10個の最近の研究の結果が再現され、これらが利用可能ではなかったときの実装形態を提供し、それらを評価するためにベンチマークデータセットを使用する。この評価は、NLP技術の改善がツールの性能に影響を及ぼしたことを示し、その性能は、transformerニューラルネットワーク(たとえば、BERT)などのNLP技術が含まれることにより、時間とともに大きく改善した。同時に、欠落があることをこの評価は示しており、最も性能の良いツールでも、抽出されたあらゆる特定のタイプの情報(たとえば、マルウェア、脅威行為者、標的、および攻撃パターン)について、すべての報告にわたる平均の再現率/適合率は50%未満であった。
【0119】
最後に、GPT3などのLLMの最近の進化に触発されて、本発明の実施形態からの新しい方策であるaCTIonが、LLMのzero-shotプロンプティングおよび文脈内学習能力(in context learning capabilities)を使用して提供される。この手法は、使用事例の制約された環境における、LLMの現在の生成の主な欠点と制約のいくつか、特にハルシネーションおよび小さいコンテキストウィンドウに対処する。そうするために、手順をクエリする新規の2ステップのLLMが、LLMベースの生成AIエージェントの設計において使用されている最近の手法の代わりに導入される。第1のステップにおいて、入力報告が、情報を抽出して標的LLMの制約に収まり得るテキストに凝縮するように前処理される。第2のステップにおいて、LLMのための抽出および自己検証プロンプトが定義され、これは最終的に、抽出された情報を選択して分類する。上記の一般的な手法のいくつかの代替の変形があり、aCTIonの実施形態は、マルウェア、脅威行為者、および標的エンティティ抽出について15~50%ポイント、および攻撃パターン抽出について約10%ポイントF1スコアを上げることにより、最新技術を上回ることができる。
【0120】
過去の研究からのこの改善は予想を超えており、aCTIonの実施形態は直ちに日々のCTI運用のために内部で試験された。失敗事例を調べるために、人による結果の調査が実行された。手動の分析と経験から、aCTIonの性能は訓練されたセキュリティアナリストの性能に匹敵すると推測された。CTI情報を構造化するときには、固有の意味上の不確実さがある(たとえば、何がアナリストにより重要なエンティティであると考えられるかは異なり得る)。しかしながら、この発見は、セキュリティアナリストの様々なチームがデータセットを再ラベリングして、すでに提供されているラベルとのそれらの一致を測定しなければ、確認できない可能性がある。この領域におけるさらなる研究を助けるために、報告およびラベルを含むデータセットを公開する。
【0121】
CTIアナリストの生活と苦悩:大量の価値のあるCTIが、オープンソースインテリジェンス(open-source intelligence:OSINT)、ソーシャルメディア、ダークウェブ、業界報告、ニュース記事、政府インテリジェンス報告、およびインシデント応答報告を含む、構造化されていないフォーマットで共有されている。
【0122】
構造化されていないCTIは、効率的に記憶し、分類し、分析することができず、セキュリティエキスパートに長い報告を完全に読んで理解することを強い得るので、構造化されていないCTIを使用するのは難しい。結果として、セキュリティアナリストのタスクの1つは、大量の構造化されていないCTI情報を、さらなる分析と使用を簡単にするフォーマットに変換することである。
【0123】
STIXは、業界により広く採用されているCTIの標準的なフォーマットの例である。STIXでは、各報告(STIXの用語ではバンドル)がナレッジグラフ、たとえばセキュリティインシデントまたは重要なイベントを記述するノードおよび関係のセットである。STIXオントロジーはすべてのエンティティおよび関係のタイプを記述し、
図6は、データセットに少なくとも一度含まれるすべてのエンティティおよび関係を含む、STIXオントロジーのサブセットを示す。オントロジーは、threat actor、malware、vulnerability、attack pattern、およびindicatorなどの、いくつかの概念的なエンティティを含む。さらに、それは、usesおよびtargetsなどのこれらのエンティティの相互作用を捉えるために、それらのエンティティの関係も定義する。
【0124】
報告の例が提供され、テキスト報告から構造化されたSTIXバンドルをアナリストがどのように抽出するかが紹介される。アナリストによって抽出される最も一般的な情報は、
- 誰が攻撃を実行したか(たとえば、脅威行為者)、
- それが誰に対して実行されたか(たとえば、標的関係により指し示されるアイデンティティ)、および
- 攻撃がどのように実行されたか(たとえば、マルウェアおよび攻撃パターン)
である。
【0125】
STIXのオントロジーのこのサブセットは、報告に含まれる情報の最も一般的なセットである。たとえば、データセットにおいて、報告の75%および54%がそれぞれ、少なくともマルウェアエンティティおよび脅威行為者エンティティを含んでいる。さらに、また場合によっては最新技術の公平な評価のためにより重要なことに、このサブセットは、既存のツールと従前の研究にわたって一貫してサポートされており、これにより、方策の間での網羅的な比較を行うことができる。
【0126】
構造化されたCTI抽出:
図7において一部が提示されているPalo Alto Networksによる技術的なブログ投稿は、構造化されたCTI抽出のタスクを示している。この報告は、x4kとして知られている脅威行為者へのランサムウェアHelloXDのアトリビューションを、それらに関連する戦術、技術、および手順のセットを含めて記述している。この報告は約3700語の長さであり、24個の異なる画像、異なる情報および侵害インジケータ(報告の末尾の専用の部分にある)のリストを伴う3つの表を含む。それはまず、HelloXDランサムウェアの機能を説明し、そうすると、ランサムウェアを脅威行為者x4kと結びつけるいくつかの手がかりが明らかになる。さらに、この投稿は、脅威行為者の手口とインフラストラクチャについて説明する。
【0127】
構造化されたCTI抽出は、
図8に示されたもののように、報告を表すSTIXバンドル800を定義するために実行される。バンドルは、脅威行為者802(x4k)、マルウェア(HelloXD)、ならびに、様々な標的(たとえば、WINDOWS(登録商標)およびLINUX(登録商標)システム804)、戦術、技術、および手順、さらに報告の最後の部分から抽出されたインジケータ(たとえば、IoC #1 808、IoC # 154 806)を記述する攻撃パターンエンティティのセット(たとえば、攻撃パターン810、812)を含む。
【0128】
このバンドルの定義は、セキュリティの知識と経験を必要とする時間のかかるタスクである。報告から構造化されたSTIXバンドルを抽出するには、5~10時間かかり得る。たとえば、著者は、133個の報告をラベリングするのに3名のフルタイムのアノテータが5か月を要したことに言及している。同様に、CTIアナリストのチームがデータベースの中の204個の報告のアノテーションを行うのに、数か月を要した。
【0129】
上で説明されたように、
図7は、PALO ALTO NETWORKSによって公開された報告の材料の収集の例を示す。IoCは報告の最後において収集されて抽出が容易であるが、脅威行為者、マルウェア、攻撃パターン、および他のSTIXのエンティティの抽出には、セキュリティエキスパートが手動の分析を実行することが必要であり得る。
図8は、
図7からの報告を記述するSTIXバンドルを示す。
【0130】
このタスクになぜ時間がかかるか、およびなぜ自動化が難しいかを理解するために、アナリストが重要なエンティティをどのように特定するかの実施形態、およびサンプル報告の事例が以下で説明される。
【0131】
マルウェア、脅威行為者、およびアイデンティティが第一である:アナリストは、マルウェア、脅威行為者、およびアイデンティティを特定することで始めることができる。これは一見すると簡単なタスクに見えることがあるが、セキュリティ報告は意味的に複雑である傾向があり、次のような問題を含む。情報が曖昧に表され、たとえば、脅威行為者とマルウェアが同じ名前で呼ばれる。同じエンティティを記述するためにエイリアスが使用され、たとえば、マルウェアが複数の名前の変形で呼ばれる。攻撃のアトリビューションが不確かであり、たとえば、報告は一部の攻撃をある脅威行為者に確信をもってアトリビュートすることがあるが、他の攻撃はその脅威行為者に関係する可能性があるものとして言及するだけで、確定されないことがある。これらは、処理を時間のかかるものに、かつ自動化を難しくし得るニュアンスのいくつかの例にすぎない。
【0132】
例:サンプル報告は、HelloXDランサムウェアについて特に論じる。しかし、マルウェアが他の悪意のあるソフトウェアとともに展開されて利用されるのは普通ではない。したがって、どの悪意のあるソフトウェアが攻撃において実質的に記述されているかを理解することは、どのマルウェアノードがSTIXバンドルに含まれるべきかを理解するのに役立つ。報告において、HelloXD以外の2つの他のマルウェア、すなわちLockBit 2.0およびBabuk/Babykへの言及がある。しかしながら、これらのマルウェアはバンドルに含まれるべきではない。たとえば、LockBit 2.0は、HelloXDにより使用されるのと同じ通信手段を利用しているので言及される(以下の引用を参照)。それでも、LockBit 2.0はHelloXD感染に直接関連していないので、含まれるべきではない。
【0133】
このランサムノートも、Toxをダウンロードするように被害者に指示し、脅威行為者に連絡するためのTox Chat IDを提供する。Toxはエンドツーエンドの暗号化を提供するピアツーピアインスタントメッセージングプロトコルであり、他のランサムウェアグループにより交渉のために使用されていることが観察されている。たとえば、LockBit 2.0は脅威行為者との通信のためにTox Chatを利用する。
【0134】
攻撃パターン2:アナリストは、攻撃パターン、たとえば、戦術、技術、および手順の記述を特定し、それらを前のステップにおいて特定されたエンティティにアトリビュートすることができる。これは追加の課題をもたらす。すなわち、攻撃パターンは、通常は報告のいくつかの段落全体で記述される挙動であり、それらは収集されてMITRE ATT&CK Matrixなどの標準的なタクソノミーで分類される。MITRE ATT&CK Matrixは、340個より多くの詳細な技術および450個より多くの部分技術を含む。アナリストは、バンドルを構築するときにそれらを参照することができ、分類された技術のいずれがテキスト報告に含まれるかを特定する。すなわち、このタスクは、報告の理解と、ドメインについての広範な専門知識との両方を必要とし得る。
【0135】
例:サンプル報告は18個の異なる攻撃パターンを含む。たとえば、前に提供された引用は、次のように記述される技術T15732に関連している。
【0136】
「敵は、通信プロトコルにより提供される内在する保護に頼るのではなく、既知の暗号化アルゴリズムを利用してコマンドアンドコントロールトラフィックを隠す可能性がある…」
【0137】
プロセス全体にわたる重要性:アナリストは、自分の経験を用いて、バンドルから何を除外すべきかについての決断を行うことができる。この決断は普通は、報告において記述されている情報の信頼度と詳細度について考慮することを含む。たとえば、サンプル報告は、Cobalt Strike Beaconの展開およびカスタムKali Linuxディストリビューションの開発などの、脅威行為者x4kに関する他の活動を記述している。アナリストは、この情報を含めるかどうかを決定しなければならない。この例では、これらの他の活動は言及されているだけであり、報告の主な話題に関連しない(十分な詳細を含まない)可能性があるので、含まれるべきではない。
【0138】
自動化の追求:タスクの複雑さを考慮して、構造化されたCTI抽出の自動化を助けるために、いくつかの方策がこれまでに提案されている。従前の研究は、攻撃パターン抽出などの個々の問題、またはタスク全体の自動化のいずれかに対処している。それでも、すべての従前のツールは、大量の人による作業の実施を依然として必要とし得る。CTIアナリストのチームの実証的研究はこの主張を支持しており、本明細書で開示される評価はこれを確証する。
【0139】
既存の方策がCTIアナリストの期待を満たさない理由の1つは、構造化されたCTI抽出タスクをそのニュアンスおよび複雑さとともに正しく表すベンチマークがないからであり得る。具体的には、従前の研究はNLPのためにML方法に大きく依存するので、典型的なNLP評価手法に頼るのは極めて一般的である。しかしながら、NLPタスクは、端から端までの構造化されたCTI抽出タスクの概念的なサブセットであるので、提案されるベンチマークの大半はCTIメトリクスを評価しない。
【0140】
この問題を例示するために、NER、たとえばテキストの中の重要なエンティティを自動的に特定して抽出するNLPタスクで開始する。NERコンポーネントを評価するとき、NLPメトリクスは、あるエンティティを表す語が何回特定されるかを数えることができる。たとえば、マルウェアHelloXDが10回言及されて特定される場合、普通のNER評価はそれを10個の独立した正しいサンプルと見なすであろう。この手法は、語レベルラベリングと呼ばれる。説明の簡潔さのために、より適切な「トークンレベル」の代わりに「語レベル」という語が使用される。しかしながら、構造化されたCTI抽出では、関心対象は、マルウェアエンティティが報告に何回現れるかにかかわらず、マルウェアエンティティを抽出することである。これは、方法の性能の過剰推定につながる可能性があり得る。より繊細には、Lockbit 2.0マルウェアの例で見られるように、NERツールによって正しく特定されるであろういくつかのエンティティは、CTI情報抽出タスクにとって必ずしも重要ではない。しかしながら、そのようなエンティティは通常、評価が普通のNLPメトリクスを採用する場合には正しいものとしてカウントされる。同じ問題が、より複雑な攻撃パターン抽出方法に当てはまる。実際に、それらの方法は、一般に文章分類タスクについて評価され、これは、所与の文章が攻撃パターンであるかどうかを認識してそれを正しいクラスに割り当てるための方法の能力を査定する。この手法は文章レベルラベリングと呼ばれる。しかしながら、そのようなメトリクスは、CTIメトリクスの観点で方法の性能を完全には捉えない。これは、所与の報告の中のすべての重要な攻撃パターンを特定し、それらを関連するエンティティに正しくアトリビュートすることを伴う。
【0141】
【0142】
Table 1(表1)は文献からのデータセットを要約し、これはそれぞれの従前の研究の評価において利用される。この表は、攻撃パターンエンティティが他のエンティティ(たとえば、マルウェア、脅威行為者、アイデンティティ)と比較してより複雑であることを考慮して、攻撃パターンエンティティの抽出を別個に考慮する。これらの研究のいくつかは、NLP性能(たとえば、抽出されるエンティティの数)に関して抽出される情報を評価するために顕著に大きいデータセットを使用する。残念ながら、それらは、CTIメトリクスに関して方法の妥当性を確認するためにはるかに小さいデータサブセットを含むことが多い。そのようなデータサブセットの小さいサイズについて言及されることが多い1つの理由は、エキスパートCTIアナリストによる手動のアノテーションを実行することの固有のコストである。
【0143】
NLPメトリクスSecIE、ThreatKG、およびLADDERはすべて、語レベルラベリングまたは文章レベルラベリングを伴うデータセットを採用する。同様に、CASIEは、大規模な語レベルのラベリングされたデータセットを提供し、攻撃パターンをカバーしない。TRAMおよびrcATTは、文章レベルラベリングされた攻撃パターンデータセットを提供する。
【0144】
CTIメトリクス:いくつかの研究が、CTIメトリクスを正しく捉えるラベリングされたデータを提供している。TTPDrillおよびAttacKGは、報告ごとにそれぞれ80個および16個の報告の手動のラベリングを実行するが、残念ながらそれらを共有しない。また、それらは攻撃パターン抽出しかカバーしない。SecBERTは、大規模な文章レベルデータセットについて性能を評価するが、CTIメトリクスを用いた6個の報告しか提供しない。同様に、評価の一部として、LADDERも、CTIメトリクスを使用する攻撃パターン抽出タスクを含むが、それは(公に共有されない)5つの報告についてだけである。
【0145】
データセット:構造化されたCTI抽出に注目した、オープンで十分に大きいデータセットがないことで、既存の方策を評価して最新技術を安定的に改善できないことがある。この欠落を埋めるために、本発明の実施形態は、CTIアナリストのエキスパートチームによって抽出されるような、204個の報告およびそれらの対応するSTIXバンドルを含む新しい大規模なデータセットを作成した。データセットは、セキュリティエキスパートによって処理されるような、現実世界のCTIデータを表し、したがって、CTIメトリクスだけに注目している。データセットは公にアクセス可能にされている。
【0146】
データセット作成方法についての情報が本明細書で開示され、データについての高水準の統計を導入する。
【0147】
方法論:組織は、CTIの公に利用可能なソースからの構造化されたCTIの抽出を実行するのが主なタスクである、CTIアナリストの専門チームを含む。そのチームの専門知識が活用され、204個の構造化されていない報告のセット、およびそれらの対応する抽出されたSTIXバンドルを収集するための、方法論が確立される。構造化されたCTI抽出は、以下に概説されるような、異なる役割をもつ3つの独立したグループとして編成される複数のCTIアナリストによって手動で実行される。
【0148】
グループAは、構造化されたCTI抽出のために情報の構造化されていない報告またはソースを選択する。この選択は、アナリストの専門知識に基づいており、観察されている世界的な傾向と固有の内部要件の両方によって知らされることが多い。たとえば、報告は、組織とその顧客に影響を及ぼす可能性の高い脅威に注目していた。
【0149】
グループBは、選択されたソースからの構造化されたCTI抽出の第1のパスを実行する。このグループは、情報抽出を簡略化して自動化するための既存のツール、たとえばTRAMのようなツールを大いに利用する。このツールのセットは、Table 1(表1)で言及され評価において後で査定されるツールと重複することに留意されたい。実際の構造化されたCTI抽出は、複数の処理ステップにおいて行われる。第一に、たとえばウェブソースからテキストを抽出するために、報告が自動パーサを用いて処理される。第二に、取り出されたテキストが文章のグループへと断片化される。これらの文章は次いで、アナリストにより手動で分析され、アナリストは、概念を適切に捉えるために、および/またはノイズを除去するために、文章をさらに分割し、結合し、または削除し得る。最終的な結果は段落のセットである。第三に、アナリストは、重要な固有表現の事前ラベリングを行うために自動化されたツールを適用し、次いで、正しいと見なされるエンティティにフラグを立てる手動の分析を各々の単一の段落について実行し、場合によっては、検出されなかったエンティティを追加する。第四に、今回は攻撃パターンを抽出するために、第2の分析が段落の同じセットについて実行される。またこの場合、アナリストは、攻撃パターンの事前ラベリングと特定を実行するためにTRAMのようなツールを使用し、次いで、手動の分析を実行して正しいラベルにフラグを立てて欠けているラベルを追加する。最後に、アナリストは、視覚的なSTIXバンドルエディタ(内部に構築されたGUI)を使用して、バンドルを検証し、あらゆる正しいアトリビューション、たとえばエンティティ間の関係の定義を確認する。
【0150】
グループCは、グループBによって実行された作業の独立したレビューを実行する。このレビューは、グループBによって実行される単一のステップの手動の調査を含み、目標は抽出されたSTIXバンドルを受け入れ、または拒絶することである。
【0151】
上記のプロセスを、手動の構造化されたCTI抽出のタスクを簡単にするために組織が特別に開発したソフトウェアインフラストラクチャがさらに助ける。アナリストは、ウェブアプリケーションに接続し、便利なあらかじめ確立されたツールのパイプラインを提供される。さらに、ウェブアプリケーションは、彼らの対話と役割(たとえば、アナリストvsレビュワー)を追跡し、プロセスの各サブステップのために費やされる時間を追加で追跡する。これは、構造化されたCTI抽出を報告について実行するために費やされる時間の推定を可能にする(グループAの作業を除く)。本明細書で提示されるデータセットについて、報告当たり平均で4.5時間が観察され、大半の時間はグループBによって費やされている(約3時間)。
【0152】
この方法論を使用して、204個の報告とそれらの対応するSTIXバンドルが収集され、データセットの基礎を作成した。次いで追加の手動の処理ステップが、正確さと完全性を確保するために実行された。第一に、インターネット上で公に利用可能であった報告のみが選択され、STIXバンドルの中のすべての情報が元の報告に含まれることを確実にするために報告が確認された。これは、アナリストが自分の経験から推測される可能性のあるエンティティまたは関係を含めないことを確実にするための、安全確認である。このステップはさらに、機密情報がデータセット内で共有されないことを確実にした。構造化されたCTI抽出タスクは、アナリストに大きな認知的負担をかける。疲労したアナリストは、類似したソースから読み取られ、かつ処理された報告に必ずしも含まれない情報を含める可能性がある。第二に、STIX表現の固有表現の中のあらゆるスペリングの誤りが、検証され訂正された。マルウェアと脅威行為者の名前は複雑であり得るので、スペリングの誤りは、グループCのレビューの後にも起こり得る。構造化されたCTIの手動の処理に対しては、これは大きな問題ではなく、それは、アナリストはスペリングの誤りを簡単に認識できるからである。それでも、自動化されたベンチマーキングに対しては、これらの誤りは誤った結果をもたらし得る。第三に、報告の中の各固有表現についての同義語のリストが抽出された。これは、同じマルウェアまたは脅威行為者が同じ報告において異なる名前を使用して言及されることがあるので行われた。この情報は、STIX標準に公式には含まれず、報告を処理する事業者に応じて異なるように含まれ、または表され得る。しかしながら、これは正しい評価には必須であり、それは、同義の参照は正しい抽出であると見なされるべきであるからである。
【0153】
データセット要約:得られたデータセットは204個のSTIXバンドルを備え、これらは合計で36100個のエンティティおよび13600個の関係を含む。
図6は、9個の固有のエンティティタイプ(たとえば、identity 602、tool 604、course-of-action 606、vulnerability 608、attack-pattern 610、indicator 612、threat-action 614、campaign 616、およびmalware 618)および5個の固有の関係タイプ(たとえばtargets 620、uses 622、mitigates 624、attributed to 626、indicates 628)を含む、データセットに基づいて得られたSTIXオントロジー600を提示する。
図6はまた、エンティティタイプの特定のペア間の関係の許容可能なタイプのセットを示す。
【0154】
【0155】
Table 2(表2)は、報告によるデータ統計を報告し、語と文章のカウンタ、STIXオブジェクトと関係の総数、タイプごとのSTIXオブジェクトの数、およびタイプごとのSTIX関係の数という、4つのセクションに分けられる。最後の2つのセクションについて、最後の列は、所与のタイプのエンティティを少なくとも一度含む報告の割当量を提供する。たとえば、バンドルの75%がマルウェアエンティティを含み、54%が脅威行為者を含む。これは、データセット内でのこれらの重要なコンポーネントの存在率を強調し、CTI抽出と分析の文脈でのそれらの重要性を明確にする。
【0156】
aCTIonの出番:導入されるデータセットは、構造化されたCTI抽出のための既存のツールの性能を定量化することを可能にする。それらの結果は後で詳しく提示されるが、ここでは、これまでの実証的経験が確認されること、すなわち、構造化されたCTI抽出に対する従前の研究の性能が依然として限定的であることを見込む。たとえば、最新技術における最も性能の高いツールは、脅威行為者または攻撃パターンなどのエンティティを抽出するとき、せいぜい60%のF1スコアしか提供しない。
【0157】
組織における構造化されたCTI抽出のコストを減らすための圧力、および最新技術の制約を考慮して、aCTIonと呼ばれる本発明の実施形態、すなわち構造化されたCTI抽出フレームワークが開発された。この実施形態は、タスクからの情報抽出ステップ、たとえばグループBの作業を完全に置き換えて、バンドルレビューステップだけをCTIアナリストに任せることを試みる。
【0158】
aCTIonは、近年の強力なLLMの出現を基盤としているので、この技術についての簡単な背景が、aCTIonの設計目標と決断について詳述する前に提供される。
【0159】
LLMプライマー:LLMは、transformerニューラルネットワークに全般に基づく、テキスト処理のためのニューラルネットワークモデルのファミリーである。タスク固有のラベリングされたデータセットについて訓練される過去の言語モデルとは異なり、LLMは、大量のデータについての教師なし学習を使用して訓練される。それらの訓練の目的は次の語を予測することであるが、入力プロンプトを考慮すると、大量の取り込まれたデータと組み合わせられるモデルの規模により、LLMは以前には見られなかった多数のタスクを解決できるようになり、創発的な挙動を獲得するようになる。たとえば、LLMは、複数の言語から/へ翻訳することが可能であり、データ解析および抽出、分類、要約などを実行する。より驚くべきことに、これらの創発的能力は、創造的な言語生成、推論および問題解決、ならびにドメイン適応を含む。
【0160】
システム構築者の観点からは、恐らく最も興味深いLLMの創発的能力は、文脈内学習および命令に従う能力である。すなわち、ユーザは、LLMの挙動をプログラムして、特定の自然言語命令を用いてLLMにプロンプトを行うことができる。これにより、タスクごとに固有の訓練データを収集する必要をなくすことができ、システム設計へとそれらを柔軟に含めることが可能になる。たとえば、高品質の要約を生成するには、「下記のテキストを要約せよ」のようなプロンプトで十分である。
【0161】
LLMには大きな可能性があるが、他の考慮事項もある。第一に、それらの訓練は高価であり得るので、低い頻度でしか再訓練できない。これにより、LLMは最新の知識についていくことができないことがある。第二に、それらのプロンプト入力と出力のサイズが制限されていることがある。LLMの入力はまずトークン化され、次いでLLMに提供され得る。トークンは語の一部であると考えられ得る。たとえば、モデルは、入力と出力の合計サイズを4000トークン(約3000~3500語)に制限することがあり、これは処理できる入力の種類を制限する。最終的に、LLMは正しくない出力を生成する可能性があり、これはハルシネーションと呼ばれることがある現象である。そのような場合、LLMにより生成される回答は、一見すると自信のある陳述に見えるにも関わらず、不正確であり、正しくなく、または完全に出鱈目ですらある。
【0162】
aCTIon - 設計:
図10は、aCTIonフレームワークの本発明の実施形態の全体のアーキテクチャ1000を高水準アーキテクチャとして示し、これは3つの主要なコンポーネントを備え得る。ダウンローダおよびパーサ1004は、様々なフォーマット、たとえばHTMLの構造化されていない入力報告1002を、様々なフォーマットのテキストのみの表現(たとえば、生のテキスト1006)に変換する。それは、特定のよく知られているCTIソースのフォーマットを扱うためのプラグイン、ならびに、所望のソースについて利用可能なプラグインがない場合のフォールバックデフォルトモードを含む。第2のコンポーネント1006は、aCTIonフレームワークの中核であり、2つの異なるパイプラインからなる。パイプライン1008はエンティティと関係の大半を抽出し、第2のパイプライン1010は攻撃パターン抽出を特に扱う。パイプライン1008、1010の両方が、2段階のプロセスを実施し、異なる段階においてLLMを活用する。これらの2段階は、構造化されていない入力報告から重要なテキストを選択するための前処理(P)1012、および標的エンティティを選択して分類するための抽出(E)1014を実施する。
【0163】
LLM1016は、APIアクセスを通じてサービスとして提供され得る。原則として様々なプロバイダが可能であるが(セルフホスティングを含む)、aCTIonは現在、OpenAIからのGPTファミリー全体をサポートする。本発明のある実施形態では、GPT-3.5-turboモデルに注目することが可能である。存在するとき、CTIアナリスト1022は、LLM1016の出力および/またはLLMエージェント1024に対するプロンプトをカスタマイズして訂正することができる。
【0164】
最後に、データエクスポータ1020が、パイプラインの出力(たとえば、抽出されたデータ1018)を解析して、所望の出力フォーマット1024、たとえばSTIXバンドルを生成する。
【0165】
設計の課題と決断:aCTIonの2段階のパイプラインは、設計段階で直面する2つの主な課題に対処するように設計され得る。まず、1つの懸念は、出鱈目なマルウェア名などの、LLMのハルシネーションの取扱いに関連するものであった。そのような状況の発生を最小にするために、LLMは、その検索能力に依存するのではなく、推論器として使用され得る。すなわち、LLMは、与えられた入力だけに含まれる情報のみを使用するように命令され得る。たとえば、抽出されるべきエンティティの定義を、そのようなエンティティ定義についての知識を訓練の間にLLMが原則として取得している場合でも、提供することができる。それでも、この手法は、プロンプトエンジニアリングだけに依存し得るので、生み出された出力を強力に保証するものではないことがある。したがって、LLMの回答を検証する目的で、追加のステップが導入され得る。これらのステップは、セルフチェック活動を実行するためのLLMとの第2の対話を含む、様々なタイプであり得る。LLMは、一貫性を検証する目的で、同じタスクについての異なる要求を用いてプロンプトを与えられる。最後に、CTIアナリストは、STIXバンドルレビューステップの手順におけるものを含めて、出力検証ループに保たれ得る。
【0166】
第2の課題は、入力サイズ制約に関係し得る。本発明のある実施形態は、入力サイズと出力サイズの間での4000個のトークンの共有をサポートすることができる。トークンのこの量は、(i)命令プロンプト、(ii)何がマルウェアエンティティであるかなどの任意の定義、(iii)構造化されていない入力テキスト全体、および(iv)生み出された出力に対して十分であり得る。データセットの中の報告が6000語を超える長さであり得ることを考慮して、情報抽出を実行する前に、構造化されていないテキストから情報を抜き出すための方法を導入することができる。1つの方策は、フィルタリングの目的で、パイプラインに前処理ステップを導入し、構造化されていない入力からテキストを要約して選択することである。セルフチェック活動の場合のように、テキストの選択と要約を実行するためにLLMが活用され得る。
【0167】
エンティティおよび関係抽出パイプライン:エンティティおよび関係パイプラインに対して、前処理ステップは反復的な要約を実行することができる。まず、入力テキストが複数の文章のチャンクに分割されてもよく、次いで、以下の前処理プロンプトを用いて、各チャンクがLLMを使用して要約されてもよい。
【0168】
下記の簡潔な要約を書け:
【0169】
{テキスト}
【0170】
簡潔な要約:
【0171】
生成された要約は、LLM入力に収まるのに十分小さい新しいテキストにおいて一緒につながれ得る。このプロセスは反復的に繰り返され得るが、一回の反復で十分であり得る。
【0172】
抽出段階は、要約された報告を入力として取り込み、抽出されるべきエンティティ/関係と同じ数の要求を実行することができる。各々の与えられるプロンプトは、(i)抽出されるべきエンティティの定義、および/または(ii)そのようなエンティティを名付ける直接的な質問を含み得る。エンティティ抽出プロンプトの(部分的な)例は次の通りである。
【0173】
下記の文脈を使用して最後の質問に答えよ。
【0174】
{文脈}
【0175】
質問:記述された攻撃の標的は誰/どれか?
【0176】
抽出の後、パイプラインは確認ステップを実行することができ、抽出されたエンティティ/関係が元のテキストに存在することを確認するためにLLMにクエリして、不一致の場合にはエラーを報告する。確認ステップは、何もエラーを報告しないことがある。
【0177】
攻撃パターン抽出パイプライン:攻撃パターンの抽出は、より簡単なエンティティの抽出と大きく異なる。前に紹介されたように、タスクは、テキストに記述されている挙動を特定し、それらをMITRE ATT&CK Matrixタクソノミーに従って挙動の定義に関連付けることについてのものであり得る。MITRE ATT&CK Matrixにおける攻撃パターンの数が多い可能性を考慮すると、各攻撃パターンの定義および入力報告の中の文章のグループについて直接LLMにクエリするのは非効率(かつ高価)であり得る。報告に10個の調査すべき段落がある場合、MITRE ATT&CK Matrixにおいて400を超える技術が記述されていることを考慮すると、単一の報告のために4000個を超えるLLM要求が使用され得る。
【0178】
別の手法に依拠することができる。すなわち、報告の文章の埋め込みと攻撃パターンの記述の例の埋め込みとの類似性が確認され得る。埋め込みは、言語モデルによって生成される文章の符号化である。言語モデルは、似た意味を持つ文章が、何らかの距離メトリック(たとえば、コサイン類似度)に従って近い埋め込みを有するように訓練され得る。したがって、パイプラインの抽出段階は、報告文章の埋め込みとMITREによって提供される攻撃パターンの例について生成される埋め込みとの類似性を比較することができる。
【0179】
しかしながら、最新技術とは異なり、前処理段階は、報告に含まれるのと同じであり得る攻撃パターンに対する様々な記述を生成することを目標として設計され得る。ここで、観察結果は、攻撃パターンが非常に異質な方法で記述されることがあるというものであり得る。したがって、前処理について、目標は、同じ攻撃パターンの複数の記述を生成し、そのような記述とタクソノミーの例との類似性を発見する能力を高めることであり得る。具体的には、3つの異なる記述生成戦略が導入され得る。
【0180】
第1の戦略は、攻撃パターンの公式な記述を明確に含む生のテキストまたは文章のブロックを抽出するようにLLMにプロンプトを行うことができる。この戦略の出力は、一般に段落、または場合によっては単一の文章であり得る。以下に、例示的な攻撃パターン抽出前処理戦略#1のプロンプトを示す。
【0181】
長い文書の下記の部分を使用して、テキストのいずれかが質問に回答するために重要であるかどうかを確かめよ。あらゆる重要なテキストを一語ずつ返せ。
【0182】
{テキスト}
【0183】
質問:どの技術が攻撃者により使用されているか? 重要なテキストがあれば、それだけを報告せよ。
【0184】
第2の戦略は、LLMの推論能力を活用して、段階を追って攻撃者のイベントを記述するようにLLMにプロンプトを行うことができ、暗黙的な記述を特定することを試みる。第2の戦略の出力は段落であり得る。以下に、例示的な攻撃パターン抽出前処理戦略#2のプロンプトを示す。
【0185】
下記のテキストにおける重要な事実を段階を追って記述せよ:
【0186】
{テキスト}
【0187】
重要な事実:
【0188】
最後に、第3の戦略は、入力テキストに対して文章分割ルールを適用し、単一の文章を出力として提供することができる。
【0189】
3つの選択戦略の出力のすべてを抽出ステップに渡すことができ、そこで、それらはMITREタクソノミーの例を用いて類似性を個別に確認され得る。類似性の閾値を経験的に定めることができ、その後で、精査されたテキストブロックを、対応するMITREタクソノミーの例の攻撃パターンの分類に割り当てることができる。
【0190】
評価:組織におけるCTIアナリストの労力を減らしたいという願望から、多くの方策と従前の研究の試験が行われた。aCTIonの本発明の実施形態の評価は、性能のベースラインと見なされるそのような方策と比較して本明細書で提示される。まず、ベースラインの実装形態(これらは常にオープンソースで利用可能ではなかった)と評価メトリクスが提示され、次に、導入されたデータセットについての結果とアブレーションスタディが提示される。
【0191】
ベースラインの選択および実装形態:ベースラインの実装形態について、以下の原則に従った。第一に、文献において使用されるNLPアルゴリズムの各ファミリーに対する少なくとも1つの代表的な方法を含めることが試みられた。第二に、可能な限り、方法の元のオープンソース実装形態が使用された。これが可能ではなかったとき、背後にあるNLPアルゴリズムの元の実装形態に依拠した。第三に、可能であれば、同じデータセットを使用するすべての方法が訓練され、または微調整された。試験されたNLPベースの方法は、2つの異なる方法で活用され得る。1つの手法は、一般的なデータについてそれらを訓練し、それらを直接使用することであり得る(ドメイン非依存モデル(domain agnostic model)と後で呼ばれる)。もう1つの手法は、それらを使用する前に、CTI固有データに対してさらにそれらを微調整することであり得る。最後に、説明されたようにデフォルトのハイパーパラメータが使用され得る。一般的なエンティティと関係の抽出に注目する本発明の実施形態、および攻撃パターン抽出を扱う本発明の実施形態とともに、実施される方策が本明細書で開示されている。
【0192】
エンティティと関係の抽出:NER方策は従前の研究の基本的な構成要素である。最新のNERタスクに使用されるモデルの3つの主なファミリーは、畳み込みニューラルネットワーク(convolutional Neural Network:CNN)、BiLSTM、およびtransformerである。構造化されたCTI抽出を標的とする従前の研究の中で、GRNはCNNに依拠し、ThreatKGおよびCASIEはBiLSTMに基づき、FLERTおよびLADDERはtransformerに基づく。CNN法およびBiLSTM法の場合、モデルはエンティティ抽出タスクのために端から端まで固有に訓練され得る。代わりに、transformerに基づく手法は、一般-ドメインコーパス、または一般文書とドメイン固有文書の両方を含むコーパスのいずれかについて訓練される、事前訓練された言語モデルに依拠し得る。これらのモデルは次いで、エンティティ抽出タスクのためのラベリングされたデータセットについて微調整され得る。すべての手法について、語レベルCTIデータセットが使用され得る。このデータセットはCTIコーパスから構成されてもよく、CTIコーパスにおいて、文章の中の個々の語は、特定のCTIオントロジーおよびBIOフォーマットなどの特定のフォーマットに従って固有表現を特定するタグを用いてアノテートされている。
【0193】
このタスクのためのラベリングは複雑で時間がかかることがあり、クロスドメインの専門知識を必要とし得る。CTIエキスパートは、NLPアノテーション技術にも馴染みがなければならないことがあり、これはそのようなデータセットの生成を困難にし得る。したがって、公に入手可能なデータセットに依拠することができる。すべての選択されたモデルは、公平な比較を確実にするために、同じ訓練/試験/妥当性確認セットの分割を使用して、同じデータセットについて訓練され得る。本発明のある実施形態では、語レベルのデータセットを使用することができ、これは従前の研究でも使用されている。このデータセットは、それが利用可能な最大のオープンソースデータセットであり、STIXに簡単にマッピングされ得るオントロジーに従ってラベリングされるので選ばれ得る。次いで、訓練された方法とツールを、選ばれたデータセットを使用して実行することができ、それは、そのデータセットがCTIメトリクスに注目し得るからである。
【0194】
CNNベースのNERでは、GRNの元のオープンソースの実装形態が使用され得る。BiLSTMベースのモデルでは、ドメイン非依存のオープンソース実装形態が使用され得る。実際に、ThreatKGはそれらのモデルのオープンソースバージョンを提供しないことがあり、また、CASIEはオープンソース実装形態を提供しないが、それは、他のモデルを訓練するために使用されるデータセットに直接適応可能ではないことがある。また、それらのデータセットは、STIXと大きく異なり得るので公平な比較のために使用できない可能性のあるオントロジーに従ってラベリングされる。最後に、transformerベースのモデルでは、2つのベースラインが提示される。1つはドメイン固有ツールとしてのLADDERの最初の実装形態であり、もう1つはオープンソース実装形態を使用したFLERTに基づくドメイン非依存のNER実装形態である。
【0195】
攻撃パターン抽出:攻撃パターン抽出タスクのために、広範な手法、すなわちテンプレートマッチング(TTPDrill、AttacKG)、ML(rcATT、TRAM)、LSTM(cybr2vec LSTM)、およびtransformer(LADDER、SecBERT)を評価することができる。すべてのベースラインが、あらかじめ訓練されたモデル、または訓練を実行するためのそれらの固有のデータセットのいずれかを提供することができる。
【0196】
方法は、同じタクソノミー(たとえば、MITRE ATT&CK)に基づくとともに、MITRE攻撃パターンの記述またはMITRE攻撃パターン記述のサンプル(ともにMITREによって提供される)のいずれかである同じソースから直接抽出された、データセットを利用することができる。この事例におけるデータセットの高い類似性を考慮すると、各モデルはそれらの固有のデータセットを使用して訓練され得る。方法は、それらの最初のオープンソース実装形態を使用して評価され得る。
【0197】
性能メトリクス:各方法は、以下のメトリクスを使用して、データセットからグラウンドトゥルース(Ground Truth:GT)に対して比較され得る。
再現率:正しく抽出された、GTの中のユニークエンティティの割合
適合率:抽出されたユニークエンティティのうちで正しい(たとえば、GTの一部である)ものの割合
F1スコア:適合率と再現率の調和平均
【0198】
わかりやすくするために、このセクションの残りでは、「エンティティ」はエンティティと攻撃パターンの両方、たとえば2つの抽出タスクの結果を指し得る。高水準の観点からは、再現率は、所与の報告に対して、GTエンティティが方法によってどれだけ網羅されているかを示す。適合率はそうではなく、誤っている(たとえば、偽陽性の)抽出されたエンティティ、たとえば、間違ったタイプとして抽出されているもの、または人のアノテータが十分に重要であるものとして選択していないものにより影響される。逆に、真陽性は、適切なタイプとして正しく特定されていてGTと同じテキストを伴うエンティティを指す。最後に、誤陰性は、GTに存在しているが目先の方法により見逃されているエンティティを指す。
【0199】
所与のタイプのすべてのあり得るエンティティを抽出するツールは、再現率が非常に高いが、適合率が非常に低いことがある。別のツールは、たとえば、それがなければ多くの偽陽性を伴う確認結果に多くの時間を費やすであろう人の操作者のアノテーションタスクを助けるために使用されると、両方のメトリクスのバランスをとることができる。この側面についてさらに調べるために、各ツールによって報告されるエンティティの数が提供され、GTからの数と比較され得る。GTについての簡単な分析に基づくと、攻撃パターンは他のタイプのエンティティよりも一桁多く、この問題を特に重要なものにするので、上記の調査は攻撃パターン抽出タスクのために実行され得る。
【0200】
以下のサブセクションでは、これらのメトリクスは、マルウェア、脅威行為者、標的関係によって指し示されるアイデンティティ(標的と呼ばれ得る)、および攻撃パターンについて計算され得る。同じ方法論が、各報告ごとにメトリクスを計算し、次いて総計の統計を提供することに採用され得る。(一部の報告が所与のタイプの0個または1個のエンティティを有するだけであるという)GTの性質を考慮すると、いくつかのメトリクスは報告にわたって二峰性の分布を示し、たとえば0または1のいずれかであり得る。背後にある値の分布をより目に見えるようにするために、箱ひげ図の代わりにバイオリン図が選択された。それでも、データ範囲を一目で示すために、報告にわたる平均(マーカー付き)と、25パーセンタイルおよび75パーセンタイル(垂直なバーとして)との両方が報告される。
【0201】
エンティティ抽出:
図11および
図12は、それぞれ、マルウェアエンティティおよび脅威行為者エンティティについての、ベースラインに対するaCTIonの結果を示す。aCTIonは、両方のエンティティ抽出タスクに対して、再現率、適合率、および結果としてF1スコアに関して、他のベースラインより優れている。aCTIonは、マルウェアエンティティ抽出に対しては、それぞれ、77%、71%、および72%の、脅威行為者エンティティの抽出に対しては、84%、78%、および80%の、平均の再現率、適合率、およびF1スコアを達成している。これは、最も性能の高いベースライン(LADDER)のF1スコアと比較すると、マルウェアに対しては25%ポイントを超える向上、脅威行為者に対しては約20%ポイントの向上である。この性能の差を説明するために、ベースラインの失敗が調査され、2つの主な事例が特定された。(i)ベースラインは、エンティティが標的STIXバンドルに対していつ重要ではないかを理解できないことがあり、(ii)ベースラインは、関心対象のエンティティに概念的に近いエンティティを誤って含めがちであり得る(たとえば、マルウェアではなく名付けられたソフトウェアを選択する)。
【0202】
たとえば、例示的な報告について考えるとき、ベースラインは、HelloXDをマルウェアとして特定することができ、aCTIonにより達成されるものと同じ再現率の性能が(この特定の報告については)得られる。しかしながら、適合率ははるかに低いことがある。これは、ベースライン方法が、検出されたマルウェアに、Lockbit 2.0およびx4k(脅威行為者の名前およびそのいくつかのエイリアス)などのエンティティを含め得るからである。さらに、ベースライン方法は、Tox、UPX、Youtube、およびClamAVなどの広範な正当なアプリケーションも含めることがある。たとえば、以下の抽出では、aCTIonとは対照的に、ベースラインはClamAVをマルウェアとして特定する。
【0203】
「ランサムウェア開発者は自身のランサムウェアにClamAVブランドを好んで使っている可能性があると、我々は考えるようになった」
【0204】
図13は、標的エンティティを抽出することについての結果を示し、再現率、適合率、およびF1スコアでaCTIonがLADDERを上回っている。このタイプのエンティティはより扱いにくく、それは、名付けられたエンティティと、それらの関係の両方を理解することが必要であり得るからである。LADDERおよびaCTIonはこのタイプのエンティティの抽出をサポートし、これは、エンティティ間の関係の査定を伴い得る。下記の抽出について考える。
【0205】
「HelloXDは、2021年11月に現れた二重脅迫型攻撃を実行するランサムウェアファミリーである。研究の間に、WindowsおよびLinuxシステムに影響を及ぼす複数の変種を確認した。」
【0206】
上記の文章は攻撃の標的「WindowsおよびLinuxシステム」を記述する。STIXでは、それらは一般的なアイデンティティクラスで分類されることがあり、アイデンティティクラスは、個人、組織、システム、またはグループのクラスを含み得る。標的エンティティを正しく特定するには、アイデンティティノードが「標的」関係のオブジェクトであるかどうかを理解することが必要であり得る。
【0207】
考慮されるベースラインのうち、LADDERはこのタイプのエンティティを抽出することが可能であり、それは、NERコンポーネントに加えて関係抽出モデルを装備しているからである。このタスクの複雑さにもかかわらず、aCTIonは、この場合もLADDERを大きく性能で上回ることにより(約50%ポイント高いF1スコア)、有効性を実証している。
【0208】
攻撃パターン抽出:攻撃パターン抽出のために、よく定義されたTxxxフォーマットのMITRE技術のリストまたはテーブルをテキストに含めない、127個の報告のサブセットに注目した。AttacKGについては、結果は120個の報告に対して報告され、それは、残りの7個の各々の処理が24時間以上後に中断されたからであり、これはどのような手動の分析よりも著しく長い時間である。T1573は、MITRE Technique Encrypted Channelを指す。
【0209】
そのような適格なフォーマットで報告される攻撃パターンは、regexベースの手法で抽出され得るので、検出される可能性がある。
【0210】
図14aおよび
図14b:攻撃パターン抽出。aCTIonは、再現率について他の方法を上回りながら、良好な適合率を達成し、それにより、最も性能の高いベースラインと比較してF1スコアについて約10ポイントの改善を得る。
図14aの第1のプロットは、様々な方法(LADDERを除く、ベースラインは前のタスクに使用されたものとは異なる)によって各報告から抽出される攻撃パターンの数を報告する。
図14bのプロットは代わりに、再現率、適合率、およびF1スコアの性能メトリクスを報告する。高水準の観点からは、ベースラインの方法は2つのグループに分けられ得る。第1のグループは、「保守的な」方法、たとえば各報告から抽出される攻撃パターンの数を制限しがちな方法を含むことができ、GT、すなわちrcATT、LADDER、TRAM、およびcybr2vec LSTMと比較して平均の数はより低くなる。
図14aの第1のバイオリン図は、報告当たりの技術の実際の数を示す。このグループは、再現率の値が適合率の値よりはるかに小さいことにより特徴付けられる。第2のグループは代わりに、抽出された攻撃パターンの平均の数がGTより高く、再現率と適合率が類似している方法、すなわち、TTPDrill、AttacKG、およびSecBERTを含み得る。第1のグループでは、TRAMは最も性能が高く(F1スコア)、第2のグループでは、SecBERTが全体的に最も性能が高い。
【0211】
それぞれのグループ内で最良であることに加えて、これらの2つの方法は、攻撃パターン抽出に対する2つの異なる手法を代表し得る。実際に、前者のTRAMは、手動の分類についてエキスパートを支援するように設計されるフレームワークであり、たとえば、その出力はエキスパートによってレビューされるべきであるので、適合率を高くして、検証されるべき攻撃パターンの数を低く保つことが重要であり得る。これは、たとえば、TRAMの最小の信頼性スコアを25%(そのデフォルト値)から75%に上げることによって達成され得る。一方、後者のSecBERTは、完全に自動化されるように設計され得る。
【0212】
aCTIonは、全体の性能(F1スコア)に関して約10%ポイントすべてのベースラインを上回る。再現率はいずれの他の方策よりも高く、平均の適合率は約50%である。これらの結果は、CTIアナリストによる手動の検証を管理可能なものにできる。報告当たりの抽出される攻撃パターンの平均の数は25である(
図14a参照)。
【0213】
アブレーションスタディ:アブレーションスタディが、エンティティ抽出パイプラインと攻撃パターン抽出パイプラインの両方のための前処理ステップについて行われた。実際に、これは、このステップで情報がどのように選択されてフィルタリングされるかを理解するのに有用である。
【0214】
エンティティ抽出に対して、前処理ステップが含められた構成(aCTIon)が、それが省略された構成(aCTIon(w/o PP))と比較され得る。省略されるとき、入力報告は、利用可能な入力サイズより大きい場合、別個のチャンクにおいて提供された。
図15および
図16は、それぞれ、マルウェアエンティティおよび脅威行為者エンティティを抽出するときの2つの異なる構成の性能を示す。aCTIon(w/o PP)に対して適合率の低下が予想され、それは、重要ではない情報が処理の間にテキストにまだ存在していたからである。加えて、普通は少数の脅威行為者しか同じ報告に存在しないので、性能の低下はマルウェアエンティティに対してより顕著であった。
【0215】
前処理ステップは再現率の低下を何らもたらさないことに注目すべきであり、LLMにより生み出される要約において重要な情報が失われないことを示している。
【0216】
加えて、マルウェアエンティティに対して、前処理されたテキストについての再現率は、さらにわずかにより高くなる。したがって、前処理の間に概念を再編成して要約することは、抽出プロセスを助けることができる。
【0217】
攻撃パターン抽出の場合、前処理モジュールは、攻撃パターンの記述を含む可能性のあるテキスト抽出を選択して強化するために利用され得る。アブレーションスタディの目的は、様々な前処理戦略がそのような記述を特定することにどのように寄与するかを精査することであり得る。様々な前処理構成に対応する方法の4つの変形が提示され得る。
【0218】
第1の構成であるaCTIon(VTE)は、攻撃パターンを含み得る逐語的なテキスト抜粋(たとえば、上で言及された戦略#1)を選択することができる。これは、高い適合率(約67%)で、報告当たり数個の攻撃パターンを得ることができる。しかしながら、すべての攻撃パターンがテキストにおいて明確に記述されるのは普通ではないので、これは再現率がより低いことがある。第2の構成であるaCTIon(SBSA)(たとえば、戦略#2)では、前処理は、攻撃パターンの暗黙的な記述または明らかではない記述を捉えることを目的に、攻撃の間に実行される行動を段階を追って記述するように構成され得る。この構成を使用すると、全体的な性能(F1スコア)は最も良い最新の方法(SecBERT)に匹敵し得るが、報告当たりの出力される攻撃パターンは平均で14.4個であり、平均すると、SecBERTにより生み出されるものの半分である。第3の構成では、aCTIon(VTE+SBSA)は、両方の前処理戦略を一緒に使用することができ、性能の改善をもたらす。加えて、それは、提案される前処理方法が重複しない相補的な情報を抽出することを示す。最後に、第4の前処理構成であるaCTIon(VTE+SBSA+OT)が、
図14において選ばれてaCTIonとしてラベリングされ、ここで再び報告され得る。
図17において見られるように、これらの4つの構成は性能の程度が異なっており、第4の構成が最高の再現率とF1スコアを示し、第1の構成が最高の適合率を示した。
【0219】
議論:評価は、マルウェアエンティティ、脅威行為者エンティティ、標的エンティティ、および攻撃パターンエンティティに注目した。これは、これらのエンティティが従前の研究との直接比較を可能にしたからであり、たとえば、他のエンティティは他のツールによって広くサポートされていなかった。結果として、評価は関係の抽出を広くカバーしなかった。標的の抽出は、(タイプ標的の)関係抽出を含み、それをサポートするLADDERと比較され得る(
図13参照)。しかしながら、aCTIonは、STIXのオントロジーにおいて定義されるあらゆる関係を抽出することができるので、性能はその点でも査定される。たとえば、マルウェア、脅威行為者、およびアイデンティティ間のすべての関係、たとえばタイプtargetsおよびusesの関係について、aCTIonは平均で73%の再現率と88%の適合率を達成する。第2の態様は、英語以外の言語を扱うaCTIonの能力である。実際に、選ばれたデータセットは、英語以外の言語、たとえば中国語、日本語の13個の追加の報告を含んでいる。そのような報告について、aCTIonは安定的に動作して報告された結果が得られた。
【0220】
導入の利点:性能の結果に加えて、実際の環境では、展開と維持の容易さが考慮され得る。従前の研究と比較して、aCTIonはLLMに依拠するので、従前の研究のパイプラインの様々なコンポーネント(たとえば、NERコンポーネント)のためのデータセットを収集し、アノテートし、維持する必要がなくなり得る。さらに、従前の研究、たとえばLADDERは、分類出力の手入れとフィルタリングに、人により作られたヒューリスティクス(たとえば、既知の悪意のないソフトウェアの許可リスト)を広く用いることがある。ヒューリスティクスも、継続的な維持と適応か必要である。対照的にaCTIonは、データセットの収集とアノテートも、人により作られたヒューリスティクスの使用も必ずしも必要としない。
【0221】
有利には、aCTIonは、情報抽出パイプラインにおけるLLMの適切な使用と統合を実現する。構造化されたCTI抽出のために、aCTIonのようなツールがCTIアナリストの代わりに重労働の大半をすでに行うことができるという自信が、この技術を用いた試験により深まった。性能は、より大きな入力サイズおよびより高い推論能力を実現するより強力なLLM(たとえば、GPT4)の開発とともに向上し続け得る。したがって、aCTIonに大きな変更がなくても、再現率と適合率のメトリクスはさらに向上し得る。
【0222】
他の問題:aCTIonの現在の適合率と再現率は、大半のエンティティに対して60%~90%の範囲にある。これはすでにCTIアナリストの性能に匹敵することがあり、人のアナリストとは異なり、aCTIonは疲労の影響を受けることなく経時的に安定した性能を保つ。実際、多くの誤分類は、CTIおよび関連する標準的なオントロジーと関連付けられる、曖昧なセマンティクスのアーティファクトであり得る。たとえば、アナリストにより何が重要なエンティティであると考えられるかは、異なることがある。CTIデータに対して明確なセマンティクスを定義することは、明らかな課題として残されている。
【0223】
関連する研究:LLMおよび構造化されたCTI抽出についての関連する研究が、本明細書において以下で参照によって組み込まれ、他の研究も構造化された情報を活用している。言及されたように、構造化されたCTIは、たとえばTTPに基づいて、組織内部での活動の調査と監視、たとえば脅威ハンティングを可能にし得る。しかしながら、他の重要な用途もある。具体的には、予防的な防御のための脅威に傾向分析と予測が、構造化されたCTIを利用することができる。MITRE CALDERAのような敵エミュレーションツールも構造化されたCTIの恩恵を受けることができ、それは、それらが通常は、たとえばMITRE ATT&CKに基づく敵対的技術を与えられるからである。
【0224】
結論:構造化されていないテキストから構造化されたCTIを抽出するタスクのベンチマークをとるために、データセットを導入することができ、本発明の実施形態であるaCTIonは、タスクを自動化するための方策を提供することができる。
【0225】
データセットは、CTIアナリストによる数か月の作業の結果であってもよく、含まれる204個の報告の各々に対する構造化されたSTIXバンドルを提供することができる。出願の時点で、データセットは、構造化されたCTI抽出のための他のどのような公に入手可能なデータセットよりも34倍大きく、完全なSTIXバンドルを提供するための唯一のデータセットである。
【0226】
aCTIonという本発明の実施形態を導入することができ、これは、この実施形態では、構造化されたCTI抽出を自動化するためにLLMの近年の進化を活用できるフレームワークである。aCTIonを評価するために、最新の従前の研究からの10個の異なるツールを選択することができ、オープンソースの実装形態が利用可能ではない場合、それらを再実装する。提案されるベンチマークデータセットについての評価は、aCTIonがこれまでの方策を大きく上回っていることを示している。現在、aCTIonは、日々のプロダクションデプロイメント(production deployment)のために試験中である。
【0227】
近年、CTIを分析して処理するためにLLMに基づくセキュリティ製品の発表が相次いでいる。しかしながら、セキュリティコミュニティには、特定のCTIアナリストタスクに対するそのようなツールの評価を可能にするベンチマークがまだない。さらに、システムの設計のためのこの分野においてLLMがどのように活用され得るかについての情報がない。本明細書で開示される研究は、データセットを用いてそのような新しいツールのベンチマークをとるための方法と、CTIタスクにおけるLLMの使用についての知見の最初のセットの両方を提供することができる。
【0228】
【0229】
ヒューリスティクスを伴うベースライン:3つの追加のベースラインが考慮され、同じ後処理ヒューリスティクスが、他の3つのベースライン、たとえばBiLSTM、GRN、およびFLERTの各々1つにLADDERによって適用される。これらの新しいベースラインはそれぞれ、BiLSTM++、GRN++、およびFLERT++と名付けられる。ノイズの多いエンティティを取り除き、NERモジュールによって生み出される何らかの曖昧さを解決するために、後処理ヒューリスティクスがLADDERによって使用された。
図18および
図19に示されるように、ヒューリスティクスは適合率を上げることが可能であり、それは、一部の重要ではないエンティティを除去できるからである。しかしながら、同時に、再現率は低下し、重要である一部の情報もヒューリスティクスが誤って切り捨てていることを示唆する。注目すべきことに、マルウェアエンティティを抽出するとき、FLERT++はLADDERのF1スコア性能に達することが可能であるが、それでも、LADDERが両方のタイプのエンティティに対して最も性能の高いベースラインである。
【0230】
多言語サポート:すべてのCTIソースが英語で書かれているとは限らない。たとえば、データセットは、英語以外の言語、たとえば中国語、日本語、および韓国語で書かれた13個の追加の報告(たとえば、上記の204個以外)を含んでいる。これは、サイバーセキュリティドメインの専門知識を持っていなければならないだけではなく、1つより多くの言語を流暢に理解する必要もあるアナリストにとって問題であり得る。自動化ツールは、複数の言語について専門化されれば使用できるが、通常はそうではない。ベースラインのうちで、LADDERが、英語以外の報告について機能し得る多言語モデル(XLM-RoBERTa)を含む。しかしながら、これは、エンティティ抽出タスクではNERコンポーネントに当てはまる。実際には、3段階の攻撃パターン抽出パイプラインを考慮するとき、すべての3つの段階(RoBERTaおよびSentence-BERTに基づく)が英語をサポートし、これにより、それらは他の言語には適さないものになる可能性がある。本発明のある実施形態は、種々の言語を含むテキストの巨大なコーパスに訓練の間に曝され、したがって英語以外の言語の報告を処理することができる、LLMに基づく。
【0231】
aCTIonの性能は、エンティティ抽出タスクについてLADDERに対して評価され、13個の報告にわたる平均の性能がTable 3(表3)において報告された。全般に、aCTIonおよびLADDERは、英語の報告を分析するときに見られたものに匹敵する性能の差(9%ポイント~35%ポイント)を示す。攻撃パターン抽出の場合、aCTIonは使用できる結果を生み出すことが可能であり、その性能は、英語の報告について得られるものに匹敵する。
【0232】
関係抽出:関係抽出タスクを評価することは、普通のエンティティ抽出より複雑であり得る。実際に、分類器がエンティティ間の関係の存在を確認できるだけではなく、その不在を確認できることを検証するために、関係のネガティブサンプルを含むことが役に立ち得る。ランダムな存在しない構文的に正しいつながりを生成することは、最新技術において一般的に採用される手法である。
【0233】
したがって、エンティティ間のSTIX関係を抽出する際に、aCTIon性能を評価するためのベンチマークが定義される。ポジティブサンプル(たとえば、既存のエンティティ間の既存の関係)として、報告のSTIX表現に存在していた(たとえば、CTIアナリストによって抽出されたので)、マルウェアエンティティ、脅威行為者エンティティ、およびアイデンティティエンティティのすべての関係が使用される。ネガティブサンプル(たとえば、既存のエンティティ間の存在しない関係)として、テキストに存在するエンティティ間のランダムに生成される関係のセットが使用される。このセットは、エンティティ抽出タスクによって抽出されるが、CTIアナリストによる最終的なSTIX表現において除去されているエンティティ(たとえば、HelloXD報告におけるLockbit 2.0)も含み得る。ポジティブサンプルおよびネガティブサンプルは、評価データセットを形成する。
【0234】
さらに、試験の範囲は関係抽出能力だけのベンチマークをとることであるので、(いくつかのネガティブサンプルを自動的に除去するであろう)aCTIonによって抽出されるエンティティは使用されず、このデータセットは、CTIアナリストによって提供されるSTIX表現から直接構築される。aCTIonは、本明細書で説明されるのと同じ圧縮技法を使用してテキストを前処理するように構成され、直接の質問を使用して2つのエンティティの関係を抽出するようにプロンプトを与えられる。
図20は、マルウェアエンティティと、脅威行為者エンティティと、アイデンティティエンティティとの間のすべてのaCTIon関係、たとえば、タイプtargetsおよびusesの関係に対する結果を示す。平均すると、aCTIonは、73%の再現率、88%の適合率、および86%のf1スコアを達成する。
【0235】
上記の文献が、参照によって本明細書に組み込まれる。
【0236】
2023, AttacKG GitHub repository. https://github.com/li- zhenyuan/Knowledge-enhanced-Attack-Graph. [Online; accessed 13-April-2023].
【0237】
2023, BiLSTM-CNN-CRF GitHub repository. https://github.com/UKPLab/emnlp2017-bilstm-cnn-crf. [Online; accessed 13- April-2023].
【0238】
2023, Cyber Threat Alliance (CTA). https://www. cyberthreatalliance.org/. [Online; accessed 13-April-2023].
【0239】
2023, FLAIR GitHub repository. https://github.com/flairNLP/ flair. [Online;
accessed 13-April-2023].
【0240】
2023, GRN GitHub repository. https://github.com/microsoft/ vert-papers/tree/master/papers/GRN-NER. [Online; accessed 13-April-2023].
【0241】
2023, Hazy Research - From Deep to Long Learning? https://hazyresearch.stanford.edu/blog/2023-03-27-long-learning. [Online; accessed 13-April-2023].
【0242】
2023, Introducing AI-powered insights in Threat Intelligence. https://cloud.google.com/blog/products/identity-security/rsa-introducing-ai-powered-insights-threat-intelligence. [Online; accessed 04-May-2023].
【0243】
2023, Introducing Microsoft Security Copilot. https://www.microsoft.com/en-us/security/business/ai-machinelearning/microsoft-security-copilot. [Online; accessed 04-May- 2023].
【0244】
2023, Introducing Recorded Future AI: AI-driven intelligence to elevate your security defenses. https://www.recordedfuture.com/ introducing-recorded-future-ai. [Online; accessed 04-May-2023].
【0245】
LADDER GitHub repository. https://github.com/aiforsec22/IEEEEuroSP23. [Online; accessed 13-April-2023].
【0246】
MITRE ATT&CK. https://attack.mitre.org/. [Online; accessed 13-April-2023].
【0247】
MITRE CALDERA GitHub repository. https://github. com/mitre/caldera. [Online; accessed 13-April-2023].
【0248】
OpenAI API. https://platform.openai.com/docs/api- reference. [Online; accessed 13-April-2023].
【0249】
OpenAI GPT-3.5. https://platform.openai.com/docs/ models/gpt-3-5. [Online; accessed 13-April-2023].
【0250】
rcATT GitHub repository. https://github.com/vlegoy/ rcATT. [Online; accessed 13-April-2023].
【0251】
SecBERT GitHub repository. https://github.com/ dessertlab/cti-to-mitre-with-nlp. [Online; accessed 13-April- 2023].
【0252】
TRAM GitHub repository. https://github.com/center-for- threat-informed-defense/tram/. [Online; accessed 13-April-2023].
【0253】
TTPDrill GitHub repository. https://github.com/SkyBulk/ TTPDrill-0.3. [Online; accessed 13-April-2023].
【0254】
Ehsan Aghaei, Xi Niu, Waseem Shadid, and Ehab Al-Shaer. 2023, SecureBERT: A Domain-Specific Language Model for Cybersecurity. In Security and Privacy in Communication Networks: 18th EAI International Conference, SecureComm 2022, Virtual Event, October 2022, Proceedings. Springer, 39-56.
【0255】
Alan Akbik, Tanja Bergmann, Duncan Blythe, Kashif Rasul, Stefan Schweter, and Roland Vollgraf. 2019, FLAIR: An easy-to-use framework for state-of-the-art NLP. In Proceedings of the 2019 conference of the North American chapter of the association for computational linguistics (demonstrations). 54-59.
【0256】
Rawan Al-Shaer, Jonathan M Spring, and Eliana Christou. 2020, Learning the associations of mitre att & ck adversarial techniques. In 2020 IEEE Conference on Communications and Network Security (CNS). IEEE, 1-9.
【0257】
Md Tanvirul Alam, Dipkamal Bhusal, Youngja Park, and Nidhi Rastogi. 2022, Looking Beyond IoCs: Automatically Extracting Attack Patterns from External CTI. arXiv preprint arXiv:2211.01753 (2022).
【0258】
Andy Applebaum, Doug Miller, Blake Strom, Chris Korban, and Ross Wolf. 2016, Intelligent, automated red team emulation. In Proceedings of the 32nd Annual Conference on Computer Security Applications. 363-373.
【0259】
Yejin Bang, Samuel Cahyawijaya, Nayeon Lee, Wenliang Dai, Dan Su, Bryan Wilie, Holy Lovenia, Ziwei Ji, Tiezheng Yu, Willy Chung, et al. 2023, A multitask, multilingual, multimodal evaluation of chatgpt on reasoning, hallucination, and interactivity. arXiv preprint arXiv:2302.04023 (2023).
【0260】
Sean Barnum. 2012, Standardizing cyber threat intelligence information with the structured threat information expression (stix). Mitre Corporation 11 (2012), 1-22.
【0261】
Rishi Bommasani, Drew A Hudson, Ehsan Adeli, Russ Altman, Simran Arora, Sydney von Arx, Michael S Bernstein, Jeannette Bohg, Antoine Bosselut, Emma Brunskill, et al. 2021, On the opportunities and risks of foundation models. arXiv preprint arXiv:2108.07258 (2021).
【0262】
Matt Bromiley. 2016, Threat intelligence: What it is, and how to use it effectively. SANS Institute InfoSec Reading Room 15 (2016), 172.
【0263】
Tom Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared D Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al. 2020, Language models are few-shot learners. Advances in neural information processing systems 33 (2020), 1877-1901.
【0264】
Hui Chen, Zijia Lin, Guiguang Ding, Jianguang Lou, Yusen Zhang, and Borje Karlsson. 2019, GRN: Gated relation network to enhance convolutional neural network for named entity recognition. In Proceedings of the AAAI Conference on Artificial Intelligence, Vol. 33. 6236-6243.
【0265】
Veronica Chierzi and Fernando Merces. 2021, Evolution of IoT Linux Malware: A MITRE ATT&CK TTP Based Approach. In 2021 APWG Symposium on Electronic Crime Research (eCrime). IEEE, 1-11.
【0266】
Alexis Conneau, Kartikay Khandelwal, Naman Goyal, Vishrav Chaudhary, Guillaume Wenzek, Francisco Guzman, Edouard Grave, Myle Ott, Luke Zettlemoyer, and Veselin Stoyanov. 2019, Unsupervised cross-lingual representation learning at scale. arXiv preprint arXiv:1911.02116 (2019).
【0267】
Roman Daszczyszak, Dan Ellis, Steve Luke, and Sean Whitley. 2019, Ttp-based hunting. Technical Report. MITRE CORP MCLEAN VA.
【0268】
Peng Gao, Xiaoyuan Liu, Edward Choi, Sibo Ma, Xinyu Yang, Zhengjie Ji, Zilin Zhang, and Dawn Song. 2022, ThreatKG: A Threat Knowledge Graph for Automated Open-Source Cyber Threat Intelligence Gathering and Management. arXiv preprint arXiv:2212.10388 (2022).
【0269】
Peng Gao, Xiaoyuan Liu, Edward Choi, Bhavna Soman, Chinmaya Mishra, Kate
Farris, and Dawn Song. 2021, A system for automated open-source threat intelligence gathering and management. In Proceedings of the 2021 International Conference on Management of Data. 2716-2720.
【0270】
Peng Gao, Fei Shao, Xiaoyuan Liu, Xusheng Xiao, Zheng Qin, Fengyuan Xu, Prateek Mittal, Sanjeev R Kulkarni, and Dawn Song. 2021, Enabling efficient cyber threat hunting with cyber threat intelligence. In 2021 IEEE 37th International Conference on Data Engineering (ICDE). IEEE, 193-204.
【0271】
Jerry L Hintze and Ray D Nelson. 1998, Violin plots: a box plot-density trace synergism. The American Statistician 52, 2 (1998), 181-184.
【0272】
Ghaith Husari, Ehab Al-Shaer, Mohiuddin Ahmed, Bill Chu, and Xi Niu. 2017, Ttpdrill: Automatic and accurate extraction of threat actions from unstructured text of cti sources. In Proceedings of the 33rd annual computer security applications conference. 103-115.
【0273】
Yong-Woon Hwang, Im-Yeong Lee, Hwankuk Kim, Hyejung Lee, and Donghyun Kim. 2022, Current status and security trend of OSINT. Wireless Communications and Mobile Computing 2022 (2022).
【0274】
Ziwei Ji, Nayeon Lee, Rita Frieske, Tiezheng Yu, Dan Su, Yan Xu, Etsuko Ishii, Ye Jin Bang, Andrea Madotto, and Pascale Fung. 2023, Survey of hallucination in natural language generation. Comput. Surveys 55, 12 (2023), 1-38.
【0275】
Jacob Devlin Ming-Wei Chang Kenton and Lee Kristina Toutanova. 2019, BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. In Proceedings of NAACL-HLT. 4171-4186.
【0276】
Takeshi Kojima, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, and Yusuke Iwasawa. 2022, Large language models are zero-shot reasoners. arXiv preprint arXiv:2205.11916 (2022).
【0277】
Viet Dac Lai, Nghia Trung Ngo, Amir Pouran Ben Veyseh, Hieu Man, Franck Dernoncourt, Trung Bui, and Thien Huu Nguyen. 2023, ChatGPT Beyond English: Towards a Comprehensive Evaluation of Large Language Models in Multilingual Learning. arXiv preprint arXiv:2304.05613 (2023).
【0278】
Nayeon Lee, Wei Ping, Peng Xu, Mostofa Patwary, Pascale N Fung, Mohammad
Shoeybi, and Bryan Catanzaro. 2022. Factuality enhanced language models for open-ended text generation. Advances in Neural Information Processing Systems 35 (2022), 34586-34599.
【0279】
Valentine Legoy, Marco Caselli, Christin Seifert, and Andreas Peter. 2020. Automated retrieval of att&ck tactics and techniques for cyber threat reports. arXiv preprint arXiv:2004.14322 (2020).
【0280】
Zhenyuan Li, Jun Zeng, Yan Chen, and Zhenkai Liang. 2022, AttacKG: Constructing technique knowledge graph from cyber threat intelligence reports. In Computer Security-ESORICS 2022: 27th European Symposium on Research in Computer Security, Copenhagen, Denmark, September 26-30, 2022, Proceedings, Part I. Springer, 589-609.
【0281】
Swee Kiat Lim, Aldrian Obaja Muis, Wei Lu, and Chen Hui Ong. 2017, Malwaretextdb: A database for annotated malware articles. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 1557-1567.
【0282】
Pengfei Liu, Weizhe Yuan, Jinlan Fu, Zhengbao Jiang, Hiroaki Hayashi, and Graham Neubig. 2023, Pre-train, prompt, and predict: A systematic survey of prompting methods in natural language processing. Comput. Surveys 55, 9 (2023), 1-35.
【0283】
Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. 2019, Roberta: A robustly optimized bert pretraining approach. arXiv preprint arXiv:1907.11692 (2019).
【0284】
Xuezhe Ma and Eduard Hovy. 2016, End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 1064-1074.
【0285】
Sadegh M Milajerdi, Birhanu Eshete, Rigel Gjomemo, and VN Venkatakrishnan. 2019, Poirot: Aligning attack behavior with kernel audit records for cyber threat hunting. In Proceedings of the 2019 ACM SIGSAC conference on computer and communications security. 1795-1812.
【0286】
Kris Oosthoek and Christian Doerr. 2019, Sok: Att&ck techniques and trends in windows malware. In Security and Privacy in Communication Networks: 15th EAI International Conference, SecureComm 2019, Orlando, FL, USA, October 23-25, 2019, Proceedings, Part I 15. Springer, 406-425.
【0287】
Vittorio Orbinato, Mariarosaria Barbaraci, Roberto Natella, and Domenico Cotroneo. 2022, Automatic Mapping of Unstructured Cyber Threat Intelligence: An Experimental Study:(Practical Experience Report). In 2022 IEEE 33rd International Symposium on Software Reliability Engineering (ISSRE). IEEE, 181-192.
【0288】
Ankur Padia, Arpita Roy, Taneeya W Satyapanich, Francis Ferraro, Shimei Pan, Youngja Park, Anupam Joshi, and Tim Finin. 2018, UMBC at SemEval-2018 Task 8: Understanding text about malware. UMBC Computer Science and Electrical Engineering Department (2018).
【0289】
Youngja Park and Taesung Lee. 2022, Full-Stack Information Extraction System for Cybersecurity Intelligence. In Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing: Industry Track. 531-539.
【0290】
Lance A Ramshaw and Mitchell P Marcus. 1999, Text chunking using transformation-based learning. Natural language processing using very large corpora (1999), 157-176.
【0291】
Nils Reimers and Iryna Gurevych. 2017, Reporting Score Distributions Makes a Difference: Performance Study of LSTM-networks for Sequence Tagging. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing. 338-348.
【0292】
Nils Reimers and Iryna Gurevych. 2019, Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP). 3982-3992.
【0293】
Kiavash Satvat, Rigel Gjomemo, and VN Venkatakrishnan. 2021, Extractor: Extracting attack behavior from threat reports. In 2021 IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 598-615.
【0294】
Taneeya Satyapanich, Francis Ferraro, and Tim Finin. 2020, Casie: Extracting cybersecurity event information from text. In Proceedings of the AAAI conference on artificial intelligence, Vol. 34. 8749-8757.
【0295】
Stefan Schweter and Alan Akbik. 2020, Flert: Document- level features for named entity recognition. arXiv preprint arXiv:2011.06993 (2020).
【0296】
Y. Sharma, E. Giunchiglia, S. Birnbach, and I. Martinovic. [n. d.]. To TTP or not to TTP? Exploiting TTPs to improve ML-based malware detection. In 2023 IEEE International Conference on Cyber Security and Resilience (CSR).
【0297】
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. Advances in neural information processing systems 30 (2017).
【0298】
Thomas D Wagner, Khaled Mahbub, Esther Palomar, and Ali E Abdallah. 2019, Cyber threat intelligence sharing: Survey and research directions. Computers & Security 87 (2019), 101589.
【0299】
Jason Wei, Yi Tay, Rishi Bommasani, Colin Raffel, Barret Zoph, Sebastian Borgeaud, Dani Yogatama, Maarten Bosma, Denny Zhou, Donald Metzler, et al. 2022, Emergent abilities of large language models. arXiv preprint arXiv:2206.07682 (2022).
【0300】
Jeff Wu, Long Ouyang, Daniel M Ziegler, Nisan Stiennon, Ryan Lowe, Jan Leike, and Paul Christiano. 2021, Recursively summarizing books with human feedback. arXiv preprint arXiv:2109.10862 (2021).
【0301】
Bishan Yang, Wen-tau Yih, Xiaodong He, Jianfeng Gao, and Li Deng. 2015, Embedding entities and relations for learning and inference in knowledge bases. In 3rd International Conference on Learning Representations (2015).
【0302】
Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, and Yuan Cao. 2022. ReAct: Synergizing Reasoning and Acting in Language Models. arXiv preprint arXiv:2210.03629 (2022).
【0303】
本開示の主題は、図面および前述の説明において詳細に例示されて説明されたが、そのような例示および説明は、限定ではなく例示または模範であると見なされるべきである。本発明は請求項によって定義されるので、本発明を特徴付ける、本明細書で行われるどのような陳述も、限定ではなく例示または模範であると見なされるべきである。上で説明された様々な実施形態からの特徴の任意の組合せを含み得る、以下の特許請求の範囲内にある変更および修正が、当業者により行われ得ることが理解されるだろう。
【0304】
請求項において使用される用語は、前述の説明と矛盾しない最大の妥当な解釈を有するものと見なされるべきである。たとえば、要素を導入する際の冠詞「a」および「the」の使用は、複数の要素を排除するものとして解釈されるべきではない。同様に、「または」の記載は包含的であるものとして解釈されるべきであるので、「AまたはB」の記載は、AとBのうちの1つだけが意図されることが文脈または前の記述から明らかではない限り、「AおよびB」を排除しない。さらに、「A、B、およびCの少なくとも1つ」の記載は、A、B、およびCからなる要素のグループの1つまたは複数として解釈されるべきであり、A、B、およびCがカテゴリまたは他のものとして関連しているかどうかにかかわらず、列挙される要素A、B、およびCの各々の少なくとも1つを必要とするものとして解釈されるべきではない。その上、「A、B、および/またはC」または「A、B、またはCの少なくとも1つ」の記載は、列挙された要素からの任意の単数のエンティティ、たとえばA、列挙された要素からの任意のサブセット、たとえばAおよびB、または要素A、B、およびCのリスト全体を含むものとして解釈されるべきである。
【符号の説明】
【0305】
100 手動パイプライン
102 セキュリティアナリスト
104 構造化されていないデータ
106 構造化された表現
200 パイプライン
202 構造化されていないデータ
204 エンティティおよび関係パイプライン
206 攻撃パターンパイプライン
208 NERモデル
210 関係モデル
212 クロスドメインエキスパート
214 アノテートされたデータセット
216 アノテートされたデータセット
220 文章選択モデル
222 文章分類モデル
224 アノテートされたデータセット
226 アノテートされたデータセット
228 出力
230 構造化されたフォーマット
232 セキュリティアナリスト
300 グローバルシステム
302 セキュリティエキスパートおよび/またはユーザ
304 入力
306 ユーザインターフェース
308 データ取得モジュール
310 LLMエージェント
312 LLM
314 インターネット
316 内容
318 情報
350 LLMエージェントシステム
354 メモリ
356 プロセッサ
358 プロセッサ
360 ネットワークインターフェース
362 メモリ
364 ネットワークインターフェース
500 LLMエージェント
502 データ
504 前処理コンポーネント
506 情報抽出コンポーネント
508 フォーマットコンポーネント
510 グラフ表現
512 データモデル
602 identity
604 tool
606 course-of-action
608 vulnerability
610 attack-pattern
612 indicator
614 threat-action
616 campaign
618 malware
620 targets
622 uses
624 mitigates
626 attributed to
628 indicates
900 処理システム
902 プロセッサ
904 メモリ
906 入力/出力デバイス
908 センサ
910 ユーザインターフェース
912 アクチュエータ
1000 アーキテクチャ
1002 構造化されていない入力報告
1004 ダウンローダおよびパーサ
1006 生のテキスト
1008 パイプライン
1010 パイプライン
1012 前処理
1014 抽出
1016 LLM
1018 抽出されたデータ
1020 データエクスポータ
1022 CTIアナリスト
1024 LLMエージェント
【外国語明細書】