网站大量收购独家精品文档,联系QQ:2885784924

软件安全测试基础讲义.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * “出现错误就应该崩溃” 目的:保证系统的正常和安全运行 异常捕获的安全 异常处理的安全 本地处理 向客户端抛出 其它异常处理 On error resume On error goto “一切输入都是有害的” 用户输入安全 数字输入安全 字符串输入安全 环境变量输入安全 文件名安全 数据库输入安全 在数据没有得到验证之前不要相信它们! 数据通过不可信任环境和可信任环境的边界时,必须要经过验证。 国际化(I18N) 本地化(L10N) 全球化(G11N) 字符集转换 MultiByteToWideChar() WideCharToMultiByte() 对象内存分配与释放 对象线程安全 对象序列化安全 静态成员安全 URL操作攻击 页面状态值安全 URL传值 表单传值 Cookie方法 Session方法 Web跨站脚本(XSS)攻击 SQL注入 Access Control List 应用程序抵御攻击的最后屏障 Administrators(完全控制)+Everyone(读取) 特权提升 远程调用(RPC)安全 恶意调用RPC服务器中的过程 客户端和服务器之间传递的信息被窃听,数据被篡改 DCOM安全 Active X组件安全 拒绝服务DoS 应用程序失败攻击 资源不足攻击 CPU不足攻击 内存不足攻击 资源不足攻击 网络带宽攻击 攻击原理 基于漏洞的攻击(逻辑攻击) 基于流量的攻击(洪水攻击) 分布式拒绝服务攻击(DDoS) 加密=安全? 糟糕的密码保存处理 加密算法中使用不良的随机数 SQL注入 Internet Request Response DLL注入 Windows消息钩子 远程线程注入 注册表修改 软件安全方面的观念和知识不足 经济上的回报少甚至没有 软件设计没有考虑安全特性 编码错误 测试不到位 我不能想象导致这船沉没的任何情况,现代造船技术已经消除了这种可能性。 ——泰坦尼克号船长,E.I.Smith 灌输软件安全观念 了解软件安全的重要性 “搞破坏” 与行业安全问题保持同步 持续的安全教育 设计阶段 开发阶段 测试阶段 发布/维护阶段 概念: 1、安全教育 2、专职安全人员 威胁建模 设计完毕: 安全小组审查 编码完毕: 1、审查旧的缺陷 2、安全编码准则 安全运动 响应过程 当我们面对添加新特性和解决安全问题的选择时,我们需要选择安全。 ——比尔.盖茨 《Trustworthy Computing》备忘录 安全特性不等于安全的特性 安全专业技术+领域专业技术 更多的眼睛不代表更安全 设计阶段 定义产品的安全目标 安全是产品的一种特性 要有足够的时间考虑安全问题 安全的设计源于威胁模型 终结不安全的特性 设置BUG门槛 安全小组审查 开发阶段 只有核心成员能够查看或更新新代码 新代码的安全审查 定义安全的编码准则 审查旧的缺陷 外部安全审查 测试阶段 发行和维护阶段 如何知道已完成 响应过程 构建威胁模型 首先修复旧代码 淘汰可能构成长期安全问题的旧功能 在某种程度上,工具很关键 自动化 对最可能影响系统的威胁进行系统地识别和评估 在软件设计阶段建立,并贯穿于整个应用程序生命周期的一个迭代过程 威胁建模流程 威胁建模的输出 识别资产 创建体系结构概述 分解应用程序 识别威胁 记录威胁 评估威胁 威胁建模的作用 设计人员 开发人员 测试人员 威胁模型只能降低或减少攻击的风险 模型应是一个动态的项目 安全模型 评测标准 美国国防部的橘皮书(可信计算机系统评测标准TCSEC) D1 C1 C2 B2 B1 B3 A1 不具备最低安全限度 具备最低安全限度 具备中等安全保护能力 具备最高安全保护能力 一些成功的做法 微软提出的安全开发生命周期(SDL, Security Development Lifecycle) 美国NIST(National Institute of Standards and Technology)成立了软件保证度量和工具测量项目SAMATE,源码安全性分析是重要组成部分 系统必须经受住正面的攻击,但也必须经受住侧面和背后的攻击 软件安全测试过程 正向测试过程 反向测试过程 标示测试空间 精确定义设计空间 找出设计空间的转换规则 标示安全隐患 建立入侵矩阵 验证入侵矩阵 建立缺陷威胁模型 寻找入侵点 已知漏洞的扫描测试 入侵点矩阵验证测试 基于威胁模型的安全测试过程 根据威胁模型,建立测试计

文档评论(0)

ranfand + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档