2012-06-16 16 views
5

Sorunum var, cevabını bulamıyor gibiyim, ancak eminim var. Yeni oluşturulmuş bir işlem için kayıt defterini ve dosya erişimini devre dışı bırakmanın bir yolu var mı? İş nesneleri (http://msdn.microsoft.com/en-us/library/windows/desktop/ms682409(v=vs.85).aspx) kullanıyorum ve her yeni iş süreci için izinleri ayarlamak için söylüyor ve birkaç kitapta kayıt ve dosya erişimi gibi şeylerin denetlenebilir olduğunu okudum.Belirli bir işlem için kayıt defteri erişimini devre dışı bırak (WinAPI)

Cevabımı ararken, SE_BACKUP_NAME gibi şeyler için LUID'leri eklemem gerektiğini ve (ya da her ne ismiyle adlandırıldığını) gördüm, ancak bu ayrıcalık sabitlerinin hiçbiri istediğim kontrol türünü yansıtmıyor gibi görünüyor. Kesin soru şudur: Bir işte yeni oluşturulan bir süreç için kayıt defteri/dosya yazma erişimini devre dışı bırakmaya nasıl giderim?

Korumalı bir uygulama oluşturmaya çalışıyorum, btw. Bu yüzden kayıt defterinde herhangi bir değişiklik yapmasını veya çalıştığı sırada dosya yazmasını engelleyebilirim.

Herhangi bir yardım için teşekkür ederiz!

+0

+1. Ben bir Windows adam değilim, bu yüzden nasıl cevap vereceğime dair hiçbir fikrim yok, ama iyi şanslar ve SO'ya hoş geldiniz! –

cevap

3

Windows, işlem başlangıcında birçok kaynağa erişir, bu nedenle dosya sistemine ve kayıt defterine erişimi başarıyla devre dışı bıraktıysanız işlem başlatılmaz.

İdeal olarak, işlem başlatma işlemi tamamlandıktan sonra erişimin kısıtlanmasını istersiniz, ancak Windows'un bunu rasgele işlemler için yapacak bir mekanizması yoktur. Chrome tarayıcısındaki sanal alan, korumalı alanın işbirliğine dayanır.

documentation for the Chrome sandbox, Windows'taki çeşitli güvenlik mekanizmalarına genel bir bakış sunar ve bunların Chrome'da nasıl kullanıldığını açıklar. Kendi kodunuzu korumalıyorsanız güzel bir çözüm.

+0

Chrome sandbox kütüphanesinin "kesişme" bölümünün, muhtemelen DLL enjeksiyonunu kullanarak başlatma işleminden yüklenebileceğini unutmayın. "Kesişme", korumalı işlemin neler yapabileceğini daha fazla sınırlamak için API çengeline dayanır. –

0

Pek çok susbsystems'ın güvendiği gibi erişimi tamamen devre dışı bırakabileceğinizi sanmıyorum (COM, kabuk, bazı DLL başlatma, hata ayıklama, vb.). Bir alternatif, erişime izin vermek olabilir, ancak sınırlı bir sanal alan olabilir. integrity system ile bitti. low integrity'a ayarlamak, çoğu yazma erişimini engeller ve korumalı mod IE tarafından kullanılır. İlginç bir konu hakkında iyi yazılmış bir soru için

İlgili konular