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

0
2049
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.

 

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

 

A) Temel Kavramlar

A.1) Ö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ı, gruplar… birer özne olabilir.

 

A.2) 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.

 

A.3) Reference Monitor (Abstract Machine)

Kullanıcıların/Öznelerin (subject), nesneler (object) üzerindeki erişimlerini belli kurallara (rule) göre yöneterek izleyebilme (monitor / log) 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 verememelidir.
  • 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.

Reference Monitor kavramının implementasyonuna Security Kernel adı verilir. Böylece, her erişim kontrol sistemi bir Security Kernel’dır.

 

A.4) İ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. Zamanlama (Timing – ağ band genişliğini kullanır) ve Depolama (Storage – Disk kaynağını kullanır) olmak üzere 2 türü vardır.

Zamanlamaya bağlı gizli kanala (Timing Covert Channel) şu örnek de verilebilir: Bir web sitesinde oturum açılmaya çalışıldığında yanlış kullanıcı adı veya/ve parola denemelerinde “hatalı kullanıcı adı veya parola” mesajı verildiğini varsayalım. Bu sayfa, olmayan kullanıcı adı girdiğinde 0,3 saniye, doğru kullanıcı adı girdiğinde (parolanın özetinin hesaplanması ve karşılaştırması için bir süre daha geçeceği için) ise 0,7 saniye sonra bu mesajın verildiğini fark ederse, saldırgan, kullanıcı adlarını tespit edebilir.

 

A.5) 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.
  • Bir sistem yöneticisinin bir klasöre erişim yetkisini yetkisini belli bir kişi yerine bir gruba vermesi de bir soyutlamadır.

 

A.6) 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 işletim sistemi ara katmanı
  • 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.

 

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

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

 

LB modeller, verileri bölümlere ayırmak için sınıflandırma etiket matrisleri kullanırlar. Bundan dolayı, zorunlu erişim kontrol (Mandatory Access Control – MAC) sistemlerinin, kafes tabanlı modellere (Lattice-Based Model) dayandığı söylenebilir. Çünkü bu modellerde kullanıcı kaynağı / içeriği oluşturur; sistem yetkilendirmeyi yapar.

 

LBAC (Lattice-Based Access Control) modelinin gizliliğe önem verir. 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.

 

B.2) 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.

 

B.3) 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. Benzer olarak, böyle bir model, kısıtlı kaynaklara erişim sağlamaya çalışan nesnelerin yeniden kullanımına veya kötü amaçlı programların yürütülmesine karşı koruma sağlamış olur.

 

B.4) 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.

 

B.5) Bilgi Akışı Modelleri (Information Flow Models)

Bu modelde özne-nesne ilişkisi (yönü) ile ilgilenilmez, nesneler arasındaki yetkilere odaklanılır. Bu model, kısıtlı bir işlem gerçekleştirilmediği sürece bilginin bir güvenlik seviyesinden diğerine veya aynı güvenlik seviyeleri arasında akabileceğini belirtir.

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.

Information flow modelinde bilgilerin bölümlere ayrılmasını sağlayan 2 temel faktör vardır:

  • Sınıflandırma (Classification): Bir öznenin, bir nesneyi görüntülemek için gereken güvenlik düzeyini belirler.
  • Bilinmesi Gereken Kadar (Need to know): Bir öznenin, bir nesneyi görüntülemek için gereken ihtiyacını belirler. Böylece “top-secret” güvenlik düzeyindeki bir öznei “top-secret” düzeydeki nesnelerin tamamına değil, ihtiyaç duyduğuna erişim sağlamış olur.

 

 

B.6) 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.

 

C.1) 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)’ta B seviyesinde 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 – Confinement): 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.

 

C.2) 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. Yani, Biba modeli, dışarıdan gelebilecek tehditlere odaklanır ve bütünlüğü korumayı esas alır. İç tehditlere veya gizliliğe odaklanmaz.

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.

 

C.3) 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.

 

Bu model, bir sistem için erişim kontrollerinin bir kullanıcının faaliyetlerine ve önceki erişim taleplerine göre dinamik olarak değişeceğini belirtir. Kullanıcının bilgilere erişim talebi, talep bir çıkar çatışması oluşturuyorsa reddedilebilir.

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.
  • Bir paylaşımlı hosting hizmeti sunan firma, bir müşterisinin verisini diğerine açık etmemelidir.

 

C.4) Clark Wilson Bütünlük Modeli

Güvenlik etiketleri (security labels) kullanan ve günlük hayata (real world) benzer bir yapı sunan bütünlük modelidir. Yekili bir öznenin bilinçli veya bilinçsiz olarak istenmeyen değişiklikler yapmasını kontrol eder, izler (monitoring).

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.

 

C.5) 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

 

Bu model öznelerin ve nesnelerin nasıl oluşturulduğu ve öznelere nasıl haklar / ayrıcalıklar atandığı modellenir.

 

C.6) 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.

 

C.7) 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.

 

C.8) Sutherland Bütünlük Modeli

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

  • State Machine Model
  • Information Flow Model

Bu model, müdahaleyi (interference) önleyerek bütünlüğü korumayı sağlar. Ayrıca bu modelde, sistem durumu kümesini, başlangıç durumunu ve durum geçişleri tanımlanır.

 

D) Operasyon Modları (Modes of Operation)

BT altyapısında, operasyon modu seçimi sistemin sahip olması gerkeen erişim kontrolü ve teknik gereksiminleri tanımlamak için önemlidir. 4 çeşit mod vardır ve bu modlar ,steğe bağlı (discretionary) veya zorunlu (mandatory) erişim kontrol yöntemleri ile kullanılabilirler.

D.1) Dedicated (Tahsis Edilmiş)

Bu modda, sistem tek bir sınıflandırma etiketini (gizli gibi) içerir. Tüm özneler de en az bu seviye sınıfındaki etikete (gizli, çok gizli gibi) sahip olmalıdır. Özneler uygun izne sahip olması dışında, resmi (formal) bir erişim onayına sahip olmalı ve depolanan ve işlenen tüm bilgileri bilmesi gerekir (“need to know” prensibine uygun olması gerekir).

 

D.2) System High (Sistem Yükseği)

Bu modda, sistem içerisinde birden fazla seviyedeki etiketlere (hizmete özel, gizli gibi) sahip nesneler bulunur. Tüm özneler en az sistemdeki en yüksek etiketli nesnenin güvenilirlik derecesine (gizli ve çok gizli gibi) sahip olmalıdır.

 

D.3) Compartmented (Bölümlendirilmiş)

Bu modda, özneler, sisteme erişim için gerekli güvenilirlik seviyesine sahip olmasına rağmen, ne uygun resmi (formal) erişim onayına sahiptir ne de sistemde bulunan tüm bilgileri bilmeleri gerekir (“need to know” prensibi göz ardı edilir). Nesneler ise “bölmelere” ve sistem, nesnelere erişim için resmi bir erişim onayını zorunlu tutar. Bu modda sistem, politikasal veya prosedürel değil, teknik olarak “need to know” prensibine uygulma durumunu kontrol eder.

 

D.4) Multilevel (Çok Seviyeli)

Bu modda, farklı güvenilirlik seviyesindeki özneler, farklı güvenilirlik seviyesindeki nesnelere erişim sağlar. Erişim kontrolünü de Referans Monitör aracılık eder. Örneğin “çok gizli” güvenilirlik seviyesindeki bir özne, – “need to know” prensibine de uyuyorsa, “gizli” veya “çok gizli” nesneye erişebilirken, bu nesneye “hizmete özel” güvenilirlik seviyesindeki bir özne erişemez.

 

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/

 

 

 

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.