Luka w Javie grozi wszystkim systemom

Podatność w Javie 7 może być wykorzystana do ataków na komputery z systemem OS X. Eksploit działa także w Linuksie i we wszystkich wersjach Microsoft Windows.

Kolejny znaleziony błąd w platformie JRE sprawia, że atak przeciwko maszynom z różnymi systemami operacyjnymi jest o wiele łatwiejszy, niż dotąd sądzono. Podatność oznaczona CVE-2012-4681 występowała w Java 7 Update 6, została załatana w aktualizacji Update 7 z końca sierpnia, ale - jak informuje Adam Gowdiak z polskiej firmy Security Explorations - w najnowszej wersji nadal znajdują się błędy. Lukę można wykorzystać we wszystkich wydaniach Microsoft Windows, Linuksie oraz OS X. Szczególnie czujni powinni być użytkownicy applowskiego OS X, gdyż wykorzystanie właśnie tej podatności jest najłatwiejszym sposobem przełamania zabezpieczeń systemu.

Java 7 to standardowa platforma, obecna w większości komputerów, zarówno w OS X, jak i w Windows czy w Linuksie. Ze względu na zmiany w umowie licencyjnej Oracle, nie jest ona już dystrybuowana razem z systemami Ubuntu Linux i OS X. W tych przypadkach wymaga ręcznej instalacji, przeprowadzonej przez użytkownika.

Uwaga na obce aplety

Aby wykorzystać błąd, wystarczy umieścić szkodliwy aplet Java na dowolnej stronie i zachęcić ofiarę do jej wyświetlenia. Podatna jest każda przeglądarka, która wywoła wtyczkę Javy, zatem eksploit w praktyce działa zarówno w Internet Explorerze czy Firefoksie 14 w Windows, jak i w Safari 6 na OS X 10.8 Mountain Lion.

W internecie błąd ten jest obecnie wykorzystywany do zarażania komputerów z systemem Windows, ale należy pamiętać, że eksploity umieszczone w apletach Java były elementem każdego ataku złośliwego oprogramowania kierowanego przeciw OS X w tym roku. Najgłośniejszym atakiem był Flashback, który w kwietniu 2012 r. wykorzystał błąd w Javie niezałatany na czas przez Apple i zainfekował setki tysięcy komputerów. Od wydania OS X Lion Apple nie dołącza już Javy do systemu, ale starsze wydania systemu (Snow Leopard z 2009 r. oraz Leopard z 2007 r.) nadal zawierają tę platformę, która może mieć sporo niezałatanych luk.

Można zaatakować prawie każdy system

Podatność Javy jest na tyle poważna, że umożliwia instalację złośliwego kodu bez jakiejkolwiek interakcji ze strony użytkownika. Wystarczy, że wyświetli stronę zawierającą aplet ze złośliwym kodem. To uruchamia łańcuch infekcji metodą drive-by.

Atak ten jest szczególnie groźny, gdyż umożliwia umieszczenie w komputerze użytkownika dowolnego pliku, a następnie przekazanie do niego sterowania. Uruchomiona aplikacja może z kolei pobrać następne składniki złośliwego oprogramowania, omijając przy tym zabezpieczenia systemu operacyjnego, takie jak DEP (Data Execution Prevention - zabezpieczenie przed wykonaniem kodu, na przykład w wyniku przepełnienia bufora, obecne od 2004 r. w systemach Windows i Linux) czy ASLR (Address Space Layout Randomization).

Testy pokazały, że wykorzystując ten błąd Javy, udaje się uruchomić popularny payload (część wirusa odpowiedzialna za przeprowadzenie ataku) Meterpreter z platformy Metasploit, za którego pomocą można dowolnie manipulować docelowym systemem. Jak podaje firma Errata Security, atak ten powiódł się na każdej testowanej przez nią platformie klienta wyposażonej w Javę 7, włącznie ze stosunkowo dobrze zabezpieczoną przeglądarką Chrome 21.0.1180.83, uruchamianą w aktualnym środowisku Windows 7 z aktywnym .

Zaktualizować Javę lub usunąć

Aktualizacja platformy Java do wersji Update 7 oznaczonej 1.7.0_07-b10 jest dostępna na stronach Oracle, należy więc koniecznie zaktualizować Javę, gdyż starsza z luk jest aktywnie wykorzystywana do zarażania komputerów. Ze względu na występowanie kolejnych błędów warto rozważyć wyłączenie obsługi wtyczki Java w przeglądarce lub odinstalowanie JRE. Ten drugi, radykalny krok jest możliwy w niektórych firmach, gdyż bardzo mało stron www naprawdę korzysta z tej technologii. Na wielu stacjach roboczych mogą jednak znajdować się programy, które wymagają obsługi JRE do dodatkowej funkcjonalności, a taką aplikacją jest OpenOffice/LibreOffice.

Użytkownicy OS X nie dysponują narzędziami do centralnego zarządzania obsługą wtyczek, dlatego muszą samodzielnie usunąć obsługę Javy - należy z foldera /Library/Java/JavaVirtualMachines/ usunąć plik 1.7.0.jdk.

Jeśli obsługiwane przez przeglądarkę korzystają z Javy i z tego powodu nie można globalnie wyłączyć JRE, warto zablokować pobieranie apletów Java na zaporze sieciowej - niektóre firewalle umożliwiają taką akcję.

Groźny Metasploit

Podatność Javy wykorzystuje framework Metasploit, który pojawił się już 24 godziny po opublikowaniu informacji o istnieniu luki. Zagraża komputerom z Javą w wersji 1.7 JRE także niedawnym wydaniem Update 6. Sam framework Metasploit jest w praktyce wykorzystywany przez wielu badaczy bezpieczeństwa, a także włamywaczy komputerowych.

Po dołączeniu popularnego payloadu Meterpreter można dowolnie manipulować atakowanym systemem, w tym przesyłać pliki w obie strony, otwierać je, uruchamiać wybrane aplikacje już znajdujące się na dysku, pozyskiwać informacje o uruchomionych procesach, przenosić Meterpretera do innego procesu lub zdalnie uruchomić powłokę (cmd w Windows, bash w Linuksie).

**SCREEN**win7_met.png - Przykładowa sesja z wykorzystaniem narzędzia Meterpreter uruchomionego dzięki wykorzystaniu luki w Javie 7 w Windows