简介:本项目专注于银行软件系统中的接口测试,确保各模块间的通信顺畅无误,保障金融交易的安全与高效。
第4章 文件系统接口测试
文件系统的攻击可以分为两类:基于介质的攻击与基于文件的攻击。
### 基于介质的攻击
这类攻击的目标是模拟存储介质本身(如软盘、硬盘、CD-ROM等)的状态,以检验软件在异常情况下的表现能力。具体包括以下几种:
**1. 按容量填满文件系统**
通过填充磁盘空间至极限状态来测试应用程序是否能够妥善处理“磁盘已满”的情形。当Canned HEAT模拟出这样的环境后,应当强制应用执行各种文件操作(如打开、关闭、读取和写入等),以确保软件在资源受限条件下仍能正常工作。
**2. 强制介质忙或不可用**
这意在检查应用程序是否能够正确处理与存储设备相关的错误条件。例如,在试图访问硬盘或其他外部储存装置时强制返回表示介质问题的错误码,以此验证开发人员是否有适当的错误处理程序来应对这种情况。
**3. 模拟损坏的存储介质**
针对关键任务的应用程序进行测试,确保其在使用受损媒介的情况下仍能运行。此方法有助于识别因未妥善编写存取或写入文件时可能出现的问题而造成的潜在故障。
### 基于文件的攻击
这类攻击主要关注应用程序对特定类型数据结构(如文本、图像等)的操作是否符合预期。
**4. 使用无效文件名**
通过尝试使用不合法的名字来测试程序如何处理非法输入。这包括试图用过长或包含特殊字符的名字命名,以及在“另存为”对话框中键入操作系统不能接受的名称。
**5. 修改文件访问权限**
改变应用程序使用的文件的读写执行删除等许可级别,并观察软件能否正确响应这些变化。例如,在一个程序打开某个文件后尝试用另一个程序来修改或关闭它,以检查错误处理逻辑是否有效。
**6. 更改或破坏文件内容**
故意地或者偶然性地对文件进行改动,以此测试软件在读取被篡改的数据时的行为表现。这可以通过使用十六进制文本编辑器直接修改文件的内容来进行操作,并观察应用程序如何应对这种情况。
### 文件系统攻击小结
- **基于介质的攻击**
- 测试程序能否处理磁盘已满的情况。
- 检查软件在忙于响应其他请求时的行为表现,以确保其不会因为超时机制不足而崩溃。
- 在模拟受损存储设备上运行应用程序,观察是否有适当的错误处理代码。
- **基于文件的攻击**
- 尝试使用非法或不规范的名字来操作数据、临时和只读文件,并查看程序如何响应这些输入。
- 调整应用所需访问权限设置并强制软件执行相关任务以检查许可管理是否正确实现。
- 检验应用程序能否有效处理损坏的数据,确保其能够可靠地从故障中恢复。