作者 | Tina、魏星
容器技术在诞生的时候,本身并没有太多的考虑安全性,所以近些年来,随着云原生席卷全球,处于云原生计算最前沿的容器技术频频出现安全问题:2018 年,特斯拉、Weight Watchers 在内的多家公司的 Kubernetes 环境遭到攻击;2019 年,黑客利用了一个 Docker Hub 的安全漏洞导致一个企业的 19 万用户数据泄露;另一方面,Log4j 事件预示着全球企业组织正面临漏洞攻击飞速增长的空前局势,软件供应链安全威胁愈演愈烈......
腾讯在网络安全方面有二十多年积攒,同时在攻防主战场“云安全”上有着丰富的实践经验。面对网络安全不断变化的趋势,我们该如何应对?InfoQ 采访了腾讯安全副总裁、腾讯安全云鼎实验室负责人董志强,希望云鼎的安全思路能给我们带来启发和思考。
嘉宾简介:董志强,腾讯安全副总裁、腾讯安全云鼎实验室负责人。从著名的 2006 年专杀“熊猫烧香”,到创建“超级巡警”,再到拓展海外安全,董志强在安全领域一直拥有卓越的技术能力和影响力。2016 年加入腾讯,从反病毒领域转向云安全领域,从无到有牵头组建成立了云鼎实验室,带领团队梳理腾讯云安全架构,并逐步承担云平台的基础安全工作。专注于云领域前沿安全技术研究与创新、安全漏洞研究和处置、云架构和解决方案规划设计、云标准化和合规体系建设等工作。此外,他还在今年 6 月举办的 QCon 全球软件开发大会(北京站)中担任了「业务安全合规」专题的出品人。
InfoQ:从反病毒的专家转向云安全(云鼎),从个人转型的角度来说,您如何看待 To C 的安全与 To B 的安全之间的差异?
董志强:简单说,C 端场景可以用一个产品打穿。B 端的场景就需要多个产品,解决不同场景的安全风险,形成安全纵深防御,体系化来保障安全。
InfoQ:云鼎最初的定位是什么?如果要将云鼎发展分成几个阶段,您总结是怎么样的?
董志强:云鼎从成立之处的定位就是建设领先的云计算安全能力和最佳实践,包括云安全架构与技术研究,产品与平台安全体系,安全运营和治理体系。我们与各兄弟团队紧密协作,比如在云安全的体系建设和运营治理上,与安平进行全方位的协作,在内核防护系统、机密计算方向,会邀请玄武、科恩进行功能验证和安全评审。
第一阶段是解决基本的云安全防护系统的建设问题,比如我们在早期研发了云镜,同时将公司沉淀多年的安全能力包装输出,快速形成了主机、WAF、Ddos 等防护系统。
第二阶段重点解决腾讯云产品的研发安全和租户层面的应急响应工作,落实安全责任共担,安全合规等需求。
第三阶段落实云平台的安全保障工作,持续进行安全研究与创新,将我们的云上的最佳安全实践输出,孵化出安全托管 MSS、数据安全中台等。
InfoQ:对于云基础架构,安全考虑是开发过程的一部分,比如说很多漏洞就是在开发阶段引进来的,也有人认为大多数的云服务形成过程中安全会落后于开发。那么在 2016 年云鼎成立之后,在提升安全性能上首先采取的策略是什么?
董志强:我们知道,IT 需求交付速度和改善效率是企业云化的最大驱动力,为了应对这种要求,采用 DevOps 等敏捷开发模式成为云原生应用的特性之一;比如腾讯会议在 260 天迭代了 29 个版本。但是敏捷倡导的最小化可行产品等概念,需求设计阶段的阶段的减短导致过去安全模式中强调的威胁建模等理念难以开展。对应的解决之道是 Gartner 在 2012 年提出的 DevSecOps,它是一种糅合了开发、安全及运营理念的全新安全管理模式,提出安全是整个 IT 团队(包括开发、测试、运维及安全团队)所有成员的责任,需要贯穿整个业务生命周期的每一个环节。
云鼎为了保障腾讯云产品的研发安全,持续探索 DevSecOps 在腾讯云的落地和实践,我们建立了腾讯云 DevSecOps 模型,基于腾讯安全的能力,构建更易用、高效的 DevSecOps 工具链,将安全能力嵌入到 DevOps 平台,通过 CI/CD 流水线检查及安全门禁等方式实现在业务的研发甚至运营阶段前置、高效的收敛安全漏洞,通过一系列标准要求与度量机制,实现上线前的漏洞收敛率的大幅提升,保障业务快速迭代中的安全质量。
整体我们希望通过 DevSecOps 的落地实践,将安全左移,降低安全问题发现和修复的成本,同时适配敏捷开发模式,提供更高效的安全检测能力与机制,在业务快速迭代的同时保证安全质量,以此来实现腾讯云产品的出厂安全。此外我们也积极参与一些行业标准制定,向行业分享我们的实践经验,比如信通院发布了一系列研发运营安全工具标准,我们是主要的起草单位之一。
InfoQ:云鼎发展到现在,期间您遇到的最大的挑战是什么?
董志强:目前云计算仍然在发展的早期阶段,安全作为伴生技术,出现的时间更晚。早期我们进行安全建设时可以借鉴海外的经验。但最近几年,国内数字经济发展发展迅猛,有很多独特的场景和数字生活体验,提出了新的安全要求,这使得我们重新审视云平台的安全架构,重新定义我们的安全度量标准,我们也在多个方向进行布局,对新的场景进行摸索,尝试突破。
InfoQ:请简要介绍一下近年来的网络安全威胁的变化趋势,这对您本人以及腾讯云的安全防御思路产生了哪些影响?
董志强:这些年在安全威胁上明显的变化有几点:
第一是加密货币的流行,使得黑产更容易实现隐秘的变现,所以挖矿、勒索这类黑产比较流行。从现象上看,针对云服务器攻击植入挖矿软件,加密重要数据资产进行勒索变多了。
第二是供应链安全问题凸显。传统边界防御建设的相对完善,供应链上下游薄弱环节开始被黑客关注。国际组织 Forrester Research 的研究表明,应用软件 80%-90% 的代码来自开源组件,而开发者往往对开源社区默认信任。所以对开源组件的攻击,通过源码投毒污染下游生态就成为黑客关注的有效攻击手段。
第三是新的计算形态带来新的安全挑战。比如 Serverless,函数计算等。要保证新技术快速发展同时安全防护不缺位,有比较大的实践挑战。
第四是合规要求带来新的技术挑战和新的业务场景。各国不同的数据安全要求,给数据安全带来新的挑战和发展机会。
在安全防御上,我们一直坚持全栈安全思维,坚持基础设施从底层到上层全链路的安全建设,坚持安全左移,进行 DevSecOps 的云平台最佳实践,在每个云产品里面设立安全卡点,把安全能力做到云里面去,实现更好的云原生安全。其次我们会加强安全专家的队伍建设,以攻促防,进行积极防御。
InfoQ:容器是当前开发者最关心的技术,也处于云原生计算的最前沿。有报告指出,75% 正在运行的容器至少存在一个“高”或“严重”漏洞”,为什么在云原生时代里会有如此多漏洞?
董志强:目前大部分容器的漏洞,主要是由于镜像引入的,开发人员将业务代码和依赖的组件与底层操作系统打包成容器镜像文件,然后通过 Kubernetes 等容器编排系统进行部署运行。其中业务代码、第三方组件、底层操作系统均可能存在漏洞。目前软件应用开发中大量引入第三方组件和开源组件的趋势加剧了容器镜像引入漏洞的风险。
运行的容器中的漏洞风险,可以通过对容器对应的镜像文件进行漏洞检测发现,确定漏洞引入的镜像文件层级并进行修复,修复过程可以理解为先对容器对应的镜像做修复并重新打包生成新的镜像,再运行起来成为新的容器来解决,借助自动化的辅助措施可以实现快速修补。
InfoQ:对于任何的虚拟化平台而言,虚拟机 & 容器的逃逸都是一个非常严重的安全隐患,基本上能让所有的主机安全防护瞬间失效。针对这类极端问题的防护,和针对常规 DDoS 的防护,您认为比较有效的预防策略分别是什么?
董志强:虚拟机逃逸风险属于云安全的热点话题。作为云安全的建设者,我们针对这类问题其实不会采用单点对抗的解决方案,而是采用两个思路,第一是探寻全栈的防护思路。比如在 KVM/QEMU 以及主机 OS 侧,做了大量加固和漏洞缓解措施,从之前暴露出来的逃逸漏洞反向验证效果来看,我们的防护措施可以发现并阻断这种攻击。第二是配合虚拟化平台定制化的安全架构设计,攻击者想实现可控的逃逸代价非常大。
容器逃逸这里,因为容器共享内核的原因,会有一些内核漏洞宣称可以实现容器逃逸。在防护上除了上面内核加固的思路外,也需要对 Kubernetes、runc 等容器基础设施组件漏洞和配置类导致的逃逸问题进行配置加固,对进程 capability、系统调用、容器间通信隔离等细粒度的管起来,就能有效降低容器逃逸发生的可能。
InfoQ:请您谈一谈对供应链安全的看法,以及腾讯云在供应链安全方面的举措?
董志强:供应链安全这个问题的提出,符合安全趋势发展的一贯规律,就是哪里还没被安全覆盖,黑客就会去哪里捣乱。我们看到软件供应链的安全攻击事件一直呈快速增长态势,供应链安全也成为我们安全工作的重点之一。
供应链安全问题既是技术问题,也是生态问题。腾讯云在软件供应链安全方面,在固件安全分析、源码静态分析、组件的依赖解析和成分分析上,做了很多技术积累。
首先在引入方面,通过自建的软件源集成安全检测能力识别和阻断有害的组件下载,如一些假冒的 pypi 包或者一些存在高危漏洞的组件;同时,建立开源组件黑名单,对于类似 strust2 等常年爆发漏洞的组件,严禁使用和引入。
在使用和维护方面,基于 DevSecOps 与资产测绘,通过 SCA(软件成分分析)、网络探测、主机探测等多方式识别问题及黑名单开源组件并推动收敛和替换;同时通过安全情报监测与开源软件的安全研究,实现对开源组件风险的提前发现与及时响应。
在生态方面,我们跟一些新兴的供应链安全创业公司有很好的合作,也加入了 OpenSSF 这个国际化组织,通过跟业界共建的方式保障供应链安全。
InfoQ:请您谈谈对安全责任共担模型的看法?
董志强:安全责任共担模型是云安全联盟中大家公认的事实上的行业标准,这个模型明确了云厂商和租户的安全边界,也明确了云厂商内部的安全责任。
中国目前从法律层面上已经明确了网络安全的主体责任,无论什么形式的网络攻击,最终都是企业主体需要对安全负责。作为公有云平台,我们也有责任保障云基础设施的安全。从这个角度来说,责任共担模式依然是成立的,公有云和公有云租户各司其职,共同保护云上运行的业务的安全。
InfoQ:不同的云厂商在云安全架构上各有侧重,腾讯云的云安全架构侧重点在哪里?
董志强:腾讯云是一个多生态融合、多业务场景的云平台,优势在于云厂商对不同行业生态及场景的理解。从架构上看我们一直倡导全栈安全能力,从底层基础设施到上层应用安全均有云原生的安全能力嵌入,此外我们深耕场景化解决方案,结合云原生安全架构快速助力企业上云。比如我们能快速打通办公网与云上的安全体系搭建,实现远程办公零信任接入,这对于中大型公司具有很强的吸引力。再比如 mss 服务可以帮助中小型公司做好安全产品和安全服务之间的衔接,提供一站式托管安全,在提升客户安全水位的同时又降低企业的安全成本。
InfoQ:在当前云计算爆发增长的坏境下,安全业务和云业务算是并行发展吗?如何形成更好的整合?
董志强:安全既是业务,也是云的基本属性。没有安全这个前提保障,云的其它优势都无从谈起。随着越来越多的数据、流量、业务搬到云上,云已经成为攻防的主战场。所以我们看到云安全的需求越来越大,新的安全业务模式和产品形态也不断涌现出来,安全也在驱动云业务的发展,两者之间相辅相成。
很多时候我们也会看到云跟安全的融合,这就是我们常说的云原生安全。我们希望做到云默认安全,借助云原生的优势,将云鼎在安全领域的专家经验和技术积累形成普适性的方案, 使得普通用户能一键开启,开箱即用,以此提升客户的安全水位。