一种基于操作系统底层防网页文件篡改的系统的制作方法

文档序号:8445803阅读:455来源:国知局
一种基于操作系统底层防网页文件篡改的系统的制作方法
【技术领域】
[0001]本发明是关于网络信息安全领域,特别涉及一种基于操作系统底层防网页文件篡改的系统。
【背景技术】
[0002]传统的网页文件防篡改技术有以下3种:
[0003]1.定时循环扫描技术(外挂轮询):使用程序按用户设定的间隔,对网站目录进行定时扫描比对,如果发现篡改,就用备份进行恢复。
[0004]2.事件触发技术:使用程序对网站目录进行实时监控,稍有“风吹草动”就进行检查是否是非法篡改。
[0005]3.核心内嵌技术(数字水印+数字指纹):在用户请求访问网页之后,在系统正式提交网页内容给用户之前,对网页进行完整性检查。
[0006]第一种,定时循环扫描技术:这是早期使用的技术,比较落后,已经被淘汰了,原因是:现在的网站少则几千个文件,大则几万,几十万个文件,如果采用定时循环扫描,从头扫到尾,不仅需要耗费大量的时间,还会大大影响服务器性能。在扫描的间隙或者扫描过程中,如果有文件被二次篡改,那么在下次循环扫描到该文件之前,文件就一直是被篡改的,公众访问到的也将是被篡改的网页,这是一段“盲区”,“盲区”的时长由网站文件数量、磁盘性能、CPU性能等众多客观因素来决定。该技术由于过于简单,其安全隐患相信读者看完上面的说明就能完全领会明白,故而在此不给出POC程序。
[0007]第二种,事件触发技术:这是目前主流的防篡改技术之一,该技术以稳定、可靠、占用资源极少著称,其原理是监控网站目录,如果目录中有篡改发生,监控程序就能得到系统通知事件,随后程序根据相关规则判定是否是非法篡改,如果是非法篡改就立即给予恢复。可以看出,该技术是典型的“后发制人”,即非法篡改已经发生后才可进行恢复,其安全隐患有三:其一,如果黑客采取“连续篡改”的攻击方式,则很有可能永远也无法恢复,公众看到的一直是被篡改的网页。因为:篡改发生后,防篡改程序才尝试进行恢复,这有一个系统延迟的时间间隔,而“连续篡改”攻击则是对一个文件进行每秒上千次的篡改,如此一来,“后发制人”的方式永远也赶不上“连续篡改”的速度。其二,如果文件被非法篡改后,立即被恶意劫持,则防篡改进程将无法对该文件进行恢复。其三,目录监控的安全性受制于防篡改监控进程的安全性,如果监控进程被强行终止,则防篡改功能就立刻消失,网站目录就又面临被篡改的危险。有关强行终止进程的方式,在Windows系统中,自带的就有任务管理器、taskkill.exe命令,tskill.exe命令,ntsd.exe命令,这四种方式几乎可以结束任何进程。
[0008]第三种,核心内嵌技术(即“数字水印”或“数字指纹”):这也是目前的主流技术之一,该技术以无进程、篡改网页无法流出、使用密码学算法作支撑而著称,其原理是:对每一个流出的网页进行数字水印(数字指纹)检查,如果发现相关水印和之前备份的水印不同,则可断定该文件被篡改,并且阻止其继续流出,并传唤恢复程序进行恢复。该技术的特点是:即使黑客通过各种各样未知的手段篡改了网页文件,被篡改的网页文件也无法流出被公众访问到。该技术的安全隐患有二:
[0009]其一:市面上“数字水印”的密码学算法,无一例外地使用MD5 (Message-Digestalgorithm 5)散列算法,该散列算法由于网上到处都有现成的代码可以直接拷贝,而且在计算100KB以内的小文件时速度可以忍受,因而之前在密码存储和文件完整性校验方面广为运用。不过,在2004年我国密码学家,山东大学王小云教授攻破了包括这一算法在内的多种密码学算法,使得伪造出具有相同数字水印而内容截然不同的文件立刻成为了现实。
[0010]其二:“数字水印”技术在计算大于100KB大小的文件“指纹”时,其速度将随着文件的增大而逐步下降到让人无法忍受的地步,因此大多数产品都会默认设置一个超过XXXKB的文件不进行数字水印检查规则。如此一来,黑客只要把非法篡改文件的大小调整到XXXKB以上,就可以让非法文件自由流出了,这又是一个潜在的巨大安全隐患。关于这项安全隐患,读者可以随便找个1MB以上的文件放入网站目录中,然后再访问该文件,如果发现文件可以访问或者下载,即可证明当前使用的防篡改产品存在该安全隐患。“数字水印”技术安全隐患的根本成因是密码学水印算法的安全性,以及水印算法速度与公众访问网页速度的矛盾。由于目前MD4、MD5、SHA-1、RIPEMD等相对快速的水印算法均被破解,其安全性都已经荡然无存。因而,在新的又快速又安全的新水印算法发明之前,上述两种安全隐患将永远是“数字水印”技术的梦魇。
[0011]综上,在现有的网页文件防篡改技术手段,都存在安全性和性能上的问题。

【发明内容】

[0012]本发明的主要目的在于克服现有技术中的不足,提供一种能把对文件的篡改攻击予以事前阻止,减少进行恢复所需要的成本和时间的系统。为解决上述技术问题,本发明的解决方案是:
[0013]提供一种基于操作系统底层防网页文件篡改的系统,包括管理端和监控端,管理端、监控端采用C/S架构;
[0014]管理端包括监控端管理模块、篡改规则库管理模块、篡改规则设置模块、日志管理丰吴块;
[0015]所述监控端管理模块,用于配置监控端,并将配置信息保存在数据库内;
[0016]所述篡改规则库管理模块,用于搜集并整理所有篡改规则并保存在数据库中;其中,篡改规则包括被保护的路径、程序进程名、触发日志等级和开关字段,篡改规则保存在篡改规则库中;
[0017]所述篡改规则设置模块,用于将篡改规则库中存储的篡改规则组成二进制的篡改规则配置文件,并通过管道通知监控端的文件系统过滤驱动重新读取篡改规则配置文件;
[0018]所述日志管理模块,用于接收监控端发回的日志信息,并对日志信息进行展示、统计;
[0019]监控端包括驱动管理模块、篡改规则配置文件读取模块、防篡改模块、文件篡改日志获取模块;
[0020]所述驱动管理模块,用于对文件系统过滤驱动进行管理,管理操作包括:安装、启动、停止、卸载;
[0021]所述篡改规则配置文件读取模块,用于接收管理端发来的篡改规则配置文件读取通知,并读取篡改规则配置文件中的篡改规则信息;
[0022]所述防篡改模块,通过在操作系统的文件系统过滤驱动的应用层添加钩子函数,当操作系统中的文件有任何操作行为时触发钩子函数;其中,所述钩子函数能在获得文件的行为和操作文件的进程后,根据篡改规则配置文件读取模块读取到的篡改规则信息,进行阻止或者放行进程的操作,达到防篡改的目的;
[0023]所述文件篡改日志获取模块,用于通过管道跟底层的文件系统过滤驱动通信,定期获取篡改文件日志并保存在数据库内。
[0024]在本发明中,所述管理端和监控端通过使用SSL的HTTP协议进行通信,通信的数据采用RC4加密。
[0025]在本发明中,所述数据库为sqlite数据库。
[0026]在本发明中,所述防篡改模块能采用windows或者Iinux两种平台实现:
[0027]采用windows平台实现时,当文件被进程操作时,都会产生一个IRP请求,通过文件系统过滤驱动拦截IRP请求后,根据篡改规则信息进行阻止或者放行进程的操作,达到防篡改的目的;
[0028]采用Iinux平台实现时,文件系统过滤驱动是基于虚拟文件系统(VFS)基础上的,当文件变化时,虚拟文件系统(VFS)把所有的操作信息存储在一个单独的数据结构INODE(索引节点)中,操作信息包括文件的访问控制权限、大小、拥有者和创建时间,文件系统过滤驱动在拦截到这个操作后,根据篡改规则信息进行阻止或者放行进程的操作,达到防篡改的目的。
[0029]本发明的工作原理:将篡改恢复机制改为文件防篡改模块,由其全面接管文件系统的读写操作,达到从根源防止文件被篡改。
[0030]与现有技术相比,本发明的有益效果是:
[0031 ] 本发明对于网页文件的防篡改具有很强的时效性,把对文件篡改攻击予以事前阻止,实现了在windows和Iinux两个平台上阻止文件的篡改行为,杜绝了网页文件被篡改以后所造成的种种不利影响,减少进行恢复所需要的成本以及时间。
【附图说明】
[0032]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1