热门标签 | 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,一般会尝试在已隐藏模块的基础上,进一步在载入内核的内存数据中,擦除包括模块头部数据在内的痕迹。对这种情况,我们仍然能够检测出上述内核函数篡改以及对应的特征影响,但其内核模块名称已经无法还原提取,此时用户接收到的告警如下所示。



推荐阅读
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社区 版权所有