没有合适的资源?快使用搜索试试~ 我知道了~
基于模式和模型的Web应用程序研究:弗朗什-孔泰大学计算机科学博士论文
博士论文EU NI V E R SITD F R A N C H E-C O M TN论文提交人在莱桑德尔V埃诺特要获得弗朗什-孔泰大学博士学位专业:计算机科学Web应用程序的基于模式和模型的Web研究单位:Femto-ST - UMR研究所CNRS 6174于2015年10月29日在评审团面前公开答辩,评审团成员包括:OLGA乌 奇 纳伦科主席弗朗什大学教授法国县罗兰·罗兹报告员理工学院教授来自法国F兰兹W奥塔瓦报告员技术大学奥地利格拉茨F·雷德里克赛 胡森检查员SINTEF ICT高级研究员,挪威语B鲁诺眼睛论文指导弗朗什大学教授法国县F.阿比安P Eureux论文共同导师大学高级讲师,法国弗朗什-孔泰X X X一个知识渊博的人首先,我要感谢Bruno Legeard先生和Fabien Peureux先生对我论文的监督。首先是布鲁诺·勒加德然后是法比安·佩鲁,感谢他在这三年里以各种方式帮助我,主要是尽可能地与我令人讨厌的倾向作斗争。不用说,他每天的宝贵帮助是我论文成功的一个重要因素,我非常感谢他我真诚地感谢奥尔加·库什纳伦科女士让同样 ,我衷心 感谢Franz W otawa 和Roland Groz 同意 报告我的 研究,感 谢FredrikSeehusen担任我博士的考官。我还要感谢Franck Lebeau先生在我的工作开始时的推动力,使我能够尽量减少论文的第一个困难时刻,我还要感谢Elizabeta Fourneret女士,感谢她在审阅我的论文手稿时的可用性和最后,感谢427C的助手朱利安和罗曼,以及VIST的 O严格的P遗忘[1] Alexandre Vernotte、Cornel Botea、Bruno Legeard、Arthur Molnar和法比安很害怕。风险驱动的脆弱性测试:使用模式和基于模型的方法进行的电子健康实验的结果。RISK[2] 马克·乌廷、法布里斯·布凯、伊丽莎白·福内雷、布鲁诺·勒加德、法比安·珀勒和亚历山大·韦尔诺特。基于模型的测试的最新进展。在计算机广告中。爱思唯尔,2015年。出现。[3] 布鲁诺·勒加德、法比安·佩勒、马丁·施耐德、弗雷德里克·塞胡森和亚历山大·韦尔诺特。PMVT方法:基于RASEN的安全模式和模型漏洞测试的创新。白皮书,RASENFP7欧盟资助的研究项目,2015年4月。可在http://www.rasenproject.eu上查阅(访问日期:2015年5月4日)。[4] 科内尔·博泰亚和亚历山大·韦尔诺特。RASEN FP7项目创新。2015年4月在比利时布鲁塞尔举行的2015年网络安全隐私创新论坛[5] 亚历山大·韦尔诺特、布鲁诺·勒加德和法比安·佩鲁。针对Web漏洞的模式驱动和基于模型的测试生成工具链。在ESSoS'15的演示会议中,国际 安全软件和系统工程研讨会,意大利米兰,2015年3月。[6] 亚历山大·韦尔诺特、弗雷德里克·达多、弗兰克·勒博、布鲁诺·勒加德、法比安·珀勒和弗朗索瓦·皮亚特。高效检测多步跨站点脚本vul-易受破坏性。 信息系统安全-第10国际。会议, ICISS 2014,印度海得拉巴,2014年12月16-20日,会议记录,LSCN第8080卷,第358-377页。施普林格,2014年。[7] 朱利安·博泰拉、布鲁诺·勒加德、法比安·佩鲁和亚历山大·韦尔诺特。使用安全测试模式的基于风险的漏洞测试。在ISoLA斯普林格。[8] 亚历山大·韦尔诺特、布鲁诺·勒加德和法比安·佩鲁。基于模式和模型的Web漏洞测试2014年6月,法国巴黎,第123-124页,GDR CNRS编程和软件工程第6个全国日[9] 阿兰·里波特、布鲁诺·勒加德和亚历山大·韦尔诺特。安全测试和开发能否减少系统中的缺陷和黑客攻击杂志编程,173:12[10]弗兰克·勒博、布鲁诺·勒加德、法比安·佩勒和亚历山大·韦尔诺特。从模型生成Web漏洞测试在AFADL七八原始出版物列表[11]弗兰克·勒博、布鲁诺·勒加德、法比安·佩勒和亚历山大·韦尔诺特。基于模型的Web应用程序漏洞测试 在第13节,第4国际。安全测试研讨会。与ICST'13,第6届IEEE国际会议一起Conf. 软件测试、验证和确认,第445 - 452页,卢森堡,卢森堡,2013年3月。IEEE计算机学会出版社。[12]布鲁诺·勒加德和亚历山大·韦尔诺特。主动测试技术。ICST'13第6届IEEE国际会议的教程演讲Conf. 软件测试、验证和确认,卢森堡,卢森堡,2013年3月。[13]亚历山大·韦尔诺特。Web应用程序基于模型的漏洞测试的研究问题在ICST '13博士研讨会上,在第六届IEEE国际会议期间获得。Conf. 软件测试、验证和确认,第505-506页,卢森堡,卢森堡,2013年3月。IEEE计算机学会出版社。C.天线1研究综述11.1网络安全威胁11.2动机和研究目标21.3研究范围41.4论文贡献51.4.1域特定建模语言61.4.2漏洞测试模式形式化71.4.3模式驱动和基于模型的漏洞测试过程81.4.4工具链81.4.5实验91.4.6对FP7 RASEN项目9的1.5论文结构102目标漏洞的概述2.1跨站点脚本122.2SQL注入152.3跨站点请求伪造182.4特权升级213最新技术水平3.1静态应用程序安全测试263.2动态应用程序安全测试273.2.1自动渗透测试:Web应用程序扫描程序283.2.2手动/工具辅助渗透测试:道德黑客3.3基于模型的漏洞测试313.3.1基于模式和攻击模型的方法323.3.2模型检查方法343.3.3模糊方法35八原始出版物列表3.4合成36九4背景394.1CertifyIt:基于UML和OCL39的4.1.1建模符号414.1.1.1类图:静态结构414.1.1.2对象图:初始状态424.1.1.3状态机图:动态结构434.1.1.4对象约束语言:约束和操作4.1.2测试选择454.1.2.1功能行为测试454.1.2.2CertifyIt46中的测试目的4.1.3第50代测试4.1.4测试具体化、执行和裁决作业514.2漏洞测试证书525PM VT:过程和建模符号555.1PMVT工艺555.2运行示例:厨师565.3Web应用程序建模符号605.3.1DASTML:Web应用程序漏洞测试的专用语言5.3.2带UML4MBT65的PMVT5.3.2.1通用类图:PMVT元模型655.3.2.2特定类图:与应用程序相关的信息705.3.2.3对象图:内容结构5.3.2.4状态机:动态结构735.3.2.5建模概念745.3.3从DASTML到UML4MBT785.4合成806PM VT:漏洞测试模式的形式化6.1PMVT82的扩展测试目的语言6.2SMA Web应用程序漏洞测试的测试目的6.2.1跨站点脚本856.2.2SQL注入886.2.3跨站点请求伪造946.2.4特权升级96内容XI6.3合成1007工具链1017.1PMVT方法101的实施7.1.1建模活动1027.1.2测试目的活动1047.1.3测试生成活动1057.1.4测试具体化和执行活动1067.2用于混凝土脆弱性测试的PMVT工具1067.2.1PMVT测试发布器1087.2.2可执行测试脚本1097.2.3CSRF Web服务器1097.2.4网页比较器1107.3RASEN:风险评估1118评估1158.1案例研究1158.1.1WackoPicko1168.1.2书店1178.1.3Stud-E1188.1.4Medipedia门户网站1198.2Web应用程序漏洞扫描程序1208.2.1IBMAppScan1218.2.2铁黄蜂1228.3实验结果1228.3.1实验装置1228.3.2虚拟Web应用程序1238.3.3Medipedia1268.3.4Stud-E1278.4对有效性的威胁8.5讨论1299结论133八原始出版物列表9.1摘要1339.2未来作品1349.2.1PMVT方法135的改进9.2.1.1模型推理1359.2.1.2使用扫描仪合成9.2.1.3第137章:一个女人9.2.2PMVT方法的演变9.2.2.1扩展到寻址不安全的直接对象引用。1389.2.2.2在线MBT139附录147ISTF.伊古尔斯2.1存储的XSS典型工作流132.2XSS用法示例:服务器端和客户端代码142.3SQL注入:典型工作流152.4身份验证:服务器端和客户端2.5CSRF:典型工作流193.1 Web应用程序漏洞测试概述4.1智能测试认证流程404.2OCL 4 MDT表达式:D/CC覆盖范围464.3测试目标生产的测试目的工作流475.1PMVT:一般流程565.2注册和登录系统575.3厨师:首页第58页5.4厨师:简介第59页5.5用户搜索第59页5.6DAST建模语言语法615.7从DASTML到UML4长者655.8PMVT:通用类图665.9PMVT类图:Cuiteur71的5.10 Cuiteur72的PMVT对象图5.11 PMVT状态机745.12 动作处理:名义和攻击痕迹766.1通用漏洞测试模式826.2Cooker88上的XSS攻击跟踪6.3基于错误和基于时间的抽象SQL注入攻击跟踪6.4摘要SQL注入攻击跟踪946.5摘要CSRF对Cuiteur96的6.6Previous Previous post:特权升级攻击痕迹99八原始出版物列表十三7.1PMVT工具链概述. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...1027.2PMVT:建模环境。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...1037.3PMVT:测试目的编辑器。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...1047.4PMVT:测试目的目录。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...1057.5PMVT:测试生成环境。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...1067.6PMVT:测试具体化和执行环境。... ... ... ... ... ... ... ... ... ... 1077.7RASEN:由风险评估指导的PMVT。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...1128.1Medipedia服务体系结构。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...1219.1使用代理的PMVT模型推理过程。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 1359.2使用Selenium IDE的PMVT模型推理过程。... ... ... ... ... ... ... ... ... ... ... ... 136A.1测试目的语言的语法。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 148A.2多步XSS攻击的测试模式。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...149A.3基于错误的SQL注入攻击的测试模式。... ... ... ... ... ... ... ... ... ... ... ... ... ... 149A.4基于时间的SQL注入攻击的测试模式。... ... ... ... ... ... ... ... ... ... ... ... ... 150A.5基于布尔的SQL注入攻击的测试模式。... ... ... ... ... ... ... ... ... ... ... 150A.6跨站点请求伪造攻击的测试模式。... ... ... ... ... ... ... ... ... ... ... ... 151A.7特权升级攻击的测试模式。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 151十图列表IST T型台6.1跨站点脚本的测试目的6.2基于错误的SQL注入的6.3延迟SQL注入的测试目的916.4基于布尔的SQL注入的6.5跨站点请求伪造的测试目的956.6特权升级的测试目的97页6.7特权行动升级的测试目的988.1Wackopicko:实验结果1248.2烹饪:实验结果1258.3书店:实验结果1268.4Medipedia:实验结果1278.5Stud-e:实验结果1289.1所有进样的PMVT和扫描仪组合检测目的9.2第139页中不安全直接对象引用的测试目的十五1OVerviewR搜索内容。1.1网络安全威胁11.2动机和研究目标21.3研究范围41.4论文贡献51.4.1域特定建模语言61.4.2漏洞测试模式形式化71.4.3模式驱动和基于模型的漏洞测试过程81.4.4工具链81.4.5实验91.4.6对FP7 RASEN项目9的1.5论文结构10本论文于2012年10月至2015年10月在法国贝桑松弗朗什-孔泰大学Femto-ST1研究所复杂系统计算机科学系VESONTIO团队进行。本文件中介绍的工作是欧盟FP7研究项目RASEN2的一部分。1.1 /C网络安全威胁近年来,对信息和通信系统的攻击的增加主要集中在Web应用程序中存在的漏洞上[65,16]。根据最新的安全技术水平(见第3节)和安全报告,如OWASP Top Ten 2013、CWE/SANS 25和WhiteHat Website Security Statistic Report 2014,Web应用程序是最受欢迎的网络攻击目标。现代社会在经济上,数字革命导致了一个新的新兴市场的快速增长,这在危机时期尤其受到欢迎。例如,在法国,2014年数字经济占其国内总产值的5.2%1http://www.femto-st.fr/[最后访问日期:2015年8月]2http://www.rasenproject.eu[最后访问日期:2015年8月]12第一章。 研究概览GDP和就业的3.7%。 考虑到经济利益,有组织犯罪成为Web应用程序攻击中最常见的威胁因素也就不足为奇了。Web应用程序内部的安全漏洞风险在过去十年中有所增加。今天,构建一个Web应用程序涉及到在客户端和服务器端结合整个技术马赛克。Web应用程序正变得越来越复杂和无处不在,对此类系统安全性的需求从未如此惊人。因此,在应用程序级别的漏洞中观察到了显著的增长,每年在公共数据库(如MITRE CVE-常见漏洞和暴露)中检测到并披露数千个漏洞。在这些数据库中发现的最常见的漏洞特别强调了缺乏对代码注入的抵抗力,但基于应用程序逻辑的其他类型的漏洞也得到了很好的描述。谷歌(Google)、苹果(Apple)、Facebook和亚马逊(Amazon)一直被称为互联网四大巨头,它们最近都受到了服务漏洞的2014年的iCloud丑闻4就是一个生动的例子,当时数千人的私人数据被披露。另一个是Facebook Chat/Messenger中存储的跨站点脚本漏洞,该漏洞允许黑客访问其他用户的私人消息。下一节通过表明对改进安全性的需求远远超出了预期来阐述本文的动机,因为当前的漏洞测试技术是非结构化的、耗时的、缺乏准确性和准确性的。1.2 /M动机和研究 OBECTIVES:A PRecise和在巴库拉特五、脆弱性技术测试当前测试/反作用/消除漏洞的技术不够精确和准确。使互联网成为一个更安全的地方,并提高用户对他们使用Web应用程序进行购买和银行业务的能力的信心,这是一个巨大的挑战。为当前Web应用程序提供额外安全层的一种广泛的这些机制采用浏览器功能(客户端)或应用程序防火墙(服务器端)的形式,充当监视器,分析流量并进行清理或拒绝任何被视为潜在恶意的输入/请求。然而,他们缺乏完整性,因为他们错过了很多脆弱的能力。具有几乎无限数量变体的跨站点脚本的复杂性是一个生动的示例6。此外,他们对所保护的应用程序知之甚少,而要有效地过滤掉恶意请求而不阻塞名义用户交互,就需要这些应用程序。Security Consortia7强烈推荐的另一种技术是防御性编程:它包括一套在开发过程中应该遵循的良好实践和习惯。最基本的想法是永远不要假设用户有任何好的东西3http://www.justice.gouv.fr/include_htm/pub/rap_cybercriminalite.pdf[最后访问日期:2015年8月4http://www.bbc.com/news/technology-29237469[最后访问日期:2015年8月]5http://www.breaksec.com/? p=6129 [上次访视:2015年8月]6http://www.mediafire.com/view/7a57hv5z25s58lh/WAF_Bypassing_By_RAFAYBALOCH.pdf上次访问日期:2015年8月]7https://www.owasp.org/index.php/Secure_Coding_Principles[最后访问日期:2015年8月31.2.动机和研究目标行为和请求的输入,通过编写程序来检查它们自己的操作,并使用断言将输入和行为单独限制为预期的输入和行为。此外,现在的Web应用程序框架(例如,Symfony8,Django9,Rails10)提供了关于输入验证,表单操作,身份验证和授权机制的内置安全功能的防御性编程支持。OWASP联盟还提供了如何以安全方式编写代码的指南。然而,设计遵循防御性编程规则的应用程序实际上不足以防止漏洞的扩散,因为它容易出现人为错误,而人为错误本质上是不可避免的,Web应用程序日益增加的复杂性使这项任务变得更加艰巨。可以通过部署应用程序级别的漏洞测试活动来克服漏洞扩散:它由一组侵入性测试用例组成,每个用例都针对特定的漏洞类型。它可以手动完成,也可以自动完成,或者在中间的某个地方完成;它可以依赖于源代码(白框),依赖于作为一个整体运行的应用程序(黑框),或者再次依赖于两者之间的某个地方(灰框)。每种技术都有好处和回报,无论是关于它的效率还是部署成本(有关漏洞测试最新技术水平的更多信息,请参见第3章应用程序级别的漏洞测试主要由开发人员执行,但他们往往缺乏对最近漏洞和相关漏洞利用的足够深入的了解。这种类型的测试也可以由专门从事安全测试的公司来完成,例如渗透测试。这些公司监控这些漏洞的不断发现以及攻击技术的不断发展。但他们主要使用手工方法,使他们的技术的传播非常困难,这种知识的影响非常低。更重要的是,这样的公司在时间框中工作,并且经常不得不相应地减少它们的检测范围。最后,Web应用程序漏洞扫描程序可用于半自动地检测漏洞,但它们缺乏准确性和准确性,因为它们不了解应用程序的因此,它们经常产生假阳性和假阴性结果,并且经常需要人工调查[22,30]。基于模型的测试(MDT)是一种软件测试方法,其中测试用例和预期结果都是从被测系统的抽象模型(SUT)中自动导出的。更具体地说,IPT技术从IPT模型中推导出抽象测试用例(包括刺激和预期输出),该模型在其环境的上下文中并在给定的抽象水平上形式化了SUT的从这样的模型生成的测试用例允许通过将在SUT上观察到的结果与由MBT模型指定的结果进行连续比较来验证SUT的功能方面。MBT通常用于自动化和简化的功能黑匣子测试。这是一种广泛使用的方法,近年来在学术界和工业界都获得了很大的兴趣,特别是通过增加和掌握测试覆盖面,包括对认证的支持,并提供加速测试过程所需的自动化程度。当前漏洞测试技术缺乏准确性和精确性是本文的动机,为此我们提出了一种基于模型的漏洞测试方法来解决Web应用程序漏洞。这转化为以下两个研究目标(RO1和RO2):8https://symfony.com/上次访问日期:2015年8月]9https://www.djangoproject.com/上次访问日期:2015年8月]10http://rubyonrails.org/上次访问日期:2015年8月]4第一章。 研究概览RO1:设计一种依赖于更好AC的模式和模型的方法-EB应用程序漏洞测试的治愈性和准确性漏洞测试模式用于描述每类vul漏洞的测试过程。 许多安全联盟(如Mitre、CAPEC和OWASP)都发布了用于检测特定漏洞的测试模式。研究项目已经很好地集中在设计漏洞测试模式上,如ITEA2 DIAMOND项目。然而,这种模式是非正式的,应用它们仍然是手册。使用漏洞测试模式进行自动化测试仍然是一个挑战。我们的目标是将漏洞测试模式形式化为一种机器可读的语言,该语言将允许自动生成专用于检测目标漏洞的测试用例。为了实现这一目标,我们建议将形式化的测试模式与被测Web应用程序的模型相结合,以便设计一种基于模型的漏洞性测试技术来检测Web应用程序漏洞。通过这种方式,我们将模式的准确性与模型的准确性相结合,以提高漏洞的整体检测。RO2:设计一种可用、可扩展、高效并具有良好自动化水平的方法基于模型的测试技术通常遭受与模型设计和测试用例具体化相关的高成本从模型生成的测试用例是抽象的,因为模型是系统的抽象测试工程师负责设计模型并将所有测试用例转换为可执行脚本。此外,Web应用程序开发是一项快速的活动,时间至关重要。因此,迫切需要一种可用的、可扩展的和高效的测试方法,并且尽可能地自动化。我们的目标是通过缩小模型中包含的信息并生成形式化的测试模式,使用于漏洞测试目的的这种方法的大多数活动自动化。此外,MBT技术已被证明是可扩展的和高效的测试方法,用于关键和复杂的系统。这两个RO提出了3个研究问题,我们将在下一节中提出1.3 /R搜索范围本文的目的是调查主要问题:基于模式和基于模型的方法(如我们所提出的检测Web漏洞的方法)的有效性和效率是什么?这一研究挑战可以分解为以下阐述和阐述的3个研究问题。我们参考第8.5节中的这些问题来评估实验结果。RQ1应用于被测W eb 应用程序模型的扩展测试模式如何提高漏洞检测的准确性和准确性?一方面,随着网站的规模和复杂性的增长,渗透测试正变得越来越困难。例如,OWASP基金会的建议
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功