特洛伊木马分析与防范
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
远程线程是 Windows 为程序开发人 员 提 供 的 一 种系统功能, 这种功能允许一个进程( 进程 B) 在其他 的 进 程 ( 进 程 A) 空 间 中 分 配 内 存 , 并 通 过 CreateRe- moteThread 函数在进程 A 中创建一个新的线程, 然后
收稿日期: 2007- 08- 22 修稿日期: 2007- 11- 04 作者简介: 张颖卓( 1983- ) , 男, 四川成都人, 硕士研究生, 研究方向为分布式系统与并行计算技术
图 4 采用钩子技术对注册表进行监控
5 结语
由于木马技术涉及很多系统底层基础知识, 且发 展迅速, 深入地研究木马技术对防范木马, 以及提高 系统的安全性能有重要意义。本文详细分析了两种 DLL 木 马 的 特 征 , 并 提 出 使 用 Windows API 钩 子 技 术, 利用木马自启动的特性, 对其进行拦截, 可以有效 地对木马进行监控。随着采用新技术的木马的出现, 反木马理论和技术也需要不断进步和发展。
1 特洛伊木马概述
1.1 特洛伊木马的定义 特洛伊木马( Trojan Horse) , 简称木马, 是一种计
算 机 网 络 病 毒 。它 是 隐 藏 在 正 常 程 序 中 的 一 段 具 有 特 殊功能的恶意代码, 它利用自身所具有的植入功能, 或依附其他具有传播能力的病毒, 进驻目标机器, 让 攻击者获得远程访问和控制的权限, 从而反客为主, 在 用 户 的 计 算 机 中 修 改 文 件 、修 改 注 册 表 、控 制 鼠 标 、 监视键盘、窃取用户信息, 甚至控制系统。
京: 机械工业出版社, 2000: 531 ̄534
Ana lys is a nd P re ve ntion of Troja n Hors e
ZHANG Ying- zhuo
( Collage of Information Technology, Chengdu University of Technology, Chengdu 610059)
Abs tract: Introduces the characteristics of the trojan horse and analyses the characteristics and imple- ment of the two kinds of DLL trojan horse, and Hale Waihona Puke Baidurovides the method of using windows API hook for preventing trojan horse.
以修改注册表为例: Windows 平台下修改注册表 的 API 函 数 有 RegCreateKey、RegOpenKey ( Path) 等 等, 其中参数 Path 代表要修改的具体注册表键值。
定义一个与 RegOpenKey( Path) 具有相同名称和 参 数 的 钩 子 函 数 , 并 在 系 统 安 装 针 对 RegOpenKey ( Path) 的钩子。之后, 任何进程或线程对 RegOpenKey ( Path) 的调用都会被拦截, 实际调用的是我们自定义 的钩子函数, 而 Path 参数也被钩子函数拦截, 若 Path 的值为: HKEY_Local_Machine\Software\Microsoft\Win-
图 2 采用动态链接库转发技术的 DLL 木马原理
3.2 采用动态嵌入技术的 DLL 木马 DLL 木马的最高境界是动态嵌入技术。动态嵌入
技术指的是将自己的代码嵌入正在运行的进程中的 技术。在多种动态嵌入技术中( 窗口钩子、挂接 API、 远程线程) , 最常用的是远程线程技术, 该方法具有很 大的灵活性, 它要求编制者懂得若干个 Windows 特性, 例如进程、线程、线程同步、虚拟内存管理、DLL 等。
利用上述任一一个特征来防范木马病毒的入侵, 一旦阻止了木马的某一个特征, 它就不能成功安装或 不能完成入侵, 以及窃取用户信息。
3 DLL 木马
3.1 采用动态链接库转发技术的 DLL 木马 基于动态链接库转发技术的 DLL 木马, 是通过
在目标主机上将原来的动态链接库更名, 并用木马程 序附带的动态链接库替换该系统原来的动态链接库, 当系统要进行正常的系统调用时, 就将该调用转发给 原动态链接库; 如果是木马客户端发过来的事先约定 的调用, 就作相应的处理, 其原理如图 2 所示。
图 3 采用远程线程动态嵌入技术的 DLL 木马原理
4 木马的防范
为了能够在安装后随系统自启动运行, 大多数木 马会采取修改注册表、系统配置文件、系统 启动文件 夹等方式来达到此目的, 因此可以通过从底层对上述 文件以及注册表的监控, 来监测木马的入侵。
如何从底层进行监控呢? 木马的上述行为在木马 程序中表现为对不同的系统 API 的调用, 利用 Win- dows API 钩子 技术可以拦 截 API 调 用— ——预 先 定 义 自己的钩子函数, 并在系统安装针对某个 API 调用的 钩子, 便可在真正 API 调用前, 先调用自定义的钩子 函数, 该函数用来判断行为是否合法, 从而是否调用 真正的 API、退出程序或者执行其他的代码。
Keywords : Trojan Horse; Remote Thread; Dynamic Injection of DLL; Hook
!" MO D E R N C OMP U T E R 2007.11
现代计算机(总第二七一期)
图 1 特洛伊木马的结构
木马程序驻留在受害者的系统中( 服务器端) 后, 木马病毒的制造者可以通过网络中的其他计算机任 意控制服务器端的计算机, 并享有服务器端的大部分 操作权限, 利用客户端向服务器发出请求, 服务器端 收到请求后会根据请求执行相应的动作。
2 特洛伊木马的共有特性
特 洛 伊 木 马 具 有 隐 藏 性 、自 动 运 行 性 、功 能 特 殊 性、网络通信性等 4 个特征, 如果用 Y 来表示木马 病 毒的成功植入和运行, 用 I1~I4 来表示上述木马 病毒
实践与经验
特洛伊木马分析与防范
张颖卓
(成都理工大学信息工程学院, 成都 610059)
摘 要: 介 绍 特 洛 伊 木 马 的 特 点 , 详 细 分 析 了 两 种 DLL 木 马 的 特 征 和 具 体 实 现 方 法 , 给 出 利 用 Windows API 钩子技术防范木马的方法。
关键词: 特洛伊木马; 远程线程; 动态嵌入 DLL; 钩子
参考文献 [1]张仁斌, 李钢, 候整风. 计算机病毒与反病毒技术. 北京:
清华大学出版社, 2006: 290 ̄320 [2]韩筱卿, 王建锋, 钟纬. 计算机病毒分析与防范大全. 北
京: 清华大学出版社, 2006: 112 ̄117 [3](美)Jeffrey Richter. Windows 核心编程. 王建华等译. 北
现代计算机(总第二七一期)
MO D E R N C OMP U T E R 2007.11 !"
实践与经验
再由该新创建的线程来启动一个 DLL 木马, 实现对 服务器的控制, 如图 3 所示。
dows\CurrentVersion\Run( 很可能是木马程序为了实现 自启动而修改注册表启动项) , 则询问当前用户是否允 许该操作, 从而达到拦截木马的目的, 如图 4 所示。
1.2 特洛伊木马病毒的结构 木马病毒一般分为客户端 ( Client) 和服务器端
( Server) 两部分,如图 1 所示。其中客户端是用于攻击 者远程控制植入木马的机器, 服务器端则是木马程序 的寄宿体。
必备的 4 种特征, 那么可以用如下表达式来表达它们 之间的关系: Y = I1∧I2∧I3∧I4。
收稿日期: 2007- 08- 22 修稿日期: 2007- 11- 04 作者简介: 张颖卓( 1983- ) , 男, 四川成都人, 硕士研究生, 研究方向为分布式系统与并行计算技术
图 4 采用钩子技术对注册表进行监控
5 结语
由于木马技术涉及很多系统底层基础知识, 且发 展迅速, 深入地研究木马技术对防范木马, 以及提高 系统的安全性能有重要意义。本文详细分析了两种 DLL 木 马 的 特 征 , 并 提 出 使 用 Windows API 钩 子 技 术, 利用木马自启动的特性, 对其进行拦截, 可以有效 地对木马进行监控。随着采用新技术的木马的出现, 反木马理论和技术也需要不断进步和发展。
1 特洛伊木马概述
1.1 特洛伊木马的定义 特洛伊木马( Trojan Horse) , 简称木马, 是一种计
算 机 网 络 病 毒 。它 是 隐 藏 在 正 常 程 序 中 的 一 段 具 有 特 殊功能的恶意代码, 它利用自身所具有的植入功能, 或依附其他具有传播能力的病毒, 进驻目标机器, 让 攻击者获得远程访问和控制的权限, 从而反客为主, 在 用 户 的 计 算 机 中 修 改 文 件 、修 改 注 册 表 、控 制 鼠 标 、 监视键盘、窃取用户信息, 甚至控制系统。
京: 机械工业出版社, 2000: 531 ̄534
Ana lys is a nd P re ve ntion of Troja n Hors e
ZHANG Ying- zhuo
( Collage of Information Technology, Chengdu University of Technology, Chengdu 610059)
Abs tract: Introduces the characteristics of the trojan horse and analyses the characteristics and imple- ment of the two kinds of DLL trojan horse, and Hale Waihona Puke Baidurovides the method of using windows API hook for preventing trojan horse.
以修改注册表为例: Windows 平台下修改注册表 的 API 函 数 有 RegCreateKey、RegOpenKey ( Path) 等 等, 其中参数 Path 代表要修改的具体注册表键值。
定义一个与 RegOpenKey( Path) 具有相同名称和 参 数 的 钩 子 函 数 , 并 在 系 统 安 装 针 对 RegOpenKey ( Path) 的钩子。之后, 任何进程或线程对 RegOpenKey ( Path) 的调用都会被拦截, 实际调用的是我们自定义 的钩子函数, 而 Path 参数也被钩子函数拦截, 若 Path 的值为: HKEY_Local_Machine\Software\Microsoft\Win-
图 2 采用动态链接库转发技术的 DLL 木马原理
3.2 采用动态嵌入技术的 DLL 木马 DLL 木马的最高境界是动态嵌入技术。动态嵌入
技术指的是将自己的代码嵌入正在运行的进程中的 技术。在多种动态嵌入技术中( 窗口钩子、挂接 API、 远程线程) , 最常用的是远程线程技术, 该方法具有很 大的灵活性, 它要求编制者懂得若干个 Windows 特性, 例如进程、线程、线程同步、虚拟内存管理、DLL 等。
利用上述任一一个特征来防范木马病毒的入侵, 一旦阻止了木马的某一个特征, 它就不能成功安装或 不能完成入侵, 以及窃取用户信息。
3 DLL 木马
3.1 采用动态链接库转发技术的 DLL 木马 基于动态链接库转发技术的 DLL 木马, 是通过
在目标主机上将原来的动态链接库更名, 并用木马程 序附带的动态链接库替换该系统原来的动态链接库, 当系统要进行正常的系统调用时, 就将该调用转发给 原动态链接库; 如果是木马客户端发过来的事先约定 的调用, 就作相应的处理, 其原理如图 2 所示。
图 3 采用远程线程动态嵌入技术的 DLL 木马原理
4 木马的防范
为了能够在安装后随系统自启动运行, 大多数木 马会采取修改注册表、系统配置文件、系统 启动文件 夹等方式来达到此目的, 因此可以通过从底层对上述 文件以及注册表的监控, 来监测木马的入侵。
如何从底层进行监控呢? 木马的上述行为在木马 程序中表现为对不同的系统 API 的调用, 利用 Win- dows API 钩子 技术可以拦 截 API 调 用— ——预 先 定 义 自己的钩子函数, 并在系统安装针对某个 API 调用的 钩子, 便可在真正 API 调用前, 先调用自定义的钩子 函数, 该函数用来判断行为是否合法, 从而是否调用 真正的 API、退出程序或者执行其他的代码。
Keywords : Trojan Horse; Remote Thread; Dynamic Injection of DLL; Hook
!" MO D E R N C OMP U T E R 2007.11
现代计算机(总第二七一期)
图 1 特洛伊木马的结构
木马程序驻留在受害者的系统中( 服务器端) 后, 木马病毒的制造者可以通过网络中的其他计算机任 意控制服务器端的计算机, 并享有服务器端的大部分 操作权限, 利用客户端向服务器发出请求, 服务器端 收到请求后会根据请求执行相应的动作。
2 特洛伊木马的共有特性
特 洛 伊 木 马 具 有 隐 藏 性 、自 动 运 行 性 、功 能 特 殊 性、网络通信性等 4 个特征, 如果用 Y 来表示木马 病 毒的成功植入和运行, 用 I1~I4 来表示上述木马 病毒
实践与经验
特洛伊木马分析与防范
张颖卓
(成都理工大学信息工程学院, 成都 610059)
摘 要: 介 绍 特 洛 伊 木 马 的 特 点 , 详 细 分 析 了 两 种 DLL 木 马 的 特 征 和 具 体 实 现 方 法 , 给 出 利 用 Windows API 钩子技术防范木马的方法。
关键词: 特洛伊木马; 远程线程; 动态嵌入 DLL; 钩子
参考文献 [1]张仁斌, 李钢, 候整风. 计算机病毒与反病毒技术. 北京:
清华大学出版社, 2006: 290 ̄320 [2]韩筱卿, 王建锋, 钟纬. 计算机病毒分析与防范大全. 北
京: 清华大学出版社, 2006: 112 ̄117 [3](美)Jeffrey Richter. Windows 核心编程. 王建华等译. 北
现代计算机(总第二七一期)
MO D E R N C OMP U T E R 2007.11 !"
实践与经验
再由该新创建的线程来启动一个 DLL 木马, 实现对 服务器的控制, 如图 3 所示。
dows\CurrentVersion\Run( 很可能是木马程序为了实现 自启动而修改注册表启动项) , 则询问当前用户是否允 许该操作, 从而达到拦截木马的目的, 如图 4 所示。
1.2 特洛伊木马病毒的结构 木马病毒一般分为客户端 ( Client) 和服务器端
( Server) 两部分,如图 1 所示。其中客户端是用于攻击 者远程控制植入木马的机器, 服务器端则是木马程序 的寄宿体。
必备的 4 种特征, 那么可以用如下表达式来表达它们 之间的关系: Y = I1∧I2∧I3∧I4。