JP6770335B2 - 解析装置及びプログラム - Google Patents
解析装置及びプログラム Download PDFInfo
- Publication number
- JP6770335B2 JP6770335B2 JP2016099308A JP2016099308A JP6770335B2 JP 6770335 B2 JP6770335 B2 JP 6770335B2 JP 2016099308 A JP2016099308 A JP 2016099308A JP 2016099308 A JP2016099308 A JP 2016099308A JP 6770335 B2 JP6770335 B2 JP 6770335B2
- Authority
- JP
- Japan
- Prior art keywords
- variable
- name
- recorded
- history
- pseudo
- 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
- 238000000034 method Methods 0.000 claims description 236
- 230000008569 process Effects 0.000 claims description 56
- 238000011156 evaluation Methods 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 28
- 230000003068 static effect Effects 0.000 description 29
- 238000005516 engineering process Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
本実施の形態に係る解析装置10は、Java(登録商標)アプリケーション(以下、単に「アプリケーション」と記載する)をコンパイルすることで生成されるクラスファイル(classファイル)を用いてアプリケーションの動作を追跡することで、解析対象であるアプリケーションのリスク評価を行う。クラスファイルとは、ソースコード内に記述されているクラス毎に1つ生成されるファイルであり、クラスに関する情報が含まれるヘッダ部分と、クラス内で定義されるメソッドの実行内容が記述されたバイトコードから構成されているファイルである。
図1は、実施の形態に係る解析装置10の機能構成の一例を示す図である。図1に示すように、解析装置10は、記憶部101と、初期化部102と、解析部103と、評価部104とを有する。これら各部は、解析装置10にインストールされた1以上のプログラムが、解析装置10のCPUに実行させる処理により実現される。なお、記憶部101、初期化部102、解析部103、及び評価部104ごとに、異なるコンピュータを用いて実現されてもよいし、更に細かい単位でコンピュータが分散されていてもよい。すなわち、解析装置10は、1又は複数のコンピュータを用いて実現されてもよい。また、当該1又は複数のコンピュータは、仮想化技術を利用した仮想サーバであってもよいし、クラウド上に実装された仮想サーバであってもよい。
図2は、実施の形態に係る解析装置10が行う処理手順の一例を示すフローチャートである。図2を用いて、解析装置10が行う処理手順を具体的に説明する。
続いて、解析装置10がアプリケーションの解析を行う際の具体的な動作例を説明する。図4(a)に、動作例の説明に用いるアプリケーションのソースコードを示す。本アプリケーションは端末の電話番号を画面上に表示するアプリケーションであるが、画面表示前に行われる処理(onCreateメソッド)の中に、端末の電話番号をネットワークに送信する処理が埋め込まれている。図4(b)は、図4(a)に示すソースコードが実行された際の画面表示例を示している。
以上、実施の形態において、解析装置10はクラウドサーバであってもよい。すなわち、図1に示す各機能部は、クラウドサーバ上に実装されるようにしてもよい。
101 記憶部
102 初期化部
103 解析部
104 評価部
Claims (3)
- Java(登録商標)アプリケーションのリスク評価を行う解析装置であって、
特定の情報を変数又はオブジェクトに格納する処理を行う第一のメソッドの名称と、変数又はオブジェクトに対して所定の処理を行う第二のメソッドの名称とを記憶する記憶手段と、
解析対象のクラスファイルに含まれるバイトコードを解析し、前記特定の情報が格納された変数又はオブジェクトに対して前記所定の処理が行われるのか否かを追跡することで、前記解析対象のクラスファイルで使用される変数又はオブジェクトに値を書き込むメソッドの名称、及び、前記変数又はオブジェクトに格納された値を読込むメソッドの名称が記録された履歴を生成する、解析手段と、
前記履歴に記録された前記変数又はオブジェクトに値を書き込むメソッドの名称のうち、前記第一のメソッドの名称と同一であるメソッドにより値が書き込まれた変数又はオブジェクトが抽出されるか否か、及び、抽出された変数又はオブジェクトが前記第二のメソッドの名称と同一の名称のメソッドで読込まれているか否かを検索することで、リスク評価を行う評価手段と、
を有し、
前記評価手段は、
前記履歴に記録された前記変数又はオブジェクトに値を書き込むメソッドの名称のうち、前記第一のメソッドの名称と同一であるメソッドにより値が書き込まれた変数又はオブジェクトが抽出されない場合、前記Java(登録商標)アプリケーションはリスクが低であると評価し、
前記履歴に記録された前記変数又はオブジェクトに値を書き込むメソッドの名称のうち、前記第一のメソッドの名称と同一であるメソッドにより値が書き込まれた変数又はオブジェクトが抽出され、かつ、前記抽出された変数又はオブジェクトが前記第二のメソッドの名称と同一の名称のメソッドで読込まれていない場合、前記Java(登録商標)アプリケーションはリスクが中であると評価し、
前記履歴に記録された前記変数又はオブジェクトに値を書き込むメソッドの名称のうち、前記第一のメソッドの名称と同一であるメソッドにより値が書き込まれた変数又はオブジェクトが抽出され、かつ、前記抽出された変数又はオブジェクトが前記第二のメソッドの名称と同一の名称のメソッドで読込まれている場合、前記Java(登録商標)アプリケーションはリスクが高であると評価する、解析装置。 - 前記特定の情報は、個人情報であり、
前記所定の処理は、変数又はオブジェクトに格納された値をネットワークに送信する処理である、
請求項1に記載の解析装置。 - コンピュータを、請求項1又は2に記載の解析装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016099308A JP6770335B2 (ja) | 2016-05-18 | 2016-05-18 | 解析装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016099308A JP6770335B2 (ja) | 2016-05-18 | 2016-05-18 | 解析装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017207882A JP2017207882A (ja) | 2017-11-24 |
JP6770335B2 true JP6770335B2 (ja) | 2020-10-14 |
Family
ID=60417207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016099308A Active JP6770335B2 (ja) | 2016-05-18 | 2016-05-18 | 解析装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6770335B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258797B (zh) * | 2020-01-13 | 2023-04-18 | 北京字节跳动网络技术有限公司 | 一种内存泄露的检测方法、装置、介质和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5690689B2 (ja) * | 2011-09-16 | 2015-03-25 | Kddi株式会社 | アプリケーション解析装置およびプログラム |
-
2016
- 2016-05-18 JP JP2016099308A patent/JP6770335B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017207882A (ja) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101944570B1 (ko) | 변형 컨텍스트-인식 데이터 소스 관리 | |
Sen et al. | Jalangi: A selective record-replay and dynamic analysis framework for JavaScript | |
US8261244B2 (en) | Arbitrary runtime function call tracing | |
KR102077360B1 (ko) | 애플리케이션에 대한 중간 언어 코드로부터 네이티브 코드를 생성하는 기법 | |
US11074154B2 (en) | Identifying a source file for use in debugging compiled code | |
Lin et al. | Automated forensic analysis of mobile applications on Android devices | |
US10048960B2 (en) | Identifying source code used to build executable files | |
TW201807576A (zh) | 對用於應用二進位碼的經更新的版本的目標應用功能的虛擬記憶體位址進行更新 | |
US20150199261A1 (en) | Classification of JavaScript Code for Debugging using Just My Code | |
Shahriar et al. | Testing of memory leak in android applications | |
US9317607B2 (en) | Executing a fast crawl over a computer-executable application | |
JP6070847B2 (ja) | 検証方法、検証装置および検証プログラム | |
US8984487B2 (en) | Resource tracker | |
JP2020119348A (ja) | 解析プログラム、解析方法および解析装置 | |
Xu et al. | A dynamic taint analysis tool for android app forensics | |
JP5846581B2 (ja) | コードを投機的に最適化するための方法、並びにそのコンピュータ及びコンピュータ・プログラム | |
US8769498B2 (en) | Warning of register and storage area assignment errors | |
JP6770335B2 (ja) | 解析装置及びプログラム | |
Wu et al. | CydiOS: A Model-Based Testing Framework for iOS Apps | |
KR20190020363A (ko) | 동적 분석과 정적 분석을 연계한 프로그램을 분석하기 위한 방법 및 장치 | |
US9672020B2 (en) | Selectively loading precompiled header(s) and/or portion(s) thereof | |
JP7380851B2 (ja) | テストスクリプト生成装置、テストスクリプト生成方法及びプログラム | |
JP5728979B2 (ja) | 情報処理装置、ソフトウェア検査方法およびソフトウェア検査プログラム | |
US9898257B2 (en) | Automatic probe construction system and method thereof | |
CN116955209B (zh) | WebAssembly虚拟机的测试方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190515 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200324 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200511 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200609 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200803 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20200803 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20200813 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20200818 |
|
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: 20200901 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200925 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6770335 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |