两个linux内核rootkit--导语

简介:

曾经说过,linux由于其内秉的文件删除机制导致一旦发现有恶意代码很容易被清除掉,即使发现内核本身被感染也是很容易被清除掉,但是这并不能表示linux就是绝对安全的,这仅仅说明linux的补救措施很有效,因此如果想黑掉linux系统,那么首要的不是想如何让用户删不掉恶意程序,而是尽可能严谨的隐藏恶意程序,隐藏的含义有必要澄清一下。

考虑一下用户或者管理员通过什么来探知系统的行为,无非就是一些当前的系统快照以及以往的记录,快照我们可以举出很多例子,比如进程,端口,文件,用户等等,而记录则可以被理解为日志信息,除了快照和记录之外,还有一些软性的因素可以帮助用户或者管理员探知系统,这就是性能检测,如果无缘无故发现性能变差了但是又没有检查出额外进程或者端口,那么很可能系统被攻击了,因此只要我们将恶意程序相关的进程,端口,文件以及文件内容都隐藏,将与恶意程序有关的日志信息都屏蔽掉,并且恶意程序运行期间不会太影响性能,那么攻击就算成功了,而且很有效。虽然这样的攻击的确很酷,但是这并不能说linux系统本身有漏洞或者说linux本身不安全,linux系统的安全责任在两方面,一个是系统,另一个是使用系统的人,从系统攻击linux几乎是很难成功的,需要复杂的漏洞扫描过程,那么在黑掉系统之前必须先黑掉使用系统的人,只要有了root权限在linux中是什么都可以做的,我在前面的文章中也提到过,不要觉得写一个内核木马就很酷,那仅仅说明你有c语言基本的变成知识并且你拥有该系统的root权限,如果你能以一个普通用户的身份通过漏洞进入内核,那么你才是高手。

黑掉使用系统的人不是技术范畴的事,因此不讨论,现在假设已经获得了root权限,我们考虑一下具体要做哪些工作,首先最基本的,要隐藏进程而相关的文件,加载入内核的模块以及使用的端口,其次要屏蔽日志信息,具体来说就是拦截syslogd的行为,只要是恶意程序写的日志,那么过滤掉,utmp和wtmp也是需要关注的,因为who命令通过读取上述文件就可以知道登录记录,如果恶意程序涉及登录的话,那么屏蔽掉,幸运的是日志行为最后都落实为写文件,在linux中均由文件系统来负责,参照rootkit隐藏文件的方式,我们只需要拦截文件系统的系统调用就可以了。说到这里,拦截方式有两种,一种是直接拦截系统调用本身,另一种是拦截文件系统的回调函数,也就是file_operations中的函数,前者很容易被发现而后者却很隐蔽,毕竟前者属于机制性的东西,一般比较固定,反黑软件一般都可以查的出来,而后者属于具体文件系统的策略,不是那么固定,因此反黑软件很难入手,两种方式也代表了两种风格,难易程度相当,不过我还是觉得拦截文件系统回调函数来得更容易些。好了,接下来的两篇文章将阐释两个著名又很简单的rootkit。



本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1273348

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1天前
|
存储 算法 Linux
【Linux】线程的内核级理解&&详谈页表以及虚拟地址到物理地址之间的转化
【Linux】线程的内核级理解&&详谈页表以及虚拟地址到物理地址之间的转化
|
1天前
|
安全 Linux
【Linux】详解用户态和内核态&&内核中信号被处理的时机&&sigaction信号自定义处理方法
【Linux】详解用户态和内核态&&内核中信号被处理的时机&&sigaction信号自定义处理方法
|
1天前
|
存储 Linux
【Linux】对信号产生的内核级理解
【Linux】对信号产生的内核级理解
|
1天前
|
消息中间件 算法 Linux
【Linux】对system V本地通信的内核级理解
【Linux】对system V本地通信的内核级理解
|
2天前
|
Linux 编译器 调度
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
本文介绍了如何将POSIX应用程序编译为在Xenomai实时内核上运行的程序。
16 1
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
|
2天前
|
算法 Linux 调度
xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程
xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程
6 1
xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程
|
2天前
|
Linux 调度 数据库
|
2天前
|
存储 缓存 Linux
xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(三)--实时与非实时数据交互
本文介绍了Xenomai中的XDDP(Xenomai Distributed Data Protocol)通信机制,XDDP用于实时和非实时进程之间的数据交换。XDDP在Xenomai内核中涉及的数据结构和管理方式,以及创建XDDP通道后的实时端和非实时端连接过程。
8 0
xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(三)--实时与非实时数据交互
|
3天前
|
缓存 安全 网络协议
Linux内核详解,什么是linux内核?
Linux内核详解,什么是linux内核?
13 0
|
4天前
|
存储 缓存 安全
Linux系统内核面试题
Linux系统内核面试题
20 3