Güvenli İzole Bellek Kullanımı

Güvenli İzole Bellek Kullanımı Güvenli İzole Bellek Kullanımı

Bu makalemizde güvenli izole bellek kullanımını sağlayan kod erişim güvenliği sınıflarını inceleyeceğiz. Zorluk Derecesi: 1 2 3 4 5 Anahtar Sözcükler: Güvenli İzole Bellek Kullanımı, Kod Erişim Güvenliği, İzin, Microsoft .NET İzole belleklere erişimler için Microsoft .NET Framework’te IsolatedStoragePermission sınıfı tanımlanmıştır. System.Security.Permissions altında yer alan IsolatedStoragePermission sınıfı CodeAccessPermission sınıfından türeyen, IUnrestrictedPermission arayüzünü destekleyen serileştirilebilir soyut bir sınıftır. Bu sınıfın erişilebilir özellikleri şunlardır; UsageAllowed, izole belleğin kullanımına izin verilip verilmediğini gösterir. UserQuato, kullanıcıların toplam bellek kapasitesi üzerindeki kapasitesini gösterir.Bu sınıfın erişilebilir metotları ise şunlardır; Assert, bu kodu çağıran kodun, erişimin bir yetki ile sınırlandırıldığı kaynağa her şekilde erişebileceğini ifadeeder. Bu kodun daha üst seviyesinde bu kodu çağıran tüm kodlara şartsız güvenilmesini sağlar. Assert kullanımı çoğu zaman güvenlik açıklarına yol açabilir, zorunlu kalınmadıkça kullanımı önerilmez. Copy, şu an ki izin nesnesinin birebir bir yeni bir kopyasını oluşturup geri döndürür. Demand, bu kodu çağıran kodların bu yetkiye sahip olup olmadığının denetimi için CLR’yi zorlar, eğer bu kodu çağıran kodlardan herhangi bir seviyede o yetki sağlanmamış ise güvenlik ihlalini belirtmek için SecurityException istisna fırlatılır. Deny, çağırma yığıtındaki bu kodu çağıran kodların bu kodu çağırmalarını engeller. Equals, iki nesnenin birbirine eşit olup olmadığını test eder. FromXml, ToXml metotuyla XML olarak ifade edilen nesneyi yeniden oluşturur. XML Serileştirme gibidir. GetHashCode, bellekteki o nesneye özgü bir hash kodu oluşturur. GetType, bu nesnenin tipini verir. Intersect, şu an ki izin nesnesiyle, belirtilen izinin kesişimini ifade eden başka bir izin nesnesi oluşturur. IsSubsetOf, şu an ki izin nesnesinin, belirtilen izinin bir alt kümesi olup olmadığını ifade eder. IsUnrestricted, izinin mantığının anlamsal olarak doğruluğunu düşünmeden sınırsız izin olarak ifade edilip edilemeyeceğini belirtir. PermitOnly, bu metotu çağıran kodların bu izin nesnesi tarafından sınırlandırılmış kaynak dışındaki sınırlı kaynaklara erişmesini engeller. ToString, şu an ki nesneyi ifade eden bir metin oluşturur. ToXml, bu nesnenin tüm durumnu ifade FromXML metotuyla yeniden olşturulabilinecek bir XML oluşturur. Union, şu an ki izin nesnesiyle, belirtilen izinin birleşimini ifade eden başka bir izin nesnesi oluşturur.Microsoft .NET Framework’te IsolatedStoragePermission soyut sınıfını gerçekleyerek izole belleklere erişimleri kontrol edebilmek için IsolatedStorageFilePermission sınıfı tanımlanmıştır. IsolatedStoragePermission soyut sınıfından türeyen bu mühürlü sınıf System.Security.Permissions altında yer almaktadır. Bu sınıf CLR tarafından da izole bellekleri erişimleri denetlenemek için kullanılmaktadır. Bu sınıfın en önemli özelliği de CLR tarafından da kullanıldığı için Assert metodunun dikkate alınmayışıdır. Assert metodunun çalışan kod üzerine hiç bir etkisi yoktur. Bu sınıfın erişilebilir özellikleri şunlardır; UsageAllowed, izole belleğin kullanımına izin verilip verilmediğini gösterir. UserQuato, kullanıcıların toplam bellek kapasitesi üzerindeki kapasitesini gösterir.Bu sınıfın erişilebilir metotları ise şunlardır; Assert, bu kodu çağıran kodun, erişimin bir yetki ile sınırlandırıldığı kaynağa her şekilde erişebileceğini ifadeeder. Bu kodun daha üst seviyesinde bu kodu çağıran tüm kodlara şartsız güvenilmesini sağlar. Assert kullanımı çoğu zaman güvenlik açıklarına yol açabilir, zorunlu kalınmadıkça kullanımı önerilmez. Bu sınıf, CLR tarafından da kullanıldığı için Assert metodu dikkate alınmaz, çalışan kod üzerine hiç bir etkisi yoktur. Copy, şu an ki izin nesnesinin birebir bir yeni bir kopyasını oluşturup geri döndürür. Demand, bu kodu çağıran kodların bu yetkiye sahip olup olmadığının denetimi için CLR’yi zorlar, eğer bu kodu çağıran kodlardan herhangi bir seviyede o yetki sağlanmamış ise güvenlik ihlalini belirtmek için SecurityException istisna fırlatılır. Deny, çağırma yığıtındaki bu kodu çağıran kodların bu kodu çağırmalarını engeller. Equals, iki nesnenin birbirine eşit olup olmadığını test eder. FromXml, ToXml metotuyla XML olarak ifade edilen nesneyi yeniden oluşturur. XML Serileştirme gibidir. GetHashCode, bellekteki o nesneye özgü bir hash kodu oluşturur. GetType, bu nesnenin tipini verir. Intersect, şu an ki izin nesnesiyle, belirtilen izinin kesişimini ifade eden başka bir izin nesnesi oluşturur. IsSubsetOf, şu an ki izin nesnesinin, belirtilen izinin bir alt kümesi olup olmadığını ifade eder. IsUnrestricted, izinin mantığının anlamsal olarak doğruluğunu düşünmeden sınırsız izin olarak ifade edilip edilemeyeceğini belirtir. PermitOnly, bu metotu çağıran kodların bu izin nesnesi tarafından sınırlandırılmış kaynak dışındaki sınırlı kaynaklara erişmesini engeller. ToString, şu an ki nesneyi ifade eden bir metin oluşturur. ToXml, bu nesnenin tüm durumnu ifade FromXML metotuyla yeniden olşturulabilinecek bir XML oluşturur. Union, şu an ki izin nesnesiyle, belirtilen izinin birleşimini ifade eden başka bir izin nesnesi oluşturur. Son Söz: Bir sonraki makalemizde görüşünceye kadar güvende kalın... İlgili Makaleler: Referanslar: Yazar : Yunus Emre ALPÖZENe-Posta : yunus.alpozen et msakademik.net

Döküman Arama

Başlık :

Kapat