Bir Botnet'in anatomisi



Ekleyen
robut
Güncelleme Zamanı
08.09.2009

Spam yaymak ya da bir şirkete ya da ülkeye hizmet dışı bırakma saldırısı başlatmak için kendi "Botnet"inizi yapmak isteseydiniz ne olurdu?

SecureWorks'ün kötü niyetli yazılım araştırma birimi yöneticisi Joe Stewart bunun aslında çok zorlu bir iş olduğunu söylüyor... Las Vegas'taki Black Hat güvenlik konferansında Joe Stewart, Storm adlı bir solucan Botnet üzerindeki çalışmaları anlattı. Paket açıcılar, hata ayıklayıcıları ve kaynak koda dönüştürücüler kullanan Stewart, kötü amaçlı ağı parçalarına ayırmayı, nasıl çalıştığını öğrenmeyi ve diğer Botnet'ler zamanla başarısız olurken, Storm'un neden bu kadar dirençli olduğunu öğrenmeyi başarmış.

Joe Stewart - Las Vegas BlackHat 2008

"Birleşik işlem gücü, büyük bir süper bilgisayarınkine eşit olabilen Botnet'ler organiktir fakat buna karşın, fark edildikten ve devre dışı bırakıldıktan sonra yaptıkları gibi, istedikleri zaman evrim geçirirler." diyor Stewart. Fakat Storm gibi başarılı bir Botnet'i kopyalamak isteyen herhangi birisi zamanını boşa harcamış olur. Storm'u başarılı yapan kodlama hileleri İnternet'te bulunmasına rağmen, Storm'un püf noktası bu kodları bir araya getirebilmesiydi.

Storm'un gelişiminin uzun bir süreç olduğunu düşünen Stewart şöyle diyor: "Bu sistemi tamamıyla kendi ihtiyaçlarınıza göre nasıl çalıştıracaksınız? Bu gerçekten de çok karmaşık bir işlem. Storm'u geliştiren kişi, bunu uzun bir zaman sürecinde yapmış. Bugün olduğu gibi eş düzeyler arası (peer-to-peer) programlarla başlamamışlar, çok daha basit bir şeyle işe başlamışlar. Daha sonra da üstünde küçük geliştirmeler yapmışlar. Bu sisteme çok uzun saatler harcandığı belli."


Storm'un Yapısı


Storm'un Yapısı

Basit bir Botnet, dünya genelinde güvenlikleri tehdit altına girmiş binlerce masaüstü bilgisayara bağlanan bir Command and Control (C&C) (komuta kontrol) sunucusuna sahiptir. Eğer bu her zaman geçerli olsaydı, Botnet'ler kolayca bulunarak ve C&C sunucuları kapatılarak devre dışı bırakılabilirdi. Storm'un yaklaşımı ise çok daha katmanlı ve incelik dolu. En tepede bir Command & Control (komuta kontrol) sunucusu Apache, muhtemelen Rusya'da bir yerlerde bulunuyor. Bir sonraki seviyede ise bir Nginx 0.5.17 proxy kullanan başka bir sunucu, Apache makinesini gizlemek için tasarlanmış. Üçüncü seviyede birkaç Nginx 0.5.17 proxy'si ana Nginx 0.5.17 proxy'nin görülmesini engelliyor. Dördüncü seviyede denetleyiciye götüren ve fast-flux (Botnetlerin, Proxy işlevi gören ve sürekli değişen, tehdit altındaki bilgisayar ağının arkasındaki kötü niyetli ve dolandırıcılık sitelerinin görünmesini engellemek için kullandıkları bir DNS tekniği) sunucusu işlevi gören normal kullanıcı bilgisayarları konumlanıyor.

Storm un yapısı

Son seviyede, dünya genelinde güvenlikleri tehdit altına alınmış binlerce bilgisayardan oluşuyor. Stewart, Storm'un bir bilgisayarı bir damlayla enfekte ettiğini söylüyor. Şu anda tercih edilen enfeksiyon işlemiş bir e-posta linkiyle oluyor fakat bu bir eş düzeyler arası (peer-to-peer) işleme dönüşebilir. Ne kadar enfekte edilmiş olursa olsun, son kullanıcı tarafından bir kez bu linke tıklanmasından sonra, dördüncü düzey bir süper "node" dan EXE dosyasına ulaşan bir kökçük, kullanıcının bilgisayarına kurulur. Bu bilgisayara bir kez bu işlem uygulandığında süper "node", tehdit altına alınmış masaüstü bilgisayarın IP bilgileri elde ediliyor ve bu bilgi, eşleme işlemi olarak üçüncü düzeydeki bir süper "node" proxy'sine gönderiliyor. Üçüncü düzeyde ayrıca bu bilgi sıkıştırılıyor ve gizlemek için şifreleniyor, daha sonra ikinci düzeydeki proxy'ye gönderiliyor ve son olarak da en üstteki sunucuya bu bilgi ulaştırılıyor.

Overnet/Donkey

Overnet/eDonkey

İkinci ve üçüncü düzeylerde, Nginx proxy'leri Overnet/eDonkey, eş düzeyler arası İnternet trafiğini dinliyorler. Overnet/eDonkey, Amerika Kayıt Endüstrisi Birliği tarafından kapatılana kadar, popüler bir eş düzeyler arası (peer-to-peer) ağ uygulamasıydı. Hizmet kapatılmış olmasına rağmen kodu hala duruyor. Botnet operatörlerinin yapmayı en çok sevdikleri şey Overnet/eDonkey'nin yayılmış halii; burada merkezi bir eş düzey listesi bulunmuyor. Bu yüzden her bir "node" kullanıcı komşu eş düzeylerin küçük bir listesine sahip.

Merkezi olmayan bu ağ, Stewart'ın ve diğer birçok uzmanın söylediği gibi Storm'un bu kadar başarılı olmasının nedeni.

Bu, neredeyse Storm'un çöküşü anlamına geliyor. Overnet/eDonkey, hala dosya paylaşımında kullanılıyor, bu yüzden Storm'un bakış açısıyla orada yoğun bir Botnetdüzmece trafik var. Kendi trafiğini diğer trafikten daha iyi ayırmak için Storm'un Kadamlia tarafından yayılan sağlama (hash) tablosunu kullandığını ve C&C sunucusunun da sadece bu ön görülebilir MD4 sağlamalarını dinlediğini söylüyor Stewart. Bu sağlamalar, IP adresi ve kullanılan portu içeren basit bir sağlama algoritmasından türetiliyor.

"Öngörülebilir sağlamalar, araştırmacılar için de pozitif bir etkiye sahip" diyor Stewart: "Eğer bir eş düzey (peer), arattığınız özel "node"un yerini bilmiyorsa, bilinen eş düzey, aradığınıza en yakın eş düzeylerin bir listesini sağlar." Tüm Overnet/eDonkey süper "node"ları eş düzeyleri, kendilerini yayımladıkları için, Stewart ve diğer araştırmacılar, tüm bu "node"ları gezerek Botnet'in boyutuyla ilgili çok doğru bir bilgi edinebiliyorlar.

Mükemmel Değil

Fakat son zamanlarda Storm yine evrim geçirmeye başladı. Bu defa, yerleşik bir anahtar ve basit bir XOR kullanıp, paketleri şifreleyerek kendi ağını genel İnternet trafiğinden izole ediyor. Ayrıca, ilk enfeksiyon yoğunlaştırmasını veya sıkıştırma işlemini de değiştiriyor. Dış katmanlar her 10 dakikada bir değişiyor, içindeki bot koduysa yoğunluğunu ayda bir değiştiriyor. Yoğunlaşması ya da şifrelemesi, güvenlik araştırmacılarını henüz yenemedi.

Fakat, şifrelemenin bir kötü yanı, Storm'un yaratıcılarının ağlarını bölümlere ayırıp satabilecekleri - bu, Botnet'i diğerlerine satmaları ya da kiralamaları anlamına geliyor. Parçalama ile ilgili bu spekülasyonların çok geniş şekilde yayılmış olmasına rağmen Stewart, henüz bunu gözlemlemediğini söylüyor.