基于抽象语法树的sql注入防御研究

基于抽象语法树的sql注入防御研究

ID:23931556

大小:2.40 MB

页数:71页

时间:2018-11-11

基于抽象语法树的sql注入防御研究_第1页
基于抽象语法树的sql注入防御研究_第2页
基于抽象语法树的sql注入防御研究_第3页
基于抽象语法树的sql注入防御研究_第4页
基于抽象语法树的sql注入防御研究_第5页
资源描述:

《基于抽象语法树的sql注入防御研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、武汉邮电科学研究院硕士学位论文基于抽象语法树的SQL注入防御研究ResearchonSQLInjectionDefenseBasedonAbstractSyntaxTree专业:通信与信息系统研究方向:网络安全导师:汪洋研究生:王杰学号:20150040二〇一八年一月武汉邮电科学研究院硕士学位论文独创性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果,除了文中特别加以标注的地方外,没有任何剽窃、抄袭、造假等违反学术道德、学术规范的行为,也没有侵犯任何其他人或组织的科研成果及专利。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。如有任

2、何侵权行为,本人愿意为此独立承担全部责任。作者签名:_______________签字日期:关于论文使用授权的说明本人完全了解武汉邮电科学研究院(烽火科技集团)有关保留、使用学位论文的规定,本文知识产权归武汉邮电科学研究院所有,武汉邮电科学研究院有权保留送交论文的复印件和电子版本,允许论文被查阅和借阅。同意将本人的学位论文提交中国学术期刊(光盘版)电子杂志社全文出版并收入《中国学位论文全文数据库》。公开保密一年保密两年(注:保密的学位论文在解密后遵守此协议)作者签名:签字日期:导师签名:签字日期:武汉邮电科学研究院硕士学位论文摘要基于数据库作为存储介质的Web应用程序已经普及到各个领域的业

3、务系统中。由于Web应用程序的开发人员在编码时的一些不规范的操作,导致这些应用程序中存在着潜在的注入风险。潜在的SQL注入漏洞一旦被攻击者发现,对网站系统将会造成巨大的损失。所以在应用程序中构建一个SQL注入攻击防御系统,对非法的用户请求进行拦截,是保障系统免受注入攻击危害的必要措施。由于SQL注入攻击语句本身就是正确的SQL语句,即使系统执行了攻击语句,也不会出现任何异常。本文从SQL语句语法结构上进行分析,通过比较SQL注入攻击与正常SQL语句的结构上的差异来判断用户的输入是否包含攻击载荷。针对SQL注入攻击的检测与防御,本文做了如下工作:(1)SQL语法分析器的实现。SQL语句的精确

4、解析是保证数据库安全的基石。本文通过对SQL语法和词法规则的学习,使用EBNF范式描述SQL语言词法规则和语法规则,最后利用ANTLR自动化构建工具实现了SQL语法分析器。(2)SQL语言抽象语法树的构建。本文首次提出利用抽象语法树来判断SQL注入攻击。抽象语法树是SQL语句的一种形式化表示。相比于具体语法树而言,抽象语法树去除了树中的冗余节点,即对最终判定结果没有影响的节点,所以在树节点的比对过程中拥有更好的性能。本文通过重写树规则完成了抽象语法树的构建。(3)基于抽象语法树判定SQL注入攻击应用逻辑的实现。本文提出了基于AST的hash值的比对方法来判断SQL注入攻击。并基于ANTRL

5、的监听器机制完成了抽象语法树判定SQL注入攻击的应用逻辑。(4)语法分析模块和抽象语法树模块在SQL注入防御系统中的应用。在本文中主要实现了SQL语法分析模块和抽象语法树判决模块,并将这两个模块应用到了SQL注入防御系统中。在最后还对本防御系统进行了漏报率、误报率以及响应时间的测试。实验结果表明本文提出的基于抽象语法树hash值的比对方法,在SQL注入攻击防御上能有较好的效果。关键词:ANTLR;EBNF;词法解析;语法解析;抽象语法树I武汉邮电科学研究院硕士学位论文AbstractWebapplicationsbasedondatabasesasstoragemediahavebeenp

6、ervasiveinbusinesssystemsinvariousdomains.DuetosomeirregularitiesinthecodingofWebapplicationdevelopers,thereisapotentialinjectionriskintheseapplications.ThepotentialSQLinjectionvulnerabilitywillcausesignificantdamagetothewebsitesystemoncetheattackerfindsit.Therefore,itisnecessarytoconstructanSQLin

7、jectionattackdefensesystemintheapplicationtointercepttheillegaluserrequest,whichisnecessarytoprotectthesystemfrominjectionattack.SincetheSQLinjectionattackstatementitselfisthecorrectSQLstatement,noexceptionoccurs

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。