DevSecOps实践与技术专场圆满落幕!畅谈软件应用安全开发

  • A+
所属分类:未分类

安全正在从附加项变成融入企业体系架构的基因,而DevSecOps是这一趋势的重要表现形式之一。

12月30日,DevSecOps实践与技术专场在魔都爆场举行,本次专场的出品人是中国信息通信研究院云大所治理与审计部副主任牛晓玲、悬镜安全CEO子芽,由腾讯云产品安全负责人张祖优主持。

今日骤降的气温也没有阻止参会的热情,会场里几乎座无虚席

DevSecOps,软件供应链安全的机遇与挑战

陈钟 北京大学教授、网络与信息安全实验室主任

因疫情转为线上分享

SolarWinds的供应链APT攻击事件在12月被曝出,且安全影响仍在持续。针对供应链的投毒攻击、定向攻击,正在折射出软件供应链中的巨大安全隐患。

目前,软件开源化的趋势带来供应链的开源化,进一步造成相关安全问题浮现。随着攻击面增大,需要加强供应链审查,从第三方开源组件、自研代码通用漏洞、自研代码业务逻辑漏洞等维度综合审计。

这一背景下,强调安全需要贯穿整个业务生命周期的每一个环节的DevSecOps,越来越被企业接受、应用,且DevSecOps体系日益成熟,相关方法论和技术实践也日趋完善。

从市场角度看,全球开发市场需求稳步增长,从国内法律法规看,相关网络安全保护、审查制度逐渐细化。这些对于软件开发来说是挑战与机遇并存,而国内围绕DevSecOps的研讨也逐渐增多,一些厂商聚焦于开发安全。

就DevSecOps在国内落地实施这一问题,陈钟提出了一些建议

开展全方位的软件供应链安全防护方法和技术研究

建立国家层面的软件供应链安全监管评测体系

提升网站中开源软件源代码的防篡改防伪造技术等防护水平

推动新技术在软件供应链安全领域的应用,从根本上保证可靠

此外,DevSecOps还需解决风险与信任的平衡、从源头做好威胁治理、考虑人为因素和攻防对抗等问题。

赋能企业安全开发:DevSecOps最新标准解读

牛晓玲 中国信息通信研究院云大所治理与审计部副主任

在牛晓玲看来,DevSecOps是安全的文化的渗透,是制度流程和工具的集成,也是由学习和实践驱动的战略,它并非一刀切的全能方法或是使用单一工具的技术就能行之有效的。

因疫情转为线上分享

据悉,2020年7月,由中国信息通讯研究院牵头制定的DevOps能力成熟度系列标准在联合国ITU-T成功获批。从设计模型上看,该系列标准分为五级能力成熟度,并包含5大域:DevOps研发过程、应用设计、安全及风险管理、评估方法、系统和工具。

其中,在安全及风险管理标准框架中,分四个部分:控制总体风险、控制开发过程中的风险、控制交付过程风险、控制运营过程风险。整个过程强调的是人要为安全负责,将安全阶段不断左移形成安全闭环。如控制总体风险中,就是先把安全内建于开发、交付、运营过程中,提取共性的安全要求(组织建设、人员管理、基础设施及第三方管理等),再落实到开发、交付、运营各自阶段,进行针对性的风险监测与管理。

最后,牛晓玲同样对DevSecOps的发展趋势提出了一些预测,包括CI/CD(持续集成和持续交付)流水线中的自动化安全性、人工智能和机器学习的应用·、无服务和零信任模型的应用、K8s安全性和混合云的采用,以及在实践过程中企业将更加关注配置的正确性和最佳实践。

DevSecOps敏捷安全技术落地实践探索

子芽 悬镜安全CEO

DevSecOps正在被广泛接受,但在实际应用中,并不是所有政企用户都适合直接套用通用DevSecOps实践经验,还要根据自身组织发展现状、业务目标及应用场景做进一步适配探索。

当然,在讨论如何利用DevSecOps解决软件应用安全开发的问题之前,子芽分享了其对于问题产生的一些看法。

众所周知,软件工程存在2个共识:

1、系统一定会有未被发现的安全漏洞,比如在1000行代码中就有2~40个逻辑漏洞;

2、现代应用都是组装的而非纯自研。

目前,普遍存在的应用软件安全问题源于复杂的内外因,其中外因主要是开源软件的盛行以及开源环境、开源人员带来的攻击面增多、漏洞隐患。而内因则包括业务应用复杂与攻击面的正相关、开源框架复用及软件扩展等情况。

复杂的安全成因下,子芽认为,企业最需要优先考虑的DevSecOps实践基础应该是AST——白盒、黑盒、灰盒。白盒更加适合安全团队相对成熟且具备运营能力的甲方,在通用化方面不够完善,黑盒偏向漏扫,侧重于上线运营阶段,而灰盒(IAST)对于应用自身风险检测更有效果。

广义的IAST还包含了流量学习和日志分析等更多模式和能力,一般适用于超过50人的组织,可以在组织边界处配置流量镜像辅助插桩,了解测试资产。此外,子芽还介绍了被动的IAST——动态污点追踪,默认业务输入不可信,在污点汇聚点判断是否为高危操作,以及主动IAST——基于应用插桩探针的交互式缺陷定位,至于用户端流量代理技术更适合小规模网站的深度测试。

复杂的企业环境对IAST技术的落地提出了更多的要求。综合来看,落地需要重点结合企业实际环境。

从DevSecOps看安全产品的自身安全

聂君 奇安信集团首席安全官兼网络安全部总经理

安全产品存在安全漏洞,看似悖论,但其实是产品从需求到面向市场的过程中难以避免的问题。

首先,企业的产品组织之间存在不同安全水位,且相关人员的安全意识和安全能力差异较大,导致难以统一安全管理。其次,安全产品类型多,还可能存在安全需求与正常功能存在矛盾的情况,再加上产品形态从客户端覆盖到服务端,形态多样,开发语言应有尽有,缺乏标准SDK。除了产品研发的企业内部问题,还有产品长生命周期导致对外暴露面多,如存在老版本被攻击或被曝出漏洞,导致管理维护难度大。

因疫情转为线上分享

基于安全产品面临的复杂安全问题 ,聂君从流程、技术和安全文化三个维度提出解决思路。

流程:产品安全“左移”,安全提测流程、安全卡点嵌入开发流程、外部漏洞处理流程、产品管理流程

技术:打造层层检测的安全测试工具链,联动代码仓库和测试环境数据,自动化或联动功能测试进行安全测试

安全文化:可以对安全产品进行打分、建立横纵向安全组织,覆盖产品安全全生命周期的处置,打通产品从需求交付到售后的环节,针对各产品线建立沟通渠道

聂军强调,没有一家DevSecOps的实践可以原封不动的照搬照抄,而安全活动嵌入、安全运营思路、技术难点攻克等方法和思路可以参考。

壹钱包安全开发体系3.0落地实践

汪永辉 中国平安壹钱包安全架构师

汪永辉以壹钱包的安全开发体系变化为例,分享了安全开发过程中的经验。首先1.0阶段建立一定规范,,让安全开发体系建立团队知道自己在做什么(一般覆盖研发、测试、运维、运营等多个职能人员),2.0阶段开始引入更多的安全工具,在发现、识别、验证环节更高效,而3.0阶段则是把规范和工具融入到整个流程之中。4.0开始考虑量化,比方漏洞时效性,量化漏洞修复时间。最后5.0阶段就是综合考虑成本问题、技术与工具、组织之间的孤岛是否真正打破等。

目前,壹钱包安全开发体系3.0落地过程中,将安全融入开发的相关实践策略包括提供专用工具、赋能研发,以及做好管理,与体系内各个角色达成安全共识。如同汪永辉所说,信息安全人人有责,必须把强调安全意识流行起来……

Security By Default: MyBatis框架下SQL注入解决方案

汪昱 快手高级安全工程师

在落地DevSecOps的大背景下,我们发现SQL注入依旧是“顽固”的安全问题。汪昱认为,探索MyBatis框架(在国内外使用度都非常高的ORM框架)下的SQL注入解决方案,是帮助研发近乎零成本实现Security By Default的必要手段。

可以说,对于大多数漏洞都难以用静态检测技术进行零误报的检测,而将漏洞检测转化为合理的规范检测是大型甲方的常见解决方式。那么,什么样的规范是合理的,什么样的规范不会引起RD反弹?比如预编译就是一个典型的例子,还有order by一定要校验等。规范检测的过程就是把污点净化转换成了标准化过程,这时候误报解决就简单多了。为了保证规范的强执行,也可以基于正确编码方式做一个白名单限制,规范代码,这样一来,SQL注入问题也就自然而然地解决了。

总体来看,要实现MyBatis框架下的静默安全,首先MyBatis本身就是一个强安全模型,另外可以根据order by扩展方法来实现静默安全。

报告发布:《DevSecOps 行业洞察报告 (2020年)》

图左:FreeBuf平台负责人尤文 居中:悬镜安全CEO子芽 图右:悬镜安全COO董毅

会上,悬镜安全与FreeBuf咨询共同合作发布《DevSecOps 行业洞察报告 (2020年)》。悬镜安全COO董毅对报告做了解读。

报告基于收集的1571条有效数据的分析结果展示,分为调查篇和洞见篇。从调查结果来看,受访者(开发运维人员为主)对DevSecOps的认知要明显低于DevOps,相比而言,DevSecOps处于普及、发展阶段。另外,有趣的是,尽管大多数人肯定安全的重要性,但84%的受访者依旧表示处理软件应用中的安全性问题的时间是不足的。为了解决这一问题,受访者采用工具来提升效率。目前使用的应用安全检测工具包括49%黑盒,42%白盒。而被问及所在单位在什么阶段进行应用安全检测时,发现编码、编码构建、集成这3个全生命周期最靠前阶段的安全检测比例仍然是不令人满意的。

更多的调研结果和洞察可以查看完整版报告~

圆桌讨论

最后的圆桌环节中,悬镜安全COO董毅、携程信息安全高级总监凌云以及DevOps标准工作组核心编写专家赵锐共同探讨了DevSecOps的适用场景与实践经验。

DevSecOps作为SDL方法论的一个落地范式,但是否适用于所有企业?凌云认为,对于DevSecOps的实践应该基于企业安全现有阶段和安全框架,目前来看更适用于开发、运维已经发展到一定阶段,并且有相关业务和安全发展需求的企业。董毅进一步补充,目前DevSecOps的工具链包括安全检测类工具和流程类工具,而在实践初期,应该从解决具体问题出发,如具体的或单一的安全检测类工具的应用。当工具和能力逐步具备后,再向DevSecOps框架的更上层移动。

赵锐指出,很多企业只是为了DevSecOps而DevSecOps,缺乏原有基础的考虑,这种做法就非常不合实际。此外,人作为安全的要素,即便通过工具或流程的高效性应用发现了大量漏洞,但人员无法有效处理,那么问题依然存在。因此,将人、工具与流程有效结合起来,DevSecOps才能实现成功。

本文作者:kirazhou, 转载请注明来自FreeBuf.COM

# DevSecOps

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: