基于eBPF的数据使用控制:DataUCon项目揭秘

2023年 9月 28日 24.3k 0

Part 1: 数据和容器——不仅是神秘,还是悬念重重

数据:那个总是让你猜不透的“心机婊”

数据,这个看似冷冰冰的东西,其实有着复杂多变的“性格”。一方面,它能推动业务飞速发展,让你觉得自己找到了致富的金矿。但另一方面,它也可能背地里“玩”得太过火,造成数据滥用、超范围使用,甚至是数据泄露。

想象一下,你用心培养的数据突然变成了一个“双面间谍”,在你不知情的情况下与不明身份的第三方分享信息。可怕吧?这就是缺乏可观测性和细粒度控制带来的后果。

容器安全:你以为的“保险箱”可能是个“纸盒子”

说到容器技术,很多人可能会觉得它们就像是一个高级的“保险箱”,能够把你的应用和数据安全地锁在里面。但真相可能会让你大吃一惊:这个“保险箱”可能就是一个有缺陷的“纸盒子”。

传统容器环境给人一种错觉,让你觉得所有的应用都是隔离的、安全的。然而,一旦其中一个容器被攻破,攻击者就能像打破冰湖的第一个冰点那样,迅速侵入其他容器。

Part 2: DataUCon——基于eBPF的数据控制解决方案

eBPF:从内核到应用的全链路数据控制

在DataUCon项目中,eBPF(扩展型伯克利数据包过滤器)起到了至关重要的作用。这一技术不仅使我们能够在操作系统内核级别进行数据操作和审计,还能够实现对应用层的精细控制。

一方面,通过eBPF,DataUCon能实现对数据访问和使用模式的实时监控。这意味着,不仅可以识别非授权或异常的数据访问行为,还可以实施即时的阻断或警告。这种实时性和精确性为防止数据滥用和超范围使用提供了强有力的保障。

另一方面,eBPF还支持自定义的数据过滤和处理逻辑,这使得DataUCon能更灵活地适应不同的安全需求和合规标准。

数据溯源与安全管理:动态加密与可靠标记

DataUCon进一步通过一个可信数据格式处理引擎,实现了数据和其衍生物的加密和标记。这不仅确保了数据的安全性,还提供了一种动态的、可管理的数据溯源机制。

在这个框架中,每一份数据或其衍生物都会被赋予一个唯一的标识符,这使得数据的生命周期管理变得更为简单和可靠。同时,这种唯一标识符也方便了对数据使用情况的后期审计和分析。

基于eBPF的容器安全:从隔离到深度防护

除了数据安全,DataUCon还着重解决了容器环境中的安全问题。通过基于eBPF的实时环境监测,DataUCon不仅实现了容器之间的有效隔离,还提供了更为深度的安全防护。

具体来说,DataUCon能够实时监测容器内部和外部的各种活动,包括但不限于文件访问、系统调用和网络通信。这一全面的监测覆盖范围使得DataUCon能在第一时间内发现并应对各种安全威胁,从简单的数据泄露到复杂的权限提升攻击。

这种基于eBPF的深度防护机制,使DataUCon在容器安全领域具有显著的优势,能够有效地防止和应对各种复杂的安全挑战。核心优势/特性

Part 3: 关键技术介绍

DataUcon架构介绍

如图所示,DataUcon 是基于eBPF技术的安全容器内数据使用控制组件,其包括几个核心仓库:

  • DataUcon: 主仓库, 项目整体架构及组件介绍,并提供DataUcon应用案例场景
  • Duetector: 支持eBPF的可扩展数据使用探测器, 进行环境监测并采集策略相关属性,该组件为使用控制过程中的核心组件
  • Duefuse: 基于FUSE的数据使用控制执行点, 提供用户无感知的文件系统接口功能,该组件也是使用控制策略的执行点
  • image.png
    使用控制的前提是基于eBPF 进行跟踪、监控的系统操作信息,使策略能够依据详尽的信息进行决策,因此本阶段项目关键就是对Duetector的建设。

    🔍Duetector:支持eBPF的可扩展数据使用探测器

    duetector🔍是一个支持eBPF的可扩展数据使用探测器,它可以在Linux内核内外对数据使用行为进行探测、过滤、采集、分析,实现数据使用可观测,为数据使用控制提供支持。

    主要特性

    • 插件化设计:支持探测器、过滤器、存储后端、查询器的插件化实现
    • 多样的查询接口:提供SDK和服务两种查询方式
    • 开箱即用:在Docker中利用SQLite作为存储端监控宿主机的数据使用情况

    架构概览

    image.png

    项目目前由两个进程组成,监控进程和服务进程。

    监控进程由BccMonitor和ShMonitor组成,支持通过bcc和shell command采集内核调用和环境信息。其内部由Tracer、Filter、Collector三个可插拔组件组成,分别负责信息收集、过滤和存储。

    服务进程为Analyzer提供了一个可访问的入口,Analyzer是一个分析器,提供从低级到高级的查询、聚合能力,为策略决策提供信息。

    数据流

    image.png

  • 将 Tracer 的回调注册到主机,并启动 Monitor。

  • 一旦调用了 Monitor 的 poll,它将触发 Tracer 的回调。

  • Tracer 的回调将调用 Filter 来过滤数据。

    • Filter 的 filter 将调用 Collector 的 emit 来收集数据。
  • Analyzer 重构数据并提供查询和分析 API。

  • Query Service 为 PDP 提供查询数据使用信息的 API。

  • 近期目标

    • 接入Opentelemetry,提供更加开放的存储和更强大的二次处理能力
    • 容器支持:对容器启动情况进行优化
    • Benchmark:建立项目的基线标准
    • 针对深度学习场景添加使用案例

    中长期目标

    • 对数据使用的可观测性进行进一步探索,支持4W1H的使用控制原则
    • 支持BPF CO-RE程序嵌入

    欢迎通过Good First Issue快速参与到我们的项目中来!

    🚀 DataUCon项目路线图:打造数据安全的明天,从今天开始!

    🌟 持续推进与更新: 在数据安全和管理领域,DataUCon的目标是建立一个综合、全方位的解决方案。为了实现这一雄心壮志,我们精心规划了一系列创新和优化的步骤。当然,这一切都离不开社区的参与和支持。因此,我们非常欢迎各位对数据安全和控制充满热情的朋友加入我们,一同推动DataUCon的持续发展。

    现在,让我们一起看看接下来将要实现的具体目标:

    🛠️ duetector:不仅仅是侦测,更是全面的数据安全保障

    • 🎯 目标: 利用eBPF的强大能力,不仅进行系统文件和网络活动的深度监控,还要提供详细且可计量的日志服务。

    • ⚙️ 行动计划:

    • 对文件读写、修改、删除等多种IO操作进行监控

    • 对网络连接和数据传输进行实时检测,确保数据安全

    • 设计一个强大的日志系统,用于后续的数据分析和报告

    • 🎉 里程碑: 首个具备完全eBPF探测和日志功能的duetector V1.0 版本发布。

    🗄️ duefuse:多样化的数据存储和传输解决方案

    • 🎯 目标: 从现有的S3协议支持开始,逐步扩展到更多的文件存储和网络传输协议。

    • ⚙️ 行动计划:

    • 对现有的S3协议支持进行优化和测试

    • 开始研究和开发更多流行的文件和数据传输协议

    • 🎉 里程碑: 发布全面支持多种文件和传输协议的duefuse V1.0 新版本。

    🎛️ 策略中心对接:灵活、高效、安全

    • 🎯 目标: 与主流的策略控制中心进行深度集成,以便用户能更加轻松地管理和控制数据安全。

    • ⚙️ 行动计划:

    • 开发一套简单但强大的API接口,用于策略的导入和应用

    • 提供一系列预设的策略模板,以满足不同场景和需求

    • 🎉 里程碑: 完成与策略中心的成功对接,提供一键式的策略应用。

    这些只是我们眼前的几个目标,但每一个都是为了实现DataUCon全面而可靠的数据安全保障。我们诚挚地邀请您加入这个激动人心的项目,和我们一起为数据安全和管理领域带来革命性的改变!

    Part 4: 🚀 加入DataUcon:一起推动数据安全的新篇章!

    DataUCon是一个大家都能参与的开源项目!如果你对数据安全充满热情,或者简单地想让数据更安全、更可控,这里绝对是你的理想之地。

    🎯 如何参与?

    • 🔍 体验 & 反馈: 安装DataUCon,尽情使用,并分享你的感受和建议。
    • ❓ 疑问 & 灵感: 有问题?有创意?在GitHub Issues里发表你的看法或建议。
    • 💻 动手参与开发: Fork一下,做些改动,然后发起一个闪亮的Pull Request。
    • 📚 文档 & 教程: 如果你擅长写作,欢迎你来完善我们的Wiki或者创建新手教程。
    • 🎨 设计 & UI: 设计才子才女们,我们的UI等你来装点。
    • 🌐 本地化: 帮助我们让DataUCon“说”更多的语言。

    👉 想了解更多?所有的参与指导和代码规范都在我们的[GitHub页面]。

    💥 无论你是代码达人,文档专家,还是热爱在社区中交流,我们都热烈欢迎你加入DataUCon,一起推动数据安全的进步!

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论