BÖLÜM 15 PROTECTION.

Slides:



Advertisements
Benzer bir sunumlar
Kullanıcı ve Grup Yönetimi
Advertisements

DOSYA VE KLASÖRLERE ERİŞİMİN YÖNETİLMESİ
VERİ TABANI VE YÖNETİM SİSTEMLERİ
Öğr.Gör. Dr. Şirin KARADENİZ
Veri ve Veri Yapıları Genel olarak bilgisayarlar.
Ana Bellek Yönetimi Bir bilgisayar sisteminin en önemli donanımsal kaynaklarından biri olan ana belleğin, görevler arasında paylaştırılması ana belleğin.
Erişim Denetim Mekanizmaları
İş (Job): Proses ve/veya thread
Bölüm 1: Introductions (Tanıtım,Tanım)
Bellek Yönetimi.
Varlık-İlişki Modeli Örneği
AĞ PROTOKOLÜ.
BTP 108 BİLGİSAYAR AĞ SİSTEMLERİ AĞ KAVRAMI Birden çok bilgisayarın birbirine bağlı olarak kullanılmasıyla oluşturulan çalışma biçimine bilgisayar ağı.
Görev Yönetimi GÖREV bir programın işletimi sırasında aldığı addır.
İlişkisel Veri Modeli.
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
BÖLÜM 2: BİLGİSAYAR SİSTEM YAPILARI
Bilgisayar Mühendisliği Bölümü
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN. Sunu Planı Bu derste, çizgelerin bilgisayarda gösterimine ilişkin iki standart yaklaşımı inceleyeceğiz.
İşletim Sistemleri Hazırlayan Hakan YİĞİT.
Temel Bilgisayar Yapısı ve Devreleri
ANA BELLEK YÖNETİMİ (MEMORY MANAGMENT)
İnternet Teknolojisi Temel Kavramlar
VERİ TABANI VE YÖNETİM SİSTEMLERİ
İŞLETİM SİSTEMLERİ Öğr. Gör. S.Serkan TAN.
WINDOWS NT GENEL YAPISI
Chapter 6: Using Arrays.
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN.
MESAJ GEÇİŞİ(MESSAGE PASSİNG)
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
Yrd.Doç.Dr. Sevinç İlhan Omurca - OS Bölüm 12
İŞLETİM SİSTEMLERİ İşletim sisteminin, kolay ve hızlı kullanım, kaynak verimliliği gibi kıstasların dışında, ortamında saklanan bilgilerin, gerekse izinsiz.
PROCESS (GÖREV) GÖREV YÖNETİMİ
Kullanıcı Hesapları Aslı Ergün.
İŞLETİM SİSTEMİ.
Windows XP Konu: Denetim Masası Windows 8 Windows XP Windows 7.
Sistem Çağrıları Proses Kontrol Çağrıları Bellek Yönetim Çağrıları
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
İnternet Teknolojisi Temel Kavramlar
GROUP POLICY OBJECT(GPO)
İşletim Sistemleri Operation Systems Fon müziği.
Shared Computer Toolkit EROL DOĞAN
Chapter 11: Dosya Sistem Arayüzü
WİNDOWS SERVER 2003’te KULLANICI VE GRUP HESAPLARI.
Raporlama Menüleri Emine TUNÇEL Kırklareli Üniversitesi, Pınarhisar Meslek Yüksekokulu.
İnsan Kaynakları Bilgi Sistemleri
BELLEK YÖNETİMİ Memory Management
BİLGİSAYAR MİMARİLERİ 6.Hafta: Sanal Bellek
UNV13107 TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Veri tabanı Bilgisayar ortamında saklanan düzenli verilerdir. Bilgisayar ve ağ ortamındaki bilginin temel.
Dosya sistemi, bilgisayarın sabit disk üzerindeki verileri düzenlemek için kullandığı temel yapıdır. Disk depolamanın temel birimidir. Disklerin kullanılabilmesi.
BM-308 Paralel Programlamaya Giriş Bahar 2016 (1. Sunu) (Yrd. Doç. Dr. Deniz Dal)
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
FAT VE NTFS DOSYA YAPISI
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
Konu : WİNDOWSTA VERİ DEPOLAMA YÖNTEMLERİ Hazırlayan : Güray Mantar
Kütük Organizasyonu1 Dosyalarda Farklı Yaklaşımlar.
Paralel Programlamaya Giriş
Bellek Yönetimi(Memory management)
Turgutlu Meslek Yüksek Okulu Bilgisayar Programcılığı
ÖRNEK BİR VERİTABANI TASARIMI VE NORMALİZASYONU
İşletim Sistemleri Hazırlayan Hakan YİĞİT.
Active Directory.
ACTIVE DIRECTORY.
Turgutlu Meslek Yüksek Okulu Bilgisayar Programcılığı
Trakya Üniversitesi Teknik Bilimler Meslek Yüksekokulu
Açılış yoklama İşletim Sistemleri. Bilgisayarlarda işletim sistemi, donanımın doğrudan denetimi ve yönetiminden, temel sistem işlemlerinden ve uygulama.
C++ Programming:. Program Design Including
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

BÖLÜM 15 PROTECTION

Erişim Denetimi İşletim sistemi ile kullanıcı programlarının aynı anda aynı ana belleği paylaşmaları problemi Kullanıcı proseslerinin ana bellekteki kimi alanlara erişmelerini kısıtlamak zorunluluğu Çoklu iş düzeninde kullanıcı programlarını birbirlerinden korumak zorunluluğu

… Bir iş kendisi ile ilgili sınır yazmaçlarının dışına düşen bir adres ürettiğinde kesilerek sistemin işletim bütünlüğü korunur. Görevlere ilişkin sayfalara erişim hakkı, sayfa yada kesim tanım çizelgelerinde tutulur (paging). Görüntülü bellek yönetiminde mantıksal adres evreni ile fiziksel alanlar birbirlerinden tamamen soyutlanarak daha esnek koruma düzenekleri kurulur. CPU yazmaçlarına erişimin kimi özel görevler dışında diğer görevlere kapalı tutulması gerekir.

… CPU yazmaçlarına erişimine göre farklılaşma görevlerin Sıralı ve Ayrıcalıklı olmak üzere iki sınıfa ayrılmasını zorunlu kılar. Sıradan görevler, koruma altındaki ana işlem birimi yazmaçlarına erişmeye kalktıklarında engellenemez bir iç kesilme ile işletimleri kesilir. İşletilmekte olan görevin hangi kategoriye ait olduğu, görev işletime alındığında güncellenen, ana işlem birimi program durum yazmacı içindeki bir bit ile belirlenir. Sıradan görevlerin program durum yazmaçlarında bu bit hep set edilmiştir. Bir bilgisayar sisteminde çalışan görevler ait oldukları kullanıcılara göre sınıflandırılırlar.

… CPU: işletim sistemi modunda yada kullanıcı modunda çalışmasından bahsedilir. Bu adlandırma ayrıcalıklı görevlerin çoğunlukla işletim sistemi görevleri, sıradan görevlerin ise sıradan kullanıcı görevleri olmasından kaynaklanır.

Koruma Etki Alanı Bir bilgisayar sistemi proses ve nesnelerin toplamından oluşmaktadır. donanım nesneleri (CPU, bellek segmentleri, yazıcılar, diskler vb.) yazılım nesneleri (dosyalar, programlar, semaforlar vb.) Her nesne diğerlerinden ayrılan tekil bir isim ile anılır ve hepsi özel tanımlı işlemler ile erişilir. Nesneler genelde özel tanılı soyut veri tipleridir.

… Nesneler üzerindeki erişim hakları değişik şekillerdedir. Bu erişim haklarını düzenleyen bir proses olmalıdır. Her proses bir domain içinde yönetilir Protection domain: hangi kaynaklar/nesneler hangi prosesler ile hangi erişim hakları üzerinden erişilebilirler?

Koruma Alanı Yapısı Bu şemayı kolaylaştırmak için proses bir koruma alanı içinde işletilir. Koruma alanı, prosesin erişebileceği kaynakları tanımlar. Her koruma alanında nesneler kümesi ve her nesneden çağırabilecek operasyonlar tanımlıdır. Bir nesne üzerinde işletilebilecek yetenek erişim hakkı olarak bilinir. Bir Domain erişim haklarının toplamıdır. Bunlar şu şekilde ifade edilir: <nesne-adı, erişimhakkı kümesi> Örneğin D domaini, <dosya F, {read,write}> erişim hakkına sahip, o zaman D domaininde işletilen bir proses F dosyasını okuyabilir ya da dosyaya yazabilir. Domainler parçalara ayrılmaya ihtiyaç duymazlar; erişim haklarını paylaşabilirler.

Domain Yapısı Domain: erişim hakları kümesi <nesne-adı, erişimhakkı kümesi>

Koruma Alanları (Domainler) Domainler farklı yollar ile gerçekleştirilebilirler: Her kullanıcı bir domain olabilir. Bu durumda, erişilen nesneler yapılan kullanıcı tanımlarına göre değişiklik gösterirler. Kullanıcı değişikliği olduğunda domain switching oluşur. Her proses domain olabilir. Bu durumda, nesnelere erişim şekilleri prosesin tanımına göre değişir. Proses switching, prosesler arası mesajlaşma ile gerçekleşir. Her prosedür bir domain olabilir. Bu durumda, nensnelere erişim, prosedürde tanımlı olan yerel değişkenler ile tanımlanır. Prosedür çağrısı yapıldığında domain değişimi gerçekleşir.

Örn: UNIX Unix işletim sisteminde, domain bir kullanıcı ile ilişkilendirilmiştir. Bir domain biti (setuid bit) her dosya ile ilişkilendirilmiştir. Ne zaman bir kullanıcı(user-id=A) B ye ait bir dosyayı işletmeye başlarsa, prosese ait user-id=A yapılır. Ne zaman setuid=onn ise user-id=B (sahibi) ne set edilir. Proses sonlandığında geçici user-id değiştirme işlemi de sonlanır.

UNIX

Erişimde Koruma Halkaları Bir görevin herhangi bir koruma alanı içerisinde işlem yaparken bir diğerine geçmesi, bu yeni koruma alanına anahtarlanması olarak adlandırılır. Bu bir nesne kümesi üzerinde işlem yaparken diğer bir nesne kümesine erişmesi demektir. Bu nedenle görevlerin nesnelere erişimlerini denetlemek bunların değişik koruma alanlarına anahtarlanmalarını denetleyerek gerçekleşir.

Koruma Halkaları Koruma alanları iç içe halkalar şeklinde düzenlenirler. Görevlerin hangi halkalarda iş yapacağı donanımca desteklenen bir düzenek ile denetim altında tutulur. Halkaların içten dışa azalan düzende düzenlenir. İç halkayla simgelenen çekirdek koruma alanına çok az sayıda görev erişebilirken, çekirdek halkadan dışa doğru gidildikçe daha çok sayıda göreve erişim ya da anahtarlama hakkı verilir. N adet koruma halkasının bulunduğu bir sistemde i. Alanın simgelediği koruma alanına anahtarlanabilen bir görev (i+1),(i+2)....(n-1) inci halkalarla simgelenen koruma alanlarına da anahtarlanma hakkına sahip olur.

Koruma Halkaları Görevler, bulundukları bir koruma halkasının altındaki bir alana anahtarlanmak için ilgili işletim sistemi işlevini çağırdıklarında: işlevin gerektirdiği ayrıcalık düzeyi ile program durum yazmacındaki düzey kodu karşılaştırılır. CPU nun durum yazmaçlarında görev ayrıcalık düzeyini belirleyen durum bitleri bulunur. Bir görev CPU’ya anahtarlandığında bu bitler, görevin ait olduğu ayrıcalık düzeyi kodu ile güncellenir. Program durum yazmacındaki ayrıcalık düzey kodu uzunluğu, koruma halkası sayısına bağlıdır. Uyumsuzluk olduğunda, görevin işletimi sonlandırılarak nesnelere erişim genel anlamda denetim altında tutulur.

Koruma Halkaları

Erişim Matrisi Koruma matrisidir (access matrix) Satırlar domain leri temsil eder Sütunlar nesneleri temsil eder. Access(i, j) Domaini de işletilen bir proses Objectj üzerinde işlem yapabilir.

Erişim Matrisi

Erişim Matrisi Kullanımı Erişim matrisi dizaynı mekanizmaları policyden ayırır. Mekanizma İşletim sistmei access-matrix + kurallar tanımlar. Policy Kullanıcı policy uygular Kim hangi nesneye hangi hak ile erişebilir.

Erişim Matrisi Uygulaması Her sütun= bir nesne için erişim-kontrol-listesi Kim ne operasyonu gerçekleştirebilir onu tanımlar. Domain 1 = Read, Write Domain 2 = Read Domain 3 = Read Her satır = Yetki listesi (anahtar gibi) Her domain için, hangi operasyonlar hangi nesneler üzerinde tanımlandı bilgisi tutar. Object 1 – Read Object 4 – Read, Write, Execute Object 5 – Read, Write, Delete, Copy

Prosesler bir domain’den diğerine Switch edilebilir. Figure B

Copy, owner, kontrol Bir erişim hakkını bir domain’den diğerine kopyalama hakkı (*) ile ifade edilmiştir. D2 de işletilen herhangi bir proses read operasyonunu F2 dosyası ile ilişkili herhangi bir girişe kopyalayabilir.

Access Matrix with Copy Rights

Access Matrix With Owner Rights

.. D2’deki herhangi bir proses F2 sütunundan istediği hakkı çıkarır ya da ekler.

Modified Access Matrix of Figure B

… D2 domainindeki herhangi bir proses, D4 domainini güncelleyebilir.

Erişim Matrisi Uygulamaları Global Table Nesneler için erişim listeleri Domainler için yetki listeleri

Global Tablo Uygulaması Erişim matrisinin uygulamadaki en basit şeklidir. <domain, nesne, erişim hakkı> çiftlerinden oluşur. Ne zaman bir nesne üzerinde bir operasyon gerçekleştirilmek istendi, ilgili nesne-domain çifti tablodan aranır. Bulunursa erişime izin verilir bulunmazsa exception üretilir. Tablo bellekte olmak zorundadır. Sanal bellek uygulamasının sıkça tekrar etmesi gerekir.

Erişim Listeleri nesnelere erişimin denetlenmesinde kullanılan bir yöntemdir. Her nesne için bir liste tutulur. Liste içerisinde bu nesneye erişim yapabilecek tüm görev ya da kullanıcıların kimlikleri bulunur. Nesneye erişim söz konusu olduğunda bu liste taranarak ilgili görev yada kullanıcının erişim hakkı sınanır. Erişim listesi, nesneyi yaratan kullanıcı tarafından oluşturulur. Kullanıcılar, kendilerine ait nesnelerin erişim listesini istedikleri gibi güncelleyerek diğer görev ya da kullanıcıların bu nesnelere erişimini, her an açıp kapama hakkına sahip olurlar. Daha çok dosya türü nesnelerde kullanılan bir yöntemdir. Erişim listelerinin boyu ile ilgili kısıtlamalar olabilir UNIX gibi sistemlerde erişim listesinin boyu sınırlı tutularak bu sakınca aşılmaya çalışılmıştır.

Erişim Listesi Kullanımı

Görevlerin Yetkilerine Dayalı Erişim Denetimi (Yetki Listesi) Erişim listesi yönteminin tersine, Görev yada kullanıcı tabanında listeler tutmak bir çözüm olarak düşünülebilir. Bu durumda, örneğin her görevin, hangi nesnelere hangi haklarla erişebileceğinin listesinin tutulması gerekir. Bir görevin belirli bir nesneye erişim hakkına yetki adı verilir. Görevlerin hangi nesnelere hangi haklarla erişebileceklerinin bilgisinin tutulduğu liste yetki listesi olarak adlandırılır.

Yetki Listesi Kullanımı

Örn: UNIX UID: Registered users ID: 0-65.535 arası GID: Group ID – 16 bit integers Her proses kendi GID ve UID sini taşır. Bir dosya yaratıldığında, dosya yaratan prosesin GID ve UID sini alır. Dosya aynı zamanda yaratan proses tarafından belirlenen erişim izinlerini de alır. Erişim hakları 9 bit ile düzenlenir.

Örn: Unix Erişim Hakları Listesi

Örn: Windows Her windows kullanıcısı(grubu) bir SID (security ID) ile tanımlanır. SID: bir header bilgisi ile başlayan binary numaralardır. Her SID tekildir. Bilgisayar kurulum sırasında bir SID ile eşleştirilir. Kullanıcı ve gruplar, bilgisayarın SID’si tarafından yönlendirilen SID’ler ile eşleştirilir.(sonunda bir Relative Identifier (RID) ile birlikte) Kullanıcı bir proses ya da tred başlattığında, proses ya da tred SID altında çalışmaya başlar. Access token: her proses kendi SID ve diğer özelliklerini tanımlayan bir access token a sahiptir. User log in olduğunda, winlogon başlangıç prosesine bir access token verir. Bu access token proses içindeki tüm tredlere de verilmiş olur.

…Windows Impersonation: bir client tredi, serverin clienttaki doyalara erişimini sağlamak için kendi access token’ını sever trede geçirir. Security Descriptor: her nesne kendi ile attachlenmiş bir security desc içerir. Bu, nesne üzerinde kim hangi operasyonu geçekleştirir kaydıdır. Bir header ve bunu takip eden bir DACLiçerir. DACL bir yada birden çok ACE (Access Control Elements) içerir. Discretionary Access Control List (DACL): kullanıcıların nesnelere erişim tiplerini tanımlar.

SID

Access Tokens Bir token daki bileşenler: Kullanıcı SID’ si Kullanıcının ait olduğu gruba ait SID’ler Kullanıcı için olan yetkiler(privileges) Group 1 SID Group n SID Privilege 1 Account SID

Constructing a Security Descriptor Process Object InitializeSecurityDescriptor() SetSecurityDescriptorOwner() SetSecurityDescriptorGroup() InitializeAcl() AddAccessDeniedAce() ... AddAccessAllowedAce() ... SetSecurityDescriptorDacl() Security Descriptor Access Token User SID Group SID Owner SID Group SID Discretionary ACL Access Control Entry (Denied) ... Access Control Entry (Allowed)