24小时论文定制热线

热门毕设:土木工程工程造价桥梁工程计算机javaasp机械机械手夹具单片机工厂供电采矿工程
您当前的位置:论文定制 > 毕业设计论文 >
快速导航
毕业论文定制
关于我们
我们是一家专业提供高质量代做毕业设计的网站。2002年成立至今为众多客户提供大量毕业设计、论文定制等服务,赢得众多客户好评,因为专注,所以专业。写作老师大部分由全国211/958等高校的博士及硕士生设计,执笔,目前已为5000余位客户解决了论文写作的难题。 秉承以用户为中心,为用户创造价值的理念,我站拥有无缝对接的售后服务体系,代做毕业设计完成后有专业的老师进行一对一修改与完善,对有答辩需求的同学进行一对一的辅导,为你顺利毕业保驾护航
代做毕业设计
常见问题

Linux环境木马检测技术

添加时间:2019/04/01 来源:西安电子科技大学 作者:付鹏
随着计算机技术的飞速发展,在各行各业中都能看到计算机技术在其中起到了非常重要的作用。但是随着网络与计算机应用技术的不断深入到各行各业,随之带来的安全问题也越来越凸显出来。
以下为本篇论文正文:

摘要

  近年来,Linux 系统在服务器领域的占有率一路攀升,尤其是在云计算领域。但是由于源代码开放,Linux 面临着日趋严峻的安全挑战。Linux 环境下的内核级 Rootkit类型木马拥有与操作系统内核相同的权限,能够修改系统中任何数据与代码,成为了隐藏性极高、检测难度极大的一类恶意木马软件,对 Linux 系统安全构成了非常严重的威胁,研究Linux环境下内核级Rootkit类型木马的检测技术具有非常重要的意义。

  QEMU 虚拟化技术能够支持硬件虚拟化和具有高于客户机操作系统内核级别的权限以及对客户机系统的隔离性,为内核级 Rootkit 类型木马检测技术的实现提供了可信保证。因此,在理论上利用 QEMU 技术的 Rootkit 的检测技术能够有效的检测出内核级 Rootkit 类型木马。基于上述理论基础,本文将针对如何利用 QEMU 虚拟化技术检测 Linux 环境下内核级 Rootkit 类型木马展开论述。本文主要工作如下:

  (1) 主要对相关技术进行论述,包括 Linux 内核结构与相关特性、Rootkit 的特征与危害、Linux环境下Rootkit核心技术以及QEMU虚拟化技术和虚拟机检测技术。

  (2) 从总体目标、需求和原则三个方面,再针对传统的检测模型和现有的虚拟机检测模型进行分析比较,提出了一种改进的虚拟机检测模型,并在此模型上设计出基于 QEMU 检测 Rootkit 工具的总体框架。最后在此框架下衍生拓展出两个检测插件:

  静态内存分析插件和动态识别进程插件。

  (3) 分析 QEMU 内存虚拟化技术,从 dump 虚拟机内存与分析内存信息两个方面,设计并实现了静态内存分析插件。

  (4) 分析 QEMU 动态翻译技术,从动态捕获进程和提取进程信息两个方面,设计并实现了动态识别进程插件。

  (5) 使用两个插件来对 Linux 环境下内核级 Rootkit 类型木马 suterusu 进行检测测试,并得到相应的测试结果。

  最后通过测试结果分析,本文设计的两个的检测插件都能有效的检测出内核级Rootkit 类型木马,说明本文改进的基于 QEMU 的 Rootkit 检测模型具有可行性。

  关 键 词:Linux 内核, Rootkit 检测, QEMU, 系统安全

ABSTRACT

  Recently, the occupant rate of using Linux on server field is gradually rising, especially on Cloud Computing field. However, due to opening source, Linux is facing increasingly serious security challenges. The kernel-level Rootkit under Linux environments is a kind of malicious software that can obtain the kernel permissions and can modify all the data and codes inside the system. Because it is good at hiding and hard to be detected, it has caused a serious threat to the security of Linux system. Under this background, it will be very meaningful to research the detection techniques for kernel-level Rootkit.

  As the development of QEMU virtualization technology, with supporting hardware virtualization technology, owning the kernel level permissions and isolating the client system with host system, which provides a guarantee for the detection of the kernel level Rootkit in the Linux environment. Therefore, it can detect kernel-level Rootkit based on the QEMU technology in theory. Based on the above rationale,the main content of this paper is how to detect kernel-level Linux Rootkit in Linux environment with QEMU simulator visualization technology. this paper mainly contains following works:

  (1) The related technology is analyzed. Those are mainly about the properties and principle of Linux kernel, the feature and probably hazards of Rootkit, the core knowledge of Rootlet, the virtualization technology of QEMU and the detection technology base on virtualization.

  (2) This paper will analyze from three aspects (Overall targets, requirements and principles), and then analyzing the traditional detection models and the detection models base on virtual machine technology. Finally, an improved detection model base on virtual machine technology will be created. Based on this model, two detection plugins (static memory analysis plugin and dynamic process identification plugin) will be derived.

  (3) With analysis of the memory virtualization technology of QEMU, the static memory analysis plugin is designed and realized. It is consist of dump virtual machine memory and memory information analysis.

  (4) With analysis of the dynamic translation technology of QEMU, the dynamic process identification plugin is designed and realized. It is consist of implement capture process dynamically and information extraction process.

  (5) Using these two plugins to test and detect kernel level Rootkit Suterusu under Linux system environment and present the related results.

  In the end, through the test result analysis, this paper designs the two detection plugins can effectively detect the existence of the kernel level Rootkit, which shows that the improved Rootkit detection model base on QEMU is feasible.

  Keywords: Linux kernel, Rootkit detection, QEMU, System Security

  Linux 操作系统在企业服务器领域占据了主导地位,尤其是在云平台领域,据统计截至 2014 年,Linux 云平台的占有率高达 75%[1]。但是,Linux 环境的安全问题也面临着严峻的挑战,其中内核安全尤为引人注目,面向 Linux 环境的木马检测成为了研究的热点。

  云计算技术的发展推动了各类云平台的普及和推广,越来越多的用户将自己的数据存储到云服务器,其中包含大量的隐私和敏感数据。由于云计算数据所有权和管理权分离的特点,这些数据的安全保障成为了云服务器提供商必须面对的问题。目前,恶意攻击成为了云服务器面临的严峻挑战之一,尤其是内核级 Rootkit[2][3]攻击。

  Rootkit 技术通过修改系统调用函数、修改内存信息或修改内核代码来隐藏自身及与其相关的文件。Linux 环境下内核级别的 Rootkit 攻击针对操作系统内核进行破坏,因此预防极难。操作系统内核是系统可信运行的根基,为所有的系统与用户程序提供运行的信息与环境。如果内核被攻击了,受害系统中则失去可信的依托,导致整个系统的软件,包含安全检测软件,将被破坏和攻击。

  目前,特征码比较技术可以实现用户态恶意代码的检测。但是内核级 Rootkit 类型木马具有修改系统任何数据和函数调用的权限,因此,上述方法不能够满足针对Linux 内核级 Rootkit 类型木马的检测需求。虚拟机技术运行于客户机操作系统的底层,能够支持硬件虚拟化,并拥有高于客户机操作系统内核级别的权限,能够有效的检测出 Linux 环境下的内核级 Rootkit 类型木马。

  但是目前基于虚拟技术检测 Linux 内核级 Rootkit 类型木马的检测技术仍然存在诸多问题,例如 2015 年 9 月 1 号,阿里云服务器出现故障,部分用户的云服务器中的系统命令及无恶意的可执行文件被删除,由此导致的经济损失可能无法估量。最后阿里云给出的官方说明是:因云盾安骑士 server 组件的恶意文件查杀功能升级触发了bug,导致部分服务器的少量可执行文件被误隔离。系统在第一时间启动了回滚,目前被误隔离的文件已基本恢复。我们正在回访个别尚未恢复的客户,协助尽快恢复[4]。

  此处提到的云盾就是基于虚拟机技术来实现对恶意文件与程序进行监测与查杀,但是也出现了误报误杀的情况。因此研究基于虚拟机技术的 Linux 内核级 Rootkit 类型木马检测技术至关重要。

  虚拟机技术通过对客户机操作系统完整性检测来实现内核级 Rootkit 类型木马的检测。首先将客户机操作系统的重要信息完整的保存下来;其次,基于虚拟机监控技术获取客户机操作系统内存存储的中断向量表和内核代码信息;最后,将上述摘要信息再与原始的信息进行完整性对比,如果不一致,则说明存在内核级 Rootkit 类型木马,并修改了客户机操作系统的重要信息。与传统的 Rootkit 完整性检测技术相比,通过虚拟机进行完整性检测更为可靠,但是会造成一定的性能损耗。

  2008 年,Ryan Riley 等人在传统的检测技术的基础上提出运用内核代码完整性的虚拟机检测模型,并设计出可防止内核级 Rootkit 类型木马运行的 NICKLE 检测系统[8]。它是一个轻量级的检测系统,并在 QEMU、VirtualBox 与 VMware Workstation 三个虚拟平台实现,并能检测到 23 种真实存在的内核级 Rootkit 类型木马。

  2011 年,Wei Liu 等人通过分析发现,以前的检测系统只检测数据完整性或只检测控制流的完整性,于是提出同时针对数据与控制流的完整性检测模型[9]。他们基于虚拟机监控器实现了 OSISS(operating system integrity surveillance system)检测系统,在可接受的性能损耗下能同时对数据与控制流完整性进行检测。2012 年, 陈威等人分析了当前的检测系统中针对文件系统完整性检测存在缺陷,提出了一种新的基于探测器与文件逆向定位技术的文件完整性检测系统[10]。此系统能够事先判断出对文件的访问企图,根据不同的访问企图做出相应的保护措施。

  通过虚拟化技术,虚拟机监控层首先获得客户机操作系统的底层可信视图信息,其次再从 Guest OS 层获得其本身的非可信视图,两个视图层是存在语义鸿沟[11]。最后将获取的底层可信视图信息重构出 Guest OS 的操作系统层面的进程、内存分配和文件等信息。之后将重构出来的操作系统层的信息与 Guest OS 获取的非可信视图信息进行比较判断 Rootkit 是否存在[12][13]。

  2008 年,ST.Jones 等人提出一种基于语义重构并利用交叉视图比较来检测隐藏进程的方法,基于虚拟化技术实现为 Lycosid 检测系统[14]。Lycosid 检测系统使用线性回归的统计方法,将获取的 Guest OS 底层信息重构出进程的数目总和,之后与从 GuestOS 内部获取的进程数进行对比。2011 年,王丽娜等人设计并实现了一种基于 VMM 的检测隐藏进程的系统[15]。此系统通过语义重构出进程队列信息,比较进程队列差异来判断是否有进程隐藏。而且此检测系统的与其它的检测系统的不同之处在于它提供了响应机制,可以向宿主系统反馈隐藏进程的信息。

  2012 年,Guofu Xiang 等人提出了综合性检测 Guest OS 模型,并以此设计出ComMon 检测系统[16]。此检测系统先通过语义重构出网络、进程和文件信息,再从这三个方面对 Guest OS 进行监控检测,实现了全方位的检测,并对虚拟机网络起到一定的保护作用。

  Linux环境木马检测技术:

跳转到 code cache
跳转到 code cache

TCG 翻译函数调用的过程
TCG 翻译函数调用的过程

动态识别进程插件划分
动态识别进程插件划分

进程描述符和内核栈
进程描述符和内核栈

虚拟机进程切换过程
虚拟机进程切换过程

目录

  摘要
  ABSTRACT
    插图索引
    缩略语对照表
  第一章 绪论
    1.1 研究背景与意义
    1.2 国内外研究现状
    1.3 论文的研究工作与内容安排
  第二章 相关技术背景介绍
    2.1 Linux 内核分析
      2.1.1 Linux 内核结构
      2.1.2 Linux 内核特性
      2.1.3 Linux 主要子系统
    2.2 Rootkit 技术介绍
      2.2.1 Rootkit 的基本概念
      2.2.2 Rootkit 的主要特征
      2.2.3 Rootkit 的主要危害
    2.3 Linux 环境下 Rootkit 的核心技术
    2.4 QEMU 及虚拟机检测技术介绍
      2.4.1 QEMU 内存虚拟化技术
      2.4.2 QEMU 动态翻译技术
      2.4.3 虚拟机检测技术
    2.5 本章小结
  第三章 基于 QEMU 的 Rootkit 类型木马检测工具总体设计
    3.1 整体分析
      3.1.1 总体目标
      3.1.2 需求分析
      3.1.3 设计原则
    3.2 检测模型的总体设计
    3.3 检测工具的总体框架
      3.3.1 检测工具的架构
      3.3.2 各插件功能描述
    3.4 本章小结
  第四章 静态内存分析插件的设计与实现
    4.1 静态内存分析插件设计
      4.1.1 QEMU 内存虚拟化
      4.1.2 静态内存分析插件流程设计
    4.2 静态内存分析模块的实现
      4.2.1 Dump 虚拟机内存的实现
      4.2.2 分析内存信息的实现
    4.3 本章小结
  第五章 动态识别进程插件的设计与实现
    5.1 动态识别进程插件设计
      5.1.1 QEMU 动态翻译
      5.1.2 动态识别进程插件流程设计
    5.2 动态识别进程插件的实现
      5.2.1 提取进程信息的实现
      5.2.2 动态捕获进程的实现
    5.3 本章小结
  第六章 测试与结果分析
    6.1 测试环境搭建
    6.2 测试结果
    6.3 结果分析
    6.4 本章小结
  第七章 总结与展望
    7.1 总结
    7.2 展望
  参考文献
  致谢
  作者简介

(如您需要查看本篇毕业设计全文,请您联系客服索取)

相关内容
相关标签:Linux毕业设计
好优论文定制中心主要为您提供代做毕业设计及各专业毕业论文写作辅导服务。 网站地图
所有论文、资料均源于网上的共享资源以及一些期刊杂志,所有论文仅免费供网友间相互学习交流之用,请特别注意勿做其他非法用途。
如有侵犯您的版权或其他有损您利益的行为,请联系指出,论文定制中心会立即进行改正或删除有关内容!