《软件安全实验》由会员分享,可在线阅读,更多相关《软件安全实验(26页珍藏版)》请在金锄头文库上搜索。
1、软件工程专业类课程实验报告课程名称:软件安全技术学院:信息与软件工程学院专业:软件技术学生姓名及学号: 杨川疆 2011222010018指导教师:郭建东评分:日期: 2014年12 月 26 日电 子 科 技 大 学实 验 报 告1、 实验名称: TAM2应用试验2、 实验时间和地点2014 年12 月 6 日 ; 4学时 ; 实验楼303 3、 实验目的了解微软公司TAM2.0的主要功能,初步掌握其基本使用技术,掌握利用该软件进行软件安全分析的方法,掌握软件安全系统分析的基本内容。4、 实验设备与环境1) 基本环境要求计算机实验室,40台以上计算机。2) 最低设备要求硬盘:10G以上;内存
2、:512M以上;CPU:INTEL,讯驰或酷睿平台3) 系统平台要求WINDOWS XP以上。4) 软件、硬件及相应工具要求TAM2.0以上版本。5、 实验内容及要求1) 实验基础(必要的基础知识) TAM的全称是Microsoft Application Security Threat Analysis & Modeling(威胁分析与建模),其主要功能是识别威胁,并针对所定义的系统,定义安全策略。 利用TAM生成安全模型包括三个步骤的过程。l 首先,定义应用程序的环境。l 其次,在应用程序的顶层环境中建模。l 第三,衡量与每个危险伴随的风险。 当完成上述三个步骤后,通过TAM的分析,可视化
3、和报告,形成系统的安全威胁模型。 TAM能够基于用户提供的已知的知识,自动生成潜在的威胁报告。同样的,TAM也能够通过用户提供的知识,通过访问控制矩阵,数据流图和信任流图等构建安全的产品,并给出用户化的报告。目前为止,TAM仍然是一个发展中的软件,但是其主要的理念,体现了当前软件安全研究中的重要概念。2) 实验注意事项要求实验中,对系统的需求和架构建立尽量完整,这样有利于得到更多的结论。 6、 实验步骤1) 安装TAMv2.1.2,并熟悉其界面,主要过程如下:n 图5-1,同意该软件用户协议,下一步;图 5-1n 图5-2,选择安装路径,下一步;图 5-2n 图5-3,正在安装,下一步;图5-
4、3n 图5-4,安装成功,打开软件。图 5-42) 定义软件需求 此次我用于威胁建模的软件是在线图书管理系统,在此将图书借阅管理系统定义为在学校范围内使用的管理系统,因此涉及到的使用者是学生、教师及超级管理员,并不包括社会人员。 在线图书借阅管理系统是为了使学生与教师能够通过自助而非人工等待图书管理员的帮助的方式完成借阅图书等事宜,大大的提高了借阅图书的效率,减轻了图书管理员的负担。n 定义业务目标 业务目标包括两方面:图书管理信息化,如图5-5,图书借阅自主化,如图5-6。图 5-5图 5-6n 定义数据 数据有:借阅者信息,如图5-7;超级管理员信息,如图5-8;图书信息,如图5-9;预定
5、图书信息,如图5-10;借阅信息,如图5-11;网页表单,如图5-12。详细信息如下。图 5-7图 5-8图 5-9图 5-10图 5-11图 5-12n 定义应用用例 应用用例有:登录用例、修改密码用例、查询图书用例、超时处理用例、续借图书用例、借阅图书用例、预定图书用例、归还图书用例、添加有效用户、删除有效用户、编辑图书信息用例、编辑用户信息用例等。n 生成用例图5-13为普通借阅者与超级管理员共同的操作。图 5-13图5-14 为普通借阅者的用例图 5-14图 5-15为超级管理员的用例图 5-153) 定义程序架构n 定义部件 部件有数据库、借阅图书、预定图书、归还图书、查询图书、续借
6、图书、超期处理、登录组件、添加用户、删除用户、编辑用户信息与编辑图书信息,部件详细信息如图5-16: 图 5-16n 定义服务角色服务角色分别为网站与数据库。n 定义外部依赖 本软件定义中无外部依赖。n 生成调用登录用例调用如下图。图 5-17 修改密码调用:图 5-18 查询图书调用:图 5-19 超时处理调用:图 5-20续借图书调用:图 5-21借阅图书调用:图 5-22预定图书调用:图 5-23归还图书调用:图 5-24添加有效用户调用:图 5-25删除有效用户调用:图 5-26编辑图书信息调用:图 5-27编辑用户信息调用:图 5-284) 建立威胁模型n 产生威胁 通过Tools工
7、具栏的Generate Threats选项生成威胁模型,如图5-41,5-42。图 5-29图 5-30n 主要威胁因素分析 主要的威胁因素有:缓冲区溢出、规范化、跨站点脚本、密码分析攻击、拒绝服务、重播攻击、整数上溢或下溢、LDAP注入、中间人攻击、网络窃听、点击式攻击、密码强力攻击、会话劫持、SQL注入、XML注入。n 报名性威胁自动生成的威胁如下图:图 5-31n 完整性威胁如下图:图 5-32n 可用性威胁如下图:图 5-335) 威胁衡量 我们通过TAM2得到了在线图书管理系统的威胁列表,但是解决所有的威胁也许是不可行的,因此我们可以选择那些可能会造成较大损失的威胁来解决,而忽略掉可
8、能性小的。 所以我们需要对威胁进行衡量,危险 = 发生的概率潜在的损失,该公式表明,特定威胁造成的危险等于威胁发生的概率乘以潜在的损失,这表明了如果攻击发生将会对系统造成的后果。我们可以通过DREAD威胁评价表来帮助我们衡量威胁,如下表:评价高(3)中(2)低(1)D潜在的损失攻击者可以暗中破坏安全系统,获取完全信任的授权,以管理员的身份运行程序,上传内容。泄漏敏感信息泄露价值不高的信息R重现性攻击每次可以重现,而且不需要时间间隔。攻击每次可以重现,但只在一个时间间隔和一种特定的竞争条件下才能进行。攻击很难重现,即使很了解安全漏洞。E可利用性编程新手在短时间内就可以进行这类攻击。熟练编程人员可
9、以进行这类攻击,然后重复进行这些步骤。这类攻击需要非常老练的人员才能进行,并对每次攻击都有深入的了解。A受影响的用户所有的用户,默认配置,主要客户一些用户,非默认配置极少的用户,特点不明确,影响匿名用户D可发现性公开解释攻击的信息。可以在最常用功能中找到的缺陷,非常明显。产品中很少使用部分的缺陷,只有少量的用户可能遇到。判断是否是恶意使用需要花费一些心机。错误不明显,用户不可能引起潜在的损失表 5-1询问完上述问题后,计算给定威胁的值 (13)。结果范围为 515。这样您就可以将总分 1215 的威胁评价为高度危险,811 的威胁评价为中度危险,57 的威胁评价为低度危险。下面对我们的威胁列表
10、进行威胁评价。如下表:威胁DREAD总计得分缓冲区溢出122128中规范化113218中跨站点脚本3323314高密码分析攻击3213110中拒绝服务2233313高强迫浏览212229中格式字符串111111低重播攻击2323212高整数溢出或下溢123118中LDAP注入2323212高中间人攻击3322212高点击式攻击2321311中网络窃听3322212高密码强力攻击3223212高会话劫持2223312高SQL注入3333214高XML注入3232310中表 5-27、 实验结果通过完善在线图书管理系统的相关信息,我们得到了该系统的威胁模型,了解到该系统的漏洞与可能面临的危险,在建
11、模过程的现阶段,已经有了应用到特定应用程序方案的威胁列表。在建模过程的最后阶段,要根据威胁造成的危险对其进行评价。这样我们就能够首先解决危险最大的威胁,然后再解决其他的威胁。实际上,解决所有找出的威胁也许在经济上是不可行的,所以我们可以进行决策忽略掉一些,因为它们发生的机会很小。即使发生,带来的损失很小。8、 实验结论、心得体会和改进建议此外通过此次试验,我们了解微软公司TAM2.0的主要功能,初步掌握了其基本使用技术,掌握了利用该软件进行软件安全分析的方法,掌握软件安全系统分析的基本内容。同时,我们了解到威胁建模是一个不断重复的过程。威胁模型是一种发展的文档,并且各种不同的小组成员都可以参与。电子科技大学信息与软件工程学院实验中心