# Botnet
Botnet bazen (kısaca robot network) bilgisayar bilimciler tarafından kullanılan bir sözcüktür. Botnetler birçok yazılım ajan programından oluşur. Her yazılım ajan programı uzaktan kontrol edilir. Botnetler bir birim olarak hareket etme yeteneklerine sahiptir. Bir botnet tekrarlanan görevleri ve hedeflerini tamamlamak için bir çaba ile diğer benzer makinelerle iletişim kuran İnternet bağlantılı bilgisayarların bir dizisidir. Bu bir Internet Relay Chat (IRC) kanal kontrolü tutucu gibi sıradan bir şekilde olabilir ya da istenmeyen e-posta göndermek veya dağıtık reddi hizmet saldırılarına katılmak için kullanılabilir. Botnet kelimesi robot ve network bileşimidir. Terim genellikle olumsuz ya da kötü niyetli bir çağrışım ile birlikte kullanılır.
Bu tür ağlar genellikle spam e-posta göndermek için kullanılır. Bir botnet saldırganın kontrolü altındadır ve zombi bilgisayarların onlarcası, binlercesi ve hatta yüz binlercesi bir ağ olarak ifade edilebilir


## Botnet uygulamaları.
### Yasal uygulamalar.
Botnet terimi birkaç IRC botuyla bağlantılı olmuştur ve zaman zaman yaygın olarak kullanılan ve muhtemel diğer botlar ve istenmeyen kullanıcıların ücretsiz IRC kanallarını tutarken kanal modları ayarlanabilir. İlk yasadışı botnet'ler yasal botnet'lere benzer bir terim olarak bu noktada oluşmaktadır. IRC, botnet'leri kurmak için kullanılan ortak bir eggdrop botu olmaktadır.


### Yasadışı uygulamalar.
Botnetler bazen bilgisayarların savunma güvenliğini aşması durumunda, gedikli ve kontrollü olarak üçüncü bir şahsa ait kabul edilmiştir. Bir bilgisayar, bir malware (kötü amaçlı yazılım) dağılımına yazılım tarafından nüfuz edildiğinde bir "bot" olarak bilinen her tür tehlikeli aygıtla oluşturulur. Bununla birlikte aynı zamanda bir bilgisayar içine yerleşen veri ihlalinin (ya da örümcek) biri olabilir. Bir botnet denetleyicisi gibi IRC ve Köprü Metni Aktarım Protokolü (HTTP) olarak ölçütlere dayalı ağ protokolleri tarafından oluşturulan iletişim kanalları yoluyla bu aşılan bilgisayarların etkinliklerini yönlendirmek mümkündür.
Botnetler giderek çeşitli amaçlar için meta olarak siber suçlular tarafından kiraya verilmiştir.


## Güçlendirme.
Kötü amaçlı yazılımları çalıştırdığınızda botnet, bilgisayarların içine yerleşir. Bu ya bir e-posta eki ile gelebilir bir Truva atı programı ya da içine kullanıcı kandırma yoluyla çalışan bir sürücü indirme ağ tarayıcı açıklarını istismar ederek kullanıcılar tarafından gerçekleştirilebilir. Bu kötücül yazılım, genellikle bilgisayar komutası ve botnet operatörü tarafından kontrol edilerek modülleri kuracaktır. Yazılım indirildikten sonra ana bilgisayara (bir yeniden bağlanma için paket gönderimi) bağlanmayla gönderim olacaktır. Birçok bilgisayar kullanıcısı kendi bilgisayarlarının botlar ile enfekte olduğunun farkında değildir.


## Botnet mimarisi.
Bir botnet üzerinde yöntemleri iletişim için inşa edilir. Botnet mimarisi zamanla gelişmiştir ve tüm botnet'ler komuta ve kontrol için aynı topolojiyi sergiler. Gelişmiş topoloji kapatma, numaralandırma ya da keşif daha esnek olmaktadır. Ancak, bazı topolojiler üçüncü şahıslara botnet pazarlanabilirliğini sınırlandırabilmektedir. Özgün botnet topolojileri hiyerarşik ve rastgele yıldızlı bir çoklu sunucu tipindedir.


### İstemci-sunucu modeli.
İstemci-sunucu modeli çevrimiçi belirmiş ve genellikle Internet Relay Chat veya bot ağının kontrol edilecek komutlarını listeler, botnet'lerin inşa edilmiş ilk türleri alan adlarını veya ağ sitelerini kullanılarak ortaya çıkmıştır. IRC komutları daha basit olma eğilimindedir ve botnet'ler bir IRC ağı üzerinde inşa edildiğinde daha küçük olma eğilimindedir. IRC ağları düşük bir bant genişliği gerektirirken ve iletişim için basit yöntemleri kullandığından bu yana, onların yapısı basit olma eğilimi olan botnet'lere ev sahipliği için kullanılır olmuştur ve DDoS saldırılarının eşgüdümünde veya spam aday olma durumunu önlemek için kanal değiştirme sırasında birçok kez kullanılmıştır. Belirli anahtar sözcüklerin engellenmesinin bazen IRC'ye dayalı bir bot ağının durdurulmasında etkili olduğu kanıtlanmıştır.
Yapılmış en büyük botnet çoğu kendi yapısında olan alan adları yerine IRC kullanma eğiliminde olmuştur (aynı zamanda Rustock bot ağı ve Srizbi bot ağı'na bakınız). Neredeyse her zaman kurşun geçirmez gibi bir hosting hizmeti ile barındırılmışlardır (Bakınız Dost bir toplu barındırma). İstemci-sunucu modeline dayalı botnetler çoğu zaman bir konuda yayından kaldırıldığından bu yana, bilgisayar korsanları bot ağının yayından kaldırılmasını önlemek için başka bir P2P sistemine doğru kaydırmışlardır.
Botnet sunucuları genellikle, gereksiz bir parçalama tehdidini azaltacak şekilde daha büyük fazlalık ile bağlantılıdırlar. Gerçek bot ağı toplulukları genellikle nadiren yüksek komut hiyerarşilerinin geliştirildiği bir veya birkaç denetleyicilerden oluşmaktadır ve bireysel eşler arası (peer-to-peer) ilişkilere dayanmaktadırlar.
Yukarıda sözü edildiği gibi botnet sunucu yapısının ("botnet server structure") doğal zayıflıkları ve sorunları vardır. Örnek olarak, bir botnet kanalı ile bir sunucu bulgusu genellikle diğer sunucuların yanı sıra botları da ortaya çıkarabilir. Artıklıktan yoksun bir botnet sunucu yapısı o sunucunun en azından geçici olarak kesilmesine açıktır. Ancak son IRC sunucusu yazılımı bu yaklaşımı ortadan kaldırarak, diğer bağlı sunucuları ve botları maskelemek için özellikler içermektedir.


### Eşler arası model.
Çoğu zaman IRC ağları ve etki alanları aşağı indirilebilir, bilgisayar korsanları tutulmaları zor hale getirmek için bir yöntem olarak P2P ağlarını taşımıştır. Hatta bazılarının sabitleme veya botnet'i kilitleme için bir yol olarak şifreleme kullandığı bilinmektedir, çoğu zaman onlar Açık Anahtar şifreleme (Public-Key encryption) uygulanmasında şifreleme kullanıldığında kırılma zorluklarını sunmuştur. (Gameover ZeuS ve ayrıca ZeroAccess botnet'e bakınız)
Bazı yeni botnet'ler neredeyse tamamen P2P sistemi barındırmaktadır. Komuta ve kontrol ile oldukça iyi bir şekilde harici sunucularda botnet'e gömülür, böylece başarısızlık durumunda tek bir noktadan kaçınarak birçok önlem savuşturulmaktadır. Komutçular, sadece güvenli tuşlar aracılığıyla tespit edilebilir ve ikili düzende kendisi dışındaki tüm veriler şifrelenebilir. Örneğin, bir casus program içine katı kodlar veya bot yazılımı ile dağıtılan bir ortak anahtarla bunların tümü şüpheli şifreleme bölütünde olabilecektir. Bir tek (Botnet uygulayıcıları tarafından bilinen tek) özel anahtar ile bot tarafından yakalanan verilerin tamamı okunabilir.
P2P yönteminde komuta ve kontrol ile bot'a sadece komutlar gönderilir ve ayrıntılı olarak botnet'te diğer eşlere aktarılır bir eş listesinin bilinmesi eğilimi artar. Liste ile o komutlar hızla diğer eşlere aktarılabilir, izin verilmesi için yeterince küçük olmasını sağlar, 256 eş civarında olma eğilimindedir ve daha zor eşlerin önemli numaraları çevrimiçi kalmaya izin verirken botnet çalışmasını bozan bir yayından kaldırma çabası içinde aşağı alınır.


## Botnet çekirdek bileşenleri.
Kullanılan bir botnet'in birkaç çekirdek bileşeni vardır. Başlıcaları aşağıda listelenmiştir;


### Komuta ve kontrol.
Bilgisayar güvenliği, komuta ve kontrol alanında (C&C) altyapı sunucuları ve genel olarak kötü amaçlı yazılımları yönetmek için kullanılan diğer teknik altyapı ve özellikler botnet'lerden oluşur. Komuta ve kontrol sunucuları ya doğrudan kötü amaçlı yazılım uygulayıcıları tarafından kontrol edilebilir ya da kendileri zararlı olarak tehlikeli donanım üzerinde çalışırlar. Hızlı akılı DNS ("Fast-flux DNS") çok zor kontrol sunucularının izini sürmek için bir yol olarak kullanılabilir ve bu, günden güne değişebilir. Kontrol sunucuları da etki alanı oluşturma algoritmaları denetleyicisi ile sunucular için yeni DNS adları oluşturmada kullanılır ve DNS etki alanında atlamalar olabilir.
Bazı durumlarda, bilgisayar güvenlik uzmanları, yok etmede kötü amaçlı yazılımların komuta ve kontrol ağlarını altüst etmeyi başarmışlardır, başka yollarla sunucuları ele geçirme ya da K&K altyapısının iletişiminde kötü amaçlı yazılımlar tarafından kullanılması nedeniyle bulunduğu alanlara erişimi reddeden ve bazı durumlarda K&K ağına kendiliğinden zorla girebilmektedirler. Buna karşılık olarak, K&K uygulayıcıları onların K&K ağlarında üst üste gelen teknikler kullanan yöntemlere başvurmuşlardır. IRC veya Tor gibi diğer mevcut iyi huylu altyapıda, herhangi bir sabit sunucu üzerinde bağımlı olmayan eşler arası (peer-to-peer) ağ sistemleri kullanılarak ve ortak anahtar şifreleme kullanarak girmeye veya ağ adres sahteciliği girişimlerini yenilgiye uğratmaya çalışmışlardır.


### Zombi bilgisayar.
Bilgisayar bilimi, bir zombi bilgisayarı, bilgisayar korsanı tarafından bilgisayar virüsü ya da truva atı aşılanan ve uzaktan yönetim altında tutularak bir tür görev dizisi veya başka zararlı görevleri gerçekleştirmek için kullanılabilecek internete bağlı bir bilgisayar olarak tanımlar. Zombi bilgisayarları botnetler genellikle reddi hizmet saldırıları, istenmeyen e-posta yayımı ve başlatımlar için kullanırlar. Zombi bilgisayarların çoğu sahibi bilgisayarlarının sistemde bu şekilde kullanılmakta olduğunun farkında değillerdir. Kullanıcıları bilinçli olmama eğilimindedir çünkü bu bilgisayarlar mecazi anlamda zombiler ile karşılaştırılır. Birden fazla botnet makineleri ile bir eşgüdümlü DDoS saldırısı, bir zombi sürüsü saldırısına benzer.


## Botnet yapılaşması.
Bu örnek, bir botnet'in oluşturulması ve kötü niyetli kazanç için nasıl kullanıldığını göstermektedir.
 - Bir bilgisayar korsanı, kimine göre yükü kötü niyetli bir uygulama olan bir bot için ya bir Truva oluşturur ya da bunu exploit kit ile kullanıcıların bilgisayarlarına virüs bulaştırmak için kullanır.
 - Belirli bir komuta ve kontrol sunucusuna bulaşmış bilgisayar kayıtlarına ilişkin botlar (Bu bot ustasının çevrimiçi etkin olan bot günlüklerini tutmasını sağlar).
 - Bir botnet kaynak yaratıcısı ("Bot master") daha sonra tuş vuruşlarını toplamak veya çevrimiçi kimlik bilgilerini çalmak ve yakalama biçimini kullanmak için botlar kullanabilir ve bir hizmet olarak DDoS ve/veya istenmeyen posta için botnet kiraya verilebilir ya da bir kâr amacıyls çevrimiçi kullanılabilir.
 - Botların nitelik ve yeteneğine göre değerler artar ya da azalır.


### Örgütlenme.
Botnet'ler sık sık onları yaratan zararlının adını almakla birlikte, birden fazla botnet genellikle aynı kötü amaçlı yazılımı kullanmaktadır, ancak farklı kişiler tarafından işletilebilmektedir.
Bir botnet kaynak yaratıcısı (bir "bot herder" ya da "bot master" olarak da bilinir) suç amaçlı genellikle IRC yoluyla uzaktan kontrol grubu ile birlikte hareket eder. Bu sunucu komut ve kontrol (C&C - Command-and-Control) sunucusu olarak da bilinir. Gerçi ender görülen bazı daha deneyimli botnet operatörleri program mimarisini komut protokollerine odaklar. Bu protokoller, bir sunucu programı, çalışması için bir istemci programı ve kurbanın makinesine kaynak sürümünü gömen programı içerir. Bunlar botnet algılaması ile içeri sokulmaya karşı gizli ve korumalı benzersiz bir şifreleme şemasını kullanarak bir ağ üzerinden iletişim kurar.
Bot genellikle gizli çalışır ve gizli bir kanalı kullanan (örneğin RFC 1459 (IRC) ölçütü, Twitter veya IM) komut ve kontrol sunucusuyla iletişim kurar. Genellikle, faili çeşitli araçları kullanarak birden fazla sistemi tehlikeye atmıştır (exploit, bellek taşması ve ayrıca RPC'ye bakınız). Yeni botlar otomatik olarak çevreyi tarayabilir ve güvenlik açıklarını ve zayıf şifreleri kullanarak kendilerini yayarlar.
Gerçek botnet toplulukları genellikle nadiren yüksek komuta hiyerarşileri ile geliştirmiş ve bir veya birkaç denetleyiciden oluşmakta ve bireysel peer-to-peer ilişkilerine dayalıdırlar.
Botnet mimarisi zamanla gelişmiş ve tüm botnet'ler komuta ve kontrol için aynı topolojiyi sergilemişlerdir. Ancak, bazı topolojiler üçüncü şahıslara botnet pazarlanabilirliğini sınırlamaktadır. Normal botnet topolojileri yıldız, hiyerarşik ve rastgele çoklu sunucuları vardır.


## Karşı önlemler.
Karşı önlemler Botnet'lerin coğrafi dağılımda, her işe ayrı onarılması/tespit edilmesi/kafeslenmesi gerektiği anlamına gelir ve bu filtreleme yararlarını sınırlar. Bazı botnet'ler DynDns.org, No-IP.com gibi barındırma hizmetlerinden ücretsiz DNS kullanabilir ve Afraid.org, botları barındıran bir IRC sunucusunda doğru bir alt alan'a işaret edecektir. Bu ücretsiz DNS servisleri kendilerine yapılan saldırılarda ana bilgisayar yok edilirken, onlara (genellikle sabit kodlu botnet çalıştırılamaz) kaynak noktası sağlar. Bu tür hizmetlerin kaldırılması bütün bir botneti sekteye uğratabilir. Bazı botnet'ler tanınmış protokollerin özel sürümlerini devreye sokarlar. Uygulama farklılıkları Botnet'lerin tespiti için de kullanılabilir. Örneğin, Mega-D Botnet'in istenmeyen posta sınama yeteneği için biraz değiştirilmiş SMTP protokolü uygulaması bulunmaktadır. Mega-D, SMTP sunucusunu düşürerek aynı SMTP sunucusuna güvenmekte olan botlara karşı tüm katışıksız havuzu devre dışı bırakır.
Bilgisayar ve ağ güvenliği şirketleri botnet'lere karşı yazılımlar yayımlamıştır. Norton AntiBot tüketicilere yöneliktir, ama çoğu hedef işletmeler ve/veya İSS'lere de yöneliktir. Ana bilgisayar tabanlı teknikler geleneksel anti-virüs yazılımlarını bypass eder ve bot davranışını sezgisel olarak belirlemeye çalışır. Ağ tabanlı yaklaşımlar yukarıda açıklanan teknikleri kullanma eğilimindedir; Komuta ve kontrol (C&C) sunucuları ve boşa yönlendirme ile DNS girdileri kapatılır ya da tamamen IRC sunucuları kapatılır. BotHunter ağ trafiğini çözümleyen ve kötü niyetli süreçlerin karakteristik desenlerini karşılaştırarak bir ağ içinde botnet etkinliği algılayan ABD Ordusu Araştırma Ofisi desteğiyle geliştirilen bir yazılımdır.
Bazı botnet'lerin tespitinde, araştırmacı IP adresi ile bir DDoS saldırısına karşı belki reaksiyona girebilir ve onlar araştırma girişimlerine karşı tepki yeteneğine sahiptirler.
Sandia Ulusal Laboratuvarları araştırmacıları aynı anda bir milyon Linux çekirdeğini çalıştırarak Botnet'lerin davranışlarını analiz etmekte —bir botnet'e benzer bir ölçekte— bir 4,480 düğümlü yüksek performanslı bilgisayar kümesinde sanal makinelere izin verir ve çok büyük bir ağı taklit ederek onların yollarını, botnet'lerin çalışma prensiplerini deneyle durdurmak için izlemektedir.


## Botnet'lerin tarihsel listesi.
  - Kaliforniya Üniversitesi'ndeki araştırmacılar, Santa Barbara'da beklenenden altı kat daha küçük bir botnet'i kontrol altına almıştır. Bazı ülkelerde, kullanıcıların IP'lerinin günde birkaç kez el değiştirmesi yaygındır. IP adresleri sayısına göre botnet boyutunu tahmin genellikle muhtemelen yanlış değerlendirmelere yol açan araştırmacılar tarafından kullanılmaktadır.