CN104751053A - 移动智能终端软件的静态行为分析方法 - Google Patents
移动智能终端软件的静态行为分析方法 Download PDFInfo
- Publication number
- CN104751053A CN104751053A CN201310744372.0A CN201310744372A CN104751053A CN 104751053 A CN104751053 A CN 104751053A CN 201310744372 A CN201310744372 A CN 201310744372A CN 104751053 A CN104751053 A CN 104751053A
- Authority
- CN
- China
- Prior art keywords
- software
- static behavior
- subset
- intelligent terminal
- mobile intelligent
- 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
Links
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种移动智能终端软件的静态行为分析方法。该方法采用签名比对和机器学习思想,通过解压缩和反编译得到软件源码,并提取出类和函数调用信息和签名信息,在云端比对签名信息,并将类和函数调用信息经SDK字典应生成数值类型的特征向量,经Weka属性约减后得到最终行为特征,最后采用机器学习算法分析软件的静态行为。在保证正确率和检测率的同时,可以更细化的检测出恶意的软件行为,同时防止软件运行时产生的安全隐患,更加稳定高效的分析移动智能终端的软件行为。
Description
技术领域
本发明属于软件行为分析,特别是一种基于移动智能终端软件的静态行为分析方法。
背景技术
随着移动通信技术的快速发展以及移动互联网的出现,移动智能终端在我们的生活中扮演着愈来愈重要的角色,使我们享受着丰富便捷的服务。不过,用户规模的扩大和人们对这方面技术的逐步了解,使得移动智能终端面临的安全威胁日益严重,所引发的安全问题也成为国内外的新兴研究热点之一。在面临的诸多安全隐患当中,因恶意软件造成的危害占据了绝大多数。目前,国内外针对恶意软件行为的鉴别分析已有了一些比较成熟的方法,但移动智能终端固有的特点使其不能运用已有的方法和技术。
目前的软件分析技术主要分为动态方法和静态方法,静态方法是一种细粒度的检测技术,以源码为分析对象,在软件安装运行之前通过逆向手段,利用某些软件分析工具抽取静态行为特征,如函数调用序列、二进制代码片段、配置文件等并进行人工分析,从而理解软件的行为。这是一种更深入的细粒度恶意行为检测技术。
不过目前针对移动智能终端上的软件的行为分析少之又少,很少考虑到终端自身的特点。
发明内容
1、本发明的目的。
本发明的目的在于提供一种移动智能终端软件的静态行为分析方法,从而检测出恶意的软件行为,保护移动智能终端的安全。
2、本发明所采用的技术方案。
移动智能终端软件的静态行为分析方法,步骤如下:
本方法采用机器学习和云计算的思想进行分析处理;
第一步,通过解压缩和反编译等逆向工程手段,得到软件的源码;
第二步,比对软件签名信息,提取类和函数调用信息;
第三步,分析类和函数调用信息,经过终端系统的SDK字典映射,生成数值类型的特征向量,并用Weka软件进行属性约减,得到最终的行为特征;
第四步,将软件行为特征送入云端采用机器学习算法进行处理,从而检测出恶意的软件行为。
3、本发明的有益效果。
本发明与现有技术相比,其显著优点:该方法能够细化深入检测软件的每一个行为特征,并且能够在软件未运行时检测出恶意的软件行为,防止对终端造成威胁。同时采用的机器学习和云端处理思想能够更加稳定高效的分析移动智能终端的软件行为。
下面结合附图对本发明作进一步详细描述。
附图说明
图1是静态行为检测流程图。
图2是DEX文件特征向量提取流程图。
图3是属性筛选流程图。
具体实施方式
实施例
结合图1,本发明涉及一种移动智能终端软件的静态行为分析方法,步骤如下:
第一步、通过解压缩得到软件包,之后用逆向工程等手段得到软件的源码。提取软件签名信息,通过计算MD5值来对比签名信息。
1、签名信息的提取:
通过提取每个软件包中的签名文件的MD5校验码,并以文件名为键组成键值对,逐一进行签名信息对比分析,从而判断出软件是否被修改过。
2、软件包签名比对的实现方式:
通过观察分析软件源码,解析并获取软件包中的信息。
第二步、如图2 所示,提取出类和函数调用信息,送入云端并经过系统给的SDK字典映射生成数值类型的特征向量。以Android为例:
获取敏感类引用信息:按照classes.dex文件头中的记录的偏移量和记录的大小,读取出类型标识符 的列表(type_ids)的信息。由于类型标识符列表(type_ids)属 于结构体数组,其中包含了文件引用的所有类型,其元素为type_id_item结构体,名称为descriptor_idx,类型为unit,属于字符串列表的索引,主要是用来表示该类型的描述信息。根据descriptor_idx可在字符串列 表(string_ids)中按照索引找到classes.dex文件的类和函数调用信息。考虑到同名自定义类,本论文仅提取Android SDK中的类,并把提取到的类作为DEX文件的特征部分。
获取函数引用信息:根据classes.dex文件头中的记录的偏移量和大小,读取出类型标识符列表(method_ids)的信息,而且函数名列表(method_ids)也是一个结构体数组,其中包含了文件调用时的所有函数标识符,其元素为method_id_item结构体。
method_id_item{
ushort class_idx;
ushort proto_idx;
uint name_idx;
};
其中proto_idx是负责索引函数原型列表并指出该函数的原型;name_idx负责索引字符串列表并描述该函数的名称;class_idx是负责索引类型标识符列表并用于标识出该函数的定义类,不过不能指向基本数据类型的类。通过提取name_idx 和class_idx,在字符串列表(string_ids)中可以根据索引找出该classes.dex文件中的所有相关函数调用信息,其中就包括调用的函数的名称以及该函数所属的类的名称。因此,本论文仅对存在于 Android SDK 中的类和函数名称进行提取,并把提取到的信息作为文件特征向量。
获取字符串信息:根据classes.dex文件头中的记录的偏移量和大小,读取出类型标识符列表(string_ids)中的信息,也即字符串列表(string_ids),这也是一个结构体数组,其中的元素为string _id_item结构体,描述名称的字符串为string_data_off,其中存放的则是在数据区中的偏移量和偏移地址,提取到的类和函数调用信息都对应于此字符串的索引。读取string_data_item 中的data成员即可获取真正的字符串,最终的结果采用 MUTF-8编码。
第三步、如图3所示,通过Weka软件对特征向量进行筛选,得到最终的软件静态行为特征。
1、子集产生。通过搜索产生一些属性的子集,以此来评估数据整体。
2、子集评估。按照子集产生过程中已经确定的评估准则进行评估,将符合准则的子集进行比对,找到最优子集。由于在属性选择进程停止之前,评估进程会持续进行,所以需要一个合适的停止准则。
3、停止准则。该准则有三种:预先定义的迭代次数;预先定义选择的属性数;是否增加或删除任意一个属性都不会产生最优子集。
4、结果有效性验证。通过对原属性集和所选子集测试比较之后,选择出最优子集,并利用样本集进行验证
第四步、在云端采用机器学习算法对行为特征进行建模分析,从而检测出恶意的软件行为。
上述实施例不以任何方式限制本发明,凡是采用等同替换或等效变换的方式获得的技术方案均落在本发明的保护范围内。
Claims (6)
1.一种移动智能终端软件的静态行为分析方法,其特征在于采用机器学习和云计算方法,具体步骤如下:
第一步,通过解压缩和反编译等逆向工程手段,得到软件的源码;
第二步,比对软件签名信息,提取类和函数调用信息;
第三步,分析类和函数调用信息,经过终端系统的SDK字典映射,生成数值类型的特征向量,并用Weka软件进行属性约减,得到最终的行为特征;
第四步,将软件行为特征送入云端采用机器学习算法进行处理,从而检测出恶意的软件行为。
2.根据权利要求1所述的移动智能终端软件的静态行为分析方法,其特征在于:比对软件签名信息时通过计算MD5值来获得签名信息特征,通过提取每个软件包中的签名文件的MD5校验码,并以文件名为键组成键值对,逐一进行签名信息对比分析,从而判断出软件是否被修改过。
3. 根据权利要求1所述的移动智能终端软件的静态行为分析方法,其特征在于:提取出的类和函数调用信息是在终端完成,之后把信息送入云端进行处理,并经过系统给的SDK字典映射生成数值类型的特征向量。
4.根据权利要求1所述的移动智能终端软件的静态行为分析方法,其特征在于:通过Weka的自带的属性选择算法对行为特征向量进行筛选,得到最终的软件静态行为特征,再采用相关及其学习算法进行分类建模和训练,检测出恶意的软件行为。
5.根据权利要求4所述的移动智能终端软件的静态行为分析方法,其特征在于所述的软件静态行为特征按照如下步骤进行:
(1)、子集产生:通过搜索产生属性的子集,评估数据整体:
(2)、子集评估:按照子集产生过程中已经确定的评估准则进行评估,将符合准则的子集进行比对,找到最优子集,在属性选择进程停止之前,评估进程会持续进行,基于停止准则停止进程;
(3)、结果有效性验证:通过对原属性集和所选子集测试比较之后,选择出最优子集,并利用样本集进行验证。
6.根据权利要求5所述的移动智能终端软件的静态行为分析方法,其特征在于所述的停止准则有三种:预先定义的迭代次数;预先定义选择的属性数;是否增加或删除任意一个属性都不会产生最优子集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310744372.0A CN104751053A (zh) | 2013-12-30 | 2013-12-30 | 移动智能终端软件的静态行为分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310744372.0A CN104751053A (zh) | 2013-12-30 | 2013-12-30 | 移动智能终端软件的静态行为分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104751053A true CN104751053A (zh) | 2015-07-01 |
Family
ID=53590725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310744372.0A Pending CN104751053A (zh) | 2013-12-30 | 2013-12-30 | 移动智能终端软件的静态行为分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104751053A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105184160A (zh) * | 2015-07-24 | 2015-12-23 | 哈尔滨工程大学 | 一种基于API对象调用关系图的Android手机平台应用程序恶意行为检测的方法 |
CN105630684A (zh) * | 2016-01-26 | 2016-06-01 | 百度在线网络技术(北京)有限公司 | 软件开发工具包识别方法和装置 |
CN105677615A (zh) * | 2016-01-04 | 2016-06-15 | 北京邮电大学 | 一种基于weka接口的分布式机器学习方法 |
CN106203117A (zh) * | 2016-07-12 | 2016-12-07 | 国家计算机网络与信息安全管理中心 | 一种基于机器学习的恶意移动应用程序判定方法 |
CN106933743A (zh) * | 2017-03-17 | 2017-07-07 | 深圳创维-Rgb电子有限公司 | 一种测试方法和装置 |
CN107871080A (zh) * | 2017-12-04 | 2018-04-03 | 杭州安恒信息技术有限公司 | 大数据混合式Android恶意代码检测方法及装置 |
CN109661652A (zh) * | 2016-07-19 | 2019-04-19 | 2236008安大略有限公司 | 使用系统调用序列的异常检测 |
US10552286B1 (en) | 2018-07-25 | 2020-02-04 | King Fahd University Of Petroleum And Minerals | Reverse engineering method, system and computer program thereof |
JP2022008591A (ja) * | 2015-07-15 | 2022-01-13 | サイランス・インコーポレイテッド | マルウェア検出 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040181677A1 (en) * | 2003-03-14 | 2004-09-16 | Daewoo Educational Foundation | Method for detecting malicious scripts using static analysis |
CN102663281A (zh) * | 2012-03-16 | 2012-09-12 | 成都市华为赛门铁克科技有限公司 | 检测恶意软件的方法和装置 |
-
2013
- 2013-12-30 CN CN201310744372.0A patent/CN104751053A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040181677A1 (en) * | 2003-03-14 | 2004-09-16 | Daewoo Educational Foundation | Method for detecting malicious scripts using static analysis |
CN102663281A (zh) * | 2012-03-16 | 2012-09-12 | 成都市华为赛门铁克科技有限公司 | 检测恶意软件的方法和装置 |
Non-Patent Citations (2)
Title |
---|
房鑫鑫: ""Android恶意软件实现及检测研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
童振飞: ""Android恶意软件静态检测方案的研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022008591A (ja) * | 2015-07-15 | 2022-01-13 | サイランス・インコーポレイテッド | マルウェア検出 |
US11928213B2 (en) | 2015-07-15 | 2024-03-12 | Cylance Inc. | Malware detection |
JP7246448B2 (ja) | 2015-07-15 | 2023-03-27 | サイランス・インコーポレイテッド | マルウェア検出 |
CN105184160A (zh) * | 2015-07-24 | 2015-12-23 | 哈尔滨工程大学 | 一种基于API对象调用关系图的Android手机平台应用程序恶意行为检测的方法 |
CN105184160B (zh) * | 2015-07-24 | 2018-05-18 | 哈尔滨工程大学 | 一种基于API对象调用关系图的Android手机平台应用程序恶意行为检测的方法 |
CN105677615A (zh) * | 2016-01-04 | 2016-06-15 | 北京邮电大学 | 一种基于weka接口的分布式机器学习方法 |
CN105677615B (zh) * | 2016-01-04 | 2018-11-23 | 北京邮电大学 | 一种基于weka接口的分布式机器学习方法 |
CN105630684A (zh) * | 2016-01-26 | 2016-06-01 | 百度在线网络技术(北京)有限公司 | 软件开发工具包识别方法和装置 |
CN105630684B (zh) * | 2016-01-26 | 2019-10-11 | 百度在线网络技术(北京)有限公司 | 软件开发工具包识别方法和装置 |
CN106203117A (zh) * | 2016-07-12 | 2016-12-07 | 国家计算机网络与信息安全管理中心 | 一种基于机器学习的恶意移动应用程序判定方法 |
CN109661652A (zh) * | 2016-07-19 | 2019-04-19 | 2236008安大略有限公司 | 使用系统调用序列的异常检测 |
CN109661652B (zh) * | 2016-07-19 | 2023-09-01 | 黑莓有限公司 | 使用系统调用序列的异常检测 |
CN106933743A (zh) * | 2017-03-17 | 2017-07-07 | 深圳创维-Rgb电子有限公司 | 一种测试方法和装置 |
CN107871080A (zh) * | 2017-12-04 | 2018-04-03 | 杭州安恒信息技术有限公司 | 大数据混合式Android恶意代码检测方法及装置 |
US11126526B2 (en) | 2018-07-25 | 2021-09-21 | King Fahd University Of Petroleum And Minerals | Method including collecting and querying source code to reverse engineer software |
US11126527B2 (en) | 2018-07-25 | 2021-09-21 | King Fahd University Of Petroleum And Minerals | Software engineering method including tracing and visualizing |
US10552286B1 (en) | 2018-07-25 | 2020-02-04 | King Fahd University Of Petroleum And Minerals | Reverse engineering method, system and computer program thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104751053A (zh) | 移动智能终端软件的静态行为分析方法 | |
CN109753800B (zh) | 融合频繁项集与随机森林算法的Android恶意应用检测方法及系统 | |
CN106709345B (zh) | 基于深度学习方法推断恶意代码规则的方法、系统及设备 | |
CN102831345B (zh) | Sql注入漏洞检测中的注入点提取方法 | |
CN105184160B (zh) | 一种基于API对象调用关系图的Android手机平台应用程序恶意行为检测的方法 | |
CN108959924A (zh) | 一种基于词向量和深度神经网络的Android恶意代码检测方法 | |
CN103365699B (zh) | 基于apk的系统api和运行时字符串的提取方法及系统 | |
CN103839005A (zh) | 移动操作系统的恶意软件检测方法和恶意软件检测系统 | |
CN101593253A (zh) | 一种恶意程序判断方法及装置 | |
CN104751052A (zh) | 基于svm算法的移动智能终端软件的动态行为分析方法 | |
CN105205397A (zh) | 恶意程序样本分类方法及装置 | |
CN108063768B (zh) | 基于网络基因技术的网络恶意行为识别方法及装置 | |
CN107273746A (zh) | 一种基于apk字符串特征的变种恶意软件检测方法 | |
CN105426759A (zh) | Url的合法性识别方法及装置 | |
CN109271788A (zh) | 一种基于深度学习的Android恶意软件检测方法 | |
Narayanan et al. | Contextual weisfeiler-lehman graph kernel for malware detection | |
CN103914657A (zh) | 一种基于函数特征的恶意程序检测方法 | |
KR20200039912A (ko) | Ai 기반 안드로이드 악성코드 자동화 분석 시스템 및 방법 | |
CN105989287A (zh) | 一种海量恶意样本同源性判定方法及系统 | |
CN106203229A (zh) | 不同权限的终端设备识读二维码以显示不同信息的方法 | |
CN104636665A (zh) | 一种Android应用程序的描述和匹配方法 | |
CN104899009A (zh) | 一种安卓应用的识别方法及装置 | |
CN112148305A (zh) | 一种应用检测方法、装置、计算机设备和可读存储介质 | |
CN104866764A (zh) | 一种基于对象引用图的Android手机恶意软件检测方法 | |
US10296743B2 (en) | Method and device for constructing APK virus signature database and APK virus detection system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150701 |