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