Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Kihistoria, wafanyikazi wengi hutumia kibodi na panya zisizo na waya kutoka Logitech. Tukiingiza nywila zetu kwa mara nyingine tena, sisi, wataalamu wa timu ya Usalama ya Raccoon, tulijiuliza: ni vigumu vipi kukwepa mifumo ya usalama ya kibodi zisizo na waya? Utafiti ulifunua dosari za usanifu na makosa ya programu ambayo huruhusu ufikiaji wa data ya ingizo. Chini ya kukata ni nini tulipata.

Kwa nini Logitech?

Kwa maoni yetu, vifaa vya kuingiza data vya Logitech ni kati ya ubora wa juu na rahisi zaidi. Vifaa vingi tulivyo navyo vinatokana na suluhisho la Logitech unganishi ni kipokezi cha jumla cha dongle kinachokuruhusu kuunganisha hadi vifaa 6. Vifaa vyote vinavyooana na teknolojia ya Logitech Unifying vimetiwa alama ya nembo ya teknolojia ya Logitech Unifying. Rahisi kutumia ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Inakuruhusu kudhibiti muunganisho wa kibodi zisizo na waya kwenye kompyuta yako. Mchakato wa kuunganisha kibodi kwenye dongle ya mpokeaji wa Logitech, pamoja na teknolojia yenyewe, inafunikwa, kwa mfano, hapa.

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Kipokeaji cha Dongle kilicho na usaidizi wa Kuunganisha wa Logitech

Kibodi inaweza kuwa chanzo cha habari kwa washambuliaji. Logitech, kwa kuzingatia tishio linalowezekana, alitunza usalama - alitumia algorithm ya usimbuaji wa AES128 kwenye chaneli ya redio ya kibodi isiyo na waya. Wazo la kwanza ambalo mshambulizi anaweza kuwa nalo katika hali hii ni kunasa taarifa muhimu inapopitishwa kupitia kituo cha redio wakati wa utaratibu wa kufunga. Baada ya yote, ikiwa una ufunguo, unaweza kukataza ishara za redio za kibodi na kuzifuta. Hata hivyo, mtumiaji mara chache (au hata kamwe) anapaswa kuunganisha kibodi, na hacker yenye redio ya skanning itabidi kusubiri kwa muda mrefu. Kwa kuongeza, sio kila kitu ni rahisi sana na mchakato wa kuingilia yenyewe. Katika utafiti wa hivi punde mnamo Juni 2019, mtaalamu wa usalama Markus Mengs alichapisha mtandaoni сообщСниС kuhusu ugunduzi wa athari katika programu dhibiti ya zamani ya Logitech USB dongles. Huruhusu washambuliaji walio na uwezo wa kufikia vifaa kimwili kupata funguo za usimbaji fiche za idhaa ya redio na kuingiza vibonye vya vitufe (CVE-2019-13054).

Tutazungumza kuhusu utafiti wetu wa usalama wa dongle ya Logitech kulingana na NRF24 SoC kutoka kwa Nordic Semiconductor. Wacha tuanze, labda, na kituo cha redio yenyewe.

Jinsi data "inaruka" katika kituo cha redio

Kwa uchanganuzi wa masafa ya muda wa mawimbi ya redio, tulitumia kipokezi cha SDR kulingana na kifaa cha Blade-RF katika hali ya uchanganuzi wa mawigo (unaweza pia kusoma kuhusu hili. hapa).

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Kifaa cha SDR Blade-RF

Pia tulizingatia uwezekano wa kurekodi quadratures za mawimbi ya redio kwa masafa ya kati, ambayo yanaweza kuchambuliwa kwa kutumia mbinu za usindikaji wa mawimbi ya dijiti.

Tume ya Jimbo juu ya Masafa ya Redio katika Shirikisho la Urusi ruhusiwa kwa matumizi ya vifaa vya masafa mafupi, masafa ya masafa ni 2400-2483,5 MHz. Huu ni safu "iliyo na watu wengi", ambayo hautapata chochote: Wi-Fi, Bluetooth, kila aina ya vidhibiti vya mbali, mifumo ya usalama, vigunduzi visivyo na waya, panya zilizo na kibodi na vifaa vingine vya dijiti visivyo na waya.

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Wigo wa bendi ya 2,4 GHz

Mazingira ya kuingilia kati katika safu ni ngumu sana. Licha ya hili, Logitech iliweza kutoa mapokezi ya kuaminika na thabiti kupitia matumizi ya Itifaki ya Kuimarishwa ya ShockBurst katika transceiver ya NRF24 pamoja na algorithms ya kukabiliana na mzunguko.

Vituo katika bendi vimewekwa katika nafasi kamili za MHz kama inavyofafanuliwa vipimo NRF24 Nordic Semiconductor - jumla ya njia 84 katika gridi ya mzunguko. Idadi ya chaneli za masafa zinazotumiwa wakati huo huo na Logitech ni, bila shaka, chini. Tuligundua matumizi ya angalau nne. Kutokana na kipimo kikomo cha kichanganuzi cha wigo wa ishara kilichotumiwa, orodha kamili ya nafasi za masafa iliyotumiwa haikuweza kubainishwa, lakini hii haikuwa lazima. Taarifa kutoka kwa kibodi hadi kwa dongle ya kipokezi hupitishwa katika hali ya Kupasuka (washa fupi kwenye kisambaza data) kwa kutumia urekebishaji wa masafa ya nafasi mbili za GFSK kwa alama ya 1 Mbauda:

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Ishara ya redio ya kibodi katika uwakilishi wa wakati

Mpokeaji hutumia kanuni ya uunganisho wa mapokezi, kwa hivyo pakiti iliyopitishwa ina utangulizi na sehemu ya anwani. Usimbaji unaostahimili kelele hautumiki; kikundi cha data kimesimbwa kwa njia fiche kwa algoriti ya AES128.

Kwa ujumla, kiolesura cha redio cha kibodi isiyo na waya ya Logitech kinaweza kuainishwa kuwa kisichosawazisha na kuzidisha takwimu na urekebishaji wa masafa. Hii inamaanisha kuwa kisambaza kibodi hubadilisha chaneli ili kusambaza kila pakiti mpya. Mpokeaji hajui mapema ama wakati wa maambukizi au njia ya mzunguko, lakini orodha yao tu inajulikana. Kipokeaji na kisambaza data hukutana katika kituo kutokana na njia za kukwepa masafa na kanuni za usikilizaji zilizoratibiwa, pamoja na njia za uthibitishaji zilizoboreshwa za ShockBurst. Hatujachunguza ikiwa orodha ya vituo ni tuli. Pengine, mabadiliko yake ni kutokana na algorithm ya kukabiliana na mzunguko. Kitu kilicho karibu na mbinu ya kurukaruka mara kwa mara (urekebishaji wa pseudo-nasibu wa masafa ya uendeshaji) kinaweza kuonekana katika matumizi ya rasilimali ya masafa ya masafa.

Kwa hivyo, chini ya hali ya kutokuwa na uhakika wa mzunguko wa wakati, ili kuhakikisha upokeaji wa uhakika wa ishara zote za kibodi, mshambuliaji atahitaji kufuatilia mara kwa mara gridi nzima ya mzunguko wa nafasi 84, ambayo inahitaji kiasi kikubwa cha muda. Hapa inakuwa wazi kwa nini hatari ya uchimbaji wa ufunguo wa USB (CVE-2019-13054) katika vyanzo imewekwa kama uwezo wa kuingiza vibonye, ​​badala ya kupata ufikiaji wa mvamizi kwa data iliyoingizwa kutoka kwa kibodi. Kwa wazi, interface ya redio ya kibodi isiyo na waya ni ngumu sana na hutoa mawasiliano ya redio ya kuaminika kati ya vifaa vya Logitech katika hali ngumu ya kuingiliwa katika bendi ya 2,4 GHz.

Kuangalia shida kutoka ndani

Kwa utafiti wetu, tulichagua mojawapo ya kibodi zetu zilizopo za Logitech K330 na dongle ya Logitech Unifying.

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Logitech K330

Hebu tuangalie ndani ya kibodi. Kipengele cha kuvutia kwenye ubao cha kusoma ni chipu ya SoC NRF24 kutoka Nordic Semiconductor.

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

SoC NRF24 kwenye ubao wa kibodi usiotumia waya wa Logitech K330

Firmware iko kwenye kumbukumbu ya ndani, mifumo ya kusoma na kurekebisha imezimwa. Kwa bahati mbaya, firmware haijachapishwa katika vyanzo wazi. Kwa hivyo, tuliamua kushughulikia shida kutoka upande mwingine - kusoma yaliyomo ndani ya mpokeaji wa dongle wa Logitech.

"Dunia ya ndani" ya mpokeaji wa dongle inavutia sana. Dongle hutenganishwa kwa urahisi, hubeba toleo linalojulikana la NRF24 na kidhibiti cha USB kilichojengewa ndani na kinaweza kupangwa upya kutoka upande wa USB na moja kwa moja kutoka kwa kitengeneza programu.

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Logitech dongle bila makazi

Kwa kuwa kuna utaratibu wa kawaida wa kusasisha firmware kwa kutumia Programu za Zana ya Kusasisha Firmware (ambayo unaweza kutoa toleo la firmware iliyosasishwa), hakuna haja ya kutafuta firmware ndani ya dongle.

Nini kilifanywa: firmware RQR_012_005_00028.bin ilitolewa kutoka kwa mwili wa programu ya Zana ya Kusasisha Firmware. Kuangalia uadilifu wake, mtawala wa dongle aliunganishwa na kebo kwa kitengeneza programu cha ChipProg-48:

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Kebo ya kuunganisha dongle ya Logitech kwenye programu ya ChipProg 48

Ili kudhibiti utimilifu wa firmware, iliwekwa kwa ufanisi kwenye kumbukumbu ya mtawala na ilifanya kazi kwa usahihi, kibodi na panya ziliunganishwa kwenye dongle kupitia Logitech Unifying. Inawezekana kupakia programu dhibiti iliyorekebishwa kwa kutumia utaratibu wa kawaida wa kusasisha, kwa kuwa hakuna njia za ulinzi wa kriptografia za programu dhibiti. Kwa madhumuni ya utafiti, tulitumia muunganisho wa kimwili kwa kitengeneza programu, kwa kuwa utatuzi ni haraka sana kwa njia hii.

Utafiti wa programu dhibiti na shambulio la uingizaji wa mtumiaji

Chip ya NRF24 imeundwa kulingana na msingi wa kompyuta wa Intel 8051 katika usanifu wa jadi wa Harvard. Kwa msingi, transceiver hufanya kama kifaa cha pembeni na huwekwa kwenye nafasi ya anwani kama seti ya rejista. Nyaraka za chip na mifano ya msimbo wa chanzo zinaweza kupatikana kwenye mtandao, hivyo kutenganisha firmware si vigumu. Wakati wa uhandisi wa kubadili nyuma, tuliweka utendakazi wa kupokea data ya kibonye kutoka kwa kituo cha redio na kuibadilisha kuwa umbizo la HID ili kutumwa kwa seva pangishi kupitia kiolesura cha USB. Nambari ya sindano iliwekwa katika anwani za kumbukumbu za bure, ambazo zilijumuisha zana za kukatiza udhibiti, kuokoa na kurejesha muktadha wa utekelezaji wa asili, pamoja na msimbo wa kazi.

Kifurushi cha kubonyeza au kutoa kitufe kilichopokelewa na dongle kutoka kwa idhaa ya redio husimbwa, kubadilishwa kuwa ripoti ya kawaida ya HID na kutumwa kwa kiolesura cha USB kama kutoka kwa kibodi ya kawaida. Kama sehemu ya utafiti, sehemu ya ripoti ya HID ambayo inatuvutia zaidi ni sehemu ya ripoti ya HID iliyo na beti za virekebishaji na safu ya baiti 6 zilizo na misimbo ya vitufe (kwa kumbukumbu, habari kuhusu HID. hapa).

Muundo wa ripoti ya HID:

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

Mara tu kabla ya kusambaza muundo wa HID kwa mwenyeji, msimbo uliodungwa huchukua udhibiti, unakili baiti 8 za data asili ya HID kwenye kumbukumbu na kuituma kwa idhaa ya upande wa redio kwa maandishi wazi. Kwa nambari inaonekana kama hii:

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

Njia ya upande imeandaliwa kwa mzunguko tunaoweka na sifa fulani za kasi ya kudanganywa na muundo wa pakiti.

Uendeshaji wa transceiver kwenye chip NRF24 inategemea grafu ya hali ambayo itifaki ya ShockBurst Iliyoboreshwa imeunganishwa kikaboni. Tuligundua kuwa mara moja kabla ya kusambaza data ya HID kwa kiolesura cha mwenyeji cha USB, kipitisha data kilikuwa katika hali ya IDLE. Hii inafanya uwezekano wa kuisanidi upya kwa usalama ili kufanya kazi katika kituo cha kando. Msimbo uliodungwa hukatiza udhibiti, huhifadhi usanidi wa kibadilishaji data asilia kikamilifu na kuibadilisha hadi kwa modi mpya ya upokezaji kwenye chaneli ya kando. Utaratibu wa Uthibitishaji Ulioboreshwa wa ShockBurst umezimwa katika hali hii; data ya HID inasambazwa katika hali ya wazi angani. Muundo wa pakiti kwenye kituo cha upande unaonyeshwa kwenye takwimu hapa chini, michoro za ishara zilipatikana baada ya kupunguzwa na kabla ya kurejeshwa kwa maingiliano ya saa ya data. Thamani ya anwani ilichaguliwa kwa urahisi wa utambulisho wa kuona wa kifurushi.

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Mawimbi ya Kupasuka ya Kupasuka kwenye Idhaa ya Upande

Baada ya pakiti kupitishwa kwa chaneli ya kando, msimbo ulioingizwa hurejesha hali ya transceiver. Sasa iko tayari kufanya kazi kwa kawaida katika muktadha wa firmware ya asili.

Katika vikoa vya frequency na saa-frequency, chaneli ya kando inaonekana kama hii:

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Uwakilishi wa Spectral na saa-frequency ya kituo cha upande

Ili kujaribu utendakazi wa chipu ya NRF24 kwa kutumia programu dhibiti iliyorekebishwa, tulikusanya stendi iliyojumuisha dongle ya Logitech yenye programu dhibiti iliyorekebishwa, kibodi isiyotumia waya na kipokezi kilichokusanywa kwa misingi ya moduli ya Kichina iliyo na chipu ya NRF24.

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Sakiti ya kukataza mawimbi ya redio ya kibodi isiyo na waya ya Logitech

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Moduli ya msingi ya NRF24

Kwenye benchi, na kibodi inayofanya kazi kawaida, baada ya kuiunganisha kwenye dongle ya Logitech, tuliona upitishaji wa data wazi kuhusu vibonye kwenye njia ya redio ya upande na upitishaji wa kawaida wa data iliyosimbwa kwenye kiolesura kikuu cha redio. Kwa hivyo, tuliweza kutoa uingiliaji wa moja kwa moja wa ingizo la kibodi ya mtumiaji:

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Matokeo ya kukatiza ingizo la kibodi

Msimbo uliodungwa huleta ucheleweshaji kidogo katika uendeshaji wa programu dhibiti ya dongle. Walakini, ni ndogo sana kwa mtumiaji kutambua.

Kama unavyoweza kufikiria, kibodi yoyote ya Logitech ambayo inaoana na teknolojia ya Kuunganisha inaweza kutumika kwa vekta hii ya kushambulia. Kwa kuwa shambulio hilo linalenga kipokeaji cha Kuunganisha kilichojumuishwa na kibodi nyingi za Logitech, halitegemei muundo mahususi wa kibodi.

Hitimisho

Matokeo ya utafiti yanapendekeza uwezekano wa matumizi ya hali inayozingatiwa na washambuliaji: ikiwa hacker atabadilisha mwathiriwa na kipokeaji cha dongle kwa kibodi isiyo na waya ya Logitech, basi ataweza kujua nywila kwa akaunti za mwathirika na yote yanayofuata. matokeo. Usisahau kwamba inawezekana pia kuingiza viboko vya ufunguo, ambayo ina maana kwamba si vigumu kutekeleza msimbo wa kiholela kwenye kompyuta ya mwathirika.

Ikiwa ghafla mshambuliaji anaweza kurekebisha firmware ya dongle yoyote ya Logitech kupitia USB kwa mbali? Kisha, kutoka kwa dongles zilizowekwa kwa karibu, unaweza kuunda mtandao wa kurudia na kuongeza umbali wa kuvuja. Ingawa mshambuliaji "tajiri wa kifedha" ataweza "kusikiliza" pembejeo ya kibodi na kubonyeza vitufe hata kutoka kwa jengo jirani, vifaa vya kisasa vya kupokea redio vilivyo na mifumo ya kuchagua sana, vipokezi nyeti vya redio vilivyo na muda mfupi wa kurekebisha masafa na antena zenye mwelekeo wa juu zitawaruhusu. "kusikiliza" pembejeo ya kibodi na bonyeza vitufe hata kutoka kwa jengo la jirani.

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Vifaa vya redio vya kitaaluma

Kwa kuwa chaneli ya upitishaji data isiyo na waya ya kibodi ya Logitech inalindwa vizuri, vekta ya shambulio iliyopatikana inahitaji ufikiaji wa kimwili kwa mpokeaji, ambayo hupunguza sana mshambuliaji. Chaguo pekee la ulinzi katika kesi hii itakuwa kutumia mifumo ya ulinzi ya kriptografia kwa firmware ya mpokeaji, kwa mfano, kuangalia saini ya firmware iliyopakiwa kwenye upande wa mpokeaji. Lakini, kwa bahati mbaya, NRF24 haiungi mkono hili na haiwezekani kutekeleza ulinzi ndani ya usanifu wa sasa wa kifaa. Kwa hivyo tunza dongles zako, kwa sababu chaguo la shambulio lililoelezewa linahitaji ufikiaji wa kimwili kwao.

Tunza dongles zako: Utafiti wa usalama wa kipokea kibodi cha Logitech

Usalama wa Raccoon ni timu maalum ya wataalam kutoka Kituo cha Utafiti na Maendeleo cha Vulcan katika uwanja wa usalama wa habari kwa vitendo, cryptography, muundo wa mzunguko, uhandisi wa nyuma na uundaji wa programu za kiwango cha chini.

Chanzo: mapenzi.com

Kuongeza maoni