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
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
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
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
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)
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
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
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