安全开发流程与安全开发生命周期管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安全漏洞的危害
数据泄露(入侵后泄露用户隐私、公司敏感信息) 影响服务器完整性(入侵后篡改) 影响服务器可用性(不可用或性能低下) 法律法规冲突,卷入法务纠纷 影响公司声誉,影响用户对公司产品的信心 影响公司的生存与发展
方案设计过程中的安全问题
架构设计不合理,前后端未有效分离,或数据库向 用户开放 依赖客户端安全控制措施 关键算法或保护措施薄弱 事务完整性没有保障 交易过程未形成完整的证据链 跨网络空间的访问未校验对方身份 未校验数据源的完整性 未校验可执行文件、库、配置文件的完整性
SDL SaaS - 安全KCP任务
如果项目本阶段的KCP任务 (关键控制点任务)没有 完成,则无法执行阶段切 换
KCP任务主要有:安全设计、 安全开发、安全测试、安 全部署、验收等
SDL SaaS – 在线Checklist
Checklist自检结果以不同的颜 色标识,供安全审核人员进行 风险评估参考 不同的阶段、不同的产品类型, 使用不同的Checklist标准/规范
安全开发流程与安全开发生命周期
Security Development Flow & Security Development Lifecycle
目录
安全漏洞的危害 方案设计过程中的安全问题 开发过程中的安全问题 测试过程中的安全问题 部署过程中的安全问题 安全漏洞的原因分析 如何从源头开始规避漏洞 安全开发流程与SDL简介 SDL SaaS服务简介
测试过程中的安全问题
缺乏安全测试用例 未执行安全测试或安全扫描 带着漏洞上线
部署过程中的安全问题
弱口令、空口令、通用口令(一个口令在多处使用) 数据库向互联网开放 备份未经验证,使用备份数据无法还原系统 未执行安全配置 缺乏基本防护措施(WAF等) 无法解决开发上的问题
ห้องสมุดไป่ตู้何从源头开始规避漏洞
不使用工具,仅靠双手,无法建起摩天大楼 从源头开始规避大部分漏洞,要靠组织和流程保障 将安全要素融入项目管理流程,启用安全开发流程,关 键项目阶段要添加相应的安全任务 上述安全开发流程,或融入安全要素的项目管理流程, 业界称之为SDL (Security Development Lifecycle, 安全开 发生命周期)。
KCP任务的添加,遵循安全流 程规范,只在需要的阶段添加
SDL SaaS – 项目管理与任务协同
SDL SaaS也是一个完整的项目管理与任务协同平台,可 以作为项目管理、任务协同平台使用 提供完整的项目审批日志、任务处理日志 提供知识管理(Wiki)、消息管理等
谢谢!
安全人员 安全流程 安全交付件 推行成本
没有专职安全人员也能开始使 用(当然有安全专业人员更 好),团队成员兼职投入
直接通过浏览器访问在线服务 直接以在线Checklist形式提供, 在线保存检查结果,不使用附 件和模板以提高效率。 基本服务免费
昂贵(顾问费/员工人力资源投入/IT 基础设施建设与维护)
开发过程中的安全问题
未对用户提交的参数进行合法性校验 拼接SQL语句,SQL指令和用户参数的拼接导致SQL 注入漏洞的产生 将用户创建的未转义的内容呈现给用户,导致跨站 攻击脚本(XSS)的产生 未对Form启用防止跨站请求伪造(CSRF)的随机Token 使用路径或路径回溯(../)等作为参数进行传递 各种逻辑或权限设计上的缺陷
安全开发流程与SDL简介
项目的各个阶段, 有自己的安全任务 这些任务如果未完 成,则意味着本阶 段的安全问题/风险 没有解决,带给下 一阶段,并最终带 入生产环境 通过流程保障,不 将问题、风险、缺 陷带给下一阶段
SDL推行的传统做法
采购SDL顾问咨询服务,并执行全员培训 建立安全流程相关的部门,为SDL实施提供组织保障 招聘大量安全专业人员,为SDL推行提供专业支持 建立标准与规范,含设计规范、开发规范、部署规范等, 为SDL推行提供技术依据 建立项目管理流程和项目管理的IT系统 建立与规范对应的Checklist模板、测试用例等,作为流程 执行过程中的交付件 将安全要素嵌入项目管理流程的各个阶段的关键活动中 (需求确认、同行评审、方案评审、验收等)
SDL传统做法与SDL SaaS的对比
对比 安全组织 传统SDL推行 需要建立项目管理、安全管理、安 全架构、评审资源池等组织或部门 需要较多专职安全专业人员 自建项目管理平台 需要单独拟制设计规范/开发规范/ 部署规范,并输出Checklist等交付 件模板 SDL SaaS服务 可以不用建立专职的项目管理、 安全管理或其它流程化组织
SDL SaaS使用体验
以Janusec SDL SaaS服务为例
这是一个以强化安全内控为特色的在线项目管理平台(SDL SaaS),它源于安全开发周期方法论和国际/国内巨头公司的 项目管理实践,从源头开始进行安全控制,通过规范的项目 管理过程和KCP(关键控制点)任务的引入,确保开发设计及 部署过程中遵从安全标准与规范,保障所交付产品在全生命 周期过程中的安全性。
安全漏洞的原因分析
只关注功能实现,忽略安全需求 团队的安全开发经验欠缺 缺乏安全开发规范或安全开发规范没有融入项目管理 缺乏安全开发流程,或项目管理流程未包含安全控制 缺乏安全部署标准或规范 缺乏评审环节,没有人对交付质量把关 缺乏上线/发布流程,未执行安全部署、验收审核 安全上缺少投入,寄希望于后期补救