一种基于机器学习的恶意PNG图像识别方法与流程

文档序号:15386928发布日期:2018-09-08 00:40阅读:436来源:国知局

本发明属于网络空间安全技术领域,尤其涉及一种基于机器学习的恶意png图像识别方法。



背景技术:

随着网络的迅速普及应用,数字化技术的快速发展,网络空间安全问题,逐渐走入人们的视野,为越来越多的人们所重视。

一方面,浏览器作为人们获取互联网信息的主要媒介,其安全问题不容轻视。近年来,由于javascript审查不严格等原因,越来越多的网页被植入了形形色色的网页广告,它们轻则诱导用户点击访问恶意链接,重则通过将恶意软件、恶意动态链接库文件(dynamiclinklibraries,dll)附加到网页图片的方式,绕过计算机和网络防御系统,直接对用户个人电脑和移动设备造成感染病毒、信息泄露等恶劣影响。

另一方面,网站被非法控制、大量数据泄露事件层出不穷,而作为其中利用频繁的一项攻击技术---通过文件上传功能上传恶意代码,如一句话木马,进而控制服务器,其危害不容小觑。针对上传恶意代码的检测和绕过是博弈双方从未停止的防守和攻击。近年来,攻击者开始使用上传“合法”的png图片来躲避入侵检测系统的检测,而恶意代码则通过编码、lsb隐写等数字隐写技术隐藏在伪造的“合法”png图片中,一旦成功上传,攻击者就能通过访问解析精心构造的隐藏在png图片中的攻击载荷的方式,远程控制网站服务器,从而进行更具有破坏性的尝试和操作行为,如窃取网站用户隐私数据、远程控制网站服务器作为傀儡机发动对其它服务器的拒绝访问攻击(dos)等。

归根结底,无论是在诸如浏览器之类的客户端,还是在部署网站服务器的服务端,一个亟待解决的问题就是对网页中的图片进行审核以防止隐藏的恶意行为。png格式的图片,以其体积小、无损压缩、优化的网络传输显示等特点被广泛使用在网页中,png图片也是良好的信息隐藏载体,应该是被重点研究的对象。

如果服务端在处理用户上传图片文件请求时,能够高效且准确的识别出合法的图片上传请求,并分析图片中是否使用了数字隐写技术而包含了恶意攻击载荷;客户端能够在访问网页资源时,对网页中的图片资源进行过滤,对疑似包含恶意程序文件的图片资源禁止自行下载,那么就能从源头上遏制该类恶意行为的发生。

为此,我们引入机器学习技术和数字隐写技术来解决这一问题。

机器学习技术的应用遍及人工智能的各个领域,是人工智能的核心技术。目前,机器学习技术以其自主学习、高效学习、精确学习的特性,也开始在网络空间安全领域发挥着巨大的作用。

机器学习的实现与三个部分有着不可分开的关系:环境、学习部分和执行部分。环境向系统的学习部分提供某些信息,学习部分利用这些信息修改知识库,以增进系统执行部分完成任务的效能,执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分。

下面以识别png图像为例,详细描述影响机器学习系统设计的三个因素:

环境向系统提供的信息:知识库里存放的是指导执行部分动作的一般原则,但环境向系统提供的信息却是各种各样的。如果信息的质量比较高,与一般原则的差别比较小,则学习部分比较容易处理。如果向系统提供的是杂乱无章的指导执行具体动作的具体信息,则系统需要在获得足够数据之后,删除不必要的细节,进行总结推广,形成指导动作的一般原则,放入知识库,这样学习部分的任务就比较繁重,设计起来也较为困难。

知识库:知识的表示有多种形式,比如png图像的头部标志、png图像的存储方式、png图像的结束标志等等。这些表示方式各有其特点,在选择表示方式时满足了以下4个方面:

(1)表达能力强;

(2)易于推理;

(3)容易修改知识库;

(4)知识表示易于扩展。

执行部分:是整个系统的核心,因为执行部分的动作就是学习部分力求改进的动作。在对png图像识别的过程中,根据识别结果不断对学习部分的内容进行调整,以提高执行时的准确性。

数字隐写技术是将秘密信息嵌入到数字媒介中而不损坏它载体质量的一种安全技术。通过数字隐写技术处理的秘密信息,第三方既觉察不到秘密信息的存在,也不知道秘密信息的内容。隐写的载体包括图像、音频、视频等。近年来,数字隐写技术凭借其多变、隐匿性强等特点,已经成为了信息安全技术关注的焦点。由于每个web站点都依赖各种多媒体,如音频、视频和图像等资源,因此攻击者能通过对恶意软件、恶意攻击载荷运用数字隐写技术将攻击行为隐藏在多媒体当中,且能轻松绕过反恶意软件的检测,从而造成更大的潜在威胁。

以多媒体资源的图像为例,经典的数字图像隐写技术包括两方面,基于空域的隐写和基于变换域的隐写。其中,基于空域的隐写主要有最不重要位(leastsignificantbit,lsb)隐写,基于变换域的隐写主要和图像的离散余弦变换(discretecosinetransform,dct)系数有关,包括jsteg隐写、f5隐写、outguess隐写、基于模型(model—based,mb)的隐写等。



技术实现要素:

为了解决现有技术所存在的问题,本发明提供一种基于机器学习的恶意png图像识别方法,采用png图像特征库进行特征匹配识别,并借助数字隐写识别模型判断png图片是否存在隐藏信息,从而在服务端禁止不合法图片的上传,在客户端禁止对不合法图片的访问,加强了网络安全。

本发明采用如下技术方案来实现:一种基于机器学习的恶意png图像识别方法,包括以下步骤:

步骤一、通过机器学习建立png图像特征库和数字隐写识别模型;

步骤二、在服务端对所有上传图片文件的请求进行审查,对照步骤一所建立的png图像特征库,对png图片进行特征匹配识别,如果发现不合法的png图片格式,则拒绝上传请求;否则,png图片通过初步识别,进入步骤三;

步骤三、对于通过初步识别的png图片格式文件,调用步骤一所建立的数字隐写识别模型,挖掘png图片是否存在信息隐藏,若存在,则拒绝上传请求;若不存在,则允许上传请求;

步骤四、在客户端监测网页传输过程中的png图片格式文件数据,对照步骤一所建立的png图像特征库,对png图片进行特征匹配识别,如果发现不合法的png图片格式,则禁止访问该图片资源;否则,进入步骤五;

步骤五、调用步骤一所建立的数字隐写识别模型,挖掘png图片是否存在信息隐藏,对于存在信息隐藏的图片,认为可能隐藏恶意信息,禁止访问该图片资源。

优选地,步骤一所述的建立png图像特征库,过程如下:首先提供批量png图像作为训练集数据导入机器学习系统;其次建立png图像特征识别库,包括以下特征信息:(1).png头部特征;(2).png结束标志iend块;(3).记录png图像信息的ihdr块;(4).存储实际图像数据的idat块;(5).存储图像冗余信息块;最后针对以上识别库,选用支持向量机模型进行特征学习,完成对目标的识别分类。

优选地,步骤一所述的数字隐写识别模型,采用浅层学习和深度学习结合的方式来建立:一方面基于经典隐写算法的隐写特征建立特征库进行特征学习;另一方面,基于隐写后的图像质量势必发生细微变化的特征,对含有隐写信息的png图像和不含隐写信息的png图像分别使用高通滤波器进行滤波预处理,增强图像显示特征,将获得的残差图像作为训练集,然后选用卷积神经网络模型进行迁移学习,最终输出图像存在数字隐写的概率。

优选地,所述基于经典隐写算法的隐写特征建立特征库进行特征学习,为选用rs分析算法对png图像进行有监督的学习:

首先将输入待训练模型的图像划分为多个大小相同的图像块,对各个图像块扫描排列成像素向量g={x1,x2,...,xn},并使用如下公式计算每个图像块的空间相关性:

其中xi表示每个像素的灰度值,且f值越小,说明相邻像素点间灰度值变化越小,图像块空间相关性越强;

然后对每个图像块随机抽取部分像素应用非负翻转操作,其中翻转函数定义如下:

记f1为像素值2i与2i+1的相互变化关系,即

记f-1为像素值2i-1与2i的相互变化关系,即

记f0为像素值不变关系;

计算其空间相关性增加的图像块的比例rm或减少的图像块的比例sm:

同样,对每个图像块随机抽取部分像素应用非正翻转操作,计算其空间相关性增加的图像块的比例r-m或减少的图像块的比例s-m:

若当应用非正翻转对混乱程度的增加大于应用非负翻转对混乱程度的增加时,对该png图像设置标签为存在lsb隐写特征;反之,设置标签为不存在lsb隐写特征,并进行输出;

将png图像作为输入物件,是否存在lsb隐写特征作为预期输出,最终由输入物件和预期输出组成训练资料并建立一个学习模式,并依此学习模式推测新的png图像是否存在lsb隐写。

与现有技术相比,本发明具有如下有益效果:本发明引入机器学习技术和数字隐写技术,建立png图像特征库进行特征匹配识别,初步判断png图像是否存在恶意信息的隐藏,并借助数字隐写识别模型进一步判断png图片是否存在隐藏信息,从而在服务端禁止不合法图片的上传,在客户端禁止对不合法图片的访问,加强了网络安全。其中,在数字隐写识别模型中选用rs分析算法对png图像进行有监督的学习,通过翻转函数的正负翻转操作对图像混乱程度是否相当来判断图像是否存在lsb隐写特征,然后借助于卷积神经网络对图像存在数字隐写的概率进行深度学习、判断,准确率高,整个模型的设计较为简单,易于实现。

附图说明

图1是本发明实施例提供的一种基于机器学习的恶意png图像识别方法流程图;

图2是本发明实施例提供的一种基于机器学习的恶意png图像识别方法中的数字隐写识别模型框架图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明的实现基于服务端和客户端两部分。将本发明技术方案应用在服务端中,如果每个上传图片文件的请求都会被记录下来,并作为测试集数据依次进入png特征识别库和数字隐写识别模型进行匹配,那么就能实现有效遏制黑客通过上传攻击载荷进而控制服务器的行为。将本发明技术方案应用在客户端中,如果每个含有图片的网页资源都会被记录下来,并作为测试集数据依次进入png特征识别库和数字隐写识别模型进行匹配,那么就能从源头有效遏制恶意行为控制用户设备的行为。

本发明首先通过大量png图像识别训练,建立png图像特征识别库;通过对使用多种数字隐写技术进行隐写信息的png图像采用浅层学习和深度学习相结合的方式,建立数字隐写识别模型。在服务端环境,根据png图像特征识别库识别客户端文件上传过程中的文件是否是png图像,如果确认是png图像,则初步认定合法并进行下一步检测,如果确认不符合png图像格式要求,则认为上传文件非法,拒绝上传请求。在初步认定合法后,进一步运用数字隐写识别模型检测png图像是否存在信息隐藏,若存在,则认为文件为疑似恶意文件,拒绝客户端上传请求;若不存在,则认为无恶意行为,允许上传请求。在客户端环境,通过浏览器实时监测插件或其它实时监测工具对用户浏览的网页图片(此处特指png图像)数据进行实时监测,运用png图像特征识别库进行图像特征识别,如发现异常图像(即通过机器识别后结果为不符合规范的png图像),则禁止用户访问该图像资源;如未发现图像异常则进一步运用数字隐写识别模型检测图像是否存在信息隐藏,若存在,则禁止用户访问该图片资源;若不存在,则用户可以正常访问该图片资源。如图1,具体包括如下步骤:

步骤一、通过机器学习建立png图像特征库和数字隐写识别模型。

对于png图像特征库的建立,考虑到png图像格式的统一性,因此只需要采用浅层学习:首先是提供批量png图像作为训练集数据导入机器学习系统。其次是建立png图像特征识别库,包括以下特征信息:(1).png头部特征;(2).png结束标志iend块;(3).记录png图像信息的ihdr块;(4).存储实际图像数据的idat块;(5).存储图像冗余信息块(如text块)等。最后针对以上手工设计的识别库进行特征学习,考虑到学习旨在完成对目标的识别分类,因此选用支持向量机模型(supportvectormachine,svm)进行有监督学习。

对于数字隐写识别模型的建立,考虑到除了一些经典隐写算法之外,基于经典隐写算法的改造或者独立设计的隐写算法很难被检测的特征,所以本发明采用浅层学习和深度学习结合的方式:

一方面是基于经典隐写算法的隐写特征建立特征库,进行特征学习,这里的经典隐写算法指的是空域下的隐写算法---如最不重要位(leastsignificantbit,lsb)隐写。考虑到rs(regularandsingulargroupsmethod)分析算法是基于隐写前后图像平滑度的变化来检测秘密信息,对使用随机lsb隐写算法(即秘密消息按照随机顺序选择图像的最低有效位进行隐写)具有很强的鲁棒性,因此选用rs分析算法对png图像进行有监督的学习(supervisedlearning),具体如下:

首先将输入待训练模型的图像划分为多个大小相同的图像块,以zigzag方式对各个图像块扫描排列成像素向量g={x1,x2,...,xn},并使用如下公式计算每个图像块的空间相关性:

其中xi表示每个像素的灰度值,且f值越小,说明相邻像素点间灰度值变化越小,图像块空间相关性越强。

然后对每个图像块随机抽取部分像素应用非负翻转(f1和f0)操作,其中翻转函数定义如下:

记f1为像素值2i与2i+1的相互变化关系,即

记f-1为像素值2i-1与2i的相互变化关系,即

记f0为像素值不变关系。

计算其空间相关性增加的图像块的比例(记为rm)或减少的图像块的比例(记为sm):

(rm+sm≤1)

同样,对每个图像块随机抽取部分像素应用非正翻转(f-1和f0)操作,计算其空间相关性增加的图像块的比例(记为r-m)或减少的图像块的比例(记为s-m):

(r-m+s-m≤1)

从统计上说,如果图像没有经过lsb隐写,那么对图像进行非负翻转或非正翻转操作会同等程度破坏图像块的空间相关性,即同等增加图像块的混乱程度,此时有rm≈r-m,sm≈s-m,且rm>sm,r-m>s-m。

因此,若当对图像应用非正翻转操作导致的混乱程度的增加大于应用非负翻转操作导致的混乱程度的增加时,认为该png图像极有可能存在lsb隐写,设置标签为存在lsb隐写特征;反之,设置标签为不存在lsb隐写特征,并进行输出。最终由输入物件(png图像)和预期输出(是否存在lsb隐写特征)组成训练资料并建立一个学习模式(learningmodel),并依此学习模式推测新的png图像是否存在lsb隐写。

另一方面,基于隐写后的图像质量势必发生细微变化的特征,首先对含有隐写信息的png图像和不含隐写信息的png图像分别使用高通滤波器进行滤波预处理,增强图像显示特征,将获得的残差图像作为训练集;考虑到卷积神经网络模型在空间映射上的优越性,适用于处理图像方面,而且在数据量不足的情况下迁移学习有助于减少构建神经网络数据的需求,因此选择了基于lionelpibre等人改进的卷积神经网络(convolutionalneuralnetwork,cnn)模型进行迁移学习,主要思路如下:

将lionelpibre等人预训练的卷积神经网络模型当作特征提取算子,将卷积神经网络的最后一层换成自己的分类器,再固定其他层的权重并训练整个卷积神经网络。

参阅图2,卷积神经网络模型结构如下:

输入:处理后的残差图像所有像素点值;

特征结构层:使用预先训练的模型作为特征提取器;

分类器:包括相连接的全连接层(fullyconnectedlayer)和分类函数(softmax);

输出:图像存在数字隐写的概率;当输出概率大于0.8时,认为图像存在数字隐写。

其中分类器使用了avcibas提出的基于图像质量度量(imagequalitymetrics,iqm)盲检测方法构建,具体如下:

1.通过定义多种图像质量的度量来选择特征向量,为了提取出更鲜明的特征,这里使用了方差分析(analysisofvariance,anova)技术;以minkowsky特征为例,两幅图像的不相似度的范数可以通过在空间上取像素差异的minkowsky平均值然后用色度(即在整个频带上)表示:

其中γ=1时mγ表示绝对平均误差,γ=2时mγ表示均方误差,ck(i,j)表示像素位置i,j和像素k的正常图像的多光谱分量,表示像素位置i,j和像素k的隐写图像的多光谱分量,n表示图像像素总数;

2.所选择的iqm(imagequalitymetrics,图像质量度量)形成了一个多维特征空间,在该空间中正常图像与隐写图像更易区分;

3.在选取了合适的特征集后,在大量实验数据上建立多元线性回归模型,在回归模型基础上建立区分正常图像和隐写图像的分类器。

步骤二、在服务端对所有上传图片文件的请求进行审查,先对数据进行解码预处理,再对照步骤一所建立的png图像特征库,对png图片进行特征匹配识别,如果发现不合法的png图片格式,则拒绝上传请求;否则,png图片通过初步识别,进入步骤三。

本步骤中,对上传图片文件的请求进行审查,审查信息包括以下:(1).文件后缀名;(2).http报文消息头声明的内容样式content-type;(3).传输内容是否经过编码;(4).传输内容是否合法。

步骤三、对于通过初步识别的png图片格式文件,调用步骤一所建立的数字隐写识别模型,挖掘png图片是否存在信息隐藏,若存在,则拒绝上传请求;若不存在,则允许上传请求。

步骤四、在客户端通过浏览器实时监测插件等形式监测网页传输过程中的png图片格式文件数据,对数据进行解码等预处理,再对照步骤一所建立的png图像特征库,对png图片进行特征匹配识别,如果发现不合法的png图片格式,则禁止访问该图片资源;否则,进入步骤五。

客户端监测网页png图像数据,具体指监测png图像数据本身是否存在信息隐藏,对于图片隐含诱导性的恶意链接的情况不在考虑范围内。

步骤五、同步骤三,调用步骤一所建立的数字隐写识别模型,挖掘png图片是否存在信息隐藏,对于存在信息隐藏的图片,认为可能隐藏恶意信息,禁止访问该图片资源。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1