JP6526842B2 - マルウェアの検出 - Google Patents

マルウェアの検出 Download PDF

Info

Publication number
JP6526842B2
JP6526842B2 JP2017566815A JP2017566815A JP6526842B2 JP 6526842 B2 JP6526842 B2 JP 6526842B2 JP 2017566815 A JP2017566815 A JP 2017566815A JP 2017566815 A JP2017566815 A JP 2017566815A JP 6526842 B2 JP6526842 B2 JP 6526842B2
Authority
JP
Japan
Prior art keywords
processor
system functions
determination
find
code
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
JP2017566815A
Other languages
English (en)
Other versions
JP2018519604A (ja
JP2018519604A5 (ja
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 JP2018519604A publication Critical patent/JP2018519604A/ja
Publication of JP2018519604A5 publication Critical patent/JP2018519604A5/ja
Application granted granted Critical
Publication of JP6526842B2 publication Critical patent/JP6526842B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Description

[関連出願の相互参照]
本願は、2015年6月27日に出願された「マルウェアの検出」と題する、米国非仮(実用)特許出願第14/752,901号の利益およびそれに基づく優先権を主張し、その全体が本明細書に参照として組み込まれる。
本開示は、概して、情報セキュリティの分野に関し、より具体的には、マルウェアの検出に関する。
ネットワークセキュリティの分野は、現代社会において、ますます重要になってきている。インターネットは、世界中の種々のコンピュータネットワークの相互接続を可能にしている。特に、インターネットは、様々な種類のクライアントデバイスを介して、種々のコンピュータネットワークに接続された種々のユーザ間でデータを交換するための媒体を提供する。インターネットの使用が、ビジネスコミュニケーションおよびパーソナルコミュニケーションを変化させてきた一方、それはまた、悪意のあるオペレータが、コンピュータおよびコンピュータネットワークへ不正アクセスを得るための、および機密情報の意図的なまたは不注意な開示のための手段として使われている。
ホストコンピュータを感染させる悪意のあるソフトウェア(「マルウェア」)は、ホストコンピュータと関連付けられる企業または個人から機密情報を盗取すること、他のホストコンピュータに伝播すること、および/または分散サービス妨害攻撃に支援すること、ホストコンピュータからスパムまたは悪意のある電子メールを送信することなどの任意の数の悪意のある動作を実行することが可能であり得る。従って、悪意のあるソフトウェアおよびデバイスによる、悪意があって、不注意な不当利用から、コンピュータおよびコンピュータネットワークを保護するために、重要な管理上の課題が残る。
本開示およびその特徴ならびに利益に対するより完全な理解を提供するため、添付の図と併せて以下の説明が参照される。同様の参照番号は、同様の部分を表す。
本開示の一実施形態に係る、マルウェアの検出のための通信システムの簡略ブロック図である。
本開示の一実施形態に係る、マルウェアの検出のための通信システムの一部の簡略ブロック図である。
一実施形態に係る、通信システムと関連付けられ得る潜在的な動作を例示する簡略フローチャートである。
一実施形態に係る、通信システムと関連付けられ得る潜在的な動作を例示する簡略フローチャートである。
一実施形態に係る、ポイントツーポイント構成で配置される例示的なコンピューティングシステムを例示するブロック図である。
本開示の例示的なARMエコシステムシステムオンチップ(SOC)と関連付けられる簡略ブロック図である。
一実施形態に係る、例示的なプロセッサコアを例示するブロック図である。
図面の図は、それらの寸法が、本開示の範囲から逸脱することなく大幅に変更され得ることから、必ずしも縮尺通りに描かれていない。
[例示的な実施形態] 図1は、本開示の一実施形態に係る、マルウェアの検出のための通信システム100の簡略ブロック図である。図1に例示されているように、通信システム100の一実施形態は、電子デバイス102、クラウドサービス104、およびサーバ106を含んでよい。電子デバイス102は、オペレーティングシステム(OS)110、メモリ112、プロセッサ114、ハイパーバイザ116、セキュリティモジュール118、および少なくとも1つのアプリケーション120を含んでよい。OS110は、OS関数122およびOS変数124を含んでよい。メモリ112は、共用ライブラリ126を含んでよい。セキュリティモジュール118は、システム処理監視モジュール128、ホワイトリスト130、およびブラックリスト132を含んでよい。クラウドサービス104およびサーバ106は、ネットワークセキュリティモジュール134をそれぞれ含んでよい。ネットワークセキュリティモジュール134は、ホワイトリスト130およびブラックリスト132を含んでよい。電子デバイス102、クラウドサービス104、およびサーバ106は、ネットワーク108を使用して通信を行い得る。一例において、悪意のあるデバイス136は、悪意のあるコード138で電子デバイス102を感染させるために、ネットワーク108または何らかの他の手段(例えば、物理的な接続)を使用することを試み得る。
例示的な実施形態において、通信システム100は、プロセスのスレッドを監視し、スレッドが、プロセスが既に知っているべき関数を検索することを試みているかを判断するよう構成され得る。共通する関数は、公開されているライブラリで利用可能で、エクスポートライブラリに対してリンクされ、ダイナミックリンクライブラリ(DLL)ローダが自動的にアドレスを解決できるので、概して、正規のソフトウェアまたは正規のアプリケーションの一部であるコードは、オペレーティングシステムとインターアクトするべく、共通する関数を検索する必要がない。しかしながら、悪意のあるコードは、多くの場合、様々な関数呼出しの場所を知らず、悪意のあるコードが実行され得る前に、まず関数を見つけなければならない。システム関数に関連する特定のファイルおよび領域を読み取り不可能とマーク付けすることにより、システムは、何がシステム関数の位置を特定するためにファイルおよび領域を読み取っているかを分析でき、コードが信頼できるものか、悪意のあるものかの判断を行うことができる。
図1の要素は、ネットワーク(例えば、ネットワーク108)通信のための実行可能な経路を提供する任意の好適な接続(有線または無線)を使用する1または複数のインタフェースを通じて互いに結合されてよい。さらに、図1のこれらの要素のうち任意の1または複数のものは、特定の構成の必要性に基づいて組み合わせられる、またはアーキテクチャから取り除かれてよい。通信システム100は、ネットワークにおけるパケットの送信または受信のための伝送制御プロトコル/インターネットプロトコル(TCP/IP)通信が可能な構成を含み得る。通信システム100は、適切な場合、かつ特定の必要性に基づいて、ユーザデータグラムプロトコル/IP(UDP/IP)または任意の他の好適なプロトコルと併せて動作してもよい。
通信システム100の特定の例示的な技術を例示する目的では、ネットワーク環境をトラバースし得る通信を理解することが重要である。以下の基礎的情報は、本開示が適切に説明され得る基礎と見なされてよい。
悪意のあるコード138は、ホストコンピュータ(例えば、電子デバイス102)を感染させ、ホストコンピュータと関連付られる企業または個人から機密情報を盗取すること、他のホストコンピュータに伝播すること、および/または、分散サービス妨害攻撃を支援すること、ホストコンピュータからスパムまたは悪意のある電子メールを送信することなどの任意の数の悪意のある動作を実行させる、マルウェアまたは悪意のあるソフトウェアであり得る。マルウェアの共通の特徴の1つは、機械上において動作しているソフトウェアの脆弱性を利用するためにシェルコードを使用することである。シェルコードは、ソフトウェアの脆弱性の不当利用において、ペイロードとして使用される1つのコードである。それは、攻撃者が感染した機械を制御できるようにするために、コマンドシェルを一般に起動するので、「シェルコード」と呼ばれる。シェルコードが機械を効果的に感染させる前に、OS関数またはOSルーチン(例えば、LoadLibrary、CreateFileなど)を見つけて、そのペイロードを実行する必要がある。OSルーチンを見つけるためにシェルコードは、GetProcAddressを呼び出す、またはportable executable(PE)ヘッダを解析し、DLLのインポートおよびエクスポートテーブルを見つけて解釈することができる。シェルコードを検出し、悪意のあるアクティビティを特定するためのシステムおよび方法を提供するセキュリティソリューションが必要とされている。
図1で概説されているように、マルウェアの検出のための通信システムが、これら(およびその他)の課題を解決する。通信システム100は、コードが実行され、データにアクセスするときにコードを監視するべく、ハイパーバイザ(例えば、ハイパーバイザ116)メモリベースの監視を使用するよう構成され得る。例えば、メモリ読み込み監視は、マルウェアが実行され得る前に必要とされ得るOS関数を見つけるために、マルウェアが読み取る必要があるデータ構造に対して使用され得る。DLLが、何らかの関数をプロセスにエクスポートした場合、関数の開始の場所についての情報、ならびに、テーブル(例えば、エクスポートテーブル)に格納されている関数の名前が見つけられ得、それらは、DLLの始めの部分に、周知の構造により示される。通信システム100は、ハイパーバイザを使用して、これらの構造およびテーブルを読み取り不可能にし、これにより、プロセスがそれらを読み取った場合、システムがプロセスを分析し、アクセスのパターン、および構造またはテーブルにアクセスしているコードのパターンを調べるよう構成され得る。アクセスされているパターンおよびバイトから、システムは、どの関数が検索されているかを判断でき、コードが、関数を見つけるための悪意のある試みであるか判断できる。
例えば、システム処理監視モジュール128は、OS関数(例えば、OS関数122)およびOS変数(例えば、OS変数124)を検索する(例えば、アプリケーション120からの)コードを分析するよう構成され得る。システムの共用ライブラリ(例えば、共用ライブラリ126)において、コードを読み取り不可能にすることによる利益はないので、どこでOS関数またはOS変数を見つけるかを示す構造だけが、読み取り不可能にされる。保護され、読み取り不可能とマーク付けされたメモリのエリアは、インポートおよびエクスポートテーブル、DLL、PEファイルなどを含んでよい。
図1のインフラストラクチャを参照すると、例示的な一実施形態に係る通信システム100が示されている。概して、通信システム100は、任意の種類またはトポロジのネットワークにおいて実装され得る。ネットワーク108は、通信システム100を通じて伝播する情報パケットを受信するおよび送信するための、相互接続された通信経路の一連のポイントまたはノードを表す。ネットワーク108は、ノード間の通信インタフェースを提供し、任意のローカルエリアネットワーク(LAN)、仮想ローカルエリアネットワーク(VLAN)、ワイドエリアネットワーク(WAN)、無線ローカルエリアネットワーク(WLAN)、メトロポリタンエリアネットワーク(MAN)、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、およびネットワーク環境において通信を容易にする任意の他の適切なアーキテクチャもしくはシステム、または、有線および/または無線通信を含むそれらの任意の好適な組み合わせとして構成され得る。
通信システム100において、パケット、フレーム、信号、データなどを含むネットワークトラフィックは、任意の好適な通信メッセージングプロトコルに従って送受信され得る。好適な通信メッセージングプロトコルは、オープンシステム間相互接続(OSI)モデルのような多層スキーム、またはそれらのあらゆる派生例もしくは変形例(例えば、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル/IP(UDP/IP))を含んでよい。さらに、セルラーネットワークを介した無線信号通信が、通信システム100において提供されてもよい。好適なインタフェースおよびインフラストラクチャは、セルラーネットワークとの通信を可能にするために提供され得る。
本明細書で使用されている「パケット」という用語は、パケット交換ネットワーク上で、ソースノードと宛先ノードとの間でルーティングされ得るデータ単位を指す。パケットは、ソースネットワークアドレスおよび宛先ネットワークアドレスを含む。これらのネットワークアドレスは、TCP/IPメッセージングプロトコルにおけるインターネットプロトコル(IP)アドレスであってよい。本明細書で使用されている「データ」という用語は、電子デバイスおよび/またはネットワークにおいて1つのポイントから別のポイントに伝達され得る、任意の種類のバイナリ、数値、音声、ビデオ、テキストもしくはスクリプトのデータ、または任意の種類のソースコードもしくはオブジェクトコード、または、任意の適切なフォーマットの任意の他の好適な情報を指す。さらに、メッセージ、要求、応答およびクエリは、ネットワークトラフィックの形式であり、従って、パケット、フレーム、信号、データなどを備え得る。
例示的な一実装例において、電子デバイス102、クラウドサービス104、およびサーバ106は、ネットワーク機器、サーバ、ルータ、スイッチ、ゲートウェイ、ブリッジ、ロードバランサ、プロセッサ、モジュール、またはネットワーク環境で情報を交換するために動作可能な任意の他の好適なデバイス、コンポーネント、要素またはオブジェクトを包含するよう意図されたネットワーク要素である。ネットワーク要素は、それらの動作を容易にする、任意の好適なハードウェア、ソフトウェア、コンポーネント、モジュールまたはオブジェクト、ならびにネットワーク環境において、データもしくは情報を受信、送信および/またはその他の方法で伝達するための好適なインタフェースを含み得る。これは、データまたは情報の効果的な交換を可能にする適切なアルゴリズムおよび通信プロトコルを含み得る。
通信システム100と関連付けられる内部構造に関して、電子デバイス102、クラウドサービス104、およびサーバ106の各々は、本明細書に概説されている動作において使用されるべき情報を格納するためのメモリ要素を含んでよい。電子デバイス102、クラウドサービス104、およびサーバ106の各々は、任意の好適なメモリ要素(例えば、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、特定用途向け集積回路(ASIC)など)、ソフトウェア、ハードウェア、ファームウェア、または、適切でかつ特定の必要性に基づいて任意の他の好適なコンポーネント、デバイス、要素、もしくはオブジェクトに情報を保存し得る。本明細書に記載されているメモリアイテムの何れも、「メモリ要素」という広義の用語内に包含されていると解釈されるべきである。さらに、通信システム100において使用されている、追跡されている、送信されている、または受信されている情報は、任意のデータベース、レジスタ、キュー、テーブル、キャッシュ、制御リスト、または他のストレージ構造にて提供され得、その全ては、任意の好適なタイムフレームにおいて参照され得る。そのようなストレージの選択肢の何れも、本明細書で使用されている「メモリ要素」という広義の用語内に含まれ得る。
特定の例示的な実装例において、本明細書に概説されている機能は、非一時的コンピュータ可読媒体を含み得る1または複数の有形媒体内に符号化されているロジック(例えば、ASIC内に設けられる埋込みロジック、デジタル信号プロセッサ(DSP)命令、プロセッサ、または、他の同様の機械などにより実行される(オブジェクトコードおよびソースコードを潜在的に含む)ソフトウェア)により実装され得る。これらの例のいくつかにおいて、メモリ要素は、本明細書に説明されている動作に使用さられるデータを格納できる。これは、本明細書に説明されているアクティビティを行うために実行されるソフトウェア、ロジック、コードまたはプロセッサ命令を格納することを可能にするメモリ要素を含む。
例示的な一実装例において、電子デバイス102、クラウドサービス104、およびサーバ106のような通信システム100のネットワーク要素は、本明細書に概説されている動作を実現または促進するためのソフトウェアモジュール(例えば、セキュリティモジュール118、システム処理監視モジュール128、およびネットワークセキュリティモジュール134)を含み得る。これらのモジュールは、特定の構成および/またはプロビジョニングの必要性に基づき得る、任意の適切な態様で、好適に組み合わされ得る。例示的な実施形態において、そのような動作は、意図される機能を実現するべく、これらの要素の外部に実装されるハードウェア、または、何らかの他のネットワークデバイスに含まれるハードウェアにより実行され得る。さらに、モジュールは、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の好適な組み合わせとして実装され得る。これらの要素は、本明細書に概説されているような動作を実現するために、他のネットワーク要素と連携できるソフトウェア(またはレシプロケーティングソフトウェア)も含み得る。
さらに、電子デバイス102、クラウドサービス104、およびサーバ106の各々は、本明細書に記載されているアクティビティを実行するためのソフトウェアまたはアルゴリズムを実行し得るプロセッサを含んでよい。プロセッサは、本明細書に詳述されている動作を実現するために、データと関連付けられた任意の種類の命令を実行できる。1つの例において、プロセッサは、要素または物品(例えばデータ)を1つの状態または物から別の状態または物へ変換できる。別の例において、本明細書に概説されているアクティビティは、固定ロジックまたはプログラマブルロジック(例えば、プロセッサにより実行されるソフトウェア/コンピュータ命令)で実装され得る。本明細書で識別される要素は、デジタルロジック、ソフトウェア、コード、電子命令、またはそれらの任意の好適な組み合わせを含む、何らかの種類のプログラマブルプロセッサ、プログラマブルデジタルロジック(例えば、フィールドプログラマブルゲートアレイ(FPGA)、EPROM、EEPROM)、またはASICであり得る。本明細書に説明されている、潜在的な処理要素、モジュールおよび機械の何れも、「プロセッサ」という広義の用語内に包含されていると解釈されるべきである。
電子デバイス102は、ネットワーク要素であってよく、例えばデスクトップコンピュータ、ラップトップコンピュータ、モバイルデバイス、パーソナルデジタルアシスタント、スマートフォン、タブレット、または他の同様のデバイスを含む。クラウドサービス104は、電子デバイス102にクラウドサービスを提供するよう構成される。クラウドサービスは、概して、インターネットようなネットワークを介したサービスとして供給されるコンピューティングリソースを使用することと定義される。通常、計算、ストレージ、およびネットワークリソースは、クラウドインフラストラクチャにおいて提供され、作業負荷をローカルネットワークからクラウドネットワークへ効果的にシフトさせる。サーバ106は、サーバまたは仮想サーバのようなネットワーク要素であり得、何らかのネットワーク(例えば、ネットワーク108)を介して通信システム100における通信を開始したいクライアント、顧客、エンドポイントまたはエンドユーザと関連付られ得る。「サーバ」という用語は、通信システム100内で、クライアントの要求を果たすため、および/またはクライアントに代わって何らかの計算タスクを実行するために使用されるデバイスを含む。セキュリティモジュール118は、電子デバイス102内に位置するように図1には示されているが、これは例示目的に過ぎない。セキュリティモジュール118は、任意の好適な構成で組み合わせられてよく、または分離されてよい。さらに、セキュリティモジュール118は、クラウドサービス104またはサーバ106のような、電子デバイス102によりアクセス可能な別のネットワークと統合され得、または、別のネットワーク内に分散され得る。
図2を参照すると、図2は、マルウェアの検出のための通信システム100の一部の簡略ブロック図である。図2に例示されているように、電子デバイス102は、OS110、メモリ112、セキュリティモジュール118、およびアプリケーション120を含んでよい。OS110は、OS関数122およびOS変数124を含んでよい。メモリ112は、DLL140、インポートおよびエクスポートテーブル142、1または複数のPEファイル144、ならびにGetProcAddress148を含んでよい。セキュリティモジュール118は、システム処理監視モジュール128、ホワイトリスト130、およびブラックリスト132を含んでよい。アプリケーション120は、シェルコード146を含んでよい。各PEファイル144は、ヘッダ150を含んでよい。GetProcAddress148は、DLL140からエクスポートされた関数または変数のアドレスを取得できる。
アプリケーションが悪意のあるものである、または悪意のあるコード138を含む場合、シェルコード146が機械を効果的に感染させる前に、シェルコード146は、オペレーティングシステム関数またはルーチン(例えば、例示的なLoadLibrary、CreateFileなど)を見つけて、そのペイロードを実行する必要がある。OSルーチンを見つけるためにシェルコードは、GetProcAddress148を呼び出す、またはPEファイル144からPEヘッダを検索するために解析し、DLLのインポートおよびエクスポートテーブル142を見つけて解釈することができる。例えば、DLL140が、何らかの関数をプロセスにエクスポートする場合、関数の開始についての情報、ならびに関数の名前が見つけられ得る。関数の名前は、DLL140の始めに周知の構造により示されるインポートおよびエクスポートテーブル142に格納され得る。ホワイトリスト122は、既知のクリーンなまたは信頼できるアプリケーション、コード、ストリングなどのエントリを含んでよく、誤検知を削減するために使用され得る。ブラックリスト124は、既知の悪意のあるまたは信頼されないアプリケーション、コード、ストリングなどのエントリを含んでよい。
図3を参照すると、図3は、一実施形態に係る、マルウェアの検出と関連付けられ得るフロー300の考えられる動作を例示する例示的なフローチャートである。302において、プロセスが動作を開始する。304においてシステムは、プロセスが監視されるべきかを判断する。プロセスが監視されるべきではない場合、次にプロセスは、310で示されるようにフラグ設定されない。例えば、プロセスは、ホワイトリスト130内に見つかり得、信頼できると分類され得る。加えて、プロセスは、通常、マルウェアについて監視されないプロセスであり得る。プロセスが監視されるべきである(例えば、アプリケーションが不明である、またはブラックリスト132内に見つかった)場合、次にシステムは、306で示されるように、プロセスがシステム関数を手動で検索(例えば、検索のために解析)しているかを判断する。プロセスが手動でシステム関数を検索(例えば、検索のために解析)していない場合、次にプロセスは、310で示されるようにフラグ設定されない。プロセスが手動でシステム関数を検索(例えば、検索のために解析)している場合、次にプロセスは、308で示されるようにフラグ設定される。プロセスをフラグ設定することにより、プロセスは、セキュリティモジュール118によりマルウェアについて分析され得、または(例えばネットワークセキュリティモジュール134による)さらなる分析のためにネットワーク要素に送信され得る。
図4を参照すると、図4は、一実施形態に係る、マルウェアの検出と関連付けられ得るフロー400の考えられる動作を例示する例示的なフローチャートである。402において、アプリケーションが、実行を開始する。404において、DLLテーブルを手動で(例えば、解析し)見つけて解釈するために、アプリケーションは、PEファイルの解析を開始する。406において、アプリケーションが悪意のあるものか判断するさらなる分析のために、アプリケーションはフラグ設定される。例えば、プロセスは、セキュリティモジュール118によりマルウェアについて分析され得、または(例えばネットワークセキュリティモジュール134による)さらなる分析のためにネットワーク要素に送信され得る。
図5は、一実施形態に係る、ポイントツーポイント(PtP)構成で配置されるコンピューティングシステム500を例示する。特に、図5は、プロセッサ、メモリ、および入出力デバイスが、多数のポイントツーポイントインタフェースにより相互接続されるシステムを示す。概して、通信システム100のネットワーク要素のうち1または複数は、コンピューティングシステム500と同一または同様の態様で構成されてよい。
図5に例示されているように、システム500は、いくつかのプロセッサを含み得るが、明確にするために、それらのうちプロセッサ570および580の2つのみが示されている。2つのプロセッサ570および580が示されている一方、システム500の一実施形態は、そのようなプロセッサを1つだけ含んでもよいことが理解されるだろう。プロセッサ570および580の各々は、プログラムの複数のスレッドを実行するための一連のコア(すなわち、プロセッサコア574Aおよび574B、ならびにプロセッサコア584Aおよび584B)を含んでよい。コアは、図1から図5を参照して上述されているものと同様の態様で、命令コードを実行するよう構成され得る。各プロセッサ570、580は、少なくとも1つの共有キャッシュ571、581を含んでよい。共有キャッシュ571、581は、プロセッサコア574および584のような、プロセッサ570、580の1または複数のコンポーネントにより利用されるデータ(例えば、命令)を格納してよい。
プロセッサ570および580は、メモリ要素532および534と通信するための集積メモリコントローラロジック(MC)572および582をそれぞれ含んでもよい。メモリ要素532および/または534は、プロセッサ570および580により使用される様々なデータを格納してよい。代替的な実施形態において、メモリコントローラロジック572および582は、プロセッサ570および580とは分離したディスクリートロジックであってよい。
プロセッサ570および580は、任意の種類のプロセッサであり得、それぞれ、ポイントツーポイントインタフェース回路578および588を使用して、ポイントツーポイント(PtP)インタフェース550を介してデータを交換し得る。 プロセッサ570および580は、ポイントツーポイントインタフェース回路576、586、594および598を使用して、個々のポイントツーポイントインタフェース552および554を介して、チップセット590とそれぞれデータを交換し得る。チップセット590は、PtPインタフェース回路であり得るインタフェース回路592を使用して、高性能グラフィックスインタフェース539を介して、高性能グラフィックス回路538とデータを交換してもよい。代替的な実施形態において、図5に例示されている、任意のまたは全てのPtPリンクは、PtPリンクではなく、マルチドロップバスとして実装され得る。
チップセット590は、インタフェース回路596を介して、バス520と通信を行ってよい。バス520は、バスブリッジ518およびI/Oデバイス516のような、それを介して通信する1または複数のデバイスを有してよい。バス510を介して、バスブリッジ518は、キーボード/マウス512(またはタッチスクリーン、トラックボールのような他の入力デバイスなど)、通信デバイス526(モデム、ネットワークインタフェースデバイス、またはコンピュータネットワーク560を通じて通信し得る、他の種類の通信デバイスのような)オーディオI/Oデバイス514、および/またはデータストレージデバイス528のような他のデバイスと通信を行ってよい。データストレージデバイス528は、プロセッサ570および/または580により実行され得るコード530を格納し得る。代替的な実施形態において、バスアーキテクチャの任意の部分は、1または複数のPtPリンクで実装され得る。
図5に図示されているコンピュータシステムは、本明細書に記載されている様々な実施形態を実装するために利用され得る、コンピューティングシステムの一実施形態の概略図である。図5に図示されているシステムの様々なコンポーネントは、システムオンチップ(SoC)アーキテクチャで、または任意の他の好適な構成で組み合わされ得ることが理解されるであろう。例えば、本明細書に開示されている実施形態は、スマートセルラーフォン、タブレットコンピュータ、パーソナルデジタルアシスタント、携帯型ゲーム機などようなモバイルデバイスを含むシステム内に組み込まれ得る。少なくともいくつかの実施形態において、これらのモバイルデバイスには、SoCアーキテクチャが設けられることが理解されるであろう。
図6を参照すると、図6は、本開示の例示的なARMエコシステムSOC600と関連付けられる簡略ブロック図である。本開示の少なくとも1つの例示的な実装例は、本明細書に記載されているマルウェアの検出の特徴、およびARMコンポーネントを含んでよい。例えば、図6の例は、任意のARMコア(例えばA−7、A−15など)と関連付けられてよい。さらに、アーキテクチャは、任意の種類のタブレット、スマートフォン(Android(登録商標)フォン、iPhone(登録商標)を含む)、iPad(登録商標)、Google Nexus(登録商標)、Microsoft Surface(登録商標)、パーソナルコンピュータ、サーバ、ビデオ処理コンポーネント、ラップトップコンピュータ(任意の種類のノートブックを含む)、Ultrabook(商標)システム、任意の種類のタッチ式入力デバイスなどの一部であってよい。
図6のこの例において、ARMエコシステムSOC600は、LCDに結合する、モバイルインダストリプロセッサインタフェース(MIPI)/高解像度マルチメディアインタフェース(HDMI(登録商標))リンクと関連付けられ得る、複数のコア606−607、L2キャッシュ制御608、バスインタフェースユニット609、L2キャッシュ610、グラフィックス処理ユニット(GPU)615、相互接続602、ビデオコーデック620、および液晶ディスプレイ(LCD)I/F625を含んでよい。
ARMエコシステムSOC600は、加入者識別モジュール(SIM)I/F630、ブートリードオンリメモリ(ROM)635、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)コントローラ640、フラッシュコントローラ645、シリアル周辺インタフェース(SPI)マスタ650、好適な電力制御655、ダイナミックRAM(DRAM)660、およびフラッシュ665も含んでよい。加えて、1または複数の例示的な実施形態は、1または複数の通信能力、インタフェースならびにBluetooth(登録商標)670、3Gモデム675、全地球測位システム(GPS)680、および802.11Wi−Fi(登録商標)685の例のような特徴を含む。
動作において、図6の例は、比較的低い消費電力とともに処理能力を提供でき、様々な種類のコンピューティング(例えば、モバイルコンピューティング、ハイエンドデジタルホーム、サーバ、無線インフラストラクチャなど)を可能とする。加えて、このようなアーキテクチャは、任意の数のソフトウェアアプリケーション(例えば、Android(登録商標)、Adobe(登録商標)Flash(登録商標)Player、Java(登録商標)Platform Standard Edition(Java(登録商標)SE)、Java(登録商標)FX、Linux(登録商標)、Microsoft Windows(登録商標)Embedded、Symbian、およびUbuntuなど)を可能にし得る。少なくとも1つの例示的な実施形態において、コアプロセッサは、結合された低レイテンシレベル2キャッシュを有するアウトオブオーダスーパースカラパイプラインを実装し得る。
図7は、一実施形態に係るプロセッサコア700を例示する。プロセッサコア700は、マイクロプロセッサ、組込みプロセッサ、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、または、コードを実行する他のデバイスのような、任意の種類のプロセッサ用のコアであってよい。図7において、1つのプロセッサコア700のみが例示されているが、プロセッサは、図7に例示されているプロセッサコア700の1つより多くを代替的に含んでよい。例えば、プロセッサコア700は、図5のプロセッサ570および580に関連して示され、説明されている、プロセッサコア574a、574b、584a、および584bの1つの例示的な実施形態を表す。プロセッサコア700は、シングルスレッドコアであってよく、または、少なくとも1つの実施形態に関して、プロセッサコア700は、コアごとに1つより多くのハードウェアスレッドコンテキスト(または「ロジカルプロセッサ」)を含み得るという点で、マルチスレッドコアであってよい。
図7はまた、一実施形態に係る、プロセッサコア700に結合されたメモリ702を例示する。メモリ702は、既知のまたはそうでなければ当業者に利用可能な多種多様なメモリ(メモリ階層の様々な層を含む)の何れかであってよい。メモリ702は、プロセッサコア700により実行される1または複数の命令であり得るコード704を含んでよい。プロセッサコア700は、コード704により示される、命令のプログラムシーケンスに従ってよい。各命令は、フロントエンドロジック706に入り、1または複数のデコーダ708により処理される。デコーダは、その出力として、予め定義されたフォーマットで固定幅のマイクロオペレーションのようなマイクロオペレーションを生成してよく、または元のコード命令を反映する他の命令、マイクロ命令、もしくは制御信号を生成してよい。フロントエンドロジック706はまた、レジスタリネーミングロジック710およびスケジューリングロジック712を含み、これらは、概して、リソースを割り当て、実行の命令に対応する動作をキューに登録する。
プロセッサコア700は、一連の実行ユニット716−1から716−Nを有する実行ロジック714を含んでもよい。いくつかの実施形態は、特定の機能または複数の機能セット専用の多数の実行ユニットを含み得る。他の実施形態は、1つの実行ユニットのみ、または特定の機能を実行できる1つの実行ユニットを含み得る。実行ロジック714は、コード命令により指定される動作を実行する。
コード命令により指定される動作の実行が完了した後、バックエンドロジック718は、コード704の命令をリタイアできる。1つの実施形態において、プロセッサコア700は、アウトオブオーダ実行を許可するが、命令のインオーダリタイアメントを必要とする。リタイアメントロジック720は、(例えば、リオーダバッファまたは同様の)様々な既知の形式を取ってよい。このように、デコーダ、レジスタリネーミングロジック710により利用されるハードウェアレジスタおよびテーブル、ならびに実行ロジック714により変更される任意のレジスタ(不図示)により生成される出力に少なくとも関して、プロセッサコア700は、コード704の実行中に変換される。
図7に例示されていないが、プロセッサは、プロセッサコア700とともに他の要素をチップ上に含んでよく、少なくともそれらのうちいくつかは、図5を参照して本明細書に示され、説明されている。例えば、図5に示されているように、プロセッサは、プロセッサコア700とともにメモリ制御ロジックを含んでよい。プロセッサは、I/O制御ロジックを含んでよく、および/またはメモリ制御ロジックと統合されるI/O制御ロジックを含んでよい。
本明細書に提供されている例に関して、インタラクションは、2つ、3つまたはそれより多くのネットワーク要素に関して説明され得ることに留意されたい。しかしながら、これは、明確性および例示目的のためだけになされたものである。特定の場合には、限定的な数のネットワーク要素のみを参照することにより、所与のセットのフローの1または複数の機能を説明することがより容易になる場合がある。通信システム100およびその教示は、容易にスケーラブルであり、多数のコンポーネント、ならびにより複雑な/洗練された配置及び構成に適応可能であることを理解されたい。従って、提供されている例は、潜在的に無数の他のアーキテクチャに適用される通信システム100の範囲を限定する、またはその広範な教示を阻むべきではない。
前述されたフロー図(すなわち、図3から図4)の動作は、通信システム100により実行され得る、または通信システム100内に考えられる相関シナリオおよびパターンのうちいくつかのものだけを例示することに留意することも重要である。これらの動作のうちいくつかのものは、適切な箇所で削除されもしくは取り除かれてよく、または、これらの動作は、本開示の範囲から逸脱することなく、大幅に修正もしくは変更されてよい。加えて、これらの動作の多数は、1または複数の追加的な動作と同時にまたは並行して実行されていると説明されている。しかしながら、これらの動作のタイミングは、大幅に変更され得る。前述された動作のフローは、例示および説明目的のために提供されている。任意の好適な配置、時系列、構成、およびタイミングのメカニズムが、本開示の教示から逸脱することなく提供され得るという点で、大きな柔軟性が、通信システム100により提供される。
本開示は、特定の配置および構成を参照して詳細に説明されているが、これらの例示的な構成および配置は、本開示の範囲から逸脱することなく著しく変更され得る。さらに、特定のコンポーネントが、特定の必要性および実装に基づいて、組み合わされ、分離され、排除され、または追加され得る。さらに、通信システム100は、通信処理を容易にする特定の要素および動作に関連して例示されているが、これらの要素および動作は、通信システム100の意図される機能を実現する、任意の好適なアーキテクチャ、プロトコル、および/またはプロセスによって置き換えられてよい。
多数の他の変更、代替、変形、改変および修正が、当業者に確認され得て、本開示は、全てのそのような変更、代替、変形、改変および修正を添付の特許請求の範囲内に含まれるものとして包含することが意図される。米国特許商標庁(USPTO)を補助するため、さらに、本明細書に添付の特許請求の範囲の解釈において、本願に基づいて発行された任意の特許のあらゆる読者を補助するため、出願人は、(a)「の手段(means for)」または「の段階(step for)」という文言が、特定の特許請求の範囲において具体的に使用されない限り、出願日において本明細書に存在するよう、添付の特許請求の範囲の何れかに米国特許法第112条第6段落を援用することを出願人が意図しないこと、および(b)明細書におけるあらゆる記述によって、決して、本開示をそうでなければ添付の特許請求の範囲に反映されないように限定することを出願人が意図しないことに留意することを望んでいる。
[他の留意事項および例]
例C1は、少なくとも1つのプロセッサにより実行された場合、プロセスを監視することと、プロセスが1または複数のシステム関数を検索するために解析しているかを判断することと、プロセスが1または複数のシステム関数を検索するために解析している場合、プロセスをフラグ設定することとを少なくとも1つのプロセッサに実行させる1または複数の命令を有する少なくとも1つの機械可読媒体である。
例C2において、例C1の主題は、プロセスがダイナミックリンクライブラリテーブルを見つけて解釈するべく、portable executableヘッダを解析する場合、プロセスが1または複数のシステム関数を検索するために解析していると判断されることを任意で含んでよい。
例C3において、例C1からC2の何れか1つの主題は、プロセスがGetProcAddressを呼び出す場合、プロセスが1または複数のシステム関数を検索するために解析していると判断されることを任意で含んでよい。
例C4において、例C1からC3の何れか1つの主題は、プロセスがシェルコードを含むことを任意で含んでよい。
例C5において、例C1からC4の何れか1つの主題は、少なくとも1つのプロセッサにより実行される場合、1または複数の命令は、マルウェアについてプロセスを分析することを少なくとも1つのプロセッサにさらに実行させることを任意で含んでよい。
例C6において、例C1からC5の何れか1つの主題は、少なくとも1つのプロセッサにより実行される場合、1または複数の命令は、プロセスがホワイトリスト内に見つかった場合にフラグ設定を除去することを少なくとも1つのプロセッサにさらに実行させることを任意で含んでよい。
例A1において、装置は、システム処理監視モジュールを含んでよい。システム処理監視モジュールは、プロセスを監視し、プロセスが1または複数のシステム関数を検索するために解析しているかを判断し、プロセスが1または複数のシステム関数を検索するために解析している場合、プロセスをフラグ設定するよう構成され得る。
例A2において、例A1の主題は、プロセスがダイナミックリンクライブラリテーブルを見つけて解釈するべく、portable executableヘッダを解析する場合、プロセスは、1または複数のシステム関数を検索するために解析していると判断されることを任意で含んでよい。
例A3において、例A1からA2の何れか1つの主題は、プロセスがGetProcAddressを呼び出す場合、プロセスが1または複数のシステム関数を検索するために解析していると判断されることを任意で含んでよい。
例A4において、例A1からA3の何れか1つの主題は、プロセスがシェルコードを含むことを任意で含んでよい。
例A5において、例A1からA4の何れか1つの主題は、システム処理監視モジュールが、マルウェアについてプロセスを分析するようさらに構成されることを任意で含んでよい。
例A6において、例A1からA5の何れか1つの主題は、プロセスがホワイトリスト内に見つかった場合、システム処理監視モジュールは、フラグ設定を除去するようさらに構成されることを任意で含んでよい。
例M1は、プロセスを監視する段階と、プロセスが1または複数のシステム関数を検索するために解析しているかを判断する段階と、プロセスが1または複数のシステム関数を検索するために解析している場合、プロセスをフラグ設定する段階とを含む方法である。
例M2において、例M1の主題は、プロセスがダイナミックリンクライブラリテーブルを見つけて解釈するべく、portable executableヘッダを解析する場合、プロセスが1または複数のシステム関数を検索するために解析していると判断されることを任意で含んでよい。
例M3において、例M1からM2の何れか1つの主題は、プロセスがGetProcAddressを呼び出す場合、プロセスが1または複数のシステム関数を検索するために解析していると判断されることを任意で含んでよい。
例M4において、例M1からM3の何れか1つの主題は、プロセスがシェルコードを含むことを任意で含んでよい。
例M5において、例M1からM4の何れか1つの主題は、マルウェアについてプロセスを分析することを任意で含んでよい。
例S1は、マルウェアを検出するためのシステムであって、システム処理監視モジュールを含んでよい。システム処理監視モジュールは、プロセスを監視し、プロセスが1または複数のシステム関数を検索するために解析しているかを判断し、プロセスが1または複数のシステム関数を検索するために解析している場合、プロセスをフラグ設定するよう構成され得る。
例S2において、例S1の主題は、プロセスがダイナミックリンクライブラリテーブルを見つけて解釈するべく、portable executableヘッダを解析する場合、プロセスが1または複数のシステム関数を検索するために解析していると判断されることを任意で含んでよい。
例S2において、例S1およびS2の何れか1つの主題は、プロセスがGetProcAddressを呼び出す場合、プロセスが1または複数のシステム関数を検索するために解析していると判断されることを任意で含んでよい。
例X1は、例A1−A6または例M1−M5の何れか1つに示されるように、方法を実装する、または装置を実現する機械可読命令を含む機械可読記憶媒体である。例Y1は、例示的な方法M1−M5の何れかを実行するための手段を備える装置である。例Y2において、例Y1の主題は、プロセッサおよびメモリを備える方法を実行するための手段を任意で含んでよい。例Y3において、例Y2の主題は、機械可読命令を備えるメモリを任意で含んでよい。

Claims (20)

  1. 少なくとも1つのプロセッサに、
    ハイパーバイザを用いて、実行中のプロセスを監視する手順と、
    前記プロセスが1または複数のシステム関数を検索するために解析しているかどうかを判断する手順と、
    前記プロセスが1または複数のシステム関数を検索するために解析しているという判断に基づいて、マルウェアについて前記プロセスを分析するべく前記プロセスをネットワーク要素に送信する手順と
    を実行させ、
    前記判断する手順は、前記プロセスがダイナミックリンクライブラリテーブルを見つけて解釈するべく、portable executableヘッダを解析する場合に、前記プロセスが1または複数のシステム関数を検索するために解析していると判断することを含む、
    コンピュータプログラム。
  2. 前記プロセスはシェルコードを含む、請求項1に記載のコンピュータプログラム。
  3. 前記少なくとも1つのプロセッサに、前記プロセスがブラックリストに見つかることを判断する手順をさらに実行させる、請求項1または2に記載のコンピュータプログラム。
  4. 前記少なくとも1つのプロセッサに、前記プロセスがブラックリストに見つかるという判断に基づいて、前記プロセスが動作できないようにする手順をさらに実行させる、請求項3に記載のコンピュータプログラム。
  5. 前記少なくとも1つのプロセッサに、前記プロセスが1または複数のシステム関数を検索するために解析していないという判断に基づいて、前記プロセスが動作することを許可する手順をさらに実行させる、請求項1から4のいずれか一項に記載のコンピュータプログラム。
  6. 装置であって、
    ネットワーク要素との通信のための回路と、
    電子コードを格納することができるメモリ要素と、
    ハイパーバイザと、
    前記装置が、
    前記ハイパーバイザを用いて、実行中のプロセスを監視し、
    前記プロセスが1または複数のシステム関数を検索するために解析しているかどうかを判断し、
    前記プロセスが1または複数のシステム関数を検索するために解析しているという判断に基づいて、マルウェアについて前記プロセスを分析するべく前記プロセスをネットワーク要素に送信する
    ように構成されるように、前記電子コードに関連付けられる命令を実行することができるプロセッサと
    を備え、
    前記判断することは、前記プロセスがダイナミックリンクライブラリテーブルを見つけて解釈するべく、portable executableヘッダを解析する場合に、前記プロセスが1または複数のシステム関数を検索するために解析していると判断することを含む、
    装置。
  7. 前記プロセスはシェルコードを含む、請求項6に記載の装置。
  8. 前記プロセッサは、前記装置が、前記プロセスがブラックリストに見つかることを判断するようにさらに構成されるように、前記電子コードに関連付けられるさらなる命令を実行することができる、請求項6または7に記載の装置。
  9. 前記プロセッサは、前記装置が、前記プロセスがブラックリストに見つかるという判断に基づいて、前記プロセスが動作できないようにするようにさらに構成されるように、前記電子コードに関連付けられるさらなる命令を実行することができる、請求項8に記載の装置。
  10. 前記プロセッサは、前記装置が、前記プロセスが1または複数のシステム関数を検索するために解析していないという判断に基づいて、前記プロセスが動作することを許可するようにさらに構成されるように、前記電子コードに関連付けられるさらなる命令を実行することができる、請求項6から9のいずれか一項に記載の装置。
  11. ハイパーバイザを用いて、実行中のプロセスを監視する段階と、
    前記プロセスが1または複数のシステム関数を検索するために解析しているかどうかを判断する段階と、
    前記プロセスが1または複数のシステム関数を検索するために解析しているという判断に基づいて、マルウェアについて前記プロセスを分析するべく前記プロセスをネットワーク要素に送信する段階と
    を備え、
    前記判断する段階は、前記プロセスがダイナミックリンクライブラリテーブルを見つけて解釈するべく、portable executableヘッダを解析する場合に、前記プロセスが1または複数のシステム関数を検索するために解析していると判断すること含む、
    方法。
  12. 前記プロセスはシェルコードを含む、請求項11に記載の方法。
  13. 前記プロセスがブラックリストに見つかることを判断する段階をさらに備える、請求項11または12に記載の方法。
  14. 前記プロセスがブラックリストに見つかるという判断に基づいて、前記プロセスが動作できないようにする段階をさらに備える、請求項13に記載の方法。
  15. 前記プロセスが1または複数のシステム関数を検索するために解析していないという判断に基づいて、前記プロセスが動作することを許可する段階をさらに備える、請求項11から14のいずれか一項に記載の方法。
  16. マルウェアを検出するためのシステムであって、
    前記システムは、
    ネットワーク要素と、
    ハイパーバイザと、
    メモリ要素と、
    プロセッサであって、
    前記ハイパーバイザを用いて、実行中のプロセスを監視し、
    前記プロセスが1または複数のシステム関数を検索するために解析しているかどうかを判断し、
    前記プロセスが1または複数のシステム関数を検索するために解析しているという判断に基づいて、マルウェアについて前記プロセスを分析するべく前記プロセスをネットワーク要素に送信する
    命令を実行することができるプロセッサと
    を有する電子デバイスと、
    前記ネットワーク要素と前記電子デバイスとを接続するネットワークと
    を備え、
    前記判断することは、前記プロセスがダイナミックリンクライブラリテーブルを見つけて解釈するべく、portable executableヘッダを解析する場合に、前記プロセスが1または複数のシステム関数を検索するために解析していると判断することを含む、
    システム。
  17. 前記プロセスはシェルコードを含む、請求項16に記載のシステム。
  18. 前記プロセッサは、前記プロセスがブラックリストに見つかることを判断するさらなる命令を実行することができる、請求項16または17に記載のシステム。
  19. 前記プロセッサは、前記プロセスがブラックリストに見つかるという判断に基づいて、前記プロセスが動作できないようにするさらなる命令を実行することができる、請求項18に記載のシステム。
  20. 前記プロセッサは、前記プロセスが1または複数のシステム関数を検索するために解析していないという判断に基づいて、前記プロセスが動作することを許可するさらなる命令を実行することができる、請求項16から19のいずれか一項に記載のシステム。
JP2017566815A 2015-06-27 2016-05-25 マルウェアの検出 Active JP6526842B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/752,901 2015-06-27
US14/752,901 US20160381051A1 (en) 2015-06-27 2015-06-27 Detection of malware
PCT/US2016/033977 WO2017003587A1 (en) 2015-06-27 2016-05-25 Detection of malware

Publications (3)

Publication Number Publication Date
JP2018519604A JP2018519604A (ja) 2018-07-19
JP2018519604A5 JP2018519604A5 (ja) 2019-02-14
JP6526842B2 true JP6526842B2 (ja) 2019-06-05

Family

ID=57602997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017566815A Active JP6526842B2 (ja) 2015-06-27 2016-05-25 マルウェアの検出

Country Status (5)

Country Link
US (1) US20160381051A1 (ja)
EP (1) EP3314510A1 (ja)
JP (1) JP6526842B2 (ja)
CN (1) CN107851157A (ja)
WO (1) WO2017003587A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10135847B2 (en) * 2016-05-18 2018-11-20 Salesforce.Com, Inc. Reverse shell network intrusion detection
US10372909B2 (en) * 2016-08-19 2019-08-06 Hewlett Packard Enterprise Development Lp Determining whether process is infected with malware
US10783246B2 (en) 2017-01-31 2020-09-22 Hewlett Packard Enterprise Development Lp Comparing structural information of a snapshot of system memory
US10423151B2 (en) * 2017-07-07 2019-09-24 Battelle Energy Alliance, Llc Controller architecture and systems and methods for implementing the same in a networked control system
US10116671B1 (en) * 2017-09-28 2018-10-30 International Business Machines Corporation Distributed denial-of-service attack detection based on shared network flow information
CN110378081A (zh) * 2019-06-06 2019-10-25 厦门网宿有限公司 一种加壳动态链接库加载方法及装置
US11082256B2 (en) 2019-09-24 2021-08-03 Pribit Technology, Inc. System for controlling network access of terminal based on tunnel and method thereof
US11652801B2 (en) 2019-09-24 2023-05-16 Pribit Technology, Inc. Network access control system and method therefor
US11381557B2 (en) * 2019-09-24 2022-07-05 Pribit Technology, Inc. Secure data transmission using a controlled node flow
US11271777B2 (en) 2019-09-24 2022-03-08 Pribit Technology, Inc. System for controlling network access of terminal based on tunnel and method thereof
US11190494B2 (en) 2019-09-24 2021-11-30 Pribit Technology, Inc. Application whitelist using a controlled node flow
US11489849B2 (en) 2020-01-14 2022-11-01 Saudi Arabian Oil Company Method and system for detecting and remediating malicious code in a computer network
US11546315B2 (en) * 2020-05-28 2023-01-03 Hewlett Packard Enterprise Development Lp Authentication key-based DLL service

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1818822A (zh) * 2005-02-07 2006-08-16 福建东方微点信息安全有限责任公司 缓冲区溢出攻击的检测方法
CN100401224C (zh) * 2005-06-23 2008-07-09 福建东方微点信息安全有限责任公司 计算机反病毒防护系统和方法
CN101127638B (zh) * 2007-06-07 2011-06-15 飞塔公司 一种具有主动性的病毒自动防控系统和方法
CN101441687B (zh) * 2007-11-21 2010-07-14 珠海金山软件股份有限公司 一种提取病毒文件的病毒特征的方法及其装置
US8307432B1 (en) * 2008-10-07 2012-11-06 Trend Micro Incorporated Generic shellcode detection
US8407787B1 (en) * 2009-01-22 2013-03-26 Trend Micro Incorporated Computer apparatus and method for non-intrusive inspection of program behavior
CN101788915A (zh) * 2010-02-05 2010-07-28 北京工业大学 基于可信进程树的白名单更新方法
KR101122650B1 (ko) * 2010-04-28 2012-03-09 한국전자통신연구원 정상 프로세스에 위장 삽입된 악성코드 탐지 장치, 시스템 및 방법
US9413721B2 (en) * 2011-02-15 2016-08-09 Webroot Inc. Methods and apparatus for dealing with malware
CN103620613B (zh) * 2011-03-28 2018-06-12 迈克菲股份有限公司 用于基于虚拟机监视器的反恶意软件安全的系统和方法
US8904537B2 (en) * 2011-05-09 2014-12-02 F—Secure Corporation Malware detection
CN102622543B (zh) * 2012-02-06 2016-08-03 北京百度网讯科技有限公司 一种动态检测恶意网页脚本的方法和装置
US20140150101A1 (en) * 2012-09-12 2014-05-29 Xecure Lab Co., Ltd. Method for recognizing malicious file
US8931074B2 (en) * 2012-10-10 2015-01-06 Dell Products L.P. Adaptive system behavior change on malware trigger
CN103294951B (zh) * 2012-11-29 2016-09-07 北京安天电子设备有限公司 一种基于文档型漏洞的恶意代码样本提取方法及系统
CN103679031B (zh) * 2013-12-12 2017-10-31 北京奇虎科技有限公司 一种文件病毒免疫的方法和装置
US9491190B2 (en) * 2013-12-26 2016-11-08 Guardicore Ltd. Dynamic selection of network traffic for file extraction shellcode detection
CN103955645B (zh) * 2014-04-28 2017-03-08 百度在线网络技术(北京)有限公司 恶意进程行为的检测方法、装置及系统

Also Published As

Publication number Publication date
US20160381051A1 (en) 2016-12-29
CN107851157A8 (zh) 2018-08-28
EP3314510A1 (en) 2018-05-02
WO2017003587A1 (en) 2017-01-05
JP2018519604A (ja) 2018-07-19
CN107851157A (zh) 2018-03-27

Similar Documents

Publication Publication Date Title
JP6526842B2 (ja) マルウェアの検出
US10176344B2 (en) Data verification using enclave attestation
US11641355B2 (en) Security service for an unmanaged device
US20210029150A1 (en) Determining a reputation for a process
EP3238128B1 (en) Detection of a malicious peripheral
US11379583B2 (en) Malware detection using a digital certificate
US20200065493A1 (en) Identification of malicious execution of a process
US20170091453A1 (en) Enforcement of file characteristics
JP6583865B2 (ja) プロファイリングイベントに基づいたエクスプロイト検出
KR101884548B1 (ko) 멀웨어의 추적 및 검출을 위한 시스템 및 방법
US9665716B2 (en) Discovery of malicious strings
US20160180092A1 (en) Portable secure storage
EP3314511B1 (en) Anomaly detection to identify malware
US11386205B2 (en) Detection of malicious polyglot files
US11182480B2 (en) Identification of malware
US20180007068A1 (en) System and method to detect bypass of a sandbox application

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190508

R150 Certificate of patent or registration of utility model

Ref document number: 6526842

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250