《软件安全设计与开发实战》 快速掌握软件过程中的安全设计和安全编码 主讲:陈国星 【课程背景】 随着互联网时代的到来,企业的应用也逐步转向互联网,以互联网形式开放给用户进行使用?而互联网带来最大的问题就是安全问题,企业如何解决互联网应用的安全问题? 本课程在主动的安全开发框架指导下,深入剖析软件开发生命周期各阶段的安全细节问题,理解协同构建安全系统的方法。并通过大量的动手实操和相关案例贯穿所有的理论知识,使学员熟练掌握代码安全漏洞分析、编程规范、代码质量问题分析、安全设计与防御常见问题及解决方法。 【课程收益】 Ø 学会分析软件安全脆弱性产生的根源 Ø 展示多种攻击软件的手段、指出软件开发过程中不同人员在设计和开发中常犯的错误 Ø 探讨当前软件安全界关注的热点问题 Ø 总结和提高软件质量和安全性的指导思想、开发策略、技术路线和实施方法 Ø 掌握代码安全典型漏洞 Ø 安全漏洞攻防演练 Ø 掌握通用代码编程规范 Ø 能够对代码进行质量问题分析 Ø 掌握项目的安全设计与防御 【课程对象】IT技术负责人、软件架构师、系统分析师、资深开发人员、测试人员、信息技术安全部门的相关人员 【课程时间】2天 【课程大纲】
一、安全知识背景 1、安全基础 Ø 当前企业面临的安全态势分析 Ø 安全分类 Ø Top 10安全问题分析 Ø 安全案例分析 2、常见的Web攻击手段 二、服务器&浏览器安全 1、服务器安全 Ø 服务器分等级隔离部署策略 Ø 应用部署的目录要求 Ø 服务器开放账号最小特权权限 Ø 端口白名单开放策略 Ø 不同权限级别用户增加额外访问控制 Ø 公共配置存储的安全 Ø 检测指定web应用是否开放非必须的http方法 Ø http trace方法开放测试 Ø 关闭后台调试信息 Ø 应用上传路径的安全监控 2、浏览器安全 Ø 浏览器厂商对安全的日渐重视 Ø 同源策略 Ø 浏览器沙箱 Ø 恶意网址拦截 Ø 基于浏览器自身安全机制的提升 三、常用安全漏洞的攻与防-客户端安全 1、跨站脚本攻击(XSS) Ø 什么是XSS Ø XSS为什么是一种热门攻击手段 Ø XSS Payload的定义 Ø Cookie劫持 Ø XSS钓鱼 Ø 常见的CSS攻击平台 Ø XSS Worm Ø XSS构造技巧 Ø 如何防御XSS 实战:XSS攻击与防范实战 2、跨站请求伪造(CSRF) Ø CSRF定义 Ø CSRF可以做什么 Ø CSRF漏洞现状 Ø CSRF的攻击原理 Ø 如何防御CSRF Ø CSRF与XSS的比较 实战:CSRF修改用户密码以及防范措施 3、钓鱼攻击 Ø 什么是钓鱼攻击 Ø 钓鱼攻击的一般步骤 Ø 目前钓鱼攻击的调查报告统计 Ø 钓鱼攻击有哪些常见的方法 案例:钓鱼攻击 4、点击劫持 Ø 点击劫持的定义 Ø 常见的点击劫持分类 5、HTML5安全 Ø Iframe sandbox机制 Ø Canvas Ø PostMessage跨窗口消息传递 Ø WebStorage本地存储 案例:Noreferer问题演示与防范 四、常用安全漏洞的攻与防-服务端安全 1、SQL注入 Ø SQL注入定义 Ø SQL注入目的 Ø 常用的SQL注入语句 Ø SQL注入方式 Ø 注入思路分析 Ø SQL盲注与一般SQL注入的区别 Ø 如何防御SQL注入 实战:SQL注入攻击与防范实战 2、文件上传和下载漏洞 Ø 文件上传漏洞的定义 Ø 因文件上传漏洞所带来的安全问题 Ø 必须具备的条件 Ø 文件上传漏洞包括哪些类型 Ø 如何防御文件上传漏洞 实战:文件上传和下载漏洞注入攻击与防范实战 3、认证与会话管理 Ø 认证与授权的定义 Ø 认证分类 Ø 密码认证的优缺点 Ø 密码设计应遵循的原则 Ø 密码出错策略设置 Ø 密码输入框的密文显示 Ø 密码的加密存储 Ø 密码的加密传输 Ø 初始化口令的要求 Ø 验证码的安全使用 Ø 认证处理模块的合法性校验及认证结果返回要求 Ø 关键事务处理的多级认证和强身份认证 Ø 会话重写 Ø 用户账号的锁定策略 Ø Session机制详解 Ø Session常用的攻击漏洞 Ø 获取sessionid的两种手段 Ø 注销时会话清除 Ø 单点登录 Ø 如何进行认证测试 Ø 不安全的数据传输 Ø 服务端业务处理的流程顺序限制 案例:Session劫持与防范 4、访问控制 Ø 不安全对象的引用 Ø 功能级的访问必须经过认证和鉴权 Ø 认证和鉴权必须在服务器端处理 Ø 采用最小化权限控制策略 Ø 应用程序运行账号和数据库连接账号的分离以及最小职权原则 Ø 操作系统文件的权限控制策略 Ø 访问控制的分类 Ø 垂直权限管理 Ø 水平权限管理 5、安全配置错误 Ø 安全配置的定义 Ø 因安全配置错误引发的安全问题 Ø 如何防御安全配置错误引发的安全问题 案例:文件目录的安全问题 6、使用含有已知漏洞的组件 Ø 描述 Ø 所带来的危害 Ø 解决办法 7、未验证的重定向和转发 Ø 案例 Ø 解决办法 8、敏感信息泄露 Ø 敏感信息的定义 Ø 敏感信息的危害 Ø 敏感信息的案例 Ø 如何解决敏感信息泄露引发的问题 Ø 如何进行敏感信息泄露的测试 Ø 代码中的敏感数据 Ø 禁止明文存储密钥和口令 Ø 禁止Cookie中存储明文形式敏感数据 Ø 安全的加密算法推荐 Ø 日志中敏感数据存储 Ø 敏感数据禁止缓存到页面 Ø 敏感数据表单提交规则 Ø 使用带证书的SSL Ø 禁止URL中携带敏感信息 9、拒绝服务攻击 Ø 网络层的拒绝服务攻击 Ø 应用层的拒绝服务攻击 Ø 如何防范应用层的拒绝服务攻击 10、安全审计 Ø 安全事件和操作事件的记录 Ø 安全日志的访问权限控制 Ø 安全日志的分析
|