Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Историски гледано, повеќето вработени користат безжични тастатури и глувци од Logitech. Внесувајќи ги нашите лозинки уште еднаш, ние, специјалистите на тимот Raccoon Security, се запрашавме: колку е тешко да се заобиколат безбедносните механизми на безжичните тастатури? Студијата откри архитектонски недостатоци и софтверски грешки кои овозможуваат пристап до влезните податоци. Под сечењето е она што го добивме.

Зошто Логитек?

Според наше мислење, влезните уреди на Logitech се меѓу најквалитетните и најпогодни. Повеќето уреди што ги имаме се базирани на решението на Logitech обединувачки е универзален приемник за дангл кој ви овозможува да поврзете до 6 уреди. Сите уреди компатибилни со технологијата Logitech Unifying се означени со логото на Logitech Unifying технологијата. Лесен за користење апликација Ви овозможува да управувате со поврзувањето на безжични тастатури со вашиот компјутер. Процесот на поврзување на тастатурата со Logitech приемникот, како и самата технологија, е опфатен, на пример, тука.

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Dongle приемник со Logitech Unifying поддршка

Тастатурата може да стане извор на информации за напаѓачите. Logitech, земајќи ја предвид можната закана, се погрижи за безбедноста - го користеше алгоритамот за шифрирање AES128 во радио каналот на безжичната тастатура. Првата мисла што може да ја има напаѓачот во оваа ситуација е да ги пресретне клучните информации кога тие се пренесуваат преку радио канал за време на процедурата за врзување. На крајот на краиштата, ако имате клуч, можете да ги пресретнете радио сигналите на тастатурата и да ги дешифрирате. Сепак, корисникот ретко (или дури и никогаш) мора да ја обедини тастатурата, а хакер со радио за скенирање ќе мора да чека долго време. Покрај тоа, не е сè толку едноставно со самиот процес на пресретнување. Во најновата студија во јуни 2019 година, експертот за безбедност Маркус Менгс објави онлајн сообщение за откривањето на ранливост во стариот фирмвер на Logitech USB-донглите. Тоа им овозможува на напаѓачите со физички пристап до уредите да добијат клучеви за шифрирање на радио канали и да инјектираат притискање на тастатурата (CVE-2019-13054).

Ќе зборуваме за нашата безбедносна студија на Logitech dongle базирана на NRF24 SoC од Nordic Semiconductor. Да почнеме, можеби, со самиот радио канал.

Како податоците „летаат“ во радио канал

За временска фреквентна анализа на радио сигналот, користевме SDR приемник базиран на уредот Blade-RF во режим на анализатор на спектарот (исто така можете да прочитате за ова тука).

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

SDR Blade-RF уред

Ја разгледавме и можноста за снимање квадратури на радио сигналот на средна фреквенција, која потоа може да се анализира со помош на техники за дигитална обработка на сигналот.

Државна комисија за радиофреквенции во Руската Федерација дозволено за употреба од уреди со краток домет, опсегот на фреквенција е 2400–2483,5 MHz. Ова е многу „населен“ опсег, во кој нема да најдете ништо: Wi-Fi, Bluetooth, сите видови далечински управувачи, безбедносни системи, безжични детектори, глувци со тастатури и други безжични дигитални уреди.

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Спектар на опсегот 2,4 GHz

Околината за пречки во опсегот е доста сложена. И покрај ова, Logitech беше во можност да обезбеди сигурен и стабилен прием преку употреба на протоколот Enhanced ShockBurst во NRF24 трансиверот во комбинација со алгоритми за прилагодување на фреквенцијата.

Каналите во опсегот се поставени на цел број MHz позиции како што е дефинирано во спецификации NRF24 Nordic Semiconductor - вкупно 84 канали во фреквентната мрежа. Бројот на истовремено користени фреквентни канали од Logitech е, се разбира, помал. Утврдивме употреба на најмалку четири. Поради ограничениот пропусен опсег на користениот анализатор на спектарот на сигналот, не можеше да се одреди точната листа на користени позиции на фреквенција, но тоа не беше неопходно. Информациите од тастатурата до приклучокот на приемникот се пренесуваат во режим на рафал (кратко вклучување на предавателот) со помош на фреквентна модулација во две позиции GFSK со брзина на симболи од 1 Mbaud:

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Радио сигнал од тастатура во прикажување на времето

Приемникот го користи принципот на корелација на прием, така што пренесениот пакет содржи преамбула и адресен дел. Не се користи кодирање отпорно на бучава; податочното тело е шифрирано со алгоритам AES128.

Општо земено, радио интерфејсот на безжичната тастатура Logitech може да се карактеризира како целосно асинхрон со статистичко мултиплексирање и прилагодување на фреквенцијата. Ова значи дека предавателот на тастатурата го префрла каналот за да го пренесе секој нов пакет. Приемникот не го знае однапред ниту времето на пренос, ниту фреквенцискиот канал, туку е познат само нивниот список. Приемникот и предавателот се среќаваат во каналот благодарение на координираните алгоритми за бајпас и слушање на фреквенцијата, како и на механизмите за подобрено потврдување ShockBurst. Не истраживме дали списокот со канали е статичен. Веројатно, нејзината промена се должи на алгоритмот за прилагодување на фреквенцијата. Нешто блиску до методот на прескокнување на фреквенцијата (псевдо-случајно подесување на работната фреквенција) може да се види во користењето на фреквентниот ресурс на опсегот.

Така, во услови на неизвесност време-фреквенција, за да се гарантира приемот на сите сигнали од тастатурата, напаѓачот ќе треба постојано да ја следи целата фреквентна мрежа од 84 позиции, што бара значително време. Овде станува јасно зошто ранливоста за извлекување на USB-клуч (CVE-2019-13054) во изворите позиционирана како можност за инјектирање на тастатурата, наместо да се добие пристап на напаѓачот до податоците внесени од тастатурата. Очигледно, радио интерфејсот на безжичната тастатура е доста сложен и обезбедува сигурна радио комуникација помеѓу уредите на Logitech во тешки услови на пречки во опсегот од 2,4 GHz.

Поглед на проблемот одвнатре

За нашата студија, избравме една од нашите постоечки тастатури Logitech K330 и Logitech Unifying dongle.

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Logitech K330

Ајде да погледнеме во внатрешноста на тастатурата. Интересен елемент на таблата за проучување е чипот SoC NRF24 од Nordic Semiconductor.

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

SoC NRF24 на безжичната тастатура Logitech K330

Фирмверот се наоѓа во внатрешната меморија, механизмите за читање и дебагирање се оневозможени. За жал, фирмверот не е објавен во отворени извори. Затоа, решивме да му пристапиме на проблемот од другата страна - да ја проучиме внатрешната содржина на приемникот Logitech dongle.

„Внатрешниот свет“ на приемникот за дангл е доста интересен. Донглот лесно се расклопува, го носи познатото ослободување NRF24 со вграден USB контролер и може да се репрограмира и од USB-страната и директно од програмерот.

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Logitech dongle без куќиште

Бидејќи постои стандарден механизам за ажурирање на фирмверот користејќи Апликации на алатката за ажурирање на фирмверот (од каде што можете да ја извлечете ажурираната верзија на фирмверот), нема потреба да го барате фирмверот во клучот.

Што е направено: фирмверот RQR_012_005_00028.bin беше извлечен од телото на апликацијата Алатка за ажурирање на фирмверот. За да се провери неговиот интегритет, контролорот за клучеви беше поврзан со кабел на програмерот ChipProg-48:

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Кабел за поврзување на Logitech dongle со програмерот ChipProg 48

За да се контролира интегритетот на фирмверот, тој беше успешно ставен во меморијата на контролорот и работеше правилно, тастатурата и глувчето беа поврзани со клучот преку Logitech Unifying. Можно е да се постави модифициран фирмвер со користење на стандардниот механизам за ажурирање, бидејќи не постојат механизми за криптографска заштита за фирмверот. За истражувачки цели, користевме физичка врска со програмерот, бидејќи дебагирањето е многу побрзо на овој начин.

Истражување на фирмверот и напад врз влезот на корисникот

Чипот NRF24 е дизајниран врз основа на компјутерското јадро Intel 8051 во традиционалната архитектура на Харвард. За јадрото, трансиверот делува како периферен уред и се става во адресниот простор како збир на регистри. Документацијата за примерите на чипот и изворниот код може да се најде на Интернет, така што расклопувањето на фирмверот не е тешко. За време на обратното инженерство, ги локализиравме функциите за примање податоци за притискање на тастатурата од радио каналот и нивно претворање во HID формат за пренос до домаќинот преку USB-интерфејсот. Кодот за инјектирање беше сместен во адреси на слободна меморија, која вклучуваше алатки за пресретнување на контролата, зачувување и враќање на оригиналниот контекст на извршување, како и функционален код.

Пакетот со притискање или отпуштање клуч што го добива клучот од радио каналот се дешифрира, се претвора во стандарден HID извештај и се испраќа до USB-интерфејсот како од обична тастатура. Како дел од студијата, делот од извештајот HID што е од најголем интерес за нас е делот од извештајот HID кој содржи бајт знаменца на модификатори и низа од 6 бајти со шифри за притискање на тастатурата (за повикување, информации за HID тука).

Структура на извештајот 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;

Непосредно пред да ја пренесе структурата HID на домаќинот, инјектираниот код ја презема контролата, копира 8 бајти од природни HID податоци во меморијата и ги испраќа до страничниот радио канал во јасен текст. Во кодот изгледа вака:

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

Страничниот канал е организиран на фреквенција што ја поставуваме со одредени карактеристики на брзината на манипулација и структурата на пакетот.

Работење на трансиверот во чипот NRF24 се заснова на графикон на состојби во кој е органски интегриран протоколот Enhanced ShockBurst. Откривме дека непосредно пред да ги пренесе податоците на HID на USB-интерфејсот на домаќинот, примопредавателот бил во состојба на IDLE. Ова овозможува безбедно повторно конфигурирање да работи во страничен канал. Инјектираниот код ја пресретнува контролата, ја зачувува оригиналната конфигурација на трансиверот во целост и го префрла во нов режим на пренос на страничниот канал. Механизмот за потврда на Enhanced ShockBurst е оневозможен во овој режим; податоците од HID се пренесуваат во јасна форма преку воздухот. Структурата на пакетот во страничниот канал е прикажана на сликата подолу, сигналните дијаграми се добиени по демодулацијата и пред обновувањето на синхронизацијата на часовникот на податоци. Вредноста на адресата е избрана за полесно визуелна идентификација на пакетот.

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Демодулиран рафален сигнал во страничниот канал

Откако пакетот ќе се пренесе на страничниот канал, инјектираниот код ја враќа состојбата на трансиверот. Сега повторно е подготвен да работи нормално во контекст на оригиналниот фирмвер.

Во доменот на фреквенција и временско-фреквенција, страничниот канал изгледа вака:

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Спектрално и временско-фреквентно претставување на страничниот канал

За да ја тестираме работата на чипот NRF24 со модифициран фирмвер, составивме држач што вклучуваше Logitech dongle со модифициран фирмвер, безжична тастатура и приемник склопени врз основа на кинески модул со чип NRF24.

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Коло за пресретнување на радио сигнал од безжична тастатура Logitech

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Модул базиран на NRF24

На клупата, кога тастатурата работи нормално, откако ја поврзавме со Logitech dongle, забележавме пренос на јасни податоци за притискање на копчињата во страничниот радио канал и нормален пренос на шифрирани податоци во главниот радио интерфејс. Така, успеавме да обезбедиме директно следење на внесувањето на тастатурата на корисникот:

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Резултат на пресретнување на влезот од тастатурата

Инјектираната шифра воведува мали доцнења во работата на фирмверот на dongle. Сепак, тие се премногу мали за корисникот да ги забележи.

Како што можете да замислите, секоја тастатура на Logitech што е компатибилна со технологијата Unifying може да се користи за овој вектор за напад. Бидејќи нападот е насочен кон Unifying приемникот вклучен во повеќето тастатури на Logitech, тој е независен од специфичниот модел на тастатура.

Заклучок

Резултатите од студијата укажуваат на можна употреба на разгледуваното сценарио од страна на напаѓачите: ако хакер ја замени жртвата со dongle-приемник за безжична тастатура Logitech, тогаш тој ќе може да ги дознае лозинките на сметките на жртвата со сите следни последиците. Не заборавајте дека исто така е можно да се инјектираат тастатурата, што значи дека не е тешко да се изврши произволен код на компјутерот на жртвата.

Што ако одеднаш напаѓачот може далечински да го измени фирмверот на кој било клуч на Logitech преку USB? Потоа, од тесно распоредени клучеви, можете да создадете мрежа на повторувачи и да го зголемите растојанието за истекување. Иако „финансиски богат“ напаѓач ќе може да „слуша“ внесување на тастатурата и да ги притиска копчињата дури и од соседната зграда, модерната радиоприемна опрема со високо селективни системи, чувствителни радио приемници со кратко време на подесување на фреквенцијата и високо насочени антени ќе им овозможи да го „слушате“ внесувањето на тастатурата и да притискате копчиња дури и од соседната зграда.

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Професионална радио опрема

Бидејќи каналот за безжичен пренос на податоци на тастатурата на Logitech е доста добро заштитен, пронајдениот вектор за напад бара физички пристап до приемникот, што во голема мера го ограничува напаѓачот. Единствената опција за заштита во овој случај би била употребата на механизми за криптографска заштита за фирмверот на приемникот, на пример, проверка на потписот на вчитаниот фирмвер од страната на ресиверот. Но, за жал, NRF24 не го поддржува ова и невозможно е да се спроведе заштита во рамките на тековната архитектура на уредот. Затоа, грижете се за вашите dongles, бидејќи опишаната опција за напад бара физички пристап до нив.

Грижете се за вашите клучеви: студија за безбедност на приемникот на тастатурата Logitech

Raccoon Security е специјален тим од експерти од Центарот за истражување и развој Vulcan во областа на практична безбедност на информации, криптографија, дизајн на кола, обратно инженерство и создавање софтвер на ниско ниво.

Извор: www.habr.com

Додадете коментар