Superfish - adware w laptopach Lenovo. Jak działa i jak go usunąć

Niektóre modele notebooków marki Lenovo były sprzedawane z preinstalowanym przez producenta oprogramowaniem adware. Program o nazwie Superfish Visual Discovery umożliwiał wyświetlanie reklam produktów w wyszukiwarkach, w tym w Google’u, przy rezultatach wyszukiwania na zapytania użytkowników.

Kupując nowy komputer z preinstalowanym Windows, w zasadzie można mieć pewność, że oprócz systemu operacyjnego znajdzie się w nim cała masa dodatkowych aplikacji o wątpliwej przydatności. Preinstalowane na nowym komputerze oprogramowanie to zawsze powód do zmartwienia, gdyż często kupujący nie wie, co ono robi lub czy usunięcie go spowoduje problemy z działaniem całego systemu. Jednak co innego, gdy bloatware ogranicza się do pasków narzędziowych czy drobnych narzędzi pseudooptymalizacyjnych, a co innego, gdy próbuje wpłynąć na zachowanie użytkownika lub stanowi wątpliwe moralnie źródło dodatkowych dochodów producenta. A z tym mamy do czynienia w przypadku Superfish Visual Discovery.

Aplikacja analizuje obrazy oglądane przez internautę i na podstawie analizy zawartości serwuje reklamy. Za stworzenie programu odpowiada firma Superfish Inc z siedzibą w Tel Awiwie i Palo Alto, która przedstawia aplikację jako „najbardziej zaawansowany technologicznie system wyszukiwania wizualnego na świecie”. Co ciekawe, trafiła nawet na listę magazynu Forbes jako jedna z najbardziej obiecujących amerykańskich spółek.

Superfish Visual Discovery w akcji – reklamy produktów wyświetlane przy wynikach wyszukiwania (źródło: forums.lenovo.com).

Superfish Visual Discovery w akcji – reklamy produktów wyświetlane przy wynikach wyszukiwania (źródło: forums.lenovo.com).

Połączenia z licznymi stronami internetowymi, w tym z wyszukiwarkami, są szyfrowane (HTTPS), co ma zapobiegać próbom przechwytywania i manipulacji przesyłanymi danymi lub „wstrzykiwania” treści (techniki takie określa się mianem ataków man-in-the-middle). Rozwiązaniem tego „problemu” jest generowanie przez Superfisha własnego certyfikatu SSL, który jest zapisywany w magazynie Windows. Dzięki temu Superfish jest akceptowany przez niektóre przeglądarki internetowe, które rozpoznają program nie tyle jako zaufanego dostawcę, ale wręcz urząd certyfikacyjny (CA). Było tak m.in. z Chromem i Internet Explorerem; Firefox używa własnego spisu zaufanych certyfikatów.

Lokalizacja certyfikatu (źródło: marcrogers)

Lokalizacja certyfikatu (źródło: marcrogers)

Nie znaczy to jednak, że użytkownicy Firefoksa byli całkiem bezpieczni. Organizacja Electronic Frontier Foundation za pośrednictwem swojej usługi Decentralized SSL Observatory odkryła bowiem ok. 44 tysiące certyfikatów podpisanych przez Superfish (projekt Decentralized SSL Observatory zbiera dane z przeglądarek Firefox z zainstalowanym rozszerzeniem HTTPS Everywhere). Może to oznaczać, że Superfish albo umieszczał swój certyfikat w magazynie poświadczeń tej przeglądarki, albo użytkownicy Firefoksa ignorowali wyświetlane przez niego ostrzeżenia.

Superfish - jak to się zaczęło

Pierwsze wzmianki o Superfishu pojawiły się jeszcze w ubiegłym roku. Posiadacze sprzętu komputerowego tej marki informowali o tym na forum Lenovo. W rezultatach internetowego wyszukiwania widzieli okna pop-up i banery reklamujące produkty powiązane z tematem wyszukiwania (Superfish przekierowywał ruch przez serwer proxy). Rychło ustalili też winowajcę. W odpowiedzi na rosnącą falę krytyki ze strony użytkowników firma oficjalnie poinformowała o wycofaniu się z instalacji oprogramowania na komputerach. Przyznała też, że Superfish umieszczano na niektórych systemach PC kierowanych do użytkowników indywidualnych, sprzedawanych między wrześniem a grudniem 2014 roku.

Gdzie może znajdować się Superfish

Oto lista modeli komputerów Lenovo, na których potencjalnie mogło zostać preinstalowane oprogramowanie Superfish.

Seria G : G410, G510, G710, G40-70, G50-70, G40-30, G50-30, G40-45, G50-45

Seria U: U330P, U430P, U330Touch, U430Touch, U530Touch

Seria Y: Y430P, Y40-70, Y50-70

Seria Z: Z40-75, Z50-75, Z40-70, Z50-70

Seria S: S310, S410, S40-70, S415, S415Touch, S20-30, S20-30Touch

Seria Flex : Flex2 14D, Flex2 15D, Flex2 14, Flex2 15, Flex2 14(BTM), Flex2 15(BTM), Flex 10

Seria MIIX: MIIX2-8, MIIX2-10, MIIX2-11

Seria YOGA: YOGA2Pro-13, YOGA2-13, YOGA2-11BTM, YOGA2-11HSW

Seria E : E10-30

Koncern zapewnia, że nie preinstalował aplikacji na komputerach biznesowych linii ThinkPad.

Lenovo zapewnia, że działanie technologii nie polegało na analizie zachowania użytkownika, mając jedynie charakter kontekstowy, i że nie śledziło klienta ani nie zapisywało żadnych informacji o nim. Oprogramowanie to w ocenie Lenovo miało jedynie „pomagać klientom w znajdowaniu potencjalnie interesujących produktów w czasie robienia zakupów w sieci”. Co ciekawe jednak, certyfikat Superfish działa nie tylko na stronach wyszukiwarek, ale wszędzie tam, gdzie witryny używają połączenia HTTPS. Ekspert ds bezpieczeństwa, Kenn White, pokazał fałszywy certyfikat, wygenerowany przez Superfish dla Bank of America:

Fałszywy certyfikat dla Bank of America (źródło: konto na twitterze Kenna White)

Fałszywy certyfikat dla Bank of America (źródło: konto na twitterze Kenna White)

Superfish - czym to grozi

Sprawa "wypłynęła" ponownie po kilku miesiącach, gdy uzyskano dowody, czym w rzeczywistości grozi obecność certyfikatu Superfisha w systemie. Lenovo, co prawda, początkowo tłumaczyło, że „dogłębnie przeanalizowało technologię i nie znalazło dowodów, by stanowiła zagrożenie bezpieczeństwa”. Fakty są jednak inne.

Chris Palmer, inżynier bezpieczeństwa w Google’u, który badał sprawę, zwraca uwagę, że Superfish używał tego samego certyfikatu z tym samym kluczem RSA (algorytm szyfrujący) na wszystkich komputerach, na których został zainstalowany. Długość klucza RSA to 1024 bity, co – jak na dzisiejsze standardy bezpieczeństwa – nie jest już wystarczające. Z uwagi na stale rosnącą moc obliczeniową komputerów takie szyfry łatwo złamać. Dość wspomnieć, że już w styczniu 2011 roku amerykański Narodowy Instytut Standardów i Technologii zarekomendował wycofanie wszystkich podpisów cyfrowych opartych na 1024-bitowym algorytmie RSA po 2013 roku.

Najważniejsze, że napastnik, który złamałby klucz zabezpieczający certyfikat, mógłby używać go do „uwierzytelniania” własnych certyfikatów potencjalnie niebezpiecznych witryn (np. stron phishingowych). A tego, że za pomocą technik inżynierii wstecznej jest możliwe odzyskanie klucza prywatnego certyfikatu Superfisha, dowiódł już Robert Graham z Errata Security.

Superfish - jak to się skończy

Superfish jest od jakiegoś czasu blokowana przez oprogramowanie antywirusowe, można się też spodziewać, że producenci przeglądarek także dodadzą ją do swoich czarnych list. Lenovo zapowiedziało już, że wyda specjalne narzędzie umożliwiające usunięcie Superfisha z systemu, ale i tak straty - w postaci zachwianego zaufania klientów - są nieodwracalne.

Dodajmy, że o ile na instalację Superfisha w systemie użytkownik nie miał wpływu (działo się to automatycznie po pierwszym uruchomieniu nowego peceta), to można było jego aktywności uniknąć poprzez niewyrażenie zgody na warunki licencji. Trudno to jednak uznać za okoliczność łagodzącą, a wyjaśnienia producenta - za wystarczające. O tym, jak ciężko usuwa się takie skazy na wizerunku, przekonało się już Sony w połowie poprzedniej dekady, po pamiętnej aferze z rootkitem instalowanym w Windows, a roznoszonym przez płyty CD z wytwórni Sony BMG.

Jak usunąć Superfisha

Jeżeli podejrzewasz obecność Superfisha w swoim systemie, zacznij od sprawdzenia listy uruchomionych w systemie usług. Jeżeli znajdziesz tam pozycję VisualDiscovery, twoje podejrzenia okazały się słuszne. Zatrzymaj proces, a następnie odinstaluj Superfish Inc VisualDiscovery z poziomu panelu Odinstaluj lub zmień program.

Niestety, nie oznacza to automatycznego usunięcia wygenerowanego przez program certyfikatu. Trzeba to zrobić ręcznie, z poziomu Menedżera certyfikatów Windows. Aby go uruchomić, wpisz polecenie certmgr.msc w polu wyszukiwania menu Start. W lewym panelu menedżera kliknij Zaufane główne urzędy certyfikacji, a następnie w prawym panelu kliknij dwukrotnie Certyfikaty. Na liście poświadczeń wyszukaj pozycję Superfishs Inc. i usuń znaleziony wpis.

Jak wspomnieliśmy, Superfish może też ingerować w menedżera poświadczeń przeglądarki Forefox. Jeżeli jesteś użytkownikiem Firefoksa, otwórz menu Narzędzia | Opcje, przejdź do zakładki Zaawansowane, kliknij kartę Certyfikaty i przycisk Wyświetl certyfikaty. Przejrzyj listę - jeżeli zobaczysz wpis związany z Superfishem, wskaż go i kliknij przycisk Usuń lub przestań ufać.

Aktualizacja: 19 lutego 2015 18:51

Artykuł został zaktualizowany o dodatkowe informacje, jak zlokalizować i usunąć oprogramowanie Superfish.


Zobacz również