Erişim Kontrolleri Bakışı İle Güvenlik Modelleri

0
161
views
Bilgisayar ortamında özne-nesne arasında erişim güvenlik problemleri ortaya çıkabilmektedir. Bu yazıda, özne ve nesne arasındaki erişim güvenlik problemlerini çözmek için geliştirilen güvenlik modelleri incelenecektir.

 

 

A) Temel Kavramlar

Özne (Subject)

Bir sisteme veya kaynağa erişecek olan kullanıcı (user), işlem (process) veya varlık (host) olarak tanımlanabilir. Bir sistem yöneticisi, İşletim sisteminin kullandığı DLL dosyaları, veritabanı dosyalarını güncelleyen betik dosyaları,… birer özne olabilir.

 

Nesne (Object)

Özne tarafınfan erişmeye ihtiyaç duyulan kaynak veya sistem olarak tanımlanabilir. Bir dosya, dizin, liste, veritabanı, açık TCP portu, SSH servisi, bilgisayar, içerisinde veri olan ve bilgisayardan çıkarılmış olan harici disk… birer nesne olabilir.

 

Reference Monitor (Abstract Machine)

Kullanıcıların/Öznelerin (subject) nesneler (object) üzerindeki erişimlerini kontrol edebilme kabiliyetidir. Örneğin, bir kullanıcı (user) prosesinin, çekirdek (kernel) prosesine erişememesi kernel seviyesinde kontrol edilir.

3 temel kuralı vardır

  • Müdahaleye Dayanıklılık (Tamper-proof): Özne, kuralları değiştirememelidir. Örneğin; bir kullanıcı kendi kendine erişim verememlidir.
  • Invoked: İlk aşamada öznenin nesne üzerindeki tüm erişimleri yasaklı olmalıdır. Gerektikçe izin verilir.
  • Doğrulanabilir (Verifiable): Erişim kontrolleri test edilebilecek boyutta (küçük) olmalıdır. Test işlemi karmaşık olmamalıdır.

Not: Bir öznenin bir nesneye erişimi o nesnenin sahibi tarafından belirlenir.

 

İletişim Kanalları

İki türlü iletişim kanalı vardır:

  • Overt Channel: Standart/legal iletişim hattıdır. Sistem yöneticileri tarafından veri taşıma amacıyla oluşturulmuştur.
  • Covert Channel: Veri çalma gibi kurum politikalarına uygun olmayan amaçlar için kullanılan yetkisiz, gizli veya tünellenmiş kanaldır. Bir zararlı yazılımın ICMP, DNS veya HTTP trafiği üzerinden veri kaçırması örnek olarak verilebilir. Bu kanallar sistem yöneticileri tarafından öngörülmemiş ve tasarlanmamıştır.

 

Soyutlama (Abstraction)

Bilgisayar ortamındaki karmaşık işlemler, son kullanıcıya kolay bir arayüz üzerinden sağlanmalıdır. Örneğin,

  • Kullanıcı bilgisayardan bir MP3 dosyasına tıklar ve müziği dinler. Arka planda işletim sisteminde çalışan bir uygulamanın ses dosyasını nasıl işlediği ve ses kartı ile sesin hoparlöre verildiği gibi karmaşık işlemler kullanıcıya yansıtılmaz.
  • Oluşturulan bir GPO (Group Policy Object) ile yeni kurulan bir sunucunun sıkılaştırılması ve ayarlarının gerçekleştirilmesi de bir soyutlamadır.

 

Ring Modeli

CPU’nın kernel ve kullanıcı modundaki proseslerin birbirine etkileşimini yönetmek için kullandığı modeldir. Intelx86 mimarisinde 4 halkalı bir yapı vardır. Bu halkalar aşağıdaki gibidir.

  • Ring 0: Çekirdek (Kernel – En güvenilir katman)
  • Ring 1: Çekirdek ile
  • Ring 2: Aygıt sürücüleri (Device Drivers)
  • Ring 3: Kullanıcı uygulamaları (En az güvenilir katman)

 

Prosesler bu katmanlar arasında sistem çağrıları (system calls) ile iletişim kurarlar ancak çoğu modern işletim sistemlerinde bu yapı çok yavaş olacağı için sadece Ring 0 ve Ring 3 kullanılır. Örneğin son kullanıcı bir dosyayı kaydetmek istediğinde kullanıcı modunda (Ring 3) çalışan bir proses, doğrudan çekirdek moduna (Ring 0) bir sistem çağrısı gerçekleştirir. Son kullanıcının arka plandaki bu yapıdan bilgisinin olmasına gerek olmadığı için Soyutlama (Abstraction) sağlanmış olur.

 

B) Güvenlik Modelleri

Bilgisayar ortamında özne-nesne arasındaki erişim güvenlik problemlerini çözmek için geliştirilmiş olan bir çok güvenlik modeli vardır. Bu modeller aşağıdaki gibi sıralanabilir.

 

Çok Katmanlı Kafes Modelleri (Lattice-Based Models / Multilevel Lattice Models)

Karmaşık ortamlardaki güvenlik kontrolleri için kullanılır.

 

Bir öznenin bir nesneye erişim kontrolünü (yapabileceği veya yapamayacaklarının kontrolünü) sağlamak için düşük veya yüksek gibi matematik temelli ve birbirinden ayrılmış farklı katmanlar (tier) ve seviyeler (level) kullanılır. Bu hiyerarşik katmanlar (kafesler) hem öznenin belirli/açık olarak tanımlanmış erişim ihtiyacına ve atanmış rolüne, hem de nesne etiketine (security label) bağlıdır.

 

Durum Makinesi Modeli (State Machine Model)

State (durum), belli bir andaki sistemi tanımlar. State Model, iki farklı zaman diliminde sistemin bir durumdan (state) başka bir duruma geçişteki davranışını tanımlayan matematiksel bir modeldir.

 

Güvenlik modeli olarak kullanıldığında, bir özne ve nesne arasındaki etkileşim de “State” ile ifade edilebilir. Bu güvenlik modelinde, herhangi bir anda güvenli durumda iken, sonraki adımda (geçişte) da güvenli durumda olmaya devam edilmelidir. Bu geçişler, güvenlik politikalarındaki kurallara göre gerçekleşir.

 

Müdahale Edilemeyen Modeller (Noninterference Models)

Birbirinden farklı güvenlik seviyelerindeki komutlar veya aktiviteler başka bir güvenlik seviyedeki özne ve nesneye etki edemez. Çünkü bu modelde bilinçli olarak içeriden gelen tehditlerden gelebilecek olan saldırıların da önüne geçilmesi edeflenmektedir. Bu modelin kullanıldığı kurumlarda hiçbir bilgi kendi güvenlik alanı dışına (Cross Security Boundaries) çıkamacağı için Covert Channel ile veri sızıntısı yaşanmaz.

 

Matris Tabanlı Modeller (Matrix-Based Models)

Bir öznenin, bir nesne üzerindeki erişim yetkilerini (okuma, yazma, çalıştırma gibi) belirten tablodur. En çok tercih edilen kullanım alanı erişim kontrol matrisleridir.

 

Çok katmanlı kafes (Lattice-Based) modelleri ile benzer özne ve nesneler için benzer kısıtlar ile yönetirken; matris tabanlı modellerde, bire-bir özne-nesne (kişi-dosya erişimi, grup-rol işleştirmesi,…) ilişkisi kurulur.

Not: Bu modelde 2 özne arasındaki ilişki (bir kişinin başkasına yetki vermesi gibi) tanımlanmaz.

 

Bilgi Akışı Modelleri (Information Flow Models)

Bu modelde özne-nesne ilişkisi ile ilgilenilmez, nesneler arasındaki yetkilere odaklanılır.
Bu modelde, bilginin nasıl taşındığı/işlendiği, erişim kontrollerinin nasıl yönetildiği ile ilgili düzenleme(ler)/kural(lar)/akışlar tanımlanır. Buradaki amaç, bilginin bellir bir süreç boyunca uygun olarak korunmasını sağlamaktır.

 

Take-Grant Protection Model

Özne, nesne ve izinleri düzenleyen kuralları yöneten modeldir. Bir öznenin bir nesne üzerinde yetki oluşturma (create) ve kaldırma (remove) kurallarını ve ayrıca bir öznenin bir başka özne için yetki verme (grant) ve yetkiyi geri alma (take) kurallarını düzenleyen modeldir. Aşağıdaki şekilde;

  • Alice, gizli belge üzerinde yetki oluşturabilir ve kaldırabilir.
  • Alice, Carol’a kendisinde olan yetkileri verebilir.
  • Bob, Alice’in yetkilerini alabilir.

 

C) Güvenlik Modeli Örnekleri

En çok tercih edilen güvenlik modelleri aşağıdaki gibi sıralanabilir.

 

Bell-LaPadula Gizlilik Modeli

U.S. Department of Defense (DoD) için geliştirilmiştir. Bir nesneye erişimin güvenliğinde Gizliliği ön planda tutar. Bu sebeple güvenilirlik (clearance) dereceleri (hizmete özel, gizli, Çok gizli,… gibi) göz önünde bulundurulur.

Eğer gizlilik belli kurallara göre sağlanıyorsa, güvenliğin sağlandığı kabul edilir. Bu tanımlar Orange Book (TSSEC)’te tanımlıdır. Ancak bu model günümüzde geçerli değildir.

Bu model aşağıdaki erişim kontrol modelleri üzerine kuruludur.

  • Lattice-Based Model
  • State Machine Model
  • Information Flow Model

Yani erişim kontrolleri güvenlik seviyelerine göre, farklı durum geçişlerinde, bir akış içerisinde kontrol edilir.

Temel erişim modları aşağıdaki gibi sıralanabilir.

  • Simple Security Property (Read Only – No Read Up): Orta gizlilik seviyesindeki bir kullanıcı (Secret Subject), Yüksek gizlilik seviyesindeki bir nesneyi (Top Secret Object) okuyamaz. Örneğin bir stajyer, yöneticilerin toplantısında hazırlanan bir tutanağı okuyamaz.

 

  • Star Security Property (Write Only – No Write Down): Orta gizlilik seviyesindeki bir kullanıcı (Secret Subject), Düşük gizlilik seviyesindeki bir nesneye (Unclassified Object) yazamaz, Yüksek gizlilik seviyesindeki bir nesneye (Top Secret Object) de sadece yazma gerçekleştirebilir. Örneğin, bir müdür, genel müdüre rapor (veya bilgi) verir ancak genel müdürün elinde olan ve diğer müdürlere ait olan raporları göremez. Benzer olarak aynı müdür kendi seviyesinin altındaki kişilere rapor vermez.

 

  • Super Star Security Property (Read / Write – Constrained / Sınırlandırılmış): Herhangi bir gizlilik seviyesindeki bir kullanıcı (Subject), sadece kendisi ile aynı gizlilik seviyesindeki bir nesne (Object) üzerinde hem okuma hem de yazma işlemi gerçekleştirebilir.

 

Not: Bell-LaPadula erişim kontrol modelinde, sistemin nesneler için güvenlik etiketleri nasıl işleyeceğini belirleyen iki özellik daha vardır. Güçlü Durgunluk Özelliği (Strong Tranquility Property), sistem çalışırken güvenlik etiketlerinin değişmeyeceğini belirtir. Zayıf Durgunluk Özelliği (Weak Tranquility Property) ise, güvenlik etiketlerinin tanımlanan güvenlik özellikleriyle çakışacak şekilde değişmeyeceğini belirtir.

 

Biba Bütünlük Modeli

Bir nesneye erişimin güvenliğinde bütünlüğü ön planda tutar. Bu modele göre Ring 0 (kernel mode) çok güvenilirken; Ring 3 (user mode) güvenilmezdir.

Bir özne ve nesne ikilisi (Tuple) üzerindeki ilişkiyi ele alır. Amaç, yetkisiz kullanıcının bir nesne üzerinde değişiklik yapmasını önlemektir.

Bu model aşağıdaki erişim kontrol modelleri üzerine kuruludur.

  • Lattice-Based Model
  • State Machine Model
  • Information Flow Model

Yani erişim kontrolleri güvenlik seviyelerine göre, farklı durum geçişlerinde, bir akış içerisinde kontrol edilir.

Temel erişim modları aşağıdaki gibi sıralanabilir.

  • Simple Integrity Property (Read Only – No Read Down): Yanlış / hatalı bilginin üst seviye tarafından bilinmemesi sağlanır.

 

  • Star Integrity Property (Write Only – No Write Up): Bir özne (Internet Explorer gibi), kendi seviyesine göre daha yüksek kritik seviyedeki nesne (LSASS.exe) üzerinde değişiklik yapamaz. Bu özellik sayesinde, bir özne kendisinden daha yetki bir özne yerine (behalf) işlem yapamaz.

 

  • Invocation Property (Execute Only – No request service up): Bir özne, kendi seviyesine göre daha yüksek kritik seviyedeki nesne üzerinden hizmet talep edemez.

 

Brewer-Nash (Chinese Wall) Gizlilik Modeli

Bu model, Bell-LaPadula gibi bir nesneye erişimin güvenliğinde bütünlüğü ön planda tutar. Bu modelde, bir öznenin birden fazla nesneye erişimi sırasındaki çıkar çatışmalarını (Conflict of Interest CategoriesCoIs) önlemek için geliştirilmiştir.

Finans sektörüne denetim ve danışmanlık hizmeti veren firmalarda çıkar amaçlı kar elde edememek için 1989’da tasarlanmıştır. Bu modele göre;

  • Bir audit firması, her müşterisinin bilgisini gizli tutması gerekir ve bir müşterinin mahrem bilgisi başka müşterisine verilmemelidir.
  • Bir müşteriye giden denetçi aynı sektörde rakip başka bir müşterinin verisine erişememelidir. Hatta bazı durumlarda bu veri koruması hem mantıksal hem de fiziksel olarak ayrılmalıdır.

 

Clark Wilson Bütünlük Modeli

Günlük hayattaki (real world) bütünlük modelidir. Yekili bir öznenin bilinçli veya bilinçsiz olarak istenmeyen değişiklikler yapmasını kontrol eder.

Bu model 2 temele dayanır.

  • Tanımlı İşlemler (Well-formed transactions): Bilgisayar sistemindeki çok iyi tanımlı (properly formated) transaction’lar için kullanılır. Biba’da erişim kontrol tanımı (tuple –> öznenin nesne üzerinde değişiklik yapma yetkisi) vardır. Ancak Biba’da yetkili kişinin uygunsuz bir işlem yapması engellenemez. Clark Wilson ile bir doğrulama (başka bir proses veya program ile kontrol etme) ile bütüklük sağlanır. Yani bu modelde subject-object-program diye üçlü ilişki vardır. Bu modelde dahili (internal consistency) ve harici bütünlük / tutarlılık (external consistency) sağlanmış olur. Çünkü kullanıcı, kontrol eden programı değiştiremez ve bu program yapılan değişiklikleri kontrol eder.
  • Görevler Ayrılığı (Separation of Duties): Operasyoncu-onaycı (veya gözden geçirici) mekanizmasına benzer. İnternet üzerinden ticarette, satılan bir ürün hem bilgisayardaki ilgili tablolarda belirtilir (faturalaması yapılır, stoğu azaltılır vs), hem de fiziksel olarak raftan kaldırılır. Benzer olarak bir firmanın gelirleri (modey collection), giderleri (money payment) ve satın alımı (purchase order) ile ilgilenen kişiler (veya departmanlar) farklı olduğunda bu 3 rol sayesinde dolandırıcılık riski azaltılmış olur.

 

Graham-Denning Bütünlük Modeli

Özne – Nesne – Kural üçlüsü arasındaki ilişkiyi temel alan bütünlük modelidir. Bu modelde özne ve nesnelerin oluşturulma ve silinmesinin yanında belirli erişim haklarının nasıl atanacağını da ele alır.

Bu modelde 8 kural vardır.

  • R1: Transfer Access
  • R2: Grant Access
  • R3: Delete Access
  • R4: Read Object
  • R5: Create Object
  • R6: Destroy Object
  • R7: Create Subject
  • R8: Destroy Subject

 

Harrison-Ruzzo-Ullman Bütünlül Modeli (HRU)

Özne – Nesne – Erişim matrisi hakkı üçlüsü arasındaki ilişkiyi temel alan bütünlük modelidir.

Bu modelde 6 operasyon vardır.

  • Create object
  • Create subject
  • Destroy subject
  • Destroy object
  • Enter right into access matrix
  • Delete right from access matrix

Graham-Denning bütünlük modelinin geliştirilmiş halidir. Bu modelde özneler aynı zamanda nesne olarak da kabul edilir.

 

Lipner Gizlilik ve Bütünlük Modeli

Özne – Nesne – Rol / İşlev üçlüsü arasındaki ilişkiyi temel alan bütünlük ve gizlilik modelidir. Bell-LaPadula ve Biba modelleriden esinlenilerek 1982’de tanımlanmıştır.

 

Kaynaklar:

https://www.amazon.com/CISSP-Study-Guide-Eric-Conrad/dp/0128024372
https://app.pluralsight.com/library/courses/security-engineering/description
https://keremozt.blogspot.com/2014/03/security-architectures.html
https://www.cybrary.it/study-guides/cissp/information-security-models/

 

 

 

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

This site uses Akismet to reduce spam. Learn how your comment data is processed.