【PHP开源代码栏目提醒】:网学会员为需要PHP开源代码的朋友们搜集整理了一种新的动态网页程序的防篡改系统 - 计算机教材相关资料,希望对各位网友有所帮助!
邮局订阅号82-946360元/年技术创新信息安全《PLC技术应用200例》您的
论文得到两院院士关注一种新的动态网页程序的防篡改系统Anovelwebapplicationtamperproofmethod上海交通大学尉阮杰卢宏涛WEIRuan-jieLUHong-tao摘要:动态网页技术越来越多地应用于互联网确保动态网页脚本的安全性的需求与日俱增该文实现了一种新的基于脆弱性数字水印技术的动态网页应用程序防篡改系统阐明了能够应用在动态网页防篡改系统中的脆弱性数字水印提取算法应该具有的特性评估了系统运行的效率证明了该系统嵌入水印和检测水印的过程的高效性还对比证明了该系统相对于入侵检测系统有着更广泛的保护范围。
关键词:动态网页数字水印哈希函数主成份分析入侵检测中图分类号:TP393.08文献标识码:AAbstract:WebapplicationismoreandmoreusedincurrentpopularInternetsitesthesecurityofthewebapplicationhasbecomeaveryimportantissue.ThesepapersimplementsanovelWebapplicationtamperproofsystemandanalyzesthepropertythatonefea-siblemessagedigestalgorithmshouldhaveinourscheme.Thispapercomparesthenewproposedsystemwithintrusiondetectionsystemandanalyzeswhythissystemcanpreventmorekindsofmalevolenceattack.Theperformanceofthesystemisalsoevaluatedbysimulationresults.Keywords:WebApplicationwatermarkingHashfunctionPCAintrusiondetection文章编号:18-0570211-3-71-3引言当前大多数网站使用动态网页技术来显示内容实现功能因此这些网站的动态网页程序的安全性就成为重要问题。
通常攻击者可以使用更改过的动态网页程序来替换网站服务器上原有的程序来达到攻击的目的。
网站传统上使用防火墙和入侵检测系统IDS以及入侵防御系统IPS来阻止恶意攻击者的入侵。
但是这些系统通常是基于规则的只能过滤掉符合特定规则的攻击数据包而攻击者往往可以通过一些专门工具来伪装攻击数据包绕过这些系统进行攻击达到更改网站服务器上的网页程序的目的。
日益增长的动态网页应用迫使我们需要研究出一种可以应用于动态网页应用程序的数字水印方案。
脆弱性数字水印技术对文档的微小改动十分敏感一旦文档有所变动水印就被破坏所以这个特性可以应用在网页防篡改系统中。
在传统的网页水印方案中程序在服务器端将数字水印嵌入到HTML文档中然后在客户端检测HTML文档的完整性这些方案不能抵御在动态网页程序中的所有可能的攻击当生成HTML文档的脚本程序本身被攻击者恶意地修改后假设存在静态网页水印系统的保护但是更改后的脚本生成的HMTL文档在从服务器到客户端传送过程中没有任何的改动静态网页水印系统就不能检测出网站被攻击的情况。
1动态网页水印防篡改系统1.1系统架构本文的动态网页水印方案可以快速地验证动态网页是否被恶意篡改。
该方法的思路是使用快速有效的水印提取算法来生成水印然后将水印嵌入到网页脚本中日常运行中使用守护进程来检测网页脚本是否被破坏。
该进程在脚本被解释之前检验网页脚本的完整性和可靠性然后再调用解释器执行解释任务。
1.1水印生成算法的比较在信息摘要的算法中有两种主要使用的哈希算法—MD5和SHA-1。
能在数字水印应用中发挥良好作用的信息摘要算法有一个基本的要求就是对于原信息的改动具有十分好的敏感性具体来说就是即使是原网页中只有一个或者几个比特的改变信息摘要算法也可以产生完全不同的摘要信息。
对于MD5和SHA算法的更改敏感性已有不少研究成果证明这两者的更改敏感度相当好本文下面的实验结果也证实了他们的研究。
下面让我们着重测试基于PCA的算法对原页面更改的敏感性。
我们使用Google首页的内容作为测试用页面。
对于该页面做了100种随机不同位置的一个字节的变动然后比较这100个页面产生的数字水印是否与原页面的数字水印或者互相之间产生碰撞如果两个不完全相同的页面却有相同的数字水印值我们将这样的情况记为一次碰撞然后我们用类似的方法对原页面作2字节和5字节的随机变动测试这些水印有无碰撞产生。
以上测试是针对随机变动的为了使实验采样有更好的覆盖性我们又做了三种指定改动方法的测试改动的具体方法见表1中的说明。
实验的结果列在表1中结果显示基于PCA算法的水印提取算法对于小改动的敏感性并不十分理想。
由于PCA是一种主成分分析算法所以该算法会忽略网页中的一些细微改动也是可以理解的另外该算法中涉及了浮点运算其中的浮点精度截取也造成了一些细微改动的丢失情况。
另外基于PCA的算法还有算法时间复杂度比哈希算法要高的弱点因为它涉及浮点运算以及卷积的计算。
尉阮杰:硕士基金项目:基金申请人:卢宏涛项目名称:基于模式识别技术的网页防篡改水印研究颁发部门:国家自然科学基金委65733371--技术创新《微计算机信息》管控一体化2010年第26卷第1-3期360元/年邮局订阅号82-946《现场总线技术应用200例》信息安全综上所述我们出于避免水印的碰撞以及实现的简单运行的快速性的考虑采用了MD5和SHA-1的哈希算法作为我们系统的水印算法。
表1基于PCA水印算法的碰撞测试碰撞次数/测试次数1.2嵌入水印的过程首先的问题是哪些地方可以作为动态网页的水印嵌入点这需要对主流的动态网页脚本语言作一番了解PHPJSP和ASP.NET为现今三种最流行的商用网页动态脚本语言本文的方案主要针对这三种语言。
在
PHP脚本语言中函数名类名类的成员函数名以及关键字都是大小写不敏感的我们也可以像静态网页水印方案中所做的那样利用这些位置来嵌入水印信息。
而在JSP和ASP.NET中几乎所有的语言成分都是大小写敏感的
PHP脚本语言中的方法就行不通了。
水印嵌入过程中要考虑的一点是用户的透明性也就是用户不能明显觉察到水印的存在。
由于用户所访问的HTML文档是由动态网页脚本生成的最终结果所以我们在不影响脚本输出结果的前提下在脚本中加入隐藏码来嵌入水印是可行的。
为了全局考虑问题本文使用PHPJSP和ASP.NET中可以统一使用的流程而不使用前面讨论
PHP语言中提到的将水印嵌入HTML标签的水印嵌入点方法。
我们采用的嵌入水印流程的框图如图1所示。
图1水印嵌入流程下面我们来分析这种方法的流程。
通过向
PHP脚本中增加字符串的方法嵌入水印。
这样相当于将数字水印以明文形式暴露给攻击者而且攻击者可以使用制造哈希码碰撞4的方法伪造出与原有稳当数字水印值相同的伪造的文档如此我们势必要给出阻止这样的攻击的方法:我们在生成水印时采用加入密钥的方法先行附加一段密钥到脚本后然后将这个文档放入计算数字水印的流程中去。
通过这样的加密手段攻击者再想要通过伪造具有相同哈希码的文档的方法就失效了。
即使伪造者成功伪造了水印值等同于明文哈希码的文档在验证水印过程中由于加入了密钥使得我们系统所计算得出的伪造文档的水印值一定不等同于原先未更改文档的水印值而由于攻击者不知道密钥文件的大小和内容所以想要使用穷尽搜索破解系统是不现实的由于有不定长的密钥文件的保护所以我们的数字水印信息即使是以明文形式存在于脚本中也不会失去系统的安全性。
此外攻击者还有一种不更改脚本本身的攻击方法。
那就是通过更改脚本包含的头文件。
为了应付这种攻击我们在计算数字水印时把头文件和包含文件加入计算。
例如在
PHP中有两组同包含文件相关的语句requireinclude和requireonceincludeonce。
在我们的环境中require和include语句没有什么区别而“once”版本的语句说明该语句指定包含的文件至多只能被包含一次。
在我们的计算中遇到“require”和“include”时就将被包含的文件加入计算当然“once”版本的文件仅能加入一次。
如果在包含文件中又遇到了包含语句则递归包含应有的文件直至遍历完整个脚本。
这样就解决了这个问题。
加入水印之后每次有用户调用网页脚本之前系统都会检测网页脚本有没有被更改也就是检测嵌入在网页脚本中的数字水印。
13检测水印检测水印可以分成以下三步:1从嵌入水印的文件中分离出数字水印和未嵌入水印的文件2对为嵌入水印的文件重新计算数字水印3比较提取出的原水印和重新计算的水印。
图2显示了这些步骤。
如果这两个原始嵌入在文件中的水印和后来通过未嵌入水印文件和密钥文件结合重新计算出来的水印完全吻合我们可以确定该网页脚本没有被更改。
在这个过程中系统首先将文件后面的数字水印片段提取出来得到数字水印的值然后在其后添加上密钥文件然后使用这个合并的文件重新计算水印。
具体使用哪种水印计算方法是系统配置实现的。
这两个水印必须完全一致否则认证过程就返回错误。
2实验结果本文使用
开源PHP应用程序Symfony来测试系统的性能本系统可以选用M5和SHA1作为哈希函数另外测试了基于PCA算法在系统中的表现。
测试中使用的密钥文件为4096字节长度的随机数据文件。
图2检测水印流程表2是在我们系统中三种提取水印算法的对于不同大小文件运行时间的对比。
从表中我们可以看出本系统中实际使用72邮局订阅号82-946360元/年技术创新信息安全《PLC技术应用200例》您的
论文得到两院院士关注的MD5和SHA-1的算法运行时间要优于使用基于PCA算法这也证明了本系统的性能的优越性。
表2系统中三种算法的运行时间对比3分析和讨论根据Jeongseok通过攻击的起因和攻击目标来分类的方法对于网站的攻击可以分为:1已知的软件实现漏洞攻击。
2HTTP规范漏洞攻击。
3配置漏洞攻击。
4伪造的客户端攻击。
5非正常URI输入攻击。
6流量攻击。
前三种攻击方法可以被入侵检测系统检测到。
而这些可以检测的入侵如果要起到攻击的效果必须通过更改网页应用程序的内容而我们的系统可以容易得检测出这样的攻击。
而对于入侵检测系统不能检测到的攻击如45两类攻击者会试图绕过用户验证而获得服务器的某些权限然后通过更改服务器中的网页应用程序来攻击我们的系统同样也可以的检测到这样的攻击。
因此我们的系统可以抵御入侵检测系统能够检测的入侵种类而且可以抵御更多的入侵检测系统不能抵御的攻击类型。
4总结与展望本文中阐明了使用采用MD5和SHA作为水印提取算法的原因实现了一种新的动态网页应用程序防篡改系统的方案。
同时阐明了能够应用在网页防篡改系统中的脆弱性数字水印提取算法应该具有的特性。
本文对比了该系统和入侵检测系统相比之下本系统有着更广泛的保护范围能防止更多种类的入侵。
本文测量了系统运行的效率证明了嵌入水印和检测水印的过程的高效性。
使用数字水印来保护动态网页应用程序的方案是全新的将为未来互联网的发展做出坚实保障。
本文作者创新点在于将脆弱性数字水印技术用于动态网页的防篡改系统使系统达到了网页防止恶意篡改的要求拓宽了数字水印的应用领域。
参考文献CWuCChangSYangAnEfficientFragileWatermarkingforWebPagesTamperProofAdvancesinWebandNetworkTechnologiesandInformationManagement2007:654663.2QijunZhaoHongtaoLuPCAbasedwebpagewatermarkingPatternRecognitionVolume40Issue42007:334343徐蕾黄玉军汤光明.利用数字水印技术验证文本信息的篡改J.微计算机信息200523:6465。
4XiaoyunWangHongboYu.HowtoBreakMD5andOtherHashFunctions.AdvancesinCryptologyEurocrypt05LNCS3494:82005.5JeongseokSeoHanSungKimSanghyunChoSungdeokCha.WebServerAttackCategorizationbasedonRootCausesandTheirLocations.ProceedingsoftheInternationalConferenceonInformationTechnology:CodingandComputingITCC04Volume2p.90.2004.作者简介:尉阮杰男汉族983年出生于浙江杭州硕士上海交通大学电子信息与电气工程学院主要从事数字水印方面研究。
Biography:WEIRuanjie983MaleHannationalityShang-haiJiaoTongUniversityGraduateStudentMajorinComputerScienceResearcharea:DigitalWatermarking.2024上海上海交通大学电子信息与电气工程学院尉阮杰卢宏涛DepartmentofComputerScienceandEngineeringShanghaiJiaoTongUniversityShanghai224ChinaWEIRuan-jieLUHong-tao通讯地址:224上海市闵行区东川路8号上海交通大学966信箱尉阮杰收稿日期:2009.0.4修稿日期:2009.04.4上接第65页2董国文.双层管理、多子系统的煤矿安全生产管理系统设计J.中国煤炭20059:8384.3DesigningMicrosoftSQLServer2005DatabasesEB/OL.http://learning.microsoft.com/manager.20069.4王兴鹏王学辉.基于.NET的饲料生产自动控制系统的开发J.微计算机信息2008101:1281295史济民等.软件工程———原理、方法与应用M.第2版.北京:高等教育出版社2002.6楚雄高猛译.Asp.Net2.0入门经典M.第4版.北京:清华大学出版社2006.7孟宪瑞易磊译.Asp.Net2.0经典教程———C篇M.北京:人民邮电出版社2007.8戴志诚.SQLServer2005数据库系统开发与实例M.北京:电子工业出版社2007.9周峰等.SQLServer2005中文版经典案例设计与实现M..北京:电子工业出版社2006.作者简介:白桂梅964女山西人副教授主要研究方向:软件理论与应用李明照978男河南人讲师主要研究方向:计算机网络秦占军963内蒙古人副教授主要研究方向:计算机应用。
Biography:BAIGuimei964FemaleHanHenanLuoyangInstituteofScienceandTechnologyAssociateprofessorMasterResearcharea:Softwaretheoryandapplication.47123河南洛阳洛阳理工学院计算机与信息工程系白桂梅李明照151内蒙古呼和浩特内蒙古工业大学国际商学院秦占军DepartmentofComputerScienceLuoyangInstituteofSci-enceandTechnologyLuoyangHenan47123ChinaBAIGui-meiLIMing-zhaoInternationalBusinessSchoolInnerMongoliaUniversityofTechnologyHohhotInnerMongolia151ChinaQINZhan-jun通讯地址:47123河南洛阳洛阳理工学院西校区计算机与信息工程系白桂梅收稿日期:2009.02.修稿日期:2009.05.73