“Can it run Doom?” sorusuna yeni bir cevap geldi: Artık Doom, DNS üzerinden çalışıyor. Güvenlik mühendisi Adam Rice, oyunun paylaşım sürümünü Cloudflare DNS’in TXT kayıtlarına parçalara ayırıp, hiçbir dosya diske yazmadan PowerShell ile belleğe yükleyip çalıştırıyor. Proje, veriyi doğrudan DNS sorgularıyla çekip .NET tabanlı oyun motorunu bellekte başlatıyor.
Nasıl çalışıyor?
Rice, C# ile yazılmış managed-doom’u belleğe akıştan çalışacak şekilde yamalıyor; yerel dosya bağımlılıklarını kaldırıp pencere yönetimini doğrudan Win32 çağrılarına taşıyor. Ses dosyaları yer kapladığı için çıkarılmış; bu yüzden sürüm sessiz. Sıkıştırma sonrası DOOM1.WAD yaklaşık 4 MB’tan 1,7 MB’a, kütüphaneler 4,4 MB’tan 1,2 MB’a düşüyor. Tüm paket, tek bir Cloudflare Pro alanında tutulan yaklaşık 2.000 TXT kayda (blog yazısında 1.966) bölünüyor. 250 satırlık PowerShell betiği bu kayıtları 10–20 saniyede çözüp bütünleştiriyor, hash’leri kontrol ediyor ve oyunu diske dokunmadan başlatıyor.
Depolama tarafında Rice, ücretsiz katmanda çok sayıda alan adına ihtiyaç duymamak için aylık 20 dolarlık Cloudflare Pro’yu tercih etmiş. Repodaki açıklamaya göre paket yaklaşık 1.964 TXT kayda ayrılıyor; betikler PowerShell 7 ile çalışıyor ve Cloudflare API’siyle yükleme/sürdürme, çoklu alan adı şeritleme gibi özellikler sunuyor.
Bağlam ve güvenlik boyutu
Proje kısa sürede teknoloji çevrelerinde ilgi gördü; tekniğin ne kadar “uçuk” olduğunu vurgulayan haberler yayınlandı. Ancak Rice’ın da belirttiği yöntem, yıllardır saldırganların TXT kayıtlarında veri ve yük saklamasıyla akraba. Savunma tarafında bu tür DNS tabanlı dosyasız taşıma yöntemlerinin izlendiğine, TXT sorgularının kötüye kullanımına dair uyarılar bulunuyor. Bu yönüyle çalışma, “olur mu?” sorusuna yaratıcı bir yanıt verirken, DNS’in ne kadar kolay suistimal edilebildiğine de dikkat çekiyor.
Merak edenler için kaynak kod ve çalıştırma betikleri GitHub’da yer alıyor; tek komutla oyunu DNS üzerinden belleğe taşıyıp açmak mümkün.
Kaynak: www.techspot.com
