07-Rootkit技术

合集下载

Rootkit的类型、功能及主要技术

Rootkit的类型、功能及主要技术

Rootkit的类型、功能及主要技术Rootkit 的类型小结1.固化Rootkits和BIOS Rootkits固化程序是存于ROM中,通常很小,使用系统硬件和BIOS 创建顽固的软件镜像。

将制定的代码植入到BIOS 中,刷新BIOS,在BIOS 初始化的末尾获得运行机会。

重启无用、格式化无用,在硬盘上无法探测,现有的安全软件将大部分的扫描时间用在了对硬盘的扫描上。

本文整理:(第三方信息安全网)/2 内核级Rootkits内核级Rootkits(Kernelland Rootkits)是通过修改内核、增加额外的代码、直接修改系统调用表、系统调用跳转(Syscall Jump),并能够替换一个操作系统的部分功能,包括内核和相关的设备驱动程序。

现在的操作系统大多没有强化内核和驱动程序的不同特性。

许多内核模式的Rootkit 是作为设备驱动程序而开发,或者作为可加载模块,如Linux 中的可加载模块或Windows 中的设备驱动程序,这类Rootkit 极其危险,它可获得不受限制的安全访问权。

如果代码中有任何一点错误,那么内核级别的任何代码操作都将对整个系统的稳定性产生深远的影响。

特点:无进程;无端口。

与用户级Rootkit 相比,与操作系统处于同一级别,可以修改或破坏由其它软件所发出的任何请求。

3 用户态Rootkits用户态Rootkits(Userland Rootkits)是运行在Ring3 级的Rootkit,由于Ring3 级就是用户应用级的程序,而且信任级别低,每一个程序运行,操作系统给这一层的最小权限。

用户态Rootkit使用各种方法隐藏进程、文件,注入模块、修改注册表等。

4 应用级Rootkits应用级Rootkits 通过具有特洛伊木马特征的伪装代码来替换普通的应用程序的二进制代码,也可以使用Hook、补丁、注入代码或其它方式来修改现有应用程序的行为。

5 代码库Rootkits代码库Rootkits 用隐藏攻击者信息的方法进行补丁、Hook、替换系统调用。

Rootkit的基础知识和防御方法-电脑资料

Rootkit的基础知识和防御方法-电脑资料

Rootkit的基础知识和防御方法-电脑资料Rootkit的基础知识和防御方法好多人有一个误解,他们认为rootkit是用作获得系统root访问权限的工具,。

实际上,rootkit是攻击者用来隐藏自己的踪迹和保留root访问权限的工具。

通常,攻击者通过远程攻击获得root访问权限,或者首先密码猜测或者密码强制破译的方式获得系统的访问权限。

进入系统后,如果他还没有获得root权限,再通过某些安全漏洞获得系统的root权限。

接着,攻击者会在侵入的主机中安装rootkit,然后他将经常通过rootkit的后门检查系统是否有其他的用户登录,如果只有自己,攻击者就开始着手清理日志中的有关信息。

通过rootkit的嗅探器获得其它系统的用户和密码之后,攻击者就会利用这些信息侵入其它的系统。

一全面认识rootkit:Rootkit出现于二十世纪90年代初,在1994年2月的一篇安全咨询报告中首先使用了rootkit这个名词。

这篇安全咨询就是CERT-CC的CA-1994-01,题目是Ongoing Network Monitoring Attacks,最新的修订时间是1997年9月19日。

从出现至今,rootkit的技术发展非常迅速,应用越来越广泛,检测难度也越来越大。

rootkit介绍Rootkit是一种奇特的程序,它具有隐身功能:无论静止时(作为文件存在),还是活动时,(作为进程存在),都不会被察觉。

换句话说,这种程序可能一直存在于我们的计算机中,但我们却浑然不知,这一功能正是许多人梦寐以求的——不论是计算机,还是计算机取证人员。

可以在入侵后置入Rootkit,秘密地窥探敏感信息,或等待时机,伺机而动;取证人员也可以利用Rootkit实时监控嫌疑人员的不法行为,它不仅能搜集证据,还有利于及时采取行动。

二了解Rootkit的攻击原理:要了解Rootkit的攻击原理,就必须从系统原理说起,我们知道,操作系统是由内核(Kernel)和外壳(Shell)两部分组成的,内核负责一切实际的工作,包括CPU任务调度、内存分配管理、设备管理、文件操作等,外壳是基于内核提供的交互功能而存在的界面,它负责指令传递和解释。

rootkit

rootkit

内核对象是 Windows 系统中用来登记系 统运行情况和资源记录的内核数据结构,由 对象管理器来管理。修改内核数据结构的方 法主要分为两类: 修改活动进程链表(PsActiveProcessList) 修改进程令牌 (Process Token)

在链表 PsActiveProcessList 上保存着所有进程的 EPROCESS 结构,当某些模块需要获得系统中 运行的所有进程信息时,就会通过遍历该双向 链表来获得所要的信息。如果在 PsActiveProcessList 链表上删除相应的某进程信 息,则该进程将被隐藏起来,即使调用系统服 务 ZwQuerySystemInformation()也无法得到该进 程的相关信息。而由于 Windows 的线程分派 器使用另外的数据结构 (pKiDispatchReadyListHead,pKiWaitInListHead,p KiWaitOutListHead),因此,隐藏的进程仍然 能够正常的运行


需要注意,Rootkit 本身并不能使攻击者获 取管理员权限,它不是一种软件利用工具。 攻击者必须先使用其它手段获取主机的控 制权,例如利用漏洞的溢出攻击,或者被 动的密码嗅探等。一般需要取得管理员权 限才能正确部署 Rootkit工具。Rootkit 一般 具备下述功能:
窃取重要信息 通过监控键盘击键以及网络数据,窃取用户口令以及网络银行密码等 隐私信息 维持控制权 攻击者可以通过 Rootkit 隐藏的后门,非常隐蔽的以管理员权限再次进 入系统 隐藏攻击痕迹 隐藏与 Rootkit 相关的文件、进程、通信链接和系统日志等攻击痕迹。 欺骗检测工具 使检测工具无法发现系统的异常,无法找到隐蔽在系统中的 Rootkit 软件。 提供植入手段 其它可执行程序,例如蠕虫或病毒可以通过 Rootkit提供的隐蔽通道 植入系统,并且可以使用 Rootkit 来隐藏自身。 提供攻击跳板 攻击者可以利用受控主机对网络上的其它主机发动攻击,例如蠕虫传 播、拒绝服务攻击等。

Rootkit技术的主要原理

Rootkit技术的主要原理

应用级->内核级->硬件级早期的rootkit主要为应用级rootkit,应用级rootkit主要通过替换login、ps、ls、netstat等系统工具,或修改.rhosts等系统配置文件等实现隐藏及后门;硬件级rootkit主要指bios rootkit,可以在系统加载前获得控制权,通过向磁盘中写入文件,再由引导程序加载该文件重新获得控制权,也可以采用虚拟机技术,使整个操作系统运行在rootkit掌握之中;目前最常见的rootkit是内核级rootkit。

内核级rootkit又可分为lkm rootkit、非lkm rootkit。

lkm rootkit主要基于lkm技术,通过系统提供的接口加载到内核空间,成为内核的一部分,进而通过hook系统调用等技术实现隐藏、后门功能。

非lkm rootkit主要是指在系统不支持lkm机制时修改内核的一种方法,主要通过/dev/mem、/dev/kmem设备直接操作内存,从而对内核进行修改。

非lkm rootkit要实现对内核的修改,首先需要获得内核空间的内存,因此需要调用kmalloc分配内存,而kmalloc是内核空间的调用,无法在用户空间直接调用该函数,因此想到了通过int 0x80调用该函数的方法。

先选择一个不常见的系统调用号,在sys_call_table中找到该项,通过写/dev/mem 直接将其修改为 kmalloc函数的地址,这样当我们在用户空间调用该系统调用时,就能通过int 0x80进入内核空间,执行kmalloc函数分配内存,并将分配好的内存地址由eax寄存器返回,从而我们得到了一块属于内核地址空间的内存,接着将要 hack的函数写入该内存,并再次修改系统调用表,就能实现hook系统调用的功能。

rootkit的常见功能:隐藏文件:通过strace ls可以发现ls命令其实是通过sys_getdents64获得文件目录的,因此可以通过修改sys_getdents64系统调用或者更底层的 readdir实现隐藏文件及目录,还有对ext2文件系统直接进行修改的方法,不过实现起来不够方便,也有一些具体的限制。

Rootkit技术

Rootkit技术

Rootkit技术rootkit的主要分类早期的rootkit主要为应用级rootkit,应用级rootkit主要通过替换login、ps、ls、netstat 等系统工具,或修改.rhosts等系统配置文件等实现隐藏及后门;硬件级rootkit主要指bios rootkit,可以在系统加载前获得控制权,通过向磁盘中写入文件,再由引导程序加载该文件重新获得控制权,也可以采用虚拟机技术,使整个操作系统运行在rootkit掌握之中;目前最常见的rootkit是内核级rootkit。

内核级rootkit又可分为lkm rootkit、非lkm rootkit。

lkm rootkit主要基于lkm技术,通过系统提供的接口加载到内核空间,成为内核的一部分,进而通过hook系统调用等技术实现隐藏、后门功能。

非lkm rootkit主要是指在系统不支持lkm机制时修改内核的一种方法,主要通过/dev/mem、/dev/kmem设备直接操作内存,从而对内核进行修改。

非lkm rootkit要实现对内核的修改,首先需要获得内核空间的内存,因此需要调用kmalloc分配内存,而kmalloc是内核空间的调用,无法在用户空间直接调用该函数,因此想到了通过int 0x80调用该函数的方法。

先选择一个不常见的系统调用号,在sys_call_table 中找到该项,通过写/dev/mem直接将其修改为kmalloc函数的地址,这样当我们在用户空间调用该系统调用时,就能通过int 0x80进入内核空间,执行kmalloc函数分配内存,并将分配好的内存地址由eax寄存器返回,从而我们得到了一块属于内核地址空间的内存,接着将要hack的函数写入该内存,并再次修改系统调用表,就能实现hook系统调用的功能。

rootkit的常见功能隐藏文件:通过strace ls可以发现ls命令其实是通过sys_getdents64获得文件目录的,因此可以通过修改sys_getdents64系统调用或者更底层的readdir实现隐藏文件及目录,还有对ext2文件系统直接进行修改的方法,不过实现起来不够方便,也有一些具体的限制。

Rootkit入门手册

Rootkit入门手册

一.Rootkit例子Rootkit 嵌入到MBR,Mebroot利用rootkit下载一个450KB的文件,将自身存储在硬盘的最后几个扇区,将自举管理程序写入MBR,实现隐藏磁盘访问,内核中实现,覆盖DISK.sys,调用DISK.sys,创建看门狗线程,如果没有安装,进行安装.查找NDIS隐藏和文档中未出现的函数,与NDIS通信,构造TCP/IP协义栈。

Rootkit一般有两种类型:用户模式和内核模式,用户模式的rootkit如HackerDefender100r容易被发现,但holy_father提供了HxDef的修改版本,命名为Silver andGold并开始销售,也能够防止系统级别的进程,内核模式的rootkit的运行级别与驱动程序是一个级别,内核rootkit不能工作于所有版本的Windows,增加了操作系统的不稳定性,每个rootkit都可以被探测到,但是准确探测的难度和时间超过了结果的价值二.钩子的艺术2.1 软钩子进程附加操作,对INT3中断指令的使用以截获程序流,FireFox挂钩,在PR_Write上设下一个钩子,当钩子命中时,读取栈上第二个参数所指向的ASCII字符串,如果这一字符串与我们之前定下的pattern变量相匹配时,它将被输出至控制台.如果将软钩子施加于调用频繁的函数身上时,目标进程的运行状态可能会极慢,或者会崩溃,因为软钩子所依赖的INT 3指令会导致中断处理例程接过控制权,直到相应的钩子代码执行完毕交还目标进程的控制权,若这一过程每秒钟需要发生上千次的话,大量的性能损失将不可能避免.2.2 硬钩子以硬编码形式向目标进程写入一条跳转指令,以使得同样使用汇编编写而成的钩子代码能够得以执行,软钩子适用于拦截那些调用次数少的函数,而调用次数多的函数,为了对目标进程施加最小的影响,硬钩子成为不二选择,硬钩子首要拦截对象是调用频繁的堆管理例程以及高密度的文件I/O操作。

2023年信息安全技术考试题库连云港市专业技术人员继续教育公共远程考试

2023年信息安全技术考试题库连云港市专业技术人员继续教育公共远程考试

1451在一个有多个防火墙存在的环境中,每个连接两个防火墙的计算机或网络都是DMZ。

A 对的B 错误145 2 入侵检测技术是用于检测任何损害或企图损害系统的机密性、完整性或可用性等行为的一种网络安全技术。

A 对的B 错误1453积极响应和被动响应是互相对立的,不能同时采用。

A 对的B 错误145 4 异常入侵检测的前提条件是入侵性活动集作为异常活动集的子集,而抱负状况是异常活动集与入侵性活动集相等。

A 对的B 错误1455针对入侵者采用措施是积极响应中最佳的响应措施。

A 对的B 错误1456在初期大多数的入侵检测系统中,入侵响应都属于被动响应。

A 对的B 错误1457性能“瓶颈”是当前入侵防御系统面临的一个挑战。

A 对的B 错误1458漏报率,是指系统把正常行为作为入侵袭击而进行报警的概率。

A 对的B 错误1459与入侵检测系统不同,入侵防御系统采用在线(inline)方式运营。

A 对的B 错误146蜜罐技术是一种被动响应措施。

A 对的B 错误146 1 公司应考虑综合使用基于网络的入侵检测系统和基于主机的入侵检测系统来保护公司网络。

在进行分阶段部署时,一方面部署基于网络的入侵检测系统,由于它通常最容易安装和维护,接下来部署基于主机的入侵检测系统来保护至关重要的服务器。

A 对的B 错误1462入侵检测系统可以填补公司安全防御系统中的安全缺陷和漏洞。

A 对的B 错误1463使用误用检测技术的入侵检测系统很难检测到新的袭击行为和原有袭击行为的变种。

A 对的B 错误146在初期用集线器(hub)作为连接设备的网络中使用的基于网络的入侵检测系统在互换网络中不做任何改4 变,同样可以用来监听整个子网。

A 对的B 错误146可以通过技术手段,一次性填补所有的安全漏洞。

5A 对的B 错误146漏洞只也许存在于操作系统中,数据库等其他软件系统不会存在漏洞。

6A 对的B 错误146防火墙中不也许存在漏洞。

7A 对的B 错误146基于主机的漏洞扫描不需要有主机的管理员权限。

Rootkit技术可以隐藏系统进程

Rootkit技术可以隐藏系统进程

Rootkit技术可以隐藏系统进程、系统文件、注册表、网络通信。

虽然Rootkit技术从1994年就开始迅速发展,但是直到2007年,国外的研究人员才开始把基于Windows启动过程的Rootkit检测技术与可信计算结合起来,从根源去解决这种攻击,但是这种检测思想实现难度大、成本高、通用性差,只能达到一个检测的目的,而不能真正的阻止这类Rootkit的运行。

2008年以后国内掀起了研究Rootkit技术的热潮,相继出现了Rootkit技术方面的成功实例。

其中包括:奇虎360公司的首席安全研究员李文彬于2008年6月提出了一种基于Boot.ini 的Rootkit-Tophet,并在其Blog中发表的一篇名为《 A new invisible Bootkit is on the way》的文章中进行了详细的描述,该Bootkit 技术能够绕过当前所有的防御软件。

在BIOS Rootkit的研究方面,国内起步较晚,相对成型的实例没有国外多。

国内目前在基于Windows 启动过程的Rootkit检测技术研究方面处于很初级的探索阶段,暂时还没有成型且可靠性高的检测技术出现,尤其在BIOS Rootkit的检测技术方面处于一个相对进展缓慢的状态。

国内还出现了通过TPM芯片去实现基于Windows启动过程的Rootkit的检测,这种检测方法的思想主要利用了可信计算的相关理论,能够检测出系统是否存在这类Rootkit,并且可以有效阻止Bootkit的运行,但是在BIOS Rootkit 的查杀方面可靠性不高,不能恢复操作系统的正常运行。

因此研究有效的并且可靠的检测和防御方法,对信启、安全技术的发展会起到很大的促进作用。

目前大部分的Anti Rootkit技术的实现都是使用了下列几种方法:Cross View(交叉检测技术)、基于行为的Rootkit检测技术和完整性校验技术。

而如今,Rootkit越来越向硬件层次渗透,试图在Windows系统启动之前就获得对系统的控制权,这样Rootkit 技术就不会检测到了。

07-反监控技术-Rootkit技术

07-反监控技术-Rootkit技术

Rootkits: Subverting the Windows Kernel ROOTKITS--WINDOWS内核的安全防护 内核的安全防护
比较
内核服务
Rootkit
修改内核数据表
HIPS-基于主机的入侵防御系统 -
HIPS用来监控所有的系统资源、文件、注册 表; HIPS检测到使用系统资源、读写文件、读写 注册表的操作后,都会报告用户,又用户决定 是否允许该操作; 针对有害程序及间谍程序等防护软件,不提供 针对特定有害程序的查找及移除特性,也不提 供系统遭有害程序破坏后的恢复特性;
Memory-based rootkits are malware that has no persistent code and therefore does not survive a reboot. 主要用在一些蠕虫病毒中,寄生在内存中,不 以磁盘文件的形式存在,可以躲避基于文件的 系统检测技术;
内核态Rootkit使得杀毒软件失效;
4. Kernel-mode Rootkits
任何进程必须在内存中存在,反Rootkit软件可 任何进程必须在内存中存在 以通过检测内存的方式获得进程列表。然后通 过系统调用获得进程列表,从而发现两者的不 同;
分析内存获得进程列表
反Rootkit工具 工具
利用系统调用获得进程列表
HOOK技术 技术
(HOOK)钩子的本质是用一段自己的程序,来替换掉别人的程 序; 首先要分析别人的程序,然后把里面的一些关键调用替换成自己 的程序;
进程1 进程
函数 函数 系统 边界 函数
用户层
系统函数API 系统函数 系统层
API HOOK技术 技术
在 Windows 操作系统里面,API是指由操作 系统提供功能的、由应用程序调用的函数。 API HOOK技术是一种用于改变API执行结果 的技术,Microsoft 自身也在Windows操作系 统里面使用了这个技术,如Windows兼容模式 等。

内核级后门Rootkit技术

内核级后门Rootkit技术

后门代码
CODE
IAT HOOK
系统 DLL
CODE
Rootkit
BAD CODE
CODE
技术总揽 隐藏篇 之 代码注入


Ring3: a.CreateRemoteThread + WriteProcessMemory 1.线程注入 2.代码注入 b.SetWindowsHookEx c. HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs d.Winlogon通知包 e.感染PE文件(1、全部插入 2、感染IAT ) f. DebugActiveProcess + SetThreadContext etc. (Activx,SPI,BHO…) Ring0: KeAttachProcess…
技术总揽 隐藏篇 之 DKOM

DKOM (Direct Kernel Object Manipulation) 直接修改系统内核数据实现隐藏 因为是修改系统内核数据,所以要写驱动(或采用其他技 巧)进入管态(Ring0) 使用WinDbg、SoftICE、IDA Pro等工具自己挖掘未公开的 Windows系统内部结构,从而实现比较好的效果… 对Windows系统机制非常熟悉,前置课程《操作系统原理》

参考资料
1.
2. 3. 4.

《Subverting the Windows Kernel》
RAIDE: Rootkit Analysis Identification Elimination 《Windows防火墙与封包拦截技术》
谢谢观看
通过特征码搜索系统中PspCidTable地址

LINUX操作系统下ROOTKIT检测技术研究

LINUX操作系统下ROOTKIT检测技术研究

LINUX操作系统下ROOTKIT检测技术研究郓宏北京工业大学计算机学院北京100124摘要:Rootkit是攻击者在入侵操作系统后用来保持对系统的超级用户访问权限.创建后门和隐藏攻击痕迹等常采用的一种技术,Rootkit存在于Linux、Solaris和Windows等各种操作系统上.本文所研究的技术辛要用于检测Linux系统下的后门程序Rootlot。

采取了以事后行为的检测为主,实时的检溯为辅的思路。

以检测引擎逐项检测。

而所需的Rootkit特征库定时更新。

另外为了防备用户在使用中触发某蝗恶意程序,柃铡程序也提供了实时监控的功能。

关键’词:RootkitILinuxI操作系统内核I可加载内核模块0引言Linux操作系统由于其源码的公开性和稳定的系统性能,得到了广泛的应用。

Linux系统下远程控制技术的研究正日益成为网络安全领域研究的热点,新一代的攻击技术更加先进,目标直接针对网络基础协议TCPflP和操作系统内核底层。

向传统的信息安全防范机制发起了挑战。

根据对操作系统的入侵层次.Rootkit分为应用级Rootkit和内核级Rootkit两种类型。

应用级Rootkit在操作系统应用层修改系统文件,比较容易预防。

内核级Rootlot攻击操作系统内核,与应用缀Rootkit相比功能更强大,更难检测。

因此内核级Rootkit以其强大的功能和较为完善的隐蔽性更加受到瞩目。

目前仔在的检测Rootkit的工具和方法大部分只能检测到应用级Rootkit,少数能检测到某些特定类型的内核级Rootkit。

及时跟踪和了解Rootkit的发展动态,掌握其核心技术。

并结合实际应用在某些关键方向上有所创新和发展,是一项很有意义的工作。

本文设计并实现了Linux操作系统下Rootkit的检测程序,有效的提高了计算机操作系统的安全。

1Rootkit攻击1.IRootkit攻击原理1.1.1内核级Rootkit的攻击目标内核级Rootkit的攻击目标主要有:(1)系统调用函数。

Windows RootKit技术原理及防御策略

Windows RootKit技术原理及防御策略

Windows RootKit技术原理及防御策略
雷校勇;黄小平
【期刊名称】《微型电脑应用》
【年(卷),期】2006(22)7
【摘要】RootKit是特洛伊木马后门工具,通过修改操作系统软件,使攻击者获得持续的系统访问权并隐藏在计算机中.本文将详细讨论Windows下的RootKit技术原理和检测技术,同时为了保卫系统和网络安全,提出了一套完整的针对RootKit的安全防御策略.
【总页数】4页(P4-6,37)
【作者】雷校勇;黄小平
【作者单位】上海交通大学计算机科学与工程系,上海,200030;上海交通大学计算机科学与工程系,上海,200030
【正文语种】中文
【中图分类】TP393
【相关文献】
1.浅析Windows RootKit威胁及防治策略 [J], 熊军林
2.Windows Rootkit实现及其检测技术分析 [J], 梁冰
3.RootKit的检测与防御 [J], 李宗峰
4.基于 Windows API 调用机制的 Rootkit检测系统的设计与研究 [J], 袁宇恒;黄耿星;龚征
5.基于结构体随机化的内核Rootkit防御技术 [J], 辛知;陈惠宇;韩浩;茅兵;谢立
因版权原因,仅展示原文概要,查看原文内容请购买。

内核级Rootkit技术基础知识

内核级Rootkit技术基础知识

本帖最后由占地挤着于2011-1-29 20:23 编辑Rootkit是一种奇特的程序,它具有隐身功能:无论静止时(作为文件存在),还是活动时,(作为进程存在),都不会被察觉。

换句话说,这种程序可能一直存在于我们的计算机中,但我们却浑然不知,这一功能正是许多人梦寐以求的——不论是计算机黑客,还是计算机取证人员。

黑客可以在入侵后置入Rootkit,秘密地窥探敏感信息,或等待时机,伺机而动;取证人员也可以利用Rootkit实时监控嫌疑人员的不法行为,它不仅能搜集证据,还有利于及时采取行动。

而本文的目的,就是同读者一起踏上Windows内核级Rootkit之旅!一、背景知识我们通常所说的智能机器,大至超级计算机,中到个人PC,小至智能手机,通常都有两部分组成:硬件和软件。

并且,设备的智能是通过软件来实现的。

所有软件中,有一种是必不可少的,那就是操作系统。

操作系统可以简单理解为一组高度复用的核心程序,一方面,它要管理低层的硬件设备,另一方面,为上层其它程序提供一个良好的运行环境。

真是同人不同命,同为软件,操作系统却享有至高无上的特权:它不仅管理硬件,而且其他所有软件也都受制于它。

因为在应用程序和硬件之间隔着操作系统,所以应用程序不能直接访问硬件,而是通过调用操作系统提供的接口来使用硬件。

也就是说,对应用程序而言,硬件是不可见的。

当然,凡事是没有绝对的,应用程序绕过操作系统来直接访问硬件也不是不可能的,但这样做会付出高昂的代价。

设想一个软件开发商在开发一功能丰富的软件,功能本身就够他头痛得了,现在他还得操心某个数据在某个磁道的某个簇上,某个字符在某品牌显示器上的颜色的二进制代码等等繁琐的事情,不用说财力和物力,单说开发周期就是无法容忍的。

所以,现在的应用程序都是使用操作系统提供的简单明了的服务来访问系统的,因为毕竟没有谁愿意自讨苦吃。

二、内核的主要功能从上文中我们已经了解,内核在系统中处于核心枢纽的地位,下面我们具体介绍内核中与Rootkit紧密相关的几个主要功能,更重要的是这些功能对Rootkit的意义所在:进程管理。

Rootkit隐形技术入门教程(含图片)

Rootkit隐形技术入门教程(含图片)

Rootkit隐形技术入门(图)[导读]Rootkit隐形技术入门(图)一、综述本文将引领读者打造一个初级的内核级Rootkit,然后为其引入两种简单的隐形技术:进程隐形技术和文件隐形技术。

同时,为了让读者获得rootkit编程的相关经验,我们顺便介绍了rootkit的装载、卸载方法,以及必不可少的测试技术。

本文介绍的Rootkit的主要构件是一个设备驱动程序,所以我们首先了解一下我们的第一个rootkit。

二、rootkit主体本节引入一个简单的rootkit实例,它实际上只给出了rootkit的主体框架,换句话说,就是一个设备驱动程序。

那么为什么要用设备驱动程序作为主体呢?很明显,因为在系统中,设备驱动程序和操作系统一样,都是程序中的特权阶级——它们运行于Ring0,有权访问系统中的所有代码和数据。

还有一点需要说明的是,因为本例主要目的在于介绍rootkit是如何隐形的,所以并没有实现后门之类的具体功能,。

我们将以源代码的形式说明rootkit,对着重介绍一些重要的数据结构和函数。

下面,先给出我们用到的第一个文件,它是一个头文件,名为Invisible.h,具体如下所示://Invisible.h:我们rootkit的头文件#ifndef _INVISIBLE_H_#define _INVISIBLE_H_typedef BOOLEAN BOOL;typedef unsigned long DWORD;typedef DWORD* PDWORD;typedef unsigned long ULONG;typedef unsigned short WORD;typedef unsigned char BYTE;typedef struct _DRIVER_DA TA{LIST_ENTRY listEntry;DWORD unknown1;DWORD unknown2;DWORD unknown3;DWORD unknown4;DWORD unknown5;DWORD unknown6;DWORD unknown7;UNICODE_STRING path;UNICODE_STRING name;} DRIVER_DA TA;#endif我们知道,应用软件只要简单引用几个文件如stdio.h和windows.h,就能囊括大量的定义。

rootkit的主要原理-电脑资料

rootkit的主要原理-电脑资料

rootkit的主要原理-电脑资料上面是网上随处可见的rootkit的一篇文章,抱着辩证的态度读之,N 年前的东西了,有值得借鉴的也有out的东东了,。

由于getdents64()是系统调用,所以要干预它,只能在内核中,通过驱动程序方式,在Linux下就是LKM方式。

目前有两种方法来”干预”。

1.Hook系统调用表(system call table)的getdents64调用项先看个代码:#include#include#include#include#include#include#include#include#includeMODULE_LICENSE("GPL");extern void* sys_call_table[]; /*sys_call_table is exported, so we can accessit. But in some system this will cause problem */ int (*orig_mkdir)(const char *path); /*the original systemcall*/int hacked_mkdir(const char *path){return 0; /*everything is ok, but he new systemcall does nothing*/}int init_module(void) /*module setup*/{orig_mkdir=sys_call_table[SYS_mkdir];sys_call_table[SYS_mkdir]=hacked_mkdir;return 0;}void cleanup_module(void) /*module shutdown*/{sys_call_table[SYS_mkdir]=orig_mkdir;/*set mkdir syscall to the origal one*/}复制代码上面的代码看看就行,看看过程我也不知道在那里search到得了,用这种方法实现系统调用有个前提,就是系统必须导出sys_call_table 内核符号,但是在2.6中,sys_call_table不再导出。

基于Windows平台的Rootkit技术研究与应用

基于Windows平台的Rootkit技术研究与应用
Rootkit 技术最早被用于 Unix 操作系统,Rootkit 是由“root”与“kit”两部 分组成,其中“root”代表 Unix 操作系统的根用户帐户,“kit”代表应用该工具 的软件部件。这样的称呼使它与恶意软件有着负面内涵的关联。
所有 Rootkit 基本上都是由几个独立的程序组成的,一个典型 Rootkit 包括[3]: (1)以太网嗅探程序,用于获得网络上传输的用户名和密码等信息。 (2)特洛伊木马程序,例如 inetd 或者 login,为攻击者提供后门。 (3)隐藏攻击者的目录和进程的程序,例如 ps、netstat、rshd 和 ls 等。 (4)可能还包括一些日志清理工具,例如 zap、zap2 或者 z2,攻击者使用 这些清理工具删除 wtmp、utmp 和 lastlog 等日志文件中有关自己行踪的条目。一 些复杂的 Rootkit 还可以向攻击者提供 telnet、shell 和 finger 等服务。 典型地,一个攻击者通过利用一个已知的漏洞或破解一个密码首先获得一台 计算机根级别的权限,然后在计算机上安装一个含 Rootkit 技术的软件。一旦这 个含 Rootkit 技术的软件被安装以后,它允许攻击者隐藏活跃的入侵行为,同时 规避正常的身份认证和授权机制来持续获得计算机的特权。Rootkit 可以将矛头 指向固件、一个管理程序、内核或者更常见的、用户模式的应用程序。 Rootkit 的检测方式是复杂的,因为 Rootkit 技术可能会破坏准备寻找它的软 件。检测方法包括使用一个备用的、可信的操作系统、基于行为的方法、特征码 扫描、差分扫描和内存转储分析。彻底去除 Rootkit 类型的软件可能是复杂的或 者是不可能的,尤其是位于内核的 Rootkit,重新安装操作系统可能是唯一的选
2.1 用户级 Rootkit 技术原理

浅析基于rootkit技术的手机安全

浅析基于rootkit技术的手机安全

浅析基于Rootkit技术的手机安全庄棪(国家计算机网络应急技术处理协调中心四川分中心,成都610072)摘要: 智能手机的广泛普及给用户带来了很多方便,种类繁多的应用程序让我们的工作和生活带来很多便利,但是手机信息安全问题也日益突出,手机Rootkit比一般手机病毒更复杂更隐蔽,修改手机系统代码和内核,带来严重威胁。

本文分析了手机Rootkit技术、隐蔽原理、攻击流程和防范检测技术。

关键词:智能手机手机木马 Rootkit在当今手机的广泛普及在各个方面都给人们生活、工作带来了极大的便利。

特别是智能手机的出现,更是掀起移动互联网的快速发展的浪潮,信息技术和媒体顾问公司Analysys Mason发布的最新报告显示,预计到2014年全球智能手机销量将达到17亿部。

报告显示,预计全球智能手机销量年均增长率为32%。

2014年,智能手机将占整体手机销量的26%。

由于智能手机可以像计算机一样安装各种来源的第三方应用程序,于是手机的信息安全问题,也是非常严重的。

根据360安全中心发布《2011年上半年中国手机安全报告》(以下简称“报告”)中指出,今年1月至6月,国内新增手机木马和恶意软件2559个,感染手机用户数高达1324万,Android(安卓)平台与Symbian平台并列成为手机木马“重灾区”,手机木马的危害主要集中在恶意扣费和窃取用户隐私。

《报告》称,相较2010年,中国手机安全领域无论从手机木马种类、数量,还是感染手段的多样性与感染用户数上,都呈现出几十倍的大幅增长。

但超过60%的手机木马仍活跃在老牌智能操作系统Symbian平台上,新增恶意软件及木马1591个,感染手机用户数更高达1206万人次。

《报告》分析称,国内手机木马的恶意行为,正在由过去的系统破坏转向恶意扣费和窃取用户隐私。

比如知名的“X卧底”木马,其本质就是一款黑客间谍软件,不仅会回传受害者手机短信,甚至还能任意监听其通话。

《报告》还列举了今年上半年五大“最恶”木马,分别为“系统终结者”、“超级大盗”、“勾魂美女”、“X卧底”及水货固件木马“白卡吸费魔”。

进入虚拟化Rootkit呼唤新的安全技术电脑资料

进入虚拟化Rootkit呼唤新的安全技术电脑资料

进入虚拟化 Rootkit呼唤新的安全技术 -电脑资料关于rootkit我们谈得已经够多了,但如今,随着虚拟机的普及,它已经悄然进入了虚拟化的世界,进入虚拟化 Rootkit呼唤新的安全技术。

比方说,安全研究人员可以用英特尔处理器中的虚拟机指令将rootkit隐藏于虚拟化层中。

当然,目前可能还没发现们开发这种更加恶毒的软件。

因为即使不依靠虚拟化,目前的rootkit足以让一般的检测技术兴叹了。

这里的意思并不是说们在吃老本。

用户和内核级的rootkit仍在甚嚣尘上,更加深入地进入企业网络,将其自己隐藏于处理器中,并且利用多核处理器的漏洞为非作歹。

Rootkit:万恶之恶虽然我们很难说rootkit是如何猖狂,因为这种东西极难发现。

但却不能忽视这样一个事实,即受到巨大经济利益的驱使,rootkit越来越频繁地被用于隐藏远程控制程序、键盘记录程序、垃圾邮件僵尸等恶意程序。

举例来说,如2008年最臭名昭著的Rustock.c可以如同病毒一样传播,感染内核驱动程序,并且象孙悟空一样采取多种形态来避免特征检测,可以在80号端号上打开但隐藏一个双向的通信通道。

未来的rootkit的发展趋势是与恶意软件越多地结合,或者说将自己隐藏于恶意软件之中。

这种隐藏技术的最严重后果便是rootkit不但能够轻易的将僵尸隐藏于系统的“视线”之外,还可以避开检测rootkit的最后一道防线-网络检测。

而多数公司需要开放着80号端口,因为其雇员需要使用互联网。

一些恶意用户使用这个通道传输数据。

作为网管员应当知道,这个端口主要用作进入的而不是发出的通信,因为网管员应当依靠网关设备上的过滤器来扫描发出的HTTP 数据通信。

当然,这需要好好调教你的过滤器。

恶意的通信还可以借助可接受的发出数据通信来传输。

例如,它可依附于发出的DNS数据包上。

因此,建议管理员密切监视三种通信,一是突发的通信,二是大文件通信,三是其它的异常通信,电脑资料《进入虚拟化 Rootkit呼唤新的安全技术》。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Rootkit技术 技术
烟台大学 网络中心 万红波
系统监控技术与反监控
系统监控可以暴露绝大部分的病毒
进程监控 网络端口监控 网络流量监控
Rootkits最早是一组用于UNIX操作系统的工具 集,黑客使用它们隐藏入侵活动的痕迹。
Rootkit技术 技术
Rootkit is used to describe the mechanisms and techniques whereby malware, including viruses, spyware, and trojans, attempt to hide their presence from spyware blockers, antivirus, and system management utilities. Rootkit技术的核心是躲避各种检测。 Rootkit的分类:
新技术层出不穷,并逐步的应用到病毒软件的 编写中。
Rootkits: Subverting the Windows Kernel ROOTKITS--WINDOWS内核的安全防护 内核的安全防护
工作在用户态的相关技术,躲避检测;
3. User-mode Rootkits
比如,劫持系统调用的方法;
用户态的检测程序
利用系统调用获得进程信息
Rootkit
劫持系统调用过程
内核服务 通常通过释放动态链接库(DLL)文件,并将它们注入到其它软件及 系统进程中运行,通过HOOK方式 方式对消息进行拦截,使得检测程序返 方式 回错误的信息,达到隐藏文件和进程的目的;
HOOK技术 技术
Windows操作系统是建立在事件驱动机制之上的,系统各部分之 间的沟通也都是通过消息的相互传递而实现的。 在通常情况下,应用程序只能处理来自进程内部的消息或是从其 他进程发过来的消息,如果需要对在进程外传递的消息进行拦截 处理就必须采取一种被称为HOOK(钩子)的技术。 钩子的本质是一段用以处理系统消息的程序,通过系统调用,将 其挂入到系统,在对特定的系统事件(比如键盘事件)进行Hook; 一旦发生已Hook的事件,对该事件进行Hook的程序就会收到系统 的通知,这时程序就能在第一时间对该事件做出响应。
4. Kernel-mode Rootkits
任意进程必须在内存中存在,反Rootkit软件可 以通过检测内容的方式获得进程列表。然后通 过系统调用获得进程列表,从而发现两者的不 同;
分析内存获得进程列表
反Rootkit比较
内核服务
Rootkit
修改内核数据表
Rootkit技术 技术
1. Persistent Rootkits
A persistent rootkit is one associated with malware that activates each time the system boots. 企图跟随系统一起启动的技术;
2. Memory-Based Rootkits
API HOOK技术 技术
在 Windows 操作系统里面,API是指由操作 系统提供功能的、由应用程序调用的函数。 API HOOK技术是一种用于改变API执行结果 的技术,Microsoft 自身也在Windows操作系 统里面使用了这个技术,如Windows兼容模式 等。
4. Kernel-mode Rootkits
Rootkit工作在内核态,可以修改内核的数据结 构,达到隐藏文件和进程的目的。比如关于系 统进程的记录。
用户态的检测程序
利用系统调用获得进程信息
内核服务 通过修改内核进程列表,可以实现进程 隐藏;
Rootkit
修改内核数据表
4. Kernel-mode Rootkits
内核态Rootkit使得杀毒软件失效;
Memory-based rootkits are malware that has no persistent code and therefore does not survive a reboot. 主要用在一些蠕虫病毒中,寄生在内存中,躲 避系统检测;
3. User-mode Rootkits
相关文档
最新文档