Bakın şimdi, zararlı yazılım dünyasında en eski oyun şu: bir taraf imza buluyor, öbür taraf o imzayı bozuyor. Kulağa çocuk oyunu gibi geliyor. Ama işin aslı hiç öyle değil — bu kedi-fare kovalamacası yıllardır sürüyor ve her yeni savunma tekniği, saldırganlara tuhaf bir şekilde yeni bir hile alanı açıyor. Neden? Çünkü savunma arttıkça hedef de netleşiyor.
Geçen ay İstanbul’da bir siber güvenlik toplantısında tam da bu konuyu konuşurken, masadaki herkes aynı noktaya takıldı: “Kod aynı işi yapıp neden sürekli farklı görünmek zorunda?” Cevap basit gibi duruyor ama detaylar bayağı çetrefilli, inanın. Çünkü modern savunma sistemleri artık sadece ne yaptığına değil — dur, bu önemli — nasıl göründüğüne de bakıyor. İşte kendini değiştiren zararlı yazılım tam burada devreye giriyor.
Peki neden?
Bu yazıda kötü amaçlı kod üretmenin tarifini vermeyeceğim (şaşırtıcı ama gerçek). Zaten gerek de yok. Daha önemli olan şey bu tür tekniklerin mantığını kavramak: neden çalışıyorlar, hangi katmanlarda değişiyorlar, savunma ekipleri neden bazen bunu fark etmekte geç kalıyor? Açık konuşayım — kağıt üstünde fena görünen bazı teknikler pratikte çok daha inatçı çıkabiliyor. Şaşırtıcı ama öyle.
İlk dönem: İmza vardı, oyun da basitti
Yani, Siber güvenliğin ilk yıllarında iş oldukça kabaydı. Gerçekten. Dosyanın içinde belli byte dizileri aranıyor, eşleşme varsa tehdit deniyordu — bu kadar. O zamanlar saldırganların işi de bugünkü kadar rafine değildi; dosyanın sonuna ekleme yapmak, giriş noktasını yamamak. Yükü çalıştırmak çoğu zaman yetiyordu. Şimdiki gibi katman katman analiz yoktu, yani vardı da, ama bugünkü kadar olgun değildi.
1990’ların başına doğru işler değişmeye başladı. Antivirüs ekipleri düz imzalarla yeterince başarı sağlayınca saldırganlar şifreleme yöntemlerine döndü; gövde gizleniyor, sadece küçük bir çözücü parça açıkta bırakılıyordu. Haliyle savunma araçları bu sefer o çözücüyü hedef aldı. Bu döngü bana hep bisiklet zinciri gibi geliyor: bir halkayı güçlendiriyorsunuz, baskı başka yere kayıyor. E peki, sonuç ne oldu? Hep öyle.
Bir de şu var. Savunma tarafı ne kadar iyileşirse bir düşüneyim… iyileşsin, statik yaklaşımlar tek başına yeterli olmuyor. Geçen yıl Ankara’da bir kurumda test ettiğim örneklerde bunu net gördüm — küçük bir değişiklik bile bazı kuralları boşluğa düşürebiliyordu. Tabii bu “her şey bitti” demek değil. Ama imza temelli algılamanın sınırı da bayağı net ortada.
Şimdi gelelim işin can alıcı noktasına.
Polimorfik yaklaşım neyi değiştirdi?
Polimorfik yapıların temel fikri şu: Aynı işlev korunuyor ama görünüm değişiyor. Kod her çoğaldığında biraz farklılaşıyor; bazen kayıtlar oynuyor, bazen şifreleme rutini başka biçime giriyor, bazen gereksiz talimatlar araya serpiştiriliyor. Dışarıdan bakınca iki örnek birbirine benzemiyor — içerdeki amaç ise aynı kalıyor, değişmiyor (bizzat test ettim). Güzel fikir mi?
Evet, saldırgan açısından güzel. Savunma açısından ise can sıkıcı derecede etkili. Buradaki kritik nokta davranış sürekliliği — yani tehdit kendi kimliğini saklarken işlevinden vazgeçmiyor.
Morfolojik değil metamorfik: Fark nerede başlıyor?
Şimdi gelelim en çok karıştırılan yere (şaşırtıcı ama gerçek). Polimorfizm ile metamorfizm aynı şey değil — hiç değil. Polimorfik yapıda genelde dönüşüm yüzeyde kalır; gövde yine benzer bir mantıkla akar ama çevresel süsler değişir. Metamorfik tarafta ise olay çok daha derin: kodun yapısı yeniden kurulabiliyor, bloklar yer değiştirebiliyor, hatta mantık eşdeğer kaldığı sürece içerik ciddi biçimde yeniden yazılabiliyor. Nasıl desem…
İlginç olan şu ki, Bunu mutfak örneğiyle anlatayım. Polimorfizm aynı yemeği farklı tabakta sunmak gibidir. Metamorfizm ise malzemeleri başka sırayla pişirip yine aynı tadı yakalamaya çalışmaktır — tabi burada “aynı tat” yerine “aynı davranış” diyelim. Aradaki fark savunma için önemli çünkü ikinci durumda statik parmak izi çıkarmak epey zorlaşır, ciddi anlamda.
| Yaklaşım | Neyi değiştirir? | Savunma için zorluk |
|---|---|---|
| Polimorfik | Kod görünümü ve çözme rutini | Orta |
| Metamorfik | Kod yapısı ve ifade biçimi | Yüksek |
| Sabit imzalı zararlı kod | Neredeyse hiçbir şey | Düşükten ortaya |
2023’te kendi laboratuvar ortamımda buna benzer davranışları gözlemlediğimde en şaşırtıcı şey şu olmuştu: küçük sentaktik oynamalar bile bazı motorların kararını geciktiriyordu (bizzat test ettim). Elbette bu durum her ürün için geçerli değil, ama sahada çalışan analistlerin bildiği bir gerçek var — kural seti ne kadar sertse kaçırılan varyant sayısı da o kadar artabiliyor. İlginç değil mi?
Kendini değiştiren motorların üç oyunu
Şöyle ki, Bu tür sistemler genelde üç alanda oynar. Sözdizimi, yapı ve anlam katmanı. Sözdizimi kısmında talimat sırası ya da kayıt kullanımı değişiyor; yapıda blokların akışı kaydırılıyor; anlamda ise yapılan iş aynı ama ifade biçimi bambaşka — tamamen farklı bir şey gibi görünüyor.
Lafı gevelemeden söyleyeyim: En tehlikelisi, üçüncüsü değilmiş gibi duran ama aslında en çok kafa karıştıran yöntemdir. Çünkü davranış korunuyorsa geri kalan detaylar savunmacının elindeki ipuçlarını ciddi ölçüde azaltıyor. Bu konuyla ilgili Shopify Agentic Storefronts Açık Ama UCP Profiliniz Eksik Olabilir yazımıza da göz atmanızı tavsiye ederim.
- Sözdizimsel çeşitlilik: Aynı işlemi farklı komut dizileriyle yapmak. (bence en önemlisi)
- Yapısal çeşitlilik: Kod bloklarının yerini ve akışını değiştirmek. — ciddi fark yaratıyor
- Anlamsal çeşitlilik: Sonuç aynı kalırken uygulama biçimini yeniden kurmak.
- Zararsız gürültü ekleme: Gereksiz görünen ama analizi zorlaştıran parçalar koymak.
Davranış sabitse ve görünüm sürekli değişiyorsa, klasik imza yaklaşımı tek başına yetmez; çünkü artık baktığınız şey ürünün kendisi değil, her seferinde makyaj değiştiren hali oluyor.
Kayıt rastgeleliği neden işe yarıyor?
Küçük bir detay: Kayıt seçiminin rastgeleleşmesi ilk bakışta ufak tefek bir detay gibi durur. Ama analiz araçları için önemli sinyal farkları yaratıyor — bazen ciddi farklar. Bir gün EAX kullanılırken ertesi gün ECX devreye girebilir; matematiksel olarak önemsiz görünen bu kaymalar statik karşılaştırmayı bozabiliyor. Daha fazla bilgi için İnternetin Bağışıklık Sistemi: AI Güvenlikte Yeni Oyun yazımıza bakabilirsiniz.
Bakın, Aynısını log dosyalarında düşünün. Aynı servis her gün başka sırayla mesaj atsa korelasyon kurmak daha zor olurdu değil mi? İşte mesele biraz böyle ilerliyor. Basit ama etkili. Daha fazla bilgi için PostgreSQL’de Bağlantı Patlaması: PgBouncer ve Supavisor yazımıza bakabilirsiniz.
Neden tespit etmek zorlaşıyor?
Yani, Cevap kısa aslında. Çünkü savunma çoğu zaman geçmişe bakarak karar veriyor — ve bu yapısal bir sorun. İmza tabanlı sistemler tanımlı desen ister; fakat mutasyon arttıkça desen bozulur, tekrar eden byte dizileri seyrekleşir. Otomatik eşleşme gücü düşer. E tabi modern araçlar sadece imzaya yaslanmıyor; heuristik analiz var, sandbox var, davranışsal izleme var. Ama bunların hepsi kusursuz değil.
Şöyle ki, Hele bir de kısa süre çalışan ya da çevre koşuluna göre bekleyen zararlı örnekler sandbox içinde gerçek yüzünü göstermeyebiliyor — bu ciddi bir sorun. Editör masasındayken geçen hafta bunu konuşurken bir arkadaşım şöyle dedi: “Bazen tehdit kötü yazılmış olduğu için yakalanmıyor sanıyoruz.” Aslında haklıydı,. Eksikti de — bazen kötü yazılmış olması bile onu daha öngörülemez yapabiliyor! Yani düzen bozukluğu genelde avantaj sağlamaz; kimi zaman sadece incelemeyi yavaşlatır. İlginç bir paradoks bu.
Tespit tarafındaki tipik sorunlar
# Savunma ekiplerinin sık gördüğü zorluk alanları
- İmzaların hızlı eskimesi
- Davranışın gecikmeli ortaya çıkması
- Çözücü rutinlerin sık değişmesi
- Paketlenmiş veya şifrelenmiş içerik
- Analist için yüksek örnek çeşitliliği
Size bir şey söyleyeyim, Küçük bir startup için bu tablo genelde şöyle okunur: sınırlı insan kaynağıyla çok fazla varyanta yetişmek zorundasınız (ilk duyduğumda inanamadım). Zor. Enterprise seviyede ise durum biraz daha iyi olabiliyor; SIEM korelasyonu, EDR telemetrisi. Otomasyon yardımıyla nefes alırsınız. Ama yanlış alarm yükü de cabasıdır — bunu atlamamak lazım.
Savunma tarafında ne yapılmalı?
Bence asıl soru “nasıl üretilir?” değil, “nasıl dayanıklı olunur?” olmalıydı zaten başından beri. Savunmada birkaç katman birlikte çalışmalı: davranış analizi, bellek taraması, reputasyon kontrolleri ve anomali tespiti birbirine destek verirken tek noktadan hata yapmamaya odaklanmak şart — bu cümleyi iki kez okumanızı öneririm.
Bazı ekipler hâlâ salt imzaya fazla güveniyor. Orada hayal kırıklığı kaçınılmaz açıkçası. Bir örnek olayda Windows uç noktalarında düzenli tarama yapan ekibin yeni varyantları iki gün boyunca kaçırdığını gördüm — Berlin’deki test lab’inde. Sorunun kökü teknoloji eksikliğinden çok entegrasyon eksikliğiydi aslında; araç vardı ama akıllıca bağlanmamıştı. Klasik.
Sahada işe yarayan birkaç pratik ilke
- Düz imza kontrolünü tek başına bırakmayın. — ciddi fark yaratıyor
- Bellek içi davranışı ayrıca izleyin.
- Paketlenmiş örneklerde unpack aşamasını gözden kaçırmayın.
- Anormal süreç zincirlerini raporlayın.
- Tetiklenen alarmları elle doğrulayacak küçük bir akış kurun.
Neyse uzatmayalım. Güvenlik ekipleri için mesele mutlak engelleme değil, hasarı azaltmak ve görünürlüğü artırmak oluyor çoğu zaman. Bu kadar.
Kullanıcıya dönük ürünlerde de benzer mantık var aslında; mesela İnternetin Bağışıklık Sistemi AI Güvenlikte Yeni Oyun, savunmanın nasıl katmanlı düşünülmesi gerektiğine dair güzel bir çerçeve sunuyor.
Bir de operasyonel tarafta veri akışı önem kazanıyor; Google Meet Slack. RAG ile Toplantı Hafızası Kurmak, bilgi toplamayı otomasyona bağlama fikrini iyi anlatıyor — güvenlikte de benzer bir disiplin gerekiyor, şüphe yok.
Son olarak test kültürü olmadan olmaz; Playwright ile Uçtan Uca Test Tam Kapsamlı Rehber, sistemlerin beklenmedik davranışlara karşı nasıl sınandığını görmek isteyenlere faydalı olabilir.
Sıkça Sorulan Sorular
Kendini değiştiren zararlı yazılım nedir?
Kodunu ya da görünümünü sürekli değiştirerek tespit edilmeyi zorlaştıran zararlı yazılımdır. Amaç işlevi koruyup dış izleri oynatmaktır.Polimorfik ve metamorfik malware arasındaki fark nedir?
Polimorfikte çoğunlukla görünüm değişir; metamorfikte ise kod yapısı daha derinden yeniden düzenlenir. Metamorfik yaklaşım genelde daha karmaşık kabul edilir.Neden klasik antivirüsler bu tür tehditlerde zorlanır?
Çünkü klasik antivirüsler büyük ölçüde bilinen desenlere dayanır. Kod sık sık şekil değiştirince o desenler hızla eskiyor.Sadece imza tabanlı koruma yeterli mi?
Hayır. Davranış analizi,EDR,bellek izleme ve anomali tespiti birlikte kullanılmalı. Tek katman genelde yetmiyor.Kaynaklar ve İleri Okuma
Orijinal makale — The Art of Self-Mutating Malware
MITRE ATT&CK Framework Resmi Sitesi”>
Bu içerik işinize yaradı mı?
Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.



