CN112417450B - 基于动态行为序列和深度学习的恶意行为实时检测系统 - Google Patents
基于动态行为序列和深度学习的恶意行为实时检测系统 Download PDFInfo
- Publication number
- CN112417450B CN112417450B CN202011312359.4A CN202011312359A CN112417450B CN 112417450 B CN112417450 B CN 112417450B CN 202011312359 A CN202011312359 A CN 202011312359A CN 112417450 B CN112417450 B CN 112417450B
- Authority
- CN
- China
- Prior art keywords
- application
- behavior
- real
- time
- behaviors
- 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
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/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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明属于移动安全技术领域,具体为一种基于动态行为序列和深度学习的恶意软件实时检测系统,本发明系统包括两个核心模块:应用动态行为实时采集子系统和应用行为实时判别子系统,应用动态行为实时采集子系统用于持续、可靠地记录应用所调用的框架层函数调用接口与和内核层系统调用序列,以表征应用所产生的行为;为应用行为判别子系统提供行为判别依据;应用行为实时判别子系统利用深度学习技术探索行为序列信息内在联系,使用机器学习模型对上述调用序列进行即时判别,以高效准确地识别出应用中的恶意行为。系统还包括数据处理模块和数据通信模块,用来协助两个核心模块的运行。本发明可有效缓解移动系统生态面临的安全问题与威胁。
Description
技术领域
本发明属于移动安全技术领域,具体涉及基于动态行为序列和深度学习的恶意行为实时检测系统。
背景技术
当前移动设备安全威胁与日俱增。智能手机在为工作与生活带来巨大便利的同时,也潜藏着众多安全隐患。智能手机作为当前用户规模最大、增长速度最快的移动终端,已经成为移动安全领域最主要的攻击对象和威胁来源。安卓平台近年来恶意软件持续涌现,恶意行为类型多样化,安全威胁渠道复杂化,移动黑色产业规模化,千万级人次受恶意软件影响,造成巨大的经济损失和安全隐患,移动系统生态安全问题迫在眉睫。
传统基于静态特征签名匹配的检测方案存在不足。传统的基于静态特征签名匹配的恶意软件检测方法主要通过逆向分析技术对恶意应用进行分析,提取关键静态特征并上传至云端特征库,通过移动端应用特征与云端特征库匹配的方式对恶意软件进行检测。该方案存在以下劣势:1.响应周期长,用户需要及时更新特征库。2.恶意软件分析成本高,恶意应用开发者使用加壳、混淆、动态加载等分析对抗技术增加恶意样本分析难度。3.恶意应用特征易被修改,变种恶意应用轻松逃逸基于特征匹配的检测。
基于动态应用行为感知的检测方案面临挑战。基于动态应用行为感知的检测方案有效的解决了传统基于静态方案的存在的问题。基于动态应用行为感知的检测方案存在以下优点:1.基于应用行为进行检测,全面防止对抗逃逸。2.能够实时检测应用行为,响应及时。3.不依赖于特征库,能够有效针对变种样本。然而这个方法也面临诸多挑战。1.应用行为感知建模困难,应用依赖于调用系统提供的接口实现其应用行为,然而安卓系统向开发者提供API调用接口数量庞大,从大量API中选出合适的API进行行为建模非常困难。2.行为捕获困难,恶意软件开发者常使用动态加载和反射调用等方式绕过一些关键API调用监控,影响动态行为的感知。3.在移动端基于动态行为对应用恶意意图进行准确识别也是一项挑战。基于上述内容,移动端需要一种能够对应用行为进行合理采集,并有效识别应用动态行为的恶意软件实时检测方案。
深度学习在移动端快速发展,为恶意应用动态检测提供技术支持。深度学习技术通过构建复杂的神经网络结构学习样本的内在规律和表示层次,并在大数据、复杂数据的分析问题中取得良好的效果。近年来移动设备推广和软硬件的发展,使得深度学习技术在移动端的应用逐渐成为可能。如Apple、Google、Facebook 等公司推出了移动端深度学习软件框架;而寒武纪、华为等也推出了专为机器学习任务设计的移动智能芯片来提供硬件支持。深度学习技术在移动端的部署将有效解决移动平台中的复杂问题,对上述移动端恶意软件实时检测方案的可行性提供有力保证。
发明内容
本发明的目的是为移动平台提供一种基于动态行为序列和深度学习的恶意软件实时检测系统,以缓解移动系统生态面临的安全问题与威胁。
本发明包括:对应用行为即API调用和系统调用关系进行分析与建模,选取可以描述应用行为的关键调用;监控应用运行时的关键调用序列以捕获应用运行时行为信息;利用深度学习技术对应用行为进行动态识别,完成移动端恶意行为的实时检测,为移动安全问题提供有效的解决方案。
本发明的核心是,设计应用动态行为实时采集子系统和应用行为实时判别子系统;应用动态行为实时采集子系统用于持续、可靠地记录应用所调用的框架层API和内核层系统调用序列,以表征应用所产生的行为;为应用行为判别子系统提供行为判别依据;应用行为实时判别子系统利用深度学习技术探索行为序列信息内在联系,使用机器学习模型对上述调用序列进行即时判别,以检测恶意行为。本发明同时还设计了两个辅助模块:数据处理模块和数据通信模块,用来协助核心模块的运行。
本发明中,对应用产生的API调用和系统调用进行采集捕获以描述应用行为。应用动态行为实时采集子系统部署在移动设备系统中,从安卓系统框架层和安卓系统内核层分别对应用行为相关的关键API调用和系统调用进行插桩,全面覆盖应用的关键行为。对于每个被插桩的API或系统调用,根据所传入的调用参数的不同,将调用细化为不同的行为描述点,以准确地描述应用行为。
应用行为实时判别子系统,使用深度学习技术对应用行为序列进行检测判别。具体地,将一段时间内应用通过API调用和系统调用产生的行为描述点,排序组合成应用的动态行为序列,然后将行为序列数据输入到基于深度学习的模型,以实现对应用行为的实时判别。
本发明的基于动态行为序列和深度学习的恶意软件实时检测系统,整体架构如图1所示。包括:核心的应用动态行为实时采集子系统,该子系统包括框架层行为采集模块和内核层行为采集模块;核心的应用行为实时判别子系统,该子系统包括深度模型及模型管理模块;以及辅助的数据处理模块和数据通信模块。
下面对各个模块作进一步描述:
一、应用动态行为采集子系统。
在安卓系统实现中,应用通过调用安卓系统提供的各种系统接口执行指定的操作,访问相关资源,来实现应用行为。应用动态行为采集子系统通过捕获应用发起的API调用,可以对应用行为进行监控与分析。然而安卓系统为开发者提供了上万个API调用接口,应用动态行为采集子系统无法直接捕获所有接口调用对应用行为进行分析。同时,恶意应用可能通过反射机制或第三方接口调用去实现恶意行为,这将造成部分API调用的捕获被绕过或部分应用行为无法被捕获的情况,最终导致行为采集子系统无法准确捕获的应用完整行为。
根据以上情况,应用动态行为采集子系统须达到以下目标:
(a)选择恰当的动态行为采样点以表征应用行为;
(b)完成准确动态行为采集并且无遗漏;
应用动态行为采集子系统通过以下方案完成上述目标,完成有效准确的应用动态行为采集。
(一)选取采样点
采样点的选取按以下两个策略进行:一是选择能够体现应用基本行为的API调用,二是选择与应用敏感/恶意行为相关的API调用。根据策略一,选择与应用基本行为相关的系统调用,如生命周期相关的API调用,能够刻画应用实时行为的基本流程,捕获应用的实时状态。标记出关键的行为状态点,提供应用行为执行的上下文环境,将有利于定位出应用行为中的敏感/恶意行为。根据策略二,选择监控与应用敏感/恶意行为相关的关键API调用,能够直接的描述应用当前正在完成的敏感操作,为实时行为判别子系统提供有效的行为数据。
采样点的选取,除依照上述策略外,还参考了应用的静态及动态分析结果。应用静态特征分析包括对应用进行申请的权限进行分析、API调用的静态统计。对于应用申请权限的分析能够指导方案对于涉及敏感权限的应用动态行为的分析以及于权限相关的采样点的选择,保证采样点对恶意应用行为的覆盖完善准确;而API调用的静态统计能够更加直观的指示不同API调用在应用中出现的概率与分布,指导关键采样点的选择与非关键采样点的过滤。应用的动态行为分析包括对应用行为及已插桩采样点捕获情况进行分析。对应用行为的动态分析准确地把握应用的恶意行为,指导采样点所需要覆盖的行为范围。同时结合已插桩采样点捕获情况,可以对插桩采样点的完整性有效性进行检查。
除了采样点的选择,本发明还对以采样桩点的参数信息进行细化,以完成更精确的行为描述。安卓系统提供的API调用包含众多功能,应用在运行过程中对同一系统接口的不同调用方式,传入不同的参数,会产生差异性的行为。从API调用级别对应用行为进行捕获存在粒度粗糙,无法精确描述应用行为。本发明对部分API调用进行细化,提取应用参数并进行补充校验,将API调用细化为行为描述点,以提供更加精准的应用行为描述,利于深度模型对应用行为进行实时判别。
需要说明的是,上述采样点的选择主要适用于系统框架层调用的监控,恶意行为捕获需要涉及的其他采样点及捕获机制,将在两层行为采样方案中进行完善和补充。
(二)进行两层行为采样
当完成行为采样点的选择后,本发明设计两层行为采样方案,实现对于应用行为的有效且全面采集。采样子系统结构如图2所示,主要包括框架层行为采样模块和内核层行为采样模块对应用行为进行收集。对应对于应用的大部分行为,本方案使用上述方法选取系统框架层API采样点进行捕获;而对于如调用非安卓系统接口的特殊应用行为,如文件操作等,本发明采用插桩内核层系统调用的方式进行捕获。两层行为采样方案的设计,能从多个维度对应用行为进行准确无遗漏的捕获和采集,更完整的构建应用行为表征,有助于提升应用行为实时判别的准确性。
对于安卓系统框架层的行为采样,需要解决部分应用通过反射调用绕过桩点捕获的问题。Java提供的反射机制是指在运行状态中对于任意类都可获取该类的所有属性和方法;对于任意对象,都能调用该对象的任意属性和方法的机制。该机制使得应用可以不显式的调用插桩接口,从而实现一般接口捕获方法的绕过,表现敏感/恶意行为。本发明针对这个问题,在安卓系统框架层采样模块中采用系统服务端插桩的方法,防止框架层API调用的绕过与逃逸。在安卓系统中,无论通过正常调用,替换API调用或是反射调用,根据其设计,最终都会请求这些API调用对应的系统服务。本发明在系统服务端对框架层调用进行采样捕获,全面防止特殊调用方式的绕过,保证框架层行为采样的准确性与完整性。
对于安卓内核层系统调用的采样插桩,需要充分考虑安卓系统的运行响应要求和限制。本发明对于安卓底层系统调用的插桩修改,依照改动最少、影响最小原则进行,以免破坏安卓系统的底层运行环境,造成系统性能的下降甚至崩溃。在实际实现中,需要综合考虑插桩对于特殊行为捕获的效果提升程度与对安卓系统整体的影响度。
二、应用行为实时判别子系统。
应用行为实时判别子系统将对应用动态行为采集子系统捕获采集到的应用实时行为数据作为深度模型输入,利用机器学习技术对应用行为进行准确有效的评估。应用行为实时判别子系统主要包括深度模型以及模型的管理模块,下面将详细介绍实时判别子系统使用的深度模型及应用行为检测机制。
本发明使用深度学习技术完成应用动态行为的识别。由于应用动态行为存在多样性,时序动态序列的语义信息丰富,传统的机器学习方法难以捕捉到应用行为序列间的内在联系。深度学习拥有学习样本数据的内容规律和表现层次的能力,在学习过程中能对应用行为数据进行有效的分析学习。
本发明选择深度神经网络中的门控循环神经网络结构(以下称为GRU)(GRU,ChoK, Van Merriënboer B, Gulcehre C, et al. Learning phrase representationsusing RNN encoder-decoder for statistical machine translation[J]. arXivpreprint arXiv:1406.1078, 2014.)作为深度模型结构。GRU循环结构能捕捉尽可能多的上下文联系信息,注重全局特征,能同时关注序列元素本身的语义信息及序列间的内在联系。本发明将应用行为序列抽象为特殊语言文本信息,对应用行为序列进行嵌入映射,将行为序列中的各行为点映射为一组高维向量,以描述行为点间的语义信息。将行为序列嵌入向量组作为模型输入进行训练,使深度神经网络拥有对应用行为序列进行有效判别的能力。
本发明对于应用行为的检测机制进行如下设计,以保证应用行为检测能及时响应应用触发的恶意行为。一、设置每隔N秒对这段时间内收集到的待测应用的行为动态行为进行检测,以保证应用行为的检测持续进行,完成对应用的实时监控与检测。二、当应用出现高敏感API调用时,将立即启动应用动态行为序列的检测,以保证检测系统及时响应,避免对用户造成更大的损失与威胁。
三、辅助模块
辅助模块主要包含数据通信模块和数据处理模块,这些模块将辅助两个核心组件完成应用恶意行为的实时检测。
数据通信模块用于在框架层行为采集模块、内核层行为采集模块及数据处理模块间建立通信桥梁,将应用动态行为采集子系统采集到的应用行为源数据发送数据处理模块。
数据处理模块接收来自数据通信模块的数据,将数据进行分类整理、排序、按固定时间长度进行切片及长度修正,然后将定长应用行为序列交付给应用行为实时判别子系统作为模型输入进行判别。此外,数据处理模块还将对应用行为源数据进行备份,用于后续的其他分析验证工作。
本发明的有益效果是:
(1)本发明针对移动端缺少一种有效的基于动态行为感知的恶意应用检测方案,设计并实现了一种基于动态行为序列和深度模型的恶意行为实时检测方法,有效缓解了移动系统生态面临的安全问题与威胁。
(2)本发明选取的用于捕获应用行为的采样点,以及通过采样点形成应用行为序列的可对应用行为检测领域的其他工作提供帮助或启发。
(3)本发明构建的用于应用行为检测的深度模型也可对应用行为检测领域的其他工作提供帮助或启发。
附图说明
图1为本发明系统架构图。
图2为应用动态行为采集子系统结构图。
图3为GRU模型结构图。
图4为应用行为实时检测流程图。
图5为移动端基于行为序列和深度学习的恶意行为实时监测流程图。
具体实施方式
本发明设计并实现了上述的基于动态行为序列和深度模型的恶意行为实时检测方法。本节对本发明的具体实现细节进行详细的介绍。
应用动态行为实时采集子系统
本发明依照采样点选取方案,对上百款恶意应用进行人工逆向分析、静态特征分析、动态测试及效率评估,最终共选择框架层采样API调用125条,同时根据API调用的参数信息等不同,细化出169个行为描述点;选择内核层系统调用4种,同时根据调用参数的信息等不同,细化出20个行为描述点,用于应用行为的表征。
在系统框架层采样模块实现中,修改了安卓系统框架层代码,对选择采样的125条API所对应的服务端函数进行插桩,记录应用在调用系统服务API时的时间戳、调用者标识符以及调用参数等信息。为安卓系统添加系统级定制服务(AntiVirusService),用于收集安卓框架层服务端产生的采样点调用信息并汇总,通过Socket发送给数据通信服务模块。在内核层采样模块实现中,本发明修改了内核层系统调用接口源码,同样记录调用的时间戳、调用者标识符以及调用参数等信息,使用Socket发送给数据通信服务模块,实现内核层行为采样。
应用行为实时判别子系统
应用行为实时判别子系统包含模型管理模块和深度模型。模型管理模块服务于深度模型,主要完成模型的加载、运行和卸载等模型管理工作,不是本发明重点,这里不再赘述。下面将主要介绍应用行为实时判别深度模型的具体实现。
本发明使用GRU深度模型对应用行为序列进行学习和检测,具体使用Python编写的开源人工神经网络库Keras库进行深度模型GRU模型的构建。GRU模型结构如图3所示,模型使用维度为50维的嵌入映射层(Embedding)作为输入层,用于将长度为256的行为序列转换为256*50的序列嵌入向量,作为GRU模型的输入构建GRU核心层进行序列特征的学习与判别,选择激活函数为sigmoid的全连接层作为输出层形成完整的GRU深度模型网络,完成应用行为实时检测任务。
辅助模块
辅助模块主要包含数据通信模块和数据处理模块,这些模块将辅助两个核心组件完成应用恶意行为的实时检测。
数据通信模块创建Socket Service端来持续接收来自系统框架层和系统内核层应用动态采样数据,并将数据按照应用标识符(uid)进行分类,提交给数据通信模块,并通过开源的Android数据库框架LitePal存储应用数据。
数据处理模块将按照如下方式对应用实时行为数据进行处理:
1、按照应用标识符(uid)将应用行为数据信息进行分类整理
2、按照应用行为数据时间信息对分类好的应用行为数据排序
3、按照定义好的映射关系将应用行为事件转换为行为时间编号,编号范围为0-180,其中0为缺省值编号。
4、按照5s固定时间长度将应用行为数据序列进行划分,形成若干个子序列。
5、对每一个5s行为子序列的序列长度进行修正。对于长度不足256的子序列进行补零操作,使得序列长度满足256;对于长度大于256的子序列,舍弃掉大于256的部分。
6、将定长为256应用行为序列依次提交给应用行为实时判别子系统作为模型输入进行判别。
本发明工作在GooglePixel2XL手机上进行部署实现,安卓系统版本基于AOSP8.1.0进行定制化,修改系统源码实现应用动态行为实时采集子系统;在移动端开发对应的安卓应用实现应用行为实时判别子系统和辅助模块。应用行为实时检测流程图如图4所示,首先动态行为实时采集子系统对应用行为数据进行收集,依照上述的应用行为的检测机制对数据进行检查与记录,再按照数据处理模块的数据处理步骤对数据进行处理,最终交付给模型进行预测,各模块协同工作,完成恶意行为的实时检测。
对于深度模型,本发明使用基于开源深度学习框架Tensorflow Lite框架部署模型,使用50000款正常应用产生的数十万条应用正常行为序列作为正样本;从5000款恶意软件产生的行为序列中,由安全专家选出上万条应用恶意行为序列作为负样本构建数据集进行训练与测试。
最终,本发明系统针对恶意行为的检测任务,达到了98%的检出率和0.08%误报率。相较于传统基于静态特征签名匹配的检测方案在检测效果上有极大的效果提升。本发明能够有效地对应用动态行为进行建模和准确地进行行为表征,最终基于动态行为序列和深度学习高质量完成恶意行为的实时检测。
Claims (7)
1.一种基于动态行为序列和深度学习的恶意软件实时检测系统,其特征在于,包括:两个核心模块:应用动态行为实时采集子系统和应用行为实时判别子系统,两个辅助模块:数据处理模块和数据通信模块;应用动态行为实时采集子系统包括框架层行为采集模块和内核层行为采集模块;应用行为实时判别子系统包括深度模型及模型管理模块;其中:
所述应用动态行为实时采集子系统用于持续、可靠地记录应用所调用的框架层函数调用接口(以下称API)和内核层系统调用序列,以表征应用所产生的行为;为应用行为判别子系统提供行为判别依据;
所述应用行为实时判别子系统利用深度学习技术探索行为序列信息内在联系,使用机器学习模型对上述调用序列进行即时判别,以检测恶意行为;
所述两个辅助模块:数据处理模块和数据通信模块,用来协助两个核心模块的运行;
所述应用动态行为实时采集子系统部署在移动设备系统中,从安卓系统框架层和安卓系统内核层分别对应用行为相关的关键API调用和系统调用进行插桩,全面覆盖应用的关键行为;对于每个被插桩的API或系统调用,根据所传入的调用参数的不同,将调用细化为不同的行为描述点,以准确地描述应用行为;
所述应用行为实时判别子系统,使用深度学习技术对应用行为序列进行检测判别;具体地,将一段时间内应用通过API调用和系统调用产生的行为描述点,排序组合成应用的动态行为序列,然后将行为序列数据输入到基于深度学习的模型,以实现对应用行为的实时判别。
2.根据权利要求1所述的基于动态行为序列和深度学习的恶意软件实时检测系统,其特征在于,所述应用动态行为采集子系统达到以下目标,以实现完成有效准确的应用动态行为采集:
(a)选择恰当的动态行为采样点以表征应用行为;
(b)完成准确动态行为采集并且无遗漏;
(一)选取采样点
采样点的选取按以下两个策略进行:一是选择能够体现应用基本行为的API调用,二是选择与应用敏感/恶意行为相关的API调用;根据策略一,选择与应用基本行为相关的系统调用,刻画应用实时行为的基本流程,捕获应用的实时状态;标记出关键的行为状态点,提供应用行为执行的上下文环境,以利于定位出应用行为中的敏感/恶意行为;根据策略二,选择监控与应用敏感/恶意行为相关的关键API调用,直接的描述应用当前正在完成的敏感操作,为实时行为判别子系统提供有效的行为数据;
除依照上述策略外,采样点的选取还参考应用的静态特征及动态形为分析结果;应用的静态特征分析包括对应用进行申请的权限进行分析、API调用的静态统计;对于应用申请权限的分析能够指导方案对于涉及敏感权限的应用动态行为的分析以及于权限相关的采样点的选择,保证采样点对恶意应用行为的覆盖完善准确;而API调用的静态统计能够更加直观的指示不同API调用在应用中出现的概率与分布,指导关键采样点的选择与非关键采样点的过滤;应用的动态行为分析包括对应用行为及已插桩采样点捕获情况进行分析;通过对应用行为的动态分析准确地把握应用的恶意行为,指导采样点所需要覆盖的行为范围;同时结合已插桩采样点捕获情况,可以对插桩采样点的完整性有效性进行检查;
(二)进行两层行为采样
当完成行为采样点的选择后,设计两层行为采样方案,以实现对于应用行为的有效且全面采集;具体地,对于应用的大部分行为,使用上述方法选取系统框架层行为采样点进行捕获;对于如调用非安卓系统接口的特殊应用行为,采用插桩内核层系统调用的方式进行捕获;两层行为采样方案的设计,能从多个维度对应用行为进行准确无遗漏的捕获和采集,更完整的构建应用行为表征,提升应用行为实时判别的准确性。
3.根据权利要求2所述的基于动态行为序列和深度学习的恶意软件实时检测系统,其特征在于,所述采样点选取中,进一步以采样桩点的参数信息进行细化,以完成更精确的行为描述;具体地,提取应用参数并进行补充校验,将API调用细化为行为描述点,以提供更加精准的应用行为描述,以利于深度模型对应用行为进行实时判别。
4.根据权利要求2所述的基于动态行为序列和深度学习的恶意软件实时检测系统,其特征在于,在所述两层行为采样中,在安卓系统框架层采样模块中采用系统服务端插桩的方法,防止框架层API调用的绕过与逃逸;在安卓系统中,无论通过正常调用、替换API调用或是反射调用,根据其设计,最终都会请求这些API调用对应的系统服务;本系统服务端对框架层调用进行采样捕获,全面防止特殊调用方式的绕过,以保证框架层行为采样的准确性与完整性;
对于安卓底层系统调用的插桩修改,依照改动最少、影响最小原则进行,以免破坏安卓系统的底层运行环境,造成系统性能的下降甚至崩溃。
5.根据权利要求1所述的基于动态行为序列和深度学习的恶意软件实时检测系统,其特征在于,所述应用行为实时判别子系统中,将应用动态行为采集子系统捕获采集到的应用实时行为数据作为深度模型输入,利用机器学习技术对应用行为进行准确有效的评估;
其中,采用深度神经网络中的GRU结构作为深度模型;将应用行为序列抽象为特殊语言文本信息,对应用行为序列进行嵌入映射,将行为序列中的各行为点映射为一组高维向量,以描述行为点间的语义信息;将行为序列嵌入向量组作为模型输入进行训练,使深度神经网络拥有对应用行为序列进行有效判别的能力。
6.根据权利要求5所述的基于动态行为序列和深度学习的恶意软件实时检测系统,其特征在于,对于应用行为的检测机制进行如下设计,以保证应用行为检测能及时响应应用触发的恶意行为:
(1)设置每隔N秒对这段时间内收集到的待测应用的行为动态行为进行检测,以保证应用行为的检测持续进行,完成对应用的实时监控与检测;
(2)当应用出现高敏感API调用时,立即启动应用动态行为序列的检测,以保证检测系统及时响应,避免对用户造成更大的损失与威胁。
7.根据权利要求1所述的基于动态行为序列和深度学习的恶意软件实时检测系统,其特征在于,所述辅助模块中:
数据通信模块用于在框架层行为采集模块、内核层行为采集模块及数据处理模块间建立通信桥梁,将应用动态行为采集子系统采集到的应用行为源数据发送数据处理模块;
数据处理模块接收来自数据通信模块的数据,将数据进行分类整理、排序、按固定时间长度进行切片及长度修正,然后将定长应用行为序列交付给应用行为实时判别子系统作为模型输入进行判别;此外,数据处理模块还将对应用行为源数据进行备份,用于后续的其他分析验证工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011312359.4A CN112417450B (zh) | 2020-11-20 | 2020-11-20 | 基于动态行为序列和深度学习的恶意行为实时检测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011312359.4A CN112417450B (zh) | 2020-11-20 | 2020-11-20 | 基于动态行为序列和深度学习的恶意行为实时检测系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112417450A CN112417450A (zh) | 2021-02-26 |
CN112417450B true CN112417450B (zh) | 2022-05-20 |
Family
ID=74777109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011312359.4A Active CN112417450B (zh) | 2020-11-20 | 2020-11-20 | 基于动态行为序列和深度学习的恶意行为实时检测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417450B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205396A (zh) * | 2015-10-15 | 2015-12-30 | 上海交通大学 | 一种基于深度学习的安卓恶意代码检测系统及其方法 |
CN109992968A (zh) * | 2019-03-25 | 2019-07-09 | 北京理工大学 | 基于二进制动态插桩的Android恶意行为动态检测方法 |
CN110263538A (zh) * | 2019-05-13 | 2019-09-20 | 重庆大学 | 一种基于系统行为序列的恶意代码检测方法 |
-
2020
- 2020-11-20 CN CN202011312359.4A patent/CN112417450B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205396A (zh) * | 2015-10-15 | 2015-12-30 | 上海交通大学 | 一种基于深度学习的安卓恶意代码检测系统及其方法 |
CN109992968A (zh) * | 2019-03-25 | 2019-07-09 | 北京理工大学 | 基于二进制动态插桩的Android恶意行为动态检测方法 |
CN110263538A (zh) * | 2019-05-13 | 2019-09-20 | 重庆大学 | 一种基于系统行为序列的恶意代码检测方法 |
Non-Patent Citations (4)
Title |
---|
How Android Developers Handle Evolution-induced API Compatibility Issues: A Large-scale Study;Hao Xia;《IEEE》;20201011;全文 * |
Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation;Kyunghyun Cho;《arXiv》;20140930;全文 * |
基于指令虚拟化的安卓本地代码加固方法;张晓寒;《电子与信息学报》;20200721;全文 * |
软件与网络安全研究综述;刘剑;《软件学报》;20170712;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112417450A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107590388B (zh) | 恶意代码检测方法和装置 | |
CN108334781B (zh) | 病毒检测方法、装置、计算机可读存储介质和计算机设备 | |
CN110263538B (zh) | 一种基于系统行为序列的恶意代码检测方法 | |
CN109241711A (zh) | 基于预测模型的用户行为识别方法及装置 | |
CN111523117A (zh) | 一种安卓恶意软件检测和恶意代码定位系统及方法 | |
CN109684840A (zh) | 基于敏感调用路径的Android恶意软件检测方法 | |
CN102402479B (zh) | 用于静态分析的中间表示结构 | |
CN108229170B (zh) | 利用大数据和神经网络的软件分析方法和装置 | |
CN104866764B (zh) | 一种基于对象引用图的Android手机恶意软件检测方法 | |
CN109871686A (zh) | 基于图标表示和软件行为一致性分析的恶意程序识别方法及装置 | |
CN109214178A (zh) | App应用恶意行为检测方法及装置 | |
CN113076538A (zh) | 一种移动应用apk文件内嵌隐私政策提取方法 | |
CN114866358A (zh) | 一种基于知识图谱的自动化渗透测试方法及系统 | |
CN113254935A (zh) | 恶意文件识别方法、装置及存储介质 | |
CN115292674A (zh) | 一种基于用户评论数据的欺诈应用检测方法及系统 | |
CN116488915A (zh) | 基于深度学习的Web攻击检测与分类识别方法及装置 | |
CN113688391A (zh) | 一种电力软件恶意代码监测方法、系统、设备和介质 | |
CN113468524A (zh) | 基于rasp的机器学习模型安全检测方法 | |
CN112417450B (zh) | 基于动态行为序列和深度学习的恶意行为实时检测系统 | |
CN112632538A (zh) | 一种基于混合特征的安卓恶意软件检测方法及系统 | |
CN113420295A (zh) | 恶意软件的检测方法及装置 | |
CN108427882B (zh) | 基于行为特征抽取的安卓软件动态分析检测法 | |
Li et al. | Locating vulnerability in binaries using deep neural networks | |
CN111368894A (zh) | 一种fcbf特征选择方法及其在网络入侵检测中的应用 | |
CN112464237B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |