JP2023506168A - システム・イベントの自動意味論的モデリング - Google Patents
システム・イベントの自動意味論的モデリング Download PDFInfo
- Publication number
- JP2023506168A JP2023506168A JP2022535464A JP2022535464A JP2023506168A JP 2023506168 A JP2023506168 A JP 2023506168A JP 2022535464 A JP2022535464 A JP 2022535464A JP 2022535464 A JP2022535464 A JP 2022535464A JP 2023506168 A JP2023506168 A JP 2023506168A
- Authority
- JP
- Japan
- Prior art keywords
- events
- event
- system events
- model
- semantic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 87
- 238000012549 training Methods 0.000 claims abstract description 15
- 239000000284 extract Substances 0.000 claims abstract description 9
- 206010000117 Abnormal behaviour Diseases 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 44
- 238000004590 computer program Methods 0.000 claims description 9
- 238000007619 statistical method Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 abstract description 29
- 238000010801 machine learning Methods 0.000 abstract description 14
- 230000003542 behavioural effect Effects 0.000 abstract description 2
- 238000005457 optimization Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 38
- 238000013459 approach Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 23
- 230000006399 behavior Effects 0.000 description 22
- 230000015654 memory Effects 0.000 description 20
- 239000013598 vector Substances 0.000 description 20
- 230000002085 persistent effect Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 239000003795 chemical substances by application Substances 0.000 description 9
- 239000000047 product Substances 0.000 description 9
- 230000009471 action Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000002265 prevention Effects 0.000 description 5
- 238000000513 principal component analysis Methods 0.000 description 5
- 239000000344 soap Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000002155 anti-virotic effect Effects 0.000 description 3
- 230000001149 cognitive effect Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 238000011835 investigation Methods 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 239000013065 commercial product Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/567—Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Medical Informatics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Mathematics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Debugging And Monitoring (AREA)
Abstract
実行環境における異常挙動を検出する方法が開示される。監視されるコンピューティング・システムから取り込まれたシステム・イベントのセットが受信される。受信したシステム・イベントを用いて、モデルが機械学習を用いてトレーニングされる。モデルは、受信されたシステム・イベントのセットに対して1または複数の特徴を自動的に抽出するためにトレーニングされ、ここで、システム・イベントの特徴が、意味論的解析によって決定され、観測サンプルにおいて共起することが観測されたシステム・イベントのグループ間またはグループの中の意味論的関係を表す。観測サンプルが、実行環境において起こった動作シナリオと関連付けられる。一度トレーニングされると、また、特徴を用いると、モデルは、異常挙動を検出するために用いられる。最適化として、トレーニングの前に、システム・イベントのセットが、システム・イベントの削減セットに事前処理される。モデラーは、マルウェア検出システムのコンポーネントを含む。
Description
本開示は、一般に、コンピュータ・ネットワーク・セキュリティに関し、より詳細には、マルウェアを特徴づけるための挙動ベースの技術に関する。
侵入および異常検出の製品、システムおよびサービスは、良く知られている。実際、侵入検出方法およびアンチウイルス・ソリューションが、数十年前に導入された。従来型のホストベースおよびネットワークベースの攻撃/侵入検出製品の大部分は、静的なシグネチャ・マッチングのアプローチを利用する。例えば、従来型のアンチウイルス、ファイアウォール、侵入検出システム(IDS)などは、攻撃を識別するために、実在のバイナリまたはネットワーク通信シグネチャに依拠する。検出手順は、典型的には、(i)攻撃発見、(ii)シグネチャ選択、(iii)シグネチャ配布および(iv)エンドポイント・シグネチャ・マッチングを含む。
新しいクラスの検出メカニズムは、より多くの知的な能力をエンドポイントに移植することを試みる。しかしながら、これらのメカニズムは、典型的には、単一プロセス検出に焦点を当てる。プログラム異常検出に関する文献、並びに、最先端の市販のエンドポイント侵入検出製品からもわかるように、プロセス内挙動モデリングおよび検出もまたよく知られている。これらのメカニズムは、基本的に、システム・イベント、例えば、各プロセスのシステムコールもしくはWindows APIまたはその両方を監視し、その挙動モデルに基づいて、そのプロセスが悪意のあるものであるか否かを判定する。この種のソリューションは、プロセスを横断してステルスに攻撃が実施される場合、または、攻撃者が攻撃の目標を達成するために無害なプロセスを利用する場合に、無効化される可能性がある。
現代のコンピューティング・プラットフォームが、典型的には、ブラックボックスとして動作するので、マルウェアまたは侵入活動の詳細な挙動は通常は見えない。したがって、高度な挙動ベースのマルウェア検出システムを用いてさえ、不完全な観察が、攻撃を検出する能力、特に長時間持続する高度で継続的な脅威(APT)を検出する能力が大きく制限される可能性がある。特に、データフロー・グラフおよび制御フロー・グラフに基づくもののような一般的に使用される検出技術では、容易には観察することができない。むしろ、システムコールのトレースのみが監視され得る。
システムコールは、基礎となるプログラムの詳細な挙動を理解するには不十分であるが、攻撃者の活動および意図を高いレベルで明らかにすることができる。例えば、ディスク操作を、APIコールのトレースによって記録することができ、(例えば、rundll 32.exeに対する)書き込みは、悪意のあるコードがシステム・ファイルにインジェクションされることを示唆する。ディスク操作を除いて、他の挙動、例えば、遠隔サーバとの通信、レジストリ変更、プロセス生成などは、通常、システムコールを介して提示され、これらの挙動は、監視システムによって記録することができる。言い換えれば、典型的には、APIコールおよびシステム・イベントのレベルで攻撃を検出することが実際的であり、潜在的に重要である。
従来技術の研究では、マルウェアをモデル化する際に、特にマルウェア分類および回避マルウェア検出において、システム・イベントが有効であることが示されている。例えば、Mohasisen等は、マルウェアファミリーを分類するための特徴としてシステム・イベントのn-gramを使用することを説明する。ビッグデータの文脈では、しかしながら、最適化を行わないn-gramモデリングは、実際的ではない。別のアプローチでは、Mohasisen等は、特徴として、システム・イベントのカウントを使用するが、しかしながら、このアプローチでは、システム・イベントから詳細が除去され、この欠落した詳細が非常に有益であるため、不利となる。例えば、システムDLLは、異なるシナリオで使用され、単にDLLとしてモデル化することができない。Bayer等は、サンプルをシステム・イベントのセットとしてモデル化し、ジャッカード係数(Jaccard index)を用いて類似度が計算される。Gionis等は、ペアワイズな類似性を効率的に計算するために局所感受性ハッシュ化(LSH;Locality Sensitive Hashing)を使用することを説明するが、しかしながら、このアプローチでは、あらゆるシステム・イベントが独立であるとみなされ、類似度の測定に等しく寄与する。同様に、Lindorfer等は、サンプルをシステム・イベントのセットとしてモデル化し、彼らは、ジャッカード係数を距離メトリックとして使用することを説明する。この後者の研究では、異なる環境から監視されたシステム・イベントを比較することによって、回避型マルウェアが識別される。Kirat等は、イベントをツリー構造にマッピングすることによってシステム・イベントを比較することを説明しており、ここで、親ノードは、重要なコンポーネント(イベントの動作など)を捉え、子ノードは、より重要ではないコンポーネント(イベントの名称など)を表す。次いで、類似度メトリックが、階層によって決定される。しかしながら、このような階層構造は、システム・イベントの基礎となるアクティビティを捉えない。例えば、crypt32.dllをロードするプロセスは、リモートサーバから証明書失効リストを読み出す可能性が非常に高い。しかしながら、そのような関係性は、基礎となるイベントの動作タイプおよびイベントのオブジェクト名を調べることによって単純にはとらえることができない。Xu等においては、時間パターンに基づいて冗長なシステム・イベントが除去される。しかしながら、このアプローチは、時間依存性がない場合にはイベントの関係性を決定することができない。
したがって、好ましくは、検出プロセスに対してより有用な情報を公開するやり方でおよびレベルでシステム・イベントを評価することによって、マルウェア攻撃を検出することができる、挙動ベースのマルウェア検出システムおよび方法を提供する必要性が残されている。
本発明は、特許請求されるように、実行環境における異常挙動を検出するための方法、装置およびコンピュータ・プログラム製品を提供する。
開示される主題およびその利点をより完全に理解するために、以下の添付図面と共に以下の説明を参照する。
以下に説明するように、本明細書における技術は、挙動ベースのマルウェア検出を提供するための使用のためにシステム・イベントの意味論的モデルを導出する機械学習を利用する。典型的には、機械学習アルゴリズムおよび関連するメカニズムは、ソフトウェア、例えば、1または複数のコンピュータ・マシンにおいて実行する1または複数のコンピュータ・プログラムとして、実行する。背景技術として、以下、学習プロセスを実行するために、また、導出されたシステム・イベント・モデルを使用するために利用されてもよい、代表的なコンピュータ・マシンおよびシステムを説明する。いくつかの実行環境(図3~図5)もまた説明される。
図面、特に図1および図2を参照すると、データ処理環境の例示的な図が提供され、ここでは、本開示の例示的な実施形態が実装され得る。図1および図2は、例示のみであり、開示された主題の側面または実施形態が実装され得る環境に関する如何なる限定を主張または暗示することを意図するものではない。本発明の精神および範囲から逸脱することなく、図示した環境に対し多くの変更がなされてもよい。
以下、図面を参照すると、図1は、例示的な実施形態の側面が実装され得る例示的な分散データ処理システムの図的表現を示す。分散データ処理システム100は、例示的な実施形態の側面が実装され得るコンピュータのネットワークを含んでもよい。分散データ処理システム100は、少なくとも1つのネットワーク102を含み、少なくとも1つのネットワーク102は、分散データ処理システム100内で一緒に接続される種々のデバイスおよびコンピュータ間の通信リンクを提供するために使用される媒体である。ネットワーク102は、有線、無線通信リンクまたは光ファイバケーブルのような接続を含んでもよい。
図示された具体例では、サーバ104およびサーバ106は、ストレージ・ユニット108と共にネットワーク102に接続される。加えて、クライアント110,112,114もまたネットワーク102に接続される。これらのクライアント110,112,114は、例えば、パーソナル・コンピュータ、ネットワーク・コンピュータなどであってもよい。図示の具体例では、サーバ104は、ブート・ファイル、オペレーティング・システム・イメージおよびアプリケーションのようなデータをクライアント110,112,114に提供する。クライアント110,112,114は、図示された具体例において、サーバ104に対するクライアントである。分散データ処理システム100は、追加のサーバ、クライアントおよび図示しない他のデバイスを含んでもよい。
図示の具体例では、分散データ処理システム100は、互いに通信するために伝送制御プロトコル/インターネット・プロトコル(TCP/IP)スイートを使用するネットワークおよびゲートウェイの世界的なコレクションを表す、ネットワーク102を有するインターネットである。インターネットの核心は、データおよびメッセージをルーティングする、計り知れないほど多くの商業的、政府、教育および他のコンピュータ・システムからなる、主要ノードまたはホストコンピュータ間の高速データ通信回線のバックボーンである。もちろん、分散データ処理システム100は、例えばイントラネット、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)などの多数の異なるタイプのネットワークを含むように実装されてもよい。上述したように、図1は、開示される主題の異なる実施形態のためのアーキテクチャ上の限界としてではなく、一例として意図としており、したがって、図1に示された特定の要素は、本発明の例示的な実施形態が実施され得る環境に関する限定とみなされるべきではない。
図2を参照すると、例示的な実施形態の側面が実装され得る例示的なデータ処理システムのブロック図が示されている。データ処理システム200は、図1のクライアント110のようなコンピュータの一例であり、ここには、本開示の例示的な実施形態のためのプロセスを実装するコンピュータ使用可能なコードまたは命令が配置されてもよい。
ここで、図2を参照すると、例示的な実施形態が実施され得るデータ処理システムのブロック図が示される。データ処理システム200は、処理を実装するコンピュータ使用可能なプログラム・コードまたは命令が例示的な実施形態のために配置され得る、図1のサーバ104またはクライアント110のようなコンピュータの一例である。説明に役立つ実例では、データ処理システム200は、通信ファブリック202を含み、通信ファブリック202は、プロセッサ・ユニット204、メモリ206、永続性ストレージ208、通信ユニット210、入力/出力(I/O)ユニット212およびディスプレイ214の間の通信を提供する。
プロセッサ・ユニット204は、メモリ206内にロードされ得るソフトウェアのための命令を実行するように機能する。プロセッサ・ユニット204は、特定の実装に応じて、1または複数のプロセッサのセットであってもよいし、あるいは、マルチプロセッサ・コアであってもよい。さらに、プロセッサ・ユニット204は、単一のチップ上にメインプロセッサが二次プロセッサを搭載する1または複数のヘテロ・プロセッサ・システムを使用して実装されてもよい。別の説明に役立つ実例として、プロセッサ・ユニット204は、同一タイプの複数のプロセッサを含む対称マルチプロセッサ(SMP)システムであってもよい。
メモリ206および永続性ストレージ208は、ストレージ・デバイスの例である。ストレージ・デバイスは、一時的もしくは永続的またはその両方で情報を格納することが可能な任意のハードウェアである。メモリ206は、これらの例では、例えば、ランダム・アクセス・メモリまたは他の適切な揮発性または不揮発性のストレージ・デバイスであってもよい。永続性ストレージ208は、特定の実装に応じて種々の形態をとり得る。例えば、永続性ストレージ208は、1または複数のコンポーネントまたはデバイスを含んでもよい。例えば、永続性ストレージ208は、ハードドライブ、フラッシュ・メモリ、書き換え可能な光学ディスク、書き換え可能な磁気テープ、または上記の何らかの組み合わせであってもよい。永続性ストレージ208によって使用される媒体は、また、取り外し可能であってもよい。例えば、取り外し可能なハードドライブを永続性ストレージ208に使用してもよい。
通信ユニット210は、これらの例において、他のデータ処理システムまたはデバイスとの通信を提供する。これらの例では、通信ユニット210は、ネットワーク・インタフェース・カードである。通信ユニット210は、物理通信リンクまたは無線通信リンクのいずれかまたは両方を使用して通信を提供してもよい。
入力/出力ユニット212は、データ処理システム200に接続され得る他のデバイスとのデータの入力および出力を可能とする。例えば、入力/出力ユニット212は、キーボードおよびマウスを介したユーザ入力のための接続を提供してもよい。さらに、入力/出力ユニット212は、プリンタに出力するようにしてもよい。ディスプレイ214は、ユーザに情報を表示するためのメカニズムを提供する。
オペレーティング・システムおよびアプリケーションのための命令またはプログラムは、永続性ストレージ208上に配置される。これらの命令は、プロセッサ・ユニット204による実行のためにメモリ206にロードされてもよい。種々の実施形態のプロセスは、コンピュータ実装命令を使用してプロセッサ・ユニット204によって実行されてもよく、コンピュータ実装命令は、メモリ206のようなメモリ内に配置されてもよい。これらの命令は、プロセッサ・ユニット204内のプロセッサによって読み取られて実行され得る、プログラム・コード、コンピュータ使用可能なプログラム・コードまたはコンピュータ可読なプログラム・コードと参照される。種々の実施形態におけるプログラム・コードは、メモリ206または永続性ストレージ208のような、種々の物理的または有形のコンピュータ可読媒体上で具現化されてもよい。
プログラム・コード216は、選択的に取り外し可能であるコンピュータ可読媒体218上に関数形式で配置され、プロセッサ・ユニット204による実行のためにデータ処理システム200にロードまたは転送され得る。プログラム・コード216およびコンピュータ可読媒体218は、これらの例において、コンピュータ・プログラム製品220を形成する。一例では、コンピュータ可読媒体218は、例えば、光学ディスクまたは磁気ディスクのような有形の形態であってもよく、これらの光学ディスクまたは磁気ディスクは、ドライブ、または、永続性ストレージ208の一部であるハードドライブのような、ストレージ・デバイスへの転送のため永続性ストレージ208の一部である他のデバイスに挿入または配置される。有形の形態においては、コンピュータ可読媒体218は、また、データ処理システム200に接続された、ハードドライブ、サムドライブまたはフラッシュ・メモリのような永続性ストレージの形態をとることができる。コンピュータ可読媒体218の有形の形態は、コンピュータ記録可能なストレージ媒体とも参照される。いくつかの例では、コンピュータ可読媒体218は、取り外し可能でなくてもよい。
代替的に、プログラム・コード216は、コンピュータ可読媒体218から、通信ユニット210へ通信リンクを介して、もしくは入力/出力ユニット212への接続を介して、またはその両方を介して、データ処理システム200に転送されてもよい。通信リンクもしくは接続またはその両方は、説明に役立つ実例において、物理的または無線であってもよい。コンピュータ可読媒体は、また、プログラム・コードを包含する通信リンクまたは無線送信のような非有形媒体の形態をとってもよい。データ処理システム200に対して例示される異なるコンポーネントは、異なる実施形態が実装され得るやり方にアーキテクチャ上の限定を提供することを意味しない。異なる例示的な実施形態は、データ処理システム200について例示されたものに加えた、またはそれを代替したコンポーネントを含むデータ処理システムにおいて実装されてもよい。図2に示された他のコンポーネントは、図示された説明に役立つ実例から変更されてもよい。一例として、データ処理システム200内のストレージ・デバイスは、データを格納できる任意のハードウェア装置である。メモリ206、永続性ストレージ208およびコンピュータ可読媒体218は、有形の形態のストレージ・デバイスの例である。
別の例では、バス・システムが、通信ファブリック202を実装するために使用されてもよく、システム・バスまたは入力/出力バスのような1または複数のバスから構成されてもよい。もちろん、バス・システムは、バス・システムに取り付けられる異なるコンポーネントまたはデバイス間のデータの転送を提供する、任意の適切なタイプのアーキテクチャを使用して実装されてもよい。加えて、通信ユニットは、モデムまたはネットワーク・アダプタのような、データを送信および受信するために使用される1または複数のデバイスを含んでもよい。さらに、メモリは、例えば、メモリ206であってもよいし、または、通信ファブリック202に存在し得るインタフェースおよびメモリ・コントローラ・ハブにおいて見られるようなキャッシュであってもよい。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、1または複数のプログラミング言語の任意の組み合わせで書かれてよく、1または複数のプログラミング言語は、Java(登録商標)、Smalltalk(登録商標)、C++などのオブジェクト指向言語、C言語または類似のプログラミング言語などの従来型の手続型言語を含む。プログラム・コードは、スタンド・アローンのソフトウェア・パッケージとして、全体としてユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上かつ部分的に遠隔のコンピュータ上で、または、完全に遠隔のコンピュータまたはサーバ上で実行されてもよい。後者のシナリオでは、遠隔のコンピュータは、ユーザのコンピュータに、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通じて接続されてもよく、あるいは接続は、(例えば、インターネット・サービス・プロバイダを用いてインターネットを通じて)外部コンピュータになされてもよい。
当業者であれば、図1および図2のハードウェアが実装に応じて様々であり得ることを理解するであろう。図1および図2に示すハードウェアに加えて、またはその代わりに、フラッシュ・メモリ、同等な不揮発性メモリ、または光学ディスクドライブなどの他の内部ハードウェアまたは周辺デバイスが使用されてもよい。また、例示的な実施形態の処理は、開示された主題の精神および範囲から逸脱することなく、上述したSMPシステム以外のマルチプロセッサ・データ処理システムに対して適用することができる。
以下に示すように、本明細書に記載される技術は、クライアント・マシンが、1または複数のマシンのセット上で稼働するインターネットアクセス可能なウェブ・ベースのポータルと通信する、図1に示されるような標準的なクライアント-サーバ・パラダイム内で動作することができる。エンドユーザは、ポータルとアクセスし、やり取りすることが可能なインターネット接続可能デバイス(例えば、デスクトップ・コンピュータ、ノートブック・コンピュータ、インターネット有効化されたモバイル・デバイスなど)を操作する。典型的には、各クライアントまたはサーバ・マシンは、ハードウェアおよびソフトウェアを含む、図2に示されるようなデータ処理システムであり、これらのエンティティは、インターネット、イントラネット、エクストラネット、プライベート・ネットワークまたは任意の他の通信媒体またはリンクなどのネットワーク越しに、互いに通信する。データ処理システムは、典型的には、1または複数のプロセッサと、オペレーティング・システムと、1または複数のアプリケーションと、1または複数のユーティリティとを含む。データ処理システム上のアプリケーションは、中でも、これらに限定するものではないが、HTTP、SOAP、XML、WSDL、UDDIおよびWSFLに対するサポートを含む、ウェブ・サービスに対するネイティブなサポートを提供する。SOAP、WSDL、UDDIおよびWSFLに関する情報は、これらの規格の開発および維持を担当するワールド・ワイド・ウェブ・コンソーシアム(W3C)から入手可能であり、HTTP、FTP、SMTPおよびXMLに関するさらなる情報は、インターネット・エンジニアリング・タスク・フォース(IETF)から利用可能である。これらの既知の規格およびプロトコルに精通していることが仮定される。
上記のようなコンピューティング・マシンは、機械学習を提供することができる。よく知られているように、機械学習は、データから反復的に学習する分析モデルおよびアルゴリズムを使用することを含み、よって、これは、コンピュータが、どこを見るべきかが明示的にプログラムされることなく、データ中から洞察を見つけ出すことを可能にする。機械学習は、教師ありであっても、または、教師なしであってもよい。教師あり機械学習は、トレーニング例を使用することを含み、トレーニング例によってマシンが所与のタスクをどのように実行するかを学習することができる。対照的に、教師なし機械学習は、ラベル無しデータ・オブジェクトを提供することを含み、ラベル無しデータ・オブジェクトは、マシンが次いでデータの編成を決定するために処理するものである。1つの良く知られたタイプの教師なし機械学習は、クラスタリングであり、このクラスタリングは、観察のセットを「クラスタ」と呼ばれるサブセットに、クラスタ内の観察が一定の類似度を有するように割り当てる概念を参照する。クラスタリングに対する一般的なアプローチは、k-meansクラスタリングであり、これは、典型的には、データおよび対応するクラスタの重心の間の距離の二乗和を最小にすることによって、属性または特徴に基づいてオブジェクトをk個のグループに分類またはグループ化するアルゴリズムである。クラスタリングを用いた教師なし機械学習は、データを分類する方法を提供する。他のクラスタリング・アルゴリズムがよく知られている。
インシデント・フォレンジックを用いたセキュリティ・インテリジェンス・プラットフォーム
本開示の技術が実現され得る代表的なセキュリティ・インテリジェンス・プラットフォームが、図3に示される。
本開示の技術が実現され得る代表的なセキュリティ・インテリジェンス・プラットフォームが、図3に示される。
一般に、プラットフォームは、セキュリティ・インシデント調査を支援するために、検索駆動型のデータ探索(search-driven data exploration)、セッション再構築(session reconstruction)およびフォレンジック・インテリジェンス(forensics intelligence)を提供する。関連のある部分においては、プラットフォーム300は、パケット・キャプチャ・アプライアンス302のセットと、インシデント・フォレンジック・モジュール・アプライアンス304と、分散データベース306と、セキュリティ・インテリジェンス・コンソール308とを含む。パケット・キャプチャおよびモジュール・アプライアンスは、ネットワーク・アプライアンスとして構成されてもよいし、または、仮想アプライアンスとして構成されてもよい。パケット・キャプチャ・アプライアンス302は、(既知のパケット・キャプチャ(pcap)アプリケーション・プログラミング・インタフェース(API)または他の既知の技術を使用して)ネットワークからパケットをキャプチャし、そのようなデータ(例えば、リアルタイム・ログ・イベントおよびネットワーク・フロー)を分散データベース306に提供するように作動し、ここで、データは、格納され、フォレンジック・モジュール304およびセキュリティ・インテリジェンス・コンソール308による分析のために利用可能となる。パケット・キャプチャ・アプライアンスは、セッション指向の仕方で動作し、フロー内の全てのパケットをキャプチャし、メタデータおよびペイロードを索引付けし、高速な検索駆動型データ探索を可能にする。データベース306は、パケット・キャプチャ・アプライアンスによって収集される情報を含む、分散された異種データ・セットであるフォレンジック・リポジトリを提供する。コンソール308は、調査者によるインシデント調査ワークフローを容易にするためにフォレンジック・ダッシュボードのタブを公開する、ウェブ・アクセス可能またはクラウド・アクセス可能なユーザ・インタフェース(UI)を提供する。調査者は、ダッシュボードを使用して、セキュリティ・インシデントを選択する。インシデント・フォレンジック・モジュール304は、選択されたセキュリティ・インシデントに関する全てのパケット(メタデータ、ペイロードなどを含む)を読み出し、分析のためにセッションを再構築する。この種のインシデント調査ワークフローを実現する代表的な市版品は、IBM(登録商標)Security QRadar(登録商標)Incident Forensics V7.2.3(またはそれ以上)である。調査者は、このプラットフォームを使用して、データベースに格納された分散された異種データ・セットを横断して検索し、統一された検索結果リストを受信する。検索結果は、グリッド状にマージされてもよく、それらは、「デジタル・インプレッション」ツールで、ユーザがアイデンティティ間の関係を探索することができるように可視化され得る。
典型的には、上述のシステムで使用されるアプライアンスは、ネットワーク接続されたディスプレイなしのデバイスとして実装される。例えば、従来型のミドルウェア・サービス指向アーキテクチャ(SOA)機能を実行することを目的として構築されたアプライアンスが、あるコンピュータ環境で普及している。SOAミドルウェア・アプライアンスは、既存のSOAインフラストラクチャを、企業を横断して拡張しながら、XMLサービスおよびウェブ・サービスのデプロイメントを簡素化し、セキュアにすることを支援し、または促進することができる。ミドルウェア用のハードウェアおよび軽量ミドルウェア・スタックの利用により、従来のソフトウェア・ソリューションによって経験される性能上の負担に対処することができる。加えて、アプライアンスのフォームファクタは、ミドルウェアSOA機能を実現するためのセキュアな消耗パッケージングを提供する。これらの種のデバイスが提供する1つの特有の利点は、バック・エンド・システムから処理をオフロードすることである。この種のネットワーク・アプライアンスは、典型的には、ラック・マウント型のデバイスである。デバイスは、アプライアンスを機微な情報のための安全な保管庫として機能させることを可能にする物理的なセキュリティを含む。典型的には、アプライアンスは、製造され、ソフトウェアが事前に搭載され、その後、企業または他のネットワーク動作環境内にまたは関連してデプロイされ、代替的に、ボックスが、ローカルに配置され、次いで、例えば、プライベートまたはオンプレミスのクラウド・コンピューティング環境内で、安全にデプロイされ管理することができる標準的なまたはカスタマイズされたミドルウェア仮想イメージとともに提供されてもよい。アプライアンスは、場合によってはハード・ディスク上のデータを暗号化するためのハードウェアおよびファームウェア暗号化サポートを含んでもよい。
この種のアプライアンスは、セキュリティ情報イベント管理(SIEM:Security Information Event Management)を容易にすることができる。例えば、上述したIBM(登録商標)Security QRadar(登録商標)SIEMは、この種のアプライアンスとして構成することができるパケット・データ・キャプチャ・アプライアンスを含む、エンタープライズ・ソリューションである。そのようなデバイスは、例えば、リアルタイムのレイヤ4のネットワーク・フロー・データをキャプチャするように作動し、それらのデータから、例えばディープ・パケット・インスペクションおよびその他の技術を使用して、レイヤ7のアプリケーション・ペイロードが分析されてもよい。これは、フロー・ベースのネットワーク知識、セキュリティ・イベント相関関係およびアセット・ベースの脆弱性評価の組み合わせを使用して、状況認識およびコンプライアンス支援を提供する。基本のQRadar SIEMのインストールでは、図4に示されているようなシステムが、イベントおよびフローのデータを収集し、レポートを生成するように構成される。ユーザ(例えば、SOC分析者)は、違反を調査して、ネットワークの問題の根本的原因を決定することができる。
一般化すると、セキュリティ情報イベント管理(SIEM)ツールは、ITセキュリティ・イベントおよび脆弱性に関する分析、管理、監視および報告を行うための各種サービスを提供する。そのようなサービスには、典型的には、データ・ネットワークを横断した監視されたアクセスおよび予期しない出来事に関するイベントの収集と、相関関係にあるコンテキストにおけるこれらを分析して、プロファイルされたより高次のセキュリティ・イベントへのこれらの寄与を判定することを含む。これらは、また、ファイアウォール構成の分析と、有効な攻撃経路および高リスク資産を識別するために現在および潜在的なネットワーク・トラフィック・パターン、ネットワーク構成でのアセット脆弱性の相関関係およびトラフィックを閲覧するためのネットワーク・トポロジーおよび接続可視化ツール、ネットワーク・トラフィック、トポロジーおよび脆弱性の露出のポリシー・コンプライアンス監視のサポートを含む。いくつかのSIEMツールは、共通ネットワーク情報モデルを介して処理されたデバイス構成の変形分析に基づいて、ルータ、ファイアウォールおよびスイッチなどの管理ネットワーク・デバイスのトポロジーを構築する能力を有する。結果は、セキュリティ脅威のシミュレーション、ファイアウォール・フィルタの動作分析およびその他の応用に使用できる、配置組織(locational organization)である。主要なデバイス基準は、しかしながら、完全にネットワークベースおよびネットワーク構成ベースである。管理アセット/システムのための発見能力を起動する多くの方法が存在し、また、ユーザ・インタフェース内の内容が半自動的に管理される(すなわち、トポロジーを用いた半自動化された人間による入力ベースの配置およびその表示およびフォーマット化が、基礎となるネットワークにおける初期構成および変更/削除の両方の発見に基づいてデータ駆動となること可能とする、ユーザ・インタフェースを介したアプローチ)一方で、完全に自動化された配置分析および提案を生成する配置分析に関しては何も提供されていない。
高度で継続的な脅威(APT)の防止
APTの緩和および防止技術はよく知られている。例えば、IBM(登録商標)Trusteer Apex(登録商標)は、エクスプロイトおよびマルウェアが、企業のエンドポイントを危殆化し、情報を抽出するのを防止する、自動化されたソリューションである。この種のソリューションは、典型的には、いくつかの層のセキュリティ、すなわち、エクスプロイト防止(exploit prevention)、データ・エクスフィルトレーション防止(data exfiltration prevention)およびクレデンシャル保護(credentials protection)を提供する。
APTの緩和および防止技術はよく知られている。例えば、IBM(登録商標)Trusteer Apex(登録商標)は、エクスプロイトおよびマルウェアが、企業のエンドポイントを危殆化し、情報を抽出するのを防止する、自動化されたソリューションである。この種のソリューションは、典型的には、いくつかの層のセキュリティ、すなわち、エクスプロイト防止(exploit prevention)、データ・エクスフィルトレーション防止(data exfiltration prevention)およびクレデンシャル保護(credentials protection)を提供する。
図4は、典型的な実施形態を示し、ここでは、APTソリューションは、概して、企業エンドポイント402で実行されるエージェント・コード400として、ITセキュリティが中央制御位置からの(管理されたエンドポイントおよび管理されていないエンドポイントの両方の)デプロイメントを管理することを可能にするウェブ・ベースのコンソール404とともに、設計されている。エージェント・コード400は、アプリケーション406が機微な動作を実行した時点、例えば、ファイルをファイルシステムに書き込んだ時点のアプリケーションの状態を監視することによって動作する。概して、エージェント400は、正規のアプリケーション状態のホワイトリストを用いて、既知の正当な状態の下で機微な動作が実行されたことを検証する。エクスプロイトは、未知の(ホワイトリストされていない)状態の下で機微な動作を実行しようと試みることから、それは停止されるであろう。このアプローチにより、APTエージェントが、脅威またはエクスプロイトされた脆弱性に関する何かを知ることなく、既知のおよびゼロデイ・エクスプロイトの両方を正確に検出し、ブロックすることが可能となる。「エージェント」は、任意のコードベースのモジュール、プログラム、プロセス、コンポーネント、スレッドなどであってもよい。
図4は、APT攻撃が典型的にどのように展開されるか、APTソリューションがどの時点で侵入を停止するように作動するかを示す。例えば、ここでは、攻撃者408は、武器化されたドキュメント、つまり、隠されたエクスプロイト・コード412を包含するものを従業員に送信するためにスピア・フィッシング・メール410を使用する。ユーザが、Adobe AcrobatまたはWordなどのビューアを用いてドキュメントを開くと、エクスプロイト・コードが実行され、従業員コンピュータ402上にマルウェアを静かにダウンロードするためにアプリケーション脆弱性に取り付く。従業員は、このダウンロードに気づくことができない。別の選択肢は、ユーザに悪意のあるサイトへのリンク414に送信することである。それは、エクスプロイト・コードを含む悪意のあるウェブサイト416または(例えば、水飲み場型攻撃を通じて)危殆化された正当なウェブサイトである可能性がある。従業員がリンクをクリックし、ブラウザがHTMLコンテンツをレンダリングした場合、エクスプロイト・コードは、従業員コンピュータ上にマルウェアを静かにダウンロードするためにブラウザ(またはブラウザ・プラグイン)の脆弱性上で実行し、起動する。リンクは、また、ユーザが企業のクレデンシャルを提出することを信じさせるためのフィッシングサイト(フェイクのウェブ・アプリケーションのログインページ)418にユーザを案内する可能性がある。高度なマルウェアをコンピュータ402に感染させた後、または、企業のクレデンシャルを危殆化した後、攻撃者408は、企業ネットワーク内で拠点を確立し、その後、攻撃を進める可能性がある。
図示されているように、エージェント400は、いくつかの接合点、(1)エクスプロイト試行がユーザコンピュータを危殆化するのを防止するエクスプロイト防止420、(2)マシンが既にマルウェアに感染した場合に、マルウェアが攻撃者と通信して情報を送出するのを防止するエクスフィルトレーション防止422、(3)未承認の企業サイト(例えば、フィッシングまたはソーシャル・ネットワークまたEコマースのような公共のサイトを含む)上で企業クレデンシャルを使用者が使用しないようにするクレデンシャル保護424で、このような脅威から企業を保護する。既知の一つのアプローチでは、エージェントは、正当なアプリケーション状態のホワイトリストを使用して、アプリケーションおよびその動作を監視することによって、これらのおよび関連する動作を実行する。
追加の背景として、情報盗用マルウェアは、エクスプロイトを要求することなく、エンドポイントに直接インストールされる可能性がある。データをエクスフィルトレーションするために、典型的には、マルウェアは、直接または危殆化されたアプリケーション・プロセスを介してインターネットと通信する必要がある。高度なマルウェアは、検出を回避するための少数の回避技術を使用する。例えば、それは、他の正当なアプリケーション・プロセスを危殆化し、(ForumsおよびGoogle Docsのような)正当なウェブサイト越しに攻撃者と通信する可能性がある。エージェント400は、また、データのエクスフィルトレーション状態を示す信頼されていないコードの実行を停止するように作動する。この目的のために、好ましくは、信頼されたプログラムのみがデータ・エクスフィルトレーション技術を用いて外部ネットワークと通信することを許可されていることを検証する。エージェントは、好ましくは、不正なエクスフィルトレーション状態および悪意のある通信チャネルを識別し、それらをブロックするためのいくつかの技術を使用する。それは、ホスト自身の上でのアクティビティを監視するので、良好な視認性を有し、これらのエクスフィルトレーション状態を正確に検出し、ブロックすることができる。
本明細書における特定の市販品への参照は、限定することを意図するものではなく、本明細書におけるアプローチは、APTソリューションまたは機能性(他のシステムに埋め込まれたとしても)を用いて実装されてもよい。
コグニティブ・サイバーセキュリティ分析
図5は、コグニティブ・サイバーセキュリティ・インテリジェンス・センタ500とエンドポイント502とを含む基本的な動作環境を示す。エンドポイント502は、インテリジェンス・センタ500によるエンドポイントの管理および監視を可能にするシステム管理コード(ソフトウェア)を実行するネットワーク・デバイスである。
図5は、コグニティブ・サイバーセキュリティ・インテリジェンス・センタ500とエンドポイント502とを含む基本的な動作環境を示す。エンドポイント502は、インテリジェンス・センタ500によるエンドポイントの管理および監視を可能にするシステム管理コード(ソフトウェア)を実行するネットワーク・デバイスである。
エンドポイントは、典型的には、図2において上述したようなデータ処理システムである。インテリジェンス・センタ500は、図3に示されるようなセキュリティ管理プラットフォームとして、図4に示されるようなAPTソリューションに関連して、または他の管理ソリューションにおいて実装されてもよい。よって、例えば、エンドポイント管理を提供する既知の市販品およびシステムは、IBM(登録商標)BigFix(登録商標)を含み、この製品は、遠隔制御、パッチ管理、ソフトウェア配布、オペレーティング・システムのデプロイメント、ネットワーク・アクセス保護およびハードウェアおよびソフトウェア・インベントリ機能をシステム管理者に提供する。この種の市販システムは、本開示書のエンドポイント・プロセス間アクティビティ抽出およびパターンマッチング技術を含むように拡張されてもよく、または、このような技術が、この目的のための専用の製品またはシステムにおいて実装されてもよい。
典型的な実施形態においては、エンドポイントは、Windows(登録商標)、Mac(登録商標)OS X(登録商標)、Vmware ESX(登録商標)、Linux(登録商標)、UNIX(登録商標)のようなオペレーティング・システムや、Windows(登録商標)Phone、Symbian(登録商標)、iOS、Android(登録商標)のような種々のモバイル・オペレーティング・システムを実行する物理または仮想マシンまたはデバイスである。サイバーセキュリティ・インテリジェンス・センタは、典型的には、複数のマシンおよびアプリケーション・ソフトウェアを含むネットワーク・アクセス可能なセキュリティ管理プラットフォームとして動作する。典型的には、インテリジェンス・センタは、例えば、機械学習などを用いたサイバーセキュリティ分析をサポートする。インテリジェンス・センタは、複数のエンドポイントをサポートするための専用の方法で動作してもよく、または、複数の企業に代替してそれぞれが自身のエンドポイントを有する「サービスとして(as-a-service)」動作してもよい。典型的には、エンドポイント・マシンは、図1に図示するように、また上述したように、クライアント-サーバのパラダイムでインテリジェンス・センタと通信する。インテリジェンス・センタは、クラウドベースの動作環境において配置され、アクセスされてもよい。
このアプローチにおいては、プロセス間イベントなどのイベントは、エンドポイント502などのエンドポイントからインテリジェンス・センタ500内で実行している検知サーバに送信され、そこで、このようなイベントが分析される。好ましくは、検出サーバにおいて攻撃検出が生じる。このアプローチは、効率的で(単なるアドホックとは反対に)系統的なメカニズムを提供し、例えばプロセス間イベントを介して、エンドポイント・アクティビティを記録し、抽象化(ネットワーク・グラフ)をもって関心のある悪意のあるまたは不審な挙動を記述し、抽象化パターンを(記録されたイベントにおいて表される通りの)具体的なアクティビティに当てはめる。このマッチングにより、システムが、(例えば、関与するプロセスを停止し、アラートを出し、進行中のネットワーク・セッションを削除し、進行中のディスク操作を停止するなどによって)悪意のある/不審な挙動に作用することが可能になるとともに、セキュリティ分析者が関心のあるアクティビティを突き止める(例えば、脅威ハンティング(threat hunting))のを支援し、または、不審なまたは悪意のあるアクティビティに対処するためにワークフローに実装する次のステップを決定することが可能になる。
システム・イベントの自動意味論的モデリング
以上を背景として、本開示のシステム・イベント・モデリング技術および挙動ベースの異常検出のためのその使用について説明する。
以上を背景として、本開示のシステム・イベント・モデリング技術および挙動ベースの異常検出のためのその使用について説明する。
本開示の技術が、監視されたコンピューティング・システム601に関して実現される、挙動ベースのマルウェア検出システム600が図6に示される。監視されているコンピューティング・システム605は、図2に関連して上述したように実装されてもよく、(ランタイム)プロセス603のセットを実行することを含むものと仮定される。システム・イベント、例えば、各プロセス603のシステムコールおよびAPIコールが、継続的に監視され、例えばデータストア607に記録される。システム・イベントが監視され、識別され、また格納される特定の仕方は、本開示の側面ではない。典型的な実装においては、この種のシステム・アクティビティは、例えばオペレーティング・システムによって、またはsyscallモニタリングおよびプログラム・インストルメンテーションを介してログされる。本開示のマルウェア検出システム600は、例えば図3、図4または図5など、上述したオペレーティング・システム環境のいずれかにおいて実行するように構成される。マルウェア検出システム600の1または複数のコンポーネントは、クラウドベースのアーキテクチャで実行されてもよい。変形例の実装においては、マルウェア検出システムは、システム・イベントが監視されるそのコンピューティング・システムにおいてネイティブに実装されてもよい。
図6にも示されているように、本開示のシステム・イベント・モデラーの代表的な処理パイプラインは、(1)イベント・ノーマライザ602、(2)イベント特徴抽出器604および(3)プロセス・エンコーダ606の3つの図示したモジュールを含む。典型的には、そのようなモジュールの各々は、ソフトウェアとして、すなわち、コンピュータ・プログラム命令のセットとして実装され、1または複数のハードウェア・プロセッサにおいて実行される。これらのモジュールは、別のものと統合されてもよいし、共同で配置されてもよいし、分散されてもよいし、1または複数のコンピューティング・エンティティにおいて他の方法で実装されてもよい。これらの機能のうちの1または複数がクラウドにおいて実現されてもよい。
動作において、イベント・ノーマライザ602は、データストア607(例えば、システム・イベント・ログを格納するデータベース)に収集された生のシステム・イベントをスキャンする。イベント・ノーマライザ602は、例えばドメイン知識608、および、ディレクトリ階層610のような統計的方法を使用して、その名称が示すように、イベント名を正規化する。この動作は、残りのモジュールによって処理されるべき固有のシステム・イベントの数を削減するので、有利である。動作において、イベント・ノーマライザは、これらのシングルトンの(singleton;1つしかない)イベントの数を大幅に減少させ、それによって、計算およびストレージ上の効率を提供する。以下でより詳細に説明するように、イベント特徴抽出器604は、好ましくはイベント共起ストラテジを使用して、また、コンテキスト・ベースのイベント・モデリングを実行することによって、システム・イベントの1または複数の特徴を抽出する。プロセス・エンコーダ606は、(複数のシステム・イベントからなる)プロセス603を特徴ベクトル空間に投影する。システム・イベント・モデラーの出力は、意味論的システム・イベント・モデル616である。図示のように、モデルは、マルウェア検出器618によって取り込まれ、このマルウェア検出器618は、挙動ベースのマルウェア検出を提供するように作動する。
上記システム・イベント・モデラーのモジュールの各々について、以下、さらに詳細に説明する。
上述したように、イベント・ノーマライザ・プロセス602の基本的な目的は、イベントのバリエーションを削減することである。ノーマライザ602は、ドメイン知識608および統計的分析610を介して、生のシステム・イベントを処理し、システム・イベントのデータセットを削減する。好ましくは、ドメイン知識および統計的分析の両方がモジュールによって使用されるが、これは要件ではない。この動作は、Windows OSからのシステム・イベントのサンプルを利用する、以下の例においてみられる。これは、単に代表的なユースケースであり、限定することを意図するものではない。Windowsにおいては、ファイルまたはレジストリが、複数の異なる名前を有する可能性があり、この例は、ドメイン知識608を適用することによってイベント名の不整合に対処することが有用なシナリオである。この例においては、ドメイン知識608は、以下のイベント名の正規化の詳細なルールを提供するものと仮定する:(1)SID、GUIDおよびハッシュを識別し、それを、例えば<SID>および<MD5>などのそのタイプで置き換える、(2)完全ディレクトリをその対応するシステム環境変数で置き換える、(3)普遍的な命名規約を識別する、例えば「\\?\C:\windows\system32\」を「C:\windows\system32」にリネームするなど、(4)「HKEY_CLASSES_ROOT」を「HKEY_LOCAL_MACHINE\Software\Classes」で置き換える、(5)URLからパスを除去し、リモートサーバについての完全修飾ドメイン名(FQDN)のみを保持する。ドメイン知識608を適用することに加えて、(この例において)イベント・ノーマライザは、1または複数の統計的方法610を適用し、イベント名称のバリエーションを削減する。従って、例えば、ここでは、イベント・ノーマライザ・プロセス602は、イベント名(すなわち、ファイル名およびレジストリ・キー)の発生をカウントするとともに、ディレクトリ階層における全ての親(ancestors)についてもカウントする。プロセスは、次いで、最小限の発生についてしきい値を設定(またはそのしきい値は事前構成されている)し、プロセスは、次いで、シングルトンのイベントを、要求を満たす最も近い親で置き換える。述べたように、これらは、WindowsOSのシステム・イベントのユースケースに対するイベント・ノーマライザの代表的な動作にすぎない。例えば、ドメイン知識608を使用することによって、Windowsオペレーティング・システムにおいて、「\\?\C:\windows\system32\」が、「C:\windows\system32\」と等価であることが知られている。統計的アプローチ610を用いて、例えば、システムは、レジストリ「hkey_current_user\software\microsoft\windows\currentversion\run」からアプリケーション名を除去するであろう。
一般化すると、イベント・ノーマライザ・プロセスによって適用されるドメイン知識および統計的方法は、典型的には、実装固有であり、生のシステム・イベントのデータセットを、後続の処理にとって管理可能なサイズに削減する、包括的で重要なゴールを有する。
イベント特徴抽出モジュール604は、好ましくはイベント共起を介して、(イベント・ノーマライザ602によって正規化された)システム・イベントの1または複数の特徴を抽出し、ここでは、トレーニングに際して、特定のイベントの共起から意味論が推論される。従って、例えば、構成ファイルの意味論は、ベクトル(「vim」)-ベクトル(「vimrc」)+ベクトル(「Bash」)=ベクトル(「Bashrc」)のように表現することができる。別の例として、receive‐n-save手続の意味論は、ベクトル(「nginx receiving data from an IP」)-ベクトル(「nginx writing to a file」)+ベクトル(「sendmail receiving data from an IP」)=ベクトル(「sendmail writing to a file」)のように表現することができる。もちろん、これらは単なる代表的な例である。
特徴抽出器は、イベントをベクトル空間に投影し、次いで、コンテキスト・ベースのイベント・モデリングを適用するように構成される。好ましくは、説明されるように、コンテキスト・ベースのイベント・モデリングは、word2vecにおけるSkip-gramモデルから導出され、これは、イベントは、それらが同一の観測サンプルに現れる場合に関連する、という洞察に基づいている。特徴抽出器は、好ましくは、以下に説明するように、目的確率誤差関数を実装する。
特に、N個のサンプルS={s1,s2,…,sN}があり、各サンプルが、システム・イベントの集合s={e},e∈Eを含み、ここでEは、全システム・イベントの集合であると仮定する。コスト関数Cは、次いで、図7に示されるように、すなわち、ターゲットのシステム・イベントeの、そのコンテキスト・イベントe’が所与の対数尤度の和として定義される。この式では、確率e|e’は、イベントの特徴によって決定される。ここで、feがイベントeの特徴であり、f’eがイベントeの補助荷重であるとする。確率は、次いで、図8に示すようにモデル化され、ここで、fe・fe’は、feおよびfe’の内積である。特徴および補助荷重は、好ましくは、例えば勾配降下法を使用してトレーニングされる。
上記のように、好ましくは、イベント特徴抽出器モジュールは、システム・イベントの特徴を抽出する。本明細書における好ましいアプローチによれば、このモデルは、自然言語処理においてMikolov等によって最初に提案されたSkip-gramモデルから導出される。知られているように、自然言語処理(NLP)は、テキストの構文解析および意味論的解釈であり、これは、システムが人間の言語を学習し、分析し、理解することを可能にする。テキスト表現は、ドキュメント分類およびクラスタリング、曖昧解消、機械翻訳およびドキュメント・マッチングのような多くの自然言語処理(NLP)タスクにおいて重要な役割を果たす。Mikolovアプローチにおいては、簡素なニューラル・ネットワーク・モデルとともに分布情報またはコンテキスト情報が、単語およびフレーズのベクトル空間表現を得るために使用される。これらのうちの1つは、word2Vecであり、これは、大きなテキスト・コーパスにおける単語を、類似の単語を互いに近接させるようなn次元空間(またはn次元特徴空間)のベクトルとして表現するモデルのクラスを参照する。ある特定のモデルは、Skip-gramモデルである。Skip-gramモデルは、ターゲットの単語(中心単語)が与えられると、ソースのコンテキスト単語(周辺の単語)を予測することを試みる。このモデルでは、コンテキスト単語は、スライディング・ウィンドウによって決定される。
本開示によれば、また、以下に説明するように、この概念は、システム・イベントの特徴を自動的に抽出するために拡張される。特に、本明細書で説明されるモデルでは、好ましくは、同一観測サンプル中の他の全てのイベントは、ターゲットのイベントの「コンテキスト」であるとみなされる。次いで、説明される技術は、好ましくは、各観測サンプルにおける潜在的なペアの全てを列挙し、それによって、関連する「コンテキスト」または意味論的意味(semantic meaning)を提供する。図8に示されている式においては、アルゴリズムが、ニューラル・ネットワーク・モデルをシミュレートするので、補助荷重f’が使用され、また、補助荷重は、ニューラル・ネットワークの出力層における荷重に対応する。
プロセス・エンコーダ・モジュール606は、複数のシステム・イベントからなるプロセスを特徴ベクトル空間に投影するように作動する。この目的のために、プロセス・エンコーダ・モジュール606は、特徴空間において距離閾値dt内の他の全てのイベントをカバーする代表的なイベントとして、1または複数の意味論的プロトタイプを定義する。典型的には、意味論的プロトタイプを発見するためのいくつかのソリューションがある。第1のソリューションは、意味論的プロトタイプ抽出器612として示され、以下のように進行する。各反復中、エンコーダは、プロトタイプとして1つのイベントepをランダムに取り上げ、eとe’との間の距離がdt未満の全てのイベントe’を除去する。イベントが残っている場合、ルーチンは、戻り、他のプロトタイプ・イベントを取り上げ、プロセスは、完了するまで反復される。第2のソリューションは、統計的特徴616として示され、代わりに階層的クラスタリングを使用して意味論的プロトタイプを決定し、クラスタ間の距離がdtより大きい場合にクラスタリング・アルゴリズムが停止される。前者のアプローチは、特徴空間の空間構造を保持するプロトタイプを効率的に識別するが、一方で、後者のアプローチは、最適かつ正確な意味論的プロトタイプを見つけることに焦点を当てている。意味論的プロトタイプを識別することにより、プロセス・エンコーダ606は、冗長なイベントを除去するが、イベント特徴空間の空間的関係性を依然として維持する。
冗長なイベントを除去した後、プロセス・エンコーダは、次いで、好ましくは、意味論的プロトタイプとプロセスのシステム・イベントとの間の類似性を測定することによって、観測可能なサンプルの特徴を決定する。形式的には、M個の意味論的プロトタイプEp={e1,e2,…eM}があり、ターゲット・サンプルが、L個のイベントEs={e’1,e’2,e’L}を有すると仮定する。Sim(e,e’)が、イベントeとe’との間のコサイン類似性であるとする。次いで、図9に示すように、サンプルの特徴ffのi番目の要素が計算される。好ましくは、プロセス・エンコーダは、統計的メトリックを粗視化(coarse-grained)特徴fcとして使用する。加えて、プロセス・エンコーダは、各動作についてのイベントのパーセンテージとともにトレーニング・セット内に存在しないまれなイベントの割合を計算する。この特徴は、未知の挙動を有するプログラムを捕捉するのに有用である。処理を完了するために、プログラムの特徴が、微細な(fine-grained)特徴ffおよび粗視化特徴fcの両方の連結として計算される。
図6を参照すると、システム・イベントの意味論的モデル616の自動生成が、同期的にまたは非同期的に、オンデマンドで、または発生に応答して、実行され、その意味論的モデルは、典型的には、定期的に、連続的に、または所与の発生時に更新される。上述したように、システム・イベントの意味論的モデル616は、次いで、挙動ベースのマルウェア検出器618において使用されて、コンピューティング・システムに対する前進型(go-forward)マルウェア検出を提供する。
そのシステム・イベントが記録され、モデル構築を容易にするために使用されたコンピューティング・システム以外のコンピューティング・システムに対してマルウェア検出を容易にするためにシステム・イベントの意味論的モデルが使用されてもよい。
本開示のシステム・イベント・モデリング技術は、システム・イベントの特徴を自動的に抽出するものであるが、重要な利点を有する。最初に、この技術は、これらのイベント間およびこれらのイベントの中の意味論的関係を捉える。トレーニングは、自動であり、ドメイン知識をほとんど必要としない。特に、上述したように、埋め込まれたイベント(複数可)の中での意味論的関係が、自動的に学習されるが、とは言え、学習をより効果的にするためには、生のデータがモデルのトレーニング・フェーズに供給される前に事前処理ステップ(すなわち、イベント・ノーマライザ)が存在することが好ましい。必要なドメイン知識は、ノーマライゼーション機能を実現するのに必要なものだけである。
加えて、トレーニング・アルゴリズムは、特に大きなデータセット(ビッグデータ)の文脈において計算効率的であり、これは、膨大かつスパースなデータセットでさえも処理するのに適している。上述したように、本開示の技術は、イベントの特徴は、それらが頻繁に同一の観測可能なサンプルに出現する場合、ベクトル空間において近接するはずであるという考え方を利用する。2つのイベントが同一のシナリオで発生する可能性が高い場合(例えば、ネットワーク接続をチェックする、アンチ・ウイルス・サービスを停止するなど)、それらは特徴空間において近接する。述べたように、このモデルは、システム・イベント間またはシステム・イベントの中の共起の確率を再構成することができ、ここで、その確率は、システム・イベントの特徴によって決定される。この仮定に起因して、特徴は、同一シナリオに現れる可能性が高いシステム・イベントおよびグループ・イベントの中の意味論的な関係性を捉える。意味論的関係を見つけるための代替のアプローチである主成分分析(PCA)は、計算上の複雑さおよび人間の直感を理由としてこれらの要件を満たさない。PCAは、特に観測数と特徴次元の両方が大きい場合に、計算コストが高い。ここで、システム・イベントを二値の特徴として検討すると、特徴ベクトルは、かなりスパースであり、したがって、PCAは、良好な性能を有さない。さらに、PCAからの結果は、人間の分析者にとって直感的に理解できるものではない。次元削減後の新しい特徴ベクトルは、元の特徴の線形結合であり、これは、意味論的意味を欠いており、人間による解釈は容易ではない。
システム・イベント・モデリングのための技術は、マルウェアを分類および検出するために使用される1または複数の特徴を自動的に抽出するために実装される。上述したように、本明細書におけるアプローチは、意味論的モデルを構築することを含み、この意味論的モデルは、エンティティのモデリング、このケースではシステム・イベントおよびこれらの関係性のモデリンをサポートする情報モデルの一種である。説明されたモデルは、イベントの中の意味論的関係を捉える。さらに、モデルのトレーニングは、自動であり、ドメイン知識をほとんど必要とせず、アプローチ(好ましくはトレーニング前の事前処理を含む)は効率的である。
また述べたように、本明細書における技術は、好ましくは、自然言語処理におけるword2VecにおけるSkip-gramモデルに類似した方法論を応用する。このモデルにおいては、コンテキスト単語がスライディング・ウィンドウによって決定される。イベント・モデラーは、ここでは、単語ではなくイベントを取り扱う。本明細書で説明されるモデルにおいては、同一の観測可能なサンプルにけるすべての他のイベントが、ターゲットのイベントのコンテキストであると見なされる。次いで、説明された技術は、好ましくは、各観測サンプル内の潜在的なペアの全てを列挙する。このアプローチは、トレーニング・セットを理論上増加させるが、イベントのスパース性は、実際のペアの列挙数が計算効率に影響を与えないことを保証する。
述べたように、説明される技術の重要な仮定は、イベントの特徴は、それらが頻繁に同一サンプルに現れる場合にはベクトル空間において近接するべきであるということである。上記のようにトレーニングされると、モデルは、システム・イベント間またはイベントの中の共起確率を再構築する能力を有し、ここでは、確率は、システム・イベントの特徴によって決定される。この仮定に起因して、特徴は、同一のシナリオに現れる可能性が高いシステム・イベントおよびグループ・イベントの中の意味論的関係(複数可)を捉える。
また、述べたように、本技術は、好ましくは、Skip-gramとして知られている、ニューラル・ネットワーク由来の概念を利用し、ここで、同一サンプル中の他のイベントは、ターゲットのイベントのコンテキストであると見なされる。モデルを構築するために、各観測サンプル中の潜在的なペアの全てが列挙される。モデルにおいては、システム・イベントのセットおよびターゲット・システム・イベントを含むサンプルが与えられると、サンプル中の他のイベントが、ターゲットイベントの「コンテキスト」であるとみなされ、全ての潜在的なシステム・イベントのペアが列挙される。
また、説明されたように、モデルをトレーニングする前に、好ましくは、シングルトンのイベントの数を削減するためにドメイン知識および統計ベースの技術の両方が適用される。
本明細書における技術は、マシンが、意味論に関連してマシン・イベントを自動的に理解することを可能にする。このアプローチは、好ましくは、高次元ベクトル処理を利用し、これは、より包括的であり、スパースなデータセットであっても、多数のイベントを効率的に処理する。
本明細書におけるアプローチは、図3のSEIMデバイスまたはシステム、図4に示すようなAPTプラットフォーム、図5におけるクラウドベースのサイバーセキュリティ分析システム、または、システム・イベントがキャプチャされ、マイニングおよび試験のために利用可能な他の実行環境のようなセキュリティ・システム内で、またはセキュリティ・システムに関連して、自動的に実装されるように設計される。上述したシステム・イベント・モデラー(またはその任意のコンポーネント)は、これらのデバイス、システムまたはプラットフォームのいずれかに常駐してもよい。イベント・モデラー技術が実施される特定の動作プラットフォームまたはコンピューティング環境は、しかしながら、限定ではない。機械学習自体は、機械学習プラットフォームまたはサービスを使用して、「サービスとして(as-a-service)」提供されてもよい。
代替的に、上述した機能性は、スタンド・アローンのアプローチ、例えば、プロセッサによって実行されるソフトウェアベースの機能として、実現されてもよく、あるいは、マネージド・サービス(SOAP/XMLインタフェースを介したウェブ・サービスとしてのものを含む)として利用可能とされてもよい。本明細書で説明される特定のハードウェアおよびソフトウェアの実装の詳細は、単に例示の目的のためのものであり、説明される主題の範囲を限定することを意味するものではない。
より一般的には、開示される主題の文脈内で、コンピューティング・デバイスは、それぞれ、(図2に示されるような)ハードウェアおよびソフトウェアを含むデータ処理システムであり、これらのエンティティは、インターネット、イントラネット、エクストラネット、プライベート・ネットワークまたは任意の他の通信媒体またはリンクのようなネットワークを介して、相互に通信する。データ処理システム上のアプリケーションは、中でも、限定されるものではないが、HTTP、FTP、SMTP、SOAP、XML、WSDL、UDDIおよびWSFLに対するサポートを含む、ウェブおよび他の既知のサービスおよびプロトコルに対するネイティブなサポートを提供する。SOAP、WSDL、UDDIおよびWSFLに関する情報は、これらの規格の開発および維持を担当するワールド・ワイド・ウェブ・コンソーシアム(W3C)から入手可能であり、HTTP、FTP、SMTPおよびXMLに関するさらなる情報は、インターネット・エンジニアリング・タスク・フォース(IETF)から利用可能である。これらの既知の規格およびプロトコルに精通していることが仮定される。
本明細書で説明されるスキームは、単純なN層アーキテクチャ、ウェブ・ポータル、フェデレーションされたシステムなどを含む種々のサーバ・サイドのアーキテクチャにおいて、またはそれと組み合わせて実装されてもよい。本明細書における技術は、疎に結合されたサーバ(「クラウドベースの」ものを含む)環境で実践されてもよい。
またより一般的には、本明細書で説明される主題は、完全なハードウェアでの実施形態、完全なソフトウェアでの実施形態、またはハードウェア要素およびソフトウェア要素の両方を含む実施形態の形態をとってもよい。好ましい実施形態においては、機能は、これらに限定されないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むソフトウェアで実現される。さらに、上述したように、識別コンテキスト・ベース・アクセス制御機能は、コンピュータまたは任意の他の命令実行システムによってまたはそれととともに使用するためのプログラム・コードを提供するコンピュータ使用可能なまたはコンピュータ可読な媒体からアクセス可能なコンピュータ・プログラム製品の形態をとってもよい。この説明の目的のために、コンピュータ使用可能なまたはコンピュータ可読な媒体は、命令実行システム、装置またはデバイスによってまたはそれとともに使用するためのプログラムを包含または格納することができる任意の装置であってもよい。媒体は、電子的、磁気的、光学的、電磁的、赤外線または半導体のシステム(または装置またはデバイス)であってもよい。コンピュータ可読媒体の例には、半導体またはソリッド・ステート・メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、剛性の磁気ディスクおよび光学ディスクが含まれる。光学ディスクの現在の例には、コンパクト・ディスク・リード・オンリー・メモリ(CD-ROM)、コンパクト・ディスク・リード/ライト(CD-R/W)、DVDが含まれる。コンピュータ可読媒体は、有形の製品である。
コンピュータ・プログラム製品は、説明される機能の1または複数を実行するためのプログラム命令(またはプログラム・コード)を有する製品であってもよい。これらの命令またはコードは、遠隔のデータ処理システムからネットワークを介してダウンロードされた後、データ処理システム内のコンピュータ可読ストレージ媒体に格納されてもよい。あるいは、これらの命令またはコードは、サーバデータ処理システム内のコンピュータ可読ストレージ媒体に格納され、遠隔システム内のコンピュータ可読ストレージ媒体における使用のために遠隔データ処理システムにネットワークを介してダウンロードされるように適合されてもよい。
代表的な実施形態においては、機械学習ベースの技術は、特定目的のコンピュータ、好ましくは、1または複数のプロセッサによって実行されるソフトウェアにおいて実装される。ソフトウェアは、1または複数のプロセッサに関連付けられた1または複数のデータストアまたはメモリ内に維持され、ソフトウェアは、1または複数のコンピュータ・プログラムとして実装されてもよい。この特定目的のハードウェアおよびソフトウェアが、共同して、上述した機能性を備える。
上記で、本発明の特定の実施形態によって実行される特定の動作の順序を説明したが、代替的な実施形態が、異なる順序で動作を実行してもよく、ある動作を組み合わせてもよく、ある動作と重複させてもよいなど、例示的なものであることを理解されたい。本明細書における所与の実施形態への言及は、説明される実施形態が、特定の特徴、構造または特性を含み得ることを示すが、すべての実施形態が、特定の特徴、構造または特性を含むとは限らない。
最後に、システムの所定のコンポーネントが別個に説明されたが、当業者は、いくつかの機能を、所与の命令、プログラム・シーケンス、コード部分などにおいて組み合わせたり、共有したりできることを理解するであろう。
本明細書における技術は、中でも、他の技術または技術分野:マルウェア検出器、エンドポイント管理システム、APTソリューション、セキュリティ・インシデントおよびイベント管理(SIEM)並びにサイバーセキュリティ分析ソリューションに対する改良を提供する。
本明細書におけるシステム・イベント・モデラー技術を使用して、企業のエンドポイント・マシン以外のアクティビティを発見して動作させてもよい。さらに、当業者には理解されるように、本明細書で説明される意味論的モデルは、それらの間の意味論的関係をすべて維持しながら、実行時にイベントをベクトル空間に向ける。これは、人間がいかなる意味論的関係を明示的に指定する必要なく、それによってドメイン知識への依存性を低減するという、重要な利点を提供する。本明細書におけるこのアプローチは、概して、システム管理者、セキュリティ分析者、ソフトウェア開発者、その他が、関心のあるソフトウェアの挙動をよりよく理解するのを補助するために、適用可能である。したがって、例えば、ソフトウェア開発者(分析者にモデルの結果を提供した後)は、本明細書におけるアプローチを使用して、ソフトウェアのバグまたは未定義機能を発見するために使用することができる。システム管理者は、本アプローチを使用して、特定のポリシーまたは定義された用途と一致しない挙動を明らかにすることができる。セキュリティ分析者は、本アプローチを使用して、マルウェア、攻撃、高度で継続的な脅威(APT)などを検出することができる。要約すると、説明されるモデルおよび方法論は、複数のアプリケーションおよびユースケースで使用することができる、コア・エンコーディング/埋め込み機能性を提供する。
受託研究に関する声明
本発明は、米国国防高等研究計画局(DARPA)によって与えられた契約FA8650-15-C-7561の下で政府支援を用いてなされた。米国政府は、本発明において一定の権利を有する。
本発明は、米国国防高等研究計画局(DARPA)によって与えられた契約FA8650-15-C-7561の下で政府支援を用いてなされた。米国政府は、本発明において一定の権利を有する。
Claims (9)
- 実行環境における異常挙動を検出する方法であって、
監視されるコンピューティング・システムから取り込まれたシステム・イベントのセットを受信するステップと、
受信された前記システム・イベントのセットについて1または複数の特徴を自動的に抽出するためのモデルをトレーニングするステップであって、システム・イベントの特徴が、観測サンプルにおいて共起することが観測されたシステム・イベントのグループ間またはグループの中の意味論的関係を表す、トレーニングするステップと、
前記モデルを用いて異常挙動を検出するステップと
を含む、方法。 - 前記トレーニングするステップの前に、前記システム・イベントのセットをシステム・イベントの削減セットに処理するステップ
をさらに含む、請求項1に記載の方法。 - 前記処理するステップは、ドメイン知識を適用するステップおよび1または複数の統計的方法を適用するステップのうちの1つを含む、請求項2に記載の方法。
- 前記モデルをトレーニングするステップは、
前記観測サンプルにおける他のシステム・イベント各々に対するターゲットのシステム・イベントのペアワイズな列挙により、前記観測サンプル中の前記ターゲットのシステム・イベントについての共起を決定する意味論的解析を利用する、請求項1に記載の方法。 - 前記システム・イベントの特徴は、前記観測サンプルに対する代表的なイベントとして定義される1または複数の意味論的プロトタイプに対する前記システム・イベントのセットの類似性を測定することによって決定される、請求項1に記載の方法。
- 前記意味論的プロトタイプは、特徴空間を表す、請求項5に記載の方法。
- 前記観測サンプルは、前記実行環境における動作シナリオと関連付けられる、請求項1に記載の方法。
- 請求項1~7のいずれか1項に記載の方法の各ステップを実行するよう適合された手段を含むシステム。
- 請求項1~7のいずれか1項に記載の方法の各ステップを実行するための命令を含むコンピュータ・プログラムであって、前記コンピュータ・プログラムは、コンピュータ・システム上で実行される、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/711,688 | 2019-12-12 | ||
US16/711,688 US20210182387A1 (en) | 2019-12-12 | 2019-12-12 | Automated semantic modeling of system events |
PCT/EP2020/083294 WO2021115780A1 (en) | 2019-12-12 | 2020-11-25 | Automatic semantic modeling of system events |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023506168A true JP2023506168A (ja) | 2023-02-15 |
Family
ID=73598853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022535464A Pending JP2023506168A (ja) | 2019-12-12 | 2020-11-25 | システム・イベントの自動意味論的モデリング |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210182387A1 (ja) |
EP (1) | EP4073671A1 (ja) |
JP (1) | JP2023506168A (ja) |
CN (1) | CN114787805A (ja) |
WO (1) | WO2021115780A1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10999304B2 (en) | 2018-04-11 | 2021-05-04 | Palo Alto Networks (Israel Analytics) Ltd. | Bind shell attack detection |
US11184376B2 (en) | 2019-01-30 | 2021-11-23 | Palo Alto Networks (Israel Analytics) Ltd. | Port scan detection using destination profiles |
US11184377B2 (en) | 2019-01-30 | 2021-11-23 | Palo Alto Networks (Israel Analytics) Ltd. | Malicious port scan detection using source profiles |
US11184378B2 (en) | 2019-01-30 | 2021-11-23 | Palo Alto Networks (Israel Analytics) Ltd. | Scanner probe detection |
US11797843B2 (en) * | 2019-03-06 | 2023-10-24 | Samsung Electronics Co., Ltd. | Hashing-based effective user modeling |
US11526784B2 (en) * | 2020-03-12 | 2022-12-13 | Bank Of America Corporation | Real-time server capacity optimization tool using maximum predicted value of resource utilization determined based on historica data and confidence interval |
US11531933B2 (en) * | 2020-03-23 | 2022-12-20 | Mcafee, Llc | Explainability of an unsupervised learning algorithm outcome |
US11616790B2 (en) | 2020-04-15 | 2023-03-28 | Crowdstrike, Inc. | Distributed digital security system |
US11861019B2 (en) | 2020-04-15 | 2024-01-02 | Crowdstrike, Inc. | Distributed digital security system |
US11711379B2 (en) | 2020-04-15 | 2023-07-25 | Crowdstrike, Inc. | Distributed digital security system |
US11645397B2 (en) | 2020-04-15 | 2023-05-09 | Crowd Strike, Inc. | Distributed digital security system |
US11563756B2 (en) * | 2020-04-15 | 2023-01-24 | Crowdstrike, Inc. | Distributed digital security system |
US11630717B2 (en) * | 2021-01-06 | 2023-04-18 | Servicenow, Inc. | Machine-learning based similarity engine |
US20220253522A1 (en) * | 2021-02-05 | 2022-08-11 | International Business Machines Corporation | Continues integration and continues deployment pipeline security |
US11831729B2 (en) | 2021-03-19 | 2023-11-28 | Servicenow, Inc. | Determining application security and correctness using machine learning based clustering and similarity |
US11861007B1 (en) * | 2021-03-26 | 2024-01-02 | Amazon Technologies, Inc. | Detecting container threats through extracting kernel events to process in reserved scanner containers |
EP4068127A1 (en) * | 2021-03-31 | 2022-10-05 | Irdeto B.V. | Systems and methods for determining execution state |
US11836137B2 (en) | 2021-05-19 | 2023-12-05 | Crowdstrike, Inc. | Real-time streaming graph queries |
CN113449304B (zh) * | 2021-07-06 | 2024-03-22 | 北京科技大学 | 一种基于策略梯度降维的恶意软件检测方法及装置 |
US20230130649A1 (en) * | 2021-10-21 | 2023-04-27 | Dazz, Inc. | Techniques for semantic analysis of cybersecurity event data and remediation of cybersecurity event root causes |
US11799880B2 (en) | 2022-01-10 | 2023-10-24 | Palo Alto Networks (Israel Analytics) Ltd. | Network adaptive alert prioritization system |
US20230269256A1 (en) * | 2022-02-21 | 2023-08-24 | Palo Alto Networks (Israel Analytics) Ltd. | Agent prevention augmentation based on organizational learning |
CN116992439B (zh) * | 2023-09-28 | 2023-12-08 | 北京安天网络安全技术有限公司 | 一种用户行为习惯模型确定方法及装置、设备及介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8411935B2 (en) * | 2007-07-11 | 2013-04-02 | Behavioral Recognition Systems, Inc. | Semantic representation module of a machine-learning engine in a video analysis system |
US9866426B2 (en) * | 2009-11-17 | 2018-01-09 | Hawk Network Defense, Inc. | Methods and apparatus for analyzing system events |
US9177267B2 (en) * | 2011-08-31 | 2015-11-03 | Accenture Global Services Limited | Extended collaboration event monitoring system |
US9699205B2 (en) * | 2015-08-31 | 2017-07-04 | Splunk Inc. | Network security system |
US10839296B2 (en) * | 2016-11-30 | 2020-11-17 | Accenture Global Solutions Limited | Automatic prediction of an event using data |
US10715570B1 (en) * | 2018-06-25 | 2020-07-14 | Intuit Inc. | Generic event stream processing for machine learning |
US11106789B2 (en) * | 2019-03-05 | 2021-08-31 | Microsoft Technology Licensing, Llc | Dynamic cybersecurity detection of sequence anomalies |
-
2019
- 2019-12-12 US US16/711,688 patent/US20210182387A1/en active Pending
-
2020
- 2020-11-25 WO PCT/EP2020/083294 patent/WO2021115780A1/en unknown
- 2020-11-25 JP JP2022535464A patent/JP2023506168A/ja active Pending
- 2020-11-25 EP EP20815761.0A patent/EP4073671A1/en active Pending
- 2020-11-25 CN CN202080086152.1A patent/CN114787805A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021115780A1 (en) | 2021-06-17 |
CN114787805A (zh) | 2022-07-22 |
EP4073671A1 (en) | 2022-10-19 |
US20210182387A1 (en) | 2021-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2023506168A (ja) | システム・イベントの自動意味論的モデリング | |
US11544527B2 (en) | Fuzzy cyber detection pattern matching | |
US10956566B2 (en) | Multi-point causality tracking in cyber incident reasoning | |
US11748480B2 (en) | Policy-based detection of anomalous control and data flow paths in an application program | |
US11089040B2 (en) | Cognitive analysis of security data with signal flow-based graph exploration | |
US10958672B2 (en) | Cognitive offense analysis using contextual data and knowledge graphs | |
US11941054B2 (en) | Iterative constraint solving in abstract graph matching for cyber incident reasoning | |
US11184374B2 (en) | Endpoint inter-process activity extraction and pattern matching | |
US11818145B2 (en) | Characterizing user behavior in a computer system by automated learning of intention embedded in a system-generated event graph | |
US10313365B2 (en) | Cognitive offense analysis using enriched graphs | |
US11483318B2 (en) | Providing network security through autonomous simulated environments | |
US10686830B2 (en) | Corroborating threat assertions by consolidating security and threat intelligence with kinetics data | |
US10362044B2 (en) | Identifying command and control endpoint used by domain generation algorithm (DGA) malware | |
US20230088676A1 (en) | Graph neural network (gnn) training using meta-path neighbor sampling and contrastive learning | |
US11330007B2 (en) | Graphical temporal graph pattern editor | |
US11632393B2 (en) | Detecting and mitigating malware by evaluating HTTP errors | |
Patil et al. | E-Audit: Distinguishing and investigating suspicious events for APTs attack detection | |
US20240214396A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
US20240214406A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD16 | Notification of change of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7436 Effective date: 20220624 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230424 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240423 |