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