课程

课程介绍

面向企业安全编码需求以SEI CERT  Java编码规范为核心,Owasp WebGoat代码为示例,从OWASP TOP 10 ,SANS TOP 25漏洞代码分析开始,讲解针对相关漏洞的防御性编程。并通过实例,基于Web工程分别对前端的JSP代码和后台JAVA代码进行分析,揭示漏洞产生的原因,并分析漏洞利用的条件和危害,给出纵深防御的方法。参考MASVS,MSTG详细讲解移动应用的开发安全和测试方法。课程同时介绍基于SDLC及ASVS,实现软件开发生命周期管控,介绍软件开发安全管理。

培训对象

IT工作相关人员。

课程收益

安全编码的标准;
安全编码的十大基本原则;
JAVA安全编码规范;
WEB工程代码审计;
JAVA代码审计。

知识概要

-- 安全编码的标准;
-- 安全编码的十大基本原则;
-- JAVA安全编码规范;
-- WEB工程代码审计;
-- 代码问题产生的原因分析;
-- JAVA代码审计;
-- 代码加固方案;
-- MASVS介绍;
-- 软件开发生命周期;
-- 移动应用安全开发介绍;
-- 移动应用安全测试介绍;
-- 案例演示。

课程大纲

模块

学习内容

第一天

安全编码概论

SEI CERT安全编码原则

1.安全编码十大基本原则:

1)验证输入 2)注意编译器警告 3)符合安全策略的安全架构和设计 4)保持代码简单

5)默认拒绝 6)坚持最小权限原则 7)清理发送到其它系统的数据 8)深度防御

9)采用有效的检测技术 10)采用安全编码标准

2.推荐安全编码实践:

1)定义安全需求 2)进行威胁建模 3)尽早进行安全测试 4)尽可能多的进行安全测试

SEI CERT Java安全编码规范

3.通用安全编码原则

4.Java安全编码规范:

1)输入验证和数据净化(IDS) 2)声明和初始化(DCL) 3)表达式(EXP)

4)类型与运算(NUM) 5)面向对象(OBJ) 6)方法(MET) 7)异常行为(ERR)

8)可见性和原子性(VNA) 9)锁(LCK) 10)线程API(THI) 11)线程池(TPS)

12)与线程安全相关的其他规则(TSM) 13)输入输出(FIO) 14)序列化(SER)

15)平台安全性(SEC) 16)运行环境(ENV) 17)Java本地接口(JNI)

18)其他(MSC) 19)安卓(DRD)

WEB工程代码审计

1)SQL注入 2)命令注入 3)XML注入 4)XSS跨站脚本 5)XML外部实体(XXE)

6)不安全的反序列化 7)不正确的直接对象引用 8)错误的认证和会话管理

9)跨站请求伪造CSRF及SSRF 10)敏感数据泄露 11)缺少功能层面的访问控制

12)安全配置错误 13)不足的日志记录和监控 14)线程安全问题

15)文件上传和下载 16)不安全的加密存储和传输

Java代码审计实例

1)参数化查询的方法正确和错误的使用 2)输入和输出验证错误

3)敏感数据(手机验证码)泄露 4)密码找回漏洞 5)任意用户注册

6)错误的逻辑判断条件 7)万能验证码 8)用户权限控制错误

9)直接构造数据包访问页面功能 10)敏感信息(SMSSDK TOKEN)泄露 11)TOP10漏洞

第二天

软件开发安全生命周期

1)了解安全需求的来源 2)了解安全需求分析的方法 3)了解威胁建模的方法

4)了解软件成熟度的模型 5)了解软件开发生命周期的概念 6)了解安全架构设计

7)了解代码安全测试 8)了解模糊测试和渗透测试 9)了解ASVS

10)了解安全编码规范 11)了解开发安全管理

安全软件开发生命周期管控介绍

应用系统安全需求分析与设计

1)介绍应用系统安全需求分析方法 2)介绍应用系统安全设计方法

3)介绍应用系统安全需求与设计管控措施

应用系统安全开发与测试

1)介绍应用系统安全开发最佳实践 2)介绍应用系统安全测试方法

3)介绍应用系统安全开发与测试框架 4)介绍应用系统安全开发与测试管控措施

应用系统安全上线与运维

1)介绍应用系统安全上线环境要求 2)介绍应用系统安全运维要求

3)介绍应用系统SOC平台应用技术 4)介绍集中认证,账户管理,审计平台技术

5)代码安全与开发安全管理

安全开发基础概念和安全开发整体实施概念

应用程序安全验证标准

1)安全架构、设计与威胁建模(Architecture,design and threat modelling)

2)身份鉴别(Authentication) 3)会话管理(Session Management)

4)访问控制(Access Control) 5)恶意输入处理(Malicious input handling)

6)加密支撑组件(Cryptography at rest)

7)错误管理及记录(Error Handling and Logging)

8)数据保护(Data Protection) 9)通讯相关(Communications)

10)HTTP安全配置(HTTP Security configuration)

11)恶意代码控制(Malicious Controls) 12)业务逻辑(Business logic)

13)文件和资源调用安全(File and resources)

14)移动安全(Mobile Security) 15)Web服务(Web services NEW for 3.0)

16)安全配置(security Configuration NEW for 3.0)

APP移动应用安全开发指南

1)移动应用安全测试指南MSTG 2)架构,设计和威胁建模要求 3)数据存储和隐私要求

4)加密要求 5)身份验证和会话管理 6)网络通信要求 7)平台交互要求

8)代码质量和编译要求 9)韧性要求

认证过程

无认证考试

开班信息

暂无开班信息