JP7119480B2 - Application execution authority management device, method and program - Google Patents
Application execution authority management device, method and program Download PDFInfo
- Publication number
- JP7119480B2 JP7119480B2 JP2018056675A JP2018056675A JP7119480B2 JP 7119480 B2 JP7119480 B2 JP 7119480B2 JP 2018056675 A JP2018056675 A JP 2018056675A JP 2018056675 A JP2018056675 A JP 2018056675A JP 7119480 B2 JP7119480 B2 JP 7119480B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- authority
- execution
- execution authority
- api
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、アプリケーションの実行権限を管理するアプリケーション実行権限管理装置、アプリケーション実行権限管理方法およびアプリケーション実行権限管理プログラムに関する。 The present invention relates to an application execution authority management device, an application execution authority management method, and an application execution authority management program for managing application execution authority.
ウィルス(標的型攻撃、ランサムウェアなど)によって機密情報が盗まれ外部へ流出したり、破壊されたりするセキュリティ事件が後を絶たない。情報処理推進機構が発表した「情報セキュリティ10大脅威 2016」でも、「第2位 標的型攻撃による情報流出」、「第3位 ランサムウェアを使った詐欺・恐喝」が選出されていることからも明白である。 There is no end to security incidents in which confidential information is stolen, leaked, or destroyed by viruses (targeted attacks, ransomware, etc.). In the "Top 10 Information Security Threats 2016" announced by the Information-technology Promotion Agency, "No.2: Information leaks due to targeted attacks" and "No.3: Fraud and extortion using ransomware" were selected. Obvious.
ウィルスがコンピュータに侵入してしまっても、ウィルスの動作を制限できれば被害の発生を防ぐことが可能である。しかし、実際にはウィルスは動作を制限されることなく処理を実行してしまう。これは、ウィルスなどのアプリケーションが実行しようとする処理の権限管理ができておらず、利用者の意図しない処理(ファイルアクセスやネットワークアクセスなど)を行ってしまうことがその要因である。そのため、コンピュータ上で動作するアプリケーションが利用者の意図した処理だけを行えるよう、アプリケーションが実行可能な権限管理を行うことが必要になる。 Even if a virus invades a computer, it is possible to prevent the occurrence of damage by restricting the operation of the virus. However, in reality, the virus executes its processing without being restricted. The reason for this is that the authority of the processing that an application such as a virus tries to execute is not managed, and the processing (file access, network access, etc.) unintended by the user is performed. For this reason, it is necessary to manage application executable rights so that applications running on a computer can only perform processes intended by users.
アプリケーションの実行権限を管理する一つの方法として、OS(オペレーションシステム)レベルで管理する方法が挙げられる。具体的には、アプリケーション開発者に対して予め利用権限を宣言することを強制する。そして、実際にアプリケーションが権限を要求したタイミングで利用者に通知を行うことで、利用者が許可または禁止を選択する。 One method of managing application execution authority is to manage it at the OS (Operating System) level. Specifically, the application developer is forced to declare usage rights in advance. By notifying the user when the application actually requests the authority, the user selects permission or prohibition.
他にも、アプリケーションの実行権限を管理する方法として、アプリケーション単体での権限を制御する方法が知られている。例えば、特許文献1には、システムにおけるアプリケーションの動作を安定的に管理する方法が記載されている。特許文献1に記載された方法では、アプリケーションの起動時に要求されるAPI(Application Programming Interface :アプリケーションプログラミングインタフェース)関数をフックし、そのAPI関数に対するコールスタックの内容を出力する。そして、出力されたコールスタックの内容は、各種API関数のコールスタックの内容を格納するスタック・データベースにおいて検索および確認される。
In addition, as a method of managing application execution authority, a method of controlling authority of an application alone is known. For example,
なお、特許文献2には、アクセス権限のないユーザに対するリソースの操作を制限する方法が記載されている。特許文献2に記載された方法では、コンピュータリソースに対するプロセスまたはOSからの操作要求をコンピュータリソースにアクセスする前に捕捉し、捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かを判定する。
Japanese Unexamined Patent Application Publication No. 2002-200001 describes a method of restricting resource operations for users who do not have access privileges. The method described in
しかし、OSレベルで管理する方法では、対策が取られていないOSでは実現できないという問題がある。一方、アプリケーション単体で実行権限の制御を行う場合、上述するOSでの問題は生じない。しかし、アプリケーション単体で実行権限の制御を行う場合、複数のアプリケーションが連携して行われる動作に対して、適切に制御が行えないという問題がある。 However, the method of managing at the OS level has a problem that it cannot be realized with an OS that does not take any countermeasures. On the other hand, when the execution authority is controlled by the application alone, the above-mentioned problem with the OS does not occur. However, when the execution authority is controlled for each application alone, there is a problem that it is not possible to appropriately control operations performed by a plurality of applications in cooperation.
以下、具体例を用いて、上記問題について説明する。図9は、2つのアプリケーションが連携して動作を行う場合の例を示す説明図である。例えば、図9に例示するアプリケーションAP-A1は、ファイルアクセスを行い、アプリケーションAP-B1は、ネットワークアクセスを行うものとする。この場合、ユーザは、「アプリケーションAP-A1は、ファイルアクセスを行うアプリケーションである」、「アプリケーションAP-B1は、ネットワークアクセスを行うアプリケーションである」としか判断できない。そのため、ユーザは、例えば、ファイルアクセスだけなら許可、ネットワークアクセスだけなら許可と判断し、アプリケーションAP-A1およびアプリケーションAP-B1に対して権限を与えてしまう可能性がある。 The above problem will be described below using a specific example. FIG. 9 is an explanatory diagram showing an example in which two applications operate in cooperation. For example, it is assumed that application AP-A1 illustrated in FIG. 9 performs file access, and application AP-B1 performs network access. In this case, the user can only determine that "application AP-A1 is an application for file access" and "application AP-B1 is an application for network access". Therefore, the user may determine that only file access is permitted and that only network access is permitted, and grant authority to applications AP-A1 and AP-B1.
しかし、アプリケーションAP-A1が不正な処理を行うアプリケーションだったとする。このとき、両方のアプリケーションに権限が与えられていると、アプリケーションAP-A1が不正に取得したデータを、アプリケーションAP-B1と連携して、外部へ送信する処理が行われてしまう可能性がある。 However, assume that the application AP-A1 is an application that performs unauthorized processing. At this time, if both applications are authorized, there is a possibility that the data illegally obtained by the application AP-A1 will be sent to the outside in cooperation with the application AP-B1. .
図10は、複数のアプリケーションが連携して動作を行う場合の例を示す説明図である。図10に示す例では、アプリケーションAP-A2およびアプリケーションAP-B2が、それぞれ、ファイルアクセスを行い、アプリケーションAP-Cが、ネットワークアクセスを行うものとする。そして、アプリケーションAP-A2およびアプリケーションAP-B2は、いずれもアプリケーションAP-Cと連携しているものとする。また、アプリケーションAP-A2は、正しい処理を行うアプリケーションであり、アプリケーションAP-B2は、不正な処理を行うアプリケーションであるとする。 FIG. 10 is an explanatory diagram showing an example in which a plurality of applications operate in cooperation. In the example shown in FIG. 10, application AP-A2 and application AP-B2 each perform file access, and application AP-C performs network access. It is assumed that both the application AP-A2 and the application AP-B2 are linked with the application AP-C. It is also assumed that the application AP-A2 is an application that performs correct processing, and the application AP-B2 is an application that performs illegal processing.
図10に示す例でも、アプリケーション単位で権限管理が行われるとする。仮に不明なアプリケーションからのネットワークを制御しようとして、アプリケーションAP-Cによるネットワークアクセスを禁止する設定をしたとすると、正しい処理を行うアプリケーションAP-A2からの処理が実行できなくなってしまう。その一方で、アプリケーションAP-Cによるネットワークアクセスを許可する設定をしたとすると、不正な処理を行うアプリケーションAP-B2からの処理を許可してしまうことになる。 Also in the example shown in FIG. 10, it is assumed that authority management is performed for each application. If an attempt is made to prohibit network access by application AP-C in an attempt to control the network from an unknown application, processing from application AP-A2 that performs correct processing cannot be executed. On the other hand, if the setting is made to permit network access by the application AP-C, processing from the application AP-B2, which performs unauthorized processing, is permitted.
そこで、本発明は、連携するアプリケーションの実行権限をユーザが適切に管理できるアプリケーション実行権限管理装置、アプリケーション実行権限管理方法およびアプリケーション実行権限管理プログラムを提供することを目的とする。 SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide an application execution authority management device, an application execution authority management method, and an application execution authority management program that enable a user to appropriately manage the execution authority of a linked application.
本発明によるアプリケーション実行権限管理装置は、起動されたアプリケーションが利用するAPIを検出して、検出されたAPIを実行するためにそのアプリケーション単体で必要とする権限であるアプリ権限を分析するアプリ権限分析部と、検出されたAPIに基づいて、起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出する連携アプリケーション検出部と、起動されたアプリケーションのアプリ権限に、連携アプリケーションのアプリ権限を加えた権限を、その起動されたアプリケーションの実行権限と決定する実行権限決定部と、決定した実行権限をユーザに通知する通知部とを備えたことを特徴とする。 An application execution authority management device according to the present invention detects an API used by a started application, and analyzes application authority, which is the authority required by the application alone in order to execute the detected API. a cooperative application detection unit that detects a cooperative application that is an application that cooperates with the started application based on the detected API; and an authority obtained by adding the application authority of the cooperative application to the application authority of the started application. as the execution authority for the activated application, and a notification section for notifying the user of the determined execution authority.
本発明によるアプリケーション実行権限管理方法は、起動されたアプリケーションが利用するAPIを検出して、検出されたAPIを実行するためにそのアプリケーション単体で必要とする権限であるアプリ権限を分析し、検出されたAPIに基づいて、起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出し、起動されたアプリケーションのアプリ権限に、連携アプリケーションのアプリ権限を加えた権限を、その起動されたアプリケーションの実行権限と決定し、決定した実行権限をユーザに通知することを特徴とする。 The application execution authority management method according to the present invention detects an API used by a started application, analyzes the application authority that is the authority required by the application alone in order to execute the detected API, and executes the detected API. Based on the API, detect a cooperative application that is an application that cooperates with the launched application, and add the application authority of the launched application to the application authority of the cooperative application, and set the execution authority of the launched application. and notifying the user of the determined execution authority.
本発明によるアプリケーション実行権限管理プログラムは、コンピュータに、起動されたアプリケーションが利用するAPIを検出して、検出されたAPIを実行するためにそのアプリケーション単体で必要とする権限であるアプリ権限を分析するアプリ権限分析処理、検出されたAPIに基づいて、起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出する連携アプリケーション検出処理、起動されたアプリケーションのアプリ権限に、連携アプリケーションのアプリ権限を加えた権限を、その起動されたアプリケーションの実行権限と決定する実行権限決定処理、および、決定した実行権限をユーザに通知する通知処理を実行させることを特徴とする。 An application execution authority management program according to the present invention detects an API used by a started application in a computer, and analyzes the application authority, which is the authority required by the application alone in order to execute the detected API . Application authorization analysis processing, cooperative application detection processing for detecting a cooperative application that is an application that cooperates with the launched application based on the detected API, adding the application authorization of the cooperative application to the application authorization of the launched application It is characterized by executing an execution authority determination process of determining the authority as the execution authority of the activated application, and a notification process of notifying the user of the determined execution authority.
本発明によれば、連携するアプリケーションの実行権限をユーザが適切に管理できる。 ADVANTAGE OF THE INVENTION According to this invention, a user can manage the execution authority of the application to cooperate appropriately.
以下、本発明の実施形態を図面を参照して説明する。本発明では、アプリケーション単体だけではなく、連携するアプリケーションも含めて、正しく権限管理を行いユーザへ通知する手法を提案する。この手法を実現するため、アプリケーション単体の実行権限を管理する仕組みと、連携するアプリケーションを検出する仕組みとを組み合わせる。すなわち、アプリケーション単体の実行権限と連携するアプリケーションの実行権限とをまとめて、アプリケーションの実行権限として管理する。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings. The present invention proposes a method of correctly managing authority not only for a single application but also for cooperating applications and notifying the user. In order to implement this method, a mechanism for managing the execution authority of individual applications and a mechanism for detecting cooperating applications are combined. That is, the authority to execute the application alone and the authority to execute the linked application are collectively managed as the authority to execute the application.
なお、以下の説明では、「アプリケーション単体の実行権限」と、「アプリケーション単体の実行権限および連携するアプリケーションの実行権限を組み合わせた権限」を区別するため、表記を分けて説明する。具体的には、「アプリケーション単体の実行権限」を「アプリ権限」と表記し、「アプリケーション単体の実行権限および連携するアプリケーションの実行権限を組み合わせた権限」を「アプリケーションの実行権限」と表記する。 In the following description, the notation will be used separately to distinguish between the "execution authority for a single application" and the "authority combining the execution authority for a single application and the execution authority for a cooperating application". Specifically, the "execution authority for a single application" is referred to as "application authority", and the "authority combining the execution authority for a single application and the execution authority for a cooperating application" is referred to as "application execution authority".
図1は、本発明によるアプリケーション実行権限管理装置の一実施形態の構成例を示すブロック図である。本実施形態のアプリケーション実行権限管理装置100は、アプリケーション簡易分析部1と、簡易分析結果保存部2と、アプリケーション分析部3と、アプリケーション情報取得部4と、分析/取得結果保存部5と、連携アプリケーション検出部6と、連携アプリケーション保存部7と、アプリケーション権限決定部8と、実行権限通知部9と、実行権限保存部10と、実行権限制御部11と、記憶部12とを備えている。
FIG. 1 is a block diagram showing a configuration example of an embodiment of an application execution authority management device according to the present invention. The application execution
アプリケーション実行権限管理装置100は、APIフックにより、OSとアプリケーションとの間の処理に介入し、動作する。本実施形態のアプリケーション実行権限管理装置100では、アプリケーションの起動をトリガにアプリケーション簡易分析部1の処理が開始される。また、アプリケーションからの各APIの呼び出しをトリガにアプリケーション分析部3の処理が開始される。
The application execution
図2は、本実施形態のアプリケーション実行権限管理装置100の動作例を示す説明図である。図2に例示するように、アプリケーションAP-AとアプリケーションAP-Bとが連携して処理を実行する。
FIG. 2 is an explanatory diagram showing an operation example of the application execution
上述するように、本実施形態では、アプリケーション実行権限管理装置100が、OSとアプリケーションとの間に介入して、アプリケーションが利用するAPIを分析する。その分析結果からアプリケーションのアプリ権限(ファイルアクセス、ネットワークアクセスなど)が確認される。また、アプリケーション実行権限管理装置100が、アプリケーションAP-Aと連携するアプリケーションAP-Bを検出し、「アプリケーションAP-A単体のアプリ権限」と「アプリケーションAP-Aと連携するアプリケーションAP-Bのアプリ権限」とを組み合わせ、その組み合わせた権限を「アプリケーションAP-Aの実行権限」として保存する(図2におけるステップS101)。
As described above, in this embodiment, the application execution
その後、アプリケーション実行権限管理装置100は、生成したアプリケーションAP-Aの実行権限をユーザへ通知し、ユーザによる許可または禁止の選択を受け付ける。実行権限に変更があれば、アプリケーション実行権限管理装置100は、再度利用者に通知を行う。利用者が「許可」を選択した場合、アプリケーション実行権限管理装置100は、処理を継続し、「禁止」を選択した場合、処理を実行しない(図2におけるステップS102)。
After that, the application execution
以下、アプリケーション実行権限管理装置100が備える各構成の動作を説明する。
The operation of each component included in the application execution
記憶部12は、アプリケーション実行権限管理装置100が処理を行うために必要な各種情報を記憶する。なお、記憶部12が記憶する内容は後述される。記憶部12は、例えば、磁気ディスク等により実現される。
The
アプリケーション簡易分析部1は、アプリケーションが必要とするアプリ権限を決定する。具体的には、アプリケーション簡易分析部1は、アプリケーションの起動を検知すると、そのアプリケーションがロードするAPIの一覧を作成する。そして、アプリケーション簡易分析部1は、予め決められたルールに基づき、作成されたAPIの一覧から、起動したアプリケーションが必要なアプリ権限を決定する。
The simple
予め決められたルールとして、例えば、「socket APIが用いられた場合、ネットワーク通信のアプリ権限を有する」というルールが挙げられる。ただし、決められたルールの内容は、この内容に限定されない。APIの内容に応じて、実行環境(例えば、OS)で定義される権限が対応付けられていればよい。 As a predetermined rule, for example, there is a rule that "if the socket API is used, the application has authority for network communication". However, the content of the determined rule is not limited to this content. Authorities defined by the execution environment (OS, for example) may be associated with the contents of the API.
簡易分析結果保存部2は、アプリケーション簡易分析部1により決定されたアプリ権限をアプリケーションと対応付けて記憶部12のアプリ管理テーブルに記憶する。
The simple analysis
アプリケーション分析部3は、アプリケーションが必要とするアプリ権限を決定する。具体的には、アプリケーション分析部3は、予め決められたルールに基づき、実行されたAPIからアプリケーションが必要とするアプリ権限を決定する。
The
予め決められたルールとして、例えば、「CreateFile APIでREADアクセスを行う場合、ファイル読み込みのアプリ権限を有する」というルールが挙げられる。ただし、決められたルールの内容は、この内容に限定されない。APIの内容に応じて、実行環境(例えば、OS)で定義される権限が対応付けられていればよい。 As a predetermined rule, for example, there is a rule that "when performing READ access with the CreateFile API, the application has authority to read the file". However, the content of the determined rule is not limited to this content. Authorities defined by the execution environment (OS, for example) may be associated with the contents of the API.
さらに、アプリケーション分析部3は、実行されたAPIが共有メモリまたはNamedPipeを操作するAPIか否か判断する。実行されたAPIが共有メモリまたはNamedPipeを操作するAPIであった場合、アプリケーション情報取得部4による処理がさらに行われる。
Furthermore, the
共有メモリを操作するAPIとして、例えば、「CreateFileMapping API」が挙げられる。また、NamedPipeを操作するAPIとして、例えば、「CreateNamedPipe API」、「CreateFile API」が挙げられる。 APIs for operating shared memory include, for example, “CreateFileMapping API”. APIs for operating NamedPipe include, for example, “CreateNamedPipe API” and “CreateFile API”.
アプリケーション情報取得部4は、実行されたAPIから共有メモリまたはNamedPipeの名前と方向(すなわち、読み取りまたは書き込み)に関する情報を取得する。アプリケーション情報取得部4は、例えば、アプリケーションが呼び出したAPIの情報(API名や引数の値など)から、NamedPipeの名前と方向を取得してもよい。
The application
分析/取得結果保存部5は、アプリケーション分析部3が決定したアプリ権限をアプリ管理テーブルに登録する。また、分析/取得結果保存部5は、アプリケーション分析部3が決定したアプリ権限とともに、アプリケーション情報取得部4が取得した情報を対応付けてアプリ管理テーブルに登録する。
The analysis/acquisition
図3は、アプリ管理テーブルの例を示す説明図である。図3に示す例では、起動したアプリケーションのアプリケーション名とアプリ権限、並びに、そのアプリケーションが使用する共有メモリおよびその方向、NamedPipe名とその方向が対応付けられてアプリ管理テーブルに記憶されていることを示す。 FIG. 3 is an explanatory diagram showing an example of an application management table. In the example shown in FIG. 3, the application name and application authority of the started application, the shared memory used by the application and its direction, and the NamedPipe name and its direction are associated and stored in the application management table. show.
連携アプリケーション検出部6は、アプリ管理テーブルの情報と実行されたAPIから予め決められたルールに基づき、起動されたアプリケーションと連携するアプリケーション(以下、連携アプリケーションと記す。)を検出する。具体的には、連携アプリケーション検出部6は、起動されたアプリケーションと同じフォルダ内に存在するアプリケーション、起動されたアプリケーションが呼び出す先のアプリケーション、および、起動されたアプリケーションと通信が行われるアプリケーションの少なくとも一つを連携アプリケーションとして検出する。以下の説明では、アプリケーション間で行われる通信をプロセス間通信と記す。なお、予め決められたルールとして、以下のルールが例示される。
The cooperative
第一のルールの例として、「アプリケーションが同じフォルダに格納されているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部6は、アプリケーションの実行フォルダを取得し、同フォルダ配下のexeファイルを全て列挙し、連携アプリケーションとして検出してもよい。
An example of the first rule is "whether applications are stored in the same folder". For this rule, the cooperative
第二のルールの例として、「プロセスから別のプロセスが起動されているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部6は、CreateProcess APIから、該当のexeファイルを列挙し、連携アプリケーションとして検出してもよい。
An example of the second rule is "whether another process is started from the process". For this rule, the cooperative
第三のルールの例として、「ウィンドウメッセージに関してプロセス間通信が行われているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部6は、SendMessage APIから、該当のウィンドウハンドルを持つexeファイルを列挙し、連携アプリケーションとして検出してもよい。
An example of a third rule is "whether there is interprocess communication for window messages". For this rule, the cooperative
第四のルールの例として、「共有メモリに関してプロセス間通信が行われているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部6は、アプリ管理テーブルから、一致する共有メモリ名を利用するexeファイルを列挙し、連携アプリケーションとして検出してもよい。この場合、共有メモリの利用方向も考慮し、連携アプリケーション検出部6は、書き込みを行っている場合に連携元アプリケーションとして判断し、読み込みのみを行っている場合に連携先アプリケーションとして判断してもよい。
An example of the fourth rule is "whether or not inter-process communication is being performed regarding shared memory". For this rule, the cooperative
第五のルールの例として、「名前付きパイプに関してプロセス間通信が行われているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部6は、アプリ管理テーブルから、一致するNamedPipe名を利用するexeファイルを列挙し、連携アプリケーションとして検出してもよい。この場合、NamedPipeの利用方向も考慮し、連携アプリケーション検出部6は、書き込みを行っている場合に連携元アプリケーションと判断し、読み込みのみを行っている場合に連携先アプリケーションとして判断してもよい。
An example of the fifth rule is "whether or not inter-process communication is performed on named pipes". For this rule, the cooperative
第六のルールの例として、「COM(Component Object Model)に関してプロセス間通信が行われているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部6は、CoCreateInstance APIから、該当のCLSIDを持つexeファイルを列挙し、連携アプリケーションとして検出してもよい。
An example of the sixth rule is "whether inter-process communication is being performed with respect to COM (Component Object Model)". For this rule, the cooperative
なお、以上のルールは例示であり、これらの内容に限定されない。アプリケーションの通信や呼出し、格納場所に関する他のルールが決められていてもよい。 In addition, the above rule is an example, and is not limited to these contents. Other rules regarding application communication, invocation, and storage locations may be determined.
連携アプリケーション保存部7は、連携アプリケーション検出部6が検出した連携アプリケーションを記憶部12の連携アプリ管理テーブルに登録する。図4は、連携アプリ管理テーブルの例を示す説明図である。図4に例示する連携アプリ管理テーブルは、連携元のアプリケーションと連携先のアプリケーションとを対応付けて記憶していることを示す。
The linked
アプリケーション権限決定部8は、連携アプリ管理テーブルに保存されたデータから連携アプリケーションを取得し、アプリ管理テーブルから各アプリケーションのアプリ権限を取得する。そして、アプリケーション権限決定部8は、起動されたアプリケーションのアプリ権限と、連携アプリケーションのアプリ権限とに基づいて、起動されたアプリケーションの実行権限を決定する。具体的には、アプリケーション権限決定部8は、起動されたアプリケーションがもともと有していたアプリ権限に連携アプリケーションのアプリ権限を加えた権限を、起動されたアプリケーションの実行権限と決定する。
The application
実行権限通知部9は、アプリケーション権限決定部8が決定した実行権限をユーザに通知し、その実行権限の許可または禁止についての回答を受信する。具体的には、実行権限通知部9は、アプリケーション権限決定部8が決定した権限をアプリケーションが必要とする実行権限とし、「アプリケーションの情報」および「実行権限」をユーザに通知する。そして、実行権限通知部9は、実行権限の許可または禁止についての回答をユーザから取得する。通知するアプリケーションの情報は、例えば、連携元アプリケーションおよび連携先アプリケーションの内容である。
The execution
例えば、連携元アプリケーション名が“AP1.exe”であるとし、このアプリケーション自体は、ファイルアクセスのアプリ権限を有しているとする。一方、連携先のアプリケーション(AP2)が、ネットワークアクセスのアプリ権限を有しており、AP1の連携アプリケーションであるとする。この場合、実行権限通知部9は、AP1単体での実行権限と、連携アプリケーションAP2と組み合わせた実行権限とをユーザに通知し、その実行権限の許可または禁止についての回答を受信してもよい。
For example, it is assumed that the name of the cooperation source application is "AP1.exe" and that this application itself has application authority for file access. On the other hand, it is assumed that the cooperation destination application (AP2) has application authority for network access and is the cooperation application of AP1. In this case, the execution
実行権限保存部10は、ユーザから取得した実行権限の許可または禁止についての回答を、記憶部12の実行権限管理テーブルに登録する。図5は、実行権限管理テーブルの例を示す説明図である。図5に例示する実行権限管理テーブルは、上述する実行権限について、AP1単体での実行権限については許可され、連携アプリケーションAP2と組み合わせた実行権限については禁止されたことを示す。
The execution
なお、実行権限通知部9は、実行権限管理テーブルを参照し、すでに許可または禁止が通知された実行権限について、再度ユーザに通知しなくてもよい。具体的には、実行権限通知部9は、連携先アプリケーションの情報を組み合わせて、実行権限が既に通知済みか否か判断してもよい。
Note that the execution
実行権限制御部11は、実行権限管理テーブルの情報に基づき、APIの処理を実行するか、停止するか制御する。実行権限制御部11は、例えば、起動したアプリケーションの処理が禁止されている場合、フックしたAPI内部で、オリジナルAPIを実行せず、エラーを返却することで実行を禁止してもよい。また、連携プロセス(連携アプリケーション)の処理が禁止されている場合、実行権限制御部11は、連携プロセスの起動またはプロセス間通信を禁止してもよい。この場合も、実行権限制御部11は、APIフックを行うことで上記と同様に実現してもよいし、連携先プロセスのAPIをフックして、制御を行ってもよい。
The execution
アプリケーション簡易分析部1と、簡易分析結果保存部2と、アプリケーション分析部3と、アプリケーション情報取得部4と、分析/取得結果保存部5と、連携アプリケーション検出部6と、連携アプリケーション保存部7と、アプリケーション権限決定部8と、実行権限通知部9と、実行権限保存部10と、実行権限制御部11とは、プログラム(アプリケーション実行権限管理プログラム)に従って動作するコンピュータのCPUによって実現される。
Simple
例えば、プログラムは、アプリケーション実行権限管理装置100の記憶部12に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、アプリケーション簡易分析部1、簡易分析結果保存部2、アプリケーション分析部3、アプリケーション情報取得部4、分析/取得結果保存部5、連携アプリケーション検出部6、連携アプリケーション保存部7、アプリケーション権限決定部8、実行権限通知部9、実行権限保存部10および実行権限制御部11として動作してもよい。
For example, the program is stored in the
また、アプリケーション簡易分析部1と、簡易分析結果保存部2と、アプリケーション分析部3と、アプリケーション情報取得部4と、分析/取得結果保存部5と、連携アプリケーション検出部6と、連携アプリケーション保存部7と、アプリケーション権限決定部8と、実行権限通知部9と、実行権限保存部10と、実行権限制御部11とは、それぞれが専用のハードウェアで実現されていてもよい。
In addition, simple
次に、本実施形態のアプリケーション実行権限管理装置100の動作を説明する。図6および図7は、本実施形態のアプリケーション実行権限管理装置100の動作例を示すフローチャートである。
Next, the operation of the application execution
アプリケーション実行権限管理装置100は、アプリケーションの起動をトリガに図6に例示する処理を開始する。また、アプリケーション実行権限管理装置100は、アプリケーションから各APIが呼び出されたことをトリガに、図7に例示する処理を開始する。
The application execution
アプリケーション簡易分析部1は、アプリケーション単体のアプリ権限を取得する(図6におけるステップS1)。具体的には、アプリケーション簡易分析部1は、アプリケーションがロードしているAPIの一覧を作成し、予め決められたルールに基づき、アプリケーションが必要とするアプリ権限を決定する。
The simple
簡易分析結果保存部2は、アプリケーション単体のアプリ権限を保存する(ステップS2)。具体的には、簡易分析結果保存部2は、決定したアプリ権限の情報をアプリ管理テーブルに保存し、処理を終了する。なお、アプリケーションの起動後は、APIフックされた各APIの実行をトリガに図7に例示する処理が開始される。
The simple analysis
アプリケーション分析部3は、アプリケーション単体のアプリ権限を取得する(ステップS3)。具体的には、アプリケーション分析部3は、アプリケーションが呼び出したAPIの情報(API名や引数の値)を利用し、予め決められたルールに基づき、アプリケーションが必要とするアプリ権限を決定する。
The
また、アプリケーション分析部3は、実行されたAPIが共有メモリまたはNamedPipeを操作するAPIか否か判断する(ステップSp1)。実行されたAPIが共有メモリまたはNamedPipeを操作するAPIの場合(ステップSp1におけるYes)、アプリケーション情報取得部4は、アプリケーションの情報を取得する(ステップS4)。具体的には、アプリケーション情報取得部4は、アプリケーションが呼び出したAPIの情報(API名や引数の値)を利用し、共有メモリやNamedPipeの名前と方向(読み取り/書き込み)に関する情報を取得する。一方、実行されたAPIが共有メモリまたはNamedPipeを操作するAPIでない場合(ステップSp1におけるNo)、ステップS5の処理に進む。
The
分析/取得結果保存部5は、アプリケーション単体のアプリ権限および情報を保存する(ステップS5)。具体的には、分析/取得結果保存部5は、決定されたアプリ権限および情報をアプリ管理テーブルに保存する。
The analysis/acquisition
連携アプリケーション検出部6は、連携アプリケーションを検出する(ステップS6)。具体的には、連携アプリケーション検出部6は、アプリ管理テーブルの情報と実行されたAPIの情報(API名や引数の値)から予め決められたルールに基づき、連携アプリケーションを検出する。
The cooperative
連携アプリケーション保存部7は、連携アプリケーションの情報を保存する(ステップS7)。具体的には、連携アプリケーション保存部7は、検出された連携アプリケーションの情報を連携アプリ管理テーブルに保存する。
The cooperative
アプリケーション権限決定部8は、アプリケーションの実行権限を決定する(ステップS8)。具体的には、アプリケーション権限決定部8は、アプリ管理テーブルに保存されたデータからアプリケーション単体のアプリ権限を第一のアプリ権限として取得する。また、アプリケーション権限決定部8は、連携アプリ管理テーブルに保存されたデータから連携アプリケーションを取得し、アプリ管理テーブルから各連携アプリケーションのアプリ権限を第二のアプリ権限として取得する。そして、アプリケーション権限決定部8は、第一のアプリ権限および第二のアプリ権限から、アプリケーションの実行権限を決定する。
The application
実行権限通知部9は、未確認の権限が存在するか否か判断する(ステップSp2)。具体的には、実行権限通知部9は、実行権限管理テーブルからアプリケーションの実行権限の許可状況を取得し、取得したデータとステップS8で決定されたアプリケーションの実行権限と比較して、ユーザに通知していない実行権限が存在するか否か判断する。未確認の権限が存在する場合(ステップSp2におけるYes)、実行権限通知部9は、確認画面を表示し(ステップS9)、ユーザの回答を受け付ける。一方、未確認の権限が存在しない場合(ステップSp2におけるNo)、ステップS11の処理に進む。
The execution
実行権限保存部10は、確認結果を保存する(ステップS10)。具体的には、実行権限保存部10は、ユーザが選択した許可または禁止の結果を実行権限管理テーブルに保存する。
The execution
実行権限制御部11は、アプリケーションの動作を制御する(ステップS11)。具体的には、実行権限制御部11は、実行権限管理テーブルからアプリケーションの実行権限の許可状況を取得する。そして、実行権限制御部11は、取得したデータを基に、許可されている場合はアプリケーションの処理実行を継続し、禁止されている場合は、アプリケーションの処理をエラーとする。
The execution
以上のように、本実施形態では、アプリケーション分析部3が、起動されたアプリケーションが利用するAPIを検出して、そのアプリケーションのアプリ権限を分析する。また、連携アプリケーション検出部6が、検出されたAPIに基づいて、起動されたアプリケーションの連携アプリケーションを検出する。そして、アプリケーション権限決定部8が、起動されたアプリケーションのアプリ権限と、連携アプリケーションのアプリ権限とに基づいて、起動されたアプリケーションの実行権限を決定し、実行権限通知部9が、決定した実行権限をユーザに通知する。よって、連携するアプリケーションの実行権限をユーザが適切に管理できる。
As described above, in this embodiment, the
すなわち、本実施形態のアプリケーション実行権限管理装置100を用いることで、アプリケーション単体だけではなく、連携するアプリケーションまで含めて動作を正確に把握し、制御を行うことができる。そのため、ユーザの意図しない悪意のある動作からユーザを保護し、セキュリティを強化することが可能になる。
In other words, by using the application execution
例えば、図9に示す例の場合、本実施形態のアプリケーション実行権限管理装置100を用いることで、ユーザが、「アプリケーションAP-A1がファイルアクセスとネットワークアクセスを行うアプリケーションである」と判断することが可能になる。そのため、例えば、アプリケーションAP-A1がファイルにアクセスし、外部へデータを送信する可能性のあるアプリケーションであるとして、適切に権限管理することが可能になる。
For example, in the case of the example shown in FIG. 9, by using the application execution
また、例えば、図10に示す例の場合、本実施形態のアプリケーション実行権限管理装置100を用いることで、ユーザは、アプリケーションAP-A2が連携したときのアプリケーションAP-Cの通信を許可し、アプリケーションAP-B2が連携したときのアプリケーションAP-Cの通信を禁止できる。
Further, for example, in the case of the example shown in FIG. 10, by using the application execution
次に、本発明の概要を説明する。図8は、本発明によるアプリケーション実行権限管理装置の概要を示すブロック図である。本発明によるアプリケーション実行権限管理装置80(例えば、アプリケーション実行権限管理装置100)は、起動されたアプリケーションが利用するAPIを検出して、そのアプリケーション単体で必要とする権限であるアプリ権限を分析するアプリ権限分析部81(例えば、アプリケーション分析部3)と、検出されたAPIに基づいて、起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出する連携アプリケーション検出部82(例えば、連携アプリケーション検出部6)と、起動されたアプリケーションのアプリ権限と、連携アプリケーションのアプリ権限とに基づいて、起動されたアプリケーションの実行権限を決定する実行権限決定部83(例えば、アプリケーション権限決定部8)と、決定した実行権限をユーザに通知する通知部84(例えば、実行権限通知部9)とを備えている。 Next, an outline of the present invention will be described. FIG. 8 is a block diagram showing an outline of an application execution authority management device according to the present invention. An application execution authority management device 80 (for example, an application execution authority management device 100) according to the present invention detects an API used by a started application and analyzes application authority, which is authority required by the application alone. A permission analysis unit 81 (for example, the application analysis unit 3) and a cooperation application detection unit 82 (for example, the cooperation application detection unit 6) that detects a cooperation application that is an application that cooperates with the started application based on the detected API. ), and an execution authority determining unit 83 (for example, the application authority determining unit 8) that determines the execution authority of the activated application based on the application authority of the activated application and the application authority of the cooperative application. and a notification unit 84 (for example, the execution authority notification unit 9) that notifies the user of the execution authority.
そのような構成により、連携するアプリケーションの実行権限をユーザが適切に管理できる。 With such a configuration, the user can appropriately manage the execution authority of the cooperating application.
また、実行権限決定部83は、起動されたアプリケーションが有するアプリ権限に連携アプリケーションのアプリ権限を加えた権限を、起動されたアプリケーションの実行権限と決定してもよい。
Further, the execution
また、アプリ権限分析部81は、実行されたAPIが共有メモリまたはNamedPipeを操作するAPIの場合、実行されたAPIから共有メモリまたはNamedPipe名および方向に関する情報を取得し、連携アプリケーション検出部82は、取得された情報を用いて連携アプリケーションを検出してもよい。そのような構成により、より適切に連携アプリケーションを検出することが可能になる。
Further, when the executed API is an API that operates a shared memory or a NamedPipe, the application
また、連携アプリケーション検出部82は、起動されたアプリケーションと同じフォルダ内に存在するアプリケーション、起動されたアプリケーションが呼び出す先のアプリケーション、および、起動されたアプリケーションと通信が行われるアプリケーションの少なくとも一つを連携アプリケーションとして検出してもよい。
In addition, the linked
また、アプリケーション実行権限管理装置80は、検出されたAPIの処理を制御する制御部(例えば、実行権限制御部11)を備えていてもよい。そして、通知部84は、通知した実行権限に対するユーザからの回答を受信し、制御部は、受信した回答に応じてAPIの処理を制御してもよい。
Further, the application execution
また、通知部84は、決定された実行権限が、すでにユーザに通知済みの実行権限である場合、その実行権限の通知を抑制してもよい。そのような構成によれば、ユーザの確認負担を低減できる。
Further, if the determined execution authority is already notified to the user, the
具体的には、通知部84は、受信したユーザからの回答を通知した実行権限と対応付けて記憶部に記憶させ、記憶部に記憶された内容に基づいて、ユーザに通知済みか否か判断してもよい。
Specifically, the
1 アプリケーション簡易分析部
2 簡易分析結果保存部
3 アプリケーション分析部
4 アプリケーション情報取得部
5 分析/取得結果保存部
6 連携アプリケーション検出部
7 連携アプリケーション保存部
8 アプリケーション権限決定部
9 実行権限通知部
10 実行権限保存部
11 実行権限制御部
12 記憶部
100 アプリケーション実行権限管理装置
1 simple
Claims (9)
検出された前記APIに基づいて、前記起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出する連携アプリケーション検出部と、
起動されたアプリケーションのアプリ権限に、前記連携アプリケーションのアプリ権限を加えた権限を、当該起動されたアプリケーションの実行権限と決定する実行権限決定部と、
決定した実行権限をユーザに通知する通知部とを備えた
ことを特徴とするアプリケーション実行権限管理装置。 an application authority analysis unit that detects APIs used by the launched application and analyzes application authority that is the authority required by the application alone in order to execute the detected API ;
a cooperative application detection unit that detects a cooperative application that is an application that cooperates with the activated application based on the detected API;
an execution authority determination unit that determines an authority obtained by adding the application authority of the linked application to the application authority of the activated application as the execution authority of the activated application;
and a notification unit for notifying a user of the determined execution authority.
請求項1記載のアプリケーション実行権限管理装置。 2. The application execution authority management device according to claim 1, wherein the execution authority determination unit determines authority obtained by adding the application authority of the cooperative application to the application authority of the activated application as the execution authority of the activated application.
連携アプリケーション検出部は、取得された前記情報を用いて連携アプリケーションを検出する
請求項1または請求項2記載のアプリケーション実行権限管理装置。 If the API used by the launched application is an API that operates a shared memory or a NamedPipe, the application authority analysis unit acquires information about the name and direction of the shared memory or NamedPipe from the API,
3. The application execution authority management device according to claim 1, wherein the cooperative application detection unit detects the cooperative application using the acquired information.
請求項1から請求項3のうちのいずれか1項に記載のアプリケーション実行権限管理装置。 The cooperative application detection unit detects , as a cooperative application, at least one of an application called by the started application and an application communicating with the started application. 1. The application execution authority management device according to claim 1.
通知部は、通知した実行権限に対するユーザからの回答を受信し、
前記制御部は、受信した回答に応じて前記APIの処理を制御する
請求項1から請求項4のうちのいずれか1項に記載のアプリケーション実行権限管理装置。 A control unit that controls the processing of the detected API,
The notification unit receives a response from the user to the notified execution authority,
The application execution authority management device according to any one of claims 1 to 4, wherein the control unit controls the processing of the API according to the received reply.
請求項1から請求項5のうちのいずれか1項に記載のアプリケーション実行権限管理装置。 6. The application execution according to any one of claims 1 to 5, wherein the notification unit suppresses notification of the execution authority when the determined execution authority is already notified to the user. Authority control device.
請求項6記載のアプリケーション実行権限管理装置。 7. The notification unit stores the received response from the user in association with the notified execution authority in the storage unit, and determines whether or not the user has been notified based on the content stored in the storage unit. application execution authority management device.
検出された前記APIに基づいて、前記起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出し、
起動されたアプリケーションのアプリ権限に、前記連携アプリケーションのアプリ権限を加えた権限を、当該起動されたアプリケーションの実行権限と決定し、
決定した実行権限をユーザに通知する
ことを特徴とするアプリケーション実行権限管理方法。 Detecting the APIs used by the launched application, analyzing the application authority that is the authority required by the application alone to execute the detected API ,
detecting a cooperative application that is an application that cooperates with the activated application based on the detected API;
determining the authority obtained by adding the application authority of the linked application to the application authority of the activated application as the execution authority of the activated application;
An application execution authority management method characterized by notifying a user of a determined execution authority.
起動されたアプリケーションが利用するAPIを検出して、検出されたAPIを実行するために当該アプリケーション単体で必要とする権限であるアプリ権限を分析するアプリ権限分析処理、
検出された前記APIに基づいて、前記起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出する連携アプリケーション検出処理、
起動されたアプリケーションのアプリ権限に、前記連携アプリケーションのアプリ権限を加えた権限を、当該起動されたアプリケーションの実行権限と決定する実行権限決定処理、および、
決定した実行権限をユーザに通知する通知処理
を実行させるためのアプリケーション実行権限管理プログラム。 to the computer,
Application authority analysis processing for detecting an API used by the launched application and analyzing the application authority, which is the authority required by the application alone to execute the detected API ,
cooperative application detection processing for detecting a cooperative application that is an application that cooperates with the activated application, based on the detected API;
an execution authority determination process of determining an authority obtained by adding the application authority of the linked application to the application authority of the activated application as the execution authority of the activated application;
An application execution authority management program for executing notification processing for notifying the user of the determined execution authority.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018056675A JP7119480B2 (en) | 2018-03-23 | 2018-03-23 | Application execution authority management device, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018056675A JP7119480B2 (en) | 2018-03-23 | 2018-03-23 | Application execution authority management device, method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019168958A JP2019168958A (en) | 2019-10-03 |
JP7119480B2 true JP7119480B2 (en) | 2022-08-17 |
Family
ID=68108318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018056675A Active JP7119480B2 (en) | 2018-03-23 | 2018-03-23 | Application execution authority management device, method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7119480B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012046406A1 (en) | 2010-10-04 | 2012-04-12 | パナソニック株式会社 | Information processing device and method for preventing unauthorized application cooperation |
JP2016540287A (en) | 2013-10-18 | 2016-12-22 | ノキア テクノロジーズ オサケユイチア | Method and system for running applications on electronic devices and monitoring permissions |
-
2018
- 2018-03-23 JP JP2018056675A patent/JP7119480B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012046406A1 (en) | 2010-10-04 | 2012-04-12 | パナソニック株式会社 | Information processing device and method for preventing unauthorized application cooperation |
JP2016540287A (en) | 2013-10-18 | 2016-12-22 | ノキア テクノロジーズ オサケユイチア | Method and system for running applications on electronic devices and monitoring permissions |
Also Published As
Publication number | Publication date |
---|---|
JP2019168958A (en) | 2019-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113168476B (en) | Access control for personalized cryptographic security in an operating system | |
US9094451B2 (en) | System and method for reducing load on an operating system when executing antivirus operations | |
US7487495B2 (en) | Generic framework for runtime interception and execution control of interpreted languages | |
US8904537B2 (en) | Malware detection | |
US8010995B2 (en) | Methods, systems, and computer program products for implementing inter-process integrity serialization | |
CN102034052B (en) | Operation system architecture based on separation of permissions and implementation method thereof | |
US20190171826A1 (en) | Apparatus and method for blocking ransome ware using access control to the contents file | |
US7890756B2 (en) | Verification system and method for accessing resources in a computing environment | |
US20140230012A1 (en) | Systems, methods, and media for policy-based monitoring and controlling of applications | |
US20160004859A1 (en) | Method and system for platform and user application security on a device | |
JP2023534502A (en) | Advanced ransomware detection | |
JP2018124893A (en) | Computer system and file access controlling method | |
US20220083673A1 (en) | System, Method, and Apparatus for Enhanced Whitelisting | |
JP2010097550A (en) | Virus prevention program, storage device detachable from computer, and virus prevention method | |
US20240152610A1 (en) | Methods and systems for detecting and blocking malicious actions in operating system | |
JP2007140798A (en) | Information leakage prevention system for computer | |
EP2881883B1 (en) | System and method for reducing load on an operating system when executing antivirus operations | |
JP5955475B1 (en) | Program, information processing apparatus, and information processing method | |
JP7119480B2 (en) | Application execution authority management device, method and program | |
JP5392494B2 (en) | File check device, file check program, and file check method | |
GB2555569B (en) | Enhanced computer objects security | |
KR102463814B1 (en) | Method and apparatus for monitoring server | |
JP5126495B2 (en) | Security policy setting device linked with safety evaluation, program thereof and method thereof | |
JP2019008732A (en) | Access control device, access control method and access control program | |
Salehi et al. | Welcome to Binder: A kernel level attack model for the Binder in Android operating system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220222 |
|
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: 20220705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220718 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7119480 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |