JP2017016631A - 脆弱なアプリケーションによるファイルのオープンを制御するシステム及び方法。 - Google Patents

脆弱なアプリケーションによるファイルのオープンを制御するシステム及び方法。 Download PDF

Info

Publication number
JP2017016631A
JP2017016631A JP2016045304A JP2016045304A JP2017016631A JP 2017016631 A JP2017016631 A JP 2017016631A JP 2016045304 A JP2016045304 A JP 2016045304A JP 2016045304 A JP2016045304 A JP 2016045304A JP 2017016631 A JP2017016631 A JP 2017016631A
Authority
JP
Japan
Prior art keywords
file
computer
application
software application
access
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
JP2016045304A
Other languages
English (en)
Other versions
JP6482489B2 (ja
Inventor
エー.エフレモフ アンドレ
A Efremov Andrey
エー.エフレモフ アンドレ
ブイ.ラディコヴ アンドレ
V Ladikov Andrey
ブイ.ラディコヴ アンドレ
ワイ.ソロドヴニコヴ アンドレ
Y Solodovnikov Andrey
ワイ.ソロドヴニコヴ アンドレ
ブイ.モナスティルスキ アレクセイ
V Monastyrsky Alexey
ブイ.モナスティルスキ アレクセイ
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.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
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 Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of JP2017016631A publication Critical patent/JP2017016631A/ja
Application granted granted Critical
Publication of JP6482489B2 publication Critical patent/JP6482489B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/561Virus type analysis
    • 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/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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

Abstract

【課題】脆弱なアプリケーションによるファイルのオープンを制御する。
【解決手段】ファイルをオープンするという、ソフトウェア・アプリケーションからの要求を検出し、ファイルの1つ又は複数のパラメータを決定する。ファイル・アクセス・ポリシーは、ユーザコンピュータのリソースに対するソフトウェア・アプリケーションのアクセス権を規定する。ソフトウェア・アプリケーションの脆弱性を特定し、脆弱性に基づいてソフトウェア・アプリケーションに対するアプリケーション起動ポリシーを決定する。アプリケーション起動ポリシーは、ファイルオープンが許可又は禁止されるかどうかを少なくとも規定し、ファイル・アクセス・ポリシー及びアプリケーション起動ポリシーに基づいて、オープンされたファイルの動作中、ソフトウェア・アプリケーションによる、ユーザコンピュータでのファイルオープン及びコンピュータ・リソースへのアクセスを制御する。
【選択図】図2

Description

本開示は、概して、コンピュータセキュリティの分野に関するものであり、より具体的には、脆弱なソフトウェア・アプリケーションによるコンピュータファイルのオープンを、制御するためのシステムおよび方法である。
パーソナルコンピュータ、タブレット、及びスマートフォン(一般に「コンピュータ」としてここでは呼ばれる)を含む、コンピュータデバイスに用いられているソフトウェア・アプリケーションの数は、今日、驚異的な割合で増加している。コンピュータに備えられるソフトウェア・アプリケーションがコンピュータファイルを受取った時又は開いた時に、コンピュータが悪質なソフトウェアによる攻撃に対して脆弱になることが多々ある。悪意のあるソフトウェア、すなわち“マルウェア”は、ハッカーによって開発されたウイルス、トロイの木馬、スパイウェア、ワーム、ボットなどを含み得る。マルウェアは、コンピュータとそのユーザに対して多くの問題を引き起こし続けているので、マルウェアから守ることを目的として、非常に高度なウイルス対策のアプリケーションの開発に多くの努力が成されている。
ウイルス対策のアプリケーションは、通常、コンピュータでのすべての疑わしいファイルをスキャンする。それにより、アプリケーションがコンピュータのリソースのかなりの割合を消費しかねないという、課題が生じる。しかし、マルウェアが引き起こす可能性がある潜在的な損傷の重症性を懸念して、コンピュータシステムでは、コンピュータで実行する他のアプリケーションからリソースの適用を外し、実行しているウイルス対策のアプリケーションに対してリソースを適用するという対応をせざる得ない。
コンピュータにおけるリソースの枯渇は、コンピュータに新しいソフトウェアファイルを導入して直ぐの期間に限定されるものではない。新たに発見されたマルウェアからファイルを保護できるように、ウイルス対策のアプリケーションが定期的に更新されるので、ソフトウェアファイルは、再度スキャンされる。すなわち、あるファイルが、始めに、マルウェアがないと判断されたとしても、後々、更新されたウイルス対策のアプリケーションによって再度スキャンされた後に、マルウェアが含まれていると判断されることもありえる。したがって、複数のスキャンをするためのリソースは、マルウェアに対する保護の品質を向上させるために必要とされる。
残念ながら、マルウェアは、より洗練され、コンピュータとそのユーザに対してより危険になり続けている。故に、ウイルス対策のアプリケーションは、効果的に動作できるように、多くのコンピュータ・リソースを必要とする。従って、現在の状況において、特定条件でソフトウェア・アプリケーションがコンピュータファイルをオープンする承諾を制限するルール又は基準を作成することができるシステムを提供することは望ましいであろう。それにより、マルウェアの可能性から保護するために、使用されるコンピュータ・リソースの総計を制限することができる。
脆弱なアプリケーションによるコンピュータファイルのオープンを制御する例示的なシステム、方法及びコンピュータプログラム製品が開示される。
例示的な方法は、
ユーザコンピュータでコンピュータファイルをオープンするという、ソフトウェア・アプリケーションからの要求を検出する工程と、
ファイルの1つ又は複数のパラメータを決定する工程であって、
ファイルのパラメータに基づいて、ファイル・アクセス・ポリシーを決定する工程と、
ファイル・アクセス・ポリシーは、ユーザコンピュータのリソースに対するソフトウェア・アプリケーションのアクセス権を少なくとも規定する工程と、
ソフトウェア・アプリケーションの脆弱性を特定する工程と、
決定された脆弱性に少なくとも基づいて、ソフトウェア・アプリケーションに対するアプリケーション起動ポリシーを決定する工程であって、
アプリケーション起動ポリシーは、ファイルオープンを許可又は禁止するかどうかを、少なくとも規定する工程と、
オープンされたファイルの動作中、ファイル・アクセス・ポリシー及びアプリケーション起動ポリシーに基づいて、ソフトウェア・アプリケーションによるユーザコンピュータでのファイルオープン及びコンピュータ・リソースへのアクセスを制御する工程を含む。
他の例示的な態様で、ソフトウェア・アプリケーションは、1つ又は複数のソース・アプリケーションを含み、ソース・アプリケーションは、コンピュータファイルとコンシューマー・アプリケーションを生成し、コンシューマー・アプリケーションは、ユーザコンピュータにあるコンピュータファイルのオープンを要求する。
他の例示的な態様で、ソース・アプリケーションによって生成されるコンピュータファイルは、プロセス、実行ファイル、スクリプトファイル、及びダイナミックライブラリの1つを含む。
他の例示的な態様で、本方法は、ソース・アプリケーションがコンピュータファイルを生成する時を決定する工程をさらに含み、それは、
ファイルシステムフィルターのドライバを用いる手段、
ユーザコンピュータでオペレーティングシステム(OS)のアプリケーションプログラミングインターフェース(API)のコールを傍受する手段、及び、
ソース・アプリケーションによりユーザコンピュータに提供されるAPIを用いる手段、
の少なくとも1つの手段を用いることによって決定する。
他の例示的な態様で、ハードウェアプロセッサによって決定されるコンピュータファイルのパラメータは、コンピュータファイルの種類、コンピュータファイルのサイズ、コンピュータファイルのデジタル署名、及び、コンピュータファイルの拡張子、の少なくとも1つを含む。
他の例示的な態様では、
ハードウェアプロセッサによって、コンピュータファイルの1つ又は複数のパラメータを決定する工程は、
コンピュータファイルに対するウイルス対策用の解析を実行する工程を含み、コンピュータファイルのパラメータは、ウイルス対策用の解析結果を含む。
他の例示的な態様では、
ソフトウェア・アプリケーションの脆弱性を特定する工程と、
ソフトウェア・アプリケーションの修正された脆弱性を決定する工程と、
以前のバージョンのソフトウェア・アプリケーションでの脆弱性を決定する工程と、
以前のバージョンのソフトウェア・アプリケーションでの修正された脆弱性を決定する工程、
をさらに備える。
他の例示的な態様では、
本方法は、
ファイル・アクセス・ポリシー及びアプリケーション起動ポリシーの優先順位を規定する工程をさらに含む。
ソフトウェア・アプリケーションによるコンピュータファイルのオープン及びコンピュータ・リソースのアクセスを制御する工程は、ファイル・アクセス・ポリシー及びアプリケーション起動ポリシーのそれぞれの優先順位に基づいている。
他の例示的な態様では、コンピュータ・リソースへのアクセス権は、
ソフトウェア・アプリケーションが次の操作の1つ又は複数の操作の実行を禁止する工程を含み、その操作は、
コンピュータファイルシステムに対する低いレベルでのアクセスを実行する操作、
ディスクに対する低いレベルでのアクセスを実行する操作、
コンピュータでドライバを起動する操作、
コンピュータのレジストリを変更する操作、
コンピュータのメモリに直接アクセスする操作、
プロセス記述子を取得する操作、
ブラウザのAPIを使用する操作、
“%SystemRoot%”及び“%ProgramFiles%”ディレクトリ(全サブディレクトリを含む)にあり、拡張子が、“.exe“及び”.dll“であるファイルを変更する操作、
コンピュータのStartupディレクトリにあるファイルを生成及び変更する操作、
自動実行キーを生成及び変更する操作、
環境変数を含むアドレスを使用してファイルのリソースにアクセスする操作、
及び、コンピュータのユーザ・レジストリのリソースにアクセスする操作、
である。
他の例示的な態様では、本方法は、
次の1つまたは複数の手段に基づいて、ソフトウェア・アプリケーションが信頼のないファイル起源であるかどうかについて、ハードウェアプロセッサによって決定される工程と、
ソフトウェア・アプリケーションが信頼のないファイル起源であるかどうかという決定に基づいて、ハードウェアプロセッサにより、ソフトウェア・アプリケーションがユーザコンピュータでコンピュータファイルをオープン及びコンピュータ・リソースへアクセスする制御を行う工程をさらに含み、
その手段は、
信頼のないファイルに関する既知のソース・アプリケーションのデータベース内を検索する手段、
脆弱なモジュール又は信頼のないファイルをロードすることに対するソース・アプリケーションの振る舞いを解析する手段、及び、ソフトウェア・アプリケーションのメタデータを解析する手段、
である。
他の態様では、ユーザコンピュータにおいて、ソフトウェア・アプリケーションによるコンピュータファイルのオープンを制御する例示的なシステムであって、
システムは、
ユーザコンピュータでコンピュータファイルをオープンするという、ソフトウェア・アプリケーションから要求を検出し、
コンピュータファイルの1つまたは複数のパラメータを決定し、
コンピュータファイルのパラメータに基づいて、要求されたコンピュータファイルに関連するファイル・アクセス・ポリシーを決定し、
ファイル・アクセス・ポリシーは、要求されたコンピュータファイルが動作している場合、ユーザコンピュータのリソースに対するソフトウェア・アプリケーションのアクセス権を少なくとも規定し、
ソフトウェア・アプリケーションの脆弱性を特定し、
決定された脆弱性に少なくとも基づいて、ソフトウェア・アプリケーションに対するアプリケーション起動ポリシーを決定し、
アプリケーション起動ポリシーは、ファイルのオープンを許可又は禁止するかどうかについて、少なくとも規定し、
オープンされたファイルの動作中、ファイル・アクセス・ポリシー及びアプリケーション起動ポリシーに少なくとも基づいて、ユーザコンピュータでのソフトウェア・アプリケーションによるコンピュータファイルのオープン及びコンピュータ・リソースへアクセスを制御するように構成されるハードウェアプロセッサを備える。
他の態様では、ユーザコンピュータにおいて、ソフトウェア・アプリケーションによるコンピュータファイルのオープンを制御するコンピュータ実行命令を備える例示的な非一時的コンピュータ可読媒体は、次の命令を含む。
ユーザコンピュータにおいてコンピュータファイルをオープンするという、ソフトウェア・アプリケーションからの要求を検出する命令と、
コンピュータファイルの1つ又は複数のパラメータを決定する命令と、
コンピュータファイルのパラメータに基づいて、要求されたコンピュータファイルに関連するファイル・アクセス・ポリシーを決定する命令と、
要求されたコンピュータファイルの動作中、ファイル・アクセス・ポリシーは、ユーザコンピュータのリソースに対するソフトウェア・アプリケーションのアクセス権を少なくとも規定し、
ソフトウェア・アプリケーションの脆弱性を特定する命令と、
少なくとも決定された脆弱性に基づいて、ソフトウェア・アプリケーションに対するアプリケーション起動ポリシーを決定する命令と、
アプリケーション起動ポリシーは、ファイルのオープンを許可又は禁止するかどうかを、少なくとも規定し、
オープンされたファイルの動作中、ファイル・アクセス・ポリシー及びアプリケーション起動ポリシーに少なくとも基づいて、ユーザコンピュータでのソフトウェア・アプリケーションによるコンピュータファイルのオープン及びコンピュータ・リソースへのアクセスを制御する命令を含む。
例示的態様における上記の簡単な概要は、本開示の基本的な理解を提供するのに役立つ。本概要は、すべての企図される態様の広範な概観ではなく、すべての態様の主要または重大な要素を特定することも意図されておらず、本開示における、任意又は全ての態様の範囲を線引きもしないということが意図される。その唯一の目的は、以下の開示のより詳細な説明の前置きとして簡略化された形式で1または複数の態様を提示することである。前述の達成のために、本開示の1つまたは複数の態様について、説明され、特に特許請求の範囲に示してある特徴を含む。
添付図面は、詳細な説明と共に、本明細書に組み込まれ、その一部を構成し、本開示における1つまたは複数の実施態様を示しており、それらの原理および実装を説明するのに役立つ。
図1は、脆弱なアプリケーションによりファイルオープンの制御をするための例示的なシステムの概略図を示す。 図2は、脆弱なアプリケーションによりファイルオープンの制御をするための例示的な方法のフローチャートを示す。 図3は、開示されたシステムおよび方法を実装することができる汎用コンピュータシステムの一例を示す図である。
例示的な態様は、脆弱なソフトウェア・アプリケーションによってコンピュータファイルのオープンを制御するために、システム、方法、及びコンピュータプログラム製品に関連して本明細書に開示される。当業者は、以下の説明は単なる例示であり、決して限定であることを意図するものではないことを理解するであろう。他の態様は、本開示の利益を有する当業者にとって、容易に示唆となりえる。参照は、添付の図面に示されるように、現在の例示の態様の実装について詳細に説明するものである。同じ参照指標は、同一または同様の項目を参照するため、図面及び以下の説明の全体を通じて、可能な限り使用される。
図1は、脆弱なソフトウェア・アプリケーションにより生成されたコンピュータファイルをオープンする制御を行うためのシステム100を示している。“アプリケーション”という用語は、1つ又は複数のバージョンにおけるコンピュータプログラム(マイクロソフトワード、インターネットエクスプローラー等)を示す。“脆弱なアプリケーション”という用語は、脆弱性を持っている、又は、持っていたことが知られているアプリケーションを示す。“脆弱性”という用語は、ソフトウェアコード又はロジックにおける任意の誤差、弱点又は見落としを含むが、それに限定されない。それは、ソフトウェアを実行しているコンピュータシステム又はネットワークへのアクセス権を得るために悪人によって悪用されることができる。また、信頼のないファイル又は他の不要なオブジェクト(例えば、悪意のあるソフトウェアのような)におけるコンピュータへの配信に用いられることができるアプリケーションは、“脆弱なアプリケーション”(例えば、ウェブブラウザ、IMクライアント等)と考えることができる。一実施態様では、コンピュータが信頼のないファイルを露呈できる手段を用いることにより、脆弱なアプリケーションのリストは、ウイルス対策のアプリケーション開発者の側に予め形成されていてもよく、且つ、ユーザコンピュータ・アプリケーション・データベース106に格納されてもよい。信頼のないファイルは、潜在的にコンピュータシステムに害を引き起こす可能性があるファイル(悪意のある又は脆弱なファイル等)であることを含むが、それに限定されない。
一実施態様では、システム100は監視モジュール103を含み、それは、ファイル102がソース・アプリケーション101により作成された時、又は、コンシューマー・アプリケーション101aにより開くことを試みられた時を特定するように構成される。監視モジュール103は、また、ファイル102のパラメータを決定するように構成される。システム100は、さらに解析モジュール104を含み、それは、ソース・アプリケーション101及び/又はコンシューマー・アプリケーション101aにおけるセキュリティ脆弱性を特定するように、及び、ソース・アプリケーション101及び/又はコンシューマー・アプリケーション101aが、任意の信頼のないファイルソースに関連付けられている否かを特定するように構成される。これを達成するために、一実施態様では、解析モジュール104は、既知の脆弱なアプリケーションとその脆弱性におけるリストと、信頼のないファイル起源であることが知られているアプリケーションのリストとを含むアプリケーションデータベース106を使用してもよい。他の例示的態様において、解析モジュール104は、例えば、脆弱なモジュール又は信頼のないオブジェクトのソース・アプリケーションがロードすることに対して、ソース・アプリケーション101aの振る舞いを解析することができる。システム100は、ポリシー決定モジュール105と制御モジュール107を含む。ポリシー決定モジュール105は、ファイル102用のファイル・オープン・ポリシーを決定するように構成され、及び、制御モジュール107は、アプリケーション101及び/又は101aによってファイル102のオープンを妨げるように構成される。
一実施態様では、監視モジュール103は、ファイル102のパラメータを決定するように構成され、例えば、ソース・アプリケーション101により生成された時、又は、コンシューマー・アプリケーション101aによりオープンされた時に、パラメータを決定するように構成される。ファイル102のパラメータは、ファイルの種類(例えば、テキスト、画像、PDFファイル、マクロ、実行可能ファイル、等)、ファイルサイズ、電子デジタル署名(EDS)の存在、EDSの認証機関の名前、ファイル起源(例えば、ソースサーバのアドレス)、信頼のないファイルのリスト(データベース106に保存される)におけるファイルの有無、ファイル拡張子、及びその他を含むが、それに限定されない。
一実施態様では、ファイル102を開く試みをするコンシューマー・アプリケーション101аは、ソース・アプリケーション101と同じであってもよい(たとえば、Microsoft Word(登録商標)は、その後、Microsoft Wordでも開くことができるテキストファイルを作成する場合等)。他の例示態様では、コンシューマー・アプリケーションの101аは、それが、実行可能ファイル、スクリプトファイル、またはダイナミックリンクライブラリである場合には、ファイル102であってもよい。(例えば、実行可能ファイルは、インターネットブラウザの助けを借りて、ダウンロードされ、ディスクに保存され、その後、外部アプリケーションを使用せずにコンピュータで実行される)。ファイルを開くということは、ファイルが実行可能ファイルでない場合、コンシューマー・アプリケーション101aによりファイルを直接開くという場合と、ファイル102が実行可能ファイルである場合、ファイル102を実行するという場合の両方を含むと考えられる。
一実施態様では、解析モジュール104は、さらに、以前のバージョンのアプリケーション101における脆弱性の有無を決定するように構成することができる。解析モジュールは、脆弱性のリストを含むアプリケーションデータベース106を使用して、脆弱性の有無を決定することができる。さらに他の態様では、パッチを当てたアプリケーション101及び以前のバージョンのアプリケーション101における脆弱性の有無を決定するようにさらに構成されてもよい。さらに他の態様では、解析モジュール104は、コンシューマー・アプリケーション101aにおける脆弱性の有無を決定するように構成されてもよい。本明細書に用いられるように、パッチされた脆弱性とは、ソフトウェアの製造元により、ハッカー、マルウェア等によって悪用される可能性があるミスを修正する更新プログラム(パッチ)をリリースされ、その更新プログラムによりパッチされた脆弱性が含まれる。さらに、そのような更新は、ユーザコンピュータシステムにインストールされるべきである。更新がまだなされていない、又は、インストールされていない脆弱性は、以下、“脆弱性”という用語を用いる。
一実施態様では、ポリシー決定モジュール105は、監視モジュール103及び解析モジュール104によって決定される情報に基づいて、コンシューマー・アプリケーション101aのファイル102に対するファイル・オープン・ポリシーを決定するように構成される。一実施態様では、ファイル102のファイル・オープン・ポリシーは、コンシューマー・アプリケーション101aに対するファイル・アクセス・ポリシー及びアプリケーション起動ポリシーに基づいて決定される。
一実施態様では、ファイル・アクセス・ポリシーは、ファイル102が動作中に、ユーザコンピュータのリソースに対する、ファイル102を用いるコンシューマー・アプリケーション101aのアクセス権を規定する。
一実施態様では、アクセス権は、コンピュータ・リソースを使用する各種操作の実行において、コンシューマー・アプリケーション101aの制限(例えば、禁止または承諾)を含むことができる。
このような操作は、以下を含むが、それらに限定されない。
ファイルシステムに対する低いレベルでのアクセスの実行する操作、ハードウェアディスクに対する低いレベルでアクセスを実行する操作、ドライバを起動する操作、OSレジストリを変更する操作、コンピュータメモリに直接アクセスする操作、プロセス記述子を取得する操作、ウェブブラウザのアプリケーションプログラミングインターフェース(API)を使用する操作、
“%SystemRoot%”及び“%ProgramFiles%”ディレクトリ(全サブディレクトリを含む)にあり、拡張子が“.exe”及び“.dll”であるファイルを変更する操作、
“Startup”ディレクトリにあるファイルを生成及び変更する操作、
自動実行キーの生成及び変更する操作、
環境変数を含むアドレスへのファイルリソースにアクセスする操作、及び、ユーザ・レジストリのリソースにアクセスする操作、及び、その他の操作である。
一実施態様で、コンシューマー・アプリケーション101аに対するアプリケーション起動ポリシーは、コンシューマー・アプリケーション101аを起動するルール(ファイル102のオープンを許可または禁止する等)を規定する。
ソフトウェア・アプリケーションに対するアプリケーション起動ポリシーは、少なくともコンシューマー・アプリケーション101及び/又はコンシューマー・アプリケーション101aの決定された脆弱性に基づいて、特に、各々のバージョンのアプリケーションで、修正された、及び修正されてない、脆弱性の有無に基づいてもよい。
他の態様で、アプリケーションデータベース106は、対応するファイル・オープン・ポリシーとともにアプリケーションのリストをさらに含んでもよく、すべてのバージョンのアプリケーションに入っている脆弱性であって、パッチ前及びパッチ後の脆弱性の対応するリストを含んでもよい。
一実施態様で、制御モジュール107はポリシー決定モジュール105と接続され、コンシューマー・アプリケーション101aによるファイル102オープンの要求を傍受するように構成される。他の例示的態様で、制御モジュール107は、ファイル・オープン・ポリシーに基づいて、コンシューマー・アプリケーション101aによるファイル102オープンの制御をするように構成されてもよい。
図2は、脆弱なソフトウェア・アプリケーションによるファイルオープンの制御をする例示的な方法を示す。工程201で、監視モジュール103は、ソース・アプリケーション101によるファイル102の生成のインスタンスを検出する。
監視モジュール103は、ファイル102の生成を検出するために、以下の様々な既知の手段を用いてもよい。例えば、ファイルオープンを制御するドライバ(例:ファイルシステムフィルターのドライバ)を用いる手段、
システムAPI関数のコールを傍受する手段、
アプリケーションによって提供されるAPIを用いる手段、
又はその他の手段がある。
工程202で、解析モジュール104は、アプリケーション101における脆弱性の有無を決定する。一実施態様で、解析モジュール104は、最新及び以前のバージョンのソース・アプリケーション101における脆弱性の有無、且つ、コンシューマー・アプリケーション101aにおける脆弱性の有無をさらに決定してもよい。ソース・アプリケーション101が脆弱性を全く含まない場合、解析モジュール104は、例えば、アプリケーションデータベース106を用いて、ソース・アプリケーション101が信頼のないファイル起源であるかどうか、を決定してもよい。
工程203で、解析モジュール104は、生成されたファイル102の各パラメータを決定し、パラメータは、ファイル種類、ファイルサイズ、ファイルのEDS、EDSの認証機関の名前、ファイル起源、信頼のないファイルのリストにおけるファイルの有無、ファイル拡張子、その他のファイルパラメータ、及びメタデータを含んでもよいが、それに限定されない。

一実施態様で、工程202で決定された情報に従って、解析モジュール104は、ファイル102にウイルス対策のスキャンを実行してもよい。ファイル102に対するウイルス対策のスキャンは、例えば、パッチされてない脆弱性がソース・アプリケーション101で発見された場合に、実行されることができる。ファイルのウイルス対策スキャンは、マルウェアテストの1つ又は複数の既知の方法(署名ベース及びヒューリスティック分析、エミュレーション及びその他の方法等)を含んでもよい。さらに、ファイル102に対するウイルス対策スキャンは、信頼のないファイルのリストに対してファイルをチェックする事、及び、ウイルス対策ソフトウェアの製造元に対するユーザ間でのファイルの評判を用いる事を含んでもよい。さらに、ソース・アプリケーション101が、脆弱性を含まない場合、ファイル102のウイルス対策スキャンは、省略してもよい。ウイルス対策スキャンの結果は、ファイルパラメータとして考慮されるであろう(例えば、ファイルは、悪意のあるソフトウェアのデータベースで見つけられず、ファイルは広告プログラムなどである場合)。
工程204で、ポリシー決定モジュール105は、工程202および203で決定された情報に基づいて、ファイル102に対するファイル・アクセス・ポリシーを決定する。一実施態様で、ファイル・アクセス・ポリシーは、コンピュータ・リソースに対する、コンシューマー・アプリケーション101aのアクセス権を規定し、それは、以前に図1の説明で列挙されたものである。他の実施態様で、ファイル・アクセス・ポリシーは、例えば、コンシューマー・アプリケーション101aによってファイル102のオープンを許可又は禁止するか等のファイル102オープンに関するルールを規定する。
一実施態様で、コンシューマー・アプリケーション101aは、ファイル102を生成するソース・アプリケーション101であってもよい。同時に、ファイル102が実行可能ファイル、スクリプトファイル、またはリンクライブラリである場合、コンシューマー・アプリケーション101aがファイル102であってもよい。
他の態様で、コンシューマー・アプリケーション101aは、工程204で決定されたファイル・オープン・ポリシーに従って、ファイル102のオープンを実行してもよい。
表1は、コンシューマー・アプリケーション101aのファイル・アクセス・ポリシーの例を示す。
表1
示されるように、表1における最初の2行は、以前のバージョンのソース・アプリケーション101と最新バージョンのソース・アプリケーション101において、脆弱性の有無に関する情報を含むものである。
ソース・アプリケーション101は、重大な脆弱性を含むこともありえ、ユーザコンピュータシステムを相当な危険にさらすことができる(例えば、パスワード又は財務情報を盗むことを目的としたマルウェアがコンピュータにインストールされる可能性がある)。それは、重大ではない脆弱性も同様であり、拡大した脆弱性による非常に制限される権限と脆弱性による局所的に悪用可能なDos攻撃を含み得る。
このような評価をするのに、センシティブではないシステムの情報開示の脆弱性(例えば、アプリケーションのインストールパスのリモート開示)を使用してもよい。さらに、修正された脆弱性についても、表1に考慮されている。ソース・アプリケーション101が、信頼のないアプリケーションのソースである場合についても、表1に考慮されている。
さらに、最初の2列は、ファイルのパラメータに関する情報が含まれている。表1に示す例では、パラメータの「ファイルの種類」が考慮されており、コンシューマー・アプリケーション101aが、そのファイルを開くことを許可又は拒否される。例えば、アプリケーションのMicrosoft Word(登録商標)は、マルチメディア又は実行可能ファイルとしてではなく、テキストファイルで作業することが意図されるものである。同時に、マイクロソフトWord(登録商標)は、拡張子“.doc”のファイル(スクリプトファイル等のマクロを含む)を作成することができる。この場合に、ファイルの種類としては、(ファイルオープンを)許可されることができるが、ハッカーによるマクロ使用の可能性があるので、このファイルの動作中に、アプリケーションがMicrosoft Word(登録商標)をアクセスする権限は制限される。
表1はまた、ファイル・オープン・ポリシーを含み、それは、ソース・アプリケーション101での脆弱性の有無とファイル102のパラメータに依存している。例示的な態様において、表1によると、最新バージョンのアプリケーションが重大な脆弱性(パッチがあてられていない)を含んでいる場合、ファイル種類が許可される種類のファイルであっても、ファイル102が実行可能ファイルか又は実行可能ではないファイルかによらず、ファイルのオープンは拒否される。他の例示では、アプリケーション101が重大ではない脆弱性を含んでいる場合、実行可能ではないファイルのオープンが許可される一方で、実行可能ファイルのオープンは拒否される。しかしながら、コンシューマー・アプリケーション101aは、コンピュータ・リソースに対するアクセス権を拒否又は制限される。
例示的な態様に従って、コンピュータ・リソースに対する制限されたアクセス権は、一部のコンピュータ・リソースへのアクセスを拒否することを含むことが意図される。例えば、コンシューマー・アプリケーション101aは、OSのレジストリの変更を制限され、一方、図1の説明で述べられている他のアクションは許可されることができる。
さらに、どちらの例においても、禁止される種類のファイル102のオープンは拒否される。
さらに他の例では、最新バージョンのアプリケーションで脆弱性が検出されなかった場合であって、しかし、以前のバージョンのアプリケーションで、脆弱性があり、修正アップデートが(例えば、パッチ)は既にリリースされている場合、そのアプリケーションが、実行可能でないファイルをオープンすることは、制限なく許可される。同時に、ウイルス対策チェックは、許可された種類の実行可能ファイルを実行することができる。
表1の最後の列に示されるように、最初のルールに従って、許可された種類の実行可能ファイル102は、ソース・アプリケーション101が信頼のないファイル起源である場合、コンピュータ・リソースへのアクセスを拒否される。
工程205では、制御モジュール107は、コンシューマー・アプリケーション101aによるファイル102オープンの要求を傍受する。工程206で、ポリシー決定モジュール105は、コンシューマー・アプリケーション101aのためのアプリケーション起動ポリシーを決定する。制御モジュール107は、コンシューマー・アプリケーション101aからのファイル102をオープンするという要求を傍受するために、任意の既知の手段を使用することができる。それは、ファイルシステムフィルターのドライバを用いる手段、システムAPIのコールを傍受する手段、又は、アプリケーションによって提供されるAPIを用いる手段、を含むが、それに限定されない。
工程207では、ポリシー決定モジュール105は、コンシューマー・アプリケーション101aにおけるファイル・アクセス・ポリシーとアプリケーション起動ポリシーに応じて、コンシューマー・アプリケーション101aに対するファイル102のファイル・オープン・ポリシーを決定する。
表2は、コンシューマー・アプリケーション101aによるファイル102のファイル・オープン・ポリシーの例を示す。

表 2
一例示態様では、コンシューマー・アプリケーション101aによるファイル・オープン・ポリシーは、コンシューマー・アプリケーション101aのアプリケーション起動ポリシー及びファイル102のファイル・オープン・ポリシーの最も制限(禁止)されたものとして選択することができ、例として、表2にあるルール1に設けられている。
他の例示態様では、ファイル・オープン・ポリシーは、ファイル・アクセス・ポリシー及びアプリケーション起動ポリシー(すなわち、リソースへのアクセスを許可する)の最も制約の少ないものとして選択されることができ、例として、表2にあるルール2に設けられている。
他の例示態様では、表2のポリシーに含まれる制限は、様々な優先順位を有することができる。ルール3は、コンシューマー・アプリケーション101aに対する、ファイル・アクセス・ポリシー及びアプリケーション起動ポリシーにおける規定された制限の優先順位に応じて、ファイル・オープン・ポリシーを選択する例である。
例えば、優先順位1を有するファイル・アクセス・ポリシーは、OSレジストリの変更に制限を課すことができ、一方、コンシューマー・アプリケーション101aに対する、より高い優先順位2を有するアプリケーション起動ポリシーは、レジスタの変更を許可できる。結果として、コンシューマー・アプリケーション101aに対する、最終的なファイル・オープン・ポリシーは、より高い優先順位2であるポリシーが優先されるため、OSのレジストリの変更を許可するルールが含まれるだろう。さらに、コンシューマー・アプリケーション101aに対するファイル・オープン・ポリシーでの許容ルールも、自動実行キーの変更承諾と優先順位2を有する承諾を含むであろう。それは、ファイル・アクセス・ポリシーから継承されたものであり、ファイルリソースへの低いレベルでのアクセス承諾と同様に、このような制限は、コンシューマー・アプリケーション101aのアプリケーション起動ポリシーにだけ見受けられる。結果として生じたファイル・オープン・ポリシーは、低レベルディスクアクセスの禁止が含まれ、それは、コンシューマー・アプリケーション101aに対する、アプリケーション起動ポリシーでの同様の許容ルールよりも高い優先順位であるディスク・アクセス・ポリシーから継承されたものである。
低い優先度にかかわらず、ダイレクト・メモリ・アクセスの禁止は、ファイル・アクセス・ポリシーで見られ、したがって、ファイル・オープン・ポリシーによって継承される。
図3は、開示されたシステム及び方法を実装できる汎用コンピュータシステム(パーソナルコンピュータ又はサーバであってもよい)の一例を示す図である。コンピュータシステム20は、中央処理装置21、システムメモリ22及び、システムバス23を含み、それは、様々なシステムコンポーネント(中央処理装置21に関連するメモリを含む)を接続される。システムバス23は、従来技術から知られている任意のバス構造のように実現され、順に、バスメモリ、又はバスメモリコントローラー、周辺バス及びローカルバスを含み、それは、任意の他のバスアーキテクチャと相互作用できる。システムメモリは、読み出し専用メモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。基本入力/出力システム(BIOS)26は、ROM24を使用してオペレーティングシステムをロードする時にあるようなもの等の、パーソナルコンピュータ20の要素間の情報の転送を保証する、基本的な手順を含む。
パーソナルコンピュータ20は、順番に、データの読み書きするためのハードディスク27、読み書き可能なリムーバブル磁気ディスク29用の磁気ディスクドライブ28、及び、リムーバブル光学ディスク31(CD-ROM、DVD-ROMや他の光学情報媒体等)に読み書きするための光学ドライブ30を含む。
ハードディスク27、磁気ディスクドライブ28、及び光学ドライブ30は、それぞれハードディスクインターフェース32、磁気ディスクインターフェース33及び光学ドライブインターフェース34を介してシステムバス23に接続される。ドライブ及び対応するコンピュータ情報媒体は、パーソナルコンピュータ20のコンピュータ命令、データ構造、プログラムモジュール、及び他のデータを記憶するため、電力的に独立しているモジュールである。
本開示は、ハードディスク27、リムーバブル磁気ディスク29及びリムーバブル光学ディスク31を使用するシステムの実装を提供するが、他の種類のコンピュータ情報媒体56を採用することもできることが理解されるべきである。そのような情報媒体は、コンピュータによって読み取り可能な形式でデータ(ソリッドステートドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ(RAM)等)を格納することができ、コントローラ55を介してシステムバス23に接続される。
コンピュータ20は、ファイルシステム36(記録されるシステム35はここに格納される)、さらに、追加プログラム・アプリケーション37、他のプログラムモジュール38及びプログラムデータ39を備える。
ユーザは、入力デバイス(キーボード40、マウス42)を用いて、パーソナルコンピュータ20にコマンドと情報を入力することが可能である。他の入力デバイス(図示せず)は、マイクロフォン、ジョイスティック、ゲームコントローラー、スキャナー、等を用いることができる。
そのような入力デバイスは、通常コンピュータシステム20に、シリアルポート46を介して、接続され、それは、順に、システムバスに接続されるが、それらは、他の方法で、例えば、パラレルポート、ゲームポート及びユニバーサルシリアルバス(USB)の助けを借りて、接続される。モニター47又は他の種類のディスプレイデバイスも、ビデオアダプター48等のインターフェースを介してシステムバス23に接続される。モニター47に加えて、パーソナルコンピュータは、ラウドスピーカー、プリンタ等他の周辺外部デバイス(図示せず)に備えてもよい。
パーソナルコンピュータ20は、1つ又は複数のリモートコンピュータ49とのネットワーク接続を用いて、ネットワーク環境で操作できる。リモートコンピュータ(またはコンピュータ)49も、図3に示すように、前述の要素(パーソナルコンピュータ20の特質を説明したもの)の大部分又は全てを有するパーソナルコンピュータ又はサーバである。他のデバイスも、ルータ、ネットワーク局、ピアデバイス又は他のネットワークノード等、コンピュータネットワークに存在してもよい。
ネットワーク接続は、有線及び/又は無線ネットワーク等のローカル・エリア・コンピュータ・ネットワーク(LAN)50、及びワイドエリア・コンピュータ・ネットワーク(WAN)を形成することができる。そのようなネットワークは、企業コンピュータネットワーク又は社内ネットワークで使用され、それらは、概してインターネットアクセスを有している。LAN又はWANネットワークで、パーソナルコンピュータ20は、ネットワークアダプター又はネットワークインターフェース51を介して、ローカル・エリア・ネットワーク50に接続される。ネットワークが用いられる場合、パーソナルコンピュータ20は、インターネット等のワイド・エリア・ネットワークでのコミュニケーションを提供するために、モデム54又は他のモジュールを採用する。モデム54は、内部的又は外部的デバイスであり、シリアルポート46によって、システムバス23と接続される。ネットワーク接続は、一例であり、ネットワークの正確な構成を示す必要はないことを留意されたい。すなわち、実際には、Bluetooth(登録商標)などの技術的な通信モジュールによる、あるコンピュータと他のコンピュータとの接続を確立する他の方法がある。
様々な態様において、本明細書で説明するシステム及び方法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実現されてもよい。ソフトウェアで実装される場合、本方法は、非一時的なコンピュータ可読媒体の1つ又は複数の命令又はコードとして格納されてもよい。コンピュータ可読媒体は、データ記憶装置を含む。例として、限定するものではないが、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、フラッシュメモリ、又は、電気的、磁気的、又は他の種類の光学記憶媒体を備えてもよい。それは、命令又はデータ構造の形式で、所望のプログラムコードを搬送又は格納されてもよく、且つ、汎用コンピュータのプロセッサにアクセスできる。
様々な側面で、モジュールの観点から、システム及び方法は本開示に記載される。本明細書で使用される用語“モジュール”は、特定用途向け集積回路(ASIC)又はフィールド・プログラマブル・ゲート・アレイ(FPGA)(例えば、ハードウェアとソフトウェアの組み合わせ)などによって、ハードウェアを用いて実装される、実世界のデバイス、構成要素、又は構成要素の配置を意味している。例えば、マイクロプロセッサシステム及びジュールの機能を実装するための命令セットによって、それは、(実行時)マイクロプロセッサシステムを専用機に変換する。モジュールも、これらの組み合わせとして実装されてもよく、ハードウェア単体で容易である特定の機能で、及び、ハードウェアとソフトウェアの組み合わせによって容易である他の機能で実装されてもよい。ある実施態様で、モジュールの少なくとも一部、及び、場合によっては、全てが、汎用コンピュータ(上記、図3により詳細に説明したもの等)のプロセッサで実行することができる。したがって、各モジュールは、様々な適切である構成で実現することができ、本明細書において例示される任意の特定の実装に限定されるものではない。
明瞭にするために、本態様における繰り返される機能の全てが、本明細書に開示されるわけではない。本開示の任意で実際の実装における開発で、多数の実装固有の決定が、開発者の特定の目標を達成するために、成されなければならないことが理解されるであろう。これらの具体的な目標は、実装及び開発者ごとに変化するであろう。そのような開発努力は複雑で時間がかかるかもしれないことが、それにもかかわらず、本開示の利益を有する当業者にとっては、エンジニアにとっては日常の仕事であることが、理解されるであろう。
さらに、本明細書で使用される表現又は用語は、説明の目的のためであり、制限を目的としていないことを理解すべきである。本明細書の用語又は表現は、関連技術での熟練の知識と組み合わせて、本明細書に提示される教示及び指針に照らして当業者によって解釈されるべきである。さらに、明示的記載がない限り、本明細書又は特許請求の範囲における任意の用語に対して、一般的でない又は特別な意味を帰することは意図されていない。
本明細書に開示される様々な態様は、例示により本明細書に言及される既知のモジュールに、現在及び将来の既知の均等物を包含する。さらに、態様および用途を図示し、且つ、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることは、この開示の利益を有する当業者には明らかであろう。

Claims (22)

  1. ユーザコンピュータにおいて、ソフトウェア・アプリケーションによるコンピュータファイルのオープンを制御する方法であって、
    前記方法は、
    ユーザコンピュータでコンピュータファイルをオープンするというソフトウェア・アプリケーションからの要求を、ハードウェアプロセッサにより検出する工程と、
    前記コンピュータファイルの1つ又は複数のパラメータを、前記ハードウェアプロセッサにより決定する工程と、
    前記コンピュータファイルのパラメータに基づいて、要求された前記コンピュータファイルに関連するファイル・アクセス・ポリシーを、前記ハードウェアプロセッサにより決定する工程であって、
    前記ファイル・アクセス・ポリシーは、前記要求されたコンピュータファイルの動作中、前記ユーザコンピュータのリソースに対する前記ソフトウェア・アプリケーションのアクセス権を少なくとも規定する工程と、
    前記ハードウェアプロセッサにより前記ソフトウェア・アプリケーションの脆弱性を特定する工程と、
    前記決定された脆弱性に少なくとも基づいて、前記ハードウェアプロセッサによりアプリケーション起動ポリシーを決定する工程であって、
    前記アプリケーション起動ポリシーは、前記ファイルのオープンを許可又は禁止するかどうかを、少なくとも規定する工程と、
    前記オープンされたファイルの動作中、前記ファイル・アクセス・ポリシー及び前記アプリケーション起動ポリシーに少なくとも基づいて、前記ハードウェアプロセッサにより、前記ソフトウェア・アプリケーションによる前記コンピュータファイルのオープン及び前記コンピュータ・リソースへのアクセスを、制御する工程と、
    を備える、方法。
  2. 前記ソフトウェア・アプリケーションは、1つ又は複数のソース・アプリケーションを含み、前記ソース・アプリケーションは、前記コンピュータファイルとコンシューマー・アプリケーションを生成し、前記コンシューマー・アプリケーションは、前記ユーザコンピュータにある前記コンピュータファイルのオープンを要求する、請求項1に記載の方法。
  3. 前記ソース・アプリケーションによって作成されるコンピュータファイルは、プロセス、実行可能ファイル、スクリプトファイルとダイナミックライブラリの1つを含む、請求項2に記載の方法。
  4. 前記ソース・アプリケーションが前記コンピュータファイルを生成する時を次の手段を用いて決定する工程をさらに備え、
    前記手段は、
    ファイルシステムフィルターのドライバを用いる手段、
    前記ユーザコンピュータでのオペレーティングシステム(OS)のアプリケーションプログラミングインターフェース(API)のコールを傍受する手段、
    及び、
    前記ソース・アプリケーションにより前記ユーザコンピュータに提供されるAPIを用いる手段、
    の少なくとも1つを用いる工程を含む、
    請求項2に記載の方法。
  5. 前記ハードウェアプロセッサによって決定された前記コンピュータファイルのパラメータは、前記コンピュータファイルの種類、前記コンピュータファイルのサイズ、前記コンピュータファイルのデジタル署名、及び前記コンピュータファイルの拡張子、の少なくとも1つを含む。
    請求項1に記載の方法。
  6. 前記ハードウェアプロセッサによって、前記コンピュータファイルの1つ又は複数のパラメータを決定する工程は、前記コンピュータファイルに対するウイルス対策用の解析を実行する工程をさらに含み、前記コンピュータファイルのパラメータは前記ウイルス対策用の解析結果を含む、
    請求項1に記載の方法。
  7. 前記ソフトウェア・アプリケーションの脆弱性を特定する工程と、
    前記ソフトウェア・アプリケーションの修正された脆弱性を決定する工程と、
    以前のバージョンの前記ソフトウェア・アプリケーションでの脆弱性を決定する工程と、
    以前のバージョンの前記ソフトウェア・アプリケーションでの修正された脆弱性を決定する工程と、
    を含む、
    請求項1に記載の方法。
  8. 前記ファイル・アクセス・ポリシー及びアプリケーション起動ポリシーの優先順位を規定する工程をさらに含み、
    前記ソフトウェア・アプリケーションによる前記コンピュータファイルのオープン及び前記コンピュータ・リソースへのアクセスを制御する工程は、前記ファイル・アクセス・ポリシー及びアプリケーション起動ポリシーのそれぞれの優先順位に基づいている、
    請求項1に記載の方法。
  9. 前記コンピュータリソースのアクセス権は、前記ソフトウェア・アプリケーションが次の操作の1つ又は複数の操作の実行を禁止する工程を含み、
    前記操作は、
    前記コンピュータファイルシステムに対する低いレベルでのアクセスを実行する操作、
    ディスクに対する低いレベルでアクセスを実行する操作、
    前記コンピュータでドライバを起動する操作、
    前記コンピュータのレジストリを変更する操作、
    前記コンピュータのメモリに直接アクセスする操作、
    プロセス記述子を取得する操作、
    ブラウザのAPIを使用する操作、
    全サブディレクトリを含む、“%SystemRoot%”及び“%ProgramFiles%”ディレクトリにあり、拡張子が.exe 及び.dllであるファイルを変更する操作、
    前記コンピュータのStartupディレクトリにあるファイルを生成及び変更する操作、
    自動実行キーを生成及び変更する操作、
    環境変数を含むアドレスを使用してファイルのリソースにアクセスする操作、
    及び、前記コンピュータのユーザ・レジストリのリソースにアクセスする操作、
    である、
    請求項1に記載の方法。
  10. 1つ又は複数の手段に基づいて、前記ソフトウェア・アプリケーションが信頼のないファイル起源であるどうかについて、前記ハードウェアプロセッサによって決定される工程と、
    前記ソフトウェア・アプリケーションが、信頼のないファイル起源であるかどうかという決定に基づいて、前記ハードウェアプロセッサにより、前記ソフトウェア・アプリケーションが前記ユーザコンピュータで前記コンピュータファイルをオープン及び前記コンピュータ・リソースへのアクセスする制御を行う工程とをさらに含み、
    前記手段は、
    信頼のない既知の前記ソース・アプリケーションのデータベース内を検索する手段と、
    脆弱なモジュール又は前記信頼のないファイルをロードすることに対する前記ソース・アプリケーションの振る舞いを解析する手段、
    及び、前記ソフトウェア・アプリケーションのメタデータの解析する手段、である、
    請求項1に記載の方法。
  11. ユーザコンピュータでのソフトウェア・アプリケーションによるコンピュータファイルのオープンを制御するためのシステムであって、
    システムは、ハードウェアプロセッサを備え、
    前記ハードウェアプロセッサは、
    前記ユーザコンピュータで前記コンピュータファイルをオープンするという、前記ソフトウェア・アプリケーションからの要求を検出し、
    前記コンピュータファイルの1つまたは複数のパラメータを決定し、
    前記コンピュータファイルのパラメータに基づいて、要求された前記コンピュータファイルに関連するファイル・アクセス・ポリシーを決定し、
    前記ファイル・アクセス・ポリシーは、前記要求されたコンピュータファイルの動作中、前記ユーザコンピュータのリソースに対する前記ソフトウェア・アプリケーションのアクセス権を少なくとも規定し、
    前記ソフトウェア・アプリケーションの脆弱性を特定し、
    前記決定された脆弱性に少なくとも基づいて、前記ソフトウェア・アプリケーションに対するアプリケーション起動ポリシーを決定し、
    前記アプリケーション起動ポリシーは、前記ファイルのオープンを許可又は禁止されるかどうかを少なくとも規定し、
    前記オープンされたファイルの動作中、前記ファイル・アクセス・ポリシー及びアプリケーション起動ポリシーに少なくとも基づいて、前記ユーザコンピュータでの前記ソフトウェア・アプリケーションによる、前記コンピュータファイルのオープン及び前記コンピュータ・リソースへのアクセスを制御する、
    ように構成される、
    システム。
  12. 前記ソフトウェア・アプリケーションは、1つ又は複数のソース・アプリケーションを含み、前記ソース・アプリケーションは、前記コンピュータファイルとコンシューマー・アプリケーションを生成し、前記コンシューマー・アプリケーションは、前記ユーザコンピュータにある前記コンピュータファイルのオープンを要求する、
    請求項11に記載のシステム。
  13. 前記プロセッサは、
    前記ソース・アプリケーションが前記コンピュータファイルを生成する時を次の手段を用いて決定するように、さらに構成され、
    前記手段は、
    ファイルシステムフィルターのドライバを用いる手段、
    前記ユーザコンピュータでのオペレーティングシステム(OS)のアプリケーションプログラミングインターフェース(API)のコールを用いる手段、
    及び、前記ソース・アプリケーションにより前記ユーザコンピュータに提供されるAPIを用いる手段、
    の少なくとも1つの手段である、
    請求項12に記載のシステム。
  14. 前記ハードウェアプロセッサにより決定される前記コンピュータのパラメータは、
    前記コンピュータファイルの種類、
    前記コンピュータファイルのサイズ、
    前記コンピュータファイルのデジタル署名、
    及び、前記コンピュータファイルの拡張子、
    の少なくとも1つを含む、
    請求項11に記載のシステム。
  15. 前記ハードウェアプロセッサは、
    前記ソフトウェア・アプリケーションの脆弱性の特定については、
    前記ソフトウェア・アプリケーションでの修正された脆弱性を決定し、
    以前のバージョンの前記ソフトウェア・アプリケーションでの脆弱性を決定し、
    及び、以前のバージョンの前記ソフトウェア・アプリケーションでの修正された脆弱性を決定するように構成されることをさらに含む、
    請求項11に記載のシステム。
  16. 前記プロセッサは、
    前記ファイル・アクセス・ポリシー及びアプリケーション起動ポリシーの優先順位を規定するようにさらに構成され、
    前記ソフトウェア・アプリケーションによる、前記コンピュータファイルのオープン及び前記コンピュータ・リソースへのアクセスを制御することは、前記ファイル・アクセス・ポリシー及びアプリケーション起動ポリシーのそれぞれの優先順位に基づいている、
    請求項11に記載のシステム。
  17. 前記コンピュータ・リソースへのアクセス権は、前記ソフトウェア・アプリケーションが、次の操作の1つ又は複数の操作の実行を禁止することを含み、
    前記操作は、
    前記コンピュータファイルシステムに対する低いレベルでアクセスを実行する操作、
    ディスクに対する低いレベルでアクセスを実行する操作、
    前記コンピュータでドライバを起動する操作、
    前記コンピュータのレジストリを変更する操作、
    前記コンピュータのメモリに直接アクセスする操作、
    プロセス記述子を取得する操作、
    ブラウザのAPIを使用する操作、
    全サブディレクトリを含む、“%SystemRoot%”及び“%ProgramFiles%”ディレクトリにあり、拡張子が.exe 及び.dllであるファイルを変更する操作、
    前記コンピュータのStartupディレクトリにあるファイルを生成及び変更する操作、
    自動実行キーを生成及び変更する操作、
    環境変数を含むアドレスを使用してファイルのリソースにアクセスする操作、
    及び、前記コンピュータのユーザ・レジストリのリソースにアクセスする操作、
    である、
    請求項11に記載のシステム。
  18. 前記プロセッサは、
    次の1つまたは複数の手段に基づいて、前記ソフトウェア・アプリケーションが信頼のないファイル起源であるかどうかを決定し、
    前記ソフトウェア・アプリケーションが信頼のないファイル起源であるかどうかの決定に基づいて、前記ユーザコンピュータで、前記ソフトウェア・アプリケーションが、前記コンピュータファイルをオープン及び、前記コンピュータ・リソースへのアクセスをさらに制御するように、
    さらに構成される、
    前記手段は、
    前記信頼のないファイルの既知のソース・アプリケーションのデータベース内を検索する手段、
    脆弱なモジュール又は前記信頼のないファイルのロードすることに対する前記ソース・アプリケーションの振る舞いを解析する手段、
    前記ソース・アプリケーションのメタデータの解析する手段である、
    請求項11に記載のシステム。
  19. ユーザコンピュータでのソフトウェア・アプリケーションによるコンピュータファイルのオープンを制御するためのコンピュータ実行可能命令を備える、非一時的なコンピュータ可読媒体であって、
    前記命令は、
    前記ユーザコンピュータで前記コンピュータファイルをオープンするという前記ソフトウェア・アプリケーションからの要求を検出する命令と、
    前記コンピュータファイルの1つまたは複数のパラメータを決定する命令と、
    前記コンピュータファイルのパラメータに基づいて、要求された前記コンピュータファイルに関連するファイル・アクセス・ポリシーを決定する命令と、
    ここで、前記ファイル・アクセス・ポリシーは、前記要求されたコンピュータファイルの動作中に、前記ユーザコンピュータのリソースに対する前記ソフトウェア・アプリケーションのアクセス権を少なくとも規定し、
    前記ソフトウェア・アプリケーションの脆弱性を特定する命令と、
    前記決定された脆弱性に少なくとも基づいて、前記ソフトウェア・アプリケーションに対するアプリケーション起動ポリシーを決定する命令と、
    前記アプリケーション起動ポリシーは、前記ファイルのオープンが許可又は禁止されるかどうかについて、少なくとも規定し、
    前記オープンされたファイルの動作中、前記ファイル・アクセス・ポリシー及びアプリケーション起動ポリシーに少なくとも基づいて、前記ユーザコンピュータでの、前記ソフトウェア・アプリケーションによる、前記コンピュータファイルのオープン及び前記コンピュータ・リソースへのアクセスを制御する命令、
    を含む、非一時的なコンピュータ可読媒体。
  20. 前記ソフトウェア・アプリケーションは、1つ又は複数のソース・アプリケーションを含み、
    前記コンピュータファイルとコンシューマー・アプリケーションを生成し、
    前記コンシューマー・アプリケーションは、前記ユーザコンピュータにある前記コンピュータファイルのオープンを要求する、
    請求項19に記載の非一時的なコンピュータ可読媒体。
  21. 前記命令は、
    前記ソフトウェア・アプリケーションの脆弱性を特定する命令と、
    前記ソフトウェア・アプリケーションでの修正された脆弱性を決定する命令と、
    以前のバージョンの前記ソフトウェア・アプリケーションでの脆弱性を決定する命令と、
    以前のバージョンの前記ソフトウェア・アプリケーションでの修正された脆弱性を決定する命令とをさらに備える、
    請求項19に記載の非一時的なコンピュータ可読媒体。
  22. 前記命令は、次の1つまたは複数の手段に基づいて、
    前記ソフトウェア・アプリケーションが信頼のないファイル起源であるかどうかを決定する命令と、
    前記ソフトウェア・アプリケーションが信頼のないファイル起源であるかどうかの決定に基づいて、前記ソフトウェア・アプリケーションが、前記ユーザコンピュータで、前記コンピュータファイルをオープン及び前記コンピュータ・リソースへのアクセスする制御を行う命令と、
    をさらに備え、
    前記手段は、
    信頼のないファイルに関する既知のソース・アプリケーションのデータベース内の検索する手段と、
    脆弱なモジュール又は信頼のないファイルをロードすることに対する前記ソース・アプリケーションの振る舞いを解析する手段、及び、
    前記ソース・アプリケーションのメタデータを解析する手段である、
    請求項19に記載の非一時的なコンピュータ可読媒体。
JP2016045304A 2015-07-06 2016-03-09 脆弱なアプリケーションによるファイルのオープンを制御するシステム及び方法。 Active JP6482489B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/791,827 2015-07-06
US14/791,827 US9697361B2 (en) 2015-07-06 2015-07-06 System and method of controlling opening of files by vulnerable applications

Publications (2)

Publication Number Publication Date
JP2017016631A true JP2017016631A (ja) 2017-01-19
JP6482489B2 JP6482489B2 (ja) 2019-03-13

Family

ID=54106112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016045304A Active JP6482489B2 (ja) 2015-07-06 2016-03-09 脆弱なアプリケーションによるファイルのオープンを制御するシステム及び方法。

Country Status (4)

Country Link
US (2) US9697361B2 (ja)
EP (1) EP3115920B1 (ja)
JP (1) JP6482489B2 (ja)
CN (1) CN105760773B (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9794292B2 (en) * 2015-10-26 2017-10-17 Amazon Technologies, Inc. Providing fine-grained access remote command execution for virtual machine instances in a distributed computing environment
CN105956468B (zh) * 2016-04-22 2018-12-28 中国科学院信息工程研究所 一种基于文件访问动态监控的Android恶意应用检测方法及系统
US10176331B2 (en) * 2016-06-10 2019-01-08 Microsoft Technology Licensing, Llc Enhanced metadata to authentically report the provenance of a file
CN106681813B (zh) * 2016-12-15 2020-06-12 腾讯科技(深圳)有限公司 一种系统管理方法及装置
US10511631B2 (en) * 2017-01-25 2019-12-17 Microsoft Technology Licensing, Llc Safe data access through any data channel
GB2563066B (en) 2017-06-02 2019-11-06 Avecto Ltd Computer device and method for managing privilege delegation
GB2566262B (en) 2017-09-01 2020-08-26 Avecto Ltd Managing installation of applications on a computer device
GB2566305B (en) 2017-09-08 2020-04-15 Avecto Ltd Computer device and method for controlling process components
GB2566949B (en) 2017-09-27 2020-09-09 Avecto Ltd Computer device and method for managing privilege delegation
CN107798252B (zh) * 2017-10-27 2019-10-18 维沃移动通信有限公司 一种文件访问方法及移动终端
GB2568919B (en) 2017-11-30 2020-07-15 Avecto Ltd Managing removal and modification of installed programs on a computer device
GB2570655B (en) 2018-01-31 2020-12-16 Avecto Ltd Managing privilege delegation on a server device
GB2573491B (en) 2018-02-08 2020-07-01 Avecto Ltd Managing privilege delegation on a computer device
GB2570924B (en) 2018-02-12 2021-06-16 Avecto Ltd Managing registry access on a computer device
GB2572977B (en) 2018-04-18 2020-04-22 Avecto Ltd Protecting a computer device from escalation of privilege attacks
CN108875356B (zh) * 2018-05-29 2020-12-01 杭州滚马网络有限公司 一种数据访问方法、终端及计算机可读存储介质
US11907354B2 (en) * 2018-08-09 2024-02-20 Cyberark Software Ltd. Secure authentication
US10594694B2 (en) 2018-08-09 2020-03-17 Cyberark Software Ltd. Secure offline caching and provisioning of secrets
US10749876B2 (en) 2018-08-09 2020-08-18 Cyberark Software Ltd. Adaptive and dynamic access control techniques for securely communicating devices
CN109344611B (zh) * 2018-09-06 2024-02-27 天翼安全科技有限公司 应用的访问控制方法、终端设备及介质
GB2577067B (en) 2018-09-12 2021-01-13 Avecto Ltd Controlling applications by an application control system in a computer device
US10642979B1 (en) * 2019-09-19 2020-05-05 Capital One Services, Llc System and method for application tamper discovery
US11651067B2 (en) * 2020-06-23 2023-05-16 Acronis International Gmbh Systems and methods for detecting stored passwords vulnerable to compromise
US20230004638A1 (en) * 2021-06-30 2023-01-05 Citrix Systems, Inc. Redirection of attachments based on risk and context
KR20230075777A (ko) * 2021-11-23 2023-05-31 삼성전자주식회사 애플리케이션 보안을 위한 방법, 및 그 방법을 수행하는 전자 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209138A1 (en) * 2007-02-26 2008-08-28 Microsoft Corporation File Blocking Mitigation
JP2010160791A (ja) * 2008-12-17 2010-07-22 Symantec Corp コンテキストアウェアによるリアルタイムコンピュータ保護システムおよび方法
JP2014519113A (ja) * 2011-05-24 2014-08-07 パロ・アルト・ネットワークス・インコーポレーテッド マルウェア解析システム
US20150007315A1 (en) * 2013-06-28 2015-01-01 Symantec Corporation Techniques for Detecting a Security Vulnerability
US20150047046A1 (en) * 2013-08-07 2015-02-12 Kaspersky Lab Zao System and Method for Protecting Computers from Software Vulnerabilities

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185015B2 (en) 2003-03-14 2007-02-27 Websense, Inc. System and method of monitoring and controlling application files
US8126856B2 (en) * 2005-05-26 2012-02-28 Hewlett-Packard Development Company, L.P. File access management system
US20070028291A1 (en) * 2005-07-29 2007-02-01 Bit 9, Inc. Parametric content control in a network security system
US7913092B1 (en) * 2005-12-29 2011-03-22 At&T Intellectual Property Ii, L.P. System and method for enforcing application security policies using authenticated system calls
US20070199044A1 (en) * 2006-02-17 2007-08-23 Samsung Electronics Co., Ltd. Systems and methods for distributed security policy management
US20080016339A1 (en) * 2006-06-29 2008-01-17 Jayant Shukla Application Sandbox to Detect, Remove, and Prevent Malware
CN101350053A (zh) * 2007-10-15 2009-01-21 北京瑞星国际软件有限公司 防止网页浏览器被漏洞利用的方法和装置
JP4342584B2 (ja) 2007-10-29 2009-10-14 株式会社東芝 ファイルアクセス制御装置及びプログラム
US20090138969A1 (en) * 2007-11-26 2009-05-28 Kim Yun Ju Device and method for blocking autorun of malicious code
US20100146589A1 (en) 2007-12-21 2010-06-10 Drivesentry Inc. System and method to secure a computer system by selective control of write access to a data storage medium
US8448218B2 (en) * 2008-01-17 2013-05-21 Josep Bori Method and apparatus for a cryptographically assisted computer system designed to deter viruses and malware via enforced accountability
KR100985074B1 (ko) 2009-02-05 2010-10-04 주식회사 안철수연구소 선별적 가상화를 이용한 악성 코드 사전 차단 장치, 방법 및 그 방법을 실행하는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
US9721090B2 (en) * 2010-04-29 2017-08-01 Safend Ltd. System and method for efficient inspection of content
US8918874B2 (en) * 2010-05-25 2014-12-23 F-Secure Corporation Malware scanning
US9436826B2 (en) * 2011-05-16 2016-09-06 Microsoft Technology Licensing, Llc Discovering malicious input files and performing automatic and distributed remediation
US20150358357A1 (en) * 2012-12-31 2015-12-10 British Telecommunication Public Limited Company Processing device and method of operation thereof
WO2014142986A1 (en) * 2013-03-15 2014-09-18 Mcafee, Inc. Server-assisted anti-malware client
EP2835758B1 (en) * 2013-08-07 2016-11-02 Kaspersky Lab, ZAO System and method for controlling access to encrypted files
US20150332043A1 (en) * 2014-05-15 2015-11-19 Auckland Uniservices Limited Application analysis system for electronic devices
CN104657676B (zh) * 2015-03-05 2017-11-07 北京安普诺信息技术有限公司 一种基于微过滤驱动的文件强制访问控制方法及其系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209138A1 (en) * 2007-02-26 2008-08-28 Microsoft Corporation File Blocking Mitigation
JP2010160791A (ja) * 2008-12-17 2010-07-22 Symantec Corp コンテキストアウェアによるリアルタイムコンピュータ保護システムおよび方法
JP2014519113A (ja) * 2011-05-24 2014-08-07 パロ・アルト・ネットワークス・インコーポレーテッド マルウェア解析システム
US20150007315A1 (en) * 2013-06-28 2015-01-01 Symantec Corporation Techniques for Detecting a Security Vulnerability
US20150047046A1 (en) * 2013-08-07 2015-02-12 Kaspersky Lab Zao System and Method for Protecting Computers from Software Vulnerabilities

Also Published As

Publication number Publication date
US20170011220A1 (en) 2017-01-12
US9697361B2 (en) 2017-07-04
US20170262631A1 (en) 2017-09-14
CN105760773A (zh) 2016-07-13
JP6482489B2 (ja) 2019-03-13
CN105760773B (zh) 2019-02-01
EP3115920B1 (en) 2017-11-22
EP3115920A1 (en) 2017-01-11
US10621356B2 (en) 2020-04-14

Similar Documents

Publication Publication Date Title
JP6482489B2 (ja) 脆弱なアプリケーションによるファイルのオープンを制御するシステム及び方法。
US9547765B2 (en) Validating a type of a peripheral device
EP3113063B1 (en) System and method for detecting malicious code in random access memory
RU2571723C2 (ru) Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
US8505069B1 (en) System and method for updating authorized software
EP2541453B1 (en) System and method for malware protection using virtualization
US9081967B2 (en) System and method for protecting computers from software vulnerabilities
EP3462358B1 (en) System and method for detection of malicious code in the address space of processes
US7792964B2 (en) Running internet applications with low rights
US11677754B2 (en) Access control systems and methods
Min et al. Rethinking Software Component Security: Software Component Level Integrity and Cross Verification
RU2592383C1 (ru) Способ формирования антивирусной записи при обнаружении вредоносного кода в оперативной памяти
RU2606883C2 (ru) Система и способ открытия файлов, созданных уязвимыми приложениями
EP2835757B1 (en) System and method protecting computers from software vulnerabilities
RU2595510C1 (ru) Способ исключения процессов из антивирусной проверки на основании данных о файле

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180515

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180814

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190212

R150 Certificate of patent or registration of utility model

Ref document number: 6482489

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250