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