图片上传的安全检测方法及装置与流程

文档序号:18835561发布日期:2019-10-09 05:13阅读:1071来源:国知局
图片上传的安全检测方法及装置与流程

本发明涉及网络安全技术领域,具体来说涉及一种图片上传的安全检测方法及装置。



背景技术:

目前后台系统基本都有上传图片的地方,比如上传用户头像、上传截图等等。恶意攻击者如果想利用上传图片功能上传shell,则需要以下三个条件:上传点、绝对路径、执行权限。例如:利用解析漏洞,上传xx.jpg/xx.php进行恶意行为;利用.htaccess,上传带有恶意代码的jpg文件;利用00截断,上传带有恶意代码且文件名为xx.php.jpg(在抓包软件里把第二个.的十六进制变为00),这样在有的后台系统里则会在保存文件时,文件名为xx.php而不是xx.php.jpg;利用后缀名解析漏洞,上传xx.php.abc,有的服务器因为不能识别abc后缀,所以向前查找可解析的后缀名,从而被执行恶意行为。

现有技术中大部分后台系统虽然也对上传图片做了安全检测,但是检测方面少、检测强度低,容易被恶意攻击者利用,上传经过伪装且带有恶意代码的图片,进而得到后台系统控制权限。



技术实现要素:

本发明旨在解决图片上传时容易被攻击者利用造成恶意攻击的问题,提出一种图片上传的安全检测方法及装置。

本发明解决上述技术问题所采用的技术方案是:图片上传的安全检测方法,包括以下步骤:

步骤1.接收上传的图片文件,对所述图片文件的参数进行检测,若图片文件的参数异常,则判定所述图片文件存在安全隐患;

步骤2.若所述图片文件的参数正常,获取图片文件的字符流,将所述字符流与恶意代码库中的恶意代码进行相似度匹配,若所述相似度大于预设值,则判定所述图片文件存在安全隐患。

进一步的,为实现对图片文件的参数进行检测,步骤1中,所述对图片文件的参数进行检测包括:文件名路径检测、文件名截断检测、文件扩展名检测和文件内容类型检测。

进一步的,为实现对图片文件的全面检测,所述方法还包括:对上传的图片文件的文件幻数进行检测,若所述图片文件的文件幻数与图片文件的格式不对应,则判定所述图片文件存在安全隐患。

进一步的,为实现对未检测出的恶意代码的破坏,所述方法还包括:若所述相似度不大于预设值,对上传的图片文件进行压缩处理,或者对上传的图片文件进行裁剪处理。

为进一步实现对未检测出的恶意代码的破坏,所述方法还包括:若所述相似度不大于预设值,对上传的图片文件进行二次渲染,仅提取代表图片的数据。

本发明还提出一种图片上传的安全检测装置,包括:

第一检测单元,用于接收上传的图片文件,对所述图片文件的参数进行检测,若图片文件的参数异常,则判定所述图片文件存在安全隐患;

第二检测单元,用于若所述图片文件的参数正常,获取图片文件的字符流,将所述字符流与恶意代码库中的恶意代码进行相似度匹配,若所述相似度大于预设值,则判定所述图片文件存在安全隐患。

进一步的,所述第一检测单元还用于对上传的图片文件进行文件名路径检测、文件名截断检测、文件扩展名检测和文件内容类型检测。

进一步的,所述图片上传的安全检测装置还包括:

第三检测单元,用于对上传的图片文件的文件幻数进行检测,若所述图片文件的文件幻数与图片文件的格式不对应,则判定所述图片文件存在安全隐患。

进一步的,所述图片上传的安全检测装置还包括:

图片处理单元,用于若所述相似度不大于预设值,对上传的图片文件进行压缩处理,或者对上传的图片文件进行裁剪处理。

进一步的,所述图片处理单元还用于:若所述相似度不大于预设值,对上传的图片文件进行二次渲染,仅提取代表图片的数据。

本发明的有益效果是:本发明所述的图片上传的安全检测方法及装置,通过对图片文件的参数和图片文件的字符流实现对上传图片的完整检测,实现了对上传图片文件全面的安全检测和处理,降低了后台系统被恶意攻击的概率,提高了后台系统的安全性。

附图说明

图1为本发明实施例所述的图片上传的安全检测方法的流程示意图;

图2为本发明实施例所述的图片上传的安全检测装置的结构示意图。

具体实施方式

下面将结合附图对本发明的实施方式进行详细描述。

本发明所述的图片上传的安全检测方法,如图1所示,包括以下步骤:步骤1.接收上传的图片文件,对所述图片文件的参数进行检测,若图片文件的参数异常,则判定所述图片文件存在安全隐患;步骤2.若所述图片文件的参数正常,获取图片文件的字符流,将所述字符流与恶意代码库中的恶意代码进行相似度匹配,若所述相似度大于预设值,则判定所述图片文件存在安全隐患。

具体而言,接收上传的图片文件一般是服务器接收客户端上传的图片文件,图片文件中包括许多用于表征该图片属性的图片参数,如,文件名路径、文件扩展名和文件内容类型,对所有的图片参数进行检测,判断出该图片文件为真图片文件,还是进行伪装后的假图片文件,当判定为真图片文件时,对图片文件的字符流与恶意代码库中的恶意代码进行匹配,恶意代码库可以是根据历史攻击记录获取并建立的恶意代码集合,当图片文件的字符流与恶意代码库中的恶意代码的相似度超过预设值时,则表示该图片文件的字符流中可能隐藏有恶意攻击代码,此时判定图片文件存在安全隐患。

其中,对图片文件的参数进行检测包括:文件名路径检测、文件名截断检测、文件扩展名检测和文件内容类型检测。

具体而言,文件名路径检测即查找图片文件中是否存在指定字符,如“\”、“/”、“:”、“?”、“*”、“|”、“””、“<”、“>”等,若存在,则表示该图片文件的文件名路径异常,可能为伪装后的假图片文件,此时判定上传的图片文件存在安全隐患。

文件名截取检测即先将图片文件名字符串转换为16进制,检测其中是否存在00字节,若存在,则表示该图片文件的文件名异常,可能为伪装后的假图片文件,此时判定上传的图片文件存在安全隐患。

文件扩展名检测即检测文件类型是否为图片类型,图片类型的文件扩展名包括jpg、jpeg、png、gif,若上传图片文件的扩展名不是图片类型,则判定上传的图片文件存在安全隐患。

文件内容类型检测即content-type内容检测,根据图片文件的文件扩展名确认mime是否为相应的image/jpeg、image/png、image/gif,若否,则判定上传的图片文件存在安全隐患。

可选的,所述图片上传的安全检测方法还包括:对上传的图片文件的文件幻数进行检测,若所述图片文件的文件幻数与图片文件的格式不对应,则判定所述图片文件存在安全隐患。

具体而言,根据content-type内容确认文件幻数是否对应,例如,jpg文件对应16进制幻数为ffd8ffe000104a464946,png文件对应16进制幻数为474946383961,gif文件对应16进制幻数为89504e47,若否,则判定上传的图片文件存在安全隐患。

可选的,通过以上方法对图片文件进行安全检测后,若没有发现上传的图片文件存在安全隐患,还可对图片文件进行压缩处理,在进行压缩处理之前,需要判断图片文件的文件格式,若图片文件的格式为jpg格式,则可以直接对其进行压缩处理,压缩算法可以是谷歌guetzli算法,若图片文件的格式不是jpg格式,例如png格式和gif格式,需要将其转换为jpg格式后在进行压缩处理,图片文件进行压缩处理后,在不影响观看效果的情况下不仅可以减少文件大小,还能够将安全检测没有检测出来的恶意代码破坏。

可选的,还可以对图片文件进行裁剪处理或者二次渲染处理,其中,裁剪处理可以是将图片的长宽分别裁剪一个单位像素或者增加一个单位像素,进而有效破坏未检测到的恶意代码;将图片进行二次渲染处理,仅提取代表图片的数据,通过二次渲染的删除,有一定概率可以将恶意代码删除。

基于上述技术方案,本发明还提出一种图片上传的安全检测装置,如图2所示,包括:

第一检测单元,用于接收上传的图片文件,对所述图片文件的参数进行检测,若图片文件的参数异常,则判定所述图片文件存在安全隐患;

第二检测单元,用于若所述图片文件的参数正常,获取图片文件的字符流,将所述字符流与恶意代码库中的恶意代码进行相似度匹配,若所述相似度大于预设值,则判定所述图片文件存在安全隐患。

可选的,所述第一检测单元还用于对上传的图片文件进行文件名路径检测、文件名截断检测、文件扩展名检测和文件内容类型检测。

可选的,所述图片上传的安全检测装置还包括:

第三检测单元,用于对上传的图片文件的文件幻数进行检测,若所述图片文件的文件幻数与图片文件的格式不对应,则判定所述图片文件存在安全隐患。

可选的,所述图片上传的安全检测装置还包括:

图片处理单元,用于若所述相似度不大于预设值,对上传的图片文件进行压缩处理,或者对上传的图片文件进行裁剪处理。

可选的,所述图片处理单元还用于:若所述相似度不大于预设值,对上传的图片文件进行二次渲染,仅提取代表图片的数据。

可以理解,由于本发明实施例所述的图片上传的安全检测装置是用于实现所述图片上传的安全检测方法的装置,对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的较为简单,相关之处参见方法的部分说明即可。由于上述图片上传的安全检测方法能够提高后台系统的安全性,因此,实现上述图片上传的安全检测方法的装置同样能够提高后台系统的安全性。

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