本发明涉及信息安全软件领域,特别是一种网页防篡改系统及方法。
背景技术:
网页防篡改软件用于保证被公众访问的网页的完整性,防止黑客篡改后的页面被公众访问到而可能产生的恶劣影响,通常安装在网站服务器上。公众请求访问一个网页的流程如图1所示。
图1中,当公众请求浏览网页1时,该请求到达网站服务器的网站端口2(比如tcp协议的80端口),在该端口上监听(listen)的中间件软件3(比如:iis、apache、tomcat、ngnix等)收到请求、解析并处理请求,然后把网站目录4下(比如:d:\wwwroot)的网页内容返回给访问者。
针对图1的流程,现有的网页防篡改技术一般有:
1、定时循环轮询技术:定时循环扫描图1中的网站目录4,根据预定算法判断是否篡改,如果有篡改就采取措施给与恢复。
2、事件触发技术:通过一些目录监控技术(比如:windows系统中的readdirectorychangesexw技术、linux系统中的inotify技术)对图1中的网站目录4进行监控,网站目录下如有任何文件变动(比如文件或文件夹的增、删、改)都能感知到,并立即检测相关文件变动是否合法,如果是篡改就采取措施给与恢复。
3、核心内嵌技术:通过中间件的第三方开发接口(比如iis的isapi筛选器、apache的module等)在图1中的中间件3中加入网页防篡改检测模块,当有网页访问请求时,计算出该请求对应于图1中的网站目录4下文件的全路径,然后检测该文件是否被篡改,如果是篡改就采取措施给与恢复。
4、文件过滤驱动技术:通过在网站服务器操作系统中加载文件过滤驱动,来感知所有对图1中中间件目录3和网站目录4下的文件变动(比如文件或文件夹的增、删、改),一旦发现非信任进程触发的文件变动,就立即进行检测,如果是篡改就采取措施给与恢复。
可见现有技术的共同特点为:最多只能检测图1中4和3目录下的文件是否已篡改,如果是篡改就采取措施给与恢复。其缺点是都无法对图1中的网站端口2进行保护,而网页防篡改软件如果无法对网站端口进行保护那么将存在严重安全隐患。
如图2所示,如果黑客把图2中原来的中间件程序3停止,那么图2中的网站端口2(比如tcp-80端口)也随之关闭,此时黑客另装一套图2中的新中间件程序5来重新监听图2中网站端口2,然后设置图2中的网站目录6到其它路径(比如:f:\hacker),即可立即绕过现有网页防篡改技术的保护,因为公众访问到的不再是图2中原网站目录4,而是图2中的黑客定义的不受任何约束的网站目录6,从而产生严重的安全隐患。
技术实现要素:
有鉴于此,本发明的目的是提出一种网页防篡改系统及方法,改正了现有网页防篡改技术的缺点,消除了严重安全隐患。
本发明采用以下方案实现:一种网页防篡改系统,包括驱动程序,该驱动程序捕捉获取所有开启监听网站端口的操作,并计算出该操作的源进程的特征信息;
所述驱动程序中被配置有设定的规则,使得只有符合该设定的规则的源进程才能开启监听网站端口。
进一步地,所述设定的规则为只有源进程的特征信息为原有中间件程序的特征信息时才符合规则。
进一步地,所述驱动程序安装在操作系统中。
本发明还提供了一种基于上文所述的一种网页防篡改系统的方法,具体为:在驱动程序中配置设定的规则,当有进程尝试开启监听网站端口时,所述驱动程序捕获到该进程的相关操作,然后计算发起当前操作的该进程的特征信息,所述驱动程序将计算得到的结果与设定的规则进行对比,若符合规则,则允许该进程继续执行监听网站端口的操作,否则向该进程返回失败。
进一步地,所述该进程的特征信息包括但不限于进程全路径、进程用户名、进程会话id。
进一步地,所述设定的规则为只有该进程的特征信息为原有中间件程序的特征信息时才符合规则。
进一步地,在所述在驱动程序中配置设定的规则之前还包括:在操作系统中安装所述驱动程序。
与现有技术相比,本发明有以下有益效果:本发明在操作系统中安装了一个能捕获所有开启监听网站端口的操作,并能计算出发起这个操作的源进程的特征信息(比如:源进程的全路径、进程用户名、进程会话id等)的驱动程序,而且用户能通过一些方式向该驱动程序配置仲裁规则(比如:只有源进程全路径和原来的中间件程序的全路径完全一致才符合规则),所以黑客如果关停原中间件、另装一套新中间件试图占据网站端口,将被驱动程序立即拦截并被返回失败(比如:因为源进程全路径不匹配),所以改正了现有网页防篡改技术的缺点,消除了严重安全隐患。
附图说明
图1为本发明实施例的背景技术中公众请求访问一个网页的流程示意图。
图2为本发明实施例的背景技术中黑客篡改网页的流程示意图。
图3为本发明实施例的方法流程示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本实施例提供了一种网页防篡改系统,包括驱动程序,该驱动程序捕捉获取所有开启监听网站端口的操作,并计算出该操作的源进程的特征信息;
所述驱动程序中被配置有设定的规则,使得只有符合该设定的规则的源进程才能开启监听网站端口。
在本实施例中,所述设定的规则为只有源进程的特征信息为原有中间件程序的特征信息时才符合规则。
在本实施例中,所述驱动程序安装在操作系统中。
本实施例还提供了一种基于上文所述的一种网页防篡改系统的方法,具体为:在驱动程序中配置设定的规则,当有进程尝试开启监听网站端口时,所述驱动程序捕获到该进程的相关操作,然后计算发起当前操作的该进程的特征信息,所述驱动程序将计算得到的结果与设定的规则进行对比,若符合规则,则允许该进程继续执行监听网站端口的操作,否则向该进程返回失败。
在本实施例中,所述该进程的特征信息包括但不限于进程全路径、进程用户名、进程会话id。
在本实施例中,所述设定的规则为只有该进程的特征信息为原有中间件程序的特征信息时才符合规则。
在本实施例中,在所述在驱动程序中配置设定的规则之前还包括:在操作系统中安装所述驱动程序。
更加具体的,如图3所示,本实施例在操作系统中安装一个驱动程序(图3中的1),该驱动程序能捕获所有开启监听网站端口的操作,并能计算出发起这个操作的源进程的特征信息(比如:源进程的全路径等)。
用户可以通过一些方式(比如:在图3的网页防篡改软件的管理平台2)配置驱动程序:只有符合规则(比如:只有源进程的全路径为图2中原来的中间件程序(图2中的3)的全路径时才符合规则)的源进程才能开启监听网站端口。
当图3中的一个进程3尝试开启监听网站端口,则图3中的驱动程序1捕获到相关操作,然后计算发起当前操作的该进程(也就是源进程)的特征信息(比如:该进程的全路径)。图3中的驱动程序1把计算结果和用户配置的规则进行对比:如果计算出的源进程的特征信息不符合用户配置的预定规则,则立即向源进程返回失败(图3中的4),否则让操作系统继续执行监听网站端口的操作(图3中的5),最后向源进程返回操作系统处理结果(图3中的6)。
因为本实施例在操作系统中安装了一个能捕获所有开启监听网站端口的操作,并能计算出发起这个操作的源进程的特征信息(比如:源进程的全路径等)的驱动程序(图3中的1),而且用户能通过一些方式向该驱动程序配置仲裁规则(比如:只有源进程全路径和图2中的原来的中间件程序(图2中的3)的全路径完全一致才符合规则),所以黑客如果关停了图2中的原中间件3、另装一套图2中的新中间件5试图占据图2中网站端口2,将被图3中的驱动程序1立即拦截并被返回失败(比如:因为源进程全路径不匹配),所以改正了现有网页防篡改技术的缺点,消除了严重安全隐患。
特别的,在本实施例中,所述中间件是一类能够为一种或多种应用程序提供合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件,常见的有iis、apache、tomcat、ngnix等。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。