分享

一种基于机器学习的微代理的网页防篡改方法与流程

 zZ华 2022-01-25
一种基于机器学习的微代理的网页防篡改方法与流程

本发明涉及一种方法,具体涉及一种基于机器学习的微代理的网页防篡改方法,属于网页变化检测技术领域。



背景技术:

近年来,随着信息技术的飞速发展,互联网环境日益开放,网络在为人们提供极大的便利的同时,也极易遭受不法分子的恶意攻击,其中,网页篡改是威胁网站安全较为严峻的问题。

网页篡改是指一些不法分子通过远程注入或探测等方法获取服务器权限远程登录服务器,对网站页面或数据库进行增加、修改、删除等操作。由于web服务的自身特点,被篡改的页面可以在短时间内进行大规模传播,其次,由于页面具有缓存等机制,篡改内容可以离线的方式保存于互联网用户存储媒介中,即使篡改的页面在网站被删除后,其拷贝仍可进行传播,难以彻底消除。因此,网页篡改防护技术愈加重要,一方面网页篡改防护技术经历了快速的发展,从最初的人工检查到现在内核过滤驱动技术,提升了篡改检测的响应速度和防护效率,且逐步降低了对人力和系统资源的消耗;另一方面,不断增长的被篡改页面的统计数据表明现有的安全防护系统没有被广泛的部署或很好的完成网页篡改防护功能。

目前国内外常见的网页防篡改技术主要有:

时间轮巡技术时间轮巡技术是利用一个网页检测程序,以轮巡方式读出要监控的网页,与真实网页相比较,来判断网页内容的完整性,对被篡改的网页进行报警和恢复。

核心内嵌技术核心内嵌技术即密码水印技术,最初先将网页内容采取非对称加密存放,在外来访问请求时将经过加密验证过的网页,进行解密对外发布,若未经过验证,则拒绝对外发布,调用备份网站文件进行验证解密后对外发布。

内核过滤驱动技术内核过滤驱动技术将篡改监测的核心程序通过微软文件底层驱动技术应用到web服务器中,通过事件触发方式进行自动监测,对文件夹的所有文件内容,对照其底层文件属性,经过内置散列快速算法,实时进行监测,若发现属性变更,通过非协议方式、纯文件安全拷贝方式将备份内容拷贝到监测文件夹相应文件位置,整个文件复制过程毫秒级,使得公众无法看到被篡改页面,其运行性能和检测实时性都达到较高的水准。目前现有的网页防篡改技术主要从web文件的角度上进行比对,并不能具体地比较出变化的详细内容;而且,对于大量存在的动态网页,其变化本身就是一种正常的行为;采用传统技术方式来定位网站的篡改与否,一般均需在网站服务器上安装复杂的代理程序,这种方式其实本身就存在较大问题:第一,复杂的代理会占用一定的计算资源以及存储资源,这在有些情况下是无法忍受的;第二,代理本身是否存在一些安全隐患也需要仔细评估,否则是不能随意部署;第三,由于网站本身安装的系统五花八门,不仅有基于x86架构的linux、windows系统,可能还存在其它架构,如sparc、安腾等,特别在涉及到内核驱动部分,其开发和维护代理的工作量巨大。

因此,迫切的需要一种新的方案解决上述技术问题。



技术实现要素:

本发明正是针对现有技术中存在的技术问题,提供一种基于机器学习的微代理的网页防篡改方法,该方法中所述的网页防篡改系统主要包括以下几个模块:站点页面地图生成模块、页面敏感字词抽取和比对模块、页面特征学习对比模块、高频页面监测模块、低频页面监测模块、备份及恢复模块,该方案避免了部署的复杂程度,降低相关系统对于硬件的依赖程度,从最大的可能程度上扩展了系统的应用范围。

为了实现上述目的,本发明的技术方案如下:一种基于机器学习的微代理的网页防篡改方法,其特征在于,所述方法包括以下步骤:

步骤一:站点页面地图生成;

步骤二:页面快照制作;

步骤三:页面敏感字词的抽取和比对;

步骤四:页面特征对比学习;

步骤五:高频页面监测;

步骤六:低频页面监测;

步骤七:备份余恢复机制。

作为本发明的一种改进,所述步骤一,站点页面地图生成,具体如下,

定时通过基于python的网页爬虫系统对需要进行保护的网站的所有url链接进行爬取,其中的主要步骤包括如下内容:

页面url链接的匹配抽取;

模拟页面javascript获取url;

模拟鼠标点击事件,使用深度优先算法遍历预保护url网页中的相关所有链接,在遍历时预先设置深度上限,系统默认为32层,如达到爬取的终点或者达到预先设置的上限则停止或者获取的url包含了其它站点域名则停止;

计算页面父子节点关系,生成包含了各类url的网站整体树状地图。

作为本发明的一种改进,所述步骤二页面快照制作具体如下,使用深度优先算法爬取站点树状地图,模拟访问地图中的所有可能url,对每个url页面进行快照制作,快照制作的目的是为了生成训练的原始图片数据,本系统采用gif格式存储这些快照。

作为本发明的一种改进,所述步骤三页面敏感字词的抽取和比对具体如下,

为了全面地对网站篡改问题进行检测,系统会将各url中嵌入的文本文字以及嵌入在图像中的文字(图像中的文字使用ocr技术获取)抽取出来,利用置信网络等可以进行上下文判断的算法与训练数据集中的相关敏感字词(包括政治、色情、谣言等;这些敏感字词一般通过其它舆情监控系统等获得,系统自动导入或通过人工导入)进行比对和评判,如出现特征的匹配且其置信度在一定阈值之上则可以认为该页面出现了篡改,从而无需执行后续过程,从而节省了一定的时间。

作为本发明的一种改进,所述步骤四页面特征对比学习,具体如下,页面图形、图像特征的学习对比模块是本系统的主要内容,考虑到需要对监测页面进行前后对比的特点以及页面站点快照生成的图片数据量较小,属于小样本的学习过程,因此,通过对大量网络模型的研究,本系统使用孪生神经网络(siamesenetwork)作为对比训练的网络架构。孪生神经网络构架最早由bromley和lecun在1990年为了解决数字签名的校验问题而提出。一个孪生神经网络系统由一对孪生的两个神经网络构成,这两个神经网络之间共享权值和偏置等参数,但输入的是不同的数据。通过神经网络的前向处理,可以将原本在原始空间中分辨困难的数据进行维度规约,从而变得容易分辨。

作为本发明的一种改进,所述步骤五高频页面监测具体如下,高频页面检测模块是分级轮一询检测模块的两部分之一,负责对高频页面部分轮询做完整性检查。根据页面的受访特性,包括热点页面、次热点页面和非热点页面,检测模块的轮询的时间间隔,可以被用户定义为高、中、低三个级别,在检测到篡改行为或者篡改行为升级后,监控与控制模块可能会提升轮询检测频率,高频页面检测模块和低频页面检测的差别主要体现在监控目标的数量大小和执行检测的时间间隔差异上。两者具体的完整性检测技术可以针对各自监控对象的特点定制,也可以使用相同的检测技术。

作为本发明的一种改进,所述步骤六具体如下,低频页面检测模块是分级轮询检测模块的另一部分,负责对低频页面部分轮询做完整性检查,检测流程和技术基本同高频检查模块类似,可以定制轮询频率划分检查强度等级。一般低频页面的数量相当庞大,轮询频率无法提升到高频页面检测部分那样高。但因为低频页面的访问量相对较少,遭受篡改攻击的风险小,攻击造成的影响也远低于高频页面,因此给定的安全级别也就低于高频页面

作为本发明的一种改进,所述步骤七备份与恢复机制具体如下,备份机制主要是用户选择站点镜像的时间点对整站文件进行备份镜像,当系统检测到篡改页面时,提醒并告警用户选择是否恢复镜像;在备份和恢复网站相关页面数据的时候,相关网站需要安装基于微代理(或称之为轻量级代理)的备份和恢复模块。它一般仅工作在用户态而无需与内核进行交互,而且一般它使用脚本语言(python)或java编写的,故其可以跨平台部署,从而降低了部署复杂度及对硬件的依赖。

相对于现有技术,本发明的优点如下:该方案没有采用传统的网页篡改检查方法,提供了一种利用网页快照结合神经网络做相似度计算的方法,通过分块训练、特征学习以及使用孪生网络做相似对比,用户可以设定相似度阈值,从而直观的展示页面被篡改的部分。本发明可以标记页面被篡改的部分,并适配页面快照小样本的特点,不仅可以发现页面是否被篡改,还可以比较前后采集页面的变化。

本发明最重要的效果体现在如下几点:

1.提供了一种利用神经网络做图像相似度对比的方法,将页面篡改的检查方法从传统的文件检查转成页面快照的对比检查,避免了页面更新改变文件信息导致误报的情况;

2.设计了用于页面快照图像小样本训练特征的神经网络结构,用浅层的神经网络结构实现双流分块图像的对比,并输出相似度度量;

3.设计了整套网页篡改检查及备份恢复装置。

附图说明

图1为基于机器学习的微代理的网页防篡改方法流程图;

图2为基本网络结构示意图;

图3为快照图片分割处理示意图;

图4为卷积神经网络结构示意图。

具体实施方式

为了加强对本发明的理解和认识,下面结合附图和具体实施方式对本发明做出进一步的说明和介绍。

实施例1:参见图1-图4,一种基于机器学习的微代理的网页防篡改方法,所述方法包括以下步骤:环境部署:在实际实施时,采用单机部署方式,使用的操作系统为ubuntu14.04-lts(内核为3.13),采取intel64位硬件架构,具体如下,

步骤一:站点页面地图生成;

步骤二:页面快照制作;

步骤三:页面敏感字词的抽取和比对;

步骤四:页面特征对比学习;

步骤五:高频页面监测;

步骤六:低频页面监测;

步骤七:备份余恢复机制。

所述步骤一,站点页面地图生成,具体如下,

定时通过基于python的网页爬虫系统对需要进行保护的网站的所有url链接进行爬取,其中的主要步骤包括如下内容:

页面url链接的匹配抽取;

模拟页面javascript获取url;

模拟鼠标点击事件,使用深度优先算法遍历预保护url网页中的相关所有链接,在遍历时预先设置深度上限,系统默认为32层,如达到爬取的终点或者达到预先设置的上限则停止或者获取的url包含了其它站点域名则停止;

计算页面父子节点关系,生成包含了各类url的网站整体树状地图。

所述步骤二页面快照制作具体如下,使用深度优先算法爬取站点树状地图,模拟访问地图中的所有可能url,对每个url页面进行快照制作,快照制作的目的是为了生成训练的原始图片数据,本系统采用gif格式存储这些快照。

所述步骤三页面敏感字词的抽取和比对具体如下,

为了全面地对网站篡改问题进行检测,系统会将各url中嵌入的文本文字以及嵌入在图像中的文字(图像中的文字使用ocr技术获取)抽取出来,利用置信网络等可以进行上下文判断的算法与训练数据集中的相关敏感字词(包括政治、色情、谣言等;这些敏感字词一般通过其它舆情监控系统等获得,系统自动导入或通过人工导入)进行比对和评判,如出现特征的匹配且其置信度在一定阈值之上则可以认为该页面出现了篡改,从而无需执行后续过程,从而节省了一定的时间。

作为本发明的一种改进,所述步骤四页面特征对比学习,具体如下,

页面图形、图像特征的学习对比模块是本系统的主要内容,考虑到需要对监测页面进行前后对比的特点以及页面站点快照生成的图片数据量较小,属于小样本的学习过程,因此,通过对大量网络模型的研究,本系统使用孪生神经网络(siamesenetwork)作为对比训练的网络架构。

孪生神经网络构架最早由bromley和lecun在1990年为了解决数字签名的校验问题而提出。一个孪生神经网络系统由一对孪生的两个神经网络构成,这两个神经网络之间共享权值和偏置等参数,但输入的是不同的数据。通过神经网络的前向处理,可以将原本在原始空间中分辨困难的数据进行维度规约,从而变得容易分辨。

其基本网络结构如下图2所示。孪生神经网络可以衡量两个输入的相似程度,通过将两个输入分别映射到新的空间,形成输入在新空间中的表示,并通过损失函数的计算,评价两个输入的相似程度。

为了实现比较网页页面是否被篡改的功能,需要对前后两次采集到的页面快照图片做分隔处理,对于比较相似度小于设定阈值的分块可以进行进一步的分块对比。如下图3所示。

为对输入的图片做卷积运算训练特征,经过实验构建的卷积神经网络结构如图4所示。

网络结构属于浅层神经网络结构,具体分别为最大池化层、3*3卷积核的卷积层+relu激活函数、最大池化层、2*2卷积核的卷积层+relu激活函数、最大池化层。孪生神经网络的损失函数选择了对比损失函数(contrastivelossfunction)。此外,选择relu作为激活函数是因为其计算为线性方式,故使用其所得到的sgd的收敛速度会比sigmoid/tanh快很多。相比于sigmoid/tanh,relu只需要一个阈值就可以得到激活值,而不必进行过于复杂的运算,能够提高运算的效率。

在孪生神经网络中,对比损失函数可以有效处理孪生神经网络中的对称数据关系,其数学表达式如下:

其中,代表两个样本特征的欧几里得距离,y为两个样本是否匹配的标签,y=1代表两个样本相似或者匹配,而y=0则代表不匹配,margin为设定的阈值。

网络输出分块图片的相似度。对于相似度大于阈值(本系统设置为0.75)的分块做标记,并进一步分块计算相似度比较,从而实现差异区域的对比标记。

所述步骤五高频页面监测具体如下,

高频页面检测模块是分级轮一询检测模块的两部分之一,负责对高频页面部分轮询做完整性检查。根据页面的受访特性,包括热点页面、次热点页面和非热点页面,检测模块的轮询的时间间隔,可以被用户定义为高、中、低三个级别,在检测到篡改行为或者篡改行为升级后,监控与控制模块可能会提升轮询检测频率,高频页面检测模块和低频页面检测的差别主要体现在监控目标的数量大小和执行检测的时间间隔差异上。两者具体的完整性检测技术可以针对各自监控对象的特点定制,也可以使用相同的检测技术。

所述步骤六具体如下,低频页面检测模块是分级轮询检测模块的另一部分,负责对低频页面部分轮询做完整性检查,检测流程和技术基本同高频检查模块类似,可以定制轮询频率划分检查强度等级。一般低频页面的数量相当庞大,轮询频率无法提升到高频页面检测部分那样高。但因为低频页面的访问量相对较少,遭受篡改攻击的风险小,攻击造成的影响也远低于高频页面,因此给定的安全级别也就低于高频页面

所述步骤七备份与恢复机制具体如下,备份机制主要是用户选择站点镜像的时间点对整站文件进行备份镜像,当系统检测到篡改页面时,提醒并告警用户选择是否恢复镜像;在备份和恢复网站相关页面数据的时候,相关网站需要安装基于微代理(或称之为轻量级代理)的备份和恢复模块。它一般仅工作在用户态而无需与内核进行交互,而且一般它使用脚本语言(python)或java编写的,故其可以跨平台部署,从而降低了部署复杂度及对硬件的依赖。上述方案通过爬虫系统对网站整站页面url进行爬取过滤以及制作页面快照;对页面快照做一系列图像处理并利用搭建的卷积神经网络进行页面特征学习;利用实验搭建的卷积神经网络做孪生网络框架的训练卷积模块,并经过对比损失函数输出检测前后的网页对比相似度,与预先设定好的阈值做比较,从而得到快照分块的对比结果;提出并搭建了一种适合做差异对比的神经网络结构。

需要说明的是上述实施例,并没有用来限定本发明的保护范围,在上述基础上所作出的等同替换或者替代均属于本发明权利要求的保护范围。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多