BadUSB er en klasse af hackerangreb baseret på en sårbarhed i USB-enheder . Hjælper med at logge ind uden adgangskode. På grund af manglen på flashbeskyttelse i nogle USB-enheder, kan en angriber ændre eller helt erstatte den originale firmware og få enheden til at efterligne enhver anden enhed. BadUSB er designet til at levere og udføre ondsindet kode [1] .
USB-enheder bærer en mikrocontroller , der er ansvarlig for at kommunikere med værten via USB-grænsefladen. Under initialiseringsprocessen fortæller mikrocontrolleren værten sammen med andre serviceoplysninger, hvilke klasser enheden tilhører. Værten indlæser den nødvendige driver og arbejder med enheden baseret på dens klasse og disse data. Én fysisk enhed kan implementere flere klasser og være flere separate enheder for værten: webcams implementerer både en videoklasse og en lydenhedsklasse [2] .
BadUSB udnytter det faktum, at producenterne ikke beskytter deres enheder mod at blinke, og værter tjekker ikke USB-enheder for ægthed. Takket være dette kan en angriber ændre firmwaren på mikrocontrolleren og sende en enhed ud som en anden. Da al kommunikation også udføres gennem denne mikrocontroller, kan en angriber opsnappe og erstatte alle data og kommandoer mellem enheden og værten [3] . Automatisk infektion af enheder er også mulig: enheden inficerer værten ved at køre malware på den, så inficerer værten automatisk alle USB-enheder, der er tilsluttet den [3] .
Hver controller er unik, og for hver enkelt controller er det nødvendigt at udvikle en inficeret firmware eller patch separat. Det er ikke muligt at skrive generisk software og bruge det på en hvilken som helst mikrocontroller. Firmwareproceduren er forskellig fra controller til controller. Alt dette reducerer markant sandsynligheden for en BadUSB-epidemi, men beskytter ikke mod et målrettet angreb [3] .
Konceptet BadUSB blev introduceret i august 2014 på BlackHat USA 2014- konferencen af Security Research Labs - forskerne Karsten Nohl og Jakob Lell , som lavede en præsentation "BadUSB - On Accessories that Turn Evil" . De omkonstruerede Phison 2251-03 (2303) USB-controlleren og udviklede firmware til nogle typer angreb. Firmwaren til controlleren blev udført af DriveCom- applikationen . Tastaturforfalskning, netværkskortangreb, beskyttelsesangreb på flashdrev og skjulning af flashdrevpartitioner er blevet demonstreret. Nogle måder at beskytte mod BadUSB-angreb er også blevet overvejet [1] [3] .
Den 5. august 2014 blev en BadAndroid- udnyttelse offentliggjort , der forvandler en Android-telefon til en netværkstrafiksniffer [ 4] .
Den 26. september 2014 blev kildekoden til firmwaren og patches til Phison 2251-03-controlleren offentliggjort, inklusive et tastatur-spoofangreb, drevadgangskodeangreb og skjulning af drevpartitioner [5] .
Sårbarheder påvirker alle enheder med ubeskyttede USB-controllere ombord: flashdrev , webcams , mus , tastaturer , Android-enheder . BadUSB kræver ikke speciel software på ofrets computer og fungerer under ethvert operativsystem, der understøtter USB-HID- enheder [3] [6] .
Behovet for tidskrævende reverse engineering af hver USB-enhed begrænser denne klasse af angreb til brugerdefinerede angreb på specifikke enheder som en del af sorte PR-teknologier eller angreb mod et specifikt offer ved hjælp af specifikke enheder.
Enheden præsenterer sig for offerets computer som et tastatur, og efter nogen tid begynder den at sende sekvenser af tastetryk. Som følge heraf kan en angriber udføre enhver handling på offerets computer, som er tilgængelig for en autoriseret bruger kun ved brug af tastaturet. For eksempel kan en angriber downloade og køre malware fra internettet [3] .
En væsentlig ulempe ved denne type angreb er manglen på adgang til information på skærmen og som følge heraf manglen på feedback på eventuelle handlinger fra den inficerede enhed. For eksempel kan en angriber ikke bestemme både det aktuelle tastaturlayout og om en bruger er logget ind [3] .
Enheden fremstår for offerets computer som et netværkskort og kan således opsnappe eller omdirigere netværkstrafik. Især ved at svare på en DHCP-anmodning med adressen på angriberens DNS-server og ikke levere en standardgateway, kan angriberen omdirigere ofrets trafik: offerets computer vil løse adressen gennem angriberens DNS-server, men i fravær af en standardgateway, vil bruge en anden, ægte netværksgrænseflade [3] .
En enhed med plads nok til at gemme ondsindet kode, såsom et flashdrev, kan registrere det øjeblik, computeren tændes, og i det øjeblik BIOS registrerer det, udstede en virus til indlæsning for at inficere operativsystemet. Dette bliver muligt på grund af det faktum, at det ved hjælp af værtens opførsel, når der kommunikeres med USB-mikrocontrolleren, er muligt at bestemme værts-OS, især Windows , Linux , MacOSX , og også BIOS [7] .
Angrebet udnytter muligheden for at geninitialisere enheden [2] . Kører i en virtuel maskine , inficerer virussen enhver enhed tilsluttet via USB. Den inficerede firmware udfører geninitialisering og vises som to uafhængige enheder: en ny og en, der allerede er forbundet til den virtuelle maskine. Den nye enhed vil automatisk blive forbundet til værtens OS, og den gamle enhed vil blive forbundet tilbage til den virtuelle maskine. Der kan således foretages en overgang uden for det virtuelle miljø, det vil sige, at der er foretaget en overgang fra klienten til værts-OS [7] .
Rapporten "BadUSB - On Accessories that Turn Evil" foreslog flere måder at beskytte mod BadUSB på, men ifølge forskerne vil fuld integration af beskyttelse tage lang tid [3] [7] .
En mulig modforanstaltning er at signere firmwaren af hardwareproducenten og validere den på værtssiden, før du bruger enheden, hvilket ikke understøttes af den aktuelle USB-specifikation. En anden løsning på problemet kan være at blokere muligheden for at blinke enheder fra producenten [2] [6] .
Mark Shuttleworth , grundlægger af Canonical Ltd. , talte også om spørgsmålet om sikkerhed for USB-enheder og foreslog som en løsning på problemet at åbne kildekoden til firmwaren fuldstændigt [8] .
På trods af, at en række omfattende antivirus-beskyttelsesværktøjer, såsom ESET Endpoint Antivirus , Kaspersky Endpoint Security , Parental Control-komponenten i Dr.Web AV-Desk , giver dig mulighed for at begrænse adgangen til flytbare medier og tillade aktivering i henhold til "hvid liste", i I tilfælde af dårlig USB er sådanne foranstaltninger ikke nok. Brugeren kan selv tillade tilslutningen af en farlig enhed ved fejlagtigt at betragte den som sikker. Ifølge Andrey Vasilkov, en Computerra -korrespondent , bliver udviklere af antivirusløsninger nødt til at tilføje "særskilte moduler for mere fleksibel yderligere kontrol over USB-tilsluttede enheder" i fremtiden [9] .
BadUSB-angrebsbeskyttelse dukkede op i Kaspersky Endpoint Security 10 i en opdatering dateret 7. december 2015 [10] .
Dr.Web - sikkerhedsløsninger siden version 11 beskytter mod BadUSB-sårbarheden for enheder, der efterligner et tastatur [11] .