
Useimmat työntekijät käyttävät historiallisesti Logitechin langattomia näppäimistöjä ja hiiriä. Syöttäessämme salasanojamme jälleen kerran, me Raccoon Security -tiimin asiantuntijat kysyimme itseltämme: kuinka vaikeaa on ohittaa langattomien näppäimistöjen turvamekanismit? Tutkimus paljasti arkkitehtonisia puutteita ja ohjelmistovirheitä, jotka mahdollistavat pääsyn syöttötietoihin. Leikkauksen alla on mitä meillä on.
Miksi Logitech?
Mielestämme Logitechin syöttölaitteet ovat laadukkaimpia ja kätevimpiä. Suurin osa laitteistamme perustuu Logitech-ratkaisuun on universaali dongle-vastaanotin, jonka avulla voit liittää jopa 6 laitetta. Kaikki Logitech Unifying -teknologian kanssa yhteensopivat laitteet on merkitty Logitech Unifying -teknologian logolla. Helppokäyttöinen Voit hallita langattomien näppäimistöjen yhteyttä tietokoneeseen. Näppäimistön liittäminen Logitech-vastaanottimeen sekä itse tekniikka käsitellään mm. .

Dongle-vastaanotin Logitech Unifying -tuella
Näppäimistöstä voi tulla tietolähde hyökkääjille. Logitech mahdollisen uhan huomioon ottaen huolehti turvallisuudesta - se käytti langattoman näppäimistön radiokanavassa AES128-salausalgoritmia. Ensimmäinen ajatus, joka hyökkääjällä saattaa olla tässä tilanteessa, on siepata keskeisiä tietoja, kun ne lähetetään radiokanavan kautta sidontaprosessin aikana. Loppujen lopuksi, jos sinulla on avain, voit siepata näppäimistön radiosignaaleja ja purkaa niiden salauksen. Käyttäjän on kuitenkin harvoin (tai ei koskaan) yhdistettävä näppäimistöä, ja skannaavan radion käyttävän hakkerin on odotettava pitkään. Lisäksi kaikki ei ole niin yksinkertaista itse sieppausprosessin kanssa. Uusimmassa tutkimuksessa kesäkuussa 2019 tietoturva-asiantuntija Markus Mengs julkaisi verkossa haavoittuvuuden löytämisestä Logitechin USB-dongien vanhassa laiteohjelmistossa. Sen avulla hyökkääjät, joilla on fyysinen pääsy laitteisiin, voivat hankkia radiokanavan salausavaimia ja pistää näppäinpainalluksia (CVE-2019-13054).
Puhumme Nordic Semiconductorin NRF24 SoC:hen perustuvan Logitech-sovittimen turvallisuustutkimuksestamme. Aloitetaan ehkä itse radiokanavasta.
Kuinka data "lentää" radiokanavalla
Radiosignaalin aika-taajuusanalyysiin käytimme Blade-RF-laitteeseen perustuvaa SDR-vastaanotinta spektrianalysaattoritilassa (voit myös lukea tästä ).

SDR Blade-RF -laite
Harkitsimme myös mahdollisuutta tallentaa radiosignaalin kvadratuurit välitaajuudella, joka voitaisiin sitten analysoida digitaalisilla signaalinkäsittelytekniikoilla.
Venäjän federaation radiotaajuuksien valtiokomissio lyhyen kantaman laitteiden käyttöön taajuusalue on 2400–2483,5 MHz. Tämä on hyvin "kansoitettu" alue, josta et löydä mitään: Wi-Fi, Bluetooth, kaikenlaiset kaukosäätimet, turvajärjestelmät, langattomat ilmaisimet, hiiret näppäimistöllä ja muut langattomat digitaaliset laitteet.

2,4 GHz:n taajuusalue
Häiriöympäristö alueella on melko monimutkainen. Tästä huolimatta Logitech pystyi tarjoamaan luotettavan ja vakaan vastaanoton käyttämällä Enhanced ShockBurst -protokollaa NRF24-lähetin-vastaanottimessa yhdessä taajuuden sovitusalgoritmien kanssa.
Kaistan kanavat sijoitetaan kokonaislukuihin MHz, kuten kohdassa on määritelty NRF24 Nordic Semiconductor - yhteensä 84 kanavaa taajuusverkossa. Logitechin samanaikaisesti käyttämien taajuuskanavien määrä on luonnollisesti pienempi. Tunnisimme vähintään neljän käytön. Käytetyn signaalispektrianalysaattorin rajallisen kaistanleveyden vuoksi käytettyjen taajuuspaikkojen tarkkaa luetteloa ei voitu määrittää, mutta tämä ei ollut välttämätöntä. Tiedot näppäimistöltä vastaanotinsovittimeen lähetetään Burst-tilassa (lyhyet kytkennät lähettimeen) käyttämällä kaksiasentoista taajuusmodulaatiota GFSK 1 Mbaud:n symbolinopeudella:

Näppäimistön radiosignaali ajan esitysmuodossa
Vastaanotin käyttää vastaanoton korrelaatioperiaatetta, joten lähetetty paketti sisältää alustusosan ja osoiteosan. Melunkestävää koodausta ei käytetä, tietorunko on salattu AES128-algoritmilla.
Yleisesti ottaen Logitechin langattoman näppäimistön radiorajapinta voidaan luonnehtia täysin asynkroniseksi tilastollisen multipleksoinnin ja taajuussovituksen kanssa. Tämä tarkoittaa, että näppäimistön lähetin vaihtaa kanavaa lähettääkseen jokaisen uuden paketin. Vastaanotin ei tiedä etukäteen lähetysaikaa eikä taajuuskanavaa, vaan vain niiden luettelo tunnetaan. Vastaanotin ja lähetin kohtaavat kanavalla koordinoidun taajuuden ohituksen ja kuuntelualgoritmien sekä Enhanced ShockBurst -kuittausmekanismien ansiosta. Emme ole tutkineet, onko kanavaluettelo staattinen. Todennäköisesti sen muutos johtuu taajuussovitusalgoritmista. Jotain lähellä taajuushyppelymenetelmää (toimintataajuuden näennäissatunnainen viritys) näkyy alueen taajuusresurssin käytössä.
Siten aika-taajuus-epävarmuuden olosuhteissa hyökkääjän on jatkuvasti valvottava koko 84 paikan taajuusverkkoa, mikä vaatii huomattavan paljon aikaa, jotta varmistetaan kaikkien näppäimistösignaalien taattu vastaanotto. Tässä käy selväksi, miksi USB-avaimen purkamisen haavoittuvuus (CVE-2019-13054) sijoitetaan mahdollisuutena syöttää näppäinpainalluksia sen sijaan, että hyökkääjä pääsisi käsiksi näppäimistöltä syötettyihin tietoihin. On selvää, että langattoman näppäimistön radioliitäntä on melko monimutkainen ja tarjoaa luotettavan radioviestinnän Logitech-laitteiden välillä vaikeissa häiriöolosuhteissa 2,4 GHz:n kaistalla.
Katsaus ongelmaan sisältäpäin
Valitsimme tutkimukseemme yhden olemassa olevista Logitech K330 -näppäimistöistämme ja Logitechin yhdistävän donglen.

Logitech K330
Katsotaanpa näppäimistön sisälle. Mielenkiintoinen elementti taululla tutkittavaksi on Nordic Semiconductorin SoC NRF24 -siru.

SoC NRF24 langattomassa Logitech K330 -näppäimistössä
Laiteohjelmisto sijaitsee sisäisessä muistissa, luku- ja virheenkorjausmekanismit ovat poissa käytöstä. Valitettavasti laiteohjelmistoa ei ole julkaistu avoimissa lähteissä. Siksi päätimme lähestyä ongelmaa toiselta puolelta - tutkia Logitechin dongle-vastaanottimen sisäistä sisältöä.
Dongle-vastaanottimen "sisäinen maailma" on varsin mielenkiintoinen. Dongle on helppo purkaa, siinä on tuttu NRF24-julkaisu sisäänrakennetulla USB-ohjaimella ja se voidaan ohjelmoida uudelleen sekä USB-puolelta että suoraan ohjelmoijalta.

Logitech dongle ilman koteloa
Koska laiteohjelmiston päivittämiseen on vakiomekanismi (josta voit purkaa päivitetyn laiteohjelmistoversion), sinun ei tarvitse etsiä laiteohjelmistoa donglen sisältä.
Mitä tehtiin: laiteohjelmisto RQR_012_005_00028.bin purettiin Firmware Update Tool -sovelluksen rungosta. Sen eheyden tarkistamiseksi dongle-ohjain yhdistettiin kaapelilla :

Kaapeli Logitech-sovittimen liittämiseen ChipProg 48 -ohjelmoijaan
Laiteohjelmiston eheyden hallitsemiseksi se sijoitettiin onnistuneesti ohjaimen muistiin ja toimi oikein, näppäimistö ja hiiri yhdistettiin dongliin Logitech Unifyingin kautta. On mahdollista ladata muokattu laiteohjelmisto tavallisella päivitysmekanismilla, koska laiteohjelmistolle ei ole kryptografisia suojausmekanismeja. Tutkimustarkoituksiin käytimme fyysistä yhteyttä ohjelmoijaan, koska virheenkorjaus on tällä tavalla paljon nopeampaa.
Laiteohjelmistotutkimus ja hyökkäys käyttäjän syötteeseen
NRF24-siru on suunniteltu perinteisen Harvard-arkkitehtuurin Intel 8051 -laskentaytimen pohjalta. Ytimen osalta lähetin-vastaanotin toimii oheislaitteena ja sijoitetaan osoiteavaruuteen rekisterijoukona. Sirun ja lähdekoodiesimerkkien dokumentaatio löytyy Internetistä, joten laiteohjelmiston purkaminen ei ole vaikeaa. Käänteisen suunnittelun aikana lokalisoimme toiminnot näppäilytietojen vastaanottamiseksi radiokanavalta ja sen muuntamiseksi HID-muotoon lähetettäväksi isännälle USB-liitännän kautta. Injektiokoodi sijoitettiin vapaisiin muistiosoitteisiin, jotka sisälsivät työkalut ohjauksen sieppaamiseen, alkuperäisen suorituskontekstin tallentamiseen ja palauttamiseen sekä toiminnallista koodia.
Donglen radiokanavalta vastaanottaman avaimen painamisen tai vapauttamisen paketin salaus puretaan, muunnetaan tavalliseksi HID-raportiksi ja lähetetään USB-liitäntään kuten tavalliselta näppäimistöltä. Osana tutkimusta meitä kiinnostavin HID-raportin osa on HID-raportin osa, joka sisältää tavun muokkauslippuja ja 6 tavun joukon näppäinkoodeilla (viitetiedot HID:stä ).
HID-raportin rakenne:
// 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;Välittömästi ennen HID-rakenteen lähettämistä isännälle injektoitu koodi ottaa hallinnan, kopioi 8 tavua natiivia HID-dataa muistiin ja lähettää sen radion sivukanavalle selkeänä tekstinä. Koodissa se näyttää tältä:
//~~~~~~~~~ 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 ~~~~~~~~~~~~~~~~~~~~~~~~~<Sivukanava on järjestetty taajuudelle, jonka asetamme tietyillä manipulointinopeuden ja pakettirakenteen ominaisuuksilla.
Sirussa olevan lähetin-vastaanottimen toiminta perustuu tilakaavioon, johon Enhanced ShockBurst -protokolla on orgaanisesti integroitu. Havaitsimme, että juuri ennen HID-tietojen lähettämistä isäntä-USB-liitäntään lähetin-vastaanotin oli IDLE-tilassa. Tämä mahdollistaa sen turvallisen konfiguroinnin uudelleen toimimaan sivukanavassa. Syötetty koodi sieppaa ohjauksen, säilyttää alkuperäisen lähetin-vastaanottimen konfiguraation kokonaisuudessaan ja vaihtaa sen uuteen lähetystilaan sivukanavalla. Enhanced ShockBurst -vahvistusmekanismi on poissa käytöstä tässä tilassa; HID-tiedot lähetetään selkeässä muodossa ilmassa. Sivukanavan paketin rakenne on esitetty alla olevassa kuvassa, signaalikaaviot on saatu demoduloinnin jälkeen ja ennen datakellon synkronoinnin palauttamista. Osoitearvo valittiin paketin visuaalisen tunnistamisen helpottamiseksi.

Demoduloitu purskepurskesignaali sivukanavassa
Kun paketti on lähetetty sivukanavalle, syötetty koodi palauttaa lähetin-vastaanottimen tilan. Nyt se on jälleen valmis toimimaan normaalisti alkuperäisen laiteohjelmiston yhteydessä.
Taajuus- ja aika-taajuusalueilla sivukanava näyttää tältä:

Sivukanavan spektri- ja aika-taajuusesitys
Testaaksemme NRF24-sirun toimintaa muokatun laiteohjelmiston kanssa kokosimme jalustan, joka sisälsi Logitech-sovittimen muokatulla laiteohjelmistolla, langattoman näppäimistön ja kiinalaisen NRF24-sirun moduulin pohjalta kootun vastaanottimen.

Logitechin langattoman näppäimistön radiosignaalin sieppauspiiri

NRF24-pohjainen moduuli
Penkillä, näppäimistön toimiessa normaalisti, sen liittämisen jälkeen Logitech-dongleen tarkkailimme sivuradiokanavalla selkeän tiedon siirtoa näppäinpainalluksista ja normaalia salatun datan siirtoa pääradioliitännässä. Siten pystyimme tarjoamaan suoran kuuntelun käyttäjän näppäimistön syötteelle:

Näppäimistön kaappauksen tulos
Injektoitu koodi aiheuttaa pieniä viiveitä dongle-laiteohjelmiston toiminnassa. Ne ovat kuitenkin liian pieniä, jotta käyttäjä huomaa.
Kuten voit kuvitella, mitä tahansa Unifying-tekniikan kanssa yhteensopivaa Logitech-näppäimistöä voidaan käyttää tähän hyökkäysvektoriin. Koska hyökkäys kohdistuu useimpiin Logitech-näppäimistöihin sisältyvään Unifying-vastaanottimeen, se on riippumaton tietystä näppäimistömallista.
Johtopäätös
Tutkimuksen tulokset viittaavat siihen, että hyökkääjät voivat käyttää harkittua skenaariota: jos hakkeri korvaa uhrin Logitechin langattoman näppäimistön dongle-vastaanottimella, hän pystyy selvittämään uhrin tilien salasanat kaikella seurauksella. seuraukset. Älä unohda, että on myös mahdollista pistää näppäinpainalluksia, mikä tarkoittaa, että mielivaltaisen koodin suorittaminen uhrin tietokoneella ei ole vaikeaa.
Entä jos hyökkääjä voi yhtäkkiä muokata minkä tahansa Logitech-sovittimen laiteohjelmistoa USB:n kautta? Sitten voit luoda lähekkäin sijaitsevista dongleista toistimien verkon ja lisätä vuotoetäisyyttä. Vaikka "taloudellisesti varakas" hyökkääjä pystyy "kuuntelemaan" näppäimistön syöttöä ja painamaan näppäimiä jopa naapurirakennuksesta, nykyaikaiset radiovastaanottolaitteet, joissa on erittäin selektiiviset järjestelmät, herkät radiovastaanottimet lyhyillä taajuuksilla ja erittäin suuntaavat antennit mahdollistavat sen. "kuuntelemaan" näppäimistösyötteitä ja painamaan näppäimiä jopa naapurirakennuksesta.

Ammattimaiset radiolaitteet
Koska Logitech-näppäimistön langaton tiedonsiirtokanava on varsin hyvin suojattu, löydetty hyökkäysvektori vaatii fyysisen pääsyn vastaanottimeen, mikä rajoittaa hyökkääjää suuresti. Ainoa suojausvaihtoehto tässä tapauksessa olisi käyttää salaussuojausmekanismeja vastaanottimen laiteohjelmistolle, esimerkiksi tarkistamalla ladatun laiteohjelmiston allekirjoitus vastaanottimen puolelta. Mutta valitettavasti NRF24 ei tue tätä ja on mahdotonta toteuttaa suojausta nykyisessä laitearkkitehtuurissa. Pidä siis huolta dongleistasi, koska kuvattu hyökkäysvaihtoehto edellyttää fyysistä pääsyä niihin.

Raccoon Security on Vulcanin tutkimus- ja kehityskeskuksen asiantuntijaryhmä käytännön tietoturvan, kryptografian, piirisuunnittelun, käänteisen suunnittelun ja matalan tason ohjelmistojen luomisen alalla.
Lähde: will.com
