内核级木马隐藏技术研究与实践
第五章 特洛伊木马

6、隐藏在应用程序的启动配置文件中 木马控制端利用应用程序的启动配置文 件能启动程序的特点,将制作好的带有木 马启动命令的同名文件上传到服务端覆盖 该同名文件,这样就可以达到启动木马的 目的。 7、伪装在普通文件中 具体方法是把可执行文件伪装成图片或 文本。
8、内置到注册表中 木马可以隐藏在注册表中由于系统启动时自动 执行程序的键值中,如: HKEY_LOCAL_MACHINE\software\ HKEY_LOCAL_MACHINE\software\Microsoft \Windows\CurrentVersion下所有以“run”开头的 Windows\CurrentVersion下所有以“run” 键值; HKEY_CURRENT_USER\software\microsoft\ HKEY_CURRENT_USER\software\microsoft\ Windows\CurrentVersion下所有以“run” Windows\CurrentVersion下所有以“run”开头的 键值; HKEY_USERS\.Default\Software\Microsoft\ HKEY_USERS\.Default\Software\Microsoft\Wi ndows\CurrentVersion下所有以“run” ndows\CurrentVersion下所有以“run”开头的键 值。
木马的启动方式
木马想要达到控制或者监视计算机的目的, 必须要运行,自动启动功能是必不可少的, 这样可以保证木马不会因为用户的一次关 机操作而彻底失去作用。常用的方法有以 下几种:
1、集成(捆绑)到应用程序中。 如绑定到系统文件中,那么每次WINDOWS启 如绑定到系统文件中,那么每次WINDOWS启 动均会启动木马。 2、隐藏在Autoexec.bat和Config.sys中 、隐藏在Autoexec.bat和Config.sys中 很多用户一般不处理系统的配置文件,这正好 给木马提供了一个藏身之处,利用配置文件的特殊 作用,木马很容易在计算机中运行。 当你启动dos的时候, 当你启动dos的时候,不执行任何动作,便会看到 一个光标而已,如果你要在dos启动的时候让他自 一个光标而已,如果你要在dos启动的时候让他自 动执行一些命令,那就可以编辑Autoexec.bat, 动执行一些命令,那就可以编辑Autoexec.bat,dos 会自动执行它。你可以在Autoexec.bat里写 会自动执行它。你可以在Autoexec.bat里写 echo hello this is dos command. 那示"hello this is dos command"
[普及文]NT内核简介——HIPS与现代木马
![[普及文]NT内核简介——HIPS与现代木马](https://img.taocdn.com/s3/m/703712e5360cba1aa811da72.png)
实用标准文案 精彩文档 [普及文]NT内核简介——HIPS与现代木马 序言 -------------------------------------------------------------------- 很多年前,安全软件不像现在这样复杂。 那时的天是蓝的,水是清的,木马是跑在R3的,杀软是全靠特征码的。当时打开任务管理器看两眼就可以知道有没有木马运行。 然而,好景不长,随着NT内核的大范围普及(2000 / XP ......),一种新兴的木马——Rootkit型木马诞生了。(Rootkit的本义并不指木马,其意义与其本义相比有所引申,但是大量的木马使用了Rootkit技术) 当时最具代表性的,在国外来说,是Hacker Defender(hxdef100),在国内来说,则是大名鼎鼎的灰鸽子。 这类木马的普遍特点是,能够良好地隐藏自身,躲过常规分析手段和杀软的检测,包括注册表关键位置隐藏,文件隐藏等等,这些木马一度让当时的杀软束手无策,用户更是摸不着头脑,因为常规检测方法已经无法发现它们了。 于是,一类叫作ARK的工具被发明了,ARK——Anti-Rookit,反Rootkit工具,当时在国内的代表是Icesword、DarkSpy等,在国外则是 Rootkit Detector等。这些ARK工具同样使用了Rootkit技术,于是能够发现Rootkit木马的踪迹。而一些杀软为了遏制Rootkit木马,也在自己的杀软中应用了Rootkit技术。同时,越来越复杂的文件加壳技术使传统特征码杀毒引擎捉襟见肘,许多杀软一方面大力改进启发式引擎,一方面融入了最初的HIPS的雏形,即简单的注册表控制等功能。同时一些早期的HIPS工具也开始逐渐应用Rootkit技术,如WinPatrol、SSM等等。 时至今日,Rootkit技术已经广泛应用于木马、安全软件、流氓软件中。现代木马几乎全部是Rootkit木马,而安全软件也几乎都应用了Rootkit技术,臭名昭著的某"XX上网"中也大量应用了Rootkit技术。 以下的"现代木马"均指Rootkit木马. ----------------------------------------------------------------------
让我告诉你:什么是木马病毒木马的认知

什么是木马病毒(Trojan)木马(Trojan)这个名字来源于古希腊传说(荷马史诗中木马计的故事,Trojan一词的特洛伊木马本意是特洛伊的,即代指特洛伊木马,也就是木马计的故事)。
“木马”程序是目前比较流行的病毒文件,与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它通过将自身伪装吸引用户下载执行,向施种木马者提供打开被种者电脑的门户,使施种者可以任意毁坏、窃取被种者的文件,甚至远程操控被种者的电脑。
“木马”与计算机网络中常常要用到的远程控制软件有些相似,但由于远程控制软件是“善意”的控制,因此通常不具有隐蔽性;“木马”则完全相反,木马要达到的是“偷窃”性的远程控制,如果没有很强的隐蔽性的话,那就是“毫无价值”的。
它是指通过一段特定的程序(木马程序)来控制另一台计算机。
木马通常有两个可执行程序:一个是客户端,即控制端,另一个是服务端,即被控制端。
植入被种者电脑的是“服务器”部分,而所谓的“黑客”正是利用“控制器”进入运行了“服务器”的电脑。
运行了木马程序的“服务器”以后,被种者的电脑就会有一个或几个端口被打开,使黑客可以利用这些打开的端口进入电脑系统,安全和个人隐私也就全无保障了!木马的设计者为了防止木马被发现,而采用多种手段隐藏木马。
木马的服务一旦运行并被控制端连接,其控制端将享有服务端的大部分操作权限,例如给计算机增加口令,浏览、移动、复制、删除文件,修改注册表,更改计算机配置等。
随着病毒编写技术的发展,木马程序对用户的威胁越来越大,尤其是一些木马程序采用了极其狡猾的手段来隐蔽自己,使普通用户很难在中毒后发觉。
[编辑本段]木马病毒的原理一个完整的特洛伊木马套装程序含了两部分:服务端(服务器部分)和客户端(控制器部分)。
植入对方电脑的是服务端,而黑客正是利用客户端进入运行了服务端的电脑。
运行了木马程序的服务端以后,会产生一个有着容易迷惑用户的名称的进程,暗中打开端口,向指定地点发送数据(如网络游戏的密码,即时通信软件密码和用户上网密码等),黑客甚至可以利用这些打开的端口进入电脑系统。
基于Rootkit隐藏行为特征的Linux恶意代码取证方法

doi:10.3969/j.issn.1671-1122.2020.11.005基于Rootkit隐藏行为特征的Linux恶意代码取证方法文伟平,陈夏润,杨法偿(北京大学软件与微电子学院,北京 102600)摘 要:近年来,在互联网不断发展的同时,网络安全问题也层出不穷,而在对抗网络安全威胁时,取证问题一直是个难题。
尤其是针对Linux平台,目前主流的Linux开源取证工具多数存在滞后、效率低、无法对隐蔽性强的木马进行取证等问题。
在Linux取证研究中,Rootkit木马具有隐蔽性强、危害性大的特点,传统检测方法难以进行有效检测。
为解决上述问题,文章从Rootkit的行为和实现技术出发,对其启动机制和内存驻留机制进行研究分析,提炼恶意代码行为作为检测特征,提出一种基于Rootkit隐藏行为特征的Linux恶意代码取证方法。
实验表明,文章提出的取证方法对各类Linux恶意代码具有很好的检出效果和取证效果,相较传统取证方法在检测效果上具有明显优势。
关键词:计算机取证;Rootkit;恶意代码;Linux系统中图分类号:TP309 文献标志码: A 文章编号:1671-1122(2020)11-0032-11中文引用格式:文伟平,陈夏润,杨法偿.基于Rootkit隐藏行为特征的Linux恶意代码取证方法[J].信息网络安全,2020,20(11):32-42.英文引用格式:WEN Weiping, CHEN Xiarun, YANG Fachang. Malicious Code Forensics Method Based on Hidden Behavior Characteristics of Rootkit on Linux[J]. Netinfo Security, 2020, 20(11): 32-42.Malicious Code Forensics Method Based on Hidden BehaviorCharacteristics of Rootkit on LinuxWEN Weiping, CHEN Xiarun, YANG Fachang(School of Software and Microelectronics, Peking University, Beijing 102600, China)Abstract: In recent years, with the continuous development of the Internet, network security problems emerge endlessly. When fighting against network security threats, forensicshas always been a big problem. Especially for Linux platform, most mainstream Linux opensource forensics tools are currently lagging behind, inefficient and unable to obtain evidencefrom the hidden Trojans. In the research of Linux forensics, because the Rootkit Trojan hasthe characteristics of strong concealment and great harm, traditional detection methods aredifficult to carry out effective detection. In order to solve the above problems, starting fromthe behavior and implementation technology of Rootkit, this paper studies and analyzes its收稿日期:2020-7-8基金项目:国家自然科学基金[61872011]作者简介:文伟平(1976—),男,湖南,教授,博士,主要研究方向为系统与网络安全、大数据与云安全、智能计算安全;陈夏润(1997—),男,江西,硕士研究生,主要研究方向为网络与系统安全、漏洞挖掘;杨法偿(1995—),男,河南,硕士研究生,主要研究方向为系统安全、计算机取证。
Windows内核级防护系统

Windows内核级防护系统孟晨宇;史渊;王佳伟;周洁;康晓凤【摘要】Windows操作系统是当今应用最广泛的个人计算机操作系统,针对这一操作系统的病毒和木马层出不穷.大多数杀毒软件主要依赖特征码识别技术、校验和技术、软件模拟技术检测病毒.本系统从手动杀毒角度出发,变被动防御为主动查杀,特别是Rootkit保护的内核级木马,通过检测相应的被挂钩函数,内核中被修改的地址,找到相应的进程,从而实现了木马进程的强杀、相应内核内容的恢复等功能,更有效的保护计算机操作系统的安全.【期刊名称】《软件》【年(卷),期】2016(037)003【总页数】6页(P16-20,26)【关键词】内核防护;手动杀毒;信息安全;Rootkit【作者】孟晨宇;史渊;王佳伟;周洁;康晓凤【作者单位】徐州工程学院信电工程学院,江苏徐州221000);徐州工程学院信电工程学院,江苏徐州221000);徐州工程学院信电工程学院,江苏徐州221000);徐州工程学院信电工程学院,江苏徐州221000);徐州工程学院信电工程学院,江苏徐州221000)【正文语种】中文【中图分类】TP311本文著录格式:孟晨宇,史渊,王佳伟,等. Windows内核级防护系统[J]. 软件,2016,37(3):16-20随着网络技术的发展,计算机在人民生活中的地位越来越重要。
计算机在给人民的生活和工作带来极大便利的同时,也带来了信息安全问题。
Windows操作系统是当今应用最广泛的个人计算机操作系统,针对这一操作系统的病毒和木马层出不穷。
[1]而且更为严重的是内核级Rootkit的诞生,给系统安全带来了极大的破坏性。
内核是操作系统的核心,内核的完整性保护对维护操作系统至关重要。
[2]所以本系统旨在从内核出发,全方位的利用多种综合检测技术维护系统内核的安全性以及完整性。
1.1 系统整体设计方案本系统主要分为用户层和内核层,[3]用户层利用VC++ 6.0开发,采用C++语言实现,[3-5]内核层利用WDK开发,采用C语言实现。
疱丁解马-木马查杀深度剖析之文件篇

疱丁解马-木马查杀深度剖析之文件篇(三) 作者:museheroA、利用技术手段隐藏文件讲完了障眼法后,我们讲点实在的。
其实,如果您是从第一篇一直看过来的,那么应该可以想到一些手段了,是的,HOOK、InLine-HOOK几乎可以用于任何地方,不但适用于隐藏进程、隐藏注册表,同样适用于隐藏文件,不同的只是HOOK的地方不同而已。
看下图03-49:这是某文件夹隐藏软件的HOOK情况,当用其隐藏文件或文件夹后,可以在SSDT 检查中发现这个HOOK,HOOK的功能函数是”NtQueryDirectoryFile”,当你恢复了此HOOK后,被隐藏的东西自然也就显现了。
同理,Inline-Hook此函数,效果也是一样的。
对于HOOK,每篇都在讲,这里就不过多讲述了。
测试程序也不提供了,毕竟人家是商业软件,是*这个吃饭的。
说明一下儿,内核代码扫描是扫描并恢复Inline-HOOK的地方。
下面我们讲一讲借助文件系统隐藏文件的情况,上面的基础知识中我们已经讲过了,回顾一下儿”文件格式有特定的程序来识别并读取使用,而文件系统格式则由特定的驱动来识别并读取使用,文件系统驱动根据文件系统的不同而不同,FAT 文件系统、NTFS文件系统分别由FastFat.sys与NTFS.sys来管理。
”这里我们再讲一个概念”文件过滤系统驱动”,听名字应该也能想出大概了吧?是的,这是一个文件过滤系统,付在文件系统上,像个筛子一样对传入文件系统驱动的信息进行过滤。
文件过滤系统在现实中应用非常广泛,几乎所有的杀毒软件都会用到,而系统本身的系统还原也是应用的文件过滤系统,还有些硬盘还原之类的程序也在使用文件过滤驱动。
在网上找到了个借助文件过滤系统驱动来隐藏文件的例程,这里我们就借由此程序来看看文件过滤系统是如何隐藏文件的。
(在此说明一下,说来也惭愧,测试程序都是在网上找的,其实应该是自己来写的,只是我的时间实在是太不够用了,只好偷懒了,在此也谢谢这些程序的作者们。
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、替换系统调用。
信息隐藏技术_实验报告(3篇)
第1篇一、实验目的1. 了解信息隐藏技术的基本原理和实现方法。
2. 掌握信息隐藏技术在图像、音频和视频等数字媒体中的应用。
3. 通过实验验证信息隐藏技术的有效性和安全性。
二、实验环境1. 操作系统:Windows 102. 编程语言:Python3. 库:OpenCV、scikit-image、numpy、matplotlib三、实验内容1. 图像信息隐藏2. 音频信息隐藏3. 视频信息隐藏四、实验步骤1. 图像信息隐藏(1)选择一幅图像作为宿主图像,并选择一幅图像作为水印图像。
(2)将水印图像转换为二值图像。
(3)对宿主图像进行分块处理,将每个块转换为二值图像。
(4)根据密钥对水印图像进行置乱,提高安全性。
(5)将置乱后的水印图像嵌入到宿主图像的对应块中。
(6)提取水印图像,并与原始水印图像进行对比。
2. 音频信息隐藏(1)选择一段音频作为宿主音频,并选择一段音频作为水印音频。
(2)对宿主音频和水印音频进行分帧处理。
(3)根据密钥对水印音频进行置乱,提高安全性。
(4)将置乱后的水印音频嵌入到宿主音频的对应帧中。
(5)提取水印音频,并与原始水印音频进行对比。
3. 视频信息隐藏(1)选择一段视频作为宿主视频,并选择一段视频作为水印视频。
(2)对宿主视频和水印视频进行帧提取。
(3)根据密钥对水印视频进行置乱,提高安全性。
(4)将置乱后的水印视频嵌入到宿主视频的对应帧中。
(5)提取水印视频,并与原始水印视频进行对比。
五、实验结果与分析1. 图像信息隐藏实验结果表明,嵌入水印后的图像与原始图像在视觉效果上几乎没有差异,水印的嵌入效果良好。
同时,提取的水印图像与原始水印图像完全一致,证明了信息隐藏技术的有效性。
2. 音频信息隐藏实验结果表明,嵌入水印后的音频与原始音频在音质上几乎没有差异,水印的嵌入效果良好。
同时,提取的水印音频与原始水印音频完全一致,证明了信息隐藏技术的有效性。
3. 视频信息隐藏实验结果表明,嵌入水印后的视频与原始视频在视觉效果上几乎没有差异,水印的嵌入效果良好。
木马病毒
第二代,在技术上有了很大的进步,冰河是中国木马的典型代表之一。
第三代,主要改进在数据传递技术方面,出现了ICMP等类型的木马,利用畸形报文传递数据,增加了杀毒软 件查杀识别的难度。
第四代,在进程隐藏方面有了很大改动,采用了内核插入式的嵌入方式,利用远程插入线程技术,嵌入DLL 线程。或者挂接PSAPI,实现木马程序的隐藏,甚至在Windows NT/2000下,都达到了良好的隐藏效果。灰鸽子 和蜜蜂大盗是比较出名的DLL木马。
随着互联事业的发展,木马看中了电子商务,在一些络购物上挂一些木马程序,当用户点击时,很容易进入 用户系统,当用户使用络银行时。通过上窃取银行的密码,之后盗取用户财务,给计算机用户造成巨大的经济损 失。在一些特殊的领域,木马被用做攻击的手段,如政治、军事、金融、交通等众多领域,成为一个没有硝烟的 战场,利用木马侵入对方,获取相关信息或者进行破坏。
检查计算机用到什么样的端口,正常运用的是哪些端口,而哪些端口不是正常开启的;了解计算机端口状态, 哪些端口目前是连接的,特别注意这种开放是否是正常;查看当前的数据交换情况,重点注意哪些数据交换比较 频繁的,是否属于正常数据交换。关闭一些不必要的端口。
3、删除可疑程序
对于非系统的程序,如果不是必要的,完全可以删除,如果不能确定,可以利用一些查杀工具进行检测。
完整的木马程序一般由两部分组成:一个是服务器端.一个是控制器端。“中了木马”就是指安装了木马的 服务器端程序,若你的电脑被安装了服务器端程序,则拥有相应客户端的人就可以通过络控制你的电脑。为所欲 为。这时你电脑上的各种文件、程序,以及在你电脑上使用的账号、密码无安全可言了。
恶意代码检测与防范技术ppt课件
恶意代码的早期,大多数攻击行为是由病毒和受感染的可执行文 件引起的。然而,在过去5 年,利用系统和网络的脆弱性进行传播和 感染开创了恶意代码的新纪元。
火灾袭来时要迅速疏散逃生,不可蜂 拥而出 或留恋 财物, 要当机 立断, 披上浸 湿的衣 服或裹 上湿毛 毯、湿 被褥勇 敢地冲 出去
11.1 常见的恶意代码
1. 恶意代码概述
代码是指计算机程序代码,可以被执行完成特定功能。任何事物 都有正反两面,人类发明的所有工具既可造福也可作孽,这完全取 决于使用工具的人。
指一段嵌入计算机系统程序的,通过特殊的数据或时间作为 条件触发,试图完成一定破坏功能的程序。
潜伏、传染和 破坏
扫描、攻击和扩 散
欺骗、隐蔽和信 息窃取 潜伏和破坏 Nhomakorabea病菌
指不依赖于系统软件,能够自我复制和传播,以消耗系统资 源为目的的程序。
用户级RootKit
指通过替代或者修改被系统管理员或普通用户执行的程序进 入系统,从而实现隐藏和创建后门的程序。
意代码入侵的途径很多,比如,从互联网下载的程序本身就可能含有恶 意代码;接收已感染恶意代码的电子邮件;从光盘或软盘往系统上安装 软件;黑客或攻击者故意将恶意代码植入系统等。
② 维持或提升现有特权。恶意代码的传播与破坏必须盗用用户或者
进程的合法权限才能完成。
③ 隐蔽策略。为了不让系统发现恶意代码已经侵入系统,恶意代码
核心级RootKit 指嵌入操作系统内核进行隐藏和创建后门的程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JKLMNOP1HQR56S89T ./PU>VEW89XYHZ[4:;\]E^_‘/abcde=>f g4=>T
0123
89E )45E :;E =>
9:;<=3Q 9>?83%"""RS%P"7!""#I"%R)*+,)-
456,783!"#$%&’(
,-’-./01 .23 4/.0560- 72 8720-.9:-25 5-012797;< 7= %-/2-9 >/7?.2 17/’3,+ 3F0AF0: 5Q T=/LAM:. UTQ+V +:/ W*+V 3.AF:/
!""# 年 $ 月!第 !% 卷第 $ 期
构不可见就可以实现进程隐藏 !
微电子学与计算机
!! +2G9<< 封装 G9<< 系统调用 $ 在 3/)(,>B 头文件
! 通信连接隐藏 " 通信连接信息记录在 & ’()* & +,- & -*’ 和 & ’()* & +,- & ./’ 文件中 # 通 过 改 变 0102(,3/ 45 系统调用可实现相关信息隐藏 ! 通过打开这两个
文件并匹配特定的字符串 $ 则可滤掉相关信息 %
中 $ 定义了三个信号 NKVKLMKNKO6P&NKVMKNKO6P 和
! 678 模 块 隐 藏 "69+.: 操 作 系 统 将 678 模
块信息存放在一个单链表中 $ 可以通过将该链表中 有关木马的 678 模块信息删除 $ 可以避过;<0=)/;之 类的管理命令的检查 !
这些函数基本都是真正的相关系统调用的封装 ! 为 实 现 隐 藏 $3/)(, 在 69+.: 的 进 程 控 制 块
E,-/,+-0 系统 调 用 是 用 来 获 得 目 录 的 $ 如 果 是
在 & ’()* 文 件 系 统 中 $ 就 调 用 0-(9’29+D909Z<,4 C 处 理 $ 接着调用真正的 E,-/,+-04)2E,-/,+-0C $ 最后清除需要 隐藏的条目 !
统调用句柄来实现文件 ( 进程和通信连接隐藏 *
! 系统调用重定向 # 利用 =1=H7 I 系统调用实现
重定向 ! 主要当对隐藏目标使用 =1=H7 I 系统ห้องสมุดไป่ตู้用时 使用替换版本 ! 而对于其他则使用原始版本 *
"
#$%&’()*+,当前世界上公开出现的内核级木马并不多 ! 所
! 文件隐藏 # 文件和目录信息主要是利用 86 + ;0 等系统命令来显示的 ! 而 86(;0 等命令获取目录 信息都使用 6J6KL=M;=/M67 I 系统调用 ! 在内核中通过 改 变 6J6KL=M;=/M67I 的 功 能 可 实 现 相 应 的 文 件 ( 路 径
"#! $%&’ ()*+()* )456 是指内核加载模块 789:;:<8= >=?/=8 @9;A 08=6B! 它主要是用于系统扩展功能的 ! 不需要重新编 译内核 ! 就可以被动态的加载 ’ 现在许多内核开放的 操 作 系 统 都 支 持 这 种 功 能 ! 如 )./01!398:?.6 和 C?==D32 " 现 在 利 用 这 种 技 术 实 现 隐 藏 的 木 马 有 :;9?=(>/:?> 和 EF.;= 等 ) !G%G% )45 木马所使用的隐藏技术 )45 木 马 主 要 是 通 过 修 改 系 统 调 用 或 替 换 系
4-30G20-(.*-$ 定义在 9+*<./, & <9+.: & 0*B,/>B 中 C 的进程 标 识 域 4-30G20-(.*->F<3E0C 引 入 了 两 个 进 程 标 志 " IJ2KLMKNKO6P 和 IJ2QRST ! 如果进程控制块标志
域的 IJ2KLMKNKO6P 位被置位就表示进程是不可以 显示的 ! 进程标志 IJ2QRST 是用来限制对于隐藏 进程的操作 $ 只能具有 IJ2QRST 进程标志的进程 才具有对被隐藏进程进行某些操作的权限U 如 G9<<C !
0-3(-3/)(,! 主要通过如下的函数替代真正的系统调 用 来 实 现 隐 藏 ! +2E,-/,+-0 &+2E,-/,+-0@# &+2F)(G& +2*<)+, &+2G9<<&+2H(9-, &+2*<)0,&+2=G/9( &+2)</0-3-& +2)</<0-3-&+20-3-&+2<0-3-&+20-3-@#&+2<0-3-@#&+2)’,+!
+2*<)+, 封 装 69+.: 特 有 的 系 统 调 用 0102*<)+,$ 执行流程和 +2F)(G 几乎完全相同 $ 只是用 )2*<)+, 代替 )2F)(G!
3/)(, 模块和检查 3/)(, 模块是否运行的功能 ! !>%>$ 内核级木马 7+3(G 7+3(G 是 0,G.(,>+,- 的成员 *(,,/ 开发的一个基 于 <9+.: !>! 内核的木马功能模块 ! G+3(G 的内核模
+2=G/9( 封装 =G/9( 功能 $ 同时这个函数还用来 对使用 3/)(, 功能的进程进行验证 ! +2H(9-, 这 个 函 数 主 要 是 阻 止 +,-0-3- 进 程 输 出 有关 3/)(, 的信息 ! 检查当前进程是否是 +,-0-3- ! 若 是 $ 把所有包含 TK\\PL2NPWMK]PN 里面设置的字 符 串 的 输 出 行 过 滤 掉 $ 然 后 调 用 真 正 的 0102H(9-, 4)2H(9-,C$ 输出通过检查的信息 ! +2*<)0, 这个函数也是 3/)(, 中比较重要的一个 函数 ! 它除了能够调用执行正常的 0102*<)0,4)2*<)0,C
!"
微电子学与计算机
!""# 年 $ 月!第 !% 卷第 $ 期
块 改 变 了 & 个 系 统 调 用 !’()*")+,-"+.+/0+ "*122"
关闭文件描述符之外 $ 还有提升后门进程权限 &卸载
+2F)(G 用来替代 F)(G 系统调用 $ 首先对执行这
个系统调用的进程进行检查 $ 如果这个进程是隐藏 的 $ 其子进程也必须隐藏 ! 它是通过检查执行 F)(G 系统调用的进程 F<3E0 域是否设置了 IJ2KLMKNKO6P 标志实现的 !
’*/6M.M0M= 9X 39XMY:?=!Z/L./==?./L [=6=:?HF \=/M=? X9? */X9?@:M.9/ 3=H0?.MJ ]=HF/989LJ’ QH:;=@J 9X 3H.=/H=6 !D=.^./L %"""P" ./012 %
@A’5/.05+ */ MF.6 E:E=?’ <J :/:8J_./L :/; 6M0;J 9/ H9/H=:8@=/M :/; ;=M=HM./L M=HF/989LJ 9X H0??=/M >=?/=8 ]?9^:/ F9?6= 9/ )./01 E8:MX9?@’Y= @:./8J ;.6H066 ?=8:M=; H9/H=:8@=/M :/; ;=M=HM./L M=HF/989LJ 9X .M :/; <:6=; 9/ MF.6 .@E8=@=/M : >=?/=8 ]?9^:/ F9?6=G Z1E=?.@=/M:8 ?=608M 6F9Y6 .M F:6 L99; H9/H=:8@=/M E=?X9?@:/H= :/; E?9H==; M9 =6H:E= ;=M=HM./L 9X 69@= M9986G %-< !7/3’+ ]?9^:/ F9?6=’ )45 ’ .9/H=:8@=/M’ 3=M=HM./L
隐藏 "
收稿日期 ‘ !""$R"*R%’ 基金项目 ‘ 国家自然科学基金资助项目 ’a""P$""S % 国家信息网络安全保障持续发展计划基金 O!""!R 研 %RDR""!I
! 进程隐藏 # 进程信息是映射到 N E?9H 文件系 统中的 ! 通过改变 6J6KL=M;=/M6O I 系统调用使任务结
!>%>!
内核级木马 3/)(,
?@A
+2 )</0-3- & +2)</<0-3- & +20-3- & +2<0-3- & +20-3-@# 和 +2<0-3-@# 这些系统调用都是用来获得文件状态的 !
在执行真正的操作之前 $ 它们都会检查文件是否出 现在 (,/9(40-(.*- (,/9(F9<,C 中 $ 如果是 $ 就把要打开的 文件重定向到另外的文件 4(,//9(?A>(,/9(,*-,/C ! 然后 执行真正的相关系统调用 !