CN104636661A - 一种分析Android应用程序的方法和系统 - Google Patents

一种分析Android应用程序的方法和系统 Download PDF

Info

Publication number
CN104636661A
CN104636661A CN201310542708.5A CN201310542708A CN104636661A CN 104636661 A CN104636661 A CN 104636661A CN 201310542708 A CN201310542708 A CN 201310542708A CN 104636661 A CN104636661 A CN 104636661A
Authority
CN
China
Prior art keywords
instruction
privacy leakage
decompiling
behavior
analysis
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.)
Pending
Application number
CN201310542708.5A
Other languages
English (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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201310542708.5A priority Critical patent/CN104636661A/zh
Priority to PCT/CN2014/090302 priority patent/WO2015067170A1/zh
Publication of CN104636661A publication Critical patent/CN104636661A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Abstract

本发明公开一种分析Android应用程序的方法和系统。该方法包括以下步骤:运行前静态分析,该步骤包括:提取应用程序文件中的涉及逻辑流程的二进制文件,对该二进制文件进行反编译得到反编译代码,对该反编译代码进行隐私泄露分析,识别可能涉及隐私泄露的指令。

Description

一种分析Android应用程序的方法和系统
技术领域
本发明涉及信息安全,并且尤其涉及分析Android应用程序的方法和系统。
背景技术
在现有技术中,查明隐私泄露通常在隐私泄露事件发生后进行。例如,在运行Android平台的设备发生了隐私泄露之后,对Android平台上的应用程序进行分析检测(例如分析检测该应用程序使用过的资源,收发过的数据)从而查明隐私泄露。
现有的技术方案根据应用程序运行的结果数据以补救的形式来处理隐私泄露,应对时间滞后而且无法预防隐私泄露。因此,需要一种能够预防隐私泄露的技术方案。
发明内容
根据本发明的一个目的,公开一种分析Android应用程序的方法,包括以下步骤:
运行前静态分析,该步骤包括:
提取应用程序文件中的涉及逻辑流程的二进制文件,
对该二进制文件进行反编译得到反编译代码,
对该反编译代码进行隐私泄露分析,识别可能涉及隐私泄露的指令。
优选地,上述隐私泄露分析步骤包括:
在反编译代码中查找涉及隐私数据的关键指令,
判断关键指令和与该关键指令相关的其它指令是否执行与外界进行数据交换的操作,
将关键指令和与该关键指令相关的其它指令中的执行与外界进行数据交换的操作的指令标记为可能涉及隐私泄露的指令。
优选地,该方法还包括以下步骤:
运行中动态分析,该步骤包括:
记录应用程序在运行时的动态数据,
分析动态数据的行为,识别涉及隐私泄露的行为。
优选地,分析动态数据的行为的步骤包括:
分析动态数据中的与通过静态分析识别的可能涉及隐私泄露的指令相关的部分,
根据预定的分析算法识别涉及隐私泄露的行为。
优选地,上述隐私泄露分析步骤还包括:
生成静态分析报告。
优选地,运行中动态分析的步骤还包括:
生成隐私泄露安全分析报告。
根据本发明的一个目的,公开一种分析Android应用程序的系统,包括:
运行前静态分析装置,该装置包括:
提取单元,用于提取应用程序文件中的涉及逻辑流程的二进制文件,
反编译单元,用于对该二进制文件进行反编译得到反编译代码,
第一分析单元,用于对该反编译代码进行隐私泄露分析,识别可能涉及隐私泄露的指令。
优选地,所述第一分析单元被配置成:
在反编译代码中查找涉及隐私数据的关键指令,
判断关键指令和与该关键指令相关的其它指令是否执行与外界进行数据交换的操作,
将关键指令和与该关键指令相关的其它指令中的执行与外界进行数据交换的操作的指令标记为可能涉及隐私泄露的指令。
优选地,该系统还包括:
运行中动态分析装置,该装置包括:
监控单元,用于记录应用程序在运行时的动态数据,
第二分析单元,用于分析动态数据的行为,识别涉及隐私泄露的行为。
优选地,所述第二分析单元被配置成:
分析动态数据中的与通过静态分析识别的可能涉及隐私泄露的指令相关的部分,
根据预定的分析算法识别涉及隐私泄露的行为。
优选地,所述第一分析单元还被配置成:
生成静态分析报告。
优选地,所述第二分析单元还被配置成:
生成隐私泄露安全分析报告。
本发明的一个优势在于,能够进行运行前静态分析与运行时动态分析来检测隐私泄露。本发明的一个优势在于,能够综合使用运行前静态分析和运行过程中触发应用程序的行为的动态分析,根据预定的算法分析统计应用中涉及到隐私泄露的相关指令及其操作从而判定是否存隐私泄露。本发明的一个优势在于,生成隐私泄露分析报告。本发明的一个优势在于,能够在应用程序的层面对隐私数据的泄漏进行检测,无需对Android系统底层进行修改,也不会对Android系统造成额外的负担。
附图说明
在参照附图阅读了本发明的具体实施方式以后,本领域技术人员将会更清楚地了解本发明的各个方面。本领域技术人员应当理解的是,这些附图仅仅用于配合具体实施方式说明本发明的技术方案,而并非意在对本发明的保护范围构成限制。
图1是根据本发明一个实施例的分析Android应用程序的方法的步骤示意图。
图2是根据本发明一个实施例的分析Android应用程序的方法的步骤示意图。
图3是根据本发明一个实施例的分析Android应用程序的方法的步骤示意图。
图4是根据本发明一个实施例的分析Android应用程序的系统的结构示意图。
具体实施方式
下面参照附图,对本发明的具体实施方式作进一步的详细描述。在下面的描述中,为了解释的目的,陈述许多具体细节以便提供对实施例的一个或多个方面的透彻理解。然而,对于本领域技术人员可以显而易见的是,可以这些具体细节的较少程度来实践各实施例的一个或多个方面。因此下面的描述不被视为局限性的,而是通过所附权利要求来限定保护范围。
图1是根据本发明一个实施例的分析Android应用程序的方法的步骤示意图。如图所示,该方法包括以下步骤:
步骤101:提取应用程序文件中的涉及逻辑流程的二进制文件,
步骤102:对该二进制文件进行反编译得到反编译代码,
步骤103:对该反编译代码进行隐私泄露分析,识别可能涉及隐私泄露的指令。
上述3个步骤是应用程序的运行前静态分析。这里,隐私泄露是指将关于Android设备和用户的敏感信息泄露给第三方的情况。
图2是根据本发明另一个实施例的分析Android应用程序的方法的步骤示意图。图2进一步描述关于图1中步骤103的情况。如图所示,隐私泄露分析步骤包括:
步骤1031:在反编译代码中查找涉及隐私数据的关键指令,
步骤1032:判断关键指令和与该关键指令相关的其它指令是否执行与外界进行数据交换的操作,
步骤1033:将关键指令和与该关键指令相关的其它指令中的执行与外界进行数据交换的操作的指令标记为可能涉及隐私泄露的指令。
这里,与外界进行数据交换是指与第三方进行隐私数据的交换。在一个示例中,可以生成静态分析报告。
图3是根据本发明另一个实施例的分析Android应用程序的方法的步骤示意图。在该方法中,描述应用程序的运行中动态分析。如图3所示,该方法包括以下步骤:
步骤201:记录应用程序在运行时的动态数据,
步骤202:分析动态数据的行为,识别涉及隐私泄露的行为。
这里,动态数据的行为是指与该动态数据相关的操作。通过分析动态数据能够对应用程序运行中的一切操作进行监控和判断,从而识别应用程序在运行期间是否进行了泄漏隐私数据的操作。
在一个示例中,可以主动触发应用程序的行为,从而记录尽可能完全的运行时的动态数据。
在一个示例中,可以根据动态数据获取例如运行中应用程序的Class、Method、Opcode、String等信息,并从中识别出可能存在的泄漏隐私数据的行为。例如,可以配置策略来进行不同类型的行为分析。
在一个实施例中,将上述的运行前静态分析和运行中动态分析相结合。此时,对于上述实施例中的步骤202来说,分析动态数据的行为的步骤可以包括:分析动态数据中的与通过静态分析识别的可能涉及隐私泄露的指令相关的部分,以及根据预定的分析算法识别涉及隐私泄露的行为。
该实施例通过综合分析提高了识别隐私泄露的行为的效率。在一个示例中,还生成隐私泄露安全分析报告。
图4是根据本发明一个实施例的分析Android应用程序的系统的结构示意图。如图所示,该系统包括运行前静态分析装置,该装置包括:提取单元,用于提取应用程序文件中的涉及逻辑流程的二进制文件,反编译单元,用于对该二进制文件进行反编译得到反编译代码,第一分析单元,用于对该反编译代码进行隐私泄露分析,识别可能涉及隐私泄露的指令。
在一个实施例中,第一分析单元被配置成:
在反编译代码中查找涉及隐私数据的关键指令,
判断关键指令和与该关键指令相关的其它指令是否执行与外界进行数据交换的操作,
将关键指令和与该关键指令相关的其它指令中的执行与外界进行数据交换的操作的指令标记为可能涉及隐私泄露的指令。
再如图所示,该系统还可以包括运行中动态分析装置,该装置包括:
监控单元,用于记录应用程序在运行时的动态数据,
第二分析单元,用于分析动态数据的行为,识别涉及隐私泄露的行为。
这里,监控单元可以被部署在Android系统底层从而避免给系统带来过多的负载。被加载到Android系统的监控单元将记录的动态数据发送到第二分析单元以供进一步分析。
在一个实施例中,所述第二分析单元被配置成:
分析动态数据中的与通过静态分析识别的可能涉及隐私泄露的指令相关的部分,
根据预定的分析算法识别涉及隐私泄露的行为。
这里,第二分析单元还从第一分析单元接收可能涉及隐私泄露的指令。
通过以上实施方式的描述,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。

Claims (12)

1. 一种分析Android应用程序的方法,其特征在于,包括以下步骤:
运行前静态分析,该步骤包括:
提取应用程序文件中的涉及逻辑流程的二进制文件,
对该二进制文件进行反编译得到反编译代码,
对该反编译代码进行隐私泄露分析,识别可能涉及隐私泄露的指令。
2. 如权利要求1所述的方法,其特征在于,
上述隐私泄露分析步骤包括:
在反编译代码中查找涉及隐私数据的关键指令,
判断关键指令和与该关键指令相关的其它指令是否执行与外界进行数据交换的操作,
将关键指令和与该关键指令相关的其它指令中的执行与外界进行数据交换的操作的指令标记为可能涉及隐私泄露的指令。
3. 如权利要求1或2所述的方法,其特征在于,该方法还包括以下步骤:
运行中动态分析,该步骤包括:
记录应用程序在运行时的动态数据,
分析动态数据的行为,识别涉及隐私泄露的行为。
4. 如权利要求3所述的方法,其特征在于,
分析动态数据的行为的步骤包括:
分析动态数据中的与通过静态分析识别的可能涉及隐私泄露的指令相关的部分,
根据预定的分析算法识别涉及隐私泄露的行为。
5. 如权利要求4所述的方法,其特征在于,
上述隐私泄露分析步骤还包括:
生成静态分析报告。
6. 如权利要求5所述的方法,其特征在于,
运行中动态分析的步骤还包括:
生成隐私泄露安全分析报告。
7. 一种分析Android应用程序的系统,其特征在于,包括:
运行前静态分析装置,该装置包括:
提取单元,用于提取应用程序文件中的涉及逻辑流程的二进制文件,
反编译单元,用于对该二进制文件进行反编译得到反编译代码,
第一分析单元,用于对该反编译代码进行隐私泄露分析,识别可能涉及隐私泄露的指令。
8. 如权利要求1所述的系统,其特征在于,
所述第一分析单元被配置成:
在反编译代码中查找涉及隐私数据的关键指令,
判断关键指令和与该关键指令相关的其它指令是否执行与外界进行数据交换的操作,
将关键指令和与该关键指令相关的其它指令中的执行与外界进行数据交换的操作的指令标记为可能涉及隐私泄露的指令。
9. 如权利要求7或8所述的系统,其特征在于,该系统还包括:
运行中动态分析装置,该装置包括:
监控单元,用于记录应用程序在运行时的动态数据,
第二分析单元,用于分析动态数据的行为,识别涉及隐私泄露的行为。
10. 如权利要求9所述的系统,其特征在于,
所述第二分析单元被配置成:
分析动态数据中的与通过静态分析识别的可能涉及隐私泄露的指令相关的部分,
根据预定的分析算法识别涉及隐私泄露的行为。
11. 如权利要求10所述的系统,其特征在于,
所述第一分析单元还被配置成:
生成静态分析报告。
12. 如权利要求11所述的系统,其特征在于,
所述第二分析单元还被配置成:
生成隐私泄露安全分析报告。
CN201310542708.5A 2013-11-06 2013-11-06 一种分析Android应用程序的方法和系统 Pending CN104636661A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310542708.5A CN104636661A (zh) 2013-11-06 2013-11-06 一种分析Android应用程序的方法和系统
PCT/CN2014/090302 WO2015067170A1 (zh) 2013-11-06 2014-11-05 一种分析Android应用程序的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310542708.5A CN104636661A (zh) 2013-11-06 2013-11-06 一种分析Android应用程序的方法和系统

Publications (1)

Publication Number Publication Date
CN104636661A true CN104636661A (zh) 2015-05-20

Family

ID=53040904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310542708.5A Pending CN104636661A (zh) 2013-11-06 2013-11-06 一种分析Android应用程序的方法和系统

Country Status (2)

Country Link
CN (1) CN104636661A (zh)
WO (1) WO2015067170A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760761A (zh) * 2016-02-04 2016-07-13 中国联合网络通信集团有限公司 软件行为分析方法和装置
CN107577946A (zh) * 2017-10-17 2018-01-12 江苏通付盾信息安全技术有限公司 iOS应用程序的分析方法、装置、系统及PC设备
CN110147672A (zh) * 2019-03-28 2019-08-20 江苏通付盾信息安全技术有限公司 一种基于iOS应用的安全检测方法、装置及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106934290B (zh) * 2015-12-31 2020-07-07 阿里巴巴集团控股有限公司 漏洞检测方法及装置
CN109995526A (zh) * 2019-04-10 2019-07-09 睿驰达新能源汽车科技(北京)有限公司 一种密钥的存储方法和装置、密钥的调用方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186740A (zh) * 2011-12-27 2013-07-03 北京大学 一种Android恶意软件的自动化检测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737190B (zh) * 2012-07-04 2015-08-26 复旦大学 基于静态分析的Android应用日志中信息泄漏隐患的检测方法
CN102779255B (zh) * 2012-07-16 2014-11-12 腾讯科技(深圳)有限公司 判断恶意程序的方法及装置
CN103309808B (zh) * 2013-06-13 2016-06-15 华为技术有限公司 基于标签的安卓用户隐私泄露黑盒检测方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186740A (zh) * 2011-12-27 2013-07-03 北京大学 一种Android恶意软件的自动化检测方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760761A (zh) * 2016-02-04 2016-07-13 中国联合网络通信集团有限公司 软件行为分析方法和装置
CN107577946A (zh) * 2017-10-17 2018-01-12 江苏通付盾信息安全技术有限公司 iOS应用程序的分析方法、装置、系统及PC设备
CN110147672A (zh) * 2019-03-28 2019-08-20 江苏通付盾信息安全技术有限公司 一种基于iOS应用的安全检测方法、装置及系统

Also Published As

Publication number Publication date
WO2015067170A1 (zh) 2015-05-14

Similar Documents

Publication Publication Date Title
US20150256552A1 (en) Imalicious code detection apparatus and method
KR101620931B1 (ko) 악성코드 특징 정보 기반의 유사 악성코드 검색 장치 및 방법
KR102415971B1 (ko) 악성 모바일 앱 감지 장치 및 방법
US10372444B2 (en) Android dynamic loading file extraction method, recording medium and system for performing the method
KR101720686B1 (ko) 시각화 유사도 기반 악성 어플리케이션 감지 장치 및 감지 방법
CN107609396B (zh) 一种基于沙箱虚拟机的逃逸检测方法
CN108959071B (zh) 一种基于RASP的PHP变形webshell的检测方法及系统
CN104636661A (zh) 一种分析Android应用程序的方法和系统
WO2019169760A1 (zh) 测试用例范围确定方法、装置及存储介质
CN103294951B (zh) 一种基于文档型漏洞的恶意代码样本提取方法及系统
CN103049696A (zh) 一种虚拟机躲避识别的方法及装置
US20170277887A1 (en) Information processing apparatus, information processing method, and computer readable medium
CN105095759A (zh) 文件的检测方法及装置
CN103810428A (zh) 一种宏病毒检测方法及装置
CN104252594A (zh) 病毒检测方法和装置
CN111259382A (zh) 恶意行为识别方法、装置、系统和存储介质
KR20160099160A (ko) 명령어 집합의 행위 패턴을 엔-그램 방식으로 모델링하는 방법, 그 방법으로 동작하는 컴퓨팅 장치, 및 그 방법을 컴퓨팅 장치에서 실행하도록 구성되는 기록 매체에 저장된 프로그램
CN105488414A (zh) 一种防止恶意代码探测虚拟环境的方法及系统
CN108090352B (zh) 检测系统及检测方法
KR101428915B1 (ko) 안드로이드 보안을 위한 피드백 기반 어플리케이션 재가공 프레임워크 방법과 그 시스템
CN108804920B (zh) 一种基于跨进程行为监控恶意代码同源性分析的方法
US20140095938A1 (en) Latent defect identification
CN111291377A (zh) 一种应用漏洞的检测方法及系统
CN105701004B (zh) 一种应用测试方法和装置
CN106899977B (zh) 异常流量检验方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150520

RJ01 Rejection of invention patent application after publication