针对进程用户空间的电子数据取证方法研究
2014-04-25罗文华
中国司法鉴定 2014年5期
罗文华
(中国刑事警察学院 网络犯罪侦查系,辽宁 沈阳110854)
Windows操作系统环境下,每个进程都被赋予自己的虚拟地址空间。以32位操作系统为例,每个进程的虚拟地址空间为4GB,因此32位指针可以寻址从0x00000000至0xFFFFFFFF之间的任意地址。虽然每一个32位进程可使用4GB的地址空间,但并不意味着每一个进程实际拥有4GB的物理地址空间。4GB仅仅是一个虚拟地址空间,进程实际可以得到的物理内存要远小于其虚拟地址空间。并且,进程的虚拟地址空间是为每个进程所私有的,在进程内运行的线程对内存空间的访问都被限制在调用进程之内,而不能访问属于其他进程的内存空间。这样,在不同的进程中可以使用相同地址的指针来指向属于各自调用进程的内容而不会由此引起混乱。
为进一步保证操作系统安全,进程的虚拟地址空间被设计者人为地分为两个部分——用户空间与内核空间。32位操作系统中,用户最大可以使用3GB的空间,主要存储程序执行所需的管理结构(如进程环境块、线程环境块等)与数据;内核则可占据从3GB到4GB的这段地址,管理诸如进程块(包括执行体进程块、核心进程块)、线程块(包括执行体线程块、核心线程块)、句柄表(包含所有已被进程打开对象的指针)一类的系统结构(见图1)。用户进程通常情况下只能访问用户空间的虚拟地址,需要进行系统调用(代表用户进程在内核态执行)时才可以访问内核空间。用户空间对应进程,每当进程切换,用户空间就会随之变化;……
登录APP查看全文
