Programiranje

Izkoriščanje BadUSB je smrtonosno, a le malo jih bo prizadetih

Pred devetimi leti sem ustvaril tisto, kar menim, da je prvi črv USB na svetu. Z igranjem s pogonom za palec USB in nameščanjem skrite datoteke sem lahko naredil, da kateri koli računalnik, v katerega je bil priključen "okuženi" pogon USB, samodejno razširi datoteko na gostiteljski računalnik, nato pa se znova vrne, ko se novi USB naprava je bila priključena.

Delovalo je v digitalnih fotoaparatih in mobilnih telefonih. Lahko sem dobil katero koli napravo USB - pravzaprav katero koli odstranljivo medijsko napravo - za zagon moje črvske datoteke. Veliko zabave sem se igrala z njim.

Ugotovitev sem sporočil svojemu delodajalcu in vključenim prodajalcem; nato pa so me dolgo prosili za molk, da bi lahko zaprli luknjo. Svoje ugotovitve sem nameraval predstaviti na veliki konferenci o nacionalni varnosti in moral sem izbirati med prisluženim hekerskim kreditom in javno varnostjo. Šel sem s slednjim.

Resnici na ljubo nisem hotel razjeziti tega prodajalca, ker je šlo za morebitno bodočo stranko ali delodajalca. Luknjo so zakrpali in javnost ni bila nič pametnejša. Veliko let kasneje sem bil presenečen, ko sem videl zelo podobno metodo, ki se uporablja v programu zlonamerne programske opreme Stuxnet.

Toda zaradi izkušenj nisem nikoli več zaupal priključeni napravi. Od takrat še nikoli nisem priključil naprave USB ali izmenljive medijske kartice v računalnik, ki sem ga imel v lasti in ni pod mojim nadzorom. Včasih je primerna paranoja.

BadUSB je resnično grožnja, ki je zdaj v naravi

To me pripelje do danes. Na GitHub je zdaj objavljena izvorna koda za BadUSB (ne smemo je zamenjati s ponarejenim zlonamernim programom BadBIOS), zaradi česar je moj poskus pred devetimi leti videti kot otroška igra. BadUSB je resnična grožnja, ki ima resne posledice za vhodne naprave računalniške strojne opreme.

BadUSB napiše - ali prepiše - kodo vdelane programske opreme naprave USB za izvajanje zlonamernih dejanj. BadUSB, ki je bil prvič objavljen julija 2014, je odkril par računalniških raziskovalcev v Laboratoriju za varnostne raziskave v Berlinu, ki je nato svoje odkritje predstavil na konferenci Black Hat.

Napada se bojimo, ker vsi tradicionalni načini preverjanja zlonamernosti na pomnilniški napravi USB ne delujejo. Zlonamerna koda je vdelana v vdelano programsko opremo USB, ki se izvede, ko je naprava priključena na gostitelja. Gostitelj ne more zaznati kode vdelane programske opreme, vendar lahko koda vdelane programske opreme komunicira in spreminja programsko opremo v gostiteljskem računalniku.

Zlonamerna koda vdelane programske opreme lahko namesti drugo zlonamerno programsko opremo, ukrade informacije, preusmeri internetni promet in še več - vse to ob izogibanju protivirusnim pregledom. Napad je veljal za tako izvedljivega in nevarnega, da so ga raziskovalci le demonirali. V izobilju previdnosti niso izdali kode za preverjanje koncepta ali okuženih naprav. Toda dva druga raziskovalca sta obratno zasnovala exploit, ustvarila demonstracijsko kodo in jo objavila v svetu na GitHub.

Odkrijte dramo, ki se je že pojavila na spletnih mestih z novicami in potrošniških tehnologijah, kot so CNN, Atlanta Journal-Constitution, Register in PC Magazine, in vzkliknila: "Svet bo poln zlonamernih naprav USB!"

Zakaj izkoriščanje BadUSB presega USB

Najprej je pomembno spoznati, da je grožnja resnična. Vdelana programska oprema USB lahko spremeniti tako, da bo naredil tisto, kar trdijo raziskovalci. Hekerji po vsem svetu verjetno prenašajo kodo za preverjanje koncepta, izdelujejo zlonamerne naprave USB in kodo za preverjanje koncepta uporabljajo kot izhodišče za dejanja, ki so veliko bolj zlonamerna od poskusnega izkoriščanja raziskovalcev.

Drugič, težava ni omejena na naprave USB. Dejansko so naprave USB vrh ledene gore. Vsaka strojna naprava, priključena na vaš računalnik s komponento vdelane programske opreme, je verjetno zlonamerna. Govorim o napravah FireWire, SCSI, trdih diskih, napravah DMA in še več.

Da bi te naprave delovale, je treba njihovo vdelano programsko opremo vstaviti v pomnilnik gostiteljske naprave, kjer se nato izvrši - tako da lahko zlonamerna programska oprema zlahka sodeluje pri tej vožnji. Morda obstajajo naprave, ki jih ni mogoče izkoristiti, vendar ne vem razloga, zakaj ne.

Vdelana programska oprema sama po sebi ni nič drugega kot navodila za programsko opremo, shranjena na siliciju. Na svoji osnovni ravni ni nič drugega kot programiranje programske opreme. In vdelana programska oprema je potrebna, da se strojna naprava lahko pogovarja z napravo gostiteljskega računalnika. Specifikacija API naprave govori programerjem naprave, kako naj napišejo kodo, zaradi katere naprava deluje pravilno, vendar teh specifikacij in navodil ni nikoli treba sestaviti z mislijo na varnost. Ne, napisani so bili zato, da so se med seboj pogovarjali (podobno kot internet).

Za omogočanje zlonamerne dejavnosti ni potrebnih veliko navodil za programiranje. Večino pomnilniških naprav lahko formatirate ali računalnik "opekate" s peščico navodil. Najmanjši računalniški virus, kdajkoli napisan, je bil velik le 35 bajtov. Nosilnost v primeru dokazovanja koncepta GitHub znaša le 14K in vključuje veliko preverjanja napak in kodiranja. Verjemite mi, 14K je v današnjem svetu zlonamerne programske opreme majhen. Zlobno programsko opremo je enostavno vdelati in skriti v kateri koli skoraj krmilnik vdelane programske opreme.

Dejansko obstaja velika verjetnost, da hekerji in države že dolgo poznajo in uporabljajo to vdelano programsko opremo v zakulisju. Opazovalci NSA so dolgo nagajali o takšnih napravah, ti sumi pa so bili potrjeni z nedavno objavljenimi dokumenti NSA.

Zastrašujoča resnica je, da hekerji že od nekdaj vdelane programske opreme vdirajo v programsko opremo in jih silijo v nedovoljena dejanja.

BadUSB je največja grožnja, ki jo lahko odstranite s seznama panike

V resnici bi morali biti že dlje časa vsaj živčni zaradi kakršne koli naprave vdelane programske opreme, priključene na vaš računalnik - USB ali kako drugače. Tak sem že skoraj desetletje.

Vaša edina obramba je, da naprave vdelane programske opreme priključite na prodajalce, ki jim zaupate, in jih imate pod svojim nadzorom. Kako pa veste, da naprave, ki ste jih priključili, niso bile množično ogrožene ali v njih ni bilo poseganja med prodajalcem in računalniki? Puščanje Edwarda Snowdena kaže, da je NSA prestregla računalnike v tranzitu, da bi namestila naprave za poslušanje. Zagotovo so tudi drugi vohuni in hekerji poskušali z enako taktiko okužiti komponente vzdolž dobavne verige.

Kljub temu se lahko sprostite.

Zlonamerna strojna oprema je možna in se lahko uporablja v nekaterih omejenih scenarijih. Toda malo verjetno je, da bo razširjen. Vdiranje strojne opreme ni enostavno. Zahteva vire. Za različne nabore čipov se uporabljajo različni kompleti navodil. Potem je tu še moteč problem s tem, da predvidene žrtve sprejmejo zlonamerne naprave in jih vstavijo v svoje računalnike. Za cilje z visoko vrednostjo so takšni napadi v misiji nemogoče, vendar za povprečnega Joeja ne toliko.

Današnji hekerji (vključno z vohunskimi agencijami v ZDA, Veliki Britaniji, Izraelu, Kitajski, Rusiji, Franciji, Nemčiji itd.) Uživajo veliko več uspeha s tradicionalnimi metodami okužbe programske opreme. Na primer, kot heker lahko zgradite in uporabite nadarjeno in nadstrožno orodje za napade hipervizorja Blue Pill ali pa uporabite običajni vsakdanji trojanski program, ki že desetletja dobro deluje in vdre v veliko večje število ljudi.

A domnevamo, da se je zlonamerna programska oprema ali naprave USB začela pojavljati na splošno? Lahko stavite, da bi se prodajalci odzvali in rešili težavo. BadUSB danes nima obrambe, vendar bi se jo v prihodnosti zlahka branili. Navsezadnje gre zgolj za programsko opremo (shranjeno v vdelani programski opremi) in programska oprema jo lahko premaga. Organi za standarde USB bi verjetno posodobili specifikacijo, da bi preprečili takšne napade, ponudniki mikrokrmilnikov bi zmanjšali verjetnost zlonamernosti zaradi vdelane programske opreme, ponudniki operacijskih sistemov pa bi se verjetno odzvali še prej.

Nekateri prodajalci operacijskega sistema na primer zdaj preprečujejo dostop napravam DMA do pomnilnika, preden se računalnik v celoti zažene ali preden se uporabnik prijavi, zgolj zato, da preprečijo odkrite napade, ki prihajajo iz priključenih naprav DMA. Windows 8.1, OS X (z gesli za odprto vdelano programsko opremo) in Linux imajo obrambo pred napadi DMA, čeprav običajno zahtevajo, da uporabniki to obrambo omogočijo. Enake vrste obrambe bodo uporabljene, če se bo BadUSB razširil.

Ne bojte se BadUSB-a, tudi če se hekerski prijatelj odloči, da vam bo pomagal z zlonamerno kodiranim palčnim pogonom USB. Bodite kot jaz - ne uporabljajte naprav USB, ki niso bile ves čas pod vašim nadzorom.

Ne pozabite: če vas skrbi, da vas bodo vdrli, vas bolj skrbi, kaj se izvaja v vašem brskalniku, kot kaj se izvaja iz vaše vdelane programske opreme.

$config[zx-auto] not found$config[zx-overlay] not found