Di dîrokê de, piraniya karmendan klavye û mişkên bêtêl ji Logitech bikar tînin. Em, pisporên tîmê Ewlekariya Raccoon, ku careke din şîfreyên xwe têxin nav xwe, ji xwe pirsî: çiqas zehmet e ku meriv mekanîzmayên ewlehiyê yên klavyeyên bêtêl derbas bike? Lêkolînê kêmasiyên mîmarî û xeletiyên nermalavê yên ku destûrê dide gihîştina daneyên têketinê derxist holê. Tiştê ku me bi dest xistiye li jêr qutbûnê ye.
Çima Logitech?
Li gorî me, amûrên têketina Logitech di nav kalîteya herî bilind û herî hêsan de ne. Piraniya amûrên ku me hene li ser bingeha çareseriya Logitech-ê ne
wergirê Dongle bi piştgiriya Logitech Unifying
Klavyeya dikare ji bo êrîşkaran bibe çavkaniya agahdariyê. Logitech, li ber çavê metirsiya mimkun, ewlehiya ewlehiyê girt - algorîtmaya şîfrekirinê ya AES128 di kanala radyoyê ya klavyeya wireless de bikar anî. Yekem ramana ku dibe ku êrîşkarek di vê rewşê de hebe ew e ku agahdariya sereke bigire dema ku ew li ser kanalek radyoyê di dema prosedûra girêdanê de tê veguheztin. Beriya her tiştî, heke mifteyek we hebe, hûn dikarin îşaretên radyoya klavyeyê bişopînin û wan deşîfre bikin. Lêbelê, bikarhêner kêm kêm (an jî qet carî) neçar e ku klavyeyê yek bike, û hackerek bi radyoyek şopandinê dê demek dirêj li bendê bimîne. Digel vê yekê, ne her tişt bi pêvajoya navberê bixwe re ew qas hêsan e. Di lêkolîna herî dawî de di Hezîrana 2019 de, pisporê ewlehiyê Markus Mengs serhêl weşand
Em ê li ser lêkolîna xweya ewlehiyê ya dongle Logitech-ê li ser bingeha NRF24 SoC ji Nordic Semiconductor biaxivin. Ka em dest pê bikin, dibe ku, bi kanala radyoyê bixwe.
Daneyên çawa di kanalek radyoyê de "difirin".
Ji bo analîza demjimêr-frekansa sînyala radyoyê, me wergirê SDR-ya ku li ser bingeha cîhaza Blade-RF-ê ye di moda analîzera spektrumê de bikar anî (hûn dikarin li ser vê yekê jî bixwînin
SDR Blade-RF Device
Me di heman demê de îhtîmala tomarkirina çarçikên sînyala radyoyê di frekansek navîn de jî nirxand, ku dûv re dikare bi teknîkên hilberandina sînyala dîjîtal were analîz kirin.
Komîsyona Dewletê ya Frekansên Radyoyê li Federasyona Rûsyayê
Spectrum band 2,4 GHz
Jîngeha destwerdanê ya di rêzê de pir tevlihev e. Digel vê yekê, Logitech karîbû bi karanîna protokola Enhanced ShockBurst di transceiver NRF24 de digel algorîtmayên adaptasyona frekansê re pêşwaziyek pêbawer û aram peyda bike.
Kanalên di bendekê de li cihên MHz yên bêkêmasî yên ku di nav de hatine destnîşan kirin têne danîn
Nîşana radyoya Klavyeyê di nûnertiya demê de
Wergir prensîba pêwendiyê ya wergirtinê bikar tîne, ji ber vê yekê pakêta ku hatî şandin pêşgotinek û beşek navnîşan heye. Kodkirina berxwedêr a deng nayê bikar anîn; laşê daneyê bi algorîtmaya AES128 ve hatî şîfre kirin.
Bi gelemperî, pêwendiya radyoyê ya klavyeya bêserûber Logitech dikare bi pirrengkirina statîstîkî û adaptasyona frekansê re bi tevahî asynkron were destnîşan kirin. Ev tê vê wateyê ku veguhezkara klavyeyê kanalê diguhezîne da ku her pakêtek nû veguhezîne. Wergir ji berê de ne dema ragihandinê û ne jî kanala frekansê nizane, lê tenê navnîşa wan tê zanîn. Di kanalê de wergir û veguhezker bi saya algorîtmayên hevrêziya frekansê û guhdarîkirinê, û her weha mekanîzmayên pejirandinê yên pêşkeftî yên ShockBurst têne hev. Me lêkolîn nekiriye ka navnîşa kanalan statîk e. Dibe ku, guhertina wê ji ber algorîtmaya adaptasyona frekansê ye. Tiştek nêzîkê rêbaza hilkişîna frekansê (tunekirina pseudo-random a frekansa xebitandinê) di karanîna çavkaniya frekansê ya rêzê de dikare were dîtin.
Bi vî rengî, di bin şert û mercên nezelaliya dem-frekansê de, ji bo misogerkirina wergirtina garantîkirî ya hemî sînyalên klavyeyê, êrîşkar pêdivî ye ku bi domdarî çavdêriya tevahiya tora frekansê ya 84 pozîsyonan bike, ku demek girîng hewce dike. Li vir eşkere dibe ku çima qelsiya derxistina mifteya USB (CVE-2019-13054)
Awirek li pirsgirêkê ji hundir ve
Ji bo lêkolîna xwe, me yek ji klavyeyên xwe yên Logitech K330 û dongle Logitech Unifying hilbijart.
Logitech K330
Ka em li hundurê klavyeyê binêrin. Hêmanek balkêş a li ser panelê ku meriv lêkolîn dike çîpê SoC NRF24 ji Nordic Semiconductor ye.
SoC NRF24 li ser panela klavyeya bêserûber Logitech K330
Firmware di bîra navxweyî de cih digire, mekanîzmayên xwendin û xeletkirinê neçalak in. Mixabin, firmware di çavkaniyên vekirî de nehatiye weşandin. Ji ber vê yekê, me biryar da ku em ji aliyekî din ve nêzikî pirsgirêkê bibin - ku em naveroka hundurê wergirê dongle Logitech bixwînin.
"Cîhana hundurîn" ya wergirê dongle pir balkêş e. Dongle bi hêsanî tê hilweşandin, serbestberdana naskirî ya NRF24 bi kontrolkerek USB-ya çêkirî re hildigire û hem ji hêla USB-ê û hem jî rasterast ji bernameçêker ve dikare ji nû ve were bernamekirin.
Logitech dongle bê xanî
Ji ber ku ji bo nûvekirina karanîna firmware mekanîzmayek standard heye
Çi hate kirin: firmware RQR_012_005_00028.bin ji laşê serîlêdana Amûra Nûvekirina Firmware hate derxistin. Ji bo kontrolkirina yekbûna wê, kontrolkera dongle bi kabloyek ve girêdayî bû
Kabloya girêdana dongle Logitech bi bernameçêkerê ChipProg 48 re
Ji bo kontrolkirina yekrêziya firmware, ew bi serfirazî di bîranîna kontrolkerê de hate danîn û rast xebitî, klavye û mişk bi riya Logitech Unifying bi dongle ve hatin girêdan. Mimkun e ku meriv firmware-ya guhertî bi karanîna mekanîzmaya nûvekirina standard were barkirin, ji ber ku mekanîzmayên parastina krîptografî ji bo firmware tune. Ji bo mebestên lêkolînê, me pêwendiyek laşî bi bernameçêker re bikar anî, ji ber ku debugkirin bi vî rengî pir zûtir e.
Lêkolîna firmware û êrîşa li ser têketina bikarhêner
Çîpa NRF24 di mîmariya kevneşopî ya Harvard-ê de li ser bingeha hesabkera Intel 8051 hatî çêkirin. Ji bo bingehîn, transceiver wekî amûrek derdor tevdigere û di cîhê navnîşan de wekî komek tomar tê danîn. Belgekirin ji bo nimûneyên çîp û koda çavkaniyê li ser Înternetê têne dîtin, ji ber vê yekê veqetandina firmware ne dijwar e. Di dema endezyariya berevajî de, me fonksiyonên ji bo wergirtina daneya bişkojka ji kanala radyoyê û veguheztina wê di forma HID-ê de ji bo veguheztina mêvandar bi navgîniya USB-yê veguhezand. Koda derzîlêdanê di navnîşanên bîranîna belaş de hate danîn, ku tê de amûrên ji bo kontrolkirinê, hilanîn û vegerandina çarçoweya darvekirinê ya orîjînal, û her weha koda fonksiyonel vedihewîne.
Pakêta pêlkirin an berdana mifteyek ku ji kanala radyoyê ji hêla dongle ve hatî wergirtin tê deşîfrekirin, vediguhezîne raporek standard HID û wekî ji klavyeyek birêkûpêk ji navgîniya USB-ê re tê şandin. Wekî beşek ji lêkolînê, beşa rapora HID-ê ya ku herî zêde ji me re eleqedar e, beşek ji rapora HID-ê ye ku tê de baytek alayên guhêrbar û rêzek ji 6 baytên bi kodên bişkojkê vedihewîne (ji bo referansê, agahdariya li ser HID-ê
Struktura rapora 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;
Tavilê berî veguheztina avahiya HID-ê ji mêvandar re, koda derzîkirî kontrolê digire, 8 bayt daneyên HID-ê yên xwecihî di bîranînê de kopî dike û bi nivîsek zelal dişîne kanala kêleka radyoyê. Di kodê de bi vî rengî xuya dike:
//~~~~~~~~~ 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 ~~~~~~~~~~~~~~~~~~~~~~~~~<
Kanala alî bi frekansek ku me bi hin taybetmendiyên leza manîpulasyonê û strukturên pakêtê ve hatî saz kirin.
Operasyona transceiver di çîpê de
Di Kanala Aliyê de sînyala teqîna teqîna demodulated
Piştî ku pakêt ji kanala alîgir re tê veguheztin, koda derzîkirî rewşa transceiver vedigire. Naha ew dîsa amade ye ku di çarçoveya firmware-ya orjînal de normal bixebite.
Di qadên frekansa û dem-frekansê de, kanala alî bi vî rengî xuya dike:
Nûnertiya spektral û dem-frekansa kanala alîgir
Ji bo ceribandina xebata çîpê NRF24 bi firmware-ya guhertî, me stendek berhev kir ku tê de dongek Logitech bi firmware-ya guhertî, klavyeyek bêtêl û wergirek ku li ser bingeha modulek çînî bi çîpê NRF24 ve hatî berhev kirin, berhev kir.
Klavyeya bêserûber a Logitech çerxa girtina sînyala radyoyê
Modula bingeha NRF24
Li ser masê, digel ku klavyeyê bi normalî dixebite, piştî ku wê bi dongle Logitech ve girêda, me li ser veguheztina daneyên zelal ên di derheqê lêdana bişkojan de di kanala radyoya alîgir de û veguheztina normal a daneyên şîfrekirî di navgîniya radyoya sereke de dît. Bi vî rengî, me karîbû ku rasterast guheztina têketina klavyeya bikarhêner peyda bikin:
Encama astengkirina têketina klavyeyê
Koda derzîkirî di xebata firmware dongle de derengiyên sivik destnîşan dike. Lêbelê, ew pir piçûk in ku bikarhêner bala xwe nede.
Wekî ku hûn dikarin xeyal bikin, her klavyeya Logitech ku bi teknolojiya Unifying re hevaheng e dikare ji bo vê vektora êrîşê were bikar anîn. Ji ber ku êrîş wergirê Unifying-ê ku bi piraniya klavyeyên Logitech-ê re tê de ye armanc dike, ew ji modela klavyeyê ya taybetî serbixwe ye.
encamê
Encamên lêkolînê bikaranîna muhtemel a senaryoya berçav ji hêla êrîşkaran ve tê pêşniyar kirin: heke hackerek ji bo klavyeya bêserûber a Logitech-ê li şûna mexdûr wergirê dongle bigire, wê hingê ew ê bikaribe şîfreyên hesabên mexdûran bi hemî tiştên ku li pey têne peyda kirin peyda bike. encamên. Ji bîr nekin ku di heman demê de gengaz e ku meriv bişkojka bişkojkê jî derzîne, ku tê vê wateyê ku ne dijwar e ku meriv koda keyfî li ser komputera mexdûr bicîh bîne.
Ger ji nişka ve êrîşkarek dikare ji dûr ve firmware ya her dongle Logitech bi USB-yê biguhezîne? Dûv re, ji dongên ji nêz ve, hûn dikarin torgilokek dubarekeran biafirînin û dûrahiya lehiyê zêde bikin. Her çend êrîşkarek "ji hêla darayî ve dewlemend" dê karibe "guh bide" têketina klavyeyê û bişkokên ji avahiyek cîran jî pê bide, alavên wergirtina radyoya nûjen bi pergalên pir bijartî, wergirên radyoyê yên hesas bi demên kurtkirina frekansa kurt û antênên pir rênîşandêr dê rê bidin wan. ji bo "guhdarî"kirina têketina klavyeyê û pêlkirina bişkokên ji avahiyek cîran jî.
Amûrên radyoyê yên profesyonel
Ji ber ku kanala ragihandina daneya bêserûber a klavyeya Logitech pir baş tê parastin, vektora êrîşê ya ku hatî dîtin pêdivî bi gihîştina laşî ya wergir heye, ku êrîşkar pir sînordar dike. Vebijarka yekane parastinê di vê rewşê de dê ev be ku meriv mekanîzmayên parastina krîptografî ji bo firmware-ya wergir bikar bîne, mînakî, kontrolkirina îmzeya firmware-ya barkirî li aliyê wergirê. Lê, mixabin, NRF24 vê yekê piştgirî nake û ne gengaz e ku parastinê di nav mîmariya cîhaza heyî de bicîh bîne. Ji ber vê yekê bala xwe bidin donglesên xwe, ji ber ku vebijarka êrîşê ya diyarkirî pêdivî bi gihîştina laşî ji wan re heye.
Ewlekariya Raccoon tîmek taybetî ya pisporên Navenda Lêkolîn û Pêşkeftinê ya Vulcan e di warê ewlehiya agahdariya pratîkî, krîptografî, sêwirana dorpêçê, endezyariya berevajî û çêkirina nermalava nizm de.
Source: www.habr.com