没有任何简单的解决办法,例如,你可以呼吁限制程序或线索。
IE在保护模式(关于Vista和Windows 7)中所做的是,在低温integrity水平。 低廉的操守方式的操作过程,获得系统资源的机会较少,而且与更高廉正水平的过程相隔绝。 你们还可以在档案系统物体和登记钥匙等物品上设立登记中心,以控制低强度程序是否能够进入这些系统。 这限制了他们能够造成的损害。 这是一种沙箱或(取决于你如何严格界定)虚拟化的形式。
这样做有很多工作要做。 低密度进程可能受到如此限制,因而需要帮助做许多事情。 当独立实体启动保护模式时,它为向主要独立实体提供反馈信息提供了一个渠道。 然后通过这一渠道提出请求,以便进行登记处变更和书写档案系统等工作。 IE审议这些请求,如果它确定应当允许,IEE程序将代表假想进行。
Another approach (which can be used to complement the sandboxing) is to require the DLL to be signed with a valid certificate. The signing allows you to have a little more trust in the DLL, because the certificate identifies a responsible party. The signature also ensures that nobody has tampered with the DLL.
另一种做法是 h看索顾问办要求你限制的一切。 有libraries,但这一技术依靠的是可以随时更新的Seau hackery。 想法是建立一个包含你们某些法典的进程,为每位希望限制的APIC设定一个ook,然后装上不信任的守则并加以执行。 如果DL打上了记名的APIC(例如,CreateFile
),那么你将改写代码,可以决定是否将错误退回,或者将呼吁传给真正的OSAP。 这一点很困难,因为你必须看一看的诺言数量可能很大。 而且,如果土地法司知道这是使用的方法,那么它可以做一些事情来破坏这一技术。
Finally, you can do true sandboxing by not running native code at all. Instead of loading an untrusted DLL, you load code that s been compiled into some intermediate form and interpret it. This gives your interpretter complete control over what the program can do. This is also hard to implement, and it greatly lowers performance.
如果你重新制定不信任的法典,那么这些是你必须走的极端。