摘要:正所谓“道高一尺魔高一丈”,不断的攻防对抗中,安全设计者也面临很大的挑战。华为云MVP毛哲文是一个偏向于安全防守的安全工程师,他认为,“攻防之间要做到平衡,知己知彼才能做一个好的安全解决方案。”

本文分享自华为云社区《华为云MVP毛哲文:理清逻辑,确保云原生时代应用开发的全生命周期安全》,作者: 我们都是云专家。

网络安全问题猛于虎,一个小的漏洞可能会导致业务系统全线崩溃,损失上千万。另一方面,网络安全又相对非常复杂,既有形形色色的安全技术,又有各式各样的安全工程能力。

正所谓“道高一尺魔高一丈”,不断的攻防对抗中,安全设计者也面临很大的挑战。华为云MVP毛哲文是PaaS产品的首席安全专家,她认为,“攻防之间要做到平衡,知己知彼才能做一个好的安全解决方案。”

下面一起跟随这位在安全领域耕耘多年的技术老兵,看如何根据业务构建安全方案,将安全技术系统性的落地。

网络安全问题千差万别,但核心是相似的

从大学到工作,毛哲文一直和安全打交道,从传统操作系统安全到应用安全解决方案,从移动操作系统安全到移动应用生态安全,再从云计算安全到云应用生态安全,毛哲文体会到了安全的趣味性,以及蕴藏在其中的安全架构之美。

在一系列与安全相关的工作中,毛哲文总结:

“虽然研究的领域不一样,但最基本的安全模型不会有太大差异。就像当谈到OS安全时,往往讲到Biba模型及BLP模型。当你从安全的本质、安全架构的视角去解决形形色色的安全问题时,即便这些问题在系统中所处的层级不一样,也不会觉着安全问题有太大的差异性。而且你会发现系统各个层级之间的安全关联性、安全依赖性都会非常强。总之,安全架构与安全能力的抽象,会让复杂的问题变得简单。”

也就是说,不同领域的网络安全问题表面看起来千差万别,大相径庭,但往往要解决的核心问题又是高度相似。

被信息安全领域广泛应用的安全目标是CIA,即机密性、完整性、可用性。只是不同领域和不同行业对具体的安全目标解读会略有不同。比如对一个企业级应用来说,“机密性”更多强调的是应用的业务数据只能被应该访问的人/应用/服务所访问;而对于一个移动终端系统应用来讲,“机密性”往往更侧重于对终端用户个人数据、个人隐私的保护能力。

从业务、架构看安全解决方案的实施

毛哲文强调:“网络安全解决方案不能脱离具体的业务,同样也离不开安全的软件架构。

做网络安全,首先需要知道具体的业务特征,据此来制定相应的、具体的安全目标。只有清楚具体的业务场景、业务的核心价值资产,才能明确网络安全所要保护的目标对象。在此基础之上,才能更好地做安全威胁分析,做对应的安全设计。用安全的语言来讲,做安全设计要清晰地知道系统中的主体是谁,客体是什么,然后确保只有正确的主体才能访问可以被访问的客体资源。

毛哲文提到的另一个关键是安全架构。

安全要解决的往往不是局部性的问题,但一个局部性的问题又会导致整个安全防守系统的失效。所以攻和防的对抗往往处于一个不对等的地位。正因如此,从防守方来看,如何将一个复杂系统做到系统性的安全,安全架构就显得尤为重要。

安全架构可以帮助我们系统性地看待和解决安全问题。一个系统无论有多复杂,都能从安全架构的层面进行抽象、建模,然后实施具体的安全策略,做到安全的系统性和完备性。即便有局部的漏洞发生,也可以通过漏洞的修复来弥补,从容应对持续的攻防对抗。另外,如果系统同时还配备安全感知、安全响应、安全恢复的安全韧性能力,系统也能更好地应对局部的风险,让防守变得更加积极。相反,如果一个系统没有完备的安全架构设计,只是试图从局部解决安全问题,它就无法应对持续的攻防对抗过程,系统的安全同样也无法进行完备性证明,软件便往往以生命的结束而告终。

安全架构是软件具备系统性安全的必要前提,但依旧不能保证生产出来的软件就是安全的,例如,代码质量会严重影响最终产品的安全质量;软件自身满足了安全质量,但软件的运行环境安全又同样会影响软件的安全结果。设计、开发、交付、运维一个高安全质量的系统、服务或应用,是个非常复杂的系统工程。毛哲文强调,“安全技术能力和安全工程能力的融合是至关重要的。”

在云原生2.0时代,应用现代化的目标就是让开发者更多地聚焦业务逻辑,让应用快速迭代,从而满足企业的竞争力要求。这便对配套的应用生产工具以及基础的运行平台提出更高的安全要求,安全技术和安全工程能力的完美融合将成为应用生产工具和平台的核心竞争力。即应用生产和运行的基础平台需要支撑和具备完备的安全技术能力,如隔离与访问控制技术、机密性保护技术、完整性保护技术、安全韧性技术等,同时,也要求DevOps平台有一套完备的安全工程能力,让应用在生产和运行过程中能快速敏捷地落地安全,满足软件的安全质量要求。

毛哲文以云原生安全为例,详细谈了谈如何保证应用的全生命周期安全。

云原生下,如何确保应用全生命周期安全?

当下云原生2.0正在加速改变每个行业中的各种组织,因为它能使这些组织运行的更加快速、更灵活、更加智能化。华为一直致力于云原生的现代化能力,为云原生应用的生产打造高效、安全等核心竞争力,确保客户能快速生产,部署,运维安全、合规的应用。

针对应用的安全,可以抽象为三个维度,分别是应用安全,应用运行环境安全,应用安全运维。确保应用在这三个维度是安全可控的,并满足合规要求。

云应用安全视图

其中,应用安全通常要包含正确的认证、鉴权机制以及最小的权限管理,即正确的访问控制,确保正确的人/应用/服务才能访问该应用的数据,或者使用本应用提供的服务。应用运行环境安全囊括了网络安全、OS安全、容器安全、中间件安全等基础设施安全。安全运维则包括安全感知、安全响应、安全恢复等安全韧性能力。

应用的安全贯穿应用整个生命周期,以华为云DevSecOps平台DevCloud 为例,它将华为多年积累的安全技术能力和安全工程能力进行深度融合,通过解决方案让安全顺利左移,确保应用在出生的过程中就是安全的、可信的,降低安全门槛,端到端提供安全设计开发能力、自动化测试能力,帮助客户快速构建端到端的研发体系,让安全能够敏捷落地于应用的生产、交付、运行过程中,更好更快更安全地支持多云多中心的分布式架构。

安全设计与开发:在应用的开发过程中,提供安全设计能力,其中也包括安全合规设计能力;同时提供安全开发框架,包含统一的认证能力、数据安全管理能力、接口安全能力、web安全开发框架等;提供全量的代码检查能力,同时也支持在代码提交过程中,设置代码提交门禁,确保提交代码的质量,并包含多种语言的支持,对代码进行安全检查并针对问题提供修复及建议。降低整个设计与开发过程的安全成本,提升安全设计及代码的安全质量。

安全测试:安全测试可以融入到应用生产的整个过程,从安全测试的设计,到用例的生成、执行,包含代码检测、漏洞检查等,都可以融入应用的生产和交付过程中。另一个要重点关注的是接口安全,包括接口的安全设计、安全运行、安全监控。例如:在设计阶段进行接口认证、鉴权、参数安全、协议安全等设计。测试用例和执行与接口设计实现自动化生成和适配,快速提升接口级安全。

安全编译构建:编译构建阶段可以承载比较多的安全活动,包括构建前的代码检查、深度开源漏洞检测、隐私合规扫描、安全编译选项等等。

安全发布:可配置相关安全门禁,如漏洞门禁等,同时包括病毒扫描、关键资产检查及软件签发过程,确保最终软件在交付过程中是安全的、完整的。

安全运营与运维:安全运行阶段需要匹配稳定的、安全的运行环境,配套持续的安全监控能力,做到安全感知、响应和事后的恢复能力。

安全度量与可视化:制定相应的安全度量标准,通过整个应用生命周期中的平台数据,可以在看板里展示服务生命不同环节中的安全度量结果,做到对应用的安全状态一目了然。应用的生命周期能够以看板的形式进行安全过程的可视化,以及运行状态的可视化。

最后,毛哲文强调了软件工具链的安全问题。她指出,云原生安全对软件供应链的安全提出了更高要求,确保软件制品在整个生产过程中是可追溯的、安全的、可信的显得至关重要。尤其很多应用的开发基于大量开源软件,不仅要保证自研代码的安全性,还要保证应用所依赖的开源软件的安全,同样需要保证软件生产过程的安全性。华为一直都非常重视软件供应链的安全,并在工具链上构建全量能力,除了保证自研代码安全、开源依赖安全的能力之外,同时也保证整个软件生产和部署过程是可追溯、可审计的,包括软件供应链自身完整性保护,保证整个过程满足可信要求。

点击关注,第一时间了解华为云新鲜技术~

理清逻辑,确保云原生时代应用开发的全生命周期安全相关推荐

  1. 华为云MVP马超:云原生时代开发者的挑战与出路

    嘉宾 | 马超   整理 | 黄文勤 出品 | CSDN云原生 当前,开发领域开始进入云原生时代.新的时代赋予开发人员便利的同时,也提出了诸多挑战. 2022年6月9日,在CSDN云原生系列在线峰会第 ...

  2. 为什么说容器的崛起预示着云原生时代到来?

    摘要:聊云原生之前,我们不妨从容器技术说起. 近年来,云原生(Cloud Native)可谓是 IT 界最火的概念之一,且随着云计算普及进程的不断加深,有愈演愈烈的趋势.今天再谈云原生已经不是少数几个 ...

  3. 云原生时代,企业如何选取研发模式,并通过云效流水线落地

    云原生是近几年IT圈最火热的词汇之一,几乎每一个云计算产品都会或多或少跟云原生发生关联.那到底什么是云原生?它对企业的项目研发又有什么样的影响跟要求?云原生这个大的时代背景下,企业又应如何落地相应研发 ...

  4. 全生命周期的智能化UPS系统 - 劲达 云UPS

    劲达 · 云UPS: 带有云服务的UPS系统,它采用云计算以及移动互联网技术,将劲达多样化的UPS系统接入互联网,使您可以通过安全的网络平台实时监测UPS系统状态.它比以往更具适应性,更易于对UPS进 ...

  5. 开放下载 | 《Knative 云原生应用开发指南》开启云原生时代 Serverless 之门

    点击下载<Knative 云原生应用开发指南> 自 2018 年 Knative 项目开源后,就得到了广大开发者的密切关注.Knative 在 Kubernetes 之上提供了一套完整的应 ...

  6. 传统开发被冲击得“七零八落”,云原生时代下开发者要如何自救?

    整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 当前,新一轮科技革命和产业变革正在重塑全球技术发展格局,传统开发模式开始变得难以满足企业产品业务快速迭代和升级需求,数字化转型已然成为大 ...

  7. mysql数据库应用与开发姜桂洪 课后答案_一站式打卡“云原生”时代的高效开发...

    这个周末,古都金陵,人文璀璨.一场人气爆满的DevRun开发者沙龙悄然拉开了帷幕. 在这场近90分钟脑力风暴,与近2小时实战修炼中,主题直奔当下火热的"云原生",并结合云原生时代的 ...

  8. 免费下载|《云原生时代下的App开发》走进阿里云一站式应用研发平台EMAS

    作为国内移动互联网.云计算领域的行业巨擘,阿里巴巴在大前端.云原生领域有着丰富的实战经验.阿里技术人从2016年开始逐步将阿里集团内部成熟的应用中间件云化输出,并在2018年推出了移动研发平台EMAS ...

  9. 观点 | 云原生时代来袭 下一代云数据库技术将走向何方?

    全面云化的时代已经到来,面对一系列的新技术和挑战,数据库市场将面临怎样的变革?作为云服务提供商,如何帮助更多的企业级用户把握"云"潮,提供最高效.最具价值的数据库解决方案? 日前, ...

最新文章

  1. php调用C代码的方法详解
  2. TCP的三次握手,四次断开
  3. 关于C#使用Shockwaveflash控件设计器不显示问题的解决方案
  4. 未转变者服务器床id,最新id欢迎补充
  5. 推送改变世界!Push提高用户活跃度的三不原则
  6. 让女朋友能懂的网络技术篇之动态代理
  7. 【WPF】提高InkAnalyer手写汉字识别的准确率
  8. Angular 如何根据一个 class 的定义和数据,动态创建一个该类的实例
  9. 干货|MIT线性代数课程精细笔记[第二课]
  10. Android 数据解析——Gson与json
  11. MySQL查询select语句详解
  12. 宁浩:扛过了,痛便是痛快!
  13. Apicloud——关于索引列表
  14. android 得到目录,android 获取路径的获取
  15. MYSQL必知必会-where语句
  16. 什么是网站物理结构、逻辑结构
  17. 2023南京理工大学计算机考研信息汇总
  18. Python PrettyTable 模块(美化库)
  19. 理解目标检测中的老大难:小目标检测
  20. 文献计量之洛特卡定律

热门文章

  1. (48)移动WEB开发基础
  2. 实践 | Centos 7搭建LVS+Keepalived高可用Web服务群集群
  3. 设计模式-创建型模式-工厂模式(工厂三兄弟)
  4. addEventListener方法与on事件的区别
  5. 关于总结记录的一点体会
  6. 计算机图形学生活应用,计算机图形学的应用实例(计算机图形作业).doc
  7. android 属性动画恢复,android – 使用AnimatorSet恢复动画
  8. android 内存检测框架,Android项目内存泄漏检测
  9. linux手动安装mysql8.16,MySQL8.0.16-linux-x64安装介绍(binary package)
  10. [Luogu5105]不强制在线的动态快速排序