A’dan Z’ye Keylogger Teknolojileri: Klavye Mimarisi, Zararlı Yazılım Analizi ve Gelişmiş Savunma Rehberi
1. Keylogger Nedir?
Tanımı ve Gelişim Süreci
Keylogger (Klavye İzleme Yazılımı/Donanımı), bir bilgi işlem sisteminde kullanıcının fiziksel veya sanal klavye aracılığıyla girdiği her türlü veriyi (tuş vuruşları, özel kombinasyonlar, sistem komutları, parolalar) araya girerek yakalayan, kaydeden ve bu verileri yerel bir dosya veya ağ protokolleri üzerinden üçüncü taraflara (saldırganlara veya sistem yöneticilerine) sızdıran mekanizmaların genel adıdır.
Siber güvenlik ve zararlı yazılım tarihinde keylogger mimarisi, basit döngüsel kodlardan gelişmiş asenkron kernel sürücülerine ve yapay zeka tabanlı yan kanal analizlerine kadar uzanan ciddi bir evrim geçirmiştir:
Elektromekanik Dönem (Soğuk Savaş): İlk bilinen keylogger örnekleri yazılımsal değil, donanımsaldır. 1970'lerin ortalarında Sovyetler Birliği (KGB), Moskova'daki ABD Büyükelçiliği'nde kullanılan IBM Selectric daktilolarının içine mikroskobik manyetik çubuklar yerleştirmiştir. Bu çubuklar daktilo kollarının mekanik hareketlerini ve yarattığı manyetik alanı kaydediyor, ardından radyo frekansları (RF) vasıtasıyla yakınlardaki bir dinleme istasyonuna ham veri olarak aktarıyordu.
Erken Yazılım Dönemi (MS-DOS ve Erken Windows): İşletim sistemlerinin henüz korumalı bellek mimarilerine (Paging/Segmentation) tam olarak geçmediği bu dönemde, keylogger'lar klavyeden gelen donanımsal kesmeleri (Interrupt 09h - IRQ 1) doğrudan ele geçiriyordu. Windows'un yaygınlaşmasıyla birlikte, pencereler arası mesaj trafiğini izleyen ve standart işletim sistemi kancalarını (SetWindowsHookEx) kullanan ilk kullanıcı modu (User Mode) casus yazılımları ortaya çıktı.
Modern Dönem (Ring 0 ve Gelişmiş Tehditler): Günümüzde keylogger'lar, algılanması son derece güç olan çekirdek seviyesindeki (Kernel-level) filtre sürücüleri, web tarayıcılarının içine enjekte edilen JavaScript kodları (Man-in-the-Browser) ve makine öğrenmesi algoritmalarıyla desteklenen Akustik Yan Kanal Saldırıları (ASCA) gibi ileri seviye tekniklerle çalışmaktadır.
Donanım ve Yazılım Tabanlı Farklar
Keylogger teknolojileri temelde iki ana gruba ayrılır. Bu grupların çalışma alanları, sisteme giriş yöntemleri ve tespit edilebilirlik dinamikleri tamamen farklıdır:
| Teknik Parametre | Yazılım Tabanlı Keylogger (Software-based) | Donanım Tabanlı Keylogger (Hardware-based) |
| Çalışma Alanı | İşletim Sistemi Katmanları (Ring 3 Kullanıcı Modu veya Ring 0 Çekirdek Modu) | Fiziksel Katman (USB/PS2 Veri Hatları, Anakart Devreleri, Firmware) |
| Sisteme Giriş / Kurulum | Uzaktan sızma vektörleri (Phishing e-postaları, Exploit kitleri, Truva atları, Tedarik zinciri) ile yazılımsal olarak yüklenir. | Hedef sisteme doğrudan Fiziksel Erişim (Physical Access) gerektirir. Cihazın portuna takılmalı veya donanım içine yerleştirilmelidir. |
| Yazılımsal Tespit Edilebilirlik | Antivirüs, EDR, XDR, Sysmon ve Bellek (RAM) analizi araçlarıyla (imza veya davranış tabanlı olarak) yakalanabilir. | İşletim sistemi seviyesinde tamamen görünmezdir. OS, bu cihazları meşru bir HID (Klavye) olarak gördüğü için yazılımla tespit edilemez. |
| Kalıcılık (Persistence) | İşletim sisteminin yeniden kurulması (Format), disk temizleme veya güvenlik yazılımlarının karantinaya almasıyla yok edilebilir. | İşletim sisteminden ve diskten tamamen bağımsızdır. Format atılsa dahi fiziksel cihaz sökülmediği sürece kalıcılığını korur. |
| Veri Sızdırma (Exfiltration) | Yerel diskte dosya oluşturur, internet bağlantısını kullanarak (HTTP, SMTP, DNS vb.) veriyi uzak sunucuya gönderir. | Veriyi kendi dahili Flash belleğinde saklar (saldırganın cihazı fiziksel olarak geri alması gerekir) ya da üzerindeki entegre Wi-Fi/GSM modülüyle havadan iletir. |
Meşru Kullanım Alanları ve Kötüye Kullanım Örnekleri
Keylogger'lar, siber güvenlik dünyasında çift taraflı kullanılabilen (Dual-use) teknolojiler sınıfına girer. Zararlı niyetlerle üretilebilecekleri gibi, yasal ve kurumsal çerçevelerde de kendilerine yer bulurlar:
Meşru (Yasal) Kullanım Senaryoları:
Kurumsal DLP (Data Loss Prevention) ve Kullanıcı Analitiği: Şirketler, hassas verilerin (faydalanılan kaynak kodlar, müşteri verileri vb.) dışarı sızmasını önlemek adına kritik personellerin bilgisayarlarındaki klavye girdilerini izleyebilir ve anormallik analizi (UEBA) yapabilir.
Ebeveyn Kontrol Yazılımları: Reşit olmayan çocukların siber zorbalık, zararlı içerikler veya dolandırıcılık faaliyetlerinden korunması amacıyla ebeveyn izniyle kurulan takip sistemleri.
Kalite Kontrol (QA) ve Kullanıcı Deneyimi (UX) Testleri: Yazılım geliştirme süreçlerinde, kullanıcıların uygulamayı test ederken hangi adımlarda hata yaptığını veya hangi kombinasyonları kullandığını anlamak amacıyla yapılan kayıtlar.
Kötüye Kullanım (İllegal) Örnekleri:
Kimlik Bilgisi Avcılığı (Credential Harvesting): Kullanıcıların bankacılık panolarına, kurumsal e-posta sistemlerine ve sosyal medya hesaplarına giriş yaparken kullandıkları kullanıcı adı ve parolaların ele geçirilmesi.
Fikri Mülkiyet ve Ticari Sır Hırsızlığı: Rakip firmaların veya devlet destekli aktörlerin (APT), hedef kurumdaki kritik mühendislerin Ar-Ge yazışmalarını ve tasarımlarını klavye üzerinden takip etmesi.
Keylogger'ların Kritik Tehlike Seviyesi
Keylogger'ları siber güvenlik dünyasında en tehlikeli tehdit vektörlerinden biri yapan temel unsur, modern şifreleme (Encryption) mekanizmalarını tamamen etkisiz hale getirmeleridir. Bir web sitesi askeri düzeyde TLS 1.3/AES-256 ile korunuyor olsa bile, keylogger veriyi ağ katmanına inmeden, tarayıcıda şifrelenmeden hemen önce, yani verinin en ham ve savunmasız olduğu klavye giriş aşamasında (Plaintext) yakalar. Bu durum, uçtan uca şifreleme iddialarını yerel cihaz güvenliği kırıldığı anda tamamen geçersiz kılar.
2. Keylogger Çalışma Mantığı ve Klavye Mimarisi
Girdi Yakalamadan Sızdırmaya: 4 Kritik Aşama
Bir keylogger'ın operasyonel döngüsü, her biri siber güvenlik analistleri için ayrı birer tespit noktası olan 4 temel aşamadan oluşur:
Yakalama (Capture): Kullanıcı bir tuşa bastığı anda tetiklenen elektriksel veya yazılımsal sinyalin, işletim sisteminin normal akışına müdahale edilerek (kancalama veya dinleme yoluyla) kopyalanması.
İşleme ve Eşleme (Processing & Mapping): Klavyeden gelen ham donanım kodlarının (Scan Codes) anlamlı ASCII veya Unicode karakterlere dönüştürülmesi. Bu aşamada gelişmiş keylogger'lar, verinin bağlamını anlamak için o an odakta olan pencerenin başlığını (Window Title - Örn: "X Bankası İnternet Şubesi - Google Chrome") da verinin başına ekler.
Yerel Depolama (Storage): Yakalanan verilerin sızdırılmadan önce güvenli bir şekilde tutulması. Gelişmiş zararlılar tespit edilmemek için bu verileri diske açık metin olarak yazmaz; bellek tamponunda (RAM Buffer) tutar veya disk üzerinde gizli, sistem dosyası süsü verilmiş şifreli (AES, XOR) dosyalar içinde saklar.
Sızdırma (Exfiltration): Toplanan hassas verilerin saldırganın kontrolündeki Komuta Kontrol (C2) sunucusuna aktarılması. Burada ağ filtrelerine yakalanmamak için HTTP/S POST istekleri, şifreli SMTP (e-posta) paketleri, FTP transferleri veya ağ tespit mekanizmalarını tamamen atlatan DNS Tunneling (Veriyi DNS sorgularının içine gömme) yöntemleri tercih edilir.
İşletim Sistemi Seviyesinde Girdi Yönetimi
Bir kullanıcının klavyedeki bir tuşa basması ile o karakterin ekranda görünmesi arasında işletim sisteminin derinliklerinde karmaşık bir mimari işler:
Kullanıcı tuşa bastığında klavye içindeki mikrodenetleyici bir Scan Code (Tarama Kodu) üretir.
Bu kod, anakart üzerindeki denetleyiciye iletilir ve işlemciye donanımsal bir kesme sinyali (IRQ 1) gönderilir.
İşlemci o andaki işini durdurur ve Kernel (Çekirdek) modunda çalışan klavye port sürücüsünü (i8042prt.sys) ve klavye sınıf sürücüsünü (kbdclass.sys) çağırır.
Sürücüler donanım kodunu işletim sisteminin anlayacağı Virtual Key Code (Sanal Tuş Kodu) değerine çevirir.
Çekirdek (ntoskrnl.exe), bu veriyi Windows Grafik ve Alt Sistem Sürücüsüne (win32k.sys) iletir.
win32k.sys, bu girdiyi sistemin genel mesaj kuyruğuna (System Message Queue) ekler ve o esnada odakta (Focus) olan aktif kullanıcı penceresinin iş parçacığı mesaj kuyruğuna (Thread Message Queue) WM_KEYDOWN veya WM_SYSKEYDOWN mesajı olarak postalar.
Hedef uygulama kendi döngüsü (GetMessage / DispatchMessage) ile bu mesajı alır ve ekrana karakteri basar.
Saldırganların Veri Toplama Noktaları
Saldırgan bakış açısıyla, yukarıdaki zincirin her halkası bir veri sızıntısı kaynağıdır:
Donanım Hattı (Hardware Line): Sürücüye gelmeden önce USB veya PS/2 kablosu üzerinden sinyaller kopyalanır.
Sürücü Seviyesi (Kernel Mode): kbdclass.sys sürücüsünün I/O talep paketlerine (IRP) filtre sürücüleri yerleştirilerek veri daha işletim sistemine yayılmadan en ham haliyle çekilir.
Alt Sistem ve Mesaj Kuyruğu (Win32k Hooks): Mesaj kuyruğuna düşen pencereler arası trafiğe Windows'un resmi API'leri vasıtasıyla kanca takılır.
Uygulama Katmanı (User Mode Bellek Alanı): Doğrudan hedef uygulamanın (Örn: Bir bankacılık uygulaması veya web tarayıcı) bellek alanına sızılarak ilgili fonksiyonlar manipüle edilir.
Giriş Sistemlerinin Korunma Mekanizmaları
Modern işletim sistemleri, keylogger'ların bu mesaj kuyruklarını serbestçe yağmalamasını engellemek için UIPI (User Interface Privilege Isolation - Kullanıcı Arayüzü Yetki İzolasyonu) altyapısını kullanır.
UIPI mimarisine göre, sistemdeki her sürecin (Process) bir Bütünlük Seviyesi (Integrity Level) vardır (Low, Medium, High, System). Standart bir kullanıcı modunda (Medium) çalışan veya korumalı alanda (Low) çalışan bir uygulama (Örn: Web tarayıcısı), yönetici haklarıyla (High) çalışan bir uygulamanın mesaj kuyruğuna erişemez, ona SendMessage ile sahte mesaj gönderemez veya SetWindowsHookEx kullanarak onun klavye girdilerini küresel olarak dinleyemez. Bu, düşük yetkili bir zararlının tüm sisteme hakim olmasını engelleyen kritik bir bariyerdir.
3. Windows Üzerinde Keylogger Kavramları
Kullanıcı Modu (Ring 3) ve Kernel Modu (Ring 0) Farkı
Windows işletim sistemi, x86/x64 işlemci mimarilerinin sağladığı donanımsal koruma halkalarını (Privilege Rings) temel alır:
User Mode (Ring 3): Kullanıcı uygulamalarının, web tarayıcılarının ve standart servislerin çalıştığı, doğrudan donanım veya ham bellek erişimi olmayan sınırlandırılmış alandır. Bu alandaki bir keylogger tamamen Windows API fonksiyonlarına bağımlıdır. Güvenlik yazılımları (Antivirüs/EDR) bu halkayı sıkı bir şekilde denetleyebildiği için Ring 3 seviyesindeki keylogger'ların tespiti görece daha kolaydır.
Kernel Mode (Ring 0): İşletim sisteminin kalbinin (ntoskrnl.exe), çekirdek bileşenlerinin ve donanım sürücülerinin çalıştığı, belleğe ve donanıma sınırsız, doğrudan erişim yetkisi olan en üst halkadır. Bu alanda çalışan bir keylogger (genellikle bir Rootkit bileşeni), işletim sisteminin veri yapılarını manipüle edebilir, kendini işlem listelerinden silebilir ve Ring 3'teki antivirüs programlarını tamamen kör edebilir.
Kritik Windows API Fonksiyonları ve Saldırgan Yaklaşımı
Saldırganlar kullanıcı modunda klavye verilerine ulaşmak için meşru Windows geliştirme kütüphanelerini kötüye kullanırlar. En yaygın kullanılan üç temel API ve çalışma mantıkları şunlardır:
1. SetWindowsHookEx
Bu fonksiyon, Windows'un mesaj izleme mekanizmasının temelini oluşturur. Geliştiricilerin sistem genelindeki olayları (fare hareketleri, klavye basımları vb.) izlemesi için tasarlanmıştır.
Saldırgan Kullanımı: Saldırgan fonksiyona WH_KEYBOARD veya WH_KEYBOARD_LL (Low-Level Keyboard Hook) parametrelerini geçirir. WH_KEYBOARD_LL kullanıldığında, işletim sistemi klavye mesajını hedef pencereye göndermeden hemen önce, saldırganın tanımladığı bir geri çağırım fonksiyonuna (Callback Function) yönlendirir. Eğer kanca küresel (Global) olarak takılacaksa, izleme kodunu barındıran bir DLL dosyasının hedef süreçlerin bellek alanına enjekte edilmesi (DLL Injection) gerekir.
2. GetAsyncKeyState ve GetKeyState
Bu fonksiyonlar, bir tuşun o anki fiziksel durumunu (basılı olup olmadığını veya en son çağrıdan beri basılıp basılmadığını) asenkron olarak sorgulamaya yarar.
Saldırgan Kullanımı: Bu yöntem mesaj kuyruklarına veya kancalara ihtiyaç duymaz. Saldırgan yazılım arka planda sonsuz bir döngü (While(true)) veya zamanlayıcı (Timer) başlatır. Bu döngü içerisinde 0'dan 255'e kadar olan tüm Sanal Tuş Kodlarını (Virtual Key Codes) sırayla ve milisaniyelik periyotlarla GetAsyncKeyState fonksiyonuna göndererek sorgular (Polling Yöntemi). Hangi tuş için geriye "basılı" (aktif) değeri dönerse, o tuş log dosyasına kaydedilir. Sürekli döngü çalıştığı için işlemciyi (CPU) gözle görülür şekilde yorar, bu da analistler için bir anomali ipucudur.
3. GetRawInputData
Windows XP ile birlikte gelen İnsan Arayüz Cihazları (HID) mimarisinin bir parçasıdır. Uygulamaların, standart Windows mesajlaşma sisteminin getirdiği ek yüklerden kurtularak doğrudan cihazdan gelen ham verileri okumasını sağlar (Özellikle yüksek performanslı oyunlar ve barkod okuyucular için tasarlanmıştır).
Saldırgan Kullanımı: Saldırgan yazılım, kendisini işletim sistemine ham klavye verilerini almak isteyen bir alıcı olarak kaydeder (RegisterRawInputDevices). Bu yöntem kullanıldığında, uygulama arka planda (Background/Gizli) olsa ve odakta bulunmasa dahi, sisteme bağlı olan fiziksel klavyeden basılan her tuşun ham verisi doğrudan saldırgana akar. UIPI korumalarını bypass etmekte oldukça etkilidir.
Antivirüs ve EDR Sistemlerinin Tespit Mantığı
Güvenlik yazılımları, bu API fonksiyonlarının sadece çağrılıp çağrılmadığına bakmaz; çağrıyı yapan kodun davranış ağacını (Behavioral Tree) inceler. Eğer dijital olarak imzalanmamış, sistemin güvenilmeyen bir dizininden (C:\Users\...\AppData\Local\Temp) çalışan bir dosya global bir WH_KEYBOARD_LL kancası atmaya çalışırsa veya kısa sürede binlerce kez GetAsyncKeyState çağrısı gerçekleştirirse, EDR (Endpoint Detection and Response) sistemleri bunu Sezgisel (Heuristic) ve Davranışsal Analiz motorları vasıtasıyla doğrudan zararlı aktivite olarak değerlendirir ve işlemi durdurur.
4. Keylogger Türleri ve İleri Seviye Tehdit Metotları
1. Yazılım Tabanlı Keyloggerlar (User-Mode)
Çalışma Prensibi: Yukarıda belirtilen SetWindowsHookEx, GetAsyncKeyState veya GetRawInputData API yapılarını kullanarak Ring 3 (Kullanıcı Modu) seviyesinde çalışırlar. Genellikle bir yürütülebilir dosya (.exe) veya sistem başlangıcına yerleşen bir DLL formundadırlar.
Avantajları: Geliştirme maliyetleri çok düşüktür, yüksek seviyeli dillerle (Python, C#, Go) bile birkaç satırda yazılabilirler. Hedef sisteme sızdırılmaları kolaydır.
Dezavantajları: Güvenlik yazılımlarının en çok radarında olan gruptur. Bellek taramalarında imzaları kolayca yakalanır ve API çağrıları User-mode EDR kancaları tarafından engellenebilir.
Tespit Yöntemleri: Process Explorer ile bellek kancalarının denetlenmesi, EDR API loglarının takibi, imza tabanlı statik taramalar.
2. Donanım Tabanlı Keyloggerlar
Çalışma Prensibi: Klavye kablosu ile bilgisayar kasası üzerindeki fiziksel port (USB veya eski PS/2) arasına yerleştirilen küçük, donanımsal köprü cihazlarıdır. İçlerinde bağımsız bir mikroişlemci ve depolama birimi barındırırlar. Tuştan çıkan elektrik sinyalini anakarta ulaşmadan önce donanımsal olarak yakalarlar.
Avantajları: İşletim sisteminde ve bilgisayarın RAM belleğinde sıfır iz (Zero Footprint) bırakırlar. Sisteme hiçbir yazılım yüklenmediği için dünyadaki hiçbir antivirüs, EDR veya kernel tarayıcısı bu cihazı siber tehdit olarak algılayamaz.
Dezavantajları: Saldırganın hedef bilgisayara fiziksel olarak dokunmasını gerektirir. Sıkı korunan veri merkezlerine veya kurumsal binalara fiziksel sızma yapılması zorunluluğu operasyonel riskini artırır.
Tespit Yöntemleri: Periyodik fiziksel donanım muayeneleri, kurumsal sistemlerde USB portlarının kısıtlanması, kayıtlı HID cihazlarının VID/PID (Üretici ve Ürün Kimlikleri) beyaz liste (Whitelisting) kontrolü ile engellenmesi.
3. Çekirdek (Kernel) Seviyesinde Çalışan Keyloggerlar
Çalışma Prensibi: Ring 0 katmanında bir Windows sürücüsü (.sys) olarak çalışırlar. Doğrudan kbdclass.sys (Klavye Sınıf Sürücüsü) nesne zincirine sızarak kendilerini bir Üst Filtre Sürücüsü (Upper Filter Driver) veya Alt Filtre Sürücüsü (Lower Filter Driver) olarak kaydederler. Donanımdan gelen ham I/O talep paketleri (IRP - I/O Request Packets) daha kullanıcı moduna ulaşmadan bu sürücü tarafından kopyalanır.
Avantajları: Kullanıcı modunda (Ring 3) çalışan tüm antivirüs ve koruma mekanizmalarını tamamen bypass ederler. İşletim sisteminin standart izleme araçlarında görünmezler.
Dezavantajları: 64-bit modern Windows mimarilerinde DSE (Driver Signature Enforcement - Sürücü İmzası Zorunluluğu) engeli vardır. Microsoft tarafından doğrulanmış bir dijital sertifikaya sahip olmayan sürücüler kernel tarafından yüklenmez. Saldırganlar bu engeli aşmak için ya yasal sertifikaları çalarlar ya da BYOVD (Bring Your Own Vulnerable Driver) taktiğini kullanarak sistemde bilinen açıkları olan meşru bir sürücüyü yükleyip, onun açığı üzerinden kernel belleğine sızarlar.
Tespit Yöntemleri: Bellek bütünlüğü (Hypervisor-Protected Code Integrity - HVCI) kontrolleri, Volatility veya benzeri gelişmiş adli analiz araçlarıyla IRP fonksiyon tablolarındaki sapmaların (IRP Hooking) incelenmesi.
4. Tarayıcı Tabanlı Giriş Takipleri (Man-in-the-Browser)
Çalışma Prensibi: Doğrudan tarayıcı eklentileri (Extensions) vasıtasıyla veya web sitelerine sızdırılan zararlı JavaScript kodları (Formjacking/Magecart saldırıları) ile çalışırlar. Sayfanın Belge Nesne Modelindeki (DOM) form alanlarını (input type="password") ve klavye olaylarını (addEventListener("keydown")) izlerler.
Avantajları: İşletim sisteminin korumalarını tamamen anlamsız kılarlar. En kritik özellikleri ise Sanal Klavyeleri (Virtual Keyboards) tamamen bypass edebilmeleridir. Kullanıcı ekrandaki sanal klavyeye fare ile tıklasa bile, tıklanan karakter sonuç olarak tarayıcıdaki form alanına HTML metni olarak yazıldığı için, tarayıcı seviyesindeki keylogger bu veriyi doğrudan çeker.
Dezavantajları: Sadece tarayıcı içinde dönen aktiviteleri çalabilirler; sistem genelindeki diğer uygulamalara, SSH terminallerine veya masaüstü yazılımlarına erişemezler.
Tespit Yöntemleri: Web sitelerinde sıkı CSP (Content Security Policy) kurallarının uygulanması, tarayıcı eklentilerinin kurumsal politikalarla sınırlandırılması, alt yapı kod bütünlüğü taramaları.
5. Mobil Cihazlardaki Keylogger Tehditleri (Android ve iOS)
Çalışma Prensibi: Mobil işletim sistemleri katı bir Korumalı Alan (Sandboxing) mimarisine sahiptir; hiçbir uygulama normal şartlarda diğer uygulamanın bellek alanına veya girdilerine erişemez. Saldırganlar bu bariyeri aşmak için iki ana yönteme başvurur:
Erişilebilirlik Servislerinin Kötüye Kullanımı (Accessibility Services): Engelli kullanıcılar için ekrandaki metinleri okumak üzere tasarlanmış bu servis yasal izinlerle siber korsanlar tarafından ele geçirilir. Zararlı yazılım ekranda değişen her nesneyi ve yazılan her şeyi "okuma" yetkisine sahip olur.
Zararlı Klavye Uygulamaları (Malicious Keyboards): Kullanıcıya sosyal mühendislik yoluyla çekici, temalı veya emojili sahte bir klavye uygulaması yükletilir. Kullanıcı bu klavyeyi varsayılan girdi yöntemi yaptığında, yazdığı her şey doğrudan saldırganın sunucusuna gider.
Avantajları: Mobil bankacılık şifrelerini, anlık mesajlaşma uygulamalarındaki (WhatsApp, Signal vb.) tüm yazışmaları ve SMS ile gelen 2FA (İki Faktörlü Doğrulama) kodlarını anında yakalayabilirler.
Dezavantajları: Kullanıcının işletim sistemi uyarılarına rağmen tehlikeli izinleri manuel olarak onaylamasını gerektirir.
Tespit Yöntemleri: MDM (Mobile Device Management) yazılımlarıyla riskli izin matrislerinin taranması, Google Play Protect davranış analizleri.
Gelişmiş Tehditlerde Kullanılan Sıra Dışı Yöntemler: Akustik Yan Kanal Saldırıları (ASCA)
Modern siber istihbarat ve gelişmiş kalıcı tehdit (APT) dünyasında, hedef bilgisayara hiçbir fiziksel donanım veya yazılımsal kod yüklenmeden klavye girdileri ele geçirilebilir. Akustik Yan Kanal Saldırıları (Acoustic Side-Channel Attacks - ASCA) adı verilen bu yöntemde, hedef kişinin odasında bulunan bir mikrofon (akıllı telefon, akıllı TV, IoT cihazı veya uzaktan lazer mikrofonlar ile cam titreşimleri) vasıtasıyla tuş sesleri kaydedilir.
Klavyedeki her tuşun iç mekanik yapısı, anakart üzerindeki konumu ve parmağın vuruş açısı nedeniyle çıkardığı ses (akustik dalga boyu ve frekansı) mikroskobik düzeyde benzersizdir. Toplanan ses kayıtları, önceden eğitilmiş Derin Öğrenme (Deep Learning) ve Doğal Dil İşleme (NLP) modellerine beslenir. Yapay zeka, ses dalgalarını analiz ederek hangi tuşa basıldığını %95'in üzerinde bir doğruluk oranıyla çözümler ve yazılan metni ortaya çıkarır.
5. Zararlı Yazılım (Malware) Perspektifi
Keylogger'ların Zararlı Yazılım Aileleri İçindeki Konumu
Günümüz siber tehdit ekosisteminde, tek başına çalışan bağımsız keylogger yazılımlarına neredeyse hiç rastlanmaz. Keylogger fonksiyonu, modüler yapıya sahip gelişmiş zararlı yazılım platformlarının entegre birer bileşeni haline gelmiştir:
Trojan (Truva Atı): Keylogger'ın hedef sisteme meşru bir PDF belgesi, bir crack yazılımı veya fatura süsü verilerek sızdırılmasını sağlayan öncü dağıtım mekanizmasıdır.
Spyware (Casus Yazılım): Sistemde uzun süreli kalıcılık sağlayan, kullanıcının kamerasını açma, ortam sesini dinleme ve klavyeyi takip etme gibi kapsamlı gözetleme faaliyetlerini yürüten üst kategoridir (Örn: Pegasus, FinFisher).
Infostealer (Bilgi Hırsızları): Günümüzün en popüler siber tehdit modelidir. Sisteme sızdığı anda tarayıcılarda kayıtlı olan tüm şifreleri, kripto para cüzdanlarını, web oturum çerezlerini (Session Cookies) ve sistem profilini saniyeler içinde çalıp tek bir paket halinde dışarı aktarır. Bu yazılımlar (Örn: RedLine, Agent Tesla, Lumma Stealer), kullanıcının o an aktif olarak girdiği yeni şifreleri de kaçırmamak için arka planda sürekli çalışan entegre birer keylogger modülü barındırırlar.
Veri Hırsızlığı Zinciri (Data Exfiltration Chain)
Zararlı yazılım perspektifinden bakıldığında süreç sadece tuşu yakalamakla bitmez. Çalınan verinin anlamlandırılması ve sızdırılması operasyonun başarısını belirler:
Yapılandırma: Yakalanan tuş vuruşları ham halleriyle (0x10, 0x41 vb.) değil, kullanıcının okuyabileceği formatta düzenlenir. Yazılım, GetWindowText API'si ile aktif pencerenin adını alır. Log dosyasına şu şekilde işler: [Zaman: 12:04] [Pencere: ProtonMail - Giriş] - Şifrem: 123456_Aa!
Şifreleme: Güvenlik duvarlarının (Firewall) veri içeriğini denetlemesini engellemek için yerel log dosyası RCA, AES veya özel XOR algoritmalarıyla şifrelenir.
Ağ Sızdırması (Exfiltration): Veri dışarı aktarılırken geleneksel portlar (Örn: SMTP Port 25) yerine, kurumsal ağlarda her zaman izin verilen meşru kanallar taklit edilir. Günümüzde infostealer'lar verileri sızdırmak için popüler mesajlaşma uygulamalarının meşru altyapılarını kullanır (Telegram Bot API veya Discord Webhooks üzerinden şifreli HTTPS paketleri göndermek gibi).
Modern Saldırılarda Keylogger'ların Neden Tek Başına Yetersiz Kaldığı
Siber savunma dünyasındaki gelişmeler, keylogger'ların tek başına efektif bir silah olma özelliğini kırmıştır:
MFA / 2FA Engeli: Bir keylogger kullanıcının statik parolasını (Örn: Sifre123!) kusursuz şekilde çalsa bile, saldırgan hesaba girmeye çalıştığında sistem zamana bağlı tek kullanımlık bir kod (TOTP / SMS) isteyecektir. Keylogger bu kodu yakalayana kadar kodun yasal süresi (30 saniye) dolacağı için statik şifre tek başına işe yaramaz hale gelir.
Çözüm Ortaklığı: Bu nedenle modern zararlılar keylogger'ı tek başına kullanmaz. Bunun yerine kullanıcının bilgisayarındaki aktif web oturum çerezlerini (Session Cookies) çalarlar. Saldırgan bu çerezleri kendi tarayıcısına ithal ederek, şifre ve MFA aşamalarını tamamen atlayıp doğrudan kullanıcının açık olan oturumunun içine sızar (Session Hijacking).
6. Tespit ve Adli Analiz Yaklaşımı (Digital Forensics)
Bir siber güvenlik uzmanı veya olay müdahale (Incident Response) mühendisi, bir uç noktada (Endpoint) anahtar izleme faaliyeti olduğundan şüphelenirse, rastgele arama yapmak yerine katı bir adli analiz metodolojisi izler.
1. Görev Yöneticisi (Process) ve Hiyerarşi Analizi
Saldırganlar süreç listesinde dikkat çekmemek için Masquerading (Maskeleme) tekniğini kullanırlar. Zararlı dosyaya svchost.exe, lsass.exe veya explorer.exe gibi Windows'un hayati süreçlerinin isimlerini verirler.
Uzman Yaklaşımı: Sürecin sadece ismine değil, Ebeveyn-Çocuk İlişkisine (Parent-Child Relationship) ve disk üzerindeki çalıştırma dizinine bakılır. Meşru bir svchost.exe süreci her zaman C:\Windows\System32 dizininden çalışmalı ve ebeveyni her zaman services.exe olmalıdır. Eğer kullanıcı profil dizininden (C:\Users\...\AppData) çalışan ve ebeveyni bir web tarayıcısı olan bir svchost.exe varsa, bu kesin bir Process Injection veya taklit saldırısıdır.
2. Başlangıç (Persistence) Noktalarının Denetimi
Keylogger'ların sistem kapatılıp açıldığında canlı kalabilmek için sistem başlangıcına kanca atmaları gerekir. Adli analist şu mekanizmaları tarar:
Kayıt Defteri Anahtarları (Registry Run Keys):
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run (Sistem geneli)
HKCU\Software\Microsoft\Windows\CurrentVersion\Run (Mevcut kullanıcı özelinde)
Zamanlanmış Görevler (Task Scheduler): schtasks komutuyla oluşturulmuş, arka planda belirli aralıklarla tetiklenen gizli görevler.
WIM / WMI Event Consumers: Kod çalıştırmak için Windows Yönetim Altyapısını kötüye kullanan ileri seviye kalıcılık yöntemleri.
3. Servis (Service) Analizi
Yazılımın arka planda bir Windows Servisi olarak gizlenip gizlenmediği kontrol edilir. Servisin başlangıç tipi (Automatic), imza durumu ve arkasında çalışan gerçek binary (.exe/.dll) dosyası sc query veya gelişmiş araçlarla incelenir.
4. Dosya Sistemi ve Davranış İncelemesi
Keylogger'lar yakaladıkları verileri anlık olarak diske yazıyorsa yüksek disk I/O (Giriş/Çıkış) hareketliliği yaratırlar. Process Monitor (Procmon) aracı kullanılarak, sistemdeki hangi sürecin gizli klasörlerde sürekli dosya oluşturduğu (CreateFile), dosyaya veri yazdığı (WriteFile) veya geçici internet dizinlerini manipüle ettiği anlık olarak filtrelenir.
5. Ağ Trafiği İzleme (Network Beacons)
Gelişmiş keylogger'lar sistemde tamamen sessiz kalabilir ancak çalınan veriyi dışarı aktarırken ağ üzerinde mutlak bir iz bırakmak zorundadırlar. Analist, ağ trafiğinde belirli aralıklarla (Örn: 5 dakikada bir) dışarıdaki bir IP adresine gönderilen küçük, şifreli veri paketlerini (Beaconing) arar. Alışılmadık dış portlara yapılan bağlantılar ve bilinmeyen alan adlarına yönelik ani DNS sorguları incelenir.
6. Sandbox ve Bellek (RAM) Analizi
Şüpheli dosya izole bir Sandbox (Kum Havuzu) ortamında yürütülerek ürettiği tüm sistem logları (Mutex oluşturma, kayıt defteri değiştirme vb.) gözlemlenir. Canlı sistemden alınan RAM dökümü (Memory Dump), Volatility gibi adli analiz araçlarıyla taranarak bellek alanında gizlenmiş kodlar ve aktif API kancaları (Hook listeleri) açığa çıkarılır.
7. Kullanılan Güvenlik Araçları ve Uzman Yaklaşımı
Siber güvenlik uzmanları, sistem analizi yaparken işletim sisteminin standart araçlarına güvenmezler. Sektör standardı haline gelmiş gelişmiş araçlar ve analistlerin bu araçları kullanırken uyguladığı mantık şu şekildedir:
Process Explorer (Sysinternals Suite)
Ne İşe Yarar: Standart Görev Yöneticisi'nin çok daha gelişmiş versiyonudur. Süreçlerin hiyerarşik ağacını, kullandıkları CPU/Bellek oranlarını, yükledikleri DLL dosyalarını ve tuttukları nesne tanıtıcılarını (Handles) gösterir.
Ne Zaman Kullanılır: Sistemde şüpheli bir yavaşlama, bilinmeyen bir arka plan süreci veya bilinen bir sürece (Örn: explorer.exe) kod enjekte edildiğinden şüphelenildiğinde ilk başvurulan araçtır.
Uzman Yaklaşımı: Analist, şüpheli sürecin üzerine tıklayarak alt panelden (Lower Pane View) sürecin hafızasına yüklediği DLL'leri inceler. Eğer meşru bir Windows süreci, imzasız ve ismi anlamsız rastgele karakterlerden oluşan (Örn: asdfg123.dll) bir kütüphane yüklediyse, bu DLL'in bir keylogger kancası barındırma ihtimali üzerine yoğunlaşır. Sürecin dijital imzasını (Verify butonu ile) kontrol eder.
Autoruns (Sysinternals Suite)
Ne İşe Yarar: Windows'un önyükleme (Boot) ve oturum açma esnasında çalıştırdığı istisnasız tüm bileşenleri (Sürücüler, servisler, başlangıç klasörleri, tarayıcı eklentileri, şifre sağlayıcıları) listeleyen en kapsamlı kalıcılık analiz aracıdır.
Ne Zaman Kullanılır: Sisteme bulaşan zararlının kendini kalıcı hale getirdiği noktayı (Persistence Mechanism) bulup sistemden tamamen temizlemek istendiğinde kullanılır.
Uzman Yaklaşımı: Analist, araçtaki "Options" menüsünden "Hide Microsoft Entries" ve "Verify Code Signatures" seçeneklerini aktif hale getirir. Böylece meşru Windows dosyaları gizlenir ve geriye sadece üçüncü taraf, imzasız veya sahte imzalı şifreli girdiler kalır. Bu sayede başlangıç noktasına gizlenmiş bir keylogger tetikleyicisi saniyeler içinde tespit edilir.
Wireshark
Ne İşe Yarar: Bilgisayarın ağ kartından geçen tüm ham veri paketlerini (Inbound/Outbound) yakalayan ve protokol seviyesinde deşifre eden bir ağ analiz aracıdır.
Ne Zaman Kullanılır: Keylogger'ın çalınan verileri dışarıdaki Komuta Kontrol (C2) merkezine gönderdiğinden şüphelenildiğinde ağ trafiğini dinlemek amacıyla kullanılır.
Uzman Yaklaşımı: Analist, http.request.method == "POST" veya tcp.flags.syn == 1 gibi filtreler uygulayarak sistemden dışarıya başlatılan anormal bağlantıları izler. Eğer arka planda çalışan ve internetle işi olmaması gereken bir süreç (Örn: notepad.exe taklidi bir zararlı), dışarıdaki bir IP adresine şifreli TLS paketleri gönderiyorsa, analist bu trafiğin zaman aralıklarını çıkararak C2 iletişimini doğrular.
Sysmon (System Monitor)
Ne İşe Yarar: Arka planda bir Windows servisi ve aygıt sürücüsü olarak çalışan, sistemdeki tüm süreç oluşturma, ağ bağlantıları, dosya yaratma ve kayıt defteri değişikliklerini çok detaylı bir şekilde Windows Olay Günlüklerine (Event Logs) kaydeden bir izleme aracıdır.
Ne Zaman Kullanılır: Bir saldırının geriye dönük adli analizini yapmak ve sistemde gerçekleşen anlık aktiviteleri merkezi bir SIEM sistemine aktarmak için kurumsal ortamlarda her zaman aktif tutulur.
Uzman Yaklaşımı: Analist, Sysmon logları arasında özellikle Event ID 7 (Image Loaded - DLL Yükleme) olaylarını filtreler. Eğer bir süreç küresel klavye dinlemesi yapacaksa sisteme bir DLL enjekte etmek zorundadır. Sysmon loglarında hangi uygulamanın hangi DLL'i belleğe aldığının tam disk patikası ve MD5/SHA256 hash bilgisi yer alır. Analist bu hash değerini VirusTotal gibi istihbarat servislerinde sorgulayarak zararlıyı teşhis eder.
Windows Event Viewer (Olay Görüntüleyici)
Ne İşe Yarar: İşletim sisteminin ve uygulamaların ürettiği tüm sistem, güvenlik ve uygulama günlüklerini (Log) hiyerarşik bir yapıda sunan yerleşik Windows aracıdır.
Ne Zaman Kullanılır: Sistem güvenliği ihlallerini, başarısız oturum açma denemelerini veya Sysmon gibi araçların ürettiği logları ham olarak incelemek için kullanılır.
Uzman Yaklaşımı: Güvenlik uzmanı, Security logları altında Event ID 4688 (A new process has been created) günlüklerini inceleyerek şüpheli süreçlerin hangi komut satırı parametreleriyle (Arguments) başlatıldığını analiz eder. Keylogger'ların gizli modda (Örn: malware.exe --silent --log) çalıştırılıp çalıştırılmadığı bu parametrelerden anlaşılır.
8. Bireysel ve Kurumsal Savunma Yöntemleri (Defensive Strategies)
Keylogger tehditlerine karşı bütünsel bir savunma hattı inşa etmek, hem son kullanıcılar hem de kurumsal bilgi güvenliği mimarları için hayati önem taşır.
1. Güncel İşletim Sistemi ve Yama Yönetimi (Patch Management)
Kernel seviyesindeki keylogger'ların (Rootkit) sisteme sızmak için kullandığı en büyük koz, işletim sistemindeki zero-day veya bilinen mantıksal zafiyetlerdir. Sistemlerin düzenli olarak güncellenmesi, BYOVD (Bring Your Own Vulnerable Driver) gibi gelişmiş saldırıların kullandığı eski meşru ama açığı bulunan sürücülerin Windows tarafından engellenmesini (Driver Blocklist) sağlar.
2. Yeni Nesil EDR (Endpoint Detection and Response) Çözümleri
Geleneksel antivirüs yazılımları sadece bilinen zararlıların dosya imzalarına (MD5/SHA256) odaklanır. Ancak saldırganlar her hedef için kodu yeniden derleyerek (Polymorphism) imzayı değiştirebilirler. Kurumsal savunmada, imzalardan bağımsız olarak sürecin bellek içi hareketlerini, API hooking teşebbüslerini ve anormallikleri gerçek zamanlı izleyen makine öğrenmesi destekli EDR çözümleri zorunludur.
3. En Düşük Yetki Prensibi (Principle of Least Privilege)
Kurumsal ortamlarda kullanıcıların bilgisayarlarında varsayılan olarak Yerel Yönetici (Local Administrator) yetkilerine sahip olması siber felaketlere davetiye çıkarır. Standart kullanıcı yetkileriyle çalışan bir hesapta tetiklenen bir keylogger:
Kernel moduna aygıt sürücüsü yükleyemez (DSE engeli).
UIPI (User Interface Privilege Isolation) engeline takılacağı için, yönetici haklarıyla çalışan kritik kurumsal uygulamaların klavye girdilerini global kancalarla dinleyemez.
4. Şifre Yöneticileri (Password Managers) ve Güvenli Otomatik Doldurma
Keylogger'ların birincil avı, kullanıcının klavyedeki tuşlara tek tek basarak yazdığı parolalardır. Kurumsal olarak onaylanmış şifre yöneticileri (Örn: Bitwarden, 1Password) kullanıldığında, giriş bilgileri klavyeden yazılmaz. Şifre yöneticisi, tarayıcı API'leri vasıtasıyla veriyi doğrudan ilgili HTML form alanına Otomatik Doldurma (Autofill) yoluyla enjekte eder. Bu süreçte hiçbir klavye mesajı (WM_KEYDOWN) tetiklenmediği için Ring 3 seviyesindeki standart keylogger'lar tamamen işlevsiz kalır.
5. Çok Faktörlü Doğrulama (MFA) Zorunluluğu
Savunma derinliği (Defense-in-Depth) konseptinin en kritik halkası MFA'dır. Kullanıcının şifresi bir keylogger tarafından sızdırılmış olsa dahi, hesaplar FIDO2 / WebAuthn standardına sahip donanımsal güvenlik anahtarları (YubiKey vb.) veya zamana bağlı dinamik kod üreten mobil uygulamalarla korunduğu sürece, saldırgan elindeki statik şifreyle sisteme giriş yapamaz.
9. Tersine Mühendislik Perspektifi (Malware Analysis)
Bir zararlı yazılım analisti, laboratuvara gelen şüpheli bir dosyanın (Örn: shipping_documents.exe) statik ve dinamik kod analizini yaparak içerisindeki keylogger mekanizmalarını deşifre eder.
Statik Analiz (Static Analysis)
Dosya güvenli laboratuvarda çalıştırılmadan, kaynak kod parçaları, derleme özellikleri ve binary yapısı incelenir:
Gelişmiş Strings Analizi: Strings aracı veya Cutter/Ghidra vasıtasıyla dosya içerisindeki gömülü metinler taranır. Metinler arasında SetWindowsHookExA, GetAsyncKeyState, GetRawInputData, MapVirtualKey gibi spesifik Windows API fonksiyon isimlerinin ham olarak geçmesi, dosyanın bir klavye dinleyicisi olduğunun en somut statik delilidir. Ayrıca keylog.txt, log.dat, ftp://..., veya Telegram Bot API URL'leri (api.telegram.org/bot) gibi sızdırma kanallarına ait string kalıntıları aranır.
Import Address Table (IAT) Denetimi: Zararlının işletim sisteminden ödünç aldığı fonksiyonların listelendiği tablodur. Analist, IAT tablosunda USER32.dll kütüphanesinin bulunup bulunmadığını ve bu kütüphaneden hangi klavye/pencere yönetim fonksiyonlarının çağrıldığını raporlar. Dosya paketlenmiş (Packed - UPX vb.) ise öncelikle unpacking işlemi yapılarak IAT görünür kılınır.
Dinamik ve Davranışsal Analiz (Dynamic Analysis)
Zararlı kodun canlı olarak çalıştırılarak işletim sistemindeki ayak izlerinin incelenmesi sürecidir:
Davranış İzleme: Analist, izole edilmiş analiz işletim sisteminde arka planda Procmon ve ağ trafiği için Wireshark araçlarını başlatır. Ardından zararlı yazılımı yürütür. Analist bu esnada kendi klavyesinde kasıtlı olarak anlamlı metinler (Örn: ADMIN_PASSWORD_9988) yazar. Ardından Procmon loglarında filtreleme yaparak, tam o milisaniyede diske yeni bir veri yazan veya harici bir IP'ye TCP paketi gönderen süreci tespit eder.
Hata Ayıklama (Debugging) ve Kesme Noktaları (Breakpoints): Dosya x64dbg veya OllyDbg gibi bir debugger içerisine yüklenir. Analist, statik analizde tespit ettiği şüpheli klavye API'lerinin bellek adreslerine giderek buralara Hardware Breakpoint (Donanımsal Kesme Noktası) koyar. Adım adım kod yürütülür. Kullanıcı klavyede bir tuşa bastığı anda debugger tam ilgili API çağrısının üzerinde durur. Analist, işlemci kayıtçılarındaki (Registers - EAX, EBX, RCX vb.) verileri okuyarak, basılan tuşun hangi bellek tamponuna (Buffer) kopyalandığını ve hangi şifreleme algoritmasından geçirilerek paketlendiğini canlı olarak deşifre eder.
10. Etik ve Hukuki Boyut
Keylogger teknolojilerinin geliştirilmesi, dağıtılması ve kullanılması yasal otoriteler tarafından çok sıkı kurallara bağlanmıştır. Sınırların ihlali ağır cezai yaptırımlarla sonuçlanır.
Yetkisiz İzleme ve Siber Suç Kapsamı (TCK)
Bir bireyin, personelin veya herhangi bir bilişim sistemi kullanıcısının açık rızası ve bilgisi olmaksızın, klavye girdilerinin gizlice kaydedilmesi evrensel olarak siber suç kabul edilir. Türkiye Cumhuriyeti yasal mevzuatına göre bu eylem:
Türk Ceza Kanunu (TCK) Madde 243: "Bilişim sistemine hukuka aykırı olarak girme ve orada kalma" suçunu,
TCK Madde 244: "Sistemi engelleme, bozma, verileri yok etme veya değiştirme" (verinin akışını değiştirme bağlamında) suçunu,
TCK Madde 132 ve 134: "Haberleşmenin gizliliğini ihlal" ve "Özel hayatın gizliliğini ihlal" suçlarını oluşturur ve fail hakkında doğrudan hapis cezası yaptırımı öngörülür.
Kurumsal İzleme (Employee Monitoring) ve Casus Yazılım Arasındaki Yasal Çizgi
Şirketlerin kendi mülkiyetlerindeki bilgisayarları ve ticari sırları korumak amacıyla izleme yazılımları (DLP/Keylogger bileşenleri) kullanma hakkı vardır. Ancak bu uygulamanın suç teşkil etmemesi ve Casus Yazılım (Spyware) sınıfına girmemesi için şu üç hukuki şartın eş zamanlı olarak karşılanması zorunludur:
Açık Rıza ve Bilgilendirme (Explicit Consent): Çalışana, işe giriş sözleşmesinde veya kurumsal politikalar belgesinde, bilgisayarındaki tüm aktivitelerin, klavye girdilerinin ve internet trafiğinin şirket tarafından izlendiği açıkça, yazılı olarak bildirilmeli ve imzası alınmalıdır. Gizli izleme yapılamaz.
Ölçülülük İlkesi: İzleme faaliyeti sadece iş amaçlarıyla sınırlı olmalıdır. Örneğin, personelin mola saatlerindeki kişisel bankacılık işlemleri veya özel yazışmaları keylogger ile kaydediliyor ve bu veriler amacı aşan şekilde depolanıyorsa, şirket KVKK (Kişisel Verilerin Korunması Kanunu) ve genel hukuk nezdinde ağır cezalarla karşı karşıya kalır.
Veri Güvenliği: Toplanan kurumsal loglar yetkisiz erişimlere karşı korunmalıdır. Eğer şirketin topladığı anahtar logları dışarı sızarsa, şirket veri sorumlusu olarak doğrudan suçlu duruma düşer.
11. Eğitim Amaçlı Güvenli Laboratuvar Senaryosu
Bir siber güvenlik araştırmacısının veya malware analistinin, keylogger davranışlarını incelerken kendi ana bilgisayarına (Host) veya üzerinde bulunduğu yerel ağa (LAN) zarar vermemesi için %100 izole bir laboratuvar kurması gerekir.
Adım Adım Güvenli Laboratuvar Kurulum Prosedürü
Hipervizör Kurulumu: Ana bilgisayara Tip-2 bir sanallaştırma katmanı (VMware Workstation veya VirtualBox) kurulur.
Analiz Makinesinin Hazırlanması (Guest OS): Sanal makineye temiz bir Windows imajı kurulur. Tercihen, siber güvenlik analistlerinin kullandığı tüm araçların (Sysinternals, Ghidra, x64dbg, Wireshark) önceden yapılandırılmış olarak içinde geldiği Flare-VM gibi hazır adli analiz işletim sistemi mimarileri entegre edilir.
Kritik Ağ İzolasyonu (Host-Only / Disconnected): Sanal makinenin ağ kartı ayarı (Network Adapter) kesinlikle Bridged veya NAT modunda bırakılmamalıdır. Ağ modu "Host-Only" (Sadece ana bilgisayarla sanal makine arasında izole sanal bir hat) konumuna getirilmeli veya tamamen "Disconnected" (Bağlantısız) yapılmalıdır. Eğer incelenen keylogger gelişmiş bir Infostealer ise ve ağ kartı internete açıksa, laboratuvarda basılan tüm test şifreleri gerçek internet üzerinden saldırganın canlı C2 sunucusuna sızacaktır.
Temiz Durum Yedeklemesi (Snapshot): Laboratuvar ortamı tamamen kurulup araçlar hazırlandığında, sanal makine kapatılır ve "Clean State Snapshot" (Temiz Durum Yedeği) alınır. Herhangi bir zararlı örneği çalıştırılıp analiz edildikten sonra, sanal makine tek bir tıklamayla bu temiz duruma geri döndürülür (Rollback). Bu sayede kalıcı zararlı kalıntılarının bir sonraki analizi manipüle etmesi engellenir.
12. Siber Güvenlik Öğrenme Yol Haritası
Klavye izleme sistemleri, işletim sistemi mimarileri ve defansif siber güvenlik mühendisliği konularında uzmanlaşmak isteyen bir araştırmacının takip etmesi gereken kademeli akademik plan:
Başlangıç Seviyesi
Teorik Altyapı: Bilgisayar mimarisi, CPU kayıtçıları mantığı, Windows Kayıt Defteri (Registry) hiyerarşisi, Temel Ağ Protokolleri (TCP/IP, UDP, DNS).
Yazılım/Programlama: Python veya C dilleriyle temel I/O (Giriş/Çıkış) işlemleri, dosya okuma/yazma döngüleri.
Pratik Çalışma: Python pynput veya keyboard kütüphanelerini kullanarak, sadece kendi açtığı konsol penceresindeki tuş vuruşlarını yakalayan ve diske yazan temel scriptler geliştirmek. Autoruns ve Process Explorer araçlarının arayüz fonksiyonlarını öğrenmek.
Orta Seviye
Teorik Altyapı: Windows Dahili Yapısı (Windows Internals), Kullanıcı Modu (Ring 3) bellek yönetimi, Dynamic Link Library (DLL) çalışma prensipleri, Windows Mesaj Döngüsü (WM_ mesajları).
Yazılım/Programlama: Win32 API programlama (C++ veya Go dili ile), SetWindowsHookEx, GetAsyncKeyState ve GetRawInputData fonksiyonlarını kullanarak amaca yönelik kod yapısı kurgulama.
Pratik Çalışma: Bir DLL dosyası yazarak bunu meşru bir sürecin içerisine yerleştirme (DLL Injection) pratikleri yapmak. Sysmon kurulumu gerçekleştirmek, siber saldırı simülasyonları esnasında oluşan Sysmon Event ID 7 ve Event ID 13 loglarını analiz ederek kurumsal SIEM sistemleri için SIEM korelasyon kuralları yazmak. Wireshark ile ağ trafiği paket analizi gerçekleştirmek.
İleri Seviye
Teorik Altyapı: Windows Kernel Mimari Detayları (Ring 0), Windows Driver Model (WDM), Kesme İstek Seviyeleri (IRQL), I/O Request Packets (IRP) akış şeması, Sanallaştırma Tabanlı Güvenlik (VBS) mimarisi.
Yazılım/Programlama: C dili ve Windows Driver Kit (WDK) kullanarak Kernel-mode aygıt sürücüleri geliştirme, Assembly (x64) dili okuma ve decompile süreçleri.
Pratik Çalışma: Ghidra veya IDA Pro araçlarını kullanarak gerçek dünyadan alınmış canlı infostealer/spyware örneklerinin binary kodlarını decompile etmek, anti-analysis/anti-debugging (analiz önleyici şifreli bariyerler) yapılarını kırmak. Volatility ile canlı RAM dökümleri üzerinden ham bellek adli analizi icra etmek, IRP kancalarını (irpfind vb. komutlarla) ortaya çıkarmak.
13. Unutulmaması Gereken & Mutlaka Araştırılması Gereken İleri Seviye Konular
Bu rehberin kapsamını siber güvenlik dünyasındaki en güncel trendlerle birleştirmek adına, geleceğe yönelik bağımsız olarak derinlemesine incelemeniz gereken 3 kritik Araştırma Konusu listelenmiştir:
1. Araştırma Konusu: Indirect Syscalls ve EDR Bypass Dinamikleri
Modern EDR ajanları, kullanıcı modundaki kritik API fonksiyonlarını (Örn: NtUserSetWindowsHookEx veya NtUserGetAsyncKeyState) izlemek için bu fonksiyonların RAM'deki başlangıç adreslerine kendi kancalarını yerleştirir (Inline Hooking / API Patching). Böylece keylogger bu fonksiyonu çağırdığı an önce EDR haberdar olur ve engeller.
Gelişmiş zararlı yazılımlar, EDR'ın kullanıcı modundaki bu kancalarına yakalanmamak adına, ilgili fonksiyonun NT seviyesindeki sistem çağrı numarasını (Syscall ID) doğrudan kendi kod bloğu içine yazar ve Assembly seviyesinde syscall / sysenter komutunu tetikler. Daha da ileri giderek, bellek taramalarında yakalanmamak için bu çağrıları meşru Windows DLL'lerinin içindeki sys-call adresleri üzerinden dolaylı olarak yürütürler (Indirect Syscalls). Bu mekanizmanın keylogger tespitini nasıl felç ettiği ve defans ekiplerinin buna karşı kernel modundaki ETW-Ti (Event Tracing for Windows Threat Intelligence) günlüklerini nasıl kullandığı derinlemesine araştırılmalıdır.
2. Araştırma Konusu: Sanallaştırma Tabanlı Güvenlik (VBS) ve Keystroke Isolation
Microsoft, Windows 10 ve 11 mimarilerinde güvenliği artırmak için donanımsal sanallaştırma uzantılarını (Intel VT-x / AMD-V) kullanarak işletim sisteminin içinde izole bir güvenli alan oluşturmuştur (Hypervisor-Protected Code Integrity - HVCI). Bu mimaride, en yetkili Ring 0 kernel sürücüleri bile sanallaştırılmış bir bariyerin ardında tutulur.
Windows'un yeni nesil Secure Input / Keystroke Isolation teknolojileri, klavyeden girilen hassas verilerin (Örn: Windows Hello biyometrik PIN girişleri veya Credential Guard korumalı alanları) geleneksel kbdclass.sys zincirinden tamamen izole edilerek, doğrudan güvenli hipervizör katmanına iletilmesini hedefler. Bu sayede kernel modunda çalışan bir rootkit keylogger bile veriyi yakalayamaz. Bu donanımsal izolasyon mimarisinin sınırları ve çalışma teorisi kapsamlı bir araştırma konusudur.
3. Araştırma Konusu: Donanım Tedarik Zinciri Saldırıları (Hardware Supply Chain Attacks)
Siber güvenlik ekipleri genellikle yazılımlara odaklansa da tehdit çok daha derinde, donanım üretim aşamasında başlayabilir. Tedarik Zinciri Saldırılarında, klavye fabrikadaki üretim hattındayken veya kargo aşamasındayken, klavyenin ana kontrol çipinin (Firmware) içine kötü amaçlı mikro kodlar (Malicious Firmware) enjekte edilir. Cihaz bilgisayara takıldığı an meşru bir klavye gibi davranır ancak arka planda bir BadUSB / Keystroke Injection aygıtı (Örn: Rubber Ducky mantığı) gibi çalışarak kendi kendine gizli komut satırları açabilir veya tuş vuruşlarını donanımsal bazda manipüle edebilir. Klavyelerin firmware bütünlük doğrulamaları ve donanımsal gömülü sistem güvenliği (Firmware Security) üzerine senaryolar mutlaka araştırılmalıdır.
Yorumlar
Henüz yorum yapılmamış. İlk yorumu siz yapın!