You need to enable JavaScript to run this app.

应用安全如何保障?来自字节跳动的实践分享

最近更新时间2023.09.07 11:55:51

首次发布时间2022.12.09 15:37:23

随着企业数字化转型不断深入,企业核心应用的安全愈发重要。应用层集合外部、内部和供应链三种攻击来源的各类威胁,常常成为业务架构中被攻击的入口,单一的防护方案很难实现全面防御。如何有效实现应用安全?这一问题是火山引擎云安全团队长期关注与重视的,并结合字节跳动应用安全积累了丰富的实战经验。
生产环境常见的各类威胁

在刚刚结束的2022 CCS 成都网络安全大会上,来自火山引擎的信息安全工程师潘玺廷,进行《字节跳动应用运行时如何防护》的主题分享。

生产环境主机威胁

生产环境攻击来源可以归类为外部、内部和供应链。对于一台主机,这三种攻击来源会实施在不同的作用域:对于 Linux 内核与用户态会有常见的恶意软件或是 Linux 漏洞风险,对于容器层会有更难以约束的镜像问题或是集群配置问题。本次分享的重点在应用层防护,这是一台主机最主要的攻击入口,这里集合了三种攻击来源的各类威胁。

为了应对应用层不同作用域、不同来源、不同方式的威胁,火山引擎结合字节跳动多年的实践应用经验,研发了针对不同作用域的 Elkeid 解决方案。

Elkeid 解决方案包含端上统一的 Agent 以及各个能力插件,为客户提供内核信息与事件采集、用户态查杀与基线、容器与集群审计、RASP 防御等安全能力,帮助客户应对在应用层不同作用域、不同来源、不同方式的威胁。火山引擎 Elkeid 解决方案能够满足企业服务器端的入侵检测,合规,审计等需求,同时实现对应用层的全面防御。
火山引擎 CWPP端上与容器集群安全能力一览

其中火山引擎 Elkeid RASP 是火山引擎云安全团队自研的一种应用安全防御技术,通过对应用运行时植入探针来采集运行时的关键信息,并分析运行时行为产生及时告警。

潘玺廷介绍了火山引擎 Elkeid 如何通过 RASP 技术,确保对业务生产环境和应用层实现有效的安全防护。

Elkeid RASP 兼容适配

火山引擎在自研 Elkeid RASP 技术前,就对该应用安全防御技术的适配兼容和快速部署进行了高要求,希望 RASP 能在采集、检测外具备旁路部署的能力,并且同时支持在多种语言环境下的使用。
Elkeid RASP 技术对多种语言均可兼容支持

因此,火山引擎 Elkeid RASP 技术对于Node.JS/JVM/PHP/CPython/Golang 语言都是利用语言特性或相关接口来完成旁路部署的,并且在部署指令与上报信息的过程中,都能通过 Elkeid 技术栈与 Server 交互。

Elkeid RASP 防护策略

为了实现对业务运行过程中信息的全面采集,并对识别出的告警信息进行及时推送,火山引擎 Elkeid RASP 采用以下防护策略:

  1. RASP 的数据采集会覆盖目标应用的进程、网络与文件,并基于最小 Hook 原则,实现最小的资源占用;

  2. 通过 Elkeid-HUB 技术的强大流式编排计算能力,确保 RASP 能够对上报数据完成快速策略计算;

  3. RASP 探针原始上报的数据将会持续经过 HUB 的计算,生成的告警可以直接推送到安全工程师的通讯工具或是 CWPP 工作台中。

火山引擎 CWPP 是为了满足企业在复杂架构下安全需求的产品,帮助企业在一体式的解决方案下更好保障云上、云下工作负载安全。

火山引擎 CWPP 控制台告警展示

  1. 通过构建 Elkeid-HIDS 与 Elkeid-RASP 共同监控的沙箱,同时对上游 package 及时订阅并分析,可以得出更早期的上游恶意包信息。

构建 Elkeid 沙箱对供应链软件进行分析

Elkeid 联动与溯源

当确认发现入侵行为后,安全工程师首要的工作便是要解决这些问题:

  • 入侵者是哪里进入的?

  • 入侵发生了多久?

  • 多少资产受到影响?

  • 入侵者的完整路径与操作是什么?

火山引擎Elkeid可以通过与 CWPP 实现快速联动,将发现到的安全告警实时发送给 CWPP 进行快速处置,通过告警溯源能力有效解决以上问题。

火山引擎 CWPP 通过自研存储层实现对原始数据存储的低成本存储和高效查询,该方案可以支持PB级原始数据的秒级查询,当产生安全告警后,CWPP 溯源引擎会尝试通过将告警与原始数据关联查询以达到还原现场的能力。
CWPP 的多个安全功能溯源

CWPP是为物理机、虚拟机、容器和无服务器工作负载提供一致的保护和可见性的安全产品。火山引擎 CWPP,脱胎于字节跳动主机安全团队,该项目在字节跳动内部解决了千万级容器的反入侵与溯源需求。欢迎点击阅读原文,试用火山引擎 CWPP。

目前火山引擎 Elkeid 已将完整采集能力开源——

Github: https://github.com/bytedance/Elkeid

Home Page: https://elkeid.bytedance.com

在未来,火山引擎 Elkeid 将持续结合整体网络环境,和字节跳动内部实践、技术创新,为企业用户提供更为全面的主机安全解决方案。