BadUSB on hakkerihyökkäysten luokka , joka perustuu USB-laitteiden haavoittuvuuteen . Auttaa kirjautumaan sisään ilman salasanaa. Koska joissakin USB-laitteissa ei ole flash-suojausta, hyökkääjä voi muokata tai korvata kokonaan alkuperäisen laiteohjelmiston ja saada laitteen jäljittelemään mitä tahansa muuta laitetta. BadUSB on suunniteltu toimittamaan ja suorittamaan haitallista koodia [1] .
USB-laitteissa on mikro -ohjain, joka on vastuussa kommunikoinnista isännän kanssa USB-liitännän kautta. Alustusprosessin aikana mikro-ohjain kertoo isännälle muiden palvelutietojen ohella luokat , joihin laite kuuluu. Isäntä lataa vaaditun ohjaimen ja toimii laitteen kanssa sen luokan ja näiden tietojen perusteella. Yksi fyysinen laite voi toteuttaa useita luokkia ja olla useita erillisiä laitteita isännälle: web-kamerat toteuttavat sekä video- että äänilaiteluokan [2] .
BadUSB hyödyntää sitä tosiasiaa, että valmistajat eivät suojaa laitteitaan vilkkumiselta ja isännät eivät tarkista USB-laitteiden aitoutta. Tämän ansiosta hyökkääjä voi muuttaa mikro-ohjaimen laiteohjelmistoa ja välittää yhden laitteen toiseksi. Lisäksi, koska kaikki viestintä tapahtuu tämän mikro-ohjaimen kautta, hyökkääjä voi siepata ja korvata kaikki tiedot ja komennot laitteen ja isännän välillä [3] . Myös laitteiden automaattinen tartunta on mahdollista: laite saastuttaa isännän suorittamalla siinä haittaohjelmia, sitten isäntä saastuttaa automaattisesti kaikki siihen liitetyt USB-laitteet [3] .
Jokainen ohjain on ainutlaatuinen, ja jokaiselle on tarpeen kehittää tartunnan saanut laiteohjelmisto tai korjaustiedosto erikseen. Ei ole mahdollista kirjoittaa yleistä ohjelmistoa ja käyttää sitä millään mikro-ohjaimella. Laiteohjelmistoprosessi vaihtelee ohjaimesta toiseen. Kaikki tämä vähentää merkittävästi BadUSB-epidemian todennäköisyyttä, mutta ei suojaa kohdistetulta hyökkäykseltä [3] .
BadUSB-konseptin esittelivät elokuussa 2014 BlackHat USA 2014 -konferenssissa Security Research Labsin tutkijat Karsten Nohl ja Jakob Lell , jotka pitivät esitelmän "BadUSB - On Accessories that Turn Evil" . He suunnittelivat Phison 2251-03 (2303) USB-ohjaimen uudelleen ja kehittivät laiteohjelmiston tietyntyyppisiä hyökkäyksiä varten. Ohjaimen laiteohjelmiston suoritti DriveCom - sovellus . Näppäimistön huijaus, verkkokorttihyökkäys, flash-aseman suojaushyökkäys ja flash-aseman osion piilottaminen on osoitettu. Joitakin tapoja suojautua BadUSB-hyökkäyksiltä on myös harkittu [1] [3] .
5. elokuuta 2014 julkaistiin BadAndroid- hyökkäys , joka muuttaa Android-puhelimen verkkoliikenteen haistajaksi [4] .
26. syyskuuta 2014 julkaistiin Phison 2251-03 -ohjaimen laiteohjelmiston ja korjaustiedostojen lähdekoodi , mukaan lukien näppäimistön huijaushyökkäys, asemasalasanahyökkäys ja aseman osion piilottaminen [5] .
Haavoittuvuudet vaikuttavat kaikkiin laitteisiin, joissa on suojaamattomat USB-ohjaimet: flash-asemat , verkkokamerat , hiiret , näppäimistöt , Android-laitteet . BadUSB ei vaadi erityisiä ohjelmistoja uhrin tietokoneelle ja toimii kaikissa USB-HID- laitteita tukevassa käyttöjärjestelmässä [3] [6] .
Kunkin USB-laitteen aikaa vievän käänteisen suunnittelun tarve rajoittaa tämän luokan hyökkäykset räätälöityihin hyökkäyksiin tiettyjä laitteita vastaan osana mustaa PR-tekniikkaa tai hyökkäyksiin tiettyä uhria vastaan tiettyjä laitteita käyttäen.
Laite esittelee itsensä uhrin tietokoneelle näppäimistönä, ja jonkin ajan kuluttua se alkaa lähettää näppäinpainalluksia. Tämän seurauksena hyökkääjä voi suorittaa uhrin tietokoneella mitä tahansa toimintoa, joka on valtuutetun käyttäjän käytettävissä käyttämällä vain näppäimistöä. Hyökkääjä voi esimerkiksi ladata ja suorittaa haittaohjelmia Internetistä [3] .
Tämän tyyppisen hyökkäyksen merkittävä haittapuoli on pääsyn puute näytöllä oleviin tietoihin ja sen seurauksena palautteen puute toimista tartunnan saaneelta laitteelta. Hyökkääjä ei esimerkiksi voi määrittää sekä nykyistä näppäimistöasettelua että sitä, onko käyttäjä kirjautunut sisään [3] .
Laite näyttää uhrin tietokoneelle verkkokorttina ja voi siten siepata tai ohjata verkkoliikennettä. Erityisesti vastaamalla DHCP-pyyntöön hyökkääjän DNS-palvelimen osoitteella ja antamatta oletusyhdyskäytävää, hyökkääjä voi ohjata uhrin liikenteen uudelleen: uhrin tietokone ratkaisee osoitteen hyökkääjän DNS-palvelimen kautta, mutta sen puuttuessa oletusyhdyskäytävän, käyttää erilaista, todellista verkkoliitäntää [3] .
Laite, jossa on tarpeeksi tilaa haitallisen koodin tallentamiseen, kuten flash-asema, pystyy havaitsemaan tietokoneen käynnistyksen hetken ja, kun BIOS havaitsee sen, lähettää viruksen latautuvaksi käyttöjärjestelmän saastuttamiseksi. Tämä on mahdollista johtuen siitä, että isäntäkoneen käyttäytymisen perusteella kommunikoitaessa USB-mikro-ohjaimen kanssa on mahdollista määrittää isäntäkäyttöjärjestelmä, erityisesti Windows , Linux , MacOSX ja myös BIOS [7] .
Hyökkäys hyödyntää kykyä alustaa laite uudelleen [2] . Virus toimii virtuaalikoneessa ja saastuttaa kaikki USB-liitännän kautta kytketyt laitteet. Tartunnan saanut laiteohjelmisto suorittaa uudelleenalustuksen ja näkyy kahtena itsenäisenä laitteena: uutena ja sellaisena, joka on jo yhdistetty virtuaalikoneeseen. Uusi laite yhdistetään automaattisesti isäntäkäyttöjärjestelmään ja vanha laite liitetään takaisin virtuaalikoneeseen. Siten siirtyminen voidaan tehdä virtuaaliympäristön ulkopuolelle, eli on tehty siirtyminen asiakkaasta isäntäkäyttöjärjestelmään [7] .
Raportissa "BadUSB - On Accessories that Turn Evil" ehdotettiin useita tapoja suojautua BadUSB:tä vastaan, mutta tutkijoiden mukaan suojan täydellinen integrointi vie kauan [3] [7] .
Yksi mahdollinen vastatoimi on laiteohjelmiston allekirjoittaminen laitteiston valmistajan toimesta ja sen validointi isäntäpuolella ennen laitteen käyttöä, mitä nykyinen USB-määritys ei tue. Toinen ratkaisu ongelmaan voi olla estää valmistajan laitteiden vilkkuminen [2] [6] .
Mark Shuttleworth , Canonical Ltd :n perustaja. , puhui myös USB-laitteiden turvallisuudesta ja ehdotti ongelman ratkaisuksi laiteohjelmiston lähdekoodin avaamista kokonaan [8] .
Huolimatta siitä, että useat kattavat virustentorjuntatyökalut, kuten ESET Endpoint Antivirus , Kaspersky Endpoint Security , Dr.Web AV-Deskin Parental Control -komponentti , antavat sinun rajoittaa pääsyä irrotettavaan tietovälineeseen ja sallia aktivoinnin "valkoinen lista" kohdassa Bad USB:n tapauksessa tällaiset toimenpiteet eivät riitä. Käyttäjä voi itse sallia vaarallisen laitteen liittämisen, pitäen sitä virheellisesti turvallisena. Computerran kirjeenvaihtajan Andrey Vasilkovin mukaan virustorjuntaratkaisujen kehittäjien on tulevaisuudessa lisättävä "erillisiä moduuleja USB-liitettävien laitteiden joustavampaan lisähallintaan" [9] .
BadUSB-hyökkäyssuojaus ilmestyi Kaspersky Endpoint Security 10:ssä 7. joulukuuta 2015 päivätyssä päivityksessä [10] .
Dr.Web - tietoturvaratkaisut versiosta 11 lähtien suojaavat näppäimistöä jäljittelevien laitteiden BadUSB-haavoittuvuudella [11] .