JP2019505943A - サイバーセキュリティシステムおよび技術 - Google Patents

サイバーセキュリティシステムおよび技術 Download PDF

Info

Publication number
JP2019505943A
JP2019505943A JP2018563401A JP2018563401A JP2019505943A JP 2019505943 A JP2019505943 A JP 2019505943A JP 2018563401 A JP2018563401 A JP 2018563401A JP 2018563401 A JP2018563401 A JP 2018563401A JP 2019505943 A JP2019505943 A JP 2019505943A
Authority
JP
Japan
Prior art keywords
data
fingerprint
generating
fingerprints
cryptographic hash
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
Application number
JP2018563401A
Other languages
English (en)
Inventor
ダニエル ワッチドルフ,
ダニエル ワッチドルフ,
スコット ラングレン,
スコット ラングレン,
Original Assignee
カーボン ブラック, インコーポレイテッド
カーボン ブラック, インコーポレイテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by カーボン ブラック, インコーポレイテッド, カーボン ブラック, インコーポレイテッド filed Critical カーボン ブラック, インコーポレイテッド
Publication of JP2019505943A publication Critical patent/JP2019505943A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

サイバーセキュリティシステムおよび技術が開示される。サイバーセキュリティ方法は、プロセスのプロセスフィンガプリントを生成することを含み得、プロセスフィンガプリントは、少なくとも部分的にプロセスの動的特徴に基づいて、プロセスを識別する。プロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの動的特徴を表すデータに対して行うことを含み得る。方法は、プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、少なくとも部分的に比較の結果に基づいて、データ削減動作をプロセスに関連付けられたデータに対して行うこと、および/または、プロセスがマルウェアプロセスかどうかを決定することとをさらに含み得る。

Description

(関連出願の引用)
本願は、米国仮特許出願第62/298,707号(2016年2月23日出願、名称「Cybersecurity Systems and Techniques」、代理人事件番号第BIT−009PR)の米国特許法§119(e)に基づく優先権および利益を主張し、上記出願は、参照により適用可能な法によって許される最大限まで本明細書に引用される。
(発明の分野)
本開示は、概して、サイバーセキュリティシステムおよび技術に関する。具体的には、いくつかの実施形態は、少なくとも部分的にプロセスの動的特徴に基づいて、サイバーセキュリティシステムおよび技術の性能を向上させるためのシステムおよび技術に関する。
インターネットおよび他のネットワークコンピュータシステムは、公共活動(例えば、政府機関の管理および運営)および私的活動(例えば、家庭および企業の個人活動、管理、および運営等)の中にますます統合されるにつれて、悪意のあるソフトウェア(「マルウェア」)が、そのようなものへの従事に著しい脅威をますます呈している。マルウェアは、概して、コンピュータシステムの動作を妨害する(例えば、計算リソースを乗っ取り、非認可目的のために、そのリソースを使用することによって;個々のコンピュータまたはネットワーク全体を無効化することによって;システムコンポーネントを損傷または別様に破壊することによって等)、および/またはリソースをコンピュータシステムから盗む(例えば、取り扱いに注意を要するデータを集めることによって)ように動作する。マルウェアは、コンピュータウイルス、ワーム、トロイの木馬、ランサムウェア、スパイウェア、アドウェア、スケアウェア、キーロガー、ルートキット、ボット、クライムウェア、フィッシング詐欺等を含む、多くの形態で展開され得る。
コンピュータユーザは、かなりのリソースを費やし、マルウェアを検出し、マルウェアが、ユーザのコンピュータシステムの動作を妨害すること、またはユーザのコンピュータベースのリソースを盗むことを防止する。従来のサイバーセキュリティエンジンは、マルウェアを検出するために、静的シグネチャベースの技術に広く依拠している。一般に、静的シグネチャベースのウェア検出は、マルウェアを含むことが既知のファイルのコピーを得ること、ファイルの静的特徴(例えば、ファイルに含まれるバイトのシーケンス)を分析し、マルウェアに特徴的である静的シグネチャを抽出すること、マルウェアの静的シグネチャを既知のマルウェアのデータベース(多くの場合、「ブラックリスト」と称される)に追加することを伴う。ユーザが、ファイルにアクセスする(例えば、それをダウンロードする、開く、または実行する)ことを試みると、サイバーセキュリティエンジンは、ファイルを走査し、ファイルの静的シグネチャを抽出する。ファイルの静的シグネチャが、ブラックリスト上のシグネチャに合致する場合、サイバーセキュリティエンジンは、マルウェアの存在を検出し、マルウェアが実行することを防止するように介入する(例えば、ファイルを隔離または削除することによって)。
静的シグネチャベースのマルウェア検出技術は、概して、既知のマルウェアを迅速に検出するために有用である。しかしながら、これらの技術は、概して、まだブラックリストにない、新しいマルウェア(例えば、ゼロデイマルウェアまたは次世代マルウェア)または自らを修正し、ブラックリスト上の静的シグネチャに合致することを回避する、マルウェア(例えば、少型、多様型、または変形型)によって出し抜かれ得る。
いくつかのサイバーセキュリティエンジンは、マルウェアを検出するために、挙動ベースの技術に依拠する。一般に、挙動ベースのマルウェア検出は、プロセスの実行を監視し、プロセスの実行の疑わしい特徴(例えば、コードを取り出す、ホストフィルを修正する、キーストロークをロギングすることを含み得る疑わしいプロセス挙動等)を識別することを伴う。疑わしい挙動が識別されると、サイバーセキュリティエンジンは、コンピュータシステムを保護し(例えば、プロセスを終了または隔離することによって)、脅威を査定する(例えば、プロセスの科学捜査を開始することによって等)ように介入する。
挙動ベースのマルウェア検出技法は、静的シグネチャのブラックリストを使用して検出することが困難である、あるタイプのマルウェア(例えば、ゼロデイマルウェアおよび自己修正マルウェア)から、コンピュータシステムを保護することができる。しかしながら、挙動ベースのマルウェア検出技法は、かなりの需要をホストコンピュータシステムのリソースに課し得、したがって、ホストコンピュータシステムの性能を実質的に劣化させ得る。例えば、挙動ベースのマルウェア検出を行うサイバーセキュリティエンジンは、コンピュータシステム上で実行中である、または実行されたプロセスの挙動のログを維持し得る。これらのログは、疑わしい挙動を検出するために、または疑わしい挙動が検出された場合の科学捜査を促進するために使用されることができる。集合的に、これらの挙動ログは、大量の記憶容量を占有し得、プロセスが実行するにつれてログを更新することは、コンピュータシステムの処理リソースのかなりの部分を消費し得る。
挙動ベースのマルウェア検出のためのより効率的システムおよび技法が、必要とされる。多くの場合、プロセス挙動ログに含まれる情報の多くは、最終的には、疑わしいプロセス挙動を検出するために有用ではなく、科学捜査にも有用ではない。本発明者らは、比較的に少量のデータ(例えば、「動的シグネチャ」または「プロセスフィンガプリント」)が、いくつかの実施形態では、プロセスの動的特徴(例えば、挙動)を特徴付けるために使用され得、疑わしいプロセス挙動を検出するため、および/または科学捜査のために有用であり得ると認識および理解している。本開示は、プロセスフィンガプリントを生成し、それらを使用して、マルウェアを検出するための技法を説明する。
本開示の側面によると、サイバーセキュリティ方法は、プロセスのプロセスフィンガプリントを生成することであって、プロセスフィンガプリントは、少なくとも部分的にプロセスの動的特徴に基づいて、プロセスを識別する、ことと、プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、少なくとも部分的に比較の結果に基づいて、データ削減動作をプロセスに関連付けられたデータに対して行うことおよび/またはプロセスがマルウェアプロセスであるかどうかを決定することとを含む。
いくつかの実施形態では、プロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの動的特徴を表すデータに対して行うことを含む。いくつかの実施形態では、プロセスの動的特徴を表すデータは、プロセスによってロードされたモジュールを特徴付けるデータを含む。いくつかの実施形態では、プロセスの動的特徴を表すデータは、プロセスに関連付けられたファイル動作を特徴付けるデータを含む。いくつかの実施形態では、プロセスの動的特徴を表すデータは、プロセスによって行われるレジストリ動作を特徴付けるデータを含む。いくつかの実施形態では、プロセスの動的特徴を表すデータは、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータを含む。いくつかの実施形態では、プロセスの動的特徴を表すデータは、プロセスによって行われるプロセス間動作を特徴付けるデータを含む。いくつかの実施形態では、プロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスに対応するファイルの静的特徴を表すデータに対して行うことをさらに含む。いくつかの実施形態では、暗号化ハッシュ動作は、ローリング暗号化ハッシュ動作である。いくつかの実施形態では、暗号化ハッシュ動作は、決定的シーケンス不変暗号化ハッシュ動作である。
いくつかの実施形態では、プロセスフィンガプリントを生成することは、第1のプロセスフィンガプリントと、第2のプロセスフィンガプリントとを生成することを含む。いくつかの実施形態では、第1のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの第1の動的特徴を表すデータに対して行うことを含み、第2のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの第2の動的特徴を表すデータに対して行うことを含む。いくつかの実施形態では、プロセスの第1の動的特徴を表すデータは、プロセスによってロードされたモジュールを特徴付けるデータ、プロセスに関連付けられたファイル動作を特徴付けるデータ、プロセスによって行われるレジストリ動作を特徴付けるデータ、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、およびプロセスによって行われるプロセス間動作を特徴付けるデータから成る群から選択される。いくつかの実施形態では、プロセスの第2の動的特徴を表すデータは、プロセスの第1の動的特徴を表すデータと異なり、プロセスの第2の動的特徴を表すデータは、プロセスによってロードされたモジュールを特徴付けるデータ、プロセスに関連付けられたファイル動作を特徴付けるデータ、プロセスによって行われるレジストリ動作を特徴付けるデータ、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、およびプロセスによって行われるプロセス間動作を特徴付けるデータから成る群から選択される。
いくつかの実施形態では、方法は、プロセスによって行われる少なくともいくつかの動作のログを生成することをさらに含み、データ削減動作をプロセスに関連付けられたデータに対して行うことは、ログを削除することを含む。いくつかの実施形態では、データ削減動作をプロセスに関連付けられたデータに対して行うことは、ログをプロセスのプロセスフィンガプリントで置き換えることをさらに含む。いくつかの実施形態では、データ削減動作をプロセスに関連付けられたデータに対して行うことは、ログをプロセスのプロセスフィンガプリントならびにプロセスの実行の日付および/または時間を示すデータで置き換えることをさらに含む。いくつかの実施形態では、比較の結果に基づいて、データ削減動作を行うことは、複数のプロセスフィンガプリントに含まれるプロセスフィンガプリントに合致するプロセスフィンガプリントに基づいて、データ削減動作を行うことを含む。
いくつかの実施形態では、複数のプロセスフィンガプリントは、1つ以上のブラックリストに記載のプロセスの1つ以上のプロセスフィンガプリントを含み、比較の結果に基づいて、プロセスがマルウェアプロセスであるかどうかを決定することは、1つ以上のブラックリストに記載のプロセスの1つ以上のプロセスフィンガプリントに含まれるフィンガプリントに合致するプロセスフィンガプリントに基づいて、プロセスがマルウェアプロセスであることを決定することを含む。いくつかの実施形態では、複数のプロセスフィンガプリントは、1つ以上のホワイトリストに記載のプロセスの1つ以上のプロセスフィンガプリントを含み、比較の結果に基づいて、プロセスがマルウェアプロセスであるかどうかを決定することは、1つ以上のホワイトリストに記載のプロセスの1つ以上のプロセスフィンガプリントに含まれるフィンガプリントに合致するプロセスフィンガプリントに基づいて、プロセスがマルウェアプロセスではないことを決定することを含む。
本開示の別の側面によると、コンピュータ実装サイバーセキュリティ方法は、プロセスによって行われる少なくともいくつかの動作のログを生成することと、プロセスのプロセスフィンガプリントを生成することであって、プロセスフィンガプリントは、少なくとも部分的にプロセスの動的特徴に基づいて、プロセスを識別する、ことと、プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、少なくとも部分的に比較の結果に基づいて、データ削減動作をプロセスに関連付けられたデータに対して行うことであって、データ削減動作をプロセスに関連付けられたデータに対して行うことは、ログを削除することを含む、こととを含み、プロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの動的特徴を表すデータに対して行うことを含み、プロセスの動的特徴を表すデータは、プロセスによってロードされたモジュールを特徴付けるデータ、プロセスに関連付けられたファイル動作を特徴付けるデータ、プロセスによって行われるレジストリ動作を特徴付けるデータ、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、および/またはプロセスによって行われるプロセス間動作を特徴付けるデータを含む。
本開示の別の側面によると、サイバーセキュリティシステムは、データ処理装置であって、プロセスのプロセスフィンガプリントを生成することであって、プロセスフィンガプリントは、少なくとも部分的にプロセスの動的特徴に基づいて、プロセスを識別する、ことと、プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、少なくとも部分的に比較の結果に基づいて、データ削減動作をプロセスに関連付けられたデータに対して行うことおよび/またはプロセスがマルウェアプロセスであるかどうかを決定することを含む動作を行うようにプログラムされているデータ処理装置を含む。
いくつかの実施形態では、プロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの動的特徴を表すデータに対して行うことを含み、プロセスの動的特徴を表すデータは、プロセスによってロードされたモジュールを特徴付けるデータ、プロセスに関連付けられたファイル動作を特徴付けるデータ、プロセスによって行われるレジストリ動作を特徴付けるデータ、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、および/またはプロセスによって行われるプロセス間動作を特徴付けるデータを含む。いくつかの実施形態では、暗号化ハッシュ動作は、ローリング暗号化ハッシュ動作である。いくつかの実施形態では、暗号化ハッシュ動作は、決定的シーケンス不変暗号化ハッシュ動作である。
いくつかの実施形態では、プロセスフィンガプリントを生成することは、第1のプロセスフィンガプリントと、第2のプロセスフィンガプリントとを生成することを含む。いくつかの実施形態では、第1のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの第1の動的特徴を表すデータに対して行うことを含み、第1の動的特徴は、第1のタイプの動的特徴であり、第2のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの第2の動的特徴を表すデータに対して行うことを含み、第2の動的特徴は、第1のタイプと異なる第2のタイプの動的特徴である。
いくつかの実施形態では、動作は、プロセスによって行われる少なくともいくつかの動作のログを生成することをさらに含み、データ削減動作をプロセスに関連付けられたデータに対して行うことは、ログを削除することを含む。いくつかの実施形態では、データ削減動作をプロセスに関連付けられたデータに対して行うことは、ログをプロセスのプロセスフィンガプリントで置き換えることをさらに含む。いくつかの実施形態では、比較の結果に基づいて、データ削減動作を行うことは、複数のプロセスフィンガプリントに含まれるプロセスフィンガプリントに合致するプロセスフィンガプリントに基づいて、データ削減動作を行うことを含む。
本開示の別の側面によると、コンピュータ記憶媒体が提供され、コンピュータ記憶媒体は、データ処理装置によって実行されると、プロセスのプロセスフィンガプリントを生成することであって、プロセスフィンガプリントは、少なくとも部分的にプロセスの動的特徴に基づいて、プロセスを識別する、ことと、プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、少なくとも部分的に比較の結果に基づいて、データ削減動作をプロセスに関連付けられたデータに対して行うことおよび/またはプロセスがマルウェアプロセスであるかどうかを決定することとを含む動作をデータ処理装置に行わせる命令を記憶している。
本明細書に説明される技法のいくつかの実施形態は、従来のサイバーセキュリティシステムおよび技法に優るある利点を示し得る。例えば、プロセスフィンガプリントを使用してプロセス挙動を特徴付けるいくつかのサイバーセキュリティシステムは、主にプロセス挙動ログに依拠してプロセス挙動を特徴付ける挙動ベースのマルウェア検出システムより効率的であり得る。特に、主にプロセス挙動ログに依拠してプロセス挙動を特徴付けるシステムに関して、本明細書に説明されるサイバーセキュリティシステムのいくつかの実施形態は、マルウェアの検出および調査のために、ホストコンピュータシステムの処理および/または記憶リソースをあまり使用しないであろう。このように、いくつかの実施形態は、ホストコンピュータシステムの機能および全体的性能を改良することができる。
本発明の他の側面および利点は、全て、例示のみとして、本発明の原理を例証する、以下の図面、発明を実施するための形態、および請求項から明白となるであろう。いくつかの実施形態に関する論拠の説明および/またはいくつかの実施形態の利点を含む上記発明の概要は、読者が、本開示を理解することを補助することを意図し、請求項のいずれかの範囲を限定するものではない。
いくつかの実施形態のある利点は、添付の図面と併せて検討される以下の説明を参照して理解され得る。図面では、同様の参照文字は、概して、異なる図全体を通して、同一部分を指す。また、図面は、必ずしも、縮尺通りではなく、代わりに、概して、本発明のいくつかの実施形態の例証に強調が置かれる。
図1は、いくつかの実施形態による、サイバーセキュリティ方法のフローチャートである。 図2は、いくつかの実施形態による、コンピュータのブロック図である。
図1は、いくつかの実施形態による、サイバーセキュリティ方法100を示す。いくつかの実施形態では、方法100は、従来の挙動ベースのマルウェア検出および応答技術より有意に少ないデータ処理リソースおよび/またはデータ記憶リソースを使用しながら、挙動ベースのマルウェア検出および応答を促進する。マルウェア脅威検出および応答方法100のステップ110では、プロセスの「プロセスフィンガプリント」(または「動的シグネチャ」)が、生成される。プロセスフィンガプリントは、少なくとも部分的にその動的特徴に基づいて、プロセスを識別する。ステップ120では、プロセスフィンガプリントは、既知のプロセス(例えば、合法であることが既知のプロセス、マルウェアであることが既知のプロセス、および/または他のプロセス)の動的特徴(例えば、挙動)に対応するプロセスフィンガプリントの1つ以上の組と比較される。ステップ130では、フィンガプリント比較の結果に基づいて、1つ以上のアクションが、挙動ベースのマルウェア検出を促進するために行われる。行われるアクションは、データ削減動作をプロセスに関連付けられたデータに対して行うこと、プロセスがブラックリストに記載のマルウェアのインスタンスであるかどうかを決定すること、プロセスがホワイトリストに記載のソフトウェアのインスタンスであるかどうかを決定すること等を含み得る。サイバーセキュリティ方法100のいくつかの実施形態は、以下にさらに詳細に説明される。いくつかの実施形態では、方法100の1つ以上の(例えば、全ての)ステップは、サイバーセキュリティエンジンによって行われ得る。
ステップ110では、プロセスフィンガプリントが、プロセスのために生成される。プロセスフィンガプリントは、その動的特徴に基づいて、プロセスを識別する。いくつかの実施形態では、各独特のプロセスフィンガプリントは、動的プロセス特徴(例えば、プロセス挙動)の独特の組またはシーケンス(例えば、時系列シーケンス)に対応する。いくつかの実施形態では、サイバーセキュリティエンジンは、同一プロセスフィンガプリントを有するプロセスを挙動上同じであるとして、または同一プロセスのインスタンスであるとして取り扱い得る。
プロセスフィンガプリントは、少なくとも部分的にプロセスの動的特徴(例えば、プロセスの挙動)に基づいて、生成され得る。いくつかの実施形態では、プロセスフィンガプリントは、動作(例えば、数学的動作、論理動作、テキスト処理動作ハッシュ動作、データ正規化動作等)をプロセスの動的特徴を表すデータに対して行うことによって生成された値を含む。例えば、プロセスフィンガプリントは、ハッシュ動作(例えば、暗号化ハッシュ動作)をプロセスの動的特徴を表すデータに対して行うことによって生成されたハッシュ値(例えば、暗号化ハッシュ値)を含み得る。
いくつかの実施形態では、ハッシュ動作は、恣意的サイズのデータを固定サイズのデータにマッピングする任意の動作である。ハッシュ動作は、動作が、常時、同一入力値または入力値のシーケンスに対して同一ハッシュ値を生成する場合、「決定的」であると言える。ハッシュ動作は、動作が、入力値の予期される範囲を、ハッシュ値の範囲内の各ハッシュ値が同一確率(または実質的に同一確率)で生成されるように、ハッシュ値の範囲にわたって均一に(または実質的に均一に)マッピングする場合、「均一」(または「実質的に均一」)と言える。ハッシュ動作は、2つの入力値IV1およびIV2に対してそれぞれ生成された2つのハッシュ値HV1とHV2との間の差異が、概して、2つの入力値間の差異が増加するにつれて増加し、概して、2つの入力値間の差異が減少するにつれて減少する場合、「連続的」であると言える。連続的ハッシュ動作を使用して、プロセスフィンガプリントを生成することは、類似(但し、同じではない)動的特徴を呈するプロセスを表すプロセスフィンガプリントを検索するタスクを促進し得る。いくつかの実施形態では、暗号化ハッシュ動作は、事実上、不逆的である(例えば、ハッシュ動作の反転は、比較的に長時間および/または比較的に大量の計算リソースを要求するであろう)。
任意の好適なハッシュ動作が、使用され得る。例えば、ハッシュ動作は、限定ではないが、セキュアハッシュアルゴリズム(例えば、SHA-0、SHA-1、SHA-2、SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256、SHA-3、SHA3-224、SHA3-256、SHA3-384、SHA3-384、SHA3-512、SHAKE128、SHAKE256)、Merkle-Damgardハッシュ関数(例えば、MD4、MD5)、Fowler-Noll-Vo(FNV)ハッシュ関数、Jenkinsハッシュ関数等を含み得る。
本発明者らは、疑わしいプロセス挙動を検出するために有用な情報、および/またはプロセス挙動の科学捜査のために有用な情報のかなりの部分が、プロセスによってロードされたモジュール、プロセスに関連付けられたファイル動作、プロセスによって行われるレジストリ動作、プロセスのネットワークアクティビティ、および/またはプロセスによって行われるプロセス間動作に関連することを認識および理解している。故に、プロセスフィンガプリントを生成するために使用されるデータは、プロセスによってロードされたモジュールを特徴付けるデータ、プロセスに関連付けられたファイル動作を特徴付けるデータ、プロセスによって行われるレジストリ動作を特徴付けるデータ、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、プロセスによって行われるプロセス間動作を特徴付けるデータ等を含み得る。
その実行中、プロセスは、1つ以上のモジュール(例えば、ソフトウェアモジュール)をロードし得る。モジュールのロードは、モジュール(またはその一部)のコンテンツをプロセスのアドレス空間の中にコピーすること、モジュール(またはその機能)を呼び出すこと、モジュール(またはその一部)を実行すること等を含み得る。モジュールの例は、限定ではないが、ライブラリモジュール(例えば、.DLL)、実行可能モジュール(例えば、.EXE)、カーネルモジュール、バイナリファイル等を含む。プロセスによってロードされたモジュールを特徴付けるデータは、ある場合、疑わしいプロセス挙動を検出するために、および/または科学捜査のために有用であり得る。そのようなデータは、ロードされたモジュールへのパスを表すデータ、ロードされたモジュールを識別するデータ(例えば、モジュールのためのMD5ハッシュ値)等を含み得る。
プロセスの実行は、1つ以上のファイル動作を行い得る。ファイル動作は、ファイルに対して行われる動作、コンピューティングデバイスのファイルシステムにアクセスする動作等を含む。ファイル動作の例は、ファイルを作成すること、ファイルを削除すること、ファイルをリネーミングすること、ファイルの属性を変更すること、ファイルのアクセス許可を変更すること、ファイルを開くこと、ファイルを閉じること、データをファイルから読み取ること、データをファイルに書き込むこと等を含む。
プロセスに関連付けられたファイル動作を特徴付けるデータは、ある場合、疑わしいプロセス挙動を検出するために、および/または科学捜査のために有用であり得る。そのようなデータは、プロセスによって行われるファイル動作を表すデータおよび/またはプロセスが呼び出されたファイル動作を表すデータを含み得る。いくつかの実施形態では、プロセスによって行われるファイル動作を表すデータは、プロセスによって行われるファイル動作のタイプを表すデータ、プロセスによってアクセスされるファイルのパス名を表すデータ、プロセスによって作成された子プロセスを識別するデータ(例えば、子プロセスに対応するファイルのパス名および/または子プロセスのためのMD5ハッシュ値)等を含む。プロセスが呼び出されたファイル動作を表すデータは、その時点のプロセスを呼び出した親プロセスを識別するデータ(例えば、親プロセスに対応するファイルのパス名および/またはファイルのためのMD5ハッシュ値)、プロセスを開始したコマンドを表すデータ(例えば、コマンドラインターミナルまたはシェルの中に打ち込まれたコマンド)、プロセスに対応するファイルのパス名を表すデータ等を含み得る(プロセスに「対応する」ファイルは、プロセスによって実行される命令を含むファイル、プロセスの実行を開始するために別様にアクセスされるファイル等を含み得る)。
その実行中、プロセスは、オペレーティングシステム(OS)レジストリの1つ以上のレジストリキーにアクセスし得る。一般に、オペレーティングシステムレジストリは、OSカーネル、オペレーティングシステムの他の部分、デバイスドライバ、サービス、および/またはアプリケーションに対する設定(「レジストリキー」)の値(「レジストリキー値」)を記憶し得る。好適なアクセス許可を伴うプロセスは、レジストリキーの値を読み取ること、レジストリキーの値を書き込むこと、レジストリキーを作成すること、レジストリキーを削除すること等を行い得る。プロセスによって行われるレジストリ動作を特徴付けるデータは、ある場合、疑わしいプロセス挙動を検出するために、および/または科学捜査のために有用であり得る。そのようなデータは、プロセスによってアクセスされるレジストリキーを表すデータ(例えば、レジストリキーの名前またはパス名)、プロセスによってアクセスされるレジストリキー値を表すデータ、レジストリキーに対してプロセスによって行われるアクセスのタイプを表すデータ(例えば、読み取り、書き込み、読み取り/書き込み)等を含み得る。
プロセスの実行は、コンピュータネットワークにアクセスし、データを遠隔に位置するコンピュータに送信し、および/またはデータをそこから受信し得る。プロセスに関連付けられたネットワークアクティビティを特徴付けるデータは、ある場合、疑わしいプロセス挙動を検出するために、および/または科学捜査のために有用であり得る。そのようなデータは、プロセスがネットワーク通信に送信する、および/またはプロセスがネットワーク通信を受信するデバイスのアドレスを表すデータ(例えば、IPアドレス、MACアドレス等);プロセスがネットワーク通信に送信する、および/またはそこから受信するポートを表すデータ;プロセスが従事する(例えば、特定のポートを通して、および/または特定のアドレスにおけるデバイスを用いて)通信のタイプを表すデータ(送信、受信、または送信および受信);ネットワークプロトコルを表すデータ(例えば、TCP、IP、TCP/IP、UDP、ICMP、SSH、FTP、SMTP、HTTP、HTTPS、POP、SFTP、SSL、TLS、PPP、IMAP、WiFi、Bluetooth(登録商標)等)等を含み得る。
その実行中、プロセスは、1つ以上のプロセス間動作を行い得る。プロセス間動作は、プロセス(「ソースプロセス」)が、別のプロセス(「標的プロセス」)のセキュリティ境界を越える動作を行うときに生じる。プロセス間動作のいくつかの例は、別のプロセスへのハンドルを開くプロセス、別のプロセスのスレッドへのハンドルを開くプロセス、スレッドを別のプロセス内に作成するプロセス等を含む。プロセスによって行われるプロセス間動作を特徴付けるデータは、ある場合、疑わしいプロセス挙動を検出するために、および/または科学捜査のために有用であり得る。そのようなデータは、標的プロセスを識別する情報(例えば、標的プロセスのパス、標的プロセスのためのMD5ハッシュ値、標的プロセスのユーザコンテキスト等)、ソースプロセスによって要求されるアクセス許可を示す情報(例えば、許可ビットマスク)、ソースプロセスによって行われる(または要求される)プロセス間動作のタイプを識別する情報等を含み得る。
いくつかの実施形態では、プロセスの動的特徴を表すデータは、タイミングデータ(例えば、プロセスが動作を行うときの時間、2つ以上の動作間の時間間隔等を示すデータ)を含み得る。いくつかの実施形態では、そのようなタイミングデータは、プロセスの動的特徴を表すデータから除外され得る。
コンピュータC上で実行するプロセスPに対するプロセスフィンガプリントPFの生成の例が、ここで説明される。この例では、プロセスPは、ファイルFを実行することによって開始される。プロセスPは、IPアドレスABC.DEF.GHI.Jにおけるデバイスと通信し、ファイルFを修正する(例えば、それを開き、データを書き込む)。この例では、サイバーセキュリティエンジンは、ファイルFのパス名を識別し、プロセスPがファイルFを実行することによって開始されたことを示すデータ値V1を生成し、IPアドレスABC.DEF.GHI.Jを識別し、プロセスPがそのIPアドレスにおけるデバイスと通信したことを示すデータ値V2を生成し、プロセスPがファイルFを修正したことを示すデータ値V3を生成する。サイバーセキュリティエンジンは、ハッシュ動作をデータ値V1、V2、およびV3に対して行うことによって、プロセスPに対するプロセスフィンガプリントPFを生成し得る。前述の例は、非限定的であって、単に、本明細書に説明される技法がプロセスフィンガプリントを生成するために適用され得る方法の一例を図示するために提供される。
いくつかの実施形態では、サイバーセキュリティエンジンは、プロセスに関する2つ以上のプロセスフィンガプリントの組を生成し得る。例えば、サイバーセキュリティエンジンは、(少なくとも部分的に)プロセスによってロードされたモジュールを特徴付けるデータに基づいて、第1のプロセスフィンガプリントを生成し、(少なくとも部分的に)プロセスに関連付けられたファイル動作を特徴付けるデータに基づいて、第2のプロセスフィンガプリントを生成し、(少なくとも部分的に)プロセスによって行われるレジストリ動作を特徴付けるデータに基づいて、第3のプロセスフィンガプリントを生成し、(少なくとも部分的に)プロセスに関連付けられたネットワークアクティビティを特徴付けるデータに基づいて、第4のプロセスフィンガプリントを生成し得る等。
プロセスに対する複数のプロセスフィンガプリントの生成は、疑わしいプロセス挙動の検出を促進し得る。マルウェア開発者は、種々の無害の動作を行うことによって(例えば、マルウェアプログラムが実行される度に無害の動作の異なる組を行うことによって)、検出を回避することを試みるようにマルウェアプログラムを構成し得る。このように、マルウェアプログラムは、実行する度に、そのプロセスフィンガプリントを変化させるように試み、そのプロセスフィンガプリントに基づいて、マルウェアプログラムを確実に識別することをより困難にし得る。異なるタイプの動的プロセス特徴に対応する複数のプロセスフィンガプリントを生成することによって、サイバーセキュリティエンジンは、疑わしい挙動を偽装するように意図される無害の挙動を含む無害のプロセス挙動から、疑わしいプロセス挙動をより容易に区別し得る。加えて、プロセスフィンガプリントのいくつかの実施形態は、損失性である(すなわち、生成されたプロセスフィンガプリントは、いくつかの実施形態では、フィンガプリントを生成するために使用されるデータに含まれる情報の全てを保持しない)ので、データの異なるカテゴリに対応する2つ以上のプロセスフィンガプリントの組は、いくつかの実施形態では、それらの同一カテゴリのデータに基づく単一フィンガプリントよりプロセス挙動についての多くの情報を保持し得る。
いくつかの実施形態では、サイバーセキュリティエンジンは、データの任意の好適な一部を使用して、1つ以上のプロセスフィンガプリントを生成し得る。例えば、サイバーセキュリティエンジンは、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータのみに基づいて、またはプロセスによって行われるレジストリ動作を特徴付けるデータおよびプロセスによってロードされたモジュールを特徴付けるデータのみに基づいて、または(限定ではないが)本明細書に説明されるデータのタイプを含む任意の好適なタイプのデータもしくはデータのタイプの組み合わせに基づいて、プロセスフィンガプリントを生成し得る。
いくつかの実施形態では、サイバーセキュリティエンジンは、ローリングハッシュ動作を使用して、プロセスフィンガプリントを生成し得る。ローリングハッシュ動作を用いると、プロセスの動的特徴を表すデータ値が、それらのデータ値が生成されるにつれて(例えば、プロセスがそれらのデータ値によって表される動作を行うにつれて)、ハッシュオペレータに供給され、ローリングハッシュ動作は、それらのデータ値が受信されるにつれて、供給されるデータ値に基づいて、プロセスフィンガプリントを更新する(例えば、プロセスフィンガプリントの値を再計算する)。ローリングハッシュ動作の1つの利点は、プロセスが実行中、プロセスフィンガプリントが「オンザフライ」で生成され得、それが、マルウェアプロセスの迅速検出を促進し得ることである。ローリングハッシュ動作の1つの潜在的不利点は、正確に同一動作を行うが、それらの動作を異なる順序で行う2つのプロセスに対して、異なるプロセスフィンガプリントが生成され得ることである。
いくつかの実施形態では、マルウェア検出は、決定的シーケンス不変(DSI)ハッシュ動作を使用して、プロセスフィンガプリントを生成し得る。DSIハッシュ動作を用いると、サイバーセキュリティエンジンは、プロセスがそれらのデータ値によって特徴付けられる動作を行った順序に関係なく、プロセスの動的特徴を表すデータ値の組に対して同一プロセスフィンガプリントを生成する。DSIハッシュ動作の単なる一例として、サイバーセキュリティエンジンは、プロセスが終了するまで、プロセスの動的特徴を表すデータ値の組を維持し、データ値の組をソートし(複製データ値の除去の有無にかかわらず)、決定的ハッシュオペレータをソートされたデータ値に適用し得る。DSIハッシュ動作の1つの利点は、プロセスがそれらの動作を異なる順序で行う場合でも、同一動作を行う2つのプロセスに対して同一プロセスフィンガプリントが生成され得、それが、マルウェアプロセスが自らを偽装することをより困難にし得ることである。少なくともいくつかのDSIハッシュ動作の1つの潜在的不利点は、プロセスが実行中、これらのハッシュ動作を「オンザフライ」で行うことが不可能であり得ることである。
図1に戻ると、ステップ120では、ステップ110において生成されたプロセスフィンガプリントは、既知のソフトウェアの動的特徴(例えば、挙動)に基づいて生成されたプロセスフィンガプリントの1つ以上の組と比較される。いくつかの実施形態では、プロセスフィンガプリントの1つ以上の組は、ブラックリストに記載のフィンガプリントの組を含み得る。プロセスフィンガプリントは、任意の好適な理由からブラックリストに記載され得るが、いくつかの実施形態では、ブラックリスト上のプロセスフィンガプリントの存在は、フィンガプリントに対応するプロセスがマルウェアプロセスとして識別されたことを示し得る。いくつかの実施形態では、サイバーセキュリティエンジンは、ブラックリストに記載のプロセスフィンガプリントの組を信頼されるソース(例えば、サイバーセキュリティプロバイダ)から取得し得る(または1つ以上のプロセスフィンガプリントをブラックリストに記載のフィンガプリントとして識別するデータを得る)。信頼されるソースは、既知のマルウェアプロセスを実行し、それらのマルウェアプロセスに対するフィンガプリントを生成し(例えば、本明細書に説明される技法を使用して)、生成されたフィンガプリントを記憶することを含む任意の好適な技法を使用して、ブラックリストに記載のプロセスフィンガプリントを取得し得る。
いくつかの実施形態では、信頼されるソースは、マルウェアプロセスの挙動のログも生成し(例えば、当業者に公知の挙動ロギング技法を使用して)、ログをマルウェアプロセスフィンガプリントと関連して記憶し得る。そのようなログがマルウェアプロセスの挙動を表すという点で、ログは、マルウェアプロセスフィンガプリントがサイバーセキュリティエンジンによって検出されるとき、科学捜査のために有用であり得る。このように、サイバーセキュリティエンジンが、システムが既知の(例えば、ブラックリストに記載の)プロセスフィンガプリントを伴うプロセスを実行したことを検出すると、プロセスを実行したシステムがそれ自身の処理リソースおよびデータリソースを費やし、挙動ログを維持しない場合でも、プロセスの挙動を表す挙動ログは、科学捜査のために利用可能にされることができる。
いくつかの実施形態では、プロセスフィンガプリントの1つ以上の組は、ホワイトリストに記載のフィンガプリントの組を含み得る。プロセスフィンガプリントは、任意の好適な理由からホワイトリストに記載され得るが、いくつかの実施形態では、ホワイトリスト上のプロセスフィンガプリントの存在は、フィンガプリントに対応するプロセスが信頼されるプロセスとして識別されたことを示し得る。いくつかの実施形態では、サイバーセキュリティエンジンは、ホワイトリストに記載のプロセスフィンガプリントの組を信頼されるソース(例えば、サイバーセキュリティプロバイダ)から取得し得る(または1つ以上のプロセスフィンガプリントをホワイトリストに記載のフィンガプリントとして識別するデータを得る)。信頼されるソースは、既知の信頼されるプロセスを実行し、それらの信頼されるプロセスに対するフィンガプリントを生成し(例えば、本明細書に説明される技法を使用して)、生成されたフィンガプリントを記憶することを含む任意の好適な技法を使用して、ホワイトリストに記載のプロセスフィンガプリントを取得し得る。
いくつかの実施形態では、ステップ110において生成されたプロセスフィンガプリントFの既知のプロセスフィンガプリントとの比較は、プロセスフィンガプリントFと既知のプロセスフィンガプリントとの間の正確な合致を検索する(例えば、プロセスフィンガプリントFの値が既知のフィンガプリントの値と同じかどうかを決定する)ことを伴い得る。代替として、または加えて、プロセスフィンガプリントFの既知のプロセスフィンガプリントとの比較は、プロセスフィンガプリントFと既知のプロセスフィンガプリントとの間の実質的合致を検索する(例えば、プロセスフィンガプリントFの値が既知のフィンガプリントのいずれかの値に十分に類似するかどうかを決定する)ことを伴い得る。いくつかの実施形態では、フィンガプリントFの値V1は、V1とV2との間の差異(または差異の大きさ)が閾値未満である場合、V1とV2との間のパーセント差異(またはパーセント差異の大きさ)が閾値パーセンテージ未満である場合等、既知のフィンガプリントの値V2に十分に類似する。前述のように、マルウェアプロセスは、その挙動を変動させ、それによって、そのフィンガプリントを変化または偽装させることによって、検出を回避しようと試み得る。いくつかの実施形態では、連続ハッシュ動作を使用して、プロセスフィンガプリントを生成することは、プロセスフィンガプリントFに十分に類似する既知のフィンガプリントの検索との組み合わせで、疑わしい挙動を偽装することを試みるマルウェアプロセスの検出を促進し得る。
図1に戻ると、ステップ130では、プロセスフィンガプリント比較の結果に基づいて、サイバーセキュリティエンジンは、1つ以上のアクションを行い、挙動ベースのマルウェア検出を促進する。いくつかの実施形態では、サイバーセキュリティエンジンは、ステップ120において、プロセスフィンガプリントFと既知のプロセスフィンガプリントとの間の正確な合致が検出される場合、そのようなアクションを行う。いくつかの実施形態では、サイバーセキュリティエンジンは、ステップ120において、プロセスフィンガプリントFと既知のプロセスフィンガプリントとの間の正確な合致または実質的合致が検出される場合、そのようなアクションを行う。行われるアクションは、限定ではないが、データ削減動作をプロセスに関連付けられたデータに対して行うこと、プロセスがブラックリストに記載のマルウェアであるかどうかを決定すること、プロセスがホワイトリストに記載のソフトウェアであるかどうかを決定すること、メッセージをプロセスを実行したシステムのユーザに提供すること、プロセスに対応するファイル(例えば、バイナリファイル)の実行を禁止するようにシステムを構成すること、ハニーポットを設定すること、プロセスの科学捜査を開始すること等を含み得る。
いくつかの実施形態では、サイバーセキュリティエンジンは、データ削減動作をプロセスPに関連付けられたデータに対して行い得る。プロセスPが実行中、プロセスPを実行するシステムは、プロセスによって行われる少なくともいくつかの動作のログを生成し得る。いくつかの実施形態では、データ削減動作は、ログまたはその一部を削除することを含み得る。上で説明されるように、サイバーセキュリティエンジンは、プロセスフィンガプリントに対応する挙動ログを記憶し得る。したがって、プロセスPのプロセスフィンガプリントが既知のプロセスフィンガプリントに合致する場合、プロセスPの挙動のログは、対応するプロセスフィンガプリントに対するサイバーセキュリティエンジンの挙動ログによって提供される情報以外、殆どまたは全く追加の有用情報を提供しないこともある。プロセスPの挙動(またはその一部)のログを削除することは、したがって、多くの(または任意の)有用な情報を犠牲にせず、プロセスPの科学捜査を促進するために費やされるデータ記憶の量を低減させることができる。いくつかの実施形態では、削除されたプロセスログ(またはその一部)を記憶するのではなく、システムは、プロセスPのフィンガプリントを記憶し得る。随意に、システムはまた、プロセスPの実行のデータおよび/または時間を示すデータも記憶し得る。
いくつかの実施形態では、プロセスフィンガプリント比較の結果は、プロセスPがブラックリストに記載のマルウェアプロセスであることを示し得る(例えば、プロセスPのフィンガプリントがブラックリストに記載のプロセスのフィンガプリントに合致するため)。該当する場合、サイバーセキュリティエンジンは、メッセージをシステムのユーザおよび/またはサイバーセキュリティエンジンに提供(例えば、表示または送信)し得る。メッセージは、実行されたプロセスPがマルウェアプロセスであることが疑われることを示し得る。サイバーセキュリティエンジンが疑いがあるマルウェアプロセスの検出に応答して行い得る他のアクションは、限定ではないが、プロセスPに対応するファイル(例えば、バイナリファイル)の実行を禁止するようにシステムを構成すること、プロセスの科学捜査を開始すること等を含む。
いくつかの実施形態では、プロセスフィンガプリント比較の結果は、プロセスPがホワイトリストに記載のソフトウェアプロセスであることを示し得る(例えば、プロセスPのフィンガプリントがホワイトリストに記載のプロセスのフィンガプリントに合致するため)。
いくつかの実施形態では、プロセスPのプロセスフィンガプリントは、プロセスPが実行を終了した後のみ、他のプロセスフィンガプリントと比較され得る。いくつかの実施形態では、プロセスPを実行する部分的プロセスフィンガプリント(例えば、プロセスPがすでに呈した挙動に基づいて生成されたプロセスフィンガプリント)が、プロセスPが依然として実行中、他のプロセスフィンガプリントと比較され得る。後者の場合、プロセスPの部分的フィンガプリントが、ブラックリストに記載のプロセスの完全または部分的フィンガプリントに合致する場合、サイバーセキュリティエンジンは、プロセスPの実行を終了すること、プロセスPの実行を隔離すること、制限された状態で、またはハニーポット内でプロセスPの実行を継続すること(潜在的マルウェアプロセスによって課される脅威の範囲を限定するため)、システムのユーザに、プロセスがマルウェアプロセスであることが疑われることを通知すること等を行い得る。プロセスPの部分的フィンガプリントがホワイトリストに記載のプロセスの完全または部分的フィンガプリントに合致する場合、サイバーセキュリティエンジンは、プロセスPが実行を継続することを許可すること、制限された状態から非制限状態へのプロセスPの実行をシフトさせること等を行い得る。
図1に図示され、上で説明される、マルウェア検出および応答方法100は、プロセスフィンガプリントに基づくマルウェア検出および応答方法の一例にすぎない。本明細書に説明される技法およびその均等物によって生成されたプロセスフィンガプリントは、任意の好適なマルウェア検出および/または応答方法、エンジン、ならびにシステムにおいて使用され得る。例えば、マルウェア検出方法は、プロセスのプロセスフィンガプリントを生成することであって、プロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの動的特徴を表すデータに対して行うことを含む、ことと、少なくとも部分的にプロセスフィンガプリントに基づいて、プロセスがマルウェアプロセスであるかどうかを決定することとを含み得る。
いくつかの実施形態では、(少なくとも部分的に)プロセスの動的特徴に基づくことに加え、プロセスフィンガプリントは、少なくとも部分的にプロセスの静的特徴(例えば、プロセスに対応するファイルに含まれるバイトのシーケンス、ファイルまたはその一部のハッシュ等)に基づいてもよい。プロセスの動的特徴およびプロセスに対応するファイルの静的特徴に基づいて、プロセスフィンガプリントを生成することは、マルウェアの検出を促進し得る。
(いくつかの実施形態のさらなる説明)
本開示に説明される方法および動作のいくつかの実施形態は、デジタル電子回路内、または本明細書に開示される構造およびその構造均等物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェア内に、またはそれらのうちの1つ以上のものの組み合わせにおいて、実装されることができる。本明細書に説明される主題の実装は、1つ以上のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはその動作を制御するために、コンピュータ記憶媒体上にエンコードされたコンピュータプログラム命令の1つ以上のモジュールとして実装されることができる。
代替として、または加えて、プログラム命令は、データ処理装置による実行のために好適な受信機装置への伝送のための情報をエンコードするために生成される人工的に生成されて伝搬される信号、例えば、機械生成電気、光学、または電磁信号上にエンコードされることができる。コンピュータ記憶媒体は、コンピュータ読み取り可能な記憶デバイス、コンピュータ読み取り可能な記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つ以上のものの組み合わせである、もしくはそれらの中に含まれることができる。さらに、コンピュータ記憶媒体は、伝搬される信号ではないが、コンピュータ記憶媒体は、人工的に生成されて伝搬される信号内にエンコードされたコンピュータプログラム命令のソースまたは宛先であることができる。コンピュータ記憶媒体は、1つ以上の別個の物理的コンポーネントまたは媒体(例えば、複数のCD、ディスク、または他の記憶デバイス)であるか、もしくはその中に含まれることもできる。
本明細書に説明される方法および動作のいくつかの実施形態は、データ処理装置によって、1つ以上のコンピュータ読み取り可能な記憶デバイス上に記憶され、または他のソースから受信されたデータに対して行われる動作として実装されることができる。
用語「データ処理装置」は、データ処理のための全ての種類の装置、デバイス、および機械を包含し、一例として、プログラマブルプロセッサ、コンピュータ、チップ上のシステム、または前述の複数のものもしくは組み合わせを含む。装置は、特殊目的論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加え、当該コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想機械、またはそれらのうちの1つ以上のものの組み合わせを構成するコードも含むことができる。装置および実行環境は、種々の異なるコンピューティングモデルインフラストラクチャ、例えば、ウェブサービス、分散型コンピューティング、およびグリッドコンピューティングインフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型またはインタープリタ型言語、宣言型または手続型言語を含むプログラミング言語の任意の形態で書き込まれることができ、スタンドアロンプログラムまたはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境において使用するために好適な他のユニットとして含む任意の形態で展開されることができる。コンピュータプログラムは、必要ではないが、ファイルシステム内のファイルに対応し得る。プログラムは、他のプログラムまたはデータ(例えば、マークアップ言語リソース内に記憶される1つ以上のスクリプト)を保持するファイルの一部内、当該プログラムに専用の単一ファイル内、または複数の協調ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を記憶するファイル)内に記憶されることができる。コンピュータプログラムは、1カ所に位置するか、または数箇所を横断して分散され、通信ネットワークによって相互接続される1つのコンピュータまたは複数のコンピュータ上で実行されるように展開されることができる。
本明細書に説明されるプロセスおよび論理フローのいくつかの実施形態は、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって行われ、入力データに動作し、出力を生成することによってアクションを行うことができる。本明細書に説明されるプロセスおよび論理フローのいくつかの実施形態は、特殊目的論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって行われることができ、本明細書に説明される装置のいくつかの実施形態は、そのようなものとして実装されることができる。
コンピュータプログラムの実行のために好適なプロセッサは、一例として、汎用および特殊目的マイクロプロセッサの両方ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。概して、プロセッサは、命令およびデータを読み取り専用メモリまたはランダムアクセスメモリもしくは両方から受信するであろう。
図2は、コンピュータ200のブロック図を示す。コンピュータ200は、命令に従ってアクションを行うための1つ以上のプロセッサ202と、命令およびデータを記憶するための1つ以上のメモリデバイス204とを含む。いくつかの実施形態では、コンピュータ200は、サイバーセキュリティエンジン206を実行する。サイバーセキュリティエンジン206は、マルウェア検出および/または応答方法(例えば、サイバーセキュリティ方法100)を行い得る。サイバーセキュリティエンジン206の異なるバージョンが、記憶、分散、またはインストールされ得る。ソフトウェアのいくつかのバージョンは、本明細書に説明される方法のいくつかの実施形態のみを実装し得る。
概して、コンピュータ200は、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、磁気光ディスク、もしくは光ディスクをさらに含むか、または、それらからデータを受信すること、そこにデータを転送すること、もしくは両方を行うように動作可能に結合されるであろう。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、例えば、いくつか挙げると、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)内に内蔵されることができる。コンピュータプログラム命令およびデータを記憶するために好適なデバイスは、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含み、一例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク、磁気光ディスク、ならびにCD‐ROMおよびDVD‐ROMディスクを含む。プロセッサおよびメモリは、特殊目的論理回路によって補完されること、またはその中に組み込まれることができる。
ユーザとの相互作用を提供するために、本明細書に説明される主題の実装は、情報をユーザに表示するためのディスプレイデバイス、例えば、CRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタと、ユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有するコンピュータ上に実装されることができる。他の種類のデバイスも同様に、ユーザとの相互作用を提供するために使用されることができる。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚的フィードバック、聴覚フィードバック、または触知フィードバックであることができ、ユーザからの入力は、音響、発話、または触知入力を含む、任意の形態で受信されることができる。加えて、コンピュータは、ユーザによって使用されるデバイスにリソースを送信し、リソースをそこから受信することによって、例えば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと相互作用することができる。
いくつかの実施形態は、バックエンドコンポーネント、例えば、データサーバを含む、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含む、またはフロントエンドコンポーネント、例えば、ユーザが本明細書に説明される主題の実装と相互作用することができる、グラフィカルユーザインターフェースまたはウェブブラウザを有する、クライアントコンピュータを含む、または1つ以上のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組み合わせを含む、コンピューティングシステム内に実装されることができる。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、およびピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)を含む。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、概して、互いから遠隔にあり、典型的には、通信ネットワークを通して相互作用する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で起動し、クライアント−サーバ関係を互いに有するコンピュータプログラムによって生じる。いくつかの実装では、サーバは、データ(例えば、HTMLページ)をクライアントデバイスに伝送する(例えば、クライアントデバイスと相互作用するユーザにデータを表示し、ユーザ入力をそこから受信する目的のため)。クライアントデバイスにおいて生成されたデータ(例えば、ユーザ相互作用の結果)は、サーバにおいてクライアントデバイスから受信されることができる。
1つ以上のコンピュータのシステムは、動作時、システムにアクションを行わせるシステム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを有することによって、特定の動作またはアクションを行うように構成されることができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを行わせる命令を含むことによって、特定の動作またはアクションを行うように構成されることができる。
本明細書は、多くの具体的実装詳細を含むが、これらは、任意の発明または請求され得るものの範囲に対する限定としてではなく、むしろ、特定の発明の特定の実装に特有な特徴の説明として解釈されるべきである。別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴はまた、複数の実装において、別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴は、ある組み合わせにおいて作用するように上で説明され、さらには、最初にそのように請求され得るが、請求される組み合わせからの1つ以上の特徴は、いくつかの場合では、組み合わせから除外されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例も対象とし得る。
同様に、動作は、特定の順序で本開示に説明または図面に描写され得るが、これは、そのような動作が、示される特定の順序において、または連続的順序において実施されること、または全ての例証される動作が望ましい結果を達成するために実施されることを要求するものとして理解されるべきではない。ある状況では、マルチタスクおよび並列処理が、有利であり得る。
さらに、上で説明される実装における種々のシステムコンポーネントの分離は、全ての実装においてそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品の中にパッケージ化され得ることを理解されたい。
したがって、主題の特定の実装が、説明されている。他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に記載されるアクションは、異なる順序において実施され、依然として、望ましい結果を達成することができる。加えて、付随の図に描写されるプロセスは、望ましい結果を達成するために、必ずしも、示される特定の順序、または連続的順序を要求しない。ある実装では、マルチタスクおよび並列処理が、有利となり得る。
(専門用語)
本明細書に使用される語句および専門用語は、説明を目的としており、限定として見なされるべきではない。
本明細書および請求項に使用されるような用語「約」、語句「〜にほぼ等しい」、および他の類似する語句(例えば、「Xは約Yの値を有する」または「XはYにほぼ等しい」)は、1つの値(X)が別の値(Y)の事前決定された範囲内であることを意味するように理解されるべきである。事前決定された範囲は、別様に示されない限り、±20%、10%、5%、3%、1%、0.1%、または0.1%未満であり得る。
本明細書および請求項に使用されるような不定冠詞「a」ならびに「an」は、そうでないことが明確に示されない限り、「少なくとも1つ」を意味するように理解されるべきである。本明細書および請求項に使用されるような語句「および/または」は、そのように結合された要素、すなわち、いくつかの場合には結合的に存在し、他の場合には離接的に存在する要素の「一方または両方」を意味するように理解されるべきである。「および/または」を用いて列挙された複数の要素は、同一の方式で、すなわち、そのように結合された要素のうちの「1つ以上のもの」として解釈されるべきである。具体的に識別されるそれらの要素に関連するかどうかにかかわらず、「および/または」節によって具体的に識別される要素以外の他の要素も、随意に存在し得る。したがって、非限定的例として、「〜を備えている」等の非限定的言語と併用されるとき、「Aおよび/またはB」の言及は、一実施形態では、Aのみ(随意に、B以外の要素を含む)を指し、別の実施形態では、Bのみ(随意に、A以外の要素を含む)を指し、また別の実施形態では、AおよびBの両方(随意に、他の要素を含む)等を指し得る。
本明細書および請求項に使用されるように、「または」は、上記に定義されるような「および/または」と同一の意味を有するように理解されるべきである。例えば、リスト内の項目を分離するとき、「または」もしくは「および/または」は、包括的であるとして、すなわち、いくつかの要素またはそのリストのうちの少なくとも1つ(但し、1つを上回るものも含む)および随意に追加の列挙されていない項目の包含として解釈されるものとする。「〜のうちの1つのみ」もしくは「〜のうちの厳密に1つ」または請求項において使用されるとき、「〜から成る」等のそうでないことが明確に示される用語のみが、いくつかの要素またはそのリストの厳密に1つの要素の包含を指すであろう。概して、使用されるような用語「または」は、「いずれか」、「〜のうちの1つ」、「〜のうちの1つのみ」、または「〜のうちの厳密に1つ」等の排他性の用語によって先行されると、排他的代替(すなわち、「両方ではないが、一方または他方」)を示すようにのみ解釈されるものとする。請求項において使用されるとき、「〜から本質的に成る」は、特許法の分野において使用されるようなその通常の意味を有するものとする。
本明細書および請求項に使用されるように、1つ以上の要素のリストに関する語句「少なくとも1つ」は、要素のリスト内の要素のうちの1つ以上のものから選択される少なくとも1つの要素を意味するように理解されるべきであるが、必ずしも、要素のリスト内に具体的に列挙されるあらゆる要素のうちの少なくとも1つを含むわけではなく、要素のリスト内の要素の任意の組み合わせを除外するわけではない。本定義はまた、具体的に識別されるそれらの要素に関連するかどうかにかかわらず、語句「少なくとも1つ」が指す要素のリスト内の具体的に識別される要素以外の要素が随意に存在し得ることを可能にする。したがって、非限定的例として、「AおよびBのうちの少なくとも1つ」(または同じく、「AまたはBのうちの少なくとも1つ」もしくは同じく、「Aおよび/またはBのうちの少なくとも1つ」)は、一実施形態では、いかなるBも存在しない、随意に、1つを上回るAを含む少なくとも1つのA(および随意に、B以外の要素を含む)を指し、別の実施形態では、いかなるAも存在しない、随意に、1つを上回るBを含む少なくとも1つのB(および随意に、A以外の要素を含む)を指し、また別の実施形態では、随意に、1つを上回るAを含む少なくとも1つのAおよび、随意に、1つを上回るBを含む少なくとも1つのB(および随意に、他の要素を含む)等を指し得る。
「〜を含む」、「〜を備えている」、「〜を有する」、「〜を含む」、「〜を伴う」、およびそれらの変形例の使用は、その後に列挙される項目および付加的項目を包含することを意味する。
請求項要素を修正するための請求項における「第1」、「第2」、「第3」等の序数用語の使用は、それ自体では、1つの請求項要素の別のものに対する任意の優先順位、優先度、もしくは順序、または方法の行為が実施される時間的順序を含意しない。序数用語は、単に、ある名称を有する1つの請求項要素を(序数用語の使用がなければ)同一の名称を有する別の要素から区別し、請求項要素を区別するための標識として使用される。
(均等物)
したがって、本発明の少なくとも1つの実施形態の側面が説明されたが、種々の代替、修正、および改良が、容易に当業者に想起されるであろう。そのような代替、修正、および改良は、本開示の一部であることが意図され、かつ本発明の精神および範囲内であることが意図される。したがって、前述の説明および図面は、例示にすぎない。本発明は、その精神または不可欠な特性から逸脱することなく、他の具体的形態において具現化されることができる。前述の実施形態は、したがって、本明細書に説明される発明に対する限定ではなく、あらゆる点で例証的であると見なされるべきである。本発明の範囲は、したがって、前述の説明ではなく、添付される請求項によって示され、請求項の均等性の意味および範囲内に該当する全ての変更は、したがって、その中に包含されるように意図される。

Claims (30)

  1. コンピュータ実装サイバーセキュリティ方法であって、前記方法は、
    プロセスによって行われる少なくともいくつかの動作のログを生成することと、
    前記プロセスのプロセスフィンガプリントを生成することであって、前記プロセスフィンガプリントは、少なくとも部分的に前記プロセスの動的特徴に基づいて、前記プロセスを識別する、ことと、
    前記プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、
    少なくとも部分的に前記比較の結果に基づいて、データ削減動作を前記プロセスに関連付けられたデータに対して行うことであって、前記データ削減動作を前記プロセスに関連付けられたデータに対して行うことは、前記ログを削除することを含む、ことと
    を含み、
    前記プロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの動的特徴を表すデータに対して行うことを含み、
    前記プロセスの動的特徴を表すデータは、前記プロセスによってロードされたモジュールを特徴付けるデータ、前記プロセスに関連付けられたファイル動作を特徴付けるデータ、前記プロセスによって行われるレジストリ動作を特徴付けるデータ、前記プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、および/または、前記プロセスによって行われるプロセス間動作を特徴付けるデータを備えている、方法。
  2. コンピュータ実装サイバーセキュリティ方法であって、前記方法は、
    プロセスのプロセスフィンガプリントを生成することであって、前記プロセスフィンガプリントは、少なくとも部分的に前記プロセスの動的特徴に基づいて、前記プロセスを識別する、ことと、
    前記プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、
    少なくとも部分的に前記比較の結果に基づいて、データ削減動作を前記プロセスに関連付けられたデータに対して行うこと、および/または、前記プロセスがマルウェアプロセスであるかどうかを決定することと
    を含む、方法。
  3. 前記プロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの動的特徴を表すデータに対して行うことを含む、請求項2に記載の方法。
  4. 前記プロセスの動的特徴を表すデータは、前記プロセスによってロードされたモジュールを特徴付けるデータを備えている、請求項3に記載の方法。
  5. 前記プロセスの動的特徴を表すデータは、前記プロセスに関連付けられたファイル動作を特徴付けるデータを備えている、請求項3に記載の方法。
  6. 前記プロセスの動的特徴を表すデータは、前記プロセスによって行われるレジストリ動作を特徴付けるデータを備えている、請求項3に記載の方法。
  7. 前記プロセスの動的特徴を表すデータは、前記プロセスに関連付けられたネットワークアクティビティを特徴付けるデータを備えている、請求項3に記載の方法。
  8. 前記プロセスの動的特徴を表すデータは、前記プロセスによって行われるプロセス間動作を特徴付けるデータを備えている、請求項3に記載の方法。
  9. 前記プロセスフィンガプリントを生成することは、前記暗号化ハッシュ動作を前記プロセスに対応するファイルの静的特徴を表すデータに対して行うことをさらに含む、請求項3に記載の方法。
  10. 前記暗号化ハッシュ動作は、ローリング暗号化ハッシュ動作である、請求項3に記載の方法。
  11. 前記暗号化ハッシュ動作は、決定的シーケンス不変暗号化ハッシュ動作である、請求項3に記載の方法。
  12. 前記プロセスフィンガプリントを生成することは、第1のプロセスフィンガプリントと、第2のプロセスフィンガプリントとを生成することを含む、請求項2に記載の方法。
  13. 前記第1のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの第1の動的特徴を表すデータに対して行うことを含み、前記第2のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの第2の動的特徴を表すデータに対して行うことを含む、請求項12に記載の方法。
  14. 前記プロセスの前記第1の動的特徴を表すデータは、前記プロセスによってロードされたモジュールを特徴付けるデータ、前記プロセスに関連付けられたファイル動作を特徴付けるデータ、前記プロセスによって行われるレジストリ動作を特徴付けるデータ、前記プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、および前記プロセスによって行われるプロセス間動作を特徴付けるデータから成る群から選択される、請求項13に記載の方法。
  15. 前記プロセスの前記第2の動的特徴を表すデータは、前記プロセスの前記第1の動的特徴を表すデータと異なり、前記プロセスの前記第2の動的特徴を表すデータは、前記プロセスによってロードされたモジュールを特徴付けるデータ、前記プロセスに関連付けられたファイル動作を特徴付けるデータ、前記プロセスによって行われるレジストリ動作を特徴付けるデータ、前記プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、および前記プロセスによって行われるプロセス間動作を特徴付けるデータから成る群から選択される、請求項14に記載の方法。
  16. 前記プロセスによって行われる少なくともいくつかの動作のログを生成することをさらに含み、前記データ削減動作を前記プロセスに関連付けられたデータに対して行うことは、前記ログを削除することを含む、請求項2に記載の方法。
  17. 前記データ削減動作を前記プロセスに関連付けられたデータに対して行うことは、前記ログを前記プロセスのプロセスフィンガプリントで置き換えることをさらに含む、請求項16に記載の方法。
  18. 前記データ削減動作を前記プロセスに関連付けられたデータに対して行うことは、前記ログを前記プロセスのプロセスフィンガプリントおよび前記プロセスの実行の日付および/または時間を示すデータで置き換えることをさらに含む、請求項16に記載の方法。
  19. 前記比較の結果に基づいて前記データ削減動作を行うことは、前記複数のプロセスフィンガプリントに含まれるプロセスフィンガプリントに合致する前記プロセスフィンガプリントに基づいて、前記データ削減動作を行うことを含む、請求項2に記載の方法。
  20. 前記複数のプロセスフィンガプリントは、1つ以上のブラックリストに記載のプロセスの1つ以上のプロセスフィンガプリントを含み、前記比較の結果に基づいて前記プロセスがマルウェアプロセスであるかどうかを決定することは、前記1つ以上のブラックリストに記載のプロセスの前記1つ以上のプロセスフィンガプリントに含まれるフィンガプリントに合致する前記プロセスフィンガプリントに基づいて、前記プロセスがマルウェアプロセスであることを決定することを含む、請求項2に記載の方法。
  21. 前記複数のプロセスフィンガプリントは、1つ以上のホワイトリストに記載のプロセスの1つ以上のプロセスフィンガプリントを含み、前記比較の結果に基づいて前記プロセスがマルウェアプロセスであるかどうかを決定することは、前記1つ以上のホワイトリストに記載のプロセスの前記1つ以上のプロセスフィンガプリントに含まれるフィンガプリントに合致する前記プロセスフィンガプリントに基づいて、前記プロセスがマルウェアプロセスではないことを決定することを含む、請求項2に記載の方法。
  22. データ処理装置を備えているサイバーセキュリティシステムであって、前記データ処理装置は、
    プロセスのプロセスフィンガプリントを生成することであって、前記プロセスフィンガプリントは、少なくとも部分的に前記プロセスの動的特徴に基づいて、前記プロセスを識別する、ことと、
    前記プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、
    少なくとも部分的に前記比較の結果に基づいて、データ削減動作を前記プロセスによって行われる動作のログに対して行うこと、および/または、前記プロセスがマルウェアプロセスであるかどうかを決定することと
    を含む動作を行うようにプログラムされている、システム。
  23. 前記プロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの動的特徴を表すデータに対して行うことを含み、前記プロセスの前記動的特徴を表すデータは、前記プロセスによってロードされたモジュールを特徴付けるデータ、前記プロセスに関連付けられたファイル動作を特徴付けるデータ、前記プロセスによって行われるレジストリ動作を特徴付けるデータ、前記プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、および/または、前記プロセスによって行われるプロセス間動作を特徴付けるデータを備えている、請求項22に記載のシステム。
  24. 前記暗号化ハッシュ動作は、ローリング暗号化ハッシュ動作である、請求項23に記載のシステム。
  25. 前記暗号化ハッシュ動作は、決定的シーケンス不変暗号化ハッシュ動作である、請求項23に記載のシステム。
  26. 前記プロセスフィンガプリントを生成することは、第1のプロセスフィンガプリントと、第2のプロセスフィンガプリントとを生成することを含む、請求項22に記載のシステム。
  27. 前記第1のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの第1の動的特徴を表すデータに対して行うことを含み、前記第1の動的特徴は、第1のタイプの動的特徴であり、前記第2のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの第2の動的特徴を表すデータに対して行うことを含み、前記第2の動的特徴は、前記第1のタイプと異なる第2のタイプの動的特徴である、請求項26に記載のシステム。
  28. 前記動作は、前記プロセスによって行われる少なくともいくつかの動作のログを生成することをさらに含み、前記データ削減動作を前記プロセスに関連付けられたデータに対して行うことは、前記ログを削除することを含む、請求項22に記載のシステム。
  29. 前記データ削減動作を前記プロセスに関連付けられたデータに対して行うことは、前記ログを前記プロセスのプロセスフィンガプリントで置き換えることをさらに含む、請求項28に記載のシステム。
  30. 前記比較の結果に基づいて前記データ削減動作を行うことは、前記複数のプロセスフィンガプリントに含まれるプロセスフィンガプリントに合致する前記プロセスフィンガプリントに基づいて、前記データ削減動作を行うことを含む、請求項22に記載のシステム。
JP2018563401A 2016-02-23 2017-02-23 サイバーセキュリティシステムおよび技術 Pending JP2019505943A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662298707P 2016-02-23 2016-02-23
US62/298,707 2016-02-23
PCT/US2017/019029 WO2017147236A1 (en) 2016-02-23 2017-02-23 Cybersecurity systems and techniques

Publications (1)

Publication Number Publication Date
JP2019505943A true JP2019505943A (ja) 2019-02-28

Family

ID=58261745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018563401A Pending JP2019505943A (ja) 2016-02-23 2017-02-23 サイバーセキュリティシステムおよび技術

Country Status (6)

Country Link
US (2) US10423787B2 (ja)
EP (1) EP3420489B1 (ja)
JP (1) JP2019505943A (ja)
AU (1) AU2017223566B2 (ja)
CA (1) CA3015352A1 (ja)
WO (1) WO2017147236A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10356101B2 (en) 2016-08-16 2019-07-16 Paypal, Inc. Utilizing transport layer security (TLS) fingerprints to determine agents and operating systems
US10848397B1 (en) * 2017-03-30 2020-11-24 Fireeye, Inc. System and method for enforcing compliance with subscription requirements for cyber-attack detection service
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
JP6829168B2 (ja) * 2017-09-04 2021-02-10 株式会社東芝 情報処理装置、情報処理方法およびプログラム
CN110287697A (zh) * 2018-03-19 2019-09-27 阿里巴巴集团控股有限公司 行为识别、数据处理方法及装置
US11256802B1 (en) * 2019-05-10 2022-02-22 Ca, Inc. Application behavioral fingerprints
US11507664B2 (en) * 2019-12-03 2022-11-22 Sonicwall Inc. Early filtering of clean file using dynamic analysis
EP4042305A1 (en) * 2019-12-19 2022-08-17 Google LLC Resource management unit for capturing operating system configuration states and managing malware
WO2021126217A1 (en) 2019-12-19 2021-06-24 Google Llc Resource management unit for capturing operating system configuration states and memory management
WO2021126216A1 (en) 2019-12-19 2021-06-24 Google Llc Resource management unit for capturing operating system configuration states and offloading tasks
US11695787B2 (en) 2020-07-01 2023-07-04 Hawk Network Defense, Inc. Apparatus and methods for determining event information and intrusion detection at a host device
WO2022150912A1 (en) * 2021-01-13 2022-07-21 Sierra Wireless, Inc. Method and apparatus for initial access for reduced capability devices
US20230229761A1 (en) * 2021-04-20 2023-07-20 Assured Information Security, Inc. Prevention and remediation of malware based on selective presentation of files to processes
US11599637B1 (en) * 2021-07-30 2023-03-07 Cloud Linux Software, Inc. Systems and methods for blocking malicious script execution
US20230315855A1 (en) * 2022-03-29 2023-10-05 Acronis International Gmbh Exact restoration of a computing system to the state prior to infection

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7913305B2 (en) * 2004-01-30 2011-03-22 Microsoft Corporation System and method for detecting malware in an executable code module according to the code module's exhibited behavior
US7660865B2 (en) 2004-08-12 2010-02-09 Microsoft Corporation Spam filtering with probabilistic secure hashes
US7698744B2 (en) 2004-12-03 2010-04-13 Whitecell Software Inc. Secure system for allowing the execution of authorized computer program code
US7841008B1 (en) 2006-03-31 2010-11-23 Symantec Corporation Threat personalization
US8234640B1 (en) 2006-10-17 2012-07-31 Manageiq, Inc. Compliance-based adaptations in managed virtual systems
US8365283B1 (en) * 2008-08-25 2013-01-29 Symantec Corporation Detecting mutating malware using fingerprints
US9367680B2 (en) 2008-10-21 2016-06-14 Lookout, Inc. System and method for mobile communication device application advisement
US8347386B2 (en) 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
US20100211772A1 (en) 2009-02-16 2010-08-19 Bjorn Johansson Collaborative Reconciliation of Application Trustworthiness
US8701192B1 (en) 2009-06-30 2014-04-15 Symantec Corporation Behavior based signatures
US9081958B2 (en) 2009-08-13 2015-07-14 Symantec Corporation Using confidence about user intent in a reputation system
US9104872B2 (en) 2010-01-28 2015-08-11 Bank Of America Corporation Memory whitelisting
US8667592B2 (en) 2011-03-15 2014-03-04 Symantec Corporation Systems and methods for looking up anti-malware metadata
US20130097660A1 (en) 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment
WO2013063474A1 (en) 2011-10-28 2013-05-02 Scargo, Inc. Security policy deployment and enforcement system for the detection and control of polymorphic and targeted malware
US8584235B2 (en) 2011-11-02 2013-11-12 Bitdefender IPR Management Ltd. Fuzzy whitelisting anti-malware systems and methods
US9043903B2 (en) 2012-06-08 2015-05-26 Crowdstrike, Inc. Kernel-level security agent
US10409980B2 (en) 2012-12-27 2019-09-10 Crowdstrike, Inc. Real-time representation of security-relevant system state
US9294501B2 (en) * 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US9477835B2 (en) 2013-10-08 2016-10-25 Crowdstrike, Inc. Event model for correlating system component states
WO2015120243A1 (en) 2014-02-07 2015-08-13 Cylance Inc. Application execution control utilizing ensemble machine learning for discernment
US9769189B2 (en) 2014-02-21 2017-09-19 Verisign, Inc. Systems and methods for behavior-based automated malware analysis and classification
US9842209B2 (en) * 2015-05-08 2017-12-12 Mcafee, Llc Hardened event counters for anomaly detection

Also Published As

Publication number Publication date
US20170329968A1 (en) 2017-11-16
AU2017223566A1 (en) 2018-09-06
EP3420489B1 (en) 2020-09-09
WO2017147236A1 (en) 2017-08-31
US10423787B2 (en) 2019-09-24
US20200320195A1 (en) 2020-10-08
EP3420489A1 (en) 2019-01-02
AU2017223566B2 (en) 2021-10-21
US11068591B2 (en) 2021-07-20
CA3015352A1 (en) 2017-08-31

Similar Documents

Publication Publication Date Title
US11068591B2 (en) Cybersecurity systems and techniques
US10984097B2 (en) Methods and apparatus for control and detection of malicious content using a sandbox environment
JP6639588B2 (ja) 悪意あるファイルを検出するシステムおよび方法
JP6670907B2 (ja) スクリプトの実行をブロックするシステム及び方法
RU2531861C1 (ru) Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
US9166997B1 (en) Systems and methods for reducing false positives when using event-correlation graphs to detect attacks on computing systems
US9135443B2 (en) Identifying malicious threads
US9158915B1 (en) Systems and methods for analyzing zero-day attacks
JP2019082989A (ja) 標的型攻撃をクラウド型検出、探索および除去するシステムおよび方法
US8955138B1 (en) Systems and methods for reevaluating apparently benign behavior on computing devices
JP2019530083A (ja) 予期されていないアクティビティパターンに基づくサイバーセキュリティインシデント検出
US11882134B2 (en) Stateful rule generation for behavior based threat detection
US9489513B1 (en) Systems and methods for securing computing devices against imposter processes
Naz et al. Review of machine learning methods for windows malware detection
Hutchinson et al. Are we really protected? An investigation into the play protect service
Lobo et al. Rbacs: Rootkit behavioral analysis and classification system
Khushali A Review on Fileless Malware Analysis Techniques
CN112149126A (zh) 确定文件的信任级别的系统和方法
US10546125B1 (en) Systems and methods for detecting malware using static analysis
Gupta et al. Developing a blockchain-based and distributed database-oriented multi-malware detection engine
Hani et al. Detection of malware under android mobile application
RU2592383C1 (ru) Способ формирования антивирусной записи при обнаружении вредоносного кода в оперативной памяти
US20240220619A1 (en) Systems and methods for selecting client backup files for maliciousness analysis
Louk et al. An effective framework of behavior detection-advanced static analysis for malware detection
Hovmark et al. Towards Extending Probabilistic Attack Graphs with Forensic Evidence: An investigation of property list files in macOS