04.06.2012 | 17:57

Adam Haertle

Komponenty Flame’a podpisane prawidłowym certyfikatem Microsoftu

Jedną z głównych różnic między niedawno odkrytym wirusem Flame a Stuxnetem był fakt, że Flame nie korzystał z kradzionych certyfikatów do podpisywania swojego kodu. Jak się jednak okazuje, jego twórcy znaleźli inny sposób na zmniejszenie wykrywalności.

Zespół Microsoft Security Response Center ogłosił właśnie konieczność odwołania trzech cyfrowych certyfikatów, których ścieżka zaufania prowadzi do Microsoft Certificate Authority. Wydana została pilna poprawka (KB2718704) unieważniająca certyfikaty Microsoft Enforced Licensing Intermediate PCA (w sumie 2) oraz Microsoft Enforced Licensing Registration Authority CA. Co spowodowało tak nagłą reakcję Microsoftu?

Komponenty Flame’a podpisane przez Microsoft?

Pracownicy Microsoftu, pracujący nad analizą wirusa Flame, odkryli, że komponent odpowiedzialny za aktualizacje wirusa został podpisany za pomocą certyfikatu, przypisującego jego autorstwo Microsoftowi. Bez wątpienia takie sygnatury ułatwiały wirusowi uniknięcie wykrycia przez produkty antywirusowe – z definicji pliki podpisane prawidłowym certyfikatem Microsoftu mogły być traktowane jako bardziej zaufane. W przypadku Stuxnetu do podpisania kodu autorzy wirusa użyli wykradzionych certyfikatów. Czy tak też było w przypadku Flame’a?

Fałszywa sygnatura Microsoftu

Skąd te certyfikaty

Śledztwo Microsoftu wykazało, że przyczyną pojawienia się nieautoryzowanych certyfikatów był błąd sprzed wielu lat. Elementem systemu Microsoft Terminal Services jest serwer licencyjny Terminal Services, służący do wydawania licencji dostępowych (CAL). W ramach procesu licencjonowania oprogramowania serwer ten otrzymuje bezpośrednio od Microsoftu swój indywidualny certyfikat podrzędnego urzędu certyfikacji w standardzie X.509, potwierdzający tożsamość posiadacza serwera. Jak się okazało, certyfikat ten umożliwiał podpisywanie dowolnego kodu – w tym również komponentów wirusa.

Aktualizacja 2012.06.05 13:30
Microsoft poinformował także, że elementem ataku była kolizja kryptograficzna. Oznacza to, że atakujący mógł wygenerować certyfikat o identycznej sygnaturze jak certyfikat oryginalny. Nie został jednak opisany mechanizm połączenia problemu kolizji z nieprawidłowym certyfikatem Terminal Services.

Reakcja Microsoftu

Choć od nieautoryzowanego podpisania kodu minęło już półtora roku i przestępcy mieli mnóstwo okazji, by wykorzystać odkryty błąd, Microsoft podjął szybkie kroki by zapobiec podobnym sytuacjom w przyszłości. Wszystkie certyfikaty, które mogły być wykorzystane do tworzenia fałszywych podpisów, zostały unieważnione a serwer Terminal Services został tak zmodyfikowany, by uniemożliwić podpisywanie obcego kodu. Nie da się jednak ukryć, że pewien niesmak pozostał…

 

Fałszywa sygnatura Microsoftu po odwołaniu certyfikatu (źródło: F-Secure)

 

Powrót

Komentarze

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Komponenty Flame’a podpisane prawidłowym certyfikatem Microsoftu

Komentarze