miniatura| Diagrama botnet Stacheldraht care arată un atac DDoS. (acesta este, de asemenea, un exemplu de tip client-server al unei botnet.) Botnet-ul este un sistem de dispozitive interconectate prin Internet, fiecare dintre acestea rulând unul sau mai mulți roboți. Botnet-ul poate fi utilizat pentru a efectua un atac DDoS, pentru furtul de date, distribuirea de spam și permiterea atacatorului de a acceseze dispozitivul și conexiunea acestuia. Proprietarul botnet-ului poate controla boții utilizând software-ul de comandă și control (C&C). Cuvântul „botnet” este o combinație dintre cuvintele „robot” și „rețea”. Termenul este de obicei utilizat cu o conotație negativă sau rău intenționată.

Prezentare generală Un botnet este o colecție logică de dispozitive conectate la Internet, cum ar fi computerul, smartphone-ul sau dispozitive IoT a căror securitate a fost compromisă deja, putând fi controlată de o terță parte. Dispozitivul compromis este cunoscut sub numele de "bot". Compromiterea dispozitivului este realizată atunci când dispozitivul este pătruns de software-ul dintr-o distribuție malware (software rău intenționat). Controlerul unei botnet este capabil să direcționeze activitățile acestor computere compromise prin canale de comunicare formate din protocoale de comunicații standarde, cum ar fi IRC și Hypertext Transfer Protocol (HTTP).

Închirierea de boți se practică din ce în ce mai mult de către infractorii cibernetici pentru diverse scopuri.

Arhitectură Arhitectura Botnetului a evoluat de-a lungul timpului într-un efort de a nu fi detectat și perturbat. În mod tradițional, programele bot sunt construite drept program client care comunică prin servere existente. Acest lucru permite bot herder-ului (persoana care controlează bot-ul) să controleze programul de la distanță. Boții mai recenți se bazează pe rețele existente peer-to-peer pentru a comunica. Aceste programe bot P2P efectuează aceleași acțiuni ca modelul server-client, dar nu necesită un server central pentru a comunica.

Modelul client-server dreapta|miniatura|258x258px| O rețea bazată pe modelul client-server, în care clienții individuali solicită servicii și resurse de la servere centralizate Primii boți de pe internet au folosit un model client-server pentru a-și îndeplini sarcinile. În mod obișnuit, acești boți funcționează prin intermediul rețelelor de comunicare IRC, domenii sau site-uri web. Clienții infectați accesează o locație predeterminată și așteaptă comenzi primite de la server. Bot herder-ul trimite comenzi către server, care le transmite clienților. Clienții execută comenzile și își raportează rezultatele înapoi la bot herder.

În cazul boților IRC, clienții infectați se conectează la un server IRC infectat și se alătură unui canal pre-desemnat pentru C&C de către bot herder. Bot herder-ul trimite comenzi către canal prin intermediul serverului IRC. Fiecare client preia comenzile și le execută. Clienții trimit mesaje înapoi la canalul IRC cu rezultatele acțiunilor lor.

Peer-to-peer (de la persoană la persoană) miniatura|258x258px| O rețea peer-to-peer (P2P) în care nodurile interconectate („peer”) împărtășesc resurse între ele fără utilizarea unui sistem administrativ centralizat Ca răspuns la eforturile de detectare și decapitare a boților IRC, botnetul a început să se folosească de comunicarea peer-to-peer. Acești roboți pot utiliza semnături digitale, astfel încât numai cineva cu cheia privată poate controla botul.

Boții mai noi funcționează pe deplin prin rețelele P2P. În loc să comunice cu un server centralizat, roboții P2P funcționează atât ca server de distribuție de comenzi, cât și ca client care primește comenzi. Acest lucru evită să aibă un singur punct de eșec, ceea ce este o problemă pentru boții centralizați la un server.

Pentru a găsi mașini infectate, botul sondează discret adrese IP aleatorii până când contactează o altă mașină infectată. Botul contactat răspunde cu informații, cum ar fi versiunea software și lista de roboți cunoscuți. Dacă unul dintre versiunile de roboți este mai mic decât celălalt, va iniția un transfer de fișiere pentru actualizare. În acest fel, fiecare bot își dezvoltă lista de mașini infectate și se actualizează prin comunicarea periodică a tuturor roboților cunoscuți.

Componente de bază Un inițiator de botnet (cunoscut sub numele de "bot herder" sau "bot master") controlează de la distanță bot-ul. Aceasta este cunoscută sub numele de comandă și control (C&C). Programul trebuie să comunice printr-un canal ascuns pe mașina victimei (computer zombii).

Protocoale de control IRC este un mijloc de C&C datorită protocolului său de comunicare. Un bot herder creează un canal IRC pentru ca clienții infectați să se alăture. Mesajele trimise către canal sunt transmise tuturor membrilor canalului. Herder-ul poate seta subiectul canalului să comande bot-ul. De exemplu mesajul :[email protected] TOPIC #channel DDoS www.victim.com de la bot herder avertizează toți clienții infectați aparținând la #channel pentru a începe un atac DDoS pe site-ul www.victim.com. Un exemplu de răspuns :[email protected] PRIVMSG #channel I am DDoSing www.victim.com către un client bot avertizează botul că a început atacul.

Unii boți implementează versiuni personalizate ale unor protocoale binecunoscute. Diferențele de implementare pot fi utilizate pentru detectarea boți-lor. De exemplu, Mega-D dispune de o implementare SMTP ușor modificată pentru testarea capacității de spam. Deconectarea serverului SMTP de la Mega-D dezactivează întregul set de roboți care se bazează pe același server SMTP.C.Y. Cho, D. Babic, R. Shin, and D. Song. Inference and Analysis of Formal Models of Botnet Command and Control Protocols , 2010 ACM Conference on Computer and Communications Security.

Calculator zombi În informatică, un computer zombi este un computer conectat la Internet care a fost compromis de un hacker, virus informatic sau cal troian și poate fi controlat de la distanță pentru a efectua sarcini rău-intenționate de diferite feluri. Boții de pe calculatoarele zombi sunt adesea folosite pentru a răspândi mesaje spam prin e-mail și pentru a lansa atacuri DDoS. Majoritatea proprietarilor de calculatoare zombi nu știu că sistemul lor este utilizat în acest mod. Deoarece proprietarul tinde să nu știe, aceste computere sunt metaforic zombi. Un atac DDoS coordonat de mai multe mașini de botnet seamănă și cu un atac de hoardă zombi. Mulți utilizatori de computere nu știu că computerul lor este infectat de botnet.

Procesul de sustragere a resurselor de calcul ca urmare a unui sistem alăturat unui "botnet" este uneori denumit "scrumping".

Comandă și control Protocoalele de comandă și control Botnet (C&C) au fost implementate în diferite moduri, de la abordări IRC tradiționale la versiuni mai sofisticate.

Telnet Boții Telnet utilizează un protocol de botnet C&C simplu în care roboții se conectează la serverul principal de comandă pentru a găzdui bot-ul. Boții sunt adăugați la botnet folosind un script de scanare, scriptul de scanare este rulat pe un server extern și scanează intervalele IP pentru autentificările implicite ale serverului telnet și SSH. După ce a fost găsită o autentificare, aceasta este adăugată la o listă de infecții și infectată cu o linie dăunătoare prin SSH de pe serverul scanerului. Când se execută comanda SSH, infectează serverul și comandă serverul să facă ping pe serverul de control și devine sclavul său din cauza codului rău intenționat care îl infectează. Odată ce serverele sunt infectate pe server, controlerul bot poate lansa atacuri DDoS de volum mare folosind panoul C&C de pe serverul gazdă.

IRC Rețelele IRC utilizează metode de comunicare simple, cu lățime de bandă simplă, ceea ce le face utilizate pe scară largă pentru a găzdui boții. Acestea tind să fie relativ simple în construcții și au fost utilizate cu un succes moderat pentru coordonarea atacurilor DDoS și a campaniilor spam, în timp ce sunt capabile să comute în permanență canalele pentru a a supraviețui. Cu toate acestea, în unele cazuri, simpla blocare a anumitor cuvinte cheie s-a dovedit eficientă în oprirea boților bazați pe IRC. Standardul RFC 1459 (IRC) este popular în rândul botneților. Primul script cunoscut pentru controlorul de botneți, "MaXiTE Bot", folosea protocolul IRC XDCC pentru comenzile de control privat.

O problemă cu utilizarea IRC este că fiecare client bot trebuie să cunoască serverul, portul și canalul IRC pentru a fi de folos. Organizațiile anti-malware pot detecta și închide aceste servere și canale, oprind atacul botnet. Dacă se întâmplă acest lucru, clienții rămân încă infectați, dar, de obicei, stau în stare latentă, deoarece nu au niciun fel de a primi instrucțiuni. Pentru a atenua această problemă, botnet-ul poate conține mai multe servere sau canale. Dacă unul dintre servere sau canale devine dezactivat, botnet-ul trece pur și simplu la altul. Încă este posibilă detectarea și perturbarea serverelor sau canalelor botnet suplimentare prin urmărirea traficului IRC. Un adversar de botnet poate chiar să dobândească cunoștințe despre schema de control și să imite botul prin emiterea de comenzi corecte.

P2P Deoarece majoritatea boților care folosesc rețele IRC și domenii pot fi oprite cu timpul, hackerii s-au mutat la boți P2P cu C&C ca o modalitate de a îngreuna eliminarea.

Unii au folosit, de asemenea, criptarea ca o modalitate de a proteja sau de a bloca boții de la alții. Criptarea cel mai des utilizată este criptografie cu cheie asimetrică și a prezentat provocări atât în implementarea ei, cât și în spargerea ei.

Domenii Multi boți de mărimi mari tind să folosească domenii mai degrabă decât canalele IRC (a se vedea botnet Rustock și Srizbi). De obicei, acestea sunt găzduite cu ajutorul serviciilor de hosting bulletproof. Acesta este unul dintre primele tipuri de C&C utilizat. Un computer zombi accesează o pagină web sau domenii special concepute care servește lista comenzilor de control. Avantajele utilizării paginilor web sau domeniilor ca C&C este că un botnet de dimensiune mare poate fi controlat și întreținut eficient cu ajutorul unui cod foarte simplu care poate fi actualizat ușor.

Dezavantajele utilizării acestei metode sunt că folosește o cantitate considerabilă de lățime de bandă la scară largă, iar domeniile pot fi confiscate rapid de către agențiile guvernamentale fără prea multe probleme sau eforturi. Dacă domeniile care controlează boții nu sunt confiscate, acestea sunt ținte atacurilor DDoS.

Fast-flux DNS este utilizat ca o modalitate de a îngreuna urmărirea și închiderea serverelor de control, care se pot schimba de la o zi la alta. Serverele de control pot, de asemenea, să treacă de la domeniul DNS la un alt domeniu DNS, cu ajutorul unor algoritmii de generare a domeniului, creându-se DNS-uri noi pentru server-ul de control.

Unii boți folosesc servicii de găzduire DNS gratuite, cum ar fi DynDns.org, No-IP.com și Afraid.org, pentru a-i comunica un subdomeniu server-ului IRC care adăpostește roboții. În timp ce aceste servicii DNS gratuite nu găzduiesc atacurile în sine, acestea oferă puncte de referință (adesea cu coduri grele în executabilul botnet). Înlăturarea acestor servicii poate elimina o întreagă rețea botnet.

Altele Apelarea la site-uri de socializare mari cum ar fi GitHub, Twitter, Reddit, Instagram, Protocolul de mesaje instantanee open source XMPP și serviciile ascunse Tor sunt modalități populare de evitare a filtrării pentru comunicarea cu server-ul C&C.

Construcție

Tradițional Acest exemplu ilustrează modul în care botnetul este creat și folosit rău intenționat.

Un hacker cumpără sau construiește un malware/troian pentru a infecta calculatoarele utilizatorilor, a căror sarcină utilă este o aplicație dăunătoare - bot.