研发安全思考与落地

admin 2024年11月18日23:15:33评论21 views字数 1232阅读4分6秒阅读模式

研发安全:如何让研发的产品更加安全,最早是由微软提出,过程中涉及到了从需求到投产投产的各个阶段,每个阶段都有不同的安全活动。

安全开发框架可参考:

研发安全思考与落地

研发项目的一般过程:

研发安全思考与落地

研发安全的一般过程如此:

1、培训——安全培训:主要是提升研发人员或者全员的安全意识,各企业可以根据自己的情况进行分级、分层的培训,没必要为了培训,对着产品经理、项目经理讲漏洞原理及修复方案、讲加解密的数学知识和实现方式,可以更多的讲解漏洞造成的危害和加解密对于产品安全的保障。对此培训模式可以采用如下形式:

研发安全思考与落地

2、需求——安全需求:解读外界标准、规范从而形成自己的内部标准和规范,针对产品的功能需求针对性提出对应的安全要求,明确开发的每个产品、服务和功能都有明确定义的安全和隐私内容,是安全能指导后续的设计。开发团队可根据产品的数据类型、已知威胁、最佳做法、行业法规和要求来定义这些最终要求内容。同样可以采用威胁建模方法进行,该方式需产品的数据流向熟悉掌握,从而形成如下数据流图,落地实现可采用威胁建模工具来实现,绘制完数据流图之后工具会自动完成威胁建模分析,从而输出安全需求内容。

研发安全思考与落地

对上述数据流图进行分析建模,用户端是外部实体,面临的威胁类型有:仿冒(S)、抵赖(R),请求和响应为数据流,面临的威胁类型有:篡改(T)、信息泄露(I)、拒绝服务(D)威胁,处理过程有所有六种(STRIDE)威胁,存储过程有篡改(T)、信息泄露(I)、拒绝服务(D)威胁等,对于安全需求来说增加认证、日志审计等需求来做到防篡改、防止信息泄露、防止出现拒绝服务等。用如下表格来展示

元素 S T R I D E
外部实体
数据流
处理过程
存储过程

3、设计——安全设计:通过定义好安全需求之后,需要进一步通过技术语言完成产品不同组件的交互方式,同样通过威胁建模方式,对每个元素遇到的安全需求通过安全缓解措施来降低风险的出现,如对上述安全需求采用如下方式来实现安全防护:

威胁类型 安全需求 安全设计
仿冒 认证 登入认证、SSO
抵赖 日志审计 安全日志、审计
篡改 完整性保护 签名保护
信息泄露 保密性 加密技术
拒绝服务 可用性 热备、过滤
权限提升 授权认证 ACL、用户管理、权限控制

4、实现——安全编码:通过代码方式来实现安全设计内容。期间可汇总通用安全设计形成安全开发组件供后续研发人员使用,过程中也可提供代码安全检测工具及系统实现对代码的安全检查。

5、验证——安全测试:通过需求的检查验证是否存在安全风险,安全验证是一种最重要的手段,可最大限度的发现产品中存在的风险和安全问题,过程中可能采用自动化或者手工方式进行,期间可产生自动化检测的模型,结合白盒代码方面产生如下内容:

研发安全思考与落地

6、发布——安全发布:经过必须的安全测试和评审后,进入到发布阶段,可采用灰度发布方式进行,保证系统的安全稳定运行

7、响应——安全响应:如上面图示所示,通过队内部流量监控或者外部上报方式,实现对安全事件的检测和分析

原文始发于微信公众号(YY的黑板报):研发安全思考与落地

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月18日23:15:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   研发安全思考与落地https://cn-sec.com/archives/3407998.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息