软件系统安全性测试培训

课程目标
帮助学员更好地理解软件系统的安全性要求,了解软件安全漏洞及其危害性。
理解安全性是软件开发生命周期不可忽视的部分,全面把握软件安全性测试需求,开展全生命周期的安全性测试。
掌握软件系统安全性测试的具体方法、技术和工具,包括渗透测试、基于风险的安全测试等。
能够使用工具扫描不同类型的应用软件,发现系统的安全漏洞,并能对系统的安全性进行正确的、全面的分析和评估。
针对Web应用系统,能够完成软件安全性测试分析,采取正确的安全性测试策略和方法,能够完成安全性测试的具体任务。

课程特色:
结合软件安全性测试的最佳实践,由浅及深、由表及里,层层剥离,全面讲解软件系统的安全性需求及其相应的验证方法。
针对不同的测试对象(系统、功能、数据等)提出切实可行的安全性测试方法;
通过具体的案例来讨论相关主题,强调与学员互动,采用讨论+实践相结合的方式,不仅使课程生动有趣,而且学员可轻松掌握所学的内容
共享多年来开展软件安全性测试的经验,使所讲解的内容达到业界应用的水准。

讲课方式

PPT课件打印版本,并参考“OWASP测试指南”文档
以PPT课件讲解为主,重视课堂互动提问,并穿插分组讨论和较多的实践练习等。

课程时长2天

传统的面对面授课方式。

 

课程大纲:

第1讲:软件系统安全性及其测试基础
概括地介绍软件系统的安全性,包括安全性原则、方针,以及各类安全性问题。
    软件安全性概览
    密钥、公钥和私钥
    身份认证与数字签名
    弱点、威胁与漏洞等区分
    安全漏洞及其危害性
    常见的软件安全性缺陷和漏洞
    软件安全性威胁与需求
    入侵检测系统
    信息安全评估关注点
    等级保护评估关注点
    安全性测试及其策略
    软件安全开发七个接触点
分组讨论:软件系统中哪些是最主要的安全性问题,有什么对策?
第2讲:软件安全性测试方法
    安全性测试的意义
    安全性测试思想(联系性、破坏性、逆向性等)
    软件安全性测试方法与技术概述
    静态测试与动态测试
    安全性功能测试(口令、身份验证与授权、访问控制策略验证等)
    模型测试
    模糊器的构造(SPIKE、FileFuzz、ProtoFuzz)及模糊测试方法
    渗透测试方法和实施步骤
    常用软件安全性测试工具
实践练习:
    利用工具CppCheck、Findbugs 等练习
    利用一个渗透工具进行渗透测试练习
    FileFuzz 或JProtoFuzz 练习
第3讲:Web安全性测试
Web安全性问题在各种应用系统中更为突出,也是本课程讲解的重点内容。
    Web应用安全性及其测试原理
    常见Web安全测试辅助工具介绍
    2013年OWASP Top 10安全性漏洞
    讨论:Top 10 web安全性漏洞最近几年变化分析
    SQL注入及其实例
    XML, LDAP注入问题
    无效认证和Session管理方式
    会话劫持
    跨站脚本攻击(XSS)
    跨站请求伪造攻击(CSRF)
    暴露敏感数据
    未验证跳转和URL重定向攻击
    输入验证
    直接引用非安全对象
    错误的安全配置
实践练习:
    Firebug / Fiddler等练习
    WebGoat 练习
第4讲:软件安全性测试规范
要做好软件安全性测试,更重要的是深刻理解软件安全性测试规范,并按照规范来开展测试工作
    GB 17859-1999 计算机信息系统 安全保护等级划分准则
    应用软件系统安全等级保护通用技术指南
    应用软件系统安全等级保护通用测试指南
    美国萨班斯法案
    Web安全测试规范
    企业渗透测试指南
    OWASP测试指南
    NIST-Technical Guide to IS Testing & Assessment
讨论:如何有效运用安全性测试规范
..