
Historikisht, shumica e punonjësve përdorin tastierë me valë dhe minj nga Logitech. Duke futur edhe një herë fjalëkalimet tona, ne, specialistët e ekipit Raccoon Security, pyetëm veten: sa e vështirë është të anashkalosh mekanizmat e sigurisë së tastierës me valë? Studimi zbuloi të meta arkitekturore dhe gabime softuerike që lejojnë aksesin në të dhënat hyrëse. Poshtë prerjes është ajo që kemi marrë.
Pse Logitech?
Sipas mendimit tonë, pajisjet hyrëse Logitech janë ndër më cilësoret dhe më të përshtatshmet. Shumica e pajisjeve që kemi janë të bazuara në zgjidhjen Logitech është një marrës universal dongle që ju lejon të lidhni deri në 6 pajisje. Të gjitha pajisjet e pajtueshme me teknologjinë Logitech Unifying janë shënuar me logon e teknologjisë Logitech Unifying. Lehtë për t'u përdorur Ju lejon të menaxhoni lidhjen e tastierave me valë me kompjuterin tuaj. Procesi i lidhjes së tastierës me dongle marrës Logitech, si dhe vetë teknologjia, mbulohet, për shembull, .

Marrës dongle me mbështetje Logitech Unifying
Tastiera mund të bëhet një burim informacioni për sulmuesit. Logitech, duke marrë parasysh kërcënimin e mundshëm, u kujdes për sigurinë - përdori algoritmin e kriptimit AES128 në kanalin radio të tastierës pa tel. Mendimi i parë që mund të ketë një sulmues në këtë situatë është të përgjojë informacionin kryesor kur ai transmetohet përmes një kanali radio gjatë procedurës së lidhjes. Në fund të fundit, nëse keni një çelës, mund të përgjoni sinjalet e radios së tastierës dhe t'i deshifroni ato. Sidoqoftë, përdoruesi rrallë (ose edhe kurrë) duhet të unifikojë tastierën, dhe një haker me një radio skanimi do të duhet të presë një kohë të gjatë. Për më tepër, jo gjithçka është aq e thjeshtë me vetë procesin e përgjimit. Në studimin e fundit në qershor 2019, eksperti i sigurisë Markus Mengs publikoi në internet në lidhje me zbulimin e një dobësie në firmware-in e vjetër të dongleve USB Logitech. Ai i lejon sulmuesit me qasje fizike në pajisje të marrin çelësat e enkriptimit të kanaleve të radios dhe të injektojnë goditjet e tasteve (CVE-2019-13054).
Ne do të flasim për studimin tonë të sigurisë të dongle Logitech bazuar në NRF24 SoC nga Nordic Semiconductor. Le të fillojmë, ndoshta, me vetë kanalin e radios.
Si "fluturojnë" të dhënat në një kanal radioje
Për analizën e frekuencës kohore të sinjalit të radios, ne përdorëm një marrës SDR të bazuar në pajisjen Blade-RF në modalitetin e analizuesit të spektrit (mund të lexoni gjithashtu për këtë ).

Pajisja SDR Blade-RF
Ne kemi shqyrtuar gjithashtu mundësinë e regjistrimit të kuadrateve të sinjalit radio në një frekuencë të ndërmjetme, të cilat më pas mund të analizohen duke përdorur teknikat e përpunimit të sinjalit dixhital.
Komisioni ShtetĂ«ror pĂ«r Frekuencat e Radios nĂ« FederatĂ«n Ruse pĂ«r pĂ«rdorim nga pajisjet me rreze tĂ« shkurtĂ«r, diapazoni i frekuencĂ«s Ă«shtĂ« 2400â2483,5 MHz. Ky Ă«shtĂ« njĂ« gamĂ« shumĂ« "e populluar", nĂ« tĂ« cilĂ«n nuk do tĂ« gjeni asgjĂ«: Wi-Fi, Bluetooth, tĂ« gjitha llojet e telekomandave, sistemet e sigurisĂ«, detektorĂ«t pa tel, minjtĂ« me tastierĂ« dhe pajisje tĂ« tjera dixhitale pa tel.

Spektri i brezit 2,4 GHz
Mjedisi i ndërhyrjes në gamë është mjaft kompleks. Përkundër kësaj, Logitech ishte në gjendje të siguronte pritje të besueshme dhe të qëndrueshme përmes përdorimit të protokollit të Enhanced ShockBurst në transmetuesin NRF24 në kombinim me algoritmet e përshtatjes së frekuencës.
Kanalet në një brez vendosen në pozicionet me numër të plotë MHz siç përcaktohet në NRF24 Nordic Semiconductor - gjithsej 84 kanale në rrjetin e frekuencave. Numri i kanaleve të frekuencave të përdorura njëkohësisht nga Logitech është, natyrisht, më i vogël. Ne identifikuam përdorimin e të paktën katër. Për shkak të gjerësisë së brezit të kufizuar të analizuesit të spektrit të sinjalit të përdorur, lista e saktë e pozicioneve të frekuencës së përdorur nuk mund të përcaktohet, por kjo nuk ishte e nevojshme. Informacioni nga tastiera në dongle marrës transmetohet në modalitetin Burst (ndizet e shkurtër transmetuesi) duke përdorur modulimin e frekuencës me dy pozicione GFSK me një shpejtësi simbolike prej 1 Mbaud:

Sinjali i radios së tastierës në paraqitjen e kohës
Marrësi përdor parimin e korrelacionit të marrjes, kështu që paketa e transmetuar përmban një preambulë dhe një pjesë adresash. Kodimi rezistent ndaj zhurmës nuk përdoret; trupi i të dhënave është i koduar me algoritmin AES128.
Në përgjithësi, ndërfaqja radio e tastierës wireless Logitech mund të karakterizohet si plotësisht asinkrone me multipleksim statistikor dhe përshtatje të frekuencës. Kjo do të thotë që transmetuesi i tastierës ndërron kanalin për të transmetuar çdo paketë të re. Marrësi nuk e di paraprakisht as kohën e transmetimit dhe as kanalin e frekuencës, por dihet vetëm lista e tyre. Marrësi dhe transmetuesi takohen në kanal falë algoritmeve të koordinuara të anashkalimit dhe dëgjimit të frekuencës, si dhe mekanizmave të njohjes së përmirësuar të ShockBurst. Ne nuk kemi hetuar nëse lista e kanaleve është statike. Ndoshta, ndryshimi i tij është për shkak të algoritmit të përshtatjes së frekuencës. Diçka afër metodës së kërcimit të frekuencës (akordim pseudo-rastësor i frekuencës së funksionimit) mund të shihet në përdorimin e burimit të frekuencës së diapazonit.
Kështu, në kushtet e pasigurisë së frekuencës së kohës, për të siguruar marrjen e garantuar të të gjitha sinjaleve të tastierës, një sulmues do të duhet të monitorojë vazhdimisht të gjithë rrjetin e frekuencës prej 84 pozicionesh, gjë që kërkon një kohë të konsiderueshme. Këtu bëhet e qartë pse cenueshmëria e nxjerrjes së çelësit USB (CVE-2019-13054) pozicionuar si aftësi për të injektuar tastierë, në vend që të fitoni aksesin e një sulmuesi në të dhënat e futura nga tastiera. Natyrisht, ndërfaqja radio e tastierës me valë është mjaft komplekse dhe siguron komunikim të besueshëm radio midis pajisjeve Logitech në kushte të vështira ndërhyrjeje në brezin 2,4 GHz.
Një vështrim i problemit nga brenda
Për studimin tonë, ne zgjodhëm një nga tastierat tona ekzistuese Logitech K330 dhe një dongle Logitech Unifying.

Logitech K330
Le të hedhim një vështrim brenda tastierës. Një element interesant në tabelë për t'u studiuar është çipi SoC NRF24 nga Nordic Semiconductor.

SoC NRF24 në tastierën me valë Logitech K330
Firmware ndodhet në memorien e brendshme, mekanizmat e leximit dhe korrigjimit janë të çaktivizuar. Fatkeqësisht, firmware nuk është publikuar në burime të hapura. Prandaj, vendosëm t'i qasemi problemit nga ana tjetër - të studiojmë përmbajtjen e brendshme të marrësit dongle Logitech.
"Bota e brendshme" e marrësit të dongle është mjaft interesante. Dongle çmontohet lehtësisht, mban në bord lëshimin e njohur NRF24 me një kontrollues të integruar USB dhe mund të riprogramohet si nga ana USB, ashtu edhe direkt nga programuesi.

Dongle Logitech pa strehim
Meqenëse ekziston një mekanizëm standard për azhurnimin e firmuerit duke përdorur (nga i cili mund të nxirrni versionin e përditësuar të firmuerit), nuk ka nevojë të kërkoni firmuerin brenda dongle.
ĂfarĂ« u bĂ«: firmware RQR_012_005_00028.bin u nxor nga trupi i aplikacionit Firmware Update Tool. PĂ«r tĂ« kontrolluar integritetin e tij, kontrolluesi i dongle u lidh me njĂ« kabllo :

Kabllo për lidhjen e dongle Logitech me programuesin ChipProg 48
PĂ«r tĂ« kontrolluar integritetin e firmuerit, ai u vendos me sukses nĂ« kujtesĂ«n e kontrolluesit dhe funksionoi si duhet, tastiera dhe miu u lidhĂ«n me dongle pĂ«rmes Logitech Unifying. ĂshtĂ« e mundur tĂ« ngarkoni firmware tĂ« modifikuar duke pĂ«rdorur mekanizmin standard tĂ« pĂ«rditĂ«simit, pasi nuk ka mekanizma mbrojtĂ«s kriptografik pĂ«r firmuerin. PĂ«r qĂ«llime kĂ«rkimore, ne pĂ«rdorĂ«m njĂ« lidhje fizike me programuesin, pasi korrigjimi i gabimeve Ă«shtĂ« shumĂ« mĂ« i shpejtĂ« nĂ« kĂ«tĂ« mĂ«nyrĂ«.
Hulumtimi i firmuerit dhe sulmi ndaj hyrjes së përdoruesit
Ăipi NRF24 Ă«shtĂ« projektuar bazuar nĂ« bĂ«rthamĂ«n informatike Intel 8051 nĂ« arkitekturĂ«n tradicionale tĂ« Harvardit. PĂ«r bĂ«rthamĂ«n, marrĂ«si vepron si njĂ« pajisje periferike dhe vendoset nĂ« hapĂ«sirĂ«n e adresave si njĂ« grup regjistrash. Dokumentacioni pĂ«r shembujt e çipit dhe kodit burimor mund tĂ« gjendet nĂ« internet, kĂ«shtu qĂ« çmontimi i firmuerit nuk Ă«shtĂ« i vĂ«shtirĂ«. GjatĂ« inxhinierisĂ« sĂ« kundĂ«rt, ne lokalizuam funksionet pĂ«r marrjen e tĂ« dhĂ«nave tĂ« shtypjes sĂ« tastierĂ«s nga kanali i radios dhe konvertimin e tyre nĂ« formatin HID pĂ«r transmetim nĂ« host pĂ«rmes ndĂ«rfaqes USB. Kodi i injektimit u vendos nĂ« adresat e memories sĂ« lirĂ«, tĂ« cilat pĂ«rfshinin mjete pĂ«r pĂ«rgjimin e kontrollit, ruajtjen dhe rivendosjen e kontekstit origjinal tĂ« ekzekutimit, si dhe kodin funksional.
Paketa e shtypjes ose lëshimit të një çelësi të marrë nga dongle nga kanali i radios deshifrohet, konvertohet në një raport standard HID dhe dërgohet në ndërfaqen USB si nga një tastierë e zakonshme. Si pjesë e studimit, pjesa e raportit HID që është më me interes për ne është pjesa e raportit HID që përmban një bajt me flamuj modifikues dhe një grup prej 6 bajte me kode të shtypjes së tastierës (për referencë, informacione rreth HID ).
Struktura e raportit të 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;Menjëherë përpara transmetimit të strukturës HID te hosti, kodi i injektuar merr kontrollin, kopjon 8 bajt të të dhënave origjinale HID në memorie dhe i dërgon ato në kanalin anësor të radios në tekst të qartë. Në kod duket kështu:
//~~~~~~~~~ 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 ~~~~~~~~~~~~~~~~~~~~~~~~~<Kanali anësor është i organizuar në një frekuencë që ne vendosim me karakteristika të caktuara të shpejtësisë së manipulimit dhe strukturës së paketës.
Funksionimi i transmetuesit në çip bazohet në një grafik gjendjeje në të cilin protokolli i Enhanced ShockBurst është i integruar organikisht. Ne zbuluam se menjëherë përpara transmetimit të të dhënave HID në ndërfaqen USB pritës, marrësi ishte në gjendje IDLE. Kjo bën të mundur rikonfigurimin e sigurt për të funksionuar në një kanal anësor. Kodi i injektuar kap kontrollin, ruan plotësisht konfigurimin origjinal të marrësit dhe e kalon atë në një mënyrë të re transmetimi në kanalin anësor. Mekanizmi i konfirmimit të Enhanced ShockBurst është i çaktivizuar në këtë modalitet; të dhënat HID transmetohen në formë të qartë përmes ajrit. Struktura e paketës në kanalin anësor është paraqitur në figurën më poshtë, diagramet e sinjalit janë marrë pas demodulimit dhe para rivendosjes së sinkronizimit të orës së të dhënave. Vlera e adresës u zgjodh për lehtësinë e identifikimit vizual të paketës.

Sinjali i demoduluar i shpërthimit të shpërthimit në kanalin anësor
Pasi paketa të transmetohet në kanalin anësor, kodi i injektuar rikthen gjendjen e marrësit. Tani është përsëri gati për të punuar normalisht në kontekstin e firmuerit origjinal.
Në domenet e frekuencës dhe frekuencës së kohës, kanali anësor duket kështu:

Paraqitja spektrale dhe frekuenca kohore e kanalit anësor
Për të testuar funksionimin e çipit NRF24 me firmuerin e modifikuar, ne montuam një stendë që përfshinte një dongle Logitech me firmware të modifikuar, një tastierë me valë dhe një marrës të montuar në bazë të një moduli kinez me çipin NRF24.

Qarku i përgjimit të sinjalit të radios me tastierë pa tel Logitech

Moduli i bazuar në NRF24
Në stol, me tastierën që funksiononte normalisht, pasi e lidhëm me donglein e Logitech, vëzhguam transmetimin e të dhënave të qarta për goditjet e tasteve në kanalin e radios anësore dhe transmetimin normal të të dhënave të koduara në ndërfaqen kryesore të radios. Kështu, ne ishim në gjendje të siguronim përgjim të drejtpërdrejtë të hyrjes së tastierës së përdoruesit:

Rezultati i përgjimit të hyrjes së tastierës
Kodi i injektuar sjell vonesa të vogla në funksionimin e firmuerit të dongle. Megjithatë, ato janë shumë të vogla që përdoruesi t'i vërë re.
Siç mund ta imagjinoni, çdo tastierë Logitech që është në përputhje me teknologjinë Unifying mund të përdoret për këtë vektor sulmi. Meqenëse sulmi synon marrësin Unifying të përfshirë në shumicën e tastierave Logitech, ai është i pavarur nga modeli specifik i tastierës.
Përfundim
Rezultatet e studimit sugjerojnë përdorimin e mundshëm të skenarit të konsideruar nga sulmuesit: nëse një haker zëvendëson viktimën me një marrës dongle për një tastierë pa tel Logitech, atëherë ai do të jetë në gjendje të zbulojë fjalëkalimet në llogaritë e viktimës me të gjitha ato që pasojnë. pasojat. Mos harroni se është gjithashtu e mundur të injektoni tastierë, që do të thotë se nuk është e vështirë të ekzekutoni kodin arbitrar në kompjuterin e viktimës.
Po sikur papritmas një sulmues të mund të modifikojë nga distanca firmuerin e çdo dongle të Logitech nëpërmjet USB? Më pas, nga dongles të vendosura ngushtë, mund të krijoni një rrjet përsëritësish dhe të rrisni distancën e rrjedhjes. Megjithëse një sulmues "i pasur financiarisht" do të jetë në gjendje të "dëgjojë" hyrjen e tastierës dhe shtypjen e tasteve edhe nga një ndërtesë fqinje, pajisjet moderne të pritjes së radios me sisteme shumë selektive, marrës të ndjeshëm radio me kohë të shkurtër sintonizimi me frekuencë dhe antena shumë të drejtuara do t'i lejojnë ato. për të "dëgjuar" hyrjen e tastierës dhe shtypjen e tasteve edhe nga një ndërtesë fqinje.

Pajisje profesionale radio
Meqenëse kanali i transmetimit të të dhënave me valë të tastierës Logitech është mjaft i mbrojtur, vektori i sulmit të gjetur kërkon qasje fizike në marrës, gjë që kufizon shumë sulmuesin. Opsioni i vetëm i mbrojtjes në këtë rast do të ishte përdorimi i mekanizmave të mbrojtjes kriptografike për firmuerin e marrësit, për shembull, kontrollimi i nënshkrimit të firmuerit të ngarkuar në anën e marrësit. Por, për fat të keq, NRF24 nuk e mbështet këtë dhe është e pamundur të zbatohet mbrojtja brenda arkitekturës aktuale të pajisjes. Pra, kujdesuni për dongles tuaj, sepse opsioni i sulmit të përshkruar kërkon qasje fizike në to.

Raccoon Security është një ekip i veçantë ekspertësh nga Qendra e Kërkimit dhe Zhvillimit Vulcan në fushën e sigurisë praktike të informacionit, kriptografisë, dizajnit të qarkut, inxhinierisë së kundërt dhe krijimit të softuerit të nivelit të ulët.
Burimi: www.habr.com
