Page 359 进程数据结构:
EPROCESS 执行体对象,处于内核地址空间,无名字,Winobj看不到。
PEB,用户地址空间,包含用户态代码需要访问的信息。
CSR_PROCESS: 只有Win32程序才有,由该session的csrss.exe维护。
W32PROCESS: win32k相关的per-process结构,第一次调用USER/GDI时创建。
EPROCESS:
PEB:
CSR_PROCESS
W32PROCESS:
Page 368 windows的安全模型允许有debug previlege的用户以任意方式操作其它进程(读写进程memory,注入代码,suspend/resume线程),这与DRM有冲突。为了解决这个问题,引入了protected process。protected process对其它用户能对其所做的操作做了限制。一个进程要想成为protected process,其image file必须被windows media certificate签名。 其加载的DLL需要该special签名吗?
protected process的实现方式是在其EPROCESS中加一个特殊标记,access check的时候会去检查该标记,如果发现该标记,则deny相应的access rights。