Bezpieczeństwo wbudowanego oprogramowania nigdy nie stało na zbyt wysokim poziomie. Ogromną skalę zaniedbań potwierdziło najnowsze badanie, w którym naukowcy przeanalizowali 32 tysiące obrazów wbudowanego oprogramowania.
Xerox, Bosch, Philips, D-Link, Samsung, LG, Belkin – to przykładowe nazwy producentów, od których serwisów naukowcy zaczęli polowanie na obrazy wbudowanego oprogramowania. Skorzystali także z narzędzi indeksujących serwery FTP oraz API Google. W sumie zebrali ponad 170 tysięcy plików, z których wylosowali 32 tysiące do szczegółowej analizy statycznej. Ilość błędów, na jakie trafili, jest imponująca.
Praca naukowców ma zostać po raz pierwszy publicznie omówiona na konferencji USENIX, ale udało nam się dotrzeć do jej treści. Polecamy lekturę całości – metoda zbierania oraz analizowania danych była sama w sobie niezłym wyzwaniem. W naszym artykule skupimy się na wynikach przeprowadzonej analizy, ale silnie rekomendujemy zapoznanie się z pełną pracą.
Hasła, hasła, hasła
W jakiejkolwiek analizie wbudowanego oprogramowania nie można pominąć kwestii haseł zapisanych na stałe w systemach operacyjnych. Z samych plików /etc/passwd oraz /etc/shadow naukowcy wydobyli 100 różnych skrótów haseł, występujących w 681 obrazach oprogramowania 27 różnych dostawców. Udało im się złamać 58 haseł, występujących łącznie w 538 obrazach. Złamane hasła nie były w żadnych stopniu wyrafinowane – były to ciągi „”, „pass”, „logout” czy „helpme”.
Certyfikaty i klucze prywatne
Wielu dostawców umieszcza w swoich urządzeniach samodzielnie podpisane certyfikaty, dołączając do nich, najczęściej przez pomyłkę lub niedopatrzenie, swoje klucze prywatne, chronione słabymi hasłami (lub ich brakiem). Naukowcy znaleźli 109 kluczy prywatnych w 428 różnych obrazach oraz 56 samodzielnie podpisanych certyfikatów SSL. W sumie zdobyli 41 zestawów certyfikat + klucz prywatny. Sprawdzili zidentyfikowane klucze w bazie ZMap i znaleźli tam ok. 35 tysięcy aktywnych urządzeń, posługujących się tymi kluczami. Oznacza to, że wszystkie te urządzenia, pozornie szyfrujące ruch użytkowników, są w pełni podatne na ataki typu MiTM.
Przestarzałe komponenty, błędne konfiguracje
Powszechną praktyką dostawców jest wykorzystywanie dawno już nieaktualnych komponentów innych producentów. Naukowcy odkryli wiele takich przypadków, gdzie użyte w oprogramowaniu zewnętrzne elementy nie były aktualne w momencie ich wykorzystania, lecz niektóre przykłady należały już do ekstremalnych. Rekordowe jądro Linux miało 10 lat w momencie tworzenia obrazu oprogramowania, a najstarszy BusyBox miał 9 lat. Jesteśmy pod wrażeniem.
Badacze przyjrzeli się także konfiguracjom serwerów WWW. Wyniki nie napawają optymizmem – z 847 różnych plików konfiguracyjnych, w 81% przypadków usługa WWW uruchamiana była z najwyższymi uprawnieniami.
Tylne furtki na widoku
Zainspirowani historią słynnej tylnej furtki w niektórych ruterach D-Linka (by uzyskać dostęp do systemu wystarczyło użyć przeglądarki, która przedstawi się ciągiem „xmlset roodkcableoj28840ybtide” czyli „edit by 04882 joel backdoor” wspak) badacze przeszukali rozpakowane obrazy pod kątem ciągów tekstowych sugerujących występowanie tylnej furtki. Wyszli z założenia, że przy tak niskim poziomie bezpieczeństwa oprogramowania jest spora szansa, ze tylna furtka będzie się nazywała „backdoor” lub podobnie. Oczywiście się nie pomylili. Jednym z przykładów może być tylna furtka w popularnych urządzeniach producenta automatyki domowej WeMo firmy Belkin. Aplikację do obsługi tych urządzeń pobrało ze sklepów około pół miliona użytkowników, z których zapewne większość nie zdaje sobie sprawy z tego, że na interfejsie multicast nasłuchuje demon, który bez żadnej autoryzacji przyjmuje i wykonuje polecenia z uprawnieniami roota.
Co ciekawe sposób prowadzenia badania pozwolił naukowcom natychmiast zweryfikować, czy taka sama tylna furtka występuje również w innych urządzeniach. W oparciu o opracowane sygnatury znaleźli identyczną funkcję w urządzeniach dwóch zupełnie innych producentów. W jednym przypadku było to 109 obrazów oprogramowania dla 44 modeli popularnych kamer sieciowych, w drugim trzy obrazy oprogramowania domowych ruterów. Wspólną cechą tych urządzeń było korzystanie z tego samego dostawcy układu odpowiedzialnego za funkcje sieciowe. Wydaje się, że funkcją tylnej furtki było usuwanie błędów w trakcie rozwoju oprogramowania, jednak zapomniano ją usunąć przed wydaniem wersji produkcyjnej.
Co ciekawe, dalsze poszukiwania pozwoliły znaleźć w oprogramowaniu wspomnianych kamer internetowych klucz prywatny RSA, używany do szyfrowania komunikacji SSL. Badacze ustalili, że z tego klucza korzysta ok. 30 tysięcy kamer podłączonych do internetu. Kiedy jednak przyjrzeli się ich stronom WWW okazało się, że są to nie tylko urządzeni tego producenta, ale także innego dużego dostawcy. Co prawda oprogramowanie jego urządzeń nie było dostępne publicznie, jednak jest całkiem możliwe, że w nich również może występować ta sama tylna furtka.
Innym ciekawym przykładem korzyści z metody badawczej przyjętej przez naukowców jest odkrycie błędu typu XSS w serwerze WWW karty WiFi SD jednego z producentów. Na podstawie tzw. rozmytego skrótu pliku (czyli metody porównywania plików, która potrafi zidentyfikować pliki podobne, ale niekoniecznie identyczne) badacze trafili na plik innego dostawcy, również z serwera WWW karty WiFi SD, w którym znajdował się identyczny błąd. Mimo, iż dostawcy rozwijali swoje oprogramowanie niezależnie i pliki nie były identyczne, badacze mogli zlokalizować podatność w innym urządzeniu.
Konkretne błędy znalezione i zgłoszone przez badaczy
Naukowcy w trakcie prac zidentyfikowali i zgłosili 38 niezależnych błędów w 123 różnych urządzeniach. Potwierdzili także, że w sieci aktywnych jest co najmniej 140 tysięcy egzemplarzy podatnych urządzeń. Wszystkie błędy zgłosili producentom, jednak wiele z nich nada nie zostało jeszcze poprawionych. Z tego powodu naukowcy ujawnili publicznie jedynie część swoich odkryć. Wśród nich znajdują się:
- CVE-2013-6362 – konta FTP i shell zapisane na stałe w oprogramowaniu sprzętu marki Xerox (urządzenia ColorQube i WorkCenter)
- CVE-2013-5638 – podatności serwera WWW kart WiFi SD marki Transcend
- CVE-2013-5637 – podatności serwera WWW kart WiFi SD marki PQI AirCard
- CVE-2013-6276 i CVE-2013-6277 – zapisane na stałe klucze authorized_keys w produktach marki QNAP
- CVE-2013-6360 – strona włączająca usługę telnet w urządzeniu Trendnet TS-S402
Surowe dane stanowiące podstawę badania zostaną wkrótce opublikowane pod adresem http://firmware.re/usenixsec14/.
Jednocześnie przy okazji tworzenia tego artykułu odkryliśmy inną ciekawostkę – serwis internetowy automatycznej analizy obrazów oprogramowania autorstwa tych samych osób, które przeprowadziły powyżej opisane badanie. Proponujemy zapoznanie się z prezentacją na temat tej platformy.
Komentarze
Na tej podstawie można zacząć się zastanawiać ile tego rodzaju backdoorów jest w pofragmentowanym Androidzie i modyfikowanych na własną rękę przez producentów słuchawek kernelach i firmware, nakładkach itd… trzeba też pamiętać, że często dany producent wypuszcza nowy model telefonu po 6 miesiącach a stary już nie jest aktualizowany…
HTH.
Jeszcze trochę to się okaże że gdzie się pakietu nie wyśle to trafi na backdoora.