Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Historikisht, shumica e punonjĂ«sve kanĂ« pĂ«rdorur tastiera dhe mausĂ« pa tela nga kompania Logitech. Duke bĂ«rĂ« pĂ«rsĂ«ri hyrjet e fjalĂ«kalimeve tona, ne – specialistĂ«t e ekipit Raccoon Security – u pyetĂ«m: sa e vĂ«shtirĂ« Ă«shtĂ« tĂ« anashkalohet mekanizmat e mbrojtjes sĂ« tastierave pa tela? Studimi i kryer zbuloi dobĂ«si arkitekturore dhe gabime programore qĂ« ndihmojnĂ« nĂ« qasjen nga tĂ« dhĂ«nat e hyrjes. NĂ« kĂ«tĂ« artikull – ato qĂ« arritĂ«m.

Pse Logitech?

Sipas mendimit tonë, pajisjet e inputit nga kompanisë Logitech janë ndër më cilësoret dhe të rehatshme. Shumica e pajisjeve që kemi janë bazuar në zgjidhjen Logitech. Unifying është një receptor universal që lejon lidhjen e deri në 6 pajisjeve. Të gjitha pajisjet që janë të përputhshme me teknologjinë Logitech Unifying i shpërndahen një logotipi përkatës. E thjeshtë për t'u përdorur, një aplikacion lejon menaxhimin e lidhjes së tastierave pa tela me kompjuterin. Procesi i lidhjes së tastierës me receptorin Logitech, ashtu si teknologjia e vet, është trajtuar në detaje, për shembull, këtu.

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Receptori me mbështetje për Logitech Unifying.

Tastiera mund tĂ« bĂ«het burim informacioni pĂ«r sulmuesit. Kompania Logitech, duke pasur parasysh kĂ«rcĂ«nimin potencial, ka kujdesur pĂ«r sigurinĂ« – e ka zbatuar algoritmin AES128 tĂ« enkriptimit nĂ« kanalin radios tĂ« tastierĂ«s pa tela. Mendimi i parĂ« qĂ« mund tĂ« vizitojĂ« njĂ« sulmues nĂ« njĂ« situatĂ« tĂ« tillĂ« Ă«shtĂ« se informacioni kyç mund tĂ« kapet gjatĂ« transmetimit nĂ« kanal radios gjatĂ« procedurĂ«s sĂ« lidhjes. Sepse me çelĂ«sin e duhur, mund tĂ« kapen sinjalet radios tĂ« tastierĂ«s dhe tĂ« dekryptohet ato. MegjithatĂ«, pĂ«r pĂ«rdoruesin shumĂ« rrallĂ« (apo asnjĂ«herĂ«) i duhet tĂ« lidhĂ« tastierĂ«n nĂ« procedurĂ«n Unifying, dhe njĂ« haker me njĂ« receptor radios do tĂ« duhet tĂ« presĂ« pĂ«r njĂ« kohĂ« tĂ« gjatĂ«. PĂ«r mĂ« tepĂ«r, nuk Ă«shtĂ« e lehtĂ« pĂ«r tu kapur procesi i kapjes. NĂ« studimin e fundit tĂ« kryer nĂ« qershor 2019, eksperti i sigurisĂ« Markus Mengs publikoi njĂ« zbulim, mesazhi nĂ« lidhje me njĂ« vulnerabilitet nĂ« firmware tĂ« vjeter tĂ« dongle-ve USB nga Logitech. Ky vulnerabilitet u jep mundĂ«sinĂ« sulmuesve me qasje fizike nĂ« pajisje tĂ« merrnin çelĂ«sat e enkriptimit tĂ« kanalit radios dhe tĂ« injektonin goditje butonash (CVE-2019-13054).

Do të flasim për studimin tonë të sigurisë së donglit Logitech mbi bazën e SoC NRF24 nga Nordic Semiconductor. Dhe do të fillojmë, ndoshta, me kanalin radios.

Si shkojnë të dhënat në kanalin radios.

Për analizë të frekuencës dhe kohës së sinjalit radios, përdorëm një receptor SDR mbi bazën e pajisjes Blade-RF në modalitetin e analizatorit të spektrit (për këtë mund të lexoni gjithashtu: këtu).

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Pajisja SDR Blade-RF.

Ne gjithashtu shqyrtuam mundësinë e regjistrimit të katërkëndësh të sinjalit radios në frekuencën e ndërmjetme, për ta analizuar më pas duke përdorur metoda të përpunimit të sinjaleve dixhitale.

Komisioni ShtetĂ«ror pĂ«r Frekuencat nĂ« FederatĂ«n Ruse ka lejuar pĂ«rdorimin nga pajisje tĂ« rrethit tĂ« vogĂ«l nĂ« bandĂ«n e frekuencĂ«s 2400–2483,5 MHz. Ky Ă«shtĂ« njĂ« bandĂ« shumĂ« "e populluar", nĂ« tĂ« cilĂ«n gjendet gjithçka: Wi-Fi, Bluetooth, telekomandat e ndryshme, sistemet e sigurisĂ«, alarminet pa tela, mausĂ« me tastiera dhe pajisje tĂ« tjera dixhitale pa tela.

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Spektri i bandës 2,4 GHz.

Situata e interferencës në këtë bandë është mjaft komplekse. Por, pavarësisht kësaj, kompania Logitech arriti të sigurojë një marrje të besueshme dhe të qëndrueshme duke përdorur protokollin Enhanced ShockBurst në transmetuesin NRF24 së bashku me algoritm të adaptimit të frekuencës.

Kanale nĂ« bandĂ« janĂ« vendosur nĂ« pozitat e numrave tĂ« plotĂ« MHz, siç pĂ«rcaktohet nĂ« specifikacioni NRF24 nga Nordic Semiconductor – gjithsej 84 kanale nĂ« njĂ« rrjet frekuencash. Numri i kanaleve frekuenciale tĂ« Logitech tĂ« pĂ«rdorura njĂ«kohĂ«sisht, natyrisht, Ă«shtĂ« mĂ« i vogĂ«l. Ne identifikuam pĂ«rdorimin e tĂ« paktĂ«n katĂ«r. PĂ«r shkak tĂ« gamĂ«s sĂ« kufizuar tĂ« analizatorit tĂ« spektrit tĂ« pĂ«rdorur, lista e saktĂ« e pozita tĂ« frekuencĂ«s tĂ« pĂ«rdorura nuk u pĂ«rcaktua, por nĂ« tĂ« vĂ«rtetĂ« nuk ishte e nevojshme. Informacioni nga tastiera nĂ« receptorin e donglit dĂ«rgohet nĂ« modalitetin Burst (me pĂ«rfshirje tĂ« shkurtra tĂ« transmetuesit) duke pĂ«rdorur modulimin e frekuencĂ«s GFSK me shpejtĂ«si simbole 1 Mbaud:

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Sinjali radios i tastierës në përfaqësimin e kohës.

Receivari përdor një princip korrelacioni për marrjen, kështu që në paketën e dërguar ndodhen një preambulë dhe një pjesë adresuese. Kodimi i qëndrueshëm ndaj interferencës nuk aplikohet, trupi i të dhënave është i enkriptuar me algoritmin AES128.

NĂ« pĂ«rgjithĂ«si, interfaci radio i tastierĂ«s pa tela Logitech mund tĂ« karakterizohet si plotĂ«sisht asinkron me kompresim statistik dhe adaptim frekuencash. Kjo do tĂ« thotĂ« se transmetuesi i tastierĂ«s kalon kanalin pĂ«r tĂ« transmetuar çdo paketĂ« tĂ« re. PritĂ«si nuk di paraprakisht as kohĂ«n e transmetimit, as kanalin frekuencor, por njeh vetĂ«m listĂ«n e tyre. PritĂ«si dhe transmetuesi takohen nĂ« kanal falĂ« algoritmeve tĂ« pajtimit dhe dĂ«gjimit tĂ« frekuencave, si dhe mekanizmave tĂ« konfirmimeve Enhanced ShockBurst. Nuk kemi hetuar nĂ«se lista e kanaleve Ă«shtĂ« statike. Probabiliteti i ndryshimeve Ă«shtĂ« i lidhur me algoritmin e adaptimit tĂ« frekuencĂ«s. NjĂ« gjĂ« e afĂ«rt me metodĂ«n PPRÇ (pĂ«rsĂ«ritje e rastĂ«sishme tĂ« frekuencĂ«s punuese) bie nĂ« pĂ«rdorimin e burimeve frekuenciale tĂ« gamĂ«s.

Pra, nĂ« kushtet e pasigurisĂ« frekuencĂ«-koha, pĂ«r tĂ« garantuar marrjen e tĂ« gjitha sinjaleve tĂ« tastierĂ«s, njĂ« sulmues do tĂ« ketĂ« nevojĂ« tĂ« monitorojĂ« vazhdimisht tĂ« gjithĂ« rrjetin e frekuencave me 84 pozita, qĂ« kĂ«rkon investime tĂ« konsiderueshme kohore. KĂ«tu bĂ«het e qartĂ« pse cenueshmĂ«ria pĂ«r nxjerrjen e çelĂ«sit pĂ«rmes USB (CVE-2019-13054) nĂ« burimet pozicionohet si njĂ« mundĂ«si e injektimit tĂ« shtypjeve tĂ« çelĂ«sit, jo si njĂ« qasje e sulmuesit nĂ« tĂ« dhĂ«nat e futur nga tastiera. ËshtĂ« evidente se interfaci radio i tastierĂ«s pa tela Ă«shtĂ« i ndĂ«rtuar mjaft kompleks dhe ofron njĂ« lidhje tĂ« besueshme radio mes pajisjeve Logitech nĂ« kushte tĂ« komplikueshme tĂ« ndĂ«rhyrjeve nĂ« gamĂ«n 2,4 GHz.

Një vështrim në problemin nga brenda

Për studimin ne zgjodhëm një nga tastierat tona Logitech K330 dhe donglin Logitech Unifying.

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Logitech K330

Të hedhim një sy brenda tastierës. Një element interesant për hetim në pllakën është çipi SoC NRF24 nga Nordic Semiconductor.

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

SoC NRF24 në pllakën e tastierës pa tela Logitech K330

Programimi është vendosur në memorinë e brendshme, mekanizmat e leximit dhe debuggimit janë të fikur. Fatkeqësisht, programimi nuk është publikuar në burime të hapura. Prandaj, ne vendosëm të qasemi problemit nga një këndvështrim tjetër - të studiojmë përmbajtjen e brendshme të donglit-pritës Logitech.

«Bota e brendshme» e donglit-pritës është e ndërtuar mjaft interesant. Dongli është i lehtë për t'u çmontuar, përmban NRF24 që njohim me një kontrollues USB të integruar dhe mund të riprogramohet si nga ana e USB-së, ashtu edhe direkt nga programatori.

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Dongli Logitech pa kapak

Duke qenë se ekziston një mekanizëm standard për azhurnimin e programimit duke përdorur aplikacionin Firmware Update Tool (nga i cili mund të nxirret versioni i azhurnuar i programimit), nuk ka nevojë të kërkohet programimi brenda donglit.

ÇfarĂ« u realizua: nga trupi i aplikacionit Firmware Update Tool u nxorr programimi RQR_012_005_00028.bin. PĂ«r tĂ« kontrolluar integritetin e tij, kontrolluesi i donglit u lidhi me kabllo me programatorin ChipProg-48:

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Kablloja e lidhjes së donglit Logitech me programatorin ChipProg 48

PĂ«r tĂ« kontrolluar integritetin e programimit, ai u vendos me sukses nĂ« memorien e kontrolluesit dhe funksionoi siç duhet, tastiera dhe maus u lidhĂ«n me donglin pĂ«rmes Logitech Unifying. ËshtĂ« e mundur tĂ« ngarkohet njĂ« programim i modifikuar duke pĂ«rdorur mekanizmin standard tĂ« azhurnimit, pasi nuk ka mekanizma tĂ« mbrojtjes kriptografike tĂ« programimit. Ne, pĂ«r qĂ«llimet e studimit, pĂ«rdorĂ«m lidhjen fizike me programatorin, pasi ashtu Ă«shtĂ« shumĂ« mĂ« shpejt pĂ«r tĂ« bĂ«rĂ« debugging.

Studimi i programimit dhe sulmi në hyrjen e përdoruesit

Çipi NRF24 Ă«shtĂ« projektuar mbi bazĂ«n e bĂ«rthamĂ«s sĂ« llogaritjes Intel 8051 nĂ« arkitekturĂ«n klasike Harvard. PĂ«r bĂ«rthamĂ«n, transiveri shĂ«rben si njĂ« pajisje periferike dhe Ă«shtĂ« vendosur nĂ« hapĂ«sirĂ«n adresuese si njĂ« grup regjistrash. Dokumentacionin pĂ«r çipin dhe shembujt e teksteve burimore mund tĂ« gjenden nĂ« internet, kĂ«shtu qĂ« disasemblimi i programimit nuk paraqet vĂ«shtirĂ«si. GjatĂ« inxhinierisĂ« revers, ne lokalizuam funksionet pĂ«r marrjen e tĂ« dhĂ«nave mbi shtypjet e çelĂ«save nga kanali radio dhe konvertimin e tyre nĂ« formatin HID pĂ«r ta dĂ«rguar nĂ« host pĂ«rmes interfesĂ«s USB. NĂ« adresat e lirshme tĂ« memorjes u vendos kodi i injektimit, i cili pĂ«rfshinte veglat pĂ«r kapjen e kontrollit, ruajtjen dhe rikthimin e kontekstit origjinal tĂ« ekzekutimit, si dhe kodin funksional.

Paketi i pranuar nga dongli nga kanali radio i shtypjes ose lirimit të çelësit dekriptohet, konvertohet në një raport standard HID dhe dërgohet në interfesën USB si nga një tastierë normale. Në kuadër të studimit, për ne pjesa më e madhe e interesit është ajo e raportit HID, që përmban bajtin e flagjeve-modifikatorë dhe një varg prej 6 bajtesh me kodet e shtypjeve të çelësave (për informim informacioni mbi HID këtu).

Struktura e raportit 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ë para se të dërgohet struktura HID në host, kodi i injektuar merr kontrollin, kopjon në memorie 8 byte të të dhënave origjinale HID dhe i dërgon ato në një kanal anësor në formë të qartë. Kështu duket në kod:

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

Kanalin anësor e organizojmë në frekuencën e vendosur prej nesh me karakteristika të caktuara të shpejtësisë së manipulimit dhe strukturës së paketave.

Funksionimi i transmiterit në çipin NRF24 bazohet në grafikun e gjendjeve, në të cilin është integruar në mënyrë organike protokolli Enhanced ShockBurst. Ne zbuluam se menjëherë para dërgimit të të dhënave HID në lidhjen USB të hostit, transimi ishte në gjendjen IDLE. Kjo e bën të mundur rikonstruktyrimin e tij të sigurt për punë në kanalin anësor. Kodi i injektuar kap kontrollin, ruan konfigurimin origjinal të transmiterit në mënyrë të plotë dhe e kalon atë në një mod të ri transmetimi në kanal anësor. Mekanizmi i konfirmimeve të Enhanced ShockBurst në këtë mod është i fikur, të dhënat HID dërgohen në formë të qartë në eterin radio. Struktura e paketës në kanal anësor paraqitet në figurën më poshtë, epurat e sinjalit janë marrë pas demodulimit dhe para rikthimit të sinkronizimit të taktimeve të të dhënave. Vlera e adresës është zgjedhur për lehtësinë e identifikimit vizual të paketës.

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Sinjali e demoduluar i paketës Burst në kanal anësor

Pas përfundimit të dërgimit të paketës në kanal anësor, kodi i injektuar rikthen gjendjen e transmiterit. Tani ai është përsëri i gatshëm për të punuar në modalitetin standard në kontekstin e firmware origjinal.

Në fushat frekuence dhe frekuencë-koha, kanali anësor duket kështu siç tregohet në figurë:

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Prezentimi spektral dhe frekuencë-koha i kanalit anësor

Për të verifikuar funksionimin e çipit NRF24 me firmware të modifikuar, ne ndërtuam një stendë që përfshinte një dongle Logitech me firmware të modifikuar, një tastierë pa tela dhe një marrës të ndërtuar mbi modul kineze me çipin NRF24.

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Skema e kapjes së radiosiganalit të tastierës pa tela Logitech

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Moduli mbi bazën e NRF24

Në stendë, gjatë funksionimit normal të tastierës pasi e lidhëm atë me dongle-n Logitech, vërejtëm dërgimin e të dhënave të qarta të shtypjes së butonave në kanal anësor dhe dërgimin normal të të dhënave të koduara në interfusin kryesor të radios. Kështu, ne arritëm të sigurojmë kapjen direkte të inputit të tastierës së përdoruesit:

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Rezultati i kapjes së inputit të tastierës

Kodi i injektuar sjell vonesa të vogla në funksionimin e firmware-it të dongle-it. Megjithatë, ato janë shumë të vogla për t'u vënë re nga përdoruesi.

Siç e kuptoni, për këtë lloj sulmi mund të përdoret çdo tastierë Logitech që është e pajtueshme me teknologjinë Unifying. Duke qenë se sulmi është i drejtuar ndaj marrësit Unifying, i cili vjen me shumicën e tastierave Logitech, ai nuk varet nga modeli i saktë të tastierës.

Përfundimi

Rezultatet e arritura të hulumtimit na çojnë në mendimin për mundësinë e përdorimit të skenarit të shqyrtuar nga hakerët: nëse një haker zëvendëson dongle-n e marrësit të tastierës Logitech të viktimës, ai do të mund të mësojë fjalëkalimet e llogarive të viktimës me të gjitha pasojat që përfitojnë. Mos harroni se është e mundur edhe të injektoni shtypjet e butonave, që do të thotë se ekzekutimi i një kodi të rastësishëm në kompjuterin e viktimës nuk paraqet vështirësi.

Dhe nëse ndonjë haker mund të modifikojë në distancë firmware-n e çdo dongle Logitech përmes USB? Pastaj, nga donglet që ndodhen afër, mund të formohet një rrjet retransmetuesish dhe të rritet distanca e rrjedhjes. Megjithëse një haker "me burime financiare" mund të përdorë mjete moderne të marrjes radio me sisteme të larta selektive, recepatorë radio me ndjeshmëri të shpejtë dhe antenna të drejtuara ngushtë për të "dëgjuar" inputin e tastierës dhe të shtypin butonat edhe nga një ndërtesë fqinjë.

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Pajisje profesionale për marrjen e radios

Duke qenë se kanali pa tela për dërgimin e të dhënave nga tastiera Logitech është mjaft i mbrojtur, vektori i gjetur i sulmit kërkon akses fizik në marrës, që e kufizon shumë sulmuesin. Shkalla e vetme për mbrojtje në këtë rast do të ishte përdorimi i mekanizmave të mbrojtjes kriptografike për firmware-in e marrësit, për shembull verifikimi i nënshkrimit të firmware-it që ngarkohet nga ana e marrësit. Por, fatkeqësisht, NRF24 këtë nuk e mbështet dhe brenda arkitekturës aktuale të aparatit, implementimi i mbrojtjes është i pamundur. Pra, ruani donglet tuaja, sepse varianti i sulmit të përshkruar kërkon akses fizik në to.

Ruani donglat tuaj: studimi i sigurisë së marrësve të tastierave Logitech

Raccoon Security – njĂ« ekip i veçantĂ« ekspertĂ«sh nga Qendra KombĂ«tare pĂ«r TeknologjinĂ« «Vulkan» nĂ« fushĂ«n e sigurisĂ« informative praktike, kriptografisĂ«, projektimit tĂ« skemave, inxhinierisĂ« sĂ« reverse dhe krijimit tĂ« softuerit me nivel tĂ« ulĂ«t.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster