JP2018524720A - Malware mitigation - Google Patents

Malware mitigation Download PDF

Info

Publication number
JP2018524720A
JP2018524720A JP2017567410A JP2017567410A JP2018524720A JP 2018524720 A JP2018524720 A JP 2018524720A JP 2017567410 A JP2017567410 A JP 2017567410A JP 2017567410 A JP2017567410 A JP 2017567410A JP 2018524720 A JP2018524720 A JP 2018524720A
Authority
JP
Japan
Prior art keywords
malware
behavior
task
electronic device
detection
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
JP2017567410A
Other languages
Japanese (ja)
Other versions
JP6668390B2 (en
Inventor
ミシュラ、アシシュ
モハンダス、ラウル
スブラマニアン、サクシクマー
エー. ベルムルガン、クマラグル
エー. ベルムルガン、クマラグル
サトヤース、アルン
マデュカー、アナディ
ルー、リシン
Original Assignee
マカフィー, エルエルシー
マカフィー, エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マカフィー, エルエルシー, マカフィー, エルエルシー filed Critical マカフィー, エルエルシー
Publication of JP2018524720A publication Critical patent/JP2018524720A/en
Application granted granted Critical
Publication of JP6668390B2 publication Critical patent/JP6668390B2/en
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/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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Landscapes

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

Abstract

本明細書に説明された特定の実施形態は、システムにおいてマルウェアの実行を可能にし、マルウェアの実行によって引き起こされたシステムへの変更を記録し、電子デバイスにおけるマルウェアの検知のための検知タスクを生成するように構成され得る電子デバイスを提供し、検知タスクは、少なくとも部分的に、マルウェアの実行によって引き起こされたシステムへの変更に基づく。検知タスクは、感染した電子デバイスを識別するように、および、マルウェアによって引き起こされた、感染した電子デバイスへの変更を軽減する軽減タスクを生成するように、用いられ得る。Certain embodiments described herein enable execution of malware in the system, record changes to the system caused by the execution of malware, and generate detection tasks for detection of malware in electronic devices. The detection task is based at least in part on changes to the system caused by the execution of malware. The detection task can be used to identify infected electronic devices and to generate mitigation tasks that mitigate changes to infected electronic devices caused by malware.

Description

[関連出願への相互参照]
本出願は、2015年6月27日に出願された、「マルウェアの軽減」と題されたインド特許出願第3247/CHE/2015号の利益および優先権を主張し、それはその全体において参照によって本明細書に組み込まれる。
[Cross-reference to related applications]
This application claims the benefit and priority of Indian Patent Application No. 3247 / CHE / 2015, filed June 27, 2015, entitled “Malware Mitigation,” which is incorporated by reference in its entirety. Incorporated in the description.

本開示は、概して、情報セキュリティの分野に関し、より具体的には、マルウェアの軽減に関する。   The present disclosure relates generally to the field of information security, and more specifically to malware mitigation.

今日の社会において、ネットワークセキュリティの分野はますます重要となってきている。インターネットは、世界中の異なるコンピュータネットワークの相互接続を可能にしている。特に、インターネットは、様々なタイプのクライアントデバイスを介して、異なるコンピュータネットワークに接続された異なるユーザの間でデータを交換するための媒体を提供する。インターネットの使用が企業のコミュニケーションおよび個人のコミュニケーションを変えた一方、それは、また、悪意のある操作者がコンピュータおよびコンピュータネットワークへの不正アクセスを得るための、および、機密情報の意図的なまたは不注意による開示のための、手段として用いられている。   In today's society, the field of network security is becoming increasingly important. The Internet allows interconnection of different computer networks around the world. In particular, the Internet provides a medium for exchanging data between different users connected to different computer networks via various types of client devices. While the use of the Internet has changed corporate and personal communications, it also allows malicious operators to gain unauthorized access to computers and computer networks, and the intentional or carelessness of sensitive information Used as a means for disclosure.

ホストコンピュータに感染する、悪意のあるソフトウェア(「マルウェア」)は、ホストコンピュータと関連づけられた企業または個人から機密情報を盗取する、他のホストコンピュータに伝播する、および/または、分散型サービス妨害攻撃を支援する、ホストコンピュータからのスパムまたは悪意のあるeメールを送信する、などの、任意の数の悪意のある動作を実行することが可能であり得る。従って、コンピュータおよびコンピュータネットワークを、悪意のあるソフトウェアによる、悪意のある、および不注意なエクスプロイトから保護するための、著しい管理課題が残っている。   Malicious software ("malware") that infects host computers steals sensitive information from companies or individuals associated with the host computer, propagates to other host computers, and / or distributed denial of service It may be possible to perform any number of malicious actions, such as assisting an attack, sending spam or malicious email from a host computer. Thus, significant management challenges remain to protect computers and computer networks from malicious and inadvertent exploits by malicious software.

本開示のより完全な理解、ならびにその特徴および利点を提供するように、添付の図面と共に用いられる以下の説明が参照される。同様の参照符号は同様の部分を表す。   In order to provide a more thorough understanding of the present disclosure, as well as its features and advantages, reference is made to the following description used in conjunction with the accompanying drawings. Like reference numerals represent like parts.

本開示の一実施形態による、マルウェアの軽減のための通信システムの簡略ブロック図である。1 is a simplified block diagram of a communication system for malware mitigation according to one embodiment of the present disclosure. FIG.

本開示の一実施形態による、マルウェアの軽減のための通信システムの簡略ブロック図である。1 is a simplified block diagram of a communication system for malware mitigation according to one embodiment of the present disclosure. FIG.

本開示の一実施形態による、マルウェアの軽減のための通信システムの簡略ブロック図である。1 is a simplified block diagram of a communication system for malware mitigation according to one embodiment of the present disclosure. FIG.

本開示の一実施形態による、マルウェアの軽減のための通信システムの一部の簡略ブロック図である。1 is a simplified block diagram of a portion of a communication system for malware mitigation according to one embodiment of the present disclosure. FIG.

本開示の一実施形態による、マルウェアの軽減のための通信システムの例示的な詳細の簡略図である。1 is a simplified diagram of exemplary details of a communication system for malware mitigation, according to one embodiment of the present disclosure. FIG.

一実施形態による通信システムに関連づけられ得る、潜在的な操作を示す簡略フローチャートである。6 is a simplified flowchart illustrating potential operations that may be associated with a communication system according to one embodiment.

一実施形態による通信システムに関連づけられ得る、潜在的な操作を示す簡略フローチャートである。6 is a simplified flowchart illustrating potential operations that may be associated with a communication system according to one embodiment.

一実施形態によるポイントツーポイント構成に配置された、例示的なコンピューティングシステムを示すブロック図である。1 is a block diagram illustrating an example computing system arranged in a point-to-point configuration according to one embodiment. FIG.

本開示の例示的なARMエコシステム・システムオンチップ(SoC)に関連づけられる、簡略ブロック図である。2 is a simplified block diagram associated with an exemplary ARM ecosystem system on chip (SoC) of the present disclosure. FIG.

一実施形態による例示的なプロセッサコアを示すブロック図である。FIG. 3 is a block diagram illustrating an exemplary processor core according to one embodiment.

図面は、それらの寸法が本開示の範囲から大幅に逸脱することなく変わり得るので、必ずしも縮尺通りに描かれてはいない。   The drawings are not necessarily drawn to scale because their dimensions may vary without significantly departing from the scope of the present disclosure.

[例示的な実施形態]
図1Aは、本開示の一実施形態による、マルウェアの軽減のための通信システム100aの簡略ブロック図である。通信システム100aは、電子デバイス102a、クラウドサービス104、およびサーバ106を含み得る。電子デバイス102aは、プロセッサ110、メモリ112、オペレーティングシステム114、サンドボックス116、およびセキュリティモジュール118を含み得る。セキュリティモジュール118は、マルウェア検知モジュール120、マルウェア軽減モジュール122、およびマルウェアパターン挙動124を含み得る。マルウェア検知モジュール120は、分析ログ126を含み得る。マルウェア軽減モジュール122は、リバースマルウェア挙動動作128を含み得る。クラウドサービス104およびサーバ106は、ネットワークセキュリティモジュール130をそれぞれ含み得る。ネットワークセキュリティモジュール130は、パターン挙動生成モジュール132およびマルウェアパターン挙動124を含み得る。電子デバイス102aと、クラウドサービス104と、サーバ106とは、各々、ネットワーク108を用いて通信し得る。
Exemplary Embodiment
FIG. 1A is a simplified block diagram of a communication system 100a for malware mitigation according to one embodiment of the present disclosure. The communication system 100a may include an electronic device 102a, a cloud service 104, and a server 106. The electronic device 102a may include a processor 110, a memory 112, an operating system 114, a sandbox 116, and a security module 118. The security module 118 may include a malware detection module 120, a malware mitigation module 122, and a malware pattern behavior 124. The malware detection module 120 may include an analysis log 126. The malware mitigation module 122 may include a reverse malware behavior operation 128. Cloud service 104 and server 106 may each include a network security module 130. The network security module 130 may include a pattern behavior generation module 132 and a malware pattern behavior 124. The electronic device 102a, the cloud service 104, and the server 106 can each communicate using the network 108.

図1Bに移ると、図1Bは、本開示の一実施形態による、マルウェアの軽減のための通信システム100bの簡略ブロック図である。通信システム100bは、電子デバイス102b、クラウドサービス104、およびサーバ106を含み得る。電子デバイス102bは、プロセッサ110、メモリ112、オペレーティングシステム114、セキュリティモジュール118、および回復環境136を含み得る。電子デバイス102bと、クラウドサービス104と、サーバ106とは、各々、ネットワーク108を用いて通信し得る。   Turning to FIG. 1B, FIG. 1B is a simplified block diagram of a communication system 100b for malware mitigation, according to one embodiment of the present disclosure. The communication system 100b may include an electronic device 102b, a cloud service 104, and a server 106. The electronic device 102b may include a processor 110, memory 112, operating system 114, security module 118, and recovery environment 136. The electronic device 102b, the cloud service 104, and the server 106 can each communicate using the network 108.

図1Cに移ると、図1Cは、本開示の一実施形態による、マルウェアの軽減のための通信システム100cの簡略ブロック図である。通信システム100cは、電子デバイス102c、クラウドサービス104、およびサーバ106を含み得る。電子デバイス102cは、プロセッサ110、メモリ112、オペレーティングシステム114、セキュリティモジュール118、および二次オペレーティングシステム138を含み得る。電子デバイス102cと、クラウドサービス104と、サーバ106とは、各々、ネットワーク108を用いて通信し得る。   Turning to FIG. 1C, FIG. 1C is a simplified block diagram of a communication system 100c for malware mitigation according to one embodiment of the present disclosure. The communication system 100c may include an electronic device 102c, a cloud service 104, and a server 106. The electronic device 102c may include a processor 110, a memory 112, an operating system 114, a security module 118, and a secondary operating system 138. The electronic device 102c, the cloud service 104, and the server 106 can each communicate using the network 108.

例示的な実施形態において、通信システム100a−100cは、悪意のあるアプリケーションの挙動を詳細に研究するように構成され得る。悪意のあるアプリケーションの挙動の知見は、したがって、電子デバイスをリイメージ(re−image)する必要なしに、感染した電子デバイスを識別し、および、電子デバイス上のマルウェアの影響を修復または軽減するように用いられ得る。例えば、通信システム100a−100cは、マルウェアサンプルによる感染である感染させられた機械を修復するように、マルウェアサンプルの動的分析を用いるように構成され得る。修復または軽減は、反復マルチステージアプローチを用いることを含み得る。一例において、回復環境は、軽減の最中にマルウェアによって用いられる回避技術をバイパスするように用いられ得る。別の例において、マルウェアに関する挙動知見、マルウェアが属するマルウェアのファミリーに関する挙動知見、ならびに、サンプルおよびジェネリックのマルウェア挙動が、マルウェアの検知およびマルウェアに感染した機械の修復のために用いられ得る。マルウェアサンプルの動的分析を用いることは、従来のアンチウイルスソフトウェアによって検知し得ないマルウェアを検知し、マルウェアからの修復を行う能力を可能にし得る。加えて、マルウェアは、感染した電子デバイスをリイメージする必要なしに修復され得、典型的にはリイメージから生じる、データのいくつかの損失を阻止し得る。   In the exemplary embodiment, communication systems 100a-100c may be configured to study the behavior of malicious applications in detail. Knowledge of malicious application behavior thus identifies infected electronic devices and repairs or mitigates the effects of malware on the electronic devices without having to re-image the electronic device Can be used. For example, the communication systems 100a-100c may be configured to use dynamic analysis of malware samples to repair infected machines that are infected by malware samples. Repair or mitigation can include using an iterative multi-stage approach. In one example, the recovery environment can be used to bypass evasion techniques used by malware during mitigation. In another example, behavioral knowledge about malware, behavioral knowledge about the family of malware to which the malware belongs, and sample and generic malware behavior can be used for malware detection and repair of malware-infected machines. Using dynamic analysis of malware samples can enable the ability to detect and repair from malware that cannot be detected by conventional antivirus software. In addition, malware can be repaired without the need to reimage infected electronic devices, and can prevent some loss of data, typically resulting from reimages.

図1Aから図1Cの複数の要素は、任意の好適な(有線または無線)接続を用いる1または複数のインタフェースを通じて互いに結合され得、それはネットワーク(例えば、ネットワーク108)通信のための実行可能な経路を提供する。加えて、図1Aから図1Cのこれらの複数の要素の任意の1または複数は、特定の構成の必要性に基づいて、組み合わされ得、または、アーキテクチャから取り除かれ得る。通信システム100a−100cは、各々、ネットワークにおけるパケットの送信または受信のための、伝送制御プロトコル/インターネットプロトコル(TCP/IP)通信が可能な構成を含み得る。通信システム100a−100cは、必要に応じて、および特定の必要性に基づいて、ユーザデータグラムプロトコル/IP(UDP/IP)または任意の他の好適なプロトコルと共に、また動作し得る。   The elements of FIGS. 1A-1C may be coupled together through one or more interfaces using any suitable (wired or wireless) connection, which is a viable path for network (eg, network 108) communication. I will provide a. In addition, any one or more of these multiple elements of FIGS. 1A-1C may be combined or removed from the architecture based on the needs of a particular configuration. Each of the communication systems 100a-100c may include a configuration capable of Transmission Control Protocol / Internet Protocol (TCP / IP) communication for sending or receiving packets in the network. The communication systems 100a-100c may also operate with user datagram protocol / IP (UDP / IP) or any other suitable protocol as needed and based on specific needs.

通信システム100a−100cの特定の例の技術を示す目的で、ネットワーク環境をトラバースし得る通信を理解することが重要である。以下の基礎的情報は、本開示が適切に説明され得る根拠とみなされ得る。   It is important to understand communications that can traverse the network environment for the purpose of illustrating the technology of a particular example of the communication systems 100a-100c. The following basic information can be considered as the basis by which this disclosure can be adequately explained.

大抵の企ては、ハードディスク全体を再フォーマットし、電子デバイスをリイメージすることによって、マルウェアに感染した電子デバイスを修復する。これは、不便なプロセスであり、電子デバイスを非生産的にするだけでなく、また、リイメージの前にバックアップされていないデータを削除することによって、電子デバイス上でデータ損失を生じさせる。現在、マルウェアは検知および修復を回避するように様々な技術を用いるので、リイメージは、非常にわずかな、確かなマルウェア削除技術の1つである。現在普及した検知テクノロジーを用いると、感染した電子デバイス上の悪意のあるファイルの存在から修復することが困難であるだけでなく、そもそもホストが感染しているかどうか識別することもまた非常に困難である。必要とされることは、電子デバイスをリイメージする必要なしに、感染した電子デバイス上のマルウェアを軽減し、またはマルウェアから修復し得るシステムおよび方法である。   Most attempts to repair malware-infected electronic devices by reformatting the entire hard disk and reimaging the electronic device. This is an inconvenient process that not only makes the electronic device unproductive, but also causes data loss on the electronic device by deleting data that has not been backed up prior to reimage. Currently, re-image is one of very few reliable malware removal techniques because malware uses various techniques to avoid detection and repair. With currently popular detection technologies, it is not only difficult to repair from the presence of malicious files on infected electronic devices, but it is also very difficult to identify whether a host is infected in the first place. is there. What is needed is a system and method that can mitigate or repair malware on an infected electronic device without having to reimage the electronic device.

図1Aから図1Cに概説されるような、マルウェアの軽減のための通信システムが、これらの(および他の)課題を解決し得る。通信システム100a−100cは、挙動分析技術を用いて、マルウェア被疑サンプルを分析するように構成され得る。例えば、パターン挙動生成モジュール132は、挙動分析技術を用いて、マルウェア被疑サンプルを分析するように構成され得る。技術は、パターンマッチング、グローバルレピュテーション、プログラムエミュレーション、静的分析、動的分析、または何らかの他の挙動分析技術のうち1または複数の組み合わせの使用を含み得る。ひとたびマルウェア被疑サンプルが分析されたならば、システムは、分析に基づいてマルウェアのマルウェアパターン挙動(例えば、マルウェアパターン挙動124)を生成するように構成され得る。マルウェアパターン挙動は、分析によって捕らえられたときのマルウェアによって用いられる様々な回避技術および難読化技術を含み得る。マルウェアパターン挙動は、特定のマルウェアサンプル挙動の指標であり得る。   A communication system for malware mitigation, as outlined in FIGS. 1A-1C, can solve these (and other) issues. The communication systems 100a-100c may be configured to analyze the suspected malware sample using behavior analysis techniques. For example, the pattern behavior generation module 132 may be configured to analyze a suspected malware sample using behavior analysis techniques. The technique may include the use of a combination of one or more of pattern matching, global reputation, program emulation, static analysis, dynamic analysis, or some other behavior analysis technique. Once the suspected malware sample has been analyzed, the system can be configured to generate a malware pattern behavior (eg, malware pattern behavior 124) of the malware based on the analysis. Malware pattern behavior may include various evasion and obfuscation techniques used by malware when captured by analysis. Malware pattern behavior can be an indicator of specific malware sample behavior.

サンプル挙動に基づいて、典型的なマルウェアファミリーの挙動知見が、サンプル挙動に関連づけられたマルウェアファミリーを識別するように用いられ得る。知られている、および新しいマルウェアファミリーの調査および分析の結果として、識別されたマルウェアファミリーに特有の一組の挙動パターンが、ファミリー挙動として生成され得る。大抵のマルウェアは、善意の、または良性のソフトウェアによっては示されない挙動パターンをとる。調査および分析の結果として、概してマルウェアによって示された一組の挙動パターンが、ジェネリックマルウェア挙動として作成され得る。特定のマルウェアサンプル挙動、ファミリー挙動、およびジェネリックマルウェア挙動は、マルウェアパターン挙動124に組み合わせられ得る。   Based on the sample behavior, typical malware family behavioral knowledge can be used to identify the malware family associated with the sample behavior. As a result of research and analysis of known and new malware families, a set of behavior patterns that are unique to the identified malware family can be generated as family behavior. Most malware takes a behavioral pattern that is not exhibited by bona fide or benign software. As a result of the investigation and analysis, a set of behavior patterns generally indicated by malware may be created as generic malware behavior. Specific malware sample behavior, family behavior, and generic malware behavior may be combined into malware pattern behavior 124.

サンプル挙動、ファミリー挙動、およびジェネリックマルウェア挙動の複数の要素は、マルウェア検知モジュール120の中に組み合わせられ得、マルウェアを識別するように分析ログ126と比較され得る。分析ログ126は、マルウェアに感染した疑いのあるシステム上のアクティビティのログであり得る。加えて、関連する環境詳細、ファイルシステム、およびレジストリ情報、ならびに、電子デバイスの中の感染および回避の指標を収集するために実行されるように構成され得る検知タスクを生成するように、サンプル挙動、ファミリー挙動、およびジェネリックマルウェア挙動の複数の要素が、マルウェア軽減モジュール122の中で組み合わせられ得る。マルウェア軽減モジュール122へのフィードバックループは、感染した電子デバイス上の感染の検知および修復のための更なる特定のタスクを生成するために、検知タスクの結果を分析するように用いられ得る。これらのタスクの結果は、実行のための更なるタスクを生成し得るマルウェア軽減モジュール122に、改めてフィードバックされ得る。動作のこのシーケンスは、マルウェア軽減モジュール122が、サンプル挙動およびファミリー挙動によって明示される感染から電子デバイスがクリーンであると判断するまで、反復され得る。   Multiple elements of sample behavior, family behavior, and generic malware behavior can be combined into the malware detection module 120 and compared to the analysis log 126 to identify the malware. The analysis log 126 may be a log of activity on the system suspected of being infected with malware. In addition, sample behavior to generate detection tasks that can be configured to be performed to collect relevant environmental details, file system and registry information, and indicators of infection and avoidance in electronic devices. Multiple elements of family behavior and generic malware behavior may be combined in the malware mitigation module 122. A feedback loop to the malware mitigation module 122 can be used to analyze the results of the detection task to generate further specific tasks for detection and remediation of infection on the infected electronic device. The results of these tasks can be fed back to the malware mitigation module 122, which can generate additional tasks for execution. This sequence of operations may be repeated until the malware mitigation module 122 determines that the electronic device is clean from infections manifested by sample behavior and family behavior.

マルウェアの検知回避能力を軽減するように、タスクは異なるプラットフォーム上で実行され得る。例えば、タスクはライブ(live)オペレーティングシステム内で実行され得、それはマルウェアに感染し得、検知タスクまたは軽減タスクの正確さに支障をきたし得る。タスクは、検知タスクおよび軽減タスクに支障をきたし得るマルウェアによって感染する可能性をより低くする、回復環境136(例えば、Windows(登録商標)回復環境(RE))において実行され得る。タスクは、電子デバイス上で二次オペレーティングシステム138を用いて実行され得る。二次オペレーティングシステムは、ブートディスクとしてマウントされ得るファイルを用いて、電子デバイス上でプッシュされ得る。マルウェアは、二次オペレーティングシステム上で実行される軽減タスクと、最も支障をきたしそうにない。   Tasks can be executed on different platforms to reduce the ability to avoid detection of malware. For example, a task can be executed within a live operating system, which can be infected with malware and can interfere with the accuracy of detection or mitigation tasks. The task may be executed in a recovery environment 136 (eg, Windows® Recovery Environment (RE)) that is less likely to be infected by malware that can interfere with detection and mitigation tasks. The task may be performed using a secondary operating system 138 on the electronic device. The secondary operating system can be pushed on the electronic device using a file that can be mounted as a boot disk. Malware is most unlikely to interfere with mitigation tasks performed on secondary operating systems.

図1Aから図1Cのインフラストラクチャに移ると、例示的な実施形態による通信システム100a−100cが示される。概して、通信システム100a−100cは、任意の種類またはトポロジのネットワークにおいて実装され得る。ネットワーク108は、通信システム100a−100cを通じて伝播する情報のパケットを受信および送信する、相互結合された通信経路の一連のポイントまたはノードを示す。ネットワーク108は、ノード間の通信インタフェースを提供し、任意のローカルエリアネットワーク(LAN)、仮想ローカルエリアネットワーク(VLAN)、ワイドエリアネットワーク(WAN)、無線ローカルエリアネットワーク(WLAN)、メトロポリタンエリアネットワーク(MAN)、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、および、ネットワーク環境において通信を容易にする任意の他の適切なアーキテクチャまたはシステム、または、それらの任意の好適な組み合わせとして、有線および/または無線通信を含んで構成され得る。   Turning to the infrastructure of FIGS. 1A-1C, communication systems 100a-100c according to an exemplary embodiment are shown. In general, the communication systems 100a-100c may be implemented in a network of any type or topology. Network 108 represents a series of points or nodes of interconnected communication paths that receive and transmit packets of information that propagate through communication systems 100a-100c. The network 108 provides a communication interface between nodes, and can be any local area network (LAN), virtual local area network (VLAN), wide area network (WAN), wireless local area network (WLAN), metropolitan area network (MAN). ), Intranet, extranet, virtual private network (VPN), and any other suitable architecture or system that facilitates communication in a network environment, or any suitable combination thereof, wired and / or wireless It can be configured to include communications.

通信システム100a−100cにおいて、パケット、フレーム、信号、データなどを含むネットワークトラフィックは、任意の好適な通信メッセージングプロトコルによって送信され得、および受信され得る。好適な通信メッセージングプロトコルは、開放型システム間相互接続(OSI)モデル、または、それらの任意の派生または変形(例えば、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル/IP(UDP/IP))、などの多層スキームを含み得る。加えて、セルラネットワークにわたる無線信号通信が、通信システム100a−100cにおいて、また提供され得る。好適なインタフェースおよびインフラストラクチャが、セルラネットワークとの通信を可能にするように提供され得る。   In the communication systems 100a-100c, network traffic including packets, frames, signals, data, etc. may be transmitted and received via any suitable communication messaging protocol. A suitable communication messaging protocol is the Open Systems Interconnection (OSI) model, or any derivative or variant thereof (eg, Transmission Control Protocol / Internet Protocol (TCP / IP), User Datagram Protocol / IP (UDP) / IP)), and the like. In addition, wireless signaling over cellular networks may also be provided in communication systems 100a-100c. Suitable interfaces and infrastructure can be provided to enable communication with the cellular network.

本明細書で用いられる用語「パケット」は、パケット交換ネットワーク上のソースノードと宛先ノードとの間でルーティングされ得るデータの単位を指す。パケットは、ソースネットワークアドレスおよび宛先ネットワークアドレスを含む。これらのネットワークアドレスは、TCP/IPメッセージングプロトコルにおけるインターネットプロトコル(IP)アドレスであり得る。本明細書で用いられる用語「データ」は、電子デバイスおよび/またはネットワークにおいて、1つのポイントから別のポイントへ通信され得る任意の適切なフォーマットの、任意の種類のバイナリ、数値、音声、ビデオ、テキスト、もしくはスクリプトデータ、もしくは、任意の種類のソースもしくはオブジェクトコード、または、任意の他の好適な情報を指す。加えて、メッセージ、要求、応答、およびクエリはネットワークトラフィックの形態であり、従って、パケット、フレーム、信号、データなどを備え得る。   As used herein, the term “packet” refers to a unit of data that can be routed between a source node and a destination node on a packet-switched network. The packet includes a source network address and a destination network address. These network addresses can be Internet Protocol (IP) addresses in the TCP / IP messaging protocol. The term “data” as used herein refers to any type of binary, numeric, audio, video, in any suitable format that can be communicated from one point to another in an electronic device and / or network. Refers to text or script data, or any type of source or object code, or any other suitable information. In addition, messages, requests, responses, and queries are in the form of network traffic and may thus comprise packets, frames, signals, data, and the like.

例示的な実装において、電子デバイス102a−102c、クラウドサービス104、およびサーバ106はネットワーク要素であり、それらは、ネットワーク環境において情報を交換するように操作可能な、ネットワーク機器、サーバ、ルータ、スイッチ、ゲートウェイ、ブリッジ、ロードバランサ、プロセッサ、モジュール、または、任意の他の好適なデバイス、コンポーネント、要素、もしくはオブジェクトを包含することが意図される。ネットワーク要素は、それらの操作を容易にする、任意の好適なハードウェア、ソフトウェア、コンポーネント、モジュール、または、オブジェクト、ならびに、ネットワーク環境においてデータまたは情報を受信、送信、および/または別の方法で通信するために好適なインタフェースを含み得る。これは、データまたは情報の効果的な交換を可能にする適切なアルゴリズムおよび通信プロトコルを含み得る。   In an exemplary implementation, electronic devices 102a-102c, cloud service 104, and server 106 are network elements that are operable to exchange information in a network environment, such as network equipment, servers, routers, switches, It is intended to encompass gateways, bridges, load balancers, processors, modules, or any other suitable device, component, element or object. The network elements receive, transmit, and / or otherwise communicate any suitable hardware, software, component, module, or object that facilitates their operation and data or information in a network environment. A suitable interface may be included. This may include appropriate algorithms and communication protocols that allow for effective exchange of data or information.

通信システム100a−100cに関連づけられた内部構造に関して、電子デバイス102a−102c、クラウドサービス104およびサーバ106の各々は、本明細書に概説される操作において用いられる情報を格納するための複数のメモリ要素を含み得る。電子デバイス102a−102c、クラウドサービス104およびサーバ106の各々は、任意の好適なメモリ要素(例えば、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、特定用途向け集積回路(ASIC)など)、ソフトウェア、ハードウェア、ファームウェア、または、必要に応じて、および特定の必要性に基づいて、任意の他の好適なコンポーネント、デバイス、要素、もしくはオブジェクトに、情報を保持し得る。本明細書で説明された任意のメモリアイテムは、広義の用語「メモリ要素」の中に包含されると解釈されるべきである。さらに、通信システム100a−100cにおいて用いられ、トラッキングされ、送信され、または受信される情報は、任意のデータベース、レジスタ、キュー、テーブル、キャッシュ、制御リスト、または他のストレージ構造において提供され得、それらのすべては、任意の好適な時間枠で参照され得る。任意のそのようなストレージの選択肢が、本明細書で用いられる広義の用語「メモリ要素」の中に、また含まれ得る。   With respect to internal structures associated with communication systems 100a-100c, each of electronic devices 102a-102c, cloud service 104, and server 106 includes a plurality of memory elements for storing information used in the operations outlined herein. Can be included. Each of electronic devices 102a-102c, cloud service 104 and server 106 may be any suitable memory element (eg, random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrical erasure). Programmable ROM (EEPROM), application specific integrated circuit (ASIC), etc.), software, hardware, firmware, or any other suitable component, device as required and based on specific needs , Elements, or objects can hold information. Any memory item described herein is to be interpreted as encompassed within the broad term “memory element”. Further, information used, tracked, transmitted, or received in communication systems 100a-100c may be provided in any database, register, queue, table, cache, control list, or other storage structure, such as All can be referenced in any suitable time frame. Any such storage option may also be included within the broad term “memory element” as used herein.

特定の例示的な実装において、本明細書に概説される機能は、非一時的コンピュータ可読媒体を含み得る1または複数の有形媒体において符号化されるロジック(例えば、ASICに提供される組み込みロジック、デジタル信号プロセッサ(DSP)命令、プロセッサまたは他の同様の機械によって実行されるソフトウェア(オブジェクトコードおよびソースコードを潜在的に含む)、などによって実装され得る。これらの例のいくつかにおいて、メモリ要素は、本明細書に説明された操作のために用いられるデータを格納し得る。これは、本明細書に説明されたアクティビティを遂行するように実行される、ソフトウェア、ロジック、コード、またはプロセッサ命令を格納可能なメモリ要素を含む。   In certain exemplary implementations, the functions outlined herein are logic encoded in one or more tangible media that may include non-transitory computer-readable media (eg, embedded logic provided to an ASIC, It may be implemented by digital signal processor (DSP) instructions, software (potentially including object code and source code) executed by a processor or other similar machine, etc. In some of these examples, the memory elements are May store data used for the operations described herein, including software, logic, code, or processor instructions that are executed to perform the activities described herein. Contains storable memory elements.

例示的な実装において、電子デバイス102a−102c、クラウドサービス104、およびサーバ106などの通信システム100a−100cのネットワーク要素は、本明細書に概説される操作を実現または促進する、ソフトウェアモジュール(例えば、セキュリティモジュール118、マルウェア検知モジュール120、マルウェア軽減モジュール122、ネットワークセキュリティモジュール130、およびパターン挙動生成モジュールモジュール132)を含み得る。これらのモジュールは、特定の構成および/またはプロビジョニングの必要性に基づき得る、任意の適切な態様で好適に組み合わされ得る。例示的な実施形態において、そのような操作は、ハードウェアによって遂行され得、それらの要素の外部に実装され得、または、意図される機能を実現する何らかの他のネットワークデバイスに含まれ得る。さらに、モジュールは、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の好適な組み合わせとして実装され得る。これらの要素は、本明細書に概説されるような、操作を実現させるように、他のネットワーク要素と連携し得るソフトウェア(またはレシプロケーティングソフトウェア(reciprocating software))をまた含み得る。   In an exemplary implementation, network elements of communication system 100a-100c, such as electronic devices 102a-102c, cloud service 104, and server 106, implement software modules (e.g., that implement or facilitate operations outlined herein) (e.g. Security module 118, malware detection module 120, malware mitigation module 122, network security module 130, and pattern behavior generation module module 132). These modules may be suitably combined in any suitable manner that may be based on specific configurations and / or provisioning needs. In exemplary embodiments, such operations may be performed by hardware, implemented outside of those elements, or included in some other network device that implements the intended function. Further, the modules may be implemented as software, hardware, firmware, or any suitable combination thereof. These elements may also include software (or reciprocating software) that can collaborate with other network elements to implement operations, as outlined herein.

加えて、電子デバイス102a−102c、クラウドサービス104、およびサーバ106の各々は、本明細書に説明されたようなアクティビティを実行し得るソフトウェアまたはアルゴリズムを実行可能なプロセッサを含み得る。プロセッサは、本明細書で詳述された操作を実現するように、データと関連づけられた任意の種類の命令を実行し得る。一例において、プロセッサは、要素または物品(例えば、データ)を、1つの状態または物から、別の状態または物に変換し得る。別の例において、本明細書に概説されるアクティビティは、固定されたロジックまたはプログラム可能なロジック(例えば、プロセッサによって実行されるソフトウェア/コンピュータ命令)によって実装され得、本明細書において識別される要素は、デジタルロジック、ソフトウェア、コード、電子命令、またはそれらの任意の好適な組み合わせを含む、何らかのタイプのプログラム可能なプロセッサ、プログラム可能なデジタルロジック(例えば、フィールドプログラマブルゲートアレー(FPGA)、EPROM、EEPROM)、またはASICであり得る。本明細書で説明される、任意の潜在的な処理要素、モジュールおよび機械は、広義の用語「プロセッサ」の中に包含されると解釈されるべきである。   In addition, each of electronic devices 102a-102c, cloud service 104, and server 106 may include a processor capable of executing software or algorithms that may perform activities as described herein. The processor may execute any type of instructions associated with the data so as to implement the operations detailed herein. In one example, the processor may convert an element or article (eg, data) from one state or thing to another. In another example, the activities outlined herein may be implemented by fixed logic or programmable logic (eg, software / computer instructions executed by a processor) and are identified herein. Is any type of programmable processor, programmable digital logic (eg, Field Programmable Gate Array (FPGA), EPROM, EEPROM, including digital logic, software, code, electronic instructions, or any suitable combination thereof) ), Or ASIC. Any potential processing elements, modules and machines described herein are to be construed as encompassed within the broad term “processor”.

電子デバイス102a−102cはネットワーク要素であり得、例えば、デスクトップコンピュータ、ラップトップコンピュータ、モバイルデバイス、パーソナルデジタルアシスタント、スマートフォン、タブレット、または他の同様のデバイスを含む。クラウドサービス104は、クラウドサービスを電子デバイス102a−102cに提供するように構成される。クラウドサービスは、インターネットなどのネットワークにわたるサービスとして供給されるコンピューティングリソースの使用として、概して定義され得る。通常、計算、ストレージ、およびネットワークリソースがクラウドインフラストラクチャにおいて提供され、ワークロードをローカルネットワークからクラウドネットワークに効果的にシフトする。サーバ106は、サーバまたは仮想サーバなどのネットワーク要素であり得、何らかのネットワーク(例えば、ネットワーク108)を介して通信システム100a−100cにおいて通信を開始することを所望しているクライアント、顧客、エンドポイント、またはエンドユーザに関連づけられ得る。用語「サーバ」は、通信システム100a−100cの中のクライアントの要求を果たす、および/または、クライアントの代わりにいくらかの計算のタスクを実行するように用いられるデバイスを含む。セキュリティモジュール118が電子デバイス102a−102cに位置するものとしてそれぞれ図1Aから図1Cに示されているが、これは例示目的のみである。セキュリティモジュール118は、任意の好適な構成において組み合わされ、または分離され得る。さらに、セキュリティモジュール118は、クラウドサービス104またはサーバ106などの電子デバイス102a−102cによってアクセス可能な別のネットワークと統合され得、または、別のネットワーク内に分散され得る。   The electronic devices 102a-102c can be network elements and include, for example, desktop computers, laptop computers, mobile devices, personal digital assistants, smartphones, tablets, or other similar devices. The cloud service 104 is configured to provide cloud services to the electronic devices 102a-102c. A cloud service can generally be defined as the use of computing resources supplied as a service across a network such as the Internet. Typically, compute, storage, and network resources are provided in the cloud infrastructure, effectively shifting the workload from the local network to the cloud network. Server 106 may be a network element such as a server or a virtual server, such as a client, customer, endpoint, that wishes to initiate communication in communication systems 100a-100c via some network (eg, network 108). Or it can be associated with an end user. The term “server” includes devices used to fulfill client requests in communication systems 100a-100c and / or to perform some computational tasks on behalf of clients. Although security module 118 is shown in FIGS. 1A-1C as being located in electronic devices 102a-102c, respectively, this is for illustrative purposes only. The security modules 118 may be combined or separated in any suitable configuration. Further, security module 118 may be integrated with or distributed within another network accessible by electronic devices 102a-102c, such as cloud service 104 or server 106.

図2に移ると、図2は、本開示の一実施形態による、マルウェアの軽減のための通信システム100a−100cの部分の簡略ブロック図である。パターン挙動生成モジュール132は、サンプルまたはアプリケーションを分析するための、パターンマッチング、グローバルレピュテーション、静的分析、動的分析、プログラムエミュレーション、または何らかの他の挙動分析技術の、1または複数の組み合わせを用いるように構成され得る。分析されたサンプルは、マルウェアパターン挙動124を生成するように、一般化され得、用いられ得る。マルウェアパターン挙動124は、サンプル挙動140およびファミリー挙動142を含み得る。サンプル挙動140は、特定のマルウェアサンプル挙動を含み得る。ファミリー挙動142は、分析されたサンプルと関連づけられた、または分析されたサンプルを含む、マルウェアのファミリーから生成され得る。   Turning to FIG. 2, FIG. 2 is a simplified block diagram of portions of communication systems 100a-100c for malware mitigation, according to one embodiment of the present disclosure. The pattern behavior generation module 132 uses one or more combinations of pattern matching, global reputation, static analysis, dynamic analysis, program emulation, or some other behavior analysis technique to analyze a sample or application. Can be configured. The analyzed sample can be generalized and used to generate malware pattern behavior 124. Malware pattern behavior 124 may include sample behavior 140 and family behavior 142. Sample behavior 140 may include specific malware sample behavior. Family behavior 142 may be generated from a family of malware associated with or including the analyzed sample.

マルウェアは検知回避のために様々な技術を用い得るので、サンプルを分析してそれが実際に悪意のあるものかどうか検知するように、様々な技術の組み合わせが用いられる。例えば、よく知られているサンプルを識別するように、パターンマッチングが用いられ得、同じ知見が、どのような変更をサンプルがシステムにもたらすのか、および、どのような回避技術をマルウェアが用いるのかを識別するように用いられ得る。同様に、グローバルなデータベースからの入力に基づく、サンプルのグローバルレピュテーションが、マルウェアの挙動を識別するように用いられ得る。   Since malware can use different techniques to avoid detection, a combination of different techniques is used to analyze the sample and detect if it is actually malicious. For example, pattern matching can be used to identify well-known samples, and the same insights show what changes the sample will make to the system and what evasion techniques the malware uses. Can be used to identify. Similarly, a sample global reputation based on input from a global database can be used to identify malware behavior.

プログラムエミュレーションは、エミュレートされた環境においてマルウェアサンプルを実行させ、マルウェアサンプルによってなされる変更に関して、その環境を研究し、マルウェアによって用いられる回避技術を識別するように用いられ得る。例えば、マルウェアが動作プロセスのリストから隠れるためにWindows(登録商標)APIフック機構を用いる場合、同じ挙動の情報が記録され、回避技術として利用される。   Program emulation can be used to run a malware sample in an emulated environment, study that environment for changes made by the malware sample, and identify evasion techniques used by the malware. For example, when the Windows (registered trademark) API hook mechanism is used to hide malware from the list of operation processes, the same behavior information is recorded and used as an avoidance technique.

静的分析は、パターン挙動生成モジュール132がマルウェア挙動を識別し得る、別の方法である。技術は、マルウェア実行可能なイメージの中の特定の挙動を識別するように、事前に知られているパターンのアセンブリ命令を用いる。マルウェア実行可能なものは、暗号化または難読化されることがあり、マルウェアサンプルが実際に機械上で実行されている場合にのみ解読される。そのような場合において、マルウェアは、機械上での実行が可能であり、静的分析は、抽出されたコンテンツ上で成される。回避技術によって用いられるコードのパターンは、識別され得、パターン挙動生成モジュール132の部分にされ得る。   Static analysis is another way in which the pattern behavior generation module 132 can identify malware behavior. The technique uses a pre-known pattern of assembly instructions to identify specific behavior in the malware executable image. Malware executables may be encrypted or obfuscated and only decrypted if the malware sample is actually running on the machine. In such a case, the malware can be executed on the machine and the static analysis is performed on the extracted content. The pattern of code used by the avoidance technique can be identified and made part of the pattern behavior generation module 132.

マルウェアサンプルを実行した後にライブ仮想機械になされた変更を研究するように、動的分析が、パターン挙動生成モジュール132によって用いられ得る。APIフックに似た異なる技術が、マルウェアによってシステムになされた変更を検知するように用いられ得る。様々な回避技術が、マルウェアが機械上で実際に実行される知見を用いることによって、および、動作プロセスまたはロードされたモジュールに似た様々なシステムアーティファクトをその見地から分析することによって、識別され得る。例えば、マルウェアがmalwareSample.exeというプロセスを起動し、そのプロセスがシステム上の動作プロセスのリストにおいて可視でない場合、そのプロセスは、マルウェアが中で実行しているプロセスをそのマルウェアが隠すという、回避技術として利用される。   Dynamic analysis can be used by the pattern behavior generation module 132 to study changes made to the live virtual machine after executing the malware sample. Different techniques similar to API hooks can be used to detect changes made to the system by malware. Various evasion techniques can be identified by using knowledge that the malware is actually executed on the machine and by analyzing various system artifacts similar to the operating process or loaded module from that perspective . For example, the malware is malwareSample. If a process called exe is started and the process is not visible in the list of operating processes on the system, the process is used as an evasion technique where the malware hides the process in which the malware is running.

サンプルが分析された後、異なる段階でのマルウェアの分析についての報告/アーティファクトが、生成され得る。報告は分析され、一組の挙動のログが生成され得る。ログは分析の異なる段階からマルウェア挙動の指標を分析し、それを完全な挙動の分析ログと組み合わせる。分析ログは、マルウェア軽減モジュール122によって用いられ得るサンプル挙動アーティファクト(例えば、サンプル挙動140)である。   After the sample is analyzed, reports / artifacts about the analysis of the malware at different stages can be generated. The report can be analyzed and a set of behavioral logs generated. Logs analyze indicators of malware behavior from different stages of analysis and combine it with a full behavior analysis log. The analysis log is a sample behavior artifact (eg, sample behavior 140) that may be used by the malware mitigation module 122.

「サンプル挙動」の複数の要素の例は、マルウェアによって生成された、ファイルの名前、レジストリエントリ、および(mutexに似た)カーネルオブジェクトを含み得る。回避技術は、また、サンプル挙動アーティファクトにおいて明示され得る。マルウェアが隠しファイルを生成するかどうか、マルウェアがルートキットに似た挙動を示すかどうか、または、マルウェアのプロセスが列挙され得るかどうかが、また確かめられ得る。   Examples of multiple elements of “sample behavior” may include file names, registry entries, and kernel objects (similar to mutex) generated by malware. Avoidance techniques can also be manifested in the sample behavior artifact. It can also be ascertained whether the malware generates hidden files, whether the malware behaves like a rootkit, or whether the malware processes can be enumerated.

サンプル挙動ログは、特定のマルウェアサンプルのファミリーを識別するように、知られているマルウェアファミリーの挙動を分析して、それとマッチングさせ得る。マルウェアファミリー挙動150のデータベースは、この目的のために維持され得る。ひとたびファミリーが識別されると、この特定のマルウェアファミリーのすべてのメンバーの共通挙動指標が、マルウェアファミリー挙動150のデータベースから収集され得、マルウェアサンプルに関するファミリー挙動142が生成され得る。   The sample behavior log may analyze and match the behavior of known malware families to identify a particular malware sample family. A database of malware family behaviors 150 may be maintained for this purpose. Once a family is identified, common behavior indicators for all members of this particular malware family can be collected from a database of malware family behaviors 150 and a family behavior 142 for the malware sample can be generated.

ファミリー挙動の一例は、ポリモーフィック型のマルウェア挙動についての情報を含み得る。あるマルウェアは、ユーザのAppDataフォルダにファイルを生成し得る。異なるインスタンスにおいて実行された場合、同じサンプルが、ファイル名をランダム化して異なる名前のファイルを生成し、したがって、マルウェアは、そのマルウェアが生成したファイルによっては識別され得ない。そのような場合において、マルウェアは、ランダム化された挙動における共通性のパターンによって識別され得る。例えば、あるマルウェアは、異なる名前を有するが、同じmd5ハッシュを用いて、AppDataフォルダ内の同じサブフォルダの中に、ファイルを生成し得る。異なる名前だが同じmd5チェックサムのファイルを生成する特性が、マルウェアファミリーのすべてのサンプルに帰属し得る場合、この特性は、そのファミリーのすべてのサンプルの感染を識別するための指標として用いられ得る。ファミリー特有の挙動からなるそのような情報が、検知/軽減タスクを生成するようにこの情報を用い得る、マルウェア検知モジュール120およびマルウェア軽減モジュール122に供給される。例えば、ファイルの名前を変更させるがフォルダ名およびmd5チェックサムは同じに保つファミリーのサンプルに関して、識別タスクが、電子デバイス中の特定のフォルダ内の特定のmd5を探すように生成され得る。   An example of family behavior may include information about polymorphic malware behavior. Some malware may generate a file in the user's AppData folder. When run in different instances, the same sample randomizes the file name to generate a file with a different name, and therefore the malware cannot be identified by the file generated by that malware. In such cases, malware can be identified by a pattern of commonality in randomized behavior. For example, some malware may generate files in the same subfolder within the AppData folder with different names but using the same md5 hash. If a property that produces a file with a different name but the same md5 checksum can be attributed to all samples of the malware family, this property can be used as an indicator to identify infection of all samples of that family. Such information consisting of family-specific behavior is provided to the malware detection module 120 and the malware mitigation module 122, which may use this information to generate detection / mitigation tasks. For example, for a family sample that renames a file but keeps the folder name and md5 checksum the same, an identification task can be generated to look for a specific md5 in a specific folder in the electronic device.

ジェネリックの、または共通のマルウェアに似た挙動の識別は、知られているマルウェアと共通であり、良性のソフトウェアによって示されることはほとんどない挙動パラメータを、確定することを含み得る。これは、特定のレジストリエントリの形成、サインされていない、またはベリファイされていないバイナリの、スタートアップフォルダ内へのインストールなどに似た、共通のパターンを識別することを含む。例えば、スタートアップフォルダ内に存在するサインされていない複数のプログラムは、とりわけ、それらが、インストールされたプログラムのリスト内に対応するエントリを伴っていない場合、または、そのようなコンポーネントのバイナリがベリファイされたパブリッシャからサインされたものでない場合、一般に悪意があると知られている。システム内からそのようなバイナリを探し、それらのチェックサムを知られているマルウェア挙動またはファミリー挙動と比較して、可能性がある感染を識別して、従って修復するように、マルウェア検知モジュール120およびマルウェア軽減モジュール122は、検知タスク(例えば分析ログ126)および軽減タスク(例えばリバースマルウェア挙動動作128)を生成し得る。   Identification of generic or common malware-like behavior can include determining behavior parameters that are common to known malware and rarely exhibited by benign software. This includes identifying common patterns, such as the creation of specific registry entries, the installation of unsigned or unverified binaries into a startup folder, and the like. For example, unsigned programs that exist in the startup folder, especially if they do not have a corresponding entry in the list of installed programs, or binaries for such components are verified. It is generally known to be malicious if it was not signed by a publisher. Malware detection module 120 and so as to look for such binaries from within the system and compare their checksums with known malware or family behaviors to identify and thus repair potential infections. Malware mitigation module 122 may generate a detection task (eg, analysis log 126) and a mitigation task (eg, reverse malware behavior operation 128).

図3に移ると、図3は、本開示の一実施形態によるマルウェアの軽減のための通信システム100a−100cの一部の簡略図である。セキュリティモジュール118は、マルウェアパターン挙動124をマルウェア検知モジュール120と通信させるように構成され得る。マルウェア検知モジュール120は、電子デバイス102a−102cが感染しているかどうか識別するように、マルウェア挙動(例えば、サンプル挙動140、ファミリー挙動142、ジェネリックマルウェア挙動144など)の様々な指標をコンパイルするように構成され得、感染している場合、マルウェア軽減モジュール122は、電子デバイス102a−102cを感染から修復するように用いられ得る。一例において、マルウェア軽減モジュール122は、すべての指標を分析し得、電子デバイス102a−102cにおける感染の指標を識別するためのタスクを生成し得る。特定のサンプル挙動、ファミリー挙動およびジェネリック挙動(例えば、サンプル挙動140、ファミリー挙動142、およびジェネリックマルウェア挙動144)に基づいて、マルウェア感染が以前におそらく起こっており、機械の再起動が起こっていなかったかもしれない実行環境で、タスクは実行され得る。マルウェアは、機械のメモリ、レジストリ、およびファイルシステムに感染しているかもしれない。マルウェアは、その存在の指標を隠すようにオペレーティングシステムを破壊したかもしれないので、マルウェアによってなされたファイルシステムおよびレジストリの変更に似た、感染のいくつかの指標は、この環境において見つけることが困難であり得る。いくつかの他の指標は、オペレーティングシステムのライブメモリにおいて利用可能であり、機械の再起動のときには失われているだろうから、それらは、この環境においてのみ見つけられ得る。これらは、電子デバイス102a−102cにインストールされた、mutex、イベント、APIフックなどを含む。   Turning to FIG. 3, FIG. 3 is a simplified diagram of portions of communication systems 100a-100c for malware mitigation according to one embodiment of the present disclosure. Security module 118 may be configured to communicate malware pattern behavior 124 with malware detection module 120. The malware detection module 120 compiles various indicators of malware behavior (eg, sample behavior 140, family behavior 142, generic malware behavior 144, etc.) to identify whether the electronic devices 102a-102c are infected. If configured and infected, the malware mitigation module 122 can be used to repair the electronic devices 102a-102c from infection. In one example, the malware mitigation module 122 may analyze all indicators and generate a task to identify infection indicators in the electronic devices 102a-102c. Based on specific sample behavior, family behavior, and generic behavior (eg, sample behavior 140, family behavior 142, and generic malware behavior 144), a malware infection probably occurred before and no machine restart occurred In an execution environment that may be the task can be executed. Malware may infect the machine's memory, registry, and file system. Some indicators of infection, similar to file system and registry changes made by malware, are difficult to find in this environment because malware may have corrupted the operating system to hide its presence indicator It can be. Since some other indicators are available in the operating system's live memory and will be lost when the machine is restarted, they can only be found in this environment. These include mutexes, events, API hooks, etc. installed on the electronic devices 102a-102c.

別の例において、オペレーティングシステムに存在する、書き込み保護されたディスクイメージファイルから実行される環境から、タスクが実行され得る。これは、オペレーティングシステムファイルの破損という感染の場合、OSファイルをリカバリさせるために役立ち得る。同じ環境が、マルウェアの検知回避能力をバイパスして、マルウェアサンプルのブート持続性を取り除き、機械を感染から解放するように用いられ得る。   In another example, the task may be performed from an environment executing from a write protected disk image file residing in the operating system. This can be useful for recovering the OS file in case of an infection of operating system file corruption. The same environment can be used to bypass the malware detection avoidance capability, remove the boot persistence of the malware sample, and free the machine from infection.

Windows(登録商標) REにおける検知を回避するマルウェアに関して、マルウェアを識別してマルウェアから修復または軽減する唯一の方法は、機械を二次OSにブートして、機械のファイルを通じて反復するようにNTFSドライバを用いて、ファイルシステムベースの感染の指標を探すことであり得る。NTFSファイルシステムを通じた反復をサポートする二次OSの選択は、回避的なファイルシステムアーティファクトの検知および削除の助けとなり得る。特定のサンプル、ファミリー、およびジェネリックマルウェア挙動からの挙動指標と合致するタスクが生成され得る。例えば、Windows(登録商標)スタートアッププロセスの部分として実行可能なプログラムを起動するなどの、レジストリエントリを生成するサンプルが見つけられた場合、特定のレジストリキーを探すように検知タスクが生成され得る。   For malware that avoids detection in Windows® RE, the only way to identify and repair or mitigate the malware is to boot the machine into a secondary OS and repeat through the machine's files NTFS driver Can be used to look for indicators of file system-based infection. Selection of a secondary OS that supports iteration through the NTFS file system can help detect and delete evasive file system artifacts. Tasks that match behavior indicators from specific sample, family, and generic malware behavior can be generated. A detection task may be generated to look for a specific registry key if a sample that creates a registry entry is found, such as, for example, launching an executable program as part of a Windows startup process.

検知および軽減タスクの実行の結果は、フィードバックループ146を介してマルウェア軽減モジュール122にフィードバックされ得る。マルウェア軽減モジュール122は、タスクからの結果の分析に基づいて、次の動作を判断し得る。別の例において、マルウェア検知モジュール120はタスクの結果を分析し得る。結果が、電子デバイスが感染している旨を示す場合、マルウェア軽減モジュール122は、上述の3つの環境(例えば、サンドボックス116、回復環境136、または二次オペレーティングシステム138)のうち1つにおいて実行されるべき軽減タスクを生成し得る。結果が、感染がない旨を示す場合、マルウェア軽減モジュール122は、別の環境において改めてチェックを行い、それに応じてタスクを生成する旨を決定し得る。同様に、マルウェア軽減モジュール122が、いかなる知られている感染の指標もない旨を確認し得る場合、マルウェア軽減モジュール122は、電子デバイスがクリーンまたは良性であると宣言し得る。   The results of detection and mitigation task execution may be fed back to malware mitigation module 122 via feedback loop 146. The malware mitigation module 122 may determine the next action based on the analysis of the results from the task. In another example, the malware detection module 120 may analyze the task results. If the result indicates that the electronic device is infected, the malware mitigation module 122 executes in one of the three environments described above (eg, sandbox 116, recovery environment 136, or secondary operating system 138). A mitigation task to be done can be generated. If the result indicates that there is no infection, the malware mitigation module 122 may check again in another environment and decide to generate a task accordingly. Similarly, if the malware mitigation module 122 can confirm that there is no indication of any known infection, the malware mitigation module 122 may declare the electronic device to be clean or benign.

フィードバックループ146は、電子デバイスを完全に感染から解除するように、再び反復して実行され得る。例えば、マルウェア検知モジュール120が、ファイルシステムおよびレジストリに感染するマルウェアサンプルが見つかったが、ファミリー挙動は、ファイル名およびmd5が1つのインスタンスから別のインスタンスへとランダム化されることを示す、と判断した場合、マルウェア軽減モジュール122は、ライブ環境におけるマルウェアサンプルを探すためのタスクを生成し得る。マルウェアサンプルが見つからない場合、マルウェア軽減モジュール122は、回復環境においてマルウェアサンプルを探すためのタスクを改めて生成し得る。マルウェアサンプルのエビデンスが見つからない場合、特定のフォルダを探すためのタスクが生成され得る。特定のフォルダを見つけたとき、フォルダのすべてのファイルのmd5を計算するタスクが生成され得る。特定のファミリーの知られている悪いmd5チェックサムから、md5合致が見つけられない場合、機械スタートアップ上でプログラムを実行するように修正されたレジストリエントリを探す、タスクが生成され得る。スタートアッププログラムとして記録された疑わしいプログラムが見つけられた場合、プログラムに関連づけられた実行可能なファイルを探すタスクが生成され得、マルウェアサンプルのmd5は、知られている悪いmd5チェックサムの中にあると判明し得る。このマルウェアサンプルおよびレジストリエントリを削除して、ライブWindows(登録商標) OSにおいて機械をリブートして、mutexに似たインメモリ指標およびイベントを探す、タスクが生成され得る。最後に、いくつかの反復の結果の後に、マルウェア軽減モジュール122は、機械が特定のマルウェアサンプルから完全に解放されたかどうか決定し得る。   The feedback loop 146 can be performed iteratively again to completely remove the electronic device from infection. For example, the malware detection module 120 determines that a malware sample that infects the file system and registry is found, but the family behavior indicates that the file name and md5 are randomized from one instance to another. If so, the malware mitigation module 122 may generate a task to look for malware samples in the live environment. If the malware sample is not found, the malware mitigation module 122 may regenerate a task to look for the malware sample in the recovery environment. If no evidence of the malware sample is found, a task can be generated to look for a specific folder. When a particular folder is found, a task can be generated that calculates the md5 of all files in the folder. From a known bad md5 checksum of a particular family, if no md5 match is found, a task may be created that looks for a registry entry that has been modified to run the program on machine startup. If a suspicious program recorded as a startup program is found, a task can be generated that looks for an executable file associated with the program, and the md5 of the malware sample is within a known bad md5 checksum Can be found. A task can be generated that deletes this malware sample and registry entry and reboots the machine in a live Windows OS to look for in-memory indicators and events similar to mutex. Finally, after the results of several iterations, the malware mitigation module 122 may determine whether the machine has been completely released from a particular malware sample.

図4に移ると、図4は、一実施形態による、マルウェアの軽減に関連づけられ得るフロー400の可能な操作を図示する、例示的なフローチャートである。一実施形態において、フロー400の1または複数の操作は、セキュリティモジュール118、マルウェア検知モジュール120、マルウェア軽減モジュール122、ネットワークセキュリティモジュール130、およびパターン挙動生成モジュール132によって実行され得る。402において、マルウェアは動作可能にされる。404において、マルウェアによって実行される動作が観察され、システムへの変更が記録される。例えば、パターン挙動生成モジュール132が、マルウェアによって実行される動作を観察し得、マルウェアパターン挙動124を生成し得る。406において、マルウェアによって引き起こされたシステムへの変更を逆転する、実行取り消し動作が生成される。   Turning to FIG. 4, FIG. 4 is an exemplary flowchart illustrating possible operations of the flow 400 that may be associated with malware mitigation, according to one embodiment. In one embodiment, one or more operations of flow 400 may be performed by security module 118, malware detection module 120, malware mitigation module 122, network security module 130, and pattern behavior generation module 132. At 402, the malware is enabled. At 404, actions performed by the malware are observed and changes to the system are recorded. For example, the pattern behavior generation module 132 may observe the operations performed by the malware and generate the malware pattern behavior 124. At 406, an undo action is generated that reverses changes to the system caused by the malware.

図5に移ると、図5は、一実施形態によるマルウェアの軽減に関連づけられ得る、フロー500の可能な操作を図示する例示的なフローチャートである。一実施形態において、フロー500の1または複数の操作は、セキュリティモジュール118、マルウェア検知モジュール120、マルウェア軽減モジュール122、ネットワークセキュリティモジュール130、およびパターン挙動生成モジュール132によって実行され得る。502において、マルウェアはシステムを変更した。例えば、マルウェア検知モジュール120は、マルウェアが電子デバイス102aを変更または変造した旨を判断していてもよい。504において、マルウェアが識別される。例えば、分析ログ126を用いて、マルウェアが識別され得る。分析ログ126は、電子デバイス102aの変更のログをとることによって、マルウェア検知モジュール120によって生成され得る。506において、マルウェアパターン挙動が判断される。508において、リバースマルウェア挙動動作が判断される。例えば、リバースマルウェア挙動動作128が判断される。510において、マルウェアがシステムに行った変更を実行取り消しする、リバースマルウェア挙動動作が実行される。例えば、マルウェア軽減モジュール122は、マルウェアが電子デバイス102aに行った変更を実行取り消しする、リバースマルウェア挙動動作128を実行し得る。   Turning to FIG. 5, FIG. 5 is an exemplary flowchart illustrating possible operations of the flow 500 that may be associated with malware mitigation according to one embodiment. In one embodiment, one or more operations of flow 500 may be performed by security module 118, malware detection module 120, malware mitigation module 122, network security module 130, and pattern behavior generation module 132. At 502, the malware has changed the system. For example, the malware detection module 120 may determine that the malware has changed or altered the electronic device 102a. At 504, malware is identified. For example, the analysis log 126 can be used to identify malware. The analysis log 126 may be generated by the malware detection module 120 by logging a change in the electronic device 102a. At 506, malware pattern behavior is determined. At 508, reverse malware behavior behavior is determined. For example, a reverse malware behavior operation 128 is determined. At 510, a reverse malware behavior operation is performed that undoes the changes that the malware made to the system. For example, the malware mitigation module 122 may perform a reverse malware behavior operation 128 that undoes changes made by the malware to the electronic device 102a.

図6は、一実施形態による、ポイントツーポイント(PtP)構成に配置された、コンピューティングシステム600を示す。特に、図6は、プロセッサ、メモリ、および入力/出力デバイスが、複数のポイントツーポイントインタフェースによって相互結合されるシステムを示す。概して、通信システム100a−100cのネットワーク要素の1または複数は、コンピューティングシステム600と同じ、または同様の態様で構成され得る。   FIG. 6 illustrates a computing system 600 arranged in a point-to-point (PtP) configuration, according to one embodiment. In particular, FIG. 6 shows a system in which a processor, memory, and input / output devices are interconnected by multiple point-to-point interfaces. In general, one or more of the network elements of communication systems 100a-100c may be configured in the same or similar manner as computing system 600.

図6に示されるように、システム600は、いくつかのプロセッサを含み得、明確さのために、それらのうちプロセッサ670および680の2つのみが示される。2つのプロセッサ670および680が示される一方、システム600の実施形態は、また、そのようなプロセッサを1つのみ含み得ることが、理解されるべきである。プログラムの複数のスレッドを実行するように、プロセッサ670および680は各々、一組のコア(すなわち、プロセッサコア674Aおよび674B、ならびにプロセッサコア684Aおよび684B)を含み得る。コアは、図1Aから図5を参照して上に説明されたものと同様の態様で、命令コードを実行するように構成され得る。各プロセッサ670、680は、少なくとも1つの共有キャッシュ671、681を含み得る。共有キャッシュ671、681は、プロセッサコア674および684などの、プロセッサ670、680の1または複数のコンポーネントによって利用されるデータ(例えば、命令)を格納し得る。   As shown in FIG. 6, system 600 may include a number of processors, of which only two of processors 670 and 680 are shown for clarity. While two processors 670 and 680 are shown, it should be understood that embodiments of the system 600 may also include only one such processor. Processors 670 and 680 may each include a set of cores (ie, processor cores 674A and 674B, and processor cores 684A and 684B) to execute multiple threads of a program. The core may be configured to execute instruction code in a manner similar to that described above with reference to FIGS. 1A-5. Each processor 670, 680 may include at least one shared cache 671, 681. Shared cache 671, 681 may store data (eg, instructions) utilized by one or more components of processors 670, 680, such as processor cores 674 and 684.

プロセッサ670および680は各々、メモリ要素632および634と通信するための、統合されたメモリコントローラロジック(MC)672および682をまた含み得る。メモリ要素632および/または634は、プロセッサ670および680によって用いられる様々なデータを格納し得る。代替的な実施形態において、メモリコントローラロジック672および682は、プロセッサ670および680から独立した、ディスクリートロジックであり得る。   Processors 670 and 680 may also include integrated memory controller logic (MC) 672 and 682, respectively, for communicating with memory elements 632 and 634. Memory elements 632 and / or 634 may store various data used by processors 670 and 680. In an alternative embodiment, the memory controller logic 672 and 682 may be discrete logic independent of the processors 670 and 680.

プロセッサ670および680は、任意の種類のプロセッサであり得、ポイントツーポイントインタフェース回路678および688をそれぞれ用いて、ポイントツーポイント(PtP)インタフェース650を介してデータを交換し得る。プロセッサ670および680は各々、ポイントツーポイントインタフェース回路676、686、694および698を用いて、個別のポイントツーポイントインタフェース652および654を介して、チップセット690とデータを交換し得る。チップセット690は、PtPインタフェース回路であり得るインタフェース回路692を用いて、高性能グラフィックインタフェース639を介して、高性能グラフィック回路638とデータをまた交換し得る。代替的な実施形態において、図6の示されたPtPリンクのいずれかまたはすべては、PtPリンクではなくマルチドロップバスとして実装され得る。   Processors 670 and 680 may be any type of processor and may exchange data via point-to-point (PtP) interface 650 using point-to-point interface circuits 678 and 688, respectively. Processors 670 and 680 may each exchange data with chipset 690 via individual point-to-point interfaces 652 and 654 using point-to-point interface circuits 676, 686, 694 and 698, respectively. Chipset 690 may also exchange data with high performance graphics circuit 638 via high performance graphics interface 639 using interface circuit 692 which may be a PtP interface circuit. In alternative embodiments, any or all of the illustrated PtP links of FIG. 6 may be implemented as a multidrop bus rather than a PtP link.

チップセット690は、インタフェース回路696を介してバス620と通信し得る。バス620は、バスブリッジ618およびI/Oデバイス616などの、それを介して通信する1または複数のデバイスを有し得る。バス610を介して、バスブリッジ618は、キーボード/マウス612(または、タッチスクリーン、トラックボールなどの他の入力デバイス)、通信デバイス626(モデム、ネットワークインタフェースデバイス、または、コンピュータネットワーク660を通じて通信し得る他のタイプの通信デバイスなど)、オーディオI/Oデバイス614、および/またはデータストレージデバイス628などの、他のデバイスと通信し得る。データストレージデバイス628は、プロセッサ670および/または680によって実行され得る、コード630を格納し得る。代替的な実施形態において、バスアーキテクチャの任意の部分は、1または複数のPtPリンクで実装され得る。   Chipset 690 may communicate with bus 620 via interface circuit 696. Bus 620 may have one or more devices communicating therewith, such as bus bridge 618 and I / O device 616. Via bus 610, bus bridge 618 may communicate through keyboard / mouse 612 (or other input device such as a touch screen, trackball, etc.), communication device 626 (modem, network interface device, or computer network 660). Other types of communication devices), audio I / O devices 614, and / or data storage devices 628 may communicate with other devices. Data storage device 628 may store code 630 that may be executed by processors 670 and / or 680. In alternative embodiments, any part of the bus architecture may be implemented with one or more PtP links.

図6に図示されたコンピュータシステムは、本明細書に説明された様々な実施形態を実装するように利用され得るコンピューティングシステムの実施形態の、概略的な例示である。図6に図示されたシステムの様々なコンポーネントは、システムオンチップ(SoC)アーキテクチャ、または任意の他の好適な構成で組み合わされ得ることが、理解されるであろう。例えば、本明細書に開示された実施形態は、スマートセルラ電話、タブレットコンピュータ、パーソナルデジタルアシスタント、携帯可能ゲームデバイスなどの、モバイルデバイスを含むシステム内に組み込まれ得る。これらのモバイルデバイスは、少なくともいくつかの実施形態において、SoCアーキテクチャを備え得ることが理解されるであろう。   The computer system illustrated in FIG. 6 is a schematic illustration of an embodiment of a computing system that can be utilized to implement the various embodiments described herein. It will be appreciated that the various components of the system illustrated in FIG. 6 may be combined in a system on chip (SoC) architecture, or any other suitable configuration. For example, the embodiments disclosed herein may be incorporated into systems that include mobile devices, such as smart cellular phones, tablet computers, personal digital assistants, portable gaming devices, and the like. It will be appreciated that these mobile devices may comprise a SoC architecture in at least some embodiments.

図7に移ると、図7は、本開示の例示的なARMエコシステムSoC700と関連づけられた簡略ブロック図である。本開示の少なくとも1つの例示的な実装は、本明細書で説明されたマルウェアの軽減機能、およびARMコンポーネントを含み得る。例えば、図7の例は、任意のARMコア(例えば、A−7、A−15など)に関連づけられ得る。さらに、アーキテクチャは、任意の種類のタブレット、スマートフォン(Android(登録商標) phone、iPhone(登録商標)を含む)、iPad(登録商標)、Google Nexus(登録商標)、Microsoft Surface(登録商標)、パーソナルコンピュータ、サーバ、ビデオ処理コンポーネント、ラップトップコンピュータ(任意の種類のノートブックを含む)、Ultrabook(登録商標)システム、任意の種類のタッチ対応入力デバイスなどの一部であり得る。   Turning to FIG. 7, FIG. 7 is a simplified block diagram associated with an exemplary ARM ecosystem SoC 700 of the present disclosure. At least one exemplary implementation of the present disclosure may include the malware mitigation features described herein, and an ARM component. For example, the example of FIG. 7 may be associated with any ARM core (eg, A-7, A-15, etc.). In addition, the architecture can be any type of tablet, smartphone (including Android® phone, iPhone®), iPad®, Google Nexus®, Microsoft Surface®, personal It can be part of a computer, server, video processing component, laptop computer (including any type of notebook), Ultrabook® system, any type of touch-enabled input device, etc.

図7のこの例において、ARMエコシステムSoC700は、液晶ディスプレイ(LCD)に結合するモバイルインダストリープロセッサインタフェース(MIPI)/高精細度マルチメディアインタフェース(HDMI(登録商標))リンクと関連づけられ得る、複数のコア706−907、L2キャッシュ制御708、バスインタフェースユニット709、L2キャッシュ710、グラフィック処理ユニット(GPU)715、インターコネクト702、ビデオコーデック720、およびLCD I/F725を含み得る。   In this example of FIG. 7, the ARM ecosystem SoC 700 is associated with a plurality of mobile industry processor interface (MIPI) / high definition multimedia interface (HDMI) links that couple to a liquid crystal display (LCD). A core 706-907, an L2 cache control 708, a bus interface unit 709, an L2 cache 710, a graphics processing unit (GPU) 715, an interconnect 702, a video codec 720, and an LCD I / F 725 may be included.

ARMエコシステムSoC700は、加入者識別モジュール(SIM)I/F730、ブートリードオンリメモリ(ROM)735、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)コントローラ740、フラッシュコントローラ745、シリアル周辺機器インタフェース(SPI)マスター750、好適な電力制御755、ダイナミックRAM(DRAM)760、およびフラッシュ765を、また含み得る。加えて、1または複数の例示的な実施形態は、1または複数の通信機能、インタフェース、ならびに、Bluetooth(登録商標)770、3Gモデム775、全地球測位システム(GPS)780、および802.11Wi−Fi785という例などの機能を含み得る。   The ARM ecosystem SoC 700 includes a subscriber identification module (SIM) I / F 730, a boot read only memory (ROM) 735, a synchronous dynamic random access memory (SDRAM) controller 740, a flash controller 745, and a serial peripheral device interface (SPI) master. 750, suitable power control 755, dynamic RAM (DRAM) 760, and flash 765 may also be included. In addition, one or more exemplary embodiments include one or more communication functions, interfaces, and Bluetooth (R) 770, 3G modem 775, Global Positioning System (GPS) 780, and 802.11 Wi- A function such as the example of Fi785 may be included.

操作において、図7の例は、様々なタイプのコンピューティング(例えば、モバイルコンピューティング、ハイエンドデジタルホーム、サーバ、無線インフラストラクチャなど)を可能にする比較的低い電力消費と共に、処理機能を提供し得る。加えて、そのようなアーキテクチャは、任意の数のソフトウェアアプリケーション(例えば、Android(登録商標)、Adobe(登録商標) Flash(登録商標)プレーヤ、Java(登録商標)プラットフォームスタンダードエディション(Java(登録商標)SE)、Java(登録商標)FX、Linux(登録商標)、Microsoft Windows(登録商標) Embedded、Symbian、およびUbuntuなど)を可能にし得る。少なくとも1つの例示的な実施形態において、コアプロセッサは、結合された低レイテンシのレベル2キャッシュを有するアウトオブオーダー・スーパースカラー・パイプラインを実装し得る。   In operation, the example of FIG. 7 may provide processing capabilities with relatively low power consumption that enables various types of computing (eg, mobile computing, high-end digital homes, servers, wireless infrastructure, etc.). . In addition, such an architecture can include any number of software applications (e.g., Android (R), Adobe (R) Flash (R) player, Java (R) Platform Standard Edition (Java (R)). SE), Java® FX, Linux®, Microsoft Windows® Embedded, Symbian, and Ubuntu, etc.). In at least one exemplary embodiment, the core processor may implement an out-of-order superscalar pipeline with a combined low latency level 2 cache.

図8は、一実施形態によるプロセッサコア800を示す。プロセッサコア800は、マイクロプロセッサ、組み込まれたプロセッサ、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、またはコードを実行する他のデバイスなど、任意の種類のプロセッサのためのコアであり得る。1つのみのプロセッサコア800が図8に示されているが、プロセッサは、図8に示されたプロセッサコア800のうちの1つより多くを、代替的に含み得る。例えば、プロセッサコア800は、図6のプロセッサ670および680を参照して示されおよび説明された、プロセッサコア674a、674b、684aおよび684bの1つの例示的な実施形態を示す。プロセッサコア800は、シングルスレッドコアであり得、または、少なくとも1つの実施形態に関して、プロセッサコア800は、コア毎に1つより多いハードウェアスレッドコンテキスト(または「論理プロセッサ」)を含み得るという点で、マルチスレッドであり得る。   FIG. 8 illustrates a processor core 800 according to one embodiment. The processor core 800 may be a core for any type of processor, such as a microprocessor, embedded processor, digital signal processor (DSP), network processor, or other device that executes code. Although only one processor core 800 is shown in FIG. 8, the processor may alternatively include more than one of the processor cores 800 shown in FIG. For example, the processor core 800 represents one exemplary embodiment of the processor cores 674a, 674b, 684a and 684b shown and described with reference to the processors 670 and 680 of FIG. The processor core 800 may be a single thread core or, for at least one embodiment, the processor core 800 may include more than one hardware thread context (or “logical processor”) per core. Can be multi-threaded.

図8は、一実施形態によるプロセッサコア800に結合されるメモリ802を、また示す。メモリ802は、知られているような、そうでなければ当業者に利用可能なような、任意の多種多様なメモリ(メモリ階層の様々な層を含む)であり得る。メモリ802は、プロセッサコア800によって実行される、1または複数の命令であり得るコード804を含み得る。プロセッサコア800は、コード804によって示される命令のプログラムシーケンスをたどり得る。各命令はフロントエンドロジック806に入り、1または複数のデコーダ808によって処理される。デコーダは、その出力として、予め定義されたフォーマットの固定幅マイクロオペレーションなどの、マイクロオペレーションを生成し得、または、オリジナルのコード命令を反映する他の命令、マイクロ命令、または制御信号を生成し得る。フロントエンドロジック806は、レジスタリネーミングロジック810およびスケジューリングロジック812をまた含み、それは概して、リソースを割り当て、実行のための命令に対応する操作をキューに登録する。   FIG. 8 also illustrates memory 802 coupled to processor core 800 according to one embodiment. The memory 802 can be any of a wide variety of memories (including various layers of the memory hierarchy) as is known or otherwise available to those skilled in the art. Memory 802 may include code 804 that may be one or more instructions executed by processor core 800. The processor core 800 may follow the program sequence of instructions indicated by code 804. Each instruction enters the front end logic 806 and is processed by one or more decoders 808. The decoder may generate as its output a micro-operation, such as a fixed-width micro-operation in a predefined format, or other instruction, micro-instruction, or control signal that reflects the original code instruction . The front-end logic 806 also includes register renaming logic 810 and scheduling logic 812, which generally allocates resources and queues operations corresponding to instructions for execution.

プロセッサコア800は、一組の実行ユニット816−1から816−Nを有する実行ロジック814を、また含み得る。いくつかの実施形態は、特定の機能または機能の組に専用の、複数の実行ユニットを含み得る。他の実施形態は、1つの実行ユニットのみ、または、特定の機能を実行し得る1つの実行ユニットを含み得る。実行ロジック814は、コード命令によって指定される操作を実行する。   The processor core 800 may also include execution logic 814 having a set of execution units 816-1 to 816-N. Some embodiments may include multiple execution units dedicated to a particular function or set of functions. Other embodiments may include only one execution unit or one execution unit that may perform a particular function. Execution logic 814 performs the operation specified by the code instruction.

コード命令によって指定される操作の実行の完了後、バックエンドロジック818は、コード804の命令をリタイアし得る。一実施形態において、プロセッサコア800は、アウトオブオーダー実行を可能にするが、命令のインオーダーリタイアメントを必要とする。リタイアメントロジック820は、様々な知られている形態(例えば、リオーダーバッファまたは同様のもの)を取り得る。本態様において、プロセッサコア800は、少なくとも、デコーダによって生成される出力、レジスタリネーミングロジック810によって利用されるハードウェアレジスタおよびテーブル、および実行ロジック814によって書き換えられた任意のレジスタ(示されない)の観点から、コード804の実行の最中に変換される。   After completing the execution of the operation specified by the code instruction, the back-end logic 818 may retire the code 804 instruction. In one embodiment, the processor core 800 allows for out-of-order execution but requires in-order retirement of instructions. Retirement logic 820 may take various known forms (eg, a reorder buffer or the like). In this aspect, the processor core 800 is in view of at least the output generated by the decoder, the hardware registers and tables utilized by the register renaming logic 810, and any registers (not shown) rewritten by the execution logic 814. Are converted during the execution of the code 804.

図8には示されないが、プロセッサは、プロセッサコア800を有するチップ上の他の要素を含み得、その少なくともいくつかが図6を参照して本明細書で示されて説明される。例えば、図6に示されるように、プロセッサは、プロセッサコア800と共にメモリ制御ロジックを含み得る。プロセッサは、I/O制御ロジックを含み得、および/または、メモリ制御ロジックと統合されたI/O制御ロジックを含み得る。   Although not shown in FIG. 8, the processor may include other elements on a chip having a processor core 800, at least some of which are shown and described herein with reference to FIG. For example, as shown in FIG. 6, the processor may include memory control logic along with the processor core 800. The processor may include I / O control logic and / or may include I / O control logic integrated with memory control logic.

本明細書に提供された例と共に、相互作用は、2つ、3つ、またはより多くのネットワーク要素の観点から説明され得ることに留意する。しかしながら、これは、明確さおよび例示のみの目的で成されている。特定の場合には、限られた数のネットワーク要素を参照するだけで、所与の組のフローの機能の1または複数の説明がより容易になり得る。通信システム100a−100cおよびそれらの教示は、容易に拡張可能であり、多数のコンポーネント、ならびに、より複雑な/洗練された配置及び構成に対応し得ることが、理解されるべきである。従って、提供された例は、無数の他のアーキテクチャに潜在的に適用されるものとしての通信システム100a−100cの、範囲を制限すべきではなく、または、広い教示を阻むべきではない。   Note that, along with the examples provided herein, the interaction can be described in terms of two, three, or more network elements. However, this is done for purposes of clarity and illustration only. In certain cases, referring to a limited number of network elements may make it easier to explain one or more of the functions of a given set of flows. It should be understood that the communication systems 100a-100c and their teachings are easily extensible and can accommodate multiple components and more complex / sophisticated arrangements and configurations. Accordingly, the examples provided should not limit the scope or preclude the broad teaching of communication systems 100a-100c as potentially applied to a myriad of other architectures.

前述のフロー図(すなわち、図4および5)における操作は、通信システム100a−100cによって、または通信システム100a−100cの中で実行され得る、起こり得る相関するシナリオおよびパターンのいくつかのみを示すことに留意することが、また重要である。これらの操作のいくつかは、必要に応じて削除され得、または取り除かれ得、または、これらの操作は、本開示の範囲から逸脱することなく、大幅に書き換えられ得、または変更され得る。加えて、これらの操作の多数は、1または複数の追加の操作と同時に、またはそれと平行して実行されるものとして、説明されてきた。しかしながら、これらの操作のタイミングは大幅に変更され得る。前述の操作フローは、例示および説明の目的で提供されている。任意の好適な配置、時系列、構成、およびタイミング機構が、本開示の教示から逸脱することなく提供され得るという点で、かなりの柔軟性が、通信システム100a−100cによって提供される。   The operations in the foregoing flow diagrams (ie, FIGS. 4 and 5) show only some of the possible correlated scenarios and patterns that can be performed by or in the communication systems 100a-100c. It is also important to keep in mind. Some of these operations may be deleted or removed as needed, or these operations may be significantly rewritten or modified without departing from the scope of the present disclosure. In addition, many of these operations have been described as being performed concurrently with or in parallel with one or more additional operations. However, the timing of these operations can be changed significantly. The foregoing operational flow is provided for purposes of illustration and description. Considerable flexibility is provided by the communication systems 100a-100c in that any suitable arrangement, time series, configuration, and timing mechanism may be provided without departing from the teachings of the present disclosure.

本開示は特定の配置及び構成を参照して詳細に説明されているが、これらの例示的な構成および配置は、本開示の範囲から逸脱することなく、大幅に変更され得る。さらに、特定のコンポーネントが、特定の必要性および実装に基づいて、組み合わされ、分離され、除去され、または追加され得る。加えて、通信システム100a−100cは、通信処理を容易にする特定の要素及び動作を参照して示されるが、これらの要素及び動作は、通信システム100a−100cの意図される機能を実現する任意の好適なアーキテクチャ、プロトコル、および/または処理によって置換され得る。   Although the present disclosure has been described in detail with reference to particular arrangements and configurations, these exemplary configurations and arrangements can be varied significantly without departing from the scope of the present disclosure. Further, specific components can be combined, separated, removed, or added based on specific needs and implementations. In addition, although the communication systems 100a-100c are shown with reference to specific elements and operations that facilitate communication processing, these elements and operations are optional that implement the intended functions of the communication systems 100a-100c. May be replaced by any suitable architecture, protocol, and / or process.

数多くの他の変化、代替、変形、変更、および修正が、本分野の当業者に確認され得、本開示は、添付の特許請求の範囲の中に属するそのような変化、代替、変形、変更、および修正を、すべて包含することが意図されている。米国特許商標庁(USPTO)、および加えて、本出願に関して発行される任意の特許の任意の読者の助力となるように、本明細書に添付の特許請求の範囲の解釈において、出願人は、以下に留意することを望む。(a)出願人は、添付のいかなる請求項も、文言「ための手段」または「ための段階」が特定の請求項において具体的に用いられない限り、本明細書の出願の日において存在する米国特許法第112条第6パラグラフを発動させる意図はない。(b)出願人は、添付の特許請求の範囲に反映されない限り、本明細書におけるいかなる記述によっても、いかなる方法でも、本開示を限定する意図はない。   Numerous other changes, substitutions, variations, changes, and modifications may be ascertained by those skilled in the art, and the disclosure is intended to cover such changes, substitutions, variations, changes within the scope of the appended claims , And all modifications are intended to be covered. In assisting any reader of the United States Patent and Trademark Office (USPTO) and, in addition, any patent issued with respect to the present application, in interpreting the claims appended hereto, I would like to note the following: (A) Applicant shall note that any claim attached shall be present on the date of filing of this specification, unless the word “means for” or “step for” is specifically used in that particular claim. There is no intent to invoke 35 USC 112, sixth paragraph. (B) Applicants are not intended to limit the present disclosure in any way whatsoever, provided that they are not reflected in the appended claims.

[他の注記および例]
例C1は、少なくとも1つのプロセッサによって実行された場合、少なくとも1つのプロセッサに、システムにおいてマルウェアの実行を可能にさせ、マルウェアの実行によって引き起こされたシステムへの変更を記録させ、電子デバイスにおけるマルウェアの検知のための検知タスクを生成させる、1または複数の命令であって、検知タスクは少なくとも部分的に、マルウェアの実行によって引き起こされたシステムへの変更に基づく、命令を有する少なくとも1つの機械可読記憶媒体である。
[Other notes and examples]
Example C1, when executed by at least one processor, causes at least one processor to execute malware in the system, records changes to the system caused by the execution of malware, One or more instructions that generate a detection task for detection, wherein the detection task is at least partially machine-readable storage having instructions based on changes to the system caused by execution of malware It is a medium.

例C2において、例C1の主題は、検知タスクが、マルウェアの、パターンマッチング、グローバルレピュテーション分析、プログラムエミュレーション、静的分析、および動的分析のうち1または複数を用いて生成されることを、随意に含み得る。   In Example C2, the subject of Example C1 is that the detection task is optionally generated using one or more of pattern matching, global reputation analysis, program emulation, static analysis, and dynamic analysis of malware. Can be included.

例C3において、例C1−C2のうちの任意の1つの主題は、命令が、少なくとも1つのプロセッサによって実行された場合、少なくとも1つのプロセッサにさらに、マルウェアに関連するマルウェアファミリーを識別させ、マルウェアファミリーはファミリー挙動を含み、検知タスクはファミリー挙動に部分的に基づくことを、随意に含み得る。   In Example C3, the subject matter of any one of Examples C1-C2 is that if the instruction is executed by at least one processor, the at least one processor further identifies a malware family associated with the malware, and the malware family Can optionally include family behavior and the detection task can be based in part on family behavior.

例C4において、例C1−C3のうちの任意の1つの主題は、検知タスクがジェネリックマルウェア挙動に部分的に基づくことを、随意に含み得る。   In Example C4, the subject matter of any one of Examples C1-C3 can optionally include that the detection task is based in part on generic malware behavior.

例C5において、例C1−C4のうちの任意の1つの主題は、命令が、少なくとも1つのプロセッサによって実行された場合、少なくとも1つのプロセッサにさらに、生成された検知タスクを用いて、感染した電子デバイスを識別させ、マルウェアによって引き起こされた、感染した電子デバイスの変更を軽減する軽減タスクを生成させることを、随意に含み得る。   In Example C5, the subject matter of any one of Examples C1-C4 is that if the instruction is executed by at least one processor, the at least one processor is further used to detect the infected electronic Optionally, identifying the device and generating a mitigation task that mitigates the change of the infected electronic device caused by malware may be included.

例C6において、例C1−C5のうちの任意の1つの主題は、軽減タスクが回復環境において実行されることを、随意に含み得る。   In Example C6, any one of the subjects of Examples C1-C5 can optionally include the mitigation task being performed in a recovery environment.

例C7において、例C1−C6のうちの任意の1つの主題は、軽減タスクが、感染した電子デバイス上の二次オペレーティングシステムを用いて実行されることを、随意に含み得る。   In Example C7, any one of the subjects of Examples C1-C6 can optionally include that the mitigation task is performed using a secondary operating system on the infected electronic device.

例C8において、例C1−C7のうちの任意の1つの主題は、二次オペレーティングシステムが、感染した電子デバイス上にブートディスクとしてプッシュされることを、随意に含み得る。   In Example C8, any one of the subjects of Examples C1-C7 can optionally include a secondary operating system being pushed as a boot disk onto the infected electronic device.

例A1において、装置はパターン挙動生成モジュールを含み得、パターン挙動生成モジュールは、システムにおいてマルウェアの実行を可能にし、マルウェアの実行によって引き起こされたシステムへの変更を記録し、電子デバイスにおけるマルウェアの検知のための検知タスクを生成するように構成され、検知タスクは少なくとも部分的に、マルウェアの実行によって引き起こされたシステムへの変更に基づく。   In Example A1, the apparatus may include a pattern behavior generation module that enables execution of malware in the system, records changes to the system caused by the execution of malware, and detects malware in the electronic device. Configured to generate a detection task for, based at least in part on changes to the system caused by the execution of malware.

例A2において、例A1の主題は、検知タスクが、マルウェアの、パターンマッチング、グローバルレピュテーション分析、プログラムエミュレーション、静的分析、および動的分析のうち1または複数を用いて生成されることを、随意に含み得る。   In Example A2, the subject of Example A1 is that the detection task is optionally generated using one or more of pattern matching, global reputation analysis, program emulation, static analysis, and dynamic analysis of malware. Can be included.

例A3において、例A1−A2のうちの任意の1つの主題は、パターン挙動生成モジュールがさらに、マルウェアに関連するマルウェアファミリーを識別するように構成されることを、随意に含み得、マルウェアファミリーはファミリー挙動を含み、検知タスクはファミリー挙動に部分的に基づく。   In Example A3, the subject matter of any one of Examples A1-A2 can optionally include that the pattern behavior generation module is further configured to further identify a malware family associated with the malware, Includes family behavior, and the detection task is based in part on family behavior.

例A4において、例A1−A3のうちの任意の1つの主題は、検知タスクがジェネリックマルウェア挙動に部分的に基づくことを、随意に含み得る。   In Example A4, any one of the subjects of Examples A1-A3 may optionally include that the detection task is based in part on generic malware behavior.

例A5において、例A1−A4のうちの任意の1つの主題は、パターン挙動生成モジュールがさらに、セキュリティモジュールに検知タスクを通信するように構成され、セキュリティモジュールは、生成された検知タスクを用いて、感染した電子デバイスを識別し、マルウェアによって引き起こされた、感染した電子デバイスへの変更を軽減する軽減タスクを生成するように構成されることを、随意に含み得る。   In Example A5, the subject matter of any one of Examples A1-A4 is that the pattern behavior generation module is further configured to communicate the detection task to the security module, and the security module uses the generated detection task. , May optionally include configuring the mitigation task to identify the infected electronic device and mitigate changes to the infected electronic device caused by malware.

例A6において、例A1−A5のうちの任意の1つの主題は、軽減タスクが回復環境において実行されることを、随意に含み得る。   In Example A6, any one of the subjects of Examples A1-A5 can optionally include the mitigation task being performed in a recovery environment.

例A7において、例A1−A6のうちの任意の1つの主題は、軽減タスクが、感染した電子デバイス上の二次オペレーティングシステムを用いて実行されることを、随意に含み得る。   In Example A7, any one of the subjects of Examples A1-A6 can optionally include that the mitigation task is performed using a secondary operating system on the infected electronic device.

例A8において、例A1−A7のうちの任意の1つの主題は、二次オペレーティングシステムが、感染した電子デバイス上にブートディスクとしてプッシュされることを、随意に含み得る。   In Example A8, any one of the subjects of Examples A1-A7 can optionally include a secondary operating system being pushed as a boot disk onto the infected electronic device.

例M1は、システムにおいてマルウェアの実行を可能にすることと、マルウェアの実行によって引き起こされるシステムへの変更を記録することと、電子デバイスにおけるマルウェアの検知のための検知タスクを生成することであり、検知タスクは少なくとも部分的に、マルウェアの実行によって引き起こされるシステムへの変更に基づく、生成することと、を含む方法である。   Example M1 is enabling the execution of malware in the system, recording changes to the system caused by the execution of malware, and generating a detection task for detection of malware in an electronic device; The detection task is a method that includes generating, at least in part, based on changes to the system caused by execution of malware.

例M2において、例M1の主題は、検知タスクが、マルウェアの、パターンマッチング、グローバルレピュテーション分析、プログラムエミュレーション、静的分析、および動的分析のうち1または複数を用いて生成されることを、随意に含み得る。   In Example M2, the subject of Example M1 is that the detection task is optionally generated using one or more of pattern matching, global reputation analysis, program emulation, static analysis, and dynamic analysis of malware. Can be included.

例M3において、例M1−M2のうちの任意の1つの主題は、マルウェアに関連するマルウェアファミリーを識別することであって、マルウェアファミリーはファミリー挙動を含み、検知タスクはファミリー挙動に部分的に基づく、識別することを随意に含み得る。   In Example M3, the subject matter of any one of Examples M1-M2 is to identify the malware family associated with the malware, where the malware family includes the family behavior and the detection task is based in part on the family behavior Optionally identifying.

例M4において、例M1−M3のうちの任意の1つの主題は、検知タスクがジェネリックマルウェア挙動に部分的に基づくことを、随意に含み得る。   In Example M4, any one of the subjects of Examples M1-M3 may optionally include that the detection task is based in part on generic malware behavior.

例M5において、例M1−M4のうちの任意の1つの主題は、生成された検知タスクを用いて、感染した電子デバイスを識別することと、マルウェアによって引き起こされた、感染した電子デバイスへの変更を軽減する、軽減タスクを生成することとを、随意に含み得る。   In Example M5, any one of the subjects of Examples M1-M4 uses the generated detection task to identify the infected electronic device and changes to the infected electronic device caused by malware And optionally generating a mitigation task.

例M6において、例M1−M5のうちの任意の1つの主題は、軽減タスクが回復環境において実行されることを、随意に含み得る。   In Example M6, any one of the subjects of Examples M1-M5 can optionally include the mitigation task being performed in a recovery environment.

例M7において、例M1−M6のうちの任意の1つの主題は、軽減タスクが、感染した電子デバイス上の二次オペレーティングシステムを用いて実行されることを、随意に含み得る。   In Example M7, any one of the subjects of Examples M1-M6 may optionally include that the mitigation task is performed using a secondary operating system on the infected electronic device.

例S1は、マルウェアからの修復のためのシステムであり、システムは、パターン挙動生成モジュールとセキュリティモジュールとを含み、パターン挙動生成モジュールは、システムにおいてマルウェアの実行を可能にし、マルウェアの実行によって引き起こされたシステムへの変更を記録し、電子デバイスにおけるマルウェアの検知のための検知タスクを生成するように構成され、検知タスクは少なくとも部分的に、マルウェアの実行によって引き起こされたシステムへの変更に基づき、セキュリティモジュールは、生成された検知タスクを用いて、感染した電子デバイスを識別し、マルウェアによって引き起こされた、感染した電子デバイスへの変更を軽減する軽減タスクを生成するように構成される。   Example S1 is a system for repairing from malware, the system includes a pattern behavior generation module and a security module, which allows the execution of malware in the system and is caused by the execution of malware The system is recorded to generate detection tasks for malware detection on electronic devices, the detection tasks based at least in part on changes to the system caused by malware execution, The security module is configured to identify an infected electronic device using the generated detection task and generate a mitigation task that mitigates changes to the infected electronic device caused by malware.

例S2において、例S1の主題は、検知タスクが、マルウェアの、パターンマッチング、グローバルレピュテーション分析、プログラムエミュレーション、静的分析、および動的分析のうち1または複数を用いて生成されることを、随意に含み得る。   In Example S2, the subject of Example S1 is that the detection task is optionally generated using one or more of pattern matching, global reputation analysis, program emulation, static analysis, and dynamic analysis of malware. Can be included.

例X1は、例A1−A8、またはM1−M7のうちの任意の1つに示されるような、方法を実装するための、または装置を実現させるための、機械可読命令を含む機械可読記憶媒体である。例Y1は、例の方法M1−M7のうちのいずれかを実行するための手段を含む装置である。例Y2において、例Y1の主題は、方法を実行するための、プロセッサおよびメモリを含む手段を随意に含み得る。例Y3において、例Y2の主題は、機械可読命令を含むメモリを随意に含み得る。   Example X1 is a machine-readable storage medium comprising machine-readable instructions for implementing a method or for realizing an apparatus, as shown in any one of Examples A1-A8 or M1-M7 It is. Example Y1 is an apparatus that includes means for performing any of the example methods M1-M7. In Example Y2, the subject of Example Y1 may optionally include means including a processor and a memory for performing the method. In Example Y3, the subject of Example Y2 can optionally include a memory that includes machine-readable instructions.

Claims (25)

少なくとも1つのプロセッサに、
システムにおいてマルウェアの実行を可能にする手順と、
前記マルウェアの前記実行によって引き起こされた前記システムへの変更を記録する手順と、
電子デバイスにおける前記マルウェアの検知のための検知タスクを生成する手順であって、前記検知タスクは少なくとも部分的に、前記マルウェアの前記実行によって引き起こされた前記システムへの前記変更に基づく、手順と、
を実行させるための、コンピュータプログラム。
At least one processor,
Procedures that allow the system to run malware,
Recording the changes to the system caused by the execution of the malware;
A procedure for generating a detection task for detection of the malware in an electronic device, wherein the detection task is based at least in part on the change to the system caused by the execution of the malware;
A computer program for executing
前記検知タスクは、前記マルウェアの、パターンマッチング、グローバルレピュテーション分析、プログラムエミュレーション、静的分析、および動的分析のうち1または複数を用いて生成される、請求項1に記載のコンピュータプログラム。   The computer program according to claim 1, wherein the detection task is generated using one or more of pattern matching, global reputation analysis, program emulation, static analysis, and dynamic analysis of the malware. 前記少なくとも1つのプロセッサに、
前記マルウェアに関連するマルウェアファミリーを識別する手順であって、前記マルウェアファミリーはファミリー挙動を含み、前記検知タスクは前記ファミリー挙動に部分的に基づく、手順をさらに実行させるための、請求項1または2に記載のコンピュータプログラム。
The at least one processor;
3. A procedure for identifying a malware family associated with the malware, wherein the malware family includes a family behavior, and wherein the detection task is further based on the family behavior to further execute a procedure. A computer program described in 1.
前記検知タスクは、ジェネリックマルウェア挙動に部分的に基づく、請求項1から3のいずれか一項に記載のコンピュータプログラム。   The computer program according to claim 1, wherein the detection task is based in part on generic malware behavior. 前記少なくとも1つのプロセッサに、
前記生成された検知タスクを用いて、感染した電子デバイスを識別する手順と、
前記マルウェアによって引き起こされた、前記感染した電子デバイスへの前記変更を軽減する軽減タスクを生成する手順と、
をさらに実行させるための、請求項1から4のいずれか一項に記載のコンピュータプログラム。
The at least one processor;
Using the generated detection task to identify an infected electronic device;
Generating a mitigation task to mitigate the change to the infected electronic device caused by the malware;
The computer program according to any one of claims 1 to 4, wherein the computer program is further executed.
前記軽減タスクは、回復環境において実行される、請求項5に記載のコンピュータプログラム。   The computer program product of claim 5, wherein the mitigation task is executed in a recovery environment. 前記軽減タスクは、前記感染した電子デバイス上の二次オペレーティングシステムを用いて実行される、請求項5または6に記載のコンピュータプログラム。   The computer program according to claim 5 or 6, wherein the mitigation task is performed using a secondary operating system on the infected electronic device. 前記二次オペレーティングシステムは、前記感染した電子デバイス上にブートディスクとしてプッシュされる、請求項7に記載のコンピュータプログラム。   The computer program product of claim 7, wherein the secondary operating system is pushed as a boot disk onto the infected electronic device. パターン挙動生成モジュールを備え、
前記パターン挙動生成モジュールは、
システムにおいてマルウェアの実行を可能にし、
前記マルウェアの前記実行によって引き起こされた前記システムへの変更を記録し、
電子デバイスにおける前記マルウェアの検知のための検知タスクを生成し、前記検知タスクは少なくとも部分的に、前記マルウェアの前記実行によって引き起こされた前記システムへの前記変更に基づく、
装置。
It has a pattern behavior generation module,
The pattern behavior generation module includes:
Allowing malware to run in the system,
Record changes to the system caused by the execution of the malware;
Generating a detection task for detection of the malware in an electronic device, the detection task based at least in part on the change to the system caused by the execution of the malware;
apparatus.
前記検知タスクは、前記マルウェアの、パターンマッチング、グローバルレピュテーション分析、プログラムエミュレーション、静的分析、および動的分析のうち1または複数を用いて生成される、請求項9に記載の装置。   The apparatus of claim 9, wherein the detection task is generated using one or more of pattern matching, global reputation analysis, program emulation, static analysis, and dynamic analysis of the malware. 前記パターン挙動生成モジュールは、さらに、
前記マルウェアに関連するマルウェアファミリーを識別し、前記マルウェアファミリーはファミリー挙動を含み、前記検知タスクは前記ファミリー挙動に部分的に基づく、請求項9または10に記載の装置。
The pattern behavior generation module further includes:
The apparatus according to claim 9 or 10, wherein a malware family associated with the malware is identified, the malware family includes a family behavior, and the detection task is based in part on the family behavior.
前記検知タスクは、ジェネリックマルウェア挙動に部分的に基づく、請求項9から11のいずれか一項に記載の装置。   12. The apparatus according to any one of claims 9 to 11, wherein the detection task is based in part on generic malware behavior. 前記パターン挙動生成モジュールは、さらに、
セキュリティモジュールに前記検知タスクを通信し、前記セキュリティモジュールは、
前記生成された検知タスクを用いて、感染した電子デバイスを識別し、
前記マルウェアによって引き起こされた、前記感染した電子デバイスへの前記変更を軽減する軽減タスクを生成する、請求項9から12のいずれか一項に記載の装置。
The pattern behavior generation module further includes:
Communicating the detection task to a security module, the security module
Using the generated detection task to identify infected electronic devices;
13. Apparatus according to any one of claims 9 to 12, which generates a mitigation task that mitigates the change to the infected electronic device caused by the malware.
前記軽減タスクは、回復環境において実行される、請求項13に記載の装置。   The apparatus of claim 13, wherein the mitigation task is performed in a recovery environment. 前記軽減タスクは、前記感染した電子デバイス上の二次オペレーティングシステムを用いて実行される、請求項13または14に記載の装置。   15. The apparatus according to claim 13 or 14, wherein the mitigation task is performed using a secondary operating system on the infected electronic device. 前記二次オペレーティングシステムは、前記感染した電子デバイス上にブートディスクとしてプッシュされる、請求項15に記載の装置。   The apparatus of claim 15, wherein the secondary operating system is pushed as a boot disk onto the infected electronic device. システムにおいてマルウェアを実行する段階と、
前記マルウェアの前記実行によって引き起こされる前記システムへの変更を記録する段階と、
電子デバイスにおける前記マルウェアの検知のための検知タスクを生成する段階であって、前記検知タスクは、少なくとも部分的に、前記マルウェアの前記実行によって引き起こされる前記システムの前記変更に基づく、段階と、を含む方法。
Executing malware in the system;
Recording changes to the system caused by the execution of the malware;
Generating a detection task for detection of the malware in an electronic device, the detection task based at least in part on the change in the system caused by the execution of the malware; Including methods.
前記検知タスクは、前記マルウェアの、パターンマッチング、グローバルレピュテーション分析、プログラムエミュレーション、静的分析、および動的分析のうち1または複数を用いて生成される、請求項17に記載の方法。   The method of claim 17, wherein the detection task is generated using one or more of pattern matching, global reputation analysis, program emulation, static analysis, and dynamic analysis of the malware. 前記マルウェアと関連するマルウェアファミリーを識別する段階であって、前記マルウェアファミリーはファミリー挙動を含み、前記検知タスクは前記ファミリー挙動に部分的に基づく、段階をさらに含む、
請求項17または18に記載の方法。
Identifying a malware family associated with the malware, wherein the malware family includes a family behavior, and the detection task is further based in part on the family behavior;
The method according to claim 17 or 18.
前記検知タスクは、ジェネリックマルウェア挙動に部分的に基づく、請求項17から19のいずれか一項に記載の方法。   20. A method as claimed in any one of claims 17 to 19, wherein the detection task is based in part on generic malware behavior. 前記生成された検知タスクを用いて、感染した電子デバイスを識別する段階と、
前記マルウェアによって引き起こされた、前記感染した電子デバイスへの前記変更を軽減する、軽減タスクを生成する段階と、
をさらに備える、請求項17から20のいずれか一項に記載の方法。
Identifying an infected electronic device using the generated detection task;
Generating a mitigation task to mitigate the change to the infected electronic device caused by the malware;
21. The method according to any one of claims 17 to 20, further comprising:
前記軽減タスクは、回復環境において実行される、請求項21に記載の方法。   The method of claim 21, wherein the mitigation task is performed in a recovery environment. 前記軽減タスクは、前記感染した電子デバイス上の二次オペレーティングシステムを用いて実行される、請求項21または22に記載の方法。   23. The method of claim 21 or 22, wherein the mitigation task is performed using a secondary operating system on the infected electronic device. マルウェアからの修復のためのシステムであって、前記システムは、
パターン挙動生成モジュールと、
セキュリティモジュールと、
を備え、
前記パターン挙動生成モジュールは、
システムにおいてマルウェアの実行を可能にし、
前記マルウェアの前記実行によって引き起こされた前記システムへの変更を記録し、
電子デバイスにおける前記マルウェアの検知のための検知タスクを生成し、前記検知タスクは少なくとも部分的に、前記マルウェアの前記実行によって引き起こされる前記システムへの前記変更に基づき、
前記セキュリティモジュールは、
前記生成された検知タスクを用いて、感染した電子デバイスを識別し、
前記マルウェアによって引き起こされた、前記感染した電子デバイスへの前記変更を軽減する軽減タスクを生成する、システム。
A system for repairing from malware, the system comprising:
A pattern behavior generation module;
A security module;
With
The pattern behavior generation module includes:
Allowing malware to run in the system,
Record changes to the system caused by the execution of the malware;
Generating a detection task for detection of the malware in an electronic device, the detection task based at least in part on the change to the system caused by the execution of the malware;
The security module is
Using the generated detection task to identify infected electronic devices;
A system that generates a mitigation task that mitigates the change to the infected electronic device caused by the malware.
前記検知タスクが、前記マルウェアの、パターンマッチング、グローバルレピュテーション分析、プログラムエミュレーション、静的分析、および動的分析のうち1または複数を用いて生成される、請求項24に記載のシステム。   25. The system of claim 24, wherein the detection task is generated using one or more of pattern matching, global reputation analysis, program emulation, static analysis, and dynamic analysis of the malware.
JP2017567410A 2015-06-27 2016-05-24 Malware mitigation Active JP6668390B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN3247/CHE/2015 2015-06-27
IN3247CH2015 2015-06-27
PCT/US2016/033846 WO2017003580A1 (en) 2015-06-27 2016-05-24 Mitigation of malware

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020030462A Division JP2020113290A (en) 2015-06-27 2020-02-26 Mitigation of malware

Publications (2)

Publication Number Publication Date
JP2018524720A true JP2018524720A (en) 2018-08-30
JP6668390B2 JP6668390B2 (en) 2020-03-18

Family

ID=57608987

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017567410A Active JP6668390B2 (en) 2015-06-27 2016-05-24 Malware mitigation
JP2020030462A Pending JP2020113290A (en) 2015-06-27 2020-02-26 Mitigation of malware

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020030462A Pending JP2020113290A (en) 2015-06-27 2020-02-26 Mitigation of malware

Country Status (4)

Country Link
EP (1) EP3314509A4 (en)
JP (2) JP6668390B2 (en)
CN (1) CN108064384A (en)
WO (1) WO2017003580A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022090643A (en) * 2020-12-07 2022-06-17 サンズ ラブ インコーポレイテッド Method for generating malicious act feature information on malware

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109492399B (en) * 2019-01-17 2022-02-01 腾讯科技(深圳)有限公司 Risk file detection method and device and computer equipment
GB2597098A (en) * 2020-07-15 2022-01-19 British Telecomm Computer-implemented automatic security methods and systems
GB2597097B (en) * 2020-07-15 2022-10-05 British Telecomm Computer-implemented automatic security methods and systems
CN113722705B (en) * 2021-11-02 2022-02-08 北京微步在线科技有限公司 Malicious program clearing method and device
CN113722714A (en) * 2021-11-03 2021-11-30 北京微步在线科技有限公司 Network threat processing method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181335A (en) * 2008-01-30 2009-08-13 Nippon Telegr & Teleph Corp <Ntt> Analysis system, analysis method, and analysis program
JP2010049627A (en) * 2008-08-25 2010-03-04 Hitachi Software Eng Co Ltd Computer virus detection system
JP2013529335A (en) * 2010-04-28 2013-07-18 シマンテック コーポレーション Behavior signature generation using clustering
US20130333033A1 (en) * 2012-06-06 2013-12-12 Empire Technology Development Llc Software protection mechanism
JP2014525639A (en) * 2011-09-07 2014-09-29 マカフィー, インコーポレイテッド Dynamic malware removal using cloud technology
JP2014238870A (en) * 2009-12-15 2014-12-18 マカフィー, インコーポレイテッド System and method for behavior sandbox

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103913B2 (en) * 2002-05-08 2006-09-05 International Business Machines Corporation Method and apparatus for determination of the non-replicative behavior of a malicious program
US8667583B2 (en) * 2008-09-22 2014-03-04 Microsoft Corporation Collecting and analyzing malware data
US9202048B2 (en) * 2010-01-27 2015-12-01 Mcafee, Inc. Method and system for discrete stateful behavioral analysis
CN102314561B (en) * 2010-07-01 2014-07-23 电子科技大学 Automatic analysis method and system of malicious codes based on API (application program interface) HOOK
US8782791B2 (en) * 2010-12-01 2014-07-15 Symantec Corporation Computer virus detection systems and methods
US8756693B2 (en) * 2011-04-05 2014-06-17 The United States Of America As Represented By The Secretary Of The Air Force Malware target recognition
CN103186740B (en) * 2011-12-27 2015-09-23 北京大学 A kind of automated detection method of Android malware
US9591003B2 (en) * 2013-08-28 2017-03-07 Amazon Technologies, Inc. Dynamic application security verification

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181335A (en) * 2008-01-30 2009-08-13 Nippon Telegr & Teleph Corp <Ntt> Analysis system, analysis method, and analysis program
JP2010049627A (en) * 2008-08-25 2010-03-04 Hitachi Software Eng Co Ltd Computer virus detection system
JP2014238870A (en) * 2009-12-15 2014-12-18 マカフィー, インコーポレイテッド System and method for behavior sandbox
JP2013529335A (en) * 2010-04-28 2013-07-18 シマンテック コーポレーション Behavior signature generation using clustering
JP2014525639A (en) * 2011-09-07 2014-09-29 マカフィー, インコーポレイテッド Dynamic malware removal using cloud technology
US20130333033A1 (en) * 2012-06-06 2013-12-12 Empire Technology Development Llc Software protection mechanism

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022090643A (en) * 2020-12-07 2022-06-17 サンズ ラブ インコーポレイテッド Method for generating malicious act feature information on malware
JP7314243B2 (en) 2020-12-07 2023-07-25 サンズ ラブ インコーポレイテッド How to Generate Malicious Behavior Feature Information for Malware

Also Published As

Publication number Publication date
EP3314509A1 (en) 2018-05-02
JP6668390B2 (en) 2020-03-18
EP3314509A4 (en) 2018-12-05
CN108064384A (en) 2018-05-22
JP2020113290A (en) 2020-07-27
WO2017003580A1 (en) 2017-01-05

Similar Documents

Publication Publication Date Title
US11941119B2 (en) Mitigation of ransomware
US11870793B2 (en) Determining a reputation for a process
JP6668390B2 (en) Malware mitigation
JP6583838B2 (en) Application simulation
US20200065493A1 (en) Identification of malicious execution of a process
US20180018476A1 (en) Data verification using enclave attestation
US20200272733A1 (en) Malware detection using a digital certificate
US20170091453A1 (en) Enforcement of file characteristics
JP6583865B2 (en) Exploit detection based on profiling events
US10366228B2 (en) Detection and mitigation of malicious invocation of sensitive code
JP2018519603A (en) Shellcode detection
JP2018519604A (en) Malware detection
US20150379268A1 (en) System and method for the tracing and detection of malware
US20160021134A1 (en) Detection of stack pivoting
JP6598221B2 (en) Anomaly detection to identify malware
JP2018524716A5 (en)
US11386205B2 (en) Detection of malicious polyglot files
US10574672B2 (en) System and method to detect bypass of a sandbox application

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191015

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200226

R150 Certificate of patent or registration of utility model

Ref document number: 6668390

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