Koń trojański w urządzeniach Junipera

W oprogramowaniu NetScreen OS stosowanym w korporacyjnych firewallach firmy Juniper znalazł się kod, który umożliwia przejęcie kontroli przez dowolną osobę z zewnątrz, a także deszyfrowanie tuneli VPN.

Wykrycie w osadzonym oprogramowaniu firmware fragmentów kodu, które umożliwiają zdalne zalogowanie się z uprawnieniami administracyjnymi oraz deszyfrowanie ruchu VPN stawia pod znakiem zapytania zaufanie do jednego z najważniejszych dostawców rozwiązań bezpieczeństwa sieci. Juniper o samej podatności poinformował oficjalnie w ubiegły czwartek, ale eksperci do spraw bezpieczeństwa uważają, że fragmenty najważniejszego dla Junipera kodu zostały niespostrzeżenie zmodyfikowane nawet kilka lat temu.

Ponieważ firewalle, w których znajdowały się luki bezpieczeństwa, są produktami klasy korporacyjnej, Juniper będzie zmuszony podjąć działania, mające na celu odzyskanie zaufania dużych klientów. Nie wiadomo jak wiele instytucji zostało zaatakowanych, jak długo włamywacze działali, jakie są straty, ani nawet w jaki sposób te straty będzie można oszacować. Pod względem skutków dla firm, podatność Junipera może być zbliżona nawet do ataku na system dwuskładnikowego uwierzytelnienia RSA SecurID, który miał miejsce w 2011r. Można mieć nadzieję, że podobnie, jak miało to miejsce w przypadku ataku APT przeciw RSA, w całej branży zostaną podjęte działania mające na celu poprawę bezpieczeństwa, a Juniper drastycznie zmieni proces kontroli jakości kodu osadzonego oprogramowania w swoich urządzeniach. Obecnie wiadomo o dwóch istotnych podatnościach, z których przynajmniej jedna jest prawdziwym koniem trojańskim celowo umieszczonym w kodzie zamkniętego oprogramowania. Badacze Rapid7 i Fox-IT odkryli detale luki dzięki inżynierii odwrotnej.

Zobacz również:

  • IDC CIO Summit – potencjał drzemiący w algorytmach
  • Prevalent wprowadza Alfreda, generatywnego kamerdynera AI do zarządzania ryzykiem

Uniwersalne hasło zaszyte na stałe w urządzeniu

Jednym z najważniejszych problemów systemu NetScreen OS stosowanego w urządzeniach Junipera było zapisane na stałe w kodzie uniwersalne hasło dostępu. Zalogowanie do urządzenia było możliwe zdalnie za pomocą usługi telnet lub SSH, do zalogowania wystarczyło podanie dowolnej nazwy użytkownika oraz jednego z dwóch haseł (odpowiadały im łańcuchy auth_admin_ssh_special i auth_admin_internal obecne w kodzie źródłowym ScreenOS). Informację o zaszytym haśle opublikowali na blogu badacze firmy Rapid7.

Informacja na temat luki w bezpieczeństwie według Junipera dotyczy wersji od 6.2.0r15 do 6.2.0r18 oraz od 6.3.0r12 do 6.3.0r20 ale według badaczy Rapid7 luka w znanej postaci nie występuje w starszych wersjach ScreenOS – nie udało im się znaleźć backdoora w wersjach 6.2.0r15, 6.2.0r16 ani 6.2.0r18 i prawdopodobnie cała seria wydań 6.2.0 go nie zawierała. Była jednak podatna na drugi z ataków związany z VPN. Badacze są zatem przekonani, że tylne drzwi zostały dodane do kodu pod koniec 2013r.

VPN, który da się deszyfrować

Druga z krytycznych podatności dotyczy niedostatecznej ochrony ruchu szyfrowanego wewnątrz VPN. Połączenia wirtualnych sieci prywatnych koncentrowanych na urządzeniach Junipera były podatne na dekryptaż, co umożliwiało daleko idącą infiltrację firmowej infrastruktury przez dowolny podmiot z zewnątrz. Jedną z przyczyn była znana od 2007r. prawdopodobnie wprowadzona przez NSA słabość algorytmu generowania liczb pseudolosowych Dual_EC (informował o tym Edward Snowden). Jak informuje Ralf-Philipp Weinmann, CEO firmy Comsecuris, ludzie odpowiedzialni za celowe osłabienie obrony kryptograficznej tunelu VPN zmienili kod w ten sposób, że algorytm Dual_EC wykorzystywał tę samą stałą wartość Q. Powstały w ten sposób tajny klucz, razem z informacją o wprowadzonej zmianie w kodzie ScreenOS i słabościach algorytmu Dual_EC umożliwiły deszyfrowanie ruchu VPN koncentrowanego na urządzeniach Junipera. Przed podobnym scenariuszem zdarzeń ostrzegali w przeszłości Shumow and Ferguson, informując, że nawet jeśli algorytm Dual_EC nie został celowo opracowany pod kątem kryptograficznego konia trojańskiego dla NSA, wykorzystanie jego podatności umożliwiło utworzenie tylnych wrót dostępu.

Koń trojański w urządzeniach Junipera

Firewall NetScreen firmy Juniper

Aktualizacje i detekcja ataków

Ponieważ uniwersalne hasła dostępu są już powszechnie znane, krytyczna luka w bezpieczeństwie urządzeń Junipera stanowi bardzo poważne zagrożenie dla firm. Szybkie wyszukiwanie za pomocą wyszukiwarki Shodan udowadnia, że do Internetu dołączonych jest ponad 26 tysięcy urządzeń, do których można się w ten sposób zdalnie zalogować. Badacze z Fox-IT opublikowali zestaw reguł Snorta (repozytorium Github) przeznaczonych do wykrywania podobnych połączeń. Wykrycie włamania na podstawie informacji w logach jest trudniejsze, ale nadal możliwe – zdarzenie polega na obecności dwóch kolejnych zgłoszeń z tego samego urządzenia dla dwóch etapów logowania, związanych jednak z zalogowaniem dwóch różnych użytkowników. Włamywacz mógł jednak usunąć logi z samego urządzenia – właśnie dlatego warto konsolidować zdarzenia z różnych urządzeń sieciowych na serwerze lub narzędziu SIEM, by później poddać je dokładniejszej analizie. Aby ułatwić wykrycie problemu, Robert Nunley opublikował zestaw reguł Sagan (repozytorium Github), opracowanych pod kątem omawianych podatności.

Mając na uwadze istotę problemu i jego skalę należy niezwłocznie wprowadzić aktualizację oprogramowania urządzeń z systemem ScreenOS i zastosować restrykcyjne reguły dostępu przez SSH. Deszyfrowanie ruchu VPN jest czynnością pasywną z punktu widzenia pracy firewalla i nie pozostawia śladów w logach.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200