Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

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 yhdistävä 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. täällä.

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

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ä täällä).

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

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 sallittu 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.

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

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 tekniset tiedot 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:

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

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) lähteissä 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.

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

Logitech K330

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

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

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.

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

Logitech dongle ilman koteloa

Koska laiteohjelmiston päivittämiseen on vakiomekanismi Firmware Update Tool -sovellukset (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 ChipProg-48 ohjelmoijalle:

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

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ä täällä).

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 NRF24 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.

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

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ä:

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

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.

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

Logitechin langattoman näppäimistön radiosignaalin sieppauspiiri

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

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:

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

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.

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

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.

Pidä huolta dongleistasi: Logitechin näppäimistövastaanottimen turvallisuustutkimus

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

Lisää kommentti