Windows Güvenlik Korumaları

 Windows Güvenlik Korumaları

 Windows güvenlik korumaları, bir siber güvenlik araştırmacısının veya exploit geliştiricisinin karşısına çıkan en karmaşık ama aynı zamanda en öğretici engeller bütünüdür. 90’lı yılların sonu ve 2000’lerin başında, basit bir bellek taşması (buffer overflow) zafiyetiyle sistemin tüm kontrolünü ele geçirmek mümkündü. Ancak günümüzde Microsoft, işletim sistemini katmanlı bir savunma mekanizmasıyla donatarak saldırganların işini bir hayli zorlaştırdı. Bu yazıda, bir exploit geliştiricisinin mutlaka bilmesi gereken bellek seviyesindeki savunma teknolojilerini ve modern Windows güvenlik korumaları analiz yöntemlerini inceleyeceğiz.

ASLR: Modern Windows Güvenlik Korumaları İçinde Adres Rastgeleleştirme

2007 yılında Windows Vista ile hayatımıza giren Address Space Layout Randomization (ASLR), siber güvenliğin temel taşlarından biridir. ASLR, sistemdeki yürütülebilir dosyaların (EXE), dinamik kütüphanelerin (DLL), yığın (Stack) ve öbek (Heap) alanlarının bellekteki başlangıç adreslerini her yeniden başlatmada rastgele değiştirir.

Neden Bu Kadar Kritik? Bir saldırganın, sistemdeki kritik bir fonksiyona (örneğin kabuk kodu çalıştırmak için kullanılan system fonksiyonuna) zıplayabilmesi için o fonksiyonun bellekteki tam adresini bilmesi gerekir. Windows güvenlik korumaları arasında yer alan ASLR, bu adresleri tahmin edilemez hale getirerek “sabit adres” tabanlı saldırıları imkansız kılar.

DEP ve NX: Verinin İnfazı Durduruldu

Data Execution Prevention (DEP), donanım seviyesindeki NX (No-Execute) bitiyle koordineli çalışır. Bu koruma, belleğin belirli bölgelerini (özellikle veri depolanan alanları) “çalıştırılamaz” olarak işaretler.  Windows güvenlik korumaları sayesinde işlemci, “Bu bölge sadece veri yazmak içindir, kod çalıştırmak yasak!” diyerek uygulamayı anında çökertecektir. DEP’in çalışma mantığını daha iyi anlamak için Intel’in NX Bit dökümantasyonunu incelemek, donanım seviyesindeki bu korumanın gücünü görmenizi sağlar.

ROP: Modern Windows Güvenlik Korumaları Nasıl Atlatılır?

DEP’in gelişiyle birlikte saldırganlar kendi kodlarını çalıştıramaz hale geldi. Buna çözüm olarak geliştirilen teknik ise ROP (Return Oriented Programming) oldu. Saldırgan, sisteme yeni kod yüklemek yerine, halihazırda bellekte bulunan meşru kod parçalarını (gadget) kullanır. Bu “gadget”lar genellikle bir fonksiyonun sonunda yer alan RET (return) talimatıyla biter.  Windows güvenlik korumaları altında bir exploit geliştirmek, bu küçük kod parçalarını uç uca ekleyerek aslında var olmayan bir fonksiyonel akış yaratma sanatıdır.

CFG ve ACG: Akış Kontrolünün Muhafızları

Control Flow Guard (CFG), Microsoft’un dolaylı fonksiyon çağrılarını denetlemek için sunduğu bir mekanizmadır. Program derlenirken, tüm geçerli fonksiyon hedefleri bir “bitmap” tablosuna kaydedilir. Program çalışırken bir fonksiyon çağrısı yapılmadan hemen önce, hedefin bu tabloda olup olmadığı kontrol edilir.  Windows güvenlik korumaları, bir saldırganın fonksiyon işaretçisini değiştirip akışı kendi istediği bir noktaya yönlendirmesini bu sayede engeller.

Buna ek olarak, Arbitrary Code Guard (ACG), bir sürecin çalışma zamanında (runtime) yeni bir kod sayfası oluşturmasını veya mevcut bir sayfayı “çalıştırılabilir” olarak değiştirmesini engeller. Bu, JIT (Just-In-Time) derleyicileri kullanan tarayıcılar gibi yazılımlar için aşılması çok zor bir  Windows güvenlik koruması katmanıdır.

VBS ve HVCI: Donanım Tabanlı İzolasyon

Modern Windows 11 güvenliğinin kalbinde Virtualization-Based Security (VBS) yer alır. VBS, Windows çekirdeğinin (Kernel) üzerinde bir Hypervisor katmanı oluşturarak çekirdeği izole eder. HVCI (Hypervisor-Enforced Code Integrity) ise bu izolasyonu kullanarak Kernel modunda çalışacak her kodun imzasını kontrol eder. Bir saldırgan Kernel seviyesinde yetki kazansa bile, modern Windows güvenlik korumaları sayesinde kendi imzasız sürücüsünü sisteme yükleyemez.

EDR Bypass ve Syscalls Teknikleri

Günümüzde sadece işletim sistemiyle değil, aynı zamanda EDR (Endpoint Detection and Response) sistemleriyle de mücadele etmek gerekir. EDR’lar, kullanıcı modundaki kritik API’leri izlemek için kancalar (hooking) kullanır. Gelişmiş siber güvenlik araştırmacıları,  Windows güvenlik korumaları ve EDR sistemlerini atlatmak için Direct Syscalls tekniğine başvurur. Bu yöntem, ntdll.dll üzerindeki kancalara yakalanmamak için API’leri kullanmak yerine doğrudan çekirdek seviyesindeki “syscall” numaralarını kullanmayı içerir.

Siber güvenlik araştırmalarında daha ileri gitmek ve bu tekniklerin uygulama örneklerini görmek için OffSec’in blog sayfasını takip etmeniz oldukça önemlidir.

Sonuç: Modern Windows Güvenlik Korumaları ve Gelecek

 Windows güvenlik korumaları, saldırganların önüne devasa duvarlar örse de, bu durum siber güvenlik alanını daha yaratıcı ve daha teknik bir hale getiriyor. Bir exploit geliştiricisi için en önemli kural; sistemin nasıl çalıştığını, onu koruyan mekanizmalardan daha iyi bilmektir. ASLR’dan DEP’e kadar her katman, aslında bir siber güvenlik uzmanının zekasını kanıtlayabileceği birer fırsat alanıdır. Windows güvenlik korumaları sürekli evrilirken, bizim de bu değişimlere ayak uydurmamız ve her zaman etik çerçevede kalarak yeteneklerimizi geliştirmemiz gerekmektedir.

About The Author

Reply