1、I本 科 毕 业 设 计 ( 论 文 )题目:基于 ASP.NET 的 Web 安全性评估、设计与实现 学 院 软件学院 专 业 软件工程 学生姓名 学生学号 指导教师 提交日期 II摘要在基于 ASP.NET 开发的网站中,有相当一部分的网站开发者没有缜密的安全计划,导致网站出现漏洞给网站和用户带来损害,而目前国内关于 WEB 安全的研究文献,只是笼统地说明常见的几个漏洞和解决方法,这种方法实施起来其实因为不同的部署以及未能针对具体系统和开发环境设计所以很难完成任务,并且对于网站如何规范化检测漏洞,网站存在的各方面漏洞如何有效合理地针对和解决,一些知名的检测工具和方法的使用都没有详细描述。本
2、课题主要研究 ASP.NET 网站的安全性评估,设计与实现,通过使用经典安全测试工具 NetSparker,WebInspect 等对案例网站进行 OWASP TOP 10 漏洞检测并结合OWASP 风险模型信息量化评估方法进行风险评估,与网站决策人确认评估结果提出网站架构无法满足网站安全需求的问题,然后熟悉网站代码和业务逻辑,利用 ATAM 架构权衡分析法对网站架构进行分析确认结论,紧接着凭借 ASP.NET 安全实践方法和安全架构战术如认证,审计追踪等对网站进行重构与漏洞修复工作,设计严谨可靠的安全战术策略,最后再利用 WebInspect 对该战术进行检测并与知名同类项目管理权威网站 T
3、ower.im 的检测结果进行对比验证战术的可靠性。通过该课题的研究成果,可以熟悉地掌握对于网站的规统化安全检测及评估方法,设计缜密的安全战术,构建安全可靠的 WEB 网站,并希望以此为基础,让非安全专业人士能正确的了解网站的漏洞检测,安全评估和战术设计。关键词 : ASP.NET;OWASP TOP 10 漏洞检测 ;ATAM 架构权衡分析法;安全性战术设计III(另起页:外文摘要范例;英文摘要和关键词应该是中文摘要和关键词的翻译)Abstract(小三号,Times New Roman 字体,加粗,居中,上下空一行) 。 (正文:Times New Roman 字体,小四号,行距为固定值
4、20 磅)Keyword( Times New Roman 字体,小三号,加粗,居左): Multivariable system, Predictive control, Environmental test device(Times New Roman 字体,小四号)IV目 录摘要 .IIAbstract .III目 录 .IV第一章 绪论 .11.1 引言 .11.2 研究背景和现状分析 .11.3 研究内容和意义 .21.4 本文术语表 .21.5 本论文结构 .4第二章 相关技术知识简介 .52.1 技术方法简介 .52.1.1 OWASP TOP 10 评估方法简介 .52.1.2
5、 ATAM 方法简介 .52.1.3 ASP.NET 技术 .52.1.4 ASP.NET MVC 基本概念 .62.1.5 ASP.NET MVC 的优点 .62.1.6 Spring.NET 简介 .72.2 工具简介 .72.2.1 HP WebInspect 10.0 .72.2.2 NetSparker Professional Edition.72.2.4 Microsoft Visual Studio 2010 .82.3 本章小结 .8第三章 OWASP 评估 .93.1 网站简介 .93.2 OWASP 风险评估 .113.2.1 识别风险 .113.2.2 A1 注入 In
6、jection.193.2.3 A2 失效的身份认证和会话管理 Broken Authentication and Session Management.223.2.4 A3 跨站式脚本 Cross-Site Scripting (css) .223.2.5 A4 不安全的对象直接引用 Insecure Direct Object References.243.2.6 A5 安全配置错误 Security Misconfiguration.243.2.7 A6 敏感数据暴露 Sensitive Data Exposure .253.2.8 A7 功能级别访问控制缺失 Missing Funct
7、ion Level Access Control .263.2.9 A8 跨站请求伪造 Cross-Site Request Forgery(CSRF) .273.2.10 A9 使用已知易受攻击组件 Using Known Vulnerable Components .273.2.11 A10 未验证的重定向和转发 Unvalidated Redirects and Forwards .273.2.12 HP 报告的建议 .273.3 评估风险 .283.3.1 A1:SQL 注入 .28V3.3.2 A3 跨站式脚本 .303.3.3 A5 安全配置错误 .323.3.4 A6 敏感数据暴
8、露 .333.3.5 A7 功能级别访问控制缺失 .343.3.7 手动功能检测问题 .363.4 本章小结 .40第四章 ATAM 架构评估报告 .424.1 简介 .424.2 第 0 阶段:合作关系和准备 .424.2.1 合作关系 .424.2.2 过程记录 .424.2.3 评估小组角色分配 .434.2.4 声明 .434.3 第 1 阶段 部分评估 .434.3.1 ATAM 方法表述 .434.3.2 商业动机表述 .434.3.3 架构的表述 .444.3.4 对体系架构方法分类 .504.3.5 生成质量属性效应树 .504.3.6 分析架构方法 .514.4 第 2 阶段
9、 评估 .564.4.1 第 7 步 集体讨论确定场景的优先级 .564.4.2 分析架构方法 .574.4.3 结果的表述 .574.5 第 3 阶段 后续 .584.6 本章小节 .58第五章 安全战术设计 .595.1 问题总结 .595.2 战术设计 .595.2.1 安全架构设计 .595.2.2 安全架构实现 .635.2.4 修复其他漏洞 .725.3 本章小结 .74第六章 战术模拟测试 .756.1 MVC 测试 .756.2 战术模拟检测 .776.3 TOWER 检测 .796.4 检测结论 .826.5 本章小结 .82结论 .83论文总结 .83下一步展望 .83参考
10、文献 .84致谢 .861第一章 绪论1.1 引言 而对于信息化时代的今天,网站的安全问题愈发重要,一些漏洞不仅仅会给网站带来直接的经济损失,之后所引出来的其他问题比如客户信息泄漏等将对网站用户造成更大的损失与伤害,并引发网站用户及社会对网站的信任危机,甚至成为网站的致命伤。所以对于网站开发人员,如何使网站在安全性方面得到客户的信赖十分关键。而本课题我们研究如何使用规范化的方法正确评估网站安全性,并根据实际案例 (数字创新加油站)提出安全策略战术,希望可以以此为基础,教会人们如何评估网站安全及构建安全的 ASP.NET 网站。1.2 研究背景和现状分析2014 年 4 月,名为“心脏出血”的重
11、大安全漏洞被曝光,这个漏洞导致大量用户信息泄漏和损失,在当前访问量最大的 1000 个网站中,受影响的网站和服务器包括雅虎,Imgur。DuckDuckGo 等,甚至导致 CRA(加拿大税务局)被迫关闭电子服务网站。2013 年 8 月,国内大批快捷酒店订房记录被泄漏,包括客户名,开房日期,身份证号,房间号等隐私信息,甚至随之而来利用该漏洞用于查询住客信息的网站也出现,并迅速在网上流传。2012 年 9 月,铁道部订票网站 被传出存在大量高危险的漏洞,包括 SQL注入,XSS,绝对路径泄漏等。2011 年 12 月,受程序员青睐的 CSDN 的安全系统遭受黑客攻击,600 万的用户信息被泄漏
12、,而与此同时,被指出泄漏问题的还有天涯,多玩,世纪佳缘等大规模网站。. .每年,随着互联网的发展与进步,新的漏洞出现,以前被忽视的安全隐患也登上了舞台,这些漏洞对于互联网,对于越来越离不开互联网生活的我们影响也越来越大,甚至一些一直被信赖为不可能被攻陷的权威网站也发生了这种情况。如何正确的评估上线网站的安全性,设计针对网站合理的安全策略战术的重要性实在不言而喻。对于国外而言,目前互联网上有大量的好用的安全检测工具,不仅仅是开源的如Nikto,Watabo 和 OWASP 组织提供的系列工具,还有大型的商业性工具如HPInspect,Netsparker 等。这类工具在不断地被研究和进步成为网站
13、开发人员评估网2站安全设计网站安全战术的重要组成。在整个互联网世界,WEB 安全的研究凭借以往的研究成果和设计的工具发展越来越便捷,而 WEB 安全研究的发展更带动了安全工具和战术的优化和普及(HPWebInspect 新版本已经到了 10.0) 。 工具的发展只是窥探本体发展的一小部分“视图” ,的不仅仅是工具,对于安全漏洞的本质研究,针对不断涌现的新的安全问题,国内外的学者和组织不断地钻研与交流学习(如互联网安全大会,OWASP 会议等)不断提出了新的安全战术和解决方案,从而使问题得到解决维护互联网的稳定和安全。而国内,乌云漏洞平台是一个 2010 年建立的位于厂商和安全研究组之间的安全问
14、题反馈平台,在对安全问题进行研究与处理的同时也给广大的安全爱好者提供了学习与交流的环境,吸引了众多安全团队在该平台发布信息及交流。乌云平台发布的主要漏洞包括携同网源代码包可下载,游久网口令漏洞,百度主站反射型 XSS,太平洋网络文件下载漏洞,搜狐邮箱存储型 XSS,腾讯微云存储等。虽然乌云平台有大量专业的安全研究人员,但是平台才发展不到五年,对于国内WEB 安全问题和机制的重要性没有得到大部分人正确认识的现状,很多优秀的安全检测工具仅仅只被少部分专业安全人士熟悉,这些安全工具在国内少有人研究,甚至连使用方法都很难在互联网上找到。所以这更加形成了一个微妙的恶性循环。所以 WEB安全的重要性和检测
15、工具的普及还需要我们进一步努力。1.3 研究内容和意义目前国内有不少关于 WEB 安全的研究的文献,只是笼统地说明常见的几个漏洞和解决方法,这种方法实施起来其实因为不同的部署以及未能针对具体系统和开发环境所以很难完成任务,而且对于网站如何检测漏洞,对于网站存在的各方面漏洞如何有效合理地针对和解决都没有描述。本课题希望通过针对一个具体的案例 ASP.NET 网站 (数字创新加油站)进行规范化的安全评估,利用一些知名的工具(HPWebInspect,Netspaker)找出网站存在的主要漏洞,并使用 OWASP 量化评估方法和 ATAM 权衡分析法针对风险和架构进行客观的评估,然后根据网站存在的漏
16、洞提出合理的方便的安全解决方案和策略战术的实现。希望以此为基础,让非安全专业人士能规范地正确地了解网站的漏洞检测,安全评估和战术设计。1.4 本文术语表3表 1-1 术语表中文 英文 定义MVC 框架MVC(Model View Controller) 一种把软件系统分为模型、视图和控制器三个基本部分的软件架构模式 Spring.Net 框架 Spring.Net 为中间层提供声明式事务管理,以及一个功能齐全的 ASP.NET 扩展框架面向切面编程 Aspect Oriented Programming( AOP)面向行为编程,对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降
17、低,提高程序的可重用性,同时提高了开发的效率开放式 Web 应用程序安全项目OWASP(Open Web Application Security Project)提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息的组织构架权衡分析方法 ATAM(Architecture Tradeoff Analysis Method)一种评价软件构架的综合全面的方法依赖注入(控制反转) IoC(Inversion of Control) 是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的 Spring 框架的核心SQL 注入 SQL(Structured Query Lang
18、uage)Injection通过把 SQL 命令插入到 Web 表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令跨站请求伪造 CSRF(Cross-site request forgery)CSRF 是一种依赖 web 浏览器的、被混淆过的代理人攻击(deputy attack) 。跨站脚本攻击 Cross Site Script(CSS 或XSS)恶意攻击者往 Web 页面里插入恶意 html代码,当用户浏览该页之时,嵌入其中Web 里面的 html 代码会被执行,从而达到恶意攻击用户的特殊目的。ASP.NET 程序 ASP.NET(ASP:Active
19、Server Pages ).NET FrameWork 的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过 HTTP 请求文档时再在 Web 服务器上动态创建它们。41.5 本论文结构 本文第一章,绪论。简单介绍了本课题的研究背景和意义还有国内外现状,并阐述了研究方法。本文第二章,相关知识简介。介绍了本课题相关的技术基础和工具的介绍。本文第三章,OWASP 评估。简单介绍网站业务并利用检测工具找出网站漏洞,使用OWASP 风险评估方法对漏洞进行评估分析本文第四章,ATAM 评估。使用 ATAM 方法对网站的架构进行分析。本文第五章,安全战术设计。通过之前的分析评估报告设计出安全策略战术,保证系统安全。本文第六章,战术模拟测试。对设计的战术是否可靠进行相关方面的测试,之后对知名同类网站进行检测对比。