Tehdit Aktörleri Exploit Kodu ile Sunucu İletişimini Nasıl Gizler?

Örneklerle Detaylı Anlatım

Reddit’te gezinirken dikkatimi çeken bir posta denk geldim. Gönderide, kötü amaçlı yazılım yazarlarının, istemci tarafındaki kod ile saldırganın kontrolündeki sunucu arasındaki iletişimi nasıl gizlediği tartışılıyordu. Bu konu, siber güvenlik alanında oldukça önemli bir mesele olduğundan, kendi tecrübelerim doğrultusunda bu duruma açıklık getirmek istedim.

Siber saldırganlar, geliştirdikleri kötü amaçlı yazılımların arka uç (back-end) komuta ve kontrol (C2) sunucularıyla olan iletişimini gizlemek ve güvenlik önlemlerini atlatmak için pek çok ileri teknik kullanırlar. Bu makalede, kötü amaçlı yazılım yazarlarının istemci tarafındaki açıklardan ve özelliklerden faydalanarak haberleşmelerini nasıl gizlediklerini ele alacağız. Konu başlıkları, şifreleme ve kod karmaşıklaştırmadan (obfuscation) başlayarak domain generation algorithms (DGA), fast flux DNS, yasal servislerin kötüye kullanımı, steganografi, DNS tünelleme, gizli zamanlama kanalları, P2P ağları, HTTP başlık manipülasyonu, Tor/I2P gibi darknet iletişimi, dosyasız saldırılar ile mobil/IoT dünyasındaki tekniklere kadar uzanmaktadır. Her bir bölüm, genel siber güvenlik uzmanlarına hitap edecek şekilde, ancak teknik detaya boğulmadan, gerçek dünya örnekleri ve kaynaklarla desteklenerek açıklanmıştır.

Şifreleme ve Obfuscation (Kod Karmaşıklaştırma)

Kötü amaçlı yazılımlar, tersine mühendisliği ve analiz edilmesini zorlaştırmak amacıyla kodlarını şifreleme ve obfuscation teknikleriyle gizlerler. Kod karmaşıklaştırma, zararlı yazılımın içeriğini anlaşılmaz hale getirerek analiz süresini artırır. Örneğin, pek çok zararlı yazılım string verilerini XOR, Base64 gibi yöntemlerle şifreleyerek veya tüm yürütülebilir dosyayı paketleyip sıkıştırarak (packer kullanımı) statik analiz araçlarının zararlının işlevini ortaya çıkarmasını engeller​.

İleri seviye obfuscation teknikleri arasında aşağıdakiler sayılabilir:

Junk/Spagetti Kod Ekleme: Anlamsız veya amaçsız talimatlar ekleyerek gerçek işlemlerin arasına “gürültü” katma. Bu yöntem, tersine mühendislik yapanları yanıltmak için kodun ne yaptığını gizler​.

Kontrol Akışı Düzleştirme: Koşullar ve döngüler gibi yapıları parçalayarak, programın akışını tek bir düzlemde birleştirir. Örneğin, iç içe geçmiş koşullar ve döngüler, büyük bir switch yapısı içine gizlenir. Bu sayede kodun yürütme akışı takibi zorlaşır.

Şifrelenmiş/Paketlenmiş Kod Bölümleri: Zararlılar, kodun bazı bölümlerini şifreleyip program çalışırken çözerek yürütür veya VMProtect, Themida gibi koruma yazılımları kullanarak kodu sanal makine bytecode’una çevirir. Örneğin KillDisk zararlısı, tersine mühendisliği zorlaştırmak için VMProtect koruması kullanmıştır​.

Bunun yanı sıra, saldırganlar anti-debugging ve anti-VM tekniklerini de entegre ederler. Zararlı yazılım, çalıştığı ortamın analiz ortamı olup olmadığını anlamak için IsDebuggerPresent, özel bellek bayrakları veya zamanlayıcı kontrolleri gibi yöntemlerle debugger veya sandbox izlerini tespit edebilir.

Bu tespitler pozitif ise, kötü amaçlı yazılım ya çalışmayı durdurur ya da zararsız davranarak analizden kaçar.

Ağ iletişimini gizlemek için ise zararlı yazılımlar genellikle verilerini şifreleyerek gönderir. Birçok modern zararlı yazılım, C2 trafiğini gizlemek için simetrik şifreleme algoritmaları kullanır (ör. AES, DES, RC4 gibi)​. Simetrik şifreleme, aynı anahtarla veriyi şifreleyip çözdüğü için hızlıdır ve ağ üzerinden geçen komutları veya çalınan verileri tek bir paylaşılan anahtar ile korur. Örneğin, bazı RAT (uzaktan erişim Truva atı) aileleri, HTTP isteklerindeki komutları sabit bir XOR anahtarıyla şifreleyerek gönderirler​. Daha gelişmiş zararlılar ise asimetrik şifreleme tekniklerinden yararlanır; bu sayede her kurban, saldırganın genel anahtarıyla şifrelenmiş komutlar alır ve sadece zararlının içindeki özel anahtar ile çözebilir.

Asimetrik şifreleme, özellikle RSA gibi algoritmalar kullanılarak, paylaşılan bir gizli anahtar olmadan güvenli iletişim kurulmasını sağlar ve iletişime araya giren biri olsa bile içeriği anlamayı imkânsız hale getirir.

Birçok gelişmiş saldırıda hibrit şifreleme görülür: zararlı yazılım önce C2 sunucusuyla RSA gibi bir yöntemle anahtar değişimi yapar, ardından asıl veri aktarımını AES gibi simetrik algoritmalarla şifreler – tıpkı TLS/SSL iletişiminde olduğu gibi.

Gerçek dünyadan bir örnek olarak, jRAT adlı uzaktan erişim Truva atının Java tabanlı yükünün AES ile şifrelendiği, arka kapı bileşenlerinin ise DES akış şifresiyle korunup, antivirüs atlatmak için Allatori gibi bir karmaşıklaştırma aracıyla obfuscation uygulandığı belgelenmiştir​.

Benzer şekilde, farklı tehdit grupları da kod gizleme için açık kaynak veya ticari obfuscation araçları kullanmakta, API isimlerini, dize verilerini ve yapılarını şifreleyerek zararlı içeriği meraklı gözlerden saklamaktadır​.

Domain Generation Algorithms (DGA)

Domain Generation Algorithm (DGA), kötü amaçlı yazılımların her gün/saate otomatik olarak birçok alan adı üretmesini sağlayan bir tekniktir. Amaç, sabit bir komuta sunucusu alan adına bağlı kalmayarak, güvenlik uzmanlarının ve emniyet birimlerinin zararlının iletişimini kesmesini zorlaştırmaktır.

Zararlı yazılım, içine gömülü bir algoritma ve çoğu zaman güncel tarih/saat gibi değişken girdiler kullanarak yüzlerce veya binlerce olası alan adı oluşturur. Bu alan adlarından birkaçı saldırgan tarafından önceden kaydedilir ve C2 sunucusuna yönlendirilir; zararlı da bunlardan birine bağlanarak komut alır. Ertesi gün/saat, farklı alan adları üretileceği için, savunma tarafının her günü gelen tüm olası alan adlarını engellemesi veya kapattırması neredeyse imkânsız hale gelir​.

Bu tekniğin gücü, buluşma noktalarını dinamik tutarak botnet’in devamlılığını sağlamasıdır. Örneğin, Conficker solucanı bu yaklaşımı popüler hale getiren erken örneklerden biridir. İlk varyantları günde 250 alan adı üretirken, daha sonra Conficker.C varyantı günde 50.000 farklı alan adı üretmeye başlamıştır. Zararlı yazılım bunlardan yalnızca 500 tanesini denese bile, saldırganın her gün botnet’i kontrol etmek için bir tek alan adı kaydetmesi yeterli olmuştur​. Bu durumda güvenlik birimlerinin aynı gün içinde 50 bin alan adını birden takip edip engellemesi pratik olarak mümkün değildir. Nitekim Conficker salgını sırasında savunma ekipleri, algoritmayı tersine mühendislikle çözerek bazı alan adlarını önceden kaydettirmiş (sinkhole yöntemi), ancak üretilen adres sayısının fazlalığı işi oldukça zorlaştırmıştır.

DGA kullanan pek çok ünlü zararlı aile vardır. Özellikle Zeus GameOver (P2P Zeus olarak da bilinir), CryptoLocker fidye yazılımı, PushDo ve Ramdo gibi zararlılar, takibi zorlaştırmak için DGA tabanlı iletişim yöntemlerine başvurmuşlardır​. Bu zararlılarda her bir bot, kendi algoritmasıyla alan adları oluşturup bunlara DNS sorguları göndererek C2’ye ulaşmaya çalışır​.

Örneğin, GameOver Zeus’un DGA’sı, belirli bir gün için geçerli olabilecek binlerce alan adı türeterek, botmaster’ın sadece o gün için doğru alan adını kaydedip sunucuyu çevrimiçi hale getirmesi mantığıyla çalışıyordu. DGA varyantları arasında tamamen rastgele harflerden oluşan alan adları üretenler olduğu gibi, sözcük listeleri kullanarak daha “gerçekçi” görünen alan adları oluşturan varyantlar da mevcuttur – bu sayede algılamayı zorlaştırmayı hedeflerler. Sonuç olarak, DGA mekanizması, sabit göstergelere (IOC) dayalı alan adı engelleme stratejilerini geçersiz kılarak saldırganlara esnek ve dayanıklı bir C2 kanalı sunmaktadır​.

Fast Flux & Double Fast Flux

Fast Flux, saldırganların DNS (Alan Adı Sistemi) kayıtlarını hızlı ve sürekli değiştirerek kötü niyetli altyapılarını gizledikleri bir tekniktir. Temel fikir, tek bir alan adına karşılık gelen IP adreslerini çok sık aralıklarla değiştirmek ve bu IP adreslerinin genellikle ele geçirilmiş bilgisayarlar (zombi makineler) olmasıdır​. Böylece, bir zararlı alan adına sorgu yapan güvenlik analistleri veya kolluk kuvvetleri, her seferinde farklı bir IP adresi görür ve asıl komuta sunucusunun yerini tespit etmek zorlaşır. Fast Flux, bir bakıma saldırganların oluşturduğu yasadışı bir içerik dağıtım ağına (CDN) benzetilebilir; birçok farklı noktadan trafiği yönlendirerek arkadaki merkezi sunucuyu bir proxy ağı arkasına saklarlar​.

Tek Yönlü (Single) Fast Flux senaryosunda, zararlı alan adının A kayıtları (IP adresi kayıtları) hızla değişir. Örneğin, malicious-domain.com alan adı her birkaç dakikada bir farklı bir IP adresine işaret edecek şekilde DNS sunucusunda ayarlanır. Bu IP’lerin her biri aslında botnet’e bağlı araçlardır ve gelen trafiği gerçek C2 sunucusuna ileten ters proxy gibi davranırlar​.

Alan adı sabit kalsa da arkadaki IP listesi sürekli döndüğünden, alan adı engellense bile saldırgan kısa sürede yeni IP’lerle tekrar ortaya çıkabilir. Çift Yönlü (Double) Fast Flux ise bu tekniği bir adım ileri götürür: Bu modelde yalnızca A kayıtları değil, aynı zamanda NS kayıtları (otoritatif isim sunucusu kayıtları) da sık sık değiştirilir​.

Yani, alan adının hangi DNS sunucusundan çözümleneceği bilgisi dahi botnet tarafından dinamik olarak yönetilir. Saldırganlar, ele geçirdikleri makineleri geçici DNS sunucuları gibi kullanarak hem alan adının IP adresini hem de DNS çözümleme altyapısını akışkan hale getirirler.

Double Fast Flux ile, alan adının otorite DNS sunucusu da sürekli değiştiği için gelen sorgular en sonunda yine saldırganın kontrol ettiği bir ağa yönlenir; bu da müdahaleyi iyice zorlaştırır. Fast Flux tekniği ilk olarak 2007 civarında Storm Worm botnet’i ve Rock Phish adı verilen oltalama altyapısında gözlemlendi ve güvenlik dünyasında büyük bir zorluk olarak tanımlandı​.

Storm Worm, merkezi bir C2 yerine hem P2P tabanlı iletişim (aşağıda tartışılacak) hem de fast flux DNS kullanarak, dünya genelinde binlerce enfekte makine üzerinden kontrolünü sürdürdü. Bu sayede alan adlarını kapattırmak veya trafiğini engellemek neredeyse mümkün olamadı. Hatta Storm gibi merkezi sunucusu olmayan gelişmiş botnet’ler, araştırmacıları uzun süre çaresiz bırakmıştır; çünkü bu yapılar çökertilmeye karşı son derece dayanıklıdır ve klasik “komuta sunucusunu kapat” yaklaşımı işlemez​. Örneğin Storm botnet’ini durdurmak için araştırmacılar yenilikçi yöntemlere başvurarak botnet’e sızıp yanıltıcı veriler (çöp veriler) enjekte etmeyi denemişlerdir​.

Günümüzde de fast flux türevi teknikler, oltalama sitelerini barındıran altyapılarda veya zararlı yazılım dağıtımında kullanılıyor. Örneğin, bazı fidye yazılımı operasyonlarında ödeme sitelerini veya veri sızdırma sitelerini kapattırmamak için fast flux barındırma kullanıldığı gözlemlenmiştir. Bu teknik, geleneksel DNS tabanlı engelleme ve izleme yöntemlerini boşa çıkararak, saldırganların bir adım önde olmasını sağlar. Ancak savunma tarafı da DNS akışındaki anomalileri (çok sık değişen kayıtlar, geniş bir IP havuzu, TTL değerlerinin anormal düşük olması vb.) izleyerek fast flux ağlarını tespit etmeye yönelik araçlar geliştirmiştir. Sonuç olarak, fast flux ve double flux, saldırganların iz takibini zorlaştırmak için kullandığı etkili yöntemler olup, güvenlik ekiplerinin bu tekniği anlayıp özel karşı önlemler geliştirmesini gerektiren bir alandır​.

Yasal Servislerin Proxy Olarak Kullanılması

Saldırganlar, zararlı trafiklerini kurban sistemlerden kendi sunucularına taşırken Google Drive, Dropbox, Pastebin, GitHub, Twitter, Telegram, Discord gibi meşru ve yaygın web servislerini birer vekil (proxy) kanal olarak kötüye kullanabilir. Bu yaklaşımın temel avantajı, kurumsal ağlarda bu tür popüler servislere genellikle izin verilmesi ve güvenlik cihazlarının bu trafiği “normal” kabul etmesidir.

Örneğin, bir kötü amaçlı yazılım, komutlarını almak için doğrudan kendi C2 sunucusuna bağlanmak yerine, Pastebin üzerinde herkese açık olarak tutulmuş şifreli bir metin içeriğini indirebilir. Bu metin, saldırgan tarafından düzenli olarak güncellenen komutları içerir ve zararlı yazılım bu içeriği çözerek ne yapacağını öğrenir. Aynı şekilde saldırgan da ele geçirilen sistemlerden çaldığı verileri bu platformlar üzerinden alabilir; zararlı yazılım örneğin çaldığı veriyi Dropbox API’si kullanarak saldırganın bulut deposuna yükleyebilir. Bu tür alışverişler, dışarıdan bakıldığında kurbanın yalnızca Dropbox veya Google Drive gibi bir servisi kullandığını gösterecektir, ki bu da tipik bir kullanıcı davranışı gibi göründüğünden şüphe çekmeyebilir​.

Özellikle Tek yönlü iletişim yerine çift yönlü iletişim gerektiğinde (yani hem komut alıp hem çıktı gönderme durumunda), bu meşru servisler üzerinden akış sağlanması saldırganlara önemli bir gizlenme avantajı verir. Kötü amaçlı yazılım, Twitter API’larını kullanarak gizli bir hesaptan atılan tweet’leri okuyabilir ve burada kodlanmış komutlar bulabilir; ardından komut çıktılarını yine tweet veya DM olarak geri gönderebilir. Benzer şekilde, Telegram botları üzerinden komut ileten ve bilgi sızdıran zararlı kampanyalar tespit edilmiştir. Örneğin, APT37 gibi gelişmiş tehdit gruplarının AOL, Twitter, Yandex Disk, MediaFire, pCloud, Dropbox, Box gibi servisleri C2 iletişimi için kullandığı raporlanmıştır​.

Yine CozyDuke/CozyCar gibi araçlar, yedek bir C2 kanalı olarak Twitter hesaplarına bağlanıp oradaki içerikten komut okuyabilmektedir. Bu yöntemde iletişim genellikle SSL/TLS şifrelemesi ile zaten korunduğu için (örneğin Dropbox API çağrıları HTTPS üzerinden gider), saldırganlar ikinci bir katman şifreleme olmadan da gizlilik elde etmiş olurlar​.

Ayrıca meşru bir hizmetin domain adı ve sertifikası kullanıldığından, güvenlik duvarları ve IDS/IPS sistemleri trafiği genellikle izin verir. Bir kurban makineden Google Drive’a giden şifreli trafik, çoğu güvenlik cihazında alarm üretmezken, doğrudan anormal bir IP’ye giden şifreli trafik şüphe çekebilir. Saldırganlar bu “gürültü içinde gizlenme” avantajını sonuna kadar kullanır. Gerçek dünyada bu tekniğe birkaç örnek verelim: DarkHydrus adlı APT grubu, geliştirdiği RogueRobin arka kapısının yeni bir sürümünde Google Drive’ı C2 kanalı olarak kullanmıştır​.

Yine 2016’da keşfedilen Komplex adlı zararlı yazılımın, Telegram API’sini suistimal ederek kurbanların sisteme kurulu Telegram istemcisi üzerinden mesaj gönderiyormuş gibi veri aktardığı belirlenmiştir. Bu örnekler, bulut tabanlı hizmetlerin ve sosyal medya platformlarının birer C2 altyapısı gibi davranmaya zorlanabileceğini göstermektedir. Savunma tarafında ise bu tür kötüye kullanımları tespit etmek, meşru trafik ile ayrım yapmak zor olduğundan, oldukça zordur. Genellikle anormal kullanım paternleri (örn. bir sistemin kısa sürede yüzlerce Pastebin isteği yapması) veya bu servislerin API anahtarlarının sızması gibi yan işaretler üzerinden tespit sağlanmaya çalışılır.

Özetle, yasal servislerin proxy olarak kullanımı, modern kötü amaçlı yazılımların güvenlikten saklanmak için başvurduğu en sinsi yöntemlerden biridir. Normal kullanıcı davranışlarına benzemesi ve mevcut altyapıları kullanması nedeniyle, bu yönteme karşı güvenlik ürünlerinin sürekli gelişen analiz ve anomali tespit tekniklerine ihtiyacı vardır.

Steganografi ile İletişim Gizleme

Steganografi, zararlı niyetli verinin normalde zararsız görünen bir içeriğin içine gömülerek gizlenmesi sanatıdır. Kötü amaçlı yazılımlar da bu yöntemle, iletişim trafiğini maskelemek için verilerini resimler, ses dosyaları, videolar veya metin dosyaları içerisine gizleyebilirler. Steganografide amaç, veri taşıyıcısının (örn. bir resim dosyasının) yapısını bozmayacak şekilde, insan gözüyle veya standart dosya formatı denetimleriyle fark edilmeyecek ek bilgiler yerleştirmektir.

Örneğin, bir malware, C2 sunucusundan alacağı komutları öğrenmek için bir web sitesinden düzenli aralıklarla JPEG formatında bir resim indiriyor olabilir. Bu resim, bakıldığında normal bir fotoğraf gibi görünse de en alt bitlerinde gizlenmiş şifreli talimatlar içerebilir. Zararlı yazılım bu resmi indirip içindeki gizli mesajı çözer ve komutlarını elde eder. Benzer şekilde, çaldığı verileri de bir görüntü içerisine gömüp karşı tarafa göndererek, ağda giden paketin bir resim dosyası taşıdığını düşündürür.

Gerçek bir örnek olarak, berbat bir üne sahip Duqu kötü amaçlı yazılımı, ele geçirdiği sistemlerden derlediği hassas bilgileri önce şifrelemiş, sonra da bir görüntü dosyasının içine gömerek C2 sunucusuna yollamıştır. Bu sayede dışarıya çıkan trafik, basit bir görüntü yüklemesi gibi görünmüş, ancak aslında içinde önemli verileri barındırmıştır. Yine 2017’nin sonlarında bir APT grubu, Invoke-PSImage isimli PowerShell aracını kullanarak bir PNG resim dosyasının içine PowerShell komutları saklamış ve hedef sistemde bu resim dosyasını açıp kodu çalıştırarak zararlı faaliyet yürütmüştür​. Bu yöntemle, zararlı kod düz bir metin veya dosya olarak hiç disk üzerinde yer almadığı için antivirüs yazılımları tarafından fark edilmemiştir.

Steganografik iletişim sadece görüntülerle sınırlı değildir; saldırganlar WAV gibi ses dosyaları veya video dosyaları içine de veri gizleyebilir. Örneğin, bir MP3 dosyasının belirli frekans bileşenlerine verinin modüle edilmesi veya video dosyasının renk kanallarına minik değişikliklerle bitlerin gömülmesi mümkündür. Hatta bazı gelişmiş zararlılar, metin steganografisi kullanarak HTML dökümanlara görünmez karakterler veya beyaz boşluklar içine veri saklamayı bile denemiştir.

Bu iletişim tekniğinin avantajı, klasik güvenlik denetimlerini atlatabilmesidir. Bir güvenlik cihazı, ağdan geçen bir görüntü dosyasını kötü niyetli olarak işaretlemez, hele ki dosya formatı standartlara uygunsa. Ayrıca steganografik yöntemler, veriyi şifreleme ile birlikte kullanıldığında, saldırganın iletişimini tamamen gizli kılar: dışarıdan bakılınca sadece anlamsız görünen (ancak geçerli) bir medya dosyası alışverişi vardır. Bu nedenle, stegomalware olarak adlandırılan steganografi kullanan zararlı yazılımlar, son dönemde güvenlik profesyonellerinin dikkatini çekmektedir. Bu tür vakaları tespit etmek zordur; genellikle beklenmedik yerlerde dosya boyutundaki ufak anomaliler, alışılmadık trafik desenleri veya belirli bir medya dosyasına ilginç sıklıkta erişim gibi ipuçları üzerinden şüphe oluşabilir.

DNS Tünelleme Teknikleri

DNS tünelleme, kötü amaçlı trafiği, normalde zararsız ve çoğu kez filtrelenmeyen DNS protokolü üzerinden gizlice iletme yöntemidir. DNS, bilindiği gibi alan adlarını IP adreslerine çeviren kritik bir internet protokolüdür ve neredeyse her ağda çıkışına izin verilir. Saldırganlar bu durumu suistimal ederek, DNS sorgu ve yanıtlarını kendi amaçları için birer veri paketine dönüştürebilirler.

DNS tünellemenin çalışma prensibi şöyle özetlenebilir: Saldırgan önce kendisine ait bir alan adı (örneğin attackerserver.com) ve buna hizmet eden bir otoritatif DNS sunucusu kurar. Zararlı yazılım, kurban sistemde çalışırken çalınan veriyi veya C2 komutlarını, DNS sorgularının içine enkapsüle eder. Örneğin, çok uzun ve anlamsız görünen bir alt alan adı sorgusu düşünün: secretdata.blahblah.attackerserver.com. Bu sorgu aslında “secretdata” kısmında gizli bir bilgi taşıyor olabilir (şifrelenmiş olarak).

Kurban makine, bu alan adı için DNS çözümlemesi yaparken istek kurbanın yerel DNS çözümleyicisinden geçip en sonunda saldırganın otoritatif DNS sunucusuna ulaşır. Saldırganın DNS sunucusu bu isteği alır, içindeki veriyi çözer ve cevabı yine DNS yanıt paketinde geri gönderir. Bu yanıt paketinin IP adresi veya metin kaydı (TXT kaydı) kısmı da zararlı yazılıma iletilmek istenen komut veya veriyi içerecek şekilde hazırlanmıştır. Kurban taraftaki zararlı, gelen DNS yanıtını parse ederek içindeki komutu alır ve uygular. Bütün bu alışveriş, dışarıdan bakıldığında sadece bir DNS sorgusu ve yanıtı gibi görünür.

Bu yöntemin en büyük avantajı, kurumların DNS trafiğini genellikle sıkı bir şekilde incelememesidir. Web veya e-posta trafiğinde yoğun filtreleme olmasına karşın, DNS genelde serbest bırakılır ve sadece alan adı çözümlemesi olarak değerlendirildiğinden derin paket incelemesine (DPI) tabi tutulmaz. DNS’in yaygınlığı ve görece göz ardı ediliyor olması, saldırganlara “elegant ve fark edilmesi zor” bir iletişim kanalı sağlar​. Özellikle güvenlik duvarlarının HTTP/HTTPS dışındaki trafiği engellediği senaryolarda, DNS çoğu zaman açık bir arka kapı işlevi görür. Örneğin, bir ortama sızmış saldırgan, normalde internete doğrudan çıkamıyor olabilir ancak DNS sorguları yapabiliyorsa, bu kanal üzerinden toplayacağı verileri dışarı sızdırabilir veya yeni komutlar alabilir.

Gerçek bir örnek vermek gerekirse, FrameworkPOS adlı zararlı yazılım (özellikle satış noktası sistemlerine bulaşan bir Trojan), ele geçirdiği kredi kartı verilerini C2 sunucusuna gönderirken DNS tünelleme kullanmıştır​. POS cihazlarından internet çıkışı kısıtlı olduğundan, bu zararlı her kredi kartı bilgisini küçük parçalara bölüp DNS sorgusu olarak yollamış; saldırgan da kendi DNS sunucusunda bu sorguları yakalayarak kart bilgilerini birleştirmiştir. Bu sayede, ağdaki güvenlik sistemleri sadece yoğun DNS trafiği görebilmiş ancak içeriğinde kredi kartı numaralarının aktığını fark edememiştir.

DNS tünelleme, saldırgan araç setlerinde (Toolkit) de sıkça yer alır. İnternet paylaşımını aşmak veya halka açık Wi-Fi’larda kısıtlamaları delmek için meşru amaçlarla bile yazılmış iodine, dnscat2 gibi DNS tünel araçları mevcuttur. Ne yazık ki aynı araçlar saldırganlarca da kullanılmaktadır. Güvenlik araştırmacıları, çeşitli kötü amaçlı yazılımların DNS tünelleme yaptığını saptamıştır. Örneğin Dnsmessenger adlı bir arka kapı, tüm C2 iletişimini DNS TXT kayıtları üzerinden gerçekleştirmiştir. Yine Feederbot gibi botnet’ler, HTTP yerine DNS üzerinden kontrol komutları almıştır.

Savunma tarafında, DNS tünellemeyi tespit etmek için bazı teknikler geliştirilmiştir. Anormal derecede uzun alan adı sorguları, çok sık yapılan DNS istekleri, aynı alana ardışık ve birbirine benzeyen birçok sorgu yapılması gibi belirtiler incelenerek alarm üretilebilir. Ayrıca makul boyuttaki DNS isteklerine kıyasla aşırı veri içeren (örneğin base32/base64 gibi kodlanmış büyük alt alan adları) pattern’ler makine öğrenimi ile yakalanabilir. Bazı güvenlik çözümleri, DNS trafiğinde entropi analizi yaparak alan adı rastgeleliğini ölçmekte ve olası bir tünelleme aktivitesini işaret edebilmektedir.

DNS tünelleme, saldırganların “arka kapıdan veri sızdırma” konusunda sıklıkla başvurduğu yaratıcı bir yöntemdir. DNS protokolünün meşruiyeti ardında saklanarak hem güvenlik duvarlarını aşmak hem de iz bırakmadan iletişim kurmak mümkün olur​. Bu nedenle, kurumsal ağ izleme politikalarında DNS trafiğinin de analiz edilmesi ve gerekirse DNS isteklerinin güvenilir sunucular üzerinden proxy edilmesi önerilir.

Gizli Zamanlama Kanalları (Covert Timing Channels)

Gizli zamanlama kanalı, iletişim kuran tarafların, doğrudan veri paketlerinin içeriğine gizli bilgi koymak yerine, iletişimin zamanlamasını kullanarak veri aktarması prensibine dayanır. Yani gönderilen paketlerin aralıkları, sıraları veya gecikmeleri birer “bit” taşıyıcısı haline gelir. Bu yöntem, özellikle ağ trafiği içeriğinin sıkı şekilde denetlendiği ancak zamanlama paternlerinin göz ardı edildiği durumlarda, saldırganlara bir arka kapı iletişim olanağı sunar.

Basit bir örnek düşünelim: Zararlı yazılım, her 5 saniyede bir sunucusuna “ping” atıyor olsun. Bu ping’lerin içerikleri tamamen masum veya sabit olabilir. Ancak iki ping arasındaki süre her seferinde aynı olmak zorunda değil. Saldırgan, 5 saniyelik aralıkları “0”, 10 saniyelik aralıkları “1” olarak kodlayabilir. Böylece kurban makine, ikili kodlanmış bir mesajı sadece bekleme süreleriyle gönderebilir.

Örneğin, önce 10 saniye bekleyip ping atarsa sunucu bunu “1” olarak algılar, sonra 5 saniye sonra bir ping daha atarsa onu “0” olarak algılar. Bu şekilde bir dizi ping gönderimi, alıcı tarafta ikili bir mesaj olarak çözümlenebilir​. Bu iletişim kanalında paketlerin içeriğinde ekstra hiçbir veri yoktur, her paket belki de aynı sabit baytları içerir, dolayısıyla geleneksel DPI (derin paket inceleme) mekanizmaları bu iletişimi tespit edemez. Ancak zamanlama istatistiklerini inceleyen bir sistem varsa anormalliği yakalayabilir.

Gizli zamanlama kanallarının birçok varyasyonu vardır. On-off keying adı verilen basit yaklaşım, yukarıdaki örnekteki gibi belirli bir zaman diliminde paket göndermek veya göndermemek üzerine kuruludur​. Daha karmaşık yöntemlerde ise gönderilen paketlerin tam zaman damgaları, iki paket arasındaki milisaniye farkları veya paketlerin sıralama düzenleri kullanılarak veri kodlanabilir.

Örneğin, bir saldırgan 1 bit’lik bilgiyi kodlamak için ardışık iki paket arasındaki gecikmeyi kullanabilir: 100ms’den kısa aralık “0”, 100ms’den uzun aralık “1” anlamına gelsin. Bu kadar küçük zaman farklılıkları insan tarafından fark edilmeyeceği gibi, ağ cihazları tarafından da normal jitter (gecikme dalgalanması) olarak yorumlanabilir.

Amaç, trafik paternlerinde insan gözüyle algılanamayacak veya normal dalgalanmadan ayırt edilemeyecek ufak değişikliklerle mesaj iletmektir. Bu yöntem, özellikle network monitoring araçlarının içerik odaklı çalıştığı ortamlarda çok sinsi olabilir. Saldırganlar gizli zamanlama kanallarını genellikle başka bir trafiğin içine gömülü olarak kullanır; örneğin zaten düzenli istekler yapan bir protokol varsa (HTTP Keep-Alive veya periyodik API çağrıları gibi), bunların zamanlamalarını manipüle ederek veri sızdırabilirler.

Gerçek dünyada bu konsept genellikle akademik çalışmalarda ve CTF (Capture The Flag) gibi ortamlarda gösterilmiştir. Örneğin, 2018’de çıkan bir makalede, Wi-Fi protokolü kullanarak iki cihaz arasında zamanlama tabanlı gizli kanal kurulabileceği açıklanmıştır. Yine de, bazı gelişmiş zararlı yazılımların basit formda da olsa zamanlama kanallarını denediği biliniyor. Örneğin, bir saldırganın, kurban makinedeki zararlıyla iletişim kurmak için normal görünen istekleri belirli bir zamanlama dizisiyle yaparak “hazır ol” veya “veriyi gönder” sinyali verdiği tespit edilmiştir.

Bu tekniğin avantajı açıktır: İçerik bazlı hiçbir imza barındırmaz, bu yüzden geleneksel IPS/IDS imza setlerinden kaçar. Ayrıca bant dışı (out-of-band) bir sinyal gibidir – adeta trafiğin “fısıltıları”ndan mesaj üretir. Ancak dezavantajları da vardır: Bant genişliği çok düşüktür, sonuçta 1’ler ve 0’lar saniyeler veya milisaniyeler ile taşındığı için yüksek hacimli veri iletimi pratik değildir. Genellikle sadece komut sinyalleri veya küçük boyutlu veriler aktarılabilir.

Ayrıca, uçtan uca zaman senkronizasyonu gerektirebilir; eğer ağda gecikme değişkenlikleri çok yüksekse mesaj bozulabilir. İleri düzey teknikler bu sorunları aşmak için karmaşık kodlamalar kullanır (örneğin Huffman kodlaması ile zaman aralıklarını haritalama gibi).

Savunma tarafında bu tür kanalları tespit etmek oldukça zordur. Ağ yöneticileri genellikle paket sayısı, boyutu, içeriği gibi metriklere odaklanır; zamanlama ise incelenmesi en zor parametrelerden biridir. Yine de sürekli ve düzenli paternler veya istatistiksel anomali tespiti ile yakalamak mümkündür. Örneğin, normalde rastgele aralıklı gitmesi beklenen bir protokolün milisaniye seviyesinde düzenli aralıklarla gittiğinin fark edilmesi bir ipucu olabilir.

Sonuç olarak, gizli zamanlama kanalları, saldırganların en sofistike ve en az fark edilen iletişim yöntemlerinden biridir. Network trafiğinin “zaman boyutu”nu kullanarak veri saklama fikri, siber güvenlik savunmasını geleneksel yöntemlerin ötesinde düşünmeye zorlamaktadır. Her ne kadar gerçek saldırılarda nadir görülse de, bu konsept mümkün olduğundan tehdit modeli içinde değerlendirilmeli ve gerektiğinde ağ trafiğinin zamanlama analizi de yapılmalıdır.

Eşler Arası (P2P) Komuta & Kontrol (C2) Ağları

Geleneksel botnet’lerde, tüm enfekte makineler merkezi bir komuta ve kontrol sunucusundan emir alır. Ancak bu merkezi yapı, saldırgan için tek nokta arızasıdır – eğer sunucu kapatılır veya ele geçirilirse botnet çökebilir. Bunu aşmak için bazı büyük ölçekli zararlı yazılımlar eşler arası (peer-to-peer, P2P) ağ topolojisini benimsemişlerdir. P2P C2 ağlarında merkezi bir sunucu yoktur; bunun yerine her bir enfekte makine hem “istemci” hem de “sunucu” gibi davranarak komutların ağ içinde dağıtılmasına katkı sağlar.

P2P botnet’ler, genellikle dağıtılmış hash tabloları (DHT) veya özel protokoller kullanarak birbirlerini bulur ve iletişim kurarlar. Saldırgan, botnet’e yeni bir komut vermek istediğinde, ağa bağlı herhangi bir düğüme (peer’e) bu komutu iletebilir; komut oradan dalga dalga diğer bot’lara yayılır. Böylece belirli bir komuta sunucusunun IP adresini engellemek veya ele geçirmek botnet’i durdurmaya yetmez – ağ adeta canlı bir organizma gibi kendi iç iletişimini sürdürür. Bu yapı, botnet’i kapatmayı veya takip etmeyi son derece zorlaştırır çünkü koordinasyon noktası yoktur; saldırgan bile tüm botlarla doğrudan konuşmaz, komutları P2P ağ üzerinden dolaştırır.

Storm Worm (2008 civarı) bu yaklaşımın öncülerindendi. Storm, spam e-posta ile yayılan bir zararlıydı ve enfekte makineler Overnet/eDonkey gibi bir P2P protokolü üzerinden birbirleriyle bağlantı kuruyorlardı. Böylece binlerce makineden oluşan dev bir ağ meydana geldi ve araştırmacılar uzun süre Storm botnet’inin boyutunu ve yapısını tam olarak anlayamadı. Storm’un merkezi bir C2 mimarisi olmaması, onu dağıtmanın önünde büyük engel teşkil etti ve ancak ağın içeriden “zehirlenmesi” (sahte komutlarla doldurulması) gibi yöntemlerle kısmen etkisiz hale getirilebildi​.

Bir diğer çarpıcı örnek, GameOver Zeus (GOZ) adlı bankacılık trojanıdır. Zeus’un bu gelişmiş varyantı, 2011’den sonra ortaya çıkmış ve tamamen P2P tabanlı bir altyapı kullanmıştır. GOZ botnet’i, 500 binden fazla bilgisayardan oluşan devasa bir ağ kurmuş ve klasik Zeus’un aksine tek bir kontrol sunucusuna bağlı kalmamıştır​.

Araştırmacılar GOZ’u o dönem “dünyanın en sofistike ve en güvenli botnet’lerinden biri” olarak tanımlamışlardır, çünkü dağıtık mimarisi ve ek güvenlik önlemleri (örneğin yerleşik rootkit’ler) botnet’i çökertmeyi son derece güç hale getirmiştir. Nihayetinde 2014 yılında uluslararası bir operasyon (Operation Tovar) ile GOZ ağı çökertilebilmiş ve arkasındaki kişiler yakalanabilmiştir, ancak bu süreç klasik botnet’lere kıyasla çok daha karmaşık bir mücadeleyi gerektirmiştir.

P2P botnet’lerin bir avantajı da dinamik ve çoklu kontrol imkanı sağlamasıdır. Örneğin saldırgan yakalanmamak için sadece küçük bir alt grubu kontrol etmek üzere ağa dahil olabilir ve işleri bittikten sonra ayrılabilir. Botnet ise varlığını sürdürür, çünkü tek tek botlar birbiriyle iletişimde kalmaya devam eder. Bu yapı, hukuk yaptırımlarını da zorlaştırır; bir botnet düğümünün yerini tespit etmek, tüm ağı ele geçirmek anlamına gelmez. Ayrıca bazı P2P botnet’ler ağa giriş için şifreleme ve kimlik doğrulama kullanır, bu da botnet’e sızmayı ve izlemeyi daha da güç kılar. Elbette P2P yaklaşımının saldırgan açısından bazı zorlukları da vardır: Ağ trafiğinin tamamı herkese yayılabileceğinden, güvenlik araştırmacıları ağa bir şekilde katılıp pasif dinleme yaparak bazı bilgileri toplayabilir.

Örneğin Storm botnet’inde araştırmacılar ağa katılıp botların konuşmalarını dinleyerek belirli ölçümler yapabilmiştir​. Ayrıca P2P protokolleri genellikle karmaşıktır ve her düğümde daha fazla kod çalışmasını gerektirir (klasik modele göre daha fazla hata olasılığı demek).

Yine de, eşler arası C2 yaklaşımı, özellikle büyük ve karlı botnet operasyonlarında vazgeçilmez bir araç haline gelmiştir. Güncel örneklerden Mirai IoT botnet’i tam olarak P2P olmasa da benzer şekilde merkezi kontrolü dağıtmak amacıyla birden fazla komuta sunucusu ve çok sayıda düğüm kullanmıştır. 2016’da Mirai kaynak kodu yayınlanmadan önce, onbinlerce IoT cihazını kontrol eden operatörler birkaç yedek C2 ile ağı yönetiyordu. Mirai, en ünlü saldırılarından birinde (Dyn DNS servisine saldırı) yüz binden fazla IoT cihazının kolektif gücünü kullanarak dev bir DDoS saldırısı gerçekleştirmişti​.

Mirai’nin yayılım ve saldırı mekanizmaları incelendiğinde, IoT cihazlarının gücünü dağıtık şekilde kullanmanın ne kadar yıkıcı olabildiği anlaşılmıştır.

HTTP/S Header & Cookie Manipulation

Kötü amaçlı yazılımlar, ağ üzerinden komut alıp gönderirken HTTP/HTTPS protokolünün meşru görünümlü alanlarını suistimal ederek trafiği normal web trafiği arasında kamufle edebilir. Özellikle HTTP başlıkları (header’lar) ve HTTP çerezleri (cookies) bu amaçla sık kullanılır. Normalde web tarayıcıları çeşitli başlıklar ve çerezler ile istek yaparlar; bu veriler genellikle oturum bilgileri, kullanıcı ajanı, referans URL gibi masum bilgiler taşır. Zararlılar ise bu alanlara kendi verilerini gizlice yerleştirerek, C2 iletişimini sanki sıradan bir web isteğiymiş gibi gösterebilir.

En sık görülen yöntemlerden biri, C2 sunucusuna yapılan HTTP GET/POST isteklerinde Cookie başlığı içine gizli komutlar veya çıktı verileri koymaktır. Örneğin, ChChes adlı APT10 grubunca kullanılan bir arka kapı, C2 ile haberleşmesinde HTTP Cookie alanını kullanmıştır. ChChes zararlısının gönderdığı bir istek şu şekildedir:

GET /X4iBJjp/MtD1xyoJMQ.htm HTTP/1.1  
Cookie: uHa5=kXFGd3JqQHMfnMbi9mFZAJHCGja0ZLs%3D; KQ=yt%2Fe...  
Host: <hedef alan adı>  
User-Agent: <tarayıcı bilgisi>  

Yukarıda görüldüğü gibi, URL yolu rastgele gibi görünse de esas ilginç kısım Cookie başlığındaki anlamsız karakter dizileridir. Analizde ortaya çıkmıştır ki bu çerez değerleri, zararlı ile C2 arasındaki gerçek veriyi temsil eden şifreli dizilerdir​. Zararlı yazılım, sistemden topladığı bilgileri veya istekte bulunduğu komutları bu uzun base64 benzeri görünen string’lere şifreleyip çerez değeri olarak sunucuya yollamıştır.

Sunucu tarafında saldırgan, gelen isteğin Cookie alanını çözerek zararlının ilettiği veriyi alır; yanıt olarak da yine bir resim veya HTML sayfası döner gibi yapıp aslında Set-Cookie başlığı içinde yeni komutlar gönderir. ChChes örneğinde, zararlının kullandığı şifreleme algoritması ve sabitleri ele geçirilince, Cookie alanındaki verinin açıkça “systeminfo” komutu çıktısı vs. olduğu anlaşılmıştır.

Benzer şekilde, HTTP’nin User-Agent, Referer, X-Forwarded-For gibi başlıkları da gizli mesaj iletmek için kullanılabilir. Örneğin bir zararlı, her istekte User-Agent stringinin sonuna gizli bir kod ekleyebilir ve C2 sunucusu bu kodu komut olarak yorumlayabilir. Dışarıdan bakıldığında, istek gayet geçerli görünecektir (örneğin “Mozilla/5.0 (Windows NT 10.0; Win64; x64)… zararlı_kod” gibi bir kullanıcı ajanı).

Bazı gelişmiş C2 framework’leri (örn. Cobalt Strike, Empire) malleable C2 denilen esnek profil ayarları sunarak, saldırgana ağ trafiğini istedikleri gibi şekillendirme imkânı verir​. Örneğin Cobalt Strike Beacon, arka plandaki HTTP isteklerini Amazon web trafiğine benzetmek için Host başlığına www.amazon.com yazabilir, URL yolunu gerçek bir ürün arama sorgusuna benzetebilir ve çerezleri de Amazon’un oturum çerezleri gibi gösterip gerçek veriyi onların içine gizleyebilir​. Nitekim bir analizde, Beacon trafiğinin Host başlığı www.amazon.com olsa bile gerçekte bambaşka bir IP’ye gittiği ve tüm Cookie alanının aslında C2 verisini taşıdığı ortaya konmuştur. Bu durum, izleme yapan kişinin kafasını karıştırabilir; zira alan adı popüler bir siteyi işaret ederken, IP adresi farklıdır. HTTPS kullanıldığı durumda ise ortadaki denetleyici sadece amazon.com ile şifreli trafik olduğunu görecek, içeriği inceleyemeyecektir.

Çerez tabanlı C2 kullanımına gerçek bir örnek olarak, PlugX ve HiKit gibi araçların modifiye versiyonlarında da görülmüştür. Saldırganlar, zararlı yazılımlarını normal bir web sunucusuyla konuşturur gibi yapıp, tüm komutları Set-Cookie başlığı ile iletmişlerdir. Kurban makine, aslında zararlı bir komut olan bu çerezi alır ve sonraki isteğinde (tarayıcı mantığıyla) geri gönderir – bu döngüde C2 iletişimi çerezler aracılığıyla sürdürülür. Bu tekniğe literatürde “Cookie Oven” veya Cookie-based covert channel gibi isimler verilmiştir ve ChChes bunların en bilinenidir​.

HTTP başlık manipülasyonu sadece istek tarafında değil, yanıt tarafında da olabilir. Örneğin, saldırganın sunucusu kurbana yanıt dönerken, HTTP cevabının içine gömülü yorumlar, CSS/JS içinde gizli mesajlar koyabilir. Zararlı yazılım bu yanıtı alıp sayfa kaynağındaki gizli bölümü bulup okuyabilir. Bu yöntem, özellikle web tabanlı arka kapılar (web shell) ile konuşurken kullanılır. Örneğin, bir web shell, normal bir 404 hata sayfası gibi cevap verirken aslında HTML yorum tagleri arasında komut çıktılarını gizleyebilir.

HTTPS kullanımı bu tekniklerin etkinliğini artırır, çünkü içerik tamamen şifreli olduğu için bir güvenlik cihazının başlık içindeki anormal veriyi tespit etmesi iyice zordur. Trafik analizi yüzeyinde sadece bilinen bir domain’e giden TLS trafiği görülür. Modern güvenlik çözümleri, TLS içi denetim yapmadıkça bu iletişimi fark edemez.

Bu yönteme karşı savunmada, normal kullanım profillerinin dışına çıkan başlık değerlerini yakalamak önemli olabilir. Örneğin kullanıcı ajanı dizelerinde tutarlı bir model sapması, ya da bir istemcinin sürekli olarak aynı host’a referer olmadan istek yapması gibi ipuçları değerlendirilebilir. Ancak saldırganlar genelde kendi trafiğini tamamen gerçekçi kılmaya çalışır, bu nedenle tespit yine zor olacaktır.

Kısacası, HTTP/S başlık ve cookie manipülasyonu, zararlı yazılımların “görünmez mürekkep” misali kullandığı bir tekniktir. Normal web gezintisi veya API çağrıları kisvesi altında, aslında kötü amaçlı komutlar ve veriler iletilebilir​. Güvenlik analistlerinin, özellikle kritik sistemlerden gelen web isteklerinde alışılmadık header değerlerine ve trafik örüntülerine dikkat etmesi, bu tür gizlenmiş iletişimleri açığa çıkarmak için şarttır.

Tor & I2P (Darknet Tabanlı İletişim)

Saldırganlar, kendi komuta ve kontrol altyapılarını tamamen anonimleştirmek ve izlerini olabildiğince kaybettirmek için Tor ve I2P gibi anonim iletişim ağlarını kullanabilirler. Tor (The Onion Router), trafiği dünya üzerindeki gönüllü çalıştırılan röleler üzerinden katmanlı şifreleme ile geçirerek hem kaynağı hem hedefi gizleyen bir ağdır. Bir zararlı yazılım, Tor ağı üzerinden bir .onion gizli servisine bağlanarak C2 ile haberleşebilir. Bu durumda, kurban makineden çıkan trafik internet üzerinde doğrudan saldırganın sunucusuna gitmez; önce birkaç Tor düğümüne şifreli olarak uğrar ve son çıkış düğümü üzerinden saldırganın gizli servisine ulaşır. Dışarıdan bakan biri, kurbanın sadece Tor ağına bağlandığını görür, içeride ne iletişim olduğunu veya nihai hedefin neresi olduğunu tespit edemez.

Özellikle 2013 sonrası pek çok kötü amaçlı yazılım Tor’u entegre etmeye başlamıştır. Örneğin ChewBacca adlı bir Trojan (Star Wars karakteri ismiyle anılır), tüm keylogger çıktılarını ve komut isteklerini Tor üzerinden iletmiştir​. Kaspersky araştırmacıları, ChewBacca’nın Tor istemcisi içeren 5 MB’lık bir PE dosyası olduğunu ve kurban PC’ye bulaştıktan sonra kendisini Windows hizmeti gibi göstererek Tor ağına katıldığını raporlamıştır​.

Benzer şekilde CryptoLocker fidye yazılımının bazı varyantları, ödeme sunucularıyla iletişimde Tor kullanmıştır. Tor’un saldırganlara sağladığı temel avantaj, C2 sunucusunun IP adresini gizlemesi ve kapatılmasını zorlaştırmasıdır. Bir .onion servisi çalıştıran saldırgan, fiziksel sunucusunu herhangi bir yerde barındırıyor olabilir; dış dünyaya bu sunucu hakkında tek görünen şey, onion adresidir. Bu adres de 16 veya 56 karakterlik rastgele bir diziden oluştuğundan, geleneksel DNS veya IP engelleme yöntemleriyle takibi veya engellenmesi çok zordur.

Tor kullanımı ayrıca saldırganın anonim kalmasını da sağlar. Örneğin bir botnet operatörü, botnet’ine Tor üzerinden bağlanarak komut verirse, gerçek konumu ağ tarafından gizlenir. Bu sebeple, birçok fidye yazılımı operatörü ödeme ve iletişim sayfalarını Tor gizli servisi olarak sunar – mağdurlar Tor tarayıcısı aracılığıyla siteye girer, ancak siteyi kapattırmak veya sahibini bulmak kolluk için zorlu bir iştir.

Ancak Tor kullanmanın saldırgan açısından bazı dezavantajları da mevcuttur. Birincisi, Tor trafiği göze çarpabilir; çoğu kurumsal ağ Tor kullanan istemcileri anormallik olarak işaretler, çünkü normalde şirket içinde Tor tarayıcısı çalışması beklenmez. İkincisi, Tor nispeten yavaş olabilir ve büyük bir botnet Tor ağına aniden çok trafik yüklerse dikkat çekebilir. Örneğin geçmişte Mevade adı verilen bir botnet, C2 iletişimini Tor’a taşımış ve bir gecede Tor trafiğini anormal derecede artırmıştır​.

Bu ani artış, Tor ağının yöneticilerinin dikkatini çekmiş ve sonradan bunun bir botnet hareketi olduğu anlaşılmıştır. Yani, büyük bir botnet Tor kullanmaya başlarsa, Tor trafiğindeki anomali fark edilip analiz edilebilir – bu da saldırganın yakalanma riskini artırır. Tor’un bir alternatifi olarak, bazı zararlı yazılımlar I2P (Invisible Internet Project) ağını kullanır. I2P de bir anonimleştirme katmanı sağlar ancak Tor’dan farklı bir mimarisi vardır: I2P’de tüm kullanıcılar aynı zamanda ağın bir parçasıdır (peer’dir) ve trafik tamamen peer-to-peer bir yapı üzerinden yönlendirilir​.

I2P’de her katılımcı kendi bilgisayarını bir I2P router’ı gibi çalıştırır, bu da ağa giriş-çıkış noktalarını bulanıklaştırır. Ayrıca I2P trafiği uçtan uca şifrelidir ve düğümler arasındaki iletişim de dağıtık olduğundan, ağ trafiği analizi son derece güçtür​.

Bir I2P kullanan zararlı, Tor’dan daha az dikkat çekebilir çünkü I2P trafiği daha az bilinir ve kurumsal ağlarda Tor kadar sık filtrelenmez. Örneğin 2024 yılında raporlanan I2Parcae adlı özel bir RAT (Remote Access Trojan), C2 haberleşmesini I2P üzerinden gerçekleştirmektedir​. Bu zararlı, I2P ağı içinde kendi .i2p adresine sahip bir servisle iletişim kurarak, tıpkı Tor’daki onion servisi gibi çalışır. I2P’nin yapısı gereği, bu servisin nerede olduğu veya trafiğin kaynağının ne olduğu neredeyse hiç görülemez (her I2P node’u paketleri yönlendirdiği için, kurbanın trafiği onlarca farklı noktadan geçer).

Tor ve I2P gibi darknet tabanlı iletişimlerin bir diğer motivasyonu da sansür ve izleme mekanizmalarını atlatmaktır. Özellikle devlet destekli tehdit aktörlerinin (APT gruplarının), operasyonlarında yakalanmamak için bu ağları kullandıkları bilinmektedir. Örneğin, Turla APT’sinin bir dönem Komuta sunucusu iletişimini uydu internet bağlantıları üzerinden ve Tor ile yaptığı ortaya çıkarılmıştır – bu sayede yer tespiti neredeyse imkânsız hale gelmiştir.

Savunma tarafında, bir iç sistemin Tor veya I2P ağına bağlantı kurmaya çalışması ciddi bir uyarı olarak ele alınmalıdır. Böyle bir kullanım beklenmiyorsa, derhal ilgili makinenin zararlı aktivite için taranması gerekir. Bazı gelişmiş güvenlik çözümleri, TLS el sıkışması parmak izlerinden Tor trafiğini veya I2P trafiğini tanımlayabilir. Aynı şekilde ağdan çıkan paketlerin bilinen Tor node’larına gitmesi de tespit edilebilir (Tor düğümleri kamuya açık listelere sahiptir). Fakat zararlı yazılım zaten Tor istemci modunda çalışıyorsa, doğrudan IP yerine alan adı olarak .onion kullanacağından, bu normal DNS çözümleme akışını da atlatır.

Özet olarak, Tor ve I2P tabanlı iletişim, kötü amaçlı yazılımlara anonimlik ve izlenme zorluğu avantajları sağlar. ChewBacca ve benzeri örnekler, Tor’un siber suçlarda barınak olarak kullanılabildiğini göstermiştir​. Ancak bu ağların yanlış kullanımı dikkat çekebileceğinden, saldırganlar da gizliliğe karşı performans dengesini gözetmek zorundadır. Yine de, bu darknet iletişim kanalları, özellikle hedefli saldırılarda ve büyük botnet operasyonlarında, saldırganların yakayı ele vermeden faaliyet göstermelerine imkan tanıyan güçlü araçlar olarak varlığını sürdürmektedir.

Dosyasız ve Yansımalı Kötü Amaçlı Yazılım Yöntemleri

Geleneksel kötü amaçlı yazılımlar, disk üzerinde bir dosya olarak bulunur ve çalıştırılır. Ancak modern saldırganlar “dosyasız” (fileless) tekniklerle iz bırakmadan sistemlere nüfuz etmeyi hedefliyorlar. Dosyasız zararlı yazılımlar, sabit disk üzerinde zararlı bir dosya bırakmaksızın doğrudan bellek üzerinden çalışan veya yerel sistemin meşru araçlarını suistimal ederek çalışan zararlılardır.

Bu tür malware, kalıcılık için Windows Kayıt Defteri’ni kullanabilir, PowerShell gibi yönetim araçlarını kendi kodunu yürütmek için araç olarak kullanabilir veya meşru bir sürecin içine enjekte olarak orada bellekten faaliyet gösterebilir. Fileless malware, sadece RAM’de yer aldığı için klasik antivirüs taramalarında yakalanması çok daha zordur; bu yönüyle siber güvenlikte önemli bir trend haline gelmiştir.

Dosyasız saldırıların yaygın yöntemlerinden biri, “Living off the Land” (LotL) taktiğidir. Bu yaklaşımda saldırgan, hedef sistemde zaten bulunan PowerShell, WMI, MSHTA gibi araçları kullanarak zararlı yükünü çalıştırır. Örneğin bir oltalama e-postası ile gelen macro, diskten bir EXE indirmek yerine, içindeki VBA kodu aracılığıyla arka planda PowerShell çalıştırıp internetten bir komut çeker ve yürütür. Bu komut bellek içindeki bir kabuğu (shellcode) tetikler ve tüm işlemler RAM’de gerçekleşir. Sonuçta sistemde yeni bir dosya oluşmaz; saldırı izi sadece geçici bellek işlemlerinden ibarettir.

Bir başka dosyasız teknik, “reflective DLL injection” (yansıtmalı DLL yükleme) yöntemidir. Bu yöntemde zararlı yazılım, kendi zararlı kodunu bir DLL dosyası gibi belleğe yükler ancak bunu Windows’un normal DLL yükleme mekanizmasını kullanmadan yapar. Yansımalı yükleme, işlemin belleğinde bir bölge ayırıp zararlı kodu oraya yazar ve doğrudan o bellek adresinden yürütmeye başlar​.

Bu esnada disk üzerinde herhangi bir .dll dosyası yoktur, dolayısıyla klasik araçlar tarafından tespit edilmez. Örneğin, bir zararlı PowerShell kullanarak System.Reflection.Assembly.Load() metodunu çağırıp internetten çektiği bir .NET derlemesini hafızaya yükleyebilir ve çalıştırabilir – .NET yükleyici bunu bellekte gerçekleştirir ve dosya sisteminde hiç görünmez​. Yansımalı kod yükleme, aynı proses içinde kod çalıştırdığından ayrı bir işlem oluşturulmaz ve antivirüslerin davranış analitiğinden kaçınmaya yardımcı olur​. Ayrıca zararlı yük, bellek içinde şifreli ya da gizlenmiş halde tutulup sadece çalıştırılırken çözülür; bu da adli analiz açısından işleri zorlaştırır​.

Dosyasız zararlılar, in-memory (bellek yerleşimli) olduklarından kalıcı olmak için genelde kayıt defterine veya planlayıcıya kod parçaları yazarlar. Örneğin Poweliks adlı ünlü bir fileless zararlı, Windows Kayıt Defteri’ne şifreli bir JavaScript kodu gömmüş ve çalıştırmak için regsvr32 üzerinden bu kodu tetiklemiştir. Hiçbir .exe dosyası bulunmayan bu zararlı, sadece registry anahtarlarında ve çalıştığı süreçlerin belleğinde iz bırakmıştır. Kovter adlı başka bir zararlı da benzer şekilde tamamen kayıt defterinde saklanıp oradan çalışmıştır​.

Fileless yaklaşımının C2 iletişimine etkisi de kritiktir. Bu zararlılar genelde kendilerini meşru sistem süreçlerine entegre ettiği için, iletişim trafiği de meşru bir süreçten geliyormuş gibi görünür. Örneğin, bir zararlı svchost.exe içerisine enjekte olduysa, C2 sunucusuyla yaptığı görüşmeler bu Windows hizmet prosesinden geliyor olarak gözükecektir. Bir izleme sistemi, svchost’un internete çıkmasını normal karşılayabileceğinden, zararlının trafiği kamufle olur. Yine dosyasız bir zararlı, Internet Explorer (iexplore.exe) içine enjekte olup ağ trafiğini buradan yaparsa, IDS/IPS bunu fark etmeyebilir çünkü IE trafiği olarak kaydedecektir. Bu şekilde, dosyasız zararlılar hem disktemiz kalır hem de ağ trafiğinde kimlik değiştirerek fark edilmezliklerini artırırlar.

Gerçek vakalardan, Duqu 2.0 (2015 civarı tespit edilen bir APT saldırısı) neredeyse tamamen dosyasız çalışmış, Windows Kayıt Defteri’ne gizlediği şifreli bölümlerde kodunu tutmuş ve yalnızca bellek üzerinde hareket etmiştir. Bu saldırı, geleneksel antivirüslerle tespit edilemeyince uzun süre fark edilmeden kalmıştır. Yine 2020’de görülen bazı fidye yazılım saldırılarında, saldırganların Cobalt Strike Beacon’ı doğrudan bellekten çalıştırdıkları ve Windows Defender gibi korumalardan kaçındıkları rapor edilmiştir​.

Savunma için, dosyasız zararlılarla mücadelede davranışsal analiz ve RAM adli analizi öne çıkar. Örneğin, bir süreç olağandışı .NET assembly yüklemeleri yapıyorsa veya PowerShell çocuk süreçler oluşturup garip parametrelerle çalışıyorsa bu alarm nedeni olabilir.

Microsoft ATA/ATP gibi çözümler, script güvenlik olaylarını ve PowerShell işlem bloklarını izleyerek şüpheli etkinlikleri yakalamaya çalışır. Ayrıca bellek tarama araçları (Volatility gibi), çalışan sistemlerin hafızasını tarayarak bilinen shellcode imzalarını bulabilir.

Özetle, dosyasız ve yansımalı teknikler, saldırganların “gölge gibi” hareket etmesini sağlar: RAM dışında elle tutulur bir kanıt bırakmadan, mevcut süreçlerin içine saklanarak veya yerleşik araçları kullanarak hedefine ulaşır. Bu yöntemler, çağdaş siber saldırıların tespitini zorlaştıran önemli bir trend olduğundan, güvenlik uzmanlarının sadece dosya/imdza bazlı değil, aynı zamanda davranış ve bellek bazlı tespit yöntemlerini de uygulaması gerekmektedir. Zira zararlı artık diskte olmayabilir, ama mutlaka bir iz olarak bellekte yaşayacaktır​.

Mobil & IoT Kötü Amaçlı Yazılım İletişim Teknikleri

Saldırganlar, masaüstü ve sunucu ortamlarının yanı sıra mobil cihazlar ve IoT (Nesnelerin İnterneti) cihazları için de özel iletişim yöntemleri geliştirmektedir. Android, iOS gibi mobil platformlar ile router, IP kamera, DVR, IoT sensörleri gibi cihazlar, geleneksel PC’lerden farklı mimarilere ve kısıtlara sahip olduğundan, zararlı iletişiminde bazı özgün yöntemler öne çıkar.

Mobil Zararlı İletişimi (Android & iOS):

Mobil cihazlardaki kötü amaçlı yazılımlar, çoğunlukla klasik HTTP/HTTPS üzerinden C2 ile konuşmaya devam etse de, mobil ekosistemin sunduğu bazı servisleri de istismar edebilir. Örneğin Android platformunda zararlı yazılımlar, Google’ın Firebase Cloud Messaging (FCM) servisini kullanarak komut alabilirler. FCM aslında uygulamalara push bildirimi yollamak içindir; ancak bir zararlı, kendisini Google’ın push servisine abone ederek saldırganın gönderdiği gizli komutları push bildirimi şeklinde alabilir.

Bu durumda iletişim Google sunucuları üzerinden geldiği için son derece gizlidir ve normal bir uygulama bildirimi gibi görünecektir. Bu tekniğe ilişkin 2018 yılında yapılan bir çalışmada, push bildirimi tabanlı bir Android zararlısının nasıl inşa edilebileceği gösterilmiş ve bu yöntemin gizli bir kanal olarak kullanılabileceği vurgulanmıştır​.

Android zararlıları ayrıca SMS mesajları üzerinden de komut alabilir ya da veri sızdırabilir. Özellikle bankacılık trojanları geçmişte C2 iletişimini SMS ile gerçekleştirmiş, zira SMS verisi operatör ağında gittiğinden kurbanın internet trafiğinde herhangi bir iz bırakmamıştır. Örneğin, saldırgan kontrolündeki bir telefon numarasına SMS atan bir zararlı, içerikte PIN kodu veya cihaz bilgisi gönderebilir. Bu yöntem, günümüzde daha az kullanılsa da hala bazı basit zararlılarda görülür.

iOS tarafında, Apple’ın kapalı ekosistemi nedeniyle zararlı yazılım geliştirmek ve çalıştırmak daha sınırlıdır. Jailbreak yapılmamış (kilidi kırılmamış) iPhone’larda zararlı yüklemek pek mümkün olmasa da, hedefli saldırılarda işletim sistemindeki zafiyetler kullanılarak Pegasus gibi gelişmiş casus yazılımlar cihaza sızdırılabilmiştir. Bu tür gelişmiş iOS zararlıları da iletişim için genellikle HTTPS üzerinden rastgele domain’lere veya IP’lere bağlanır; ancak Apple’ın Push Notification altyapısı da burada rol oynayabilir. Bir iddiaya göre, bazı iOS zararlıları kendilerini kurbanın cihazında bir MDM (Mobile Device Management) profili gibi gösterip Apple push bildirimlerini komut tetikleyicisi olarak kullanmışlardır. Resmi belgelere yansımasa da, bu potansiyel bir vektördür.

Mobil zararlılar ayrıca uygulama içi gizli kanallar da kullanabilir. Örneğin, bir zararlı bir Twitter veya Telegram hesabına arka planda bağlanıp oradaki mesajları okuyabilir (Twitoor adlı Android botnet’inin Twitter’ı C2 için kullandığı tespit edilmiştir​.

Veya WhatsApp gibi popüler uygulamaların yedekleme API’larını suistimal ederek veri sızdıran casus yazılımlar raporlanmıştır. Bu tür yöntemler, meşru uygulamaların altyapısını kullandığından tespiti zorlaştırır.

IoT Zararlı İletişimi

IoT cihazları genellikle hafif işletim sistemlerine (çoğunlukla gömülü Linux) ve sınırlı donanım kaynaklarına sahiptir. Bu cihazlara bulaşan zararlı yazılımlar (örneğin Mirai türevleri, Gafgyt, Hajime vb.), iletişim için çoğunlukla basit ve doğrudan yöntemler kullanır. Birçok IoT botnet zararlısı, bulaştıktan sonra sabit kodlanmış bir IP/port listesine bağlanarak C2 sunucusuna kendini kaydeder.

Örneğin Mirai botnetinde, zararlı her yeni enfeksiyonda kendi yapılandırmasındaki komuta sunucusuna (genelde sabit bir IP ve port) bağlanıp “ben buradayım” derdi. Sonrasında saldırgan tüm botlara komut göndermek istediğinde bu sunucu üzerinden telnet komutları yollar, botlar da alıp uygulardı. Mirai’nin kaynak kodu incelendiğinde, birkaç IP adresinin ve portun gömülü olduğu görülmüştür. Ancak Mirai operatörleri işi sağlama almak için birden fazla yedek C2 sunucusu belirtmişler; hatta bazı Mirai varyantlarında basit bir DNS DGA bile kullanılmıştır (C2 alan adını haftalık değiştirmek gibi). Mirai, IoT dünyasının siber silahı haline gelerek yüzbinlerce cihazı koordine etmiş ve Dyn saldırısı gibi dev olaylara imza atmıştır​.

IoT zararlıları iletişimde çoğu zaman oldukça gürültücü davranırlar – örneğin Mirai, yeni kurbanlar aramak için interneti tararken yoğun bir port tarama trafiği yaratır. Ancak C2 iletişimlerini olabildiğince küçük tutmaya çalışırlar (çünkü taramalar zaten yeterince dikkat çeker). Bu nedenle IoT botnet komutları genelde basit metin komutları veya tek baytlık kodlar şeklindedir. Örneğin bir DDoS başlatma komutu, bot’a sadece saldırı türü ve hedef IP gibi kısa bilgiler gönderir, bot bunları alıp saldırıya başlar.

Bazı gelişmiş IoT zararlıları ise P2P mimarisine kaymaktadır. Hajime adlı IoT zararlısı, botnet kontrolünü BitTorrent protokolü benzeri bir yöntemle dağıtmıştır. Merkezi sunucu yerine, botlar torrent tracker üzerinden birbirlerini bulur ve bir “üstün yazılım güncellemesi” olduğunu iddia eden bir payload paylaşarak ağ içinde komut yayarlar. Bu yaklaşım, IoT cihazlarının kapasiteleri dahilinde P2P’yi entegre eden ilginç bir örnektir.

Mobil ve IoT cihazlar, genellikle kullanıcı tarafından doğrudan izlenmeyen veya yönetilmeyen cihazlar olduklarından, üzerlerindeki zararlı iletişim uzun süre fark edilmeyebilir. Bir güvenlik kamerası DVR’ı, arka planda her 10 dakikada bir komuta sunucusuna ping atsa, bunun farkına varmak zordur. Yine bir akıllı ampul, zigbee ağı üzerinden garip sinyaller gönderiyor olsa, kimse kolay kolay anlamaz.

Kurumsal düzeyde, MDM/UEM çözümleri mobil cihazlarda anormal davranışları algılamaya çalışır; örneğin beklenmedik bir dış bağlantı, arka planda sürekli çalışan bir servis tespit ederse uyarabilir. IoT için ise ağ segmentasyonu ve izleme önemlidir: IoT cihazlarının sadece gerekli olduğu kadar internete erişimine izin verilmeli, eğer bir güvenlik kamerası bulut servisi dışında bir IP’ye veri yolluyorsa alarm üretilmelidir.

Sonuç olarak, mobil ve IoT zararlıları da arka uç iletişimini gizlemek için yaratıcı teknikler kullanır. Mobil tarafta push bildirimleri, sosyal medya platformları ve işletim sistemi servisleri kötüye kullanılırken, oT tarafında minimal ve dağıtık protokoller tercih edilir. Mirai botnet’i gibi örnekler, IoT cihazlarının birleşerek ne denli büyük ölçekli saldırılar yapabildiğini göstermiştir​.

Bu alanlar, siber savunmanın nispeten yeni cepheleri olduğundan, saldırganlar yenilikçi iletişim yöntemleriyle avantaj sağlamaya çalışmaktadır. Bu yüzden güvenlik topluluğu, mobil ve IoT zararlı iletişimlerini de yakından analiz edip, bu gizli kanalları ortaya çıkaracak teknikler geliştirmeye devam etmektedir.

Kaynak
MITRE ATT&CKMITRE ATT&CKMITRE ATT&CKThreatPost PaloAltoJPCERT/CCCloudFlare
Exit mobile version