Podatne programy są jednymi z najbardziej pospolitych wektorów ataku i kradzieży poufnych danych. Exploity, czyli fragmenty złośliwego kodu, które do zainfekowania systemu wykorzystują luki w zabezpieczeniach popularnych programów, są wykorzystywane w szkodliwym oprogramowaniu zaprojektowanym do kradzieży danych użytkowników, ale są one również kamieniem filozoficznym w „cyberprzestępczej magii”, używanej podczas ataków ukierunkowanych i działań cyberwojennych. Wszystkie znane cyberbronie, takie jak Stuxnet i Duqu, wykorzystywały exploity, aby wkraść się do silnie strzeżonej infrastruktury IT i dokonać dywersji i cyberszpiegostwa.
Głównym założeniem działań analityków i ekspertów ds. bezpieczeństwa w zespole Kaspersky Lab jest identyfikacja i blokowanie nowych zagrożeń, w tym właśnie exploitów. Oprócz tradycyjnych metod wykrywania i blokowania poszczególnych próbek złośliwego oprogramowania na podstawie ich sygnatur, wykorzystywane są nowe, inteligentniejsze techniki blokowania nawet wcześniej nieznanych exploitów, lub zagrożeń, które wykorzystują niedawno wykryte podatności oprogramowania, zwane lukami „zero-day”. Doskonałym przykładem takiej technologii jest Automatyczne zapobieganie exploitom. Wspomniana technologia wykrywa i blokuje exploity na podstawie ich zachowania, zanim zdążą one zaszkodzić użytkownikom. Aby rozwijać te rodzaje technologii, musimy doskonale rozumieć potrzeby naszych klientów i orientować się, których programów używają i jak radzą sobie z podatnym oprogramowaniem.
Nasze statystyki tworzone są w oparciu o chmurę Kaspersky Security Network: w zamian za dzielenie się z nami informacjami nasi użytkownicy czerpią korzyści z Kaspersky Security Network, otrzymując niemalże w czasie rzeczywistym najbardziej aktualne wiadomości na temat najnowszych zagrożeń. Przed dotarciem do serwerów Kaspersky Lab, informacje o lokalnych incydentach bezpieczeństwa oraz wszelkie potrzebne dane są czyszczone z jakichkolwiek śladów osobowych użytkowników, zachowując ścisłą anonimowość.
Niniejsze sprawozdanie opiera się na informacjach o podatnych programach, wykrytych na komputerach naszych użytkowników. Skanowanie w poszukiwaniu luk jest standardową funkcją większości produktów Kaspersky Lab (z naszym flagowym Kaspersky Internet Security 2013 na czele): pomaga użytkownikom w identyfikacji i uaktualnianiu krytycznie zagrożonego oprogramowania. Celem tego badania jest zrozumienie, w jaki sposób użytkownicy reagują na podatności programów i przeanalizowanie potencjalnego zagrożenia, jakie stanowią luki w oprogramowaniu.
W ciągu 52 tygodni na komputerach użytkowników wykryliśmy w sumie 806 unikalnych luk. Najstarsza z nich została zidentyfikowana w lutym 2003 r., najnowsza pochodziła z grudnia 2012 r.
Najlepszą strategią, aby uniknąć potencjalnych zagrożeń związanych z wrażliwym oprogramowaniem jest aktualizowanie wszystkich programów na bieżąco (choć to nie wystarczy). Wiek wykrytych luk wykazuje, że użytkownicy nie przestrzegają procedury aktualizacji, za wyjątkiem tych kilku przypadków, kiedy to producent oprogramowania niechętnie wydaje aktualizację. Oczywiście, czasami każdy ma prawo zapomnieć o rzadko używanym programie lub wyłączyć drażniące powiadomienia. Analiza terminów wykrycia dla wszystkich luk maluje ponury obraz: niemalże dwie trzecie (64%) wykrytych wad oprogramowania znajduje się w programach, które są mniej lub bardziej przestarzałe (wydane w 2010 r. lub wcześniej). Jednak w celu uzyskania jasnego obrazu, musimy wziąć pod uwagę „popularność” niektórych wrażliwych programów. W tym celu liczyliśmy tylko te luki, które zostały znalezione na co najmniej 10% komputerów w pewnym momencie w trakcie roku.
Tutaj można naprawdę zobaczyć różnicę. Tylko 37 luk było na tyle wystarczająco rozpowszechnionych, aby przedostać się przez nasz sztuczny filtr. Podział ze względu na wiek jest również trochę inny: zdecydowana większość popularnych luk została odkryta w roku 2011 i 2012, a tylko trzy podatne programy pochodzą z roku 2010 lub z okresu wcześniejszego (wraz z najbardziej zauważalną luką znalezioną w Microsoft Office 2007).
37 luk z tego zestawienia występowało dla ponad 70% przypadków wszystkich wrażliwych aplikacji, wykrytych podczas 2012 r. Należy jednak pamiętać, że setki rzadkich luk wciąż może być potencjalnie stosowanych w atakach ukierunkowanych na firmy.
37 najważniejszych luk występuje w 10 różnych rodzinach produktów. Najbardziej podatnymi produktami są: Adobe Shockwave / Flash Player, Apple iTunes / QuickTime i Oracle Java. W tych produktach występuje 28 luk znalezionych na ponad 10% komputerów użytkowników w roku 2012.
Jedną z najważniejszych cech luki jest jej ważność. W bazie danych luk Kaspersky Lab najmniej ważne luki posiadają współczynnik 1 (nie są krytyczne), a najważniejsze luki współczynnik 5 (wyjątkowo krytyczne). Luki o poziomie ważności 5 są uważane za najbardziej niebezpieczne, ponieważ teoretycznie mogą zostać bardzo łatwo wykorzystane i najprawdopodobniej doprowadzić do utraty ważnych danych. W oparciu o poziom ważności dla każdej z 37 najważniejszych luk obliczyliśmy średni stopień zagrożenia, który wyniósł 3,7 – wartość gdzieś pomiędzy „umiarkowanie krytyczną” a „wysoce krytyczną”.
W tej części przeanalizujemy osiem luk wybranych z 37 luk bezpieczeństwa oprogramowania, które były aktywnie wykorzystywane przez cyberprzestępców w rozpowszechnionych pakietach exploitów. Chociaż większość z tych najbardziej powszechnych luk występuje w produktach Adobe, to najczęściej wykorzystywane luki rezydują w Javie firmy Oracle.
W dalszej części raportu analizujemy luki pogrupowane według odpowiednich programów.
Java jest niekwestionowanym „liderem” jeżeli chodzi o liczbę wykrytych luk, a sam rok 2012 był bardzo ciężki dla firmy Oracle. Pięć głównych luk zostało wykrytych w oprogramowaniu Oracle, z najwcześniej odkrytą luką w październiku 2011 roku i najnowszą z październiku 2012 r. Ewolucja luk Javy oraz częstość ich występowania jest zilustrowana na poniższym wykresie:
W skanowaniu w poszukiwaniu luk dla każdego programu rejestrowany jest tylko jeden potencjalny słaby punkt, choć podatność może obejmować kilka luk bezpieczeństwa. Jednakże, w przypadku Javy firmy Oracle, wszystkie pięć luk było bardzo aktywnie wykorzystywanych przez cyberprzestępców. Oznacza to, że musieliśmy wziąć pod uwagę wszystkie z nich, aby ocenić, na ilu użytkowników miały wpływ. Jak widać, w dowolnym czasie w 2012 r. zawsze istniała duża liczba użytkowników zagrożonych lukami w Javie. W najniższym punkcie, w lutym, więcej niż jedna trzecia (34,5%) użytkowników została dotknięta; wyż przyszedł w październiku, kiedy to połączenie trzech luk ogarnęło 61,1% użytkowników.
Widzimy również, że użytkownicy są bardzo niechętni, aby przejść do aktualizacji oprogramowania, nawet jeśli miało by to naprawić naruszone kwestie bezpieczeństwa. W jednym szczególnym przypadku, który obejmował wielokrotne luki w Javie wykryte w lutym 2012 r., najwyższy odnotowany udział dotkniętych użytkowników wyniósł 52,4% pod koniec lutego 2012 r. Uaktualnienie dla Javy w wersji 6 i 7 zostało opublikowane 14 lutego. 16 tygodni później (cztery miesiące!) odsetek podatnych użytkowników spadł do 37,3% - co nadal jest znaczną wartością. Podczas tego okresu wydana została kolejna aktualizacja Javy (26 kwietnia) bez poprawek bezpieczeństwa. Dopiero kolejna łata, wydana 12 czerwca, naprawiała nowo odkryte luki. Innymi słowy, użytkownicy mieli około czterech miesięcy, aby przejść do nowej wersji oprogramowania (bezpiecznej w tamtym czasie), ale zajęło im to zadziwiająco dużo czasu.
Przeprowadziliśmy dalszą analizę faktycznego wykorzystania oprogramowania Java w okresie między dwiema aktualizacjami. W dniu 30 sierpnia, Oracle opublikowało uaktualnienia Java SE 7 Update 7 oraz Java SE 6 Update 35. 16 października widzieliśmy wydanie uaktualnień Java SE 7 Update 9 i SE 6 Update 37. Wszystkie te aktualizacje obejmowały poważne luki. Korzystając z alternatywnego źródła danych naszych użytkowników, które wskazywało na rzeczywiste używane oprogramowanie, odkryliśmy, że w użyciu było 41 różnych wersji głównych Javy 6 i 7. Luka, uwzględniona w aktualizacji z 30 sierpnia (szczegóły znajdują się na stronie internetowej firmy Oracle), dotyczyła również wszystkich wcześniejszych wersji Javy. Dlatego połączyliśmy wszystkie poprzednie (dotknięte) wersje Javy i porównaliśmy je z dwiema nowo zaktualizowanymi (naprawionymi) wersjami. Wynik pokazuje poniższy diagram:
Wiedząc, jak bardzo luki w Javie są niebezpieczne dla użytkowników, użyliśmy dalszych metod do przeanalizowania, jak szybko użytkownicy przechodzą do nowszych wersji tego oprogramowania, w obliczu aktywnego wykorzystywania luki obecnej w wersji poprzedniej. W tym przypadku użytkownicy mieli siedem tygodni, aby zaktualizować bezpieczną w tamtym czasie wersję Javy 6 lub 7, ale dokonało tego mniej niż 30% użytkowników, zanim nie pojawiła się kolejna wersja (naprawiająca kolejny zestaw wielokrotnych luk) produktu. W naszym poprzednim raporcie odnoście korzystania z przeglądarek internetowych, użyliśmy podobnych danych do obliczenia szybkości aktualizacji dla Google Chrome’a, Firefoksa i Opery. We wszystkich trzech przypadkach, więcej niż 30% użytkowników przeszło na nowsze wersje w ciągu tygodnia od pojawienia się uaktualnionej kompilacji. Z czystym sumieniem możemy opisać proces aktualizacji Javy jako bardzo wolny.
Na podstawie liczby luk często wykrywanych w roku 2012, Adobe Flash Player przewyższa Javę – podczas tego okresu wykryliśmy 11 (!) szeroko rozpowszechnionych luk (kolejnych pięć dotyczyło Shockwave Playera i innego rodzaju oprogramowania). Na szczęście, tylko dwie z nich w rzeczywistości były wykorzystywane przez cyberprzestępców (w porównaniu z pięcioma w przypadku Javy). W pierwszej kolejności chcielibyśmy zwrócić uwagę na jedną szczególną podatność Flasha, która wyróżnia się spośród pozostałych.
W odróżnieniu od innych luk Adobe Flash Playera, które przeanalizujemy później, ta jedna została odkryta i załatana więcej niż dwa lata temu. Ale jak widać, użytkownicy, którzy mieli tę konkretną wersję, nie zostali poinformowani o aktualizacji lub byli zbyt leniwi, aby odpowiedzieć na powiadomienie o automatycznym uaktualnieniu programu. Przestarzałe i podatne wersje Adobe Flash Playera były zainstalowane średnio na 10,2% komputerów użytkowników – jest to zdumiewająca ilość maszyn, biorąc pod uwagę fakt, że potwierdzone zostało istnienie exploita dla tej luki, który na szczęście nie był aktywnie wykorzystywany. Wydaje się możliwe, że ta luka zniknie dopiero wtedy, gdy wszystkie komputery, na których aktualnie uruchomione jest przestarzałe oprogramowanie, zostaną zastąpione nowymi modelami.
Sytuacja wśród innych 10 luk we Flashu jest bardziej złożona. Ponownie, skanowanie w poszukiwaniu luk odkrywa tylko jedną lukę na program, dlatego ten wykres pokazuje nowsze luki nakładające się na starsze i zastępujące pozostałe luki. Mimo że tylko dwie luki, spośród 10 wyświetlanych, są rzeczywiście wykorzystywane (luki wykryte w maju i w sierpniu 2012 r.), wykres pokazuje wyraźnie, że jest bardzo mały spadek poziomu ilości obecnych luk: użytkownicy są bardzo powolni, jeżeli chodzi o instalację nowszych wersji oprogramowania, bez względu na to, jak niebezpieczne mogą być odkryte luki. W kolejnych raportach będziemy koncentrować się na rzeczywistych statystykach wykorzystania Adobe Flash Playera, aby określić dokładną szybkość aktualizacji z wersji do wersji.
Jedyna luka w Adobe Reader, która była popularna i aktywnie wykorzystywana tym razem, zastała wykryta na początku grudnia 2011 r. i została napotkana na średnio 13,5% komputerów użytkowników w roku 2012. Mimo iż luka została załatana niemal natychmiast, ta liczba nie zmieniła się na lepsze, osiągając wartość 16,8% w styczniu 2012 r. Tak jak w przypadku innych analizowanych programów, mało jest dowodów na zmniejszenie częstotliwości występowania tej luki. Po raz kolejny sugeruje to, że użytkownicy są niechętni do aktualizacji oprogramowania – prawdopodobnie z powodu nieefektywnego systemu automatycznej aktualizacji.
Przeprowadzone badania pozwoliły nam spojrzeć na poziom zagrożenia luk w zabezpieczeniach oprogramowania z unikatowego punktu widzenia: pokazując wady zabezpieczeń oprogramowania jako bombę zegarową czekająca na zdetonowanie przez cyberprzestępców. Nasze informacje pochodzą od użytkowników, którzy są chronieni przez nasze produkty, a zatem są mniej podatni, aby paść ofiarą exploitów. Ale nawet biorąc to pod uwagę, sytuacja nie wygląda różowo.
Nawet wtedy, gdy sprzedawca oprogramowania stara się rozpoznać usterkę bezpieczeństwa i publikuje aktualizację w odpowiednim czasie, dla znacznej części użytkowników to nic nie znaczy. Znane, niebezpieczne i gotowe do wykorzystania luki w zabezpieczeniach pozostają otwarte na milionach komputerów, na długie miesiące po tym, jak zostanie opublikowana aktualizacja podatnego oprogramowania. Istnieją przykłady luk w oprogramowaniu, które trwają przez lata, mimo ich wykrycia i wydania odpowiednich łat. Nie możemy winić za to użytkowników: nie są, i nie muszą być, ekspertami od bezpieczeństwa.
Potrzebny jest bardziej elastyczny i zautomatyzowany proces aktualizacji dla wszystkich zainstalowanych programów i ogólnie lepsze praktyki bezpieczeństwa ze strony dostawców oprogramowania. To, co użytkownicy muszą zrozumieć, to fakt, że wolność instalacji dowolnej wersji dowolnego programu wymaga pewnych środków ostrożności – a punktem wyjścia jest właściwa ochrona przed współczesnymi zagrożeniami, w tym narzędzia do wykrywania i aktualizacji „dziurawego” oprogramowania.
Analizy
Blog