CN108595953B - 对手机应用进行风险评估的方法 - Google Patents

对手机应用进行风险评估的方法 Download PDF

Info

Publication number
CN108595953B
CN108595953B CN201810297421.3A CN201810297421A CN108595953B CN 108595953 B CN108595953 B CN 108595953B CN 201810297421 A CN201810297421 A CN 201810297421A CN 108595953 B CN108595953 B CN 108595953B
Authority
CN
China
Prior art keywords
mobile phone
phone application
feature vector
static
android
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810297421.3A
Other languages
English (en)
Other versions
CN108595953A (zh
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.)
Dongguan Jurun Technology Service Co ltd
Original Assignee
Dongguan Xinchen Zhilian Technology 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 Dongguan Xinchen Zhilian Technology Co ltd filed Critical Dongguan Xinchen Zhilian Technology Co ltd
Priority to CN201810297421.3A priority Critical patent/CN108595953B/zh
Publication of CN108595953A publication Critical patent/CN108595953A/zh
Application granted granted Critical
Publication of CN108595953B publication Critical patent/CN108595953B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明一种对手机应用进行风险评估方法,将手机应用安装到安卓沙盒中,自动启动并操纵该手机应用,模拟用户对手机应用的各种实际操作,通过对手机应用运行情况的监视,获得手机应用程序各种API的调用信息以及各种动态行为,从中提取动态行为特征向量,同时对手机应用APK的静态代码提取静态特征向量,构建由动态行为/静态特征向量所组成的特征向量库,然后将基于该动态行为/静态特征向量进行机器学习而分别得到预测模型关联叠加,能准确率高且快速地检测和识别出手机应用程序的恶意行为。

Description

对手机应用进行风险评估的方法
技术领域
本发明涉及一种对手机应用进行风险评估的方法。
背景技术
当前,在使用Android系统的移动设备中,恶意软件泛滥严重。这些应用程序包含各种恶意行为,引发用户的隐私泄漏、经济损失等安全问题。
有在先技术对Android恶意软件进行静态和动态结合的检测,通过把应用程序安装到Android沙盒中,自动启动并操纵Android应用程序,模拟用户对应用程序的各种实际操作,通过对应用程序运行情况的监视,可以获得应用程序的API调用信息以及各种动态行为,以此达到检测应用程序恶意行为的目的。
新漏洞不断出现被发现,黑客和恶意软件会判断沙箱,在虚拟环境里不触发;黑客和恶意软件已经把恶意行为多线程化,一个攻击需要多个进程来完成,传统方法没法关联出恶意行为,黑客和恶意软件有各种方法延长恶意行为多触发,传统沙箱在几分钟的自动化检测中没法触发恶意行为。传统的恶意软件检测和评估方法,无法解决上述存在的问题。
发明内容
本发明的目的在于提供一种对手机应用进行风险评估的方法,可以在很短时间能检测出需要长时间运行才能显现的病毒行为,能防止病毒识别出沙盒环境,从而不被触发的情形,将基于动态/静态特征向量进行机器学习而得到预测模型关联叠加,大大提高了识别病毒行为的准确率和速度。
本发明一种对手机应用进行风险评估方法,通过包括安卓沙盒、虚拟机控制器、虚拟机解析器、静态代码查看器helper和动态行为/静态特征向量库的手机应用风险评估系统对手机应用进行风险评估,包括如下步骤:
步骤1、修改安卓沙盒内安卓操作系统的子模块,该修改包括如下内容:
(1)在时钟模块中增加时钟加速模块time machine,用于加速手机应用的运行时间,使得需要长时间运行才能显现的病毒行为,可以在缩短后的时间内被检测到;
(2)增加UI自动测试模块UI automation,用于模拟用户触动UI界面的每个功能模块,模拟手机应用的用户使用状态和场景,以触发病毒的运行从而被截获;
(3)增加钩子操作器hook manipulator,用于启动钩子函数,用于截获处理window消息或特定事件;
(4)增加人机交互界面模块Genymotion,可通过该模块对安卓沙盒进行参数配置;
(5)增加枚举器Enumerator+,用于依次启动手机应用APK中的每个Activity组件,模拟手机应用每个功能的运行状态,以触发病毒的运行从而被截获;
(6)增加防止病毒的反沙盒模块Anti-defeat,用于防止病毒识别出沙盒环境,从而不被触发;
步骤2、通过安卓沙盒的网页浏览器接口装载待测试的至少一个手机应用程序,通过调度管理器与虚拟机控制器进行交互,对通过虚拟机控制器所传入的手机应用的config文件,提取该config文件里配置的参数,来得到测试总时间、时钟加速器的加速方法、跨进程的希望关联的相关信息,依据该信息对安卓沙盒操作系统进行系统配置;
步骤3、虚拟机控制器通过日志读取器Log Fetcher读取安卓沙盒的日志库中的手机应用的运行数据,并把该读取的运行数据发送给虚拟机解析器;
步骤4、虚拟机解析器将上述手机应用的运行数据封装成Json格式,作为手机应用的动态行为数据存入日志仓库Log repository中,解析日志仓库中的动态行为数据,做成动态行为特征向量,并且对解析出来的特征做2-gram的特征提取,将提取出来的这些特征汇同上述动态行为特征向量一起存到动态行为特征向量库中;
步骤5、通过静态代码查看器helper针对手机应用的APK进行查看,提取AndroidManifest.xml文件、特征向量规范器feature normalizor、API接口信息和 包括动态库So/静态库lib的函数库信息,从手机应用的APK里提取出字符串,构建用于判断是哪一种病毒或恶意行为的词典,所述特征向量规范器可以把向量字符串转化为哈希值;
步骤6、静态代码查看器helper负责把 API调用函数、代码里的字符串、manifest配置方式、以及app环境设置参数变成静态特征向量,汇总到静态特征向量库中;
步骤7、将动态行为/静态特征向量库的动态行为/静态特征向量分别用于机器学习得到预测模型,并将这两种预测模型做成合成的关联叠加预测模型,通过该关联叠加预测模型检测和识别出手机应用程序的病毒或恶意行为,完成对手机应用的风险评估。
本发明将手机应用安装到安卓沙盒中,自动启动并操纵该手机应用,模拟用户对手机应用的各种实际操作,通过对手机应用运行情况的监视,获得手机应用程序各种API的调用信息以及各种动态行为,从中提取动态行为特征向量,同时对手机应用APK的静态代码提取静态特征向量,构建由动态行为/静态特征向量所组成的特征向量库,然后将基于该动态行为/静态特征向量进行机器学习而分别得到预测模型关联叠加,能准确率高且快速地检测和识别出手机应用程序的恶意行为。
具体实施方式
本发明一种对手机应用进行风险评估方法,通过包括安卓沙盒、虚拟机控制器、虚拟机解析器、静态代码查看器 helper和动态行为/静态特征向量库的手机应用风险评估系统对手机应用进行风险评估,包括如下步骤:
步骤1、修改安卓沙盒内安卓操作系统的子模块,该修改包括如下内容:
(1)在时钟模块中增加时钟加速模块(time machine),用于加速手机应用的运行时间,使得需要长时间运行才能显现的病毒行为,可以在缩短后的时间内被检测到,减少检测时间,提高运行效率;
(2)增加UI自动测试模块(UI automation),用于模拟用户触动UI界面的每个功能模块,模拟手机应用的用户使用状态和场景,以触发病毒的运行从而被截获;
(3)增加钩子操作器(hook manipulator),用于启动钩子函数,用于截获处理window消息或特定事件;
(4)增加人机交互界面模块(Genymotion),可通过该模块对安卓沙盒进行参数配置;
(5)增加枚举器(Enumerator+),用于依次启动APK中的每个Activity组件,模拟手机应用每个功能的运行状态,以触发病毒的运行从而被截获;
(6)增加防止病毒的反沙盒模块(Anti-defeat),用于防止病毒识别出沙盒环境,从而不被触发;
步骤2、通过安卓沙盒的网页浏览器接口(web browser 80)装载待测试的一个手机应用程序,或者多个相关的应用程序,通过调度管理器与虚拟机控制器进行交互,通过虚拟机控制器所传入的手机应用的config文件,通过提取config文件里配置的参数,来得到测试总时间、时钟加速器的加速方法、跨进程的希望关联的相关信息,依据该信息对安卓沙盒操作系统进行系统配置;
步骤3、虚拟机控制器通过日志读取器(Log Fetcher)读取安卓沙盒的日志库中的手机应用的运行数据,并把该读取的运行数据发送给虚拟机解析器;
步骤4、虚拟机解析器将上述手机应用的运行数据封装成Json格式,作为手机应用的动态行为数据存入日志仓库Log repository中,解析日志仓库中的动态行为数据,做成动态行为特征向量,并且对解析出来的特征做2-gram的特征提取,将提取出来的特征汇同上述动态行为特征向量一起存到动态行为特征向量库中;
步骤5、通过静态代码查看器(helper)针对手机应用的APK进行查看,提取AndroidManifest.xml文件、特征向量规范器(feature normalizor)、API接口信息和 包括动态库So/静态库lib的函数库信息, 所述特征向量规范器可以把向量字符串转化为哈希值,避免字符串里的隐私信息引起客户顾虑或违反隐私法规,且哈希值能把向量做小,增加学习以及使用的效率;由于在手机应用的APK里有很多的字符串,往往会体现出黑客的攻击手法和内容,把这些字符串提取出来,构建词典,用于判断是哪一种病毒或恶意行为;
步骤6、静态代码查看器负责把 API调用函数、代码里的字符串、manifest配置方式、以及app环境设置参数变成静态特征向量,汇总到静态特征向量库中;
步骤7、将动态行为/静态特征向量库的动态行为/静态特征向量分别用于机器学习得到预测模型,并将这两种预测模型做成合成的关联叠加预测模型,通过该关联叠加预测模型检测和识别出手机应用程序的病毒或恶意行为,完成对手机应用的风险评估。
以上所述,仅是本发明较佳实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (1)

1.一种对手机应用进行风险评估的方法,其特征在于:通过包括安卓沙盒、虚拟机控制器、虚拟机解析器、静态代码查看器helper和动态行为/静态特征向量库的手机应用风险评估系统对手机应用进行风险评估,包括如下步骤:
步骤1、修改安卓沙盒内安卓操作系统的子模块,该修改包括如下内容:
(1)在时钟模块中增加时钟加速模块time machine,用于加速手机应用的运行时间,使得需要长时间运行才能显现的病毒行为,可以在缩短后的时间内被检测到;
(2)增加UI自动测试模块UI automation,用于模拟用户触动UI界面的每个功能模块,模拟手机应用的用户使用状态和场景,以触发病毒的运行从而被截获;
(3)增加钩子操作器hook manipulator,用于启动钩子函数,用于截获处理window消息或特定事件;
(4)增加人机交互界面模块Genymotion,可通过该模块对安卓沙盒进行参数配置;
(5)增加枚举器Enumerator+,用于依次启动手机应用APK中的每个Activity组件,模拟手机应用每个功能的运行状态,以触发病毒的运行从而被截获;
(6)增加防止病毒的反沙盒模块Anti-defeat,用于防止病毒识别出沙盒环境,从而不被触发;
步骤2、通过安卓沙盒的网页浏览器接口装载待测试的至少一个手机应用程序,通过调度管理器与虚拟机控制器进行交互,对通过虚拟机控制器所传入的手机应用的config文件,提取该config文件里配置的参数,来得到测试总时间、时钟加速器的加速方法、跨进程的希望关联的相关信息,依据该信息对安卓沙盒操作系统进行系统配置;
步骤3、虚拟机控制器通过日志读取器Log Fetcher读取安卓沙盒的日志库中的手机应用的运行数据,并把该读取的运行数据发送给虚拟机解析器;
步骤4、虚拟机解析器将上述手机应用的运行数据封装成Json格式,作为手机应用的动态行为数据存入日志仓库Log repository中,解析日志仓库中的动态行为数据,做成动态行为特征向量,并且对解析出来的特征做2-gram的特征提取,将提取出来的这些特征汇同上述动态行为特征向量一起存到动态行为特征向量库中;
步骤5、通过静态代码查看器helper针对手机应用的APK进行查看,提取AndroidManifest.xml文件、特征向量规范器feature normalizor、API接口信息和包括动态库So/静态库lib的函数库信息,从手机应用的APK里提取出字符串,构建用于判断是哪一种病毒或恶意行为的词典,所述特征向量规范器可以把向量字符串转化为哈希值;
步骤6、静态代码查看器helper负责把 API调用函数、代码里的字符串、manifest配置方式、以及app环境设置参数变成静态特征向量,汇总到静态特征向量库中;
步骤7、将动态行为/静态特征向量库的动态行为/静态特征向量分别用于机器学习得到预测模型,并将这两种预测模型做成合成的关联叠加预测模型,通过该关联叠加预测模型检测和识别出手机应用程序的病毒或恶意行为,完成对手机应用的风险评估。
CN201810297421.3A 2018-04-04 2018-04-04 对手机应用进行风险评估的方法 Active CN108595953B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810297421.3A CN108595953B (zh) 2018-04-04 2018-04-04 对手机应用进行风险评估的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810297421.3A CN108595953B (zh) 2018-04-04 2018-04-04 对手机应用进行风险评估的方法

Publications (2)

Publication Number Publication Date
CN108595953A CN108595953A (zh) 2018-09-28
CN108595953B true CN108595953B (zh) 2020-05-19

Family

ID=63625361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810297421.3A Active CN108595953B (zh) 2018-04-04 2018-04-04 对手机应用进行风险评估的方法

Country Status (1)

Country Link
CN (1) CN108595953B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109657468B (zh) * 2018-11-29 2024-06-18 北京奇虎科技有限公司 病毒行为检测方法、装置及计算机可读存储介质
CN109635523B (zh) * 2018-11-29 2024-04-16 北京奇虎科技有限公司 应用程序检测方法、装置及计算机可读存储介质
CN109753794A (zh) * 2018-11-30 2019-05-14 北京奇虎科技有限公司 一种恶意应用的识别方法、系统、训练方法、设备及介质
WO2021142720A1 (zh) * 2020-01-16 2021-07-22 上海卓悠网络科技有限公司 一种在Android系统中提供沙盒环境保护用户隐私的方法
CN114996708B (zh) * 2022-08-08 2022-12-20 中国信息通信研究院 涉诈手机应用研判方法、装置、电子设备及存储介质
CN117056152B (zh) * 2023-10-13 2024-02-09 腾讯科技(深圳)有限公司 一种设备检测方法和相关装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7604178B2 (en) * 2005-05-11 2009-10-20 Intelleflex Corporation Smart tag activation
US8248211B2 (en) * 2005-07-20 2012-08-21 Intelleflex Corporation Selective RF device activation
CN103793650A (zh) * 2013-12-02 2014-05-14 北京邮电大学 Android应用程序的静态分析方法及装置
CN107491628A (zh) * 2016-06-12 2017-12-19 杭州线条科技有限公司 个性化用户健康风险系数分析系统及方法
CN106778266A (zh) * 2016-11-24 2017-05-31 天津大学 一种基于机器学习的安卓恶意软件动态检测方法
CN107122666A (zh) * 2016-12-05 2017-09-01 招商银行股份有限公司 金融应用的风险评估方法及装置
CN106874761A (zh) * 2016-12-30 2017-06-20 北京邮电大学 一种安卓系统恶意应用检测方法及系统
CN107591202A (zh) * 2017-09-15 2018-01-16 南京鼓楼医院 一种脑卒中防控和快速救助系统及方法

Also Published As

Publication number Publication date
CN108595953A (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
CN108595953B (zh) 对手机应用进行风险评估的方法
CN108133139B (zh) 一种基于多运行环境行为比对的安卓恶意应用检测系统
Spreitzenbarth et al. Mobile-sandbox: having a deeper look into android applications
CN105069355B (zh) webshell变形的静态检测方法和装置
RU2653985C2 (ru) Способ и система обнаружения вредоносного программного обеспечения путем контроля исполнения программного обеспечения запущенного по сценарию
CN108268371B (zh) 面向Android应用的智能模糊测试方法
CN107609396B (zh) 一种基于沙箱虚拟机的逃逸检测方法
CN102810143B (zh) 基于Android平台手机应用程序的安全检测系统及方法
US9917855B1 (en) Mixed analysys-based virtual machine sandbox
CN109101815B (zh) 一种恶意软件检测方法及相关设备
CN106611122A (zh) 基于虚拟执行的未知恶意程序离线检测系统
KR101972825B1 (ko) 하이브리드 분석 기술을 이용한 임베디드 기기 취약점 자동 분석 방법, 장치 및 그 방법을 실행하는 컴퓨터 프로그램
CN104462962B (zh) 一种检测未知恶意代码和二进制漏洞的方法
CN104834859A (zh) 一种Android应用中恶意行为的动态检测方法
US12039034B2 (en) Undetectable sandbox for malware
CN103761481A (zh) 一种恶意代码样本自动处理的方法及装置
CN111859380A (zh) Android App漏洞的零误报检测方法
CN114969760A (zh) 漏洞检测方法及装置、计算机可读介质和电子设备
Usman et al. TEGDroid: Test case generation approach for android apps considering context and GUI events
CN107463493B (zh) 一种面向主机防病毒产品的测试系统和测试方法
Kaur et al. A complete dynamic malware analysis
CN111291377A (zh) 一种应用漏洞的检测方法及系统
CN110414220B (zh) 沙箱内程序动态执行过程中的操作文件提取方法及装置
KR20180127612A (ko) 가상환경에서 악성코드의 분석회피 방지 시스템
CN111767548A (zh) 一种漏洞捕获方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20190807

Address after: 523808 Room 708, Block B1, Guangda West Valley, No. 4, Headquarters of Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Applicant after: Dongguan Xinchen Zhilian Technology Co., Ltd.

Address before: 361000 Fujian city of Xiamen province China (Fujian) Xiamen Xiangyu Road area Free Trade Zone No. 97 Xiamen international shipping center D 8 storey building 03 unit G

Applicant before: Xiamen Redmond Software Development Co., Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220511

Address after: Room 811, building 2, Songhu Road, Dongguan, Guangdong

Patentee after: Dongguan Jurun Technology Service Co.,Ltd.

Address before: 523808 room 708, building B1, Everbright we Valley, No. 4, headquarters 2 Road, Songshanhu high tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee before: Dongguan Xinchen Zhilian Technology Co.,Ltd.

TR01 Transfer of patent right