Historisk sett bruker de fleste ansatte trådløse tastaturer og mus fra Logitech. Da vi skrev inn passordene våre igjen, spurte vi, spesialistene til Raccoon Security-teamet, oss selv: hvor vanskelig er det å omgå sikkerhetsmekanismene til trådløse tastaturer? Studien avdekket arkitektoniske feil og programvarefeil som gir tilgang til inndata. Under kuttet er det vi fikk.
Hvorfor Logitech?
Etter vår mening er Logitech-inndataenheter av høyeste kvalitet og mest praktiske. De fleste enhetene vi har er basert på Logitech-løsningen
Donglemottaker med Logitech Unifying-støtte
Tastaturet kan bli en kilde til informasjon for angripere. Logitech, tatt i betraktning den mulige trusselen, tok seg av sikkerheten - brukte AES128-krypteringsalgoritmen i radiokanalen til det trådløse tastaturet. Den første tanken en angriper kan ha i denne situasjonen er å fange opp nøkkelinformasjon når den sendes over en radiokanal under bindingsprosedyren. Tross alt, hvis du har en nøkkel, kan du fange opp tastaturets radiosignaler og dekryptere dem. Imidlertid trenger brukeren sjelden (eller til og med aldri) å forene tastaturet, og en hacker med en skannerradio må vente lenge. I tillegg er ikke alt så enkelt med selve avlyttingsprosessen. I den siste studien i juni 2019 publiserte sikkerhetsekspert Markus Mengs på nettet
Vi vil snakke om vår sikkerhetsstudie av Logitech-dongelen basert på NRF24 SoC fra Nordic Semiconductor. La oss kanskje starte med selve radiokanalen.
Hvordan data "flyr" i en radiokanal
For tids-frekvensanalyse av radiosignalet brukte vi en SDR-mottaker basert på Blade-RF-enheten i spektrumanalysatormodus (du kan også lese om dette
SDR Blade-RF-enhet
Vi vurderte også muligheten for å registrere kvadraturer av radiosignalet ved en mellomfrekvens, som deretter kunne analyseres ved hjelp av digitale signalbehandlingsteknikker.
Statens kommisjon for radiofrekvenser i den russiske føderasjonen
Spektrum for 2,4 GHz-båndet
Interferensmiljøet i området er ganske komplekst. Til tross for dette var Logitech i stand til å gi pålitelig og stabil mottakelse gjennom bruk av Enhanced ShockBurst-protokollen i NRF24-transceiveren i kombinasjon med frekvenstilpasningsalgoritmer.
Kanaler i et bånd er plassert i heltalls MHz-posisjoner som definert i
Tastaturradiosignal i tidsrepresentasjon
Mottakeren bruker korrelasjonsprinsippet for mottak, slik at den overførte pakken inneholder en preambel og en adressedel. Støybestandig koding brukes ikke; datakroppen er kryptert med AES128-algoritmen.
Generelt kan radiogrensesnittet til det trådløse Logitech-tastaturet karakteriseres som fullstendig asynkront med statistisk multipleksing og frekvenstilpasning. Dette betyr at tastatursenderen bytter kanal for å sende hver ny pakke. Mottakeren vet ikke på forhånd verken sendetiden eller frekvenskanalen, men kun listen deres er kjent. Mottakeren og senderen møtes i kanalen takket være koordinerte frekvensbypass- og lyttealgoritmer, samt Enhanced ShockBurst-bekreftelsesmekanismer. Vi har ikke undersøkt om kanallisten er statisk. Sannsynligvis er endringen på grunn av frekvenstilpasningsalgoritmen. Noe i nærheten av frekvenshoppingsmetoden (pseudo-tilfeldig innstilling av driftsfrekvensen) kan sees i bruken av frekvensressursen til området.
For å sikre garantert mottak av alle tastatursignaler, under forhold med tidsfrekvensusikkerhet, vil en angriper derfor måtte konstant overvåke hele frekvensnettet med 84 posisjoner, noe som krever en betydelig mengde tid. Her blir det klart hvorfor USB-nøkkelutvinningssårbarheten (CVE-2019-13054)
En titt på problemet fra innsiden
For studien vår valgte vi et av våre eksisterende Logitech K330-tastaturer og en Logitech Unifying-dongle.
Logitech K330
La oss ta en titt på innsiden av tastaturet. Et interessant element på brettet å studere er SoC NRF24-brikken fra Nordic Semiconductor.
SoC NRF24 på Logitech K330 trådløst tastatur
Fastvaren er plassert i internminnet, lese- og feilsøkingsmekanismer er deaktivert. Dessverre har ikke fastvaren blitt publisert i åpne kilder. Derfor bestemte vi oss for å nærme oss problemet fra den andre siden - å studere det interne innholdet i Logitech-dongelmottakeren.
Den "indre verden" til donglemottakeren er ganske interessant. Dongelen demonteres enkelt, har med seg den kjente NRF24-utløseren med innebygd USB-kontroller og kan omprogrammeres både fra USB-siden og direkte fra programmereren.
Logitech dongel uten hus
Siden det er en standardmekanisme for å oppdatere fastvaren ved hjelp av
Hva ble gjort: fastvare RQR_012_005_00028.bin ble trukket ut fra hoveddelen av Firmware Update Tool-applikasjonen. For å sjekke integriteten ble donglekontrolleren koblet til med en kabel
Kabel for å koble Logitech-dongelen til ChipProg 48-programmereren
For å kontrollere integriteten til fastvaren ble den plassert i kontrollerens minne og fungerte riktig, tastaturet og musen ble koblet til dongelen via Logitech Unifying. Det er mulig å laste opp modifisert firmware ved å bruke standard oppdateringsmekanisme, siden det ikke finnes kryptografiske beskyttelsesmekanismer for fastvaren. For forskningsformål brukte vi en fysisk tilkobling til programmereren, siden feilsøking er mye raskere på denne måten.
Fastvareundersøkelse og angrep på brukerinndata
NRF24-brikken er designet basert på Intel 8051-datakjernen i tradisjonell Harvard-arkitektur. For kjernen fungerer transceiveren som en perifer enhet og plasseres i adresserommet som et sett med registre. Dokumentasjon for brikken og kildekodeeksempler kan finnes på Internett, så det er ikke vanskelig å demontere fastvaren. Under omvendt utvikling lokaliserte vi funksjonene for å motta tastetrykkdata fra radiokanalen og konvertere den til HID-format for overføring til verten via USB-grensesnittet. Injeksjonskoden ble plassert i ledige minneadresser, som inkluderte verktøy for å avskjære kontroll, lagre og gjenopprette den opprinnelige utførelseskonteksten, samt funksjonell kode.
Pakken med å trykke eller slippe en nøkkel som mottas av dongelen fra radiokanalen, dekrypteres, konverteres til en standard HID-rapport og sendes til USB-grensesnittet som fra et vanlig tastatur. Som en del av studien er den delen av HID-rapporten som er av mest interesse for oss, den delen av HID-rapporten som inneholder en byte med modifikasjonsflagg og en matrise på 6 byte med tastetrykkkoder (for referanse, informasjon om HID
HID-rapportstruktur:
// Keyboard HID report structure.
// See https://flylib.com/books/en/4.168.1.83/1/ (last access 2018 december)
// "Reports and Report Descriptors", "Programming the Microsoft Windows Driver Model"
typedef struct{
uint8_t Modifiers;
uint8_t Reserved;
uint8_t KeyCode[6];
}HidKbdReport_t;
Umiddelbart før overføring av HID-strukturen til verten, tar den injiserte koden kontroll, kopierer 8 byte med native HID-data i minnet og sender den til radiosidekanalen i klartekst. I koden ser det slik ut:
//~~~~~~~~~ Send data via radio ~~~~~~~~~~~~~~~~~~~~~~~~~>
// Profiling have shown time execution ~1.88 mSec this block of code
SaveRfState(); // save transceiver state
RfInitForTransmition(TransmitRfAddress); // configure for special trnsmition
hal_nrf_write_tx_payload_noack(pDataToSend,sizeof(HidKbdReport_t)); // Write payload to radio TX FIFO
CE_PULSE(); // Toggle radio CE signal to start transmission
RestoreRfState(); // restore original transceiver state
//~~~~~~~~~ Send data via radio ~~~~~~~~~~~~~~~~~~~~~~~~~<
Sidekanalen er organisert ved en frekvens vi setter med visse egenskaper for manipulasjonshastigheten og pakkestrukturen.
Drift av transceiveren i brikken
Demodulert Burst Burst Signal i Side Channel
Etter at pakken er overført til sidekanalen, gjenoppretter den injiserte koden tilstanden til transceiveren. Nå er den igjen klar til å fungere normalt i sammenheng med den originale fastvaren.
I frekvens- og tidsfrekvensdomenene ser sidekanalen slik ut:
Spektral- og tidsfrekvensrepresentasjon av sidekanalen
For å teste driften av NRF24-brikken med modifisert firmware, satte vi sammen et stativ som inkluderte en Logitech-dongle med modifisert firmware, et trådløst tastatur og en mottaker satt sammen på basis av en kinesisk modul med NRF24-brikken.
Logitech trådløs tastaturradiosignalavskjæringskrets
NRF24 basert modul
På benken, mens tastaturet fungerer normalt, etter å ha koblet det til Logitech-dongelen, observerte vi overføring av klare data om tastetrykk i sideradiokanalen og normal overføring av krypterte data i hovedradiogrensesnittet. Dermed var vi i stand til å gi direkte avlytting av brukertastaturinndata:
Resultatet av å avskjære tastaturinndata
Den injiserte koden introduserer små forsinkelser i driften av dongelfastvaren. De er imidlertid for små til at brukeren kan legge merke til dem.
Som du kan forestille deg, kan ethvert Logitech-tastatur som er kompatibelt med Unifying-teknologi brukes til denne angrepsvektoren. Siden angrepet retter seg mot Unifying-mottakeren som følger med de fleste Logitech-tastaturer, er det uavhengig av den spesifikke tastaturmodellen.
Konklusjon
Resultatene av studien antyder mulig bruk av det vurderte scenariet av angripere: hvis en hacker erstatter offeret med en donglemottaker for et trådløst Logitech-tastatur, vil han kunne finne ut passordene til offerets kontoer med alle de påfølgende konsekvenser. Ikke glem at det også er mulig å injisere tastetrykk, noe som betyr at det ikke er vanskelig å utføre vilkårlig kode på offerets datamaskin.
Hva om plutselig en angriper kan eksternt endre fastvaren til en hvilken som helst Logitech-dongle via USB? Deretter, fra dongler med tett avstand, kan du opprette et nettverk av repeatere og øke lekkasjeavstanden. Selv om en "økonomisk velstående" angriper vil være i stand til å "lytte" til tastaturinndata og trykke på taster selv fra en nabobygning, vil moderne radiomottaksutstyr med svært selektive systemer, sensitive radiomottakere med korte frekvensinnstillingstider og sterkt retningsbestemte antenner tillate dem å "lytte" til tastaturinndata og trykke på tastene selv fra en nabobygning.
Profesjonelt radioutstyr
Siden den trådløse dataoverføringskanalen til Logitech-tastaturet er ganske godt beskyttet, krever den funnet angrepsvektoren fysisk tilgang til mottakeren, noe som i stor grad begrenser angriperen. Det eneste beskyttelsesalternativet i dette tilfellet vil være å bruke kryptografiske beskyttelsesmekanismer for mottakerens fastvare, for eksempel å sjekke signaturen til den innlastede fastvaren på mottakersiden. Men dessverre støtter ikke NRF24 dette, og det er umulig å implementere beskyttelse innenfor gjeldende enhetsarkitektur. Så ta vare på donglene dine, fordi det beskrevne angrepsalternativet krever fysisk tilgang til dem.
Raccoon Security er et spesielt team av eksperter fra Vulcan Research and Development Center innen praktisk informasjonssikkerhet, kryptografi, kretsdesign, omvendt utvikling og lavnivåprogramvare.
Kilde: www.habr.com