【拯救赵明】网页防篡改攻略
原创
©著作权归作者所有:来自51CTO博客作者cnolnic的原创作品,谢绝转载,否则将追究法律责任
公众浏览到的Web网页可以分成静态网页和动态网页:
— 静态网页是Web服务器上的网页文件(如html文件)直接反馈给公众;
— 动态网页是Web服务器上的脚本文件(如jsp文件)经过执行后,将其执行的结果反馈给公众,脚本通常会读取数据库中的数据,因此最后生成的网页可以认为是脚本文件和数据库内容的综合。
因此从理论上讲,网页防篡改系统所需要保护的网页,按上述描述可以归结于保护文件(无论是静态网页文件还是脚本文件)和保护数据库。
目前主流的网页防篡改产品中,保护文件主要使用两种技术,一种是以核心内嵌为基础的数字水印技术,该技术在文件发布时生成数字水印(单向鉴别散列值),在文件每次被Web服务器访问(含执行)时检查数字水印,并对结果进行相应处理。数字水印技术有着密码学理论基础,使用的HMAC-MD5算法也是RFC标准。这个技术不去猜测和防范文件被篡改的原因和手段,而是在其对外产生作用时进行完整性检查。该技术在安全上非常可靠,也有着广泛的应用基础。
另一种是以事件触发技术,利用操作系统的文件系统或驱动程序接口,在网页文件的被修改时进行合法性检查,对于非法操作进行报警和恢复。事件触发技术具有报警实时化的优点,对一些操作系统上的常规攻击手段有着一定的防护效果。但由于事件触发技术将安全保障建立在“网页不可能被隐秘地篡改”这种假设上,因此也没有对网页流出进行任何检查,在一些情形下(具体情形见下文),公众是有可能访问到被篡改网页的。虽然事件触发方式无法作到每一个网页在访问时都进行实时检测,也无法针对所有的攻击手段和操作系统漏洞起作用,但仍可以作为对核心内嵌检测技术的一种有益补充。
保护数据库主要使用应用防护技术,该技术对每个来自于网络的Web请求进行检查,根据已有的特征库判断是否含有攻击特性(目前主要是注入式攻击),如有攻击特性则立即阻止和报警。目前,应用防护技术不仅被网页防篡改系统广泛采用,它还是其他应用安全产品(如:应用防火墙、漏洞扫描器)的核心技术之一。但是,应用防护技术需要预先搜集和分析黑客攻击Web的手段,有针对性的进行基于特征库或攻击行为的防范,是一种类似于防病毒软件的手段,目前就技术而言,更是一种实践的技术而非一种理论的技术,存在误判和漏判的可能。
因此,一个有效的网页防篡改系统必须达到以下两个方面的要求:
1. 实现对网页文件的完整性检查和保护,并达到100%的防护效果,即被篡改网页不可能被访问到。
2. 实现对已知的来自于Web的数据库攻击手段的防范。
上述两方面要求,都可以通过一些简便的测试方法,进行测试,例如:文件保护可以通过直接修改Web服务器上的文件,再用浏览器访问该文件来测试是否达到了100%可靠的防护效果;数据库保护则可以通过一些黑客工具(NBSI、HDSI等等)对受保护网站进行模拟攻击。
下一篇:我的友情链接
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章