研发安全探索和落地实践|大湾区金融安全专刊·安全村

admin 2023年8月3日13:57:16评论68 views字数 5201阅读17分20秒阅读模式

研发安全探索和落地实践|大湾区金融安全专刊·安全村

研发安全探索和落地实践|大湾区金融安全专刊·安全村


概述



随着网络安全态势不断升级,攻防对抗不断加剧和监管日渐趋严,安全逐渐从以往被动防御逐步向主动治理推进。为了提升研发安全质量,降低安全风险整改成本和线上安全风险暴漏,安全左移、Sdl、DevSecOps成为当下研发安全落地最佳实践参考。然而,在敏捷开发模式下,大幅依赖安全团队保障研发安全已不切实际,如何建立一套研发安全保障体系,将安全能力有效赋予研发,真正做到“人人都是安全参与者、人人都为安全负责”至关重要。本文将结合实际落地经验,介绍研发安全体系建设和研发安全赋能上的一些思考和实践。


1.研发安全面临挑战和应对思路



1.1面临挑战

1)研发安全不同阶段
研发安全阶段基本会经过以下三个阶段,本文主要针对第三阶段建设和落地实践进行介绍。
救火阶段:安全人员较少,通常1-2名,这个阶段由于存量安全问题多,安全人力少,重点主要在线上业务安全检查,覆盖外网、边界业务,防止重大安全漏洞被利用。

单点管控:安全人力相对多一些,3-5名,这个时候线上存量安全问题逐步减少,为了控制新增,开始在上线前环节进行安全质量管控,包括上线前渗透、扫描等,并开始建设基础安全工具并嵌入到研发流程中,主要实现安全风险发现左移。

全面治理:经过前两个阶段建设,安全质量有一定提升,开始对研发全流程安全质量管控提出新的要求,包括安全风险闭环全面左移,业务覆盖度全面提升,流程、工具在自动化、易用性、准确性全面完善等。

2)面临挑战

当研发安全进入到全面治理阶段,由于业务量多、产品系统复杂、迭代快等因素影响,单方面依靠安全团队来保障研发安全质量已不切实际,需要研发团队相关产品、开发、测试、运维等人员参与。然而,当需要研发团队深度参与到研发安全质量保障中时,会出现以下两个问题:

  1. 研发团队是否愿意,有些研发团队对安全重视程度不够,有些觉得研发自身工作已经很繁重,没法完成安全相关需求。
  2. 研发团队有无能力,研发团队在愿意参与情况下,有无能力保障好安全质量成为安全团队需要重点解决的问题。这里的能力,包括安全意识、安全设计能力、安全编码能力、安全测试能力、安全工具平台使用等与安全相关的所有能力。


1.2 应对思路

1)明确安全定位,划分安全责任
研发安全建设过程中,安全团队定位和安全质量责任方划定非常关键,会影响后续整个体系建设方向。对于安全团队定位和安全质量责任方划定,主要依赖领导层和公司实际情况,属于自上而下的一个过程。笔者公司为相对敏捷的组织架构,研发每个部门都有产品、开发、测试、运维等角色,同时领导层也支持将安全相关工作下放到研发团队,在安全质量职责上以“谁开发谁负责、谁测试谁负责、谁运维谁负责”的原则,解决了研发团队愿不愿意参与的问题。

2)以安全赋能为目标进行体系化建设
在研发为安全质量负责情况下,另外需要解决的问题就是研发有无能力问题,基于这种情况,在研发体系建设过程中,安全团队必须站在研发作为主要参与方的角度,降低门槛,提高效率,确保研发团队能够简单、高效高质量执行,才能让流程能够顺利有效运行起来,逐步实现为研发赋能目标。

以下为整体研发安全体系,形成了研发团队、安全团队和外部团队三道防线,研发团队在第一道防线上保障研发过程安全质量,包括安全设计、安全编码、代码审计、安全测试等。经过研发第一道防线后,安全团队针对新上线系统或者重大变更进行相应安全质量把关,同时进行线上定期渗透巡检和常态化安全扫描。外部团队主要为众测SRC、红蓝对抗、第三方检测等,借助外部团队力量进行验证,查漏补缺。

每个安全活动都按照“有要求→好执行→快检查→能管控”整个闭环为目标,因此需配套相应制度规范、培训指引、线上化流程、自动化检测工具、实时预警和管控措施,让体系能高效运作起来。

研发安全探索和落地实践|大湾区金融安全专刊·安全村
图1:研发安全体系

3)自动化运营、可视化管理、差异化管控
研发安全体系建设和执行过程中,运营是重中之重,必须根据不同阶段成熟度配套相应的运营度量指标,覆盖事前、事中和事后,及时根据执行情况进行数据跟踪反馈,不断调整优化。另外,需要有可视化风险展示辅助管理,对不同成熟度实现差异化安全管控,做到精细化运营。

研发安全赋能落地实践


2.1安全左移

在研发安全建设上,目标是实现安全左移,安全左移目的是提早发现并解决问题。实际很多情况下只是做到了提早发现问题,并未提早解决问题,甚至有时候左移了某个安全活动,需要大量人力去执行,实际效果甚微。这里面原因有很多,比如说安全设计左移只是将安全需求左移到开发设计阶段,但是执行人员不具备安全技能、同时没有配套的安全设计方案、对方案验证等手段,没有真正实现安全设计闭环左移,实际这样的安全设计左移效果甚微。另外比如说安全扫描,包括IAST、SAST、SCA等工具,虽然嵌入了CICD流程,看起来像是左移到构建、测试阶段,实际扫描后,并未进行漏洞及时确认修复,这里面同样有很多原因,包括工具使用门槛、误报率高和扫描效率低,导致研发团队无法真正有效使用起来,看起来是左移了,实际并未真正解决问题,降低上线后安全风险。

研发安全探索和落地实践|大湾区金融安全专刊·安全村
图2:安全左移

因此,为了真的能够实现安全左移,为研发赋能,必须在每个安全活动、安全工具上下足功夫,追求达到闭环左移。

2.2 文化建设,安全赋能前提

在研发安全体系建设过程中,文化建设有时候看起来很虚,实际非常有必要。在笔者公司,研发团队作为研发安全第一道防线,内部安全文化、安全氛围更加重要。整个文化建设包括以下几方面:
1)制度规范
制定《软件生命周期信息安全管理规范》《信息系统开发安全规范》《安全编码规范》等规范并在公司层面进行正式发布,将安全相关要求、职责进行明确,为后续工作开展提供依据。规范必须根据当前成熟度制定,不能搞大而全,跟实际落地不匹配的情况。

2)虚拟联队
借助公司内部虚拟联队文化,成立了研发安全虚拟联队,联队有各研发部门开发测试人员,通过联队培养安全尖兵起带头作用,并且能够分析各部门共性安全问题,形成统一方案。

3)宣导培训
建立覆盖安全意识、安全流程、安全技能相关宣导培训体系,形成线上线下系列课程,每月进行至少1次安全技能培训分享。在培训宣导上前期以安全单方面输出为主,随着研发部门安全能力提升,逐步有研发团队主动进行安全实践分享,带动公司内部安全分享氛围。

4)安全活动
面向研发团队举办安全技能竞赛、安全知识问答、安全游戏等活动,让研发团队能够更全面的参与和了解研发安全,同时能够验证研发团队人员安全技能水平。大部分公司举办CTF比赛面向的都是安全人员,笔者公司举办类似CTF比赛,将公司历史出现较多的常见安全问题设计成靶场,让开发测试进行实战竞技,实际效果出乎意料,一个是研发团队安全技能比预期高,另外一个是参加完比赛后,对实际安全风险有更清晰认识,也对安全产生极大兴趣,这样的安全活动能够大幅提升整个公司安全氛围。

5)考试认证
建立入职上岗安全意识、技能考试,考试通过才能获得一定的工作权限。另外,针对前面的系列培训和安全尖兵培养,建立了安全技能认证体系,通过一系列积分,达标后获得认证,获得认证的人员代表安全技能达到一定程度,可赋予一定安全权力(例如:获得一定的安全审批权限和安全豁免权限),形成正向激励。

6)意见反馈
研发安全体系执行过程中会遇到各种各样的问题和吐槽,安全团队不能过度自信,盲目以安全为主,要有合适的渠道能够及时的收到各种反馈,快速进行优化和调整,才能让安全体系能够不断完善。反馈渠道方式包括:企业微信服务号、邮箱、定期问卷调查、私下沟通交流。

2.3 流程工具,安全赋能根基

1)流程线上化、标准化、自动化
在将安全左移到研发阶段过程中,一个执行简单、高效的流程至关重要。笔者公司一开始采用文档跟踪方式,由于流程重、操作繁杂导致流程推进阻力大。后续通过内部开源共建,将安全流程完全嵌入到研发基础平台,包括研发管理平台、发布审批平台、流水线等,形成了全线上化的流程,操作简单,并且基于线上化数据运营,可进行事前、事中、事后的及时提醒和跟踪。

研发安全探索和落地实践|大湾区金融安全专刊·安全村
图3:安全研发流程图

安全活动嵌入研发基础平台后,下一步就是不断的迭代完善。比如说要开发做安全设计,除了问答式半自动化的安全设计功能,基于要求→执行→检查→管控的原则,应该增加安全设计方案推荐、安全知识库关联、安全组件关联等措施,提高安全设计执行效率和质量,降低研发团队执行门槛,同时应该增加安全设计自动化基线检查和人工审查等措施,最终落地质量门禁管控。在安全测试、漏洞修复等场景也是一样的道理,有了安全测试要求,就需要保障测试覆盖率、测试质量和测试管控措施。

研发安全探索和落地实践|大湾区金融安全专刊·安全村
图4:安全活动效率质量提升措施

2)工具自动化、傻瓜化、精准化
在研发体系建设中,工具链IAST、DAST、SAST、SCA建设应结合实际需求和落地难易程度进行优先级建设选择。同时每个工具建设时,应有明确的目标,比如说要解决什么问题、工具主要使用方是谁、误报率要低于多少、覆盖率达到多少等等。并且在指标应达到多少时开始试运行、灰度、大规模运行。因为笔者公司研发团队作为工具主要使用方,因此在工具功能使用、误报率和与内部基础平台对接上都要考虑是否满足研发团队需求。

研发安全探索和落地实践|大湾区金融安全专刊·安全村
图5:研发安全工具链

以笔者公司IAST工具建设为例,IAST工具比SAST和DAST多了不少好处,但是其兼容性、稳定性、误报率等也会让项目推进有很大阻力,需要投入大量人力运营优化。在部署上,为了满足不同研发团队部署需求,提供了全自动化(借助内部APM平台)、半自动化(统一发布模板,首次需配置)、人工等多种方式,测试阶段检测出问题后与研发平台对接转成安全缺陷并进行及时提醒,研发人员接到安全缺陷后进行漏洞确认和修复,修复后再次进行测试即可判断漏洞是否修复,从部署、测试、修复到复验全流程在研发内部即可完成,安全只需要对研发认为时误报的问题进行分析完善规则即可。要做到这个程度,有几个关键点:
  1. 部署上应提供多种方式满足不同需求,同时应尽量做到全自动化。
  2. 功能上以研发作为主要使用方进行设计,尽量做到操作简单、流程顺畅、并且能够根据组织架构进行管理等。
  3. 误报率低,笔者公司部署近9000+agent,大规模运营1年+,整体误报率低于15%。
  4. 稳定性有保障,应有相应的容错机制。

研发安全探索和落地实践|大湾区金融安全专刊·安全村
图6:IAST闭环流程图

以上提到应明确不同工具要解决什么问题后才进行工具建设,在DAST工具建设上,由于已经有IAST、SAST等工具能够更高效准确检测出常规安全漏洞,因此DAST重点解决以下问题:

1、基础设施漏洞(Web框架、中间件等引入),如springboot 、swaggerui等未授权;
2、配置错误,如Web列目录、私钥在Web目录可被下载、API调试模式开放等;
3、0day&CVE风险,如OA系统、Log4j导致的命令执行等;
4、部分权限类漏洞,如API未授权,越权;
5、遗漏或未被管控到的资产导致,如外网测试环境部署新测试业务。

研发安全探索和落地实践|大湾区金融安全专刊·安全村
图7:黑盒工具图

2.4 运营建设,安全赋能关键

1)度量指标
不管是研发安全、基础网络安全、数据安全等体系,运营都是重中之重,搭建好体系只是基础,运营好才是关键。在安全运营过程,应根据不同阶段成熟度配套相应的度量指标来评价好坏,持续跟踪完善。以下为简单的一些度量指标:
研发安全探索和落地实践|大湾区金融安全专刊·安全村

2)汇报机制
另外在安全运营过程中,除了度量指标外,汇报机制同样非常重要。应建立公司整体、各部门、各团队的沟通机制,通过周报、月报、季报等将研发安全的情况及时反馈到相关人员,同时建立与领导层的定期例会,获得领导支持能起到事半功倍效果。

3)自动化运营、可视化管理、差异化管控
最后,在安全运营上,为了提升运营效率,实现自动化运营、可视化管理和差异化管控。可通过建立研发安全运营平台,对研发安全全流程数据、工具链、基础平台进行整合,提升安全运营管理效率,同时可根据不同研发部门或者团队安全成熟度,实现差异化安全管控。

研发安全探索和落地实践|大湾区金融安全专刊·安全村

总结



研发安全建设任重而道远,在建设过程中,安全应以助力业务、服务研发心态,将安全能力逐步赋予研发。同时,不能一味的追求安全左移和纯粹的安全工具链叠加,要实打实的将每一个安全需求、安全活动、安全工具打磨到极致,才能让效果最大化。


作者介绍

徐浩冬:微众银行应用安全团队负责人。



关于 大湾区金融安全专刊


大湾区专刊集合了全国数十家金融和科技机构的网络安全工作经验总结,内容涉及防护体系、资产管理、研发安全、攻防演练、安全运营、数据安全、业务安全七大主题方向,希望能为从业者提供网络安全防护方面的整体思路,向行业传播可持续金融创新和实践经验,为推动可持续金融生态发展汇聚智慧与力量。


关于 安全村


安全村始终致力于为安全人服务,通过博客、文集、专刊、沙龙等形态,交流最新的技术和资讯,增强互动与合作,与行业人员共同建设协同生态。




研发安全探索和落地实践|大湾区金融安全专刊·安全村

专刊获取方式


本次专刊的合作机构如下
赶紧关注他们
联系获取纸质版专刊吧!


研发安全探索和落地实践|大湾区金融安全专刊·安全村


原文始发于微信公众号(安全村SecUN):研发安全探索和落地实践|大湾区金融安全专刊·安全村

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

发表评论

匿名网友 填写信息