A botnet internetre csatlakoztatott eszközök összessége, amelyek mindegyike egy vagy több botot futtat. A botnetek felhasználhatók elosztott szolgáltatásmegtagadással járó (DDoS) támadások végrehajtására, adathalászatra, spamek küldésére, és lehetővé teszik a támadó számára, hogy hozzáférjen az eszközhöz és annak kapcsolatához. A tulajdonos a botnetet parancs- és vezérlő (C&C) szoftverrel irányíthatja. A "botnet" szó a "robot" és a "network" szavak összetételéből képzett szóösszetétel. A kifejezést általában negatív vagy rosszindulatú jelentéssel használják.
Áttekintés A botnet az internetre csatlakoztatott eszközök, például számítógépek, okostelefonok vagy a dolgok internete (IoT) eszközeinek logikai gyűjteménye, amelyek biztonságát megsértették, (köznapi nyelven: feltörték) és az irányítást átvette egy harmadik fél aki a "hacker". Minden egyes veszélyeztetett eszköz, amelyet "botnak" neveznek, akkor jön létre, amikor egy eszközbe behatol egy rosszindulatú szoftver (malware) terjesztéséből származó végrehajtandó kód. A botnet irányítója képes irányítani e kompromittált számítógépek tevékenységét a szabványokon alapuló hálózati protokollok, például az IRC és a Hypertext Transfer Protocol (HTTP) által kialakított kommunikációs csatornákon keresztül. A botneteket a kiberbűnözők egyre gyakrabban adják bérbe árucikként különböző célokra.
Architektúra A botnetek felépítése az idők során sokat fejlődött, annak érdekében hogy elkerüljék a felderítést és az általuk végrehajtott interakció megszakítását. A botprogramok hagyományosan kliensként épülnek fel, amelyek a meglévő kiszolgálókon keresztül kommunikálnak. Ez lehetővé teszi a botherder (a botnet irányítója) számára, hogy minden irányítást egy távoli helyről végezzen, ami elhomályosítja a forgalmat. Sok újabb botnet ma már a meglévő egyenrangú hálózatokra támaszkodik a kommunikációhoz. Ezek a P2P botprogramok ugyanazokat a műveleteket hajtják végre, mint a kliens-szerver modell, de nincs szükségük központi szerverre a kommunikációhoz.
Ügyfél-Szerver modell
Az első botnetek az interneten ügyfél-szerver modellt használtak feladataik elvégzésére. Ezek a botnetek jellemzően Internet Relay Chat hálózatokon, tartományokon vagy webhelyeken keresztül működtek. A fertőzött kliensek egy előre meghatározott helyre lépnek be, és várják a szerverről érkező parancsokat. A botgazda parancsokat küld a szervernek, amely továbbítja azokat a klienseknek. A kliensek végrehajtják a parancsokat, és az eredményeket visszajelzik a botgazdának.
Az IRC botnetek esetében a fertőzött ügyfelek csatlakoznak egy szintén fertőzött IRC-kiszolgálóhoz, és csatlakoznak egy olyan csatornához, amelyet a botgazda előre kijelölt a C&C számára. A botgazda az IRC-kiszolgálón keresztül parancsokat küld a csatornának. Az egyes kliensek lekérdezik a parancsokat, és végrehajtják azokat. Az ügyfelek üzeneteket küldenek vissza az IRC-csatornára a műveleteik eredményéről.
Peer-to-peer
Az IRC botnetek felderítésére és kiiktatására tett erőfeszítésekre válaszul a botterjesztők rosszindulatú szoftvereket telepítenek a peer-to-peer hálózatokra. Ezek a botok digitális aláírást használhatnak, hogy csak az irányíthassa a botnetet, aki hozzáfér a privát kulcshoz. Lásd pl. Gameover ZeuS és ZeroAccess botnet.
Az újabb botnetek teljes mértékben P2P-hálózatokon keresztül működnek. Ahelyett, hogy egy központi szerverrel kommunikálnának, a P2P botnetek parancselosztó szerverként és parancsokat fogadó kliensként is működnek, így elkerülhető, hogy egyetlen hibapont legyen, ami a központosított botnetek esetében problémát jelent.
Más fertőzött gépek felkutatásához a bot diszkréten szondázza a véletlenszerű IP-címeket, amíg kapcsolatba nem lép egy másik fertőzött géppel. A megkeresett bot olyan információkkal válaszol, mint a szoftver verziója és az ismert botok listája. Ha az egyik bot verziója alacsonyabb, mint a másiké, akkor a frissítés érdekében fájlátvitelt kezdeményez. Ily módon minden bot növeli a fertőzött gépek listáját, és az összes ismert bottal való rendszeres kommunikációval frissíti magát.
Alapvető összetevők A botnet létrehozója (más néven "botherder" vagy "botgazda") távolról irányítja a botnetet. Ezt nevezik parancsnoklásnak és irányításnak (C&C). A műveletet végző programnak egy rejtett csatornán keresztül kell kommunikálnia az áldozat gépén (zombi számítógép) lévő klienssel.
Ellenőrző protokollok Az IRC a kommunikációs protokollja miatt a C&C egyik kedvelt eszköze. A botgazda létrehoz egy IRC-csatornát, amelyhez a fertőzött ügyfelek csatlakozhatnak. A csatornára küldött üzeneteket a csatorna minden tagja megkapja. A botgazda beállíthatja a csatorna témáját úgy, hogy az a botnetet irányítsa. Például a botgazda :[email protected] TOPIC #channel DDoS www.victim.com üzenete a #csatornához tartozó összes fertőzött ügyfelet figyelmezteti, hogy kezdjenek DDoS-támadást a www.victim.com weboldal ellen. Egy példa válasz :[email protected] PRIVMSG #channel I am DDoSing www.victim.com egy bot kliens által küldött válasza figyelmezteti a bot botgazdát, hogy megkezdte a támadást.
Egyes botnetek a jól ismert protokollok egyéni változatait valósítják meg. A megvalósítási különbségek felhasználhatók a botnetek felderítésére. A Mega-D például egy kissé módosított Simple Mail Transfer Protocol (SMTP) implementációval rendelkezik a spamképesség tesztelésére. A Mega-D SMTP-kiszolgálójának leállítása letiltja az összes olyan botnetet, amelyek ugyanarra az SMTP-kiszolgálóra támaszkodnak.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.
Zombi számítógép Az informatikában a zombi számítógép az internetre csatlakoztatott számítógép, amelyet hacker, számítógépes vírus vagy trójai faló támadott meg, és távoli irányítással rosszindulatú feladatok elvégzésére használható. A zombi számítógépekből álló botneteket gyakran használják e-mail spamek terjesztésére és elosztott szolgáltatásmegtagadással járó támadások (DDoS) indítására. A zombi számítógépek tulajdonosai többnyire nincsenek tudatában annak, hogy rendszerüket ilyen módon használják. Mivel a tulajdonosok általában nem tudnak róla, ezeket a számítógépeket metaforikusan a zombikhoz hasonlítják. A több botnet-gép által koordinált DDoS-támadás is hasonlít egy zombihorda támadásához. A számítástechnikai erőforrások ellopásának folyamatát, amely egy rendszer "botnethez" való csatlakozása következtében jön létre, néha "scrumping"-nak nevezik.
Irányítás és ellenőrzés A botnet irányítási és ellenőrzési (C&C) protokollokat számos módon valósították meg, a hagyományos IRC-megközelítéstől a kifinomultabb változatokig.
Telnet A telnet botnetek egy egyszerű C&C botnet protokollt használnak, amelyben a botok a fő parancsnoki szerverhez csatlakoznak, hogy a botnetnek otthont adjanak. A botokat egy szkript segítségével adják hozzá a botnethez, amely egy külső kiszolgálón fut, és IP-tartományokat vizsgál a telnet és SSH szerver alapértelmezett bejelentkezései után. Amint egy bejelentkezést talál, a szkennelőszerver megfertőzheti azt SSH-n keresztül rosszindulatú szoftverrel, amely a vezérlőszerverre pingel.
IRC Az IRC-hálózatok egyszerű, alacsony sávszélességű kommunikációs módszereket használnak, ezért széles körben használják őket botnetek elhelyezésére. Ezek általában viszonylag egyszerű felépítésűek, és mérsékelt sikerrel használják őket DDoS-támadások és spamkampányok koordinálására, miközben folyamatosan képesek csatornát váltani, hogy elkerüljék a lekapcsolást. Egyes esetekben azonban bizonyos kulcsszavak puszta blokkolása is hatékonynak bizonyult az IRC-alapú botnetek megállításában. Az RFC 1459 (IRC) szabvány népszerű a botnetek körében. Az első ismert népszerű botnet-vezérlő szkript, a "MaXiTE Bot" az IRC XDCC protokollt használta a privát vezérlőparancsokhoz.
Az IRC használatával az egyik probléma az, hogy minden botkliensnek ismernie kell az IRC-kiszolgálót, a portot és a csatornát ahhoz, hogy a botnet számára hasznos legyen. A rosszindulatú szoftverek elleni szervezetek felismerhetik és leállíthatják ezeket a szervereket és csatornákat, így a botnet-támadás gyakorlatilag megállítható. Ha ez megtörténik, a kliensek továbbra is fertőzöttek maradnak, de jellemzően lappanganak, mivel nem tudnak kapnak utasításokat. E probléma enyhítése érdekében a botnet több szerverből vagy csatornából is állhat. Ha az egyik szerver vagy csatorna működésképtelenné válik, a botnet egyszerűen átvált egy másikra. Az IRC-forgalom megfigyelésével még mindig lehetséges további botnet-kiszolgálók vagy -csatornák észlelése és megszakítása. A botnet ellenfelei potenciálisan még a vezérlési séma ismeretére is szert tehetnek, és parancsok helyes kiadásával utánozhatják a botgazdát.
P2P Mivel az IRC-hálózatokat és tartományokat használó botnetek többsége idővel leállítható, a hackerek a C&C-vel ellátott P2P botnetekre váltottak, hogy a botnetet rugalmasabbá és ellenállóbbá tegyék a kiiktatással szemben. .
Néhányan titkosítást is használtak, hogy biztosítsák vagy lezárják a botnetet mások elől, legtöbbször, amikor titkosítást használnak, az nyilvános kulcsú titkosítás, és kihívást jelentett mind a megvalósítás, mind a feltörés.
Domainek Sok nagy botnet inkább domaineket használ az IRC helyett (lásd Rustock botnet és Srizbi botnet). Általában golyóálló tárhelyszolgáltatóknál vannak elhelyezve. Ez a C&C egyik legkorábbi típusa. A zombi számítógép egy speciálisan kialakított weboldalhoz vagy tartomány(ok)hoz fér hozzá, amely az irányító parancsok listáját szolgálja ki. A weboldalak vagy domainek C&C-ként való használatának előnye, hogy egy nagy botnet hatékonyan irányítható és karbantartható egy nagyon egyszerűen és könnyen frissíthető kóddal.
A módszer használatának hátránya, hogy jelentős sávszélességet használ, és a domaineket a kormányzati szervek kis erőfeszítéssel gyorsan lefoglalhatják. Ha a botneteket irányító tartományokat nem foglalják le, akkor azok szintén könnyű célpontok, amelyeket szolgáltatásmegtagadási támadásokkal lehet kompromittálni.
A gyorsfolyamú DNS-ek segítségével meg lehet nehezíteni az irányító szerverek felkutatását, amelyek napról napra változhatnak. Az irányító szerverek DNS-tartományról DNS-tartományra is ugrálhatnak, a tartománygeneráló algoritmusok segítségével új DNS-neveket hozhatnak létre a vezérlő szerverek számára.
Egyes botnetek ingyenes DNS-hosztingszolgáltatásokat használnak, mint például a DynDns.org, No-IP.com és Afraid.org, hogy egy aldomaint a botokat rejtő IRC-kiszolgáló felé irányítsanak. Bár ezek az ingyenes DNS-szolgáltatások önmagukban nem fogadnak támadásokat, de referenciapontokat biztosítanak (gyakran a botnet futtatható programjába kódolva). Az ilyen szolgáltatások eltávolítása megbéníthatja az egész botnetet.
FTP-alapú C&C rendszer Sok más protokollhoz hasonlóan az FTP-vel is kísérleteztek, mint ellenőrzési csatornával. Manapság ez a típus nem gyakran fordul elő. Van azonban egy olyan bot-típus, amely rendszeresen használ FTP C&C-t, ez pedig az adathalász vagy banki adatokra irányuló trójai. Ezek a botok, mint például a Dumador vagy a Haxdoor, alapvetően keyloggerek, azzal a különbséggel, hogy sokkal kiterjedtebbek. Figyelik ("szimatolják") az adatforgalmat, amikor a felhasználó a kompromittált rendszeren szörföl az interneten. Ha a felhasználó egy titkosított weboldalra lép be (HTTPS), akkor a számítógépen maga is man-in-the-middle támadást hajt végre. Mivel ez a támadás magán az áldozat gépén zajlik, gyakran nevezik "man in the machine" támadásnak. A bot egy hamis weboldalt mutat be a felhasználónak. Ezzel a technikával lehetőség van hitelesítési adatok stb rögzítésére. Az ellopott adatokat ezután feltöltik egy FTP-kiszolgálóra, ahol a bot üzemeltetője fenntarthatja azokat. A bot-üzemeltetők általában részletes statisztikákat készítenek az adatokról és azok eredetéről.