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

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

▶ ネットスコープ, インク.の特許一覧

特表2024-507893悪意のあるMS OFFICE文書の署名なし検出
<>
  • 特表-悪意のあるMS  OFFICE文書の署名なし検出 図1
  • 特表-悪意のあるMS  OFFICE文書の署名なし検出 図2
  • 特表-悪意のあるMS  OFFICE文書の署名なし検出 図3
  • 特表-悪意のあるMS  OFFICE文書の署名なし検出 図4
  • 特表-悪意のあるMS  OFFICE文書の署名なし検出 図5
  • 特表-悪意のあるMS  OFFICE文書の署名なし検出 図6
  • 特表-悪意のあるMS  OFFICE文書の署名なし検出 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-21
(54)【発明の名称】悪意のあるMS OFFICE文書の署名なし検出
(51)【国際特許分類】
   G06F 21/56 20130101AFI20240214BHJP
   G06N 5/01 20230101ALI20240214BHJP
【FI】
G06F21/56
G06N5/01
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023551122
(86)(22)【出願日】2022-02-24
(85)【翻訳文提出日】2023-09-27
(86)【国際出願番号】 US2022017778
(87)【国際公開番号】W WO2022182919
(87)【国際公開日】2022-09-01
(31)【優先権主張番号】17/184,478
(32)【優先日】2021-02-24
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/184,502
(32)【優先日】2021-02-24
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/572,548
(32)【優先日】2022-01-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.VISUAL BASIC
2.WINDOWS
3.JAVASCRIPT
4.JAVA
5.NETSKOPE
6.VIRUSTOTAL
(71)【出願人】
【識別番号】517325652
【氏名又は名称】ネットスコープ, インク.
【氏名又は名称原語表記】NETSKOPE, INC.
(74)【代理人】
【識別番号】100114476
【弁理士】
【氏名又は名称】政木 良文
(72)【発明者】
【氏名】チャン, ベンジャミン
(72)【発明者】
【氏名】サッパシー, ガナシャム
(57)【要約】
開示される技術は、サイバーセキュリティ攻撃及びクラウドベースのセキュリティに関し、具体的には、文書ファイル内で難読化されている悪意のあるコードの検出に関する。そのような悪意のあるコードは、文書ファイル内に記憶された悪意のあるマクロ及び/又は悪意のあるOLEオブジェクトの形態で配信される可能性がある。開示される技術は、訓練済み機械学習モデルを使用して、難読化された悪意のあるコードを検出し、既知の署名を有しないそのような悪意のあるものでも、どの文書が悪意のあるコードを含むかを予測する。したがって、開示される技術は、どの文書が既知の署名を欠く悪意のあるコードを含むかを予測することができる。安全な文書は、ネットワーク内に許可される。疑わしい文書は、隔離又はサンドボックス化方法を含む追加の処理の対象となる。悪意のある書類は、ネットワークから拒否される。更なる態様では、開示される技術は、悪意のあるマクロ及び悪意のあるOLEファイルを検出するネットワークセキュリティシステムの能力を更に増加させるために、機械学習を他のネットワークセキュリティ方法と組み合わせる。
【選択図】図1
【特許請求の範囲】
【請求項1】
ネットワーク化されたシステムにおける入力文書を分類して、前記文書のうちの少なくとも1つが悪意のあるコードを有するObject Linking & Embedding(オブジェクトリンク及び埋め込み、OLE)を含み得るかどうかを判定するための方法であって、
文書ファイルをネットワークセキュリティシステムに受信するアクション、
前記文書ファイルを解析して、入力文書における悪意のあるペイロードデータからメタデータを分離するアクション、
ヒューリスティックエンジンを使用して、既知の難読化方法を使用してOLEオブジェクトに埋め込まれているマルウェアの過去のインスタンスを示すデータを提供するアクション、
前記文書ファイルが悪意のあるOLEオブジェクトを含むかどうかを予測するために深層学習(DL)方法を使用することによって、機械学習アルゴリズムモデルを訓練するために前記ヒューリスティックエンジンによって提供された前記データから特徴セットを導出するアクション、
訓練済み機械学習モデルを使用して、前記文書ファイルを処理して、前記文書ファイルが悪意のあるOLEオブジェクトを含む可能性を判定するアクション、
結果として生じる文書を、安全、疑わしい、又は悪意のあるものとして分類するアクション、及び、
前記分類するアクションに基づいて、安全な文書を前記ネットワーク化されたシステムに受け入れ、悪意のある文書を悪意のあるものとしてブロックし、脅威分析のために疑わしい文書を隔離することと、のアクションを含む、方法。
【請求項2】
OLEファイルから抽出された前記特徴セットは、以下の、
embed_none
embed_has_corrupt
embed_has_password_protected
embed_has_suspicious_bin
embed_has_semi_suspicious_file
embed_has_normal_file
embed_has_other_file
embed_has_compressed_file
embed_has_non_ext
embed_rule1 - # embed_rule1
embed_has_suspicious_bin =真、及び
embed_has_other_file =真、のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記悪意のあるOLEオブジェクトは、既知の悪意のあるデータ署名を含まない、請求項1に記載の方法。
【請求項4】
前記文書ファイルは、ワードプロセッシング文書である、請求項1に記載の方法。
【請求項5】
前記文書ファイルは、ワードプロセッシング文書、スプレッドシート文書、又はプレゼンテーション文書のうちの1つである、請求項4に記載の方法。
【請求項6】
前記特徴セットは、以下のVisual Basic For Applications(ビジュアルベーシック・フォー・アプリケーションズ、VBA)OLEオブジェクト特徴、
createobject、
shell、
filesystem、
urldownloadtofile、
callbyname、及び
detect sandbox、のうちの少なくとも1つを含むOLEオブジェクト関連特徴である、請求項4に記載の方法。
【請求項7】
前記特徴セットは、以下の特徴、
doc_num_pages
doc_num_words
doc_num_lines
doc_num_chars
doc_num_paragraph
doc_lastmod_time
doc_author_info
doc_revision_number
doc_lastprint_time
doc_link-is dirty
doc_language
doc_sizeのうちの1つ以上を含む、請求項4に記載の方法。
【請求項8】
前記特徴セットは、文書タイプを含む、請求項1に記載の方法。
【請求項9】
前記脅威分析は、サンドボックスにおけるネットワークシステムから前記文書ファイルを隔離することを含む、請求項1に記載の方法。
【請求項10】
前記隔離された文書ファイルは、悪意のあるコードについてテストされる、請求項9に記載の方法。
【請求項11】
前記機械学習モデルは、特徴量エンジニアリングを通じた機械学習によって訓練された教師あり機械学習モデルであり、前記特徴セットは、1つ以上の悪意のあるOLEオブジェクトを有するいくつかの文書ファイル及び1つ以上の悪意のないOLEオブジェクトを有するいくつかの文書ファイルを含む、文書ファイルの大規模なサンプリングから導出される、請求項1に記載の方法。
【請求項12】
文書ファイルの前記サンプリングは、ワードプロセッシング文書、スプレッドシート文書、及びプレゼンテーション文書である、請求項11に記載の方法。
【請求項13】
悪意のあるOLEオブジェクトの検出動作の精度を高くし、誤検出を排除するために並行して動作する二次マルウェア検出エンジンを使用するアクションを更に含む、請求項1に記載の方法。
【請求項14】
ネットワークアナリストは、前記脅威分析の精度を高くするために前記分類するアクションをレビューする、請求項1に記載の方法。
【請求項15】
ネットワークセキュリティシステムであって、
ネットワークに結合されたネットワークインターフェースと、
複数のシステムコンポーネントであって、
前記ネットワークインターフェースを介して、Object Linking and Embedded (OLE)オブジェクトを含む文書ファイルを受信することと、
前記文書ファイルを解析して、前記OLEオブジェクト内に含まれる埋め込みデータを前記文書ファイル内に含まれる他のペイロードデータから分離することと、
前記文書ファイルを処理して、前記文書ファイルが前記OLEオブジェクト内で難読化されている悪意のあるコードを含むかどうかの可能性を判定することと、のアクションのために構成されている、複数のシステムコンポーネントと、を含み、
前記処理することは、前記文書ファイルから、前記OLEオブジェクト内で難読化される悪意のあるコードのインスタンスを示す難読化スコアリング特徴を抽出することを含み、
前記処理することは、前記難読化スコアリング特徴を訓練済み機械学習モデルに入力して、前記文書ファイルが前記OLEオブジェクト内で難読化されている悪意のあるコードを含むかどうかの前記可能性を判定することを更に含む、システム。
【請求項16】
前記難読化スコアリング特徴は、データベースに記憶される、請求項15に記載のシステム。
【請求項17】
ネットワーク化されたシステムにおける入力文書を分類して、前記文書のうちの少なくとも1つが悪意のあるコードを有するObject Linking & Embedding (OLE)を含み得るかどうかを判定するためのシステムであって、
ネットワークと、
前記ネットワークに結合されたネットワークインターフェースと、
前記ネットワークと動作可能に通信するネットワークセキュリティシステムと、
前記ネットワークセキュリティシステムと動作可能に通信するoffice分類子と、を備え、
前記office分類子は、
ワードプロセッシング文書、スプレッドシート文書、及びプレゼンテーション文書を受信及び処理するための入力手段と、
ヒューリスティック特徴生成エンジンと、
難読化された悪意のあるOLEオブジェクトを有する入力文書を検出するために選択された特徴を使用して、深層学習方法によって訓練された教師あり機械学習モデルと、を備える、システム。
【請求項18】
前記office分類子は、文書ファイルを悪意のあるものとして分類する、請求項17に記載のシステム。
【請求項19】
ファイルは、安全、悪意のある、又は疑わしいものとして分類される、請求項18に記載のシステム。
【請求項20】
安全と分類された文書ファイルは、前記ネットワークに許可され、悪意のあるものとして分類された文書は、恒久的にブロックされ、疑わしいものとして分類されたファイルは、脅威分析される、請求項19に記載のシステム。
【請求項21】
疑わしいと分類されたファイルは、悪意のあるコードが安全に分析され得るサンドボックス内に前記ファイルを隔離及び転送することによって脅威分析される、請求項20に記載のシステム。
【発明の詳細な説明】
【相互参照と組み込み】
【0001】
本特許出願は、米国特許出願第17/184,478号の継続であり、優先権を主張する、2022年1月10日に出願された「Detection Of Malicious Code that is Obfuscated Within A Document File」と題された米国非仮特許出願第17/572,548号(代理人整理番号NSKO-1038-2)の優先権を主張する。
【0002】
本特許出願はまた、2021年2月24日に出願され、2022年1月11日に米国特許第11,222,112号として発行された「Signatureless Detection of Malicious MS Office Documents Containing Advanced Threats in Macros」と題された上で参照された米国非仮特許出願第17/184,478号(代理人整理番号NSKO 1038-1)の優先権を主張する。
【0003】
本特許出願はまた、2021年2月24日に出願された「Signatureless Detection Of Malicious MS Office Documents Containing Embedded Ole Objects」と題された米国非仮特許出願第17/184,502号(代理人整理番号NSKO-1040-1)の優先権を主張する。
【0004】
本特許出願は、その中に含まれる全ての特許出願、特許公開、及び特許を含む、前述の文書の全ての優先権を主張する。前述の文書の全てはまた、任意の及び全ての目的のために、参照によりそれらの全体が本明細書に組み込まれる。
【技術分野】
【0005】
開示される技術は、サイバーセキュリティ攻撃及びクラウドベースのセキュリティに関し、より具体的には、Microsoft Office文書がマクロ及びOLEオブジェクトの形態で悪意のあるコードを配信するための主要なベクトル(方式)として機能するマルウェア攻撃を防止するためのシステム及び方法に関する。加えて、開示される技術は、既知の署名を含まない悪意のあるマクロ及び/又は悪意のあるOLEオブジェクトを含む文書の検出に関する。開示される技術の文脈では、署名なしは、以前に確立された署名を有しない悪意のあるマクロ及び悪意のあるOLEオブジェクトを検出することを指す。更に、開示される技術は、機械学習及び特徴量エンジニアリングを使用して、(悪意のあるコードが以前に既知であった)ことを必要とせずに、MS Office文書及び他の文書タイプにおける悪意のあるマクロ及び(必要とせずに)悪意のあるOLEオブジェクトの存在を予測する。
【背景技術】
【0006】
このセクションで考察される主題は、単にこのセクションにおけるその言及の結果として先行技術であると想定されるべきではない。同様に、このセクションで言及される問題、又は背景として提供される主題と関連する問題は、先行技術において以前に認識されていたと仮定されるべきではない。このセクションの主題は、異なるアプローチを表すにすぎず、それ自体、特許請求される技術の実装形態に対応することもできる。
【0007】
新型コロナウイルス感染症(COVID-19)のパンデミックに先立つ6ヶ月間、Microsoft Officeのファイルは、Netskopeセキュリティクラウドプラットフォームで検出されたトロイの木馬及びダウンローダーのわずか5%を占めた。COVID後、特にEMOTETが再びアクティブになったとき、その割合は、45%近くに増加したが、移植可能な実行可能(portable executable)ファイル及び他のタイプは、減少した。典型的には、悪意のあるリンク、VBAスクリプト、又はPowerShellスクリプトを含むMicrosoft Excelファイルは、検出された悪意のあるOffice文書のほぼ4分の3を占め、しばしば、悪意のあるマクロが組み込まれている。悪意のあるOffice文書の90%超は、クラウドアプリケーションを通じて配布されており、比較すると他の全ての悪意のあるファイルタイプは50%である。
【0008】
マルウェアコードの作成者は、MS Officeを使用してマルウェアペイロードを安全なネットワークに配信する方式を見つけることにおいて、ますます賢くなっている。マルウェアを有する文書は、悪意のあるコードを隠すために難読化の高度な技法を使用し、そのため、ネットワークに深刻な損害を与えるまで簡単に検出されることができず、しばしば、気づかれないことがある。
【0009】
悪意のあるコンテンツのMS Officeファイルを予測するために、機械学習と組み合わせた特徴量エンジニアリングを使用して、VBA文書オブジェクトモデルに従うMicrosoft Office文書ファイルを通じて配信された難読化されたマクロ及びOLEオブジェクトを検出する必要がある。この問題は、教師あり機械学習アルゴリズムを訓練して、合法又は安全な文書、マルウェアを含む可能性のある疑わしい文書、並びに間違いなく悪意のあるコードを含む悪意のある文書を予測及び区別するために使用される、Netskopeなどのネットワークセキュリティシステムによって判定されている特徴量エンジニアリングによって特徴が解決されている。
【0010】
このようにして、ネットワークデバイスは、未知のマルウェアに対する既知の署名を使用することなく、文書ファイルにおけるマルウェアの存在を予測し得る。追加的に、悪意のあるofficeファイルの検出は、ほぼリアルタイムで発生し得、ネットワークセキュリティ処理時間における遅延を低減することによって、システムスループットへの負の影響を低減しながら、ネットワークセキュリティを大幅に改善する。
【図面の簡単な説明】
【0011】
図面において、同様の参照文字は、概して、異なる図全体を通して同様の部分を指す。また、図面は、必ずしも縮尺通りではなく、代わりに、概して、開示される技術の原理を図示することに重点が置かれている。以下の説明では、開示される技術の種々の実装形態が、以下の図面を参照して説明される。
【0012】
図1】MS Officeマクロ及びMS Office埋め込みOLEオブジェクトファイルにおける悪意のあるコンテンツを検出するためのシステムのアーキテクチャレベルの概略図を例示する。開示されるシステムは、機械学習及び特徴量エンジニアリングを使用して、署名なしの悪意のあるデータにおける悪意のあるコンテンツを検出するための教師あり訓練モデルを開発する。
図2】Netskopeネットワークセキュリティシステム内で動作するMS Office文書及びOLEオブジェクトにおけるマクロに含まれるマルウェアを検出するためのoffice分類子のマルウェア検出態様を例示し、特に、ネットワークセキュリティシステム内のMLベースのoffice分類子の配置を示す。
図3】本技術の一態様による、教師あり機械学習モデルを訓練するための例示的なワークフローを例示する。
図4】潜在的に悪意のあるファイルがどのように分類され、後処理されるかを例示する、office分類子のフロー図である。
図5】埋め込みマクロを検出するステップ(アクション)を例示するフローチャートである。
図6】埋め込まれた悪意のあるOLEオブジェクトファイルを検出するステップ(アクション)を例示するフローチャートである。
図7】MS Office文書に埋め込まれた悪意のあるマクロ及び埋め込みOLEコンテンツを有するMS Office文書を検出するために使用されることができるコンピュータシステムの簡略化されたブロック図である。
【発明を実施するための形態】
【0013】
以下の詳細な説明は、図面を参照して行われる。特許請求の範囲によって定義されるその範囲を限定するためではなく、開示される技術を例示するために、サンプルの実装形態が説明される。当業者であれば、以下の説明に基づいて種々の同等の変形例を認識するであろう。
【0014】
[序論]
開示される技術は、Microsoft Office文書のための機械学習ベースの分類のための特徴量エンジニアリングアプローチに関し、これは、悪意のあるファイル検出効率又はマクロ及びOLEオブジェクトを含む文書を大幅に改善する。
【0015】
開示される技術は、サイバーセキュリティ攻撃及びクラウドベースのセキュリティに関する。開示される技術は、悪意のあるマクロ及び悪意のあるOLEオブジェクトの形態で埋め込まれた脅威を有する文書を検出するための方法及び装置である。開示される技術は、訓練済み機械学習モデルを使用して、難読化された悪意のあるコードを検出し、署名なしと呼ばれる既知の署名のない悪意のあるコードを有する文書を予測する。したがって、開示される技術は、どの文書が署名なしの悪意のあるコードを含むかを予測することができる。特徴量エンジニアリングは、歴史的に悪意のあるコンテンツを示したファイルが有する既知の特性及び属性のリストから選択された特徴に基づいて、悪意のあるマクロ及び悪意のあるOLEオブジェクトを検出するための特徴のセットを定義するために使用されている。一態様では、マクロマルウェア及びOLEマルウェアの特徴並びに属性は、難読化されたマルウェアコードの分析によって判定され、ヒューリスティックデータベースに記憶される。データベースからの特徴は、選択され、教師あり機械学習モデルを訓練するために使用されている。
【0016】
別の態様では、office分類子は、ネットワークを介して着信文書を受信し、それらの文書を解析し解析するように構成され、機械学習アルゴリズムを適用して、文書を脅威レベルとして、安全、疑わしい、又は悪意のあるものとして分類する。安全な文書は、ネットワーク内に許可される。疑わしい文書は、隔離又はサンドボックス化方法を含む追加の処理の対象となる。悪意のある書類は、拒否されているか、又はネットワークからブラックリストに登録される。
【0017】
更なる態様では、開示される技術は、悪意のあるマクロ及び悪意のあるOLEファイルを検出するネットワークセキュリティシステムの能力を更に増加させるために、機械学習を他のネットワークセキュリティ方法と連続的又は並行して組み合わせる。
【0018】
現在使用されているほとんどのマルウェア検出システムは、署名ベースの検出方法に依存する。署名ベースの検出方法では、マルウェア又はウイルスは、特定のマルウェア又はウイルスの存在を検出及び識別するために使用されることができる一意のコードパターンを有する(含む)。ウイルス対策ソフトウェアは、ファイル署名をスキャンし、既知の悪意のあるコードのデータベースとそれらを比較する。それらが一致する場合、ファイルは、フラグが立てられ、脅威として扱われる。署名ベースの検出の主な制限は、特定のマルウェアと関連付けられていることが既知であるコードパターンを含むマルウェアである既知のマルウェアにのみフラグを付けることができるため、署名ベースの検出であること、効果が低く、新しいマルウェア又はゼロデイ攻撃に対して完全に役に立たない場合があることである。
【0019】
本発明の方法及び装置は、少なくともMS Office文書について以下のファイルフォーマット、Word97~2003(.doc、.dot)、Word2007+(.docx、.docm、.dotm)、Word2003XML(.xml)、Excel97~2003(.xls)、Excel2007+(.xlsx、.xlsm、.xlsb)、及びPowerPoint2007+(.pptx、.pptm、.ppsm)で有利に使用されている。
【0020】
MS Office文書は、VBA(Visual Basic for Applications)、DDE(Dynamic Data Exchange)、及び他のファイル(jpg、mpeg、exe/peファイルなど)のような埋め込みコードを含むことができる。一態様では、開示される技術の全体的な目的は、コードの機能に基づいて、ファイル内のあらゆる悪意のあるコードを検出するためにMS Officeファイルの埋め込みコンテンツをスキャンすることである。
【0021】
[マクロマルウェア]
マクロは、Microsoft Officeにおける一般的なタスクを自動化する強力な方式であり、ユーザの生産性を高めることができる。しかしながら、マクロマルウェアは、この機能を使用してユーザのエンドポイントデバイスを感染させる。マクロマルウェアは、しばしば、Microsoft Officeファイル内に偽装され、電子メールの添付ファイル、ZIPファイル、又はクラウドベースのソースからダウンロードされたものを介して配信されている。
【0022】
過去においては、マクロマルウェアは、文書が開かれるたびにマクロが自動的に実行されるため、一般的であった。Microsoft Officeの最新バージョンでは、マクロは、デフォルトで無効になっている。ここで、マルウェア作成者は、マルウェアを実行することができるように、ユーザを誘導してマクロをオンにする必要がある。これらのファイルは、ユーザがそれらを開くように誘導又は「怖がらせる」ことを目的とした名前を使用する。いくつかのファイルは、請求書、領収書、法的文書のような公式文書のように偽装されている。他のファイルは、しばしば、悪意のある文書が開かれてユーザが悪意のあるコンテンツにアクセスするよう誘い込まれるとき、偽の警告が表示されることがある。
【0023】
EMOTET、ICEDID、DRIDEXなどのマルウェアの多くのファミリーは、特にWindowsとMacコンピュータの両方の大規模なユーザベースにわたるMS Officeアプリケーションの人気のため、MS Office文書を配布するための伝達手段として使用する。マルウェアファミリーEMPYREは、Macコンピュータを悪用する文書マクロの例である。
【0024】
マクロは、MS Office文書に埋め込まれているプログラムである。全てのタイプのMS Officeフォーマット(文書、スプレッドシート、プレゼンテーションなど)は、これらのマクロを含む機能を有する。VBA(Visual Basic for Applications)において記述されたマクロは、ユーザがユーザ定義関数(UDF)を構築するために使用することを可能にし、プロセスを自動化し、動的リンクライブラリ(DLL)を通じてWindows API及び他の低レベルの機能にアクセスする。マルウェア作成者は、この機能を利用して、ユーザのコンピュータ上で悪意のある活動を実行する。マクロは、ファイルフォルダに記憶される。VBAコンポーネントは、次に、サブフォルダに記憶される。VBAコンポーネントは、VBAプロジェクト、ディレクトリ、及び文書への参照を含むストリームとみなされることができる。
【0025】
[Javascript/JScriptマクロ]
Visual basicは、埋め込みJavaScript(JScript)コードを起動するために使用されることができる。Windowsでは、コマンドラインでのcscript.exe及びGUIにおいて実行されるwscript.exeは、インストールされたアクティブスクリプト言語の実装形態の主な手段である。Windowsスクリプトファイル(.wsf)は、他の要素に加えて、複数の言語における複数のスクリプトを含むことができ、Windowsスクリプトホストによって実行されるxmlファイルである。
【0026】
[サンプル(マルウェアではない)JScript MS Excelマクロ]
VBAは、コンポーネントオブジェクトモデルライブラリ、.netライブラリ、又は任意のWindowsインターフェースを呼び出すことができるため、ネイティブ構文を超える非常に強力な言語である。外部プログラムモジュールを呼び出すことによって、VBAは、あらゆるWindowsプログラミング言語の完全な機能を実現することができる。
【0027】
次のサンプルxlsmファイル及びマクロは、Office文書内用にVBAにおけるJScriptマクロを作成することを示している。この特徴は、実行時に実行可能なVBAを構築するために使用することができ、これは、悪意のあるものをスキャンすることが困難である。コアスニピットは、以下のように現れる。
【0028】
JScriptは、変数で指定される。Script Controlは、インスタンス化され、JScriptに設定される。VBScriptは、VBScriptコードにJScriptを埋め込むことを可能にする言語である。これは、JScriptコードが構築されることができ、VBScriptコードによって実行される方法である。結果として生じるJScriptは、現在のMicrosoftの悪意のあるコードの検出及び軽減メカニズムの能力の外側である。
【0029】
[MS Office DOCSにおける悪意のある埋め込みマクロにおいて悪用されるメカニズム]
悪意のあるマクロは、MS Officeファイルが開かれ、又は閉じられるとき、自動的にトリガされる可能性がある。VBA APIによって提供されるトリガ関数は、Document_Open、Auto_Open、Workbook_Open、Document_Close、Workbook_Close、及びいくつかの同様の条件呼び出しAPIを含む。例えば、キーワード又はAPI Document_Openは、このマクロを含む文書を最初に開いたときにVBAコードを実行させる。このAPIは、有用な目的のために Microsoftによって設計されたが、悪意のあるハイジャックされた文書において悪用される可能性がある。
【0030】
全ての悪意のあるマクロは、基礎となるシステムに作用する必要がある。これを達成するために、悪意のあるペイロードをファイルとして、又は別のプロセスに注入されたシェルコードとしてのいずれかでドロップすることができる。次いで、何らかの方式でそのペイロードの実行をトリガする。ほとんどのマクロは、両方を行うが、いくつかのサンプルは、書き込み動作又は実行動作のみでペイロードを配信することができる。
【0031】
2014年以降に観察されたかなりの数のマクロは、HTTPを使用してペイロードをダウンロードする。しかし、これは、必ずしもそうではなく、いくつかのマクロは、VBAコード又は文書でエンコードされたペイロードを含む。ダウンロードアクションは、検出について使用されるのに十分である識別力はない。正当なマクロのいくつかは、悪意のあるマクロと同じ特徴を使用するものがあるが、そのようなマクロが上記の全ての方法を組み合わせる可能性は低い。
【0032】
[難読化]
ほとんどの悪意のあるマクロは、難読化されている。悪意のある作成者は、マクロの挙動を隠したり、分析及び検出に役立つコード文字列、すなわちIPアドレス、URLなどの侵害指標(IOC)を回避したりするために、種々の技法を使用する。幸いなことに、マルウェアによって使用される多くのVBAキーワードは、平文で現されなければならないが、パラメータは、文字列であることができる。自動トリガ、ペイロードドロップ、及びペイロード実行のための平文メカニズムは、文字列から実行することができないため、難読化することができない。VBAは、eval()を有するJavaScript及びExecuteを有するVBScriptとは対照的に、文字列に記憶されたコードを実行する機能を提供しない。
【0033】
より効果的な検出のために、悪意のあるVBAコードの研究に基づいて、難読化方法は、以下に説明される4つのタイプに分類され得る。
1)ランダム難読化
2)分割難読化
3)エンコード難読化
4)論理難読化
【0034】
各難読化タイプは、異なる構文構造を有し、関数及び演算子の異なる使用を有する。後に更に説明されるように、VBAマクロからの特徴抽出は、4つのタイプの難読化に向けられる。これらの4つのカテゴリにおける難読化を特徴付ける特徴は、以下の分析に基づいて構築される。これらの難読化技法を使用する基本的な目的は、分析の時間を遅らせることであり、それが次に検出後の対策を遅らせる。各難読化方法は、非常に単純であるが、組み合わせて使用するときに、コードを視覚的に解読不可にする。
【0035】
加えて、マルウェア作成者は、難読化ツールを使用して、異なるハッシュ値を有するマルウェアの多くの変種を作成し、これは、ファイルが暗号化アルゴリズムを通して処理され、そのファイルに対して一意の数値が得られる、ファイルのデジタルフットプリントとして機能することができる。
【0036】
[ランダム難読化]
ランダム難読化は、無意味な、又は誤解を招くトークン名を使用することによって、VBAコードを読み取れなくする。このランダム難読化は、VBAコードのシャノンエントロピー(Shannon Entropy)測度を使用する特徴によって特徴付けられることができる。
[ランダム難読化の例:関数名及び変数名は、ランダムな文字にすぎない。]
【0037】
[分割難読化]
分割難読化は、ファイル名文字列又はURLなど、最初に現れるものとは異なる文字列をつなぎ合わせるために使用される。分割難読化は、「+」、「=」、「&」などの文字列演算子の出現回数をカウントすることによって特徴付けられ得る。これらの演算子は、悪意のあるコードを不明瞭にするために使用され得る。
[分割難読化の例:データを複数の変数/定数に分割する]
[組み込み関数 Replace()/split() を使用した難読化: データの難読化に Replace/split などの VBA組み込み関数を使用する]
【0038】
[エンコード難読化]
エンコード難読化は、最初に現れるものとは大きく異なる悪意のあるコードを生成するためにパラメータで動作する。エンコード難読化を生成する関数の例は、カテゴリ別に、以下を含む:
・(テキスト関数):Asc()、 Chr()、 Mid()、 Join()、 InStr()、 Replace()、Right()、 StrConv()など。
・(算術関数):Abs()、 Atn()、 Cos()、 Exp()、 Log()、 Randomize()、 Round()、Tan()、 Sqr()など。
・(型変換関数):CBool()、 CByte()、 CChar()、 CStr()、 CDec()、 CUInt()、CShort()など。
・(財務関数):DDB()、 FV()、 IPmt()、 PV()、 Pmt()、 Rate()、 SLN()、 SYD()など。
【0039】
[論理難読化]
論理難読化は、コードを複雑にし、分析をより困難にする。この技法は、使用されていない変数を宣言するか、又は冗長な関数呼び出し及びループを使用することによって実行される。サンプルについて抽出された次のスニペットは、OLEオブジェクトの作成のために関与するコードは1行のみで、残りは、動作しないことを示す。
【0040】
論理難読化は、長い符号系列又はコメントを使用して、悪意のある動作を伴う1行又は2行のコードの発見を不明瞭にすることを指す。論理難読化を特徴付けるために生成され得る特徴は、コメントを除くVBAコードの長さと、VBAコードにおけるコメントの長さ又はサイズを含む。MS Officeファイルは、暗号化されることができ、復号化して開くにはパスワードが必要であるが、VBAマクロは、文書の残りの部分とともに暗号化されない。したがって、悪意のあるマクロは、暗号化によって不明瞭にされることはできない。VBAプロジェクトは、パスワードで保護されることができる。しかしながら、MS Officeは、これを論理的保護として実施している。VBAコードは、ファイルにおいて暗号化されていないため、OLETOOLSなどのツールを使用して平文において抽出されることができる。
【0041】
[システムの概要]
以下は、オフサイトクラウドベースのストアを含むクラウドベースのシステムにおけるマクロ及びOLEオブジェクトマルウェア攻撃を防止するためのシステム及び種々の実装形態をアーキテクチャ形態で説明する。システム100のアーキテクチャ図は、説明における明確さを改善するために意図的に簡略化されている、図1に示される。図1は、種々の主要要素の相互接続を示す。これらの要素の使用は、それらの要素の構造及び使用の考察に関連して、更により詳細に説明される。
【0042】
図1は、エンドポイント142を含むシステム100を含む。ユーザエンドポイント142は、クラウドベースのストア136及びクラウドベースのサービス138上に記憶されたデータへのアクセス及び対話を提供する、コンピュータ144、スマートフォン146、及びコンピュータタブレット148などのデバイスを含み得る。インラインプロキシ132は、ネットワーク140を通じて、特に、ネットワーク管理者122、ネットワークポリシー124、評価エンジン126、office分類子127、脅威スキャンサブシステム128、サンドボックス130、及びメタデータストア134を含むネットワークセキュリティシステムを通じて、ユーザエンドポイント142とクラウドベースのサービス138との間に介在され、これらは、より詳細に説明される。インラインプロキシ132は、ネットワーク140を通じてアクセス可能であり得、又はネットワークセキュリティシステム120の一部として常駐し得る。インラインプロキシ132は、ユーザエンドポイント142と、クラウドベースのストア136と、他のクラウドベースのサービス138との間のトラフィックの監視及び制御を提供する。
【0043】
インラインプロキシ132は、特に、データ損失防止(DLP)ポリシー及びプロトコルを含むネットワークセキュリティポリシーを実施するために、ユーザエンドポイント142とクラウドベースのサービス138との間のネットワークトラフィックを監視する。
【0044】
ここで、システム100の要素の相互接続について説明する。ネットワーク140は、コンピュータ144、スマートフォン146、及びコンピュータタブレット148とメタデータストア134とを結合し、インラインプロキシ132において互いに結合する。通信経路は、パブリック及び/又はプライベートネットワーク上のポイントツーポイントであり得る。通信は、プライベートネットワーク、VPN、MPLS回路、又はインターネットを含む種々のネットワークを経由して発生することができ、適切なアプリケーションプログラムインターフェース(API)、並びに
【0045】
Representational State Transfer(REST)、JavaScript Object Notation(JSON)、Extensible Markup Language(XML)、Simple Object Access Protocol(SOAP)、Java Message Service(JMS)、及び/又はJava Platform Module Systemなどのデータ交換フォーマットを使用することができる。
【0046】
通信は、暗号化され得る。通信は、概して、EDGE、3G、4G LTE、Wi-Fi、及びWiMAXなどのプロトコルを介して、LAN(ローカルエリアネットワーク)、WAN(広域通信網)、電話ネットワーク(パブリック交換電話網(PSTN))、セッション開始プロトコル(SIP)、無線ネットワーク、ポイントツーポイントネットワーク、スター型ネットワーク、トークンリングネットワーク、ハブネットワーク、モバイルインターネットを含むインターネットなどのネットワークを介する。
【0047】
図1のエンジン又はシステムコンポーネントは、種々のタイプのコンピューティングデバイス上で実行されるソフトウェアによって実装される。例えば、ワークステーション、サーバ、コンピュータクラスタ、ブレードサーバ、又はサーバファームである。追加的に、ユーザ名/パスワード、Open Authorization (OAuth)、Kerberos、SecureID、デジタル証明書などの種々の認可及び認証技法は、通信をセキュアにするために使用されることができる。
【0048】
クラウドベースのサービス138は、クラウドにおいて、又はインターネット上に実装される機能をユーザに提供する。クラウドベースのサービス138は、ニュースウェブサイト、ブログ、ビデオストリーミングウェブサイト、ソーシャルメディアウェブサイト、ホストサービス、クラウドアプリケーション、クラウドストア、クラウドコラボレーション及びメッセージングプラットフォーム、並びに/又はクラウド顧客関係管理(CRM)プラットフォームなどのインターネットホストサービスを含むことができる。クラウドベースのサービス138は、ブラウザ(URLを介して)又はネイティブアプリケーション(同期クライアント)を使用してアクセスされることができる。
【0049】
クラウドベースのサービス138のカテゴリは、サービスとしてのソフトウェア(SaaS)提供物、サービスとしてのプラットフォーム(PaaS)提供物、及びサービスとしてのインフラストラクチャ(IaaS)提供物を含む。
今日の一般的なウェブサービスの例には、YouTube(登録商標)、Facebook(商標)、Twitter(商標)、Google(商標)、LinkedIn(商標)、Wikipedia(商標),Yahoo(商標)、Baidu(商標)、Amazon(商標)、MSN(商標)、Pinterest(商標)、Taobao(商標)、Instagram(商標)、Tumblr(商標)、eBay(商標)、Hotmail(商標)、Reddit(商標)、IMDb(商標)、Netflix(商標)、PayPaI(商標)、Imgur(商標)、Snapchat(商標)、Yammer(商標)、Skype(商標)、Slack(商標)、HipChat(商標)、Confluence(商標)、TeamDrive(商標)、Taskworld(商標)、Chatter(商標)、Zoho(商標)、ProsperWorks(商標)、Google’s Gmail(商標)、Salesforce.com(商標)、Box(商標)、Dropbox(商標)、Google Apps(商標)、Amazon AWS(商標)、Microsoft Office 365(商標)、Workday(商標)、Oracle on Demand(商標)、Taleo(商標)、Jive(商標)、及びConcur(商標)が挙げられる。
【0050】
法人組織に属するユーザは、クラウドベースのサービスの何百ものプロバイダーにアクセスして、組織内外の他のユーザとデータを生成、記憶、コラボレーション、及び共有する。これは、マルウェア攻撃を招く可能性がある。クラウドベースのサービス138は、セキュリティポリシーを実装している組織のユーザに機能を提供する。ユーザがエンドポイント142を介してクラウドベースのサービスに要求を送信するとき、インラインプロキシ132は、要求メッセージを代行受信する。インラインプロキシ132は、データベースにアクセスすることによって、アクセスされているクラウドベースのサービス138を識別しようとする。一実装形態では、本発明によれば、インラインプロキシは、アクセスされているクラウドベースのサービス138を識別するために、ユーザからメタデータストア134への要求メッセージにおけるメタデータを蓄積する。文書インスタンスが、ネットワークを通じてクラウドベースのストア136とユーザエンドポイント142との間で共有又はリンクされるとき、マルウェア攻撃の危険がある。
【0051】
[office分類子]
office分類子127は、図2において詳細に示される。office分類子フレームワーク202は、悪意のあるコードを含む場合又は含まない場合があるoffice文書のin the wild204を受信する。「in the wild」204という用語は、概して、すでに世間に出回っており、種々の種類の損害を与える悪意のあるプログラムを指す。office分類子127は、図1に示されるネットワークセキュリティシステム120の不可欠な部分であり、ネットワークセキュリティシステム120の他の要素と協働して動作する。
【0052】
office分類子フレームワーク202は、機械学習モデル208の教師あり訓練を使用して、文書ファイルにおける悪意のあるコンテンツを予測する。機械学習モデルは、図3に関連して説明される、ラベル付けされた訓練データ及び機械学習アルゴリズムを使用して訓練される。機械学習モデルを訓練するために使用される特徴は、更に後で考察される。これらの特徴の判定は、難読化及び他の既知の技法を使用して悪意のあるマクロ及び悪意のあるOLEオブジェクトを埋め込み、悪意のあるコンテンツを見つけるのを困難にするために、マルウェア作成者により使用される方法の分析に基づいている。
【0053】
一態様では、office分類子127は、ヒューリスティック特徴ジェネレータ206を使用して、悪意のあるマクロ及び悪意のあるOLEオブジェクトの特性及び属性から導出された特徴のリストを生成することができ、これは、高度なブースティング木ベースの機械学習アルゴリズム208を訓練するために使用されることができる。次いで、office分類子127は、それらの特徴に基づいて、脅威レベルとして新しいOffice文書を分類することができる。別の態様では、ヒューリスティック特徴ジェネレータ206は、悪意のあるマクロ及び悪意のあるOLEオブジェクトの特徴をキーワードのセットと相関させることができ、Office文書から抽出された特徴のセットを一意に定義し、機械アルゴリズムに分散を提供し、非常に正確な検出結果をもたらす。
【0054】
office分類子127は、MS Office文書から、以下の埋め込まれたアーティファクトから抽出された特徴を使用する。これらの特徴は、機械学習(ML)モデル208を訓練するために使用される。
1)マクロ(VBAコード)
2)DDE
3)埋め込みOLEオブジェクト
【0055】
ほとんどの従来のML及びヒューリスティックベースのソリューションとは異なり、Office分類子127は、次のような静的特徴にのみ依存するわけではない。
1)VBAコードにおけるAPI。
2)マクロが接続するURL。
3)自動実行。
4)埋め込みPE/文書ファイル。
【0056】
代わりに、office分類子127は、メタデータ(文書サイズ、ページ、段落など)、コードエントロピーなどの他のアーティファクトとともに、マクロコードが使用する難読化の量を検出するのに役立つこれらの特徴を収集する。難読化されたマクロコードの多くのインスタンスの分析を通して、マルウェア作成者によって使用される難読化タイプは、前述のように、1)論理的、2)エンコード、3)分割、及び4)ランダム難読化にカテゴリ化され得ることが観察されている。
【0057】
前述のように、マルウェア作成者は、しばしば、これらの難読化タイプを使用して分析の時間を膨らませ、それが次に検出後の対策を遅らせる。各難読化方法は、非常に単純であるが、組み合わせて使用するときに、コードを視覚的に解読不可にする。加えて、マルウェア作成者は、難読化ツールを使用して、異なるハッシュ値を有するマルウェアの多くの変種を作成する。
【0058】
マルウェア作成者は、EMOTETによる最近のものを含め、マルウェアキャンペーンの多くでこのような難読化技法を使用しているようである。上で説明したように、難読化は、主に、文字列演算子、関数などのVBA言語特徴を使用して達成される。office分類子127は、機械学習及びヒューリスティックエンジンを通じて成功した分類において、VBAコードからそのような一意の指標を収集する。
【0059】
本開示の技術は、Word、Excel及びPPTをカバーするMS OfficeのOLE2及びOXMLタイプの文書の両方を検出することを対象とする。特徴抽出活動は、基本的には、VBAコード、DDE、及び本明細書では文書、ファイル、又は文書ファイルとも称されるOffice文書からの埋め込みアイテムのような必要なアイテムの抽出及び解析である。絶対マーカーを特徴とするものは、1つもない。むしろ、抽出された特徴のグループは、分類に寄与する。
【0060】
図2を続けると、潜在的な誤検出212及び新たな脅威214は、マルウェア検出のレベルを改善するためにアナリストレビュー216を必要とし得、これは、office分類子フレームワーク202内のいくつかの調整を必要とし得る。加えて、他の脅威検出エンジン218は、機械学習及びヒューリスティックエンジン208と並行して動作して、マルウェア検出の全体的な性能を改善し、最終的検出結果210を大幅に改善し得る。
【0061】
[機械学習及び特徴量エンジニアリング]
機械学習及び特徴量エンジニアリングのために開示される技術は、図3により詳細に示される。
【0062】
文書ファイルは、複数のマクロ及び埋め込みファイルを含み得る。特徴抽出の目的のために、全てのマクロは、単一のエンティティとして考慮及び結合される。CFBF(複合ファイルバイナリフォーマット)とOpenXMLの両方を含む文書(全てのフォーマット)からマクロコード及び埋め込みファイル情報を抽出する。マクロ及び埋め込みOLEオブジェクトからの特徴は、Microsoft Office文書における悪意のあるコードを検出する機械学習アルゴリズムによって処理のために抽出される。特徴ベクトルの構築と関連付けられる特徴のリストは、更に後述される。
【0063】
図3は、教師あり機械学習モデル312の訓練を例示する。訓練は、ランダムフォレスト、決定木、線形回帰などの好適な機械学習アルゴリズム310を使用する。代替的に、機械学習アルゴリズムは、Inceptionなどの深層学習構造を含む畳み込みニューラルネットワーク、CNNを使用することができる。教師あり機械学習では、訓練データは、分類ラベル316を含む。訓練テキスト、文書、画像314は、特徴を抽出するために使用される。理想的には、このサンプリングは、データサイエンティストによる更なる機械学習(ML)処理のために、抽出され、.csvファイルに保持されるように、大規模で100万個ほどのサンプルであるべきである。
【0064】
サンプル収集は、重複を避けるべきであり、レベル化されなければならない。サンプル収集は、理想的には、Netskopeなどのネットワークセキュリティ環境内で誤検出(FP)であることが示された文書を含む、ラベル付けされた悪意のあるファイルとクリーンな文書ファイルの組み合わせを含む。
【0065】
特徴ベクトル318が識別及びラベル付けされるとき、それらは、機械学習アルゴリズム310によって組み合わされて、予測モデル312を作成する。
【0066】
新しいテキスト、文書、画像など320の形態における新しいラベル付けされていないデータは、選択された特徴ベクトル322を通して分類され、予測モデル312に入力される。予測モデルは、新しいデータ320を処理312し、最終結果として予想されるラベル324を提供する。
【0067】
ここで図4に目を向けると、開示される技術に従って潜在的に悪意のあるファイルがどのように処理され分類されるかを例示する、office分類子127のフロー図が示されている。
【0068】
office分類子127は、ネットワークを介して着信文書400を受信し、その文書を解析するために、及び解析し、特徴を抽出し、機械学習アルゴリズムを適用して、文書を脅威レベル、安全レベル480、疑わしいレベル500、又は悪意のあるレベル490として分類するように構成される。安全な文書480は、ネットワーク内に許可される。疑わしい文書500は、隔離又はサンドボックス化方法510を含む追加の処理の対象となる。悪意のある文書490は、警告を発し、最終的に拒否されるか、又はネットワークからブラックリストに登録される。検出された悪意のあるファイル490は、更なる研究分析のために隔離され得る。一態様では、文書は、セキュリティ管理者による詳細な脅威スキャンを受け得、これはまた、サンドボックス130における分離を含み得、任意の実行可能な埋め込みコードは、任意の埋め込みリンクが悪意のある活動を引き起こすかどうかを判定するために、分離された環境で実行される。
【0069】
更なる態様では、開示される技術は、悪意のあるマクロ及び悪意のあるOLE文書を検出するネットワークセキュリティシステムの能力を更に増加させるために、機械学習を他のネットワークセキュリティ方法410、420と組み合わせる。
【0070】
[以前に検出されたマルウェアのインスタンスを使用した特徴量エンジニアリング]
一態様では、開示される技術は、機械学習アルゴリズムを使用する。本技術は、導出するように構成されており、特徴のリストは、導出を支援するヒューリスティックを伴って、又は伴わずに、以前のマルウェア攻撃から導出されることができる。特徴は、機械学習アルゴリズムを訓練するために使用される。
【0071】
別の態様では、開示される技術はまた、Office文書内の悪意のある埋め込みOLEオブジェクトを検出する。レベル化されたサンプルから抽出されたこれらの特徴は、ブースティング木アルゴリズムを使用して教師ありモデルを訓練するために使用される。異なるカテゴリから組み合わされた特徴は、機械学習アルゴリズムに非常に良好な分散を提供する。ヒューリスティクスは、機械学習アルゴリズムを訓練するための特徴ベクトルのセットを導出するのを助けるために、使用されることができる。
【0072】
ゼロデイ及び繰り返される悪意のあるパターンについて機械学習、並びに認識された悪意のあるパターンの検出のためのヒューリスティック、これら2つのアプローチの組み合わせは、埋め込みマクロ及びOLEオブジェクトの形態における悪意のある文書ファイルを検出する際に優れた結果を提供する。開示される技術は、ヒューリスティックエンジンからの特徴量エンジニアリングを使用して、機械学習アルゴリズムを訓練する。
【0073】
図5は、悪意のある埋め込みマクロを検出するステップ(アクション)を例示するフローチャートである。ステップ(アクション)(アクション)500では、文書ファイルは、ネットワークセキュリティシステムに受信される。ネットワークセキュリティシステムは、解析のために構成され、文書ファイルは、悪意のあるペイロードデータからメタデータを分離するために解析される。ステップ(アクション)510では、office分類子127内のヒューリスティックエンジンは、既知の難読化方法を使用して、マクロに埋め込まれたマルウェアの過去のインスタンスを示すデータを使用する。ステップ(アクション)520では、特徴セットは、ヒューリスティクスによって提供されたデータから導出されることができる。特徴セットは、部分的に、文書ファイルが悪意のあるマクロコードを含む可能性を予測するために、機械学習方法を使用して機械学習アルゴリズムモデルを訓練するために使用される。ステップ(アクション)530では、訓練済み機械学習モデルは、入力文書が悪意のあるマクロを含み得る可能性を予測するために使用される。ステップ(アクション)540では、悪意のあるマクロのインスタンスから導出されたヒューリスティックルールは、文書ファイルにおける悪意のあるマクロを検出する成功率を増加させるために適用される。ステップ(アクション)550では、office分類子127は、結果として生じる文書ファイルを、安全、疑わしい、又は悪意のあるものとして分類する。ステップ(アクション)560では、安全な文書は、ネットワークシステムに受け入れられ、悪意のある文書は、ブロックされ、疑わしい文書は、サンドボックス化を含む更なる脅威分析のために隔離される。
【0074】
図6は、悪意のある埋め込みOLEオブジェクトを検出するステップ(アクション)を例示するフローチャートである。ステップ(アクション)600では、文書ファイルは、ネットワークセキュリティシステムに受信される。ネットワークセキュリティシステムは、解析のために構成され、文書ファイルは、悪意のあるペイロードデータからメタデータを分離するために解析される。ステップ(アクション)610では、office分類子127内のヒューリスティックエンジンは、既知の難読化方法を使用して、悪意のある埋め込みOLEオブジェクトの過去のインスタンスを示すデータを使用する。ステップ(アクション)620では、ヒューリスティックエンジンは、特徴セットを導出するように構成されており、特徴セットは、ヒューリスティックによって提供されたデータから導出されることができる。データは、部分的に、文書ファイルが悪意のある埋め込みOLEオブジェクトコードを含む可能性を予測するために、機械学習方法を使用して機械学習アルゴリズムモデルを訓練するために使用される。ステップ(アクション)630では、訓練済み機械学習モデルは、入力文書が悪意のある埋め込みOLEオブジェクトを含み得る可能性を予測するために使用される。ステップ(アクション)640では、悪意のある埋め込みOLEオブジェクトのインスタンスから導出されたヒューリスティックルールは、文書ファイルにおける悪意のある埋め込みOLEオブジェクトを検出する成功率を増加させるために適用される。ステップ(アクション)650では、office分類子127は、結果として生じる文書ファイルを、安全、疑わしい、又は悪意のあるものとして分類する。ステップ(アクション)560では、安全な文書は、ネットワークシステムに受け入れられ、悪意のある文書は、ブロックされ、疑わしい文書は、サンドボックス化を含む更なる脅威分析のために隔離される。
[MS Office文書から抽出された特徴の広範なカテゴリ]
[マクロ]
1)CreateObject、Shell、FileSystem、URLDownloadToFile、CallByName、Detect Sandbox、Virtualization、Anti-Debuggingなど、VBA及びWindows APIの使用のカウントを示す特徴。カウントの収集は、クリーンな文書に対する特徴と比較するとき、ML及びューリスティックアプローチの両方について分散を与える。
2)VBAマクロにおける自動実行のカウント(文書の開閉時、VBAコントロールのイベントをクリック)を示す特徴。
3)+、&、 = などのVBA文字列演算子(連結)を使用する、文字列演算子のカウントを示す特徴。
4)VBAマクロにおけるAsc()、Chr()、ChrWなど、CBool()、CStr()、CLng()など、Abs()、Atn()、RND()など、DDB()、FV()、IPmt()などのVBA関数を使用する、テキスト、型変換、算術及び財務関数のカウントを示す特徴。
5)OLEストリームの数、有効なパスコードなど、OLEストリームプロファイルを示す特徴。
6)コードライン、コメント、変数、関数、ループ、イベント、16進文字列、エントロピーなどのカウントのようなVBAコードプロファイルを示す特徴。
[静的:文書の静的特定を構成する。]
1)文書サイズ、文書のタイプ(Word/Excel/PPT)、作成/変更時間、及び改訂番号。
2)ページ数、段落数、行数、文字数
3)文書は、テンプレートであり、文書メタデータにおいてVBAコードが存在する
[DDE: 利用可能な場合は、動的データ実行コード/文字列の特徴を構成する。]
1)DDEが自動実行可能である場合。
2)DDEが、cmd.exe、powershell、wmi、wscript、及びcscriptユーティリティのような信頼できるWindowsユーティリティを使用している場合。
3)DDEにURLがある場合は、ハイパーリンクでアクセスする。
4)DDEが実行可能ファイル、ファイルダウンロード、レジストリスクリプト、アドイン、マクロボタンを使用している場合。
[埋め込み: Office文書内に埋め込みオブジェクトからの特徴を構成する]
1)exe、dll、7z、dmg、deb、rarなどのような疑わしいファイルを有する埋め込みオブジェクト。
2)sql、cer、cfmなどのような半疑わしいファイルを有する埋め込みオブジェクト。
3)extnなしのような他のファイルを有する埋め込みオブジェクト。
4)URLへの外部ハイパーリンクを有する埋め込みオブジェクト。
【0075】
[テスト結果]
VirusTotalからのマクロを有する2000の悪意のあるMS Officeサンプル及びVirusTotalからの2000のクリーンなサンプルのランダムに選択されたセットのテストコーパスを使用すると、開示される技術は、誤検出なしにマルウェアサンプルの87.4%を検出することができ、Netskope社によって提供されるものなどの他のマルウェア検出エンジンと組み合わせた場合、98.9%の精度が誤検出なしで達成されたことを示す。このアーキテクチャは、以前に分析されたサンプルで使用された類似の難読化及び他の戦術を使用するマルウェアサンプルに対して、積極的で汎用的な検出を提供する。
【0076】
[VBA由来のマクロ特徴:]
MACRO_IS_PRESENT-この特徴は、スキャンされている文書にマクロが存在するかどうかを示す。これは、カウント又はブール値のいずれかであることができる。
【0077】
MACRO_AUTOEXEC-この特徴は、スキャンされている文書を開いたときに、マクロが自動的に実行されるかどうかを示す。これは、ブール値であることができる。イベント又は動作状態に基づいてマクロをトリガするAutoExecと同様の関数は、Document_Open及びDocument_Closeを含む。この関数群は、集合的にカウントされることができる。イベントトリガされたマクロ実行の単一のインスタンスは、悪意のあるコーディングを示唆する可能性がある。イベントトリガされたマクロ実行の複数のインスタンスは、正当なコードを示唆する可能性がある。MLは、この特徴及び他のために、そのような区別をするのが得意である。
【0078】
MACRO_EXECUTE-この特徴は、マクロが外部コードを含むコードを起動するかどうかを示す。これは、カウント又はブール値のいずれかであることができる。
【0079】
MACRO_EXECUTE_POWERSHELL-この機能は、マクロがスクリプトを実行するWindows PowerShellの起動を引き起こすかどうかを示す。これは、カウント又はブール値のいずれかであることができる。
【0080】
MACRO_WRITE-この機能は、マクロが同じコンピュータのディスクにデータを送信するか、又はネットワークの場所に送信するかを示す。多くのプログラムは、この関数を使用して正当にログファイルを書き込む。この特徴に入ることができる1つの考慮事項は、書き込まれたファイルがバイナリファイルであるか、それともテキストログファイルであるかである。
【0081】
MACRO_HAS_INTERNETDOWNLOAD-ダウンロードは、単にインターネットに接続するよりも特徴として重要である。
【0082】
MACRO_HAS_REGISTRY_ACCESS-レジストリの書き込み又は編集は、悪意のある意図を示すことができる。
【0083】
MACRO_COMMENT_LINES-維持する必要があるVBAコードよりも、悪意のあるコードのコメント行が少ないことが観察されている。
【0084】
MACRO_CODE_LINES-悪意のあるマクロファミリーには典型的な数の行がある。
【0085】
MACRO_HAS_HEX_STR-Hexエンコードの使用は、正規のVBAマクロコードにおいて稀である。いくつかの合成特徴は、他の抽出された特徴から構築される。ここでは、工学的判断に基づく3つの例が与えられる。
【0086】
MACRO_RULE1 # MACRO_RULE1-
MACRO_AUTOEXEC = 真、及び MACRO_WRITE = 真、及びMACRO_HAS_HEX_STR = 偽
【0087】
MACRO_RULE2 # MACRO_RULE2-
MACRO_AUTOEXEC = 真、及びMACRO_WRITE = 真、及びMACRO_HAS_HEX_STR = 真
【0088】
MACRO_RULE3 # MACRO_RULE3-
MACRO_AUTOEXEC = 真、及び MACRO_WRITE = 真、及び MACRO_HAS_HEX_STR = 偽
【0089】
MACRO_OLESTREAM_COUNT-悪意のあるマクロは、OLEストリームを有しない。対照的に、多くのOLEストリームは、しばしば、繰り返し更新される正当な文書に現れることがある。
MACRO_OLE_PASSCODE-#は、OLE/VBAパスコード化されたプロジェクトストリームのプロジェクト保護状態である。
【0090】
MACRO_DETECT_SANDBOX-この特徴は、Anubis、Sandboxie、Norman、CW、Winjail、又は他のタイプのサンドボックスの検出など、マクロがサンドボックスの実行を検出しようとするかどうかを示す。悪意のないアプリケーションは、サンドボックスにおいて実行されているかどうかを検出する理由がない。Marcosは、徹底的に解析されているため、サンドボックスにおいて実行する必要はない。
【0091】
MACRO_DETECT_VIRTUALIZATION-仮想化又はデバッグモードの検出はまた、より一般的である。仮想化は、特定のサンドボックスを探すよりも、より一般的な特徴である。
【0092】
MACRO_RUN_SHELLCODEINMEMORY-VBAマクロは、メモリにおいてシェルコードを実行することができる。現在、これは、広くは利用されていないが、悪用される可能性がある。
【0093】
MACRO_DISABLE_SECURITY-正当なコードがVBAマクロセキュリティを無効にする、又は保護されたビューを無効にする理由はほとんどない。これは、悪意を強く示唆している。
【0094】
以下の一連の特徴は、上記の難読化の考察に関連する。
【0095】
MACRO_SELF_MODIFICATION-上述したように、マクロは、VBA以外の言語で実行可能なコードのパラメータを構築することを含む、VBAコードの修正(自己修正)を試み得る。分割及びエンコード難読化は、自己修正の顕著な手段である。
【0096】
MACRO_NUM_STRINGOPS-「+」、「=」、又は「&」などの文字列演算子を使用することのカウントは、分割難読化を示すことができる。エンコード難読化特徴は、種々の関数タイプの複数のカウントを含むことができる。
【0097】
MACRO_NUM_TEXTFUNCは、Asc()、Chr()、Mid()、Join()、InStr()、Replace()、Right()、StrConv()などを含むテキスト関数のカウントである。
【0098】
MACRO_NUM_ARITHFUNCは、Abs()、Atn()、Cos()、Exp()、Log()、Randomize()、Round()、Tan()、Sqr()などを含む算術関数のカウントである。
【0099】
MACRO_NUM_TYPECONVFUNCは、CBool()、CByte()、CChar()、CStr()、CDec()、CUInt()、CShort()などを含む型変換関数のカウントである。
【0100】
MACRO_NUM_FINCFUNCは、DDB()、FV()、IPmt()、PV()、Pmt()、Rate()、SLN()、SYD()などを含む財務関数のカウントである。
【0101】
論理難読化特徴は、ランダム難読化特徴と重複しており、両方ともエントロピー測度によって対処されることができる。
【0102】
MACRO_SHANNON_ENTROPYは、VBAマクロコードのシャノンエントロピースコアである。
【0103】
[埋め込みファイル及び特徴:]
[OLEストリーム]
MS Office文書ファイルは、その中に埋め込みファイルがないかについてスキャンされる。以下のOLEストリーム(x01Ole10Native,¥x01CompObj及びObjectPool)は、埋め込みファイル情報を収集するために、デコードされる。以下は、埋め込みファイルから抽出された特徴である。
EMBED_NONE
EMBED_HAS_CORRUPT
EMBED_HAS_PASSWORD_PROTECTED
EMBED_HAS_SUSPICIOUS_BIN-ファイルは、
疑わしいビンにリストされているファイル/extnのいずれかからのものである。
EMBED_HAS_SEMI_SUSPICIOUS_FILE-ファイルは、semi_suspicious_filesにリストされているファイル/extnのいずれかからのものである
EMBED_HAS_NORMAL_FILE-ファイルは、normal_filesにリストされているファイル/extnのいずれかからのものである
EMBED_HAS_OTHER_FILE-ファイルは、上記のカテゴリのいずれにも属さず、compressed_filesではない。
EMBED_HAS_COMPRESSED_FILE-ファイルは、compressed_filesにリストされているファイル/extnのいずれかからのものである。
EMBED_HAS_NON_EXT
EMBED_RULE1 -これは、EMBED_RULE1である。
EMBED_HAS_SUSPICIOUS_BIN =真、又は
EMBED_HAS_OTHER_FILE =真
【0104】
[ヒューリスティックルール:]
MS Officeファイルにカテゴリ(A)の疑わしいビン又はカテゴリ(E)の不明な拡張子における埋め込みファイルが含まれている場合は、マルウェアの可能性がある。
セット:
疑わしいビン(A)=「7z」、「apk」、「app」、「asp」、「aspx」、「bat」、「bin」、「cab」、「cgi」、「com」、「cpl」、「crx」、「deb」、「dll」、「dmg」、「dmp」、「drv」、「exe」、「gadget」、「jar」、「js」、「jse」、「jsp」、「lnk」、「msi」、「php」、「pkg」、「pl」、「plugin」、「py」、「rar」、「rpm」、「sh」、「sys」、「torrent」、「vbs」、「wsf」、「zip」、「zipx」
半疑わしい(B)=「cer」、「cfm」、「csr」、「deb」、「dcr」、「db」、「dbf」、「docm」、「mdb」、「pdb」、「sql」、「swf」、「xlsm」
正常(C)=「3ds」、「3dm」、「ai」、「aif」、「bmp」、「css」、「csv」、「doc」、「docx」、「dwg」、「dxf」、「eps」、「flv」、「fnt」、「fon」、「gif」、「htm」、「html」、「indd」、「jpg」、「key」、「log」、「m3u」、「m4a」、「max」、「mid」、「mov」、「mp3」、「mp4」、「mpg」、「obj」、「otf」、「pages」、「pct」、「pdf」、「png」、「ppt」、「pptx」、「ps」、
「psd」、「pspimage」、「rm」、「rtf」、「svg」、「tex」、「tga」、「thm」、「tif」、「tiff」、「ttf」、「txt」、「vob」、「wav」、「wma」、「wmv」、「wpd」、「wps」、「yuv」、「xlr」、「xls」、「xlsx」
拡張子なし(D)=ファイル名に「.」が含まれない
圧縮ファイル(F)=「7z」、「cbr」、「gz」、「rar」、「sitx」、「tar」、「zip」、「zipx」
【0105】
不明な拡張子(E)=セットA、B、C、D、又はFにないファイル名。これは、拡張子を有するが、他のセットにおいて定義されているものではないことを意味する。
【0106】
[静的属性及び特徴:]
以下は、MS Office文書ファイルからの特徴抽出の一部として抽出される静的属性である。機械学習(ML)モデルは、悪意のある文書を検出する能力を高めるために、これらの特徴で訓練される。
DOC_NUM_PAGES
DOC_NUM_WORDS
DOC_NUM_LINES
DOC_NUM_CHARS
DOC_NUM_PARAGRAPH
DOC_LASTMOD_TIME
DOC_AUTHOR_INFO
DOC_REVISION_NUMBER
DOC_LASTPRINT_TIME
DOC_LINK-IS DIRTY
DOC_LANGUAGE
DOC_SIZE
【0107】
[他の検出方法との比較]
ハッシュベースの検出:開示される技術は、より一般的で積極的であり、ハッシュベースの検出は、1つのサンプルのみをカバーする。
【0108】
ウイルス対策署名:開示される技術は、より一般的かつ積極的である。これは、単純な/文字列パターンの一致ではない。
【0109】
ファジィハッシュ:開示される技術は、はるかに一般的である。ファジィハッシュはまた、単なるファジィバイト/文字列パターンの一致である。
【0110】
純粋な機械学習モデル:開示される技術は、ハイブリッドモデルを使用して、より低い誤検出(FP)率を達成しながら、新しい攻撃により迅速に応答することができる。
【0111】
サンドボックスベースの検出:開示される技術は、静的検出を使用するものであり、はるかに拡張性が低い。また、はるかに低い誤検出(FP)率を達成することができる。
【0112】
[コンピュータシステム]
ここで図7に目を向けると、クラウドベースのサービスを配信するためのクラウドベースのネットワーク内のネットワークにおけるセキュリティを提供するために使用され得るコンピュータシステム700の簡略化されたブロック図が示されている。コンピュータシステム700は、バスサブシステム726を介して一部の周辺デバイスと通信する少なくとも1つの中央処理装置(CPU)704と、本明細書で説明されるネットワークセキュリティサービスを提供するためのネットワークセキュリティシステム120と、を含む。これらの周辺デバイスは、例えば、メモリデバイス722、724及びファイルストレージサブシステム712を含むストレージサブシステム708と、ユーザインターフェース入力デバイス714と、ユーザインターフェース出力デバイス716と、ネットワークインターフェースサブシステム718と、を含むことができる。入力及び出力デバイスは、コンピュータシステム700とのユーザ対話を可能にする。ネットワークインターフェースサブシステム718は、他のコンピュータシステム内の対応するインターフェースデバイスへのインターフェースを含む、外部ネットワークへのインターフェースを提供する。
一実装形態では、図1のネットワークセキュリティシステム120は、ストレージサブシステム708及びユーザインターフェース入力デバイス714に通信可能にリンクされる。ユーザインターフェース入力デバイス714は、キーボード、マウス、トラックボール、タッチパッド、又はグラフィックタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム及びマイクロフォンなどのオーディオ入力デバイス、並びに他のタイプの入力デバイスを含むことができる。概して、「入力デバイス」という用語の使用は、コンピュータシステム700に情報を入力するための全ての可能なタイプのデバイス及び方法を含むことが意図される。
【0113】
ユーザインターフェース出力デバイス716は、ディスプレイサブシステム、プリンタ、ファックス機、又は音声出力デバイスなどの非視覚的ディスプレイを含むことができる。ディスプレイサブシステムは、LEDディスプレイ、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、又は可視画像を作成するための何らかの他のメカニズムを含むことができる。ディスプレイサブシステムは、音声出力デバイスなどの非視覚的ディスプレイを提供することもできる。概して、「出力デバイス」という用語の使用は、コンピュータシステム700からユーザ又は別のマシン若しくはコンピュータシステムに情報を出力するための全ての可能なタイプのデバイス及び方法を含むことが意図される。
【0114】
ストレージサブシステム708は、本明細書に記載のモジュール及び方法の一部又は全部の機能を提供するプログラミング及びデータ構造を記憶する。追加のサブシステム720は、グラフィックス処理ユニット(GPU)又はフィールドプログラマブルゲートアレイ(FPGA)であることができる。
【0115】
ストレージサブシステム708内で使用されるメモリサブシステム710は、プログラム実行中に命令及びデータを記憶するためのメインランダムアクセスメモリ(RAM)722と、固定命令が記憶される読み取り専用メモリ(ROM)724と、を含む、一部のメモリを含むことができる。ファイルストレージサブシステム712は、プログラム及びデータファイルのための永続的なストレージを提供することができ、ハードディスクドライブ、関連するリムーバブルメディアを伴うフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、又はリムーバブルメディアカートリッジを含むことができる。特定の実装形態の機能を実装するモジュールは、ファイルストレージサブシステム712によって、ストレージサブシステム708内に、又はプロセッサ704によってアクセス可能な他のマシン内に記憶され得る。
【0116】
バスサブシステム726は、コンピュータシステム700の種々のコンポーネント及びサブシステムに、意図されるように互いに通信させるためのメカニズムを提供する。バスサブシステム726は、単一のバスとして概略的に示されているが、バスサブシステムの代替の実装形態は、複数のバスを使用することができる。
【0117】
コンピュータシステム700自体は、パーソナルコンピュータ、携帯型コンピュータ、ワークステーション、コンピュータターミナル、ネットワークコンピュータ、テレビ、メインフレーム、サーバファーム、疎にネットワーク化されたコンピュータの広く分散されたセット、又は任意の他のデータ処理システム若しくはユーザデバイスを含む、種々のタイプのものであることができる。コンピュータ及びネットワークの絶えず変化する性質に起因して、図7に示されるコンピュータシステム700の説明は、本発明の好ましい実施形態を例示するための特定の例としてのみ意図される。図7に示すコンピュータシステム700よりも多いコンポーネント又は少ないコンポーネントを有するコンピュータシステム700の多くの他の構成が可能である。
【0118】
[特定の実装形態]
開示される技術は、システム、方法、デバイス、製品、コンピュータ可読媒体、又は製造品として実践されることができる。実装形態の1つ以上の特徴は、ベースの実装形態と組み合わせられることができる。相互に排他的ではない実装形態は、組み合わせ可能であると教えられる。実装形態の1つ以上の特徴は、他の実装形態と組み合わせられることができる。本開示は、ユーザにこれらの選択肢を定期的に思い出させる。これらの選択肢を繰り返す列挙のいくつかの実装形態からの省略は、前のセクションで教示された組み合わせを制限するものと解釈されるべきではない。これらの列挙は、以下の実施形態の各々に、参照によって本明細書に組み込まれる。
【0119】
開示される技術は、サイバーセキュリティ攻撃及びクラウドベースのセキュリティに関する。開示される技術は、本明細書では悪意のあるコード及び/又はマルウェアとも称される悪意のあるコンテンツ、悪意のあるマクロ及び/又は悪意のあるOLEオブジェクトを含む、そのような悪意のあるコンテンツ(マルウェア)の形態における埋め込まれた脅威を有する文書を検出するための方法及び装置である。マクロは、マクロデータ内に記憶され、本明細書ではマクロデータとも称される。同様に、OLEオブジェクトは、OLEオブジェクトデータ内に記憶され、本明細書では、ILEオブジェクトデータ、又は埋め込みOLEオブジェクトデータとも称される。
【0120】
一態様では、開示される技術は、ネットワーク化されたシステムにおける入力文書を分類して、該文書のうちの少なくとも1つがマクロを含み得るか、及び/又は悪意のあるコード(マルウェア)を含む埋め込みOLEオブジェクトを含み得るかを判定するための方法である。本方法は、文書ファイルをネットワークセキュリティシステムに繰り返し受信することを含む。各文書ファイルは、マクロデータ及び/又は埋め込みOLEデータを文書ペイロードデータから分離するために解析される。本方法は、文書ファイルについて、既知の難読化方法を使用して埋め込まれたマルウェアの過去のインスタンスを示す少なくとも難読化スコアリング特徴を生成するように構成され、次に生成する。次に、プロセスは、難読化スコアリング特徴を訓練済み機械学習モデルに入力し、訓練済み機械学習モデルを適用して文書ファイルを処理し、文書ファイルが悪意のあるマクロデータ及び/又は悪意のあるOLEデータの形態で悪意のあるコンテンツ(マルウェア)を含む可能性を判定する。結果として生じる文書は、安全、疑わしい、又は悪意のあるものとして分類される。分類のステップ(アクション)に基づいて、安全な文書ファイルは、ネットワークシステムに受け入れられる。悪意のある文書は、悪意のあるものとしてブロックされる。疑わしい文書は、脅威分析を受けるために隔離される。
【0121】
開示される技術の別の態様では、難読化スコアリング特徴は、埋め込みVBAマクロ特徴を説明する以下の特徴のうちの1つ以上、及び少なくともいくつかの実施形態では、少なくとも5つを含む:
macro_is_present、
macro_autoexec、
macro_execute、
macro_execute_powershell、
macro_write、
macro_has_internet_download、
macro_has_registry_access、
macro_comment_lines、
macro_code_lines、
macro_has_hex_str、
macro_olestream_count、
macro_ole_passcode、
macro_detect_sandbox、
macro_detect_virtualization、
macro_run_shell_code_in_memory、
macro_disable_security、
macro_self_modification、
macro_num_stringops、
macro_num_textfunc、
macro_num_arithfunc、
macro_num_typeconvfunc、
macro_num_fincfunc、及び
macro_shannon_entropy。
【0122】
開示される技術の別の態様では、難読化スコアリング特徴は、埋め込みVBA OLEオブジェクト特徴を説明する以下の特徴のうちの1つ以上、及び少なくともいくつかの実施形態では、少なくとも5つを含む:
embed_none
embed_has_corrupt
embed_has_password_protected
embed_has_suspicious_bin - #ファイルは、suspicious_binsにリストされているファイル/extnのいずれかからのものである
embed_has_semi_suspicious_file - #ファイルは、semi_suspicious_filesにリストされているファイル/extnのいずれかからのものである
embed_has_normal_file
embed_has_other_file
embed_has_compressed_file
embed_has_non_ext
embed_rule1 - # embed_rule1
embed_has_suspicious_bin =真、及び
embed_has_other_file =真。
【0123】
開示される技術の更なる態様では、文書ファイルは、MS Office文書である。また、MS Office文書は、ワードプロセッシング文書であるWord文書、スプレッドシート文書であるExcel文書、又はグラフィカル描画文書であり、本明細書ではプレゼンテーション文書とも称されるPowerPoint文書であり得る。
【0124】
開示される技術は、難読化スコアリングステップ(アクション)では、VBAマクロ特徴の1つ以上、いくつかの実施形態では、少なくとも2つを含む、マクロ関連及び/又はOLEオブジェクト関連特徴をスコアリングする:
createobject、
shell、
filesystem、
urldownloadtofile、
callbyname、及び
detect sandbox。
【0125】
開示される技術は、難読化スコアリングステップ(アクション)では、以下のVBA OLEオブジェクト特徴のうちの少なくとも2つを含むOLEオブジェクト関連特徴を検出する:
createobject、
shell、
filesystem、
urldownloadtofile、
callbyname、及び
detect sandbox。
【0126】
開示される技術の別の態様では、訓練済み機械学習モデルに、以下の文書特徴から導出された1つ以上、いくつかの実施形態では、少なくとも2つの特徴を入力するステップ(アクション):
文書サイズ、
作成者情報、
文書のタイプ(Word/Excel/PPT)、
作成又は変更時刻及び改訂番号、
ページ数、
段落の数、
行数、及び
文字数。
【0127】
開示される技術は、方法の別の態様では、マルウェア検出の精度を高くし、誤検出を排除するために並行して動作する二次マルウェア検出エンジンを含む。
【0128】
開示される技術の別の態様では、訓練済み機械学習モデルに、以下の静的文書特徴から導出された1つ以上の特徴、いくつかの実施形態では、少なくとも2つの特徴で入力するステップ(アクション):
doc_num_pages
doc_num_words
doc_num_lines
doc_num_chars
doc_num_paragraph
doc_lastmod_time
doc_author_info
doc_revision_number
doc_lastprint_time
doc_link-is dirty
doc_language
doc_size
【0129】
上記の静的文書特徴に関して、doc_num_pagesは、本明細書ではページ数とも称され、doc_num_wordsは、本明細書では単語数とも称され、doc_num_linesは、本明細書では行数とも称され、doc_num_charsは、本明細書では文字数とも称され、doc_num_paragraphは、本明細書では段落数とも称され、doc_lastmod_時間は、本明細書では最後修正時間又は修正時間とも称され、doc_author_infoは、本明細書では作成者情報とも称され、doc_revision numberは、本明細書では文書改訂番号又は改訂番号とも称され、doc_lastprint_timeは、本明細書では文書最終印刷時間又は最終印刷時間とも称され、doc_link-is dirtyは、本明細書では汚れた文書リンクとも称され、doc_languageは、本明細書では文書言語又は文書の言語とも称され、doc_sizeは、本明細書では文書サイズ又は文書のサイズとも称される。
【0130】
開示される技術は、方法の別の態様では、マルウェア検出の精度を高くし、誤検出を排除するために並行して動作する二次マルウェア検出エンジンを含む。
【0131】
方法の脅威分析ステップ(アクション)では、文書ファイルは、疑わしい文書ファイルにおける1つ以上のマクロ及び/又は1つ以上の埋め込みOLEオブジェクトをテストするためのサンドボックステスト環境において分離され得る。
【0132】
本発明は、既知の悪意のあるデータ署名を含まない、悪意のあるマクロ及び/又は埋め込みOLEオブジェクトを検出する能力を有する。開示される方法では、機械学習モデルは、特徴量エンジニアリングを通じて機械学習アルゴリズムによって訓練された教師あり機械学習モデルである。選択された特徴のセットは、文書ファイルの大規模なサンプリングからこの選択された特徴のセットを導出することから導出される。いくつかのサンプリングされた文書ファイルは、1つ以上の悪意のあるマクロ及び/又は埋め込みOLEオブジェクトを含み、いくつかのサンプリングされた文書ファイルは、少なくとも1つの悪意のないマクロ及び/又は少なくとも1つの悪意のない埋め込みOLEオブジェクトを含む。文書ファイルのサンプリングは、MS Officeファイルを含む。本方法の一態様では、ネットワークアナリストは、脅威分析の精度を高くするために分類のステップ(アクション)をレビューする。
【0133】
開示される技術は、悪意のあるマクロ及び/又は悪意のあるOLEオブジェクトを含む文書ファイルを検出するためのシステムである。本システムは、一意のコードパターン及びデータ属性を記憶するヒューリスティックエンジンを含み、本明細書では、過去に分析された悪意のあるマクロ及び/又はOLEオブジェクトで見つかった、過去の(既知の)悪意のあるコード、悪意のあるコンテンツ、悪意のあるソフトウェア及び/又はマルウェアを示すデータとも称される。一態様では、ヒューリスティックエンジンを使用して、特徴セットは、それらのマルウェア属性(特徴)を含むマクロ及び/又はOLEオブジェクトを含む文書ファイルを検出するための機械学習モデルを訓練するために使用されるマルウェア属性から導出される。
【0134】
ヒューリスティックエンジンは、過去に分析された悪意のあるマクロ及び/又はOLEオブジェクトのマルウェア属性を使用して、データモデルを作成するために機械学習エンジンを訓練するために、マクロ及び/又は埋め込みOLEオブジェクトマルウェアを示す特徴を導出するように構成され、導出する。ヒューリスティックエンジンは、過去の悪意のあるマクロ及び/又はOLEオブジェクトのコード及び挙動に基づいて、悪意のあるマクロ及び/又はOLEオブジェクトから導出された指標を記憶する。本技術は、機械学習モデルを訓練するための既知の属性のリストから1つ以上、いくつかの実施形態では、少なくとも5つの特徴を使用する。これらの1つ以上の特徴のリストは、マクロマルウェア、特に難読化されたマルウェアを示す属性のリストから抽出される。開示される技術では、一態様では、システムは、悪意のあるマクロ及び/又は埋め込みOLEオブジェクトを含む文書ファイル、過去に分析された悪意のあるマクロ及び/又はOLEオブジェクトからのデータ及び属性を記憶するヒューリスティックエンジン、訓練された悪意のあるマクロ及び/又はOLEオブジェクト検出モデルを含む機械学習エンジンを検出する。モデルは、ラベル付けされたデータを有する教師あり機械学習方法を使用して訓練されている。訓練データは、悪意のある又は悪意のないとラベル付けされた文書、ファイル、及び他のデータを含む。機械学習エンジンは、悪意のあるマクロ及び/又は悪意のあるOLEオブジェクト並びに悪意のないマクロ及び/又は悪意のないOLEオブジェクトの特性から導出された特徴によって訓練された教師あり機械学習モデルを含む。前述の悪意のあるOLEオブジェクト及び/又は悪意のあるマクロは、本明細書では、悪意のあるコード、悪意のあるコンテンツ、悪意のあるソフトウェア及び/又はマルウェアとも総称される。
【0135】
別の実装形態では、ヒューリスティックエンジンを含む開示されるシステムは、訓練済み機械学習モデルと並行して動作する。複数の検出方法を連続して、又は並行して適用することによって、悪意のあるコードを含む文書を検出する可能性は増加される。office分類子は、入力文書を脅威レベルとしてより正確に分類する可能性がより高くなり、悪意のあるコードを含む文書におけるマクロ及び/又はOLEオブジェクトを検出する可能性を増加させる。
【0136】
開示される技術の別の態様では、ネットワークシステムにおける入力文書を分類して、該文書のうちの少なくとも1つが悪意のあるコードを有するマクロ及び/又はOLEオブジェクトを含み得るかどうかを判定するためのシステムが提供される。本システムは、ネットワークと、ネットワークへの動作可能な通信におけるネットワークインターフェースと、を含む。開示される技術は、ネットワークセキュリティシステムと動作可能な通信を行うoffice分類子を含む。Office分類子は、文書ファイル、特にMS Office文書ファイルである文書ファイルを受信及び処理するための入力手段を有する。開示されるシステムは、ヒューリスティック特徴生成エンジンを更に含む。ヒューリスティック特徴生成エンジンは、悪意のあるマクロ及び/又は悪意のあるOLEオブジェクトの存在を予測するために選択された、悪意のあるマクロコード属性及び/又は悪意のあるOLEオブジェクトコード属性のリストを使用する。ヒューリスティックエンジンは、悪意のあるマクロ及び/又は悪意のあるOLEオブジェクトの存在を予測するために、教師あり機械学習モデルを訓練するために使用される特徴リストを導出するように構成され、かつそれを導出する。
【0137】
開示される技術の更なる態様では、office分類子は、機械学習モデルを各入力文書に適用して、入力文書が悪意のあるマクロ及び/又は悪意のあるOLEオブジェクトコードを含み得るレベル確率を判定する。この分析に基づいて、各入力文書は、安全、悪意のある、又は疑わしいものとして分類される。安全と分類された文書ファイルは、ネットワークに許可され、悪意のあると分類された文書ファイルは、恒久的にブロックされ、疑わしいと分類された文書ファイルは、脅威分析される。疑わしいファイルの脅威の分析は、悪意のあるコードが安全に分析され得る、サンドボックスなどの仮想環境への隔離及び転送を含み得る。
【0138】
一態様では、開示される技術は、訓練済み機械学習モデルを使用して、難読化された悪意のあるコードを検出し、既知の署名のない、埋め込まれた悪意のあるコードを有する文書を予測する。別の態様では、開示される技術は、悪意のあるマクロ及び/又は悪意のあるOLEオブジェクトの署名なしベースの分析と組み合わされることができる。
【0139】
別の態様では、ネットワークシステムへの入力文書を分類して、該文書のうちの少なくとも1つが悪意のあるコードを有するマクロ及び/又はOLEオブジェクトを含むかどうかを判定するための方法が開示される。別の態様では、入力文書をネットワークシステムに分類して、該文書のうちの少なくとも1つが悪意のあるマクロ及び/又は悪意のあるOLEオブジェクトを含むかどうかを判定するための方法が開示される。マクロ及び/又はOLEオブジェクトは、通常、ユーザによって観察されることはなく、MS Office文書を含む文書を感染させるための魅力的な伝達手段となる。開示される技術は、付属された企業ネットワークのネットワークセキュリティシステム内にoffice文書を受信するステップ(アクション)を含む、ネットワークシステムにおいて入力文書を分類するために使用され得る。文書ファイルは、それが分析され得るように、悪意のあるペイロードデータからメタデータを分離するために解析される。特徴量エンジニアリングは、歴史的に悪意のあるコンテンツを示したファイルが有する既知の特性及び属性のリストから選択された特徴に基づいて、悪意のあるマクロ及び/又は悪意のあるOLEオブジェクトを検出するための特徴のセットを定義するために使用されている。選択された特徴は、ラベル付けされたデータに基づいたモデルである教師あり機械学習モデルを訓練するために使用される。
【0140】
別の態様では、office分類子は、ネットワークを介して着信文書を受信し、それらの文書を分解し、機械学習アルゴリズムを適用して、文書を脅威レベルとして、安全、疑わしい、又は悪意のあるものとして分類する。安全な文書は、ネットワーク内に許可される。疑わしい文書は、隔離又はサンドボックス化方法を含む追加の処理の対象となる。悪意のある文書は、ネットワークからブロックされる。
【0141】
更なる態様では、開示される技術は、悪意のあるマクロ及び/又は悪意のあるOLEファイルを検出するネットワークセキュリティシステムの能力を更に増加させるために、機械学習を他のネットワークセキュリティ方法と組み合わせることが見出されている。
【0142】
前述の説明は、開示される技術の作製及び使用を可能にするために提示される。開示される実装形態に対する種々の修正が明らかになり、本明細書で定義される一般原理は、開示される技術の趣旨及び範囲から逸脱することなく、他の実装形態及び適用例に適用され得る。したがって、開示される技術は、示される実装形態に限定されるように意図されておらず、本明細書で開示される原理及び特徴と一致する最も広い範囲を与えられるべきである。開示される技術の範囲は、添付の特許請求の範囲によって定義される。
【0143】
[条項]
以下の条項を開示する。
[条項セット1]
1. ネットワーク化されたシステムにおける入力文書を分類して、該文書のうちの少なくとも1つが悪意のあるコードを有するマクロを含み得るかどうかを判定するための方法であって、
文書ファイルをネットワークセキュリティシステムに繰り返し受信するアクション、
文書ファイルを解析してマクロデータを文書ペイロードデータから分離するアクション、
文書ファイルについて、既知の難読化方法を使用してマクロに埋め込まれたマルウェアの過去のインスタンスを示す少なくとも難読化特徴を生成するアクション、
訓練済み機械学習モデルに難読化特徴を入力し、訓練済み機械学習モデルを適用して文書ファイルを処理し、悪意のあるマクロの存在を予測するアクション、
マルウェア検出の精度を高くし、誤検出を排除するために並行して動作する二次マルウェア検出エンジンを使用するアクション、
結果として生じる文書を、安全、疑わしい、又は悪意のあるものとして分類するアクション、及び
分類するアクションに基づいて、安全な文書をネットワーク化されたシステムに受け入れ、悪意のある文書を悪意のあるものとしてブロックし、脅威分析のために疑わしい文書を隔離するアクションを含む、方法。
2. 難読化特徴は、埋め込みVBAマクロ特徴を説明する以下の特徴、
macro_is_present、
macro_autoexec、
macro_execute、
macro_execute_powershell、
macro_write、
macro_has_internet_download、
macro_has_registry_access、
macro_comment_lines、
macro_code_lines、
macro_has_hex_str、
macro_olestream_count、
macro_ole_passcode、
macro_detect_sandbox、
macro_detect_virtualization、
macro_run_shellcodeinmemory、
macro_disable_security、
macro_self_modification、
macro_num_stringops、
macro_num_textfunc、
macro_num_arithfunc、
macro_num_typeconvfunc、
macro_num_fincfunc、及び
macro_shannon_entropy、のうちの少なくとも5つを含む、条項1に記載の方法。
3. 文書ファイルは、MS Office文書である、条項1に記載の方法。
4. 文書ファイルは、Word文書、Excel文書、又はPowerPoint文書のうちの1つである、条項3に記載の方法。
5. 難読化特徴は、以下のVBAマクロ特徴、
createobject、
shell、
filesystem、
urldownloadtofile、
callbyname、及び
detect sandbox、のうちの少なくとも2つを含むマクロ関連特徴である、条項3に記載の方法。
6. 以下の文書特徴、
文書サイズ、
作成者情報、
文書のタイプ(Word/Excel/PPT)、
作成又は変更時刻及び改訂番号、
ページ数、
段落の数、
行数、及び
文字数、から導出された少なくとも2つの特徴を訓練済み機械学習モデルに入力することを更に含む、条項3に記載の方法。
7. マルウェア検出の精度を高くし、誤検出を排除するために並行して動作する二次マルウェア検出エンジンを使用するステップを更に含む、条項1に記載の方法。
8. 脅威分析は、サンドボックスにおける文書ファイルを分離し、サンドボックスを使用して疑わしい文書における1つ以上のマクロをテストすることを含む、条項1に記載の方法。
9.悪意のあるマクロは、既知の悪意のあるデータ署名を含まない、条項1に記載の方法。
10. 機械学習モデルは、特徴量エンジニアリングを通じた機械学習によって訓練された教師あり機械学習モデルであり、選択された特徴は、文書ファイルの大規模なサンプリングから導出されており、いくつかのサンプリングされた文書ファイルは、1つ以上の悪意のあるマクロを含み、いくつかのサンプリングされた文書ファイルは、少なくとも1つの悪意のないマクロを含む、条項1に記載の方法。
11. サンプル文書ファイルは、MS Officeファイルである、条項10に記載の方法。
12. ネットワークアナリストは、脅威分析の精度を高くするために分類するアクションをレビューする、条項1に記載の方法。
13. 悪意のあるマクロを含む文書ファイルを検出するためのシステムであって、
既知の悪意のあるマクロを示すデータが記憶される、ヒューリスティックエンジンと、
悪意のあるマクロ及び悪意のないマクロの特性から導出された特徴によって訓練された教師あり機械学習モデルを含む機械学習エンジンと、を備える、システム。
14. ヒューリスティックエンジンは、訓練済み機械学習モデルと並行して動作して、悪意のあるコードを含む文書における悪意のあるマクロの存在を予測し、office分類子が該悪意のあるコードと関連付けられた脅威レベルに従って文書を分類する、条項13に記載のシステム。
15. ネットワーク化されたシステムにおける入力文書を分類して、該文書のうちの少なくとも1つが悪意のあるコードを有するマクロを含み得るかどうかを判定するためのシステムであって、
ネットワークと、
ネットワークに結合されたネットワークインターフェースと、
ネットワークと動作可能に通信するネットワークセキュリティシステムと、
ネットワークセキュリティシステムと動作可能に通信するoffice分類子であって、
MS Office文書を受信及び処理するための入力手段と、ヒューリスティック特徴生成エンジンと、
悪意のあるマクロの存在を予測するために選択された特徴を有する機械学習方法によって訓練された教師あり機械学習モデルと、を備える、office分類子と、を備える、システム。
16. office分類子は、文書ファイルを悪意のあるものとして分類する、条項15に記載のシステム。
17. ファイルは、安全、悪意のある、又は疑わしいものとして分類される、条項16に記載のシステム。
18. 安全と分類された文書ファイルは、ネットワークに許可され、悪意のあるものとして分類された文書は、恒久的にブロックされ、疑わしいものとして分類されたファイルは、脅威分析される、条項17に記載のシステム。
19. 悪意のあるコードでサンドボックス内に隔離及び転送することによって脅威分析の疑わしいものと分類されたファイルは、安全に分析され得る、条項18に記載のシステム。
20. office分類子は、文書ファイルを悪意として分類する、条項1に記載の方法。
[条項セット2]
1. ネットワーク化されたシステムにおける入力文書を分類して、該文書のうちの少なくとも1つが悪意のあるコードを有するObject Linking & Embedding (オブジェクトリンク及び埋め込み、OLE)を含み得るかどうかを判定するための方法であって、
文書ファイルをネットワークセキュリティシステムに受信するアクション、
文書ファイルを解析して、入力文書における悪意のあるペイロードデータからメタデータを分離するアクション、
ヒューリスティックエンジンを使用して、既知の難読化方法を使用してOLEオブジェクトに埋め込まれているマルウェアの過去のインスタンスを示すデータを提供するアクション、
文書ファイルが悪意のあるOLEオブジェクトを含むかどうかを予測するために深層学習(DL)方法を使用することによって、機械学習アルゴリズムモデルを訓練するためにヒューリスティックエンジンによって提供されたデータから特徴セットを導出するアクション、
訓練済み機械学習モデルを使用して、文書ファイルを処理して、文書ファイルが悪意のあるOLEオブジェクトを含む可能性を判定するアクション、
結果として生じる文書を、安全、疑わしい、又は悪意のあるものとして分類するアクション、及び、
分類するアクションに基づいて、安全な文書をネットワーク化されたシステムに受け入れ、悪意のある文書を悪意のあるものとしてブロックし、脅威分析のために疑わしい文書を隔離するアクションを含む、方法。
2. OLEファイルから抽出された特徴セットは、以下の、
embed_none
embed_has_corrupt
embed_has_password_protected
embed_has_suspicious_bin
embed_has_semi_suspicious_file
embed_has_normal_file
embed_has_other_file
embed_has_compressed_file
embed_has_non_ext
embed_rule1
embed_has_suspicious_bin=true、及び
embed_has_other_file=true、のうちの少なくとも1つを含む、条項1に記載の方法。
3. 悪意のあるOLEオブジェクトは、既知の悪意のあるデータ署名を含まない、条項1に記載の方法。
4. 文書ファイルは、ワードプロセッシング文書である、条項1に記載の方法。
5. 文書ファイルは、ワードプロセッシング文書、スプレッドシート文書、又はプレゼンテーション文書のうちの1つである、条項4に記載の方法。
6. 特徴セットは、以下のVisual Basic For Applications(ビジュアルベーシック・フォー・アプリケーションズ、VBA) OLEオブジェクト特徴、
createobject、
shell、
filesystem、
urldownloadtofile、
callbyname、及び
detect sandbox、のうちの少なくとも1つを含むOLEオブジェクト関連特徴である、条項4に記載の方法。
7. 特徴セットは、以下の特徴、
doc_num_pages
doc_num_words
doc_num_lines
doc_num_chars
doc_num_paragraph
doc_lastmod_time
doc_author_info
doc_revision_number
doc_lastprint_time
doc_link-is dirty
doc_language
doc_sizeのうちの1つ以上を含む、条項4に記載の方法。
8. 特徴セットは、文書タイプを含む、条項1に記載の方法。
9. 脅威分析は、サンドボックスにおけるネットワークシステムから文書ファイルを隔離することを含む、条項1に記載の方法。
10. 隔離された文書ファイルは、悪意のあるコードについてテストされる、条項9に記載の方法。
11. 機械学習モデルは、特徴量エンジニアリングを通じた機械学習によって訓練された教師あり機械学習モデルであり、特徴セットは、1つ以上の悪意のあるOLEオブジェクトを有するいくつかの文書ファイル及び1つ以上の悪意のないOLEオブジェクトを有するいくつかの文書ファイルを含む、文書ファイルの大規模なサンプリングから導出される、条項1に記載の方法。
12. 文書ファイルのサンプリングは、ワードプロセッシング文書、スプレッドシート文書、及びプレゼンテーション文書である、条項11に記載の方法。
13. 悪意のあるOLEオブジェクトの検出動作の精度を高くし、誤検出を排除するために並行して動作する二次マルウェア検出エンジンを使用するアクションを更に含む、条項1に記載の方法。
14. ネットワークアナリストは、脅威分析の精度を高くするために分類するアクションをレビューする、条項1に記載の方法。
15. ネットワークセキュリティシステムであって、
ネットワークに結合されたネットワークインターフェースと、
複数のシステムコンポーネントであって、
該ネットワークインターフェースを介して、Object Linking and Embedded (OLE)オブジェクトを含む文書ファイルを受信するアクションと、
該文書ファイルを解析して、該OLEオブジェクト内に含まれる埋め込みデータを該文書ファイル内に含まれる他のペイロードデータから分離するアクションと、
該文書ファイルを処理して、該文書ファイルが該OLEオブジェクト内で難読化されている悪意のあるコードを含むかどうかの可能性を判定するアクションとのために構成されている、複数のシステムコンポーネントと、を含み、
該処理することは、該文書ファイルから、該OLEオブジェクト内で難読化される悪意のあるコードのインスタンスを示す難読化スコアリング特徴を抽出することを含み、
該処理することは、該難読化スコアリング特徴を訓練済み機械学習モデルに入力して、該文書ファイルが該OLEオブジェクト内で難読化されている悪意のあるコードを含むかどうかの該可能性を判定することを更に含む、システム。
16. 該難読化スコアリング特徴は、データベースに記憶される、条項15に記載のシステム。
17. ネットワーク化されたシステムにおける入力文書を分類して、該文書のうちの少なくとも1つが悪意のあるコードを有するObject Linking & Embedding (OLE)を含み得るかどうかを判定するためのシステムであって、
ネットワークと、
ネットワークに結合されたネットワークインターフェースと、
ネットワークと動作可能に通信するネットワークセキュリティシステムと、
ネットワークセキュリティシステムと動作可能に通信するoffice分類子と、を備え、
office分類子は、
ワードプロセッシング文書、スプレッドシート文書、及びプレゼンテーション文書を受信及び処理するための入力手段と、
ヒューリスティック特徴生成エンジンと、
難読化された悪意のあるOLEオブジェクトを有する入力文書を検出するために選択された特徴を使用して、深層学習方法によって訓練された教師あり機械学習モデルと、を備える、システム。
18. office分類子は、文書ファイルを悪意のあるものとして分類する、条項17に記載のシステム。
19. ファイルは、安全、悪意のある、又は疑わしいものとして分類される、条項18に記載のシステム。
20. 安全と分類された文書ファイルは、ネットワークに許可され、悪意のあるものとして分類された文書は、恒久的にブロックされ、疑わしいものとして分類されたファイルは、脅威分析される、条項19に記載のシステム。
21. 疑わしいと分類されたファイルは、悪意のあるコードが安全に分析され得るサンドボックス内にファイルを隔離及び転送することによって脅威分析されている、条項20に記載のシステム。
[条項セット3]
1. 文書ファイル内に埋め込まれた悪意のあるコードの存在の検出を提供するためのシステムであって、システムは、
複数のシステムコンポーネントであって、
1つ以上の埋め込みアイテムを含む文書ファイルを受信するアクションと、
該文書ファイルを解析して、該埋め込みアイテムのうちの少なくとも1つを抽出するアクションと、
該文書ファイルを処理して、該埋め込みアイテムのうちの該少なくとも1つが悪意のあるコードを含むかどうかの可能性を判定するアクションを実行するように構成されている、複数のシステムコンポーネント、を含み、
該処理することは、該埋め込みアイテムのうちの該少なくとも1つから、
該埋め込みアイテムのうちの該少なくとも1つ内で難読化されている悪意のあるコードの既知のインスタンスを示す難読化スコアリング特徴を抽出することを含み、
該処理することは、該難読化スコアリング特徴を訓練済み機械学習モデルに入力して、
該文書ファイル内の該埋め込みアイテムのうちの該少なくとも1つが悪意のあるコードを含むかどうかの該可能性を判定することを更に含む、システム。
2. 該システムは、
ネットワークに結合されているネットワークインターフェースを更に含み、該受信するアクションは、該ネットワークインターフェースを介して発生する、条項1に記載のシステム。
3. 該文書ファイルは、Microsoft Office文書である、条項1に記載のシステム。
4. 該文書ファイルは、Microsoft Word文書、Microsoft Excel文書、又はMicrosoft Power Point文書のうちの1つである、条項1に記載のシステム。
5. 該文書ファイルは、ワードプロセッシング文書、スプレッドシート文書、又はプレゼンテーション文書のうちの1つである、条項1に記載のシステム。
6. 該埋め込みアイテムは、1つ以上のマクロ及び/又は1つ以上のOLEオブジェクトのうちの少なくとも1つを含む、条項1に記載のシステム。
7. 該マクロは、VBAマクロを含む、条項6に記載のシステム。
8. 該難読化スコアリング特徴は、マクロ関連特徴を含み、該特徴は、CreateObject、Shell、FileSystem、URLDownloadToFile、CallByName、又はDetect Sandboxのうちの少なくとも1つの使用を含む、条項1に記載のシステム。
9. 該難読化スコアリング特徴は、オブジェクト関連特徴を含み、該オブジェクト関連特徴は、以下のVisual Basic For Applications (VBA) Object Linking and Embedding (OLE)特徴のうちの少なくとも1つの使用を含み、該特徴は、Shell、FileSystem、URLDownloadToFile、CallByName、又はDetect Sandboxのうちの少なくとも1つの使用を含む、条項1に記載のシステム。
10. 文書ファイル内の悪意のあるコードについて、該文書ファイルをサンドボックス内に隔離しながら、テストすることを更に含む、条項1に記載のシステム。
11. 文書ファイル内に埋め込まれた悪意のあるコードの存在の検出を提供するための方法であって、
1つ以上の埋め込みアイテムを含む文書ファイルを受信するアクションと、
該文書ファイルを解析して、該埋め込みアイテムのうちの少なくとも1つを抽出するアクションと、
該文書ファイルを処理して、該埋め込みアイテムのうちの該少なくとも1つが悪意のあるコードを含むかどうかの可能性を判定するアクションを含み、
該処理することは、該埋め込みアイテムのうちの該少なくとも1つから、
該埋め込みアイテムのうちの該少なくとも1つ内で難読化されている悪意のあるコードの既知のインスタンスを示す難読化スコアリング特徴を抽出することを含み、
該処理することは、該難読化スコアリング特徴を訓練済み機械学習モデルに入力して、
該文書ファイル内の該埋め込みアイテムのうちの該少なくとも1つが悪意のあるコードを含むかどうかの該可能性を判定することを更に含む、方法。
12. ネットワークインターフェースがネットワークに接続されており、該受信することは、該ネットワークインターフェースを介して発生する、条項11に記載の方法。
13. 該文書ファイルは、Microsoft Office文書である、条項11に記載の方法。
14. 該文書ファイルは、Microsoft Word文書、Microsoft Excel文書、又はMicrosoft Power Point文書のうちの1つである、条項11に記載の方法。
15. 該文書ファイルは、ワードプロセッシング文書、スプレッドシート文書、又はプレゼンテーション文書のうちの1つである、条項11に記載の方法。
16. 該埋め込みアイテムは、1つ以上のマクロ及び/又は1つ以上のOLEオブジェクトのうちの少なくとも1つを含む、条項11に記載の方法。
17. 該マクロは、VBAマクロを含む、条項16に記載の方法。
18. 該難読化スコアリング特徴は、マクロ関連特徴を含み、該特徴は、CreateObject、Shell、FileSystem、URLDownloadToFile、CallByName、又はDetect Sandboxのうちの少なくとも1つの使用を含む、条項11に記載の方法。
19. 該難読化スコアリング特徴は、オブジェクト関連特徴を含み、該オブジェクト関連特徴は、以下のVisual Basic For Applications (VBA) Object Linking and Embedding (OLE)特徴のうちの少なくとも1つの使用を含み、該特徴は、Shell、FileSystem、URLDownloadToFile、CallByName、又はDetect Sandboxのうちの少なくとも1つの使用を含む、条項11に記載の方法。
20. 文書ファイル内の悪意のあるコードについて、該文書ファイルをサンドボックス内に隔離しながら、テストすることを更に含む、条項11に記載の方法。
図1
図2
図3
図4
図5
図6
図7
【手続補正書】
【提出日】2023-09-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ネットワーク化されたシステムにおける入力文書を分類して、前記文書のうちの少なくとも1つが悪意のあるコードを有するマクロを含み得るかどうかを判定するための方法であって、
文書ファイルをネットワークセキュリティシステムに繰り返し受信するステップ
前記文書ファイルを解析してマクロデータを文書ペイロードデータから分離するステップ
前記文書ファイルについて、既知の難読化方法を使用してマクロに埋め込まれマルウェアの過去のインスタンスを示す少なくとも難読化特徴を生成するステップ
訓練済み機械学習モデルに前記難読化特徴を入力し、前記訓練済み機械学習モデルを適用して前記文書ファイルを処理し、悪意のあるマクロの存在を予測するステップ
マルウェア検出の精度を高くし、誤検出を排除するために並行して動作する二次マルウェア検出エンジンを使用するステップ
結果として生じる文書を、安全、疑わしい、又は悪意のあるものとして分類するステップ、及び
前記分類するステップに基づいて、安全な文書を前記ネットワーク化されたシステムに受け入れ、悪意のある文書を悪意のあるものとしてブロックし、脅威分析のために疑わしい文書を隔離するステップを含む、方法。
【請求項2】
前記難読化特徴は、埋め込みVBAマクロ特徴を説明する以下の特徴、
macro_is_present、
macro_autoexec、
macro_execute、
macro_execute_powershell、
macro_write、
macro_has_internet_download、
macro_has_registry_access、
macro_comment_lines、
macro_code_lines、
macro_has_hex_str、
macro_olestream_count、
macro_ole_passcode、
macro_detect_sandbox、
macro_detect_virtualization、
macro_run_shellcodeinmemory、
macro_disable_security、
macro_self_modification、
macro_num_stringops、
macro_num_textfunc、
macro_num_arithfunc、
macro_num_typeconvfunc、
macro_num_fincfunc、及び
macro_shannon_entropy、のうちの少なくとも5つを含む、請求項1に記載の方法。
【請求項3】
前記文書ファイルは、MS Office文書である、請求項1に記載の方法。
【請求項4】
前記文書ファイルは、Word文書、Excel文書、又はPowerPoint文書のうちの1つである、請求項3に記載の方法。
【請求項5】
前記難読化特徴は、以下のVBAマクロ特徴、
createobject、
shell、
filesystem、
urldownloadtofile、
callbyname、及び
detect sandbox、のうちの少なくとも2つを含むマクロ関連特徴である、請求項3に記載の方法。
【請求項6】
以下の文書特徴、
文書サイズ、
作成者情報、
文書のタイプ(Word/Excel/PPT)、
作成又は変更時刻及び改訂番号、
ページ数、
段落の数、
行数、及び
文字数、から導出された少なくとも2つの特徴を前記訓練済み機械学習モデルに入力することを更に含む、請求項3に記載の方法。
【請求項7】
前記脅威分析は、サンドボックスにおける前記文書ファイルを分離し、前記サンドボックスを使用して前記疑わしい文書における1つ以上のマクロをテストすることを含む、請求項1に記載の方法。
【請求項8】
前記悪意のあるマクロは、既知の悪意のあるデータ署名を含まない、請求項1に記載の方法。
【請求項9】
前記機械学習モデルは、特徴量エンジニアリングを通じた機械学習によって訓練された教師あり機械学習モデルであり、選択された特徴は、文書ファイルの大規模なサンプリングから導出されており、いくつかのサンプリングされた文書ファイルは、1つ以上の悪意のあるマクロを含み、いくつかのサンプリングされた文書ファイルは、少なくとも1つの悪意のないマクロを含む、請求項1に記載の方法。
【請求項10】
前記サンプル文書ファイルは、MS Officeファイルである、請求項9に記載の方法。
【請求項11】
ネットワークアナリストが、前記脅威分析の精度を高くするために前記分類するステップをレビューする、請求項1に記載の方法。
【請求項12】
office分類子が、文書ファイルを悪意として分類する、請求項1に記載の方法。
【国際調査報告】