干货!从3个层级出发做好 DevSecOps安全左移经济账

从3个层级出发,做好 DevSecOps“安全左移”经济账

目前,业界已经达成共识:“安全左移” 成为了落地 DevSecOps 的重要实践之一。

所谓左右,与软件研发生命周期(SDLC)相关,常规的软件研发生命周期从左到右基本由以下步骤组成:计划(Plan)→ 编码(Code)→ 测试(Test)→ 发布(Release)→ 部署(Deploy)→ 运维 & 监控(Operation & Monitoring)。

“左移” 是指靠近编码、计划侧,“右移” 是指靠近上线运维侧。

安全左移与软件敏捷交付有关。传统安全手段和安全人员的介入,都在 SDLC 右侧。在敏态交付的驱动下,产品月度发布甚至周发布都变得稀松平常了,但安全始终是软件交付的底线与基石。为了在快速交付的前提下,还能保证软件的安全性,就提出了将安全进行左移的思路——即在计划、编码阶段就让安全介入,从源头把控安全。

归根究底,安全 “左移” 的背后其实是一本经济账。

从上图可以看出,在软件开发生命周期不同阶段发现漏洞,其修复成本(人力、财力等)是不一样的。

如果说需求阶段发现一个漏洞,其修复成本是 1,在编码阶段发现,其成本就变成了 5,而在生产阶段成本变成了惊人的 30,这意味着:生产阶段漏洞修复成本=需求阶段漏洞修复成本 x 30 。

也就是说:越早发现漏洞,其修复成本越低,而越早也就意味着要在靠近软件开发生命周期左侧来发现漏洞,即 “安全左移”。

要实现真正的 “安全左移”,需要做到以下三个层级:

| 手段/工具左移

针对应用程序安全,不同阶段有不同的安全手段来帮助发现潜在的安全漏洞,诸如:

  • 传统的静态应用程序安全测试(SAST),可以在应用程序处于非运行态时,针对源码、字节码、二进制包等进行扫描,发现问题;
          • 动态应用程序安全测试(DAST),可以在应用程序在运行态时,扫描和发现问题;
  • 敏感信息检测;
  • 当下时兴的容器镜像扫描、IAST、RASP 等手段。

在传统时代,安全一般在靠后阶段(可能是 Test 阶段甚至 Release 阶段)介入,一般是由专业的安全人员来手动进行上述的安全测试。这个过程中,研发不参与安全问题发现。

而在 “安全左移” 体系中,我们鼓励研发人员参与到安全防护体系中来,甚至成为安全发现与修复的前站。比如在 IDE 中集成 SAST,在编码阶段就能在本地进行安全扫描,一旦发现问题,即可自行修复,不涉及与其他团队(测试、安全)的交互,降低了沟通成本。

此外,开发人员也可以在本地尝试敏感信息扫描(可利用开源的 git-secrets、git-leaks 等工具)确保编码时没有对于敏感信息(数据库密码、token 等)进行 Hardcode。

手段/工具的左移,是实现 “安全左移” 的第一个层级,也是最容易实现的一个层级。

| 数据左移

当然,对于安全而言,发现问题并不是最重要的,能尽快修复问题才是最终目的。这就要求所有安全报告(由第一层级的安全工具所产生)的数据经过有效整理(如去除假阳性、区分好漏洞的严重等级、建议的修复手段等)并直接反馈给研发人员。反馈方式如直接把结果嵌入到 MR(Merge Request)中,方便开发人员、测试人员、代码审核人员查看信息,以确保合入的代码是经过安全扫描、修复的,进一步保证代码质量。此外,所有安全报告应该有统一的安全面板进行展示,方便所有人员查看,做到公开透明,有助于团队协作。

数据左移的目的是为了用数据驱动安全问题的修复,同时通过公开透明的方式提高安全性。这是“安全左移”的第二个层级。

| 文化左移

DevSecOps 模式下,安全人员不再是唯一需要对安全负责的团队/人员。

“安全左移” 之下,需要培养开发人员对于安全的责任意识,在编码中秉持安全原则,比如不引入有安全风险的外部依赖包、不 Hardcode 敏感信息等。

再往左,还可以培养产品/架构的安全意识,在计划/设计阶段就充分考虑安全,比如使用威胁建模方式,梳理安全边界、系统间的安全连接方式等。

文化左移是 “安全左移” 的第三个层级,也是最终层级。其目的是打造真正的 “人人为安全” 的企业文化,这也是 DevSecOps 最终想要达到的目标 —— 一个企业中,所有与软件研发相关的人员都可能成为软件安全交付的瓶颈,只有每个人都具有安全意识,才能消除安全瓶颈点,共同为客户交付安全、高效的软件。

精华帖分享完毕,点此体验专属于你的极狐Gitlab吧!!!

点点关注,不迷路哟~~

#极狐Gitlab##研发##技术栈##23届找工作求助阵地#
全部评论
老哥这讲解的通俗易懂啊,牛
点赞 回复 分享
发布于 2023-03-20 11:18 四川
谢谢分享啊,学习到了,最近想换工作,要开始学习准备了
点赞 回复 分享
发布于 2023-03-20 10:39 山东

相关推荐

05-01 22:41
中南大学 Java
点赞 评论 收藏
分享
避坑恶心到我了大家好,今天我想跟大家聊聊我在成都千子成智能科技有限公司(以下简称千子成)的求职经历,希望能给大家一些参考。千子成的母公司是“同创主悦”,主要经营各种产品,比如菜刀、POS机、电话卡等等。听起来是不是有点像地推销售公司?没错,就是那种类型的公司。我当时刚毕业,急需一份临时工作,所以在BOSS上看到了千子成的招聘信息。他们承诺无责底薪5000元,还包住宿,这吸引了我。面试的时候,HR也说了同样的话,感觉挺靠谱的。于是,我满怀期待地等待结果。结果出来后,我通过了面试,第二天就收到了试岗通知。试岗的内容就是地推销售,公司划定一个区域,然后你就得见人就问,问店铺、问路人,一直问到他们有意向为止。如果他们有兴趣,你就得摇同事帮忙推动,促进成交。说说一天的工作安排吧。工作时间是从早上8:30到晚上18:30。早上7点有人叫你起床,收拾后去公司,然后唱歌跳舞(销售公司都这样),7:55早课(类似宣誓),8:05同事间联系销售话术,8:15分享销售技巧,8:30经理训话。9:20左右从公司下市场,公交、地铁、自行车自费。到了市场大概10点左右,开始地推工作。中午吃饭时间大约是12:00,公司附近的路边盖饭面馆店自费AA,吃饭时间大约40分钟左右。吃完饭后继续地推工作,没有所谓的固定中午午休时间。下午6点下班后返回公司,不能直接下班,需要与同事交流话术,经理讲话洗脑。正常情况下9点下班。整个上班的一天中,早上到公司就是站着的,到晚上下班前都是站着。每天步数2万步以上。公司员工没有自己的工位,百来号人挤在一个20平方米的空间里听经理洗脑。白天就在市场上奔波,公司的投入成本几乎只有租金和工资,没有中央空调。早上2小时,晚上加班2小时,纯蒸桑拿。没有任何福利,节假日也没有3倍工资之类的。偶尔会有冲的酸梅汤和西瓜什么的。公司的晋升路径也很有意思:新人—组长—领队—主管—副经理—经理。要求是业绩和团队人数,类似传销模式,把人留下来。新人不能加微信、不能吐槽公司、不能有负面情绪、不能谈恋爱、不能说累。在公司没有任何坐的地方,不能依墙而坐。早上吃早饭在公司外面的安全通道,未到上班时间还会让你吃快些不能磨蹭。总之就是想榨干你。复试的时候,带你的师傅会给你营造一个钱多事少离家近的工作氛围,吹嘘工资有多高、还能吹自己毕业于好大学。然后让你早点来公司、无偿加班、抓住你可能不会走的心思进一步压榨你。总之,大家在找工作的时候一定要擦亮眼睛,避免踩坑!———来自网友
qq乃乃好喝到咩噗茶:不要做没有专业门槛的工作
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务