JP6909770B2 - ウィルス対策レコードを作成するシステムと方法 - Google Patents

ウィルス対策レコードを作成するシステムと方法 Download PDF

Info

Publication number
JP6909770B2
JP6909770B2 JP2018207267A JP2018207267A JP6909770B2 JP 6909770 B2 JP6909770 B2 JP 6909770B2 JP 2018207267 A JP2018207267 A JP 2018207267A JP 2018207267 A JP2018207267 A JP 2018207267A JP 6909770 B2 JP6909770 B2 JP 6909770B2
Authority
JP
Japan
Prior art keywords
api function
record
function call
file
protector module
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.)
Active
Application number
JP2018207267A
Other languages
English (en)
Other versions
JP2019169121A (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.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
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 Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of JP2019169121A publication Critical patent/JP2019169121A/ja
Application granted granted Critical
Publication of JP6909770B2 publication Critical patent/JP6909770B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • 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/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly 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
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Description

本開示は、コンピュータセキュリティ分野に関し、より具体的には、ウィルス対策レコードを作成するためのシステムおよび方法に関する。
従来のシグネチャ解析は、悪意あるファイル、中でも、ポリモーフィック型ウィルスや難読化されたファイルやシェルコードの検出に対しては、効果が低い。
そのため、最新のウィルス対策アプリケーションは、悪意あるソフトウェアを検出するために、他の技術も利用している。例えば、いわゆる「サンドボックス」を用いたスキャンもある。サンドボックスとは、システムの他の部分から特別に隔離された環境のことである。リソースへのアクセスとリソースの使用をできるのは、サンドボックス内で実行されるプロセスに限定される。「サンドボックス」は、例えば、ファイルシステムおよびレジスタの部分的な仮想化に基づくか、ファイルシステムおよびレジスタに対するアクセスルールに基づくか、あるいはハイブリッド手法に基づいて、バーチャルマシン上に実現されることもある。スキャンされるファイルは「サンドボックス」内で実行される。ファイルが実行される過程で、API関数呼び出しおよびシステムイベントに関するレコード(すなわち、情報)は(さらに、解析中や送受信中のデータや、ネットワーク接続なども)呼び出しログ(API関数呼び出しのログ)に保存される。ウィルス対策アプリケーションは、さらに、得られた呼び出しログのレコードが満たす挙動ルール(例えば、悪意ある挙動の既知のパターン)を検索する。呼び出しログは、ファイルが実行中に実施したアプリケーションプログラミングインターフェース(Application Programming Interface:API)関数呼び出しのレコードを保存するために用いられる。API関数呼び出し、すなわち、プロシージャコール(プロシージャを呼び出すCALLコマンド)は、プロシージャ(API関数)コールを実行するための無条件制御移行として定義される。CALLコマンドによって、リターンアドレスがスタックに記憶され、API関数の実行に移行する。呼び出されるAPI関数に関する情報には、API関数に渡されるデータと、API関数から返されるデータと、API関数を呼び出すプロセスと、API関数を提供するライブラリ/アプリケーション/カーネルと、API関数のコードと、API関数の呼び出し元アドレスと、API関数が位置するアドレスと、リターンアドレス、などが含まれる。呼び出しログは、呼び出されたAPI関数からのリターンコマンド(例えば、プロシージャからのリターンをするRETコマンド)に関する情報も保存する。API関数からのリターンコマンドが実行されると、リターンアドレスがスタックから取り出され、リターンアドレスへの制御の移行が行われる。一般に、サンドボックス内において、ファイルは、限られた時間内(数10秒以内)に実行される。
ファイル中の悪意ある機能的要素を検出するためのもう1つの技術として、エミュレーションを用いるものがある。エミュレーションは、エミュレータ内でコードを実行する際にホストシステムを模擬することで実行される。
最新のウィルス対策においては、上記の技術が併用される。一般的に、ファイルのシグネチャ解析が最初に実施される。シグネチャ解析中に悪意ある挙動が発見されなかった場合、次に、エミュレータ内または「サンドボックス」内でファイルが実行される(通常、「サンドボックス」内での実行は、ウィルス対策ソフトウェアの製造業者の計算能力の高さを考慮して、ウィルス対策ソフトウェアの製造業者サイドで実施される)。エミュレータ内またはサンドボックス内での実行中に、悪意ある機能的要素が発見されなかった場合、ファイルは、ユーザのコンピュータ上での実行用に転送される。しかし、悪意ある機能的要素がエミュレータ内またはサンドボックス内での実行中に発見されなかったという可能性がまだ残っている。さらに効果的な保護を提供するために、ユーザのコンピュータ上で、挙動アナライザ(事前型プロテクタ)の監視の下に、未知のファイルが実行される。「サンドボックス」やエミュレータと類似して、挙動アナライザは、ユーザのコンピュータ上でのファイルの実行の過程で、API関数の呼び出しログを収集して解析する。上述の検出技術に関しては、呼び出しログと挙動ルールは、それらの動作原理の相違により、共通のレコードと個別のレコードを有していることがある。挙動アナライザは、インストールされたドライバ/インターセプタを用いて、悪意あるコードの実行中に実行されているAPI関数の呼び出し、および呼び出されたAPI関数からのリターンコマンドをインターセプトして、インターセプトされた呼び出しとリターンコマンドを呼び出しログに保存する。その後、挙動アナライザは、呼び出しログの中から挙動ルール(既知の悪意ある挙動のパターン)を検索して、(例えば、コンピュータウィルス、ネットワークワーム、トロイの木馬プログラム、もしくは条件によっては望ましくないソフトウェアなどの)判定を下す。挙動アナライザによる呼び出しログの解析の原理は、「サンドボックス」やエミュレータの動作と類似している。しかし、挙動アナライザには、ファイルの実行時間に関する制限はない。挙動アナライザは、その他の点において異なっている。例えば、挙動アナライザにおいては、ファイルは隔離された環境やエミュレータ内ではなくユーザのコンピュータ上で実行されるため、エミュレータや「サンドボックス」の検出および迂回手法は有効ではない。挙動アナライザがファイルを実行している間、ユーザのコンピュータはファイル本体を実行している可能性がある。したがって、悪意あるファイルが挙動アナライザによって検出されて無害化されるまでに、システムに害を及ぼす恐れがある。
さらに綿密な解析を実施するために、「サンドボックス」は、通常、より高い計算能力を有し、調査するファイルの実行時間のより長いサーバ上に位置している。ウィルス対策会社に届けられた未知の疑わしいファイルは「サンドボックス」内で解析される。解析によって、挙動ルールに対応する挙動が特定された場合、ファイルは悪意あるものであると判定される。その後、解析者は、ウィルス対策レコード、すなわち、ユーザのコンピュータ上でプロテクタ(例えば、アンチウィルスなどの、保護モジュール)によって悪意あるファイルを検出するための挙動ルールを作成してもよい。例えば、解析者は、シグネチャ解析のためのウィルス対策レコード、挙動アナライザのための挙動ルール、またはエミュレータのための挙動ルールを更新してもよい。しかし、解析者がバーチャルマシン上で悪意あるファイルを検出してから、ウィルス対策アプリケーションのためのウィルス対策レコード(すなわち、コンピューティングデバイスのプロテクタ)を作成するまでには、大幅な時間が経過する恐れがある。このように、解決すべき技術的課題は、バーチャルマシン(「サンドボックス」)の呼び出しログのレコードに対応する特定された挙動ルールに基づいて、コンピューティングデバイスのプロテクタのためのウィルス対策レコードをタイムリーに作成することである。
ウィルス対策レコードを作成するためのシステムおよび方法を以下に開示する。態様の一例においては、ウィルス対策レコードを作成するために提供されるシステムは、ファイルのAPI関数呼び出しのログを解析して、1つ以上の挙動ルールを用いて悪意ある挙動の有無を調べ、API関数呼び出しのログのレコードに対応する挙動ルールが特定された場合に、ファイルは悪意あるものであると判定し、特定された挙動ルールと関連するAPI関数呼び出しの1つ以上のレコードを抽出し、API関数呼び出しの少なくとも1つの抽出されたレコードがコンピューティングデバイスのプロテクタによって記録可能か否かを判定し、かつ、API関数呼び出しの少なくとも1つの抽出されたレコードがコンピューティングデバイスのプロテクタによって記録可能である場合、コンピューティングデバイスのプロテクタのためのウィルス対策レコードを作成するように構成された対標的型攻撃プロテクタのハードウェアプロセッサを備え、作成されたウィルス対策レコードはAPI関数呼び出しの抽出されたレコードを少なくとも含む。
態様の一例においては、ハードウェアプロセッサを備えるコンピュータにおいて実現される方法は、ファイルのAPI関数呼び出しのログを解析して、1つ以上の挙動ルールを用いて悪意ある挙動の有無を調べることと、API関数呼び出しのログのレコードに対応する挙動ルールが特定された場合に、ファイルは悪意あるものであると判定することと、特定された挙動ルールと関連するAPI関数呼び出しの1つ以上のレコードを抽出することと、API関数呼び出しの少なくとも1つの抽出されたレコードがコンピューティングデバイスのプロテクタによって記録可能か否かを判定すること、および、API関数呼び出しの少なくとも1つの抽出されたレコードがコンピューティングデバイスのプロテクタによって記録可能である場合、コンピューティングデバイスのプロテクタのためのウィルス対策レコードを作成することを含み、作成されたウィルス対策レコードはAPI関数呼び出しの抽出されたレコードを少なくとも含む。
態様の一例においては、方法は、コンピューティングデバイスのプロテクタがAPI関数呼び出しの少なくとも1つの抽出されたレコードの記録をサポートしていない場合、API関数呼び出しのサポートされていないレコードの記録に対するサポートをコンピューティングデバイスのプロテクタに追加することをさらに含む。
態様の一例においては、方法は、サポートを追加した後に、コンピューティングデバイスのプロテクタのためのウィルス対策レコードを作成することをさらに含む。作成されたレコードはAPI関数呼び出しの抽出されたレコードから構成される。
態様の一例においては、方法は、コンピューティングデバイスのプロテクタがAPI関数呼び出しの少なくとも1つの抽出されたレコードの記録をサポートしていない場合、挙動ルールに含まれるAPI関数呼び出しのすべてのレコードの数に対するAPI関数呼び出しのサポートされているレコードの割合が所定のしきい値より大きい場合に、コンピューティングデバイスのプロテクタのためのウィルス対策レコードを作成することをさらに含む。作成されたレコードはAPI関数呼び出しのサポートされているレコードだけを含む。
態様の一例においては、対標的型攻撃プロテクタ上のファイルの解析は、レピュテーションサービスを用いたチェック、YARAルールを用いたチェック、および専門的解析のうち少なくとも1つを含む。
態様の一例においては、対標的型攻撃プロテクタはサンドボックスを含み、API関数呼び出しのログには、サンドボックスの中でファイルから起動された実行中のプロセスが収容される。
態様の一例においては、サンドボックスは、バーチャルマシン上での実現、ファイルシステムとレジスタの部分的仮想化に基づく実現、およびファイルシステムとレジスタへのアクセスルールに基づく実現のうち少なくとも1つとして実現される。
上記の、本開示の態様例の簡単な概要は、本開示の教示の基本的な理解を提供するためのものである。概要は、すべての熟考された態様の広範な概説ではなく、すべての態様の鍵となる要素や重要な要素を特定したり、本開示の教示の任意またはすべての態様の範囲を規定することを意図するものではない。上述のことを達成するために、本開示の1つ以上の態様は、特許請求の範囲で説明され、かつ例示的に示される特徴を含んでいる。
上述のように、ウィルス対策レコードは、本開示の教示に従って作成され、コンピューティングデバイスの保護を有利に向上させる。
加えて、悪意あるファイルの特定可能数が増加する。例えば、バーチャルマシンの呼び出しログのレコードに対応する特定された挙動ルールに基づいて、コンピューティングデバイスの保護モジュールのためのウィルス対策レコードを作成することによって、悪意あるファイルの特定可能数が増加する。
さらに他の利点として、ウィルス対策レコードを作成するための時間が、他の手法に伴う時間と比べて短縮される。例えば、バーチャルマシンの呼び出しログのレコードに対応する特定された挙動ルールに基づいて、プロテクタのためのウィルス対策レコードを作成することによって、ウィルス対策レコードの作成に要する時間が有利に短縮される。
本明細書に組み込まれ、その一部を構成する添付図面は、本開示の1つ以上の態様例を図示し、それらの原理および実施例を説明するために、詳細説明と共に供される。
図1は、本開示の教示に従ったウィルス対策レコードの作成に使用される情報システムを示す。
図2は、「サンドボックス」の一例を示すブロック図である。
図3は、コンピューティングデバイスのプロテクタのブロック図の一例を示す。
図4は、標的型攻撃からの保護のためのプロテクタのブロック図の一例を示す。
図5は、本開示の教示に従ったウィルス対策レコードの作成方法に対するフローチャートを示す。
図6は、本開示の複数の態様を実現可能な汎用コンピュータシステムの一例を示す。
ウィルス対策レコードの作成のためのシステム、方法、および、コンピュータプログラム製品に関する態様例について以下に説明する。以下の説明は、単に例示の目的のためであって、いかなる制限を加えることも意図されていないことは、当業者には理解されるであろう。その他の態様は、本開示から利益を得る当業者には、容易に想起できるであろう。添付図面に示すように、態様例の実施態様が詳細に参照される。同一あるいは類似する項目には、図面および以下の説明を通して、可能な範囲で、同一の参照符号を用いる
用語解説
明確化のために、最初に、本開示の1つ以上の態様例の説明に用いられる用語を以下に提示する。
侵害指標(Indicator Of Compromise:IOC、また、頻度はそれより低いが、感染指標(indicator of infection)とも呼ばれる)とは、コンピュータ上またはネットワーク上で観察できる情報システムへの侵入の痕跡(アーティファクト)、すなわち、残留痕跡である。代表的な侵害指標として、ウィルス対策レコード、IPアドレス、ファイルのチェックサム、URLアドレス、ボットネットのコマンドセンターのドメイン名などがある。侵害指標に関しては、特に、以下のようないくつかの基準が存在する。
・OpenIOC(http://blogs.rsa.com/understanding-indicators-of-compromise-ioc-part-i/, http://openioc.org/)、
・STIX(https://stix.mitre.org/)、
・CybOX(https://cybox.mitre.org)など。
コンピュータ攻撃(サイバー攻撃とも呼ばれる)とは、情報システムや情報通信ネットワークの情報のセキュリティを侵害するために行われる、それらのシステムやネットワークに対するソフトウェアおよびハードウェアによる標的型行為である。
標的型攻撃(Targeted Attack:TA)とは、特定の組織や特定の個人に向けられたコンピュータ攻撃の特定のケースである。
ファジーハッシュ、すなわち、フレキシブルフィンガープリント(局所性鋭敏型ハッシュ)とは、ファイルの作成時からの変化に対して安定なファイルフィンガープリントである。すなわち、悪意あるファイルを検出すると、そのファイルのフィンガープリント値を用いて、多くの類似した(未知であるかもしれない)悪意あるファイルも検出されるであろう。そのようなフィンガープリントの主な特徴は、ファイルのわずかな変化に対して不変であるということである(例えば、特許番号US8955120参照)。
ファジー判定とは、ファイルの実行中に疑わしい動作を検出した際の、プロテクタ(ウィルス対策アプリケーション)の応答であり、例えば、そのファイルが悪意あるファイルの特徴を有していることを示す判定である。ファジー判定は、例えば、フレキシブルフィンガープリントによるファイル検出をきっかけとして、実行される。ファジー判定は、検出されたファイルが悪意あるものであることを示し、判定に対するある程度の確率も与える。
本開示の教示の説明に戻って、図1は、本開示の教示に従ったウィルス対策レコードの作成に使用される情報システムを示す。情報システム100は、コンピュータネットワーク109と通信可能に接続された少なくとも1台のコンピューティングデバイス101(略して、コンピュータとも呼ばれる)を含む。コンピューティングデバイス101は、例えば、パーソナルコンピュータ、ノートパソコン、スマートフォン、ネットワーク機器(例えば、ルータ、スイッチ、ハブ)などの標準的なコンピューティングデバイスを備えている。ここで注意すべきことは、コンピューティングデバイス101は物理的装置、または物理的装置上で動作するバーチャルマシンのようなソフトウェアのいずれであってもよいということである。情報システム100は、例えば、フルコネクト型、バス型、星型、リング型、セル型、および混合型ネットワークトポロジーのうち1つなどの、従来技術で公知の任意のネットワークトポロジー109を用いて構成してもよい。
コンピューティングデバイスのプロテクタ102(保護モジュール)をコンピューティングデバイス101上に設置してもよい。ここで注意すべきことは、情報システム100が2台以上のコンピューティングデバイス101を含む場合、何台かのコンピューティングデバイス101には、プロテクタ102を設置しないこともあるということである。
情報システム100は、さらに、対標的型攻撃プロテクタ103を含んでおり、それは、例えば、別体のサーバ上に位置してもよい。別体のサーバは、コンピュータネットワーク109を介して、少なくとも1台のコンピューティングデバイス101と接続されてもよい。コンピューティングデバイス101をネットワーク109を介してインターネットおよび検出装置110に接続するために、プロキシサーバ(図示せず)を使用してもよい。対標的型攻撃プロテクタ103は、さらに詳細に後述するような、脅威データベース105、呼び出しログ104、およびバーチャルマシン106を含んでもよい。
システムは、さらに、コンピューティングデバイス101上で動作するプロテクタ102を備えた少なくとも1台のコンピューティングデバイス101を含んでもよい(一例として、図1は、それぞれのコンピューティングデバイス101上で動作する2つのプロテクタ102を示す)。
プロテクタ102はコンピューティングデバイス101の呼び出しログ107と脅威データベース108を含んでもよい。プロテクタ102の、エミュレータや挙動アナライザなどのようなモジュール(より詳細には図3参照)は、調査されるファイルの実行中のAPI関数呼び出しに関するレコード(例えば、関数名、渡されたパラメータ、関数呼び出し時刻)を呼び出しログ107に記録してもよい。
態様の一例においては、API関数呼び出しに関する呼び出しログ107の各レコードは以下の情報を含む。
・呼び出された関数の識別子(例えば、名前)、
・調査されるファイルから起動されたプロセスの一意的識別子(プロセス識別子(Process IDentifier:PID))、
・プロセスのアドレス空間の命令を実行するスレッドの一意的識別子(スレッド識別子(Thread IDentifier:TID))、
・上記関数の1組の引数、および、
・関数呼び出し時刻。
プロテクタ102のためのウィルス対策レコードは、例えば、オンアクセススキャナ、挙動アナライザのための挙動ルール、またはエミュレータの挙動ルールのウィルス対策レコードのような、対応するプロテクタ102のためのシグネチャやルールとして定義してもよい。シグネチャの場合、ウィルス対策レコードは、例えば、ファイルコードのセグメントのハッシュサムや、ファイルコードの異なるセグメントからの1組のハッシュサムとそれらのハッシュサムの選択ルール(例えば、シグネチャに含まれる3つのハッシュサムのうち2つがヒットした場合、シグネチャ全体がヒットしたと考えられる)などを構成してもよい。挙動アナライザとエミュレータのための挙動ルールの例を以下に示す。
検出装置110(検出モジュール)を、コンピュータネットワーク109を介してプロテクタ102および103と接続され、ファイルのさらに詳細な解析の実行に用いるリモートサーバ上に据え付けてもよい。
図2は、「サンドボックス」の一例を示すブロック図である。「サンドボックス」は、プロセスの安全な実行のためのコンピュータ環境を構成する。本開示の態様の一例においては、「サンドボックス」は、ファイルシステムとレジスタの部分的仮想化に基づくか、ファイルシステムとレジスタへのアクセスルールに基づくか、あるいはハイブリッド手法に基づいて、バーチャルマシンの形で実現されてもよい。図2は、オペレーティングシステム(Operating System:OS)131を搭載したバーチャルマシン106の形で実現された「サンドボックス」の一例を示す。バーチャルマシン106は、対標的型攻撃プロテクタ103の制御下でファイル133を実行するように設計される。ここで注意すべきことは、ファイル133は任意のデータ形式を持つファイルであってよく、任意のデータを含んでもよいということである。
ファイル133の実行中、バーチャルマシン106に含まれるロギングコンポーネント132がAPI関数呼び出しをインターセプトし、API関数呼び出しに関するレコードを次々と入力する。レコードは、同じくバーチャルマシン106上に位置する呼び出しログ134に入力される。バーチャルマシンの呼び出しログ134は、少なくとも、バーチャルマシン上でのファイルの実行中に記録されたAPI関数呼び出しに関するレコードを含んでいる。
API関数呼び出し、すなわち、プロシージャコール(プロシージャを呼び出すCALLコマンド)は、プロシージャ(API関数)コールを実行する無条件制御移行として定義される。CALLコマンドによって、リターンアドレスがスタックに記憶され、API関数の実行に移行する。呼び出されるAPI関数に関する情報には、API関数に渡されるデータと、API関数から返されるデータと、API関数を呼び出すプロセスと、API関数を提供するライブラリ/アプリケーション/カーネルと、API関数のコードと、API関数の呼び出し元アドレスと、API関数が位置するアドレスと、リターンアドレス、などが含まれる。呼び出しログは、呼び出されたAPI関数からのリターンコマンド(プロシージャからのリターンをするRETコマンド)に関する情報も保存し、呼び出されたAPI関数からのリターンコマンドが実行されると、リターンアドレスがスタックから取り出され、リターンアドレスへの制御の移行が行われる。サンドボックス内において、ファイルは、通常、限られた時間内(数10秒以内)に実行される。
態様の一例においては、API関数呼び出しに関する呼び出しログ134(および、したがって、呼び出しログ104)の各レコードは以下の情報を含む。
・呼び出された関数の識別子(例えば、名前)、
・調査されるファイル133から起動されたプロセスの一意的識別子(PID)、
・プロセスのアドレス空間の命令を実行するスレッドの一意的識別子(TID)、および、
・上記関数の1組の引数。
態様のさらに他の例においては、バーチャルマシン106上でファイル133が実行される間、以下の情報が追加記録される。
・API関数からリターンアドレスに制御を移行するためのコマンド、
・ウィンドウズ(登録商標)NTネイティブAPI関数の直接呼び出し、
・ウィンドウズ(登録商標)NTネイティブAPI関数からリターンするためのコマンド、
・コンピュータシステムの状態の変更方法、特に、コンピュータシステムのシャットダウンまたは再起動のイベント、
・オペレーティングシステム内のイベント、
・侵害指標、
・システムコール、
・プロテクタの判定、
・ファイルのチェックサムまたはファイルの一部のチェックサム、
・ファイルの供給元、
・ファイル実行のエミュレーション結果、
・コンピューティングデバイス上にファイルが出現した時刻、
・ファイルがネットワークを介して入手したデータ、
・ファイルがネットワークを介して送信したデータ、
・コンピュータ上のDNSハイジャック、
・オペレーティングシステムの自動更新の停止、
・ファイアウォールの停止、
・プロテクタの停止、
・「ユーザアカウント制御」コンポーネントの停止、
・オペレーティングシステムの「システム復元」コンポーネントの停止、
・ファイルマネージャにおける「隠しファイル、フォルダ、ディスクの表示」オプションの停止、
・ファイアウォールのルールの変更、
・hostsファイルの変更、および、
・ファイルの自己削除。
挙動ルールとウィルス対策レコードは、さらに上記情報を含む。
以下の出口条件のうち1つが発生した場合、バーチャルマシン106上のファイル133の実行は完了する。
プロセスが完了した。
指定された期間が経過した。
これまでにステップが所定回数(例えば、3回)実行された。
プロセスが実行した命令数が、命令数の所定しきい値(例えば、100000命令)を超過する。
出口条件が満たされた場合、すなわち、バーチャルマシン106上のファイル133の実行が完了した場合、プロテクタ103は、バーチャルマシンに収容されている呼び出しログ134のレコードを保存し、レコードは、プロテクタ103が動作しているオペレーティングシステム内に収容されている呼び出しログ104に保存される。
態様のさらに他の例においては、ロギングコンポーネント132は、ネットワーク、レジスタ、ファイルシステム、RAM、プロセス、およびスレッドとの協調動作を担うシステムコールに関する情報を含むレコードをインターセプトして、呼び出しログ134に入力する。
ここで注意すべきことは、ロギングコンポーネント132がAPI関数をインターセプトするときは、ロギングコンポーネント132は呼び出しスタックおよびプロセッサ上で実行中の命令にアクセスできるということである。態様の他の例においては、ロギングコンポーネント132は、例外およびプロセッサ上で実行中の命令に関するレコードを、呼び出しログ134に保存する。
態様のさらに他の例においては、ロギングコンポーネント132は、以下の例外を特定するように設計される。
・CALL命令実行時のアクセス権違反、
・メモリへの書き込み時のアクセス権違反、
・コマンドカウンタのアドレスにあるメモリから、あるいはコマンドカウンタのアドレスと所定精度内で一致するアドレスにあるメモリからの読み込み時のアクセス権違反、
・データ実行防止ポリシー違反、
・スタック上のバッファオーバフロー
・動的メモリ破壊(ヒープ破壊)、および、
・禁止されている命令、誤った命令、あるいは特権命令の実行の試行。
例えば、API関数 KiUserExceptionDispatcher の呼び出しをインターセプトした後、レジスタ、システム構造体、および呼び出しスタックを解析した際に、ロギングコンポーネント132は「メモリへの書き込み時のアクセス権違反」例外を特定するかもしれない。
プロテクタ103は、脅威データベース105に収容されている挙動ルールの中から、呼び出しログ104のレコードに対応する挙動ルールを特定するように設計される。挙動ルールは、少なくとも1つのAPI関数の呼び出しに関する情報、および挙動ルールが呼び出された場合の判定(例えば、コンピュータウィルス、インターネットワーム、トロイの木馬プログラム、または条件によっては望ましくないソフトウェア)を含む。態様の一例においては、挙動ルールは、1組のAPI関数呼び出しと、その1組のAPI関数呼び出しに関する論理式から構成される。例えば、あるAPI関数が、あるパラメータ付きで、挙動ルールによって指定されたように呼ばれた場合、プロテクタ103は呼び出しログ104の中から挙動ルールを発見する可能性がある。態様の他の例においては、挙動ルールは、その同じ挙動ルールの他のレコードに対して付された条件をさらに含んでもよい。そのような条件は、例えば、ウィルス対策レコードのレコード数のチェック、ウィルス対策レコードのレコード順序のチェックなどであってもよい。
このように、バーチャルマシン上やエミュレータ上で実行されたときの挙動アナライザおよび「サンドボックス」の両方において、挙動ルールが用いられる。挙動ルールの相違は、API関数呼び出しに関する情報とAPI関数呼び出しに対して付された条件に伴うものであってもよい。例えば、挙動アナライザは、バーチャルマシンやエミュレータが記録することのできるAPI関数呼び出しのリストに対して、全面的または部分的に相違する可能性のあるリスト中にあるAPI関数呼び出しに関するレコードを記録してもよい。一方、態様の他の例においては、挙動アナライザ、バーチャルマシン、およびエミュレータにおける上述のAPI関数呼び出しのリストは一致していてもよい。
図3は、コンピューティングデバイスのプロテクタのブロック図の一例を示す。コンピューティングデバイスのプロテクタ102は、コンピューティングデバイス101の情報セキュリティを確保するように設計された、以下の複数のモジュール(特定モジュール)を含んでもよい。すなわち、オンアクセススキャナ、オンデマンドスキャナ、Eメールアンチウィルス、ウェブアンチウィルス、挙動アナライザ(事前保護モジュール)、ホスト侵入防止システム(Host Intrusion Prevention System:HIPS)モジュール、データ漏洩防止(Data Loss Prevention:DLP)モジュール、脆弱性スキャナ、エミュレータ、ファイアウォールなどを含んでもよい。本開示の態様の一例においては、上記の特定モジュールはプロテクタ102に組み込まれた部分であってもよい。態様のさらに他の例においては、上記の特定モジュールは個別のプログラム部品の形で実現されてもよい。
オンアクセススキャナは、ユーザのコンピュータシステム上で開かれたり、起動されたり、保存されたりするすべてのファイルの悪意ある動作を検出するプログラムを収容している。オンデマンドスキャナは、ユーザが指定した、すなわち、ユーザの要求に応じたファイルやディレクトリをスキャンするという点で、オンアクセススキャナとは異なっている。
Eメールアンチウィルスは、送受信されるEメールが悪意あるファイルを含んでいるどうかをチェックするために用いられる。ウェブアンチウィルスは、ユーザがアクセスしたウェブサイト上に含まれる恐れのある悪意あるコードの実行を防止し、また、ウェブサイトが開かれることを阻止する機能を果たす。HIPSモジュールは、プログラムの望ましくない動作や悪意ある動作を検出し、実行時にそのような動作を阻止する機能を果たす。DLPモジュールは、コンピュータやネットワークからの機密データの漏洩を検出および防止する機能を果たす。脆弱性スキャナは、コンピューティングデバイス101の脆弱性(例えば、プロテクタ102の特定の構成要素の停止、ウィルスデータベースの陳腐化、ネットワークポートの閉鎖など)を検出するために必要とされる。ファイアウォールは、指定されたルールに従ったネットワークトラフィックのチェックとフィルタリングを提供する。エミュレータは、エミュレータ内でのコードの実行中にホストシステムを模擬する役割を担う。挙動アナライザは、挙動ルールを用いて、実行中のファイルの挙動を検出し、ファイルを信頼度によって分類する。ファイルの実行の過程で、挙動アナライザは、呼び出しログ107の中から、少なくとも、脅威データベース108から得た挙動ルールに対応するAPI関数呼び出しに関する記録されたレコードを検索する。態様の特定の一例においては、呼び出しログ107と脅威データベース108はコンピューティングデバイス101上に位置する。
挙動ルールは、少なくとも1つのAPI関数の呼び出しに関するレコード、およびそのルールが呼び出された場合の判定(例えば、コンピュータウィルス、インターネットワーム、トロイの木馬プログラム、または条件によっては望ましくないソフトウェア)を含む。態様の他の例においては、挙動ルールは、1組のAPI関数呼び出しと、その1組のAPI関数呼び出しに関する論理式から構成される。例えば、あるAPI関数が、あるパラメータ付きで、挙動ルールによって指定されたように呼ばれた場合、プロテクタ102は呼び出しログ107の中から挙動ルールを発見する可能性がある。
また、挙動ルールは、そのルールが呼び出されたときに下された判定に対応する。すなわち、悪意あるかもしくは望ましくないソフトウェアのカテゴリーのうち、最も可能性の高いカテゴリーが、その挙動ルールに対応する。例えば、判定結果は、コンピュータウィルス、インターネットワーム、トロイの木馬プログラム、または条件によっては望ましくないソフトウェアである可能性がある。
態様の他の例においては、(挙動アナライザ、エミュレータ、および「サンドボックス」の)挙動ルールは、以下のうち少なくとも1つを含む。
・疑わしいAPI関数のリスト中にあるAPI関数の呼び出し(例えば、リストは、API関数、WinExec, CreateProcess, GetFileSize, CreateFileを含んでもよい)、
・API関数GetFileSizeの10回にわたる呼び出し、
・API関数WriteFile(ファイルへの書き込み)の呼び出しに続く、API関数WinExec(実行用ファイルの起動)の呼び出し、
・コンピュータ上のDNSハイジャック、
・オペレーティングシステムの自動更新の停止、
・ファイアウォールの停止、
・プロテクタの停止、および、
・ユーザアカウント制御(User Account Control:UAC(ウィンドウズ(登録商標)OSの構成要素))の停止。
悪意あるソフトウェア(疑わしい動作、スパム、およびその他のコンピュータ脅威の徴候)を検出すると、図3に示すモジュールは、それに対応して、検出された脅威、および脅威を取り除くための処置(例えば、ファイルの除去または修正、実行の禁止など)を講じる必要性をプロテクタに伝える通知を作成する(その後、プロテクタ102の判定に変換してもよい)。態様の他の例においては、プロテクタ自身が悪意あるソフトウェアを検出した後、脅威を取り除く処置を講じてもよい。態様のさらに他の例においては、判定は(判定によって、誤警報が生じる恐れがあるため)ファジーまたは試験的判定でもよく、その場合、プロテクタは脅威を取り除くための処置を講じることなく、通知をリモートサーバ(図示せず)に回す。態様の他の例においては、悪意あるソフトウェアは以下のカテゴリー(判定はカテゴリーに対応する)を含む。すなわち、悪意あるソフトウェア、および、条件によっては望ましくないソフトウェアを含む。悪意あるソフトウェアは以下のサブカテゴリーを含んでもよい。すなわち、ウィルス、ワーム、トロイの木馬プログラム、パッカー、および悪意あるユーティリティを含んでもよい。条件によっては望ましくないソフトウェアは広告ソフトウェア(アドウェア)、性的なコンテンツを含むソフトウェア(ポルノウェア)、使用するとコンピュータに害を及ぼす可能性のある合法的ソフトウェア(リスクウェア)、その他である。
図4は、標的型攻撃からの保護のためのプロテクタである「対標的型攻撃プロテクタ」のブロック図の一例を示す。サーバ上に据え付けられた対標的型攻撃プロテクタ103は、例えば、以下のモジュールを含んでもよい。すなわち、「サンドボックス」、侵入検知システム(Intrusion Detection System:IDS)、レピュテーションサービス、YARAルールによるチェックをするモジュール、ウィルス対策モジュール、リスクスコアリングモジュール、アナライザ、DLPモジュール、およびその他の検出装置を含んでもよい。
「サンドボックス」モジュールは、上述の、コンピューティングデバイスのプロテクタ102のエミュレータと類似の機能を有するが、「サンドボックス」の方がより高い計算能力を用いることができ、より長時間動作できるという点で相違している。対標的型攻撃プロテクタ103には時間的制限はない。それに対して、コンピューティングデバイスのプロテクタ102には本質的に時間的制限がある。
「サンドボックス」はプロセスの安全な実行のためのコンピュータ環境であり、ファイルから起動されたプロセスの実行中における疑わしい動作を判定する機能を果たす。
「サンドボックス」は、例えば、ファイルシステムとレジスタの部分的仮想化に基づくか、ファイルシステムとレジスタへのアクセスルールに基づくか、あるいはハイブリッド手法に基づいて、バーチャルマシンの形で実現されてもよい(図2に示す態様例参照)。
侵入検出システムは、コンピューティングデバイス101またはネットワーク109に対する不正アクセスや、コンピューティングデバイス101またはネットワーク109に対する不正制御を特定するモジュールである。
レピュテーションサービスは、コンピューティングデバイス101上のファイルの人気度に関する情報(ファイルを保持するコンピューティングデバイス101の数、ファイルの起動回数など)を収容してもよい。
YARAルールによるチェックをするモジュールは、オープンシグネチャフォーマットのYARAシグネチャをチェックする機能を果たす(http://yararules.com/参照)。
DLPモジュールは、機密データのコンピュータまたはネットワークからの漏洩を検出および防止する機能を果たす。
サーバ上に位置する対標的型攻撃プロテクタ103は、調査するファイル133をバーチャルマシン106上で実行するためにロギングコンポーネント132に送信する。ロギングコンポーネント132は、ファイル133を実行している期間中、少なくともAPI関数呼び出しに関するレコード(例えば、関数の名前、渡されたパラメータ、関数呼び出しの時刻)を呼び出しログ134に記録する。このように、バーチャルマシンの呼び出しログ134は、少なくともファイル133がバーチャルマシン106上で実行される間に記録されたAPI関数呼び出しに関するレコードを収容することになる。上述したように、バーチャルマシン106上のファイル133の実行が完了した後、プロテクタ103は、バーチャルマシンに収容されている呼び出しログ134のレコードを呼び出しログ104に保存する。
呼び出しログ104のレコードに対応する挙動ルールが脅威データベース105から特定された場合、すなわち、悪意あるファイルがバーチャルマシンによって検出された場合、本発明の動作が開始される。
挙動アナライザのための挙動ルールと同様に、バーチャルマシンのための挙動ルールも、少なくとも1つのAPI関数の呼び出しに関する情報、およびそのルールが呼び出された場合の判定(例えば、コンピュータウィルス、インターネットワーム、トロイの木馬プログラム、または条件によっては望ましくないソフトウェア)を含む。態様の一例においては、挙動ルールは、特に、1組のAPI関数呼び出しと、その1組のAPI関数呼び出しに関する論理式から構成される。例えば、あるAPI関数が、あるパラメータ付きで、挙動ルールによって指定されたように呼ばれた場合、プロテクタ103は呼び出しログ104の中からその挙動ルールを発見するであろう。
挙動ルールは、そのルールが呼び出されたときに下された判定にも対応する。すなわち、悪意あるかもしくは望ましくないソフトウェアのカテゴリーのうち、最も可能性の高いカテゴリーが、そのルールに対応する。判定結果は、例えば、コンピュータウィルス、インターネットワーム、トロイの木馬プログラム、または条件によっては望ましくないソフトウェアである可能性がある。
態様の一例においては、挙動ルールは以下のものを含む。
・疑わしいAPI関数のリスト中にあるAPI関数の呼び出し(例えば、リストは、API関数、WinExec, CreateProcess, GetFileSize, CreateFileを含んでもよい)、
・API関数GetFileSizeの10回にわたる呼び出し、
・API関数WriteFile(ファイルへの書き込み)の呼び出しに続く、API関数WinExec(実行用ファイルの起動)の呼び出し、
・コンピュータ上のDNSハイジャック、
・オペレーティングシステムの自動更新の停止、
・ファイアウォールの停止、
・プロテクタの停止、および、
・UAC(ウィンドウズ(登録商標)OSの構成要素)の停止。
図5は、本開示の教示に従ったウィルス対策レコードの作成方法に対するフローチャートを示す。本開示の1つの態様によれば、ステップ501において、ファイルのAPI関数呼び出しのログを解析して、1つ以上の挙動ルールを用いて悪意ある挙動の有無を調べ、API関数呼び出しのログのレコードに対応する挙動ルールが特定された場合、ファイルは悪意あるものであると判定することによって、本方法はファイルが悪意あるものであると判定する。例えば、API関数呼び出しのレコードに対応する挙動ルールが特定された場合、図2に示すようなファイル133は悪意あるものであると判定される。例として、ファイルのAPI関数呼び出しのログが調査され、少なくとも1つの悪意ある挙動(すなわち、1つ以上の挙動ルールのうち少なくとも1つ)があるか否かが判定される。ステップ502において、本方法は、特定された挙動ルールと関連するAPI関数呼び出しの1つ以上のレコードを抽出する。本方法はステップ503に進む。ステップ503において、本方法は、API関数呼び出しの少なくとも1つの抽出されたレコードがコンピューティングデバイスのプロテクタによって記録されたか否かを判定する。判定は、対標的型攻撃プロテクタを使用して行われる。API関数呼び出しの少なくとも1つの抽出されたレコードがコンピューティングデバイスのプロテクタによって記録された場合、本方法はステップ504に進む。そうでない場合、本方法は任意選択されたステップ505に進む。API関数呼び出しの少なくとも1つの抽出されたレコードを記録できる場合、ステップ504において、本方法は、コンピューティングデバイスのプロテクタ102のためのウィルス対策レコードを作成する。作成されたウィルス対策レコードは、API関数呼び出しの抽出されたレコードを少なくとも含んでいる。1つの態様においては、作成されたウィルス対策レコードは、API関数呼び出しに関する抽出されたレコードを少なくとも含んでいる。ステップ505において、本方法は、サポートされていないレコードの記録に対するサポートを追加した後にウィルス対策レコードを作成するか、または挙動ルールに含まれるAPI関数呼び出しのすべてのレコードの数に対するサポートされているレコードの割合が所定のしきい値より大きい場合に、ウィルス対策レコードを作成する。
このように、プロテクタ102のためのウィルス対策レコードを作成することによって、上述の技術的課題が解決される。すなわち、対応するウィルス対策レコードが存在しないためにこれまで検出できなかった悪意あるファイルの検出が、作成されたプロテクタ102のためのウィルス対策レコードによって可能になるため、悪意あるファイルの検出の質が向上する。プロテクタ102のためのウィルス対策レコードを作成するための時間も、既知の方法の実施に伴う時間と比べて短縮されるであろう。
1つの態様においては、リモートサーバに据え付けられた検出装置110のために、挙動ルールが作成される。他の態様においては、コンピューティングデバイス101上に具体化されたプロテクタ102のために、ウィルス対策レコードが作成される。さらに他の態様においては、ウィルス対策レコードは、対応するプロテクタ102のための1つ以上のシグネチャや1つ以上のルールを参照する。さらに他の態様においては、ウィルス対策レコードは、オンアクセススキャナ、挙動アナライザのための挙動ルール、またはエミュレータのための挙動ルールの、レコードを含んでもよい。
1つの態様においては、対標的型攻撃プロテクタ上のファイルの解析は、レピュテーションサービスを用いたチェック、YARAルールを用いたチェック、および専門的解析のうち少なくとも1つを含む。専門的解析は、コンピュータセキュリティ分野の専門家によるファイルの手動解析であってもよい。
他の態様においては、(コンピューティングデバイス101上に搭載された)プロテクタ102がAPI関数呼び出しに関する少なくとも1つの抽出されたレコードの記録をサポートしていない場合、API関数呼び出しに関するサポートされていないレコードを記録するためのサポートがプロテクタ102に追加される。サポートが追加された後に、API関数呼び出しに関する抽出されたレコードで構成されたウィルス対策レコードがプロテクタ102のために作成される。例えば、バーチャルマシン106において、ロギングコンポーネント132は、API関数GetFileSizeの呼び出しに関するレコードの記録をサポートしているかもしれないが、コンピューティングデバイス101上のプロテクタ102の挙動アナライザは、その関数呼び出しの記録をサポートしていない可能性がある。しかし、挙動ルールは上記API関数呼び出しのレコードを含んでいる(例えば、挙動ルールは「API関数GetFileSizeの呼び出しが10回実行された」というものである)。したがって、API関数GetFileSizeの呼び出しに関するレコードを記録するためのサポートがプロテクタ102に追加される。その後、API関数呼び出しに関する抽出されたレコードから構成されるウィルス対策レコード(所与の例においては、挙動アナライザのための挙動ルール)がプロテクタ102のために作成される。
態様のさらに他の例においては、(コンピューティングデバイス101上に搭載された)プロテクタ102がAPI関数呼び出しに関する少なくとも1つの抽出されたレコードの記録をサポートしていない場合、API関数呼び出しに関するサポートされているレコードだけを含むウィルス対策レコードを作成してもよい。1つの態様においては、挙動ルールに含まれるAPI関数呼び出しのすべてのレコードの数に対するAPI関数呼び出しに関するサポートされているレコードの割合が所定の数値(例えば、75%)より大きい場合に、API関数呼び出しに関するサポートされているレコードだけを含むウィルス対策レコードが作成される。一例として、「疑わしいAPI関数、WinExec, CreateProcess, GetFileSize, CreateFileのリストの中から、API関数WriteFileが呼び出され、続いてAPI関数WinExecが呼び出された」という挙動ルールが呼び出されたと仮定する。また、プロテクタ102は、API関数WinExec, CreateProcess, CreateFile, WriteFileの呼び出しの記録をサポートするが、API関数GetFileSizeの呼び出しに関するレコードの記録はサポートしない、と仮定する。このシナリオでは、呼び出された挙動ルールに含まれるすべてのAPI関数の数に対するサポートされたAPI関数の割合は80%であり、75%(所定の数値の例)より大きいので、ウィルス対策レコードを作成してもよい。
図6は、態様の一例に従って本開示の複数の態様を実現可能な汎用コンピュータシステム20を表すブロック図である。ここで注意すべきことは、コンピュータシステム20は、システム100や、その個々の構成要素に対応することができるということである。
図示のように、コンピュータシステム20(パーソナルコンピュータまたはサーバでもよい)は、中央処理装置21、システムメモリ22、および、中央処理装置21に付随するメモリを含む各種システム構成要素を接続するシステムバス23を含んでいる。当業者には理解されるように、システムバス23は、バスメモリまたはバスメモリコントローラ、周辺バス、および、他のいかなるバスアーキテクチャとも相互作用可能なローカルバスを備えていてもよい。システムメモリは固定記憶装置(Read-Only Memory:ROM)24とランダムアクセスメモリ(Random Access Memory:RAM)25を含んでいてもよい。基本入出力システム(Basic Input/Output System:BIOS)26は、ROM24を用いてオペレーティングシステムをロードする際の手順などの、コンピュータシステム20の要素間の情報転送の基本的手順を記憶していてもよい。
また、コンピュータシステム20は、データを読み書きするためのハードディスク27、リムーバブル磁気ディスク29を読み書きするための磁気ディスクドライブ28、および、CD−ROM、DVD−ROM、その他の光媒体などのリムーバブル光学ディスク31を読み書きするための光学ドライブ30を備えていてもよい。ハードディスク27、磁気ディスクドライブ28、および光学ドライブ30は、それぞれ、ハードディスクインターフェース32、磁気ディスクインターフェース33、および光学ドライブインターフェース34を介して、システムバス23と接続されている。ドライブおよび対応するコンピュータ情報媒体は、コンピュータシステム20のコンピュータ命令、データ構造体、プログラムモジュール、およびその他のデータを記憶する、独立の電源で動作するモジュールである。
態様の一例は、コントローラ55を介してシステムバス23と接続されたハードディスク27、リムーバブル磁気ディスク29、およびリムーバブル光学ディスク31を使用するシステムを備えている。コンピュータで読み取り可能な形式でデータの保存が可能な任意の種類の媒体56(半導体ドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ(RAM)など)を利用できることは、当業者には理解されるであろう。
コンピュータシステム20はファイルシステム36を有しており、その中には、オペレーティングシステム35の他に、追加的なプログラムアプリケーション37、その他のプログラムモジュール38、およびプログラムデータ39を保存することができる。コンピュータシステム20のユーザはキーボード40、マウス42、あるいは、その他、例えば、マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナなどを含むがそれらに限られない当業者に公知の入力装置を使用して、コマンドおよび情報を入力することができる。そのような装置は、一般に、コンピュータシステム20に、システムバスと接続されたシリアルポート46を通して差し込まれるが、当業者は、入力装置を、例えば、限定はされないが、パラレルポート、ゲームポート、あるいはユニバーサルシリアルバス(Universal Serial Bus:USB)などの他の方法で接続してもよいことを理解するであろう。モニタ47または他の種類の表示装置も、ビデオアダプタ48などのインターフェースを介してシステムバス23と接続してもよい。パーソナルコンピュータは、モニタ47に加えて、スピーカ、プリンタなどの周辺出力装置(図示せず)を備えてもよい。
コンピュータシステム20を、1台以上のリモートコンピュータ49とのネットワーク接続を用いて、ネットワーク環境下で動作させてもよい。リモートコンピュータ49は、上記コンピュータシステム20の特徴説明の中で述べた要素のほとんどまたは全部を備えたローカルコンピュータワークステーションまたはサーバであってもよい。例えば、ルータ、ネットワークステーション、ピアデバイス、その他のネットワークノードなどを含むがそれらに限られないその他の装置がコンピュータネットワークの中に存在してもよい。
ネットワーク接続によって、ローカルエリアコンピュータネットワーク(Local-Area computer Network:LAN)50および広域コンピュータネットワーク(Wide-Area computer Network:WAN)を形成することができる。そのようなネットワークは企業コンピュータネットワークや社内ネットワークで利用され、ネットワークは、一般に、インターネットにアクセスできる。LANおよびWANのネットワークにおいては、パーソナルコンピュータ20は、ネットワークアダプタまたはネットワークインターフェース51を介してローカルエリアネットワーク50と接続されている。ネットワークを利用する場合、コンピュータシステム20は、インターネットのような広域コンピュータネットワークとの通信を可能にするモデム54またはその他の当業者に公知のモジュールを採用してもよい。モデム54は、内部装置であっても外部装置であってもよいが、シリアルポート46によってシステムバス23と接続してもよい。上記ネットワーク接続は、1台のコンピュータが通信モジュールを使って他のコンピュータとの接続を確立する、数多くの広く理解されている方法の非限定例であることは、当業者には理解されるであろう。
様々な態様において、本明細書で説明したシステムおよび方法は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれらの任意の組み合わせの中に実現されてもよい。ソフトウェア中に実現された場合、非一時的なコンピュータ読み取り可能な媒体上に、1つ以上の命令またはコードとして記憶してもよい。コンピュータ読み取り可能な媒体には、データストレージが含まれる。一例として、限定はされないが、そのようなコンピュータ読み取り可能な媒体は、RAM、ROM、EEPROM、CD−ROM、フラッシュメモリ、あるいは他の種類の電気的、磁気的、または光学的記憶媒体、もしくは、所望のプログラムコードを命令やデータ構造体の形で運搬または記憶するために利用可能で、汎用コンピュータのプロセッサからアクセス可能な、その他の任意の媒体を含むことができる。
様々な態様において、本開示で説明したシステムおよび方法を、モジュールの意味で扱うことができる。本明細書で使われている用語「モジュール」とは、例えば、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)やフィールドプログラマブルゲートアレイ(Field-Programmable Gate Array:FPGA)によるハードウェアを用いて実現されるか、あるいは、例えば、マイクロプロセッサシステムと、(実行時に)マイクロプロセッサシステムを専用デバイスに変換するモジュールの機能性を実現する一連の命令によるハードウェアとソフトウェアの組み合わせとして実現された、実世界の装置、構成要素、または構成要素の配置のことである。モジュールは、特定の機能をハードウェアのみで促進し、その他の機能をハードウェアとソフトウェアの組み合わせによって促進する、上記2つの組み合わせとしても実現できる。特定の実現形態においては、少なくとも一部、場合によっては全部のモジュールが、汎用コンピュータのプロセッサ上で実行されてもよい。したがって、各モジュールは各種の適切な構成の中に実現可能であり、本明細書に例示したいかなる特定の実現形態にも限定されるべきではない。
明確化のために、本明細書は各態様の定型的な特徴のすべてまでは示していない。本開示の実際の実現形態のいかなる開発においても、開発者の具体的目的を達成するために実現形態に特有の多くの決定をする必要があり、具体的目的は、実現形態ごとおよび開発者ごとに異なるということが理解されるであろう。そのような開発努力は複雑で多くの時間を要する可能性があるが、それにもかかわらず、本開示から利益を得る当業者にとって、定型的な技術的取り組みであることが理解される。
さらに、本明細書で用いている表現や用語は説明上のものであって、限定のためではなく、本明細書の用語や表現は、当業者が、当業者の知識と組み合わせて、本明細書が提供する教示や手引きの観点から解釈すべきものと理解すべきである。加えて、明示的記載がない限り、本明細書や請求の範囲におけるいかなる用語も、一般的でない、あるいは特別な意味を持つものとみなされることは意図されていない。
本明細書に開示された様々な態様は、本明細書で例示により言及された公知のモジュールと均等な現在および将来の公知の均等物を包含する。加えて、態様および応用例を図示し、かつ、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの変更が可能であることは、この開示の利益を有する当業者には明らかであろう。

Claims (20)

  1. ウィルス対策レコードを作成する方法であって、
    対標的型攻撃プロテクタモジュールによって、ファイルのAPI関数呼び出しのログを解析して、1つ以上の挙動ルールを用いて悪意ある挙動の有無を調べることと、
    前記対標的型攻撃プロテクタモジュールによって、前記API関数呼び出しの前記ログのレコードに対応する挙動ルールが特定された場合に、前記ファイルは悪意あるものであると判定することと、
    前記対標的型攻撃プロテクタモジュールによって、特定された前記挙動ルールと関連する前記API関数呼び出しの1つ以上のレコードを抽出することと、
    前記対標的型攻撃プロテクタモジュールによって、前記API関数呼び出しの少なくとも1つの抽出された前記レコードがコンピューティングデバイスのプロテクタモジュールによって記録可能か否かを判定することと、
    前記API関数呼び出しの少なくとも1つの抽出された前記レコードが前記コンピューティングデバイスの前記プロテクタモジュールによって記録可能である場合、前記対標的型攻撃プロテクタモジュールによって、前記コンピューティングデバイスの前記プロテクタモジュールのためのウィルス対策レコードを作成することとを含み、
    作成された前記ウィルス対策レコードは前記API関数呼び出しの前記抽出されたレコードを少なくとも含むことを特徴とする、
    方法。
  2. 前記コンピューティングデバイスの前記プロテクタモジュールが前記API関数呼び出しの少なくとも1つの抽出された前記レコードの記録をサポートしていない場合、前記API関数呼び出しのサポートされていないレコードの記録に対するサポートを前記コンピューティングデバイスの前記プロテクタモジュールに追加することをさらに含むことを特徴とする、
    請求項1に記載の方法。
  3. 前記サポートを追加した後に、前記コンピューティングデバイスの前記プロテクタモジュールのための前記ウィルス対策レコードを作成することをさらに含み、前記作成されたレコードは前記API関数呼び出しの前記抽出されたレコードから構成されることを特徴とする、
    請求項2に記載の方法。
  4. 前記コンピューティングデバイスの前記プロテクタモジュールが前記API関数呼び出しの少なくとも1つの抽出された前記レコードの記録をサポートしていない場合、前記挙動ルールに含まれるAPI関数呼び出しのすべてのレコードの数に対する前記API関数呼び出しのサポートされているレコードの割合が所定のしきい値より大きい場合に、前記コンピューティングデバイスの前記プロテクタモジュールのための前記ウィルス対策レコードを作成することをさらに含み、前記作成されたレコードは前記API関数呼び出しの前記サポートされているレコードだけを含むことを特徴とする、
    請求項1に記載の方法。
  5. 前記対標的型攻撃プロテクタモジュール上の前記ファイルを解析することをさらに含み、
    前記ファイルの前記解析は、レピュテーションサービスを用いたチェック、YARAルールを用いたチェック、および手動解析のうち少なくとも1つを含むことを特徴とする、
    請求項1に記載の方法。
  6. 前記対標的型攻撃プロテクタモジュールはサンドボックスを含み、前記API関数呼び出しの前記ログには、前記サンドボックスの中で前記ファイルから起動された実行中のプロセスが収容されることを特徴とする、
    請求項1に記載の方法。
  7. 前記サンドボックスは、バーチャルマシン上での実現、ファイルシステムとレジスタの部分的仮想化に基づく実現、および前記ファイルシステムと前記レジスタへのアクセスルールに基づく実現のうち少なくとも1つとして実現されることを特徴とする、
    請求項6に記載の方法。
  8. ウィルス対策レコードを作成するためのシステムであって、
    ファイルのAPI関数呼び出しのログを解析して、1つ以上の挙動ルールを用いて悪意ある挙動の有無を調べ、
    前記API関数呼び出しの前記ログのレコードに対応する挙動ルールが特定された場合に、前記ファイルは悪意あるものであると判定し、
    特定された前記挙動ルールと関連する前記API関数呼び出しの1つ以上のレコードを抽出し、
    前記API関数呼び出しの少なくとも1つの抽出された前記レコードがコンピューティングデバイスのプロテクタモジュールによって記録可能か否かを判定し、かつ、
    前記API関数呼び出しの少なくとも1つの抽出された前記レコードが前記コンピューティングデバイスの前記プロテクタモジュールによって記録可能である場合、前記コンピューティングデバイスの前記プロテクタモジュールのためのウィルス対策レコードを作成する、対標的型攻撃プロテクタモジュールが備える少なくとも1つのプロセッサを備え、作成された前記ウィルス対策レコードは前記API関数呼び出しの前記抽出されたレコードを少なくとも含むことを特徴とする、
    システム。
  9. 前記コンピューティングデバイスの前記プロテクタモジュールが前記API関数呼び出しの少なくとも1つの抽出された前記レコードの記録をサポートしていない場合、前記API関数呼び出しのサポートされていないレコードの記録に対するサポートを前記コンピューティングデバイスの前記プロテクタモジュールに追加することをさらに含むことを特徴とする、
    請求項8に記載のシステム。
  10. 前記サポートを追加した後に、前記コンピューティングデバイスの前記プロテクタモジュールのための前記ウィルス対策レコードを作成することをさらに含み、前記作成されたレコードは前記API関数呼び出しの前記抽出されたレコードから構成されることを特徴とする、
    請求項9に記載のシステム。
  11. 前記コンピューティングデバイスの前記プロテクタモジュールが前記API関数呼び出しの少なくとも1つの抽出された前記レコードの記録をサポートしていない場合、前記挙動ルールに含まれるAPI関数呼び出しのすべてのレコードの数に対する前記API関数呼び出しのサポートされているレコードの割合が所定のしきい値より大きい場合に、前記コンピューティングデバイスの前記プロテクタモジュールのための前記ウィルス対策レコードを作成することをさらに含み、前記作成されたレコードは前記API関数呼び出しの前記サポートされているレコードだけを含むことを特徴とする、
    請求項8に記載のシステム。
  12. 前記プロセッサは、さらに、前記対標的型攻撃プロテクタモジュール上の前記ファイルを解析し、
    前記ファイルの前記解析は、レピュテーションサービスを用いたチェック、YARAルールを用いたチェック、および手動解析のうち少なくとも1つを含むことを特徴とする、
    請求項8に記載のシステム。
  13. 前記対標的型攻撃プロテクタモジュールはサンドボックスを含み、前記API関数呼び出しの前記ログには、前記サンドボックスの中で前記ファイルから起動された実行中のプロセスが収容されることを特徴とする、
    請求項8に記載のシステム。
  14. 前記サンドボックスは、バーチャルマシン上での実現、ファイルシステムとレジスタの部分的仮想化に基づく実現、および前記ファイルシステムと前記レジスタへのアクセスルールに基づく実現のうち少なくとも1つとして実現されることを特徴とする、
    請求項13に記載のシステム。
  15. ウィルス対策レコードを作成するためのコンピュータ実行可能な命令を記憶した非一過性のコンピュータ読み取り可能な媒体であって、
    ファイルのAPI関数呼び出しのログを解析して、1つ以上の挙動ルールを用いて悪意ある挙動の有無を調べ、
    前記API関数呼び出しの前記ログのレコードに対応する挙動ルールが特定された場合に、前記ファイルは悪意あるものであると判定し、
    特定された前記挙動ルールと関連する前記API関数呼び出しの1つ以上のレコードを抽出し、
    前記API関数呼び出しの少なくとも1つの抽出された前記レコードがコンピューティングデバイスのプロテクタモジュールによって記録可能か否かを判定し、かつ、
    前記API関数呼び出しの少なくとも1つの抽出された前記レコードが前記コンピューティングデバイスの前記プロテクタモジュールによって記録可能である場合、前記コンピューティングデバイスの前記プロテクタモジュールのためのウィルス対策レコードを作成するための命令を含み、作成された前記ウィルス対策レコードは前記API関数呼び出しの前記抽出されたレコードを少なくとも含むことを特徴とする、
    非一過性のコンピュータ読み取り可能な媒体。
  16. 前記コンピューティングデバイスの前記プロテクタモジュールが前記API関数呼び出しの少なくとも1つの抽出された前記レコードの記録をサポートしていない場合、前記API関数呼び出しのサポートされていないレコードの記録に対するサポートを前記コンピューティングデバイスの前記プロテクタモジュールに追加するための命令をさらに含むことを特徴とする、
    請求項15に記載の非一過性のコンピュータ読み取り可能な媒体。
  17. 前記サポートを追加した後に、前記コンピューティングデバイスの前記プロテクタモジュールのための前記ウィルス対策レコードを作成するための命令をさらに含み、前記作成されたレコードは前記API関数呼び出しの前記抽出されたレコードから構成されることを特徴とする、
    請求項16に記載の非一過性のコンピュータ読み取り可能な媒体。
  18. 前記コンピューティングデバイスの前記プロテクタモジュールが前記API関数呼び出しの少なくとも1つの抽出された前記レコードの記録をサポートしていない場合、前記挙動ルールに含まれるAPI関数呼び出しのすべてのレコードの数に対する前記API関数呼び出しのサポートされているレコードの割合が所定のしきい値より大きい場合に、前記コンピューティングデバイスの前記プロテクタモジュールのための前記ウィルス対策レコードを作成するための命令をさらに含み、前記作成されたレコードは前記API関数呼び出しの前記サポートされているレコードだけを含むことを特徴とする、
    請求項15に記載の非一過性のコンピュータ読み取り可能な媒体。
  19. 対標的型攻撃プロテクタモジュール上の前記ファイルを解析するための命令をさらに記憶し、
    前記ファイルの前記解析は、レピュテーションサービスを用いたチェック、YARAルールを用いたチェック、および手動解析のうち少なくとも1つを含むことを特徴とする、
    請求項15に記載の非一過性のコンピュータ読み取り可能な媒体。
  20. 対標的型攻撃プロテクタモジュールはサンドボックスを含み、前記API関数呼び出しの前記ログには、前記サンドボックスの中で前記ファイルから起動された実行中のプロセスが収容されることを特徴とする、
    請求項15に記載の非一過性のコンピュータ読み取り可能な媒体。
JP2018207267A 2018-02-06 2018-11-02 ウィルス対策レコードを作成するシステムと方法 Active JP6909770B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2018104436 2018-02-06
RU2018104436A RU2697954C2 (ru) 2018-02-06 2018-02-06 Система и способ создания антивирусной записи
US16/150,896 2018-10-03
US16/150,896 US10810308B2 (en) 2018-02-06 2018-10-03 System and method of creating antivirus records

Publications (2)

Publication Number Publication Date
JP2019169121A JP2019169121A (ja) 2019-10-03
JP6909770B2 true JP6909770B2 (ja) 2021-07-28

Family

ID=67476717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018207267A Active JP6909770B2 (ja) 2018-02-06 2018-11-02 ウィルス対策レコードを作成するシステムと方法

Country Status (4)

Country Link
US (2) US10810308B2 (ja)
JP (1) JP6909770B2 (ja)
CN (1) CN110119619B (ja)
RU (1) RU2697954C2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2697954C2 (ru) * 2018-02-06 2019-08-21 Акционерное общество "Лаборатория Касперского" Система и способ создания антивирусной записи
CN110826069B (zh) * 2019-11-05 2022-09-30 深信服科技股份有限公司 一种病毒处理方法、装置、设备及存储介质
US11886584B2 (en) 2021-05-28 2024-01-30 AO Kaspersky Lab System and method for detecting potentially malicious changes in applications
US11924029B2 (en) * 2022-01-07 2024-03-05 Dell Products L.P. System for scoring data center application program interfaces
US11842179B2 (en) 2022-01-07 2023-12-12 Dell Products L.P. System for automatically generating customer specific data center application program interfaces
US11922229B2 (en) 2022-01-10 2024-03-05 Dell Products L.P. System for determining data center application program interface readiness
US11848835B2 (en) 2022-01-20 2023-12-19 Dell Products L.P. System for quantifying data center infrastructure utilization units

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721721B1 (en) * 2000-06-15 2004-04-13 International Business Machines Corporation Virus checking and reporting for computer database search results
US7231440B1 (en) * 2000-12-18 2007-06-12 Mcafee, Inc. System and method for distributing portable computer virus definition records with binary file conversion
US6622150B1 (en) * 2000-12-18 2003-09-16 Networks Associates Technology, Inc. System and method for efficiently managing computer virus definitions using a structured virus database
US6965928B1 (en) * 2001-03-09 2005-11-15 Networks Associates Technology, Inc. System and method for remote maintenance of handheld computers
US8028301B2 (en) * 2005-03-14 2011-09-27 Symantec Corporation Restricting recordal of user activity in a processing system
CN100401224C (zh) * 2005-06-23 2008-07-09 福建东方微点信息安全有限责任公司 计算机反病毒防护系统和方法
JP4809679B2 (ja) * 2006-01-11 2011-11-09 ルネサスエレクトロニクス株式会社 ストリームデータ通信方法及びストリームデータ通信装置
US8201244B2 (en) * 2006-09-19 2012-06-12 Microsoft Corporation Automated malware signature generation
US8935789B2 (en) * 2008-07-21 2015-01-13 Jayant Shukla Fixing computer files infected by virus and other malware
US8832836B2 (en) * 2010-12-30 2014-09-09 Verisign, Inc. Systems and methods for malware detection and scanning
US10395031B2 (en) * 2010-12-30 2019-08-27 Verisign, Inc. Systems and methods for malware detection and scanning
US9134996B2 (en) 2011-04-28 2015-09-15 F-Secure Corporation Updating anti-virus software
US9171146B2 (en) * 2011-12-14 2015-10-27 Intel Corporation Method and system for monitoring calls to an application program interface (API) function
CN107103238A (zh) * 2012-02-29 2017-08-29 卡巴斯基实验室封闭式股份公司 用于保护计算机系统免遭恶意对象活动侵害的系统和方法
RU2485577C1 (ru) * 2012-05-11 2013-06-20 Закрытое акционерное общество "Лаборатория Касперского" Способ увеличения надежности определения вредоносного программного обеспечения
RU2535506C2 (ru) 2012-12-25 2014-12-10 Закрытое акционерное обшество "Лаборатория Касперского" Система и способ формирования сценариев модели поведения приложений
US9185128B2 (en) * 2013-08-30 2015-11-10 Bank Of America Corporation Malware analysis methods and systems
CN105874463A (zh) * 2013-12-30 2016-08-17 诺基亚技术有限公司 用于恶意软件检测的方法和装置
CN103824020B (zh) * 2014-02-20 2017-10-24 北京深思数盾科技股份有限公司 自动实现软件程序免杀的方法
RU2583712C2 (ru) * 2014-05-26 2016-05-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных файлов определенного типа
CN104200161B (zh) * 2014-08-05 2017-01-25 杭州安恒信息技术有限公司 一种实现沙箱智能检测文件的方法及其沙箱智能检测系统
KR101623073B1 (ko) 2015-01-19 2016-05-20 한국인터넷진흥원 Api 기반 악성 코드 탐지 시스템 및 방법
CN106295336B (zh) * 2015-06-26 2020-05-22 阿里巴巴集团控股有限公司 恶意程序检测方法及装置
CN105760787B (zh) * 2015-06-30 2019-05-31 卡巴斯基实验室股份制公司 用于检测随机存取存储器中的恶意代码的系统及方法
RU2592383C1 (ru) * 2015-06-30 2016-07-20 Закрытое акционерное общество "Лаборатория Касперского" Способ формирования антивирусной записи при обнаружении вредоносного кода в оперативной памяти
CN106469275A (zh) * 2015-08-18 2017-03-01 中兴通讯股份有限公司 虚拟机杀毒方法及装置
RU2617654C2 (ru) * 2015-09-30 2017-04-25 Акционерное общество "Лаборатория Касперского" Система и способ формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя
RU2628921C1 (ru) * 2016-03-18 2017-08-22 Акционерное общество "Лаборатория Касперского" Система и способ выполнения антивирусной проверки файла на виртуальной машине
JP5996145B1 (ja) * 2016-07-14 2016-09-21 三井物産セキュアディレクション株式会社 プログラム、情報処理装置、及び情報処理方法
US10515213B2 (en) * 2016-08-27 2019-12-24 Microsoft Technology Licensing, Llc Detecting malware by monitoring execution of a configured process
RU2697954C2 (ru) * 2018-02-06 2019-08-21 Акционерное общество "Лаборатория Касперского" Система и способ создания антивирусной записи

Also Published As

Publication number Publication date
US10810308B2 (en) 2020-10-20
US11288362B2 (en) 2022-03-29
RU2018104436A (ru) 2019-08-06
CN110119619A (zh) 2019-08-13
JP2019169121A (ja) 2019-10-03
RU2018104436A3 (ja) 2019-08-06
RU2697954C2 (ru) 2019-08-21
US20190243968A1 (en) 2019-08-08
US20210019398A1 (en) 2021-01-21
CN110119619B (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
US11829473B2 (en) System and method for detecting malicious files by a user computer
JP6909770B2 (ja) ウィルス対策レコードを作成するシステムと方法
US20210209225A1 (en) Methods and apparatus for control and detection of malicious content using a sandbox environment
US10599841B2 (en) System and method for reverse command shell detection
JP7084778B2 (ja) 標的型攻撃をクラウド型検出、探索および除去するシステムおよび方法
JP5326062B1 (ja) 非実行ファイル検査装置及び方法
US9165142B1 (en) Malware family identification using profile signatures
US9251343B1 (en) Detecting bootkits resident on compromised computers
US8261344B2 (en) Method and system for classification of software using characteristics and combinations of such characteristics
EP3039608B1 (en) Hardware and software execution profiling
US7934261B1 (en) On-demand cleanup system
US9032525B2 (en) System and method for below-operating system trapping of driver filter attachment
JP5265061B1 (ja) 悪意のあるファイル検査装置及び方法
EP3522058B1 (en) System and method of creating antivirus records
RU2673407C1 (ru) Система и способ определения вредоносного файла
Padakanti Rootkits Detection Using Inline Hooking

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190507

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210226

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: 20210629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210705

R150 Certificate of patent or registration of utility model

Ref document number: 6909770

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150