Historiskt sett använder de flesta anställda trådlösa tangentbord och möss från Logitech. När vi angav våra lösenord igen, frågade vi, specialisterna från Raccoon Security-teamet, oss själva: hur svårt är det att kringgå säkerhetsmekanismerna för trådlösa tangentbord? Studien avslöjade arkitektoniska brister och programvarufel som ger tillgång till indata. Nedanför snittet är vad vi fick.
Varför Logitech?
Enligt vår åsikt är Logitechs indataenheter bland de högsta kvaliteterna och de mest bekväma. De flesta enheter vi har är baserade på Logitechs lösning
Dongelmottagare med stöd för Logitech Unifying
Tangentbordet kan bli en informationskälla för angripare. Logitech, med hänsyn till det möjliga hotet, tog hand om säkerheten - använde AES128-krypteringsalgoritmen i radiokanalen på det trådlösa tangentbordet. Den första tanken som en angripare kan ha i denna situation är att fånga upp nyckelinformation när den sänds över en radiokanal under bindningsproceduren. När allt kommer omkring, om du har en nyckel, kan du fånga upp tangentbordets radiosignaler och dekryptera dem. Användaren behöver dock sällan (eller ens aldrig) förena tangentbordet, och en hackare med en skanningsradio kommer att behöva vänta länge. Dessutom är inte allt så enkelt med själva avlyssningsprocessen. I den senaste studien i juni 2019 publicerade säkerhetsexperten Markus Mengs online
Vi kommer att prata om vår säkerhetsstudie av Logitech-dongeln baserad på NRF24 SoC från Nordic Semiconductor. Låt oss kanske börja med själva radiokanalen.
Hur data "flyger" i en radiokanal
För tidsfrekvensanalys av radiosignalen använde vi en SDR-mottagare baserad på Blade-RF-enheten i spektrumanalysläge (du kan också läsa om detta
SDR Blade-RF-enhet
Vi övervägde också möjligheten att spela in kvadraturer av radiosignalen vid en mellanfrekvens, som sedan kunde analyseras med digital signalbehandlingsteknik.
Statens kommission för radiofrekvenser i Ryska federationen
Spektrum för 2,4 GHz-bandet
Interferensmiljön i området är ganska komplex. Trots detta kunde Logitech tillhandahålla tillförlitlig och stabil mottagning genom användningen av Enhanced ShockBurst-protokollet i NRF24-transceivern i kombination med frekvensanpassningsalgoritmer.
Kanaler i ett band placeras i heltals MHz-positioner enligt definitionen i
Tangentbordsradiosignal i tidsrepresentation
Mottagaren använder mottagningens korrelationsprincip, så det överförda paketet innehåller en inledning och en adressdel. Brusresistent kodning används inte, datakroppen är krypterad med AES128-algoritmen.
Generellt sett kan radiogränssnittet hos det trådlösa Logitech-tangentbordet karakteriseras som helt asynkront med statistisk multiplexering och frekvensanpassning. Detta innebär att tangentbordssändaren byter kanal för att sända varje nytt paket. Mottagaren vet inte i förväg vare sig sändningstiden eller frekvenskanalen, utan endast deras lista är känd. Mottagaren och sändaren möts i kanalen tack vare samordnade frekvensbypass- och lyssningsalgoritmer, samt Enhanced ShockBurst-bekräftelsemekanismer. Vi har inte undersökt om kanallistan är statisk. Förmodligen beror dess förändring på frekvensanpassningsalgoritmen. Något nära frekvenshoppningsmetoden (pseudo-slumpmässig inställning av arbetsfrekvensen) kan ses i användningen av frekvensresursen för området.
För att garantera mottagningen av alla tangentbordssignaler måste en angripare ständigt övervaka hela frekvensnätet med 84 positioner, vilket kräver en betydande tid. Här blir det tydligt varför sårbarheten för utvinning av USB-nyckeln (CVE-2019-13054)
En titt på problemet från insidan
För vår studie valde vi ett av våra befintliga Logitech K330-tangentbord och en Logitech Unifying-dongel.
Logitech K330
Låt oss ta en titt inuti tangentbordet. Ett intressant inslag på tavlan att studera är SoC NRF24-chippet från Nordic Semiconductor.
SoC NRF24 på Logitech K330 trådlöst tangentbordskort
Den fasta programvaran finns i internminnet, läs- och felsökningsmekanismer är inaktiverade. Tyvärr har den fasta programvaran inte publicerats i öppna källor. Därför bestämde vi oss för att närma oss problemet från andra sidan - att studera det interna innehållet i Logitechs dongelmottagare.
Dongelmottagarens "inre värld" är ganska intressant. Dongeln är lätt att demontera, bär ombord den välbekanta NRF24-releasen med en inbyggd USB-kontroller och kan programmeras om både från USB-sidan och direkt från programmeraren.
Logitech dongel utan hölje
Eftersom det finns en standardmekanism för att uppdatera firmware med hjälp av
Vad gjordes: firmware RQR_012_005_00028.bin extraherades från kroppen i programmet Firmware Update Tool. För att kontrollera dess integritet var dongelkontrollern ansluten med en kabel
Kabel för anslutning av Logitech-dongeln till ChipProg 48-programmeraren
För att kontrollera firmwarens integritet placerades den framgångsrikt i styrenhetens minne och fungerade korrekt, tangentbordet och musen var anslutna till dongeln via Logitech Unifying. Det är möjligt att ladda upp modifierad firmware med standarduppdateringsmekanismen, eftersom det inte finns några kryptografiska skyddsmekanismer för firmware. För forskningsändamål använde vi en fysisk anslutning till programmeraren, eftersom felsökning är mycket snabbare på detta sätt.
Firmware forskning och attack på användarinmatning
NRF24-chippet är designat baserat på Intel 8051-datorkärnan i traditionell Harvard-arkitektur. För kärnan fungerar transceivern som en perifer enhet och placeras i adressutrymmet som en uppsättning register. Dokumentation för chip- och källkodsexemplen finns på Internet, så det är inte svårt att demontera firmware. Under reverse engineering lokaliserade vi funktionerna för att ta emot tangenttryckningsdata från radiokanalen och konvertera den till HID-format för överföring till värden via USB-gränssnittet. Injektionskoden placerades i lediga minnesadresser, som inkluderade verktyg för att avlyssna kontroll, spara och återställa den ursprungliga exekveringskontexten, samt funktionell kod.
Paketet med att trycka eller släppa en nyckel som tas emot av dongeln från radiokanalen dekrypteras, omvandlas till en standard HID-rapport och skickas till USB-gränssnittet som från ett vanligt tangentbord. Som en del av studien är den del av HID-rapporten som är mest intressant för oss den del av HID-rapporten som innehåller en byte av modifieringsflaggor och en array på 6 byte med tangenttryckningskoder (för referens, 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;
Omedelbart innan HID-strukturen överförs till värden tar den injicerade koden kontrollen, kopierar 8 byte av inbyggd HID-data i minnet och skickar den till radiosidokanalen 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 ~~~~~~~~~~~~~~~~~~~~~~~~~<
Sidokanalen är organiserad vid en frekvens som vi ställer in med vissa egenskaper för manipulationshastighet och paketstruktur.
Drift av transceivern i chipet
Demodulerad Burst Burst-signal i sidokanalen
Efter att paketet har sänts till sidokanalen, återställer den injicerade koden sändtagarens tillstånd. Nu är den återigen redo att fungera normalt i samband med den ursprungliga firmware.
I frekvens- och tidsfrekvensdomänerna ser sidokanalen ut så här:
Spektral- och tidsfrekvensrepresentation av sidokanalen
För att testa funktionen av NRF24-chippet med modifierad firmware, monterade vi ett stativ som innehöll en Logitech-dongel med modifierad firmware, ett trådlöst tangentbord och en mottagare monterad på basis av en kinesisk modul med NRF24-chippet.
Logitech trådlös radiosignalavlyssningskrets med tangentbord
NRF24-baserad modul
På bänken, med tangentbordet fungerande normalt, efter att ha kopplat det till Logitech-dongeln, observerade vi överföringen av tydliga data om tangenttryckningar i sidoradiokanalen och den normala överföringen av krypterad data i huvudradiogränssnittet. Således kunde vi tillhandahålla direkt avlyssning av användarens tangentbordsinmatning:
Resultatet av avlyssning av tangentbordsinmatning
Den injicerade koden introducerar små förseningar i driften av dongelns firmware. De är dock för små för att användaren ska lägga märke till dem.
Som du kan föreställa dig kan vilket Logitech-tangentbord som helst som är kompatibelt med Unifying-teknik användas för denna attackvektor. Eftersom attacken riktar sig mot Unifying-mottagaren som ingår i de flesta Logitech-tangentbord är den oberoende av den specifika tangentbordsmodellen.
Slutsats
Resultaten av studien antyder möjlig användning av det övervägda scenariot av angripare: om en hacker ersätter offret med en dongelmottagare för ett trådlöst Logitech-tangentbord, kommer han att kunna ta reda på lösenorden till offrets konton med alla efterföljande konsekvenser. Glöm inte att det också är möjligt att injicera tangenttryckningar, vilket innebär att det inte är svårt att exekvera godtycklig kod på offrets dator.
Tänk om en angripare plötsligt kan fjärrmodifiera firmwaren för alla Logitech-donglar via USB? Sedan kan du, från tätt placerade donglar, skapa ett nätverk av repeatrar och öka läckageavståndet. Även om en "finansiellt rik" angripare kommer att kunna "lyssna" på tangentbordsinmatning och trycka på tangenter även från en angränsande byggnad, kommer modern radiomottagningsutrustning med mycket selektiva system, känsliga radiomottagare med korta frekvensinställningstider och mycket riktade antenner att tillåta dem att "lyssna" på tangentbordsinmatning och trycka på tangenter även från en angränsande byggnad.
Professionell radioutrustning
Eftersom den trådlösa dataöverföringskanalen på Logitech-tangentbordet är ganska väl skyddad, kräver den hittade attackvektorn fysisk åtkomst till mottagaren, vilket kraftigt begränsar angriparen. Det enda skyddsalternativet i detta fall skulle vara att använda kryptografiska skyddsmekanismer för mottagarens fasta programvara, till exempel att kontrollera signaturen för den laddade firmwaren på mottagarsidan. Men tyvärr stöder inte NRF24 detta och det är omöjligt att implementera skydd inom den nuvarande enhetsarkitekturen. Så ta hand om dina donglar, eftersom det beskrivna attackalternativet kräver fysisk åtkomst till dem.
Raccoon Security är ett speciellt team av experter från Vulcan Research and Development Center inom området praktisk informationssäkerhet, kryptografi, kretsdesign, reverse engineering och mjukvaruskapande på låg nivå.
Källa: will.com