JP7060714B2 - セキュリティポリシーに基づいてアプリケーション起動を制御するためのシステム及び方法 - Google Patents

セキュリティポリシーに基づいてアプリケーション起動を制御するためのシステム及び方法 Download PDF

Info

Publication number
JP7060714B2
JP7060714B2 JP2020563565A JP2020563565A JP7060714B2 JP 7060714 B2 JP7060714 B2 JP 7060714B2 JP 2020563565 A JP2020563565 A JP 2020563565A JP 2020563565 A JP2020563565 A JP 2020563565A JP 7060714 B2 JP7060714 B2 JP 7060714B2
Authority
JP
Japan
Prior art keywords
application
computing device
security policy
launcher
security
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020563565A
Other languages
English (en)
Other versions
JP2021521563A (ja
Inventor
サラポール、ジョナサン
カルヤテディ、ソマルド
スタネフ、ラッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
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 Symantec Corp filed Critical Symantec Corp
Publication of JP2021521563A publication Critical patent/JP2021521563A/ja
Application granted granted Critical
Publication of JP7060714B2 publication Critical patent/JP7060714B2/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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

ウイルス、トロイの木馬、スパイウェア、及び他の種類のマルウェアなどの潜在的に有害なコンピュータソフトウェアアプリケーションは、様々なコンピューティングシステム及びデバイスに対する一定の脅威である。様々な種類のセキュリティシステムが、ウイルススキャナ及びファイアウォールを含むこれらの脅威に対処するために存在する。それにもかかわらず、多くの潜在的に有害なアプリケーションは、依然としてコンピューティングシステム及びデバイスに感染するように操り、様々な悪意のあるアクションを実行することができる。
セキュリティソフトウェアベンダーは、潜在的に有害なアプリケーションがコンピューティングデバイス上で起動された後にそれらを検出するように設計された様々な方法を利用し、アプリケーションが潜在的な脅威をもたらすと判定した後、実行中のアプリケーションを停止するための「抹消」信号を開始することができる。しかしながら、潜在的な脅威を除去するために従来のシステムによって使用される方法は、多くの場合、一貫性のない及び/又は無効な可能性があり(例えば、いくつかのアプリケーションは、抹消信号を処理するように構成されておらず、又は信号ハンドラを有するアプリケーションが信号を適切に処理できないように機能しなくなった可能性があり)、したがって、検出された悪意のあるアプリケーションが、起動された後にコンピューティングデバイス上で継続的に実行されることを停止することができない。
以下で更に詳細に記載されるように、本開示は、セキュリティポリシーに基づいてアプリケーション起動を制御するための様々なシステム及び方法を記載する。
一実施例では、セキュリティポリシーに基づいてアプリケーション起動を制御するための方法は、(1)コンピューティングデバイスによって、サンドボックス内にアプリケーションランチャーをロードすることと、(2)コンピューティングデバイスによって、アプリケーションランチャーからアプリケーションを起動することに関連付けられた機能を監視することと、(3)コンピューティングデバイスによって、アプリケーションを起動することに関連付けられた機能が、アプリケーションランチャーによって呼び出されたと判定することと、(4)コンピューティングデバイスによって、アプリケーションが潜在的に有害であるかどうかを判定するセキュリティポリシーを含むポリシーマネージャにクエリすることと、(5)セキュリティポリシーに基づいて、アプリケーションが潜在的に有害であると判定すると、アプリケーションランチャーがサンドボックスからアプリケーションを起動することを防止するセキュリティアクションをコンピューティングデバイスによって実行することと、を含むことができる。
いくつかの実施例では、セキュリティアクションは、アプリケーションが潜在的に有害でないと判定すると、アプリケーションランチャーがサンドボックスからアプリケーションを起動することを可能にし得る。いくつかの実施例では、アプリケーション起動開始機能について、アプリケーションランチャーに関連付けられたアクティビティマネージャを監視してもよい。
いくつかの実施例では、ポリシーマネージャにクエリすることは、アプリケーションが潜在的に有害であるかどうかを判定するポリシーマネージャを使用してアプリケーションをスキャンすることを含み得る。追加的に又は代替的に、ポリシーマネージャにクエリすることは、アプリケーションが潜在的に有害であるかどうかを判定するブラックリストのためのクエリを含んでもよい。
いくつかの実施例では、アプリケーションランチャーがサンドボックスから潜在的に有害なアプリケーションを起動することを防止するためのセキュリティアクションは、アプリケーションが潜在的に有害であることをアプリケーションランタイムで判定すると、アプリケーションが実行されることを阻止することを含んでもよい。いくつかの実施例では、セキュリティポリシーは、アプリケーションの起動に関連付けられた時間及び/又は場所に基づいてもよい。
いくつかの実施例では、潜在的に有害なアプリケーションは、マルウェア又はグレイウェアであってもよい。いくつかの実施例では、アプリケーションランチャーは、モバイルデバイスアプリケーションランチャーであってもよい。
一実施形態では、セキュリティポリシーに基づいてアプリケーション起動を制御するためのシステムは、(1)アプリケーションランチャーをコンピューティングデバイス上のサンドボックス内にロードするロードモジュールと、(2)アプリケーションランチャーからアプリケーションを起動することに関連付けられた機能を監視する監視モジュールと、(3)アプリケーションを起動することに関連付けられた機能がアプリケーションランチャーによって呼び出されたことを判定する判定モジュールと、(4)アプリケーションが潜在的に有害であるかどうかを判定するセキュリティポリシーを含むポリシーマネージャにクエリするクエリモジュールと、(5)セキュリティポリシーに基づいて、アプリケーションが潜在的に有害であることを判定すると、アプリケーションランチャーがコンピューティングデバイス上のサンドボックスからアプリケーションを起動することを防止するセキュリティアクションを実行するセキュリティモジュールと、(6)ロードモジュール、監視モジュール、判定モジュール、クエリモジュール、及びセキュリティモジュールを実行する少なくとも1つの物理プロセッサと、を含む、メモリに記憶されたいくつかのモジュールを含むことができる。
いくつかの実施例では、上述の方法は、非一時的コンピュータ可読媒体上のコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読媒体は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されると、コンピューティングデバイスに、(1)アプリケーションランチャーをコンピューティングデバイス上のサンドボックスにロードさせ、(2)アプリケーションランチャーからアプリケーションを起動することに関連付けられた機能を監視させ、(3)アプリケーションを起動することに関連付けられた機能がアプリケーションランチャーによって呼び出されたことを判定させ、(4)アプリケーションが潜在的に有害であるかどうかを判定するセキュリティポリシーを含むポリシーマネージャにクエリさせ、(5)セキュリティポリシーに基づいて、アプリケーションが潜在的に有害であると判定すると、アプリケーションランチャーがコンピューティングデバイス上のサンドボックスからアプリケーションを起動することを防止するセキュリティアクションを実行させる、1つ以上のコンピュータ実行可能命令を含み得る。
上述の実施形態のいずれかによる特徴は、本明細書に記載される一般原理に従って、互いに組み合わせて使用されてもよい。これら及び他の実施形態、特徴、及び利点は、添付の図面及び特許請求の範囲と併せて以下の発明を実施するための形態を読むことによって更に十分に理解されるだろう。
添付の図面は、いくつかの例示的な実施形態を図示するものであり、本明細書の一部である。以下の説明と併せて、これらの図面は、本開示の様々な原理を実証及び説明する。
セキュリティポリシーに基づいてアプリケーション起動を制御するための例示的なシステムのブロック図である。 セキュリティポリシーに基づいてアプリケーション起動を制御するための追加の例示的なシステムのブロック図である。 セキュリティポリシーに基づいてアプリケーション起動を制御するための例示的な方法のフロー図である。 セキュリティポリシーに基づいてアプリケーション起動を可能にするための例示的なシステムのブロック図である。 セキュリティポリシーに基づいてアプリケーション起動をブロックするための例示的なシステムのブロック図である。 本明細書に記載され及び/又は図示される実施形態のうちの1つ以上を実装できる例示的なコンピューティングシステムのブロック図である。 本明細書に記載され及び/又は図示される実施形態のうちの1つ以上を実装できる例示的なコンピューティングネットワークのブロック図である。
図面をとおして、同一の参照符号及び記述は、必ずしも同一ではないが、類似の要素を示す。本明細書で説明される例示的実施形態は、様々な修正物及び代替的な形態が可能であるが、特定の実施形態が例として図面に示されており、本明細書に詳細に記載される。しかしながら、本明細書に記載される例示的実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の「特許請求の範囲」の範囲内にある全ての修正物、等価物、及び代替物を網羅する。
本開示は、概して、セキュリティポリシーに基づいてアプリケーション起動を制御するためのシステム及び方法を対象とする。以下でより詳細に説明されるように、コンピューティングデバイス上のアプリケーションランチャーをサンドボックス化することによって、本明細書に記載されるシステム及び方法は、アプリケーションが起動前に潜在的に有害であるかどうかを安全に判定し、セキュリティポリシーに基づいて、(アプリケーションが潜在的に有害であると判定すると)アプリケーションランチャーがアプリケーションを起動することを防止するか、又はアプリケーションがサンドボックスから実行されることを可能にするように、セキュリティアクションを実行することができる。加えて、本明細書に記載されるシステム及び方法は、潜在的に悪意あるアプリケーションが起動され、アプリケーションランチャーから実行されることを防止し、したがって、マルウェア、グレイウェア、及び/又は他の有害なコンテンツによる感染に対してコンピューティングシステムを保護することによって、コンピューティングデバイスの機能を改善することができる。
以下に、図1~図2を参照して、セキュリティポリシーに基づいてアプリケーション起動を制御するための例示的なシステムについての詳細な説明を提供する。対応するコンピュータ実装方法の詳細な説明も図3に関連して提供される。セキュリティポリシーに基づいてアプリケーション起動を可能にする及び阻止するための例示的なシステムの詳細な説明もまた、それぞれ、図4及び図5に関連して提供される。更に、本明細書に記載される実施形態のうちの1つ以上を実装することができる例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な説明が、それぞれ、図6及び図7に関連して提供される。
図1は、セキュリティポリシーに基づいてアプリケーション起動を制御するための例示的なシステム100のブロック図である。この図に図示されるように、例示的なシステム100は、1つ以上のタスクを実施するための1つ以上のモジュール102を含み得る。以下でより詳細に説明するように、モジュール102は、アプリケーションランチャー124をサンドボックス122内にロードするロードモジュール104と、アプリケーションランチャー124からアプリケーション126を起動することに関連付けられた機能を監視する監視モジュール106と、アプリケーション126を起動することに関連付けられた機能がアプリケーションランチャー124によって呼び出されたことを判定する判定モジュール108と、任意のアプリケーション126が潜在的に有害であるかどうかを判定するセキュリティポリシー132を含むポリシーマネージャ128にクエリするクエリモジュール110と、セキュリティポリシー132に基づいて、アプリケーション126が潜在的に有害であると判定すると、アプリケーションランチャー124がサンドボックス122からアプリケーション126を起動することを防止するセキュリティアクションを実行するセキュリティモジュール112と、を含むことができる。別々の要素として図示されるが、図1のモジュール102のうちの1つ以上は、単一のモジュール又はアプリケーションの部分を表してもよい。
本明細書で使用するとき、「アプリケーションランチャー」という用語は、一般に、ユーザの一次相互作用点として機能し、ユーザが他のアプリケーションプログラムの位置を特定し、開始するのに役立つコンピューティングデバイス(例えば、モバイルコンピューティング)上の実行可能プログラムコードを指す。例えば、アプリケーションランチャーは、アプリケーションプログラムにショートカットを提供し、1つの場所にショートカットを記憶してもよく、その結果、探し出すことが容易になる。いくつかの例では、アプリケーションランチャーは、アンドロイドモバイルオペレーティングシステムなどのモバイルデバイスオペレーティングシステムに関連付けられてもよい。
本明細書で使用するとき、「サンドボックス」という用語は、一般に、重要なシステムリソース、他のアプリケーション、及び他のアプリケーションデータからアプリケーション及びアプリケーションデータを分離するコンピュータシステム上の記憶空間の限定された領域を指す。サンドボックスは、有害なアプリケーション(例えば、マルウェア)又は有害なアプリケーションがコンピュータシステムに悪影響を及ぼすことを防止する、追加のセキュリティ層を提供する。サンドボックス化されたアプリケーションは、その限定された記憶空間内のリソースにのみアクセスすることができる。アプリケーションプログラムがサンドボックスの外部のリソース又はファイルにアクセスする必要がある場合、許可はコンピュータシステムによって明示的に与えられなければならない。
本明細書で使用するとき、「ポリシーマネージャ」という用語は、一般に、セキュリティポリシーを適用するように構成されたコンピュータ実行可能コードを指す。例えば、ポリシーマネージャは、セキュリティ脅威のために他のアプリケーションをスキャンし、アプリケーションがコンピューティングシステムに有害であると判定されたかどうかに基づいてセキュリティポリシーを適用するモバイルセキュリティアプリケーションを含んでもよい。いくつかの実施例では、ポリシーマネージャは、セキュリティポリシーを細かく適用し得る(例えば、セキュリティポリシーは、時間、場所などに基づいて適用され得る)か、又は粗く適用し得る。
特定の実施形態では、図1のモジュール102のうちの1つ以上は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに1つ以上のタスクを実施させ得る、1つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、より詳細に後述するように、モジュール102のうちの1つ以上は、図2に示されるデバイス(例えば、コンピューティングデバイス202及び/又はサーバ206)、などの1つ以上のコンピューティングデバイスに記憶され、その上で作動するように構成されている、モジュールを表してもよい。図1のモジュール102のうちの1つ以上はまた、1つ以上のタスクを実施するように構成された1つ以上の専用コンピュータの全て又は部分を表し得る。
図1に示すように、例示的なシステム100はまた、メモリ140などの1つ以上のメモリデバイスも含み得る。メモリ140は、一般に、データ及び/又はコンピュータ可読命令を記憶することができる任意のタイプ又は形態の揮発性又は不揮発性の記憶デバイス又は媒体を表す。一実施例では、メモリ140は、モジュール102のうちの1つ以上を記憶、ロード、及び/又は維持してもよい。メモリ140の例としては、非限定的に、ランダムアクセスメモリ(Random Access Memory、RAM)、読み取り専用メモリ(Read Only Memory、ROM)、フラッシュメモリ、ハードディスクドライブ(Hard Disk Drive、HDD)、ソリッドステートドライブ(Solid-State Drive、SSD)、光ディスクドライブ、キャッシュ、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び/又は任意の他の好適な記憶メモリが挙げられる。
図1に示すように、例示的なシステム100はまた、物理プロセッサ130などの1つ以上の物理プロセッサも含み得る。物理プロセッサ130は、一般に、コンピュータ可読命令を解釈及び/又は実行することができる任意のタイプ又は形態のハードウェア実装処理ユニットを表す。一実施例では、物理プロセッサ130は、メモリ140に記憶されているモジュール102のうちの1つ以上にアクセスし、かつ/又はそれを変更することができる。追加的に又は代替的に、物理プロセッサ130は、セキュリティポリシーに基づいてアプリケーション起動の制御を容易にするために、モジュール102のうちの1つ以上を実行してもよい。物理プロセッサ130の例としては、非限定的に、マイクロプロセッサ、マイクロコントローラ、中央処理装置(Central Processing Unit、CPU)、ソフトコアプロセッサを実装するフィールドプログラマブルゲートアレイ(Field-Programmable Gate Array、FPGA)、特定用途向け集積回路(Application-Specific Integrated Circuit、ASIC)、それらのうちの1つ以上の部分、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び/又は任意の他の好適な物理プロセッサが挙げられる。
図1に示すように、例示的なシステム100は、データストレージ120も含み得る。データストレージ120は、一般に、システム100内の任意の種類又は形態の記憶システムを表す。一実施例では、データストレージ120は、サンドボックス122、アプリケーション126、及びポリシーマネージャ128、並びにセキュリティポリシー132のための記憶空間を含み得る。
図1の例示的なシステム100は、様々な方法で実装され得る。例えば、例示的なシステム100のうちの全て又は一部分は、図2における例示的なシステム200の部分を表してもよい。図2に示されるように、システム200は、ネットワーク204を介してサーバ206と通信するコンピューティングデバイス202を含んでもよい。一実施例では、モジュール102の機能のうちの全て又は一部分は、コンピューティングデバイス202、サーバ206、及び/又は任意の他の好適なコンピューティングシステムによって実施され得る。より詳細に後述するように、図1によるモジュール102のうちの1つ以上は、コンピューティングデバイス202及び/又はサーバ206のうちの少なくとも1つのプロセッサによって実行されると、コンピューティングデバイス202及び/又はサーバ206がセキュリティポリシーに基づいてアプリケーション起動を制御することを可能にすることができる。例えば、より詳細に後述するように、モジュール102のうちの1つ以上は、コンピューティングデバイス202に、(1)アプリケーションランチャー124をサンドボックス122内にロードさせ、(2)アプリケーションランチャー124からアプリケーション126を起動することに関連付けられた機能を監視させ、(3)アプリケーション126を起動することに関連付けられた機能がアプリケーションランチャー124によって呼び出されたことを判定させ、(4)アプリケーション126が潜在的に有害であるかどうかを判定させるセキュリティポリシー132を含むクエリポリシーマネージャ128にクエリさせ、(5)セキュリティポリシー132に基づいて、アプリケーション126が潜在的に有害であると判定すると、アプリケーションランチャー124がサンドボックス122からアプリケーション126を起動することを防止するセキュリティアクションを実行させることができる。
コンピューティングデバイス202は、一般に、コンピュータ実行可能命令を読み取ることができる任意のタイプ又は形態のコンピューティングデバイスを表す。一実施例では、コンピューティングデバイス202は、モバイルセキュリティアプリケーションを実行するモバイルクライアントコンピューティングデバイスであってもよい。コンピューティングデバイス202の追加の例としては、非限定的に、ラップトップ、タブレット、デスクトップ、サーバ、携帯電話、携帯情報端末(Personal Digital Assistant、PDA)、マルチメディアプレーヤー、埋め込みシステム、ウェアラブルデバイス(例えば、スマートウォッチ、スマートグラスなど)、スマートビークル、スマートパッケージング(例えば、アクティブ又はインテリジェントパッケージング)、ゲーム機、いわゆるモノのインターネットデバイス(例えば、スマート家電など)、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び/又は他の任意の好適なコンピューティングデバイスが挙げられる。
サーバ206は、一般に、コンピュータ実行可能命令を読み取ることが可能な、任意のタイプ又は形態のコンピューティングデバイスを表す。一実施例では、サーバ206は、アプリケーション126をコンピューティングデバイス202に配布するためのアプリケーション配布プラットフォーム210をホストするアプリケーションサーバであってもよい。サーバ206はまた、セキュリティポリシー132を含むポリシーマネージャ128をリモートにホストしてもよい。サーバ206の追加の例としては、非限定的に、特定のソフトウェアアプリケーションを実行する、並びに/又は様々なセキュリティサービス、ウェブサービス、記憶サービス、及び/若しくはデータベースサービスを提供するように構成された、セキュリティサーバ、ウェブサーバ、記憶サーバ、及び/又はデータベースサーバが挙げられる。図2では単一のエンティティとして示されているが、サーバ206は、互いに連携して作動及び/又は動作する複数のサーバを含み、かつ/又はそれらを表してもよい。
ネットワーク204は、一般に、通信若しくはデータ転送を容易にすることが可能な、任意の媒体又はアーキテクチャを表す。一実施例では、ネットワーク204は、コンピューティングデバイス202とサーバ206との間の通信を容易にしてもよい。この実施例では、ネットワーク204は、無線接続及び/又は有線接続を使用して、通信又はデータ転送を容易にしてもよい。ネットワーク204の例としては、非限定的に、イントラネット、広域ネットワーク(Wide Area Network、WAN)、ローカルエリアネットワーク(Local Area Network、LAN)、パーソナルエリアネットワーク(Personal Area Network、PAN)、インターネット、電力線通信(Power Line Communications、PLC)、セルラーネットワーク(例えば、Global System for Mobile Communications(GSM)ネットワーク)、それらのうちの1つ以上の部分、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び/又は任意の他の好適なネットワークが挙げられる。
コンピューティングデバイス202上のアプリケーションランチャー124はまた、アクティビティマネージャ208を含んでもよい。アクティビティマネージャ208は、一般に、アプリケーションランチャー208からアプリケーション126を起動するために使用される機能を提供する任意の種類又は形態のソフトウェアマネージャを表す。例えば、アプリケーションランチャー124からアプリケーション126の起動(例えば、実行)を開始するために、「スタートアクティビティ(startActivity)」機能(及びその変形)を利用してもよい。
図3は、セキュリティポリシーに基づいてアプリケーション起動を制御するための例示的なコンピュータ実装方法300のフロー図である。図3に示されるステップは、図1のシステム100、図2のシステム200、及び/又はそれらのうちの1つ以上の変形形態若しくは組み合わせを含む、任意の好適なコンピュータ実行可能コード及び/又はコンピューティングシステムによって実施され得る。ある実施例において、図3に示すステップの各々は、その構造が後に例を詳述する複数のサブステップを含む、及び/又はサブステップによって表されるアルゴリズムを表してもよい。
図3に図示されるように、ステップ302において本明細書に記載のシステムのうちの1つ以上は、コンピューティングデバイスによって、アプリケーションランチャーをサンドボックス内にロードすることができる。例えば、ロードモジュール104は、図2のコンピューティングデバイス202の一部として、アプリケーションランチャー124をサンドボックス122内にロードしてもよい。いくつかの実施例では、アプリケーションランチャー124は、モバイルデバイスアプリケーションランチャーを含んでもよい。
ロードモジュール104は、様々な方法で、アプリケーションランチャー124をロードすることができる。例えば、ロードモジュール104は、コンピューティングデバイス202上で実行されているモバイルデバイスセキュリティアプリケーションの一部として、コンピューティングデバイス202のオペレーティングシステムに関連付けられた既存のアプリケーションランチャー(すなわち、アプリケーションランチャー124)を取得し、アプリケーションランチャー124をサンドボックス122内で実行してもよい。
ステップ304では、本明細書に記載されるシステムのうちの1つ以上は、コンピューティングデバイスによって、アプリケーションランチャーからアプリケーションを起動することに関連付けられた1つ以上の機能を監視することができる。例えば、監視モジュール106は、図2のコンピューティングデバイス202の一部として、アプリケーションランチャー124からアプリケーション126を起動することに関連付けられた機能を監視してもよい。
監視モジュール106は、様々な方法でアプリケーション126を起動することに関連付けられた機能を監視することができる。例えば、監視モジュール106は、アプリケーション起動開始機能のためにアプリケーションランチャー124に関連付けられたアクティビティマネージャ208を監視してもよい。いくつかの実施例では、監視モジュール106は、アプリケーションランチャー124から新しいアプリケーション(例えば、アプリケーション126)を起動するために典型的に使用される機能(例えば、アプリケーション起動開始機能)を監視する目的で、アプリケーションランチャー124にソフトウェアコード(例えば、「フック」)を導入するように構成されてもよい。いくつかの実施例では、フックは、アプリケーションランチャー124とアプリケーション126との間で行われる機能呼び出しを監視(例えば、傍受)する目的で、アプリケーションランチャー124内に既存コードを増強するために監視モジュール106によって提供される機能を含み得る。
ステップ306では、本明細書に記載されるシステムのうちの1つ以上は、コンピューティングデバイスによって、ステップ304で監視されたアプリケーションを起動することに関連付けられた機能が、アプリケーションランチャーによって呼び出されたと判定することができる。例えば、判定モジュール108は、図2のコンピューティングデバイス202の一部として、アクティビティマネージャ208で監視された機能のうちの1つ以上が、アプリケーションランチャー124によって呼び出されたことを判定してもよい。
判定モジュール108は、アプリケーション126を起動することに関連付けられた機能が、様々な方法で呼び出されたことを判定してもよい。例えば、判定モジュール108は、アプリケーション開始機能がアプリケーションランチャー124によって呼び出されてアプリケーション126を起動したことを(例えば、以前に導入されたソフトウェアフックを使用して)判定してもよい。
ステップ308では、本明細書に記載されるシステムのうちの1つ以上は、コンピューティングデバイスによって、アプリケーションが潜在的に有害であるかどうかを判定するセキュリティポリシーを含むポリシーマネージャにクエリしてもよい。例えば、クエリモジュール110は、図2のコンピューティングデバイス202の一部として、アプリケーション126が潜在的に有害であるかどうかを判定するポリシーマネージャ128にクエリしてもよい。
クエリモジュール110は、ポリシーマネージャ128に様々な方法でクエリしてもよい。例えば、クエリモジュール110は、セキュリティポリシー132に基づいて、アプリケーションが潜在的に有害であるかどうかを判定するポリシーマネージャ128を使用してアプリケーション126をスキャンしてもよい。追加的に又は代替的に、クエリモジュール110は、アプリケーション126がリストされ、したがって潜在的に有害であるかどうかを判定するブラックリストのためのポリシーマネージャ128にクエリすることができる。いくつかの実施例では、マルウェア及び/又はグレイウェアを含むアプリケーションは、潜在的に有害であると判定される。いくつかの実施例では、セキュリティポリシー132は、アプリケーションランチャー124からアプリケーション126の起動を呼び出すことに関連付けられた時間及び/又は場所に基づく、粒度の細かいセキュリティポリシーを含み得る。追加的に又は代替的に、セキュリティポリシー132は、アプリケーションランチャー124からアプリケーション126の起動を呼び出すことに関連付けられた時間及び/又は位置制約とは無関係である、粗いセキュリティポリシーに基づいてもよい。
ステップ310では、本明細書に記載されるシステムのうちの1つ以上は、セキュリティポリシーに基づいて、アプリケーションが潜在的に有害であると判定すると、アプリケーションランチャーがサンドボックスからアプリケーションを起動することを防止するセキュリティアクションをコンピューティングデバイスによって実行することができる。例えば、セキュリティモジュール112は、図2のコンピューティングデバイス202の一部として、アプリケーションランチャー124がサンドボックス122から潜在的に有害であると判定されたアプリケーション126を起動することを防止するセキュリティポリシー132に基づいてセキュリティアクションを実行してもよい。
セキュリティモジュール112は、様々な方法でセキュリティアクションを実行してもよい。例えば、セキュリティモジュール112は、アプリケーション126が潜在的に有害であることをアプリケーション126のランタイムで判定した後、アプリケーション126がアプリケーションランチャー124から実行されることを阻止してもよい。
図4は、セキュリティポリシーに基づいてアプリケーション起動を可能にするための例示的なシステム400のブロック図である。図4のシステム400では、ユーザは、アプリケーション426を実行するためにサンドボックス422内にロードされたアプリケーションランチャー424上のアプリケーションアイコンをクリックすることができる。
いくつかの実施例では、アプリケーションランチャー424は、アプリケーション426が起動され得るかどうかを判定するポリシーマネージャ428にクエリするように構成されてもよい。クエリを受信すると、ポリシーマネージャ428は、アプリケーション426が有害ではないことと、ポリシーマネージャ428に関連付けられたセキュリティポリシーがアプリケーション426を起動することを許可し得ることとを(例えば、セキュリティスキャンに基づいて)判定することができる。次いで、ポリシーマネージャ428は、サンドボックス422内のアプリケーションランチャー424にセキュリティポリシーを施行してもよい。施行されたセキュリティポリシーに基づいて、アプリケーションランチャー424は、次いで、サンドボックス422からアプリケーション426を起動することができる。
図5は、セキュリティポリシーに基づいてアプリケーション起動を阻止するための例示的なシステム500のブロック図である。図5のシステム500では、ユーザは、アプリケーションを実行するためにサンドボックス522内にロードされたアプリケーションランチャー524上のアプリケーションアイコンをクリックすることができる。
いくつかの実施例では、アプリケーションランチャー524は、アプリケーションが起動され得るかどうかを判定するために、ポリシーマネージャ528にクエリするように構成されてもよい。クエリを受信すると、ポリシーマネージャ528は、アプリケーションが有害である(例えば、マルウェア又は悪意のあるコンテンツを含む)ことと、ポリシーマネージャ528に関連付けられたセキュリティポリシーがアプリケーションを起動することを阻止し得ることとを(例えば、セキュリティスキャンに基づいて)判定することができる。次いで、ポリシーマネージャ528は、サンドボックス522内でアプリケーションランチャー524にセキュリティポリシーを施行してもよい。施行されたセキュリティポリシーに基づいて、アプリケーションランチャー524は、アプリケーションの起動を阻止してもよい。
上述の図3の例示的な方法300に関連して説明したように、本明細書に記載されるシステム及び方法は、アプリケーションを修正又は所有することなく、潜在的に危険なアプリケーションをコンピューティングシステム(例えば、モバイルデバイス)上で実行することを停止するために、セキュリティポリシー及びサンドボックスを利用してもよい。コンピューティングシステムが攻撃される及び/又は感染する確率は、潜在的に危険なアプリケーションが実行され始めると、大幅に増加する。しかしながら、従来のシステムは、単に、実行中のアプリケーションを抹消させるために(多くの場合、一貫して及び/又は無効に)試み、及び/又はユーザ対話を必要とする(例えば、アプリケーションをロック解除するためにパスワードを提供することにより、アプリケーションがアプリケーションランチャーから起動され得る)ので、従来のシステムは、潜在的に危険なアプリケーションがコンピューティングシステムの動作に悪影響を及ぼすことを完全に防止することができない場合がある。アプリケーションランチャーをサンドボックス化して、潜在的に有害なアプリケーションを、それらが実行する機会を得る前でさえも識別することにより、本明細書に記載されるシステム及び方法は、セキュリティポリシーを利用して、これらのアプリケーションが、透明な方法で、かつユーザ対話を伴わずに、コンピューティングシステムに害を与えることを防止してもよい。
図6は、本明細書に記載され及び/又は図示される実施形態のうちの1つ以上を実装できる例示的なコンピューティングシステム610を示すブロック図である。例えば、コンピューティングシステム610のうちの全て又は一部分は、単独で又は他の要素と組み合わせてのいずれかで、本明細書に記載されるステップのうちの1つ以上(図3に示されるステップのうちの1つ以上など)を実施し得、及び/又はそれを実施するための手段であり得る。コンピューティングシステム610のうちの全て又は一部分はまた、本明細書に記載及び/若しくは図示される任意の他のステップ、方法、若しくはプロセスを実施してもよく、並びに/又はそれを実施するための手段であってもよい。
コンピューティングシステム610は、コンピュータ可読命令を実行することができる任意のシングル又はマルチプロセッサのコンピューティングデバイス又はシステムを幅広く表す。コンピューティングシステム610の例としては、非限定的に、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられる。その最も基本的な構成において、コンピューティングシステム610は、少なくとも1つのプロセッサ614及びシステムメモリ616を含んでもよい。
プロセッサ614は、一般に、データを処理すること又は命令を解釈及び実行することができる任意のタイプ又は形態の物理的処理ユニット(例えば、ハードウェア実装型中央処理ユニット)を表す。特定の実施形態において、プロセッサ614は、ソフトウェアアプリケーション又はモジュールから命令を受信してもよい。これらの命令は、プロセッサ614に、本明細書に記載され及び/又は図示される例示的な実施形態のうちの1つ以上の機能を実施させてもよい。
システムメモリ616は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる任意のタイプ又は形態の揮発性又は不揮発性の記憶デバイス又は媒体を表す。システムメモリ616の例としては、非限定的に、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、フラッシュメモリ、又は任意の他の好適なメモリデバイスが挙げられる。必須ではないが、特定の実施形態において、コンピューティングシステム610は、揮発性メモリユニット(例えば、システムメモリ616など)及び不揮発性記憶デバイス(例えば、後に詳述するような一次記憶デバイス632など)の両方を含んでもよい。一実施例では、図1のモジュール102のうちの1つ以上は、システムメモリ616内にロードされ得る。
いくつかの実施例では、システムメモリ616は、プロセッサ614による実行のために、オペレーティングシステム640を記憶及び/又はロードし得る。一実施例では、オペレーティングシステム640は、コンピュータハードウェア及びソフトウェアリソースを管理し、並びに/又はコンピューティングシステム610上のコンピュータプログラム及び/又はアプリケーションに共通のサービスを提供するソフトウェアを含み及び/又はこれを表してもよい。オペレーティングシステム640の例としては、非限定的に、LINUX、JUNOS、MICROSOFT WINDOWS、WINDOWS MOBILE、MAC OS、APPLEのIOS、UNIX、GOOGLE CHROME OS、GOOGLEのANDROID、SOLARIS、それらのうちの1つ以上の変形形態、及び/又は任意の他の好適なオペレーティングシステムが挙げられる。
特定の実施形態では、例示的なコンピューティングシステム610はまた、プロセッサ614及びシステムメモリ616に加えて、1つ以上の構成要素又は要素も含み得る。例えば、図6に示すように、コンピューティングシステム610は、メモリコントローラ618、入力/出力(Input/Output、I/O)コントローラ620、及び通信インターフェース622を含み得、これらのそれぞれは、通信基盤612を介して相互接続され得る。通信基盤612は、一般に、コンピューティングデバイスの1つ以上の構成要素間の通信を容易にすることができる、任意のタイプ又は形態の基盤を表す。通信基盤612の例としては、非限定的に、通信バス(産業標準構成(Industry Standard Architecture、ISA)、周辺装置相互接続(Peripheral Component Interconnect、PCI)、PCIエクスプレス(PCI Express、PCIe)、又は類似のバスなど)及びネットワークが挙げられる。
メモリコントローラ618は、一般に、メモリ若しくはデータを扱うこと、又はコンピューティングシステム610の1つ以上の構成要素間の通信を制御すること、ができる、任意のタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ618は、通信基盤612を介して、プロセッサ614、システムメモリ616、及びI/Oコントローラ620の間の通信を制御してもよい。
I/Oコントローラ620は、一般に、コンピューティングデバイスの入出力機能を調整及び/又は制御することができる、任意のタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、I/Oコントローラ620は、プロセッサ614、システムメモリ616、通信インターフェース622、ディスプレイアダプタ626、入力インターフェース630、及び記憶インターフェース634などの、コンピューティングシステム610の1つ以上の要素間のデータ転送を制御又は容易にし得る。
図6に示すように、コンピューティングシステム610はまた、ディスプレイアダプタ626を介してI/Oコントローラ620に連結された少なくとも1つのディスプレイデバイス624も含み得る。ディスプレイデバイス624は、一般に、ディスプレイアダプタ626によって転送された情報を視覚的に表示することができる、任意のタイプ又は形態のデバイスを表す。同様に、ディスプレイアダプタ626は、一般に、ディスプレイデバイス624上に表示するために通信基盤612から(又は当該技術分野において既知であるように、フレームバッファから)グラフィックス、テキスト、及び他のデータを転送するように構成された任意のタイプ又は形態のデバイスを表す。
図6に示すように、例示的なコンピューティングシステム610はまた、入力インターフェース630を介してI/Oコントローラ620に連結された少なくとも1つの入力デバイス628も含み得る。入力デバイス628は、一般に、コンピュータ又は人間のいずれかが生成した入力を例示的なコンピューティングシステム610に提供することができる任意のタイプ又は形態の入力デバイスを表す。入力デバイス628の例としては、非限定的に、キーボード、ポインティングデバイス、音声認識デバイス、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び/又は任意の他の入力デバイスが挙げられる。
それに加えて、又は代替的に、例示的なコンピューティングシステム610は、追加のI/Oデバイスを含み得る。例えば、例示的なコンピューティングシステム610は、I/Oデバイス636を含み得る。この実施例では、I/Oデバイス636は、コンピューティングシステム610との人間の相互作用を容易にするユーザインターフェースを含み得る及び/又はそれを表し得る。I/Oデバイス636の例としては、非限定的に、コンピュータマウス、キーボード、モニタ、プリンタ、モデム、カメラ、スキャナ、マイクロフォン、タッチスクリーンデバイス、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び/又は任意の他のI/Oデバイスが挙げられる。
通信インターフェース622は、例示的なコンピューティングシステム610と1つ以上の追加のデバイスとの間の通信を容易にすることができる、任意のタイプ又は形態の通信デバイス又はアダプタを幅広く表す。例えば、特定の実施形態では、通信インターフェース622は、コンピューティングシステム610と、追加のコンピューティングシステムを含む私設又は公衆ネットワークとの間の通信を容易にし得る。通信インターフェース622の例としては、非限定的に、有線ネットワークインターフェース(ネットワークインターフェースカードなど)、無線ネットワークインターフェース(無線ネットワークインターフェースカードなど)、モデム、及び任意の他の好適なインターフェースが挙げられる。少なくとも1つの実施形態では、通信インターフェース622は、インターネットなどのネットワークへの直接リンクを介してリモートサーバへの直接接続を提供し得る。通信インターフェース622はまた、例えば、ローカルエリアネットワーク(イーサネットネットワークなど)、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラー電話接続、衛星データ接続、又は他の任意の好適な接続を通して、このような接続を間接的に提供してもよい。
特定の実施形態では、通信インターフェース622はまた、外部バス又は通信チャネルを介したコンピューティングシステム610と1つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成されたホストアダプタも表し得る。ホストアダプタの例としては、非限定的に、小型コンピュータシステムインターフェース(Small Computer System Interface、SCSI)ホストアダプタ、ユニバーサルシリアルバス(Universal Serial Bus、USB)ホストアダプタ、米国電気電子学会(Institute of Electrical and Electronics Engineers、IEEE)1394ホストアダプタ、アドバンストテクノロジーアタッチメント(Advanced Technology Attachment、ATA)、パラレルATA(Parallel ATA、PATA)、シリアルATA(Serial ATA、SATA)、及び外部SATA(External SATA、eSATA)ホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネットアダプタなどが挙げられる。通信インターフェース622はまた、コンピューティングシステム610が分散型又はリモートコンピューティングに関与することも可能にし得る。例えば、通信インターフェース622は、実行のために、リモートデバイスから命令を受信しても、リモートデバイスに命令を送信してもよい。
いくつかの実施例では、システムメモリ616は、プロセッサ614による実行のために、ネットワーク通信プログラム638を記憶及び/又はロードし得る。一実施例では、ネットワーク通信プログラム638は、コンピューティングシステム610が、別のコンピューティングシステム(図6には図示せず)とのネットワーク接続642を確立すること、及び/又は通信インターフェース622を介して他のコンピューティングシステムと通信すること、を可能にする、ソフトウェアを含み得る及び/又はそれを表し得る。この実施例では、ネットワーク通信プログラム638は、ネットワーク接続642を介して他のコンピューティングシステムに送信される発信トラフィックの流れを指示し得る。それに加えて、又は代替的に、ネットワーク通信プログラム638は、プロセッサ614と関連してネットワーク接続642を介して他のコンピューティングシステムから受信された着信トラフィックの処理を指示し得る。
図6にはこのようには示されていないが、ネットワーク通信プログラム638は、代替的に、通信インターフェース622に記憶及び/又はロードされ得る。例えば、ネットワーク通信プログラム638は、通信インターフェース622に組み込まれたプロセッサ及び/又は特定用途向け集積回路(ASIC)によって実行されるソフトウェア及び/又はファームウェアの少なくとも一部分を含み得る及び/又はそれを表し得る。
図6に示すように、例示的なコンピューティングシステム610はまた、記憶インターフェース634を介して通信基盤612に連結された、一次記憶デバイス632及びバックアップ記憶デバイス633も含み得る。記憶デバイス632及び633は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる、任意のタイプ又は形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス632及び633は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、ソリッドステートドライブ、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであり得る。記憶インターフェース634は、一般に、記憶デバイス632及び633とコンピューティングシステム610の他の構成要素との間でデータを転送するための、任意のタイプ又は形態のインターフェース又はデバイスを表す。一実施例では、図1からのデータストレージ120は、一次記憶デバイス632内に記憶及び/又はロードされ得る。
特定の実施形態では、記憶デバイス632及び633は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を記憶するように構成された取り外し可能な記憶ユニットから読み取る及び/又はそれに書き込むように構成され得る。好適な取り外し可能な記憶ユニットの例としては、非限定的に、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス632及び633はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令がコンピューティングシステム610内にロードされることを可能にするための、他の同様の構造体又はデバイスを含んでもよい。例えば、記憶デバイス632及び633は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み書きするように構成され得る。記憶デバイス632及び633は、コンピューティングシステム610の一部であっても、他のインターフェースシステムを介してアクセスされる別個のデバイスであってもよい。
他の多くのデバイス又はサブシステムが、コンピューティングシステム610に接続され得る。反対に、図6に示す構成要素及びデバイスの全てが、本明細書に記載及び/又は図示される実施形態を実践するために存在する必要があるわけではない。上記で言及したデバイス及びサブシステムはまた、図6に示されるものとは異なる手段で相互接続されてもよい。コンピューティングシステム610はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェア構成を用いてもよい。例えば、本明細書で開示する例示的な実施形態のうちの1つ以上は、コンピュータ可読媒体上で、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される)としてコード化されてもよい。「コンピュータ可読媒体」という用語は、本明細書で使用するとき、一般に、コンピュータ可読命令を格納又は保有することができる、任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、非限定的に、搬送波などの伝送型媒体、並びに磁気記憶媒体(例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク)、光学記憶媒体(例えば、コンパクトディスク(Compact Disk、CD)、デジタルビデオディスク(Digital Video Disk、DVD)、及びブルーレイ(BLU-RAY)ディスク)、電子記憶媒体(例えば、ソリッドステートドライブ及びフラッシュメディア)、並びに他の分散システムなどの非一時的媒体が挙げられる。
コンピュータプログラムを包含するコンピュータ可読媒体は、コンピューティングシステム610内にロードされ得る。コンピュータ可読媒体に記憶されたコンピュータプログラムのうちの全て又は一部分は、次いで、システムメモリ616内に、並びに/又は記憶デバイス632及び633の様々な部分内に記憶され得る。プロセッサ614によって実行されるとき、コンピューティングシステム610内にロードされたコンピュータプログラムは、プロセッサ614に、本明細書に記載及び/若しくは図示される例示的な実施形態のうちの1つ以上の機能を実施させ得、並びに/又はそれらを実施するための手段とならせ得る。それに加えて、又は代替的に、本明細書に記載及び/又は図示される例示的な実施形態のうちの1つ以上は、ファームウェア及び/又はハードウェアに実装されてもよい。例えば、コンピューティングシステム610は、本明細書に開示される例示的な実施形態のうちの1つ以上を実装するように適合された特定用途向け集積回路(ASIC)として構成され得る。
図7は、クライアントシステム710、720、及び730、並びにサーバ740及び745がネットワーク750に連結され得る例示的なネットワークアーキテクチャ700のブロック図である。上で詳述したように、ネットワークアーキテクチャ700のうちの全て又は一部分は、単独で又は他の要素と組み合わせてのいずれかで、本明細書に開示されるステップのうちの1つ以上(図3に示されるステップのうちの1つ以上など)を実施し得、及び/又はそれを実施するための手段であり得る。ネットワークアーキテクチャ700のうちの全て又は一部分はまた、本開示に記載される他のステップ及び特徴を実施するために使用されてもよく、並びに/又はそれを実施するための手段であってもよい。
クライアントシステム710、720、及び730は、一般に、図6の例示的なコンピューティングシステム610など、任意のタイプ又は形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ740及び745は、一般に、様々なデータベースサービスを提供する及び/又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ又はデータベースサーバなどのコンピューティングデバイス又はシステムを表す。ネットワーク750は、一般に、例えば、イントラネット、WAN、LAN、PAN、又はインターネットを含む、任意の電気通信ネットワーク又はコンピュータネットワークを表す。一実施例では、クライアントシステム710、720、及び/若しくは730、並びに/又はサーバ740及び/若しくは745は、図1のシステム100のうちの全て又は一部分を含み得る。
図7に示すように、1つ以上の記憶デバイス760(1)~(N)は、サーバ740に直接取り付けられ得る。同様に、1つ以上の記憶デバイス770(1)~(N)は、サーバ745に直接取り付けられ得る。記憶デバイス760(1)~(N)及び記憶デバイス770(1)~(N)は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる、任意のタイプ又は形態の記憶デバイス又は媒体を表す。特定の実施形態では、記憶デバイス760(1)~(N)及び記憶デバイス770(1)~(N)は、ネットワークファイルシステム(Network File System、NFS)、サーバメッセージブロック(Server Message Block、SMB)、又は共通インターネットファイルシステム(Common Internet File System、CIFS)など、様々なプロトコルを使用して、サーバ740及び745と通信するように構成された、ネットワーク接続ストレージ(Network-Attached Storage、NAS)デバイスを表してもよい。
サーバ740及び745はまた、ストレージエリアネットワーク(Storage Area Network、SAN)ファブリック780に接続されてもよい。SANファブリック780は、一般に、複数の記憶デバイス間の通信を容易にすることができる、任意のタイプ又は形態のコンピュータネットワーク又はアーキテクチャを表す。SANファブリック780は、サーバ740及び745と、複数の記憶デバイス790(1)~(N)及び/又はインテリジェント記憶アレイ795と、の間の通信を容易にし得る。また、SANファブリック780は、デバイス790(1)~(N)及びアレイ795が、クライアントシステム710、720、及び730にローカルに取り付けられたデバイスとして現れるような方式で、ネットワーク750並びにサーバ740及び745を介し、クライアントシステム710、720、及び730と記憶デバイス790(1)~(N)及び/又はインテリジェント記憶アレイ795との間の通信を容易にし得る。記憶デバイス760(1)~(N)及び記憶デバイス770(1)~(N)と同様に、記憶デバイス790(1)~(N)及びインテリジェント記憶アレイ795は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる、任意のタイプ又は形態の記憶デバイス又は媒体を表す。
特定の実施形態では、図6の例示的なコンピューティングシステム610を参照すると、図6の通信インターフェース622などの通信インターフェースは、各クライアントシステム710、720、及び730とネットワーク750との間の接続を提供するために使用され得る。クライアントシステム710、720、及び730は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ740又は745上の情報にアクセスすることが可能であり得る。かかるソフトウェアは、クライアントシステム710、720、及び730が、サーバ740、サーバ745、記憶デバイス760(1)~(N)、記憶デバイス770(1)~(N)、記憶デバイス790(1)~(N)、又はインテリジェント記憶アレイ795によってホストされたデータにアクセスすることを可能にし得る。図7は、データを交換するために(インターネットなどの)ネットワークを使用することを示しているが、本明細書に記載及び/又は図示される実施形態は、インターネット又は任意の特定のネットワークベースの環境に限定されない。
少なくとも1つの実施形態では、本明細書に開示される例示的な実施形態のうちの1つ以上の全て又は一部分は、コンピュータプログラムとしてコード化され、サーバ740、サーバ745、記憶デバイス760(1)~(N)、記憶デバイス770(1)~(N)、記憶デバイス790(1)~(N)、インテリジェント記憶アレイ795、又はこれらの任意の組み合わせ上にロードされ、これらによって実行され得る。本明細書に開示される例示的な実施形態のうちの1つ以上の全て又は一部分はまた、コンピュータプログラムとしてコード化され、サーバ740に記憶され、サーバ745によって実行され、ネットワーク750を通じてクライアントシステム710、720、及び730に分散されてもよい。
上で詳述したように、コンピューティングシステム610及び/又はネットワークアーキテクチャ700の1つ以上の構成要素は、単独で又は他の要素と組み合わせてのいずれかで、セキュリティポリシーに基づいてアプリケーション起動を制御するための例示的な方法の1つ以上のステップを実施し得、及び/又はそれを実施するための手段であり得る。
前述の開示は、特定のブロック図、フローチャート、及び実施例を使用して様々な実施形態を記載しているが、本明細書に記載及び/又は図示されるそれぞれのブロック図の構成要素、フローチャートの工程、動作、及び/又は構成要素は、個別に及び/又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア(若しくはそれらの任意の組み合わせ)の構成を使用して実装されてもよい。それに加えて、同じ機能性を達成するように他の多くのアーキテクチャを実装することができるので、他の構成要素内に包含される構成要素のいかなる開示も、本質的に例示とみなされるべきである。
いくつかの実施例では、図1の例示的なシステム100のうちの全て又は一部分は、クラウドコンピューティング環境又はネットワークベースの環境の部分を表してもよい。クラウドコンピューティング環境は、インターネットを介して、様々なサービス及びアプリケーションを提供してもよい。これらのクラウドベースのサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など)は、ウェブブラウザ又は他のリモートインターフェースを通してアクセス可能であってもよい。本明細書に記載される様々な機能は、リモートデスクトップ環境又は他の任意のクラウドベースのコンピューティング環境を通して提供されてもよい。
様々な実施形態では、図1の例示的なシステム100のうちの全て又は一部分は、クラウドベースのコンピューティング環境内におけるマルチテナンシーを容易にしてもよい。換言すれば、本明細書に記載されるソフトウェアモジュールは、本明細書に記載される機能のうちの1つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム(例えば、サーバ)を構成してもよい。例えば、本明細書に記載されるソフトウェアモジュールのうちの1つ以上は、2つ以上のクライアント(例えば、顧客)がサーバ上で作動しているアプリケーションを共有するのを可能にするように、サーバをプログラムしてもよい。このようにプログラムされたサーバは、複数の顧客(すなわち、テナント)の間で、アプリケーション、オペレーティングシステム、処理システム、及び/又は記憶システムを共有してもよい。本明細書に記載されるモジュールのうちの1つ以上はまた、ある顧客が別の顧客のデータ及び/又は設定情報にアクセスできないように、顧客毎にマルチテナントアプリケーションのデータ及び/又は設定情報を分割してもよい。
様々な実施形態によれば、図1の例示的なシステム100のうちの全て又は一部分は、仮想環境内で実装されてもよい。例えば、本明細書に記載されるモジュール及び/又はデータは、仮想機械内で常駐及び/又は実行してもよい。本明細書で使用するとき、「仮想機械」という用語は、一般に、仮想機械マネージャ(例えば、ハイパーバイザ)によってコンピューティングハードウェアから抽出される、任意のオペレーティングシステム環境を指す。それに加えて、又は代替的に、本明細書に記載されるモジュール及び/又はデータは、仮想化層内で常駐及び/又は実行してもよい。本明細書で使用するとき、「仮想化層」という用語は、一般に、オペレーティングシステム環境にオーバーレイする、並びに/あるいはそこから抽出される、任意のデータ層及び/又はアプリケーション層を指す。仮想化層は、基礎となる基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション(例えば、ファイルシステムフィルタ)によって管理されてもよい。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び/又はレジストリ内の場所に方向付けられる呼び出しを、仮想化層内の場所にリダイレクトしてもよい。
いくつかの実施例では、図1の例示的なシステム100のうちの全て又は一部分は、モバイルコンピューティング環境の部分を表してもよい。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダ、携帯情報端末、ウェアラブルコンピューティングデバイス(例えば、ヘッドマウントディスプレイを有するコンピューティングデバイス、スマートウォッチなど)などを含む、広範なモバイルコンピューティングデバイスによって実装されてもよい。いくつかの実施例では、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間での1つのみのフォアグラウンドアプリケーションの提示、リモート管理特性、タッチスクリーン特性、位置及び移動データ(例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される)、システムレベルの構成への修正を制限する、及び/又は第3者のソフトウェアが他のアプリケーションの挙動を検査する能力を限定する制限されたプラットフォーム、アプリケーションのインストールを(例えば、認可されたアプリケーションストアからのみ生じるように)制限する制御などを含む、1つ以上の個別の特性を有することができる。本明細書で説明される様々な機能は、モバイルコンピューティング環境に対して提供され得る、及び/又はモバイルコンピューティング環境と相互作用し得る。
それに加えて、図1の例示的なシステム100のうちの全て又は一部分は、情報管理のための1つ以上のシステムの部分を表してもよく、それと相互作用してもよく、それによって生成されるデータを消費してもよく、及び/又はそれによって消費されるデータを生成してもよい。本明細書で使用するとき、「情報管理」という用語は、データの保護、組織化、及び/又は記憶を指してもよい。情報管理のためのシステムの例としては、非限定的に、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを挙げることができる。
いくつかの実施形態では、図1の例示的なシステム100のうちの全て又は一部分は、情報セキュリティのための1つ以上のシステムの部分を表してもよく、それによって保護されるデータを生成してもよく、及び/又はそれと通信してもよい。本明細書で使用するとき、「情報セキュリティ」という用語は、保護されたデータに対するアクセスの制御を指してもよい。情報セキュリティのためのシステムの例としては、非限定的に、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号化システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを挙げることができる。
いくつかの実施例によれば、図1の例示的なシステム100のうちの全て又は一部分は、エンドポイントセキュリティのための1つ以上のシステムの部分を表してもよく、それと通信してもよく、及び/又はそれから保護を受けてもよい。本明細書で使用するとき、「エンドポイントセキュリティ」という用語は、不正及び/若しくは違法な使用、アクセス、並びに/又は制御からのエンドポイントシステムの保護を指してもよい。エンドポイント保護のためのシステムの例としては、非限定的に、アンチマルウェアシステム、ユーザ認証システム、暗号化システム、プライバシーシステム、スパムフィルタリングサービスなどを挙げることができる。
本明細書に記載及び/又は図示されるプロセスパラメータ及び工程の順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に図示及び/又は記載される工程は特定の順序で図示又は考察されることがあるが、これらの工程は、必ずしも図示又は考察される順序で実施される必要はない。本明細書に記載される及び/又は図示される様々な例示的な方法はまた、本明細書に記載される及び/又は図示される工程のうちの1つ以上を省略してもよく、又は開示されるものに加えて追加の工程を含んでもよい。
様々な実施形態が、完全に機能的なコンピューティングシステムに関連して本明細書に記載され及び/又は図示されているが、これら例示的な実施形態のうちの1つ以上は、実際に配布を行なうために使用されるコンピュータ可読記憶媒体の特定のタイプに関わらず、多様な形態のプログラム製品として配布され得る。本明細書に開示される実施形態はまた、特定のタスクを実施するソフトウェアモジュールを使用して実装されてもよい。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体又はコンピューティングシステムに記憶されてもよい、スクリプト、バッチ、若しくは他の実行可能ファイルを含んでもよい。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態のうちの1つ以上を実施するようにコンピューティングシステムを構成してもよい。
それに加えて、本明細書に記載されるモジュールのうちの1つ以上は、データ、物理的デバイス、及び/又は物理的デバイスの表現を、1つの形態から別の形態へと変換してもよい。それに加えて、又は代替的に、本明細書に列挙されるモジュールのうちの1つ以上は、コンピューティングデバイス上で実行し、コンピューティングデバイスにデータを格納し、並びに/あるいは別の方法でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び/又は物理的コンピューティングデバイスの他の任意の部分を、1つの形態から別の形態へと変換してもよい。
上述の記載は、本明細書に開示される例示的な実施形態の様々な態様を他の当業者が最良に利用するのを可能にするために提供されてきた。この例示的な記載は、網羅的であることを意図するものではなく、又は開示される任意の正確な形態に限定することを意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないものとみなされるべきである。本開示の範囲を決定する際に、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
別途記載のない限り、「~に接続される」及び「~に連結される」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用するとき、直接的接続及び間接的接続(すなわち、他の要素若しくは構成要素を介する)の両方を許容するものとして解釈されるものである。それに加えて、「a」又は「an」という用語は、本明細書及び特許請求の範囲で使用するとき、「~のうち少なくとも1つ」を意味するものとして解釈されるものである。最後に、簡潔にするため、「含む」及び「有する」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用するとき、「備える」という単語と互換性があり、同じ意味を有する。

Claims (15)

  1. セキュリティポリシーに基づいてアプリケーション起動を制御するためのコンピュータ実装方法であって、前記方法の少なくとも一部分が、少なくとも1つのプロセッサを備えるコンピューティングデバイスによって実行され、前記方法は、
    前記コンピューティングデバイスによって、アプリケーションランチャーをサンドボックス内にロードすることと、
    前記コンピューティングデバイスによって、前記アプリケーションランチャーからアプリケーションを起動することに関連付けられた1つ以上の機能を監視することと、
    前記コンピューティングデバイスによって、前記アプリケーションを起動することに関連付けられた前記機能が、前記アプリケーションランチャーによって呼び出されたと判定することと、
    前記コンピューティングデバイスによって、前記アプリケーションが潜在的に有害であるかどうかを判定するセキュリティポリシーを含むポリシーマネージャにクエリすることと、
    前記セキュリティポリシーに基づいて、前記アプリケーションが潜在的に有害であると判定すると、前記アプリケーションランチャーが前記サンドボックスから前記アプリケーションを起動することを防止するセキュリティアクションを、前記コンピューティングデバイスによって実行することと、を含む、方法。
  2. 前記セキュリティポリシーに基づいて、前記アプリケーションが潜在的に有害でないと判定すると、前記アプリケーションランチャーが前記サンドボックスから前記アプリケーションを起動することを可能にするセキュリティアクションを、前記コンピューティングデバイスによって実行することを更に含む、請求項1に記載のコンピュータ実装方法。
  3. 前記コンピューティングデバイスによって、前記アプリケーションランチャーからアプリケーションを起動することに関連付けられた前記1つ以上の機能を監視することが、アプリケーション起動開始機能のために前記アプリケーションランチャーに関連付けられたアクティビティマネージャを監視することを含む、請求項1に記載のコンピュータ実装方法。
  4. 前記コンピューティングデバイスによって、前記アプリケーションが潜在的に有害であるかどうかを判定する前記セキュリティポリシーを含む前記ポリシーマネージャにクエリすることが、前記セキュリティポリシーに基づいて、前記アプリケーションが潜在的に有害であるかどうかを判定するために、前記ポリシーマネージャを使用して前記アプリケーションをスキャンすることを含む、請求項1に記載のコンピュータ実装方法。
  5. 前記コンピューティングデバイスによって、前記アプリケーションが潜在的に有害であるかどうかを判定する前記セキュリティポリシーを含む前記ポリシーマネージャにクエリすることが、前記アプリケーションが潜在的に有害であるかどうかを判定するブラックリストのための前記ポリシーマネージャにクエリすることを含む、請求項1に記載のコンピュータ実装方法。
  6. 前記セキュリティポリシーに基づいて、前記アプリケーションが潜在的に有害であると判定すると、前記アプリケーションランチャーが前記サンドボックスから前記潜在的に有害なアプリケーションを起動することを防止する前記セキュリティアクションを前記コンピューティングデバイスによって実行することが、前記アプリケーションが潜在的に有害であることをアプリケーションランタイムで判定すると、前記アプリケーションが実行されることを阻止することを含む、請求項1に記載のコンピュータ実装方法。
  7. 前記セキュリティポリシーが、前記アプリケーションの前記起動に関連付けられた時間及び場所のうちの1つ以上に基づく、請求項1に記載のコンピュータ実装方法。
  8. セキュリティポリシーに基づいてアプリケーション起動を制御するためのシステムであって、
    アプリケーションランチャーをコンピューティングデバイス上のサンドボックス内にロードするための手段と、
    前記アプリケーションランチャーからアプリケーションを起動することに関連付けられた1つ以上の機能を監視するための手段と、
    前記アプリケーションを起動することに関連付けられた前記機能が、前記アプリケーションランチャーによって呼び出されたことを判定するための手段と、
    前記アプリケーションが潜在的に有害であるかどうかを判定するセキュリティポリシーを含むポリシーマネージャにクエリするための手段と、
    前記セキュリティポリシーに基づいて、前記アプリケーションが潜在的に有害であると判定すると、前記アプリケーションランチャーが前記コンピューティングデバイス上の前記サンドボックスから前記アプリケーションを起動することを防止するセキュリティアクションを実行するための手段と、
    前記ロードするための手段と、前記監視するための手段と、前記判定するための手段と、前記クエリするための手段と、前記セキュリティアクションを実行するための手段と、を実行する少なくとも1つの物理プロセッサと、を備える、システム。
  9. 前記セキュリティアクションを実行するための前記手段が、前記セキュリティポリシーに基づいて、前記アプリケーションが潜在的に有害でないと判定すると、前記アプリケーションランチャーが前記サンドボックスから前記アプリケーションを起動することを可能にする、請求項8に記載のシステム。
  10. 前記監視するための手段が、アプリケーション起動開始機能のために前記アプリケーションランチャーに関連付けられたアクティビティマネージャを監視することによって、前記アプリケーションランチャーから前記アプリケーションを起動することに関連付けられた前記1つ以上の機能を監視する、請求項8に記載のシステム。
  11. 前記クエリするための手段が、前記セキュリティポリシーに基づいて、前記アプリケーションが潜在的に有害であるかどうかを判定する前記ポリシーマネージャを使用して前記アプリケーションをスキャンすることによって、前記アプリケーションが潜在的に有害であるかどうかを判定する前記セキュリティポリシーを含む前記ポリシーマネージャにクエリする、請求項8に記載のシステム。
  12. 前記クエリするための手段が、前記アプリケーションが潜在的に有害であるかどうかを判定するブラックリストのための前記ポリシーマネージャにクエリすることによって、前記アプリケーションが潜在的に有害であるかどうかを判定する前記セキュリティポリシーを含む前記ポリシーマネージャにクエリする、請求項8に記載のシステム。
  13. 前記セキュリティアクションを実行するための前記手段が、前記セキュリティポリシーに基づいて、前記アプリケーションが潜在的に有害であることをアプリケーションランタイムで判定すると、前記アプリケーションが前記コンピューティングデバイス上で実行されることを阻止することによって、前記アプリケーションランチャーが、前記コンピューティングデバイス上の前記サンドボックスから前記潜在的に有害なアプリケーションを起動することを防止する、請求項8に記載のシステム。
  14. 前記セキュリティポリシーが、前記コンピューティングデバイス上の前記アプリケーションの前記起動に関連付けられた時間及び場所のうちの1つ以上に基づく、請求項8に記載のシステム。
  15. 非一時的コンピュータ可読媒体であって、1つ以上のコンピュータ実行可能命令を含み、前記命令は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されると、前記コンピューティングデバイスに、
    アプリケーションランチャーを前記コンピューティングデバイス上のサンドボックス内にロードさせ、
    前記アプリケーションランチャーからアプリケーションを起動することに関連付けられた1つ以上の機能を監視させ、
    前記アプリケーションを起動することに関連付けられた前記機能が前記アプリケーションランチャーによって呼び出されたことを判定させ、
    前記アプリケーションが潜在的に有害であるかどうかを判定するセキュリティポリシーを含むポリシーマネージャにクエリさせ、
    前記セキュリティポリシーに基づいて、前記アプリケーションが潜在的に有害であると判定すると、前記アプリケーションランチャーが前記コンピューティングデバイス上の前記サンドボックスから前記アプリケーションを起動することを防止するセキュリティアクションを実行させる、非一時的コンピュータ可読媒体。
JP2020563565A 2018-05-22 2019-03-26 セキュリティポリシーに基づいてアプリケーション起動を制御するためのシステム及び方法 Active JP7060714B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/985,734 US10747874B2 (en) 2018-05-22 2018-05-22 Systems and methods for controlling an application launch based on a security policy
US15/985,734 2018-05-22
PCT/US2019/024115 WO2019226228A1 (en) 2018-05-22 2019-03-26 Systems and methods for controlling an application launch based on a security policy

Publications (2)

Publication Number Publication Date
JP2021521563A JP2021521563A (ja) 2021-08-26
JP7060714B2 true JP7060714B2 (ja) 2022-04-26

Family

ID=66102276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020563565A Active JP7060714B2 (ja) 2018-05-22 2019-03-26 セキュリティポリシーに基づいてアプリケーション起動を制御するためのシステム及び方法

Country Status (5)

Country Link
US (1) US10747874B2 (ja)
EP (1) EP3797371B1 (ja)
JP (1) JP7060714B2 (ja)
CN (1) CN112513846A (ja)
WO (1) WO2019226228A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10803167B1 (en) 2018-02-20 2020-10-13 NortonLifeLock, Inc. Systems and methods for executing application launchers
US10747874B2 (en) 2018-05-22 2020-08-18 NortonLifeLock, Inc. Systems and methods for controlling an application launch based on a security policy
GB2577067B (en) * 2018-09-12 2021-01-13 Avecto Ltd Controlling applications by an application control system in a computer device
US11113389B1 (en) 2019-08-15 2021-09-07 NortonLifeLock Inc. Systems and methods for providing persistent visual warnings for application launchers
CN116774808A (zh) * 2019-09-09 2023-09-19 中兴通讯股份有限公司 应用程序管理方法、装置和存储介质
US11347485B1 (en) 2021-06-07 2022-05-31 Snowflake Inc. Secure, scalable, table-valued functions in a cloud database
CN113254932B (zh) * 2021-06-16 2024-02-27 百度在线网络技术(北京)有限公司 应用程序的风险检测方法、装置、电子设备和介质

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 インテル・コーポレーション サンドボックス法によるコンピュータセキュリティ向上方法
JP2014096142A (ja) 2012-10-09 2014-05-22 Canon Electronics Inc 情報処理装置、情報処理システムおよび情報処理方法
JP2014518582A (ja) 2011-04-28 2014-07-31 ファスドットコム カンパニー リミテッド Dllインジェクション機能を持つコンピュータ装置及びdllインジェクション方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2750518B1 (fr) * 1996-07-01 1998-07-31 Bull Sa Lanceur d'applications securise a interface graphique
US9111089B1 (en) 2011-02-08 2015-08-18 Symantec Corporation Systems and methods for safely executing programs
US9384101B2 (en) * 2011-07-26 2016-07-05 Apple Inc. Web application architecture
GB2492857B (en) 2011-11-30 2013-07-17 Avecto Ltd Method and computer device to control software file downloads
US9053340B2 (en) * 2012-10-12 2015-06-09 Citrix Systems, Inc. Enterprise application store for an orchestration framework for connected devices
CN104462879B (zh) * 2014-11-28 2018-04-17 北京奇虎科技有限公司 应用程序免Root运行控制方法与装置
CN104375494B (zh) * 2014-12-02 2017-02-22 北京奇虎科技有限公司 安全沙箱构造方法及装置
TWI616770B (zh) * 2015-02-03 2018-03-01 緯創資通股份有限公司 雲端資料管理方法、電子裝置及雲端伺服器
KR102320151B1 (ko) * 2015-02-16 2021-11-01 삼성전자주식회사 어플리케이션을 설치하는 전자 장치 및 그 제어 방법
US20170053314A1 (en) 2015-08-20 2017-02-23 Quixey, Inc. Displaying Advertisements In Application Launcher
CN105975333B (zh) * 2015-12-24 2019-05-31 北京奇虎科技有限公司 应用程序运行控制的方法及装置
US9876896B1 (en) 2016-06-21 2018-01-23 Sprint Communications Company L.P. System and method of interdicting malware infiltration as spoofed advertisement
US10747874B2 (en) 2018-05-22 2020-08-18 NortonLifeLock, Inc. Systems and methods for controlling an application launch based on a security policy

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 インテル・コーポレーション サンドボックス法によるコンピュータセキュリティ向上方法
JP2014518582A (ja) 2011-04-28 2014-07-31 ファスドットコム カンパニー リミテッド Dllインジェクション機能を持つコンピュータ装置及びdllインジェクション方法
JP2014096142A (ja) 2012-10-09 2014-05-22 Canon Electronics Inc 情報処理装置、情報処理システムおよび情報処理方法

Also Published As

Publication number Publication date
EP3797371B1 (en) 2022-12-21
WO2019226228A1 (en) 2019-11-28
US10747874B2 (en) 2020-08-18
JP2021521563A (ja) 2021-08-26
US20190362067A1 (en) 2019-11-28
EP3797371A1 (en) 2021-03-31
CN112513846A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
JP6918212B2 (ja) 悪意のあるアプリケーションがアプリケーションサービスを活用することを防止するためのシステム及び方法
JP7060714B2 (ja) セキュリティポリシーに基づいてアプリケーション起動を制御するためのシステム及び方法
US20200082081A1 (en) Systems and methods for threat and information protection through file classification
JP6196393B2 (ja) プリインストールアプリケーションのスキャンを最適化するためのシステム及び方法
JP6247405B2 (ja) インストール前にモバイルデバイス上でマルウェアを検出するためのシステム及び方法
US20150227742A1 (en) Systems and methods for scanning packed programs in response to detecting suspicious behaviors
US10210330B1 (en) Systems and methods for detecting malicious processes that encrypt files
US10140454B1 (en) Systems and methods for restarting computing devices into security-application-configured safe modes
CN109997138B (zh) 用于检测计算设备上的恶意进程的系统和方法
US11204992B1 (en) Systems and methods for safely executing unreliable malware
US9330254B1 (en) Systems and methods for preventing the installation of unapproved applications
US9483643B1 (en) Systems and methods for creating behavioral signatures used to detect malware
US11113389B1 (en) Systems and methods for providing persistent visual warnings for application launchers
US10613897B1 (en) Systems and methods for creating program-specific execution environments
US10116688B1 (en) Systems and methods for detecting potentially malicious files
US11366903B1 (en) Systems and methods to mitigate stalkerware by rendering it useless

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201109

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20201116

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220316

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220414

R150 Certificate of patent or registration of utility model

Ref document number: 7060714

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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