大型企业源代码安全解决之道
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5x
机器测试和专家知识相结合的服务流程
工具
专家
咨询
辅助
测试
分析
报告
自动源代码安全测试
• 静态, 劢态, 和互劢测试 • 支持源代码和二进制代码扫描 • 检查安全漏洞和质量缺陷 • 支持多种程式语言, 应用, 规范 • 支持代码交付, VPN连接, 和现
场测试方法
测试结果分析
• 安全漏洞分类和排级 • 质量缺陷分类和排级 • 安全和质量编码规范分析 • 测试结果分流和复审 • 整体风险评估
应用软件持续成为黑客攻击的热点
每个模式的泄露百分比和次数 (n=2,023)
确认的数据泄露中,资产种类最多的排名 (n=2,023)
Verizon 2018 Data Breach Investigations Report
源代码安全造成的重大数据泄露 – Uber 2016
两个黑客
入 侵 GitHub
安全软件开发周期实际应用
培训
需求
设计
开发
验证
发布
应对
• 核心安全培训
• 建立设计需求
• 施行劢态分析
• 执行事件应对
• 攻击面分析和
• 施行模糊测试
方案
缩减
• 复审攻击面
• 建立安全需求 • 威胁建模
• 应用认可工具
• 创建事件应对
• 创建质量横梁
• 删除不安全的
方案
• 评估安全风险
功能
• 最后安全复审
5
治理
• 策略和法规 • 流程和规则 • 检测和监测 • 团队建设 • 指标, 趋势, 报告
应用软件和产品的安全现况
30%
77%
14%
The State of Software Security Today 2017, Veracode
大型企业应用软件安全解决之道
战略性和战术性
解决方案的重要因素
测试分析报告
• 整体安全风险总结 • 分类安全漏洞仪表板 • 安全规范合规比分 • 具体安全漏洞列表 • 安全漏洞影响评估
修正
修正源代码
• 帮劣开发人员理解问题根源 • 辅劣开发人员修补漏洞 • 培植软件安全编程最佳实践 • 培训软件安全理念和方法 • 交流软件安全规范和指南
测试工具自动化帮助提高效率
• 施行静态分析
• 批准发行存档
源代码安全是产品安全的根源
预防性和有效性
应用安全的预防
础
代码测试
主动预防
运行监测 应对保护
保 护 为 辅 劣
IBM Security
以预防为主源代码安全的有效性
培训
需求
设计
开发
验证
发布
应对
30x
–
早发现早解决安全问题减少成本
100
10x
x
1x
3x
静态和劢态分析
风险分析和控制
• 风险分析, 安全问题分类排级 • 企业整体安全报告:及时,全面,一目了然 • 及时调整安全策略
操作和执行
• 应用安全中心集中定义流程 • 业务线执行团队 • 服务和资讯 • 紧急情况应对措施 • 实施安全自劢化
流程和管控
• 安全流程实现策略, 开发流程集成 • 安全漏洞数量, 分析数据和报告 • 外部软件供应商安全规范 • 企业应用建库管理
• 测试效果:定位了跨站脚本攻击、敏感数据未加密、硬编 码密码、未限制危险类型文件上传、拒绝服务攻击、权限控 制不当导致的不当资源访问等安全问题。
源代码安全测试案例 1
• 案例名称:某警务管家 • 开发语言:Java
• 业务概述:主要应用于民警个人手机和移动互联网的内部 即时通讯,实现与公安业务系统的对接,作为全局各警种和 基层单位共用的基础平台。
• 技术框架:包括提供应用与业务的SAAS层、提供各种支撑 组件与框架的PAAS层和提供基础设施的IAAS层3个部分的云 计算架构。
大型企业源代码安全解决之道
应用软件安全是企业安全的根本
重要性和挑战性
全球软件规模和应用高速扩展
2017 Cybercrime Report ,Cybersecurity Ventures
软件和产品安全挑战不断升级
2017 Cybercrime Report ,Cybersecurity Ventures
• 安全标准和指南:国家源代码漏洞测试规范, CWE, CVE, OWASP, 等
培训和指南
• 课程:核心安全,代码标准,不安全功能, 威胁建模, 安全设计,静态分析,劢态 分析,入侵测试, 安全测试, 等等
• 方式:网上,课室
分析和检测
• 安全需求,风险建模,攻击面分析 • 安全设计, 测试工具选择和定制 • 同行代码检测,关联程序库安全分析,
• 应用软件系统安全需求就是 信息系统的安全需求
• C/C++ 语言源代码漏洞测试规范 • Java 语言源代码漏洞测试规范 • C# 语言源代码漏洞测试规范
大型企业应用安全框架 (OWASP SAMM)
SAMM 概貌
业务功能
治理
安全实践
战略 & 指标 政策 & 合规 教育 & 指导
软件开发
构造
验证
接入Uber源代码
获取 GitHub上 Uber源代码中硬编码的 Uber接入AWS的明文登录信息
用明文登陆信息窃取AWS
上 5700万
没有加密的 Uber用户个人数据
软件安全和每个企业每个人息息相关
企业 运作
合作 关系
资产
软件
成本
安全
产权 保护
供应 关系
客户 保留
法律 诉讼
规则 审查
大型企业应用软件安全的挑战
关口前移, 防患于未然
中国国家标准推动应用软件安全
GBT-28452—2012 信息安全技术-应用软件系统通用安全技术要求
信息系统
应用软件系统
应用软件系统 1
……
应用软件系统 n
系统软件 (操作系统, 数据库系统, 网络系统软件)
系统硬件 (计算机, 网络的硬件系统及设备, 设施, 环境等)
• 应用软件系统安全是信息系 统安全的核心
威胁评估 安全要求 安全结构
设计复审 执行复审 安全测试
部署
问题管理 环境强化 运行环境
2.0
DevOps
建造 & 部署
Build & Deploy
安全建造
安全部署
缺陷管理
应用安全的具体实施
策略和法规
• 安全法规:应用软件系统安全国标, PCI, HIPPA, 网络安全法, 密码法
• 安全政策:数据, 风险, 应用分级;批准的加密 算法和实现, 工具, 功能库
1
规模
• 应用数量 • 代码数量 • 开发人员数量 • 团队数量 • 业务数量
2
复杂度
• 应用类型 • 编程语言类型 • 技术类型 • 编译环境 • 团队架构和文化
3
效率
• 扫描速度 • 扫描容量 • 系统资源 • 工具安装和使用 • 工作流程集成
4
效用
• 结果覆盖率 • 结果质量 • 修复速度 • 工具性价比 • 环境流程集成