Developersland

Teknoloji ve Yazılım Blogu

  • Yazıtipi boyutunu arttır
  • Varsayılan yazıtipi boyutu
  • Yazıtipi boyutunu azaltır

Protection Mechanisms

Korunma mekanizmalarını incelerken öncelikle şu sorulara cevap vermemiz gerekiyor. "Kimin verisini kimden korumamız gerekiyor?" ve "Bu koruma olayını nasıl gerçekleştirebiliriz?"

Reference Monitor

Bazı sistemlerde koruma olayı reference monitor vasıtasıyla yapılıyor.Korunmakta olan bir kaynağa her erişim istendiğinde sistem reference monitor'a başvurarak bu erişime izin verilip veilmeyeceği konusunda bilgi almak için reference monitora başvuruyor. Reference Monitor policy table'a göz atarak erişime izin verilip verilmeyeceğine karar verir.

Bilgisayar Sistemleri korunması gereken birçok nesneye sahiptir Bunlar Cpu, memory segment, printer gibi donanımsal nesneler veya veritabanı, işlem, dosya gibi yazılımsal nesneler olabilir.

Bazı işlemlerin bazı nesnelere erişimini kısıtlamak gerekiyor. Ayrıca bir işlemin bir nesneye erişim hakkının olup olmadığı bilgisi dışında bu nesneye hangi erişim haklarına sahip olduğu da kontrol edilmelidir (read, write vs..)

Domain

Domain nesne ve izinlerin bir arada bulunduğu kümedir. Bir domain bilgisayardaki tek bir kullanıcıyı temsil edebileceği gibi daha genel de olabilmektedir.

domainHer bir işlem belli bir zaman diliminde belli bir domainde çalışmaktadır. Yani bir işlemin belli bir zaman diliminde erişebileceği belli bir nesne kümesi vardır.  İşlemler çalışma esnasında domain değişikliği yapma kabiliyetine sahiptirler. Domain değişme olayı sistem bağımlı bir olaydır. UNIX de protection domainler UID(user id) ve GID(group id) tarafından tanımlanır. Ayrıca UNIX de her işlem kullanıcı kısmı ve kernel kısmı olmak üzere iki kısımdan oluşmaktadır.İşlem sistem call yaptığında kullanıcı kısmında kernel kısmına geçiş yapılmaktadır. Böylece farklı kaynak kümelerine erişim hakkı kazanılmış olmaktadır. Örneğin kernel fiziksel bellekteki tüm page'lere erişim hakkına sahiptir.

Peki Sistem kimin neye erişebileceği gibi büyük bir bilgiyi nerede tutar sorusu akla gelmektedir. Satırların domainler sütunların ise nesneler olduğu büyük bir matris kullanılarak bu bilgiler tutulabilir.Ancak bu şekilde bir matris çok büyük boyutlarda olabilir.

matrisAyrıca bir sürü kullanılmayan alan işgal edilerek hafızadan kaybetmemize neden olur ve sistemimiz hantallaşır.Bunun için iki farklı yöntem düşünülmüştür bunlardan birincisi Access Control List olarak adlandırılan ve matrisi sütunlar baz alınarak tutan yöntemdir. Diğer yöntem ise satırları baz alarak bu bilgileri tutmaya yarıyor bu yöntemle bilgilerin tutulduğu listeye C-List veya Capability List denmektedir.

Access Control List: Nesneye erişebilecek tüm domainleri ve bu domainlerin nesneye hangi erişim haklarıyla erişebileceği bilgisini tutan listedir.

ACL ile igili şöyle bir sorun vardır: Bir kullanıcı herhangi bir kaynağa erişim yapmak istediğinde onun o nesneye erişim hakkının olup olmadığına bakılıyor ve eğer erişim hakkı varsa o nesneye erişmesine izin veriliyor. Ancak erişim sağlandıktan sonra işlemin o nesneye erişim hakkı ortadan kaldırılsa bile o kaynak hala o işlemin elinde tutulacaktır erişim hakkı yalnızca erişim olduğunda kontrol edildiğinden dolayı.

Capabilities: Her İşlemin erişebileceği kaynakların ve ne tür erişim yapılabileceğinin tutulduğu listedir.


KAYNAK:

Operating Systems Design and Implementation, Third Edition
By Andrew S. Tanenbaum
 

Yorum ekle


Güvenlik kodu
Yenile