English 中文(简体)
避免申请进入软盘操作
原标题:Avoid an application to have access to disk operations
  • 时间:2011-03-20 16:11:50
  •  标签:
  • winapi
  • dll

在我的申请中,我允许将一名DLL装上LLLLA和LoadLibrary WIN32。 既然不知道这部法律的法典,它就会是恶意的。 因此,我的问题是,用某种方式把窗户用来对这部数字表示某种限制(例如,磁盘接入、密码或其他潜在危险数据读/标准访问)。

那么,无论DL码试图进入磁盘,都会产生一种例外情况,或者所谓的回归错误。 避免使用javascript 或其他被解释的文字,而不是汇编和复制;链接和复制;高效使用。

是否有任何类似的机制可以使用?

ex1: RestrictAccess( GetProcAdress( ... ), size ); // by code memory access

ex2: thread1.loadLibrary( file ); RestrictAccess( thread1 ); // by thread access

......

问题回答

没有任何简单的解决办法,例如,你可以呼吁限制程序或线索。

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.

如果你重新制定不信任的法典,那么这些是你必须走的极端。

典型的解决办法是,只允许以可加固的经解释的语言或编成的附则法(如卢阿)中的gin。 一些运行系统规定了这种限制(例如:OS和Anderson),但我不认为你在装上本地的Windows DL时发现这种特征。

特权可以随时随地增加,使用假冒,但从来不减少(因为未信任的代码总是可以做到<代码>RevertTo Self)。

减少特权的最低单位是这一过程。 是的,有一份有关该主题的文体:CreateProcessAsUser。 您可以使用管道将数据传输至/来自未信任过程。

或者,你可以利用德国航天中心,在德国航天中心找一个物体。 您可以具体说明全权证书,然后,本组织将开展工作,制定一份附有全权证书的助手程序,并将数据整理起来。

你们可以读一下DL档案中的名字。 这样,你就可以确定其他的DLL公司与其有何联系,以及它使用什么外部职能(例如,Cordobe)。 你可以建立一个白色名单,只允许你的职能从DLL中召来,这样,你就不得不在一切可能合法获得的东西上发挥精干的作用。





相关问题
How to read exact number of bytes from a stream (tcp) socket?

In winsock, both the sync recv and the async WSARecv complete as soon as there is data available in a stream socket, regardless of the size specified (which is only the upper limit). This means that ...

AcquireCredentialsHandle returns SEC_E_NO_CREDENTIALS

I created a self-signed certificate (created using OpenSSL) and installed it into the Certificate Store using the Certificates MMC snap-in (CertMgr.msc) on Windows Vista Ultimate. I have managed to ...

Calling Win32 EnumThreadWindows() in C#

I m trying to get a call to EnumThreadWindows working, but I always get a Wrong Parameter-Error, although my code is nearly the same as this example on pinvoke.net. I don t know why this doesn t work: ...

COM Basic links

folks can you provide me the tutorial link or .pdf for learning basic COM?. i do google it.. still i recommend answers of stackoverflow so please pass me.. Thanks

Handling multiple windows WIN32 API

HI I m trying to create an application in the Win32 environment containing more than one window. How do i do that? all the Win32 Tutorials on web i found only showed how to manage one window. How do i ...

Creating a thread in DllMain?

It seems that when a thread is created from within DllMain upon DLL_PROCESS_ATTACH it won t begin until all dll s have been loaded. Since I need to make sure the thread runs before I continue, I get a ...

热门标签