JP6668390B2 - Malware mitigation - Google Patents

Malware mitigation Download PDF

Info

Publication number
JP6668390B2
JP6668390B2 JP2017567410A JP2017567410A JP6668390B2 JP 6668390 B2 JP6668390 B2 JP 6668390B2 JP 2017567410 A JP2017567410 A JP 2017567410A JP 2017567410 A JP2017567410 A JP 2017567410A JP 6668390 B2 JP6668390 B2 JP 6668390B2
Authority
JP
Japan
Prior art keywords
malware
electronic device
behavior
task
mitigation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017567410A
Other languages
Japanese (ja)
Other versions
JP2018524720A (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

Description

[関連出願への相互参照]
本出願は、2015年6月27日に出願された、「マルウェアの軽減」と題されたインド特許出願第3247/CHE/2015号の利益および優先権を主張し、それはその全体において参照によって本明細書に組み込まれる。
[Cross-reference to related application]
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 herein by reference in its entirety. Incorporated in the specification.

本開示は、概して、情報セキュリティの分野に関し、より具体的には、マルウェアの軽減に関する。   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 has enabled the 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 communications and personal communications, it has also resulted in malicious operators gaining unauthorized access to computers and computer networks, and the intentional or carelessness of confidential information. , As a means of disclosure.

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

本開示のより完全な理解、ならびにその特徴および利点を提供するように、添付の図面と共に用いられる以下の説明が参照される。同様の参照符号は同様の部分を表す。   To provide a more complete 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 indicate like parts.

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

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

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

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

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

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

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

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

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

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

図面は、それらの寸法が本開示の範囲から大幅に逸脱することなく変わり得るので、必ずしも縮尺通りに描かれてはいない。   The drawings are not necessarily drawn to scale as their dimensions may vary without departing significantly 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. Communication system 100a may include electronic device 102a, cloud service 104, and server 106. Electronic device 102a may include a processor 110, a memory 112, an operating system 114, a sandbox 116, and a security module 118. Security module 118 may include a malware detection module 120, a malware mitigation module 122, and a malware pattern behavior 124. Malware detection module 120 may include analysis log 126. 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 may each communicate using a 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. Communication system 100b may include electronic device 102b, cloud service 104, and server 106. Electronic device 102b may include processor 110, memory 112, operating system 114, security module 118, and recovery environment 136. Electronic device 102b, cloud service 104, and server 106 may each communicate using 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. Communication system 100c may include an electronic device 102c, a cloud service 104, and a server 106. 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. Electronic device 102c, cloud service 104, and server 106 may each communicate using network 108.

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

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

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

大抵の企ては、ハードディスク全体を再フォーマットし、電子デバイスをリイメージすることによって、マルウェアに感染した電子デバイスを修復する。これは、不便なプロセスであり、電子デバイスを非生産的にするだけでなく、また、リイメージの前にバックアップされていないデータを削除することによって、電子デバイス上でデータ損失を生じさせる。現在、マルウェアは検知および修復を回避するように様々な技術を用いるので、リイメージは、非常にわずかな、確かなマルウェア削除技術の1つである。現在普及した検知テクノロジーを用いると、感染した電子デバイス上の悪意のあるファイルの存在から修復することが困難であるだけでなく、そもそもホストが感染しているかどうか識別することもまた非常に困難である。必要とされることは、電子デバイスをリイメージする必要なしに、感染した電子デバイス上のマルウェアを軽減し、またはマルウェアから修復し得るシステムおよび方法である。   Most attempts to repair an electronic device infected with malware by reformatting the entire hard disk and reimaging the electronic device. This is an inconvenient process that not only renders the electronic device unproductive, but also causes data loss on the electronic device by deleting data that has not been backed up prior to reimaging. Currently, reimaging is one of the few, reliable malware removal techniques, as malware uses various techniques to evade detection and remediation. With current 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 if 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)を生成するように構成され得る。マルウェアパターン挙動は、分析によって捕らえられたときのマルウェアによって用いられる様々な回避技術および難読化技術を含み得る。マルウェアパターン挙動は、特定のマルウェアサンプル挙動の指標であり得る。   Communication systems for malware mitigation, such as those outlined in FIGS. 1A-1C, may solve these (and other) challenges. Communication systems 100a-100c may be configured to analyze suspected malware samples using behavior analysis techniques. For example, pattern behavior generation module 132 may be configured to analyze suspected malware samples using behavior analysis techniques. The techniques may include the use of one or more combinations 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 may be configured to generate a malware pattern behavior of the malware based on the analysis (eg, malware pattern behavior 124). Malware pattern behavior may include various evasion and obfuscation techniques used by malware when captured by analysis. Malware pattern behavior may be indicative of a particular malware sample behavior.

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

サンプル挙動、ファミリー挙動、およびジェネリックマルウェア挙動の複数の要素は、マルウェア検知モジュール120の中に組み合わせられ得、マルウェアを識別するように分析ログ126と比較され得る。分析ログ126は、マルウェアに感染した疑いのあるシステム上のアクティビティのログであり得る。加えて、関連する環境詳細、ファイルシステム、およびレジストリ情報、ならびに、電子デバイスの中の感染および回避の指標を収集するために実行されるように構成され得る検知タスクを生成するように、サンプル挙動、ファミリー挙動、およびジェネリックマルウェア挙動の複数の要素が、マルウェア軽減モジュール122の中で組み合わせられ得る。マルウェア軽減モジュール122へのフィードバックループは、感染した電子デバイス上の感染の検知および修復のための更なる特定のタスクを生成するために、検知タスクの結果を分析するように用いられ得る。これらのタスクの結果は、実行のための更なるタスクを生成し得るマルウェア軽減モジュール122に、改めてフィードバックされ得る。動作のこのシーケンスは、マルウェア軽減モジュール122が、サンプル挙動およびファミリー挙動によって明示される感染から電子デバイスがクリーンであると判断するまで、反復され得る。   Multiple elements of sample behavior, family behavior, and generic malware behavior may be combined into malware detection module 120 and compared to analysis log 126 to identify 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 collect relevant environmental details, file system and registry information, as well as indicators of infection and evasion in the electronic device. , Family behavior, and generic malware behavior may be combined in malware mitigation module 122. A feedback loop to the malware mitigation module 122 may be used to analyze the results of the detection task to generate more specific tasks for detecting and remediating infections 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を用いて実行され得る。二次オペレーティングシステムは、ブートディスクとしてマウントされ得るファイルを用いて、電子デバイス上でプッシュされ得る。マルウェアは、二次オペレーティングシステム上で実行される軽減タスクと、最も支障をきたしそうにない。   The tasks may be performed on different platforms to reduce the malware's ability to evade detection. For example, the task may be executed in a live operating system, which may be infected with malware, which may interfere with the accuracy of the detection or mitigation task. The tasks may be performed in a recovery environment 136 (eg, a Windows® recovery environment (RE)) that makes the detection and mitigation tasks less likely to be infected by malware that may interfere. The tasks may be performed using a secondary operating system 138 on the electronic device. The secondary operating system can be pushed on the electronic device with 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 FIG. 1A to FIG. 1C, communication systems 100a-100c according to an exemplary embodiment are shown. In general, communication systems 100a-100c may be implemented in any type or topology of network. Network 108 represents a series of interconnected communication path points or nodes that receive and transmit packets of information that propagate through communication systems 100a-100c. Network 108 provides a communication interface between the nodes, and includes 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 networked environment, or any suitable combination thereof, wired and / or wireless It can be configured to include communication.

通信システム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 sent and received by any suitable communication messaging protocol. Suitable communication messaging protocols are 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)), etc. In addition, wireless signaling over a cellular network may also be provided in communication systems 100a-100c. Suitable interfaces and infrastructure may 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 may be Internet Protocol (IP) addresses in the TCP / IP messaging protocol. As used herein, the term "data" refers to any type of binary, numeric, audio, video, in any suitable format that can be communicated from one point to another in electronic devices and / or networks. Refers to text or script data, or any kind of source or object code, or any other suitable information. In addition, messages, requests, responses, and queries are forms of network traffic and, therefore, may comprise packets, frames, signals, data, and so on.

例示的な実装において、電子デバイス102a−102c、クラウドサービス104、およびサーバ106はネットワーク要素であり、それらは、ネットワーク環境において情報を交換するように操作可能な、ネットワーク機器、サーバ、ルータ、スイッチ、ゲートウェイ、ブリッジ、ロードバランサ、プロセッサ、モジュール、または、任意の他の好適なデバイス、コンポーネント、要素、もしくはオブジェクトを包含することが意図される。ネットワーク要素は、それらの操作を容易にする、任意の好適なハードウェア、ソフトウェア、コンポーネント、モジュール、または、オブジェクト、ならびに、ネットワーク環境においてデータまたは情報を受信、送信、および/または別の方法で通信するために好適なインタフェースを含み得る。これは、データまたは情報の効果的な交換を可能にする適切なアルゴリズムおよび通信プロトコルを含み得る。   In an exemplary implementation, the electronic devices 102a-102c, the cloud service 104, and the server 106 are network elements, which are network devices, servers, routers, switches, operable to exchange information in a network environment. It is intended to include a gateway, bridge, load balancer, processor, module, or any other suitable device, component, element, or object. Network elements receive, transmit, and / or otherwise communicate data or information in any suitable hardware, software, component, module, or object, and network environment that facilitates their operation. May include a suitable interface to do so. This may include appropriate algorithms and communication protocols that allow for efficient 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 the internal structure associated with the communication systems 100a-100c, each of the electronic devices 102a-102c, the cloud service 104, and the server 106 includes a plurality of memory elements for storing information used in the operations outlined herein. May be included. Each of the electronic devices 102a-102c, cloud service 104, and server 106 may include any suitable memory element (eg, random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrical erasure). Possible programmable ROM (EEPROM), application specific integrated circuit (ASIC), etc.), software, hardware, firmware, or any other suitable components, devices as needed and based on the specific needs , Elements, or objects can hold information. Any memory items described herein should be construed as being encompassed within the broad term "memory element." Further, the information used, tracked, transmitted, or received in the communication systems 100a-100c may be provided in any database, register, queue, table, cache, control list, or other storage structure. Can be referenced in any suitable time frame. Any such storage options may also be included within the broad term “memory element” as used herein.

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

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

加えて、電子デバイス102a−102c、クラウドサービス104、およびサーバ106の各々は、本明細書に説明されたようなアクティビティを実行し得るソフトウェアまたはアルゴリズムを実行可能なプロセッサを含み得る。プロセッサは、本明細書で詳述された操作を実現するように、データと関連づけられた任意の種類の命令を実行し得る。一例において、プロセッサは、要素または物品(例えば、データ)を、1つの状態または物から、別の状態または物に変換し得る。別の例において、本明細書に概説されるアクティビティは、固定されたロジックまたはプログラム可能なロジック(例えば、プロセッサによって実行されるソフトウェア/コンピュータ命令)によって実装され得、本明細書において識別される要素は、デジタルロジック、ソフトウェア、コード、電子命令、またはそれらの任意の好適な組み合わせを含む、何らかのタイプのプログラム可能なプロセッサ、プログラム可能なデジタルロジック(例えば、フィールドプログラマブルゲートアレー(FPGA)、EPROM、EEPROM)、またはASICであり得る。本明細書で説明される、任意の潜在的な処理要素、モジュールおよび機械は、広義の用語「プロセッサ」の中に包含されると解釈されるべきである。   Additionally, 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. A processor may execute any type of instructions associated with data to achieve the operations detailed herein. In one example, a processor may convert an element or an item (eg, data) from one state or thing to another state or thing. In another example, the activities outlined herein may be implemented by fixed or programmable logic (eg, software / computer instructions executed by a processor) and elements identified herein. Can be any type of programmable processor, including digital logic, software, code, electronic instructions, or any suitable combination thereof, programmable digital logic (eg, field programmable gate array (FPGA), EPROM, EEPROM) ) Or an ASIC. Any potential processing elements, modules, and machines described herein should be construed as being 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によってアクセス可能な別のネットワークと統合され得、または、別のネットワーク内に分散され得る。   Electronic devices 102a-102c may be network elements, including, for example, desktop computers, laptop computers, mobile devices, personal digital assistants, smartphones, tablets, or other similar devices. Cloud service 104 is configured to provide cloud services to electronic devices 102a-102c. Cloud services may be generally defined as the use of computing resources provided as a service across a network such as the Internet. Typically, compute, storage, and network resources are provided in the cloud infrastructure, effectively shifting workload from the local network to the cloud network. The server 106 may be a network element such as a server or virtual server, and may include clients, customers, endpoints, Or it may be associated with an end user. The term "server" includes devices used to fulfill the needs of clients in communication systems 100a-100c and / or perform some computational tasks on behalf of clients. Although security module 118 is shown in FIGS. 1A-1C as being located on electronic devices 102a-102c, respectively, this is for illustrative purposes only. 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 a communication system 100a-100c for malware mitigation, according to one embodiment of the present disclosure. The pattern behavior generation module 132 may use 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. May be configured. The analyzed samples 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 a particular malware sample behavior. The family behavior 142 may be generated from a family of malware associated with or containing the analyzed sample.

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

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

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

サンプルが分析された後、異なる段階でのマルウェアの分析についての報告/アーティファクトが、生成され得る。報告は分析され、一組の挙動のログが生成され得る。ログは分析の異なる段階からマルウェア挙動の指標を分析し、それを完全な挙動の分析ログと組み合わせる。分析ログは、マルウェア軽減モジュール122によって用いられ得るサンプル挙動アーティファクト(例えば、サンプル挙動140)である。   After the sample has been analyzed, reports / artifacts for the analysis of the malware at different stages may be generated. The report can be analyzed and a set of behavioral logs can be generated. The logs analyze indicators of malware behavior from different stages of analysis and combine it with the complete behavior analysis log. The analysis log is a sample behavior artifact (eg, sample behavior 140) that may be used by 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 specified in sample behavior artifacts. It can also be ascertained whether the malware generates a hidden file, whether the malware behaves like a rootkit, or whether the process of the malware can be enumerated.

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

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

ジェネリックの、または共通のマルウェアに似た挙動の識別は、知られているマルウェアと共通であり、良性のソフトウェアによって示されることはほとんどない挙動パラメータを、確定することを含み得る。これは、特定のレジストリエントリの形成、サインされていない、またはベリファイされていないバイナリの、スタートアップフォルダ内へのインストールなどに似た、共通のパターンを識別することを含む。例えば、スタートアップフォルダ内に存在するサインされていない複数のプログラムは、とりわけ、それらが、インストールされたプログラムのリスト内に対応するエントリを伴っていない場合、または、そのようなコンポーネントのバイナリがベリファイされたパブリッシャからサインされたものでない場合、一般に悪意があると知られている。システム内からそのようなバイナリを探し、それらのチェックサムを知られているマルウェア挙動またはファミリー挙動と比較して、可能性がある感染を識別して、従って修復するように、マルウェア検知モジュール120およびマルウェア軽減モジュール122は、検知タスク(例えば分析ログ126)および軽減タスク(例えばリバースマルウェア挙動動作128)を生成し得る。   Identification of generic or common malware-like behavior may involve determining behavior parameters that are common with known malware and that are rarely exhibited by benign software. This involves identifying common patterns, similar to the formation of certain registry entries, the installation of unsigned or unverified binaries in the startup folder, and so on. For example, unsigned programs that are present in the startup folder, especially if they do not have a corresponding entry in the list of installed programs, or the binaries of such components are verified If not signed by the publisher, it is generally known to be malicious. Malware detection module 120 and the like to look for such binaries in the system and compare their checksums to known malware or family behaviors to identify potential infections and thus remediate 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 a portion of a communication system 100a-100c for malware mitigation according to one embodiment of the present disclosure. Security module 118 may be configured to cause malware pattern behavior 124 to communicate with malware detection module 120. Malware detection module 120 may compile various indicators of malware behavior (eg, sample behavior 140, family behavior 142, generic malware behavior 144, etc.) to identify whether electronic devices 102a-102c are infected. If configured and, if infected, malware mitigation module 122 may be used to remediate electronic devices 102a-102c from infection. In one example, the malware mitigation module 122 can analyze all indicators and generate a task to identify indicators of infection at the electronic devices 102a-102c. Based on the particular sample behavior, family behavior and generic behavior (eg, sample behavior 140, family behavior 142, and generic malware behavior 144), a malware infection was likely to have occurred previously and the machine had not restarted In an execution environment that may be, the task can be performed. 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, as the malware may have destroyed the operating system to hide indicators of its existence Can be Since some other indicators are available in the operating system's live memory and will be lost upon machine restart, 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, tasks may be performed from an environment that resides in a write-protected disk image file that resides in an operating system. This can help to recover OS files in case of infection, which is corruption of operating system files. The same environment can be used to bypass the malware detection evasion ability, remove the boot persistence of the malware sample and release the machine from infection.

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

検知および軽減タスクの実行の結果は、フィードバックループ146を介してマルウェア軽減モジュール122にフィードバックされ得る。マルウェア軽減モジュール122は、タスクからの結果の分析に基づいて、次の動作を判断し得る。別の例において、マルウェア検知モジュール120はタスクの結果を分析し得る。結果が、電子デバイスが感染している旨を示す場合、マルウェア軽減モジュール122は、上述の3つの環境(例えば、サンドボックス116、回復環境136、または二次オペレーティングシステム138)のうち1つにおいて実行されるべき軽減タスクを生成し得る。結果が、感染がない旨を示す場合、マルウェア軽減モジュール122は、別の環境において改めてチェックを行い、それに応じてタスクを生成する旨を決定し得る。同様に、マルウェア軽減モジュール122が、いかなる知られている感染の指標もない旨を確認し得る場合、マルウェア軽減モジュール122は、電子デバイスがクリーンまたは良性であると宣言し得る。   The results of performing the detection and mitigation tasks may be fed back to malware mitigation module 122 via feedback loop 146. Malware mitigation module 122 may determine the next action based on an analysis of the results from the task. In another example, malware detection module 120 may analyze the results of the task. 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 may be created to be performed. If the result indicates no infection, the malware mitigation module 122 may perform another check in another environment and decide to generate the 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 may be executed again and again to completely release the electronic device from infection. For example, the malware detection module 120 determines that a malware sample was found that infects the file system and registry, but that 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 a 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 a malware sample is found, a task may be created to look for a particular folder. Upon finding a particular folder, a task may be created to calculate the md5 of all files in the folder. From the 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 modified to run the program on machine startup. If a suspicious program recorded as a startup program is found, a task may be created that looks for an executable file associated with the program, and that the md5 of the malware sample is in a known bad md5 checksum. Can be found. A task may be created that deletes this malware sample and registry entry and reboots the machine in the Live Windows OS to look for mutex-like in-memory indicators and events. Finally, after a number of iterations, the malware mitigation module 122 may determine whether the machine has been completely free 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 a 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, the actions performed by the malware are observed and changes to the system are recorded. For example, pattern behavior generation module 132 may observe operations performed by malware and generate 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 have determined that malware has altered or altered the electronic device 102a. At 504, malware is identified. For example, malware may be identified using the analysis log 126. The analysis log 126 may be generated by the malware detection module 120 by logging changes of the electronic device 102a. At 506, malware pattern behavior is determined. At 508, a reverse malware behavior action is determined. For example, a reverse malware behavior operation 128 is determined. At 510, a reverse malware behavior action is performed that undoes the changes made by the malware to the system. For example, the malware mitigation module 122 may perform a reverse malware behavior operation 128 that undoes changes made to the electronic device 102a by malware.

図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 illustrates a system in which a processor, memory, and input / output devices are interconnected by multiple point-to-point interfaces. Generally, 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 several processors, of which only two, 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 the program. The core may be configured to execute the 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 caches 671, 681 may store data (eg, instructions) used 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, memory controller logic 672 and 682 may be discrete logic, independent of 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 separate 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 PtP links shown in FIG. 6 may be implemented as a multi-drop bus instead of 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 therethrough, such as a bus bridge 618 and an I / O device 616. Via bus 610, bus bridge 618 may communicate via 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). (Eg, other types of communication devices), audio I / O devices 614, and / or data storage devices 628. Data storage device 628 may store code 630, which may be executed by processor 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 may 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-a-chip (SoC) architecture, or any other suitable configuration. For example, the embodiments disclosed herein can be incorporated into a system that includes 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, at least in 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 example implementation of the present disclosure may include a malware mitigation feature and an ARM component described herein. 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 (R) phone, iPhone (R)), iPad (R), Google Nexus (R), Microsoft Surface (R), 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, and the like.

図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 has multiple mobile industry processor interface (MIPI) / high definition multimedia interface (HDMI) links that can be associated with a liquid crystal display (LCD). Core 706-907, L2 cache control 708, bus interface unit 709, L2 cache 710, graphics processing unit (GPU) 715, interconnect 702, video codec 720, and LCD I / F 725.

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 interface (SPI) master. 750, suitable power control 755, dynamic RAM (DRAM) 760, and flash 765 may also be included. Additionally, one or more exemplary embodiments may include one or more communication features, interfaces, and Bluetooth® 770, 3G modem 775, Global Positioning System (GPS) 780, and 802.11 Wi- It may include functions such as the example of Fi785.

操作において、図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 enabling various types of computing (eg, mobile computing, high-end digital homes, servers, wireless infrastructure, etc.). . In addition, such an architecture is compatible with any number of software applications (e.g., Android (R), Adobe (R) Flash (R) players, Java (R) Platform Standard Edition (Java (R)). SE), Java (R) FX, Linux (R), Microsoft Windows (R) Embedded, Symbian, and Ubuntu). In at least one exemplary embodiment, a 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. 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, a processor may alternatively include more than one of the processor cores 800 shown in FIG. For example, processor core 800 illustrates one exemplary embodiment of processor cores 674a, 674b, 684a, and 684b shown and described with reference to processors 670 and 680 of FIG. Processor core 800 may be a single-threaded core, or, for at least one embodiment, processor core 800 may include more than one hardware thread context (or "logical processor") per core. , Multi-threaded.

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

プロセッサコア800は、一組の実行ユニット816−1から816−Nを有する実行ロジック814を、また含み得る。いくつかの実施形態は、特定の機能または機能の組に専用の、複数の実行ユニットを含み得る。他の実施形態は、1つの実行ユニットのみ、または、特定の機能を実行し得る1つの実行ユニットを含み得る。実行ロジック814は、コード命令によって指定される操作を実行する。   Processor core 800 may also include execution logic 814 having a set of execution units 816-1 through 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, back-end logic 818 may retire the instruction in code 804. In one embodiment, the processor core 800 enables 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, processor core 800 may include, at least, aspects of the output generated by the decoder, the hardware registers and tables utilized by register renaming logic 810, and any registers (not shown) rewritten by execution logic 814. Is converted during 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, a processor may include memory control logic with a 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 with the examples provided herein, the interaction may be described in terms of two, three, or more network elements. However, this is done for clarity and illustration purposes 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 scalable and can accommodate a large number of components, as well as more complex / sophisticated arrangements and configurations. Accordingly, the examples provided should not limit the scope or block the broad teachings of communication systems 100a-100c as potentially applying to countless 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 correlating scenarios and patterns that may be performed by or within 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 changed without departing from the scope of the present disclosure. In addition, many of these operations have been described as being performed concurrently or in parallel with one or more additional operations. However, the timing of these operations can vary significantly. The foregoing operational flow has been provided for purposes of illustration and description. Considerable flexibility is provided by communication systems 100a-100c in that any suitable arrangement, timeline, 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 specific arrangements and configurations, these example configurations and arrangements may be significantly modified without departing from the scope of the present disclosure. Further, certain components may be combined, separated, removed, or added based on particular needs and implementations. In addition, while communication systems 100a-100c are shown with reference to certain elements and operations that facilitate communication processing, these elements and operations may be any elements that implement the intended functions of communication systems 100a-100c. Preferred architecture, protocol, and / or process.

数多くの他の変化、代替、変形、変更、および修正が、本分野の当業者に確認され得、本開示は、添付の特許請求の範囲の中に属するそのような変化、代替、変形、変更、および修正を、すべて包含することが意図されている。米国特許商標庁(USPTO)、および加えて、本出願に関して発行される任意の特許の任意の読者の助力となるように、本明細書に添付の特許請求の範囲の解釈において、出願人は、以下に留意することを望む。(a)出願人は、添付のいかなる請求項も、文言「ための手段」または「ための段階」が特定の請求項において具体的に用いられない限り、本明細書の出願の日において存在する米国特許法第112条第6パラグラフを発動させる意図はない。(b)出願人は、添付の特許請求の範囲に反映されない限り、本明細書におけるいかなる記述によっても、いかなる方法でも、本開示を限定する意図はない。   Numerous other changes, substitutions, variations, alterations, and modifications may be made to those skilled in the art, and the present disclosure is intended to cover such alterations, substitutions, variations, and modifications falling within the scope of the appended claims. , And all modifications are intended. To assist the U.S. Patent and Trademark Office (USPTO) and, in addition, any reader of any patents issued in connection with this application, in interpreting the claims appended hereto, We wish to note the following: (A) Applicant states that any appended claims shall exist on the filing date of this specification unless the language “means for” or “step for” is specifically used in the particular claim. There is no intent to invoke section 112, sixth paragraph of the US Patent Act. (B) Applicant is not intended to limit the disclosure in any way, by any statement herein, unless reflected by 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 enable execution of malware in the system, record changes to the system caused by execution of the malware, One or more instructions that cause a detection task to be generated for detection, the detection task comprising at least one machine-readable storage having instructions based at least in part on a change to the system caused by execution of the malware. Medium.

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

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

例C4において、例C1−C3のうちの任意の1つの主題は、検知タスクがジェネリックマルウェア挙動に部分的に基づくことを、随意に含み得る。   In Example C4, the subject matter of any one of Examples C1-C3 may 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, when the instructions are executed by at least one processor, the at least one processor is further provided with an infected electronic device using the generated detection task. Optionally, identifying a device and generating a mitigation task to mitigate a change in an infected electronic device caused by malware may be included.

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

例C7において、例C1−C6のうちの任意の1つの主題は、軽減タスクが、感染した電子デバイス上の二次オペレーティングシステムを用いて実行されることを、随意に含み得る。   In Example C7, the subject matter of any one of Examples C1-C6 may 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, the subject matter of any one of Examples C1-C7 may optionally include the secondary operating system being pushed as a boot disk on the infected electronic device.

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

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

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

例A4において、例A1−A3のうちの任意の1つの主題は、検知タスクがジェネリックマルウェア挙動に部分的に基づくことを、随意に含み得る。   In example A4, the subject matter of any one 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 of any one of Examples A1-A4 is that the pattern behavior generation module is further configured to communicate a detection task to the security module, wherein the security module uses the generated detection task. May optionally be configured to identify an infected electronic device and generate a mitigation task to mitigate changes to the infected electronic device caused by malware.

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

例A7において、例A1−A6のうちの任意の1つの主題は、軽減タスクが、感染した電子デバイス上の二次オペレーティングシステムを用いて実行されることを、随意に含み得る。   In Example A7, the subject matter of any one of Examples A1-A6 may 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, the subject matter of any one of Examples A1-A7 may optionally include the secondary operating system being pushed as a boot disk on the infected electronic device.

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

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

例M4において、例M1−M3のうちの任意の1つの主題は、検知タスクがジェネリックマルウェア挙動に部分的に基づくことを、随意に含み得る。   In example M4, the subject matter of any one 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, the subject of any one of Examples M1-M4 is to use the generated detection task to identify an infected electronic device and to cause a change to the infected electronic device caused by malware. And generating a mitigation task may optionally be included.

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

例M7において、例M1−M6のうちの任意の1つの主題は、軽減タスクが、感染した電子デバイス上の二次オペレーティングシステムを用いて実行されることを、随意に含み得る。   In example M7, the subject matter of any one 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 remediation from malware, the system including a pattern behavior generation module and a security module, wherein the pattern behavior generation module enables execution of malware in the system and is caused by execution of the malware. Configured to record a change to the system that has been detected and generate a detection task for detecting malware in the 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. The security module is configured to use the generated detection task to identify the infected electronic device and generate a mitigation task to mitigate 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 the malware. May be included.

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

Claims (20)

少なくとも1つのプロセッサに、
マルウェアの挙動の指標であり、サーバにおける前記マルウェアの実行によって引き起こされる前記サーバへの変更を含むマルウェアパターン挙動に基づき、電子デバイスにおける前記マルウェアの検知のための検知タスクを生成する手順と、
前記生成された検知タスクを用いて、前記電子デバイスの感染を識別する手順と、
前記マルウェアによって引き起こされた、前記感染した電子デバイスへの変更を軽減する軽減タスクを生成する手順と、
を実行させるための、コンピュータプログラムであって、
前記軽減タスクは、回復環境において、または前記感染した電子デバイス上の二次オペレーティングシステムを用いて実行される、コンピュータプログラム。
At least one processor,
Indicator der behavior malware is, the procedure based on the malware pattern behavior, including changes to the server caused by the execution of the malware at the server, generates the detection task for the detection of the malware in an electronic device,
Using the generated detection task to identify an infection of the electronic device;
Generating a mitigation task to mitigate changes to the infected electronic device caused by the malware;
A computer program for executing
The computer program, wherein the mitigation task is performed in a recovery environment or with a secondary operating system on the infected electronic device.
前記検知タスクは、前記マルウェアの、パターンマッチング、グローバルレピュテーション分析、プログラムエミュレーション、静的分析、および動的分析のうち1または複数に基づき生成される、請求項1に記載のコンピュータプログラム。   The computer program according to claim 1, wherein the detection task is generated based on one or more of pattern matching, global reputation analysis, program emulation, static analysis, and dynamic analysis of the malware. 前記マルウェアパターン挙動はファミリー挙動を含み、前記検知タスクは前記ファミリー挙動に部分的に基づく、請求項1または2に記載のコンピュータプログラム。   The computer program according to claim 1, wherein the malware pattern behavior includes a family behavior, and the detection task is partially based on the family behavior. 前記検知タスクは、ジェネリックマルウェア挙動に部分的に基づく、請求項1から3のいずれか一項に記載のコンピュータプログラム。   4. The computer program according to claim 1, wherein the detection task is based in part on generic malware behavior. 前記二次オペレーティングシステムは、前記感染した電子デバイス上にブートディスクとしてプッシュされる、請求項1から4のいずれか一項に記載のコンピュータプログラム。   5. The computer program according to claim 1, wherein the secondary operating system is pushed as a boot disk on the infected electronic device. 6. 前記回復環境及び前記二次オペレーティングシステムで前記軽減タスクが実行され、前記回復環境及び前記二次オペレーティングシステムのそれぞれで前記電子デバイスの感染がない旨の結果が得られるように、前記軽減タスクの前記電子デバイスにおける実行結果は、フィードバックループにより、前記電子デバイスがクリーンになるまで、前記電子デバイスにフィードバックされる、請求項1から5のいずれか一項に記載のコンピュータプログラム。 Executing the mitigation task in the recovery environment and the secondary operating system, and obtaining a result indicating that the electronic device is not infected in each of the recovery environment and the secondary operating system. The computer program according to any one of claims 1 to 5, wherein an execution result in the electronic device is fed back to the electronic device by a feedback loop until the electronic device is clean. セキュリティモジュールを備える電子デバイスであって
前記セキュリティモジュールは、
マルウェアの挙動の指標であり、サーバにおける前記マルウェアの実行によって引き起こされる前記サーバへの変更を含むマルウェアパターン挙動に基づき、前記電子デバイスにおける前記マルウェアの検知のための検知タスクを生成し、
前記生成された検知タスクを用いて、前記電子デバイスの感染を識別し、
前記マルウェアによって引き起こされた、前記感染した電子デバイスへの変更を軽減する軽減タスクを生成し、
前記軽減タスクは、回復環境において、または前記感染した電子デバイス上の二次オペレーティングシステムを用いて実行される、電子デバイス
An electronic device that Ru equipped with a security module,
The security module includes:
Indicator der behavior malware is, based on the malware pattern behavior, including changes to the server caused by the execution of the malware at the server, it generates the detection task for the detection of the malware in the electronic device,
Using the generated detection task to identify an infection of the electronic device;
Generating a mitigation task to mitigate changes to the infected electronic device caused by the malware;
The electronic device, wherein the mitigation task is performed in a recovery environment or with a secondary operating system on the infected electronic device .
前記検知タスクは、前記マルウェアの、パターンマッチング、グローバルレピュテーション分析、プログラムエミュレーション、静的分析、および動的分析のうち1または複数に基づいて生成される、請求項7に記載の電子デバイスThe electronic device of claim 7, wherein the detection task is generated based on one or more of pattern matching, global reputation analysis, program emulation, static analysis, and dynamic analysis of the malware. 前記マルウェアパターン挙動はファミリー挙動を含み、前記検知タスクは前記ファミリー挙動に部分的に基づく、請求項7または8に記載の電子デバイスThe electronic device according to claim 7, wherein the malware pattern behavior includes a family behavior, and the detection task is based in part on the family behavior. 前記検知タスクは、ジェネリックマルウェア挙動に部分的に基づく、請求項7から9のいずれか一項に記載の電子デバイスThe electronic device according to any one of claims 7 to 9, wherein the detection task is based in part on generic malware behavior. 前記二次オペレーティングシステムは、前記感染した電子デバイス上にブートディスクとしてプッシュされる、請求項7から10のいずれか一項に記載の電子デバイス11. The electronic device according to any one of claims 7 to 10, wherein the secondary operating system is pushed as a boot disk on the infected electronic device . 前記回復環境及び前記二次オペレーティングシステムで前記軽減タスクが実行され、前記回復環境及び前記二次オペレーティングシステムのそれぞれで前記電子デバイスの感染がない旨の結果が得られるように、前記軽減タスクの前記電子デバイスにおける実行結果は、フィードバックループにより、前記電子デバイスがクリーンになるまで、前記電子デバイスにフィードバックされる、請求項7から11のいずれか一項に記載の電子デバイス Executing the mitigation task in the recovery environment and the secondary operating system, and obtaining a result indicating that the electronic device is not infected in each of the recovery environment and the secondary operating system. the execution result in the electronic device, the feedback loop, said electronic device until clean, the fed back to the electronic device, an electronic device according to any one of claims 7 11. 少なくとも1つのプロセッサが、マルウェアの挙動の指標であり、サーバにおける前記マルウェアの実行によって引き起こされる前記サーバへの変更を含むマルウェアパターン挙動に基づき、電子デバイスにおける前記マルウェアの検知のための検知タスクを生成する手順と、
前記少なくとも1つのプロセッサが、前記生成された検知タスクを用いて、前記電子デバイスの感染を識別する手順と、
前記少なくとも1つのプロセッサが、前記マルウェアによって引き起こされた、前記感染した電子デバイスへの変更を軽減する軽減タスクを生成する手順と、
を備え、
前記軽減タスクは、回復環境において、または前記感染した電子デバイス上の二次オペレーティングシステムを用いて実行される、方法。
At least one processor, an indicator der malware behavior is, based on the malware pattern behavior, including changes to the server caused by the execution of the malware at the server, the detection task for the detection of the malware in electronic devices Steps to generate,
The at least one processor using the generated detection task to identify an infection of the electronic device;
The at least one processor generating a mitigation task to mitigate changes to the infected electronic device caused by the malware;
With
The method wherein the mitigation task is performed in a recovery environment or with a secondary operating system on the infected electronic device.
システムにおいてマルウェアを実行する段階と、
前記マルウェアの前記実行によって引き起こされる前記システムへの変更を記録する段階と、
電子デバイスにおける前記マルウェアの検知のための検知タスクを生成する段階であって、前記検知タスクは、前記マルウェアの前記実行によって引き起こされる前記システムの前記変更に少なくとも部分的に基づく、段階と、
前記生成された検知タスクを用いて、前記電子デバイスの感染を識別する段階と、
前記マルウェアによって引き起こされた、前記感染した電子デバイスへの変更を軽減する軽減タスクを生成する段階と、を備え、
前記軽減タスクは、回復環境において、または前記感染した電子デバイス上の二次オペレーティングシステムを用いて実行される、方法。
Executing malware on the system;
Recording changes to the system caused by the execution of the malware;
Generating a detection task for detection of the malware on an electronic device, wherein the detection task is based at least in part on the changes in the system caused by the execution of the malware;
Using the generated detection task to identify an infection of the electronic device;
Generating a mitigation task to mitigate changes to the infected electronic device caused by the malware;
The method wherein the mitigation task is performed in a recovery environment or with a secondary operating system on the infected electronic device.
前記検知タスクは、前記マルウェアの、パターンマッチング、グローバルレピュテーション分析、プログラムエミュレーション、静的分析、および動的分析のうち1または複数に基づいて生成される、請求項14に記載の方法。   15. The method of claim 14, wherein the detection task is generated based on one or more of pattern matching, global reputation analysis, program emulation, static analysis, and dynamic analysis of the malware. 前記マルウェアと関連するマルウェアファミリーを識別する段階であって、前記マルウェアファミリーはファミリー挙動を含み、前記検知タスクは前記ファミリー挙動に部分的に基づく、段階をさらに含む、
請求項14または15に記載の方法。
Identifying a malware family associated with the malware, wherein the malware family includes a family behavior, and wherein the detection task is based in part on the family behavior.
A method according to claim 14 or claim 15.
前記検知タスクは、ジェネリックマルウェア挙動に部分的に基づく、請求項14から16のいずれか一項に記載の方法。   17. The method according to any one of claims 14 to 16, wherein the detection task is based in part on generic malware behavior. 前記検知タスクまたは前記軽減タスクの前記電子デバイスにおける実行結果は、フィードバックループにより、前記電子デバイスがクリーンになるまで、前記電子デバイスにフィードバックされる、請求項14から17のいずれか一項に記載の方法。   The method according to any one of claims 14 to 17, wherein a result of performing the detection task or the mitigation task on the electronic device is fed back to the electronic device by a feedback loop until the electronic device is clean. Method. マルウェアからの修復のためのシステムであって、前記システムは、
パターン挙動生成モジュールと、
セキュリティモジュールと、
を備え、
前記パターン挙動生成モジュールは、
システムにおいてマルウェアの実行を可能にし、
前記マルウェアの前記実行によって引き起こされた前記システムへの変更を記録し、
前記セキュリティモジュールは、
電子デバイスにおける前記マルウェアの検知のための検知タスクを生成し、前記検知タスクは、前記マルウェアの前記実行によって引き起こされる前記システムへの前記変更に少なくとも部分的に基づき、
前記生成された検知タスクを用いて、前記電子デバイスの感染を識別し、
前記マルウェアによって引き起こされた、前記感染した電子デバイスへの変更を軽減する軽減タスクを生成し、
前記軽減タスクは、回復環境において、または前記感染した電子デバイス上の二次オペレーティングシステムを用いて実行される、システム。
A system for repairing from malware, said system comprising:
A pattern behavior generation module,
A security module,
With
The pattern behavior generation module includes:
Enable the execution of malware in the system,
Recording changes to the system caused by the execution of the malware;
The security module includes:
Generating a detection task for detection of the malware on 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;
Using the generated detection task to identify an infection of the electronic device;
Generating a mitigation task to mitigate changes to the infected electronic device caused by the malware;
The system wherein the mitigation task is performed in a recovery environment or with a secondary operating system on the infected electronic device.
前記検知タスクが、前記マルウェアの、パターンマッチング、グローバルレピュテーション分析、プログラムエミュレーション、静的分析、および動的分析のうち1または複数に基づき生成される、請求項19に記載のシステム。   20. The system of claim 19, wherein the detection task is generated based on 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 JP2018524720A (en) 2018-08-30
JP6668390B2 true 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)

Families Citing this family (6)

* 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
GB2597097B (en) * 2020-07-15 2022-10-05 British Telecomm Computer-implemented automatic security methods and systems
GB2597098A (en) * 2020-07-15 2022-01-19 British Telecomm Computer-implemented automatic security methods and systems
KR102308477B1 (en) * 2020-12-07 2021-10-06 주식회사 샌즈랩 Method for Generating Information of Malware Which Describes the Attack Charateristics of the Malware
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

Family Cites Families (14)

* 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
JP4755658B2 (en) * 2008-01-30 2011-08-24 日本電信電話株式会社 Analysis system, analysis method and analysis program
JP2010049627A (en) * 2008-08-25 2010-03-04 Hitachi Software Eng Co Ltd Computer virus detection system
US8667583B2 (en) * 2008-09-22 2014-03-04 Microsoft Corporation Collecting and analyzing malware data
US8479286B2 (en) * 2009-12-15 2013-07-02 Mcafee, Inc. Systems and methods for behavioral sandboxing
US9202048B2 (en) * 2010-01-27 2015-12-01 Mcafee, Inc. Method and system for discrete stateful behavioral analysis
US8464345B2 (en) * 2010-04-28 2013-06-11 Symantec Corporation Behavioral signature generation using clustering
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
US8677493B2 (en) * 2011-09-07 2014-03-18 Mcafee, Inc. Dynamic cleaning for malware using cloud technology
CN103186740B (en) * 2011-12-27 2015-09-23 北京大学 A kind of automated detection method of Android malware
US9405899B2 (en) * 2012-06-06 2016-08-02 Empire Technology Development Llc Software protection mechanism
US9591003B2 (en) * 2013-08-28 2017-03-07 Amazon Technologies, Inc. Dynamic application security verification

Also Published As

Publication number Publication date
CN108064384A (en) 2018-05-22
EP3314509A4 (en) 2018-12-05
WO2017003580A1 (en) 2017-01-05
JP2020113290A (en) 2020-07-27
EP3314509A1 (en) 2018-05-02
JP2018524720A (en) 2018-08-30

Similar Documents

Publication Publication Date Title
US20210019411A1 (en) Mitigation of ransomware
JP6668390B2 (en) Malware mitigation
US11328063B2 (en) Identification of malicious execution of a process
US20210029150A1 (en) Determining a reputation for a process
US20170091453A1 (en) Enforcement of file characteristics
JP6583838B2 (en) Application simulation
CN107912064B (en) Shell code detection
US9961102B2 (en) Detection of stack pivoting
JP6583865B2 (en) Exploit detection based on profiling events
US10366228B2 (en) Detection and mitigation of malicious invocation of sensitive code
JP2018519604A (en) Malware detection
US20150379268A1 (en) System and method for the tracing and detection of malware
JP2018520437A (en) Malware detection using digital certificates
JP6598221B2 (en) Anomaly detection to identify malware
JP2018524716A5 (en)
US11627145B2 (en) Determining a reputation of data using a data visa including information indicating a reputation
US10574672B2 (en) System and method to detect bypass of a sandbox application
US11386205B2 (en) Detection of malicious polyglot files

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