当前位置:首页 > 技术知识 > 正文内容

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

maynowei5个月前 (09-23)技术知识58

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

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

生产环境主机威胁

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

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

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

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

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

Elkeid RASP 兼容适配

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

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

Elkeid RASP 防护策略

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

  1. RASP 的数据采集会覆盖目标应用的进程、网络与文件,并基于最小 Hook 原则,实现最小的资源占用;
  1. 通过 Elkeid-HUB 技术的强大流式编排计算能力,确保 RASP 能够对上报数据完成快速策略计算;
  1. RASP 探针原始上报的数据将会持续经过 HUB 的计算,生成的告警可以直接推送到安全工程师的通讯工具或是 CWPP 工作台中。

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

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

Elkeid 联动与溯源

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

  • 入侵者是哪里进入的?
  • 入侵发生了多久?
  • 多少资产受到影响?
  • 入侵者的完整路径与操作是什么?

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

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

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

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

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

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

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

相关文章

2018年度回顾:挖矿木马为什么会成为病毒木马黑产的中坚力量

一、概述根据腾讯御见威胁情报中心监测数据,2018年挖矿木马样本月产生数量在百万级别,且上半年呈现快速增长趋势,下半年上涨趋势有所减缓。由于挖矿的收益可以通过数字加密货币系统结算,使黑色产业变现链条十...

记录程序第一天挖漏洞的过程(挖漏洞需要学什么语言)

第一个漏洞复现fastjson漏洞说明:在本地这个fastjson会出现问题复现的过程生成一个java文件进行攻击注入的方式javac Exploit.java但是必须编译成.class文件才能执行p...

微软明年要停止SQL Server 2005的技术支持了

站长之家(Chinaz.com)12月28日消息据外媒消息称,微软将于明年停止为SQL Server 2005提供技术支持,即不再为其提供新的安全补丁、新功能、应用升级等服务。且表示在停止技术支持后,...

打通 JAVA 与内核系列之 一 ReentrantLock 锁的实现原理

写JAVA代码的同学都知道,JAVA里的锁有两大类,一类是synchronized锁,一类是concurrent包里的锁(JUC锁)。其中synchronized锁是JAVA语言层面提供的能力,在此不...

分析 Rust 程序的火焰图(rust火吗)

分析 Rust 程序的火焰图(Flame Graph)是定位性能瓶颈的核心手段,其核心是通过可视化的函数调用栈和时间分布,找到 CPU 耗时、内存分配、锁竞争等热点。以下是详细的分析方法和步骤,结合...

C++ 原子操作与锁的深度解析:为什么原子操作并非万金油?

大噶好,我是henry,今天来和大家浅浅聊一下为啥C++原子操作并非万能钥匙,原因有三,且听我娓娓道来:一、原子操作的线程安全性C++11 的 std::atomic 确实为单个变量的线程安全操作提供...