感谢您发送咨询!我们的团队成员将很快与您联系。
感谢您发送预订!我们的团队成员将很快与您联系。
课程大纲
第一天
IT安全与安全编码
- 安全的本质
- IT安全相关术语
- 风险的定义
- IT安全的不同方面
- 不同应用领域的需求
- IT安全与安全编码
-
从漏洞到僵尸网络和网络犯罪
- 安全缺陷的本质
- 困难的原因
- 从受感染的计算机到定向攻击
-
安全缺陷的分类
- Landwehr的分类法
- 七大有害王国
- OWASP十大2013
- OWASP十大比较2003-2013
Microsoft®安全开发生命周期(SDL)简介
- 议程
-
受到攻击的应用程序...
- 网络犯罪的演变
- 攻击正集中于应用程序
- 大多数漏洞存在于较小的ISV应用程序中
-
Microsoft SDL的起源...
- Microsoft的安全时间线...
- 哪些应用程序需要遵循SDL?
-
Microsoft安全开发生命周期(SDL)
- Microsoft安全开发生命周期(SDL)
- SDL前要求:安全培训
- 第一阶段:需求
- 第二阶段:设计
- 第三阶段:实现
- 第四阶段:验证
- 第五阶段:发布-响应计划
- 第五阶段:发布-最终安全审查
- 第五阶段:发布-归档
- SDL后要求:响应
- 面向LOB应用的SDL流程指南
- 敏捷方法论的SDL指南
- 安全软件开发需要流程改进
安全设计原则
-
攻击面
- 攻击面减少
- 攻击面-示例
- 攻击面分析
- 攻击面减少-示例
-
隐私
- 隐私
- 理解应用程序行为和关注点
-
纵深防御
- SDL核心原则:纵深防御
- 纵深防御-示例
-
最小权限原则
- 最小权限-示例
-
安全默认值
- 安全默认值-示例
安全实现原则
- 议程
- Microsoft安全开发生命周期(SDL)
-
缓冲区溢出基础
- Intel 80x86处理器-主要寄存器
- 内存地址布局
- x86上C/C++的函数调用机制
- 局部变量和栈帧
-
栈溢出
- 栈上的缓冲区溢出
- 练习-简介
- 练习BOFIntro
- 练习BOFIntro-确定栈布局
- 练习BOFIntro-简单漏洞利用
-
输入验证
- 输入验证概念
-
整数问题
- 负整数的表示
- 整数溢出
- 算术溢出-猜输出!
- 练习IntOverflow
- Math.Abs(int.MinValue)的值是多少?
-
整数问题缓解
- 整数问题缓解
- 避免算术溢出-加法
- 避免算术溢出-乘法
- 使用C#中的checked关键字检测溢出
- 练习-在C#中使用checked关键字
- C#中溢出触发的异常
-
案例研究-.NET中的整数溢出
- 真实世界的整数溢出漏洞
- 利用整数溢出漏洞
-
路径遍历漏洞
- 路径遍历缓解
第二天
安全实现原则
-
注入
- 典型的SQL注入攻击方法
- 盲注和基于时间的SQL注入
- SQL注入保护方法
- 命令注入
-
身份验证失效-密码管理
- 练习-哈希密码的弱点
- 密码管理和存储
- 用于密码存储的特殊用途哈希算法
-
跨站脚本(XSS)
- 跨站脚本(XSS)
- CSS注入
- 利用:通过其他HTML标签注入
- XSS防护
-
功能级访问控制缺失
- 过滤文件上传
-
实用密码学
- 使用对称密码学提供机密性
- 对称加密算法
- 分组密码-操作模式
- 哈希或消息摘要
- 哈希算法
- 消息认证码(MAC)
- 使用对称密钥提供完整性和真实性
- 使用公钥加密提供机密性
- 经验法则-私钥的持有
- 密码管理中的典型错误
- 练习-硬编码密码
- 结论
安全验证原则
- 功能测试与安全测试
- 安全漏洞
- 优先级排序
- SDLC中的安全测试
- 测试计划步骤(风险分析)
-
范围界定和信息收集
- 利益相关者
- 资产
- 攻击面
- 测试的安全目标
-
威胁建模
- 威胁建模
- 攻击者画像
- 基于攻击树的威胁建模
- 基于误用/滥用用例的威胁建模
- 误用/滥用用例-简单的网上商店示例
- 基于元素的STRIDE威胁建模方法-MS SDL
- 识别安全目标
- 图表-DFD元素示例
- 数据流图-示例
- 威胁枚举-MS SDL的STRIDE和DFD元素
- 风险分析-威胁分类
- DREAD威胁/风险排名模型
-
安全测试技术和工具
- 一般测试方法
- SDLC各步骤的技术
-
代码审查
- 软件安全代码审查
- 污点分析
- 启发式方法
-
静态代码分析
- 静态代码分析
- 练习-使用静态代码分析工具
-
测试实现
- 手动运行时验证
- 手动与自动化安全测试
- 渗透测试
- 压力测试
-
模糊测试
- 自动化安全测试-模糊测试
- 模糊测试的挑战
-
Web漏洞扫描器
- 练习-使用漏洞扫描器
-
环境检查与加固
- 通用漏洞评分系统-CVSS
- 漏洞扫描器
- 公共数据库
-
案例研究-表单身份验证绕过
- NULL字节终止漏洞
- 代码中的表单身份验证绕过漏洞
- 利用表单身份验证绕过
知识来源
- 安全编码来源-入门套件
- 漏洞数据库
- MSDN上的.NET安全编码指南
- .NET安全编码速查表
- 推荐书籍-.NET和ASP.NET
14 小时
客户评论 (3)
经验分享,这是教师的诀窍和宝贵之处。
Carey Fan - Logitech
课程 - C/C++ Secure Coding
机器翻译
培训师的知识非常丰富,他清楚地知道自己在说什么,并且能够回答我们的问题
Adam - Fireup.PRO
课程 - Advanced Java Security
机器翻译
主题非常前沿,我需要更新知识
Damilano Marco - SIAP s.r.l.
课程 - Secure Developer Java (Inc OWASP)
机器翻译