1 6 深入项目研发流程的安全建设 章华鹏
2020-03-01 91浏览
- 1.深入研发流程的安全建设 乌云 章华鹏
- 2.2016-4-
- 3.关于我 • 独立思考的白帽子黑客,booooom • 前百度高级安全工程师 • 乌云,唐朝安全巡航产品负责人
- 4.写在前面 • 讨论企业(研发)安全之前需要的思考 • 企业安全的核心是数据安全 • 深入研发流程了解数据流,剖析风险(新技术探 索) • 问题推动安全建设,解决风险
- 5.内容概要 • 项目研发的核心五个流程 • 全研发流程中的安全风险 • 深入研发流程的安全建设
- 6.核心五个流程
- 7.项目需求&安全风险
- 8.项目需求&安全风险 • 需求的本质是为了解决问题创造价值 • 需求本身是没有任何安全风险的 • 当前需求的核心风险点在哪? • 安全需要介入产品的需求评审阶段
- 9.需求潜在风险点分析 • 互联网产品的核心是数据安全 • 核心数据是什么? • 当前需求条件下,核心数据是否安全?
- 10.系统设计 • 好的系统设计方案 • 实现产品需求 • 规避核心数据的风险
- 11.系统设计缺陷一
- 12.系统设计缺陷一 • 移动端设计缺陷(数据交互弱加密)
- 13.系统设计缺陷二
- 14.系统设计缺陷二 • SSRF(可跨网络边界攻击内网) • 算法缺陷:MD5 碰撞问题
- 15.系统设计缺陷三
- 16.系统设计缺陷三 • 授权问题(敏感系统可任意未授权访问) • 网站架构设计(站库未分离)
- 17.更多关于系统设计缺陷 • 撞库问题 • 任意用户密码重置 • 第三方开源引用及服务的使用(openssl,struts2, redis) • 心脏滴血、struts2命令执行、redis getshell
- 18.系统设计阶段的风险 • • 基础:安全规范&执行 • 尽量避免使用第三方高危应用 • 内部系统不得对外未授权访问 深入:系统设计阶段安全评估介入 • 围绕核心数据流向的风险挖掘
- 19.“研发”出来的漏洞一
- 20.“研发”出来的漏洞一 • SQL注入
- 21.更多“研发”出来的问题 • 代码/命令执行 • 本地/远程文件包含 • 任意文件读取 • XSS 跨站漏洞 • XXE 漏洞 • 任意文件上传导致代码执行
- 22.更多“研发”出来的问题
- 23.研发代码风险 • 基础:安全编码规范 • 自动化审计:运行&编译时高危函数风险检查 • • 数据库相关操作:sql 注入 • 执行系统命令&eval() 检查 • 文件上传move_uploaded_file()等 使用统一封装的安全方法 • 好的开发框架
- 24.系统(安全)测试 • 安全建设的核心是问题推动!!! • 测试阶段本身就是针对之前阶段的一个安全检查 • 黑盒安全测试 • 白盒代码审计
- 25.黑盒安全测试 • 人工渗透测试 • • 众测 自动化测试(⭐ ) • 盲测(动态spider+通用漏洞检测) • 透明测试(基于业务全流量的风险探测)
- 26.黑盒安全测试的未来 • 全业务逻辑(数据流)遍历 • 业务逻辑解析(让机器读懂业务) • 基于业务逻辑的智能安全测试(唐朝安全巡航引擎) • 像黑客一样思考
- 27.全业务逻辑遍历 • 主动的业务逻辑抓取遍历 • 被动的业务流量解析
- 28.业务逻辑解析 • 通过一个HTTP(s)请求包去理解业务 •http://order.ny.cn/storeOrderDetail.htm?orderNo=15030801994800
- 29.智能安全测试 • 机器读懂这个HTTP请求是一个订单访问操作 • 订单访问会出现什么风险? • 越权?SQL注入?
- 30.运维上线风险一
- 31.运维上线风险一 • 上线流程不规范,敏感文件未删除 • /.svn/ • /.git/ • xx.bak • xx.zip
- 32.运维上线风险二
- 33.运维上线风险二 • webserver 配置风险 • 各种服务配置:高危服务对外(ssh,mysql...)
- 34.运维风险控制 • 基础规范 • 系统&服务配置规范 • 自动化上线流程 • 全网资产管理(确定潜在风险目标) • 合规性检测 • 外网IP端口扫描 • 服务配置弱点扫描
- 35.谢谢大家