Programmering

BadUSB-udnyttelsen er dødelig, men få kan blive ramt

For ni år siden skabte jeg, hvad jeg mener var verdens første USB-orm. Ved at lege rundt med et USB-drev og placere en skjult fil på det, var jeg i stand til at lave enhver computer, hvor det "inficerede" USB-drev blev tilsluttet, automatisk sprede filen til værtscomputeren og derefter tilbage igen, når en ny USB enheden blev tilsluttet.

Det fungerede i digitale kameraer og mobiltelefoner. Jeg var i stand til at få enhver USB-enhed - faktisk enhver flytbar medieenhed - til at køre min ormfil. Jeg havde en masse sjov at lege med det.

Jeg rapporterede fund til min arbejdsgiver og de involverede leverandører; de bad til gengæld om min stilhed i en betydelig periode, så de kunne lukke hullet. Jeg havde planlagt at præsentere mit fund på en stor national sikkerhedskonference og måtte vælge mellem optjent hacker-cred og offentlig sikkerhed. Jeg gik med sidstnævnte.

Sandheden bliver fortalt, jeg ønskede ikke at pisse denne sælger, fordi det var en mulig fremtidig kunde eller arbejdsgiver. Hullet blev lappet, og offentligheden var ingen klogere. Mange år senere blev jeg overrasket over at se en meget lignende metode, der blev brugt i Stuxnet malware-programmet.

Men min erfaring fik mig til aldrig at stole på en tilsluttet enhed igen. Siden da har jeg aldrig tilsluttet en USB-enhed eller et flytbart mediekort til en computer, jeg ejede, og som ikke stammer fra og forbliver under min kontrol. Nogle gange er paranoia passende.

BadUSB er en alvorlig trussel nu ude i naturen

Det bringer mig til i dag. Der er nu sendt på GitHub kildekoden til BadUSB (ikke at forveksle med faux malware-program kaldet BadBIOS), hvilket får mit eksperiment for ni år siden til at ligne et barns spil. BadUSB er en reel trussel, der har alvorlige konsekvenser for computerhardware-inputenheder.

BadUSB skriver - eller overskriver - en USB-enheds firmwarekode for at udføre ondsindede handlinger. BadUSB blev først annonceret i juli 2014 og blev opdaget af et par computerforskere ved Security Research Labs i Berlin, der derefter dæmpede deres opdagelse på Black Hat Conference.

Angrebet frygtes, fordi alle de traditionelle metoder til kontrol af ondskab på en USB-lagerenhed ikke fungerer. Den ondsindede kode er plantet i USB's firmware, som udføres, når enheden tilsluttes en vært. Værten kan ikke registrere firmwarekoden, men firmwarekoden kan interagere med og ændre software på værtscomputeren.

Den ondsindede firmwarekode kan plante anden malware, stjæle oplysninger, omdirigere internettrafik og mere - alt sammen uden om antivirusscanninger. Angrebet blev anset for at være så levedygtigt og farligt, at forskerne kun dæmoner udnyttelsen. I overflod af forsigtighed frigav de ikke proof-of-concept-koden eller inficerede enheder. Men to andre forskere omvendt konstruerede udnyttelsen, oprettede demonstrationskode og udgav den til verden på GitHub.

Hold øje med det drama, der allerede er optrådt på nyheds- og forbrugertekniske websteder som CNN, Atlanta Journal-Constitution, Register og PC Magazine og udråber: "Verden bliver fuld af ondsindede USB-enheder!"

Hvorfor BadUSB-udnyttelsen går langt ud over USB

For det første er det vigtigt at erkende, at truslen er reel. USB-firmware kan blive ændret til at gøre, hvad forskerne hævder. Hackere overalt i verden downloader sandsynligvis proof-of-concept-koden, fremstiller ondsindede USB-enheder og bruger proof-of-concept-koden som et startpunkt for handlinger, der er langt mere ondsindede end forskernes testudnyttelse.

For det andet er problemet ikke begrænset til USB-enheder. Faktisk er USB-enheder toppen af ​​isbjerget. Enhver hardwareenhed, der er tilsluttet din computer med en firmwarekomponent, kan sandsynligvis gøres ondsindet. Jeg taler om FireWire-enheder, SCSI-enheder, harddiske, DMA-enheder og mere.

For at disse enheder skal fungere, skal deres firmware indsættes i værtsenhedens hukommelse, hvor den derefter udføres - så malware let kan gå med på den tur. Der kan være firmwareenheder, der ikke kan udnyttes, men jeg kender ikke en grund til hvorfor ikke.

Firmware er i sagens natur intet andet end softwareinstruktioner, der er gemt på silicium. På det grundlæggende niveau er det intet andet end softwareprogrammering. Og firmware er nødvendig for at gøre det muligt for hardwareenheden at tale med værtscomputerenheden. Enhedens API-specifikation fortæller enhedens programmører, hvordan man skriver kode, der får enheden til at fungere korrekt, men disse specifikationer og instruktioner er aldrig samlet med tanke på sikkerhed. Nej, de blev skrevet for at få ting til at tale med hinanden (ligesom Internettet).

Det kræver ikke mange programmeringsinstruktioner for at aktivere ondsindet aktivitet. Du kan formatere de fleste lagerenheder eller "mursten" en computer med en håndfuld anvisninger. Den mindste computervirus, der nogensinde er skrevet, var kun 35 byte i størrelse. Nyttelasten i GitHub-proof-of-concept-eksemplet er kun 14K, og den inkluderer masser af fejlkontrol og finesse-kodning. Tro mig, 14K er lille i nutidens verden af ​​malware. Det er let at integrere og skjule malware i enhver næsten firmwarecontroller.

Faktisk er der en meget god chance for, at hackere og nationer længe har kendt til og brugt disse firmware bagdøre. NSA-overvågere har spekuleret langt om sådanne enheder, og disse mistanker blev bekræftet af for nylig frigivne NSA-dokumenter.

Den skræmmende sandhed er, at hackere har hacket firmwareenheder og tvunget dem til uautoriserede handlinger, så længe firmware har eksisteret.

BadUSB er den største trussel, du kan fjerne din panikliste

Virkeligheden er, at du burde have været i det mindste nervøs for enhver firmwareenhed, der er tilsluttet din computer - USB eller andet - i lang tid. Jeg har været sådan i næsten et årti.

Dit eneste forsvar er, at du tilslutter firmwareenheder fra leverandører, du stoler på, og holder dem under din kontrol. Men hvordan ved du, at de enheder, du har tilsluttet, ikke er blevet kompromitteret en masse eller ikke er blevet manipuleret med mellem sælgeren og dine computere? Lækagerne fra Edward Snowden antyder, at NSA har opsnappet computere i transit for at installere lytteenheder. Sikkert andre spioner og hackere har prøvet den samme taktik for at inficere komponenter langs forsyningskæden.

Stadig kan du slappe af.

Ondsindet hardware er mulig, og det kan bruges i nogle begrænsede scenarier. Men det er usandsynligt, at det er udbredt. Hardware-hacking er ikke let. Det er ressourceintensivt. Forskellige instruktionssæt bruges til forskellige chipsæt. Så er der det irriterende problem at få de tilsigtede ofre til at acceptere de ondsindede enheder og indsætte det i deres computere. For mål med meget høj værdi er sådanne "Mission Impossible" -stil angreb sandsynlige, men ikke så meget for den gennemsnitlige Joe.

Dagens hackere (inklusive spionbureauer i USA, Storbritannien, Israel, Kina, Rusland, Frankrig, Tyskland osv.) Nyder langt mere succes ved hjælp af traditionelle softwareinfektionsmetoder. For eksempel, som en hacker, kan du opbygge og bruge et supersofistikeret og supersneaky Blue Pill hypervisor angrebsværktøj eller gå med et almindeligt dagligdags softwaretrojanprogram, der har fungeret godt i årtier for at hacke et langt større antal mennesker.

Men antag, at skadelig firmware eller USB-enheder begyndte at vises bredt? Du kan vædde på, at leverandører svarer og løser problemet. BadUSB har intet forsvar i dag, men det kan let forsvares mod i fremtiden. Når alt kommer til alt er det simpelthen software (gemt i firmware), og software kan besejre det. USB-standardorganerne vil sandsynligvis opdatere specifikationen for at forhindre sådanne angreb, microcontroller-leverandører ville gøre ondskabsfrihed mindre sandsynlig fra firmware, og operativsystemleverandører ville sandsynligvis reagere endnu hurtigere.

For eksempel forhindrer nogle operativsystemleverandører nu, at DMA-enheder får adgang til hukommelse, før en computer starter helt op, eller før en bruger logger på, udelukkende for at forhindre opdagede angreb fra tilsluttede DMA-enheder. Windows 8.1, OS X (via Open Firmware-adgangskoder) og Linux har forsvar mod DMA-angreb, selvom de typisk kræver, at brugerne aktiverer disse forsvar. De samme slags forsvar implementeres, hvis BadUSB bliver udbredt.

Frygt ikke for BadUSB, selvom en hacker-ven beslutter at spille et trick på dig ved hjælp af hans ondsindet kodede USB-tommelfinger. Gør som mig - brug ikke USB-enheder, der ikke har været under din kontrol hele tiden.

Husk: Hvis du er bekymret for at blive hacket, skal du være langt mere bekymret for, hvad der kører i din browser end hvad der kører fra din firmware.