[TR] RDP Oturumları Görsel İz Bırakabilir: Bitmap Cache Nedir ve Neden Önemlidir?
A close-up on an abstract design of a display, which is warning about a cyber attack. Multiple rows of hexadecimal code are interrupted by red glowing warnings and single character exclamation marks. The image can represent a variety of threats in the digital world: data theft, data leak, security breach, intrusion, etc...

[TR] RDP Oturumları Görsel İz Bırakabilir: Bitmap Cache Nedir ve Neden Önemlidir?

Remote Desktop Protocol, yani RDP, sistem yöneticileri, destek ekipleri ve son kullanıcılar için Windows ortamlarında en sık kullanılan uzaktan erişim yöntemlerinden biridir. Bir sunucuya, sanal makineye veya uzak bir istemciye bağlanmak gerektiğinde RDP pratik, hızlı ve yerleşik bir çözüm sunar. Ancak bu kolaylığın arka planda çok fazla bilinmeyen bir tarafı vardır: RDP oturumları, bağlantı sonlandıktan sonra bile istemci bilgisayarda bazı görsel izler bırakabilir.

Bu izlerin en dikkat çekici olanlarından biri RDP Bitmap Cache olarak bilinir. Microsoft’un RDP dokümantasyonuna göre persistent bitmap cache, RDP oturumu sırasında istemciye gönderilen bitmap görüntü parçalarını saklayan bir önbellek mekanizmasıdır ve normal bitmap cache’den farklı olarak bağlantı kapandıktan sonra da kalıcı olabilir.

RDP Bitmap Cache Nedir?

RDP bağlantısı sırasında uzak bilgisayarın ekranındaki her görsel değişikliğin sürekli olarak baştan sona istemciye gönderilmesi ağ trafiğini artırır. Özellikle düşük bant genişliğine sahip bağlantılarda bu durum oturum performansını olumsuz etkileyebilir.

Bu nedenle RDP, ekranda görünen bazı grafik parçalarını istemci tarafında önbelleğe alır. Aynı görsel parça tekrar gerektiğinde sunucu bu veriyi yeniden göndermek yerine istemciye “önceden sakladığın parçayı kullan” mantığıyla çalışır. Microsoft, persistent bitmap caching özelliğinin özellikle düşük bant genişliğine sahip bağlantılarda performans avantajı sağlayabildiğini belirtmektedir.

Basitçe ifade etmek gerekirse RDP Bitmap Cache, uzak masaüstü oturumu sırasında ekranda görünen bazı parçaların istemci bilgisayarda küçük görsel bloklar halinde saklanmasıdır.

Bu Mekanizma Neden Güvenlik Riski Oluşturur?

RDP Bitmap Cache aslında performans amacıyla tasarlanmış bir özelliktir. Ancak güvenlik açısından bakıldığında bu özellik, istemci cihaz üzerinde hassas veri kalıntıları bırakabilir.

Örneğin RDP oturumu sırasında aşağıdaki türde bilgiler ekranda kısa süreliğine görünmüş olabilir:

  • Yönetici panelleri
  • Sunucu adları
  • IP adresleri
  • Kullanıcı adları
  • Dosya ve klasör isimleri
  • Uygulama ekranları
  • Dashboard görüntüleri
  • E-posta içerikleri
  • Log kayıtları
  • Müşteri veya kurum verileri
  • Parola kasası, ticket sistemi veya yönetim aracı ekranları

Bu bilgiler doğrudan tam ekran görüntüsü olarak saklanmaz. Ancak küçük bitmap parçaları halinde tutulduğu için, doğru araçlarla bir araya getirildiğinde oturum sırasında neyin görüntülendiğine dair anlamlı ipuçları elde edilebilir.

Bu nedenle RDP Bitmap Cache, özellikle adli bilişim incelemelerinde önemli bir artefact olarak değerlendirilir. Splunk’un RDP Bitmap Cache dosya oluşturma tespit içeriğinde de bu dosyaların mstsc.exe ile yapılan RDP oturumları sırasında oluşabildiği ve interaktif uzak erişim aktivitesini göstermede kullanılabileceği belirtilmektedir.

RDP Bitmap Cache Dosyaları Nerede Bulunur?

Windows istemcilerde RDP bitmap cache dosyaları genellikle kullanıcı profilinin altında yer alır:

C:\Users\<KullanıcıAdı>\AppData\Local\Microsoft\Terminal Server Client\Cache

Ortam değişkeniyle ifade etmek gerekirse:

%LOCALAPPDATA%\Microsoft\Terminal Server Client\Cache

Bu klasör içerisinde çoğunlukla aşağıdaki gibi dosyalar görülebilir.

Cache0000.bin
Cache0001.bin
Cache0002.bin
bcache24.bmc
bcache32.bmc

ANSSI-FR tarafından yayımlanan BMC-Tools aracı da Windows kullanıcı profillerinde bulunan bcache*.bmc ve cache????.bin dosyalarını işleyebildiğini belirtmektedir.

BMC-Tools ile Cache İçeriği Analiz Edilebilir mi?

Evet. RDP Bitmap Cache dosyaları doğrudan çift tıklanarak anlamlı şekilde görüntülenemez. Ancak bu dosyaları parse ederek bitmap parçalarını dışarı aktarabilen araçlar vardır. Bunlardan en bilinenlerden biri ANSSI-FR/bmc-tools projesidir.

Bu araç, RDP bitmap cache dosyalarını okuyarak içlerindeki görsel parçaları BMP formatına dönüştürebilir. Daha sonra bu parçalar manuel ya da farklı yardımcı araçlarla incelenebilir. Burada önemli nokta şudur: Bu işlem tam ve kusursuz bir ekran kaydı üretmez. Daha çok parçalanmış bir puzzle gibi, oturum sırasında ekranda görünen bazı alanların izlerini ortaya çıkarabilir.

Örnek kullanım mantığı şu şekildedir:

python bmc-tools.py -s "%LOCALAPPDATA%\Microsoft\Terminal Server Client\Cache" -d "C:\Temp\RDP_Cache_Output"

Bu işlem sonucunda cache içerisindeki bitmap parçaları hedef klasöre çıkarılır. Elde edilen görseller tek başına küçük parçalar gibi görünse de bazı durumlarda uygulama ekranları, pencere başlıkları, metin alanları veya yönetim panellerine ait görsel ipuçları içerebilir.

Bu tür analizler yalnızca yetkili sistemlerde, kurum içi adli bilişim süreçlerinde veya güvenlik farkındalığı amacıyla yapılmalıdır.

Bu Özellik Saldırganlar İçin Neden Değerli Olabilir?

Bir saldırgan istemci bilgisayara erişim sağladığında yalnızca aktif dosyaları veya tarayıcı geçmişini incelemekle kalmaz. Sistem üzerinde bırakılmış artefact’leri de analiz eder. RDP Bitmap Cache dosyaları da bu noktada değerli olabilir.

Örneğin saldırgan şu tür bilgilere ulaşmaya çalışabilir:

  • Hangi sunuculara RDP ile bağlanılmış?
  • Oturum sırasında hangi yönetim araçları açılmış?
  • Ekranda hangi IP adresleri veya sistem adları görünmüş?
  • Hangi uygulamalar kullanılmış?
  • Hangi klasörler veya dosya yolları görüntülenmiş?
  • Hassas bilgi içeren paneller açılmış mı?

Bu bilgiler doğrudan parola vermese bile saldırganın ortamı anlamasına, hedef seçmesine veya sonraki saldırı adımlarını planlamasına yardımcı olabilir.

RDP Bitmap Cache Adli Bilişim Açısından Neden Önemlidir?

Adli bilişim tarafında RDP Bitmap Cache dosyaları, özellikle olay müdahalesi ve kullanıcı aktivitesi analizi sırasında faydalı olabilir. Bir cihazda RDP kullanılıp kullanılmadığını anlamak, bağlantının istemci tarafında iz bırakıp bırakmadığını incelemek ve oturumda görüntülenmiş olabilecek ekran parçalarını değerlendirmek mümkündür.

Bu dosyalar şu sorulara yanıt ararken yardımcı olabilir:

  • Kullanıcı RDP ile hangi sistemlere erişmiş olabilir?
  • Oturum sırasında hangi uygulamalar kullanılmış olabilir?
  • Olay anında belirli bir yönetim ekranı açık mıydı?
  • Hassas veri istemci tarafına görsel olarak yansımış mıydı?
  • RDP oturumuna ait kalıntılar silinmiş mi?

Burada dikkat edilmesi gereken önemli nokta, RDP Bitmap Cache’in kesin kanıt değil, yardımcı artefact olarak değerlendirilmesidir. Tek başına yorumlanmamalı; Windows Event Log, Registry kayıtları, Prefetch, Jump List, MRU kayıtları ve ağ logları gibi diğer bulgularla birlikte analiz edilmelidir.

RDP Bitmap Cache Nasıl Temizlenir?

RDP oturumlarından sonra istemci tarafında kalan cache dosyalarını temizlemek için ilgili klasördeki dosyalar silinebilir. Öncelikle açık RDP oturumları kapatılmalıdır. Ardından aşağıdaki klasör kontrol edilir:

%LOCALAPPDATA%\Microsoft\Terminal Server Client\Cache

Manuel temizlik için klasör içindeki .bin ve .bmc dosyaları silinebilir.

PowerShell ile örnek temizlik komutu:

Remove-Item "$env:LOCALAPPDATA\Microsoft\Terminal Server Client\Cache\*" -Force -ErrorAction SilentlyContinue

Bu işlem mevcut cache dosyalarını temizler. Ancak RDP istemcisinde persistent bitmap caching açık kalmaya devam ederse, sonraki bağlantılarda yeni cache dosyaları yeniden oluşabilir.

Persistent Bitmap Caching Nasıl Kapatılır?

RDP Bitmap Cache riskini azaltmak için istemci tarafında persistent bitmap caching devre dışı bırakılabilir.

1. Grafik Arayüz Üzerinden Kapatmak

Windows’ta klasik Remote Desktop Connection istemcisi üzerinden şu adımlar izlenebilir:

  1. mstsc.exe çalıştırılır.
  2. Show Options seçilir.
  3. Experience sekmesine geçilir.
  4. Persistent bitmap caching seçeneği kapatılır.
  5. Bağlantı ayarları kaydedilir.

Microsoft’un RDP ayarları dokümantasyonunda bitmapcachepersistenable:i değerinin, Experience sekmesindeki bitmap caching seçeneğine karşılık geldiği belirtilmektedir. Bu değer 0 olduğunda caching devre dışı, 1 olduğunda etkin durumdadır.

2. RDP Dosyası Üzerinden Kapatmak

Bir .rdp bağlantı dosyası kullanılıyorsa aşağıdaki satır eklenebilir veya mevcut değer güncellenebilir:

bitmapcachepersistenable:i:0

Bu ayar, ilgili RDP bağlantısında persistent bitmap cache kullanımını kapatır. Microsoft dokümantasyonunda da bu değerin 0 olması durumunda bitmap cache’in etkin olmadığı belirtilmektedir.

3. Registry ile Kapatmak

Kullanıcı bazlı olarak aşağıdaki registry değeri kullanılabilir:

HKCU\Software\Microsoft\Terminal Server Client
BitmapCachePersistEnable = 0

PowerShell ile örnek uygulama:

New-Item -Path "HKCU:\Software\Microsoft\Terminal Server Client" -Force | Out-Null
New-ItemProperty -Path "HKCU:\Software\Microsoft\Terminal Server Client" `
  -Name "BitmapCachePersistEnable" `
  -Value 0 `
  -PropertyType DWORD `
  -Force | Out-Null

Kurumsal ortamlarda bu tür ayarlar Group Policy Preference, Intune Proactive Remediation veya logon script ile merkezi olarak uygulanabilir.

Performans ve Güvenlik Dengesi

Persistent bitmap caching tamamen kötü bir özellik değildir. Asıl amacı RDP performansını artırmaktır. Microsoft’un Remote Desktop Session Host performans önerilerinde bitmap cache’in bant genişliği kullanımını önemli ölçüde iyileştirebildiği, ancak güvenlik gereksinimleri varsa farklı değerlendirilmesi gerektiği ifade edilir.

Bu nedenle karar verirken ortamın ihtiyacı dikkate alınmalıdır.

Örneğin:

  • Düşük bant genişliğine sahip uzak lokasyonlarda performans için açık bırakılabilir.
  • Hassas sistemlere erişen yönetici cihazlarında kapatılması tercih edilebilir.
  • Jump server, PAM, bastion host ve privileged access workstation gibi sistemlerde kapalı olması daha güvenlidir.
  • Ortak kullanılan cihazlarda mutlaka kapatılması ve mevcut cache’in temizlenmesi önerilir.
  • Olay müdahalesi yapılan cihazlarda cache dosyaları silinmeden önce adli imaj veya kopya alınmalıdır.

Kurumlar İçin Önerilen Güvenlik Yaklaşımı

RDP Bitmap Cache tek başına en kritik güvenlik açığı gibi görülmeyebilir. Ancak hassas ortamlarda küçük artefact’lerin bile önemli bilgi sızıntısına dönüşebileceği unutulmamalıdır.

Kurumlar için önerilen yaklaşım şu şekilde olabilir:

  1. Riskli kullanıcı gruplarını belirleyiniz.
    Domain Admin, sistem yöneticisi, SOC ekibi, veritabanı yöneticisi ve uygulama yöneticisi gibi yüksek yetkili kullanıcıların RDP kullanım alışkanlıkları ayrıca değerlendirilmelidir.
  2. Privileged workstation’larda bitmap cache’i kapatınız.
    Yönetici erişimi yapılan cihazlarda istemci tarafında görsel iz bırakma riski azaltılmalıdır.
  3. Mevcut cache dosyalarını temizleyiniz.
    Ayarı kapatmak tek başına geçmiş cache dosyalarını silmez. Bu nedenle temizlik işlemi ayrıca yapılmalıdır.
  4. RDP kullanımını loglayınız.
    Windows Event Log, VPN logları, firewall kayıtları ve EDR telemetrileri ile RDP oturumları izlenmelidir.
  5. Jump server veya bastion mimarisi kullanınız.
    Kritik sistemlere doğrudan kişisel bilgisayarlardan RDP yapılması yerine kontrollü erişim noktaları tercih edilmelidir.
  6. Clipboard ve drive redirection politikalarını gözden geçiriniz.
    RDP güvenliği yalnızca bitmap cache’den ibaret değildir. Pano, disk, yazıcı, smart card ve cihaz yönlendirmeleri de ayrıca değerlendirilmelidir.
  7. Olay müdahale prosedürlerine RDP artefact analizini ekleyiniz.
    RDP Bitmap Cache, Registry MRU kayıtları ve bağlantı geçmişi olay müdahalesi sırasında birlikte incelenmelidir.

RDP Bitmap Cache, performans için geliştirilmiş ancak güvenlik açısından dikkat edilmesi gereken bir özelliktir. Uzak masaüstü oturumu sırasında ekranda görülen bazı görsel parçalar istemci cihazda kalıcı olarak saklanabilir. Bu parçalar doğrudan tam ekran görüntüsü olmasa da, adli bilişim uzmanları veya kötü niyetli kişiler tarafından analiz edildiğinde oturum içeriği hakkında ipuçları verebilir.

Bu nedenle özellikle hassas sistemlere erişen kullanıcılar için RDP istemci ayarları dikkatle yapılandırılmalıdır. Persistent bitmap caching kapatılmalı, mevcut cache dosyaları düzenli olarak temizlenmeli ve RDP erişimleri merkezi politikalarla kontrol altına alınmalıdır.

Unutulmamalıdır ki güvenlik yalnızca bağlantıyı şifrelemekten ibaret değildir. Bağlantı sonlandıktan sonra istemci cihazda hangi izlerin kaldığını bilmek de güvenli uzaktan erişim mimarisinin önemli bir parçasıdır.