JP7119480B2 - Application execution authority management device, method and program - Google Patents

Application execution authority management device, method and program Download PDF

Info

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
Application number
JP2018056675A
Other languages
Japanese (ja)
Other versions
JP2019168958A (en
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2018056675A priority Critical patent/JP7119480B2/en
Publication of JP2019168958A publication Critical patent/JP2019168958A/en
Application granted granted Critical
Publication of JP7119480B2 publication Critical patent/JP7119480B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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, Patent Literature 1 describes a method for stably managing application operations in a system. The method described in Patent Document 1 hooks an API (Application Programming Interface) function required when an application is started, and outputs the contents of the call stack for that API function. Then, the contents of the output call stack are retrieved and confirmed in a stack database that stores the contents of the call stacks of various API functions.

なお、特許文献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 Patent Document 2 captures an operation request from a process or OS to a computer resource before accessing the computer resource, and determines whether or not there is access authority to the computer resource specified by the captured operation request. judge.

特表2010-509654号公報Japanese Patent Publication No. 2010-509654 特開2003-044297号公報JP-A-2003-044297

しかし、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.

本発明によるアプリケーション実行権限管理装置の一実施形態の構成例を示すブロック図である。1 is a block diagram showing a configuration example of an embodiment of an application execution authority management device according to the present invention; FIG. アプリケーション実行権限管理装置の動作例を示す説明図である。FIG. 4 is an explanatory diagram showing an operation example of an application execution authority management device; アプリ管理テーブルの例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of an application management table; 連携アプリ管理テーブルの例を示す説明図である。FIG. 10 is an explanatory diagram showing an example of a linked application management table; 実行権限管理テーブルの例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of an execution authority management table; アプリケーション実行権限管理装置の動作例を示すフローチャートである。5 is a flow chart showing an operation example of an application execution authority management device; アプリケーション実行権限管理装置の動作例を示すフローチャートである。5 is a flow chart showing an operation example of an application execution authority management device; 本発明によるアプリケーション実行権限管理装置の概要を示すブロック図である。1 is a block diagram showing an overview of an application execution authority management device according to the present invention; FIG. アプリケーションが連携して動作を行う場合の例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of a case where applications operate in cooperation; 複数のアプリケーションが連携して動作を行う場合の例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of a case where a plurality of applications operate in cooperation;

以下、本発明の実施形態を図面を参照して説明する。本発明では、アプリケーション単体だけではなく、連携するアプリケーションも含めて、正しく権限管理を行いユーザへ通知する手法を提案する。この手法を実現するため、アプリケーション単体の実行権限を管理する仕組みと、連携するアプリケーションを検出する仕組みとを組み合わせる。すなわち、アプリケーション単体の実行権限と連携するアプリケーションの実行権限とをまとめて、アプリケーションの実行権限として管理する。 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 authority management device 100 of this embodiment includes a simple application analysis unit 1, a simple analysis result storage unit 2, an application analysis unit 3, an application information acquisition unit 4, and an analysis/acquisition result storage unit 5. It includes an application detection unit 6 , a cooperative application storage unit 7 , an application authority determination unit 8 , an execution authority notification unit 9 , an execution authority storage unit 10 , an execution authority control unit 11 and a storage unit 12 .

アプリケーション実行権限管理装置100は、APIフックにより、OSとアプリケーションとの間の処理に介入し、動作する。本実施形態のアプリケーション実行権限管理装置100では、アプリケーションの起動をトリガにアプリケーション簡易分析部1の処理が開始される。また、アプリケーションからの各APIの呼び出しをトリガにアプリケーション分析部3の処理が開始される。 The application execution authority management device 100 operates by intervening in the processing between the OS and the application through API hooks. In the application execution authority management device 100 of this embodiment, the processing of the simple application analysis unit 1 is started with the activation of the application as a trigger. In addition, the processing of the application analysis unit 3 is started with the call of each API from the application as a trigger.

図2は、本実施形態のアプリケーション実行権限管理装置100の動作例を示す説明図である。図2に例示するように、アプリケーションAP-AとアプリケーションAP-Bとが連携して処理を実行する。 FIG. 2 is an explanatory diagram showing an operation example of the application execution authority management device 100 of this embodiment. As illustrated in FIG. 2, application AP-A and application AP-B cooperate to execute processing.

上述するように、本実施形態では、アプリケーション実行権限管理装置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 authority management device 100 intervenes between the OS and the application to analyze the APIs used by the application. From the analysis results, the application permissions (file access, network access, etc.) of the application are confirmed. Further, the application execution authority management device 100 detects the application AP-B that cooperates with the application AP-A, and determines that the "app authority of the application AP-A alone" and the "application authority of the application AP-B that cooperates with the application AP-A" are determined. authority", and the combined authority is stored as "execution authority of application AP-A" (step S101 in FIG. 2).

その後、アプリケーション実行権限管理装置100は、生成したアプリケーションAP-Aの実行権限をユーザへ通知し、ユーザによる許可または禁止の選択を受け付ける。実行権限に変更があれば、アプリケーション実行権限管理装置100は、再度利用者に通知を行う。利用者が「許可」を選択した場合、アプリケーション実行権限管理装置100は、処理を継続し、「禁止」を選択した場合、処理を実行しない(図2におけるステップS102)。 After that, the application execution authority management device 100 notifies the user of the execution authority of the generated application AP-A, and accepts the user's selection of permission or prohibition. If there is a change in execution authority, the application execution authority management device 100 notifies the user again. If the user selects "permit", the application execution authority management device 100 continues the process, and if the user selects "prohibit", does not execute the process (step S102 in FIG. 2).

以下、アプリケーション実行権限管理装置100が備える各構成の動作を説明する。 The operation of each component included in the application execution authority management device 100 will be described below.

記憶部12は、アプリケーション実行権限管理装置100が処理を行うために必要な各種情報を記憶する。なお、記憶部12が記憶する内容は後述される。記憶部12は、例えば、磁気ディスク等により実現される。 The storage unit 12 stores various information necessary for the application execution authority management device 100 to perform processing. The contents stored in the storage unit 12 will be described later. The storage unit 12 is implemented by, for example, a magnetic disk or the like.

アプリケーション簡易分析部1は、アプリケーションが必要とするアプリ権限を決定する。具体的には、アプリケーション簡易分析部1は、アプリケーションの起動を検知すると、そのアプリケーションがロードするAPIの一覧を作成する。そして、アプリケーション簡易分析部1は、予め決められたルールに基づき、作成されたAPIの一覧から、起動したアプリケーションが必要なアプリ権限を決定する。 The simple application analysis unit 1 determines application authority required by the application. Specifically, when the simple application analysis unit 1 detects the activation of an application, it creates a list of APIs to be loaded by the application. Then, the simple application analysis unit 1 determines the application authority required by the started application from the created list of APIs based on a predetermined rule.

予め決められたルールとして、例えば、「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 result storage unit 2 stores the application authority determined by the simple application analysis unit 1 in the application management table of the storage unit 12 in association with the application.

アプリケーション分析部3は、アプリケーションが必要とするアプリ権限を決定する。具体的には、アプリケーション分析部3は、予め決められたルールに基づき、実行されたAPIからアプリケーションが必要とするアプリ権限を決定する。 The application analysis unit 3 determines application authority required by the application. Specifically, the application analysis unit 3 determines the application authority required by the application from the executed API based on a predetermined rule.

予め決められたルールとして、例えば、「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 application analysis unit 3 determines whether the executed API is an API for manipulating a shared memory or a NamedPipe. If the executed API is an API that operates a shared memory or a NamedPipe, further processing by the application information acquisition unit 4 is performed.

共有メモリを操作する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 information acquisition unit 4 acquires information about the name and direction (that is, read or write) of the shared memory or NamedPipe from the executed API. The application information acquisition unit 4 may, for example, acquire the name and direction of the NamedPipe from the information of the API called by the application (API name, argument values, etc.).

分析/取得結果保存部5は、アプリケーション分析部3が決定したアプリ権限をアプリ管理テーブルに登録する。また、分析/取得結果保存部5は、アプリケーション分析部3が決定したアプリ権限とともに、アプリケーション情報取得部4が取得した情報を対応付けてアプリ管理テーブルに登録する。 The analysis/acquisition result storage unit 5 registers the application authority determined by the application analysis unit 3 in the application management table. Further, the analysis/acquisition result storage unit 5 associates the information acquired by the application information acquisition unit 4 with the application authority determined by the application analysis unit 3 and registers them in the application management table.

図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 application detection unit 6 detects an application that cooperates with the activated application (hereinafter referred to as a cooperative application) based on predetermined rules based on the information in the application management table and the executed API. Specifically, the cooperative application detection unit 6 detects at least one of an application that exists in the same folder as the started application, an application that is called by the started application, and an application that communicates with the started application. detected as a federated application. In the following description, communication between applications is referred to as interprocess communication. Note that the following rule is exemplified as the predetermined rule.

第一のルールの例として、「アプリケーションが同じフォルダに格納されているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部6は、アプリケーションの実行フォルダを取得し、同フォルダ配下のexeファイルを全て列挙し、連携アプリケーションとして検出してもよい。 An example of the first rule is "whether applications are stored in the same folder". For this rule, the cooperative application detection unit 6 may acquire the execution folder of the application, enumerate all the exe files under the same folder, and detect it as a cooperative application.

第二のルールの例として、「プロセスから別のプロセスが起動されているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部6は、CreateProcess APIから、該当のexeファイルを列挙し、連携アプリケーションとして検出してもよい。 An example of the second rule is "whether another process is started from the process". For this rule, the cooperative application detection unit 6 may list corresponding exe files from the CreateProcess API and detect them as cooperative applications.

第三のルールの例として、「ウィンドウメッセージに関してプロセス間通信が行われているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部6は、SendMessage APIから、該当のウィンドウハンドルを持つexeファイルを列挙し、連携アプリケーションとして検出してもよい。 An example of a third rule is "whether there is interprocess communication for window messages". For this rule, the cooperative application detection unit 6 may list exe files having the corresponding window handle from the SendMessage API and detect them as cooperative applications.

第四のルールの例として、「共有メモリに関してプロセス間通信が行われているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部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 application detection unit 6 may list exe files that use the matching shared memory name from the application management table and detect them as cooperative applications. In this case, considering the usage direction of the shared memory, the cooperative application detection unit 6 may determine that the application is the cooperative source application if it is writing, and that it is the cooperative destination application if it is only reading. .

第五のルールの例として、「名前付きパイプに関してプロセス間通信が行われているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部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 application detection unit 6 may list exe files that use the matching NamedPipe name from the application management table and detect them as cooperative applications. In this case, considering the usage direction of the NamedPipe, the linked application detection unit 6 may determine that the application is the source application when writing, and the destination application when reading only.

第六のルールの例として、「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 application detection unit 6 may list exe files having the corresponding CLSID from the CoCreateInstance API and detect them as cooperative applications.

なお、以上のルールは例示であり、これらの内容に限定されない。アプリケーションの通信や呼出し、格納場所に関する他のルールが決められていてもよい。 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 application storage unit 7 registers the linked application detected by the linked application detection unit 6 in the linked application management table of the storage unit 12 . FIG. 4 is an explanatory diagram showing an example of a cooperative application management table. The linked application management table illustrated in FIG. 4 indicates that the linked application and the linked destination application are stored in association with each other.

アプリケーション権限決定部8は、連携アプリ管理テーブルに保存されたデータから連携アプリケーションを取得し、アプリ管理テーブルから各アプリケーションのアプリ権限を取得する。そして、アプリケーション権限決定部8は、起動されたアプリケーションのアプリ権限と、連携アプリケーションのアプリ権限とに基づいて、起動されたアプリケーションの実行権限を決定する。具体的には、アプリケーション権限決定部8は、起動されたアプリケーションがもともと有していたアプリ権限に連携アプリケーションのアプリ権限を加えた権限を、起動されたアプリケーションの実行権限と決定する。 The application authority determination unit 8 acquires the cooperative application from the data stored in the cooperative application management table, and acquires the application authority of each application from the application management table. Then, the application authority determination unit 8 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. Specifically, the application authority determination unit 8 determines the authority obtained by adding the application authority of the cooperative application to the application authority originally possessed by the activated application as the execution authority of the activated application.

実行権限通知部9は、アプリケーション権限決定部8が決定した実行権限をユーザに通知し、その実行権限の許可または禁止についての回答を受信する。具体的には、実行権限通知部9は、アプリケーション権限決定部8が決定した権限をアプリケーションが必要とする実行権限とし、「アプリケーションの情報」および「実行権限」をユーザに通知する。そして、実行権限通知部9は、実行権限の許可または禁止についての回答をユーザから取得する。通知するアプリケーションの情報は、例えば、連携元アプリケーションおよび連携先アプリケーションの内容である。 The execution authority notifying section 9 notifies the user of the execution authority determined by the application authority determining section 8, and receives a response regarding permission or prohibition of the execution authority. Specifically, the execution authority notification unit 9 sets the authority determined by the application authority determination unit 8 as the execution authority required by the application, and notifies the user of the "application information" and the "execution authority". Then, the execution authority notifying section 9 obtains an answer about the permission or prohibition of the execution authority from the user. The information of the application to be notified is, for example, the contents of the cooperation source application and the cooperation destination application.

例えば、連携元アプリケーション名が“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 authority notification unit 9 may notify the user of the execution authority for AP1 alone and the execution authority in combination with the cooperative application AP2, and may receive a response regarding permission or prohibition of the execution authority.

実行権限保存部10は、ユーザから取得した実行権限の許可または禁止についての回答を、記憶部12の実行権限管理テーブルに登録する。図5は、実行権限管理テーブルの例を示す説明図である。図5に例示する実行権限管理テーブルは、上述する実行権限について、AP1単体での実行権限については許可され、連携アプリケーションAP2と組み合わせた実行権限については禁止されたことを示す。 The execution authority storage unit 10 registers the response about permission or prohibition of the execution authority acquired from the user in the execution authority management table of the storage unit 12 . FIG. 5 is an explanatory diagram showing an example of an execution authority management table. The execution authority management table exemplified in FIG. 5 indicates that execution authority for AP1 alone is permitted, and execution authority for combination with cooperative application AP2 is prohibited.

なお、実行権限通知部9は、実行権限管理テーブルを参照し、すでに許可または禁止が通知された実行権限について、再度ユーザに通知しなくてもよい。具体的には、実行権限通知部9は、連携先アプリケーションの情報を組み合わせて、実行権限が既に通知済みか否か判断してもよい。 Note that the execution authority notification unit 9 does not have to refer to the execution authority management table and notify the user again of the execution authority for which permission or prohibition has already been notified. Specifically, the execution authority notification unit 9 may combine the information of the cooperation destination application and determine whether or not the execution authority has already been notified.

実行権限制御部11は、実行権限管理テーブルの情報に基づき、APIの処理を実行するか、停止するか制御する。実行権限制御部11は、例えば、起動したアプリケーションの処理が禁止されている場合、フックしたAPI内部で、オリジナルAPIを実行せず、エラーを返却することで実行を禁止してもよい。また、連携プロセス(連携アプリケーション)の処理が禁止されている場合、実行権限制御部11は、連携プロセスの起動またはプロセス間通信を禁止してもよい。この場合も、実行権限制御部11は、APIフックを行うことで上記と同様に実現してもよいし、連携先プロセスのAPIをフックして、制御を行ってもよい。 The execution authority control unit 11 controls whether to execute or stop API processing based on the information in the execution authority management table. For example, when the processing of the activated application is prohibited, the execution authority control unit 11 may prohibit execution by returning an error without executing the original API inside the hooked API. Further, when the processing of the cooperative process (cooperative application) is prohibited, the execution authority control unit 11 may prohibit activation of the cooperative process or inter-process communication. In this case as well, the execution authority control unit 11 may perform API hooking in the same manner as described above, or hook the API of the cooperation destination process to perform control.

アプリケーション簡易分析部1と、簡易分析結果保存部2と、アプリケーション分析部3と、アプリケーション情報取得部4と、分析/取得結果保存部5と、連携アプリケーション検出部6と、連携アプリケーション保存部7と、アプリケーション権限決定部8と、実行権限通知部9と、実行権限保存部10と、実行権限制御部11とは、プログラム(アプリケーション実行権限管理プログラム)に従って動作するコンピュータのCPUによって実現される。 Simple application analysis unit 1, simple analysis result storage unit 2, application analysis unit 3, application information acquisition unit 4, analysis/acquisition result storage unit 5, cooperative application detection unit 6, and cooperative application storage unit 7 , the application authority determination unit 8, the execution authority notification unit 9, the execution authority storage unit 10, and the execution authority control unit 11 are implemented by a CPU of a computer that operates according to a program (application execution authority management program).

例えば、プログラムは、アプリケーション実行権限管理装置100の記憶部12に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、アプリケーション簡易分析部1、簡易分析結果保存部2、アプリケーション分析部3、アプリケーション情報取得部4、分析/取得結果保存部5、連携アプリケーション検出部6、連携アプリケーション保存部7、アプリケーション権限決定部8、実行権限通知部9、実行権限保存部10および実行権限制御部11として動作してもよい。 For example, the program is stored in the storage unit 12 of the application execution authority management device 100, the CPU reads the program, and according to the program, the simple application analysis unit 1, the simple analysis result storage unit 2, the application analysis unit 3, and the application information It operates as an acquisition unit 4, an analysis/acquisition result storage unit 5, a cooperative application detection unit 6, a cooperative application storage unit 7, an application authority determination unit 8, an execution authority notification unit 9, an execution authority storage unit 10, and an execution authority control unit 11. may

また、アプリケーション簡易分析部1と、簡易分析結果保存部2と、アプリケーション分析部3と、アプリケーション情報取得部4と、分析/取得結果保存部5と、連携アプリケーション検出部6と、連携アプリケーション保存部7と、アプリケーション権限決定部8と、実行権限通知部9と、実行権限保存部10と、実行権限制御部11とは、それぞれが専用のハードウェアで実現されていてもよい。 In addition, simple application analysis unit 1, simple analysis result storage unit 2, application analysis unit 3, application information acquisition unit 4, analysis/acquisition result storage unit 5, cooperative application detection unit 6, and cooperative application storage unit 7, the application authority determination unit 8, the execution authority notification unit 9, the execution authority storage unit 10, and the execution authority control unit 11 may each be realized by dedicated hardware.

次に、本実施形態のアプリケーション実行権限管理装置100の動作を説明する。図6および図7は、本実施形態のアプリケーション実行権限管理装置100の動作例を示すフローチャートである。 Next, the operation of the application execution authority management device 100 of this embodiment will be described. 6 and 7 are flowcharts showing an operation example of the application execution authority management device 100 of this embodiment.

アプリケーション実行権限管理装置100は、アプリケーションの起動をトリガに図6に例示する処理を開始する。また、アプリケーション実行権限管理装置100は、アプリケーションから各APIが呼び出されたことをトリガに、図7に例示する処理を開始する。 The application execution authority management device 100 starts the processing illustrated in FIG. 6 with activation of the application as a trigger. Further, the application execution authority management device 100 starts the processing illustrated in FIG. 7 triggered by each API being called from the application.

アプリケーション簡易分析部1は、アプリケーション単体のアプリ権限を取得する(図6におけるステップS1)。具体的には、アプリケーション簡易分析部1は、アプリケーションがロードしているAPIの一覧を作成し、予め決められたルールに基づき、アプリケーションが必要とするアプリ権限を決定する。 The simple application analysis unit 1 acquires the application authority of the single application (step S1 in FIG. 6). Specifically, the simple application analysis unit 1 creates a list of APIs loaded by the application, and determines the application authority required by the application based on predetermined rules.

簡易分析結果保存部2は、アプリケーション単体のアプリ権限を保存する(ステップS2)。具体的には、簡易分析結果保存部2は、決定したアプリ権限の情報をアプリ管理テーブルに保存し、処理を終了する。なお、アプリケーションの起動後は、APIフックされた各APIの実行をトリガに図7に例示する処理が開始される。 The simple analysis result storage unit 2 stores the application authority of the application itself (step S2). Specifically, the simple analysis result storage unit 2 stores the determined application authority information in the application management table, and ends the process. After the application is started, the processing illustrated in FIG. 7 is started with the execution of each API hooked as a trigger.

アプリケーション分析部3は、アプリケーション単体のアプリ権限を取得する(ステップS3)。具体的には、アプリケーション分析部3は、アプリケーションが呼び出したAPIの情報(API名や引数の値)を利用し、予め決められたルールに基づき、アプリケーションが必要とするアプリ権限を決定する。 The application analysis unit 3 acquires the application authority of the single application (step S3). Specifically, the application analysis unit 3 uses information (API name and argument values) of the API called by the application, and determines the application authority required by the application based on predetermined rules.

また、アプリケーション分析部3は、実行されたAPIが共有メモリまたはNamedPipeを操作するAPIか否か判断する(ステップSp1)。実行されたAPIが共有メモリまたはNamedPipeを操作するAPIの場合(ステップSp1におけるYes)、アプリケーション情報取得部4は、アプリケーションの情報を取得する(ステップS4)。具体的には、アプリケーション情報取得部4は、アプリケーションが呼び出したAPIの情報(API名や引数の値)を利用し、共有メモリやNamedPipeの名前と方向(読み取り/書き込み)に関する情報を取得する。一方、実行されたAPIが共有メモリまたはNamedPipeを操作するAPIでない場合(ステップSp1におけるNo)、ステップS5の処理に進む。 The application analysis unit 3 also determines whether or not the executed API is an API for manipulating a shared memory or a NamedPipe (step Sp1). If the executed API is an API that operates a shared memory or a NamedPipe (Yes in step Sp1), the application information acquisition unit 4 acquires application information (step S4). Specifically, the application information acquisition unit 4 uses information (API name and argument values) of the API called by the application to acquire information about the name and direction (read/write) of the shared memory and NamedPipe. On the other hand, if the executed API does not operate the shared memory or the NamedPipe (No in step Sp1), the process proceeds to step S5.

分析/取得結果保存部5は、アプリケーション単体のアプリ権限および情報を保存する(ステップS5)。具体的には、分析/取得結果保存部5は、決定されたアプリ権限および情報をアプリ管理テーブルに保存する。 The analysis/acquisition result storage unit 5 stores the application authority and information for each application (step S5). Specifically, the analysis/acquisition result storage unit 5 stores the determined application authority and information in the application management table.

連携アプリケーション検出部6は、連携アプリケーションを検出する(ステップS6)。具体的には、連携アプリケーション検出部6は、アプリ管理テーブルの情報と実行されたAPIの情報(API名や引数の値)から予め決められたルールに基づき、連携アプリケーションを検出する。 The cooperative application detection unit 6 detects the cooperative application (step S6). Specifically, the cooperative application detection unit 6 detects a cooperative application based on a predetermined rule based on the information in the application management table and the information on the executed API (API name and argument values).

連携アプリケーション保存部7は、連携アプリケーションの情報を保存する(ステップS7)。具体的には、連携アプリケーション保存部7は、検出された連携アプリケーションの情報を連携アプリ管理テーブルに保存する。 The cooperative application storage unit 7 stores the information of the cooperative application (step S7). Specifically, the cooperative application storage unit 7 stores information on the detected cooperative application in the cooperative application management table.

アプリケーション権限決定部8は、アプリケーションの実行権限を決定する(ステップS8)。具体的には、アプリケーション権限決定部8は、アプリ管理テーブルに保存されたデータからアプリケーション単体のアプリ権限を第一のアプリ権限として取得する。また、アプリケーション権限決定部8は、連携アプリ管理テーブルに保存されたデータから連携アプリケーションを取得し、アプリ管理テーブルから各連携アプリケーションのアプリ権限を第二のアプリ権限として取得する。そして、アプリケーション権限決定部8は、第一のアプリ権限および第二のアプリ権限から、アプリケーションの実行権限を決定する。 The application authority determination unit 8 determines the execution authority of the application (step S8). Specifically, the application authority determination unit 8 acquires the application authority of the single application as the first application authority from the data stored in the application management table. Further, the application authority determining unit 8 acquires the cooperative application from the data stored in the cooperative application management table, and acquires the application authority of each cooperative application from the application management table as the second application authority. Then, the application authority determination unit 8 determines application execution authority from the first application authority and the second application authority.

実行権限通知部9は、未確認の権限が存在するか否か判断する(ステップSp2)。具体的には、実行権限通知部9は、実行権限管理テーブルからアプリケーションの実行権限の許可状況を取得し、取得したデータとステップS8で決定されたアプリケーションの実行権限と比較して、ユーザに通知していない実行権限が存在するか否か判断する。未確認の権限が存在する場合(ステップSp2におけるYes)、実行権限通知部9は、確認画面を表示し(ステップS9)、ユーザの回答を受け付ける。一方、未確認の権限が存在しない場合(ステップSp2におけるNo)、ステップS11の処理に進む。 The execution authority notification unit 9 determines whether or not there is an unconfirmed authority (step Sp2). Specifically, the execution authority notification unit 9 acquires the permission status of the application execution authority from the execution authority management table, compares the acquired data with the application execution authority determined in step S8, and notifies the user. It is determined whether or not there is an execution authority that does not exist. If there is an unconfirmed authority (Yes in step Sp2), the execution authority notification unit 9 displays a confirmation screen (step S9) and accepts the user's answer. On the other hand, if there is no unconfirmed authority (No in step Sp2), the process proceeds to step S11.

実行権限保存部10は、確認結果を保存する(ステップS10)。具体的には、実行権限保存部10は、ユーザが選択した許可または禁止の結果を実行権限管理テーブルに保存する。 The execution authority saving unit 10 saves the confirmation result (step S10). Specifically, the execution authority storage unit 10 stores the result of permission or prohibition selected by the user in the execution authority management table.

実行権限制御部11は、アプリケーションの動作を制御する(ステップS11)。具体的には、実行権限制御部11は、実行権限管理テーブルからアプリケーションの実行権限の許可状況を取得する。そして、実行権限制御部11は、取得したデータを基に、許可されている場合はアプリケーションの処理実行を継続し、禁止されている場合は、アプリケーションの処理をエラーとする。 The execution authority control unit 11 controls the operation of the application (step S11). Specifically, the execution authority control unit 11 acquires the permission status of the application execution authority from the execution authority management table. Then, based on the acquired data, the execution authority control unit 11 continues the execution of the application process if it is permitted, and makes the application process an error if it is prohibited.

以上のように、本実施形態では、アプリケーション分析部3が、起動されたアプリケーションが利用するAPIを検出して、そのアプリケーションのアプリ権限を分析する。また、連携アプリケーション検出部6が、検出されたAPIに基づいて、起動されたアプリケーションの連携アプリケーションを検出する。そして、アプリケーション権限決定部8が、起動されたアプリケーションのアプリ権限と、連携アプリケーションのアプリ権限とに基づいて、起動されたアプリケーションの実行権限を決定し、実行権限通知部9が、決定した実行権限をユーザに通知する。よって、連携するアプリケーションの実行権限をユーザが適切に管理できる。 As described above, in this embodiment, the application analysis unit 3 detects the API used by the activated application and analyzes the application authority of the application. Further, the cooperative application detection unit 6 detects the cooperative application of the activated application based on the detected API. Then, the application authority determination unit 8 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 the execution authority notification unit 9 determines the determined execution authority. to the user. Therefore, the user can appropriately manage the execution authority of the cooperating application.

すなわち、本実施形態のアプリケーション実行権限管理装置100を用いることで、アプリケーション単体だけではなく、連携するアプリケーションまで含めて動作を正確に把握し、制御を行うことができる。そのため、ユーザの意図しない悪意のある動作からユーザを保護し、セキュリティを強化することが可能になる。 In other words, by using the application execution authority management device 100 of the present embodiment, it is possible to accurately grasp and control the operation of not only individual applications but also cooperating applications. Therefore, it is possible to protect the user from malicious actions unintended by the user and enhance security.

例えば、図9に示す例の場合、本実施形態のアプリケーション実行権限管理装置100を用いることで、ユーザが、「アプリケーションAP-A1がファイルアクセスとネットワークアクセスを行うアプリケーションである」と判断することが可能になる。そのため、例えば、アプリケーションAP-A1がファイルにアクセスし、外部へデータを送信する可能性のあるアプリケーションであるとして、適切に権限管理することが可能になる。 For example, in the case of the example shown in FIG. 9, by using the application execution authority management device 100 of the present embodiment, the user can determine that "application AP-A1 is an application that performs file access and network access." be possible. Therefore, for example, the application AP-A1 can access a file and can be appropriately managed as an application that may transmit data to the outside.

また、例えば、図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 authority management device 100 of the present embodiment, the user permits the communication of the application AP-C when the application AP-A2 cooperates, and the application Communication of application AP-C when AP-B2 is linked can be prohibited.

次に、本発明の概要を説明する。図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 authority determination unit 83 may determine the 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.

また、アプリ権限分析部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 authority analysis unit 81 acquires information on the name and direction of the shared memory or NamedPipe from the executed API, and the cooperative application detection unit 82 A cooperative application may be detected using the acquired information. With such a configuration, it becomes possible to detect a cooperative application more appropriately.

また、連携アプリケーション検出部82は、起動されたアプリケーションと同じフォルダ内に存在するアプリケーション、起動されたアプリケーションが呼び出す先のアプリケーション、および、起動されたアプリケーションと通信が行われるアプリケーションの少なくとも一つを連携アプリケーションとして検出してもよい。 In addition, the linked application detection unit 82 links at least one of an application existing in the same folder as the started application, an application called by the started application, and an application communicating with the started application. It can be detected as an application.

また、アプリケーション実行権限管理装置80は、検出されたAPIの処理を制御する制御部(例えば、実行権限制御部11)を備えていてもよい。そして、通知部84は、通知した実行権限に対するユーザからの回答を受信し、制御部は、受信した回答に応じてAPIの処理を制御してもよい。 Further, the application execution authority management device 80 may include a control unit (for example, the execution authority control unit 11) that controls processing of the detected API. Then, the notification unit 84 may receive a response from the user regarding the notified execution authority, and the control unit may control API processing according to the received response.

また、通知部84は、決定された実行権限が、すでにユーザに通知済みの実行権限である場合、その実行権限の通知を抑制してもよい。そのような構成によれば、ユーザの確認負担を低減できる。 Further, if the determined execution authority is already notified to the user, the notification unit 84 may suppress notification of the execution authority. According to such a configuration, it is possible to reduce the confirmation burden on the user.

具体的には、通知部84は、受信したユーザからの回答を通知した実行権限と対応付けて記憶部に記憶させ、記憶部に記憶された内容に基づいて、ユーザに通知済みか否か判断してもよい。 Specifically, the notification unit 84 associates the received answer from the user with the notified execution authority and stores it in the storage unit, and determines whether or not the user has been notified based on the content stored in the storage unit. You may

1 アプリケーション簡易分析部
2 簡易分析結果保存部
3 アプリケーション分析部
4 アプリケーション情報取得部
5 分析/取得結果保存部
6 連携アプリケーション検出部
7 連携アプリケーション保存部
8 アプリケーション権限決定部
9 実行権限通知部
10 実行権限保存部
11 実行権限制御部
12 記憶部
100 アプリケーション実行権限管理装置
1 simple application analysis unit 2 simple analysis result storage unit 3 application analysis unit 4 application information acquisition unit 5 analysis/acquisition result storage unit 6 cooperative application detection unit 7 cooperative application storage unit 8 application authority determination unit 9 execution authority notification unit 10 execution authority Storage unit 11 Execution authority control unit 12 Storage unit 100 Application execution authority management device

Claims (9)

起動されたアプリケーションが利用するAPIを検出して、検出されたAPIを実行するために当該アプリケーション単体で必要とする権限であるアプリ権限を分析するアプリ権限分析部と、
検出された前記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.
アプリ権限分析部は、起動されたアプリケーションが利用するAPI共有メモリまたはNamedPipeを操作するAPIの場合、当該APIから共有メモリまたはNamedPipe名および方向に関する情報を取得し、
連携アプリケーション検出部は、取得された前記情報を用いて連携アプリケーションを検出する
請求項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の処理を制御する制御部を備え、
通知部は、通知した実行権限に対するユーザからの回答を受信し、
前記制御部は、受信した回答に応じて前記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を検出して、検出されたAPIを実行するために当該アプリケーション単体で必要とする権限であるアプリ権限を分析し、
検出された前記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.
JP2018056675A 2018-03-23 2018-03-23 Application execution authority management device, method and program Active JP7119480B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
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
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
JP2007140798A (en) Information leakage prevention system for computer
US20160004859A1 (en) Method and system for platform and user application security on a device
US20140230012A1 (en) Systems, methods, and media for policy-based monitoring and controlling of applications
CN114651253A (en) Virtual environment type verification for policy enforcement
US11636219B2 (en) System, method, and apparatus for enhanced whitelisting
JP2023534502A (en) Advanced ransomware detection
JP2018124893A (en) Computer system and file access controlling method
JP2010097550A (en) Virus prevention program, storage device detachable from computer, and virus prevention method
JP5955475B1 (en) Program, information processing apparatus, and information processing method
JP7119480B2 (en) Application execution authority management device, method and program
EP2881883B1 (en) System and method for reducing load on an operating system when executing antivirus operations
US20230038774A1 (en) System, Method, and Apparatus for Smart Whitelisting/Blacklisting
US20240152610A1 (en) Methods and systems for detecting and blocking malicious actions in operating system
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
Salehi et al. Welcome to Binder: A kernel level attack model for the Binder in Android operating system
JP5392494B2 (en) File check device, file check program, and file check method
KR101585968B1 (en) Apparatus for detecting a web shell and method for controlling function execution using the same

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