赞
踩
在当今数字化时代,操作系统安全的重要性愈发突显。Linux操作系统漏洞曝出频率呈现逐年上涨的趋势,新型攻击层出不穷,攻击者利用漏洞实现权限提升、业务关键信息的获取等,严重破坏了操作系统的机密性、可用性和完整性。
传统解决方案面临挑战
传统安全检测和防御方案采用内核模块技术,内核模块技术是通过编写内核模块来扩展操作系统的功能,内核模块可以直接访问和修改操作系统内核,可以实现高级别控制和丰富的功能,但编写不当的内核模块可能导致内核崩溃或引入安全漏洞。
eBPF提供了一种安全、可编程的方式来扩展内核功能,eBPF程序在内核中运行时会受到严格的安全限制,因此不会对系统的稳定性和安全性产生直接影响,可以实现深度的系统观测能力和自定义扩展能力。
基于eBPF的新一代主机安全解决方案
浪潮信息云峦服务器操作系统KeyarchOS提供轻量化的安全防御组件KSecure,采用eBPF技术路线,提供主机安全检测和防御能力,在增强操作系统安全性和合规性的同时,解决传统内核模块方式带来的系统稳定性和性能问题。
1主要功能
KSecure安全防御组件的主要功能如下:
KSecure安全组件功能架构图
2整体架构
基于eBPF的系统内多层次hook技术,将eBPF程序hook到操作系统内核的多个层级(LSM、syscall、network、kprobe内核函数),其中LSM、syscall、network的hook点具有监控和拦截能力,kprobe内核函数hook点只具有监控能力。通过在各个hook点加载安全策略实现对系统和应用程序行为的监控和拦截。
KSecure安全组件技术架构图
3关键技术
在KSecure安全组件中,涉及如下两个关键技术。
3.1eBPF-LSM hook技术
LSM(Linux Security Modules)是Linux内核中用于支持各种计算机安全模型的框架,用于在Linux内核中实现安全策略和强制访问控制。Linux Kernel 5.7引入了LSM扩展eBPF(简称BPF-LSM),而无需配置LSM模块(SELinux、AppArmor等)或加载自定义内核模块,通过在LSM层面的文件、进程、网络等hook加载eBPF程序,获取应用的异常行为,通过与内置和自定义的安全策略对比后,进行细粒度的(函数级)实时拦截,实现入侵检测和关键文件和进程防御功能。
关键业务防护架构图
以文件防护为例,介绍KSecure安全组件如何进行文件防护,如下图所示:
文件防护示例流程图
3.2基于eBPF的内核监控技术
将eBPF程序通过kprobe、tracepoint技术挂载至内核,监控系统中的文件操作、进程创建、网络连接等行为。基于MITRE ATT&CK(Adversarial Tactics, Techniques and Common Knowledge,即对抗战术和技术知识库)框架构建入侵检测内置规则,结合自定义的检测规则为入侵检测引擎提供判断依据,实现入侵事件识别和攻击阻断。KSecure安全组件入侵检测功能主要由数据采集、数据缓冲、预处理、规则引擎等模块构成。
入侵检测功能模块架构图
以反弹shell入侵检测为例,介绍KSecure安全组件如何检测入侵行为,如下图所示:
反弹shell入侵检测示例流程图
04应用场景
基于eBPF技术安全增强组件具以下几个方面的应用场景:
基于eBPF技术的安全组件KSecure已在龙蜥社区系统安全SIG中开源,我们热忱欢迎广大热爱技术创新、关注安全研究的同行伙伴们一同加入这场探索之旅,共同挖掘eBPF技术在安全防护领域的无限潜能,携手优化并推广前沿的安全解决方案,以共建更为可靠、安全的操作系统生态环境。
龙蜥社区系统安全SIG网址:https://openanolis.cn/sig/syssecurity
系统安全SIG钉钉交流群白皮书下载方式
欢迎关注浪潮信息云峦KeyarchOS操作系统公众号【浪潮信息操作系统】,后台回复关键字“ebpf”,即可获得下载链接。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。