专利名称:一种计算机内存数据获取方法与系统的制作方法
技术领域:
本发明涉及一种计算机内存数据获取方法与系统,具体是涉及一种能 够实施对计算机物理内存进行获取的方法和系统,属于信息安全和计算机 技术领域。
(二)
背景技术:
随着计算机技术、计算机网络技术和互联网的飞速发展,计算机正在 极大地促进人类社会的进步,计算机和电子数据己经深入到人们日常生活 的各个方面。计算机技术在带给我们巨大的益处的同时也带来了计算机犯 罪问题。各类黑客入侵、网络诈骗、网络色情等案件不断涌现。网络犯罪 已涉及到绝大部分社会犯罪现象,已经影响了正常的经济秩序。而打击网
络犯罪主要依靠的技术手段是计算机取证技术(ComputerForensics)。
计算机取证学是计算机科学和法学的交叉学科,对计算机取证的研究始于 上世纪90年代。1993年召开了计算机取证国际会议,并成立了电子证据 科学工作组。从此计算机取证越来越受到计算机安全和法律专家的重视。
作为计算机运行过程中程序和中间数据的存放地,计算机内存中含有 大量的有用信息,包括程序进程运行状态、网络连接、开放端口、 口令密 码、加密文件的明文甚至密钥,这些信息往往在案件调查中起到关键作用。 然而如何准确、完整地获取系统的内存,并尽量减少对目标系统的内存改 变成为一个难题。内存取证一般分为软硬件两种方法,软件方法不可避免 地带来内存数据的大量改变,并且不适应处于密码保护状态(如屏保、锁 定状态)的电脑。硬件方法是通过专门的硬件实时的读取内存中的内容, 目前的主要方法是在计算机内部安装一个扩展卡,这种方法的缺点是必须 在计算机中事先安装扩展卡,显然,要求在所有计算机中都安装这种扩展 卡是不现实的,因此对犯罪分子计算机内存数据内容的获得也就无能为力。
(三)
发明内容
针对目前内存获取存在的问题,本发明意在提供一种通过IEEE 1394 接口能够直接读写计算机内存中数据的方法,以及使用该方法获取计算机 物理内存的系统。这种方法或系统可以获取处在密码保护状态(如屏保、 锁定状态)下的Windows系统的内存信息,并且对内存的改动较小。根据本发明的计算机内存数据获取系统,包括
内存读写转储设备,包括可数据交换的通过IEEE 1394接口与待取证 计算机相连的IEEE 1394控制器和通过通用接口与取证设备相连的通用接 口控制器;以及
虚拟硬盘登录模块,用于将本系统添加为待取证计算机的具有所说的 IEEE 1394接口的移动硬盘设备,使待取证计算机操作系统向本系统开放 DMA功能;
系统配置模块,针对不同的待取证计算机操作系统进行配置,确定是
否需要绕开UMA地址段,以避免操作系统死锁;
物理内存请求数据包发送和响应接收模块,用于读取物理内存, 内存转储模块,将所读取的物理内存数据包通过所述通用接口发送至
取证计算机。
上述计算机内存数据获取系统,其中所说的通用接口和通用接口控制 器分别为USB接口和USB控制器。
所述虚拟硬盘登陆模块、系统配置模块、物理内存请求数据包发送和 响应接受模块、内存转储模块为固化在通过I2C总线与所述USB控制器连 接的串行EEPROM中的固件。
根据本发明的计算机内存数据获取系统,所说的固件进一步包括本系 统的初始化模块。
根据本发明的计算机内存数据获取方法,其包括以下步骤
a. 通过IEEE 1394总线以虚拟硬盘模式登录到待取证计算机;
b. 向待取证计算机操作系统提供虚拟硬盘的Config Rom描述及配 置信息,使其开放DMA功能给该IEEE 1394设备,以获权对待 取证计算机进行内存读取;
c. 针对待取证计算机操作系统,配置获取操作以绕开对内存UMA 地址段的读写或者固定配置为绕开此地址段,防止系统死锁;
d. 发送读取内存数据包读取待取证计算机内存数据;
e. 将所获的计算机内存数据转存至取证计算机。 上述计算机内存数据获取方法,所述的以虚拟硬盘模式登录到待取证
计算机步骤是结合IEEE 1394协议、SBP-2协议、RBC协议和操作系统对 外部设备的即插即用管理,模拟具有1394接口的移动硬盘的Config Rom 和CSR描述,并根据SBP-2协议,分别实现一个Management Agent和一个Command Agent负责在设备枚举和初始化过程中与操作系统交换数据。 所说的发送读取内存数据包优选根据IEEE 1394协议和OHCI协议,
并根据上层控制软件发来的相应参数,构造读写物理内存数据包并通过 1394总线发送到待取证计算机,同时接收返回的数据。
上述计算机内存数据获取方法,将所述的取证计算机获得的内存数据 存储为二进制文件,计算其哈希校验值。
对于需要对待取证计算机内存进行密码破解或者进一步追踪分析,可 以将分析完毕的内存数据回写待取证计算机内存。
根据本发明的计算机内存数据的获取系统和方法基于1394总线技术 和操作系统在特定情况下可开放DMA的特点。借助于计算机系统的软硬件 架构,其中硬件基础是I/0设备的DMA数据传输方式;软件基础是各种操 作系统的基本配置和即插即用功能,构造获取内存数据的系统和方法。
根据本发明的系统和方法通过构造虚拟硬盘登陆,配置系统信息,使 待取证计算机对该基于IEEE 1394的系统开放DMA,从而使其可以直接对 计算机内存中的数据进行读取分析,扩展了有用信息量,提高了取证和应 急响应的效率。其次,相对于在计算机内部预先安装扩展卡,本系统只需 将其通过1394接口连接到待取证计算机,即可对其内存数据进行读写,无 需一般计算机用户或取证人员预先安装任何软硬件。特别的,针对犯罪分 子使用的计算机,不可能有预先安装的扩展卡,因此,使用范围相对得以 扩展。再者,利用1394总线外设即插即用、可热插拔的特点和1394b 800Mb/s的数据传输带宽,用本系统进行取证可保证数据的即时获取,实 时性强。进一步的,相对于通过软件获取内存,本系统提供对现场数据更 好的保护,系统的加载只需少量内存运行操作系统自带的驱动程序,而系 统的运行则完全不占用内存。同时本系统可获取处在密码保护状态(如屏 保、锁定状态)下的Windows系统的内存信息。本系统取证方法简单,只 需要简单的即插即用硬件的安装,对现场技术人员要求低,不需要具备专 业的计算机知识,便于推广应用。
下面结合说明书附图来对本发明的技术方案作进一步的说明,以使本 领域的技术人员更好的理解本发明,其中
图1为本发明优选实施例中计算机内存数据获取系统的原理框图。 图2为本发明优选实施例中计算机内存数据获取方法流程图。图3为本发明优选实施例中内存读写和转储装置结构框图。
图4为本发明优选实施例计算机内存数据获取系统中固件流程图。
图中1、内存获取系统,2、待取证计算机。 具体实施例方式
下面结合说明书附图l、 3和4,以带有1394接口和USB接口的内存 读写和转储装置,以及固件部分计算机内存数据获取系统为例具体阐明一 下本发明。其中
硬件部分主要包括一个具有1394接口和USB接口的内存读写和转储 装置,该装置包括可数据交换的通过IEEE 1394接口与待取证计算机相连 的IEEE 1394控制器和通过USB接口与取证计算机相连的USB控制器, 实现取证计算机和待取证计算机物理链路的连接;同时,USB控制器I2C 总线还连接有一个用于存放固件程序的串行EEPROM芯片。其中USB控 制器负责整个系统的运行控制,包括参数接收、1394控制器的配置和控制、 控制内存数据在1394控制器和USB控制器之间的传输以及将获取的内存 数据送至取证计算机。1394控制器包括物理层和链路层两部分,可选择两 个单独的芯片或两层集成的芯片,负责1394数据包的发送和接收。为实现 对待取证计算机物理内存的读取,还需要所述固件中的
虚拟硬盘登录模块,用于将本系统添加为待取证计算机的具有所说的 IEEE 1394接口的移动硬盘设备,使待取证计算机操作系统向本系统开放 DMA功能;
系统配置模块,针对不同的待取证计算机操作系统进行配置,确定是 否需要绕开UMA (Upper Memory Area)地址段,以避免操作系统死锁; 对于此模块,因我们获取内存信息一般不需要该地址段,所以优选选择绕 开UMA地址段,使其可以应用于不同的操作系统。
物理内存请求数据包发送和响应接收模块,用于读取物理内存;
内存转储模块,将所读取的物理内存数据包通过所述通用接口发送至 取证计算机,使我们最终获得所需要的内存数据。
所说的固件进一步包括本系统的初始化模块,以对系统加电后的初始 化,包括USB控制器的端点配置、缓冲配置、与1394控制器接口的配置、 各GPIO引脚的配置以及将一个虚拟硬盘的CONFIG ROM写入1394控制 器的相应区域等。将设备连接到待取证计算机后,设备进行枚举和初始化, 此时固件分别实现了一个MANAGEMENT AGENT和一个COMMANDAGENT管理整个初始化过程。设备登陆成功后以一个1394移动硬盘的形 式添加到待取证计算机。
本发明优选选择USB接口这一目前应用最广的串行接口与取证计算 机相连,便于其应用。
为了更清楚地了解本发明,结合说明书附图2和4,根据本发明的实 施例计算机内存数据获取方法包括以下步骤
a. 通过IEEE 1394总线以虚拟硬盘模式登录到待取证计算机,对上 述系统进行初始化,使本系统准备好以一个移动硬盘的形式连接 到待取证计算机;判断1394总线是否复位,以确定本系统是否 与待取证计算机进行了连接;从而,
b. 向待取证计算机操作系统提供虚拟硬盘的Config Rom描述及配 置信息,使其开放DMA功能给该IEEE 1394设备,以获权对待 取证计算机进行内存读取;
c. 针对待取证计算机操作系统,配置获取操作以绕开对内存UMA 地址段的读写或者固定配置为绕开此地址段,防止系统死锁;对 于此步骤,优选固定配置为绕开此地址段,避免针对不同操作系 统的烦琐的配置;
d. 发送读取内存数据包读取待取证计算机内存数据;
e. 将所获的计算机内存数据转存至取证计算机。 所述的以虚拟硬盘模式登录到待取证计算机步骤是结合IEEE 1394协
议、SBP-2协议、RBC协议和操作系统对外部设备的即插即用管理,模拟 具有1394接口的移动硬盘的Config Rom和CSR描述,并根据SBP-2协议, 分别实现一个Management Agent和一个Command Agent负责在设备枚举 和初始化过程中与操作系统交换数据。
所述的发送读取内存数据包优选根据1394协议和OHCI协议,并根据 上层控制软件发来的相应参数,构造读写物理内存数据包并通过1394总线 发送到待取证计算机,同时接收返回的数据。
将所述的取证计算机获得的内存数据存储为二进制文件,计算其哈希 校验值,以验证所获的文件的完整性。
若需要对待取证计算机内存进行密码破解或者进一步追踪分析,则将 分析完毕的内存数据回写待取证计算机内存。
权利要求
1. 一种计算机内存数据获取系统,包括内存读写转储设备,包括可数据交换的通过IEEE 1394接口与待取证计算机相连的IEEE 1394控制器和通过通用接口与取证设备相连的通用接口控制器;以及虚拟硬盘登录模块,用于将本系统添加为待取证计算机的具有所说的IEEE 1394接口的移动硬盘设备,使待取证计算机操作系统向本系统开放DMA功能;系统配置模块,针对不同的待取证计算机操作系统进行配置,确定是否需要绕开UMA地址段,以避免操作系统死锁;物理内存请求数据包发送和响应接收模块,用于读取物理内存;内存转储模块,将所读取的物理内存数据包通过所述通用接口发送至取证计算机。
2. 根据权利要求1所述的计算机内存数据获取系统,其中所说的 通用接口和通用接口控制器分别为USB接口和USB控制器。
3. 根据权利要求1所述的计算机内存数据获取系统,其特征在 于所述虚拟硬盘登陆模块、系统配置模块、物理内存请求数据包发 送和响应接受模块、内存转储模块为固化在通过I2C总线与所述USB 控制器连接的串行EEPROM中的固件。
4. 根据权利要求3所述的计算机内存数据获取系统,所说的固件 进一步包括本系统的初始化模块。
5. —种计算机内存数据获取方法,其特征在于其包括以下步骤a. 通过IEEE 1394总线以虚拟硬盘模式登录到待取证计算机;b. 向待取证计算机操作系统提供虚拟硬盘的Config Rom描述 及配置信息,使其开放DMA功能给该IEEE 1394设备,以 获权对待取证计算机进行内存读取;c. 针对待取证计算机操作系统,配置获取操作以绕开对内存 UMA地址段的读写或者固定配置为绕开此地址段,防止系 统死锁;d. 发送读取内存数据包读取待取证计算机内存数据;e. 将所获的计算机内存数据转存至取证计算机。
6. 根据权利要求5所述的计算机内存数据获取方法,所述的以虚 拟硬盘模式登录到待取证计算机步骤是结合IEEE 1394协议、SBP-2 协议、RBC协议和操作系统对外部设备的即插即用管理,模拟具有 1394接口的移动硬盘的Config Rom和CSR描述,并根据SBP-2协 议,分别实现一个Management Agent禾卩一个Command Agent负责在 设备枚举和初始化过程中与操作系统交换数据。
7. 根据权利要求5所述的计算机内存数据获取方法,其特征在 于所说的发送读取内存数据包优选根据1394协议和OHCI协议, 并根据上层控制软件发来的相应参数,构造读写物理内存数据包并通 过1394总线发送到待取证计算机,同时接收返回的数据。
8. 根据权利要求5至7之一所述的计算机内存数据获取方法,其 特征在于将所述的取证计算机获得的内存数据存储为二进制文件,计算其哈希校验值。
9.根据权利要求5至7之一所述的计算机内存数据获取方法,其特征在于若需要对待取证计算机内存进行密码破解或者进一步追踪 分析,则将分析完毕的内存数据回写待取证计算机内存。
全文摘要
本发明公开了一种计算机内存数据获取方法与系统。本发明计算机内存数据获取系统通过IEEE 1394借口模拟移动硬盘登录到待取证计算机,并使待取证计算机开放DMA功能;进而完成内存的读取。本发明能够直接读写计算机内存中数据的方法,以及使用该方法获取计算机物理内存的系统。这种方法或系统可以获取处在密码保护状态(如屏保、锁定状态)下的Windows系统的内存信息,并且对内存的改动较小。
文档编号G06F3/06GK101419536SQ20081023783
公开日2009年4月29日 申请日期2008年12月2日 优先权日2008年12月2日
发明者磊 张, 王连海 申请人:山东省计算中心