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

Application execution authority management device, method, and program Download PDF

Info

Publication number
JP2019168958A
JP2019168958A JP2018056675A JP2018056675A JP2019168958A JP 2019168958 A JP2019168958 A JP 2019168958A JP 2018056675 A JP2018056675 A JP 2018056675A JP 2018056675 A JP2018056675 A JP 2018056675A JP 2019168958 A JP2019168958 A JP 2019168958A
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.)
Granted
Application number
JP2018056675A
Other languages
Japanese (ja)
Other versions
JP7119480B2 (en
Inventor
匠 廣田
Takumi Hirota
匠 廣田
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)

Abstract

To provide an application execution authority management device that allows users to appropriately manage the execution authority of cooperative applications.SOLUTION: An application authority analysis unit 81 detects an API to be used by an activated application and analyzes an application authority that is an authority required for the application alone. A cooperative application detection unit 82 detects a cooperative application being an application that cooperates with the activated application, based on the detected API. An execution authority determination unit 83 determines an execution authority of the activated application based on the application authority of the activated application and the application authority of the cooperative application. A notification unit 84 notifies a user of the determined execution authority.SELECTED DRAWING: Figure 8

Description

本発明は、アプリケーションの実行権限を管理するアプリケーション実行権限管理装置、アプリケーション実行権限管理方法およびアプリケーション実行権限管理プログラムに関する。   The present invention relates to an application execution authority management apparatus, an application execution authority management method, and an application execution authority management program that manage application execution authority.

ウィルス(標的型攻撃、ランサムウェアなど)によって機密情報が盗まれ外部へ流出したり、破壊されたりするセキュリティ事件が後を絶たない。情報処理推進機構が発表した「情報セキュリティ10大脅威 2016」でも、「第2位 標的型攻撃による情報流出」、「第3位 ランサムウェアを使った詐欺・恐喝」が選出されていることからも明白である。   There are many security incidents where confidential information is stolen and leaked out or destroyed by viruses (targeted attacks, ransomware, etc.). In the “Information Security 10 Major Threats 2016” announced by the Information Processing Promotion Organization, “No. 2 information leaks due to targeted attacks” and “No. 3 fraud / depression using ransomware” were selected. It is obvious.

ウィルスがコンピュータに侵入してしまっても、ウィルスの動作を制限できれば被害の発生を防ぐことが可能である。しかし、実際にはウィルスは動作を制限されることなく処理を実行してしまう。これは、ウィルスなどのアプリケーションが実行しようとする処理の権限管理ができておらず、利用者の意図しない処理(ファイルアクセスやネットワークアクセスなど)を行ってしまうことがその要因である。そのため、コンピュータ上で動作するアプリケーションが利用者の意図した処理だけを行えるよう、アプリケーションが実行可能な権限管理を行うことが必要になる。   Even if a virus invades a computer, damage can be prevented if the virus operation can be restricted. However, in practice, the virus performs processing without being restricted in operation. This is because the authority of the process to be executed by an application such as a virus cannot be managed, and the process (file access, network access, etc.) unintended by the user is performed. Therefore, it is necessary to perform authority management that allows the application to execute so that the application running on the computer can perform only the process intended by the user.

アプリケーションの実行権限を管理する一つの方法として、OS(オペレーションシステム)レベルで管理する方法が挙げられる。具体的には、アプリケーション開発者に対して予め利用権限を宣言することを強制する。そして、実際にアプリケーションが権限を要求したタイミングで利用者に通知を行うことで、利用者が許可または禁止を選択する。   One method of managing the execution authority of an application is a method of managing at an OS (operation system) level. Specifically, the application developer is forced to declare usage rights in advance. Then, the user selects permission or prohibition by notifying the user at the timing when the application actually requests authority.

他にも、アプリケーションの実行権限を管理する方法として、アプリケーション単体での権限を制御する方法が知られている。例えば、特許文献1には、システムにおけるアプリケーションの動作を安定的に管理する方法が記載されている。特許文献1に記載された方法では、アプリケーションの起動時に要求されるAPI(Application Programming Interface :アプリケーションプログラミングインタフェース)関数をフックし、そのAPI関数に対するコールスタックの内容を出力する。そして、出力されたコールスタックの内容は、各種API関数のコールスタックの内容を格納するスタック・データベースにおいて検索および確認される。   In addition, as a method for managing the execution authority of the application, a method of controlling the authority of the application alone is known. For example, Patent Document 1 describes a method for stably managing the operation of an application in a system. In the method described in Patent Document 1, an API (Application Programming Interface) function required at the time of starting an application is hooked, and the contents of a call stack corresponding to the API function are output. Then, the contents of the output call stack are searched and confirmed in a stack database storing the call stack contents of various API functions.

なお、特許文献2には、アクセス権限のないユーザに対するリソースの操作を制限する方法が記載されている。特許文献2に記載された方法では、コンピュータリソースに対するプロセスまたはOSからの操作要求をコンピュータリソースにアクセスする前に捕捉し、捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かを判定する。   Note that Patent Document 2 describes a method of restricting resource operations for a user without access authority. In the method described in Patent Document 2, a process request for a computer resource or an operation request from an OS is captured before accessing the computer resource, and whether or not there is an access right to the computer resource specified by the captured operation request. judge.

特表2010−509654号公報Special table 2010-509654 特開2003−044297号公報JP 2003-044297 A

しかし、OSレベルで管理する方法では、対策が取られていないOSでは実現できないという問題がある。一方、アプリケーション単体で実行権限の制御を行う場合、上述するOSでの問題は生じない。しかし、アプリケーション単体で実行権限の制御を行う場合、複数のアプリケーションが連携して行われる動作に対して、適切に制御が行えないという問題がある。   However, the management method at the OS level has a problem that it cannot be realized by an OS for which no countermeasure is taken. On the other hand, when the execution authority is controlled by a single application, there is no problem with the OS described above. However, when execution authority is controlled by an application alone, there is a problem in that it is not possible to appropriately control operations performed in cooperation with a plurality of applications.

以下、具体例を用いて、上記問題について説明する。図9は、2つのアプリケーションが連携して動作を行う場合の例を示す説明図である。例えば、図9に例示するアプリケーションAP−A1は、ファイルアクセスを行い、アプリケーションAP−B1は、ネットワークアクセスを行うものとする。この場合、ユーザは、「アプリケーションAP−A1は、ファイルアクセスを行うアプリケーションである」、「アプリケーションAP−B1は、ネットワークアクセスを行うアプリケーションである」としか判断できない。そのため、ユーザは、例えば、ファイルアクセスだけなら許可、ネットワークアクセスだけなら許可と判断し、アプリケーションAP−A1およびアプリケーションAP−B1に対して権限を与えてしまう可能性がある。   Hereinafter, the above problem will be described using specific examples. FIG. 9 is an explanatory diagram illustrating an example in which two applications operate in cooperation. For example, the application AP-A1 illustrated in FIG. 9 performs file access, and the application AP-B1 performs network access. In this case, the user can only determine that “application AP-A1 is an application that performs file access” and “application AP-B1 is an application that performs network access”. Therefore, for example, the user may determine that permission is given only for file access and permission is granted only for network access, and may give authority to the application AP-A1 and the application AP-B1.

しかし、アプリケーションAP−A1が不正な処理を行うアプリケーションだったとする。このとき、両方のアプリケーションに権限が与えられていると、アプリケーションAP−A1が不正に取得したデータを、アプリケーションAP−B1と連携して、外部へ送信する処理が行われてしまう可能性がある。   However, it is assumed that the application AP-A1 is an application that performs unauthorized processing. At this time, if authority is given to both applications, there is a possibility that processing for transmitting data illegally acquired by the application AP-A1 to the outside in cooperation with the application AP-B1 may be performed. .

図10は、複数のアプリケーションが連携して動作を行う場合の例を示す説明図である。図10に示す例では、アプリケーションAP−A2およびアプリケーションAP−B2が、それぞれ、ファイルアクセスを行い、アプリケーションAP−Cが、ネットワークアクセスを行うものとする。そして、アプリケーションAP−A2およびアプリケーションAP−B2は、いずれもアプリケーションAP−Cと連携しているものとする。また、アプリケーションAP−A2は、正しい処理を行うアプリケーションであり、アプリケーションAP−B2は、不正な処理を行うアプリケーションであるとする。   FIG. 10 is an explanatory diagram illustrating an example in which a plurality of applications operate in cooperation. In the example illustrated in FIG. 10, it is assumed that the application AP-A2 and the application AP-B2 perform file access, and the application AP-C performs network access. The application AP-A2 and the application AP-B2 are both linked to the application AP-C. The application AP-A2 is an application that performs correct processing, and the application AP-B2 is an application that performs unauthorized 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 in units of applications. If an attempt is made to control a network from an unknown application and a setting is made to prohibit network access by the application AP-C, processing from the application AP-A2 that performs correct processing cannot be executed. On the other hand, if setting is made to permit network access by the application AP-C, processing from the application AP-B2 that performs unauthorized processing is permitted.

そこで、本発明は、連携するアプリケーションの実行権限をユーザが適切に管理できるアプリケーション実行権限管理装置、アプリケーション実行権限管理方法およびアプリケーション実行権限管理プログラムを提供することを目的とする。   Accordingly, an object of the present invention is to provide an application execution authority management apparatus, an application execution authority management method, and an application execution authority management program that allow a user to appropriately manage the execution authority of a linked application.

本発明によるアプリケーション実行権限管理装置は、起動されたアプリケーションが利用するAPIを検出して、そのアプリケーション単体で必要とする権限であるアプリ権限を分析するアプリ権限分析部と、検出されたAPIに基づいて、起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出する連携アプリケーション検出部と、起動されたアプリケーションのアプリ権限と、連携アプリケーションのアプリ権限とに基づいて、起動されたアプリケーションの実行権限を決定する実行権限決定部と、決定した実行権限をユーザに通知する通知部とを備えたことを特徴とする。   The application execution authority management apparatus according to the present invention detects an API used by a started application, analyzes an application authority that is an authority required for the application alone, and based on the detected API. Based on the linked application detection unit that detects the linked application that is linked to the started application, the application authority of the started application, and the application permission of the linked application, the execution permission of the started application is set. An execution authority determination unit for determining and a notification unit for notifying the user of the determined execution authority are provided.

本発明によるアプリケーション実行権限管理方法は、起動されたアプリケーションが利用するAPIを検出して、そのアプリケーション単体で必要とする権限であるアプリ権限を分析し、検出されたAPIに基づいて、起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出し、起動されたアプリケーションのアプリ権限と、連携アプリケーションのアプリ権限とに基づいて、起動されたアプリケーションの実行権限を決定し、決定した実行権限をユーザに通知することを特徴とする。   The application execution authority management method according to the present invention detects an API used by an activated application, analyzes an application authority that is necessary for the application alone, and is activated based on the detected API. Detect the linked application that is linked with the application, determine the execution authority of the launched application based on the application authority of the started application and the application authority of the linked application, and give the determined execution authority to the user It is characterized by notifying.

本発明によるアプリケーション実行権限管理プログラムは、コンピュータに、起動されたアプリケーションが利用するAPIを検出して、そのアプリケーション単体で必要とする権限であるアプリ権限を分析するアプリ権限分析処理、検出されたAPIに基づいて、起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出する連携アプリケーション検出処理、起動されたアプリケーションのアプリ権限と、連携アプリケーションのアプリ権限とに基づいて、その起動されたアプリケーションの実行権限を決定する実行権限決定処理、および、決定した実行権限をユーザに通知する通知処理を実行させることを特徴とする。   An application execution authority management program according to the present invention detects an API used by a started application on a computer and analyzes an application authority, which is an authority required for the application alone, and a detected API. Based on the above, a linked application detection process that detects a linked application that is linked to the launched application, the application authority of the launched application, and the execution of the launched application based on the application authority of the linked application An execution authority determining process for determining authority and a notification process for notifying the user of the determined execution authority are executed.

本発明によれば、連携するアプリケーションの実行権限をユーザが適切に管理できる。   According to the present invention, the user can appropriately manage the execution authority of the linked application.

本発明によるアプリケーション実行権限管理装置の一実施形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of one Embodiment of the application execution authority management apparatus by this invention. アプリケーション実行権限管理装置の動作例を示す説明図である。It is explanatory drawing which shows the operation example of an application execution authority management apparatus. アプリ管理テーブルの例を示す説明図である。It is explanatory drawing which shows the example of an application management table. 連携アプリ管理テーブルの例を示す説明図である。It is explanatory drawing which shows the example of a cooperation application management table. 実行権限管理テーブルの例を示す説明図である。It is explanatory drawing which shows the example of an execution authority management table. アプリケーション実行権限管理装置の動作例を示すフローチャートである。It is a flowchart which shows the operation example of an application execution authority management apparatus. アプリケーション実行権限管理装置の動作例を示すフローチャートである。It is a flowchart which shows the operation example of an application execution authority management apparatus. 本発明によるアプリケーション実行権限管理装置の概要を示すブロック図である。It is a block diagram which shows the outline | summary of the application execution authority management apparatus by this invention. アプリケーションが連携して動作を行う場合の例を示す説明図である。It is explanatory drawing which shows the example in case an application cooperates and operate | moves. 複数のアプリケーションが連携して動作を行う場合の例を示す説明図である。It is explanatory drawing which shows the example in case a some application cooperates and operate | moves.

以下、本発明の実施形態を図面を参照して説明する。本発明では、アプリケーション単体だけではなく、連携するアプリケーションも含めて、正しく権限管理を行いユーザへ通知する手法を提案する。この手法を実現するため、アプリケーション単体の実行権限を管理する仕組みと、連携するアプリケーションを検出する仕組みとを組み合わせる。すなわち、アプリケーション単体の実行権限と連携するアプリケーションの実行権限とをまとめて、アプリケーションの実行権限として管理する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The present invention proposes a technique for correctly managing authority and notifying a user including not only a single application but also linked applications. In order to realize this method, a mechanism for managing the execution authority of a single application and a mechanism for detecting a linked application are combined. That is, the execution authority of the application alone and the execution authority of the linked application are collectively managed as the application execution authority.

なお、以下の説明では、「アプリケーション単体の実行権限」と、「アプリケーション単体の実行権限および連携するアプリケーションの実行権限を組み合わせた権限」を区別するため、表記を分けて説明する。具体的には、「アプリケーション単体の実行権限」を「アプリ権限」と表記し、「アプリケーション単体の実行権限および連携するアプリケーションの実行権限を組み合わせた権限」を「アプリケーションの実行権限」と表記する。   In the following description, the notation is described separately in order to distinguish between “execution authority of an application alone” and “authority combining the execution authority of an application alone and the execution authority of a linked application”. Specifically, “application execution authority” is expressed as “application authority”, and “application authority combined with execution authority of linked application” is expressed 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 apparatus according to the present invention. The application execution authority management apparatus 100 according to the present embodiment cooperates with 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. An application detection unit 6, a linked 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 are provided.

アプリケーション実行権限管理装置100は、APIフックにより、OSとアプリケーションとの間の処理に介入し、動作する。本実施形態のアプリケーション実行権限管理装置100では、アプリケーションの起動をトリガにアプリケーション簡易分析部1の処理が開始される。また、アプリケーションからの各APIの呼び出しをトリガにアプリケーション分析部3の処理が開始される。   The application execution authority management apparatus 100 operates by intervening in the process between the OS and the application by the API hook. In the application execution authority management apparatus 100 according to the present embodiment, the process 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 each API call from the application as a trigger.

図2は、本実施形態のアプリケーション実行権限管理装置100の動作例を示す説明図である。図2に例示するように、アプリケーションAP−AとアプリケーションAP−Bとが連携して処理を実行する。   FIG. 2 is an explanatory diagram illustrating an operation example of the application execution authority management apparatus 100 according to the present embodiment. As illustrated in FIG. 2, the application AP-A and the 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 apparatus 100 intervenes between the OS and the application, and analyzes the API used by the application. The application authority (file access, network access, etc.) of the application is confirmed from the analysis result. Further, the application execution authority management apparatus 100 detects the application AP-B that cooperates with the application AP-A, and “application authority of the application AP-A alone” and “the application of the application AP-B that cooperates with the application AP-A”. "Authority" is combined, 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)。   Thereafter, the application execution authority management apparatus 100 notifies the user of the execution authority of the generated application AP-A and accepts selection of permission or prohibition by the user. If the execution authority is changed, the application execution authority management apparatus 100 notifies the user again. When the user selects “permitted”, the application execution authority management apparatus 100 continues the process, and when “prohibited” is selected, the process is not performed (step S102 in FIG. 2).

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

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

アプリケーション簡易分析部1は、アプリケーションが必要とするアプリ権限を決定する。具体的には、アプリケーション簡易分析部1は、アプリケーションの起動を検知すると、そのアプリケーションがロードするAPIの一覧を作成する。そして、アプリケーション簡易分析部1は、予め決められたルールに基づき、作成されたAPIの一覧から、起動したアプリケーションが必要なアプリ権限を決定する。   The simple application analysis unit 1 determines application authority required by the application. Specifically, when the application simple analysis unit 1 detects activation of an application, it creates a list of APIs loaded by the application. Then, the simple application analysis unit 1 determines an application authority necessary for the activated application from the created API list 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, it has an application authority for network communication”. However, the content of the determined rule is not limited to this content. The authority defined in the execution environment (for example, OS) may be associated with the content 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 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 “if READ access is performed using the CreateFile API, the application authority for reading a file is possessed”. However, the content of the determined rule is not limited to this content. The authority defined in the execution environment (for example, OS) may be associated with the content of the API.

さらに、アプリケーション分析部3は、実行されたAPIが共有メモリまたはNamedPipeを操作するAPIか否か判断する。実行されたAPIが共有メモリまたはNamedPipeを操作するAPIであった場合、アプリケーション情報取得部4による処理がさらに行われる。   Further, the application analysis unit 3 determines whether the executed API is an API for operating the shared memory or NamedPipe. When the executed API is an API for operating the shared memory or NamedPipe, processing by the application information acquisition unit 4 is further performed.

共有メモリを操作するAPIとして、例えば、「CreateFileMapping API」が挙げられる。また、NamedPipeを操作するAPIとして、例えば、「CreateNamedPipe API」、「CreateFile API」が挙げられる。   As an API for operating the shared memory, for example, “CreateFile Mapping API” can be cited. Further, examples of APIs that operate NamedPipe include “CreateNamedPipe API” and “CreateFile API”.

アプリケーション情報取得部4は、実行されたAPIから共有メモリまたはNamedPipeの名前と方向(すなわち、読み取りまたは書き込み)に関する情報を取得する。アプリケーション情報取得部4は、例えば、アプリケーションが呼び出したAPIの情報(API名や引数の値など)から、NamedPipeの名前と方向を取得してもよい。   The application information acquisition unit 4 acquires information regarding the name and direction (that is, reading or writing) of the shared memory or NamedPipe from the executed API. For example, the application information acquisition unit 4 may acquire the name and direction of NamedPipe from API information (API name, argument value, etc.) called by the application.

分析/取得結果保存部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 registers the information acquired by the application information acquisition unit 4 together with the application authority determined by the application analysis unit 3 in the application management table.

図3は、アプリ管理テーブルの例を示す説明図である。図3に示す例では、起動したアプリケーションのアプリケーション名とアプリ権限、並びに、そのアプリケーションが使用する共有メモリおよびその方向、NamedPipe名とその方向が対応付けられてアプリ管理テーブルに記憶されていることを示す。   FIG. 3 is an explanatory diagram illustrating an example of the application management table. In the example shown in FIG. 3, the application name and application authority of the activated application, the shared memory used by the application and its direction, and the Named Pipe 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 (hereinafter referred to as a cooperative application) that cooperates with the activated application, based on rules determined in advance from the information in the application management table and the executed API. Specifically, the cooperative application detection unit 6 includes at least one of an application that exists in the same folder as the activated application, an application that is called by the activated application, and an application that communicates with the activated application. Are detected as linked applications. In the following description, communication performed between applications is referred to as interprocess communication. In addition, the following rules are illustrated as a predetermined rule.

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

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

第三のルールの例として、「ウィンドウメッセージに関してプロセス間通信が行われているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部6は、SendMessage APIから、該当のウィンドウハンドルを持つexeファイルを列挙し、連携アプリケーションとして検出してもよい。   As an example of the third rule, “whether or not inter-process communication is performed regarding a window message” is cited. In response to this rule, the cooperative application detection unit 6 may enumerate exe files having corresponding window handles from the SendMessage API and detect them as cooperative applications.

第四のルールの例として、「共有メモリに関してプロセス間通信が行われているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部6は、アプリ管理テーブルから、一致する共有メモリ名を利用するexeファイルを列挙し、連携アプリケーションとして検出してもよい。この場合、共有メモリの利用方向も考慮し、連携アプリケーション検出部6は、書き込みを行っている場合に連携元アプリケーションとして判断し、読み込みのみを行っている場合に連携先アプリケーションとして判断してもよい。   As an example of the fourth rule, “whether or not inter-process communication is performed regarding the shared memory” can be cited. In response to this rule, the cooperative application detection unit 6 may enumerate exe files that use matching shared memory names from the application management table and detect them as cooperative applications. In this case, in consideration of the direction of use of the shared memory, the cooperative application detection unit 6 may determine as a cooperative source application when writing is performed, and may determine as a cooperative destination application when only reading is performed. .

第五のルールの例として、「名前付きパイプに関してプロセス間通信が行われているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部6は、アプリ管理テーブルから、一致するNamedPipe名を利用するexeファイルを列挙し、連携アプリケーションとして検出してもよい。この場合、NamedPipeの利用方向も考慮し、連携アプリケーション検出部6は、書き込みを行っている場合に連携元アプリケーションと判断し、読み込みのみを行っている場合に連携先アプリケーションとして判断してもよい。   As an example of the fifth rule, “whether or not inter-process communication is performed regarding a named pipe” is given. In response to this rule, the cooperative application detection unit 6 may enumerate exe files that use matching NamePipe names from the application management table and detect them as cooperative applications. In this case, considering the usage direction of NamedPipe, the cooperation application detection unit 6 may determine that the application is a cooperation source application when writing is performed, and may determine that the application is a cooperation destination application when only reading is performed.

第六のルールの例として、「COM(Component Object Model)に関してプロセス間通信が行われているか否か」が挙げられる。このルールに対して、連携アプリケーション検出部6は、CoCreateInstance APIから、該当のCLSIDを持つexeファイルを列挙し、連携アプリケーションとして検出してもよい。   As an example of the sixth rule, “whether or not inter-process communication is performed regarding COM (Component Object Model)” is cited. In response to this rule, the cooperative application detection unit 6 may enumerate exe files having the corresponding CLSID from the CoCreateInstance API and detect them as cooperative applications.

なお、以上のルールは例示であり、これらの内容に限定されない。アプリケーションの通信や呼出し、格納場所に関する他のルールが決められていてもよい。   In addition, the above rule is an illustration and is not limited to these contents. Other rules regarding application communication, calling, and storage location 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 illustrating an example of the cooperative application management table. The cooperation application management table illustrated in FIG. 4 indicates that the cooperation source application and the cooperation destination application are stored in association with each other.

アプリケーション権限決定部8は、連携アプリ管理テーブルに保存されたデータから連携アプリケーションを取得し、アプリ管理テーブルから各アプリケーションのアプリ権限を取得する。そして、アプリケーション権限決定部8は、起動されたアプリケーションのアプリ権限と、連携アプリケーションのアプリ権限とに基づいて、起動されたアプリケーションの実行権限を決定する。具体的には、アプリケーション権限決定部8は、起動されたアプリケーションがもともと有していたアプリ権限に連携アプリケーションのアプリ権限を加えた権限を、起動されたアプリケーションの実行権限と決定する。   The application authority determining unit 8 acquires a cooperative application from data stored in the cooperative application management table, and acquires application authority of each application from the application management table. Then, the application authority determining 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 determining 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 unit 9 notifies the user of the execution authority determined by the application authority determining unit 8 and receives a reply about permission or prohibition of the execution authority. Specifically, the execution authority notifying unit 9 sets the authority determined by the application authority determining unit 8 as the execution authority required by the application, and notifies the user of “application information” and “execution authority”. Then, the execution authority notifying unit 9 obtains an answer about permission or prohibition of execution authority from the user. The information on 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 cooperation source application name is “AP1.exe”, and the application itself has an application authority for file access. On the other hand, it is assumed that the cooperation destination application (AP2) has an application authority for network access and is a cooperation application of AP1. In this case, the execution authority notifying unit 9 may notify the user of the execution authority of the AP 1 alone and the execution authority combined with the cooperative application AP2, and may receive a reply about permission or prohibition of the execution authority.

実行権限保存部10は、ユーザから取得した実行権限の許可または禁止についての回答を、記憶部12の実行権限管理テーブルに登録する。図5は、実行権限管理テーブルの例を示す説明図である。図5に例示する実行権限管理テーブルは、上述する実行権限について、AP1単体での実行権限については許可され、連携アプリケーションAP2と組み合わせた実行権限については禁止されたことを示す。   The execution authority storage unit 10 registers an answer 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 of an example of the execution authority management table. The execution authority management table illustrated in FIG. 5 indicates that, with regard to the execution authority described above, the execution authority for AP1 alone is permitted, and the execution authority combined with the cooperative application AP2 is prohibited.

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

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

アプリケーション簡易分析部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 realized 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 apparatus 100, and the CPU reads the program, and according to the program, the application simple 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 linked application detection unit 6, a linked 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 be.

また、アプリケーション簡易分析部1と、簡易分析結果保存部2と、アプリケーション分析部3と、アプリケーション情報取得部4と、分析/取得結果保存部5と、連携アプリケーション検出部6と、連携アプリケーション保存部7と、アプリケーション権限決定部8と、実行権限通知部9と、実行権限保存部10と、実行権限制御部11とは、それぞれが専用のハードウェアで実現されていてもよい。   Also, a simple application analysis unit 1, a simple analysis result storage unit 2, an application analysis unit 3, an application information acquisition unit 4, an analysis / acquisition result storage unit 5, a cooperative application detection unit 6, and a 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 apparatus 100 according to this embodiment will be described. 6 and 7 are flowcharts showing an operation example of the application execution authority management apparatus 100 according to this embodiment.

アプリケーション実行権限管理装置100は、アプリケーションの起動をトリガに図6に例示する処理を開始する。また、アプリケーション実行権限管理装置100は、アプリケーションから各APIが呼び出されたことをトリガに、図7に例示する処理を開始する。   The application execution authority management apparatus 100 starts the process illustrated in FIG. 6 with the activation of the application as a trigger. Further, the application execution authority management apparatus 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 application simple analysis unit 1 creates a list of APIs loaded by the application, and determines application authority required by the application based on a predetermined rule.

簡易分析結果保存部2は、アプリケーション単体のアプリ権限を保存する(ステップS2)。具体的には、簡易分析結果保存部2は、決定したアプリ権限の情報をアプリ管理テーブルに保存し、処理を終了する。なお、アプリケーションの起動後は、APIフックされた各APIの実行をトリガに図7に例示する処理が開始される。   The simple analysis result storage unit 2 stores the application authority of the single application (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. Note that after the application is started, the processing illustrated in FIG. 7 is triggered by the execution of each API hooked API.

アプリケーション分析部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 the API information (API name and argument value) called by the application, and determines the application authority required by the application based on a predetermined rule.

また、アプリケーション分析部3は、実行されたAPIが共有メモリまたはNamedPipeを操作するAPIか否か判断する(ステップSp1)。実行されたAPIが共有メモリまたはNamedPipeを操作するAPIの場合(ステップSp1におけるYes)、アプリケーション情報取得部4は、アプリケーションの情報を取得する(ステップS4)。具体的には、アプリケーション情報取得部4は、アプリケーションが呼び出したAPIの情報(API名や引数の値)を利用し、共有メモリやNamedPipeの名前と方向(読み取り/書き込み)に関する情報を取得する。一方、実行されたAPIが共有メモリまたはNamedPipeを操作するAPIでない場合(ステップSp1におけるNo)、ステップS5の処理に進む。   In addition, the application analysis unit 3 determines whether the executed API is an API for operating the shared memory or NamedPipe (Step Sp1). When the executed API is an API that operates the shared memory or NamedPipe (Yes in Step Sp1), the application information acquisition unit 4 acquires application information (Step S4). Specifically, the application information acquisition unit 4 acquires information on the name and direction (read / write) of the shared memory or NamedPipe using API information (API name or argument value) called by the application. On the other hand, if the executed API is not an API for operating the shared memory or 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 of the single 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 a cooperative application (step S6). Specifically, the cooperative application detection unit 6 detects a cooperative application based on rules determined in advance from the information of the application management table and the information of the executed API (API name and argument value).

連携アプリケーション保存部7は、連携アプリケーションの情報を保存する(ステップS7)。具体的には、連携アプリケーション保存部7は、検出された連携アプリケーションの情報を連携アプリ管理テーブルに保存する。   The cooperative application storage unit 7 stores information on 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 determining unit 8 determines the application execution authority (step S8). Specifically, the application authority determining unit 8 acquires an application authority of a single application from the data stored in the application management table as the first application authority. In addition, the application authority determining unit 8 acquires a cooperative application from data stored in the cooperative application management table, and acquires the application authority of each cooperative application from the application management table as a second application authority. Then, the application authority determining unit 8 determines an 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 there is an unconfirmed authority (step Sp2). Specifically, the execution authority notifying unit 9 acquires the permission status of the application execution authority from the execution authority management table, and notifies the user by comparing the acquired data with the execution authority of the application determined in step S8. It is determined whether there is an execution authority that has not been executed. If there is an unconfirmed authority (Yes in Step Sp2), the execution authority notifying 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 storage unit 10 stores the confirmation result (step S10). Specifically, the execution authority storage unit 10 stores the permission or prohibition result 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 process execution of the application if permitted, and sets the error in the process of the application if 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 a cooperative application of the activated application based on the detected API. Then, the application authority determining 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 notifying unit 9 determines the determined execution authority. To the user. Therefore, the user can appropriately manage the execution authority of the linked application.

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

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

また、例えば、図10に示す例の場合、本実施形態のアプリケーション実行権限管理装置100を用いることで、ユーザは、アプリケーションAP−A2が連携したときのアプリケーションAP−Cの通信を許可し、アプリケーションAP−B2が連携したときのアプリケーションAP−Cの通信を禁止できる。   Further, for example, in the case of the example illustrated in FIG. 10, by using the application execution authority management apparatus 100 of the present embodiment, the user permits the communication of the application AP-C when the application AP-A2 cooperates. Communication of application AP-C when AP-B2 cooperates can be prohibited.

次に、本発明の概要を説明する。図8は、本発明によるアプリケーション実行権限管理装置の概要を示すブロック図である。本発明によるアプリケーション実行権限管理装置80(例えば、アプリケーション実行権限管理装置100)は、起動されたアプリケーションが利用するAPIを検出して、そのアプリケーション単体で必要とする権限であるアプリ権限を分析するアプリ権限分析部81(例えば、アプリケーション分析部3)と、検出されたAPIに基づいて、起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出する連携アプリケーション検出部82(例えば、連携アプリケーション検出部6)と、起動されたアプリケーションのアプリ権限と、連携アプリケーションのアプリ権限とに基づいて、起動されたアプリケーションの実行権限を決定する実行権限決定部83(例えば、アプリケーション権限決定部8)と、決定した実行権限をユーザに通知する通知部84(例えば、実行権限通知部9)とを備えている。   Next, the outline of the present invention will be described. FIG. 8 is a block diagram showing an outline of the application execution authority management apparatus according to the present invention. The application execution authority management apparatus 80 (for example, the application execution authority management apparatus 100) according to the present invention detects an API used by a started application and analyzes an application authority that is an authority required for the application alone. Based on the authority analysis unit 81 (for example, the application analysis unit 3) and the detected API, a linked application detection unit 82 (for example, the linked application detection unit 6) that detects a linked application that is linked with the activated application. ), The 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. Notification unit 84 for notifying the determined execute permission to the user (e.g., execute permission notifying section 9) and a.

そのような構成により、連携するアプリケーションの実行権限をユーザが適切に管理できる。   With such a configuration, the user can appropriately manage the execution authority of the linked application.

また、実行権限決定部83は、起動されたアプリケーションが有するアプリ権限に連携アプリケーションのアプリ権限を加えた権限を、起動されたアプリケーションの実行権限と決定してもよい。   Further, the execution authority determining 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は、取得された情報を用いて連携アプリケーションを検出してもよい。そのような構成により、より適切に連携アプリケーションを検出することが可能になる。   In addition, when the executed API is an API that operates the shared memory or NamedPipe, the application authority analysis unit 81 acquires information on the shared memory or NamedPipe name and direction from the executed API, and the cooperative application detection unit 82 You may detect a cooperation application using the acquired information. With such a configuration, it is possible to detect a linked application more appropriately.

また、連携アプリケーション検出部82は、起動されたアプリケーションと同じフォルダ内に存在するアプリケーション、起動されたアプリケーションが呼び出す先のアプリケーション、および、起動されたアプリケーションと通信が行われるアプリケーションの少なくとも一つを連携アプリケーションとして検出してもよい。   The linked application detection unit 82 links at least one of an application that exists in the same folder as the activated application, an application that is called by the activated application, and an application that communicates with the activated application. You may detect 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 with respect to the notified execution authority, and the control unit may control API processing according to the received response.

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

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

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

Claims (9)

起動されたアプリケーションが利用するAPIを検出して、当該アプリケーション単体で必要とする権限であるアプリ権限を分析するアプリ権限分析部と、
検出された前記APIに基づいて、前記起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出する連携アプリケーション検出部と、
起動されたアプリケーションのアプリ権限と、前記連携アプリケーションのアプリ権限とに基づいて、当該起動されたアプリケーションの実行権限を決定する実行権限決定部と、
決定した実行権限をユーザに通知する通知部とを備えた
ことを特徴とするアプリケーション実行権限管理装置。
An application authority analysis unit that detects an API used by the activated application and analyzes an application authority that is an authority necessary for the application alone;
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 determining unit 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;
An application execution authority management device comprising: a notification unit that notifies a user of the determined execution authority.
実行権限決定部は、起動されたアプリケーションが有するアプリ権限に連携アプリケーションのアプリ権限を加えた権限を、起動されたアプリケーションの実行権限と決定する
請求項1記載のアプリケーション実行権限管理装置。
The application execution authority management apparatus according to claim 1, wherein the execution authority determining unit determines an 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記載のアプリケーション実行権限管理装置。
When the executed API is an API that operates the shared memory or NamedPipe, the application authority analysis unit acquires information on the shared memory or NamedPipe name and direction from the executed API,
The application execution authority management apparatus according to claim 1, wherein the cooperation application detection unit detects a cooperation application using the acquired information.
連携アプリケーション検出部は、起動されたアプリケーションと同じフォルダ内に存在するアプリケーション、起動されたアプリケーションが呼び出す先のアプリケーション、および、起動されたアプリケーションと通信が行われるアプリケーションの少なくとも一つを連携アプリケーションとして検出する
請求項1から請求項3のうちのいずれか1項に記載のアプリケーション実行権限管理装置。
The linked application detection unit detects at least one of an application existing in the same folder as the started application, a destination application called by the started application, and an application that communicates with the started application as a linked application. The application execution authority management device according to any one of claims 1 to 3.
検出されたAPIの処理を制御する制御部を備え、
通知部は、通知した実行権限に対するユーザからの回答を受信し、
前記制御部は、受信した回答に応じて前記APIの処理を制御する
請求項1から請求項4のうちのいずれか1項に記載のアプリケーション実行権限管理装置。
A control unit that controls processing of the detected API;
The notification unit receives an answer from the user for the notified execution authority,
The application execution authority management device according to any one of claims 1 to 4, wherein the control unit controls processing of the API according to a received answer.
通知部は、決定された実行権限が、すでにユーザに通知済みの実行権限である場合、当該実行権限の通知を抑制する
請求項1から請求項5のうちのいずれか1項に記載のアプリケーション実行権限管理装置。
6. The application execution according to claim 1, wherein the notification unit suppresses the notification of the execution authority when the determined execution authority is the execution authority already notified to the user. Authority management device.
通知部は、受信したユーザからの回答を通知した実行権限と対応付けて記憶部に記憶させ、前記記憶部に記憶された内容に基づいて、ユーザに通知済みか否か判断する
請求項6記載のアプリケーション実行権限管理装置。
The notifying unit stores it in the storage unit in association with the execution authority that has received the received answer from the user, and determines whether the user has been notified based on the content stored in the storage unit. Application execution authority management device.
起動されたアプリケーションが利用するAPIを検出して、当該アプリケーション単体で必要とする権限であるアプリ権限を分析し、
検出された前記APIに基づいて、前記起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出し、
起動されたアプリケーションのアプリ権限と、前記連携アプリケーションのアプリ権限とに基づいて、当該起動されたアプリケーションの実行権限を決定し、
決定した実行権限をユーザに通知する
ことを特徴とするアプリケーション実行権限管理方法。
Detect the API used by the launched application, analyze the application authority that is the authority required for the application alone,
Based on the detected API, a linked application that is linked with the activated application is detected,
Based on the application authority of the activated application and the application authority of the cooperative application, the execution authority of the activated application is determined,
An application execution authority management method characterized by notifying a user of a determined execution authority.
コンピュータに、
起動されたアプリケーションが利用するAPIを検出して、当該アプリケーション単体で必要とする権限であるアプリ権限を分析するアプリ権限分析処理、
検出された前記APIに基づいて、前記起動されたアプリケーションと連携するアプリケーションである連携アプリケーションを検出する連携アプリケーション検出処理、
起動されたアプリケーションのアプリ権限と、前記連携アプリケーションのアプリ権限とに基づいて、当該起動されたアプリケーションの実行権限を決定する実行権限決定処理、および、
決定した実行権限をユーザに通知する通知処理
を実行させるためのアプリケーション実行権限管理プログラム。
On the computer,
An application authority analysis process for detecting an API used by a started application and analyzing an application authority that is an authority required for the application alone;
Based on the detected API, a cooperative application detection process for detecting a cooperative application that is an application that cooperates with the activated application;
An execution authority determination process for determining an execution authority of the activated application based on the application authority of the activated application and the application authority of the cooperative application; and
An application execution authority management program for executing notification processing that notifies 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 true JP2019168958A (en) 2019-10-03
JP7119480B2 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
JP7119480B2 (en) 2022-08-17

Similar Documents

Publication Publication Date Title
EP3123311B1 (en) Malicious code protection for computer systems based on process modification
US8650578B1 (en) System and method for intercepting process creation events
US8904537B2 (en) Malware detection
US9158919B2 (en) Threat level assessment of applications
US8010995B2 (en) Methods, systems, and computer program products for implementing inter-process integrity serialization
US9183377B1 (en) Unauthorized account monitoring system and method
WO2015113052A1 (en) Detecting and preventing execution of software exploits
CN105760773A (en) System and method of controlling opening of file by vulnerable application
CN103530563A (en) System and method for updating authorized software
RU2584507C1 (en) Method of providing safe execution of script file
US20190171826A1 (en) Apparatus and method for blocking ransome ware using access control to the contents file
US20090100517A1 (en) Apparatus and method for monitoring and protecting system resources from web browser
US11636219B2 (en) System, method, and apparatus for enhanced whitelisting
WO2019153780A1 (en) Method, apparatus, electronic device and storage medium for protecting private key of digital wallet
JP2018124893A (en) Computer system and file access controlling method
US20200159915A1 (en) Selective Import/Export Address Table Filtering
US11507675B2 (en) System, method, and apparatus for enhanced whitelisting
JP5955475B1 (en) Program, information processing apparatus, and information processing method
US20230038774A1 (en) System, Method, and Apparatus for Smart Whitelisting/Blacklisting
EP2881883B1 (en) System and method for reducing load on an operating system when executing antivirus operations
JP7119480B2 (en) Application execution authority management device, method and program
GB2555569B (en) Enhanced computer objects security
KR102463814B1 (en) Method and apparatus for monitoring server
CN115935328A (en) Resource access control method, device, equipment and storage medium
US10552626B2 (en) System and method for selecting a data entry mechanism for an application based on security requirements

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