2021 DevOpsDays 东京站完美收官 | CODING 专家受邀分享最新技术资讯
DevOpsDays 是一个全球知名的系列技术会议品牌,内容涵盖了软件开发、自动化、测试、安全、组织文化以及 IT 运营的社区会议等。DevOpsDays 由 DevOps 之父 Patrick Debois 先生创办,组织中汇聚了互联网、金融以及各行各业的 DevOps 实践者,通过分享、交流彼此先进的技术思想、理念和业内最佳实践,各界精英和行业内顶尖专家以行动推动了 DevOps 在全球范围的落地。在过去十年的发展中,DevOpsDays 以城市为单位迅速席卷全球,当之无愧地成为了 DevOps 圈中最具影响力的国际盛会。
在 2021 届 DevOpsDays Tokyo 大会上,众多 DevOps 领域大咖们带来了精彩的主题分享。DevOps 之父 Patrick Debois 也在线上为参会者答疑,分享最具价值的 DevOps 实践。CODING 资深技术专家、布道师——周纪海也受邀参与大会并在线上以 DevSecOps 工具与实践为议题进行分享。
以下为周纪海在 DevOpsDays Tokyo 上分享的演讲内容——《 DevSecOps 在大型银行中的落地实践》
DevSecOps 概念、诞生缘由及优势简介
DevSecOps 是 Gartner 在 2012 年就提出的概念,其原始术语是" DevOpsSec "。2017 年 RSA 峰会之后,DevSecOps 开始成为世界热门话题。DevSecOps 基于和延续 DevOps 的理念,其设计与执行仍然处于 Agile 的框架之下。DevSecOps 的目标是将安全嵌入到 DevOps 的各个流程中去(需求,架构,开发,测试等),从而实现安全的左移,让所有人为安全负责,将安全性从被动转变为主动,最终让团队可以更快,更安全地开发出质量更好的产品。
- 传统模式下,在整个研发流程(需求,开发和测试)完成之后,在上线前需要进行安全评审。因此整个交付周期就是研发时长加上安全评估的时长
- DevOps 模式下,通过自动化,敏捷开发,团队协作。微服务设计等 DevOps 理念将整个研发阶段的时长缩短了,从而减少了交付周期。但是,由于传统的 DevOps 模式没有考虑安全,因此上线前的安全评审时长并没有因此改变。这里可以清晰的看出,整个研发流程的瓶颈是在上线前的安全评审阶段。
- DevSecOps 模式下,由于无感地左移了上线前安全评审的部分工作到开发团队,使得安全评估阶段的时长变短,从而进一步缩短了交付周期。
DevSecOps 可以给研发效能提供诸多好处,主要表现在三个方面:
- 更快 - DevSecOps 通过自动化安全工具扫描,无感地左移了部分传统模式中在上线前最后阶段进行的安全扫描工作,使得整个交付周期变得更短,交付速度因此变得更快。
- 控制风险 - DevSecOps 减少了开发团队对安全部门/团队的依赖,通过安全左移让开发团队具备发现和修正部分安全隐患和漏洞的能力。
- 节省成本 - DevSecOps 由于在 SDLC 前期阶段发现并且修正安全隐患和漏洞,避免了传统模式中在上线前最后阶段进行安全扫描发现高危安全漏洞后进行的返工,从而从流程上节省了成本。
DevSecOps 在实际落地中所面临的挑战
在 DevSecOps 实际落地中面临了诸多挑战,其中以技术挑战和人文挑战最为典型。一方面,软件开发是一个复杂的过程,需要 DevSecOps 提供相应的自动化工具支持,但由于 DevSecOps 是个全新的理念,市场上可以选择的工具较少;另一方面,人们对于信息安全的重视,推行 DevSecOps 后开发人员额外增加的工作量,以及管理层的支持与否都成为 DevSecOps 是否能够顺利落地的关键因素。不过,即使没有前者的阻碍,现阶段开发人员关于信息安全知识的储备较为缺乏,面对安全漏洞时无法顺利修复,也为 DevSecOps 的落地带来了极大的阻力。
DevSecOps 中常用的安全工具种类
- 静态应用安全工具(SAST):SAST 是从代码层面进行扫描安全漏洞。它的好处是可以精准定位,发现具体某一行代码有漏洞,同时容易被程序员所接受。但是这种工具的缺点是误报率非常高。
- 动态应用安全工具(DAST):DAST 更多的是通过模拟黑客对端口和站点进行攻击,尝试获取信息。这类工具的优点是扫描范围非常广,误报率不是特别高;缺点也非常明显,就像测试一样,需要人力去写相关代码去模拟黑客攻击,对运维同学的安全知识要求比较高,因为需要把场景模拟出来。同时,也容易产生一些脏数据。
- 交互式应用安全工具(IAST):在应用里面插入 IAST,或者是通过代理截取流量,可以分析系统在运营过程中是不是有安全漏洞。优点是扫描精准、误报率低。缺点是在更新工具的同时,服务器需要重启。
- 第三方组件成分分析(SCA):前 3 种安全工具更多的是对自己写的代码的保障,从端口层面保证自己开发的产品是安全的。然而不可避免的是在开发过程中会引入第三方的插件工具, FOSS 工具是为了保证别人写的代码的安全性。
总的来说,SAST 和 SCA 主要应用在开发阶段,DAST 和 IAST 则应用在测试阶段,安全工具在 DevSecOps 全生命周期中的分布请参照下图:
DevSecOps 的实施与运营模型
构建 DevSecOps 体系是 DevSecOps 项目的最终目标,为实现这一目标,DevSecOps 实施模型为我们的实践提供了以下几点思路:
- 第一步是采用 DevSecOps 工具发现应用程序的漏洞。并将安全工具集成到 CI/CD 流水线中,实现自动化。最终将漏洞扫描的结果在仪表盘生成可视化结果或以报告形式通知到用户。
- 第二步是为开发人员提供培训,使他们有足够的技能来修复漏洞。
- 在引入 DevSecOps 工具并为开发团队提供培训之后,DevSecOps 的最终目标是让每个人都拥有 DevSecOps 的意识,并在团队中建立 DevSecOps 文化。此外,每个开发团队都希望至少有一位具有高级应用程序安全技能的“安全专家”,能够帮助团队修复棘手的漏洞,并培训其他团队成员。
在了解 DevSecOps 项目的目标之后,DevSecOps 运行模型提供了一个关于如何执行 DevSecOps 实现的解决方案。它定义了以下几个不同角色的职责:
- DevSecOps 负责人 - 负责人的职责是推动 DevSecOps 项目,推广 DevSecOps 文化,帮助开发团队建立 DevSecOps 文化。连接开发团队和安全团队,收集开发团队的反馈,并提供给安全团队。
- 开发团队 - 将 DevSecOps 工具集成到 CI/CD 流水线中,在仪表板上实现安全扫描结果可视化。接受 DevSecOps 培训,学习足够的应用安全知识,有足够的技能修复漏洞。在实际项目和日常工作中使用 DevSecOps 工具和知识,逐步改变他们的思维方式,并在团队中建立 DevSecOps 文化。
- 安全团队 - 他们主要是提供 DevSecOps 工具以及应用安全培训。如有需要,可提供咨询服务。
以上为 2021 DevOpsDays 东京站的内容分享。
2021 DevOpsDays 东京站完美收官 | CODING 专家受邀分享最新技术资讯的更多相关文章
- 相约 DTCC 2021 | Tapdata 受邀分享:如何打造面向 TP 业务的数据平台架构
2021第十二届中国数据库技术大会(DTCC)将于2021年10月18-20日,在北京国际会议中心举行,Tapdata 创始人唐建法受邀分享:如何打造面向 TP 业务的数据平台架构. 演讲时间 ...
- 第二届中国“AI+”创新创业大赛完美收官,京东云赛道硕果累累
聚焦南京产业发展核心诉求,京东云携手南京政府构建的"平台+生态+赋能"的产业体系,搭建产业创新云平台,以人工智能产业创新链要素补齐为核心,围绕"研.产.供.销.服&quo ...
- 2021 CCPC 威海站 VP记录(题解)
2021 CCPC 威海站 VP记录(题解) 题目顺序为vp时开题顺序: A - Goodbye, Ziyin! 签到,连边数小于等于2的可以作为二叉树根,若有大于4的直接输出0. code: voi ...
- CODING 受邀参与 DevOps 标准体系之系统和工具&技术运营标准技术专家研讨会
2019 年 5 月 24-25 日,国内领先的一站式 DevOps 解决方案供应商 CODING 作为腾讯云的深度合作伙伴,受邀参加在成都举行的由 TC608 云计算标准和开源推进委员会主办,中国信 ...
- 我们的GAME-TECH沙龙北京站完美收官了,都讨论了些啥?
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由 腾讯游戏云 团队首发与云+社区 摘要:4月13日,腾讯游戏云GAME-TECH游戏开发者技术沙龙于北京举办.此次活动是腾讯游戏云游戏 ...
- CODING 受邀参加《腾讯全球数字生态大会》
近日,腾讯全年最重要的一场活动--<腾讯全球数字生态大会>于昆明滇池国际会展中心正式举办.此次全球数字生态大会是腾讯战略升级后,整合互联网+数字经济峰会.云+未来峰会.腾讯全球合作伙伴三大 ...
- Coding for Speed 技术分享
上周和公司技术同事们作了次<Coding for Speed>技术分享,本来这只是再普通不过的技术探讨和交流(虽然挂了个颇有噱头的名称),但分享的时候逻辑没理好,语速很快,时间也太紧,因此 ...
- 2021年5月15日海外 Meetup 演讲内容分享
北京时间 2021 年 5 月 16 日 05:00-08:00 我们与Apache ShardingSphere 联合举办了第一场海外Meetup,感谢各位小伙伴的参与,让本次活动圆满结束. 同时我 ...
- K2 BPM_K2受邀出席QAD 2019年亚太区用户大会_全业务流程管理专家
6月12-13日,K2受邀参加了以“云聚创新,智造未来”为主题的QAD 2019年亚太区用户大会.会议上K2同与会嘉宾们共商制造业数字化转型,就如何用流程赋能企业实现智能制造进行了精彩分享. 近期发布 ...
随机推荐
- git配置了公钥,在下载项目时为什么还要输入密码
配置git地址:https://www.cnblogs.com/lz0925/p/10794616.html 原文链接:https://blog.csdn.net/xiaomengzi_16/arti ...
- Java流程控制:顺序结构
一.流程控制 Java中的流程控制语句可以这样分类:顺序结构.选择结构.循环结构.这三种结构就足够解决所有的问题了! 二.顺序结构 描述: Java流程控制的基本结构就是顺序结构,除非特别指明,否则J ...
- 干货满满-原来这才是hooks-React Hooks使用心得
序言 ---最后有招聘信息哦-React是一个库,它不是一个框架.用于构建用户界面的Javascript库.这里大家需要认识这一点.react的核心在于它仅仅是考虑了如何将dom节点更快更好更合适的渲 ...
- Selenium 4.0beta: Grid 工作原理
Selenium 4.0 beta版已经发布,那么距离正式版已经不远了,在Selenium 4.0中变化比较大的就是Grid了,本文翻译了官方文档,重点介绍Grid 4的工作原理 Selenium G ...
- C#类中的成员
@ 目录 字段 属性 方法 构造函数 类和对象的简单解释 创建类和对象 类中成员的归属问题 字段 字段的声明与声明变量类似,可以添加访问修饰符,通常情况下字段设置为私有的,然后定义属性对字段的读写进行 ...
- 自己挖的坑自己填-- maven打jar包部署服务器报错
1.今天 mvn install 后把 jar 包部署到服务器上,执行 java -jar xx.jar 报 "no main manifest attribute,in xx.jar&qu ...
- 初识Java多线程
一.多线程概述 1.1.程序.进程.线程概念 1)程序 是为完成特定任务,用某种语言编写的一组指令的集合,即指一段静态的代码,静态对象. 2)进程 是指一个内存中运行的应用程序,每个进程都有一个独立的 ...
- FreeBSD 12.2 已经发布 从现有版本更新到12
#freebsd-update -r 12.2-RELEASE upgrade 如果提示更新第三方软件后,再执行freebsd-update install , 请输入 #pkg update &am ...
- Hdu 4821 (字符串hash+map)
题目链接https://vjudge.net/problem/HDU-4821 题意:给定字符串S ,询问用几个子串满足 : 1.长度为n*len . 2. n个子串都不相同. 题解:倒序hash将 ...
- 设计模式—singleton(单例模式)
单例模式 单例设计模式属于创建型模式,它提供了一种创建对象的最佳方式.这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建. 这个类提供了一种访问其唯一的对象的方式,可以直接 ...