Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Historiskt sett har de flesta anstÀllda anvÀnt trÄdlösa tangentbord och möss frÄn Logitech. NÀr vi pÄ Raccoon Security Àn en gÄng skrev in vÄra lösenord, stÀllde vi oss frÄgan: Hur svÄrt Àr det att kringgÄ skyddsmekanismerna för trÄdlösa tangentbord? Den utförda undersökningen avslöjade arkitektoniska brister och programvarufel som gör det möjligt att fÄ tillgÄng till de inmatade uppgifterna. LÀs vidare för att se vad vi kom fram till.

Varför Logitech?

Enligt vÄr Äsikt Àr Logitech's inmatningsenheter bland de mest kvalitativa och bekvÀma. De flesta enheter vi har baseras pÄ Logitech-lösningen. Unifying Àr en universell dongelmottagare som tillÄter anslutning av upp till 6 enheter. Alla enheter som Àr kompatibla med Logitech Unifying-teknologin Àr mÀrkta med motsvarande logotyp. Det Àr enkel att anvÀnda. applikationen gör det möjligt att hantera anslutningen av trÄdlösa tangentbord till datorn. Kopplingsprocessen för tangentbordet till Logitech-dongelmottagaren, liksom sjÀlva teknologin, beskrivs detaljerat, till exempel i. hÀr.

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Dongelmottagare med stöd för Logitech Unifying.

Ett tangentbord kan bli en informationskĂ€lla för illvilliga aktörer. Logitech, med tanke pĂ„ den potentiella hotbilden, har tagit hand om sĂ€kerheten – de anvĂ€nde AES128-kryptering i radiokanalen för det trĂ„dlösa tangentbordet. Den första tanken som kan komma till en angripares sinne under dessa omstĂ€ndigheter Ă€r att fĂ„nga nyckelinformation nĂ€r den överförs via radiokanalen under parkopplingsproceduren. NĂ€r man har nyckeln Ă€r det möjligt att fĂ„nga radiovĂ„gor frĂ„n tangentbordet och avkoda dem. Men anvĂ€ndaren mĂ„ste mycket sĂ€llan (eller aldrig) koppla ihop tangentbordet med Unifying-proceduren, sĂ„ en hackare med en skannande radiomottagare fĂ„r vĂ€nta lĂ€nge. Dessutom Ă€r inte sjĂ€lva fĂ„ngstprocessen sĂ„ enkel. I den senaste studien frĂ„n juni 2019 publicerade sĂ€kerhetsexperten Markus Mengs pĂ„ nĂ€tet. problemet upptĂ€ckten av sĂ„rbarheter i gamla firmware för USB-donglar frĂ„n Logitech. Det gör det möjligt för angripare med fysisk Ă„tkomst till enheterna att fĂ„ nycklarna till radiokanalen och injicera tangenttryckningar (CVE-2019-13054).

Vi kommer att berÀtta om vÄr sÀkerhetsundersökning av Logitech-dongeln baserad pÄ SoC NRF24 frÄn Nordic Semiconductor. LÄt oss börja med sjÀlva radiokanalen.

Hur data "flyger" i radiokanalen

För frekvens-tidsanalys av radiosignalen anvÀnde vi en SDR-mottagare baserad pÄ en Blade-RF-enhet i spektrumanalysatorlÀge (mer om detta kan du ocksÄ lÀsa) hÀr).

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

SDR-enheten Blade-RF

Vi undersökte ocksÄ möjligheten att spela in kvadraturkomponenter av radiosignalen pÄ mellanfrekvensen för att sedan analysera dem med hjÀlp av metoder för digital signalbehandling.

Den statliga radiokommissionen i Ryska federationen Ă€r tillĂ„ten för anvĂ€ndning av enheter med kort rĂ€ckvidd i frekvensomrĂ„det 2400–2483,5 MHz. Det Ă€r ett mycket "befolkat" omrĂ„de dĂ€r man kan stöta pĂ„ nĂ€stan allt: Wi-Fi, Bluetooth, olika fjĂ€rrkontroller, sĂ€kerhetssystem, trĂ„dlösa sensorer, mus med tangentbord och andra trĂ„dlösa digitala enheter.

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Spektrumet av 2,4 GHz-bandet

Interferenssituationer inom bandet Àr ganska komplicerade. Trots detta lyckades Logitech sÀkerstÀlla pÄlitlig och stabil mottagning genom att anvÀnda Enhanced ShockBurst-protokollet i NRF24-transceivern i kombination med frekvensanpassningsalgoritmer.

Kanalerna inom bandet Ă€r placerade vid heltalspositioner av MHz, enligt definierat i specifikationen NRF24 Nordic Semiconductor – totalt 84 kanaler i frekvensrutnĂ€tet. Antalet frekvenskanaler som Logitech anvĂ€nder samtidigt Ă€r naturligtvis fĂ€rre. Vi identifierade anvĂ€ndning av minst fyra. PĂ„ grund av det begrĂ€nsade synfĂ€ltet av den anvĂ€nda spektrumanalysatorn gick det inte att exakt faststĂ€lla listan över anvĂ€nda frekvenspositioner, men det var inte nödvĂ€ndigt. Informationen frĂ„n tangentbordet till dongelmottagaren överförs i Burst-lĂ€ge (kortvariga transmissioner frĂ„n sĂ€ndaren) med hjĂ€lp av tvĂ„positions frekvensmodulering GFSK vid en symbolhastighet pĂ„ 1 Mbaud:

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Radiosignalen frÄn tangentbordet i tidsrepresentation

Mottagaren anvÀnder en korrelationsprincip för mottagning, sÄ i den överförda paketstrukturen finns en preambel och en adressdel. Störningsresistent kodning anvÀnds inte, datakroppen krypteras med AES128-algoritmen.

Övergripande kan radiogrĂ€nssnittet för Logitech trĂ„dlösa tangentbord karakteriseras som helt asynkront med statistisk komprimering och frekvensanpassning. Detta innebĂ€r att tangentbordets sĂ€ndare vĂ€xlar kanal för att överföra varje ny paket. Mottagaren kĂ€nner inte i förvĂ€g till överföringstidpunkten eller frekvenskanalen, utan endast deras lista. Mottagaren och sĂ€ndaren möts pĂ„ kanalen tack vare överenskomna algoritmer för frekvenssökning och spĂ„rning, samt bekrĂ€ftelsemekanismer för Enhanced ShockBurst. Vi har inte undersökt om listan över kanaler Ă€r statisk. Förmodligen beror dess förĂ€ndring pĂ„ algoritmen för frekvensanpassning. NĂ„got nĂ€ra metoden PPRC (pseudo-slumptalsomstrukturering av arbetssignalen) kan anas i anvĂ€ndningen av frekvensresursen i spektrumet.

SÄledes, under förhÄllanden av frekvens-tids osÀkerhet, för att garantera mottagning av alla tangentbordssignaler behöver en angripare övervaka hela frekvensnÀtet med 84 positioner kontinuerligt, vilket krÀver betydande tidsinsatser. HÀr blir det tydligt varför sÄrbarheten för nyckelutvinning via USB (CVE-2019-13054) i kÀllor positioneras som en möjlighet för injicering av tangenttryckningar, snarare Àn en angripares Ätkomst till inmatade data frÄn tangentbordet. Det Àr uppenbart att radiogrÀnssnittet för det trÄdlösa tangentbordet Àr ganska komplext och erbjuder pÄlitlig radiosamverkan mellan Logitech-enheter under svÄra störningsförhÄllanden i 2,4 GHz-bandet.

Ett perspektiv pÄ problemet inifrÄn

För vÄr forskning valde vi ett av vÄra tangentbord, Logitech K330, och Logitech Unifying-dongeln.

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Logitech K330

LÄt oss titta in i tangentbordet. En intressant komponent pÄ kretskortet Àr SoC-chippet NRF24 frÄn Nordic Semiconductor.

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

SoC NRF24 pÄ kretskortet för Logitech K330 trÄdlöst tangentbord

Fast firmware Ă€r lagrad i det interna minnet, och mekanismer för lĂ€sning och debug Ă€r avstĂ€ngda. TyvĂ€rr har firmwaren inte publicerats i öppna kĂ€llor. DĂ€rför beslutade vi att nĂ€rma oss problemet frĂ„n en annan sida – att studera det interna innehĂ„llet i Logitech-dongelmottagaren.

Den interna strukturen av dongeln Àr ganska intressant. Dongeln Àr lÀtt att montera isÀr, den innehÄller den vÀlkÀnda NRF24 i en version med inbyggd USB-kontroller och kan programmeras om bÄde via USB och direkt med en programmerare.

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Logitech-dongel utan hölje

Eftersom det finns en standardmekanism för att uppdatera firmware med hjÀlp av programmet Firmware Update Tool (frÄn vilket den uppdaterade firmware-versionen kan extraheras), Àr det inte nödvÀndigt att söka efter firmware inuti dongeln.

Vad som har genomförts: firmware RQR_012_005_00028.bin har extraherats frÄn applikationens kropp Firmware Update Tool. För att kontrollera dess integritet kopplades dongelns kontroller med en flatkabel till programmeraren ChipProg-48:

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Flatkabeln för att ansluta Logitech-dongeln till programmeraren ChipProg 48

För att kontrollera firmware-integriteten har den framgÄngsrikt placerats i minnet pÄ kontrolleraren och fungerade korrekt, tangentbordet och musen kopplades till dongeln via Logitech Unifying. Det Àr möjligt att ladda upp modifierad firmware med hjÀlp av standardmekanismen för uppdatering, eftersom det inte finns nÄgra kryptografiska skyddsmekanismer för firmwaren. För forskningsÀndamÄl anvÀnde vi en fysisk anslutning till programmeraren, eftersom det gör debugging mycket snabbare.

Undersökning av firmware och attack pÄ anvÀndarens input

Chipet NRF24 Àr designat pÄ basis av Intel 8051 berÀkningskÀrna i en traditionell Harvard-arkitektur. För kÀrnan fungerar transceivern som en perifer enhet och placeras i adressutrymmet som en uppsÀttning register. Dokumentation om chipet och exempel pÄ kÀllkoder kan hittas pÄ Internet, sÄ disassemblering av firmwaren utgör ingen svÄrighet. Under reverse engineering lokaliserade vi funktioner för att hÀmta data om tangentryckningar frÄn radiokanalen och omvandla dem till HID-format för överföring till vÀrden via USB-grÀnssnittet. Kod för injektion placerades i de lediga minnesadresserna, vilket innehöll verktyg för att fÄnga control, spara och ÄterstÀlla det ursprungliga exekveringskontexten samt funktionskoden.

Det paket av tangenttryck eller slÀpp som mottas av dongeln via radiokanalen avkodas, omvandlas till en standard HID-rapport och skickas till USB-grÀnssnittet som frÄn en vanlig tangentbord. Inom ramen för denna forskning Àr den del av HID-rapporten som innehÄller modifierare och en matris av 6 byte med koder för tangenttryck av störst intresse för oss. hÀr).

Strukturen av HID-rapporten:

// 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;

Precis innan överföringen av HID-strukturen till vÀrden fÄr den injicerade koden kontroll, kopierar 8 byte av de ursprungliga HID-data i minnet och skickar dem pÄ den sekundÀra radiokanalen i klartext. I koden ser det ut sÄ hÀr:

//~~~~~~~~~ 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 ~~~~~~~~~~~~~~~~~~~~~~~~~<

Den sekundÀra kanalen organiseras pÄ den frekvens vi har stÀllt in med specifika hastighets- och paketstruktursegenskaper.

Arbetet av sÀndaren i chipet NRF24 baseras pÄ en tillstÄndsgraf dÀr protokollet Enhanced ShockBurst Àr inbÀddat. Vi har tagit reda pÄ att precis innan överföringen av HID-data till USB-grÀnssnittet för vÀrden befann sig sÀndaren i ett IDLE-lÀge. Detta möjliggör en sÀker omkonfigurering för arbete i den sekundÀra kanalen. Den injicerade koden fÄngar upp kontrollen, sparar sÀndarens ursprungliga konfiguration helt och omvandlar den till ett nytt sÀndningslÀge pÄ den sekundÀra kanalen. BekrÀftelsemekanismen för Enhanced ShockBurst Àr avstÀngd i detta lÀge, och HID-data skickas som klartext i radiofrekvensen. Paketstrukturen i den sekundÀra kanalen presenteras nedan, signalepurorna erhölls efter demodulering och innan ÄterstÀllande av taktsynkronisering av data. AdressvÀrdet har valts för enkel visuell identifiering av paketet.

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Den demodulerade Burst-paket-signalen i den sekundÀra kanalen

Efter avslutad överföring av paketet pÄ den sekundÀra kanalen ÄterstÀller den injicerade koden sÀndarens tillstÄnd. Den Àr nu redo att arbeta i normalt lÀge inom ramen för originalfirmwaren.

I frekvens- och tidsfrekvensomrÄdena ser den sekundÀra kanalen ut som visat pÄ bilden:

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Spektral och tidsfrekvensrepresentation av den sekundÀra kanalen

För att testa funktionen hos NRF24-chippet med en Àndrad firmware satte vi upp en testbÀnk dÀr Logitech-dongeln med modifierad firmware, ett trÄdlöst tangentbord och en mottagare baserad pÄ en kinesisk modul med NRF24-chippet ingick.

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Schema för avlyssning av radiosignalen frÄn Logitech-trÄdlöst tangentbord

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Modul baserad pÄ NRF24

PÄ testbÀnken, nÀr tangentbordet fungerade normalt efter att ha kopplats till Logitech-dongeln, observerade vi överföring av öppna data om tangenttryckningar pÄ en sidokanal och normal överföring av krypterade data pÄ den huvudsakliga radioförbindelsen. PÄ sÄ sÀtt lyckades vi sÀkerstÀlla direkt avlyssning av anvÀndarens tangentbordsinmatning:

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Resultat av avlyssning av tangentbordsinmatning

Den injicerade koden medför smÄ fördröjningar i dongelns firmware. Dessa Àr dock för smÄ för att anvÀndaren ska kunna mÀrka dem.

Som ni förstÄr kan vilken som helst av Logitech-tangentborden som Àr kompatibla med Unifying-teknologin anvÀndas för en sÄdan attack. Eftersom attacken riktas mot Unifying-mottagaren, som ingÄr i de flesta Logitech-tangentborden, Àr den oberoende av den specifika tangentbordsmodellen.

Slutsats

De resultat som uppnÄddes av studien ger upphov till tankar om ett möjligt utnyttjande av det beskrivna scenariot av angripare: om en hackare byter ut offrets dongelmottagare för Logitech-trÄdlöst tangentbord, kan han fÄ reda pÄ offrets lösenord till konton med alla dÀrav följande konsekvenser. Man bör inte glömma att injicera tangenttryckningar ocksÄ Àr möjligt, vilket betyder att det inte innebÀr nÄgra svÄrigheter att köra godtycklig kod pÄ offrets dator.

Och vad hĂ€nder om en angripare plötsligt kan fjĂ€rrmodifiera firmware pĂ„ valfri Logitech-dongel via USB? DĂ„ kan man frĂ„n nĂ€ra belĂ€gna donglar skapa ett nĂ€tverk av retransmittorer och öka avstĂ„ndet för lĂ€ckage. Även en "ekonomiskt vĂ€lutrustad" angripare kan med moderna radioavlyssningsmedel med hög selektivitet, kĂ€nsliga radioantenner med kort Ă„terstĂ€llningstid och riktade antenner "lyssna" pĂ„ tangentbordsinmatning och trycka pĂ„ tangenter Ă€ven frĂ„n en grannebyggnad.

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Professionell utrustning för radioavlyssning

Eftersom den trÄdlösa datakanalen för Logitech-tangenterna Àr tillrÀckligt vÀl skyddad, krÀver den identifierade attackvektorn fysisk Ätkomst till mottagaren, vilket starkt begrÀnsar angriparen. Det enda alternativet för skydd i detta fall skulle kunna vara att anvÀnda kryptografiska skyddsmekanismer för att flasha mottagaren, exempelvis signaturkontroll av den laddade firmware pÄ mottagarsidan. Men tyvÀrr stöder NRF24 detta inte och inom ramen för den nuvarande enhetsarkitekturen Àr det omöjligt att implementera skydd. SÄ ta hand om dina donglar, eftersom den beskrivna attackmetoden krÀver fysisk Ätkomst till dem.

Skydda dina donglar: sÀkerhetsstudie av Logitech kring trÄdlösa tangentbord

Raccoon Security Àr ett specialteam av experter frÄn NTC "Vulkan" inom praktisk informationssÀkerhet, kryptografi, kretsdesign, reverse engineering och skapande av lÄg-nivÄ programvara.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster