Dijital Pazarlama - Seo Ajansı

Koruma Mekanizması ve Erişim kontrolleri

☀ Koruma mekanizmaları ve erişim kontrolleri, bilgi güvenliği ve veri koruma alanında önemli unsurlardır. İşte bu konular hakkında bazı temel bilgiler:

Kimlik Doğrulama (Authentication) 

  • Kullanıcıların kimliklerini doğrulamak için kullanılan yöntemlerdir. Şifreler, biyometrik veriler veya iki faktörlü kimlik doğrulama gibi yöntemler içerir.

Yetkilendirme (Authorization)

  • Kullanıcıların hangi kaynaklara veya verilere erişebileceğini belirler. Rol tabanlı erişim kontrolü (RBAC) yaygın bir yöntemdir.

Şifreleme (Encryption)

  • Verilerin gizliliğini korumak için kullanılan bir tekniktir. Veriler, yalnızca yetkili kullanıcılar tarafından okunabilir hale getirilir.

Güvenlik Duvarları (Firewalls)

  • Ağ trafiğini izleyen ve kontrol eden sistemlerdir. Yetkisiz erişimleri engeller.

Güvenlik Politikaları

  • Kurumların bilgi güvenliği ile ilgili kurallar ve prosedürlerdir. Çalışanların uyması gereken güvenlik standartlarını belirler.

İzleme ve Denetleme

  • Sistemlerin ve ağların sürekli izlenmesi, güvenlik ihlallerinin tespit edilmesine yardımcı olur.

Bu mekanizmalar, bilgi sistemlerinin güvenliğini sağlamak ve yetkisiz erişimleri önlemek için birlikte çalışır. 🛡️


Bu yazıda, bellek erişimi sırasında uygulanan koruma mekanizmasının ayrıntılarını ve aşamalarını inceleyeceğiz.

Koruma Mekanizması

☀ Koruma mekanizması, çeşitli koruma bitleri sayesinde  bellek erişimine izin verilip verilmesine mantığına dayanır. Bir çok aşaması vardır.

Koruma mekanizmasını, segment düzeyinde koruma ve sayfa düzeyinde koruma olarak inceleyebiliriz.


Segment düzeyinde koruma

Segment düzeyinde korumanın aşamaları şunlardır.

  • Ayrıcalık seviyesi kontrolü
  • Limit kontrolü
  • Tip kontrolü

Şimdi bunları ayrıntılı olarak inceleyelim.


Ayrıcalık seviyesi Kontrolü

☀ Korumalı mod’un en temel kontrolü Ayrıcalık kontroldür, Korumalı mod’a biraz ilgi duydıysanız  Kernel mod, user mod, ring0, ring 3 , page fault, General Protection Fault gibi kavramlar size yabancı gelmeyecektir. Bu kavramların hepsinin altında Ayrıcalık seviyesi kontrolü yatar.

Korumalı modda çalışan süreçlerin 4 ayrıcalık seviyesi vardır. 0. ayrıcalık seviyesi en yetkili seviyedir, 3. seviye ise en kısıtlı seviyedir. 0. seviyeye kernel mod ya da ring 0 denilir, 3. seviyeye ise user mod yada ring3 denilir.


Peki bir sürecin hangi ayrıcalık seviyesinde çalıştığı neye göre belirlenir?

Her sürecin çalıştığı segmentin bir segment tanımlayıcısı tarafından tutulduğunu biliyorsunuz. Tanımlayıcılar konusunu hatırlarsanız, her tanımlayıcının DPL denilen iki biti vardı. Bu bitlerdeki değer o segmentin ayrıcalık düzeyini belirliyordu.

Ayrıca segment yazmaçlarında selektör değeri haricinde iki bitinde koruma biti olarak bulunduğunu hatırlayın (RPL).

Bu iki bit sahası, segment düzeyinde ayrıcalık kontrolünün temelini oluştururlar.  O an çalışmakta olan kod segmentin DPL değerine özel olarak CPL denilmektedir.  CPL, DPL den  ayrı bir bit sahası değildir, sadece çalışmakta olan segment vurgusu için kullanılır.

Şimdi bellek erişimi konusunu hatırlayalım ve bu erişim sırasında uygulanan ayrıcalık seviyesi kontrolünü görelim.


Öncelikle bir sürecin başka bir adrese erişmeye çalıştığını varsayalım.  Çalışan sürecin kod segment ayrıcalık seviyesi CPL=3 olsun. Erişim için kullanılan selektörün RPL değeri de 3 olsun. Eğer erişmeye çalıştığımız segmentin DPL değeri 2,1,0 değerlerinden biriyse bu erişime izin verilmez ve genel koruma hatası oluşur.


Erişilmek istenen segmentin DPL değeri 3 ise erişime izin verilir.

Ayrıca selektörün RPL değerinin de önemli olduğunu hatırlayalım. Eğer CPL ve DPL değerleri 0 ise ancak o segmente erişirken kullanılan selektörün RPL si 3 ise bu erişime yine izin verilmez.

Genellikle sorun RPL değildir. Çünkü bir program segment yazmacının RPL bitlerini 0 yapıp, DPL=0 olan bir segment adresine atlamak isteyebilir, segment yazmacını uygun doldurması yeterlidir ancak bu işi yapmaya çalışan sürecin CPL si 3 ise yapılacak birşey yoktur.

Eğer burada anlattığım DPL ve RPL kavramlarını tam anlayamadıysanız bir önceki yazımdaki çizimlere göz atmanızı tavsiye ederim. DPL tanımlayıcı üzerindeki RPL ise selektör üzerindeki koruma bitleridir. DPL, tanımlayıcının gösterdiği segmentin ayrıcalık düzeyidir. Eğer bu segment çalışan bir kod segmentse DPL ye CPL denir. Sanırım  anladınız :)


Limit Kontrolü

☀ Koruma mekanizmasının bir diğer ayağı limit kontrolüdür. Tanımlayıcılar konusundan hatırlayacağınız üzere her segmentin bir taban adresi birde limiti vardır.

Bir süreç çalışırken erişmek istediği adres, segmentin taban adresi ile toplanır ve limit değerini geçiyormu diye kontrol edilir. Eğer segment limiti aşılmışsa genel koruma hatası oluşur ve süreç sonlandırılır.

Yani bir sürecin erişmeye çalıştığı adres o segmentin  Taban+Limit değerinden büyükse bu erişim engellenir, bu da segment düzeyinde korumanın limit kontrolü aşamasıdır.


Tip Kontrolü

☀ Segment tanımlayıcıları konusunu hatırlarsak, tanımlayıcının S biti o segmentin sistem segmenti mi yoksa hafıza segmenti mi olduğunu belirliyordu. Ayrıca tip sahasının nasıl yorumlanacağı da bu bit e bağlıydı.

Tip kontrolü, erişilmek istenen segmentin sistem segmenti mi yoksa hafıza segmenti mi olduğunu, erişilmek istenen kod segment ise selektörün  CS yazmacında olup olmadığını, SS (yığın yazmacı) deki selektör ile erişilen segment yazılabilir bir segment mi gibi birçok kontrol yapar.

Eğer erişmek istediğimiz segment bir kod segment ise CS yazmacındaki selektör ile erişmeliyiz. Aynı şekilde SS ya da DS yazmacları ile bir kod segmente erişemeyiz. Bunlarla erişmek istediğimiz segmentin muhakkak yazılabilir olması gereklidir.


Eğer bir segmente çalıştırmak amacıyla erişiyorsak  (yani call ya da jmp komutları ile) CS deki selektör bir kod segmenti ya da bir kapıyı(gate) göstermelidir.

Yani tip kontrolü, kurallara uyup uymadığımızı kontrol eder, Derleyicilerin semantik analizine benzetebiliriz (yada ben benzetiyorum :)


Sayfa Düzeyinde Koruma

Sayfa düzeyinde korumanın aşamaları şunlardır.

  • Ayrıcalık seviyesi kontrolü
  • Yazma koruması kontrolü
  • Ayrıcalık Seviyesi Kontrolü


Önceki yazımda sayfa tablosu girdilerini tablo üzerinde anlatmıştım, bu girdilerden birisi U/S bitiydi.


U/S biti 0 ise o sayfa sistem sayfasıdır. U/S 1 ise o sayfa kullanıcı sayfasıdır.


Segment düzeyinde koruma doğal olarak sayfa düzeyinde korumadan daha önce uygulanır ve daha ayrıntılıdır.

U/S biti 0 olan bir sayfaya uygulama programcıları erişemez. U/S biti 1 olan sayfalara ise erişim serbesttir. Ancak sayfa düzeyinde korumanın bir diğer önemli biti de R/W bitidir.


Yazma Koruması Kontrolü

☀ Sayfa düzeyinde korumanın R/W biti ile ilgili kontroldür. Eğer R/W biti 0 ise o sayfa yazma korumalıdır. R/W biti 1 ise yazılabilir bir sayfadır.




Son olarak şunu belirtelim, Sayfa düzeyinde koruma dan sistem programcısı etkilenmez.   R/W ve U/S bitinin korumaya etlkisini şu tabloyla inceleyelim.

Görüldüğü gibi sistem programı (CPL 0) sayfa düzeyinde korumadan etkilenmez.

Ancak pentium işlemcileri ile birlikte CR0 a WP biti eklenmiştir. Bu bit sistem programcısını sayfa düzeyinde kısıtlamak üzere düşünülmüştür.

Eğer WP biti 1 ise, sistem programcısı yazma korumalı bir sayfaya yazamaz. WP 0 ise sistem programcısı yine korumadan etkilenmez.

Korumalı modda bellek erişimini ve koruma mekanizmasını bitirdik.

        ¯\_(ツ)_/¯

---------------------------------

Son vuruşşş — . ϟ

☀ Bu makalede, bilgi sistemlerinin güvenliğini sağlamak ve yetkisiz erişimleri önlemek için birlikte çalıştığını anlattık.

Siber güvenlik, bilgi ve etikle güçlenir!

---------------------------------

         ¯\_(ツ)_/¯

[©] HACKİNG.COM.TR 2024

Yorumunuz..

Daha yeni Daha eski