JP5736335B2 - アプリケーション解析装置、アプリケーション解析システム、およびプログラム - Google Patents
アプリケーション解析装置、アプリケーション解析システム、およびプログラム Download PDFInfo
- Publication number
- JP5736335B2 JP5736335B2 JP2012062120A JP2012062120A JP5736335B2 JP 5736335 B2 JP5736335 B2 JP 5736335B2 JP 2012062120 A JP2012062120 A JP 2012062120A JP 2012062120 A JP2012062120 A JP 2012062120A JP 5736335 B2 JP5736335 B2 JP 5736335B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- permission
- file
- log
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
前記アプリケーションが処理を行う際に必要なパーミッションが前記アプリケーションに付与されているか否かを判定する第1のコードを含むOSのプログラムに対して、前記アプリケーションに付与されているパーミッションを示す第2のパーミッション情報をログに出力する第2のコードを追加することにより修正された前記OSのプログラムを前記アプリケーションの動作中に実行するログ出力部と、前記ログを前記第3の装置へ送信する第1の送信部と、を有し、前記第2の装置は、前記アプリケーションファイルを記憶する第2の記憶部と、前記アプリケーションファイルに含まれる前記マニフェストファイルから前記第1のパーミッション情報を抽出する抽出部と、前記マニフェストファイルから抽出された前記第1のパーミッション情報を前記第3の装置へ送信する第2の送信部と、を有し、前記第3の装置は、前記ログを前記第1の装置から受信し、前記第1のパーミッション情報を前記第2の装置から受信する受信部と、前記第1のパーミッション情報と、前記ログに出力された前記第2のパーミッション情報とを比較する比較部と、を備えたことを特徴とするアプリケーション解析システムである。
アプリケーションフレームワークで提供されているクラスのうちPackageManagerServiceクラスが定義するAPIのコードに対してコードを追加する例を説明する。PackageManagerServiceクラスは、アプリケーションのインストールおよびアンインストールの管理を行ったり、アプリケーションに適切なパーミッションが付与されているか否かの判定を行ったりするAPI(メソッド)を定義しているクラスである。PackageManagerServiceクラスのAPIのうち、CheckUidPermissionが、アプリケーションに適切なパーミッションが付与されているか否かを判定するAPIである。本実施形態では、一例として、CheckUidPermissionのコードに対して、アプリケーションに付与されているパーミッションに関する情報をログに出力するコードが追加される。
カーネルでは、適切なグループID (gid)がアプリケーションに付与されているか否かを判定することにより、アプリケーションに適切なパーミッションが付与されているか否かを判定する機構がある。インストールの際、アプリケーションに付与されたパーミッションに応じた1以上のグループIDがアプリケーションに付与される。例えば、*andrd*.permission.CAMERA、*andrd*.permission.READ_LOGS、*andrd*.permission.WRITE_EXTERNAL_STORAGE、*andrd*.permission.ACCESS_CACHE_FILESYSTEM、*andrd*.permission.INTERNETという5つのパーミッションで制限された処理を行うには、それぞれcamera、log、sdcard_rw、cache、inetというグループIDが付与されている必要がある。
パーミッションを必要とする処理を行うカーネルの関数のコードには、関数を呼び出したアプリケーションに適切なグループIDが付与されているか否かを判定するコードが含まれる。例えば、アプリケーションのインストール時に、インターネットへの接続を制限するパーミッションである*andrd*.permission.INTERNETの使用が宣言され、ユーザによって許可されると、inetというグループIDがアプリケーションに付与される。その後、*andrd*.permission.INTERNETを必要とする関数がアプリケーションによって呼び出されると、呼び出したアプリケーションのグループIDが確認され、グループIDがinetであった場合のみ、その関数の実行が継続する。
*andrd*.permission.READ_LOGSは、アプリケーションによるアプリケーションログの取得を制限しているパーミッションである。アプリケーションに対してこのパーミッションが付与されているか否かの判定は、アプリケーションログが保存されているファイルである/dev/log/mainのアクセス権限があるか否かを判定することにより行われる。ファイル毎にアクセス権限に応じたグループIDが付与されており、ファイルに付与されているグループIDと同じグループIDが付与されたアプリケーションのみがそのファイルへのアクセスを許可される。/dev/log/mainに付与されているグループIDはlogであり、logというグループIDがアプリケーションに付与されているか否かの判定が行われる。
Claims (14)
- アプリケーションの機能を実現する実行ファイルと、アプリケーションに付与されたパーミッションを示す第1のパーミッション情報を含むマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、
前記アプリケーションファイルを実行することで前記アプリケーションを起動する起動部と、
前記アプリケーションが処理を行う際に必要なパーミッションが前記アプリケーションに付与されているか否かを判定する第1のコードを含むOSのプログラムに対して、前記アプリケーションに付与されているパーミッションを示す第2のパーミッション情報をログに出力する第2のコードを追加することにより修正された前記OSのプログラムを前記アプリケーションの動作中に実行するログ出力部と、
前記アプリケーションファイルに含まれる前記マニフェストファイルから前記第1のパーミッション情報を抽出する抽出部と、
前記マニフェストファイルから抽出された前記第1のパーミッション情報と、前記ログに出力された前記第2のパーミッション情報とを比較する比較部と、
を備えたことを特徴とするアプリケーション解析装置。 - 前記ログ出力部は、前記アプリケーションが処理を行う際に必要なパーミッションが前記アプリケーションに付与されているか否かを判定する、OSのアプリケーションフレームワークで提供されているAPI(Application Program Interface)の第1のコードを含むOSのプログラムに対して、前記アプリケーションに付与されているパーミッションを示す第2のパーミッション情報をログに出力する第2のコードを追加することにより修正された前記OSのプログラムを前記アプリケーションの動作中に実行することを特徴とする請求項1に記載のアプリケーション解析装置。
- 前記ログ出力部は、前記アプリケーションが処理を行う際に必要なパーミッションに対応するグループIDが前記アプリケーションに付与されているか否かを判定する第1のコードを含むOSのプログラムに対して、前記アプリケーションに付与されているパーミッションを示す第2のパーミッション情報をログに出力する第2のコードを追加することにより修正された前記OSのプログラムを前記アプリケーションの動作中に実行することを特徴とする請求項1に記載のアプリケーション解析装置。
- 前記ログ出力部は、前記アプリケーションが処理を行う際に必要なパーミッションに対応するグループIDが前記アプリケーションに付与されているか否かを判定する、OSのカーネルで提供されている関数の第1のコードを含むOSのプログラムに対して、前記アプリケーションに付与されているパーミッションを示す第2のパーミッション情報をログに出力する第2のコードを追加することにより修正された前記OSのプログラムを前記アプリケーションの動作中に実行することを特徴とする請求項1に記載のアプリケーション解析装置。
- 前記第2のコードは前記第1のコードの中に追加されていることを特徴とする請求項2〜請求項4のいずれか一項に記載のアプリケーション解析装置。
- 前記ログ出力部は、前記アプリケーションが処理を行う際に必要なパーミッションが前記アプリケーションに付与されているか否かを判定し、ファイルの読み出しまたはファイルの書き込みを行う、OSのカーネルで提供されている第1の関数の第1のコードと、前記第1の関数が呼び出される前に呼び出される、前記カーネルで提供されている第2の関数の第2のコードとを含むOSのプログラムに対して、前記アプリケーションに付与されているパーミッションを示す第2のパーミッション情報をログに出力する第3のコードを追加することにより修正された前記OSのプログラムを前記アプリケーションの動作中に実行することを特徴とする請求項1に記載のアプリケーション解析装置。
- 前記第3のコードは前記第2のコードの中に追加されていることを特徴とする請求項6に記載のアプリケーション解析装置。
- 前記第3のコードは、前記アプリケーションが処理を行う際に必要なパーミッションに対応するグループIDが前記アプリケーションに付与されている場合に、前記アプリケーションに付与されているパーミッションを示す第2のパーミッション情報をログに出力するコードであることを特徴とする請求項7に記載のアプリケーション解析装置。
- 前記第3のコードは、前記第2の関数が呼び出されたときに指定された引数がファイルの書き込みを示している場合に、前記アプリケーションに付与されているパーミッションを示す第2のパーミッション情報をログに出力するコードであることを特徴とする請求項7に記載のアプリケーション解析装置。
- 第1の装置と、第2の装置とを備え、
前記第1の装置は、
アプリケーションの機能を実現する実行ファイルと、アプリケーションに付与されたパーミッションを示す第1のパーミッション情報を含むマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、
前記アプリケーションファイルを実行することで前記アプリケーションを起動する起動部と、
前記アプリケーションが処理を行う際に必要なパーミッションが前記アプリケーションに付与されているか否かを判定する第1のコードを含むOSのプログラムに対して、前記アプリケーションに付与されているパーミッションを示す第2のパーミッション情報をログに出力する第2のコードを追加することにより修正された前記OSのプログラムを前記アプリケーションの動作中に実行するログ出力部と、
前記アプリケーションファイルおよび前記ログを前記第2の装置へ送信する送信部と、
を有し、
前記第2の装置は、
前記アプリケーションファイルおよび前記ログを前記第1の装置から受信する受信部と、
前記アプリケーションファイルに含まれる前記マニフェストファイルから前記第1のパーミッション情報を抽出する抽出部と、
前記マニフェストファイルから抽出された前記第1のパーミッション情報と、前記ログに出力された前記第2のパーミッション情報とを比較する比較部と、
を有することを特徴とするアプリケーション解析システム。 - 第1の装置と、第2の装置とを備え、
前記第1の装置は、
アプリケーションの機能を実現する実行ファイルと、アプリケーションに付与されたパーミッションを示す第1のパーミッション情報を含むマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、
前記アプリケーションファイルを実行することで前記アプリケーションを起動する起動部と、
前記アプリケーションが処理を行う際に必要なパーミッションが前記アプリケーションに付与されているか否かを判定する第1のコードを含むOSのプログラムに対して、前記アプリケーションに付与されているパーミッションを示す第2のパーミッション情報をログに出力する第2のコードを追加することにより修正された前記OSのプログラムを前記アプリケーションの動作中に実行するログ出力部と、
前記アプリケーションファイルに含まれる前記マニフェストファイルから前記第1のパーミッション情報を抽出する抽出部と、
前記マニフェストファイルから抽出された前記第1のパーミッション情報および前記ログを前記第2の装置へ送信する送信部と、
を有し、
前記第2の装置は、
前記第1のパーミッション情報および前記ログを前記第1の装置から受信する受信部と、
前記第1のパーミッション情報と、前記ログに出力された前記第2のパーミッション情報とを比較する比較部と、
を有することを特徴とするアプリケーション解析システム。 - 第1の装置と、第2の装置と、第3の装置とを備え、
前記第1の装置は、
アプリケーションの機能を実現する実行ファイルと、アプリケーションに付与されたパーミッションを示す第1のパーミッション情報を含むマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、
前記アプリケーションファイルを実行することで前記アプリケーションを起動する起動部と、
前記アプリケーションが処理を行う際に必要なパーミッションが前記アプリケーションに付与されているか否かを判定する第1のコードを含むOSのプログラムに対して、前記アプリケーションに付与されているパーミッションを示す第2のパーミッション情報をログに出力する第2のコードを追加することにより修正された前記OSのプログラムを前記アプリケーションの動作中に実行するログ出力部と、
前記アプリケーションファイルを前記第2の装置へ送信し、前記ログを前記第3の装置へ送信する第1の送信部と、
を有し、
前記第2の装置は、
前記アプリケーションファイルを前記第1の装置から受信する第1の受信部と、
前記アプリケーションファイルに含まれる前記マニフェストファイルから前記第1のパーミッション情報を抽出する抽出部と、
前記マニフェストファイルから抽出された前記第1のパーミッション情報を前記第3の装置へ送信する第2の送信部と、
を有し、
前記第3の装置は、
前記ログを前記第1の装置から受信し、前記第1のパーミッション情報を前記第2の装置から受信する第2の受信部と、
前記第1のパーミッション情報と、前記ログに出力された前記第2のパーミッション情報とを比較する比較部と、
を備えたことを特徴とするアプリケーション解析システム。 - 第1の装置と、第2の装置と、第3の装置とを備え、
前記第1の装置は、
アプリケーションの機能を実現する実行ファイルと、アプリケーションに付与されたパーミッションを示す第1のパーミッション情報を含むマニフェストファイルとを含むアプリケーションファイルを記憶する第1の記憶部と、
前記アプリケーションファイルを実行することで前記アプリケーションを起動する起動部と、
前記アプリケーションが処理を行う際に必要なパーミッションが前記アプリケーションに付与されているか否かを判定する第1のコードを含むOSのプログラムに対して、前記アプリケーションに付与されているパーミッションを示す第2のパーミッション情報をログに出力する第2のコードを追加することにより修正された前記OSのプログラムを前記アプリケーションの動作中に実行するログ出力部と、
前記ログを前記第3の装置へ送信する第1の送信部と、
を有し、
前記第2の装置は、
前記アプリケーションファイルを記憶する第2の記憶部と、
前記アプリケーションファイルに含まれる前記マニフェストファイルから前記第1のパーミッション情報を抽出する抽出部と、
前記マニフェストファイルから抽出された前記第1のパーミッション情報を前記第3の装置へ送信する第2の送信部と、
を有し、
前記第3の装置は、
前記ログを前記第1の装置から受信し、前記第1のパーミッション情報を前記第2の装置から受信する受信部と、
前記第1のパーミッション情報と、前記ログに出力された前記第2のパーミッション情報とを比較する比較部と、
を備えたことを特徴とするアプリケーション解析システム。 - アプリケーションの機能を実現する実行ファイルと、アプリケーションに付与されたパーミッションを示す第1のパーミッション情報を含むマニフェストファイルとを含むアプリケーションファイルを記憶する記憶部と、
前記アプリケーションファイルを実行することで前記アプリケーションを起動する起動部と、
前記アプリケーションが処理を行う際に必要なパーミッションが前記アプリケーションに付与されているか否かを判定する第1のコードを含むOSのプログラムに対して、前記アプリケーションに付与されているパーミッションを示す第2のパーミッション情報をログに出力する第2のコードを追加することにより修正された前記OSのプログラムを前記アプリケーションの動作中に実行するログ出力部と、
前記アプリケーションファイルに含まれる前記マニフェストファイルから前記第1のパーミッション情報を抽出する抽出部と、
前記マニフェストファイルから抽出された前記第1のパーミッション情報と、前記ログに出力された前記第2のパーミッション情報とを比較する比較部と、
としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012062120A JP5736335B2 (ja) | 2012-03-19 | 2012-03-19 | アプリケーション解析装置、アプリケーション解析システム、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012062120A JP5736335B2 (ja) | 2012-03-19 | 2012-03-19 | アプリケーション解析装置、アプリケーション解析システム、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013196310A JP2013196310A (ja) | 2013-09-30 |
JP5736335B2 true JP5736335B2 (ja) | 2015-06-17 |
Family
ID=49395195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012062120A Active JP5736335B2 (ja) | 2012-03-19 | 2012-03-19 | アプリケーション解析装置、アプリケーション解析システム、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5736335B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6424441B2 (ja) * | 2014-03-14 | 2018-11-21 | 株式会社リコー | 複合機、情報処理方法、情報処理プログラム、および情報処理システム |
JP2016206887A (ja) * | 2015-04-21 | 2016-12-08 | 株式会社 ディー・エヌ・エー | 情報処理装置、情報処理システム及び情報処理プログラム |
KR101854975B1 (ko) * | 2016-02-18 | 2018-05-04 | 라인 가부시키가이샤 | 패키지 파일에 대한 기능 확장 방법 및 시스템 |
JP6903901B2 (ja) | 2016-11-28 | 2021-07-14 | 富士通株式会社 | 攻撃検知装置、攻撃検知プログラム及び攻撃検知方法 |
KR20230040158A (ko) * | 2021-09-15 | 2023-03-22 | 삼성전자주식회사 | 설치 파일에 대한 권한을 분석하기 위한 전자 장치 및 그 동작 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3939977B2 (ja) * | 2001-12-20 | 2007-07-04 | 富士通株式会社 | アクセス権矛盾検出装置および解析ルール作成装置 |
JP5228943B2 (ja) * | 2009-01-27 | 2013-07-03 | 富士通株式会社 | 最小権限違反検出プログラム |
JP2011233081A (ja) * | 2010-04-30 | 2011-11-17 | Kddi Corp | アプリケーション判定システムおよびプログラム |
-
2012
- 2012-03-19 JP JP2012062120A patent/JP5736335B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013196310A (ja) | 2013-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11379273B2 (en) | Sharing extension points to allow an application to share content via a sharing extension | |
US11599348B2 (en) | Container image building using shared resources | |
US9208328B2 (en) | Security system and method for operating systems | |
US20150332043A1 (en) | Application analysis system for electronic devices | |
JP6644001B2 (ja) | ウイルス処理方法、装置、システム、機器及びコンピュータ記憶媒体 | |
CN104008340B (zh) | 病毒查杀方法及装置 | |
US9460306B1 (en) | System and method for controlling access of machine code to operating system resources | |
JP5802848B2 (ja) | モバイル環境用のトロイの木馬化されたアプリケーション(アプリ)を特定するためのコンピュータ実装方法、非一時コンピュータ読み取り可能な媒体およびコンピュータシステム | |
US8701104B2 (en) | System and method for user agent code patch management | |
US20070289019A1 (en) | Methodology, system and computer readable medium for detecting and managing malware threats | |
WO2015183456A1 (en) | Consistent extension points to allow an extension to extend functionality of an application to another application | |
JP5736335B2 (ja) | アプリケーション解析装置、アプリケーション解析システム、およびプログラム | |
KR20130069555A (ko) | 가상 애플리케이션 확장 포인트 | |
Alfalqi et al. | Android platform malware analysis | |
Brierley et al. | Persistence in Linux-based IoT malware | |
US9367686B1 (en) | System and method for antivirus checking of native images of software assemblies | |
RU2628920C2 (ru) | Способ обнаружения вредоносных сборок | |
JP5941745B2 (ja) | アプリケーション解析装置、アプリケーション解析システム、およびプログラム | |
Rashid et al. | Automatic Android Malware Analysis | |
RU2625052C1 (ru) | Способ ограничения доступа образа машинного кода к ресурсам операционной системы | |
RU2617925C2 (ru) | Способ антивирусной проверки компьютерной системы | |
Wang et al. | Taming transitive permission attack via bytecode rewriting on Android application | |
JP7248219B2 (ja) | コンピュータセキュリティのためのシステムおよび方法 | |
Heinl et al. | Android security | |
Heinl | Android security: Creation of a virtual learning environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140723 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20140724 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150226 |
|
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: 20150324 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150420 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Ref document number: 5736335 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |