针对Windows RootKit的安全监测系统的研究与实现

针对Windows RootKit的安全监测系统的研究与实现

论文摘要

RootKit是攻击者在入侵系统后为了保持对系统的超级用户访问权限,创建后门和隐藏攻击痕迹而常采用的一种技术。RootKit存在于Linux, Solaris和Windows等各种操作系统上。由于Windows操作系统在我们生活中的广泛应用(个人、企业乃至于政府),使得其变成了RootKit攻击的重要目标。根据对操作系统入侵的实现层次的不同,RootKit分为用户模式RootKit和内核模式RootKit两种类型。用户模式RootKit在操作系统用户空间修改系统文件或二进制数据。内核模式RootKit攻击操作系统内核,与用户模式RootKit相比功能更强大,更难检测。目前Windows RootKit的形式与功能“多样性”的现实,使得现有的各种针对性强但功能相对单一的专用检测工具己经不能满足安全的实际需要。为了切实的消除Windows RootKit可能存在的危害,本文从Windows RootKit安全技术和安全策略方面出发,根据Windows RootKit安全的实际,制定“多样性检测”,“监控防御”与“自我保护”相结合的针对Windows系统下RootKit的安全策略。本文按照制定的安全策略实现方案,设计了一个Windows RootKit的监测系统。相对于常规的Windows RootKit检测技术,监测系统的“多样性检测”解决了普通检测技术单一性的问题,能适应Windows RootKit的多样性,比较全面的检测出各种现有的Windows RootKit,具有通用性的一面。“监控防御”技术以监测系统的主动监控防御取代了常规Windows RootKit安全策略中的被动检测防御,让系统安全处于更加主动的有利位置。“自我保护”措施的采用保证了整个监测系统的健壮性,能有效的保护自身、抵御RootKit的反攻击。本文的研究工作对Windows RootKit的安全研究提供了比较完整的基础知识,所提出的多样性检测方法,弥补了现有专项检测方法的不足,可以有效地检测出各种Windows RootKit。同时提出的“多样性检测”、“监控防御”和“自我保护”三者结合的Anti-RootKit的安全策略,对Windows系统安全有着实用价值。

论文目录

  • 摘要
  • Abstract
  • 第一章 引言
  • 1.1 研究背景
  • 1.2 论文研究内容
  • 1.3 论文组织
  • 第二章 Windows RootKit 简介
  • 2.1 什么是Windows RootKit
  • 2.2 Windows RootKit 产生的原因
  • 2.3 Windows RootKit 的攻击原理
  • 2.4 RootKit 的发展和研究现状
  • 2.5 Windows RootKit 的分类
  • 第三章 Windows RootKit 常用核心技术
  • 3.1 Windows 相关概念与原理
  • 3.1.1 Windows 系统的内存空间
  • 3.1.2 系统服务(System Service)
  • 3.1.3 系统服务的调用
  • 3.1.4 系统服务描述符表(ServiceDescriptorTable,SDT)
  • 3.1.5 进程与线程
  • 3.1.6 驱动程序
  • 3.2 挂钩技术
  • 3.3 内核修补技术
  • 3.3.1 内核代码补丁
  • 3.3.2 直接内核对象修改
  • 3.4 用户空间动态注入技术
  • 3.5 内核模块动态加载技术
  • 3.5.1 注册表加载
  • 3.5.2 SystemLoadAndCallImage 加载
  • 3.5.3 \Device\PhysicalMemory 加载
  • 第四章 Windows RootKit 现有检测技术和方法
  • 4.1 交叉观测检测
  • 4.2 静态表检测
  • 4.3 执行路径检测
  • 4.3.1 执行路径分析
  • 4.3.2 指令记数的实现
  • 4.4 完整性检测
  • 4.4.1 文件完整性检测
  • 4.4.2 内存完整性检测
  • 4.5 指令跳转分析检测
  • 4.6 隐藏进程检测
  • 4.6.1 检索调度程序(scheduler)中的线程列表
  • 4.6.2 挂钩SwapContext 内核函数
  • 第五章 Windows RootKit 实例和检测工具的分析
  • 5.1 Windows RootKit 实例
  • 5.1.1 Hacker Defender
  • 5.1.1.1 介绍
  • 5.1.1.2 技术解析
  • 5.1.2 灰鸽子
  • 5.1.2.1 介绍
  • 5.1.2.2 技术解析
  • 5.1.3 Agony Ri1190 RootKit
  • 5.1.3.1 介绍
  • 5.1.3.2 技术解析
  • 5.1.4 Ntrootkit
  • 5.1.4.1 介绍
  • 5.1.4.2 技术解析
  • 5.1.5 FU
  • 5.1.5.1 介绍
  • 5.1.5.2 技术解析
  • 5.1.6 Windows RootKit 总结
  • 5.2 Windows RootKit 检测工具
  • 5.2.1 基于签名的检测工具
  • 5.2.2 基于行为的检测工具
  • 5.2.2.1 VICE
  • 5.2.2.2 Patchfinder
  • 5.2.3 基于交叉观察的检测
  • 5.2.3.1 RootKit Revealer
  • 5.2.3.2 Klister
  • 5.2.3.3 Blacklight
  • 5.2.3.4 Strider GhostBuster
  • 5.2.4 基于完整性的检测
  • 5.2.4.1 Tripwire
  • 5.2.4.2 System Virginity Verifier
  • 5.2.5 关于检测方法的思考
  • 第六章 Windows RootKit 安全监测系统的设计与实现
  • 6.1 总体设计方案
  • 6.2 采集校验码检查数据的完整性
  • 6.3 用户空间检测
  • 6.3.1 系统文件完整性检测
  • 6.3.1.1 系统可执行文件
  • 6.3.1.2 检测方法
  • 6.3.2 代码区完整性检测
  • 6.3.2.1 定位PE 文件中的代码区
  • 6.3.2.2 定位内存空间中的代码区
  • 6.3.2.3 检测方法
  • 6.3.3 输入地址表修改检测
  • 6.3.3.1 输入表(Import Table)简介
  • 6.3.3.2 检测方法
  • 6.3.3.3 部分代码实现
  • 6.4 内核空间检测
  • 6.4.1 内核空间与用户空间的通信
  • 6.4.2 隐藏进程检测
  • 6.4.2.1 Windows RootKit 隐藏进程的方式
  • 6.4.2.2 检测方法
  • 6.4.3 系统服务调度表挂钩检测
  • 6.4.3.1 系统服务调度表
  • 6.4.3.2 检测方法
  • 6.4.3.3 部分代码实现
  • 6.4.4 内联挂钩检测
  • 6.4.4.1 检测方法
  • 6.4.4.2 部分代码实现
  • 6.4.5 特定驱动的IRP 检测
  • 6.4.5.1 寻找驱动程序的IRP 函数表
  • 6.4.5.2 检测方法
  • 6.4.5.3 部分代码实现
  • 6.5 监控Windows RootKit
  • 6.5.1 监控文件系统
  • 6.5.1.1 文件过滤驱动
  • 6.5.1.2 设计文件系统过滤驱动
  • 6.5.1.3 部分代码实现
  • 6.5.2 监控用户空间的代码动态注入
  • 6.5.2.1 监控原理
  • 6.5.2.2 设计代码动态注入监控
  • 6.5.2.3 部分代码实现
  • 6.5.3 监控内核的动态加载
  • 6.5.3.1 监控原理
  • 6.5.3.2 设计动态加载监控
  • 6.5.3.3 部分代码实现
  • 6.6 保护Anti-RootKit
  • 6.6.1 Anti-RootKit 模块文件完整性保护
  • 6.6.2 隐藏Anti-RootKit 模块
  • 6.7 综合试验
  • 6.7.1 测试实验
  • 6.7.1.1 hxdef 检测
  • 6.7.1.2 “灰鸽子”检测
  • 6.7.1.3 FU 检测
  • 6.7.1.4 Ntrookit 检测
  • 6.7.1.5 主动监控测试
  • 6.7.2 总体评价
  • 第七章 结论
  • 7.1 本文工作总结
  • 7.2 进一步研究工作
  • 致谢
  • 参考文献
  • 在学期间的研究成果
  • 相关论文文献

    • [1].高性能嵌入式驱动程序防篡改自检测仿真研究[J]. 计算机仿真 2019(12)
    • [2].驱动程序安装专题问答[J]. 网络安全和信息化 2020(08)
    • [3].计算机硬件设备驱动程序分析[J]. 电子制作 2018(17)
    • [4].计算机驱动程序测试模块开发研究[J]. 科技创新与应用 2017(15)
    • [5].驱动程序也要云检测[J]. 电脑迷 2011(02)
    • [6].驱动程序 装还是不装?[J]. 电脑爱好者 2009(18)
    • [7].系统背后的无名英雄驱动程序[J]. 电脑爱好者 2013(17)
    • [8].精彩的幕后英雄──驱动程序[J]. 中国信息技术教育 2013(12)
    • [9].探讨计算机驱动程序测试模块开发[J]. 计算机产品与流通 2017(10)
    • [10].再说驱动[J]. 中国信息技术教育 2014(01)
    • [11].51环境下按键驱动程序的优化[J]. 电子技术与软件工程 2013(09)
    • [12].为何无法安装驱动程序[J]. 电脑爱好者 2010(01)
    • [13].教你正确安装驱动程序的顺序[J]. 网络与信息 2010(03)
    • [14].驱动管理莫用愁 有个天使等着你[J]. 电脑爱好者(普及版) 2009(05)
    • [15].在线应用集锦 驱动程序在线装[J]. 电脑爱好者(普及版) 2010(04)
    • [16].扫清残余部队——图解清理旧驱动程序残余文件[J]. 电脑爱好者(普及版) 2010(11)
    • [17].为驱动程序植入自动指令[J]. 电脑爱好者 2014(15)
    • [18].你的驱动程序签名了吗?[J]. 网友世界 2011(02)
    • [19].编写驱动程序防止木马入侵[J]. 电脑编程技巧与维护 2008(08)
    • [20].软件特工队[J]. 电脑迷 2010(19)
    • [21].Windows 8里的那些驱动程序[J]. 电脑爱好者 2013(17)
    • [22].USB完全即插即用[J]. 电脑爱好者 2008(09)
    • [23].基于端口操作的虚拟还原穿透驱动程序的设计[J]. 无线互联科技 2014(09)
    • [24].POS机钱箱驱动程序的开发[J]. 北京工业职业技术学院学报 2011(02)
    • [25].面向信号的仪器驱动程序建模[J]. 火力与指挥控制 2010(08)
    • [26].基于数据库的通用驱动程序自动编写算法研究[J]. 电子设计工程 2019(15)
    • [27].驱动升级我有捷径[J]. 网友世界 2010(12)
    • [28].基于WDF过滤驱动的监控系统的设计与实现[J]. 计算机光盘软件与应用 2014(11)
    • [29].聊聊安装驱动那些事[J]. 计算机与网络 2014(06)
    • [30].最新动态[J]. 国内外机电一体化技术 2008(01)

    标签:;  ;  

    针对Windows RootKit的安全监测系统的研究与实现
    下载Doc文档

    猜你喜欢