热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

检测LinuxRootkit入侵威胁——阿里云是基于行为特征如信号劫持或者文件隐藏,用户提权和网络隐藏,进程劫持等进行检测

检测LinuxRootkit入侵威胁更新时间:2020-12-2213:37https:help.aliyun.comdocument_detail194087.html 云安全中

检测Linux Rootkit入侵威胁

更新时间:2020-12-22 13:37

https://help.aliyun.com/document_detail/194087.html 

云安全中心企业版支持Linux Rootkit入侵威胁检测功能,帮助您及时发现资产是否被Rootkit入侵。


背景信息

Rootkit泛指所有黑客在已入侵的服务器上,为了实现自身或其它恶意行为而隐藏的恶意程序。Rootkit往往采用与操作系统机制相关的底层技术实现,用于与人工审计、安全软件分析进行对抗,因此往往涉及对受害服务器的内核、驱动进行注入和篡改。

Rootkit危害

Linux服务器的Rootkit是一类近些年有很大发展的高级对抗性恶意程序。通常,Linux Rootkit特指以Linux内核模块(LKM)形式加载到操作系统中,从内核态实现更高权限的操作,或直接对内核态代码进行篡改,从而劫持整个系统正常程序的运行。借助Rootkit,黑客可以实现对任意目录、文件、磁盘内容、进程、网络连接与流量的隐藏、窃取和篡改,并提供隐蔽的后门可供黑客直接登录到受害服务器执行更多操作。

如果服务器被植入了Rootkit,该服务器就会被黑客完全控制并且无法察觉。例如,在Linux服务器中较为常见的Reptile Rootkit,可以向目标系统安装一个名为reptile_module的内核态驱动模块,并将自身隐藏,实现以下目的:



  • 黑客用户提权

  • 隐藏文件和目录

  • 隐藏进程

  • 隐藏TCP/UDP连接

  • 开机持久化隐藏

  • 文件内容读写篡改

  • ICMP/UDP/TCP类型后门

  • 带文件传输功能的反弹Shell

  • 代码与模块混淆

检测难点与现状

相比Rootkit的公开流行和发展,其检测技术在业界并没有成型的产品和成熟的方案。现有的工具例如Chkrootkit和Rkhunter,仅根据特定几种已知类型Rootkit的文件等特征判断,无法发现存在隐藏痕迹的、新型的Rootkit。而类似Volatility的内存取证方案,需要采集待检测服务器的全系统快照,并依赖于定制的或特定功能的插件,导致其无法被非安全专业人员或云服务器用户使用。


云安全中心Rootkit检测方案介绍

为了对云服务器实现Rootkit精准检测,云安全中心推出了一套轻量级的方案,以取证的方式,尝试发现潜在的Rootkit存在痕迹与影响。同时,保证对目标服务器的资源消耗极低,避免带来潜在的稳定性风险。

为发现任何形式隐藏、混淆的Rootkit,Rootkit检测功能针对通用Rootkit的原理,即总是存在对内核态函数(系统调用、VFS函数及底层功能函数)的挂钩(hook)、篡改和劫持,对系统内存镜像进行必要数据的采集检查,来确定Rootkit的存在与属性,判断被篡改劫持的系统功能,推断Rootkit本身的功能作用,从而尽可能准确地判定Rootkit,并向用户告警传递以上信息。

作为一种取证扫描形式的检测技术,本检测方案可定时对目标服务器所有历史上被植入且仍然存活的Rootkit内核模块进行全量检出,但不包括Rootkit植入进行时的行为检测。关于疑似Rootkit植入行为,以及用于植入的Rootkit内核模块文件(.ko文件),云安全中心提供“进程异常行为”、“恶意进程(云查杀)”、“持久化后门”等类型的告警检测。


Rootkit检测与推送范围

云安全中心企业版每天定时检测您资产中是否存在Rootkit威胁,检测出威胁时会自动发送告警通知,无需您主动启用或触发检测。非企业版用户或未检测出Rootkit威胁的用户不会收到相关告警。

 

说明 如果您在安全告警设置中未选择任何关注等级,您将不会收到告警通知。具体内容,请参见通知。


Rootkit告警信息解读

如果您的资产中检测到Rootkit内核模块,云安全中心控制台会推送以下告警信息。

告警参数说明详见以下表格。



























 
参数说明
Rootkit内核模块名称指从内核态内存中,定位到的隐藏的内核模块名称。正常的内核模块载入后会在lsmod命令输出中列出,而隐藏的模块名则在此列表中隐藏。
Rootkit篡改的内核函数指在扫描中,发现被篡改、劫持的内核态函数名。这其中包括了作为内核功能入口的系统调用函数、VFS抽象层函数以及更底层的函数等。这种篡改既包括对正常函数指针的替换,也包括对正常内核代码的改写。这些劫持后真正被执行的代码,都存在于上述命名的隐藏内核模块的内存地址空间内。
Rootkit特征影响指根据上述定位的篡改的目标,分析归纳出的Rootkit作用功能。现在包括如下分类标签:目录或文件隐藏、进程隐藏、文件内容隐藏、目录或文件防删除、网络隐藏、用户提权、进程劫持、信号劫持或后门开关、文件防改写或输入窃取、工作目录劫持。不同的Rootkit可能包括其中一项或多项标签。

支持检测的Rootkit列表

云安全中心Rootkit检测功能支持检测Linux 2.6.32以上内核、64位服务器。实际测试中选取了GitHub上较活跃维护的RootKits-List-Download列表,筛选其中开源或开放的Linux LKM型Rootkit。当前,云安全中心已全部可检出其中仍然有效的Rootkit。

支持检测的完整的Rootkit列表及状态如下。

















































































































































 
Rootkit测试系统内核结果
f0rb1dd3n/Reptile 1.0CentOS 7.63.10.0检出
f0rb1dd3n/Reptile 2.0Ubuntu 16.044.4.0检出
Eterna1/puszek-rootkitUbuntu 16.044.4.0检出
m0nad/DiamorphineUbuntu 16.044.4.0检出
citypw/suterusuCentOS 7.63.10.0检出
XingyiquanCentOS 6.102.6.32检出
bones-codes/the_colonelCentOS 6.102.6.32检出
miagilepner/rickrollyCentOS 6.102.6.32检出
matteomattia/moo_rootkitCentOS 6.102.6.32已失效
ivyl/rootkitCentOS 6.102.6.32检出
QuokkaLight/rkduckUbuntu 16.044.4.0检出
falk3n/subversiveCentOS 6.102.6.32检出
a7vinx/liinuxCentOS 6.102.6.32检出
varshapaidi/Kernel_RootkitCentOS 7.83.10.0已失效
hanj4096/wukongCentOS 7.83.10.0检出
NinnOgTonic/Out-of-Sight-Out-of-Mind-RootkitCentOS 6.102.6.32已失效
joshimhoff/toykitCentOS 6.102.6.32已失效
jiayy/lkm-rootkitCentOS 6.102.6.32已失效
nurupo/rootkitCentOS 6.102.6.32检出
trimpsyw/adore-ngCentOS 7.83.10.0检出
PinkP4nther/SutekhAliyunLinux4.19.91检出

 

说明 当前,对于已经在云上发现的多种非开源、并已有一定受害影响面的Rootkit,云安全中心已支持全部检出。具体检测列表后续披露。


高级对抗型Rootkit检测

在云服务器的大量分析中,已经发现有部分对抗型Rootkit,用于对抗类似Volatility的一般内核内存取证形式的扫描检测。我们目前的检测机制,已经支持对这类混淆和对抗的绕过。这类对抗型Rootkit,一般会尝试在已隐藏模块的基础上,进一步在载入内核的内存数据中,擦除包括模块头部数据在内的痕迹。对这种情况,我们仍然能够检测出上述内核函数篡改以及对应的特征影响,但其内核模块名称已经无法还原提取,此时用户接收到的告警如下所示。



推荐阅读
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文总结了汇编语言中第五至第八章的关键知识点,涵盖间接寻址、指令格式、安全编程空间、逻辑运算指令及数据重复定义等内容。通过详细解析这些内容,帮助读者更好地理解和应用汇编语言的高级特性。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
author-avatar
GXTV杨波
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有