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同与会嘉宾们共商制造业数字化转型,就如何用流程赋能企业实现智能制造进行了精彩分享. 近期发布 ...
随机推荐
- vue-eahars生产编译报错
{ test: /\.js$/, loader: 'babel-loader', include: [resolve('src'), resolve('test'), resolve('node_mo ...
- 微信小程序:数组拼接
一开始用concat进行拼接,总是不行,代码如下: handleItemChange(e){ console.log(e) var itemList = e.detail.value itemList ...
- 微信小程序:上滑触底加载下一页
给商品列表页面添加一个上滑触底加载下一页的效果,滚动条触底之后就发送一个请求,来加载下一页数据, 先在getGoodsList中获取总条数 由于总页数需要再另外的一个方法中使用,所以要把总页数变成一个 ...
- 微信小程序:页面全局参数(注意不是小程序的全局变量globalData)
为什么要使用页面全局参数:方便使用数据. 由于总页数需要再另外的一个方法中使用,所以要把总页数变成一个页面全局参数.因为取数据使用this.xxx即可,中间不用加data,给页面全局参数赋值页方便,直 ...
- MySQL之九---分布式架构(Mycat/DBLE)
MyCAT基础架构图 双主双从结构 MyCAT基础架构准备 准备环境 环境准备: 两台虚拟机 db01 db02 每台创建四个mysql实例:3307 3308 3309 3310 删除历史环境 p ...
- HDOJ-1114(完全背包模板题)
Piggy-Bank HDOJ-1114 本题就是完全背包的模板题,注意复习一下关于背包九讲中的问什么这里使用的是顺序遍历. 还需要注意的一个问题就是初始化的问题,dp[0]初始化为0,其他的初始化为 ...
- python 操作符** (两个乘号就是乘方)
一个乘号*,如果操作数是两个数字,就是这两个数字相乘,如2*4,结果为8**两个乘号就是乘方.比如3**4,结果就是3的4次方,结果是81 *如果是字符串.列表.元组与一个整数N相乘,返回一个其所有元 ...
- 选择 FreeBSD 而不是 Linux 的技术性原因4
Linux 二进制兼容性 FreeBSD 提供了与 Linux 的二进制兼容.这使得用户可以在 FreeBSD 系统上安装和运行许多 Linux 二进制文件, 而无需首先修改二进制文件.在某些特定情况 ...
- 「UOJ 514」通用测评号(生成函数)
首先,题目中的过程可以看作:每次选择任意一个燃料仓,给它装填 \(1\) 单位的燃料,如果此时恰好 "填满" 了它,就给答案 \(+1\). 考虑 \(n\) 号燃料仓填满的概率, ...
- .Net5 下Dictionary 为什么可以在foreach中Remove
在一个讨论群里,看见有人说Dictionary可以在foreach中直接调用Remove了,带着疑问,写了简单代码进行尝试 class Program { static void Main(strin ...