JP2013529335A - クラスタリングを使用した行動シグネチャの生成 - Google Patents

クラスタリングを使用した行動シグネチャの生成 Download PDF

Info

Publication number
JP2013529335A
JP2013529335A JP2013508131A JP2013508131A JP2013529335A JP 2013529335 A JP2013529335 A JP 2013529335A JP 2013508131 A JP2013508131 A JP 2013508131A JP 2013508131 A JP2013508131 A JP 2013508131A JP 2013529335 A JP2013529335 A JP 2013529335A
Authority
JP
Japan
Prior art keywords
malware
behavior
cluster
sequence
new
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.)
Granted
Application number
JP2013508131A
Other languages
English (en)
Other versions
JP5656136B2 (ja
JP2013529335A5 (ja
Inventor
サティッシュ・ソーラブ
ペレイラ・シェーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
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 Symantec Corp filed Critical Symantec Corp
Publication of JP2013529335A publication Critical patent/JP2013529335A/ja
Publication of JP2013529335A5 publication Critical patent/JP2013529335A5/ja
Application granted granted Critical
Publication of JP5656136B2 publication Critical patent/JP5656136B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

マルウェアを検出するための行動シグネチャを生成する。コンピュータを使用して、マルウェアデータセットにマルウェアの挙動トレースを収集する。挙動トレースは、マルウェアによって実行された連続挙動について説明する。挙動トレースを正規化してマルウェア挙動シーケンスを生成する。同様のマルウェア挙動シーケンスをまとめてクラスタリングする。クラスタ内のマルウェア挙動シーケンスは、マルウェアファミリの挙動について説明する。クラスタを分析してクラスタのマルウェアファミリに共通の挙動サブシーケンスを特定する。マルウェアファミリに対する挙動シグネチャは、挙動サブシーケンスを使用して生成する。可能であれば、新しいマルウェアのトレースを正規化して既存のクラスタと整合させる。そのクラスタに対する行動シグネチャは、クラスタ内の新しいマルウェアの挙動シーケンスおよび他のシーケンスに基づいて生成する。

Description

本発明は、概して、コンピュータセキュリティに関し、具体的には、悪意のあるソフトウェアを検出するための行動シグネチャの生成に関する。
最新のコンピュータを攻撃することができる多種多様の悪意のあるソフトウェア(マルウェア)が存在する。マルウェアの脅威は、コンピュータウイルス、ワーム、トロイの木馬プログラム、スパイウェア、アドウェア、クライムウェアおよびフィッシング詐欺ウェブサイトを含む。マルウェアは、例えば、ログイン、パスワード、銀行口座名およびクレジットカード番号などの重要な情報をひそかに取得することができる。同様に、マルウェアは、危殆化したコンピュータに対する攻撃者のアクセスおよび制御を可能にする隠しインターフェースを提供することができる。
最近のマルウェアは、相対的に少数のコンピュータのみを標的として配信される場合が多い。例えば、トロイの木馬プログラムは、特定企業の特定部門のコンピュータを標的とするよう設計され得る。そのようなマルウェアは、同じマルウェアの例があまり存在しないため、セキュリティソフトウェアが検出することは難しく、セキュリティソフトウェアは、それを認識するように構成されていない恐れがある。さらに、マルウェアは検出を回避するよう設計されたポリモーフィズムを含むことができるため、大量に分配されたマルウェアの検出でさえ難しくなりつつある。
マルウェアの検出が困難となるのに応じて、セキュリティソフトウェアは、ヒューリスティックベースの検出へ向けて発展している。このタイプの検出は、悪意のある挙動を示す挙動について説明する行動シグネチャなどの一連のヒューリスティックを使用してマルウェアを特定する。しかし、膨大な量の異なるマルウェアは、マルウェアに対する行動シグネチャの維持を困難にする。多くの行動シグネチャを有することにより、シグネチャの維持および使用が複雑化する。例えば、1つのソフトウェアが悪意のあるものであるかどうかを判断するために使用される分析は、より複雑性を増し、この判断を下すために消費される計算リソースは、行動シグネチャの数の増加に伴い増加する。
上記のおよび他の問題は、マルウェアを検出するための行動シグネチャを生成するための方法、コンピュータシステムおよびコンピュータ可読記憶媒体によって対処される。本方法の実施形態は、コンピュータを使用して、マルウェアデータセットにマルウェアの挙動トレースを収集する工程を含む。挙動トレースは、マルウェアによって実行された連続挙動について説明する。本方法は、マルウェアに対する挙動トレースを正規化してマルウェア挙動シーケンスを生成する工程と、同様のマルウェア挙動シーケンスをクラスタにまとめてクラスタリングする工程とをさらに含む。クラスタ内のマルウェア挙動シーケンスは、マルウェアファミリの挙動について説明する。それに加えて、本方法は、クラスタを分析してマルウェアファミリに共通の挙動サブシーケンスを特定する工程と、挙動サブシーケンスを使用してマルウェアファミリに対する行動シグネチャを作成する工程とを含む。
コンピュータシステムの実施形態は、工程を実行するための実行可能なコンピュータプログラムモジュールを格納する非一時的なコンピュータ可読記憶媒体を備える。工程は、マルウェアデータセットにマルウェアの挙動トレースを収集する工程を含む。挙動トレースは、マルウェアによって実行された連続挙動について説明する。工程は、マルウェアに対する挙動トレースを正規化してマルウェア挙動シーケンスを生成する工程と、同様のマルウェア挙動シーケンスをクラスタにまとめてクラスタリングする工程とをさらに含む。クラスタ内のマルウェア挙動シーケンスは、マルウェアファミリの挙動について説明する。それに加えて、工程は、クラスタを分析してマルウェアファミリに共通の挙動サブシーケンスを特定する工程と、挙動サブシーケンスを使用してマルウェアファミリに対する行動シグネチャを作成する工程とを含む。また、コンピュータシステムは、コンピュータプログラムモジュールを実行するためのコンピュータプロセッサも備える。
媒体の実施形態は、マルウェアデータセットにマルウェアの挙動トレースを収集するための実行可能なコンピュータプログラムモジュールを格納する非一時的なコンピュータ可読記憶媒体を備える。挙動トレースは、マルウェアによって実行された連続挙動について説明する。また、モジュールは、マルウェアに対する挙動トレースを正規化してマルウェア挙動シーケンスを生成し、同様のマルウェア挙動シーケンスをクラスタにまとめてクラスタリングする。クラスタ内のマルウェア挙動シーケンスは、マルウェアファミリの挙動について説明する。それに加えて、モジュールは、クラスタを分析してマルウェアファミリに共通の挙動サブシーケンスを特定し、挙動サブシーケンスを使用してマルウェアファミリに対する行動シグネチャを作成する。
一実施形態によるコンピューティング環境の高レベルのブロック図である。 セキュリティサーバまたはクライアントとして使用するための典型的なコンピュータを示す高レベルのブロック図である。 一実施形態によるセキュリティサーバのシグネチャ生成モジュールの詳細な概観を示す高レベルのブロック図である。 行動シグネチャを生成および分配するために、セキュリティサーバの一実施形態によって実行される工程を示すフローチャートである。 新しいマルウェアサンプルを検出するための更新された行動シグネチャを生成および分配するために、セキュリティサーバの一実施形態によって実行される工程を示すフローチャートである。
図面は、単なる例示を目的として一実施形態を描写する。当業者であれば、本明細書で示される構造および方法の代替の実施形態を、本明細書に記載される原理から逸脱することなく使用できることが以下の説明から容易に理解されよう。
図1は、一実施形態によるコンピューティング環境100の高レベルのブロック図である。図1は、ネットワーク114によって接続されたセキュリティサーバ110および3つのクライアント112を示す。説明を簡素かつ明確にするため、図1では3つのクライアント112のみが示される。コンピューティング環境100の実施形態は、数千または数百万ものクライアント112を有することができる。また、いくつかの実施形態は、複数のセキュリティサーバ110も有する。
クライアント112は、悪意のあるソフトウェアをホストすることができる電子デバイスである。一実施形態では、クライアント112は、例えば、Microsoft Windows互換オペレーティングシステム(OS)、Apple OS Xおよび/またはLinuxの分配を実行する従来のコンピュータシステムである。また、クライアント112は、携帯情報端末(PDA)、携帯電話、テレビゲームシステムなどのコンピュータ機能性を有する別のデバイスでもあり得る。クライアント112は、通常、悪意のあるソフトウェアをホストすることができる多数のコンピュータファイルを格納する。
「マルウェア」と呼ばれる場合がある悪意のあるソフトウェアは、一般に、クライアント112上でひそかに実行するソフトウェアまたは何らかの秘密の機能性を有するソフトウェアとして定義される。マルウェアは、多くの形態を取ることができ、正当なファイルに添付される寄生ウイルス、コンピュータを感染して他のコンピュータに広げるためにコンピュータのセキュリティの弱点を突くワーム、正当に見えるが実際は悪意のある隠しコードを含むトロイの木馬プログラム、ならびに、機密情報の取得もしくは広告の表示のためにキーストロークおよび/またはコンピュータ上の他の動作をモニタするスパイウェアなどが挙げられる。
クライアント112は、クライアント上のマルウェアの存在を検出するためのセキュリティモジュール116を実行する。セキュリティモジュール116は、例えば、クライアント112のOSに組み込んでも、別々の包括的なセキュリティパッケージの一部であってもよい。一実施形態では、セキュリティモジュール116は、セキュリティサーバ110を動作する同じ実体によって提供される。セキュリティモジュール116は、ネットワーク114を介してセキュリティサーバ110と通信し、クライアント112側でマルウェアを検出するための検出データを入手する。
セキュリティモジュール116によって入手された検出データは、行動シグネチャを含む。行動シグネチャは、マルウェアの特徴を示す挙動のシーケンスについて説明する。セキュリティモジュール116は、クライアント側で実行するソフトウェアの挙動を観察してその挙動が行動シグネチャのいずれかと一致するかどうか判断することによって、クライアント112側でマルウェアを検出する。
また、検出データは、クライアント112側でマルウェアを検出する他の方法について説明するデータも含むことができる。例えば、検出データは、マルウェアの特徴を示す、コンピュータファイル内で見出されたデータのシーケンスを特定するシグネチャ文字列、ある所定のソフトウェアが悪意のあるものかどうか評価するためにセキュリティモジュール116が使用できるレピュテーション、および/または、マルウェア攻撃を示す可能性があるクライアント112の状態を特定するヒューリスティックを含むことができる。
一実施形態では、セキュリティモジュール116は、検出データを使用してクライアント112をモニタし、マルウェアを検出した場合にレポートを生成する。レポートは、検出されたマルウェアについて、クライアント112のユーザおよび/またはクライアント112の管理者などの別の実体に通知する。また、セキュリティモジュール116は、悪意のある挙動を阻止する、マルウェアを隔離する、マルウェアを除去するなど、1つまたは複数の動作を実行してマルウェアを修復することもできる。
セキュリティサーバ110は、検出データを生成してクライアント112に分配するよう構成されたハードウェアデバイスおよび/またはソフトウェアモジュールである。セキュリティサーバ110の一例としては、セキュリティソフトウェアおよびサービスをクライアント112のセキュリティモジュール116に提供するウェブベースのシステムが挙げられる。実施形態に応じて、セキュリティサーバ110の機能の1つまたは複数を、クラウドコンピューティング環境によって提供することができる。本明細書で使用される場合、「クラウドコンピューティング」は、ネットワーク114上のサービスとして、動的に拡張可能であり仮想化される場合が多いリソースが提供されるコンピューティングのスタイルを指す。クライアント112およびセキュリティモジュール116に属する機能もまた、クラウドコンピューティング環境によって提供することができる。
セキュリティサーバ110の一実施形態は、セキュリティモジュール116がマルウェアの検出に使用する行動シグネチャを生成するためのシグネチャ生成モジュール118を含む。シグネチャ生成モジュール118は、同様の挙動を実行するソフトウェアのクラスタを特定する。所定のクラスタに対して、シグネチャ生成モジュール118は、クラスタ内でマルウェアを検出するために使用できる行動シグネチャを特定する。さらに、新しいマルウェアが特定されると、シグネチャ生成モジュール118は、可能であれば、新しいマルウェアを既存のクラスタに割り当てる。新しいマルウェアが割り当てられたクラスタに対する既存のシグネチャを使用して新しいマルウェアを検出できない場合は、シグネチャ生成モジュール118は、新しいマルウェアを含む、クラスタ内でマルウェアを検出するために使用できる新しい行動シグネチャを生成する。セキュリティサーバ110の動作は、一実施形態では自動化され、これにより、手動操作なしで行動シグネチャを生成することが可能になる。
分配モジュール120は、クライアント112のセキュリティモジュール116に行動シグネチャおよび他の検出データを分配する。一実施形態では、分配モジュール120は、新しいシグネチャが作成されるとローリングベースで行動シグネチャを分配する。別の実施形態では、行動シグネチャは、既定のスケジュールでおよび/またはセキュリティモジュール116による要求と同時に提供される。
セキュリティサーバ110によって実行されたクラスタリングベースのシグネチャ生成技法は、こうして個別の行動シグネチャを効果的に使用して、複数のマルウェアサンプルを検出する。その結果、セキュリティサーバ110は、それぞれのシグネチャが単一のマルウェアサンプルに特有である場合に必要とされるよりも少ない行動シグネチャをセキュリティモジュール116に分配する。さらに、マルウェアを検出するためにセキュリティモジュール116によって使用される行動シグネチャのセットのサイズは、従来の技法と比べて低減される。この効率は、新しく発見されたマルウェアに対して行動シグネチャが生成される場合でさえ、維持される。したがって、シグネチャ生成技法は、効果的で高性能のマルウェア検出を実現する。
ネットワーク114は、ネットワーク上のセキュリティサーバ110と、クライアント112と、他の任意の実体との間の通信経路を表す。一実施形態では、ネットワーク114は、インターネットであり、標準の通信技術および/またはプロトコルを使用する。したがって、ネットワーク114は、イーサネット802.11、マイクロ波アクセスのための世界規模の相互運用(WiMAX)、3G、デジタル加入者線(DSL)、非同期転送モード(ATM)、InfiniBand、PCI Express Advanced Switchingなどの技術を使用してリンクを含むことができる。同様に、ネットワーク114上で使用されるネットワークプロトコルは、マルチプロトコルラベルスイッチング(MPLS)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、簡易メール転送プロトコル(SMTP)、ファイル転送プロトコル(FTP)などを含むことができる。ネットワーク114上で交換されるデータは、ハイパーテキストマークアップ言語(HTML)、拡張可能マークアップ言語(XML)などを含む技術および/または形式を使用して表すことができる。それに加えて、セキュアソケット層(SSL)、トランスポート層セキュリティ(TLS)、仮想プライベートネットワーク(VPN)、インターネットプロトコルセキュリティ(IPsec)などの従来の暗号化技術を使用して、リンクのすべてまたは一部を暗号化することができる。他の実施形態では、実体は、上記で説明されるものの代わりにまたはそれに加えて、カスタムおよび/または専用のデータ通信技術を使用する。
図2は、セキュリティサーバ110またはクライアント112として使用するための典型的なコンピュータ200を示す高レベルのブロック図である。チップセット204と結合されたプロセッサ202が示される。また、チップセット204には、メモリ206と、記憶装置208と、キーボード210と、グラフィックスアダプタ212と、ポインティングデバイス214と、ネットワークアダプタ216も結合される。ディスプレイ218は、グラフィックスアダプタ212と結合される。一実施形態では、チップセット204の機能性は、メモリコントローラハブ220およびI/Oコントローラハブ222によって提供される。別の実施形態では、メモリ206は、チップセット204の代わりにプロセッサ202と直接結合される。
記憶装置208は、ハードドライブ、コンパクトディスク読み取り専用メモリ(CD−ROM)、DVDまたはソリッドステートメモリデバイスなどの非一時的なコンピュータ可読記憶媒体である。メモリ206は、プロセッサ202によって使用される命令およびデータを保持する。ポインティングデバイス214は、マウス、トラックボールまたは他のタイプのポインティングデバイスであり、キーボード210と組み合わせて使用して、コンピュータシステム200にデータを入力する。グラフィックスアダプタ212は、ディスプレイ218上にイメージおよび他の情報を表示する。ネットワークアダプタ216は、ネットワーク116とコンピュータシステム200を結合する。
当技術分野で公知の通り、コンピュータ200は、図2に示されるものとは異なるコンポーネントおよび/またはそれ以外のコンポーネントを有することができる。それに加えて、コンピュータ200は、示されるある特定のコンポーネントを欠くことがある。一実施形態では、セキュリティサーバとして機能するコンピュータ200は、複数のブレードコンピュータから形成され、キーボード210、ポインティングデバイス214、グラフィックスアダプタ212および/またはディスプレイ218を欠く。さらに、記憶装置208は、コンピュータ200からローカルおよび/またはリモート操作することができる(ストレージエリアネットワーク(SAN)内で具体化されるなど)。
この説明では、指定の機能性を提供するためのコンピュータプログラム論理について言及する際に用語「モジュール」を使用する。モジュールは、ハードウェア、ファームウェアおよび/またはソフトウェアで実装することができる。モジュールは、通常、記憶装置208などのコンピュータ可読記憶媒体上に格納され、メモリ206にロードされ、プロセッサ202によって実行される。
図3は、一実施形態によるセキュリティサーバ110のシグネチャ生成モジュール118の詳細な概観を示す高レベルのブロック図である。図3に示されるように、シグネチャ生成モジュール118自体が複数のモジュールを含む。いくつかの実施形態では、機能は、本明細書に記載されるものとは異なる様式でこれらのモジュールに分配される。
格納モジュール310は、シグネチャ生成モジュール118によって使用されるデータを格納する。そのようなデータの例には、評価中のソフトウェア、シグネチャ生成プロセス中に作成され使用される中間データおよび作成された行動シグネチャが含まれる。データ格納モジュール310は、リレーショナルデータベースまたは別のタイプのデータベースを含み得る。
図3に示されるように、格納モジュール310の実施形態は、異なるクラスのソフトウェアを保持するデータセットを格納する。マルウェアデータセット312は、既知のマルウェアのサンプルを格納する。データセット312内のマルウェアは、クライアント112からおよび/または他のソースから入手することができる。それに加えて、格納モジュール310は、既知のグッドウェアのサンプルを格納するグッドウェアデータセット314を格納する。グッドウェアは、悪意のない(すなわち、正当な)ものとして知られているソフトウェアである。グッドウェアは、クライアント112上に存在する場合が多い、ありふれたおよび/または一般のソフトウェアプログラムを含むことができる。データセット内のマルウェア312およびグッドウェア314は、まとめて「ソフトウェア」と呼ばれる。
挙動収集モジュール316は、データセット312、314にソフトウェアに挙動トレースを収集する。ソフトウェアのサンプルに対する「挙動トレース」は、ソフトウェアが実行される際に行う挙動のシーケンスである。一実施形態では、挙動収集モジュール316は、データセット312、314内の各ソフトウェアサンプルを適切な環境で実行する。環境は、実際のものでもシミュレートされたものでもよい。例えば、特定のソフトウェアサンプルが、Microsoft Windows OSを改変したものを有するコンピュータ上で実行することを目的としたものであれば、挙動収集モジュール316は、Windowsベースのコンピュータをシミュレートする仮想コンピューティング環境でソフトウェアをエミュレートすることができる。
挙動収集モジュール316は、ソフトウェアによって実行される挙動のシーケンスを観察するのに十分長い時間、ソフトウェアを実行できるようにする。実行の長さは、例えば、実行される命令の数または実行時間の長さによって指定することができる。挙動収集モジュール316は、環境内で指定の実行量を実行するためにソフトウェアが必要とするいかなるパラメータおよび/または環境リソースもソフトウェアに提供する。
挙動収集モジュール316は、実行する挙動のシーケンスを収集する(記録する)ため、実行しているソフトウェアをモニタする。一実施形態では、挙動収集モジュール316は、実行しているソフトウェアによって行われる、OSへのアプリケーションプログラミングインターフェース(API)呼び出しを特にモニタし、したがって、ソフトウェアに対する挙動トレースは、そのAPI呼び出しシーケンスである。挙動収集モジュール316の他の実施形態は、モニタして、挙動トレースに異なるおよび/または追加のデータを含める。
トレース正規化モジュール318は、実行されたソフトウェアの挙動トレースを正規化する。正規化により、異なるトレースを比較できるように挙動トレースを標準的な表現にする。一実施形態では、トレース正規化モジュール318は、API呼び出しで参照されるファイル経路、ドライブ名およびフォルダ位置などの異なる実行インスタンスにおいて異なり得るパラメータの標準的な表現によって挙動トレースを正規化する。例えば、パラメータは、挙動トレースから取り除く、および/または、ワイルドカードシンボルに置き換えることができる。正規化された挙動トレースは、「挙動シーケンス」と呼ばれる。
また、トレース正規化モジュール318は、挙動トレース内の挙動を正規化の一環としてオペレーションに分類することもできる。「オペレーション」は、一緒に分類される一連の関連連続挙動である。例えば、ファイルからデータを入手するソフトウェアは、「ファイルを開く」というAPI呼び出しに続いて「ファイルを読む」という呼び出しを行う場合が多い。トレース正規化モジュール318は、これらの2つの呼び出しを「ファイルへアクセスする」という単一のオペレーションに組み合わせることができる。この様式でオペレーションを使用することにより、その中に含まれる情報内容を実質的に変更することなく、シーケンスのサイズを低減し、したがって、後段の分析の効率を高める。正規化モジュール318によって実行される正規化のタイプは実施形態ごとに異なり得、および/または、異なる実施形態では省略され得る。
クラスタリングモジュール320は、同様の挙動シーケンスがまとめてクラスタリングされるように、ソフトウェアの挙動シーケンスをクラスタリングする。クラスタリングモジュール320は、各挙動シーケンスを他の挙動シーケンスと比較して、一連のクラスタを識別し、各クラスタは一連の同様の挙動シーケンスを含む。行動シーケンスはマルウェア312とグッドウェア314の両方から得られるため、結果として得られるクラスタは、単一のクラス(例えば、すべてマルウェア)のシーケンスからなるものでも、両方のクラスの組合せを含んでもよい。
一実施形態では、クラスタリングモジュール320は、類似性の尺度として編集距離を使用して(すなわち、距離測定)、編集の閾値数値内の同一の挙動シーケンスをまとめてクラスタリングする。実施形態に応じて編集距離閾値は異なり得る。それに加えて、クラスタリングモジュール320の異なる実施形態は、異なるおよび/または追加のクラスタリング技法および類似性の尺度を使用して、挙動シーケンスをクラスタリングする。
クラスタ分析モジュール322は、挙動シーケンスのクラスタを分析し、マルウェアに対する行動シグネチャとして使用することができるサブシーケンスを特定する。一実施形態では、クラスタ分析モジュール322は、各クラスタを分析し、クラスタ内の挙動シーケンスに代表されるソフトウェアのクラスを決定する。上記のように、クラスタは、マルウェア、グッドウェアまたは2つのクラスの組合せからのシーケンスを含むことができる。
一実施形態では、クラスタ分析モジュール322は、大部分がソフトウェアの一クラスから得られたシーケンスを含むクラスタを特定する。例えば、モジュール322は、独占的にソフトウェアの一クラスから得られたシーケンスを含むクラスタおよび/またはソフトウェアの一クラスから得られた閾値量(例えば、95%)を超えるシーケンスを含むクラスタを特定することができる。
通常、関連ソフトウェアから得られた挙動シーケンスは、まとめてクラスタリングされる傾向にある。同じグッドウェアの異なるバージョン(例えば、異なるパッチレベル)は、実質的に同じ挙動を実行する場合が多く、したがって、異なるバージョンから得られたシーケンスは、まとめてクラスタリングされる傾向にあることになる。同様に、ポリモーフィックマルウェアファミリの異なるインスタンスから得られたシーケンスは、ポリモーフィズムにもかかわらずマルウェアの挙動が一貫した状態で維持されるため、まとめてクラスタリングされる傾向にある。したがって、大部分がマルウェアから得られたシーケンスを含むクラスタ(「マルウェアクラスタ」と呼ばれる)は、単一のマルウェアファミリ、例えば、ポリモーフィズム、共通のコードベースまたは別の関係性を通じて関連付けられる一連のマルウェアの挙動を説明するものと推定される。
クラスタ分析モジュール322は、マルウェアクラスタを分析し、クラスタに代理されるファミリ内のマルウェアの検出に有用な挙動サブシーケンスを特定する。クラスタに代理されるマルウェアファミリに対するそのようなサブシーケンスを見出すため、モジュール322は、そのクラスタ内の挙動シーケンスのすべてに共通の1つまたは複数のサブシーケンスを特定する。言い換えれば、モジュール322は、クラスタ内の挙動シーケンスのすべてにおいて見出される挙動シーケンスの1つまたは複数の部分を特定する。あるいは、クラスタがマルウェアとグッドウェアの両方を含む実施形態では、クラスタ分析モジュール322は、クラスタ内のマルウェア挙動シーケンスのみに共通の1つまたは複数の挙動サブシーケンスを特定する。クラスタ内の挙動シーケンスに共通の挙動サブシーケンスは、行動シグネチャを作成できる候補対象を代表するため、本明細書では「候補シーケンス」と呼ばれる。
一実施形態では、クラスタ析モジュール322は、サブシーケンスが閾値長さより長い場合にのみ、サブシーケンスを候補対象として特定する。例えば、モジュール322は、10を超える挙動を含む候補シーケンスを特定することができ、ここでの「挙動」はAPI呼び出しまたはオペレーションである。この方法では、クラスタ析モジュール322は、候補対象がマルウェアファミリに限ったことではないため、短過ぎて誤判定のマルウェア検出をもたらす可能性がある候補シーケンスを除外する。
複数の候補シーケンスが存在する場合は、クラスタ分析モジュール322の実施形態は、候補対象を評価し、クラスタ内の挙動シーケンスの中で最も早期に起こる候補対象を特定する。異なる候補対象は、挙動シーケンスの異なる場所で起こり得る。ある候補対象がクラスタ内の挙動シーケンスの終了間近で起こる傾向にあり得る一方で、別の候補対象は挙動シーケンスの開始間近で起こる傾向にあり得る。この状況では、クラスタ分析モジュール322は、より早期に現れた候補シーケンスを、ファミリ内のマルウェアの検出に使用するシーケンスとして選択する。より早期のシーケンスを使用することは、クライアント116側でのマルウェアの早期検出を可能にするため、有利である。他の実施形態は、追加のおよび/または異なる基準を使用して、複数の候補シーケンスの中からシーケンスを選択する。
シグネチャ作成モジュール324は、クラスタ分析モジュール322によって選択された候補シーケンスに基づいて行動シグネチャを作成する。所定のクラスタに対して選択された候補シーケンスの場合、シグネチャ作成モジュール324は、候補シーケンスをその挙動トレース形式に変換し返す。この変換は、場合によりパラメータの正規化を維持する一方で、候補シーケンス内の任意のオペレーションを拡大して、元の挙動シーケンスに戻す工程を伴う。シグネチャ作成モジュール324は、変換された候補シーケンスから行動シグネチャを生成する。行動シグネチャは、対応するクラスタに代表されるマルウェアファミリによって実行された挙動のシーケンスについて説明する。したがって、クライアント112のセキュリティモジュール116でシグネチャを使用して、クライアント側でマルウェアファミリのインスタンスを検出することができる。この様式では、シグネチャ作成モジュール324の実施形態は、マルウェアクラスタのすべてまたは選択されたサブセットに対応するシグネチャを作成する。
シグネチャ更新モジュール326は、マルウェアデータセット312に追加された新しいマルウェアサンプルの観点から行動シグネチャを更新する。一実施形態では、シグネチャ更新モジュール326は、シグネチャ生成モジュール118の他のモジュールを使用して、新しいマルウェアをカバーするシグネチャを効果的に生成する。新しいマルウェアサンプルがマルウェアデータセット312に追加されると、シグネチャ更新モジュール326は、挙動収集モジュール316およびトレース正規化モジュール318を使用して、新しいマルウェアサンプルに対する挙動シーケンスを生成する。また、シグネチャ更新モジュール326は、クラスタリングモジュール320を使用して、新しい挙動シーケンスが既存のクラスタの1つと整合する(クラスタリングする)かどうか判断する。
新しい挙動シーケンスが既存のクラスタと整合する場合、シグネチャ更新モジュール326は、クラスタ分析モジュール322モジュールを使用して、新しく追加された挙動シーケンスの観点からクラスタを分析し、必要ならば、新しい候補シーケンスを生成する。一実施形態では、この分析は、現行の選択された候補シーケンス(すなわち、クラスタに対する行動シグネチャが生成された候補シーケンス)が、新しいマルウェアサンプルに対する挙動シーケンスについても説明するかどうか判断する工程を伴う。説明する場合は、クラスタに対する既存の行動シグネチャを使用して新しいマルウェアを検出することができ、クラスタに対するシグネチャを更新する必要はない。
現行の選択された候補シーケンスが新しい挙動シーケンスについて説明しない場合は、シグネチャ更新モジュール326は、クラスタ分析モジュール322を使用して、クラスタに対する新しい候補シーケンスを生成する。新しい候補シーケンスは、新しいマルウェアサンプルの挙動シーケンスおよび既にクラスタ内に存在していた挙動シーケンスに共通である。次いで、シグネチャ更新モジュール326は、クラスタ分析モジュール322を使用して、新しい候補シーケンスの中から選択し、シグネチャ作成モジュール324を使用して、選択された候補シーケンスに基づいてクラスタに対する新しい行動シグネチャを生成する。シグネチャ生成モジュール118は、クライアント112のセキュリティモジュール116にこの新しい行動シグネチャを分配する。
新しい挙動シーケンスが既存のクラスタと整合しない場合、シグネチャ更新モジュール326の実施形態は、クラスタリングモジュール320を使用して挙動シーケンスに対する新しいクラスタを作成する。シグネチャ更新モジュール326は、クラスタ分析322およびシグネチャ作成324モジュールを使用して、新しいクラスタに対する候補シーケンスを特定し、候補対象の中から選択されたシーケンスに対する新しい行動シグネチャを作成する。シグネチャ生成モジュール118は、クライアント112のセキュリティモジュール116に新しいクラスタに対する行動シグネチャを分配する。
一実施形態では、新しいマルウェアサンプルの挙動シーケンスを既存のクラスタとクラスタリングすることを試みるよりむしろ、シグネチャ更新モジュール326は、データセット312、314内のソフトウェアのすべての挙動シーケンス(新しいマルウェアに対する挙動シーケンスを含む)を再クラスタリングする。再クラスタリングは、カレンダーベースのスケジュールで、指定量の新しいマルウェアが特定されるとき(例えば、最後のクラスタリング以降、50個の新しいマルウェアサンプルが特定されるとき)および/またはそれ以外のとき、新しいマルウェアが特定されるごとに実行することができる。それに加えて、シグネチャ更新技法を使用して、新しいグッドウェアの観点からおよび/またはマルウェア312もしくはグッドウェア314のデータセットからソフトウェアが取り除かれる際、更新されたシグネチャを生成することもできる。
図4は、行動シグネチャを生成および分配するために、セキュリティサーバ110の一実施形態によって実行される工程を示すフローチャートである。他の実施形態は、異なるおよび/または追加の工程を実行することができる。さらに、他の実施形態は、異なる順番で工程を実行することができる。その上、セキュリティサーバ110以外の実体によって工程の一部またはすべてを実行することができる。
初めに、ソフトウェアデータセットを確立する(410)。ソフトウェアデータセットは、マルウェアデータセット312およびグッドウェアデータセット314を含む。セキュリティサーバ110は、例えば、エミュレーション環境でソフトウェアを実行することによって、データセットにソフトウェアに対する挙動トレースを収集する(412)。セキュリティサーバ110は、トレースを標準的な表現にすることによって、ソフトウェアの挙動トレースを正規化する(414)。また、正規化の一環として、セキュリティサーバ110は、トレース内の関連連続挙動をオペレーションに分類して挙動シーケンスを形成する(414)。
セキュリティサーバ110は、例えば、類似性の尺度として編集距離を使用して、同様の挙動シーケンスをまとめてクラスタリングする(416)。セキュリティモジュール110は、マルウェアの特定に使用できる挙動の候補シーケンスを特定するため、大部分がマルウェアから得られたシーケンスを含むクラスタを分析する(418)。セキュリティモジュール110は、マルウェアクラスタに対する候補シーケンスの中から選択し、選択された候補シーケンスを使用してクラスタに代表されるマルウェアファミリに対する行動シグネチャを生成する(418)。セキュリティサーバ110は、クライアント112のセキュリティモジュール116にマルウェアクラスタに対して生成されたシグネチャを分配する(420)。
図5は、新しいマルウェアサンプルを検出するための更新された行動シグネチャを生成および分配するために、セキュリティサーバ110の一実施形態によって実行される工程を示すフローチャートである。図5に示される工程と同様に、他の実施形態は、異なるおよび/または追加の工程を実行することができ、工程は、異なる順番でまたは異なる実体によって実行することができる。
初めに、新しいマルウェアサンプルを特定し、マルウェアデータセット312に追加する(510)。セキュリティサーバ110は、新しいマルウェアに対する挙動トレースを収集し、挙動トレースを正規化して挙動シーケンスを生成する(512)。セキュリティサーバ110は、可能であれば、この挙動シーケンスを既存のクラスタと整合させる(514)。挙動トレースはクラスタと整合することを想定すると、セキュリティサーバ110は、クラスタを分析し、新しいマルウェアサンプルおよび必要であればクラスタ内に既に存在していた他のマルウェアを包含するクラスタに対するシグネチャを再生成する(516)。セキュリティサーバ110は、クライアント112のセキュリティモジュール116に生成されたシグネチャを分配する(518)。新しいシグネチャは、クラスタに対する以前のシグネチャの代用として分配することができる。
したがって、本明細書に記載される技法により、マルウェアのファミリを検出できる行動シグネチャの小さく有効なセットの自動生成が可能になる。さらに、本技法は新しいマルウェアおよびマルウェア亜種が発見されると、新しいシグネチャを効果的に生成する。
上記の説明は、ある特定の実施形態の動作を示すために含まれるものであり、本発明の範囲を限定するためのものではない。本発明の範囲は、以下の特許請求の範囲によってのみ限定されるものとする。上記の論考から、当業者には、本発明の精神および範囲によってさらに包含されるであろう多くの変形形態が明らかになるであろう。

Claims (20)

  1. 悪意のあるソフトウェア(マルウェア)を検出するために行動シグネチャを生成するコンピュータ実装方法であって、
    コンピュータを使用して、マルウェアデータセットにマルウェアの挙動トレースを収集する工程であり、前記挙動トレースは、前記マルウェアによって実行された連続挙動について説明する、工程と、
    前記マルウェアに対する前記挙動トレースを正規化してマルウェア挙動シーケンスを生成する工程と、
    同様のマルウェア挙動シーケンスをクラスタにまとめてクラスタリングする工程であり、前記クラスタ内の前記マルウェア挙動シーケンスは、マルウェアファミリの挙動について説明する、工程と、
    前記クラスタを分析して前記マルウェアファミリに共通の挙動サブシーケンスを特定する工程と、
    前記挙動サブシーケンスを使用して前記マルウェアファミリに対する行動シグネチャを作成する工程と
    を含む、方法。
  2. 前記行動シグネチャを作成する工程の後に、
    新しいマルウェアの挙動トレースを収集する工程であって、前記新しいマルウェアは、以前は前記マルウェアデータセットのメンバーではない、工程と、
    前記新しいマルウェアに対する前記挙動トレースを正規化して前記新しいマルウェアに対する挙動シーケンスを生成する工程と、
    前記新しいマルウェアに対する前記挙動シーケンスが前記マルウェアファミリに対するマルウェア挙動シーケンスのクラスタと整合するかどうか判断する工程と、
    前記クラスタと整合する前記新しいマルウェアに対する前記挙動シーケンスに応じて、前記クラスタを分析して、前記クラスタ内の前記マルウェア挙動シーケンスおよび前記新しいマルウェアに対する前記挙動シーケンスに共通の新しい挙動サブシーケンスを特定する工程と、
    前記新しい挙動サブシーケンスを使用して前記マルウェアファミリに対する新しい行動シグネチャを作成する工程と
    をさらに含む、請求項1に記載の方法。
  3. グッドウェアデータセットにグッドウェアの挙動トレースを収集する工程であって、前記グッドウェアは悪意のないものとして知られているソフトウェアである、工程と、
    前記グッドウェア挙動トレースを正規化してグッドウェア挙動シーケンスを生成する工程と
    をさらに含み、
    前記クラスタリングする工程は、同様のグッドウェアおよびマルウェア挙動シーケンスを前記クラスタにまとめてクラスタリングし、
    前記分析する工程は、前記クラスタ内の前記マルウェア挙動シーケンスのみに共通の挙動サブシーケンスを特定する、請求項1に記載の方法。
  4. 前記挙動トレースは、前記マルウェアによって実行されたアプリケーションプログラミングインターフェース(API)呼び出しについて説明する、請求項1に記載の方法。
  5. 前記マルウェアに対する前記挙動トレースを正規化してマルウェア挙動シーケンスを生成する工程は、
    マルウェア挙動トレース内の関連連続挙動をまとめて分類してオペレーションを形成する工程を含み、マルウェア挙動シーケンスは、1つまたは複数の連続挙動および1つまたは複数のオペレーションを含む、請求項1に記載の方法。
  6. 同様のマルウェア挙動シーケンスをクラスタにまとめてクラスタリングする工程は、
    前記マルウェア挙動シーケンスの間で編集距離を決定する工程と、
    前記決定された編集距離に応じて前記マルウェア挙動シーケンスをクラスタリングする工程と
    を含む、請求項1に記載の方法。
  7. 前記クラスタを分析して前記マルウェアファミリに共通の挙動サブシーケンスを特定する工程は、
    前記クラスタ内の前記マルウェア挙動シーケンスに共通の複数の候補サブシーケンスを特定する工程と、
    前記マルウェア挙動シーケンス内のどこで前記候補サブシーケンスが現れるかを特定する工程と、
    前記マルウェア挙動シーケンス内のどこで前記候補サブシーケンスが現れるかに応じて、前記候補サブシーケンスの中から前記挙動サブシーケンスを選択する工程と
    を含む、請求項1に記載の方法。
  8. 前記マルウェア挙動シーケンス内のどこで前記候補サブシーケンスが現れるかに応じて、前記候補サブシーケンスの中から前記挙動サブシーケンスを選択する工程は、
    他の候補サブシーケンスより早期に前記マルウェア挙動シーケンスに現れた前記挙動サブシーケンスに応じて前記挙動サブシーケンスを選択する工程を含む、請求項7に記載の方法。
  9. クライアントのセキュリティモジュールに前記行動シグネチャを分配する工程をさらに含み、前記セキュリティモジュールは、前記行動シグネチャを使用して前記クライアント側に存在するマルウェアを検出するよう適合される、請求項1に記載の方法。
  10. 悪意のあるソフトウェア(マルウェア)を検出するために行動シグネチャを生成するコンピュータシステムであって、
    マルウェアデータセットにマルウェアの挙動トレースを収集する工程であり、前記挙動トレースは、前記マルウェアによって実行された連続挙動について説明する、工程と、
    前記マルウェアに対する前記挙動トレースを正規化してマルウェア挙動シーケンスを生成する工程と、
    同様のマルウェア挙動シーケンスをクラスタにまとめてクラスタリングする工程であり、前記クラスタ内の前記マルウェア挙動シーケンスは、マルウェアファミリの挙動について説明する、工程と、
    前記クラスタを分析して前記マルウェアファミリに共通の挙動サブシーケンスを特定する工程と、
    前記挙動サブシーケンスを使用して前記マルウェアファミリに対する行動シグネチャを作成する工程と
    を含む工程を実行するために実行可能なコンピュータプログラムモジュールを格納する非一時的なコンピュータ可読記憶媒体と、
    前記コンピュータプログラムモジュールを実行するためのコンピュータプロセッサと
    を備える、コンピュータシステム。
  11. 前記工程は、
    前記行動シグネチャを作成する工程の後に、
    新しいマルウェアの挙動トレースを収集する工程であって、前記新しいマルウェアは、以前は前記マルウェアデータセットのメンバーではない、工程と、
    前記新しいマルウェアに対する前記挙動トレースを正規化して前記新しいマルウェアに対する挙動シーケンスを生成する工程と、
    前記新しいマルウェアに対する前記挙動シーケンスが前記マルウェアファミリに対するマルウェア挙動シーケンスのクラスタと整合するかどうか判断する工程と、
    前記クラスタと整合する前記新しいマルウェアに対する前記挙動シーケンスに応じて、前記クラスタを分析して、前記クラスタ内の前記マルウェア挙動シーケンスおよび前記新しいマルウェアに対する前記挙動シーケンスに共通の新しい挙動サブシーケンスを特定する工程と、
    前記新しい挙動サブシーケンスを使用して前記マルウェアファミリに対する新しい行動シグネチャを作成する工程と
    をさらに含む、請求項10に記載のコンピュータシステム。
  12. 前記工程は、
    グッドウェアデータセットにグッドウェアの挙動トレースを収集する工程であって、前記グッドウェアは悪意のないものとして知られているソフトウェアである、工程と、
    前記グッドウェア挙動トレースを正規化してグッドウェア挙動シーケンスを生成する工程と
    をさらに含み、
    前記クラスタリングする工程は、同様のグッドウェアおよびマルウェア挙動シーケンスを前記クラスタにまとめてクラスタリングし、
    前記分析する工程は、前記クラスタ内の前記マルウェア挙動シーケンスのみに共通の挙動サブシーケンスを特定する、請求項10に記載のコンピュータシステム。
  13. 前記マルウェアに対する前記挙動トレースを正規化してマルウェア挙動シーケンスを生成する工程は、
    マルウェア挙動トレース内の関連連続挙動をまとめて分類してオペレーションを形成する工程を含み、マルウェア挙動シーケンスは、1つまたは複数の連続挙動および1つまたは複数のオペレーションを含む、請求項10に記載のコンピュータシステム。
  14. 前記クラスタを分析して前記マルウェアファミリに共通の挙動サブシーケンスを特定する工程は、
    前記クラスタ内の前記マルウェア挙動シーケンスに共通の複数の候補サブシーケンスを特定する工程と、
    前記マルウェア挙動シーケンス内のどこで前記候補サブシーケンスが現れるかを特定する工程と、
    前記マルウェア挙動シーケンス内のどこで前記候補サブシーケンスが現れるかに応じて、前記候補サブシーケンスの中から前記挙動サブシーケンスを選択する工程と
    を含む、請求項10に記載のコンピュータシステム。
  15. 前記マルウェア挙動シーケンス内のどこで前記候補サブシーケンスが現れるかに応じて、前記候補サブシーケンスの中から前記挙動サブシーケンスを選択する工程は、
    他の候補サブシーケンスより早期に前記マルウェア挙動シーケンスに現れた前記挙動サブシーケンスに応じて前記挙動サブシーケンスを選択する工程を含む、請求項14に記載のコンピュータシステム。
  16. 悪意のあるソフトウェア(マルウェア)を検出するために行動シグネチャを生成するための実行可能なコンピュータプログラムモジュールを格納する非一時的なコンピュータ可読記憶媒体であって、前記モジュールは、
    マルウェアデータセットにマルウェアの挙動トレースを収集するためのモジュールであり、前記挙動トレースは、前記マルウェアによって実行された連続挙動について説明する、モジュールと、
    前記マルウェアに対する前記挙動トレースを正規化してマルウェア挙動シーケンスを生成するためのモジュールと、
    同様のマルウェア挙動シーケンスをクラスタにまとめてクラスタリングするためのモジュールであり、前記クラスタ内の前記マルウェア挙動シーケンスは、マルウェアファミリの挙動について説明する、モジュールと、
    前記クラスタを分析して前記マルウェアファミリに共通の挙動サブシーケンスを特定するためのモジュールと、
    前記挙動サブシーケンスを使用して前記マルウェアファミリに対する行動シグネチャを作成するためのモジュールと
    を含む、コンピュータ可読記憶媒体。
  17. 前記行動シグネチャを作成する工程の後に、
    新しいマルウェアの挙動トレースを収集するためのモジュールであって、前記新しいマルウェアは、以前は前記マルウェアデータセットのメンバーではない、モジュールと、
    前記新しいマルウェアに対する前記挙動トレースを正規化して前記新しいマルウェアに対する挙動シーケンスを生成するためのモジュールと、
    前記新しいマルウェアに対する前記挙動シーケンスが前記マルウェアファミリに対するマルウェア挙動シーケンスのクラスタと整合するかどうか判断するためのモジュールと、
    前記クラスタと整合する前記新しいマルウェアに対する前記挙動シーケンスに応じて、前記クラスタを分析して、前記クラスタ内の前記マルウェア挙動シーケンスおよび前記新しいマルウェアに対する前記挙動シーケンスに共通の新しい挙動サブシーケンスを特定するためのモジュールと、
    前記新しい挙動サブシーケンスを使用して前記マルウェアファミリに対する新しい行動シグネチャを作成するためのモジュールと
    をさらに含む、請求項16に記載のコンピュータ可読記憶媒体。
  18. グッドウェアデータセットにグッドウェアの挙動トレースを収集するためのモジュールであって、前記グッドウェアは悪意のないものとして知られているソフトウェアである、モジュールと、
    前記グッドウェア挙動トレースを正規化してグッドウェア挙動シーケンスを生成するためのモジュールと
    をさらに含み、
    前記クラスタリングする工程は、同様のグッドウェアおよびマルウェア挙動シーケンスを前記クラスタにまとめてクラスタリングし、
    前記分析する工程は、前記クラスタ内の前記マルウェア挙動シーケンスのみに共通の挙動サブシーケンスを特定する、請求項16に記載のコンピュータ可読記憶媒体。
  19. 前記マルウェアに対する前記挙動トレースを正規化してマルウェア挙動シーケンスを生成する工程は、
    マルウェア挙動トレース内の関連連続挙動をまとめて分類してオペレーションを形成する工程を含み、マルウェア挙動シーケンスは、1つまたは複数の連続挙動および1つまたは複数のオペレーションを含む、請求項16に記載のコンピュータ可読記憶媒体。
  20. 前記クラスタを分析して前記マルウェアファミリに共通の挙動サブシーケンスを特定する工程は、
    前記クラスタ内の前記マルウェア挙動シーケンスに共通の複数の候補サブシーケンスを特定する工程と、
    前記マルウェア挙動シーケンス内のどこで前記候補サブシーケンスが現れるかを特定する工程と、
    前記マルウェア挙動シーケンス内のどこで前記候補サブシーケンスが現れるかに応じて、前記候補サブシーケンスの中から前記挙動サブシーケンスを選択する工程と
    を含む、請求項16に記載のコンピュータ可読記憶媒体。
JP2013508131A 2010-04-28 2011-04-25 クラスタリングを使用した行動シグネチャの生成 Active JP5656136B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/769,262 US8464345B2 (en) 2010-04-28 2010-04-28 Behavioral signature generation using clustering
US12/769,262 2010-04-28
PCT/US2011/033829 WO2011137083A1 (en) 2010-04-28 2011-04-25 Behavioral signature generation using clustering

Publications (3)

Publication Number Publication Date
JP2013529335A true JP2013529335A (ja) 2013-07-18
JP2013529335A5 JP2013529335A5 (ja) 2014-06-05
JP5656136B2 JP5656136B2 (ja) 2015-01-21

Family

ID=44121040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013508131A Active JP5656136B2 (ja) 2010-04-28 2011-04-25 クラスタリングを使用した行動シグネチャの生成

Country Status (5)

Country Link
US (1) US8464345B2 (ja)
EP (1) EP2564341B1 (ja)
JP (1) JP5656136B2 (ja)
CA (1) CA2797584C (ja)
WO (1) WO2011137083A1 (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015045043A1 (ja) * 2013-09-25 2015-04-02 三菱電機株式会社 プロセス検査装置、プロセス検査プログラムおよびプロセス検査方法
JP2015225512A (ja) * 2014-05-28 2015-12-14 株式会社日立製作所 マルウェア特徴抽出装置、マルウェア特徴抽出システム、マルウェア特徴方法及び対策指示装置
JP2016066282A (ja) * 2014-09-25 2016-04-28 株式会社日立製作所 ウイルス検知システム及び方法
JP2016091549A (ja) * 2014-10-31 2016-05-23 ベリサイン・インコーポレイテッド マルウェアイベントとバックグラウンドイベントとを分離するためのシステム、デバイス、および方法
JP2017021776A (ja) * 2015-06-30 2017-01-26 エーオー カスペルスキー ラボAO Kaspersky Lab モバイルデバイスでの悪質なファイルを検出するシステム及び方法
JP2017511923A (ja) * 2014-12-19 2017-04-27 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド ウイルス処理方法、装置、システム、機器及びコンピュータ記憶媒体
JP2017097843A (ja) * 2015-09-30 2017-06-01 エーオー カスペルスキー ラボAO Kaspersky Lab スクリプトの実行をブロックするシステム及び方法
JP2018524720A (ja) * 2015-06-27 2018-08-30 マカフィー, エルエルシー マルウェアの軽減
US10325094B2 (en) 2014-08-28 2019-06-18 Mitsubishi Electric Corporation Process analysis apparatus, process analysis method, and process analysis for determining input/output relation of a block of execution trace to detect potential malware
WO2021059509A1 (ja) * 2019-09-27 2021-04-01 日本電気株式会社 学習装置、判別システム、学習方法及び学習プログラムが格納された非一時的なコンピュータ可読媒体
US11126715B2 (en) 2016-07-27 2021-09-21 Nec Corporation Signature generation device, signature generation method, recording medium storing signature generation program, and software determination system
WO2022195732A1 (ja) * 2021-03-16 2022-09-22 日本電信電話株式会社 判定装置、判定方法および判定プログラム
WO2022195737A1 (ja) * 2021-03-16 2022-09-22 日本電信電話株式会社 活動痕跡抽出装置、活動痕跡抽出方法及び活動痕跡抽出プログラム
WO2023089674A1 (ja) * 2021-11-16 2023-05-25 日本電信電話株式会社 生成装置、生成方法および生成プログラム

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9213838B2 (en) * 2011-05-13 2015-12-15 Mcafee Ireland Holdings Limited Systems and methods of processing data associated with detection and/or handling of malware
US9449175B2 (en) * 2010-06-03 2016-09-20 Nokia Technologies Oy Method and apparatus for analyzing and detecting malicious software
US20120173702A1 (en) * 2010-12-30 2012-07-05 Telefonaktiebolaget L M Ericsson (Publ) Automatic Signature Generation For Application Recognition And User Tracking Over Heterogeneous Networks
US9652616B1 (en) * 2011-03-14 2017-05-16 Symantec Corporation Techniques for classifying non-process threats
US9092229B2 (en) * 2011-05-06 2015-07-28 George Mason Research Foundation, Inc. Software analysis system and method of use
US9094288B1 (en) * 2011-10-26 2015-07-28 Narus, Inc. Automated discovery, attribution, analysis, and risk assessment of security threats
US9439077B2 (en) 2012-04-10 2016-09-06 Qualcomm Incorporated Method for malicious activity detection in a mobile station
IL219499B (en) 2012-04-30 2019-02-28 Verint Systems Ltd A system and method for detecting malicious software
US9386028B2 (en) 2012-10-23 2016-07-05 Verint Systems Ltd. System and method for malware detection using multidimensional feature clustering
US9372989B2 (en) 2013-02-15 2016-06-21 Systems of Information Security 2012 Robust malware detector
US9152703B1 (en) 2013-02-28 2015-10-06 Symantec Corporation Systems and methods for clustering data samples
US10365945B2 (en) * 2013-03-27 2019-07-30 International Business Machines Corporation Clustering based process deviation detection
IL226747B (en) 2013-06-04 2019-01-31 Verint Systems Ltd A system and method for studying malware detection
US9519775B2 (en) * 2013-10-03 2016-12-13 Qualcomm Incorporated Pre-identifying probable malicious behavior based on configuration pathways
US9213831B2 (en) 2013-10-03 2015-12-15 Qualcomm Incorporated Malware detection and prevention by monitoring and modifying a hardware pipeline
US9769189B2 (en) 2014-02-21 2017-09-19 Verisign, Inc. Systems and methods for behavior-based automated malware analysis and classification
TWI553503B (zh) 2014-02-27 2016-10-11 國立交通大學 產生候選鈎點以偵測惡意程式之方法及其系統
US9569617B1 (en) * 2014-03-05 2017-02-14 Symantec Corporation Systems and methods for preventing false positive malware identification
US9805115B1 (en) 2014-03-13 2017-10-31 Symantec Corporation Systems and methods for updating generic file-classification definitions
US9684705B1 (en) 2014-03-14 2017-06-20 Symantec Corporation Systems and methods for clustering data
CN103955645B (zh) * 2014-04-28 2017-03-08 百度在线网络技术(北京)有限公司 恶意进程行为的检测方法、装置及系统
US9015814B1 (en) 2014-06-10 2015-04-21 Kaspersky Lab Zao System and methods for detecting harmful files of different formats
US9892270B2 (en) 2014-07-18 2018-02-13 Empow Cyber Security Ltd. System and method for programmably creating and customizing security applications via a graphical user interface
US9565204B2 (en) * 2014-07-18 2017-02-07 Empow Cyber Security Ltd. Cyber-security system and methods thereof
IL233776B (en) 2014-07-24 2019-02-28 Verint Systems Ltd A system and method for adjusting domains
US9710648B2 (en) 2014-08-11 2017-07-18 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US10102374B1 (en) 2014-08-11 2018-10-16 Sentinel Labs Israel Ltd. Method of remediating a program and system thereof by undoing operations
US11507663B2 (en) * 2014-08-11 2022-11-22 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US9762593B1 (en) 2014-09-09 2017-09-12 Symantec Corporation Automatic generation of generic file signatures
CN104298920A (zh) * 2014-10-14 2015-01-21 百度在线网络技术(北京)有限公司 一种病毒文件的处理方法、系统及设备
US10044750B2 (en) 2015-01-16 2018-08-07 Microsoft Technology Licensing, Llc Code labeling based on tokenized code samples
US10560842B2 (en) 2015-01-28 2020-02-11 Verint Systems Ltd. System and method for combined network-side and off-air monitoring of wireless networks
WO2016133271A1 (ko) * 2015-02-16 2016-08-25 에스케이플래닛 주식회사 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치
IL238001B (en) 2015-03-29 2020-05-31 Verint Systems Ltd System and method for identifying communication conversation participants based on communication traffic patterns
US9813437B2 (en) 2015-06-15 2017-11-07 Symantec Corporation Systems and methods for determining malicious-download risk based on user behavior
IL242219B (en) 2015-10-22 2020-11-30 Verint Systems Ltd System and method for keyword searching using both static and dynamic dictionaries
IL242218B (en) 2015-10-22 2020-11-30 Verint Systems Ltd A system and method for maintaining a dynamic dictionary
US10210331B2 (en) * 2015-12-24 2019-02-19 Mcafee, Llc Executing full logical paths for malware detection
US9836603B2 (en) 2015-12-30 2017-12-05 Symantec Corporation Systems and methods for automated generation of generic signatures used to detect polymorphic malware
KR20170108330A (ko) * 2016-03-17 2017-09-27 한국전자통신연구원 악성 코드 탐지 장치 및 방법
IL245299B (en) 2016-04-25 2021-05-31 Verint Systems Ltd A system and method for decoding communication transmitted in a wireless local communication network
US10116680B1 (en) 2016-06-21 2018-10-30 Symantec Corporation Systems and methods for evaluating infection risks based on profiled user behaviors
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
US11695800B2 (en) 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
US10104101B1 (en) * 2017-04-28 2018-10-16 Qualys, Inc. Method and apparatus for intelligent aggregation of threat behavior for the detection of malware
IL252037B (en) 2017-04-30 2021-12-01 Verint Systems Ltd System and method for identifying relationships between computer application users
IL252041B (en) 2017-04-30 2020-09-30 Verint Systems Ltd System and method for tracking computer application users
US10462171B2 (en) 2017-08-08 2019-10-29 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US10432648B1 (en) * 2017-08-28 2019-10-01 Palo Alto Networks, Inc. Automated malware family signature generation
KR102046262B1 (ko) * 2017-12-18 2019-11-18 고려대학교 산학협력단 모바일 운영체제 환경에서 악성 코드 행위에 따른 위험을 관리하는 장치 및 방법, 이 방법을 수행하기 위한 기록 매체
IL256690B (en) 2018-01-01 2022-02-01 Cognyte Tech Israel Ltd System and method for identifying pairs of related application users
US11470115B2 (en) 2018-02-09 2022-10-11 Attivo Networks, Inc. Implementing decoys in a network environment
WO2020060231A1 (ko) * 2018-09-19 2020-03-26 주식회사 맥데이타 네트워크 보안 모니터링 방법, 네트워크 보안 모니터링 장치 및 시스템
FR3092921A1 (fr) 2019-02-14 2020-08-21 Orange Procédé de construction de signatures comportementales de logiciels
JP7278423B2 (ja) 2019-05-20 2023-05-19 センチネル ラブス イスラエル リミテッド 実行可能コード検出、自動特徴抽出及び位置独立コード検出のためのシステム及び方法
US12013937B1 (en) * 2019-06-04 2024-06-18 Trend Micro Incorporated Detection and identification of malware using a hierarchical evolutionary tree
US11258813B2 (en) * 2019-06-27 2022-02-22 Intel Corporation Systems and methods to fingerprint and classify application behaviors using telemetry
WO2021084439A1 (en) 2019-11-03 2021-05-06 Verint Systems Ltd. System and method for identifying exchanges of encrypted communication traffic
US11729207B2 (en) * 2020-06-12 2023-08-15 Vmware, Inc. Hierarchical novelty detection using intended states for network security
US11601446B2 (en) 2020-08-20 2023-03-07 Saudi Arabian Oil Company Method to detect database management system SQL code anomalies
RU2748518C1 (ru) 2020-08-27 2021-05-26 Общество с ограниченной ответственностью "Траст" Способ противодействия вредоносному программному обеспечению (ВПО) путем имитации проверочной среды
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11743286B2 (en) * 2021-01-29 2023-08-29 Palo Alto Networks, Inc. Combination rule mining for malware signature generation
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013A (en) * 1850-01-15 Gate for fences
EP2128798A1 (en) * 2008-05-27 2009-12-02 Deutsche Telekom AG Unknown malcode detection using classifiers with optimal training sets

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7975305B2 (en) * 1997-11-06 2011-07-05 Finjan, Inc. Method and system for adaptive rule-based content scanners for desktop computers
US7809659B1 (en) * 2000-02-24 2010-10-05 Paiz Richard S Method for presenting optimal internet keyword based search result sets using an environmental bitmap and environmental bitmap pyramid structure
US20070192863A1 (en) * 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
US7017186B2 (en) * 2002-07-30 2006-03-21 Steelcloud, Inc. Intrusion detection system using self-organizing clusters
US7694150B1 (en) * 2004-06-22 2010-04-06 Cisco Technology, Inc System and methods for integration of behavioral and signature based security
US7634813B2 (en) * 2004-07-21 2009-12-15 Microsoft Corporation Self-certifying alert
US7519998B2 (en) * 2004-07-28 2009-04-14 Los Alamos National Security, Llc Detection of malicious computer executables
US20070079375A1 (en) * 2005-10-04 2007-04-05 Drew Copley Computer Behavioral Management Using Heuristic Analysis
US9055093B2 (en) * 2005-10-21 2015-06-09 Kevin R. Borders Method, system and computer program product for detecting at least one of security threats and undesirable computer files
US7809670B2 (en) * 2005-12-09 2010-10-05 Microsoft Corporation Classification of malware using clustering that orders events in accordance with the time of occurance
US8201244B2 (en) * 2006-09-19 2012-06-12 Microsoft Corporation Automated malware signature generation
IL181426A (en) 2007-02-19 2011-06-30 Deutsche Telekom Ag Automatic removal of signatures for malware
US8091093B2 (en) * 2007-10-05 2012-01-03 Equilibrium Networks, Incorporated System and method for information assurance based on thermal analysis techniques
US7530106B1 (en) * 2008-07-02 2009-05-05 Kaspersky Lab, Zao System and method for security rating of computer processes
US8635694B2 (en) * 2009-01-10 2014-01-21 Kaspersky Lab Zao Systems and methods for malware classification
US20100251369A1 (en) * 2009-03-25 2010-09-30 Grant Calum A M Method and system for preventing data leakage from a computer facilty

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013A (en) * 1850-01-15 Gate for fences
EP2128798A1 (en) * 2008-05-27 2009-12-02 Deutsche Telekom AG Unknown malcode detection using classifiers with optimal training sets

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6000465B2 (ja) * 2013-09-25 2016-09-28 三菱電機株式会社 プロセス検査装置、プロセス検査プログラムおよびプロセス検査方法
US10073973B2 (en) 2013-09-25 2018-09-11 Mitsubishi Electric Corporation Process testing apparatus, computer-readable medium, and process testing method
WO2015045043A1 (ja) * 2013-09-25 2015-04-02 三菱電機株式会社 プロセス検査装置、プロセス検査プログラムおよびプロセス検査方法
JP2015225512A (ja) * 2014-05-28 2015-12-14 株式会社日立製作所 マルウェア特徴抽出装置、マルウェア特徴抽出システム、マルウェア特徴方法及び対策指示装置
US10325094B2 (en) 2014-08-28 2019-06-18 Mitsubishi Electric Corporation Process analysis apparatus, process analysis method, and process analysis for determining input/output relation of a block of execution trace to detect potential malware
JP2016066282A (ja) * 2014-09-25 2016-04-28 株式会社日立製作所 ウイルス検知システム及び方法
JP2016091549A (ja) * 2014-10-31 2016-05-23 ベリサイン・インコーポレイテッド マルウェアイベントとバックグラウンドイベントとを分離するためのシステム、デバイス、および方法
JP2017511923A (ja) * 2014-12-19 2017-04-27 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド ウイルス処理方法、装置、システム、機器及びコンピュータ記憶媒体
JP2020113290A (ja) * 2015-06-27 2020-07-27 マカフィー, エルエルシー マルウェアの軽減
JP2018524720A (ja) * 2015-06-27 2018-08-30 マカフィー, エルエルシー マルウェアの軽減
JP2017021776A (ja) * 2015-06-30 2017-01-26 エーオー カスペルスキー ラボAO Kaspersky Lab モバイルデバイスでの悪質なファイルを検出するシステム及び方法
JP2019023918A (ja) * 2015-09-30 2019-02-14 エーオー カスペルスキー ラボAO Kaspersky Lab スクリプトの実行をブロックするシステム及び方法
JP2017097843A (ja) * 2015-09-30 2017-06-01 エーオー カスペルスキー ラボAO Kaspersky Lab スクリプトの実行をブロックするシステム及び方法
US11126715B2 (en) 2016-07-27 2021-09-21 Nec Corporation Signature generation device, signature generation method, recording medium storing signature generation program, and software determination system
WO2021059509A1 (ja) * 2019-09-27 2021-04-01 日本電気株式会社 学習装置、判別システム、学習方法及び学習プログラムが格納された非一時的なコンピュータ可読媒体
JPWO2021059509A1 (ja) * 2019-09-27 2021-04-01
JP7272446B2 (ja) 2019-09-27 2023-05-12 日本電気株式会社 学習装置、判別システム、学習方法及び学習プログラム
WO2022195732A1 (ja) * 2021-03-16 2022-09-22 日本電信電話株式会社 判定装置、判定方法および判定プログラム
WO2022195737A1 (ja) * 2021-03-16 2022-09-22 日本電信電話株式会社 活動痕跡抽出装置、活動痕跡抽出方法及び活動痕跡抽出プログラム
WO2023089674A1 (ja) * 2021-11-16 2023-05-25 日本電信電話株式会社 生成装置、生成方法および生成プログラム

Also Published As

Publication number Publication date
CA2797584A1 (en) 2011-11-03
JP5656136B2 (ja) 2015-01-21
CA2797584C (en) 2016-03-22
US8464345B2 (en) 2013-06-11
EP2564341B1 (en) 2015-04-01
WO2011137083A1 (en) 2011-11-03
EP2564341A1 (en) 2013-03-06
US20110271341A1 (en) 2011-11-03

Similar Documents

Publication Publication Date Title
JP5656136B2 (ja) クラスタリングを使用した行動シグネチャの生成
EP2946331B1 (en) Classifying samples using clustering
US8401982B1 (en) Using sequencing and timing information of behavior events in machine learning to detect malware
US11423146B2 (en) Provenance-based threat detection tools and stealthy malware detection
US8190647B1 (en) Decision tree induction that is sensitive to attribute computational complexity
US8413235B1 (en) Malware detection using file heritage data
US9038186B1 (en) Malware detection using file names
US9178906B1 (en) Detecting and remediating malware dropped by files
US8321942B1 (en) Selecting malware signatures based on malware diversity
US9237161B2 (en) Malware detection and identification
US9300682B2 (en) Composite analysis of executable content across enterprise network
US8479296B2 (en) System and method for detecting unknown malware
US9171253B1 (en) Identifying predictive models resistant to concept drift
US20160021174A1 (en) Computer implemented method for classifying mobile applications and computer programs thereof
Nissim et al. Trusted system-calls analysis methodology aimed at detection of compromised virtual machines using sequential mining
US11356467B2 (en) Log analysis device, log analysis method, and log analysis program
US8510836B1 (en) Lineage-based reputation system
Wang et al. Detecting worms via mining dynamic program execution
US11470097B2 (en) Profile generation device, attack detection device, profile generation method, and profile generation computer program
Čeponis et al. Towards a robust method of dataset generation of malicious activity for anomaly-based HIDS training and presentation of AWSCTD dataset
Pandiaraja et al. A graph-based model for discovering host-based hook attacks
Shalaginov et al. Automated intelligent multinomial classification of malware species using dynamic behavioural analysis
US20220237302A1 (en) Rule generation apparatus, rule generation method, and computer-readable recording medium
CN113010268A (zh) 恶意程序识别方法及装置、存储介质、电子设备
Sujyothi et al. Dynamic malware analysis and detection in virtual environment

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140416

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140416

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20140416

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140715

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141001

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141113

R150 Certificate of patent or registration of utility model

Ref document number: 5656136

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250