当前位置: 首页 > 专利查询>湖南大学专利>正文

一种基于局部二值模式和主成分分析技术的安卓恶意软件检测方法技术

技术编号:17780188 阅读:103 留言:0更新日期:2018-04-22 08:56
本发明专利技术通过对安卓软件的二进制序列灰度图像纹理特征进行分析,提出新的安卓恶意软件检测算法和技术,节约了以往研究方法需要使用反编译工具、沙箱、虚拟机所带来的资源损耗,同时降低了时间开销。本发明专利技术重点分析了安卓二进制序列灰度图像纹理特征,提出了一种新型的基于局部二值模式和主成分分析技术的安卓恶意软件检测方法,通过直接读取安卓文件二进制序列,无需任何反编译工具、沙箱、虚拟机,从而降低资源损耗以及时间开销。实验证明本发明专利技术自动化病毒检测方法在准确率和效率均达到商用指标,同时降低了因分析工具造成的资源的损耗和时间消耗,具有很强的竞争力和广阔的市场前景。

【技术实现步骤摘要】
一种基于局部二值模式和主成分分析技术的安卓恶意软件检测方法
本专利技术涉及局部二值模式和主成分分析技术的安卓恶意软件检测方法。
技术介绍
随着信息时代的来临,移动智能手机逐渐成为国民信息基础设备。据国际数据中心(IDC)2016年第三季度发布的智能手机操作系统市场占比显示,安卓操作系统占比86.8%,远超iOS(12.5%),Windows(0.3%)以及其他操作系统(0.4%),安卓操作系统已成为当今最主流的智能手机操作系统。由于安卓系统的流行,一系列安全问题的随之涌现。据德国网络安全公司GDATA最新公布的一份调查报告显示,安卓恶意软件数量逐年递增,其中2017年第一季度发现了超过75万个新的Android恶意软件应用程序。每天都会有近8,400个新的恶意软件样本出现。这些恶意应用的恶意行为多种多样,一旦被用户将这些恶意应用安装在手机中,用户的隐私信息极有可能会被泄露,如用户短信记录被窃取、通信信息甚至是个人照片在用户不知情的情况下会被上传,更有甚者,会恶意吸取用户话费,这些给用户造成了精神和经济上的损失。面对如此大量的安卓恶意软件的出现及其对互联网安全的这种严重威胁。一些学者提出了静态检测安卓恶意软件的方法,即通过反编译提取应用软件的操作码或字符串等特征,再对这些特征进行分析。由于这些方法都需要使用反编译工具来获得特征,在这一过程中会占用大量的系统资源且要耗费大量时间开销,此外,存在一些特殊场景无法使用反编译工具,那么应用软件的特征便无法获得,对安卓软件的检测更无从谈及了。另一方面,有一些学者提出了动态检测安卓恶意软件的方法,该方法无需像静态检测那样使用反编译工具获取特征,但需要在沙箱、虚拟机等环境下执行或者模拟安卓应用的安装和运行等操作,然后监控记录该应用在运行过程中的各项行为数据(比如网络通信访问、文件数据的读写、进程操作等),通过与己知恶意软件的特征比对,检测出恶意软件的变种。然而,动态检测的这些方法仍需要在沙箱、虚拟机中模拟和监控安卓应用的行为,在这一过程中也会占用大量的系统资源,且监控和模拟安卓应用行为需要大量时间开销。此外,存在一些特殊场景并不适合使用沙箱或虚拟机,此种情况下便无法对安卓应用进行检测。
技术实现思路
本专利技术目的在于利用提取的二进制纹理特征,通过局部二值模式、主成分分析技术,使用K最近邻算法来快速来识别安卓恶意软件。通过比较未知样本与安卓恶意软件和非恶意软件的相似性来检测是否为恶意软件。与现有的方法相比,本专利技术的优势在于不需要任何反编译工具或沙箱、虚拟机等,大大节省资源和时间开销。定义1,M为训练集,M={m1,m2},m1代表安卓恶意样本数据集,m2代表非恶意样本数据集。定义2,xj是一个二进制软体实例,若xj是从恶意样本提取的二进制序列,则xj∈m1,否则xj∈m2。定义3,Tex是从二进制灰度图像中提取的二进制序列纹理特征。定义4,T(xj)是根据xj通过局部二值模式计算得到的二进制序列纹理特征列向量,T(xj)是一个由256行1列组成的向量。本专利技术的工作流程图如图1所示。我们首先读取安卓二进制文件,并将其直接转换二进制画像,通过使用局部二值模式(LBP)我们可以提取该画像的纹理特征,为了在降低时间消耗的同时并保持准确度,我们使用主成分分析方法(PCA)来对安卓二进制纹理特征进行降维,最后,我们通过K最近邻算法来对安卓恶意二进制软件和非恶意二进制软件进行分类。本专利技术的方法包括如下四个步骤:1.构建安卓软件二进制序列灰度图像。本专利技术通过顺序读取安卓软件的二进制序列生成二进制序列灰度图像。2.采用局部二值模式对安卓软件灰度图像进行纹理特征提取。本专利技术基于生成的安卓软件二进制序列灰度图像,采用局部二值模式提取该灰度图像的纹理特征,形成纹理特征向量。3.采用主成分分析技术对纹理特征向量进行降维。由于本专利技术提取的安卓灰度图像的纹理特征向量维度较大,为了在降低维度的同时不失检测精度和速度,本专利技术采用主成分分析方法降维。4.采用K近邻检测安卓恶意与非恶意软件。本专利技术使用K近邻检测算法来检测安卓恶意软件和非恶意软件。如果未知实例的特征向被分类到了相似的恶意软件,则该未知实例是恶意的,如果没有则该未知实例是良性的。本专利技术通过如下操作来构建安卓软件的二进制序列灰度图像。本专利技术首先读取安卓软件的二进制序列,在生成的灰度图像中,每个像素点由8bit(1字节)的二进制序列构成,像素值为8bit二进制对应的0~255之间的十进制整数,图像宽度固定为500字节,图像的高度为安卓文件长度与图像宽度的比值。本专利技术构建的恶意软件和非恶意软件例子如图2所示。接着通过局部二值模式提取安卓二进制序列灰度图像的纹理特征,在安卓二进制序列灰度图像中采用3*3窗口顺序滑动,将窗口中心像素作为阈值,以3*3区域右下角像素点为起点,沿顺时针方向逐一将除中心点外的每个像素值与中心点的像素值进行比较,若周围像素值大于中心点的像素值,则该像素点的位置被标记为1,若周围像素值小于中心点的像素值,则将该像素点的位置标记为0。以上步骤完成后,本专利技术就可以得到一个8位的二进制序列,再将该序列转化成对应的十进制,即得到该3*3区域内中心像素点的LBP值,标记过程如图3所示,局部二值模式提取灰度图像的纹理特征公式如公式(1)所示:其中其中,gc表示中心点像素的像素值,gp表示除中心点外周围像素点的像素值,P表示周围像素点的数量,2p表示2的p次方。然后,本专利技术对所有中心像素点的特征值进行统计,统计0~255之间255个值域范围的特征值数量,并形成1*255维的向量,该向量即为纹理特征向量。本专利技术通过主成分分析方法对从二进制序列灰度图像中提取的纹理特征向量进行降维的操作如下:首先,本专利技术根据公式(2)对定义4中的纹理特征列向量T(xj)计算平均纹理特征向量Taverage,其中n是训练特征纹理向量T(xj)的数量。其次,本专利技术根据平均特征纹理向量Taverage计算方差向量V(xj),计算公式如公式(3)所示:V(xj)=T(xj)-Taverage(3)然后,本专利技术计算协方差矩阵和特征向量,定义Cov作为协方差矩阵,如公式(4)所示:本专利技术令G为AAT的列特征向量,Gi为特征向量G中从小到大排列的第i个特征向量,与其特征值λi对应,如公式(5)和(6)。|AAT-λE|=0(5)AAT*Gi=λi*Gi(6)最后,本专利技术选择N个最大的特征向量,Gi<N,令Vec(xj)作为最终的特征向量,如公式(7)所示:Vec(xj)=V(xj)T*Gi<N(7)本专利技术使用K近邻算法来对待检测的安卓软件分类,我们通过在样本库中找出K个与目标安卓软件最邻近的安卓软件,选取K=1,如果K个最邻近的(即距离最小的)样本库中的安卓软件均为恶意软件,则说明目标安卓软件为恶意软件。采用K近邻算法计算欧式距离dist的公式如公式(8)所示:其中,N是向量的行数,Xi是样本库中进行比较的向量,Y是目标向量。附图说明图1为本实验工作流程图。图2为构建的恶意软件和非恶意软件灰度图像(左图为恶意软件二进制序列灰度图像,右图为非恶意软件二进制序列灰度图像)。图3为局部二值模式原理图。图4为不同维度下使用K近邻与主成分分析方法的检测准确率图。图5为只采用K近邻方法和本文档来自技高网
...
一种基于局部二值模式和主成分分析技术的安卓恶意软件检测方法

【技术保护点】
一种基于局部二值模式和主成分分析技术的安卓恶意软件检测方法,其特征在于,包括:1)构造一种针对安卓软件的二进制序列灰度图像生成算法2)构造一种基于局部二值模式的安卓软件灰度图像纹理特征提取算法3)构造一种基于主成分分析和K近邻的安卓软件纹理特征识别算法。

【技术特征摘要】
1.一种基于局部二值模式和主成分分析技术的安卓恶意软件检测方法,其特征在于,包括:1)构造一种针对安卓软件的二进制序列灰度图像生成算法2)构造一种基于局部二值模式的安卓软件灰度图像纹理特征提取算法3)构造一种基于主成分分析和K近邻的安卓软件纹理特征识别算法。2.根据权利要求1所述针对安卓软件的二进制序列灰度图像生成算法,通过顺序读取安卓软件的二进制序列生成二进制序列灰度图像。图像中的每个像素点由8bit(1字节)的二进制序列构成,像素值为8bit二进制对应的0~255之间的整数,图像宽度固定为500字节,图像的高度为安卓文件长度与图像宽度的比值。3.根据权利要求1所述基于局部二值模式的安卓软件灰度图像纹理特征提取算法,基于生成的安卓软件二进制序列灰度图像,采用局部二值模式提取灰度图像的纹理特征。在灰度图像中采用3*3窗口顺序滑动,提取图像中每个3*3区域的像素点,选取每个3*3区域右下角像素点为起点,并按照顺时针顺序比较3*3区域中中心像素点与周围像素点的大小,计算中心像素点的局部二值模式纹理特征值LBP,中心像素点纹理特征值的计算公式为:其中,gc是中心像素点的像素值,gp是周围像素点的像素值,s(gp-gc)是比较函数,2p是2的p次方,如周围像素点的像素值gp小于中心像素点的像素值gc,则s...

【专利技术属性】
技术研发人员:伍琪欣秦拯张吉昕尹辉
申请(专利权)人:湖南大学
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1