CN106845217B - 一种安卓应用恶意行为的检测方法 - Google Patents
一种安卓应用恶意行为的检测方法 Download PDFInfo
- Publication number
- CN106845217B CN106845217B CN201710042676.0A CN201710042676A CN106845217B CN 106845217 B CN106845217 B CN 106845217B CN 201710042676 A CN201710042676 A CN 201710042676A CN 106845217 B CN106845217 B CN 106845217B
- Authority
- CN
- China
- Prior art keywords
- module
- executable program
- analysis module
- copying
- technology
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Abstract
现代的反病毒技术体系前端是以反病毒引擎技术为核心,应用于主机和网络两个工作场景;而后端则依靠大规模的海量数据分析处理体系作为支持。传统的恶意行为检测就是依靠前端采集的恶意文件样本或即时触发的事件提交到后端系统中做分析、处理。基于恶意行为检测技术是在近年来反病毒技术不断演进中逐渐形成的,新病毒技术的产生往往会直接促使反病毒技术整个层次的提高,这种攻防对弈往往很被动。沙箱技术是为一些不可靠的程序提供实验而不影响系统运行的环境,其主要思想在于隔离机制与层级安全架构。本发明研究并提出一种基于SVM的恶意行为检测模型,并将其应用于基于沙箱技术的Android系统中。
Description
技术领域
本发明涉及通信领域,具体涉及一种安卓应用恶意行为的检测方法。
背景技术
目前,针对恶意代码及行为的检测可大致分为以下几个方面:
基于网络通信流量的检测。类似在大型互联网企业中,传统通信流量是针对内容的分发逐渐转变为针对整体集群架构的分布式服务策略。在应用层级对负载流量进行检测,清洗并提取包含攻击的通信数据,然后在此基础上进行检测。目前,基于流特征的恶意代码检测技术,从网络中存在的各种己知和未知的异常流量,并配合历史数据对发现的异常流量进行分析,从而得知恶意行为的具体目的。
基于特征码的检测。基于特征码的检测技术可以追溯到80,90年代然后一直流行至今。反病毒软件采用特征匹配的方式去对病毒木马进行查杀。这对已知的病毒木马进行查杀非常有效,一般安全厂商会预先通过蜜罐、蜜网捕获收集大量的恶意样本,并这些样本提取特征码,建立一个巨大的特征库。放在云端,当用户触发一些行为比如说网站下载了一个文件、或者插入U盘时。则针对该敏感文件与特征数据库进行匹配,用来判断该文件是否为恶意文件。目前,一种基于主机异常行为的分布式恶意代码检测技术它是对传统的基于主机特征码的恶意行为检测无法对一些行为或特征时,采取将其提交到分布式恶意代码检测系统中,进行二次检测。从而提高恶意应用的检测准确率。但是这种针对未知的恶意应用采用特征匹配的方式就略显鸡肋。
完整性校验签名机制检测。当我们主机系统感染恶意代码时,有时会伴随一些类似破坏系统资源的状况,因此这些目标的完整性被破坏,因此我们可以对信息资源做完整性校验。还有的一些安全机制会对系统提供保护,当攻击者拿到权限并被系统的安全机制捕获时,直接联动告警并拒绝攻击者的权限并限制对数据的访问。因此在完整性测量方面通过比对当前状态和先前状态即基线来进行确定。典型的完整性校验签名机制有Windows下的代码签名验证。然而基于证书窃取的攻击作业比较普遍,而且被窃取对象往往都是知名厂商,安全分析者们更是看到了专门进行签名证书窃取的恶意代码。同时,可信计算模型也没能有效地覆盖到能够应对格式溢出、脚本、Webshell等威胁。因此签名机制在证书保护上还有很长的路要走。
虚拟机技术。早期的恶意代码中,绝大多数病毒都是感染性病毒。这些病毒往往在干扰目标程序的会加入加密等形式进行病毒代码,可以躲过我们杀毒软件的特征识别,因为它们在静态特征上几乎跟原来完全不一样。我们通过对这些病毒的分析和研究,发现可以通过虚拟执行来还原这些被加密甚至很多被变形的病毒程序都可以还原这些病毒的本来面貌。仍然可以通过传统识别方式识别病症。随着互联网的发展,病毒在形态上通过加壳的方式来对抗特征识别。而虚拟机技术恰好可以解决这类问题,因此以虚拟机技术为根基而衍生出的更多恶意行为检测技术。
启发式恶意代码检测。启发式恶意代码检测属于静态检测方法,它对应一定恶意代码变种或未知的恶意代码有一定的检测率。对应未知的恶意代码,根据已有的知识或经验去进行阈值判断。例如在恶意应用中一些内核函数的调用关系会很固定,这是因为恶意代码都会伴随非常规文件的读写、自身终结等行为。这种行为直接决定了一些内核函数必定会被调用。这些函数的出现的顺序也有规律可循。因此这种方法的重点和难点就是对已有的恶意应用进行特征提取,并根据相关系列样本的特征进行统计归纳,总结出系列病毒样本的规律。例如可以对恶意代码调用的函数名称和调用次数进行分析,然后建立相应的比对基线。当待检测的恶意应用中提取的特征在这基线范围之内是并超过设定的阈值,就判断为恶意代码。这种检测方式同基于特征码的检测方式等并没有真正对应用进行运行动态分析。误报率会比较高。在启发式恶意代码检测中就有人提出基于内核函数调用集的方式去判断恶意应用作为比对基线。
由此可见,基于恶意行为检测技术是在近年来反病毒技术不断演进中逐渐形成的,新病毒技术的产生往往会直接促使反病毒技术整个层次的提高,这种攻防对弈往往很被动。
发明内容
为解决上述技术问题,本申请提出一种基于机器学习的安卓应用恶意行为的检测方法。具体方法如下。
一种安卓应用恶意行为的检测方法,包括有如下步骤:
1)启动安卓智能终端,并在所述终端中应用可执行程序安装;
2)将所述可执行程序复制到沙箱模块;
3)在所述沙箱模块中,对所述可执行程序进行特征提取;
4)将所述特征作为训练好的SVM模块的输入单元,并得到预测风险值;
5)若所述预测风险值大于等于安全阈值,则反馈到安卓智能终端;若所述预测风险值小于安全阈值,则安装可执行程序。
进一步,步骤3)所述的特征提取包括有静态特征提取和动态特征提取,所述静态特征提取所提取的特征为URIS和EMAILS,所述动态特征提取通过网络抓包实现。
进一步,步骤4)所述的训练好的SVM模块的训练步骤包括:
4.1)对所述特征进行预处理;
4.2)对数据进行缩放操作,将数据的属性值归一化;
4.3)选择RBF核函数;
4.4)对于惩罚因子C和核函数参数g,划分网格,令网格点为C=ea、g=eb,其中,a、b为整数,且a=[-5,5]、b=[-5,5];
4.5)将训练数据等分为M个集合,每个集合中包括有n个数据,且M大于等于4的整数;
4.6)对于网格中的每一组(C,g),选取任一集合作为验证集,其余M-1个集合为训练集,训练模型后对验证集进行验证,计算得到验证结果误差的均方值:
4.9)用参数C与g对整个训练集进行训练得到训练好的SVM模块。
进一步,步骤5)所述的安装可执行程序包括如下步骤:
5.1)若所述可执行程序为一般可执行程序,则将所述可执行程序拷贝到指定位置一,所有用户均有权访问所述指定位置一;若所述可执行程序为系统可执行程序,则将所述可执行程序拷贝到指定位置二,仅具有root权限的用户有权访问所述指定位置二;
5.2)解压所述可执行程序,拷贝解压文件并创建所述可执行程序的数据目录;
5.3)解析所述可执行程序的配置文件,并在所述安卓智能终端上创建快捷方式。
附图说明
图1为本发明中安卓应用恶意行为检测方法的过程。
图2为安卓系统上应用的安装方法。
具体实施方式
现结合实施例、附图对本发明作进一步描述。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。
实施例一:
一种安卓应用恶意行为的检测方法,包括有如下步骤:
1)启动安卓智能终端,并在所述终端中应用可执行程序安装;
2)将所述可执行程序复制到沙箱模块;
3)在所述沙箱模块中,对所述可执行程序进行特征提取;
4)将所述特征作为训练好的SVM模块的输入单元,并得到预测风险值;
5)若所述预测风险值大于等于安全阈值,则反馈到安卓智能终端;若所述预测风险值小于安全阈值,则安装可执行程序。
步骤3)所述的特征提取包括有静态特征提取和动态特征提取,所述静态特征提取所提取的特征为URIS和EMAILS,所述动态特征提取通过网络抓包实现。
步骤4)所述的训练好的SVM模块的训练步骤包括:
4.1)对所述特征进行预处理;
4.2)对数据进行缩放操作,将数据的属性值归一化;
4.3)选择RBF核函数;
4.4)对于惩罚因子C和核函数参数g,划分网格,令网格点为C=ea、g=eb,其中,a、b为整数,且a=[-5,5]、b=[-5,5];
4.5)将训练数据等分为M个集合,每个集合中包括有n个数据,且M大于等于4的整数;
4.6)对于网格中的每一组(C,g),选取任一集合作为验证集,其余M-1个集合为训练集,训练模型后对验证集进行验证,计算得到验证结果误差的均方值:
4.9)用参数C与g对整个训练集进行训练得到训练好的SVM模块。
步骤5)所述的安装可执行程序包括如下步骤:
5.1)若所述可执行程序为一般可执行程序,则将所述可执行程序拷贝到指定位置一,所有用户均有权访问所述指定位置一;若所述可执行程序为系统可执行程序,则将所述可执行程序拷贝到指定位置二,仅具有root权限的用户有权访问所述指定位置二;
5.2)解压所述可执行程序,拷贝解压文件并创建所述可执行程序的数据目录;
5.3)解析所述可执行程序的配置文件,并在所述安卓智能终端上创建快捷方式。
实施例二:
在实施例一的基础上,一种安卓应用恶意行为的检测方法,包括有如下步骤:
1)启动安卓智能终端,并在所述终端中应用可执行程序安装;
2)将所述可执行程序复制到沙箱模块;
3)在所述沙箱模块中,对所述可执行程序进行分析和解压;
4)在分析和解压中若所述所述可执行程序格式错误或者解压识别,则将错误信息反馈给用户,否则,进入下一步;
5)分析所述可执行程序的数字证书,将得到的结果与黑名单进行比对,若黑名单命中,则确定为病毒应用,并反馈给用户,否则进入下一步;
6)解析所述可执行程序的配置文件,计算得到初级策略权值,若所述权值超过权值阈值,则确定为病毒,并反馈给用户,否则进入下一步;
7)对所述可执行程序进行特征提取
8)将所述特征作为训练好的SVM模块的输入单元,并得到预测风险值;
9)若所述预测风险值大于等于安全阈值,则反馈到安卓智能终端;若所述预测风险值小于安全阈值,则安装可执行程序。
实施例三:
在上述实施例的基础上,实现上述方法的一种安卓应用恶意行为的检测系统,包括有如下结构:
复制模块,将可执行程序进行复制;
通信模块,用于对所述复制模块复制得到的可执行程序副本的上传和对恶意行为监测结果的反馈;
控制模块,用于用户输入参数、运行检测脚本、计算初级策略权值以及查看检测结果;
存储模块,用于存储样本、黑名单以及权值阈值,并支持用户对进行新建、添加、修改、删除和查询等操作;
比较模块,用于对初级策略权值与权值阈值进行比较;
沙箱模块,用于对可执行程序副本进行恶意行为检测;所述沙箱模块包括有样本分析模块、SVM模块和结果模块,其中,
样本分析模块,该模块包括解压模块、分析模块、解析模块、静态分析模块和动态分析模块,解压模块用于对可执行程序进行识别和解压,分析模块用于对可执行程序的数字签名进行分析,解析模块用于对可执行程序的配置文件进行解析;静态分析模块用于对所述可执行程序进行发编译以提取静态特征,动态分析模块通过触发可执行程序进行抓包提取动态特征;
SVM模块,用于SVM分类模型的建立和预测;
结果模块,利用所述SVM模块形成SVM模型对数据个预测,得到预测结果,并将结果反馈至通信模块。
如上所述,可较好地实现本发明。在不脱离本发明的原理和精神的情况下对这些实施例进行变化、修改、替换、整合和变型仍落入本发明的保护范围内。
Claims (1)
1.一种安卓应用恶意行为的检测系统,其特征在于,所述系统包括:
复制模块,将可执行程序进行复制;
通信模块,用于对所述复制模块复制得到的可执行程序副本的上传和对恶意行为监测结果的反馈;
控制模块,用于用户输入参数、运行检测脚本、计算初级策略权值以及查看检测结果;
存储模块,用于存储样本、黑名单以及权值阈值,并支持用户对样本、黑名单以及权值阈值进行新建、添加、修改、删除和查询操作;
比较模块,用于对初级策略权值与权值阈值进行比较;
沙箱模块,用于对可执行程序副本进行恶意行为检测;所述沙箱模块包括有样本分析模块、SVM模块和结果模块,其中,
样本分析模块,该模块包括解压模块、分析模块、解析模块、静态分析模块和动态分析模块,解压模块用于对可执行程序进行识别和解压,分析模块用于对可执行程序的数字签名进行分析,解析模块用于对可执行程序的配置文件进行解析;静态分析模块用于对所述可执行程序进行发编译以提取静态特征,动态分析模块通过触发可执行程序进行抓包提取动态特征;
SVM模块,用于SVM分类模型的建立和预测;
结果模块,利用所述SVM模块形成SVM模型对数据个预测,得到预测结果,并将结果反馈至通信模块;
所述安卓应用恶意行为的检测系统能够实现如下检测方法,所述检测方法包括:
1)启动安卓智能终端,并在所述终端中应用可执行程序安装;
2)将所述可执行程序复制到沙箱模块;
3)在所述沙箱模块中,对所述可执行程序进行特征提取;
4)将所述特征作为训练好的SVM模块的输入单元,并得到预测风险值;
5)若所述预测风险值大于等于安全阈值,则反馈到安卓智能终端;若所述预测风险值小于安全阈值,则安装可执行程序;
其中,
步骤3)所述的特征提取包括有静态特征提取和动态特征提取,所述静态特征提取所提取的特征为URIS和EMAILS,所述动态特征提取通过网络抓包实现;
步骤4)所述的训练好的SVM模块的训练步骤包括:
4.1)对所述特征进行预处理;
4.2)对数据进行缩放操作,将数据的属性值归一化;
4.3)选择RBF核函数;
4.4)对于惩罚因子C和核函数参数g,划分网格,令网格点为C=ea、g=eb,其中,a、b为整数,且a=[-5,5]、b=[-5,5];
4.5)将训练数据等分为M个集合,每个集合中包括有n个数据,且M大于等于4的整数;
4.6)对于网格中的每一组(C,g),选取任一集合作为验证集,其余M-1个集合为训练集,训练模型后对验证集进行验证,计算得到验证结果误差的均方值:
4.9)用参数C与g对整个训练集进行训练得到训练好的SVM模块;
步骤5)所述的安装可执行程序包括如下步骤:
5.1)若所述可执行程序为一般可执行程序,则将所述可执行程序拷贝到指定位置一,所有用户均有权访问所述指定位置一;若所述可执行程序为系统可执行程序,则将所述可执行程序拷贝到指定位置二,仅具有root权限的用户有权访问所述指定位置二;
5.2)解压所述可执行程序,拷贝解压文件并创建所述可执行程序的数据目录;
5.3)解析所述可执行程序的配置文件,并在所述安卓智能终端上创建快捷方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710042676.0A CN106845217B (zh) | 2017-01-20 | 2017-01-20 | 一种安卓应用恶意行为的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710042676.0A CN106845217B (zh) | 2017-01-20 | 2017-01-20 | 一种安卓应用恶意行为的检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106845217A CN106845217A (zh) | 2017-06-13 |
CN106845217B true CN106845217B (zh) | 2020-08-04 |
Family
ID=59120711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710042676.0A Expired - Fee Related CN106845217B (zh) | 2017-01-20 | 2017-01-20 | 一种安卓应用恶意行为的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106845217B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI668592B (zh) * | 2017-07-28 | 2019-08-11 | 中華電信股份有限公司 | Method for automatically determining the malicious degree of Android App by using multiple dimensions |
CN107392025B (zh) * | 2017-08-28 | 2020-06-26 | 刘龙 | 基于深度学习的恶意安卓应用程序检测方法 |
CN108063768B (zh) * | 2017-12-26 | 2020-11-10 | 河南信息安全研究院有限公司 | 基于网络基因技术的网络恶意行为识别方法及装置 |
US11563761B2 (en) * | 2020-04-23 | 2023-01-24 | Kyndryl, Inc. | Deep packet analysis |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123500A (zh) * | 2014-07-22 | 2014-10-29 | 卢永强 | 一种基于深度学习的Android平台恶意应用检测方法及装置 |
CN105678161A (zh) * | 2015-12-23 | 2016-06-15 | 北京奇虎科技有限公司 | 一种应用程序的安装监控方法及装置 |
-
2017
- 2017-01-20 CN CN201710042676.0A patent/CN106845217B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123500A (zh) * | 2014-07-22 | 2014-10-29 | 卢永强 | 一种基于深度学习的Android平台恶意应用检测方法及装置 |
CN105678161A (zh) * | 2015-12-23 | 2016-06-15 | 北京奇虎科技有限公司 | 一种应用程序的安装监控方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106845217A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7405596B2 (ja) | コンピュータシステムのオブジェクト分類のためのシステムおよび方法 | |
Biggio et al. | Poisoning behavioral malware clustering | |
Demme et al. | On the feasibility of online malware detection with performance counters | |
US10831891B2 (en) | System and method of managing computing resources for detection of malicious files based on machine learning model | |
JP6715292B2 (ja) | 機械学習を用いる悪意のあるファイルを検出するシステムおよび方法 | |
Ficco | Malware analysis by combining multiple detectors and observation windows | |
EP2788912B1 (en) | Predictive heap overflow protection | |
US8201244B2 (en) | Automated malware signature generation | |
CN111382434B (zh) | 用于检测恶意文件的系统和方法 | |
CN106845217B (zh) | 一种安卓应用恶意行为的检测方法 | |
EP3474175B1 (en) | System and method of managing computing resources for detection of malicious files based on machine learning model | |
JP6341964B2 (ja) | 悪意のあるコンピュータシステムを検出するシステム及び方法 | |
KR102079304B1 (ko) | 화이트리스트 기반 악성코드 차단 장치 및 방법 | |
JPWO2016121348A1 (ja) | マルウェア対策装置、マルウェア対策システム、マルウェア対策方法、及び、マルウェア対策プログラム | |
CN112637194A (zh) | 安全事件的检测方法、装置、电子设备及存储介质 | |
RU2587429C2 (ru) | Система и способ оценки надежности правила категоризации | |
Shahzad et al. | Tstructdroid: Realtime malware detection using in-execution dynamic analysis of kernel process control blocks on android | |
Ahmad et al. | A new cryptojacking malware classifier model based on dendritic cell algorithm | |
Garcia-Cervigon et al. | Browser function calls modeling for banking malware detection | |
James et al. | Malware attacks: A survey on mitigation measures | |
Lee et al. | Screening smartphone applications using behavioral signatures | |
KR101988747B1 (ko) | 하이브리드 분석을 통한 머신러닝 기반의 랜섬웨어 탐지 방법 및 장치 | |
Muthumanickam et al. | Optimizing detection of malware attacks through graph-based approach | |
CN108197473B (zh) | 一种抗干扰的环境敏感型恶意软件行为相似性评测方法和装置 | |
KR102348359B1 (ko) | 관심 동작 영역 기반의 edr 장치 및 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200804 Termination date: 20210120 |
|
CF01 | Termination of patent right due to non-payment of annual fee |