目前市场上常见的网页防篡改技术有以下三种:
1)外挂轮询技术
用一个网页读取和检测程序,以轮询方式读出要监控的网页,与真实网页相比较,来判断网页内容的完整性,对于被篡改的网页进行报警和恢复。
2)核心内嵌技术
将篡改检测模块内嵌在Web服务器软件里,它在每一个网页流出时都进行完整性检查,对于篡改网页进行实时访问阻断,并予以报警和恢复。
3)事件触发技术
利用操作系统的文件系统或驱动程序接口,在网页文件的被修改时进行合法性检查,对于非法操作进行报警和恢复。
-----------------------------------------------------------------------------------------------------------------
形象性描述
1. Web服务器与大楼
我们把Web服务器看成是一个美术馆大楼,目录是大楼的楼层和房间,每个网页文件都是房间挂着的画作。这些画作每天在由工作人员不断更新,每天也有成千上万的借阅者通过借阅口来取出和阅读这些画作。网页防篡改系统的目标就是保证人们看到的是真实的画作,而不是赝品甚至反动宣传品。
2. 外挂轮询技术
大楼配备了一个检查员进行巡检,他以一个普通借阅者的身份不停地在借阅处调取每个房间的每副画作,与手里的真实画作相比较里进行检查,发现有可疑物品即进行报警。
这种方式的显著弱点是:当大楼规模很大,房间和画作很多时,他会忙不过来。对于特定的一幅画作,两次检查的时间间隔会很长,不法分子完全有机会更换画作,对借阅者造成严重影响。
3. 事件触发技术
大楼在正门进口处配备一个检查员,他对每一个进入的画作进行检查,发现有可疑物品即进行报警。
这种方式的显著优点是:防范成本很低,但缺点是:美术馆大楼的结构非常复杂,不法分子通常不会选择正门进来,他会从天花板、下水道甚至利用大楼结构的薄弱处自己挖个洞进来,并且还不断会有新的门路被发现,可见防守进口的策略是不能做到万无一失的。另外,非法画作一旦混进了大楼,就再也没有机会进行安全检查了。
4. 核心内嵌技术
大楼在借阅口处配备一个检查员,他对每一个调出的画作进行检查,发现有可疑画作即阻止它的流出。
这种方式的显著优点是:每副画作在流出时都进行检查,因此可疑画作完全没有被借阅者看到的可能;相应弱点是,由于存在检查手续,画作在流出时会耽误时间。
------------------------------------------------------------------------------------------------------------
技术评估
1. 技术对比
外挂轮询技术 事件触发技术 核心内嵌技术 访问篡改网页 可能 可能 不可能 保护动态内容 不能 不能 能 服务器负载 中 低 低 带宽占用 中 无 无 检测时间 分钟级 秒级 实时 绕过检测机制 不可能 可能 不可能 防范连续篡改攻击 不能 不能 能 保护所有网页 不能 能 能 动态网页脚本 不支持 支持 支持 适用操作系统 所有 受限 所有 上传时检测 不能 受限 能 断线时保护 不能 不能 能
2. 访问被篡改网页
外挂轮询技术:无法阻止公众访问到被篡改网页,它只能在被篡改后一段时间发现和进行恢复,因此公众有很大可能访问到被篡改网页。
事件触发技术:将安全保障建立在“网页不可能被隐秘地篡改”这种假设上,因此也没有对网页流出进行任何检查,在一些情形下(具体情形见下文),公众是有可能访问到被篡改网页的。
核心内嵌技术:守住Web网页流出的最后一道关口,因此能够完全杜绝被篡改的网页被公众访问到,真正做到万无一失。
3.保护动态内容
外挂轮询技术:所监测到的动态网页是网页脚本和内容混合后的结果,而网页内容是根据访问情况时时在变化的,外挂轮询技术又无法区分网页脚本和内容,因此无法实现对动态网页的防篡改保护。
事件触发技术:事件触发仅工作在操作系统层面上,未和Web服务器软件发生关联,因此无法获得用户的Web请求数据,对动态内容的篡改则是完全无能为力的。
核心内嵌技术:内嵌于Web服务器软件内部,能够完全截获用户请求数据,通过阻挡对数据库的注入式攻击来保护动态网页内容的安全。
4. 服务器负载
外挂轮询技术:由于从外部不断地和独立地扫描Web服务器文件,因此对Web服务器形成相当的负载,并且扫描频度(亦即安全程度)和负载总是矛盾的。
事件触发技术:由于只在正常网页发布时进行安全检查,因此对网页访问的影响几乎为零,额外占用的服务器负载也基本上为零。
核心内嵌技术:篡改检测模块内嵌于Web服务器软件里,Web服务器软件读出网页文件后,由篡改检测模块进行水印比对,因此要占用一定CPU计算时间。但这个计算是在内存中进行的,比起Web服务器软件从硬盘中读取网页文件的操作来,额外产生的负载是非常小的。
5. 带宽占用
外挂轮询技术:从外部独立检测网页,因此需要占用访问的网络带宽。
事件触发技术和核心内嵌技术:检测都在服务器本机上进行,不占用网络带宽。
6. 绕过检测机制
外挂轮询技术:由外部主机进行,不可能绕过检测。
事件触发技术:并不能确保捕获对文件的所有方式的修改(例如直接写磁盘、直接写内核驱动程序、利用操作系统漏洞等),非常容易被专业黑客很容易绕过;而且一旦成功,它没有任何手段来察觉和恢复。它的技术特点决定了它类似于防病毒工具(以黑防黑)而不是专门针对网站保护的系统。
核心内嵌技术:整合在Web服务器软件里的,对每一个网页都进行篡改检查,不可能有网页绕过检测机制。
7. 连续篡改攻击
有意进行恶意攻击的黑客可以利用其他技术的扫描间隔来进行连续的篡改攻击,即在网页被恢复后立即重新篡改网页。
外挂轮询技术:由于重篡改过程可以利用程序自动和连续进行,并只针对一个重要网页(例如网站首页)进行,因此即使的扫描时间间隔设置得再小(例如1分钟),也无法阻止篡改后的网页被公众访问到。
事件触发技术:对Web服务器软件没有控制能力,它发现篡改后没有办法去协调Web服务器工作,对于大规模或精心策划的攻击是无能为力的。
核心内嵌技术:在每次输出网页时都进行完整性检查,如有变化则阻断发送。因此,无论连续攻击多么迅速和频繁,都无法使公众看到被篡改的网页。
8. 动态网页脚本
目前的网站越来越多地使用动态技术(例如:ASP、JSP、PHP)来输出网页。动态网页由网页脚本和内容组成:网页脚本以文件形式存在于Web服务器上;网页内容则取自于数据库。
外挂轮询技术:所监测到的动态网页是网页脚本和内容混合后的结果,而网页内容是根据访问情况时时在变化的,外挂轮询技术又无法区分网页脚本和内容,因此无法实现对动态网页的防篡改保护。
事件触发技术和核心内嵌技术:可以直接从Web服务器上得到动态网页脚本,不受变化的内容影响,因而能够象静态网页一样保护动态网页脚本。
9. 断线时保护
事件触发技术:如果黑客中断了Web服务器和备份网页服务器的连接,这个被篡改的网页就没法即时恢复,而与此同时,大量的公众可能已经访问到了这个网页,造成严重后果。
核心内嵌技术:即使在黑客中断了Web服务器和备份网页服务器连接的情况下,也可以阻止被篡改网页的流出,最大程度达到保证效果。