【附】各种网页防篡改技术比较
2023年9月9日发(作者:五年级学生给远方的朋友写一封信)
儿童钢琴初步教程1曲谱-
网页防篡改产品比较
一、网页防篡改产品的技术要求
1.Web应用的基本架构
Web应用是由动态脚本语言(如ASP、JSP和PHP等)和编译过的代码等组合而成。它通常架设在Web服务器上,用户在Web浏览器上发送请求,这些请求使用HTTP协议,经过因特网或内部网络与企业的Web应用交互,由Web应用与企业后台的数据库及其他动态内容通信。
尽管不同的企业会有不同的 Web 环境搭建方式,一个典型的 Web 应用通常是标准的三层架构模型,如图示1-1所示。
客户端
中间层 数据层
图示 一-1 标准Web应用架构
在这种最常见的模型中,客户端是第一层;使用动态Web技术的部分属于中间层;数据库是第三层。用户通过Web浏览器发送请求给中间层,由中间层将用户的请求转换为对后台数据的查询或是更新,并将最终的结果在浏览器上展示给用户。
小型文档模板 1/11 2.黑客篡改网页的手段
网站的网页之所以存在被篡改的可能性,有客观和主观两方面的原因。
就客观而言,因为存在以下原因,现有技术架构下网站漏洞将长期存在:
Web平台的复杂性
操作系统复杂性:已公布超过2万多个系统漏洞。一个漏洞从发现到被利用平均为5天,而相应补丁的发布时间平均为47天。
Web服务器软件漏洞:IIS、Apache、Tomcat、Weblogic都存在大量的已知漏洞,同时每天都有大量的新漏洞被报出。
第三方软件漏洞:由各类软件厂商提供的第三方软件存在各种漏洞。
应用系统漏洞:各种注入式攻击漏洞,多个应用系统不同的开发者。
就主观而言,过于苛刻的安全管理要求,通常网络管理员难以完全实现:
密码管理:合格密码需要8位以上复杂字符并定期改变。
配置管理:严格的、细粒度的权限控管;严谨的报错处理;配置文件、系统文件的管理等等。
漏洞补丁:操作系统、中间件、应用系统的定期更新。
上网控制:钓鱼、木马、间谍软件。
1)传统安全设备
Web网站通常使用了防火墙和IDS/IPS等网络安全设备来保护自身的安全,如图示1-2所示。
小型文档模板 2/11 防火墙
IDS/IPS
网页篡改
Web应用
已知Web
DoS攻击 服务器漏洞 上传木马
端口扫描 网络层
模式攻击
恶意执行
应用服务器
注入式攻击
Web服务器
数据库服务器
图示 一-2 传统网络安全设备
网络防火墙提供网络层访问控制和攻击保护服务,它们统一部署在网络边界和企业内部重要资源(例如Web应用)的前端,提供必要的保护以防御网络层黑客攻击。但是,网络防火墙规则集必须允许重要协议(如HTTP/HTTPS)不受限制地访问Web应用,即完全向外部网络开放HTTP/HTTPS应用端口。如果攻击代码被嵌入到Web通信中,则从协议角度来看这些通信是完全合法的,而此时网络防火墙对此类攻击没有任何的保护作用。
IDS/IPS入侵检测系统/入侵防御系统作为防火墙的有利补充,加强了网络的安全防御能力。入侵检测技术同样工作在网络层上,对应用协议的理解和作用存在相当的局限性,对于复杂的http会话和协议更是不能完整处理。如果需要防御更多的攻击,那么就需要很多的规则,但是随着规则的增多,系统出现的虚假报告率(对于入侵防御系统来说,会产生中断正常连接的问题)会上升,同时,系统的效率会降低。
小型文档模板 3/11 一个最简单的例子就是在请求中包含SQL注入代码,这些数据不管是在传统防火墙所处理的网络层和传输层,还是在代理型防火墙所处理的协议会话层,或者是常规的入侵检测系统和增强的入侵防护系统,都会认为是合法的,无法被阻挡或检出。
2)专业网页防篡改系统
由前面的描述可以看出,Web网站防篡改的核心工作包括:
1.阻止对网页文件的篡改。
2.防止非法网页和信息被访问。
3.有效防御各种来自应用层的攻击,例如注入式攻击、跨站攻击、非法上传、身份仿冒等等。
因此Web网站和Web应用系统除了使用一般的网络安全设备外,还需要有效的网页防篡改系统来专门对页面内容和动态数据进行保护。
二、实现技术比较
目前,网页防篡改系统的相关技术有四种:
外挂轮询技术。独立工作,从一台外部机器轮询监测目标网站的网页完整性。主要保护对象为静态网页。
数字水印技术。作为Web服务器的核心内嵌模块在网页被浏览时进小型文档模板 4/11 行完整性检查。主要保护对象为静态文件和脚本。
事件触发技术。通过Hook、驱动或其他操作系统专有接口监测文件系统的变化。主要保护对象为文件。
应用防护技术。通过Web服务器上的内嵌过滤模块接口监测HTTP请求。主要保护对象为后台数据库。
外挂轮询技术由于效率低、覆盖检查面小、对目标网站影响大,目前在市场上已很少使用,不再作讨论。以下仅讨论另外三种技术。
1.数字水印技术
1)原理
数字水印技术在文件发布时生成数字水印(HMAC单向鉴别散列值),在文件每次被Web服务器访问(含执行)时检查数字水印,并对结果进行相应处理。
2)实现
使用Web服务器核心内嵌技术,该技术在不同的Web服务器上采用不同的技术实现,与操作系统无关:
IIS: ISAPI筛选器和扩展
Apache: Apache-Module
Java: servelet-filter
(Weblogic/Websphere/tomcat/BAS/resin/JRun均为Java服务器)
小型文档模板 5/11 3)优点
每个被访问网页不加区分和实时地进行检查,确保防篡改的有效性。
以密码学为理论基础,实现了网络安全的目标之一-信息完整性,具有可验证的可靠性。
所使用的技术均为公开的和载入文档的技术,具有跨平台的可移植性和未来的可维护性。
Web服务器核心内嵌模块,无独立进程。
4)缺点
对服务器访问性能和资源占用有一定影响。
并未在篡改时立即进行响应。
部署时需要增加独立的发布服务器。
不能防范通过Web对数据库攻击。
2.事件触发技术
1)原理
事件触发技术用于保护文件系统中的文件,在文件被修改时辨别对其操作的进程,如该文件不可修改或是不可信进程即对此行为进行拦截。
2)实现
使用操作系统专有的文件驱动技术,在不同的操作系统上采用不同的技术实现,与Web服务器软件无关:
Windows: 文件系统过滤驱动程序。
小型文档模板 6/11 Linux: dazuko。
Unix: 无。专有代码不支持底层驱动。
3)优点
对捕捉到的篡改行为能够进行及时报警。
对Web服务器访问无影响,对系统资源占用可以忽略不计。
系统结构简单,部署方便。
4)缺点
基于文件系统的检查,可以有多种已知的方法绕过,例如:
a) 黑客可以通过计算文件所在硬盘存储位置的方法,直接写磁盘。
b) Windows上的延迟写技术,重启一次操作系统即可更新文件。
实现手段过于依赖于操作系统的特性,部分技术使用未载入文档技术,具有不稳定性和不可升级性。
检查时机单一,一旦错过捕捉则没有任何防护手段。
不能防范通过Web对数据库攻击。
3.应用防护技术
1)原理
该技术对每个来自于网络的Web请求进行检查,根据已有的特征库判断是否含有攻击特性(目前主要是注入式攻击),如有攻击特性则立即阻止和报警。
2)实现
使用Web服务器核心内嵌技术,该技术在不同的Web服务器上采用不同的小型文档模板 7/11 技术实现,与操作系统无关:
IIS: ISAPI筛选器和扩展
Apache: Apache-Module
Java: servelet-filter
3)优点
能够防范已知的通过Web方式对数据库攻击。
从访问源头上防止网页篡改行为。
4)缺点
基于特征库的防范方式,只能防范已知Web数据库攻击手段。
不能防范非Web方式的网页篡改手段,不能直接防范网页文件篡改。
4.总结
三种网页防篡改技术的对比总结见下表(表格2-1):
保护对象
安全性
负载影响
部署
数字水印技术
文件
高
一般
一般
事件触发技术
文件
一般
很低
方便
应用防护技术
数据库
较高
低
方便
表格 二-1 网页防篡改技术比较
小型文档模板 8/11 三、网页防篡改产品技术比较
功能
操作系统支持
技术原理
iGuard
Windows/Liunx/Unix
InforGuard
Windows/Liunx
WebGuard
Windows/Liunx
核心内嵌技术为主;事件触发技术为辅;
事件触发技术为主;核心内嵌技术为辅;
事件触发技术
可保护对象
发布/恢复效率
系统资源占用率
静态和动态网页 静态和动态网页
高 较高
静态网页
低
CPU占用率:低;
内存占用率:可忽略不计(<+0.001%);
自身大小:极小
CPU占用率:低
内存占用率:低
自身大小:大
CPU占用率:高
内存占用率:高
自身大小:较大
自动续传 支持 支持,但不稳定,存在丢失文件的情况。
不支持
小型文档模板 9/11