广告招募

当前位置:中非贸易网 > 技术中心 > 所有分类

技术干货 | 持续集成与持续交付之间相差一个“安全”

2023年03月18日 17:52:58      来源:上海派拉软件股份有限公司 >> 进入该公司展台      阅读量:8

分享:

随着微服务架构在业内的盛行,很多企业也实现了DevOps的落地,那么就可以实现持续交付了吗?没那么简单,如果想要充分发挥出DevOps的敏捷性和响应力,必须在整个生命周期内兼顾安全性。在传统软件开发过程中,安全往往在开发的最后阶段由特定的团队来负责,企业软件产品在发布前,才会通知安全团队对系统进行安全测试,当开发周期长达几个月、甚至几年时,上述做法没太大问题。现在有效的DevOps可顺利推进快速频繁的开发周期,安全性的滞后抑制了 DevOps 的敏捷性。企业真正要实现的是DevSecOps,毕竟安全稳定快速发布才是。


DevSecOps是什么?


DevSecOps 是 Gartner 在2012年的一份报告中提出的概念。在这份报告中,Gartner 提出需将安全理念融入到 DevOps 的实践中,提高企业安全意识,企业价值。因为调查发现大约80%的安全问题发生在应用层,而企业在应用层的投入又相对匮乏。以下问题在软件企业普遍存在:


1. 问题后置:往往产品发布之后发现安全漏洞,而损失已经发生。


2. 漏洞重复出现:同样的漏洞会在不同团队多次出现,无法分析漏洞影响范围,缺少统一监管以及漏洞数据的积累。


3. 大量第三方漏洞,易攻击,排查困难:往往安全漏洞出现在外部,如第三方依赖,中间件等等,而该类漏洞一经出现,最易攻击。


4. 二次故障:发现漏洞后回滚或更新系统,进而影响到被依赖的系统,造成二次损失。


5. 开发人员安全意识弱:SQL 注入等漏洞导致数据泄漏等。


DevSecOps推荐实践


当然仅有DevOps还不能实现完整的软件安全评估,人工的渗透测试依然。


哪些安全测试适合DevOps中做呢?


代码提交前的自动化的静态代码扫描、依赖扫描、动态系统扫描以及初级的渗透测试都推荐在DevOps中实现。



那么秉着持续扫描、持续反馈、即时告警的思想,安全和DevOps的结合会是如下这样:



首先是代码提交前的静态代码安全扫描,静态代码安全扫描相对成熟和容易实施,推荐使用SonarQube(/),一个开源的代码质量管理平台,可以扫描代码规范、重复代码、单元测试覆盖率(pmd-cpd,checkstyle,findbugs)等问题,集成简单,通过Pipeline的Junit插件与Jenkins集成,详细步骤可参考。


其次是构建时的依赖组件扫描,在当下软件应用的开发过程当中,自研的内部代码所占的比例逐步地减少,开源的框架和共用库已经得到了广泛的引用,据不统计,现在有78%的企业都在使用开源软件。但是,大家在享受开源软件带来的研发便利的同时,是否也意识到开源软件带来的安全隐患呢?下图的统计数据表明,安全性并不是开源软件维护者的维护重点,这样的现状导致我们常用的开源软件库包含了各种各样的安全漏洞,们已逐渐把开源软件作为了主要的攻击目标。



要保证我们上线应用的安全,必须进行依赖包安全扫描,推荐使用Xray(https://jfrog.com/xray/)可以扫描二进制包安全漏洞,且可以做到深度扫描,扫描依赖的依赖,并且结合开源漏洞数据源(NVD)和 Snyk 提供的漏洞数据源对整个软件树进行安全分析。


最后就是构建后的动态系统扫描以及初级的渗透测试,初级渗透测试有主动扫描和被动扫描。推荐使用被动扫描,基本原理是设置扫描工具为一个Proxy Server,功能测试通过这个代理服务访问系统,扫描工具可以截获所有的交互数据并进行分析,通过与已知安全问题进行模式匹配,从而发现系统中可能的安全缺陷。建议将被动扫描和自动化测试结合,在运行自动化功能测试的时候使用被动扫描方法,从而实现动态安全扫描。


主动扫描(初级渗透)是给定需要扫描的系统地址,扫描工具通过访问这个地址,使用各种已知漏洞模型进行访问,并根据系统返回的结果判定系统存在哪些漏洞;或者在访问请求中嵌入各种随机数据的模糊,测试进行一些简单的渗透性测试和弱口令测试等。主动扫描覆盖测试面会比较大,但缺点是完成一次全面扫描非常耗时,一般都需要几个小时,这种不适合在pipeline中进行集成在每次发布的时候做,建议单独建立job定时扫描然后查看扫描报告。


经过以上步骤就可以做持续交付了,充分发挥DevOps的敏捷性和响应力。


DevSecOps的落地需要开发、测试、安全和运维人员的通力合作,站在对方的视角客观看待问题,将DevOps 和安全理念融合,落地确实不易,但是我们做到了,在统一身份认证系统(ESC5)的研发过程中,坚持做代码提交前的静态扫描,构建时的依赖组件扫描,编译后全套的自动化测试用例结合系统动态扫描和渗透测试,铸就了统一身份认证系统安全的壁垒,在今年6月份的“护网行动”中,防住了“攻方”的恶意攻击,成功为多家企业安全护航。

版权与免责声明:
1.凡本网注明"来源:中非贸易网"的所有作品,版权均属于兴旺宝装备总站,转载请必须注明兴旺宝装备总站。违反者本网将追究相关法律责任。
2.企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
3.本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。 4.如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系。