当前位置: 首页 > 专利查询>南京大学专利>正文

一种用于收集和截获计算机内存行为的蜜罐机制及其方法技术

技术编号:10396032 阅读:288 留言:0更新日期:2014-09-07 16:12
一种用于收集和截获计算机内存行为的蜜罐机制及方法,包括:内存虚拟化模块、蜜罐模块、内省模块、控制模块和蜜罐记录模块;本机制基于内存虚拟化技术,支持SMP结构,可以在操作系统运行时部署轻量化虚拟机,对蜜罐中的内存行为进行监视;也可作为其它虚拟机的子模块实现相同功能;蜜罐在系统运行时监视多个核中的每个进程对内存关键区域的精确修改情况,由位图表示,同时通过内省模块收集相关的进程详细信息和进程当时完整的运行时状态,所有记录统一集中到蜜罐记录模块;本发明专利技术基于事件驱动,不修改目标操作系统的任何代码,相对于现有的指令级监视性能损耗低,灵活度高,适合用于实时取证和动态分析。

【技术实现步骤摘要】
【专利摘要】一种用于收集和截获计算机内存行为的蜜罐机制及方法,包括:内存虚拟化模块、蜜罐模块、内省模块、控制模块和蜜罐记录模块;本机制基于内存虚拟化技术,支持SMP结构,可以在操作系统运行时部署轻量化虚拟机,对蜜罐中的内存行为进行监视;也可作为其它虚拟机的子模块实现相同功能;蜜罐在系统运行时监视多个核中的每个进程对内存关键区域的精确修改情况,由位图表示,同时通过内省模块收集相关的进程详细信息和进程当时完整的运行时状态,所有记录统一集中到蜜罐记录模块;本专利技术基于事件驱动,不修改目标操作系统的任何代码,相对于现有的指令级监视性能损耗低,灵活度高,适合用于实时取证和动态分析。【专利说明】
本专利技术涉及的是一种计算机行为监视领域的机制,尤其是。
技术介绍
蜜罐技术根据交互的程度分为高交互蜜罐和低交互蜜罐,低交互蜜罐通过模拟操作系统和网络服务部署蜜罐,虽然部署简单,但是由于模拟程度有限,获取的信息不足并且容易被识破。而高交互蜜罐提供了完全真实的操作系统和网络服务,可以获得非常丰富的攻击信息,但是潜在的风险和部署的难度非常高。目前高交互蜜罐可以通过虚拟化技术实现来观察蜜罐中的状态变化。这涉及到计算机的动态分析技术,目前基于虚拟化技术的动态分析只能在事先部署好的虚拟化环境中执行。计算机分析技术分为动态分析和静态分析。静态分析的目标是源代码,通过分析源代码的语义来判断其行为,当前的代码加壳和虚拟化执行技术大大限制了静态分析的有效性。动态分析可以解决静态分析的问题,它通过分析一个运行中的系统直接获取其行为。目前动态分析的途径可以是分析系统调用行为、内核API调用行为以及监视进程间的交互和模块调用情况等。但是一个具有内核权限的进程可以绕过系统调用,使用DKOM技术实现自己的目的。由于该方法直接修改操作系统的内核数据,普通基于内核的监视方法虽然可以观察到内存的改变,但是无法判断其来源。目前使用指令级别的分析能够解决问题,即使用类似于QEMU的虚拟机,在客户虚拟机指令被翻译成短码的过程中,对计算机运行的每一条指令进行快速分析,得知当前指令将要修改的内存位置和修改的具体内容。但是这类方法具有非常低的灵活性和效率,即无法对一个运行在真实硬件上的操作系统使用指令级别的分析技术获得一个进程的内存操作行为。使用内存虚拟化技术可以在对用户操作系统的内存地址转换,内存读写执行权限以及TLB缓存进行完全的管理。目前有完全使用软件虚拟化的影子页表技术和基于硬件虚拟化的IntelVT的EPT技术和AMD V的RVI (NPT)技术。基于硬件虚拟化实现的优点是可以完全独立于目标操作系统,由硬件直接提供内存虚拟化功能的支持,相对于软件虚拟化方法更加简单和高效。
技术实现思路
针对现有技术在计算机监视领域的不足,本专利技术提供,采用蜜罐的基本思路在内存关键区域中部署蜜罐,监视所有修改蜜罐中内存的进程,使用非指令级别监视的方法,解决了目前基于指令级别对内存行为分析的局限性。本专利技术计算机蜜罐实现机制是无法绕过的可靠的。与传统的部署在网络环境中的外部蜜罐不同,内存蜜罐是一种在硬件级别监视计算机内存活动的蜜罐,利用硬件虚拟化技术可以将其部署在任何真实的操作系统中,也可以作为虚拟机软件的一部分监视虚拟系统的内存活动。内存活动包括对内存中数据结构的改动和对代码的改动。本专利技术由于其部署的灵活性及关注底层的事件,可以作为高交互蜜罐部署在蜜网中,也可以直接监视恶意程序对操作系统内核的攻击。由于蜜罐在硬件级别监视,任何绕过操作系统内核,直接修改内存的行为也能够被内存蜜罐捕捉到,只要该程序修改了蜜罐监视的内存区域。内存蜜罐精确地记录了在蜜罐中的进程活动,包括每个进程对蜜罐精确到字节的修改情况,进程被蜜罐捕捉到时的运行状态和运行快照,以及进程的详细信息。还可以对获得的进程运行快照进行进一步的静态分析。本专利技术的技术方案是:一种用于收集和截获计算机内存行为的蜜罐机制,包括内存虚拟化模块、蜜罐模块、内省模块、控制模块和蜜罐记录模块;所述内存虚拟化模块用于控制虚拟机内存操作权限,包括二级地址转换功能、和在地址转换过程中的读写及执行权限的控制,在发生违反读、写或执行权限的事件时,将当前CPU的控制流转到蜜罐模块的事件处理函数中,在函数返回后,恢复CPU的正常运行;所述蜜罐模块由多个可配置的独立蜜罐个体组成,每个蜜罐个体对应操作系统中的一张内存页,即成为蜜罐页;蜜罐模块以蜜罐页为单位,在系统运行时监视多个核中的各个进程对蜜罐区域的精确修改情况,并由位图表示;所述内省模块在蜜罐模块收集信息的同时,收集相关的进程详细信息和进程当时完整的运行时状态;所述控制模块提供外部控制接口,并将控制命令信号转发到蜜罐模块对应的控制接口中,用于设置蜜罐模块监视的内存区域,启动、停止和重置蜜罐功能;所述蜜罐记录模块收集蜜罐模块和内省模块提交的数据,记录每个进入蜜罐进程的完整行为。进一步的,所述蜜罐记录模块由进程记录器组成,所述进程记录器由一个或多个蜜罐记录器组成,每个蜜罐记录器对应一个正在运行的蜜罐页;一个进程记录器中,蜜罐模块中的蜜罐页至多只对应一个蜜罐记录器;不同的进程记录器中,对应相同蜜罐页的蜜罐记录器互相独立记录信息,且各记录器仅在有记录内容时占用内存。本专利技术还提供一种用于收集和截获计算机内存行为的蜜罐方法,具体步骤如下:(I)配置阶段,通过控制模块配置蜜罐模块监视的内存区域、即蜜罐区域;(2)启动阶段,控制模块接收到外部的启动命令后,将启动命令转发到蜜罐模块对应的控制接口中,蜜罐模块使用内存虚拟化模块关闭蜜罐区域的写权限,并捕捉任何试图写入蜜罐区域的进程行为;(3)运行阶段,蜜罐模块通过内存虚拟化模块持续控制试图写入蜜罐区域的进程对蜜罐的访问,并收集进程对蜜罐区域中内存的修改情况;内省模块收集相关的进程详细信息和进程进入蜜罐时的运行状态;蜜罐记录模块收集并整理蜜罐模块和内省模块不断提交的数据。(4)停止阶段,控制模块收到外部的停止命令后,将停止命令转发到蜜罐模块对应的控制接口中,蜜罐模块向蜜罐记录模块提交所有数据,并打开蜜罐区域的写权限允许所有读写操作,获取蜜罐记录模块中记录的数据;(5)重置阶段,控制模块收到外部的重置命令后,将重置命令转发到蜜罐模块对应的控制接口中,蜜罐模块清除已配置的蜜罐,记录蜜罐模块清空所有数据;(6)当重置完成后,返回步骤(I),等待重新配置蜜罐模块监视的内存区域。进一步的,所述蜜罐模块的具体运行步骤如下:(I)配置阶段,蜜罐模块获取空闲的蜜罐个体、并将空闲的蜜罐个体对应到目标内存页上,即成为蜜罐页;(2)运行阶段,利用蜜罐页的蜜罐个体监视目标内存页上的进程读写情况,同时通过内省模块获取操作系统中相关进程的详细信息,不断提交到蜜罐记录模块中;所述蜜罐页的具体运行步骤如下:a、初始化,打开内存屏障;b、捕捉目标进程,当有进程第一次访问蜜罐页对应的内存时,触发硬件保护事件,控制流陷入虚拟机监视器,目标进程暂停运行,蜜罐页截获写事件,通过内省模块获得目标进程详细信息和进程运行状态,将内省模块获得的目标进程详细信息和进程运行状态挂接到蜜罐页中;并在目标进程写入内存之前获取内存页快照,为目标进程生成内存修改位图做准备;之后,蜜罐页允许目标进程在当前CPU的写操作,并本文档来自技高网
...

【技术保护点】
一种用于收集和截获计算机内存行为的蜜罐机制,其特征在于:包括内存虚拟化模块、蜜罐模块、内省模块、控制模块和蜜罐记录模块;所述内存虚拟化模块用于控制虚拟机内存操作权限,包括二级地址转换功能、和在地址转换过程中的读写及执行权限的控制,在发生违反读、写或执行权限的事件时,将当前CPU的控制流转到蜜罐模块的事件处理函数中,在函数返回后,恢复CPU的正常运行;所述蜜罐模块由多个可配置的独立蜜罐个体组成,每个蜜罐个体对应操作系统中的一张内存页,即成为蜜罐页;蜜罐模块以蜜罐页为单位,在系统运行时监视多个核中的各个进程对蜜罐区域的精确修改情况,并由位图表示;所述内省模块在蜜罐模块收集信息的同时,收集相关的进程详细信息和进程当时完整的运行时状态;所述控制模块提供外部控制接口,并将控制命令信号转发到蜜罐模块对应的控制接口中,用于设置蜜罐模块监视的内存区域,启动、停止和重置蜜罐功能;所述蜜罐记录模块收集蜜罐模块和內省模块提交的数据,记录每个进入蜜罐进程的完整行为。

【技术特征摘要】

【专利技术属性】
技术研发人员:伏晓程盈心骆斌杨瑞阮豪
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1