Aracılığıyla paylaş


Zorunlu Bütünlük Denetimi

Zorunlu Bütünlük Denetimi (MIC), güvenli hale getirilebilir nesnelere erişimi denetlemek için bir mekanizma sağlar. Bu mekanizma isteğe bağlı erişim denetimine ek olarak bir nesnenin isteğe bağlı erişim denetimi listesi (DACL) üzerinde erişim denetimleri değerlendirilmeden önce erişimi değerlendirir.

MIC, erişimi değerlendirmek için bütünlük düzeylerini ve zorunlu ilkeyi kullanır. Güvenlik sorumlularına ve güvenli hale getirilebilir nesnelere, koruma veya erişim düzeylerini belirleyen bütünlük düzeyleri atanır. Örneğin, düşük bütünlük düzeyine sahip bir sorumlu, nesnenin DACL'i sorumluya yazma erişimine izin verse bile orta bütünlük düzeyine sahip bir nesneye yazamaz.

Windows dört bütünlük düzeyi tanımlar: düşük, orta, yüksek ve sistem. Standart kullanıcılar orta, yükseltilmiş kullanıcılar yüksek alır. Başlattığınız işlemler ve oluşturduğunuz nesneler, yürütülebilir dosyanın düzeyi düşükse bütünlük düzeyinizi (orta veya yüksek) veya düşük alır; sistem hizmetleri sistem bütünlüğünü alır. Bütünlük etiketi olmayan nesneler işletim sistemi tarafından orta olarak kabul edilir; bu, düşük bütünlüklü kodun etiketlenmemiş nesneleri değiştirmesini önler. Buna ek olarak, Windows düşük bütünlük düzeyiyle çalışan işlemlerin uygulama kapsayıcısıyla ilişkili bir işleme erişememesini sağlar.

Bütünlük Etiketleri

Bütünlük etiketleri, güvenliği sağlanabilir nesnelerin ve güvenlik sorumlularının bütünlük düzeylerini belirtir. Bütünlük etiketleri,bütünlük SID'leri ile temsil edilir. Güvenli hale getirilebilir bir nesnenin bütünlük SID'i, sistem erişim denetimi listesinde (SACL) depolanır. SACL,(ACE) SYSTEM_MANDATORY_LABEL_ACEerişim denetimi girişi içerir ve bu da bütünlük SID'sini içerir. Bütünlük SID'i olmayan herhangi bir nesne, orta düzeyde bütünlüğe sahipmiş gibi değerlendirilir.

Güvenlik sorumlusunun bütünlük SID'i erişim belirtecinde depolanır. Erişim belirteci bir veya daha fazla bütünlük SID'si içerebilir.

Tanımlanan bütünlük SID'leri hakkında ayrıntılı bilgi için bkz. İyi bilinen SID'ler.

İşlem Oluşturma

Kullanıcı yürütülebilir bir dosyayı başlatmayı denediğinde, yeni işlem en düşük kullanıcı bütünlüğü düzeyi ve dosya bütünlüğü düzeyiyle oluşturulur. Bu, yeni işlemin yürütülebilir dosyadan daha yüksek bir bütünlükle yürütülmeyeceğini gösterir. Yönetici kullanıcı düşük bütünlüklü bir program yürütürse, yeni işlemin belirteci düşük bütünlük düzeyiyle çalışır. Bu, güvenilir olmayan kod başlatan bir kullanıcının bu kod tarafından gerçekleştirilen kötü amaçlı eylemlerden korunmasına yardımcı olur. Tipik kullanıcı bütünlüğü düzeyindeki kullanıcı verileri, bu yeni işleme karşı yazma korumalıdır.

Zorunlu İlke

Güvenliği sağlanabilir bir nesnenin SACL'sindeki SYSTEM_MANDATORY_LABEL_ACE ACE, nesneden daha düşük bütünlük düzeylerine sahip sorumluların verildiği erişimi belirten bir erişim maskesi içerir. Bu erişim maskesi için tanımlanan değerler SYSTEM_MANDATORY_LABEL_NO_WRITE_UP, SYSTEM_MANDATORY_LABEL_NO_READ_UPve SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP. Varsayılan olarak, sistem SYSTEM_MANDATORY_LABEL_NO_WRITE_UPerişim maskesine sahip her nesneyi oluşturur.

Her erişim belirteci, belirteç oluşturulduğunda Yerel Güvenlik Yetkilisi (LSA) tarafından ayarlanan zorunlu bir ilke de belirtir. Bu ilke, belirteçle ilişkilendirilmiş TOKEN_MANDATORY_POLICY bir yapı tarafından belirtilir. Bu yapı, TokenInformationClass parametresinin değeri TokenMandatoryPolicyolarak ayarlanmış GetTokenInformation işlevi çağrılarak sorgulanabilir.