CN116305120A - 一种双重验证的安卓恶意软件混合检测系统及方法 - Google Patents
一种双重验证的安卓恶意软件混合检测系统及方法 Download PDFInfo
- Publication number
- CN116305120A CN116305120A CN202310167465.5A CN202310167465A CN116305120A CN 116305120 A CN116305120 A CN 116305120A CN 202310167465 A CN202310167465 A CN 202310167465A CN 116305120 A CN116305120 A CN 116305120A
- Authority
- CN
- China
- Prior art keywords
- feature vector
- file
- detection
- android
- apk
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 109
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012795 verification Methods 0.000 title claims abstract description 20
- 239000013598 vector Substances 0.000 claims abstract description 89
- 238000012545 processing Methods 0.000 claims abstract description 10
- 238000003066 decision tree Methods 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 16
- 230000003068 static effect Effects 0.000 claims description 15
- 238000012360 testing method Methods 0.000 claims description 15
- 238000010801 machine learning Methods 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 7
- 238000007637 random forest analysis Methods 0.000 claims description 6
- 238000000546 chi-square test Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000013138 pruning Methods 0.000 claims description 3
- 230000009977 dual effect Effects 0.000 claims description 2
- 238000007689 inspection Methods 0.000 claims 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 16
- 238000009434 installation Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 241000282693 Cercopithecidae Species 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000001134 F-test Methods 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003211 malignant effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
- G06F21/563—Static detection by source code analysis
-
- 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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种双重验证的安卓恶意软件混合检测系统及方法,所述方法包括从被监控手机的文件目录中获取apk文件;对apk文件进行分析处理,生成第一特征向量到txt文件中;将apk文件安装到虚拟环境并运行,模拟手机安卓操作系统真实运行场景,生成日志文件,并从日志文件中提取第二特征向量;对第一特征向量和第二特征向量分别进行检测识别分类,获得第一特征向量和第二特征向量的检测分类结果;对第一特征向量和第二特征向量的检测分类结果采用特征信息覆盖比例的方式进行加权判断,生成最终检测结果报告,本发明能够减少检测时间,提升实际应用场景的检测效率与准确率。
Description
技术领域
本发明涉及一种双重验证的安卓恶意软件混合检测系统及方法,属于软件检测技术领域。
背景技术
随着智能手机功能越来越强大,它能够替代个人电脑的很多工作,丰富了人们的日常生活,安卓是一款主流的手机操作系统,占据手机操作系统超过七成的市场份额,安卓系统的源码具有开源型,被各大手机硬件厂商定制开发,运行于各种品牌手机上,由于安卓的开放性,它更容易成为恶意软件的攻击目标,这些恶意软件破坏系统,窃取隐私数据,恶意扣费和消耗用户网络流量。安卓恶意软件的特征行为在不断变化,恶意类型越来越广泛,现有研究方案对于恶意软件的检测方向各有侧重点,机器学习广泛用于分类识别,在不同数据集上的机器学习识别准确率是有差异的,静态检测通过分析应用程序的代码与文件相关信息,获取静态特征来分类识别。安卓应用程序的安装包是APK文件,通过反编译分析工具可以获取到AndroidManifest.xml、smali文件等信息。Drebin是基于执行广泛的静态分析,收集尽可能多的应用程序特征属性,再通过机器学习进行分类。如果恶意软件通过动态加载的方式,通过签名等静态信息的检测方法可能无效。动态检测在仿真环境(如沙箱)中运行安卓应用程序,获得的运行时行为特征被称为动态特征,动态分析包括系统调用、应用编程接口调用、网络流量和中央处理器数据等。TaintDroid是基于应用程序动态污点分析的方法,监控敏感数据的使用情况来区分恶意软件。DroidScope支持在受保护的环境中动态监控应用程序,重建操作系统级和Java级语义,实现了对应用程序的动态污点分析。动态检测的运行环境比较复杂,资源消耗比较大,大规模检测的效率不高。
现有检测方案通过分析恶意特征,进行样本训练,结合机器学习分类算法区分良性与恶性软件。根据检测时应用程序的运行状态,可以分为静态检测,动态检测和混合检测三种类型,恶意软件在安卓系统上不断演变,试图规避已有的检测方案,应用程序安装包内存占用越来越大,静态扫描分析安卓程序的资源消耗增大,部分应用程序强化了保密性,对程序代码进行混淆,再进行安装包加壳,阻止反编译,使得静态检测变得越来越困难。动态检测依赖模拟器上执行,性能效率比较低。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种双重验证的安卓恶意软件混合检测系统及方法,能够减少检测时间,提升实际应用场景的检测效率与准确率。
为达到上述目的,本发明是采用下述技术方案实现的:
第一方面,本发明提供了一种双重验证的安卓恶意软件混合检测方法,包括:
从被监控手机的文件目录中获取apk文件;
对apk文件进行分析处理,生成第一特征向量到txt文件中;
将apk文件安装到虚拟环境并运行,模拟手机安卓操作系统真实运行场景,生成日志文件,并从日志文件中提取第二特征向量;
对第一特征向量和第二特征向量分别进行检测识别分类,获得第一特征向量和第二特征向量的检测分类结果;
对第一特征向量和第二特征向量的检测分类结果采用特征信息覆盖比例的方式进行加权判断,生成最终检测结果报告。
进一步的,所述从被监控手机的文件目录中获取apk文件,包括:
监控手机文件目录的新增apk文件;
若有新增apk文件,触发检测service程序,通过Apktool工具把apk文件反编译出manifest文件;
其中,manifest文件包含权限声明和各类组件信息。
进一步的,所述对apk文件进行分析处理,生成第一特征向量到txt文件中,包括:
对apk文件反编译出的manifest文件进行处理分析,根据权限声明和各类组件信息生成特征向量到package.txt、permission.txt和component.txt三个文档。
进一步的,所述将apk文件安装到虚拟环境并运行,模拟手机安卓操作系统真实运行场景,生成日志文件,包括:
将apk文件安装到虚拟机,触发自动检测脚本执行应用程序,获取到检测程序的日志文件,其中,虚拟机上运行的安卓操作系统被增加了设定的API日志跟踪方法。
进一步的,对第一特征向量和第二特征向量分别进行检测识别分类之前,分别对第一特征向量和第二特征向量进行特征选择与筛选,其中,筛选采用的方法为卡方检验算法。
进一步的,所述对第一特征向量和第二特征向量分别进行检测识别分类,获得第一特征向量和第二特征向量的检测分类结果,包括:
将第一特征向量和第二特征向量分别作为总样本,采用如下方法进行检测识别分类:
采用bagging抽样对总样本进行有放回抽样,共分割N个样本形成训练子集;
提取训练子集中的特征属性,按照决策树生成算法选择最优属性进行节点分裂,分裂过程不进行剪枝,从而从训练子集得到一棵决策树;
重复上述步骤K次,建立K棵决策树,生成随机森林;
应用随机森林对预先划分出的测试样本集进行分类检测,所有决策树共K个分类结果,对分类效果进行评价,最终通过投票原则确定测试样本类别;
将测试样本类别作为检测分类结果,从而分别获得第一特征向量和第二特征向量的检测分类结果。
第二方面,本发明提供一种双重验证的安卓恶意软件混合检测系统,包括:
用户界面操作监控模块,用于从被监控手机的文件目录中获取apk文件;
静态检测服务模块,用于对apk文件进行分析处理,生成第一特征向量到txt文件中;
动态检测服务模块,用于将apk文件安装到虚拟环境并运行,模拟手机安卓操作系统真实运行场景,生成日志文件,并从日志文件中提取第二特征向量;
机器学习分类模块,用于对第一特征向量和第二特征向量分别进行检测识别分类,获得第一特征向量和第二特征向量的检测分类结果;并对第一特征向量和第二特征向量的检测分类结果采用特征信息覆盖比例的方式进行加权判断,生成最终检测结果报告。。
第三方面,本发明提供一种电子设备,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据前述任一项所述方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一项所述方法的步骤。
与现有技术相比,本发明所达到的有益效果:
1、本发明提供一种双重验证的安卓恶意软件混合检测系统及方法,结合了静态与动态的优势,系统结合两次检测的特征信息覆盖比例,加权计算得到检测结论报告,能够覆盖多种特征类型的恶意软件检测;
2、通过自动检测脚本提高了检测性能,对比直接使用常用测试工具monkey和MonkeyRunner在cpu占用,内存消耗,相同运行时间的功能范围覆盖。通过自动化脚本在CPU与内存消耗减少10%的基础上,实现了应用功能测试的覆盖范围增加15%;
3、本发明的系统模型设计合理,并且在识别方面有较高的准确率。检测系统在超过四千样本的实验上到达了96%的准确率,由于分布式模块化设计,未来我们可以引入更高效的机器学习识别模型来进一步提高准确率。
附图说明
图1是本发明实施例提供的一种双重验证的安卓恶意软件混合检测系统的结构图;
图2是本发明实施例提供的自动化执行过程示意图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例1
如图2所示,本实施例提供一种双重验证的安卓恶意软件混合检测方法,包括:
从被监控手机的文件目录中获取apk文件;
对apk文件进行分析处理,生成第一特征向量到txt文件中;
将apk文件安装到虚拟环境并运行,模拟手机安卓操作系统真实运行场景,生成日志文件,并从日志文件中提取第二特征向量;
对第一特征向量和第二特征向量分别进行检测识别分类,获得第一特征向量和第二特征向量的检测分类结果;
对第一特征向量和第二特征向量的检测分类结果采用特征信息覆盖比例的方式进行加权判断,生成最终检测结果报告。
本实施例提供的双重验证的安卓恶意软件混合检测方法,其应用过程具体涉及如下步骤:
1、首次检测:
首次检测通过获取manifest文件信息来检测,在智能手机上监控apk的下载安装,通过监控手机内存和SD卡目录的方式发现文件变化,若有新增apk文件,触发检测service程序,通过Apktool工具把apk文件反编译出manifest和classes.dex等文件,再对manifest进行分析处理。manifest文件包含权限声明和各类组件信息,权限机制是安卓最重要的安全机制之一,敏感信息(位置,电话和通讯录等)和重要资源(网络,摄像头和蓝牙等)都需要申请相关的系统权限。根据权限与组件信息生成特征向量到package.txt、permission.txt和component.txt三个文档。对这些属性值进行重复性过滤,并根据良性软件和恶意软件分别建立三个文档的相关排序文档,统计良性软件和恶意软件中使用频率较高的属性值,最后传输到识别分类模型中。
2、双重检测:
双重检测在手机端提示用户上传安装包(apk)文件到服务器检测,服务器端获取到apk文件后自动安装的虚拟机,触发自动检测脚本执行应用程序,在虚拟机上运行的安卓操作系统被增加了特定的API日志跟踪方法,获取到检测程序的行为日志信息,根据这些日志生成特征向量,进行机器学习分类识别。
3、特征选择与筛选:
为了获取更多应用程序的特征信息,对安卓关键API进行了分类,主要从API的调用资源分成五个类型进行监控,分别是应用层API,安卓框架API,虚拟机API,系统能力API和特殊API类型。应用层API是应用程序获取系统内容资源,程序上下文信息与多个活动与服务间交互信息,Contentprovider可以获取手机上的敏感信息,而无需获取必要的授权,Context类提供了全局的应用程序信息,Intent带有MIME数据信息在多个活动界面之间通信。安卓框架API提供了活动界面、安装包、电话和短信等等各类资源信息。虚拟机API监控外包加载类和运行危险的Linux命令和参数,这种类型的恶意软件在静态检测时无法发现的,通过动态监控的方式来检测。系统能力API为了监控进程管理,文件读写和网络数据监控,这类监控是必要的,很多恶意软件最终通过网络把敏感信息发送到外部服务器。特殊API是加解密相关的调用,这些API如果被用于恶意加密将会破坏系统的可用性。
为了减少了要考虑的API调用数量,消除一些冗余数据和不相关的特性信息,这些特征是用来进行识别分类,采用的标签编码方式,对于某个特征若存在则设置为1,不存在则设置为0,由此构造出初始特征向量数据集合。两次检测过程中获取的特征数据集进行筛选过滤,提升学习模型的效率与准确率,分类问题的特征筛选通常有卡方检验、F检验分类和互信息回归,系统采用卡方检验的算法对获取到特征数据进行过滤,这是一种常用的统计学方法,用来判断两个特征之间是否存在关联。筛选过的特征集减少后续分类步骤在无关特征上的耗时,提高后分类集成学习的效率
4、机器学习分类模块:
在机器学习开源python库上实现分类服务,检测分类阶段包含两个部分,分别是训练与检测两个部门,训练模块通过多个训练样本子集生成决策树集和对应权重值。采用bagging抽样对总样本进行有放回抽样,共分割N个样本形成训练子集。提取的特征属性按照决策树生成算法选择最优属性进行节点分裂,分裂过程不进行剪枝,从而从训练子集得到一棵决策树,重复上述步骤K次,建立K棵决策树,生成随机森林。应用随机森林对测试样本集进行分类检测,所有决策树共K个分类结果,对分类效果进行评价,最终通过投票原则确定测试样本类别。由于特征子集是随机选取的,算法训练过程中决策树间相互独立,这是一种并行化方法,这里的每个决策树对我们后续的投票效果是一样的,这里增加一个权重的概念,对于决策树T,T应用于样本集S进行分类,每个样本的真实类别是可知的,通过对比分类结论与真实类别的正确率,使用的计算方法在多个样本上进行交叉实验。
实施例2
如图1所示,本实施例介绍一种双重验证的安卓恶意软件混合检测系统,包括:
用户界面操作监控模块,负责与用户的交互,用于监控手机文件目录的新增apk文件;允许用户选择要扫描的应用程序。在Android操作系统中,apk是一个类似压缩包的可执行程序,它包含两个核心文件,一个是manifest文件,是静态检测的关键文件,另一个是DEX文件,是应用程序的可执行代码编译而成。然后,我们的应用程序将APK文件发送到服务端组件,服务端返回分析结果;
服务端包括如下三个部分:
静态检测服务模块DPS,与用户界面操作监控模块通过http协议连接,用于获取用户界面操作监控模块监控到的apk文件,对apk文件进行分析处理,生成第一特征向量到三个txt文件中进行进行检测;
动态检测服务模块DTS,用于获取用户界面操作监控模块监控到的apk文件,将apk文件安装到虚拟环境运行,模拟手机安卓操作系统真实检测场景,安卓操作系统的镜像文件以img结尾,我们修改了安卓系统源码framework层面的关键api,增加了一定格式的日志信息,然后把源码重新编译成img镜像文件,挂载运行到虚拟机上。Apk安装包通过python脚本安装到虚拟环境中,使用自动化脚本DroidTest进行动态覆盖测试,生成日志文件信息,并从日志文件中提取第二特征向量;
机器学习分类模块ICS,用于获取第一特征向量和第二特征向量,分别进行识别分类,反馈两次分类结果到用户界面操作监控模块,第一次分类检测是为了实现真实场景下的快速响应,通常在5~8秒左右有检测结论。第二次动态测试做了自动化优化,通常需要5分钟~10分钟左右的时间,这个取决于安卓应用程序的自有功能复杂度,对于两次检测用到的特征信息我们采用特征信息覆盖比例的方式进行加权判断,最终生成检测结果报告。
特征选择与筛选模块,用于对第一特征向量和第二特征向量进行特征选择与筛选,其中,筛选采用的方法为卡方检验算法。
系统包含四个关键功能的技术方案,一个是在手机端监控文件目录的APK文件变化,通过FileObserver类来监听默认下载的文件目录,提示用户是否检测下载的APK文件,用户同样可以选择对应目录下的apk文件上传apk到服务端检测,第二个是在静态检测服务模块DPS获取apk安装包签名相关信息,manifest文件中权限,活动组件信息,生成三个保存属性信息的文件package.txt、permission.txt和component.txt。我们去掉了其中的重复属性,每个属性作为一个行信息,然后这三个文件将会上传到机器学习分类模块ICS。第三个关键能力是apk安装包上传到服务端虚拟环境的动态检测过程,这里我们优化了自动化执行算法,当服务器获取APK文件后,触发自动检测算法程序,把apk安装到安卓容器环境,首先会判断仿真环境的服务程序是否运行,在正常运行的情况下,安装apk文件到容器中,然后启动安卓应用程序,执行自动化测试程序,在执行算法中,我们增加了一个重复性操作过滤判断,一个activity界面在一定时间内的重复点击操作达到95%,认为该界面已经得到充分测试,同时记录该操作的点击范围,减少下次重复执行的时间,减少相同范围的点击次数,从而最大范围的覆盖应用程序的所有功能,有效的提高动态检测的效率。服务器端的第四个关键能力是机器学习分类识别模块,采用了开源python库来实现,分类阶段包含两个部分,训练部分的作用是生成决策树集合和对应权重值,根据样本数据的特征向量集进行多次交叉抽样,形成多个训练子集,根据训练子集的数据生成决策树集,检测模块是对实际测试样本进行分类识别。
本实施例从检测系统的性能与分类准确率两个方面进行效果评估,与现有方案相比,我们系统的主要特点是具有实际场景部署的可行性、性能和预测准确率更好。由于系统模块化的设计思路,使得检测系统的扩展性更好。在实验中,预估大概70%的时间在特征信息获取阶段,20%的时间用于分类识别,还有10%的时间消耗在各模块之间的通信传输。
1、系统实现了双重检测能力。
结合了静态与动态的优势,系统结合两次检测的特征信息覆盖比例,加权计算得到检测结论报告,能够覆盖多种特征类型的恶意软件检测。
2、通过开发优化自动化脚本实现性能的提升。
通过自动化执行脚本提高了检测性能,对比直接使用常用测试工具monkey和MonkeyRunner在cpu占用,内存消耗,相同运行时间的功能范围覆盖。我们的自动化脚本在CPU与内存消耗减少10%的基础上,实现了应用功能测试的覆盖范围增加15%。
3、提升了分类识别的准确率。
本发实施例的系统模型设计合理,并且在识别方面有较高的准确率。检测系统在超过四千样本的实验上到达了96%的准确率,由于分布式模块化设计,未来我们可以引入更高效的机器学习识别模型来进一步提高准确率。
实施例3
本实施例提供一种电子设备,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据实施例1中任一项所述方法的步骤。
实施例4
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例1中任一项所述方法的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种双重验证的安卓恶意软件混合检测方法,其特征在于,包括:
从被监控手机的文件目录中获取apk文件;
对apk文件进行分析处理,生成第一特征向量到txt文件中;
将apk文件安装到虚拟环境并运行,模拟手机安卓操作系统真实运行场景,生成日志文件,并从日志文件中提取第二特征向量;
对第一特征向量和第二特征向量分别进行检测识别分类,获得第一特征向量和第二特征向量的检测分类结果;
对第一特征向量和第二特征向量的检测分类结果采用特征信息覆盖比例的方式进行加权判断,生成最终检测结果报告。
2.根据权利要求1所述的双重验证的安卓恶意软件混合检测方法,其特征在于,所述从被监控手机的文件目录中获取apk文件,包括:
监控手机文件目录的新增apk文件;
若有新增apk文件,触发检测service程序,通过Apktool工具把apk文件反编译出manifest文件;
其中,manifest文件包含权限声明和各类组件信息。
3.根据权利要求2所述的双重验证的安卓恶意软件混合检测方法,其特征在于,所述对apk文件进行分析处理,生成第一特征向量到txt文件中,包括:
对apk文件反编译出的manifest文件进行处理分析,根据权限声明和各类组件信息生成特征向量到package.txt、permission.txt和component.txt三个文档。
4.根据权利要求1所述的双重验证的安卓恶意软件混合检测方法,其特征在于,所述将apk文件安装到虚拟环境并运行,模拟手机安卓操作系统真实运行场景,生成日志文件,包括:
将apk文件安装到虚拟机,触发自动检测脚本执行应用程序,获取到检测程序的日志文件,其中,虚拟机上运行的安卓操作系统被增加了设定的API日志跟踪方法。
5.根据权利要求1所述的双重验证的安卓恶意软件混合检测方法,其特征在于,对第一特征向量和第二特征向量分别进行检测识别分类之前,分别对第一特征向量和第二特征向量进行特征选择与筛选,其中,筛选采用的方法为卡方检验算法。
6.根据权利要求1所述的双重验证的安卓恶意软件混合检测方法,其特征在于,所述对第一特征向量和第二特征向量分别进行检测识别分类,获得第一特征向量和第二特征向量的检测分类结果,包括:
将第一特征向量和第二特征向量分别作为总样本,采用如下方法进行检测识别分类:
采用bagging抽样对总样本进行有放回抽样,共分割N个样本形成训练子集;
提取训练子集中的特征属性,按照决策树生成算法选择最优属性进行节点分裂,分裂过程不进行剪枝,从而从训练子集得到一棵决策树;
重复上述步骤K次,建立K棵决策树,生成随机森林;
应用随机森林对预先划分出的测试样本集进行分类检测,所有决策树共K个分类结果,对分类效果进行评价,最终通过投票原则确定测试样本类别;
将测试样本类别作为检测分类结果,从而分别获得第一特征向量和第二特征向量的检测分类结果。
7.一种双重验证的安卓恶意软件混合检测系统,其特征在于,包括:
用户界面操作监控模块,用于从被监控手机的文件目录中获取apk文件;
静态检测服务模块,用于对apk文件进行分析处理,生成第一特征向量到txt文件中;
动态检测服务模块,用于将apk文件安装到虚拟环境并运行,模拟手机安卓操作系统真实运行场景,生成日志文件,并从日志文件中提取第二特征向量;
机器学习分类模块,用于对第一特征向量和第二特征向量分别进行检测识别分类,获得第一特征向量和第二特征向量的检测分类结果;并对第一特征向量和第二特征向量的检测分类结果采用特征信息覆盖比例的方式进行加权判断,生成最终检测结果报告。
8.根据权利要求7所述的双重验证的安卓恶意软件混合检测系统,其特征在于,还包括特征选择与筛选模块,用于对第一特征向量和第二特征向量进行特征选择与筛选,其中,筛选采用的方法为卡方检验算法。
9.一种电子设备,其特征在于:包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据权利要求1~6任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:该程序被处理器执行时实现权利要求1~6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310167465.5A CN116305120A (zh) | 2023-02-27 | 2023-02-27 | 一种双重验证的安卓恶意软件混合检测系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310167465.5A CN116305120A (zh) | 2023-02-27 | 2023-02-27 | 一种双重验证的安卓恶意软件混合检测系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116305120A true CN116305120A (zh) | 2023-06-23 |
Family
ID=86817881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310167465.5A Pending CN116305120A (zh) | 2023-02-27 | 2023-02-27 | 一种双重验证的安卓恶意软件混合检测系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116305120A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116522318A (zh) * | 2023-06-30 | 2023-08-01 | 中国电信股份有限公司 | 容器权限检测方法、装置、设备及介质 |
-
2023
- 2023-02-27 CN CN202310167465.5A patent/CN116305120A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116522318A (zh) * | 2023-06-30 | 2023-08-01 | 中国电信股份有限公司 | 容器权限检测方法、装置、设备及介质 |
CN116522318B (zh) * | 2023-06-30 | 2023-10-03 | 中国电信股份有限公司 | 容器权限检测方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108133139B (zh) | 一种基于多运行环境行为比对的安卓恶意应用检测系统 | |
Avdiienko et al. | Mining apps for abnormal usage of sensitive data | |
Pan et al. | Dark hazard: Large-scale discovery of unknown hidden sensitive operations in Android apps | |
Alzaylaee et al. | DynaLog: An automated dynamic analysis framework for characterizing android applications | |
US10986103B2 (en) | Signal tokens indicative of malware | |
US20160094574A1 (en) | Determining malware based on signal tokens | |
CN105956474A (zh) | Android平台软件异常行为检测系统 | |
Jaiswal et al. | Android gaming malware detection using system call analysis | |
CN112084497A (zh) | 嵌入式Linux系统恶意程序检测方法及装置 | |
CN112688966A (zh) | webshell检测方法、装置、介质和设备 | |
Kapratwar | Static and dynamic analysis for android malware detection | |
Bernardi et al. | A fuzzy-based process mining approach for dynamic malware detection | |
CN116305120A (zh) | 一种双重验证的安卓恶意软件混合检测系统及方法 | |
Lubuva et al. | A review of static malware detection for Android apps permission based on deep learning | |
CN113569240B (zh) | 恶意软件的检测方法、装置及设备 | |
KR101557455B1 (ko) | 응용 프로그램 코드 분석 장치 및 그것을 이용한 코드 분석 방법 | |
Su et al. | Detection of android malware by static analysis on permissions and sensitive functions | |
Lemos et al. | Inspecting binder transactions to detect anomalies in android | |
Congyi et al. | Method for detecting Android malware based on ensemble learning | |
CN108427882B (zh) | 基于行为特征抽取的安卓软件动态分析检测法 | |
US20220366048A1 (en) | Ai-powered advanced malware detection system | |
CN114860351A (zh) | 异常识别方法及装置、存储介质、计算机设备 | |
CN111159714B (zh) | 一种访问控制中主体运行时可信验证方法及系统 | |
Lin et al. | Mobile malware detection in sandbox with live event feeding and log pattern analysis | |
Yang et al. | Research on non-authorized privilege escalation detection of android applications |
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 |