长亭百川云 - 文章详情

从安全视角,看研发安全

我的安全视界观

41

2024-07-18

很久以前,就想写一篇关于SDL与DevSecOps的文章,但疏于实践一直未能动笔。想写的原因很简单,因为总是听到有人说SDL落后、DevSecOps相关技术更高超。一提到研发安全建设,不分研发模式都在赶时髦一样地说DevSecOps。从我的观察来看,不结合研发模式来做研发安全,都是不成功的。

在数字化浪潮的推动下,一些公司已经完全步入DevOps模式,有的则出现瀑布、敏捷或DevOps并存,且后者是居多的。所以如何在多种研发模式下进行有效的研发安全建设,成为一个必须解决的难题。经过近十年的实践,终于在探索解法上有一点点收获与经验,于是有了“深耕研发安全”这一系列文章。

本文是第二篇,主要介绍从纯安全的视角出发,紧密围绕漏洞及治理,结合对成本的考虑,去定位研发过程中的漏洞生产源,从而找出最佳的研发安全工作切入点。

01 漏洞通常是企业入口  

      —————————— 

下面最左边那张图,是近十年提交到CNVD的漏洞趋势统计,平均每年有1.7w个漏洞被发现并提交。然而这只不过是冰山一角,国内外还有很多类似的平台在收集漏洞,全世界也还有很多漏洞并未被提交到这些平台。所以说,每年发现的漏洞数是非常大的。    

其次,在国家级或者各行业的实战攻防演习中,攻击队通常会用互联网业务系统漏洞进行打点,从而突破边界进入内网发起攻击。这些web漏洞、软件供应链漏洞都属于软件安全质量范畴,足以见得漏洞对于企业安全来说是多么重要。

第三是国家对于漏洞的重视程度也在逐渐提高和明确。随着对网络安全的重视,各行业对漏洞都有一些明确的要求,比如上面右图这种漏洞管理的规范,甚至还专门建设漏洞管理平台来收集。

综上三方面想说明:软件的漏洞,特别值得我们去关注和花心思治理。


02 什么称之为安全漏洞  

      —————————— 

前面一直在提漏洞,那什么是漏洞?见过很多漏洞定义和分类方法,此处想从研发过程来看,包括软件和协议方面的,几乎可以被全部囊括在内。    

换而言之,这些漏洞都可以在研发过程中被发现,然后有机会得到治理。

03 怎么切入做研发安全  

      —————————— 

在软件质量领域,有一个先驱者叫琼斯,在他的报告中提出以下三张图及对应着三个观点。从安全角度来看,依旧是适用的:

  • 85%的缺陷都是在开发人员编码时引入;

  • 目前大多数缺陷都是在测试阶段被发现;

  • 缺陷的修复工作越往后成本就会越大。

(图片创意来自互联网)

于是得出一个结论:要切入开发流程,尽早地去做研发安全。然而现在又有人提出一个无处不移的概念,其实这也是相对的,在每个阶段开展安全活动都比较重要。    

04 研发过程漏洞生产源

      —————————— 

上面提到,在编码阶段引入了85%的漏洞,那剩余的15%在哪儿?如果对漏洞按照开发阶段进行分类,不难发现还有两个主要来源:

第一个是还没开始写代码,即在设计阶段做技术架构选型与设计时,不遵守安全设计原则或未充分考虑安全性,就可能引入漏洞。如:

  • 使用存在已知漏洞、潜在后门的开源软件/组件:Java程序中使用旧版本的fastjson、使用被投毒的xz操作系统opensuse等;

  • 软件内部设计存在安全缺陷:应用层服务间相互调用,缺少网关统一管控、无认证机制等。

     

第二就是写完代码并提交,此时还是可能引入漏洞。在部署和发布阶段,PAAS层软件未做安全性配置,就可能带来安全隐患。如非必要使用root权限启动服务、不设置账密、使用默认账密等。

所以说,从安全的角度来看研发,至少要关注架构、编码和配置三方面的问题。    


长按识别二维码,和我交流

More...

-- 深耕研发安全 --

-- SDL 100问 --

-- 软件供应链对抗探索 --

--------- 实战演习 ---------

--------- 安全运营 ---------

--------- 软件安全 --------- 

--------- 企业安全 ---------

--------- 渗透测试 ---------

--------- 安全开发 ---------

--------- 个人体验 ---------

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2