如何在DevSecOps道路上快速、安全地抵达终点
作者 | 吴翔
责编 | 晋兆雨
出品 | CSDN云计算
头图 | 付费下载于视觉中国
近年来,移动互联网的迅猛发展给人们带去不少便利,在软件安全领域内,一种名为敏捷开发的模式正悄然流行,而可打破业务隔离、提高效率的DevOps(开发运维)也受到了广泛欢迎。DevOps是开发(Development)与运维(Operations)相结合的称呼。在DevOps理念下,软件开发人员和运维人员紧密合作,以促进软件及应用更有效率的进行快速迭代。
然而,软件开发周期的缩短也带来了一些弊端。相比拥有更长开发周期,为确保软件稳定性与安全性提供充足时间的传统开发模式,敏捷开发模式由于软件版本频繁迭代,开发周期被压缩,出现安全漏洞的可能性也就更大。
DevSecOps,将安全植入开发运维骨髓
据国家互联网应急中心发布的《2019中国互联网网络安全报告》称,国家信息安全漏洞共享平台(CNVD)收录的安全漏洞数量创下了历史新高,同比上年增长14%,其中应用程序漏洞(56.2%)、Web应用漏洞(23.3%)和操作系统漏洞(10.3%)占比前三。
图1: 2019 年 CNVD 收录的安全漏洞占比按影响对象类型分类统计(来源:CNCERT/CC)
数据背后,无数教训已让众多开发团队和企业意识到了安全的重要性,以及安全问题所引发的灾难性后果。一种全新的开发理念DevSecOps(开发安全运维),就这样应运而生。开发团队需要在软件开发的整个生命周期内将Sec,即安全(Security)融入DevOps实践。要在DevOps里严格地执行安全理念和活动,除了展开定期的安全培训以外,还需要安全团队进行攻防演练等。
要将DevSecOps这种新的组合工作模式付诸实践,首先需要所有的团队及成员都具备严谨的安全思维。然而DevSecOps在企业内部的落地往往会遇到阻力,一是高层领导不给予足够的重视和支持,业务负责人也不鼓励加强安全措施,二是DevOps实践的初衷是加速开发流程,而加入安全监督环节则被认为与DevOps所追求的高速开发背道而驰。
如果将软件产品开发生命周期比作一段道路,起点是需求分析,终点是产品交付。人们步行抵达终点,犹如采用传统的软件开发模式。而采用DevOps的敏捷模式,利用辅助工具产品及平台,就好比坐上了一辆车,可以开车快速地抵达终点。但若车开太快且车速不可控,则很容易发生安全事故。我们需要的应当是具备精良速度控制机制和刹车系统的,安全可靠的载具。
AST,多行业应用安全漏洞检测不可或缺
为了帮助企业提升产品研发效率和质量,同时实现DevOps和Sec两个目标,可在软件开发的初期便进行介入和预防,借助工具提升代码安全检测的效率。因此AST(应用程序安全漏洞测试)软件成为了首要选择。AST领域包含SAST(静态测试)、DAST(动态测试)和IAST(交互式测试)这三类测试方法。
如果开发者能在左移测试(Shift-Left Testing),即在开发生命周期的初期使用SAST工具,则可以有效地提升代码检测的准确性和效率,极大地降低时间、资金、人力等资源的消耗。而市场对于SAST工具的核心要求便是扫描效率高、速度快、准确率高。鉴释目前提供的SAST核心产品就可以有效融入软件开发生命周期(SDLC)中,为DevSecOps实践提供最大的帮助,鉴释IAST产品的开发也正在快速进行中。
目前除了IT行业,许多传统行业,例如金融、能源、工业、教育、医疗等都有软件安全的需求,此时AST类的工具就该上场了。但面对多场景的应用,安全团队不应该一味照搬公式,而是应该像给软件和代码做诊断的医生一般详细地了解、分析应用的行业背景、需求、痛点以及未来计划等。缺乏细致、持续沟通的解决方案只能解决一时之急,鉴释立足于目前核心的SAST产品,细心打磨自主解决方案,提供更快速、高效、持续的响应,已经帮助多行业的开发团队安全、快速的走完开发周期。
除了工具提供的辅助外,团队上下对安全的重视程度也相当重要。Gitlab今年发布的第四次全球DevSecOps年度报告称,安全团队不再是“局外人”,开发和运维人员的跨团队紧密合作达到了前所未有的程度。“安全”,则变成了团队每个成员都应该秉持的理念。该报告数据显示,近30%的受访者认为团队内的每个人都应当将软件安全视作己任,而20%的受访者认为开发人员也应挑起软件安全的大梁,而不是只拘泥于开发。
图2:Gitlab对于团队内部安全责任分担问题的调查结果
该调查结果无不标志着安全责任正从原来的安全运维团队逐渐扩大至软件开发团队内的每个成员身上,开发人员和运维团队之间的界限越来越模糊,即将Sec深深融入DevOps骨髓之中。
作者简介
吴翔,上海鉴释科技公司产品开发总监,主要负责内部DevOps流程管理、产品测试及客户售后的技术支持和服务。
关于鉴释
鉴释的使命是通过创建简单操作的工具来协助开发人员构建并调配安全可靠的代码。鉴释成立于 2018 年,由拥有数十年开发经验的世界级软件专家创办,并在深圳、北京、上海和香港设立了办事处。鉴释提高了代码的审计、评估和缺陷检测的速度和准确性。我们通过使用高级静态分析技术帮助客户降低成本,提高生产力,并确保其软件开发人员具备相应的能力以开发更好、更可靠的软件。
更多阅读推荐
你可能也会掉进这个简单的 String 的坑
亿级大表分库分表实战总结(万字干货,实战复盘)
赠书 | 华为数据底座的整体架构与建设策略
Python画出心目中的自己
超200家上市企业布局!从千余条备案信息看区块链产业
如何在DevSecOps道路上快速、安全地抵达终点相关推荐
- 小程序影藏溢出的gif_如何在Android手机上快速实现视频转GIF动图呢?
毫无疑问,Android是目前使用最广泛的手机系统.GIF很有趣,并且比视频占用更少的存储容量.本文将向您介绍如何在Android手机上快速转GIF动图的多种方法. [官网]万兴优转 - 顶尖音视频格 ...
- 如何在 Raspberry Pi 上快速安装 Oracle Linux ?
你知道树莓派(Raspberry Pi)吗?它可不是一款餐后甜点,而是一个只有信用卡大小的计算机,更准确的说它是一款单板计算机.那么,如何简单快速地在上面安装 Oracle Linux?下面将会详细介 ...
- 【科研】如何在读研的道路上快速失败
目录 陈老师失败13则 读博之前应该知道的二十件事情 李老师科研之思考和感受(含培养学生) 近期的思考和感受(2021.7.27) 关于画饼 关于抓住机会和创造机会 关于做好简单的事情 关于专注 关于 ...
- windows文件搜索符号_如何在Windows 10上快速搜索表情符号
windows文件搜索符号 Emoji are playful graphical representations of emotions, things, symbols, or ideas. So ...
- 教你如何在window服务器上快速部署SpringBoot web项目
小白笔录,大神请绕路.欲在服务器上部署项目,必先细细考量服务器上是否已经搭建好环境.此处以 web项目部署在 tomcat 上为例,前三个步骤以实际情况,读者自行跳过. 一.搭建 jdk 环境 在搭建 ...
- 如何在win11电脑上快速安装安卓应用
方法一:采用安卓模拟器.此方法比较简单 直接下载应用即可,但缺点是广告可能有点多,有些可能不是免费的. 方法二 下载win11自带的安卓子系统(WSA),由于安卓子系统安卓过程相对复杂,但是在这里我给 ...
- 如何在Android/鸿蒙上安装XAPK文件
How to install XAPK / APK file On Android (apkpure.com) 如何在Android/鸿蒙上安装XAPK文件 什么是XAPK文件? XAPK文件最初由A ...
- 如何在读研读博的道路上迅速失败?
把导师当傻子, 甚至形成了逆反心理, 老师说什么或者做什么, 都会在心里或者私底下数落他. 老师给一个方向弄不出来的话, 要么是老师岁数大了不搞科研, 或者是他根本就不愿意指导自己. 三天两头就想换方 ...
- ghost博客mysql_centos 上快速搭建ghost博客方法分享
1. 介绍 Ghost 是一套基于 Node.js 构建的开源博客平台,具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写,目标是取代臃肿的 Wordpress.本篇文章主要是介绍 ...
最新文章
- 学python要基础吗-自学Python要有其他语言基础吗?
- python的中文翻译-再聊聊Python中文社区的翻译
- @Autowired使用
- [转]COM线程模型-套间
- 什么是PROTAC技术?
- 飞天技术汇“2018云栖大会·上海峰会”专场,等你加入
- OPC Client “failed to execute OPCENUM” 解决方法
- 使用fn函数控制页面显示内容
- iOS强制切换横屏、竖屏
- 单元测试中测试用例的设计方法
- 图解:最短路径之迪杰斯特拉算法
- seo网站关键词优化三大要素:技术 思路 执行力
- 微信小程序授权微信手机号踩坑,第一次无法获取到手机号,第二次成功的解决方案
- (三)Animation创建动画
- 图表——SM2密钥协商与ECMQV对比
- 毕业求职:求职面试前不知如何准备? 4 个秘诀助你自信面试!
- hazelcast-management-center安装配置
- 四应变片悬臂梁 计算要点
- 为什么墨刀的动效这么酷炫?学会神奇移动,你也可以
- Linux中pidgin下运行QQ和MOC以及人人