Grupa badaczy z firmy Mandiant we współpracy z CISA, opublikowała raport opisujący podatność, która umożliwia przejęcie kontroli nad urządzeniami audio-wideo, korzystających z platformy (sieci) Kalay. Znaleziona luka umożliwia zdalne hakowanie docelowego urządzenia audio-wideo, słuchanie dźwięku, oglądanie wideo, przejęcie danych uwierzytelniających urządzenie, a także zdalne sterowanie urządzeniem.

Skala problemu jest dość spora z racji na ilość użytkowników korzystających z platformy Kalay. ThroughTek właściciel platformy podaje, że sieć Kalay to 83 miliony aktywnych urządzeń (inteligentne kamery IoT, elektroniczne nianie i tzw. Digital Video Recorder’y „DVR”) z ponad 1.1 miliardem połączeń miesięcznie.

Podatność tej przypisano wartość 9.6 zgodnie z kalkulatorem CVSS3.1 i można ją wyśledzić pod numerem CVE-2021-28372 oraz FEYE-2021-0020.

Aby wykożystać opisywaną podatność na urządzeniu w sieci Kalay, atakujący musi znać unikalny 20-bajotwy identyfikator UID przypisany do urządzenia. Jeżeli atakujący pozyska UID urządzenia – ofiary – to może spreparować rejestracje w taki sposób, że serwery Kalay każdorazowo odpytane przez klienta przekierują połączenie do atakującego. Dzięki temu atakujący kontynuując połączenie, będzie wstanie pozyskać informację uwierzytelniające (nazwa użytkownika i hasło) niezbędne do uzyskania dostępu do urządzenia. Poniższy rysunek obrazuje opisaną sytuację przejęcia danych uwierzytelniających.

Dzięki skompromitowanym danym uwierzytelniania, haker bez problemu, może łączyć się z urządzeniem i uzyskiwać dane audio-wideo, a co istotne wykonywać polecenia RPC (ang. remote procedur call) co w pełni umożliwia kompromitację i przejęcie kontroli nad urządzeniem. Red Team z Mandiant zauważył, że pliki binarne na urządzeniach IoT przetwarzających dane Kalay działały z uwierzytelnieniem użytkownika root bez typowych zabezpieczeń binarnych, tj. ASLT (ang. Address Space Layout Randomization), PIE (ang. Platform Independent Execution), stack canaries (do ochrony przed przepełnieniem bufora stosu), czy NX bits (ang. non executive).

Powyższy obrazek pokazuje hipotetyczny atak, z wykorzystaniem przechwyconych danych użytkownika z sieci Kalay, którego celem jest kolejny atak z wykorzystaniem luk w interfejscie RPC Kalay.

Poniżej zamieszczemy również nagranie wykonane przez zespół Mandiant, które dowodzi, że podatność jest możliwa do wykorzystania.

Co zrobić jeżeli jesteś jednym z użytkowników ThroughTek/Kalay

Jak już wspomnieliśmy aby wykonać atak, haker musi znać unikalny identyfikator UID. Podatności nie występuję już w najnowszej wersji biblioteki dołączonej do SDK, czyli każde zaktualizowane urządzenie nie powinno być zagrożone. Aktualna wersja oprogramowania to 3.3.1.0 i 3.4.2.0.

Niestety, trudno jest określić, która wersja kodu ThroughTek jest skompilowana w OEM’owym końcowym urządzeniu jaki nabył użytkownik. Madiant nie był wstanie stworzyć kompletnej listy urządzeń korzystających z platformy Kalay.

Niemniej, jeżeli masz urządzenie podłączone do sieci Kalay, rekomendujemy abyś sprawdził czy oprogramowanie na twoim urządzeniu ma skompilowane składniki najnowszego oprogramowania ThroughTek w wersji 3.1.10 lub wyżej. Najprościej będzie odpytać fimrę której logo widnieje na kamerze o wersje oprogramowania. Wersja 3.1.10 ma dodaną funkcjonalność DTLS, chroniące dane w trakcie przesyłania, oraz funkcjonalność AuthKey, dodająca dodatkową warstę uwierzytelniania podczas połączenia.