JP2013514594A - 挙動サンドボックスのためのシステム及び方法 - Google Patents

挙動サンドボックスのためのシステム及び方法 Download PDF

Info

Publication number
JP2013514594A
JP2013514594A JP2012544720A JP2012544720A JP2013514594A JP 2013514594 A JP2013514594 A JP 2013514594A JP 2012544720 A JP2012544720 A JP 2012544720A JP 2012544720 A JP2012544720 A JP 2012544720A JP 2013514594 A JP2013514594 A JP 2013514594A
Authority
JP
Japan
Prior art keywords
executable application
execution
behavior analysis
execution environment
sandbox
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012544720A
Other languages
English (en)
Other versions
JP5592956B2 (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 JP2013514594A publication Critical patent/JP2013514594A/ja
Application granted granted Critical
Publication of JP5592956B2 publication Critical patent/JP5592956B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • 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
    • 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/2149Restricted operating environment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

挙動サンドボックス用の方法及びシステムである。一実施形態において、挙動サンドボックス用システムはネットワーク及びコンピュータからなる。ネットワークは実行可能アプリケーションのソースと通信可能に接続される。コンピュータはネットワークと通信可能に接続され、挙動分析モジュールと複数の実行環境を備える。挙動分析モジュールはネットワークからダウンロードされた実行可能アプリケーションに挙動分析を実行するよう構成される。複数の実行環境は標準実行環境と保護された実行環境からなる。挙動分析モジュールは、実行可能アプリケーションの実行に先立ち、実行可能アプリケーションを保護された実行環境内で実行可否を決定するために、実行可能アプリケーションの複数の挙動特徴を評価する。挙動分析モジュールは、実行環境の変更可否を決定するため、実行可能アプリケーションの実行をモニタする。
【選択図】図3

Description

この発明の種々の実施形態は、大略、コンピュータセキュリティの分野に関し、限定はされないが、特に、実行可能アプリケーションの挙動サンドボックス(behavioral sandboxing)のためのシステム及び方法に関する。
関連する出願
この特許出願は、「挙動サンドボックスのためのシステム及び方法」と題され、2009年11月15日に出願された米国特許出願番号第12/638660号に基づく優先的利益を主張し、当該出願に記載された全ての記載内容を援用するものである。
著作権表示
この特許出願書類の開示の一部は、著作権保護の対象となる素材を含んでいる。著作権者は、特許商標庁の特許ファイル又は記録に現れるならば、特許出願書類又は特許開示の何人による複製にも異論がないが、どんな著作権の権利でも全て所有する。以下の注意書きは、以下に説明され、且つ、この文献の一部をなす図面にも示されるソフトウェア及びデータに適用される:Copyrights 2009,McAfee,Inc.All rights Reserved(不許複製・禁無断転載)
インターネットへのアクセス増加は、告知に基づく同意無しにユーザの個人情報を略取するソフトウェアプログラム(“スパイウェア”)、又は、ユーザの認識及び告知に基づく同意無しにコンピュータを破損するソフトウェアプログラム(“マルウェア”)の到達を増加させるという、予期せぬ効果があった。また、自動的にダウンロードされ、アプリケーションが使用されている間に広告を表示するソフトウェア(“アドウェア”)において、小規模産業が生じている。
かかるプログラムは、ユーザのコンピュータにインストールされたとき、当該ユーザを傍受でき、機密的情報を集め、いくつかの場合では、ユーザのコンピュータの制御をしてしまう。いくつかの場合、これらソフトウェアプログラムは他のコンピュータ又はサービスに、潜在的機密情報を伝送するためのコンジット(conduit)を提供するメッセージを送信する。
ソフトウェアアプリケーションは、ウェブブラウザなどアプリケーションに対するプラグインコンポーネント、又は、その他のアドオンタイプの拡張を使用することにより、ますますセグメント化されている。インターネットは、これらアドオンコンポーネントにとって、素晴らしい配給メカニズムを提供する。しかし、これらアドオンコンポーネントの信頼されていないソース(source:情報源)から信頼されたものを選ぶのは、不可能でないにしても、困難である。加えて、平均的ユーザは、それを行っているとは知らないうちに、アドオンコンポーネントを要求し、ダウンロードし、そして、インストールしている。
本発明者らは、わけても、ダウンロードされたアプリケーション及びコンポーネントを分析し、動作中に前記アプリケーション及び前記コンポーネントをモニタし、且つ、ホストシステムを害するどのような疑わしい動作も予防するシステム及び方法の必要性を認識した。
実施例1は、システムで構成される発明を記載する。前記システムは、実行可能アプリケーションのソース(source:情報源)と通信可能に接続されたネットワークを具備する。コンピュータが組み込まれ、前記ネットワークを通じて通信するように構成される。挙動分析モジュールは、前記ネットワークを通じてダウンロードされた実行可能アプリケーションに対して挙動分析を実行するように構成される。複数の実行環境は、標準実行環境と保護された実行環境とを含み得る。前記保護された実行環境は、前記実行可能アプリケーションによって実行される悪意ある動作から前記コンピュータを保護する自己完結型の実行環境を提供するように構成される。前記挙動分析モジュールは、前記実行可能アプリケーションの実行に先立って、当該実行可能アプリケーションが前記保護された実行環境内で実行されるべきかどうかを決定するために、該実行可能アプリケーションの複数の挙動特徴を評価できる。また、前記挙動分析モジュールは、前記実行環境を変更できるかどうか決定するために、前記実行可能アプリケーションの実行をモニタできる。
実施例2において、前記実施例1の発明は、前記実行可能アプリケーションに関連付けられた特徴を評価するように構成された前記挙動分析モジュールを具備してもよい。前記特徴は、前記実行可能アプリケーションの前記ソースが信頼できるかどうかについての指標を供給できる。
実施例3において、前記実施例1又は実施例2のいずれかの発明は、前記実行可能アプリケーションに関連付けられた複数の特徴を評価するように構成された前記挙動分析モジュールを具備してもよい。前記複数の特徴は、以下の2以上を含む:前記実行可能アプリケーションを受信したネットワークアドレス、前記実行可能アプリケーションに要求されたプロセスの信頼レベル、信頼されたソースからの署名された証明書、及び、疑わしい又はポリシー外の活動の事前実行。
実施例4において、前記実施例1乃至実施例3のいずれかの発明は、前記実行可能アプリケーションの実行に先立って、前記実行可能アプリケーションが作用するリソースを分析するように構成された前記挙動分析モジュールを具備してもよい。
実施例5において、前記実施例1乃至実施例4のいずれかの発明は、前記保護された実行環境が前記実行可能アプリケーションの実行の制御に使用するだろう制限の範囲を決定するように構成された前記挙動分析モジュールを具備してもよい。
実施例6において、前記実施例1乃至実施例5のいずれかの発明は、前記保護された実行環境内において、どの種類の活動が抑制されるべきかを決定するように構成された前記挙動分析モジュールを具備してもよい。
実施例7において、前記実施例1乃至実施例6のいずれかの発明は、サンドボックス(sandbox)環境(前記保護された実行環境)による使用のために前記制限の範囲を決定するときに、セキュリティポリシーを適用するように構成された前記挙動分析モジュールを具備してもよい。
実施例8において、前記実施例1乃至実施例7のいずれかの発明は、前記保護された実行環境内において前記実行可能アプリケーションにより行われる動作に対する処置を決定するように構成された前記挙動分析モジュールを具備してもよい。
実施例9において、前記実施例1乃至実施例8のいずれかの発明は、リソースファイルを開くこと、プラグインをロードすること、別のプロセスによる操作、別のプロセスを操作すること、及び、インターネットにアクセスすることを含む、潜在的に悪意のある活動を検出するように構成された前記挙動分析モジュールを具備してもよい。
実施例10において、前記実施例1乃至実施例9のいずれかの発明は、前記実行可能アプリケーションが前記保護された実行環境内で実行されるべきかどうかを決定するために該実行可能アプリケーションの複数の挙動特徴を評価するときに、セキュリティポリシーを適用するように構成された前記挙動分析モジュールを具備してもよい。
実施例11において、前記実施例1乃至実施例10のいずれかの発明は、前記保護された実行環境内で実行されるべき前記実行可能アプリケーションの部分を決定するように構成された前記挙動分析モジュールを具備してもよい。
実施例12において、前記実施例1乃至実施例11のいずれかの発明は、前記実行可能アプリケーションの部分を決定するように構成され、前記部分が、特に、ファイバー、スレッド、プロセス、ダイナミックリンクライブラリ、スクリプト、又は、プラグインコンポーネントを含むものである、前記挙動分析モジュールを具備してもよい。
実施例13において、前記実施例1乃至実施例12のいずれかの発明は、前記実行可能アプリケーションが前記ネットワークの接続を通じて受信されるように、構成又は実行されてもよい。前記挙動分析は、前記実行可能アプリケーションの実行に先立って、該実行可能アプリケーションに対して実行される。挙動分析の機能として、前記実行環境が決定される。前記挙動分析によってそのように指示された場合には、前記実行可能アプリケーションは前記サンドボックス(保護された)実行環境内で開始される。或いは、前記保護された環境外で実行しても当該実行可能アプリケーションが安全であると前記挙動分析が示す場合には、前記実行可能アプリケーションは第1実行環境内で開始(実行)される。前記実行可能アプリケーションの前記挙動特徴は、該実行可能アプリケーションの実行中に収集され、リアルタイムで、実行中に前記実行位置(環境)を変えるかどうかを決定するために、挙動分析が実行される。
実施例14において、前記実施例1乃至実施例13のいずれかの発明は、前記挙動分析が、前記実行可能アプリケーションの実行に先立って実行され、且つ、該実行可能アプリケーションに関連付けられ、当該実行可能アプリケーションの起源について指標を提供する1以上の特徴を評価することを含み得るように、構成又は実行されてもよい。
実施例15において、前記実施例1乃至実施例14のいずれかの発明は、前記挙動分析が、前記実行可能アプリケーションの実行に先立って実行され、且つ、前記実行可能アプリケーションの実行に先立って、前記実行可能アプリケーションが作用するリソースを分析するように、構成又は実行されてもよい。
実施例16において、前記実施例1乃至実施例15のいずれかの発明は、前記挙動分析が、次に述べる1以上の特徴を評価するように、構成又は実行されてもよい。前記特徴は、以下を含む:前記実行可能アプリケーションを受信したネットワークアドレス、前記実行可能アプリケーションに要求されたプロセスの信頼レベル、信頼されたソースからの署名入り証明書(前記実行可能アプリケーションに関連付けられたもの)、及び、疑わしい又はポリシー外の活動の事前実行。
実施例17において、前記実施例1乃至実施例16のいずれかの発明は、サンドボックス(保護された)実行環境内で前記実行可能アプリケーションの実行開始が、前記実行可能アプリケーションの実行に先立ち、前記サンドボックス(保護された)実行環境に適用する制限の範囲を決定することを含むように、構成又は実行されてもよい。
実施例18において、前記実施例1乃至実施例17のいずれかの発明は、或る実行環境のための制限の範囲を決定することが、サンドボックス(保護された)実行環境内において、どの種類の活動が抑制されるべきかを決定することを含むように、構成又は実行されてもよい。
実施例19において、前記実施例1乃至実施例18のいずれかの発明は、或る実行環境のための制限の範囲決定することが、サンドボックス(保護された)実行環境内において前記実行可能アプリケーションにより行われる動作に対する処置を決定することを含むように、構成又は実行されてもよい。
実施例20において、前記実施例1乃至実施例19のいずれかの発明は、挙動特徴を収集することが、リソースファイルを開くこと、プラグインをロードすること、別のプロセスによる操作、別のプロセスを操作すること、及び、インターネットにアクセスすることを含む潜在的に悪意のある活動を検出することを含むように、構成又は実行されてもよい。
実施例21において、前記実施例1乃至実施例20のいずれかの発明は、実行可能アプリケーションを動作させる実行環境を決定することがセキュリティポリシーを適用することを含むように、構成又は実行されてもよい。
実施例22において、前記実施例1乃至実施例21のいずれかの発明は、実行可能アプリケーションを動作させる実行環境を決定することが、前記サンドボックス実行環境内で実行されるべき前記実行可能アプリケーションの部分を決定することを含むように、構成又は実行されてもよい。
実行可能アプリケーションを動作させる実行環境を決定することが、前記サンドボックス実行環境内で実行されるべき前記実行可能アプリケーションの部分を決定することを含み、前記部分が、特に、ファイバー、プロセス、ダイナミックリンクライブラリ、スクリプト又はプラグインコンポーネントを含むように、構成又は実行されてもよい。
実施例24は、前記実施例1乃至実施例23のいずれかを含むか、又は、前記実施例1乃至実施例23のいずれかの任意の組み合わせであり、機械可読(コンピュータ読み取り可能)媒体を具備する。機械可読媒体は、コンピュータにより実行されたときに、該コンピュータに以下の動作を実行させる命令群を含む。前記動作は、ネットワーク接続を通じて実行可能アプリケーションを受信する手順;前記実行可能アプリケーションの実行に先立って、該実行可能アプリケーションに対する挙動分析を行う手順;前記挙動分析の実行に基づいて、サンドボックス環境内で、前記実行可能アプリケーションの実行を開始するかどうかを決定する手順;前記サンドボックス環境内で、前記実行可能アプリケーションの実行を開始する手順;前記サンドボックス環境内で前記実行可能アプリケーションが実行されているとき、前記実行可能アプリケーションの挙動特徴を動的にモニタする手順;前記サンドボックス環境から前記実行可能アプリケーションを移動できるかどうかを決定するために、前記モニタされた挙動特徴に対する挙動分析を行う手順;及び、前記モニタされた挙動特徴の前記挙動分析に基づいて、前記実行可能アプリケーションを前記サンドボックス環境から移動する手順を含む。
これらの実施例は、どのような順列又は組み合わせで、組み合わされても良い。この概要は、この特許出願の発明の概要を提供することを目的としており、独占的又は網羅的な発明の説明を提供することは意図していない。本特許出願に関する更なる情報を提供するために、詳細な説明が具備されている。
セキュリティを向上させるために実行可能アプリケーションの挙動サンドボックスを適用できるシステム100の一例を描くブロック図。 挙動分析に基づいて実行可能アプリケーションをサンドボックスするように構成されたシステムの一例を描くブロック図。 実行可能アプリケーションの挙動分析を提供するためのシステムの一例を描くブロック図。 実行可能アプリケーションの挙動サンドボックスのための方法の一例を描くスイムレーンを持つフローチャート。 挙動分析を用いて実行可能アプリケーションのための実行環境を形成するための方法の一例を描くスイムレーンを持つフローチャート。 一実施例に従う、前記実行可能アプリケーションの挙動分析におけるオプションの動作を描くフローチャート。 一実施例に従う、実行可能アプリケーションのための実行環境決定におけるオプションの動作を描くフローチャート。 挙動分析を用いて実行可能アプリケーションを分析する方法の一例を描くフローチャート。 開示されたいずれか1以上の方法を機械に実行させるための命令が実行されるコンピュータシステムの構成例における機械のブロック図。
上記の添付の図面の各図においては、いくつかの実施形態が限定的にでなく例示的に示されている。
本明細書においては、この発明に係る挙動サンドボックスのための方法及びシステムを提供するための種々の実施形態(実施例)が開示される。挙動サンドボックスは、種々のソース(source:情報源)からのアプリケーション及びコンポーネントを実行するユーザの柔軟性を許容しつつ、既知及び未知両方の悪意あるソフトウェアアプリケーション及びコンポーネントから、エンドユーザのシステムを保護するための動的メカニズムを提供できる。
ソフトウェアの配布がより簡単になり、又は、アプリケーションがより一層細分化されるにつれて、ターゲットとなるプラットフォーム上でのソフトウェアの実行に先立って、正当なソフトウェアとマルウェア(不完全な、悪いソフトウェア)とを区別することが、ますます難しくなっている。プラグインコンポーネント、ランタイム解釈コード(run-time interpreted code)、及び、その他の種々のダウンロードされたソフトウェアの広範な利用により、正当なソフトウェアが、より簡単にセキュリティ破壊され、また、悪意ある目的で利用されてしまう。潜在的に悪意あるソフトウェアを阻止するための1つの技術は、未知の、又は、危険に晒されているソフトウェアを、“サンドボックス(sandbox)”として知られる封じ込めエリア内で作動することである。前記サンドボックス内で作動するソフトウェア(実行可能アプリケーション)により行われる動作は、前記サンドボックスのみに作用することに限定されており、より広いシステム又は現在システム上で作動中の他のアプリケーションには作用しない。
従来のサンドボックスによる解決法は、適用と実施において柔軟性がなく、大抵は、或るアプリケーションの能力を適切に機能させることを厳しく制限するものである。サンドボックスによる従来のアプローチは、また、実行可能アプリケーションのうちのどの部分が、サンドボックスされる必要があるのか、及び、どの拡張に対して、サンドボックス環境が、他のシステムリソース及び他のアプケーション(又は、主たる実行可能アプリケーションの部分)から遮蔽されるべきかを、動的に決定する能力に欠ける。以下の詳細な説明は、とりわけ、これらの問題に対する解決を記載する。
挙動サンドボックスは、サンドボックス実行環境内でプロセスが行われるべき時を決定するために、挙動分析を使用できる。挙動サンドボックスは、また、アプリケーション又はアプリケーションの部分(例えば、プラグインコンポーネント)をサンドボックス実行環境から移動して、標準実行環境で実行を続けることができるかどうか決定するために、サンドボックス実行環境内で実行されているアプリケーションをモニタできる。
一例において、サンドボックス環境は、単にサンドボックスされたアプリケーションが実行中に行おうとする全ての動作を阻止するのではなく、ホストシステムを個別の動作から選択的に遮蔽するように構成できる。例えば、前記サンドボックス実行環境は、オペレーティングシステムの設定ファイルを更新しようとする企て(例えばWindows(登録商標)レジストリデータベースへの書き込み)だけを遮蔽するように構成できる。前記サンドボックス環境は、また、一定の入力がサンドボックスされたアプリケーションに入力され、一定の出力がサンドボックスされたアプリケーションから他のローカル又はリモートのアプリケーションに通信されるように構成される。例えば、前記サンドボックス環境は、サンドボックスされたアプリケーションがデータベースからデータを読み出して、且つ、データベースのデータを更新できるように構成される一方、当該サンドボックス環境は、同じアプリケーションがデータベースに全く新しい記録を追加することは防ぐように構成される。
一実施形態において、挙動分析は、通常使用中(例えばインターネットのウェブページを閲覧中)のウェブブラウザに適用されるサンドボックスの範囲を決定するために使用される。ユーザがブラウザアプリケーションを起動するとき、その起動はシステムモニタコンポーネントによって検出される。挙動分析プログラムが、サンドボックス環境内でブラウザが実行されるべきか、及び、サンドボックス環境で実行される場合に、どのレベルの制限をブラウザにかけるかを、決定する間、システムは、そのブラウザアプリケーションの実行を保留できる。いくつかの実施形態では、セキュリティポリシーは、サンドボックス内でアプリケーションを実行するかどうかを決定すること、及び、使用される制限の範囲を決定することを補助するためにも使用される。この例において、セキュリティポリシーが照合され、ブラウザの動作履歴に対して挙動分析が実行される。挙動分析は、どのプラグインがブラウザ起動に対して自動ロードされるように構成されているか、及び、そのプラグインが信頼できるかを検査することを含む。この例において、セキュリティポリシー及び挙動分析の両方が、起動に際してブラウザが標準実行環境内で実行され得ることを決定する。
当該実施例を続けると、システムはブラウザアプリケーションの起動を続行する。ブラウザが起動している間、システムモニタコンポーネントは、ブラウザアプリケーションからの全ての入力及び出力を傍受(インターセプト)できる。ブラウザの入力及び出力は、ブラウザの実行環境(又はブラウザのいずれかのコンポーネント)が変更される(例えばホストシステムの他のプロセス又はリソースを保護するためにサンドボックス実行環境に移動させる)べきかどうかを、動的に評価するために、挙動分析モジュールに与えられる。
この例において、ユーザは、ブラウザにプラグインコンポーネントをダウンロードするよう通告するウェブサイトに進む。システムモニタは、プラグインダウンロードを傍受(インターセプト)して、挙動分析モジュールのためにプラグインコンポーネントの情報を収集する。挙動分析モジュールは、プラグインコンポーネント実行のために、このプラグインコンポーネントをサンドボックス環境内に移動するべきかどうかを決定するために、前記収集されたプラグインコンポーネントに関する情報を評価する。一実施形態において、挙動分析モジュールは、プラグインが潜在的に悪意のあるものかどうかを決定するために、プラグインコンポーネントの署名を、中央の信頼されたソースのデータベースに照合する。例えば、挙動分析モジュールは、プラグインコンポーネントに関連付けられたユニフォームリソースロケータ(Uniform Resource Locator、URL)を、例えば、TrustedSource(登録商標)インターネット評判システム(Internet reputation system)(McAfee(登録商標)、Santa Clara California)などのオンライン評判システムに照合できる。
この例において、挙動分析モジュールは、ブラウザによってダウンロードされたプラグインが、本質的に信頼できないソースから来たものである、と決定する。そうすると、プラグインは、更なる分析のために、サンドボックス実行環境にリダイレクトされる。プラグインがダウンロードされると、挙動分析モジュールは、サンドボックス環境内で適用する制限の範囲を決定するために、追加的分析を実行できる。例えば、挙動分析モジュールは、プラグインが有効な且つ署名されたセキュリティ証明書を持っているかどうか、を調査する。この例において、プラグインはセキュリティ証明書を持っておらず正式に署名もされていない。そうすると、このプラグインは完全にサンドボックス環境内で実行されるので、システムは、分析のために、その全ての動作をモニタする。その動作の間、プラグインがディスク入力および出力を試みた場合、それはシステムモニタにより傍受され、そして保留される。プラグインの実行中に、別のプロセスがディスクに対する入力又は出力(I/O)を試みると、追加的I/Oのソースが決定され、そのI/Oが許可される(それはサンドボックス実行環境の外側のアプリケーションからのものだからである)。
プラグインの実行が完了するとき、システムモニタは、実行の終了を記録して、ブラウザアプリケーションに関連付けられたモニタレベルを下げる。実行中にプラグインコンポーネントにより行われる動作は、システムから消去されるか、或いは、他のプロセス若しくはリソースを更新することを選択的に許可される。例えば、プラグインコンポーネントがURLをブックマークすることを試みた場合、システムはブラウザのブックマークを、プラグインコンポーネントによって生成された情報で更新することを許可するだろう。システムモニタは、また、プラグインによって実行された動作を、将来的利用のために、記録できる。例えば、プラグインコンポーネントが潜在的に悪意のある動作を何ら企てなかった場合には、このことが、ローカルスレッドデータベースに記録されるか、或いは、将来的利用のために中央オンライン評価システムに伝送される。
いくつかの実施例では、ゲートウェイシステムが、入ってくる実行可能アプリケーションを傍受及び評価するために使用される。ゲートウェイシステムの例では、ゲートウェイシステムは、複数のシステムで再使用されるプラグインコンポーネント又はその他のアプレットに関する知識ベースを構築する補助のために、各クライアント(エンドユーザシステム)により収集された挙動分析情報を使用できる。
定義
以下の定義は例示として与えられており、制限として解釈されることを意図していない。当業者は、この明細書の文脈を読んだときに、以下に定義されるいくつかの用語が追加的意味を含むものと理解するだろう。
実行可能アプリケーション以下の明細書において、実行可能アプリケーションは、任意の、コンパイルされたバイナリアプリケーション(例えば、.executableアプリケーション又はMicrosoft windows(登録商標)環境におけるダイナミックリンクライブラリ)、ブラウザプラグインアプリケーション、ブラウザ又はアプリケーションスクリプト(例えば、Javascript(登録商標)、又は、Visual Basic(登録商標)スクリプト)、オペレーティングシステムスクリプト(例えば、Microsoft windows(登録商標)環境におけるバッチファイル(.bat file)、又は、Unix(登録商標)環境におけるC shell(シーシェル、csh)スクリプト)、及び、ランタイム解釈コード(run-time interpreted code)、又はアプレット(例えば、Java(登録商標)アプレット、又は、Visual Basic(登録商標)コントロール、.Netコード)を含んでよい。実行可能アプリケーションは、例えばプロセス、スレッド及びファイバーなど、複数の個々の処理ユニットを包含できる。加えて、いくつかの大きい実行可能アプリケーションは、基本的な機能性を拡張又は向上させるために、ダイナミックリンクライブラリ(DLL)、スクリプト、又は、プラグインコンポーネントを使用してよい。以下の明細書において、実行可能アプリケーションは、プロセス、アプリケーション、実行可能、或いは、単にソフトウェア、などと、様々に称呼されるだろう。
サンドボックス実行環境(サンドボックス環境)‐以下の明細書において、サンドボックス実行環境とは、標準実行環境において可能であろう何らかのリソース又は装置への直接アクセスから、実行可能アプリケーションを遮蔽する、ホストコンピューティング装置のセグメント化された部分である。サンドボックス実行環境は、実行可能アプリケーションによって企てられた動作の、種々のレベルの制限を提供するように構成される。この明細書を通じて、サンドボックス実行環境は、サンドボックス環境又はサンドボックスされた環境とも称呼されるが、いずれの使用法の変化も、用語の趣旨の変化を意図していない。
システムの実施例
図1は、セキュリティを向上させるために実行可能アプリケーションの挙動サンドボックスを適用できるシステム100の一例を描くブロック図である。システム100は、ネットワーク105、クライアントシステム110A、110B・・・110N(集合的にクライアント110とも表記する)。ゲートウェイ装置120、広域ネットワーク(ワイドエリアネットワーク)接続125及び広域ネットワーク130からなる。いくつかの実施形態では、システム100は更にローカルサーバ140、データベース150、リモートシステム160及びリモートデータベース170を備える。一例において、ネットワーク105は、クライアントシステム110を互いに通信可能に接続し、且つ、広域ネットワーク130に通信可能に接続されるローカルエリアネットワーク(有線又は無線)である。
一実施形態において、データベース150は、将来的利用のために、クライアントシステム110又はゲートウェイ装置120において実行された挙動分析の結果を記憶するために使用される。この例において、データベース150に記憶された情報は、ネットワーク105に接続されたシステムにより以前に使用された実行可能アプリケーションについての挙動分析を行うときに、システム(クライアントシステム110又はゲートウェイ装置120)により再利用される。いくつかの実施形態では、データベース150は、任意の既知の実行可能アプリケーションについての挙動情報を交換するために、リモートデータベース170と通信できる。リモートデータベース170は、例えば、TrustedSource(登録商標)、又は、その他の挙動特徴リソースなど、インターネット評価サービスの1つを表す。
いくつかの実施形態では、ローカルサーバ140は、クライアントシステム110により実行される実行可能アプリケーションのソースになり得る。別の例では、リモートサーバが、クライアントシステム110により実行される実行可能アプリケーションのソースになり得る。更に別の例では、実行可能アプリケーションは、インターネット又はプライベート広域ネットワークを通じて利用可能な任意のシステム又はデータベースからダウンロードされる。
図2は、挙動分析に基づいて実行可能アプリケーションをサンドボックスするように構成されたシステム200の一例を描くブロック図である。システム200は、標準実行環境210、サンドボックス実行環境220、挙動分析モジュール230、システムモニタリングエンジン240、及び、リソース制御インフラストラクチャー250からなる。一例において、標準実行環境は、信頼された実行可能アプリケーション(例えば、悪意ある活動の何れのスレッドにも示されていないか、又は、既知の且つ信頼されたソースから来たアプリケーション)の実行に使用される。標準実行環境210は、アプリケーションの実行をセグメント化する複数の仮想機構、又は、それと同様な方法であり得る。標準実行環境210において、リソース又はメモリ空間のセグメント化は、主としてパフォーマンスの理由から行われるものであり、ホストシステム(例えば、クライアントシステム110、ローカルサーバ140、又は、ゲートウェイ装置120)のセキュリティを向上させるために必要なのではない。
サンドボックス実行環境220は、リソース及びメモリ空間に関して、システム200の残りの部分から完全に切り離されるように構成される。サンドボックス実行環境220は、例えば制限されたディスク及びメモリ空間など、動作するためのリソースのセットが堅固に制御された実行可能アプリケーションを提供できる。サンドボックス実行環境220は、構成によっては、ローカル及びリモートネットワークアクセスの両方を制御できる。例えば、サンドボックス実行環境220は、ローカルデータベースからの読み出し及びローカルデータベースへの書き込みのための、一定のローカルネットワークへのアクセスを許可するが、潜在的に悪意のある挙動を制限するために一切のインターネットアクセスを許可しない。一例において、サンドボックス実行環境220は、エミュレーションにより実装できる。エミュレーションを用いると、サンドボックスされたプロセスは、通常の実行プラットフォームに反してネイティブに動作するよりむしろ、解釈された領域内で動作する。別の例では、サンドボックス実行環境220は、システム仮想化の使用により実装できる。仮想化は、リソース操作の傍受及びプロセス間の通信のリダイレクトを許可する。あるいは、仮想化は、非サンドボックス環境をミラー化するために、プロセスが実行される動作環境全体を複製することに使用できる。
挙動分析モジュール230は、実行可能アプリケーションの特徴を分析するように構成され、また、悪意ある挙動の見込みを予報するために、実行可能アプリケーションにより実行された過去又は現在の実際の動作を分析するように構成される。挙動分析モジュール230は、例えば、ソース、インストールプロセス、最後の変更、署名及び暗号による証明書の有効性など、実行可能アプリケーションについての情報を分析できる。挙動分析モジュール230は、また、例えば、リソースを開くこと、プラグインコンポーネントをロードすること、インターネットにアクセスすること、及び、設定ファイル又はデータベースの読み出し/書き込みの企てなど、実行可能アプリケーションにより行われ且つ記録された過去の動作、並びに、現在モニタ中の動作を分析できる。挙動分析システムの例についての更なる詳細は、図3に関する後述の説明を参照されたい。
システムモニタリングエンジン240は、標準実行環境210内、及び、サンドボックス実行環境220内で行われた動作をモニタするために使用される。システムモニタリングエンジン240は、実行可能アプリケーションが潜在的に悪意ある挙動を企てている(又は企てる可能性がある)かどうかの判断用として、挙動分析モジュール230に対して、有意義な情報を供給できる。システムモニタリングエンジン240は、ディスクI/O、ネットワーク装置I/O、メモリアクセス、及び、プロセッサの使用さえも含む、任意のシステムリソースへのアクセスの企てを傍受するように構成される。いくつかの実施形態では、システムモニタリングエンジン240は、サンドボックス環境に必要な又はサンドボックス環境から依頼された全てのリソースをルーティングすることにより、サンドボックス環境を作成することを援助する。システムモニタリングエンジン240は、動作の継続を許可する前に、リソースに対するアクセス要求を傍受し、且つ、ソース又は宛先パラメータを変更する。リソースの例は、一例を挙げると、ファイル、設定データベース(主な例としては、Windows(登録商標)におけるレジストリ)、メモリ(通常はオペレーティングシステムによるプロセスにより分離されているが、より細かい細分性の分離を提供するために手動でリダイレクトされ得る)などが含まれる。
リソース制御インフラストラクチャー250は、例えば、設定ファイルやディスクアクセスなど、システムリソースの一定の部分へのアクセスを制御するための、標準実行環境210及びサンドボックス実行環境220のための機構を具備する。リソース制御インフラストラクチャー250は、システムリソースへのアクセスのブロッキング、及び、ミラー化されたリソースに対するアクセス要求の透明なリダイレクトを提供する。例えば、リソース制御インフラストラクチャー250は、サンドボックス内で動作している実行可能アプリケーションがデータベースへアクセスできるようにするために、例えばデータベースなどのリソースをミラー化(コピー)できる。この例において、リソース制御インフラストラクチャーは、メインデータベースにアクセスするためのいずれの企ても、ミラー化されたデータベースに、透明にリダイレクトできる。そして、サンドボックス環境220は、サンドボックスされたアプリケーションの実行後に、メインデータベースをミラー化されたデータベースで更新するかどうかを決定できる。いくつかの例では、リソース制御インフラストラクチャーは仮想化の方法により構成され得る。仮想化は、それぞれ分離したハードウェアプラットフォームであるかのように動作する複数の完全にセグメント化された環境を、1つのハードウェア装置内に、作成できる。
挙動分析システムの例
図3は、実行可能アプリケーションの挙動分析を提供するためのシステム300の一例を描くブロック図である。システム300は、複数のイベントソース302A〜302D、挙動検出フレームワーク304、イベント収集306、フィルタプラグイン310、ルール呼び出しモジュール312、ルールプラグイン314、反応取り扱いモジュール316、反応プラグイン318、及び、イベントデータストア320からなる。
図示の通り、複数のイベントソース302A〜302Dが具備される。図3において、イベントソースは、イベントを識別すること、供給すること、及び/又は、収集することができる、任意のソースである。いくつかの例では、イベントソース302A〜302Dは、システムモニタリングエンジン240によって供給される。ユーザモードイベントソース302Aは、ユーザインタフェースをモニタし、且つ、ユーザインタフェースに対応するイベントを収集するために使用される。この場合、モニタすることは、或るインタフェースの実行をモニタすることを含む。種々の実施例において、これは、基礎的インフラストラクチャー又はオペレーティングシステムにより提供されるインラインフック、インタフェースポインタリダイレクト、及び/又は、コールバックを用いて実行される。
また、ファイルシステムフィルタ302Bは、ファイルシステムに対応するイベントを収集するために使用される。更に、ネットワークフィルタ302Cは、ネットワークに関連するイベントを収集するために使用される。なお、どのようなイベントソースがユーザの要望により使用されてもよいし、或いは、構造化したセキュリティポリシーに従い構成されてもよいことに留意されたい。例えば、ログプレーバックインタフェース302Dは、プレーバック機構、又は、ユーザがモニタ対象に選択したその他拡張型ソースに関するイベントをモニタするために使用される。これにより、ユーザは、任意のイベントソースを選択し、プラグインできる。
更に、図に示す通り、イベントソース302A〜302Dは、複数の処理モジュールからなる挙動検出フレームワーク304及びイベントデータストア320と通信している。更に。挙動コアコンテンツモジュール308は、挙動検出フレームワーク304の機能で作動できる複数のプラグイン310,314及び318を含んで構成される。
図3において、プラグインは、特定種類の活動への参加の登録をする実行可能なコンポーネントを指す。例えば、プラグインは、ファイル生成イベントが発行されたときの呼び出しのために、挙動検出フレームワーク304に登録する。プラグイン310,314及び318は、種々のモジュールにおける処理に積極的に参加するために使用される。種々の実施形態において、プラグインは、データを有用な形式に処理する、データを遮る及びフィルタする、ノイズをフィルタする、及び、イベントフォーマットを標準化されたフォーマット又はユーザ定義されたフォーマットに変更することなどに使用されてよい。
動作において、イベントは、イベントソース302A〜302Dにより供給され、イベント収集処理306の一環として収集される。上述の通り、イベントソースは、どのようなイベントソースからなっていてもよく、且つ、ユーザ(例えば消費者)によって供給されてよい。一例において、イベントの処理は、消費者プラグインであるイベントハンドラにより実行されてよい。この場合、イベント処理は、任意の特定イベントをデータストア320と照合することを含む。
オプションとして、イベント標準化は、収集されたイベントについて実行されてもよい。図3において、イベント標準化は、イベントソースに密接に結び付けられた未加工の形式から、汎用又は標準化されたフォーマットに変換することを指す。言い換えれば、イベント標準化は、イベントソースを感知しない形式の傍受された未加工のイベントを再発行することからなる。いくつかの場合、未加工のイベントは、システムモニタ(例えばイベントソースなど)により発行されてよい。例えば、ファイルシステムフィルタは、傍受されたファイル操作に応じて未加工のイベントを発行する。
一例において、プラグイン(未加工のイベントハンドラ)は、イベントを標準化して、標準化された結果を再発行する。例えば、イベントハンドラプラグインは、データストア320内の、且つ、或るアクター及び或るイベントのターゲットのための、エントリを検索する。それらアイテムのためのデータストアエントリが存在しない場合、そのエントリが作成される。
例えばフラグ及びパス名などのイベントの詳細は、イベントソースに関わらず、カテゴリ内の全てのイベントのために使われる標準化された形式に変換される。この変換は、特定のカテゴリのための複数のイベントソースに対して実装されてよい。例えば、ファイル操作は、カーネルモードファイルシステムフィルタ302B及びユーザモードインタフェースモニタ302Aによって傍受される。
それらイベントソースからの未加工のイベントは、必ずしも同じ構造を持たないだろう。イベント標準化は、それらイベントソースの詳細について感知しないことをユーザに許容する標準化されたイベントが発行されるよう、これら違いを解決するために実装される。こうして、挙動コアコンテンツモジュール308内に含まれるプラグインは、イベント標準化を実行するために使用される。
オプションとして、イベント標準化は、例えば、アクターと或るイベントのターゲットとの間など、データストアアイテム(data store items)の間の関係の関連付け(association)を含む。一例として、この関連付けは、累積的であってよく、共通の履歴を共有する複数のデータストアアイテムの間で関連付けを形成する。共通の履歴を共有する複数のデータストアアイテムの間で関連付けに関する更なる情報は、「不所望な活動を検出するためにイベントの関係を含むデータ構造を利用するためのシステム、方法、及びコンピュータプログラム製品」と題され、2008年7月22日に出願された米国特許出願番号第12/177601号に記載されており、当該出願の全ての記載内容を援用する。
照合されたイベントを分析するルールは、ルール呼び出しモジュール312の一環として、標準化されたイベントデータを検査する。ルール呼び出しモジュール312は、受信されたイベントにより発動されてよい。オプションとして、ルールの評価は、不所望な、又は、その他の予め決められた活動の検出を駆動してよい。
一例において、これらルールは、ユーザに選択されたルールプラグイン314であってよく、前記ルール評価は、イベントハンドラにより初期化される。別の例では、ルールは、また、その他の関連付けられており且つ従属するルールを、呼び出す。また、ルールは、照合されたイベント情報のデータストア320にアクセスできる。
ルールは、照合されたデータを評価するために、及び、検出が行われたかどうかを決定するために使用される、任意のルールからなる。これらの検出は、マルウェア活動、不適切なデータの伝送(例えばデータ漏洩防止のようなものなど)、或いは、その他の着目された活動を含んでよい。オプションとして、ルールは、ユーザ(例えば消費者など)により生成されてよい。更に、ルールは、イベントの識別に使用される1以上のイベントソースとは独立していてよい。
述べた通り、ルール評価は、プラグインとして登録されるハンドラによって実行される。ルールは、挙動検出フレームワーク304を通じて呼び出される。オプションとして、最上位のルールは、イベントハンドラ内から呼び出される。今度は、それら最上位のルールが、照合されたデータの分析により決定される下位ルールを、呼び出す。これら下位ルールは、順番に、別の下位ルールなどを呼び出す。
種々の実施形態において、ルール評価プラグイン314は、分析を直接実行するか、又は、解釈された言語で記述された下位ロジックを呼び出してよい。この使用法は、ルール著述者によってより簡単に使用される専用の解釈された言語スクリプトで記述されるルールロジックの大きさを考慮にいれて、登録されたプラグインをシムとして機能させる。そのプラグインのタスクは、適宜の下位ルールスクリプトの言語インタプリタを読み出し、且つ、結果を挙動検出フレームワーク304と通信することがタスクである。これにより、ルールセット間でのルールロジックの再利用を容易にする柔軟且つ動的なルールロジックを、生成できる。
また、図3には示されていないが、検出ハンドラも、特定種類の検出が発行されたときに呼び出すためのプラグインとして登録さてよい。検出ハンドラの登録をサポートすることにより、機能横断的に情報を共有することが可能となる。
例えば、例えば精査されていないウェブサイトからのブラウザプラグインのダウンロードなど、高危険度の活動の検出は、ブラウザスクリプトスキャナの対象となり得る。スクリプトスキャナは、これらプラグインを、より高いレベルのスキャニングに従属させてよい。また、ホスト侵入防止製品は、また、ダウンロードに関心を示し、且つ、スクリプトを隔離(検査)に従属させる。更に、スクリプトがダウンロードされたウェブサイトが精査されていないと決定することは、ウェブサイト分析ツールによる検出の発行経由でアナウンスされてよい。
ルールに基づく予め決められた活動の検出に応じて、反応取り扱いモジュール316の一環として反応が行われる。一例として、これら反応の取り扱いは、反応プラグイン318により供給される。種々の実施形態において、反応は、プロセスを終了すること、動作をブロックすること、及び/又は、選択的スキャン動作を実行することなどを含む。選択的スキャン動作に関する更なる情報は、「システムに適用されるセキュリティレベルを動的に調整するためのシステム、方法、及びコンピュータプログラム製品」と題され、2008年4月29日に出願された米国特許出願番号第12/111851号に記載されており、当該出願の全ての記載内容を援用する。
反応ハンドラは、特定種類の反応が要求されたときに呼び出されるためのプラグインとして登録されてよい。そして、これら反応ハンドラは反応を実行する。このことは、挙動検出フレームワーク304のユーザ間での反応種類の再利用を可能とし、例えば検出に応じたシステムモニタレベルの変更など機能横断的アプリケーションをサポートする。
このことは、また、端末ノードへのポリシーのアプリケーションが、反応が行われたかどうかを管理することを可能にする。例えば、プロセスを終了するために要求された反応は、まず、反応ハンドラにより、ローカルで適用されたポリシーと査証される。ポリシーは、反応が記録されるべきであるが、その端末ノードに対して実際に行われるべきでないことを示すだろう。その反応は新たなアンチマルウェアコンテンツが最初に配置されたときに実行されるものである。
機能領域内での検出は、挙動検出フレームワーク304内のイベントとして発行される。このように、ユーザ(例えば消費者など)は、挙動検出フレームワーク304のどんなインパクトも制限及び動的に調整することができる。かかるシステムインパクトは、CPU使用、メモリ消費、I/O帯域幅などを含む。更に、1つの機能領域内からの検出は、他の機能領域と共有されるか、又は、全体分析のためにセントラル領域内で評価される。
イベントの処理、照合されたデータの記憶、及び、データの分析は、全て、システムリソースを使用する。挙動検出フレームワーク304を使用して、ユーザは、かかるリソースの使用の上限を設定でき、且つ、照合されたデータの挙動分析に応じてリソースの使用を動的に制御できる。リソースの使用を制御するための技術の1つは、システムモニタの調整及び活動のスキャンによるものである。システムモニタの調整及び活動のスキャンによるリソースの使用を制御するための技術に関する更なる情報は、「システムに適用されるセキュリティレベルを動的に調整するためのシステム、方法、及びコンピュータプログラム製品」と題され、2008年4月29日に出願された米国特許出願番号第12/111851号に記載されており、当該出願の全ての記載内容を援用する。
一実施形態において、活動は、システムリソース全体の使用を制御するために仮想機械内で調整される。この内部的仮想機械調整は、仮想機械内で動作する挙動検出フレームワーク304のインスタンスのリソース使用を制御するために適用される。
更に、ユーザは、分析プロセスの全てのポイントに参加するためにプラグインしてよい。また、ユーザ機能性は、インストールされ、移動され、アップグレードされ、そして、それらの使用は、インフラストラクチャーの変更なしに、変更される。ユーザは、また、今後の参照及び操作のために、イベントとデータストア320内の関連付けられたデータとを照合する。更に、ユーザは、イベントソースの詳細を感知しない挙動分析ルールを記述してよい。
このように、挙動検出フレームワーク304の使用は、完全に、ユーザによって駆動される。例えば、ユーザは、イベント生成部として、イベントフィルタ、イベントコンシューマ、ルール評価部、検出ハンドラ及び反応供給部をプラグインする。
このプラグインモデルは、下位コンポーネントとそれらの検出結果とを共有する挙動検出フレームワーク304のコンシューマの構築を容易にする。プラグインは、どんな実行可能コンポーネントを含んでいてもよく、また、それらの分析を直接実行するか、又は、解釈された言語で記述された下位ロジックを読み出してよい。例えば、解釈されたルール言語は、ルール評価プラグインによって呼び出される。
一例において、プラグインサポートは、全ての種類のプラグインに対して対照的である。この場合、全てのプラグインは、挙動検出インフラストラクチャー内の全てのクライアントに可視の活動がアクションを発行することにより駆動されることを可能とし、特定種類のアクションが発行されたときにクライアントが呼び出しのためのコールバックを登録することを可能とし、クライアントのコールバックが挙動検出フレームワーク304によって呼び出されることを可能とし、且つ、クライアントのコールバックがアクションを発行することを可能とする。
一例において、挙動検出フレームワーク304の配置は、ホスト環境(例えばクライアントシステム110)によってサポートされた全てのシステムモニタ技術を使うことにより、開始する。この場合、ホスト環境は、セキリュティソフトウェアのホストを参照する。例えば、ホストは、オペレーティングシステム又はウェブブラウザなどからなる。
ホスト環境は、挙動検出フレームワーク304に含まれるセキリュティソフトウェアをロードして、少なくとも基本的な能力を提供する。いくつかの基礎的な機能性は、ファイルシステムをモニタすること、ネットワークをモニタすること、データベース構成の更新をモニタすること(例えば、レジストリ操作をモニタすることなど)を含んでよい。
オプションとして、このシステムをモニタすることのイベントハンドラは、イベントフィルタ及びイベント生成部として機能してもよい。これらのハンドラは、システムモニタの通知を精査し、対象でない通知をフィルタするために使用される。ハンドラは、残された通知から、挙動検出フレームワーク304についてのイベントを発行する。
一例において、イベントは同期的に発行されてよく、最初の動作はイベントが発行され且つサービスされる間は保持される。別の例では、イベントは、非同期的に発行されてよく、最初の動作はイベントが発行され且つサービスされる間に進行させる。更に別の例では、イベントは、異なるコンテキストで、特に、種々のコンテキスト内で実行している動作をモニタするセントラルコンテキストで発行されてよい。例えば、システムモニタリングエンジン240は、システム200などのホストシステム内に構成された各実行環境内で実行している動作をモニタするためのセントラルコンテキストモニタシステムとして構成されてよい。このコンセプトは、クライアントシステム110のそれぞれで実行している動作をモニタするためのセントラルコンテキストモニタシステムとして構成されるローカルサーバ140に対して、組織的レベルで適用される。
一例において、コンテキストは、或るイベントが挙動検出フレームワーク304内でサービスされる所を定義する。1つの例として、そのコンテキストに登録されたイベントユーザのみが、そのイベントを通知される。例えば、動作を作成するファイルは、特定プロセスのコンテキスト内(例えば、サンドボックス実行環境220内)で解釈される。そのコンテキストのためにイベントが発行された場合、そのプロセスのコンテキストに登録されたイベントユーザのみが、そのイベントを見るだろう。イベントが広範なシステム/全体にわたるコンテキストで発行された場合、その広範なシステム/広範なコンテキストに登録されたイベントハンドラがそのイベントを見るだろう。
挙動検出フレームワーク304は、種々のコンテキストを含む。例えば、一例としては、コンテキストは、ユーザモードの動作が特定のプロセスに特有であるローカルコンテキストを含む。この場合は、対象のプロセス毎に1つのローカルコンテキストがある。
別の例では、コンテキストは、カーネルモードコンテキストを含む。この場合は、カーネルモードの動作は全てのプロセスを扱う。更に別の例では、コンテキストは、システム全体にわたるコンテキストを含む。システム全体のコンテキストは、ローカル及びカーネルモードコンテキストから該システム全体のコンテキストに発行されたイベントのための集合体である。この場合は、システム毎に1つのシステム全体のコンテキストがある。更に別の例では、コンテキストは、ネットワーク全体のコンテキストを含む。ネットワーク全体のコンテキストは、システム全体のコンテキストからネットワーク全体のコンテキストに発行されたイベントのための集合体である。
オプションとして、発行の階層が使用されてよい。この場合、ローカル及びカーネルモードコンテキスト内で閲覧できるイベントの全てが、システム全体のコンテキストに発行されるわけではなく、十分に対象となるもののみが発行される。このように、たいていのイベントは、元々の動作のコンテキスト内でサービスされる。このことは、システム全体のコンテキストへの不要なイベントの発行に関する負荷を最小化する、より効果的な挙動検出モデルを可能とする。ネットワーク全体のコンテキストへの発行は、より一層少なくなり、不要な負荷を回避する。
一例において、この階層内のイベント伝達制御は、より多くの柔軟性を得るために、イベントハンドラによって、又は、ルールクエリ(問い合わせ)により、直接制御される。イベントハンドラが使用される場合、反応ハンドラが、異なるレベルのコンテキスト階層へのイベントの再発行を実行する。
上述の通り、イベントコンシューマは、当該コンシューマが登録されているコンテキストにおいて特定種類のイベントが発行されたときに通知を受信するために登録される。通知は、それらの抽出条件に合致しているイベントの発行に呼び出される。オプションとして、イベントコンシューマは、イベントに含まれるデータを精査してよい。コンシューマは、また、データストア320内のエントリを検索、生成及び変更してよい。コンシューマは、順次、それら自身のイベントを発行し、ルールを呼び出し、検出を発行し、且つ、反応を生成する。
一例として、起源動作の傍受のハンドラによって発行されたイベントのコンシューマは、ルール評価部によって抽出される消費を容易にするために、それらイベントを標準化されたイベントとして再発行する。この使用において、発行された初期イベントは、未加工のイベントとして参照され、イベントコンシューマによって閲覧されるのみである。イベントコンシューマの機能は、これらイベントを一般的な形式に抽出すること、及び、未加工のイベントを標準化されたイベントとして再発行することである。例えばアクター及びターゲットのためのエントリなど、データストア320内の関連するエントリの位置付けは、標準化プロセスに含まれる。関連するエントリは、また、傍受された動作の処理又はスレッドを発起することのためのデータストアエントリ、及び、例えばファイルのためなど、動作の対象のためのデータストアエントリを含む。
なお、データストア320は、イベントデータを照合するために使用される、どのようなリポジトリによって構成されてもよい。更に、アイテムは、データストア320内において、どのようなユーザの目的のために作成されてもよく、受信されたイベント用のアクター及びターゲットのためのアイテムを含む。例えば、ファイルの傍受に応じて、ファイルを開くプロセスのため、及び、現在のファイルのためにオープンエントリが生成される。
種々の実施形態において、データストア320は、アイテムを追加すること、検索すること、及び/又は、更新することをサポートしてよい。データストア320は、また、例えば、親子間、アクターとターゲット間、及び、共通の履歴を共有するオブジェクト間など、アイテム間の関連付けを形成することをサポートする。データストア320は、イベントハンドラ、イベント発行部、検出ハンドラ、ルール評価部、及び、反応ハンドラなどにより使用される。
上述した挙動分析システムの一例に関する更なる情報は、「複数の処理階層レベルにわたりイベントを伝播するための挙動分析システム、方法、及びコンピュータプログラム製品」と題され、2008年9月2日に出願された米国特許出願番号第12/202952号に記載されており、当該出願の全ての記載内容を援用する。
挙動サンドボックスの方法の例
以下の実施形態は、悪意ある実行可能アプリケーションからm個々のコンピューティング装置又はネットワーク全体を動的に保護するために、どのように挙動サンドボックスが使用されるかを説明する。
図4は、実行可能アプリケーションの挙動サンドボックスのための方法の一例を描くスイムレーンを持つフローチャートである。方法400は、ステップ402における実行可能アプリケーションを受信する動作、ステップ404における挙動分析、ステップ406における実行環境を決定すること、ステップ408における実行可能アプリケーションをサンドボックスすることを決定すること、ステップ410における実行可能アプリケーションを実行すること、ステップ412における挙動分析、ステップ414における実行環境が変更されるべきか決定すること、ステップ416における実行可能アプリケーションのサンドボックスを決定すること、ステップ420における実行可能アプリケーションを実行すること、ステップ422における挙動分析、ステップ424における実行環境が変更されるべきか決定すること、ステップ426におけるサンドボックス環境から実行可能アプリケーションを移動するかどうかを決定することからなる。
この例において、方法400は、ステップ402において、システム200が実行可能アプリケーションを受信又はロードすることにより開始する。方法400はステップ404に進み、実行可能アプリケーションに対する挙動分析を挙動分析モジュール230が実行する。一例において、挙動分析モジュール230は、実行可能アプリケーションの起源に適宜のイベントを含むイベントの履歴を収集する。挙動分析モジュール230は、実行されるべき実行可能アプリケーションについての履歴を精査する。挙動分析モジュール230は、それらイベントのために、実行可能アプリケーション履歴を分析する。イベントは、例えば、インターネットからのダウンロード、信頼されたプロセスによるインストール、コードの変更、信頼されたソースからの暗号で署名された証明書、若しくは、以前に動作したときに疑わしいとみなされた又はポリシー外の活動の実行、などである。
この例において、方法400はステップ406に進み、実行可能アプリケーションを実行するための実行環境の種類がいずれであるかを、挙動分析モジュール230が決定する。例えば、挙実行可能アプリケーションが信頼できるものと、挙動分析モジュール230が判断した場合、方法400は、その実行可能アプリケーションを標準実行環境内で起動する。実行可能アプリケーションが悪意ある活動を行う可能性をもっているものと、挙動分析モジュール230が判断した場合は、ステップ408において、方法400は、その実行可能アプリケーションを、例えばサンドボックス実行環境220など、サンドボックス実行環境内にリダイレクトする。実行可能アプリケーションがサンドボックス実行環境で実行されるべきものである場合、方法400はステップ420に進み、サンドボックス実行環境220が実行可能アプリケーションを実行する。
実行可能アプリケーションがサンドボックス実行環境220内で実行される例において、方法400はステップ422に進み、実行可能アプリケーションが動作している間、挙動分析モジュール230が挙動分析を実行する。この例において、実行可能アプリケーションがサンドボックス実行環境220内で実行されているので、挙動分析モジュール230は、継続的且つ動的に、当該実行可能アプリケーションについての情報を更新する。方法400はステップ424に進み、実行環境を変更できるかどうかを、挙動分析モジュール230が決定する。例えば、実行可能アプリケーションの動的なモニタを鑑みて、実行可能アプリケーションがもはやシステム200にスレッドを提出しないと、挙動分析モジュール230が判断した場合、実行可能アプリケーションをサンドボックス環境220から移動できる。実行可能アプリケーションがサンドボックス環境220から移動される場合、方法400はステップ426に進み、実行可能アプリケーションをサンドボックス環境220から出して、標準実行環境210内に移動する。実行可能アプリケーションをサンドボックス環境220から移動できない場合、方法400は、ステップ426において、前記ステップ420の動作に戻り、実行可能アプリケーションを完遂するか、又は、サンドボックス環境220から移動できるまで、処理を繰り返す。
ステップ408の動作に戻り、実行可能アプリケーションが標準実行環境210内で実行され得ると、挙動分析モジュール230が決定した場合、方法400はステップ410に進み、システム200が標準実行環境210内で実行可能アプリケーションを実行する。続いて、ステップ412において、実行可能アプリケーションが標準実行環境210内で実行されているので、挙動分析モジュール230は、その実行可能アプリケーションに対して挙動分析を実行する。該ステップ412の動作において、システム200は、どのような悪意ある(又は疑わしい)挙動の徴候についても、動的にモニタする。挙動分析モジュール230は、悪意ある動作に関するシステム200の危急を増加させるイベントを監視している。挙動分析モジュール230により監視されるイベントは、いくつかを挙げると、リソースファイル又はデータベースを開くこと、プラグインをロードすること(例えばスクリプト、及び、ライブラリ又はDLLなどのいくつかの実行可能アプリケーション)、他のプロセスによる操作、他のプロセスへの操作、ネットワークへのアクセス、インターネットへのアクセス、既知の良好サイトリスト外のインターネットサイト(例えばブラックリストに載っているサイト)へのアクセスなどである。
ステップ414において、実行可能アプリケーションのモニタされた挙動の特徴に基づいて、実行環境が変更されるべきかどうかを挙動分析モジュール230が決定する。前記ステップ412において実行される動的挙動分析は、実行可能アプリケーション実行中に、システム200がその実行可能アプリケーション(又は実行可能アプリケーションの一部)の実行環境を変更することを可能とする。このことにより、安全であるように見えたが結局悪意あるものだと判明したアプリケーションから、システム200が自身を保護できるようになる。例えば、挙動分析モジュール230は、或るアプリケーションが既知で且つ信頼されたソースからのものであると決定し、そのアプリケーションに標準実行環境210で起動されることを許可する。しかし、その動作中に、ユーザが、そのアプリケーションに対して、未知のソースからの新たなプラグインをダウンロードするように命令するかもしれない。挙動分析モジュール230は、このようイベントを傍受するように構成されており、システム200に、実行及びより一層のモニタのために、その新たなプラグインを、サンドボックス実行環境220にリダイレクトするように命令できる。別の例では、挙動分析モジュール230は、アプリケーションの挙動履歴の分析に基づいて、そのアプリケーションが標準実行環境210内で実行され得ることを決定するだろう。しかし、実行中に、そのアプリケーションが、容認できる挙動を決定するものであるセキュリティポリシーに違反して、クライアントシステム100の構成データベースを更新しようと企てるかもしれない。この例において、挙動分析モジュール230は、いずれの更なる潜在的な危害からもシステム200を保護するために、システム200に対して、実行中のアプリケーションをサンドボックス環境220に移動するように命令できる。
ステップ416において、挙動分析モジュール230は、実行可能アプリケーションがサンドボックス実行環境220内に移動されるべきかどうかを決定する。実行可能アプリケーションが移動されるべきである場合は、方法400はステップ420に進み、システム200はサンドボックス実行環境220内で実行可能アプリケーションの実行を続ける。実行可能アプリケーションがサンドボックス実行環境に移動されない場合は、方法400はステップ408の動作に戻り、実行可能アプリケーションが終了するまで、処理を繰り返す。
図5は、挙動分析を用いて実行可能アプリケーションのための実行環境を形成するための方法の一例を描くスイムレーンを持つフローチャートである。方法500は、例えば、ステップ502におけるセキュリティポリシーを適用すること、ステップ510におけるサンドボックス制限の範囲を決定すること、並びに、ステップ504及び512における実行可能アプリケーションをモニタすることなど、いくつかの追加的オプションの動作を付け加えた方法400の動作群からなる。
方法500はステップ502の動作を備えており、ここにおいて、挙動分析モジュール230は、セキュリティポリシーを適用する。一例において、セキュリティポリシーは、例えばローカルサーバ140などのセントラルサーバから受信できる。別の例では、セキュリティポリシーは、クライアントシステム110毎に局所的であり得る。いくつかの例では、セキュリティポリシーはユーザによって制御される。別の例では、セキュリティポリシーは、ネットワーク又はシステム管理者により組織的レベルで制御される。セキュリティポリシーは、制限された動作のリスト、ブラックリストに載ったサイト又はデフォルトでサンドボックス環境内で実行されるべきアプリケーションのリスト、サンドボックスすることへ特定の除外、ユーザ又はグループレベル制限、ユーザ又はグループレベル許可、並びに、ユーザ又はグループレベル例外、を含む。
図5に示す通り、セキュリティポリシーは、前記ステップ404の動作における挙動分析モジュール230のいずれかの挙動分析の実行に先立って、適用される。セキュリティポリシーを適用することにより、信頼できるものとして既知の、又は、潜在的に悪意のあるものとして既知の、何れの実行可能アプリケーションをも識別し、それ以上の挙動分析が必要となることを防止できる。セキュリティポリシーは、また、挙動分析モジュール230を構成するために使用できる。別の例では、セキュリティポリシーは、方法500の別の時点で適用さてよく、或いは、挙動分析の実行において挙動分析モジュール230によってのみ使用される。
方法500は、また、ステップ510の動作を備えており、ここにおいて、挙動分析モジュール230は、サンドボックス実行環境220に適用するための制限の範囲を決定する。一例において、挙動分析モジュール230は、実行可能アプリケーションがサンドボックス実行環境220内で実行されたときに、実行可能アプリケーションについてなされるべき制御を、どのように制限するかを決定するために、実行可能アプリケーションについての情報を使用できる。いくつかの実施例において、挙動分析モジュール230は、また、サンドボックス環境における制限を形成するために、セキュリティポリシーから得た情報を使用できる。制限の範囲は、システムリソースアクセス、ネットワークリソースへのアクセス、インターネットアクセス、信頼されたソースにより署名されたプラグイン、ネットワークアドレス幅、ブラックリストに掲載されたサイト、通信プロトコル(許可又は制限)、他のプロセスとの通信、又は、サンドボックス実行環境外のプロセスとの通信を含み得る。挙動分析モジュール230がサンドボックス環境を選択的に構成できることにより、セキュリティの最低限のレベルを維持しつつ、実行可能アプリケーションが行うことを許可される制御のレベルをより細かくでき、サンドボックスするプロセスの機能性を高めることができる。サンドボックス環境を選択的に構成することにより、また、実行可能アプリケーションが必要な動作を実行することを可能にしつつ、サンドボックス環境内でより綿密に実行可能アプリケーションがモニタされることを一層許容することにより、セキュリティを高めることができる。
方法500は、また、ステップ504及び510の動作を備えており、ここにおいて、挙動分析モジュール230は、実行可能アプリケーションにより行われる動作の変更可能な範囲をモニタする。ステップ504の動作において、方法500は、標準実行環境210内で実行される実行可能アプリケーションをモニタする。一例において、ステップ504においてシステムモニタリングエンジン240によって収集された情報をモニタすることは、実行可能アプリケーションがサンドボックス環境220に移動されるべきかを決定するために、挙動分析モジュール230により使用される。上述の通り、実行可能アプリケーションは、当該アプリケーションが始動された後に検出された、予期していなかった潜在的に悪意のある挙動のために、サンドボックス環境に移動されることがある。ステップ512の動作では、サンドボックス実行環境220内で実行される実行可能アプリケーションをモニタする。一例において、ステップ512においてシステムモニタリングエンジン240によって収集された情報をモニタすることは、実行可能アプリケーションがサンドボックス環境220の外に移動されてもよいかどうかを決定するために、挙動分析モジュール230により使用される。サンドボックス環境220内での実行可能アプリケーションの実行をモニタすることは、また、アプリケーションによって生成された情報がサンドボックス環境220の外部に伝達され得るかどうかを決定するために使用できる。また、モニタされた情報は、サンドボックス環境220に適用される制限の範囲を、動的に増加又は減少するために使用される。
図6は、一実施例に従う、前記実行可能アプリケーションの挙動分析におけるオプションの動作を描くフローチャートである。方法404は、ステップ602におけるセキュリティポリシーを適用すること、ステップ604における実行可能アプリケーションの特徴を分析すること、ステップ606における実行可能アプリケーションによってアクセスされるリソースを分析すること、からなる。この例において、挙動分析モジュール230は、例えば方法400におけるステップ422の動作など、実行環境内での実行可能アプリケーションの実行に先立って、及び、実行可能アプリケーションの実行しているときのいずれにおいても、ステップ602、604及び606の動作を実行するように構成されている。
図6に示す通り、方法404は、挙動分析モジュール230がセキュリティポリシーを適用することから開始する。一例において、セキュリティポリシーを適用することは、挙動分析モジュール230がどのように挙動分析を行うかを構成する。セキュリティポリシーは、挙動分析モジュール230が、例えば或るアプリケーションの起源或いは署名されていないセキュリティ証明書にどのように反応するかを制御できる。セキュリティポリシーは、また、ブラクリストに載ったURL又はアプリケーションのソースなどとしても使用できる。
方法404はステップ604に進み、挙動分析モジュール230が実行可能アプリケーションについての可能な特徴全てを分析する。特徴は、起源(例えばURL又はホストシステムの情報)、リソース要件、過去動作、信頼レベル(例えばオンライン評価データベースにアクセスすることにより決定される)、又は、セキュリティ証明書などを含む。挙動分析モジュール230は、実行可能アプリケーションが悪意ある活動のスレッドを提起しそうかどうかを決定するために、これら特徴を使用できる。
ステップ606において挙動分析モジュール230が実行可能アプリケーションによってアクセスされるリソースを分析し、方法404は終了する。一例において、挙動分析モジュール230は、どのリソースにアプリケーションがアクセスしようとしたかを決定するために、アプリケーションに解釈可能なランタイムのコードを分析する。別の例では、挙動分析モジュール230は、どのリソースにアプリケーションがアクセスしようとしたかを決定するために、アプリケーションによって実行された過去の動作を詳述する情報を信頼するだろう。
図7は、一実施例に従う、実行可能アプリケーションのための実行環境決定におけるオプションの動作を描くフローチャートである。実行環境を決定する方法406は、ステップ702におけるセキュリティポリシーを適用すること、ステップ704におけるセキュリティ証明書を分析すること、ステップ706におけるセキュリティデータベースに反するアプリケーションの署名を調べること、ステップ708におけるサンドボックス環境において実行されるべき実行可能アプリケーションの部分を決定すること、ステップ710におけるサンドボックス環境のための制限の範囲を決定すること、及び、ステップ712におけるサンドボックス環境内で実行可能アプリケーションにより実行される動作のための処置を決定すること、といったオプションの動作からなる。上述の通り、セキュリティポリシーは、方法400や方法500など挙動サンドボックスのための方法内の種々の時点で適用できる。この例において、セキュリティポリシーは、実行可能アプリケーションのための実行環境を決定するとき、挙動分析モジュール230により、適用され得る。
この例において、方法406はステップ704の動作に進み、挙動分析モジュール230が実行可能アプリケーションのセキュリティ証明書を分析する。一例において、ダウンロードされたアプリケーションは、例えば、セキュア・ソケット・レイヤー(Secure Sockets Layer、SSL)、又は、トランスポート・レイヤー・セキュリティー(Transport Layer Security、TLS)などセキュアな通信チャンネルから受信される。典型的には、SSL又はTLSは、承認機関によって発行された証明書を使用し、検証され得るデジタル署名を含む。実行可能アプリケーションのダウンロードに使用された接続が、有効なデジタル署名を持つ証明書で保証された場合、より一層、アプリケーションが信頼し得るソースからきたものと、見なし得るだろう。挙動分析モジュール230は、実行可能アプリケーションがサンドボックス環境内で実行されるべきかどうかを決定することにおいて、セキュリティの種類及びセキュリティ証明書の有効性を含み得る。
方法406はステップ706に進み、挙動分析モジュール230がセキュリティデータベースに反するアプリケーションの署名(又は、その他の証明する特徴)を調べる。一例において、実行可能アプリケーション毎の署名は、ハッシングアルゴリズムを通じて生成され、データベース140などのデータベースに記憶される。或るアプリケーションの信憑性についての情報は、データベース内に固有の署名とともにカタログ化される。脅威データベースは、例えばリモートデータベース170など、ローカルに又は中心的に維持され得る。中央に配置された脅威データベースは、潜在的に悪意あるデータを収集でき、また、同様に、複数の場所から安全として知られるアプリケーションを収集でき、従って、潜在的な既知の脅威についてより広い視野を提供できる。
方法406はステップ708に進み、挙動分析モジュール230がサンドボックス環境内で実行すべき実行可能アプリケーションの部分を決定する。上述した通り、実行可能アプリケーションは、専ら、多数のスレッドの実行として実行されるか、又は、いくぶん独立に実行される複数の異なるコンポーネントからなる。一例において、システム200は、アプリケーションの残りが標準環境内で実行されることを可能にしつつ、サンドボックス環境内の実行可能アプリケーションの個別のスレッドを、或いは、個別のファイバーさえも、実行できる。例えば、挙動分析モジュール230が、或るアプリケーションの一定のスレッドがメモリ破損の履歴を持っていると決定した場合、潜在的に悪意の或るスレッドは、実行のために、サンドボックス環境220内に移動され得る。サンドボックス環境220は、何らかのメモリ破損がメモリシステムの残りに不利に影響を与えないように、保護されたメモリ空間を使用できる。
方法406はステップ710に進み、挙動分析モジュール230がサンドボックス環境のための制限の範囲を決定する。上述の通り、サンドボックス環境220のための制限の範囲は、どのレベルのI/Oをサンドボックス内に許可するか、サンドボックスされたアプリケーションにサンドボックス環境220の外部と通信することを許可するかどうか、サンドボックス外部のプロセスにサンドボックス環境220内部で実行しているプロセスを操作することを許可するかどうか、及び、インターネットアクセスにサンドボックス環境220内部で処理することを許可するかどうか、などを含む。
ステップ712において、挙動分析モジュール230がサンドボックス環境220内で実行される動作のための処置を決定して、方法406は終わる。一例において、サンドボックス実行環境220内のプロセスにより実行される動作は、例えばシステムモニタリングエンジン240によって傍受され得る。傍受されると、動作は完全にブロック(報知無しで、又は、ユーザにエラーを送信するとともに、又は、アプリケーションを呼び出して)されるか、予定されたリソースへのアクセスを許可される(例えば、データベース内のデータ、メモリ位置、ネットワークデバイス)か、或いは、サンドボックス環境によって制御されたプライベート位置にリダイレクトされる。この例において、挙動分析モジュール230は、実行可能アプリケーションの挙動特徴に基づいて、サンドボックス環境220がどのように構成されるかを決定できる。例えば、サンドボックス環境220が全ての動作を制限されたプライベート空間にリダイレクトするように構成されている場合、実行可能アプリケーションは、メインシステムからのミラー化されたデータと相互作用することを許可されるのみである。サンドボックスされたアプリケーションの終了にあたり、プライベートの(ミラー化された)データは、システムから消去することか、又は、サンドボックスされたアプリケーションにより実行された動作でメインシステムを更新することのどちらによっても、処置される。なお、メインシステムを更新することは、実行可能アプリケーションがいずれのセキュリティポリシーを破らない、又は、サンドボックス環境220内での動作中に何ら悪意のある動作を実行しない場合に、許容されるだけかもしれない。いくつかの例では、サンドボックス環境の外部で実行されるプロセスは、三度ボックされた実行可能アプリケーションによって生成された情報を得るために、プライベートリソースにアクセスできてもよい。
図8は、挙動分析を用いて実行可能アプリケーションを分析する方法800の一例を描くフローチャートである。方法800は、以下の動作からなる;ステップ802における実行可能アプリケーションの起動を検出すること、ステップ804における実行可能アプリケーションの挙動分析を実行すること、ステップ806における実行可能アプリケーションをサンドボックス実行環境内で動作させるかどうかを決定すること、ステップ808における標準実行環境内で実行可能アプリケーションを開始すること、ステップ810における動作中の実行可能アプリケーションに対して挙動分析を実行すること、ステップ812における実行可能アプリケーションがサンドボックス実行環境内に移動されるべきかどうかを決定すること、ステップ814における実行可能アプリケーションがまだ動作中かどうかを決定すること、ステップ822におけるサンドボックス実行環境を構成すること、ステップ824におけるサンドボックス実行環境内で実行可能アプリケーションを開始すること、ステップ826における動作中の実行可能アプリケーションに対して挙動分析を実行すること、及び、ステップ830におけサンドボックス実行環境内での実行可能アプリケーションの動作を続行するかどうかを決定すること。いくつかの実施例では、方法800は、また、ステップ820におけるサンドボックスする範囲を決定すること、及び、ステップ832におけるサンドボックスされたデータ及び動作を処置することを含み得る。
一例において、ステップ802においてシステムモニタリングエンジン240が実行可能アプリケーションの起動を検出して、方法800は開始する。この例において、システムモニタリングエンジン240は、システム200に、実行可能アプリケーションが悪意あるものかどうかを決定するために分析されるまで、その実行可能アプリケーションの実行を差し控えるように指示できる。方法800はステップ804に進み、挙動分析モジュール230が実行可能アプリケーションに対する挙動分析を実行する。挙動分析モジュール230は、悪意ある又はセキュリティポリシーを破るどのような兆候も分析する。次に、方法800はステップ806に進み、挙動分析モジュール230が実行可能アプリケーションをサンドボックス実行環境220内に移動するかどうかを決定する。
実行可能アプリケーションが、例えば標準実行環境210など標準実行環境内で実行することを許可されているならば、方法800はステップ808に続く。一例において、ステップ808では、方法800は、実行可能アプリケーションを標準実行環境210内で開始する。方法800はステップ810に進み、挙動分析モジュール230が動作中の実行可能アプリケーションに対して挙動分析を実行する。いくつかの実施例では、システムモニタリングエンジン240は、実行可能アプリケーションによって実行された動作のモニタに使用される。ステップ812において、挙動分析モジュール230は、動作中の実行可能アプリケーションがサンドボックス実行環境内に移動されるべきかどうかを動的に決定する。前記ステップ812において実行可能アプリケーションがサンドボックス実行環境内に移動されていない場合、方法800はステップ814の動作に続く。ステップ814において、システム200は、実行可能アプリケーションが終了したかどうか決定する。実行可能アプリケーションが動作中の場合、方法800はステップ808の動作に戻り、処理を繰り返す。
ステップ812の動作に戻ると、挙動分析モジュール230が、実行可能アプリケーションが潜在的に悪意ある挙動を示しているものと決定する場合には、方法800は続いて、実行可能アプリケーションをサンドボックス実行環境220内に移動する。
方法800は、動作中の実行可能アプリケーション又は起動されるプロセスにある実行可能アプリケーションをサンドボックスするかどうかという、同様なタスクを実行する、いくつかの例では、方法800はステップ820におけるサンドボックスするプロセスを開始し、挙動分析モジュール230がサンドボックスする範囲を決定する。サンドボックスする範囲は、サンドボックス環境が、ディスクI/O又はネットワークのような物に対してどのように制限的であるかを含み、また、同様に、サンドボックス環境220内で現在動作している実行可能アプリケーションのどの対して制限的であるかを含み得る。一例において、サンドボックスするプロセスはステップ822で開始し、挙動分析モジュール230が、例えばサンドボックスする範囲やセキュリティポリシーなどの入力に基づいて、サンドボックス環境220を構成する。
一例において、サンドボックス実行環境220が構成されたら、方法800はステップ824に進み、サンドボックス実行環境220内で実行可能アプリケーションを開始又は実行する。次に、方法800はステップ826に進み、挙動分析モジュール230が動作中の実行可能アプリケーションに対して挙動分析を実行する。この例において、挙動分析は、実行可能アプリケーション内又は周囲の環境の変化によって当該実行可能アプリケーションをサンドボックス実行環境220から移動させることが可能になるかどうかを動的に決定するために、サンドボックス実行環境220内で動作中の実行可能アプリケーションに対して実行される。方法800はステップ828に進み、実行可能アプリケーションをサンドボックスしつづけるかどうかを挙動分析モジュール230が決定する。実行可能アプリケーションがサンドボックス実行環境内に残る場合、方法800はステップ830の動作に進む。ステップ830の動作において、システム200は、その実行可能アプリケーションの実行を続行するかどうかを決定する。実行可能アプリケーションが終了された場合、方法800はステップ832において終了する。ステップ832において、システム200は、サンドボックスされたデータ及び動作を処置する。サンドボックスされたデータ及び動作を処置することには、システムから情報を消去すること、又は、影響を受けたリソースの更新をシステム200に許可することを含み得る。いくつかの実施形態では、サンドボックスされたデータ及び動作は、セグメント化されたリソース内にデータ及び動作を保持している間は、標準実行環境210内での処理に利用可能である。
ステップ828の動作に戻ると、実行可能アプリケーションがサンドボックス実行環境220から移動され得ることが決定する場合、方法800はステップ814の動作に進む。
上述の方法は、第一にクライアントシステム110内の動作に関して説明した。しかし、上述と同様な方法又はその方法の一部は、ゲートウェイ装置120にも実装され得る。たとえば、ゲートウェイ装置120は、広域ネットワーク130からダウンロードされている実行可能アプリケーションを検出するように構成できる。ゲートウェイ装置120は、また、入ってくる実行可能アプリケーションに対して挙動分析を実行するようにも構成できる。最初の挙動分析の結果は、クライアントシステム110と共有され、クライアントシステム110は入ってくる実行可能アプリケーションを必要に応じてサンドボックスする。
モジュール、コンポーネントおよびロジック
いくつかの実施形態は、ロジック、又は、多数のコンポーネント、モジュールエンジン若しくはメカニズムとして、ここに記載されている。モジュールは、ソフトウェアモジュール(例えば、機械可読媒体に記録されたコード、又は、伝送信号に具現化されたコード)又はハードウェアモジュールを構成する。ハードウェアモジュールは、一定の動作を実行できる実体的ユニットであり、特定の方法で構成又は配置されてよい。具体例において、1以上のコンピュータシステム(例えば、スタンドアローン、クライアント、又は、サーバコンピュータシステム)、又は、コンピュータシステムの1以上のハードウェアモジュール(例えばプロセッサ又はプロセッサグループ)は、ソフトウェア(アプリケーション又はアプリケーションの部分)により、ここに記載された特定の動作群を実行するハードウェアモジュールとして、構成されてよい。
種々の実施形態において、ハードウェアモジュールは、機械的に又は電子的に実装されてよい。例えば、ハードウェアモジュールは、永続的に特定の動作を実行するように構成された専用回路又はロジック(例えば、FPGA(フィールドプログラマブルゲートアレイ)やASIC(特定用途向け集積回路)などの専用プロセッサ)からなる。ハードウェアモジュールは、また、ソフトウェアにより一時的に特定の動作を実行するよう構成されたプログラム可能なロジック又は回路(例えば汎用プロセッサ又はその他プログラム可能なプロセッサ内に含まれるもの)を具備していてもよい。なお、専用且つ永続的に構成された回路又は、一時的に構成された回路(例えばソフトウェアにより構成される)において、機械的ハードウェアモジュールを実装する決定は、コスト及び時間を考慮してなされることは、理解されるだろう。
従って、“ハードウェアモジュール”という用語は、有形の実体に包含されるものと理解されるべきであり、実体とは、物理的に形成され、特定の方法で動作するように、及び/又は、ここに記載した特定の動作群を実行するように、永続的に構成(例えばハードウェアに組み込み(配線で接続されたもの))又は一時的に構成されたもの(例えばプログラムされたもの)である。ハードウェアモジュールが一時的に構成(プログラム)された実施形態において、ハードウェアモジュールのそれぞれは、時間内で何か1つのインスタンスに構成又はインスタンス化される必要はない。例えば、ハードウェアモジュールがソフトウェアを使用するよう構成された汎用プロセッサを具備する場合、その汎用プロセッサは、異なる時間において、それぞれ異なるハードウェアモジュールとして構成される。ソフトウェアは、従って、例えば、或る時間インスタンスに特定のハードウェアモジュールを構成し、別の時間インスタンスに別のハードウェアモジュールを構成するプロセッサを構成してよい。
ハードウェアモジュールは、他のハードウェアに情報を供給でき、且つ、他のハードウェアから情報を受信できる。従って、上述したハードウェアモジュールは、通信可能に接続されているものとみなされてよい。複数のかかるハードウェアモジュールが同時に存在している場合、通信はハードウェアモジュールを接続する信号伝送を通じて(例えば適宜の回路及びバスを通じて)遂行される。複数のハードウェアモジュールが異なる時間に構成又はインスタンス化される実施形態において、それらハードウェアモジュール間の通信は、例えば、それら複数のハードウェアモジュールがアクセスを持つメモリ機構内の情報の記憶及び検索を通じて遂行される。例えば、1つのハードウェアモジュールは、或る動作を実行し、通信可能に接続されたメモリ装置に、その動作の出力を記憶するだろう。さらなるハードウェアモジュールは、そして、後に、前記動作の出力を検索し且つ処理するために前記メモリ装置にアクセスするだろう。ハードウェアモジュールは、また、入力又は出力装置との通信を開始して、或るリソース(例えば情報の集積)に作用できる。
個々に記載された方法の例の種々の動作は、少なくとも部分的には、関連する動作を実行するように一時的に構成された(例えばソフトウェアによる)又は永続的に構成された1以上のプロセッサによって実行される。一時的に構成されるか又は永続的に構成されるかのいずれにしても、かかるプロセッサは、1以上の動作又は機能を実行するように動作するプロセッサ実装モジュールを構成してよい。ここで言及したモジュールは、いくつかの実施形態では、プロセッサ実装モジュールを含む。
同様に、ここに記載された方法は、少なくとも部分的にプロセッサ実装されてよい。例えば、少なくとも方法の動作のいくつかは、1以上のプロセッサ又はプロセッサ実装モジュールにより実行される。いくつかの動作の実行は、単一の機械内に存在しているだけでなく、複数の機械にわたり配備されている、1以上のモジュールに分配されてよい。いくつかの実施形態では、1つのプロセッサ又は複数のプロセッサは、単一の場所(例えば家庭環境内、オフィス環境内、又は、サーバファームとして)に配置され、別の実施形態では、複数のプロセッサは複数の場所に分配されている。
1以上のプロセッサは、また、“クラウンドコンピューティング”環境において又はSaaSとして、関連する動作の実行を支援するように動作してもよい。例えば、少なくともいくつかの動作は、コンピュータのグループ(機械の一例としてプロセッサを含む)により実行され、それら動作は、ネットワーク(例えばインターネット)経由で、且つ、1以上の適宜のインタフェース(例えばAPI)経由でアクセス可能である。
電子機器及びシステム
具体的な実施形態は、デジタル電子回路、又は、コンピュータハードウェア、ファームウェア、ソフトウェア、又は、それらの組み合わせに実装されてよい。実施形態は、コンピュータプログラム製品(例えば、実行のための又はその動作を制御するための機械可読媒体内の、情報キャリア内に実体的に具現化されたコンピュータプログラム、データ処理機器、プログラム可能なプロセッサ、1つのコンピュータ、若しくは、複数のコンピュータ)を用いて実装されてよい。
コンピュータプログラムは、コンパイルされた又は解釈された言語を含む、どのような形式のプログラミング言語で記述されてもよく、それは、例えばスタンドアローンプログラム又はモジュール、サブルーチン、若しくは、コンピューティング環境での使用に適切なその他ユニットなどを含むどのような形式に配備されていてもよい。コンピュータプログラムは、1つのコンピュータ又は複数のコンピュータ上で実行されるように、1つのサイトに配備されるか、又は、複数のサイトに分配され、通信ネットワークにより相互に接続される。
実施形態において、動作は、入力データを処理すること及び出力を生成することにより機能を実行するコンピュータプログラムを実行する1以上のプログラム可能なプロセッサにより実行されてよい。方法動作は、また、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)など専用論理回路により実行され、且つ、実施形態の機器は、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)など専用論理回路により実装されてもよい。
コンピューティングシステムは、クライアント及びサーバで構成できる。クライアント及びサーバは、一般に、互いに離れており、典型的には、通信ネットワークを通じて相互作用する。クライアント及びサーバの関係は、各コンピュータ上で動作し、且つ、互いにクライアント‐サーバ関係を持つコンピュータプログラムの効果により生じる。プログラム可能なコンピューティングシステムを配備する実施例において、ハードウェア及びソフトウェア構造の両方が考慮を要求することがわかる。具体的には、特定の機能を、永続的に構成されたハードウェア(例えばASIC)に実装するか、又は、一時的に構成されたハードウェア(例えばソフトウェアとプログラム可能なプロセッサの組み合わせ)に実装するか、又は、永続的に構成されたハードウェアと一時的に構成されたハードウェアとの組み合わせに実装するかという選択は、設計選択事項であることがわかる。以下は、種々の実施形態において配備されるハードウェア(機械)及びソフトウェア構造を提示する。
機械構造及び機械可読媒体の例
図9は、開示されたいずれか1以上の方法を機械に実施させるための命令が実行されるコンピュータシステム900の構成例における機械のブロック図である。コンピュータシステム900は、一実施形態において、システム900を具備する。別の実施形態では、機械は、スタンドアローン装置として動作するか又は別の機械に接続(ネットワーク接続)される。ネットワーク接続された配置において、機械は、サーバとして、又は、サーバ‐クライアントネットワーク環境におけるクライアント機械として動作するか、また、Peer to Peer(ピアトゥピア)ネットワーク(又は分散型ネットワーク)環境においては、ピア機械として動作する。機械は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、Webアプライアンス、ネットワークルータ、スイッチ又はブリッジ、或いは、機械によって行われるアクションを特定する命令(シーケンシャルな又はその他の命令)を実行できるその他任意の機械であってよい。更に、1つの機械だけが描かれているが、“機械”という用語は、また、ここに開示された方法の1以上を実行するための命令のセット(又は複数のセット)を、個別に又は共同で実行する機械のどんな集積をも含むだろう。
コンピュータシステム900の一例は、プロセッサ902(例えば、中央演算処理装置(CPU)、グラフィック・プロフィッシング・ユニット(GPU)、又は、その両方)、メインメモリ904およびスタティックメモリ906からなり、これらは互いにバス908経由で通信できる。コンピュータシステム900は、更に、表示装置910(例えば液晶ディスプレイ(LCD)、又は、陰極線管(CRT))を備える。コンピュータシステム900は、また、英数字入力装置912(例えばキーボード)、ユーザインタフェース(UI)ナビゲーション装置914(例えばマウス)、ディスク駆動装置916、信号生成装置918(例えばスピーカ)及びネットワークインターフェース装置920を備える。
機械可読媒体
ディスク駆動装置916は、機械可読媒体922を含み、この機械可読媒体922には、ここに開示した方法又は機能のいずれか1つ以上を具現化する、若しくは、該方法又は機能のいずれか1つ以上により使用される1つ以上のデータ構造及び命令924のセットが記憶される。命令924は、また、完全に又は少なくとも一部、それをコンピュータ900により実行する間、メインメモリ924及び/又はプロセッサ902内に存在し、メインメモリ924及びプロセッサ902もまた機械可読媒体の構成要素となる。
実施形態において、機械可読媒体922は単一の媒体であるように示されているが、用語“機械可読媒体”は、1つ以上のデータ構造及び命令924を記憶する1つの媒体又は複数の媒体(例えば中央化された又は分散化されたデータベース、及び/又は、連携されたキャッシュ及びサーバ)を含む。用語“機械可読媒体”は、また、機械によって実行され、本発明の実施形態の方法いずれか1つ以上を機械に実行させるための命令を、記憶すること、エンコードすること、又は。運搬することができる、若しくは、かかる命令に関連付けられるか又は使用されるデータ構造を記憶すること、エンコードすること、又は、運搬することができる、どんな実体的媒体をも含むとみなされるだろう。用語“機械可読媒体”は、従って、限定はされないが、ソリッド・ステート・メモリ(半導体素子メモリ)、光学媒体、及び、磁気媒体を含むとみされるだろう。機械可読媒体の具体例としては、不揮発メモリからなり、例として、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)、及び、フラッシュメモリ装置などの半導体メモリ装置;内蔵ハードディスク及びリムーバブルディスクなどの磁気ディスク;光磁気ディスク;並びに、CD−ROM及びDVD−ROMディスクなどが含まれる。
伝送媒体
命令924は、更に、伝送媒体を用いて、通信ネットワーク926を通じて伝送又は受信されてよい。命令924は、ネットワークインターフェース装置920、及び、多数の周知の通信プロトコル(例えばHTTP)のいずれか1つを用いて、伝送される。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、携帯電話ネットワーク、POTS(Plain Old Telephone Service;アナログ電話サービス)ネットワーク、無線データ通信ネットワーク(例えば、WiFi及びWiMaxネットワーク)を含む。用語“伝送媒体”は、機械により実行するための命令を、記憶すること、エンコードすること及び運搬することのでき、且つ、デジタル又はアナログ通信信号、若しくは、かかるソフトウェアの通信を容易にするその他の無形媒体を含む、どんな無形の媒体をも含むと見なされる。
このように、ネットワークベースの市場についてユーザに文脈上の推薦するための方法及びシステムが説明された。具体的実施例を参照して、この発明の本実施形態が説明されたが、本発明の実施形態のより広い趣旨及び範囲から逸脱することなく、種々の改変及び変更がこれら実施形態になされてよいことは明白であろう。従って、明細書及び図面は、制限的趣旨よりもむしろ、例示的なものとみなされるべきである。
具体的実施例を参照して、或る実施形態が説明されてきたが、本発明の実施形態のより広い趣旨及び範囲から逸脱することなく、種々の改変及び変更がこれら実施形態になされてよいことは明白であろう。従って、明細書及び図面は、制限的趣旨よりもむしろ、例示的なものとみなされるべきである。本明細書の一部を形成する添付図面は、本発明が実施される具体的実施形態の説明のために示されており限定を目的としたものではない。図示の実施形態は、当業者が本明細書に開示された教示を実施できる程度十分に詳細に説明されている。他の実施形態は、そこから利用及び派生可能であり、この開示の範囲から逸脱することなしに、構造上及び論理上の代用及び変更がなれる。詳細な説明は、従って、限定的趣旨とみなされず、種々の実施形態の範囲は、添付の特許請求の範囲のみによって定義され、特許請求の範囲が請求する特徴の均等物の最大範囲に従う。
かかる実施形態の発明主題は、本明細書において、個別に及び/又は一体的に、用語“発明”によって、単に便宜のため、1以上が実際に開示されているならば、本願発明の範囲をいずれの1つの発明又は発明概念に自発的に制限することを意図することなく、言及された。従って、具体例がここに図示及び説明されているが、同じ目的を達成すると予測されるどのような取り合わせであっても、示された特定の実施形態に置き換わることが理解されるべきである。この開示は、種々の実施形態のいずれの改作又は変化も包含することを意図している。前述した実施形態の組み合わせ、及び、個々に具体的には示されなかったその他の実施形態は、上記の説明を検討すれば当業者には明らかとなるであろう。
この文献において言及された出版物、特許及び特許文献の全ては、個別に援用されたかのように、全ての記載内容を本明細書内に援用される。この文献と、援用された文献群との間で一致しない取り扱いがある場合には、援用記載における取り扱いは、この文章のその追加とみなされる;調停不可能な不一致については、この文献の取り扱いが支配する。
この文献において、用語“或る”(a又はan)は、特許文献において通例であるように、“少なくとも1つ”又は“1以上”の他のいずれの事例又は取り扱いとも別に、1又は1以上を含むように使用される。この文献において、用語“又は”(or)は、非排他的に、又は、“A又はB”が、特に指摘のない限り、“AであるがBではない”、“AであるがBではない”、“BであるがAではない”、及び、“A及びB”を含むように、言及されている。添付の特許請求の範囲において、“からなる”(including)及び“であって”(in which)は、それぞれ、用語“具備する”(comprise)及び“において”(wherein)の平易な相当語として使用されている。また、以下の特許請求の範囲おいて、“からなる”及び“構成する”は、オープンエンド(拡張可能)であり、特許請求の範囲おいてそのような用語に関して一覧記載されたものに加えて、更に要素を含むシステム、装置、物品(article)
又は処理は、当該請求範囲の範囲内に入るものとみなされる。さらに、以下の特許請求の範囲において、“第1”、“第2”、“第3”などの用語は、それが使用される場合は、単なるラベルとして使用されており、それらの対象物に数的要求を課することを意図しているのではない。
この開示の要約は、技術的開示の特徴を、読者が迅速に確認することを可能とする要約を要求する、37C.F.R §1.72(b)に従って、提供される。それは、特許請求の範囲の範囲又は意味を解釈又は制限するために使用されないことを理解されたい。さらに、上述の発明の詳細な説明では、開示を効率化する目的で、1つの実施形態において様々な機能が互いにグループ化されていることがわかる。このような開示の方法は、特許請求された実施形態が、各請求項において明示的に引用されるよりも多くの特徴を要求する、という意図を表すことと解釈されるべきではない。むしろ、以下の特許請求の範囲が表す通り、本発明の主題は、開示された1つの実施形態の全ての機能よりも少ない。したがって、以下の特許請求の範囲は、本発明の詳細な説明に組み込まれ、各請求項は、個別の実施形態として自立している。

Claims (24)

  1. 第1実行環境とサンドボックス実行環境とを含む複数の実行環境を有するシステムにおいて、実行環境を決定するための方法であって、
    ネットワーク接続から実行可能アプリケーションを受信する手順と、
    前記実行可能アプリケーションの実行に先立って、該実行可能アプリケーションに対して、挙動分析を行う手順と、
    前記挙動分析の機能として、前記実行環境を決定する手順と、
    前記挙動分析がサンドボックスされた実行を指示している場合、前記サンドボックス実行環境内で前記実行可能アプリケーションの実行を開始する手順と、
    前記挙動分析がサンドボックスされた実行以外を指示している場合、前記第1実行環境内で前記実行可能アプリケーションの実行を開始する手順と、
    前記実行可能アプリケーションが実行されているとき、該実行可能アプリケーションの挙動特徴を収集する手順、
    前記実行可能アプリケーションの実行位置が変更されるべきかどうかを決定するために、前記収集された挙動特徴に対して挙動分析を行う手順と
    を具備することを特徴とする方法。
  2. 前記実行可能アプリケーションの実行に先立って挙動分析を行う手順は、該実行可能アプリケーションの起源について指標を提供する、当該実行可能アプリケーションに関連付けられた1以上の特徴を評価する手順からなることを特徴とする請求項1に記載の方法。
  3. 前記実行可能アプリケーションの実行に先立って挙動分析を行う手順は、更に、該実行可能アプリケーションが作用するリソースの分析を含むことを特徴とする請求項1又は2に記載の方法。
  4. 前記1以上の特徴は、以下の、
    前記実行可能アプリケーションを受信したネットワークアドレス、
    前記実行可能アプリケーションに要求されたプロセスの信頼レベル、
    信頼されたソースからの署名された証明書、
    及び、疑わしい又はポリシー外の活動の事前実行
    のうちの1つ以上を含むことを特徴とする請求項2に記載の方法。
  5. 前記サンドボックス実行環境内で前記実行可能アプリケーションの実行を開始する手順は、該実行可能アプリケーションの実行に先立って、該サンドボックス実行環境に適用する制限の範囲を決定する手順からなることを特徴とする請求項1又は2に記載の方法。
  6. 前記制限の範囲を決定する手順は、前記サンドボックス実行環境内において、どの種類の活動が抑制されるべきかを決定する手順からなることを特徴とする請求項5に記載の方法。
  7. 前記制限の範囲を決定する手順は、前記サンドボックス実行環境内において、前記実行可能アプリケーションにより行われる動作に対する処置を決定する手順からなることを特徴とする請求項5に記載の方法。
  8. 前記収集された挙動特徴に対して挙動分析を行う手順は、
    リソースファイルを開くこと、
    プラグインをロードすること、
    別のプロセスによる操作、
    別のプロセスを操作すること、
    及び、インターネットにアクセスすること
    を含む潜在的に悪意のある活動を検出する手順からなることを特徴とする請求項1に記載の方法。
  9. 前記実行環境を決定する手順は、セキュリティポリシーを適用する手順からなることを特徴とする請求項1、2、8のいずれかに記載の方法。
  10. 前記実行環境を決定する手順は、前記サンドボックス実行環境内で実行されるべき前記実行可能アプリケーションの部分を決定する手順からなることを特徴とする請求項1、2、8のいずれかに記載の方法。
  11. 前記実行可能アプリケーションの部分は、
    ファイバー、
    スレッド、
    プロセス、
    ダイナミックリンクライブラリ、
    スクリプト、
    又は、プラグインコンポーネント
    を含むことを特徴とする請求項10に記載の方法。
  12. 実行可能アプリケーションのソースと通信可能に接続されたネットワークと、
    前記ネットワークと通信可能に接続されたコンピュータであって、前記ネットワークを通じてダウンロードされた実行可能アプリケーションに対して挙動分析を実行するように構成された挙動分析モジュールと、標準実行環境と、前記実行可能アプリケーションによって実行される悪意ある動作から前記コンピュータを保護する自己完結型の実行環境を提供するように構成された保護された実行環境とを含む複数の実行環境とを具備するコンピュータと、
    を具備するシステムにおいて、
    前記挙動分析モジュールは、前記実行可能アプリケーションの実行に先立って、当該実行可能アプリケーションが前記保護された実行環境内で実行されるべきかどうかを決定するために、該実行可能アプリケーションの複数の挙動特徴を評価し、且つ、
    前記挙動分析モジュールは、前記実行環境を変更できるかどうか決定するために、前記実行可能アプリケーションの実行をモニタする
    ことを特徴とするシステム。
  13. 前記挙動分析モジュールは、前記実行可能アプリケーションに関連付けられた特徴を評価するように構成されており、前記特徴は、前記実行可能アプリケーションの前記ソースが信頼できるかどうかについてのについて指標を提供するものであることを特徴とする請求項12に記載のシステム。
  14. 前記挙動分析モジュールは、以下の、
    前記実行可能アプリケーションを受信したネットワークアドレス、
    前記実行可能アプリケーションに要求されたプロセスの信頼レベル、
    信頼されたソースからの署名された証明書、
    及び、疑わしい又はポリシー外の活動の事前実行
    のうちの2つ以上を含む複数の特徴を評価するように構成されることを特徴とする請求項12又は13に記載のシステム。
  15. 前記挙動分析モジュールは、前記実行可能アプリケーションの実行に先立って、該実行可能アプリケーションが作用するリソースを分析するように構成されることを特徴とする請求項12に記載のシステム。
  16. 前記挙動分析モジュールは、前記保護された実行環境が前記実行可能アプリケーションの実行を制御するために使用するだろう制限の範囲を決定するように構成されることを特徴とする請求項12,13、15のいずれかに記載のシステム。
  17. 前記挙動分析モジュールは、前記保護された実行環境内において、どの種類の活動が抑制されるべきかを決定するように構成されることを特徴とする請求項16に記載のシステム。
  18. 前記挙動分析モジュールは、前記保護された実行環境による使用のために前記制限の範囲が決定したときに、セキュリティポリシーを適用するように構成されることを特徴とする請求項16に記載のシステム。
  19. 前記挙動分析モジュールは、前記保護された実行環境内において、前記実行可能アプリケーションにより行われた動作に対する処置を決定するように構成されることを特徴とする請求項12、13、15のいずれかに記載のシステム。
  20. 前記挙動分析モジュールは、
    リソースファイルを開くこと、
    プラグインをロードすること、
    別のプロセスによる操作、
    別のプロセスを操作すること、
    及び、インターネットにアクセスすること
    を含む潜在的に悪意のある活動を検出するように構成されることを特徴とする請求項12、13、15のいずれかに記載のシステム。
  21. 前記挙動分析モジュールは、前記実行可能アプリケーションが前記保護された実行環境内で実行されるべきかどうかを決定するために該実行可能アプリケーションの複数の挙動特徴を評価するときに、セキュリティポリシーを適用するように構成されることを特徴とする請求項12、13、15のいずれかに記載のシステム。
  22. 前記挙動分析モジュールは、前記保護された実行環境内で実行されるべき前記実行可能アプリケーションの部分を決定するように構成されることを特徴とする請求項12、13、15のいずれかに記載のシステム。
  23. 前記実行可能アプリケーションの部分は、
    ファイバー、
    スレッド、
    プロセス、
    ダイナミックリンクライブラリ、
    スクリプト、
    又は、プラグインコンポーネント
    を含むことを特徴とする請求項22に記載のシステム。
  24. 命令群を記憶したコンピュータ読み取り可能な記憶媒体であって、前記命令群は、該命令群がコンピュータによって実行されるとき、
    ネットワーク接続を通じて実行可能アプリケーションを受信する手順と、
    前記実行可能アプリケーションの実行に先立って、該実行可能アプリケーションに対して挙動分析を実行する手順と、
    前記挙動分析の実行に基づいて、サンドボックス環境内で、前記実行可能アプリケーションの実行を開始するかどうかを決定する手順と、
    前記サンドボックス環境内で前記実行可能アプリケーションの実行を開始する手順と、
    前記サンドボックス環境内で前記実行可能アプリケーションが実行されているとき、前記実行可能アプリケーションの挙動特徴を動的にモニタする手順と、
    前記サンドボックス環境から前記実行可能アプリケーションを移動できるかどうか決定するために、前記モニタされた挙動特徴に対する挙動分析を行う手順と、
    前記モニタされた挙動特徴の前記挙動分析に基づいて、前記実行可能アプリケーションを前記サンドボックス環境から移動する手順と
    からなる方法を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記憶媒体。
JP2012544720A 2009-12-15 2010-12-14 挙動サンドボックスのためのシステム及び方法 Active JP5592956B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/638,660 US8479286B2 (en) 2009-12-15 2009-12-15 Systems and methods for behavioral sandboxing
US12/638,660 2009-12-15
PCT/US2010/060340 WO2011084431A2 (en) 2009-12-15 2010-12-14 Systems and methods for behavioral sandboxing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014157789A Division JP5957492B2 (ja) 2009-12-15 2014-08-01 挙動サンドボックスのためのシステム及び方法

Publications (2)

Publication Number Publication Date
JP2013514594A true JP2013514594A (ja) 2013-04-25
JP5592956B2 JP5592956B2 (ja) 2014-09-17

Family

ID=44144450

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012544720A Active JP5592956B2 (ja) 2009-12-15 2010-12-14 挙動サンドボックスのためのシステム及び方法
JP2014157789A Active JP5957492B2 (ja) 2009-12-15 2014-08-01 挙動サンドボックスのためのシステム及び方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014157789A Active JP5957492B2 (ja) 2009-12-15 2014-08-01 挙動サンドボックスのためのシステム及び方法

Country Status (6)

Country Link
US (2) US8479286B2 (ja)
EP (1) EP2513805B1 (ja)
JP (2) JP5592956B2 (ja)
KR (1) KR101442654B1 (ja)
CN (2) CN102741824B (ja)
WO (1) WO2011084431A2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013137612A (ja) * 2011-12-28 2013-07-11 Kddi Corp アプリケーション解析装置、アプリケーション解析システム、およびプログラム
JP2015230601A (ja) * 2014-06-05 2015-12-21 株式会社日立システムズ プログラム解析装置、プログラム解析方法及びプログラム解析システム
JP2016522511A (ja) * 2013-06-12 2016-07-28 ソフトキャンプ カンパニー,リミテッド システムを保護するためのファイルセキュリティ用の管理装置と管理方法
WO2016121348A1 (ja) * 2015-01-29 2016-08-04 日本電気株式会社 マルウェア対策装置、マルウェア対策システム、マルウェア対策方法、及び、マルウェア対策プログラムが格納された記録媒体
JP2016534460A (ja) * 2013-08-28 2016-11-04 アマゾン テクノロジーズ インク 動的アプリケーションセキュリティ検証
JP2016192139A (ja) * 2015-03-31 2016-11-10 株式会社日立アドバンストシステムズ マルウェア解析装置およびマルウェア解析方法
WO2016203759A1 (ja) * 2015-06-16 2016-12-22 日本電気株式会社 分析システム、分析方法、分析装置及び、コンピュータ・プログラムが記憶された記録媒体
JP2017021773A (ja) * 2015-06-30 2017-01-26 エーオー カスペルスキー ラボAO Kaspersky Lab 望ましくないプログラムのインストール及び実行を予防するシステム及び方法
US9898445B2 (en) 2012-08-16 2018-02-20 Qualcomm Incorporated Resource prefetching via sandboxed execution
JP2018536932A (ja) * 2015-11-09 2018-12-13 クアルコム,インコーポレイテッド 動的ハニーポットシステム

Families Citing this family (380)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US9106694B2 (en) 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US8898788B1 (en) 2004-04-01 2014-11-25 Fireeye, Inc. Systems and methods for malware attack prevention
US8856782B2 (en) 2007-03-01 2014-10-07 George Mason Research Foundation, Inc. On-demand disposable virtual work system
US8959624B2 (en) 2007-10-31 2015-02-17 Bank Of America Corporation Executable download tracking system
US9098698B2 (en) 2008-09-12 2015-08-04 George Mason Research Foundation, Inc. Methods and apparatus for application isolation
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US9026668B2 (en) 2012-05-26 2015-05-05 Free Stream Media Corp. Real-time and retargeted advertising on multiple screens of a user watching television
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US8180891B1 (en) 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
US10419541B2 (en) 2008-11-26 2019-09-17 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US8745361B2 (en) 2008-12-02 2014-06-03 Microsoft Corporation Sandboxed execution of plug-ins
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
US9954875B2 (en) 2009-06-26 2018-04-24 International Business Machines Corporation Protecting from unintentional malware download
US9298894B2 (en) 2009-06-26 2016-03-29 International Business Machines Corporation Cache structure for a computer system providing support for secure objects
US9846789B2 (en) * 2011-09-06 2017-12-19 International Business Machines Corporation Protecting application programs from malicious software or malware
US8578175B2 (en) 2011-02-23 2013-11-05 International Business Machines Corporation Secure object having protected region, integrity tree, and unprotected region
US8819446B2 (en) 2009-06-26 2014-08-26 International Business Machines Corporation Support for secure objects in a computer system
US8839422B2 (en) 2009-06-30 2014-09-16 George Mason Research Foundation, Inc. Virtual browsing environment
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
US8479286B2 (en) 2009-12-15 2013-07-02 Mcafee, Inc. Systems and methods for behavioral sandboxing
US9185064B2 (en) * 2010-01-15 2015-11-10 Microsoft Technology Licensing, Llc Interactive email
US8782209B2 (en) 2010-01-26 2014-07-15 Bank Of America Corporation Insider threat correlation tool
US8793789B2 (en) 2010-07-22 2014-07-29 Bank Of America Corporation Insider threat correlation tool
US8800034B2 (en) 2010-01-26 2014-08-05 Bank Of America Corporation Insider threat correlation tool
US9038187B2 (en) * 2010-01-26 2015-05-19 Bank Of America Corporation Insider threat correlation tool
US8813232B2 (en) 2010-03-04 2014-08-19 Mcafee Inc. Systems and methods for risk rating and pro-actively detecting malicious online ads
US8918867B1 (en) * 2010-03-12 2014-12-23 8X8, Inc. Information security implementations with extended capabilities
US9390263B2 (en) 2010-03-31 2016-07-12 Sophos Limited Use of an application controller to monitor and control software file and application environments
US8782794B2 (en) 2010-04-16 2014-07-15 Bank Of America Corporation Detecting secure or encrypted tunneling in a computer network
US9491055B1 (en) * 2010-04-21 2016-11-08 Sprint Communications Company L.P. Determining user communities in communication networks
US9836724B2 (en) 2010-04-23 2017-12-05 Microsoft Technology Licensing, Llc Email views
US9098333B1 (en) * 2010-05-07 2015-08-04 Ziften Technologies, Inc. Monitoring computer process resource usage
US9148428B1 (en) 2011-05-25 2015-09-29 Bromium, Inc. Seamless management of untrusted data using virtual machines
US9104837B1 (en) * 2012-06-18 2015-08-11 Bromium, Inc. Exposing subset of host file systems to restricted virtual machines based on upon performing user-initiated actions against host files
US9116733B2 (en) * 2010-05-28 2015-08-25 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
US9323921B2 (en) * 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
US9246932B2 (en) * 2010-07-19 2016-01-26 Sitelock, Llc Selective website vulnerability and infection testing
US8918645B2 (en) 2010-09-24 2014-12-23 Amazon Technologies, Inc. Content selection and delivery for random devices
US8606948B2 (en) * 2010-09-24 2013-12-10 Amazon Technologies, Inc. Cloud-based device interaction
US8789138B2 (en) * 2010-12-27 2014-07-22 Microsoft Corporation Application execution in a restricted application execution environment
JP5739182B2 (ja) 2011-02-04 2015-06-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 制御システム、方法およびプログラム
US9111089B1 (en) * 2011-02-08 2015-08-18 Symantec Corporation Systems and methods for safely executing programs
JP5731223B2 (ja) 2011-02-14 2015-06-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 異常検知装置、監視制御システム、異常検知方法、プログラムおよび記録媒体
US20120210436A1 (en) * 2011-02-14 2012-08-16 Alan Rouse System and method for fingerprinting in a cloud-computing environment
JP5689333B2 (ja) * 2011-02-15 2015-03-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 異常検知システム、異常検知装置、異常検知方法、プログラムおよび記録媒体
US9864853B2 (en) 2011-02-23 2018-01-09 International Business Machines Corporation Enhanced security mechanism for authentication of users of a system
US8769305B2 (en) * 2011-03-21 2014-07-01 Moncana Corporation Secure execution of unsecured apps on a device
US9396325B2 (en) 2011-03-21 2016-07-19 Mocana Corporation Provisioning an app on a device and implementing a keystore
US9473485B2 (en) 2011-03-21 2016-10-18 Blue Cedar Networks, Inc. Secure single sign-on for a group of wrapped applications on a computing device and runtime credential sharing
US8812868B2 (en) 2011-03-21 2014-08-19 Mocana Corporation Secure execution of unsecured apps on a device
US8955142B2 (en) * 2011-03-21 2015-02-10 Mocana Corporation Secure execution of unsecured apps on a device
US8806647B1 (en) * 2011-04-25 2014-08-12 Twitter, Inc. Behavioral scanning of mobile applications
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
US9921860B1 (en) 2011-05-25 2018-03-20 Bromium, Inc. Isolation of applications within a virtual machine
US8099596B1 (en) * 2011-06-30 2012-01-17 Kaspersky Lab Zao System and method for malware protection using virtualization
US8825748B2 (en) * 2011-07-06 2014-09-02 Sharp Laboratories Of America, Inc. Sandboxed daemon process invocation through HTTP
CN102289628A (zh) * 2011-07-21 2011-12-21 浙江大学城市学院 基于沙箱技术的shell脚本安全运行方法及系统
US9813310B1 (en) * 2011-10-31 2017-11-07 Reality Analytics, Inc. System and method for discriminating nature of communication traffic transmitted through network based on envelope characteristics
US9519781B2 (en) * 2011-11-03 2016-12-13 Cyphort Inc. Systems and methods for virtualization and emulation assisted malware detection
US9792430B2 (en) 2011-11-03 2017-10-17 Cyphort Inc. Systems and methods for virtualized malware detection
US9686293B2 (en) 2011-11-03 2017-06-20 Cyphort Inc. Systems and methods for malware detection and mitigation
US8590041B2 (en) * 2011-11-28 2013-11-19 Mcafee, Inc. Application sandboxing using a dynamic optimization framework
GB2492857B (en) * 2011-11-30 2013-07-17 Avecto Ltd Method and computer device to control software file downloads
US9081959B2 (en) * 2011-12-02 2015-07-14 Invincea, Inc. Methods and apparatus for control and detection of malicious content using a sandbox environment
US9389933B2 (en) 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US8935755B1 (en) * 2012-02-06 2015-01-13 Google Inc. Managing permissions and capabilities of web applications and browser extensions based on install location
US9075913B2 (en) 2012-02-27 2015-07-07 Qualcomm Incorporated Validation of applications for graphics processing unit
WO2013140403A1 (en) * 2012-03-21 2013-09-26 Green Sql Ltd. Database antivirus system and method
US9826017B1 (en) * 2012-05-03 2017-11-21 Google Inc. Securely serving results of dynamic user-provided code over the web
US9027102B2 (en) 2012-05-11 2015-05-05 Sprint Communications Company L.P. Web server bypass of backend process on near field communications and secure element chips
US9104873B1 (en) * 2012-05-21 2015-08-11 Symantec Corporation Systems and methods for determining whether graphics processing units are executing potentially malicious processes
US9003475B1 (en) * 2012-06-05 2015-04-07 Symantec Corporation Systems and methods for applying data-loss-prevention policies
US9241009B1 (en) 2012-06-07 2016-01-19 Proofpoint, Inc. Malicious message detection and processing
US9727534B1 (en) 2012-06-18 2017-08-08 Bromium, Inc. Synchronizing cookie data using a virtualized browser
US9734131B1 (en) 2012-06-18 2017-08-15 Bromium, Inc. Synchronizing history data across a virtualized web browser
US10095662B1 (en) 2012-06-18 2018-10-09 Bromium, Inc. Synchronizing resources of a virtualized browser
US9282898B2 (en) 2012-06-25 2016-03-15 Sprint Communications Company L.P. End-to-end trusted communications infrastructure
US9066230B1 (en) 2012-06-27 2015-06-23 Sprint Communications Company L.P. Trusted policy and charging enforcement function
US8649770B1 (en) 2012-07-02 2014-02-11 Sprint Communications Company, L.P. Extended trusted security zone radio modem
US8667607B2 (en) 2012-07-24 2014-03-04 Sprint Communications Company L.P. Trusted security zone access to peripheral devices
US9183412B2 (en) 2012-08-10 2015-11-10 Sprint Communications Company L.P. Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US9215180B1 (en) 2012-08-25 2015-12-15 Sprint Communications Company L.P. File retrieval in real-time brokering of digital content
US9015068B1 (en) 2012-08-25 2015-04-21 Sprint Communications Company L.P. Framework for real-time brokering of digital content delivery
US9213827B2 (en) * 2012-09-27 2015-12-15 Intel Corporation Security data aggregation and business intelligence for web applications
US9430640B2 (en) 2012-09-28 2016-08-30 Intel Corporation Cloud-assisted method and service for application security verification
CN104718533B (zh) * 2012-10-08 2017-07-21 慧与发展有限责任合伙企业 企业设备的硬件故障管理系统、方法及架构
CN102930203B (zh) * 2012-10-12 2015-08-26 浙江大学城市学院 一种轻量级JavaScript沙箱的实现方法
US9135436B2 (en) 2012-10-19 2015-09-15 The Aerospace Corporation Execution stack securing process
FR2997529B1 (fr) * 2012-10-29 2015-12-25 Pradeo Security Systems Procede et systeme de verification de la securite d’une application en vue de son utilisation sur un appareil utilisateur.
US9069766B2 (en) * 2012-11-02 2015-06-30 Microsoft Technology Licensing, Llc Content-based isolation for computing device security
US9445112B2 (en) * 2012-12-06 2016-09-13 Microsoft Technology Licensing, Llc Secure transcoding of video data
US9197446B2 (en) * 2012-12-12 2015-11-24 Google Inc. Address pinning
US8918837B2 (en) 2012-12-28 2014-12-23 Intel Corporation Web application container for client-level runtime control
US10572665B2 (en) 2012-12-28 2020-02-25 Fireeye, Inc. System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events
US9300760B2 (en) * 2013-01-28 2016-03-29 Google Inc. Machine-specific instruction set translation
CN103116722A (zh) * 2013-02-06 2013-05-22 北京奇虎科技有限公司 一种通知栏消息的处理方法、装置和系统
US9578664B1 (en) 2013-02-07 2017-02-21 Sprint Communications Company L.P. Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system
US9161227B1 (en) 2013-02-07 2015-10-13 Sprint Communications Company L.P. Trusted signaling in long term evolution (LTE) 4G wireless communication
CN105074718A (zh) * 2013-02-15 2015-11-18 高通股份有限公司 具有多个分析仪模型提供商的移动设备中的在线行为分析引擎
US9195829B1 (en) 2013-02-23 2015-11-24 Fireeye, Inc. User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications
US9824209B1 (en) 2013-02-23 2017-11-21 Fireeye, Inc. Framework for efficient security coverage of mobile software applications that is usable to harden in the field code
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US9159035B1 (en) 2013-02-23 2015-10-13 Fireeye, Inc. Framework for computer application analysis of sensitive information tracking
US9367681B1 (en) 2013-02-23 2016-06-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application
US9009823B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US8990944B1 (en) 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9009822B1 (en) * 2013-02-23 2015-04-14 Fireeye, Inc. Framework for multi-phase analysis of mobile applications
US9104840B1 (en) 2013-03-05 2015-08-11 Sprint Communications Company L.P. Trusted security zone watermark
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US9613208B1 (en) 2013-03-13 2017-04-04 Sprint Communications Company L.P. Trusted security zone enhanced with trusted hardware drivers
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9565202B1 (en) 2013-03-13 2017-02-07 Fireeye, Inc. System and method for detecting exfiltration content
US9311479B1 (en) 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack
US9430646B1 (en) 2013-03-14 2016-08-30 Fireeye, Inc. Distributed systems and methods for automatically detecting unknown bots and botnets
US9049013B2 (en) 2013-03-14 2015-06-02 Sprint Communications Company L.P. Trusted security zone containers for the protection and confidentiality of trusted service manager data
US9781118B2 (en) 2013-03-14 2017-10-03 Intel Corporation Differentiated containerization and execution of web content based on trust level and other attributes
US9191388B1 (en) 2013-03-15 2015-11-17 Sprint Communications Company L.P. Trusted security zone communication addressing on an electronic device
US9251343B1 (en) 2013-03-15 2016-02-02 Fireeye, Inc. Detecting bootkits resident on compromised computers
US9374363B1 (en) 2013-03-15 2016-06-21 Sprint Communications Company L.P. Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device
US9413781B2 (en) 2013-03-15 2016-08-09 Fireeye, Inc. System and method employing structured intelligence to verify and contain threats at endpoints
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
US9021585B1 (en) 2013-03-15 2015-04-28 Sprint Communications Company L.P. JTAG fuse vulnerability determination and protection using a trusted execution environment
EP2782038A1 (en) * 2013-03-19 2014-09-24 STMicroelectronics (Grenoble 2) SAS Resource management in a processor for trusted and untrusted applications
EP2782010A1 (en) 2013-03-19 2014-09-24 STMicroelectronics (Grenoble 2) SAS Hierarchical resource management
US9324016B1 (en) 2013-04-04 2016-04-26 Sprint Communications Company L.P. Digest of biographical information for an electronic device with static and dynamic portions
US9171243B1 (en) 2013-04-04 2015-10-27 Sprint Communications Company L.P. System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device
US9454723B1 (en) 2013-04-04 2016-09-27 Sprint Communications Company L.P. Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device
US9838869B1 (en) 2013-04-10 2017-12-05 Sprint Communications Company L.P. Delivering digital content to a mobile device via a digital rights clearing house
US9443088B1 (en) 2013-04-15 2016-09-13 Sprint Communications Company L.P. Protection for multimedia files pre-downloaded to a mobile device
US8910285B2 (en) 2013-04-19 2014-12-09 Lastline, Inc. Methods and systems for reciprocal generation of watch-lists and malware signatures
US9361459B2 (en) 2013-04-19 2016-06-07 Lastline, Inc. Methods and systems for malware detection based on environment-dependent behavior
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9635039B1 (en) 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US9069952B1 (en) * 2013-05-20 2015-06-30 Sprint Communications Company L.P. Method for enabling hardware assisted operating system region for safe execution of untrusted code using trusted transitional memory
US9560519B1 (en) 2013-06-06 2017-01-31 Sprint Communications Company L.P. Mobile communication device profound identity brokering framework
US9536091B2 (en) 2013-06-24 2017-01-03 Fireeye, Inc. System and method for detecting time-bomb malware
US10133863B2 (en) 2013-06-24 2018-11-20 Fireeye, Inc. Zero-day discovery system
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
US9888016B1 (en) 2013-06-28 2018-02-06 Fireeye, Inc. System and method for detecting phishing using password prediction
US9183606B1 (en) 2013-07-10 2015-11-10 Sprint Communications Company L.P. Trusted processing location within a graphics processing unit
US8943592B1 (en) * 2013-07-15 2015-01-27 Eset, Spol. S.R.O. Methods of detection of software exploitation
US9208339B1 (en) 2013-08-12 2015-12-08 Sprint Communications Company L.P. Verifying Applications in Virtual Environments Using a Trusted Security Zone
CN103646213B (zh) * 2013-09-26 2016-06-01 北京神州绿盟信息安全科技股份有限公司 一种恶意软件的分类方法和装置
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US9736179B2 (en) 2013-09-30 2017-08-15 Fireeye, Inc. System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
US10192052B1 (en) 2013-09-30 2019-01-29 Fireeye, Inc. System, apparatus and method for classifying a file as malicious using static scanning
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
CN110717178A (zh) 2013-10-18 2020-01-21 诺基亚技术有限公司 用于操作和监测针对电子设备中的应用的权限的方法和系统
US9185626B1 (en) 2013-10-29 2015-11-10 Sprint Communications Company L.P. Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
US9191522B1 (en) 2013-11-08 2015-11-17 Sprint Communications Company L.P. Billing varied service based on tier
US9225715B2 (en) * 2013-11-14 2015-12-29 Globalfoundries U.S. 2 Llc Securely associating an application with a well-known entity
US9161325B1 (en) 2013-11-20 2015-10-13 Sprint Communications Company L.P. Subscriber identity module virtualization
US9189627B1 (en) 2013-11-21 2015-11-17 Fireeye, Inc. System, apparatus and method for conducting on-the-fly decryption of encrypted objects for malware detection
EP2881883B1 (en) * 2013-12-05 2018-04-11 AO Kaspersky Lab System and method for reducing load on an operating system when executing antivirus operations
RU2571723C2 (ru) 2013-12-05 2015-12-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
US9235692B2 (en) 2013-12-13 2016-01-12 International Business Machines Corporation Secure application debugging
WO2015094356A1 (en) * 2013-12-20 2015-06-25 Intel Corporation Crowd sourced online application cache management
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9507935B2 (en) 2014-01-16 2016-11-29 Fireeye, Inc. Exploit detection system with threat-aware microvisor
US9118655B1 (en) 2014-01-24 2015-08-25 Sprint Communications Company L.P. Trusted display and transmission of digital ticket documentation
US10430614B2 (en) * 2014-01-31 2019-10-01 Bromium, Inc. Automatic initiation of execution analysis
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
US9596264B2 (en) 2014-02-18 2017-03-14 Proofpoint, Inc. Targeted attack protection using predictive sandboxing
DE102014203164A1 (de) * 2014-02-21 2015-08-27 Siemens Aktiengesellschaft Analysesystem und Verfahren zum dynamischen Konfigurieren eines Analysesystems
US10326778B2 (en) 2014-02-24 2019-06-18 Cyphort Inc. System and method for detecting lateral movement and data exfiltration
US11405410B2 (en) 2014-02-24 2022-08-02 Cyphort Inc. System and method for detecting lateral movement and data exfiltration
US10225280B2 (en) 2014-02-24 2019-03-05 Cyphort Inc. System and method for verifying and detecting malware
US10095866B2 (en) 2014-02-24 2018-10-09 Cyphort Inc. System and method for threat risk scoring of security threats
US9241010B1 (en) 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10242185B1 (en) 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9226145B1 (en) 2014-03-28 2015-12-29 Sprint Communications Company L.P. Verification of mobile device integrity during activation
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
US9432389B1 (en) 2014-03-31 2016-08-30 Fireeye, Inc. System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object
US9684787B2 (en) 2014-04-08 2017-06-20 Qualcomm Incorporated Method and system for inferring application states by performing behavioral analysis operations in a mobile device
US9530006B2 (en) * 2014-04-11 2016-12-27 Oracle International Corporation Method and system for performing a memory safety check of a program written in an unmanaged programming language
CN103970574B (zh) * 2014-05-22 2017-07-14 北京奇虎科技有限公司 office程序的运行方法及装置、计算机系统
US9563488B2 (en) 2014-05-29 2017-02-07 Apple Inc. Sharing extension points to allow an application to share content via a sharing extension
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US9398028B1 (en) 2014-06-26 2016-07-19 Fireeye, Inc. System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
US9230085B1 (en) 2014-07-29 2016-01-05 Sprint Communications Company L.P. Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services
US9363280B1 (en) 2014-08-22 2016-06-07 Fireeye, Inc. System and method of detecting delivery of malware using cross-customer data
US10671726B1 (en) 2014-09-22 2020-06-02 Fireeye Inc. System and method for malware analysis using thread-level event monitoring
US9356969B2 (en) 2014-09-23 2016-05-31 Intel Corporation Technologies for multi-factor security analysis and runtime control
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9773112B1 (en) 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US10498746B2 (en) * 2014-10-02 2019-12-03 AVAST Software s.r.o. Cloud based reputation system for browser extensions and toolbars
US10073976B2 (en) * 2014-10-24 2018-09-11 Samsung Electronics Co., Ltd. Application executing method and device, and recording medium thereof
US9535731B2 (en) * 2014-11-21 2017-01-03 International Business Machines Corporation Dynamic security sandboxing based on intruder intent
US10242082B2 (en) * 2014-12-12 2019-03-26 Microsoft Technology Licensing, Llc Context-driven multi-user communication
CN104573515A (zh) * 2014-12-19 2015-04-29 百度在线网络技术(北京)有限公司 一种病毒处理方法、装置和系统
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US10075455B2 (en) 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US9779232B1 (en) 2015-01-14 2017-10-03 Sprint Communications Company L.P. Trusted code generation and verification to prevent fraud from maleficent external devices that capture data
US9838868B1 (en) 2015-01-26 2017-12-05 Sprint Communications Company L.P. Mated universal serial bus (USB) wireless dongles configured with destination addresses
KR102320149B1 (ko) * 2015-02-16 2021-11-01 삼성전자주식회사 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
CN104766006B (zh) * 2015-03-18 2019-03-12 百度在线网络技术(北京)有限公司 一种确定危险文件所对应的行为信息的方法和装置
US9690606B1 (en) 2015-03-25 2017-06-27 Fireeye, Inc. Selective system call monitoring
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US9438613B1 (en) 2015-03-30 2016-09-06 Fireeye, Inc. Dynamic content activation for automated analysis of embedded objects
US9912681B1 (en) 2015-03-31 2018-03-06 Fireeye, Inc. Injection of content processing delay in an endpoint
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US9473945B1 (en) 2015-04-07 2016-10-18 Sprint Communications Company L.P. Infrastructure for secure short message transmission
US9654485B1 (en) 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
US9594904B1 (en) 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
US10230750B2 (en) * 2015-06-08 2019-03-12 Securboration, Inc. Secure computing environment
US9600682B2 (en) * 2015-06-08 2017-03-21 Accenture Global Services Limited Mapping process changes
EP3314509A4 (en) * 2015-06-27 2018-12-05 McAfee, LLC Mitigation of malware
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US20170039390A1 (en) * 2015-08-08 2017-02-09 James Alexander KING Methods and systems for privacy preserving third party extension
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
US9819679B1 (en) 2015-09-14 2017-11-14 Sprint Communications Company L.P. Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers
US10176321B2 (en) 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US9465714B1 (en) * 2015-09-22 2016-10-11 International Business Machines Corporation Adaptive runtime for a multiprocessing API
US10033747B1 (en) 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
US10817606B1 (en) 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US9825989B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US10601865B1 (en) 2015-09-30 2020-03-24 Fireeye, Inc. Detection of credential spearphishing attacks using email analysis
US9825976B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US9977896B2 (en) 2015-10-08 2018-05-22 Digital Guardian, Inc. Systems and methods for generating policies for an application using a virtualized environment
US10043026B1 (en) * 2015-11-09 2018-08-07 8X8, Inc. Restricted replication for protection of replicated databases
US10021120B1 (en) 2015-11-09 2018-07-10 8X8, Inc. Delayed replication for protection of replicated databases
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
US10282719B1 (en) 2015-11-12 2019-05-07 Sprint Communications Company L.P. Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit
US10474819B2 (en) * 2015-11-20 2019-11-12 Lastline, Inc. Methods and systems for maintaining a sandbox for use in malware detection
US9817992B1 (en) 2015-11-20 2017-11-14 Sprint Communications Company Lp. System and method for secure USIM wireless network access
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US10621338B1 (en) 2015-12-30 2020-04-14 Fireeye, Inc. Method to detect forgery and exploits using last branch recording registers
US10050998B1 (en) 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US10565378B1 (en) 2015-12-30 2020-02-18 Fireeye, Inc. Exploit of privilege detection framework
US10133866B1 (en) 2015-12-30 2018-11-20 Fireeye, Inc. System and method for triggering analysis of an object for malware in response to modification of that object
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
US11552986B1 (en) 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10616266B1 (en) 2016-03-25 2020-04-07 Fireeye, Inc. Distributed malware detection system and submission workflow thereof
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10826933B1 (en) 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
WO2017177302A1 (en) 2016-04-15 2017-10-19 Light Wave Technology Inc. Automotive rear-view camera peripheral
CN106055975A (zh) * 2016-05-16 2016-10-26 杭州华三通信技术有限公司 文件检测方法及沙箱
US10855725B2 (en) * 2016-06-02 2020-12-01 Microsoft Technology Licensing, Llc Hardware-based virtualized security isolation
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US10462173B1 (en) * 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10277631B1 (en) * 2016-07-08 2019-04-30 Sprint Communications Company L.P. Self-preserving policy engine and policy-based content transmission
WO2018010023A1 (en) * 2016-07-11 2018-01-18 Light Wave Technology Inc. Command relay device, system and method for providing remote assistance / remote control
CN107659540B (zh) * 2016-07-25 2021-01-26 中兴通讯股份有限公司 动态行为分析方法、装置、系统及设备
CN107786413B (zh) * 2016-08-24 2022-03-22 中兴通讯股份有限公司 一种浏览电子邮件的方法及用户终端
US10191861B1 (en) 2016-09-06 2019-01-29 Fireeye, Inc. Technique for implementing memory views using a layered virtualization architecture
US10592678B1 (en) 2016-09-09 2020-03-17 Fireeye, Inc. Secure communications between peers using a verified virtual trusted platform module
US10491627B1 (en) 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
US20210306348A1 (en) * 2016-10-25 2021-09-30 Michael Ratiner System and method for securing electronic devices
US10241896B2 (en) * 2016-11-08 2019-03-26 Salesforce, Inc. Formation and manipulation of test data in a database system
US10795991B1 (en) 2016-11-08 2020-10-06 Fireeye, Inc. Enterprise search
US10587647B1 (en) 2016-11-22 2020-03-10 Fireeye, Inc. Technique for malware detection capability comparison of network security devices
US10552610B1 (en) 2016-12-22 2020-02-04 Fireeye, Inc. Adaptive virtual machine snapshot update framework for malware behavioral analysis
US10581879B1 (en) 2016-12-22 2020-03-03 Fireeye, Inc. Enhanced malware detection for generated objects
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
CN106850263B (zh) * 2016-12-27 2019-10-18 北京华为数字技术有限公司 一种备平面中转发设备的配置错误检测方法、装置和系统
RU2665911C2 (ru) 2017-02-08 2018-09-04 Акционерное общество "Лаборатория Касперского" Система и способ анализа файла на вредоносность в виртуальной машине
US11303656B2 (en) 2017-03-01 2022-04-12 Cujo LLC Determining entity maliciousness based on associated entities
US11314870B1 (en) * 2017-03-14 2022-04-26 Melih Abdulhayoglu Auto-containment of potentially vulnerable applications
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
US11423140B1 (en) 2017-03-27 2022-08-23 Melih Abdulhayoglu Auto-containment of guest user applications
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10848397B1 (en) 2017-03-30 2020-11-24 Fireeye, Inc. System and method for enforcing compliance with subscription requirements for cyber-attack detection service
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10951644B1 (en) 2017-04-07 2021-03-16 Comodo Security Solutions, Inc. Auto-containment of potentially vulnerable applications
RU2649794C1 (ru) * 2017-04-28 2018-04-04 Акционерное общество "Лаборатория Касперского" Система и способ формирования журнала в виртуальной машине для проведения антивирусной проверки файла
EP3407235A1 (en) * 2017-05-22 2018-11-28 Leap in Value S.L. A computer-implemented method, a system and a computer program for identifying malicious uri data items
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10601848B1 (en) 2017-06-29 2020-03-24 Fireeye, Inc. Cyber-security system and method for weak indicator detection and correlation to generate strong indicators
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10893068B1 (en) 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10499249B1 (en) 2017-07-11 2019-12-03 Sprint Communications Company L.P. Data link layer trust signaling in communication network
US20190018953A1 (en) * 2017-07-12 2019-01-17 Open Text Corporation Methods and systems for tenant aware behavior injection in content metadata service
US10546120B2 (en) 2017-09-25 2020-01-28 AO Kaspersky Lab System and method of forming a log in a virtual machine for conducting an antivirus scan of a file
US10887369B2 (en) 2017-09-25 2021-01-05 Splunk Inc. Customizable load balancing in a user behavior analytics deployment
US11086974B2 (en) * 2017-09-25 2021-08-10 Splunk Inc. Customizing a user behavior analytics deployment
US10747872B1 (en) 2017-09-27 2020-08-18 Fireeye, Inc. System and method for preventing malware evasion
US10805346B2 (en) 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US11108809B2 (en) 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US11294798B2 (en) * 2017-11-15 2022-04-05 Lenovo (Singapore) Pte. Ltd. Method and system for context based testing of software application vulnerabilities
KR102016226B1 (ko) 2017-11-22 2019-08-29 숭실대학교산학협력단 적응형 동적 분석 방법, 적응형 동적 분석 플랫폼 및 이를 탑재한 장치
US10885193B2 (en) 2017-12-07 2021-01-05 Microsoft Technology Licensing, Llc Method and system for persisting untrusted files
US11074323B2 (en) 2017-12-07 2021-07-27 Microsoft Technology Licensing, Llc Method and system for persisting files
US11240275B1 (en) * 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
CN108121914B (zh) * 2018-01-17 2021-04-13 四川神琥科技有限公司 一种文档泄密防护追踪系统
RU2697950C2 (ru) * 2018-02-06 2019-08-21 Акционерное общество "Лаборатория Касперского" Система и способ выявления скрытого поведения расширения браузера
EP3522057B1 (en) * 2018-02-06 2021-06-23 AO Kaspersky Lab System and method of detecting hidden behavior of a browser extension
KR102102577B1 (ko) * 2018-02-27 2020-04-21 한국인터넷진흥원 악성 앱 탐지 장치 및 그 방법
US10540175B2 (en) * 2018-03-05 2020-01-21 Appzero Software Corp. Up-level applications to a new OS
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US11558401B1 (en) 2018-03-30 2023-01-17 Fireeye Security Holdings Us Llc Multi-vector malware detection data sharing system for improved detection
US11003773B1 (en) 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
US20190347420A1 (en) * 2018-05-11 2019-11-14 Microsoft Technology Licensing, Llc Method and system for installing and running untrusted applications
US11075930B1 (en) 2018-06-27 2021-07-27 Fireeye, Inc. System and method for detecting repetitive cybersecurity attacks constituting an email campaign
US11314859B1 (en) 2018-06-27 2022-04-26 FireEye Security Holdings, Inc. Cyber-security system and method for detecting escalation of privileges within an access token
US11228491B1 (en) 2018-06-28 2022-01-18 Fireeye Security Holdings Us Llc System and method for distributed cluster configuration monitoring and management
US11316900B1 (en) 2018-06-29 2022-04-26 FireEye Security Holdings Inc. System and method for automatically prioritizing rules for cyber-threat detection and mitigation
RU2708355C1 (ru) * 2018-06-29 2019-12-05 Акционерное общество "Лаборатория Касперского" Способ обнаружения вредоносных файлов, противодействующих анализу в изолированной среде
US11188639B2 (en) * 2018-07-19 2021-11-30 Intel Corporation System, method and apparatus for automatic program compartmentalization
US11182473B1 (en) 2018-09-13 2021-11-23 Fireeye Security Holdings Us Llc System and method for mitigating cyberattacks against processor operability by a guest process
US11763004B1 (en) 2018-09-27 2023-09-19 Fireeye Security Holdings Us Llc System and method for bootkit detection
KR102510846B1 (ko) * 2018-10-04 2023-03-16 삼성전자주식회사 전자 장치 및 그의 제어방법
US11210391B2 (en) * 2018-11-29 2021-12-28 Palo Alto Networks, Inc. Application-level sandboxing on devices
US11743290B2 (en) 2018-12-21 2023-08-29 Fireeye Security Holdings Us Llc System and method for detecting cyberattacks impersonating legitimate sources
US11368475B1 (en) 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
US11176251B1 (en) 2018-12-21 2021-11-16 Fireeye, Inc. Determining malware via symbolic function hash analysis
RU2724790C1 (ru) 2018-12-28 2020-06-25 Акционерное общество "Лаборатория Касперского" Система и способ формирования журнала при исполнении файла с уязвимостями в виртуальной машине
US11601444B1 (en) 2018-12-31 2023-03-07 Fireeye Security Holdings Us Llc Automated system for triage of customer issues
US11310238B1 (en) 2019-03-26 2022-04-19 FireEye Security Holdings, Inc. System and method for retrieval and analysis of operational data from customer, cloud-hosted virtual resources
US11677786B1 (en) 2019-03-29 2023-06-13 Fireeye Security Holdings Us Llc System and method for detecting and protecting against cybersecurity attacks on servers
US11636198B1 (en) 2019-03-30 2023-04-25 Fireeye Security Holdings Us Llc System and method for cybersecurity analyzer update and concurrent management system
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
US20220366035A1 (en) * 2019-06-26 2022-11-17 Nec Corporation Execution control system, execution control method, and program
US11556640B1 (en) 2019-06-27 2023-01-17 Mandiant, Inc. Systems and methods for automated cybersecurity analysis of extracted binary string sets
US11392700B1 (en) 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
GB201913893D0 (en) * 2019-09-26 2019-11-13 Palantir Technologies Inc Cybersecurity event detection system and method
US11886585B1 (en) 2019-09-27 2024-01-30 Musarubra Us Llc System and method for identifying and mitigating cyberattacks through malicious position-independent code execution
US11637862B1 (en) 2019-09-30 2023-04-25 Mandiant, Inc. System and method for surfacing cyber-security threats with a self-learning recommendation engine
CN110795311B (zh) * 2019-10-30 2020-11-03 北京三快在线科技有限公司 一种事件回放的方法及装置
US11295007B2 (en) * 2019-12-03 2022-04-05 Tableau Software, LLC Sandboxed application extensions
US11838300B1 (en) 2019-12-24 2023-12-05 Musarubra Us Llc Run-time configurable cybersecurity system
US11522884B1 (en) 2019-12-24 2022-12-06 Fireeye Security Holdings Us Llc Subscription and key management system
US11436327B1 (en) 2019-12-24 2022-09-06 Fireeye Security Holdings Us Llc System and method for circumventing evasive code for cyberthreat detection
CN111460439B (zh) * 2020-03-27 2023-03-21 中南大学 基于多环境的逃避行为检测方法
KR102330404B1 (ko) * 2020-09-08 2021-11-24 주식회사 인더포레스트 통합 보안 진단 방법 및 장치
CN112434284B (zh) * 2020-10-29 2022-05-17 格物钛(上海)智能科技有限公司 一种基于沙箱环境的机器学习训练平台实现
CN112511569B (zh) * 2021-02-07 2021-05-11 杭州筋斗腾云科技有限公司 网络资源访问请求的处理方法、系统及计算机设备
WO2023023127A1 (en) * 2021-08-20 2023-02-23 Forter Ltd System and method for controlling js scripts access to dom/apis
CN113918950A (zh) * 2021-12-14 2022-01-11 成都无糖信息技术有限公司 一种基于模拟执行的沙箱构建方法
US20230195882A1 (en) * 2021-12-21 2023-06-22 Cyberark Software Ltd. Orchestration and generation of minimal surface optimized unikernels
US11941109B2 (en) 2021-12-21 2024-03-26 Cyberark Software Ltd. Customizable and dynamically mutable operating systems
US11681805B1 (en) * 2022-05-26 2023-06-20 Morgan Stanley Services Group Inc. System for analytic data memorialization, data science, and validation
CN117521087B (zh) * 2024-01-04 2024-03-15 江苏通付盾科技有限公司 一种设备风险行为检测方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122745A (ja) * 2006-12-20 2007-05-17 Trend Micro Inc ネットワークを介して通信端末に提供されるプログラムに対する伝送経路上でのセキュリティの確保
JP2008500653A (ja) * 2004-06-29 2008-01-10 インテル・コーポレーション サンドボックス法によるコンピュータセキュリティ向上方法
JP2009500706A (ja) * 2005-06-30 2009-01-08 プレヴィクス リミテッド マルウェアに対処する方法及び装置

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167520A (en) * 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US7975305B2 (en) * 1997-11-06 2011-07-05 Finjan, Inc. Method and system for adaptive rule-based content scanners for desktop computers
US6760441B1 (en) * 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US6611925B1 (en) * 2000-06-13 2003-08-26 Networks Associates Technology, Inc. Single point of entry/origination item scanning within an enterprise or workgroup
GB2371125A (en) * 2001-01-13 2002-07-17 Secr Defence Computer protection system
US20020188649A1 (en) * 2001-06-12 2002-12-12 Ron Karim Mechanism for safely executing an untrusted program
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
CN100358280C (zh) * 2003-06-18 2007-12-26 联想(北京)有限公司 一种网络安全装置及其实现方法
US7421498B2 (en) 2003-08-25 2008-09-02 Microsoft Corporation Method and system for URL based filtering of electronic communications and web pages
US7664819B2 (en) 2004-06-29 2010-02-16 Microsoft Corporation Incremental anti-spam lookup and update service
US7603715B2 (en) * 2004-07-21 2009-10-13 Microsoft Corporation Containment of worms
US20060075494A1 (en) 2004-10-01 2006-04-06 Bertman Justin R Method and system for analyzing data for potential malware
US7287279B2 (en) 2004-10-01 2007-10-23 Webroot Software, Inc. System and method for locating malware
US8438499B2 (en) 2005-05-03 2013-05-07 Mcafee, Inc. Indicating website reputations during user interactions
EP1877905B1 (en) 2005-05-05 2014-10-22 Cisco IronPort Systems LLC Identifying threats in electronic messages
US7757289B2 (en) * 2005-12-12 2010-07-13 Finjan, Inc. System and method for inspecting dynamically generated executable code
US7725922B2 (en) * 2006-03-21 2010-05-25 Novell, Inc. System and method for using sandboxes in a managed shell
WO2007117567A2 (en) 2006-04-06 2007-10-18 Smobile Systems Inc. Malware detection system and method for limited access mobile platforms
JP2007334536A (ja) * 2006-06-14 2007-12-27 Securebrain Corp マルウェアの挙動解析システム
US8332947B1 (en) * 2006-06-27 2012-12-11 Symantec Corporation Security threat reporting in light of local security tools
US8615800B2 (en) * 2006-07-10 2013-12-24 Websense, Inc. System and method for analyzing web content
US20080104699A1 (en) * 2006-09-28 2008-05-01 Microsoft Corporation Secure service computation
US8135994B2 (en) * 2006-10-30 2012-03-13 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting an anomalous sequence of function calls
US20100071063A1 (en) * 2006-11-29 2010-03-18 Wisconsin Alumni Research Foundation System for automatic detection of spyware
JP2008234248A (ja) * 2007-03-20 2008-10-02 Mitsubishi Electric Corp プログラム実行装置及びプログラム実行方法
US8621610B2 (en) * 2007-08-06 2013-12-31 The Regents Of The University Of Michigan Network service for the detection, analysis and quarantine of malicious and unwanted files
US8326872B2 (en) * 2008-02-22 2012-12-04 Microsoft Corporation Database sandbox
CN101262491A (zh) * 2008-04-02 2008-09-10 王京 应用层网络分析方法及系统
US8239948B1 (en) * 2008-12-19 2012-08-07 Symantec Corporation Selecting malware signatures to reduce false-positive detections
US8813222B1 (en) * 2009-01-21 2014-08-19 Bitdefender IPR Management Ltd. Collaborative malware scanning
US8479286B2 (en) 2009-12-15 2013-07-02 Mcafee, Inc. Systems and methods for behavioral sandboxing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008500653A (ja) * 2004-06-29 2008-01-10 インテル・コーポレーション サンドボックス法によるコンピュータセキュリティ向上方法
JP2009500706A (ja) * 2005-06-30 2009-01-08 プレヴィクス リミテッド マルウェアに対処する方法及び装置
JP2007122745A (ja) * 2006-12-20 2007-05-17 Trend Micro Inc ネットワークを介して通信端末に提供されるプログラムに対する伝送経路上でのセキュリティの確保

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013137612A (ja) * 2011-12-28 2013-07-11 Kddi Corp アプリケーション解析装置、アプリケーション解析システム、およびプログラム
US9898445B2 (en) 2012-08-16 2018-02-20 Qualcomm Incorporated Resource prefetching via sandboxed execution
JP2016522511A (ja) * 2013-06-12 2016-07-28 ソフトキャンプ カンパニー,リミテッド システムを保護するためのファイルセキュリティ用の管理装置と管理方法
JP2016534460A (ja) * 2013-08-28 2016-11-04 アマゾン テクノロジーズ インク 動的アプリケーションセキュリティ検証
JP2015230601A (ja) * 2014-06-05 2015-12-21 株式会社日立システムズ プログラム解析装置、プログラム解析方法及びプログラム解析システム
WO2016121348A1 (ja) * 2015-01-29 2016-08-04 日本電気株式会社 マルウェア対策装置、マルウェア対策システム、マルウェア対策方法、及び、マルウェア対策プログラムが格納された記録媒体
JPWO2016121348A1 (ja) * 2015-01-29 2017-11-24 日本電気株式会社 マルウェア対策装置、マルウェア対策システム、マルウェア対策方法、及び、マルウェア対策プログラム
US10482240B2 (en) 2015-01-29 2019-11-19 Nec Corporation Anti-malware device, anti-malware system, anti-malware method, and recording medium in which anti-malware program is stored
JP2016192139A (ja) * 2015-03-31 2016-11-10 株式会社日立アドバンストシステムズ マルウェア解析装置およびマルウェア解析方法
WO2016203759A1 (ja) * 2015-06-16 2016-12-22 日本電気株式会社 分析システム、分析方法、分析装置及び、コンピュータ・プログラムが記憶された記録媒体
JPWO2016203759A1 (ja) * 2015-06-16 2018-04-05 日本電気株式会社 分析システム、分析方法、分析装置及び、コンピュータ・プログラムが記憶された記録媒体
US10776486B2 (en) 2015-06-16 2020-09-15 Nec Corporation Analysis system, analysis method, analysis device, and storage medium for analyzing operation of a program executed in an analysis environment
JP7392775B2 (ja) 2015-06-16 2023-12-06 日本電気株式会社 分析システム、方法、及び、プログラム
JP2017021773A (ja) * 2015-06-30 2017-01-26 エーオー カスペルスキー ラボAO Kaspersky Lab 望ましくないプログラムのインストール及び実行を予防するシステム及び方法
JP2018536932A (ja) * 2015-11-09 2018-12-13 クアルコム,インコーポレイテッド 動的ハニーポットシステム

Also Published As

Publication number Publication date
EP2513805B1 (en) 2019-04-17
US9223963B2 (en) 2015-12-29
US20110145926A1 (en) 2011-06-16
WO2011084431A3 (en) 2011-10-20
CN102741824B (zh) 2016-03-30
EP2513805A4 (en) 2013-12-25
US8479286B2 (en) 2013-07-02
WO2011084431A2 (en) 2011-07-14
US20130254884A1 (en) 2013-09-26
EP2513805A2 (en) 2012-10-24
JP2014238870A (ja) 2014-12-18
KR101442654B1 (ko) 2014-09-22
CN105893228A (zh) 2016-08-24
JP5957492B2 (ja) 2016-07-27
CN102741824A (zh) 2012-10-17
KR20120114304A (ko) 2012-10-16
JP5592956B2 (ja) 2014-09-17

Similar Documents

Publication Publication Date Title
JP5957492B2 (ja) 挙動サンドボックスのためのシステム及び方法
US11620383B2 (en) Dynamic analysis techniques for applications
US11604878B2 (en) Dynamic analysis techniques for applications
US11720666B2 (en) Application-level sandboxing on devices
Wei et al. Deep ground truth analysis of current android malware
Faruki et al. Android security: a survey of issues, malware penetration, and defenses
US20100037317A1 (en) Mehtod and system for security monitoring of the interface between a browser and an external browser module
Chinprutthiwong et al. Security Study of Service Worker Cross-Site Scripting.
WO2023023135A1 (en) A system and method for realtime js access control to dom/apis
Onarlioglu et al. Sentinel: Securing legacy firefox extensions
WO2023023127A1 (en) System and method for controlling js scripts access to dom/apis
US20230275916A1 (en) Detecting malicious activity on an endpoint based on real-time system events
Kulkarni et al. Open source android vulnerability detection tools: a survey
Gadient et al. Security in Android applications
Mohanta et al. Malware Components and Distribution
Chinprutthiwong et al. {SWAPP}: A New Programmable Playground for Web Application Security
Reddy et al. Malware forensics
Min et al. A simple and novel technique for counteracting exploit kits
Van Mieghem Detecting malicious behaviour using system calls
Acin Sanz ANDRIK: Automated Android malware analysis
Arunakumari et al. Attack and Defense Methodology Against the Share Intents in Android
Lyche et al. Improving security solutions in modern smartphones
Trieu Android Malware Analysis
Xu Analysis of Mobile Banking Malware on the Android Operating System
Alshahrani et al. Mitigation Model to Improve Android Security

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140407

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140414

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140507

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140606

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140801

R150 Certificate of patent or registration of utility model

Ref document number: 5592956

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250