Historisk set bruger de fleste medarbejdere Logitech trådløse tastaturer og mus. Da vi igen indtastede vores adgangskoder, spurgte vi, specialisterne fra Raccoon Security-teamet, os selv: hvor svært er det at omgå sikkerhedsmekanismerne for trådløse tastaturer? Den udførte forskning afslørede arkitektoniske fejl og softwarefejl, der giver adgang til inputdataene. Under snittet - hvad vi fik.
Hvorfor Logitech?
Efter vores mening er Logitech input-enheder blandt den højeste kvalitet og mest bekvemme. De fleste af de enheder, vi har, er baseret på Logitech-løsningen
Logitech Unifying Dongle-modtager
Tastaturet kan blive en informationskilde for ubudne gæster. Logitech tog sig af sikkerheden under hensyntagen til den mulige trussel - anvendte AES128-krypteringsalgoritmen i radiokanalen på det trådløse tastatur. Den første tanke, der kan besøge en angriber i denne situation, er aflytning af nøgleinformation under dens transmission over luften under den bindende procedure. Når alt kommer til alt, hvis du har en nøgle, kan du opsnappe tastaturets radiosignaler og dekryptere dem. Det er dog meget sjældent (eller aldrig) at en bruger binder et tastatur med en Unifying-procedure, og en hacker med en scannende radio skal vente længe. Derudover er alt ikke så simpelt med selve aflytningsprocessen. I den seneste undersøgelse i juni 2019 offentliggjorde sikkerhedsekspert Markus Mengs online
Vi vil dække vores sikkerhedsundersøgelse af en Logitech-dongle baseret på Nordic Semiconductors NRF24 SoC. Og lad os måske starte med selve radiokanalen.
Hvordan data "flyver" i radiokanalen
Til tids-frekvensanalyse af radiosignalet brugte vi en SDR-modtager baseret på Blade-RF-enheden i spektrumanalysatortilstand (du kan også læse om dette
SDR Blade-RF-enhed
Vi overvejede også muligheden for at optage kvadraturer af radiosignalet ved en mellemfrekvens for derefter at analysere dem ved hjælp af digitale signalbehandlingsmetoder.
Statens kommission for radiofrekvenser i Den Russiske Føderation
2,4 GHz båndspektrum
Interferenssituationen i området er ret kompliceret. På trods af dette var Logitech i stand til at levere pålidelig og stabil modtagelse ved at bruge Enhanced ShockBurst-protokollen i NRF24-transceiveren i kombination med frekvenstilpasningsalgoritmer.
Kanalerne i båndet er placeret i heltal MHz-positioner som defineret i
Tastaturradiosignal i tidsvisning
Modtageren bruger korrelationsprincippet for modtagelse, så den transmitterede pakke indeholder en præambel og en adressedel. Fejlkorrigerende kodning anvendes ikke, datakroppen er krypteret ved hjælp af AES128-algoritmen.
Generelt kan luftgrænsefladen på et trådløst Logitech-tastatur karakteriseres som fuldstændig asynkron med statistisk divisionsmultipleksing og frekvensrespons. Det betyder, at tastatursenderen skifter kanal for at sende hver ny pakke. Modtageren kender ikke på forhånd hverken sendetiden eller frekvenskanalen, men kun en liste over dem. Modtageren og senderen mødes på kanalen takket være de aftalte frekvensomløbs- og lyttealgoritmer, samt Enhanced ShockBurst-bekræftelsesmekanismer. Vi har ikke undersøgt, om kanallisten er statisk. Sandsynligvis skyldes dens ændring frekvenstilpasningsalgoritmen. Noget tæt på PRCH-metoden (pseudo-tilfældig tuning af driftsfrekvensen) gættes i brugen af frekvensressourcen i området.
For at garantere modtagelse af alle tastatursignaler vil en angriber således under betingelser med tids-frekvensusikkerhed konstant skulle overvåge hele frekvensgitteret i området på 84 positioner, hvilket kræver betydelige tidsomkostninger. Her bliver det klart, hvorfor USB-nøgleudtrækningssårbarhed (CVE-2019-13054)
Et indblik i problemet
Til research valgte vi et af vores tilgængelige Logitech K330-tastaturer og en Logitech Unifying-dongle.
Logitech K330
Lad os tage et kig inde i tastaturet. Et interessant element i bestyrelsen for forskning er SoC NRF24-chippen fra Nordic Semiconductor.
NRF24 SoC på Logitech K330 Wireless Keyboard Board
Firmwaren er placeret i den interne hukommelse, læse- og fejlfindingsmekanismerne er slået fra. Desværre er firmwaren ikke blevet offentliggjort i åbne kilder. Derfor besluttede vi at nærme os problemet fra den anden side - at studere det interne indhold i Logitech donglemodtageren.
Donglemodtagerens "indre verden" er ret interessant. Donglen skilles let ad, bærer den for os kendte NRF24 med en indbygget USB-controller og kan omprogrammeres både fra USB-siden og direkte af programmøren.
Dongle Logitech uden etui
Da der er en regelmæssig firmwareopdateringsmekanisme, der bruger
Hvad blev der gjort: RQR_012_005_00028.bin-firmwaren blev udtrukket fra selve Firmware Update Tool-applikationen. For at kontrollere dens integritet blev donglecontrolleren forbundet med en sløjfe
Logitech dongleforbindelseskabel til ChipProg 48 programmør
For at kontrollere integriteten af firmwaren blev den med succes placeret i controllerens hukommelse og fungerede korrekt, tastaturet og musen blev forbundet til donglen via Logitech Unifying. Det er muligt at uploade den ændrede firmware ved hjælp af standardopdateringsmekanismen, da der ikke er nogen kryptografiske beskyttelsesmekanismer for firmwaren. Til forskningsformål brugte vi en fysisk forbindelse til programmøren, da fejlfinding er meget hurtigere på denne måde.
Firmwareundersøgelse og angreb på brugerinput
NRF24-chippen er designet baseret på Intel 8051-computerkernen i den traditionelle Harvard-arkitektur. For kernen fungerer transceiveren som en perifer enhed og er placeret i adresserummet som et sæt registre. Dokumentation for chippen og eksempler på kildekode kan findes på internettet, så det er ikke svært at adskille firmwaren. I løbet af reverse engineering lokaliserede vi funktionerne til at modtage tastetryksdata fra radiokanalen og konvertere dem til HID-format til transmission til værten via USB-grænsefladen. I ledige hukommelsesadresser blev injektionskoden placeret, som omfattede værktøjer til at opsnappe kontrol, gemme og gendanne den oprindelige udførelseskontekst samt funktionel kode.
Pakken med at trykke eller slippe en nøgle modtaget af donglen fra radiokanalen dekrypteres, konverteres til en standard HID-rapport og sendes til USB-grænsefladen som fra et konventionelt tastatur. Som en del af undersøgelsen er den del af HID-rapporten, der indeholder byten af modifikatorflag og et array på 6 bytes med tastetrykskoder, af størst interesse for os (til reference, information 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 den overfører HID-strukturen til værten, modtager den indsprøjtede kode kontrol, kopierer 8 bytes indbyggede HID-data i hukommelsen og sender dem til radiosidekanalen i klartekst. I koden ser det sådan ud:
//~~~~~~~~~ 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 organiseret ved den frekvens, der er indstillet af os med visse karakteristika for manipulationshastigheden og pakkestrukturen.
Betjening af transceiveren i en chip
Demoduleret Burst Burst-signal i sidekanalen
Efter afslutningen af transmissionen af pakken til sidekanalen genopretter den indsprøjtede kode transceiverens tilstand. Nu er den klar til at fungere normalt igen i sammenhæng med den originale firmware.
I frekvens- og tidsfrekvensdomænerne ser sidekanalen således ud:
Spektral og tids-frekvens repræsentation af sidekanalen
For at teste driften af NRF24-chippen med en modificeret firmware, samlede vi et stativ, som omfattede en Logitech-dongle med en modificeret firmware, et trådløst tastatur og en modtager samlet på basis af et kinesisk modul med en NRF24-chip.
Logitech Wireless Keyboard Radio Intercept Diagram
NRF24 baseret modul
På bænken observerede vi under normal drift af tastaturet efter at have tilsluttet det til Logitech-donglen transmissionen af åbne data på tastetryk i sideradiokanalen og den normale transmission af krypterede data i hovedradiogrænsefladen. Således lykkedes det os at levere direkte aflytning af brugerens tastaturinput:
Resultatet af at opsnappe tastaturinput
Den injicerede kode introducerer små forsinkelser i driften af dongle-firmwaren. De er dog for små til, at brugeren kan lægge mærke til dem.
Som du forstår, kan du til sådan en angrebsvektor bruge ethvert Logitech-tastatur, der er kompatibelt med Unifying-teknologi. Da angrebet er rettet mod Unifying-modtageren, der følger med de fleste Logitech-tastaturer, er det uafhængigt af den specifikke tastaturmodel.
Konklusion
Resultaterne af undersøgelsen tyder på, at scenariet under overvejelse kan bruges af angribere: Hvis en hacker erstatter offeret med en donglemodtager til et trådløst Logitech-tastatur, vil han være i stand til at finde ud af adgangskoderne til offerets konti med alle de efterfølgende konsekvenser. Glem ikke, at det også er muligt at injicere tastetryk, hvilket betyder, at det ikke er svært at udføre vilkårlig kode på offerets computer.
Hvad hvis en angriber kan fjernmodificere firmwaren på enhver Logitech-dongle via USB? Derefter kan du fra tæt anbragte dongler tilføje et netværk af repeatere og øge lækageafstanden. Selvom moderne midler til radiomodtagelse med meget selektive systemer, vil følsomme radiomodtagere med en kort frekvensindstillingstid og snævert rettede antenner tillade en "økonomisk sikker" angriber at "lytte" til tastaturinput og trykke på taster selv fra en nabobygning.
Professionelt radioudstyr
Da det trådløse datalink på Logitech-tastaturet er ret godt beskyttet, kræver den fundne angrebsvektor fysisk adgang til modtageren, hvilket i høj grad begrænser angriberen. Den eneste beskyttelsesmulighed i dette tilfælde kunne være brugen af kryptografiske beskyttelsesmekanismer til modtagerens firmware, for eksempel verifikation af signaturen af den downloadede firmware på siden af modtageren. Men desværre understøtter NRF24 ikke dette, og det er umuligt at implementere beskyttelse inden for den nuværende enhedsarkitektur. Så pas på dine dongler, for den beskrevne angrebsmulighed kræver fysisk adgang til dem.
Raccoon Security er et dedikeret team af Vulkan STC-eksperter inden for praktisk informationssikkerhed, kryptografi, kredsløb, reverse engineering og softwareudvikling på lavt niveau.
Kilde: www.habr.com