第13章软件安全性测试
1. 战争游戏-电影
驾驶攻击
2. 了解动机
1) 挑战/称名
2) 好奇
3) 使用/借用
4) 恶意破坏
5) 偷窃
3. 威胁模式分析(threat modeling)
威胁模型分析过程的步骤:
1) 构建威胁模型分析小组
2) 确认价值
3) 创建一个体系结构总体图:确认计划用在软件中的以及如何实现互连的技术.确认在不同技术和其证明之间的信任边界(trust boundaries),以及为了访问数据必须发生的授权.
4) 分析应用程序
5) 确认威胁:
6) 记录威胁
7) 威胁等级评定:恐怖公式(DREAD Formula):
A潜在的损害
B可反复性
C可利用性
D受影响的用户
E可发现性
4. 软件安全是一项功能吗?软件漏洞是一个缺陷吗?
测试安全缺陷是失效性测试行为,也常常覆盖产品中没有被完全理解和说明的部分.
5. 了解缓冲区益处
由于字符串的不正确的处理引起的缓冲区溢出是目前为止最为常见的一种代码编写错误,其结果是导致安全漏洞.
6.使用安全的字符串函数
开发或改进一组新的函数,即用强壮,完全测试过的,文档齐全的新函数替代这些容易引起问题的函数集。这些新的函数,叫做安全字符串函数(safe string functions)。使用新函数的好处:
1) 每个函数接收目标缓冲的长度作为输入,这样函数就能确保在写入时不会超过缓冲区的长度。
2) 函数空字符中止所有的输出字符串,即使操作截断了预计的结果。
3) 所有的函数返回一个NTSTATUS值,该值只有一个可能成功的代码。
4) 每个都提供版本。
7.计算机取证
用户变更时未被删除的保留数据叫做潜在数据(latent data)。
RAM损耗(RAM slack)
磁盘损耗(disk slack)
第14章网站测试
1. 网页基础
网页就是由文字,图片,声音,视频和超级链接组成的文档。
2. 黑盒测试
1) 文本
检查核实读者的水平,术语,内容以及题目素材,准确度-特别是可能过期的信息,经常不断的检查拼写。
文字标签(ALT text),用于替代文字(ALTernate text)。
2) 超级链接
3) 图片
如果图片丢失或者名称不对,就无法载入,网页将在位置图片的位置显示错误提示。
4) 表单
表单是指网页中用于输入的选择信息的文本框,列表框和其他域。
3. 灰盒测试(grey-box testing):把软件当作黑盒来测试,但是通过简单查看软件内部的工作机制作为补充。
4. 白盒测试
1) 动态内容:根据当前条件发生变化的文字和图片.客户端(client-side),服务器端(server-side)
2) 数据库驱动网页:许多显示分类目录或者货物清单的电子商务网页是数据驱动的.
3) 用编程方法创建的网页:许多网页,特别是包含动态内容的网页是用编程的方法创建的,HTML甚至可能编程都是由软件创建的.
4) 服务器的性能和加载
5) 安全性
5. 配置和兼容测试
1) 硬件平台
2) 浏览器软件和版本:
3) 浏览器插件
4) 浏览器选项
5) 视频分辨率和色深
6) 文字大小
7) 调制解调器速率
6. 易用性测试
Top Ten Mistakes in Web Design:
1) 盲目使用不成熟的新技术:
2) 滚动文字,滚动块和不停运行的动画:不要让网页有不停移动的元素.
3) 滚动显示长页面:用户通常不喜欢滚动查看屏幕上看不见的信息.所有重要的内容和导航选项应该位于页面的顶端.
4) 非标准的链接颜色:指向用户未曾看到过的页面的超级链接应该是蓝色的,指向已经看过的页面的链接应该是紫色或是是红色.
5) 过期信息:对网站维护
6) 下载时间过长:
7) 缺少导航支持
8) 孤页:所有网页一定要包含本身所属网站的明确指示,因为用户可能不经过主页而直接访问网页,同样的原因,每个网页应该与主页链接,以及它在信息空间结构的位置指示.
9) 复杂的网站地址(URL)
10) 使用框架:框架是允许在一个网页中显示其他网页的HTML技术.
第四部分测试的补充