10 kwietnia 2010
Krytyczna luka w środowisku wykonawczym Java
sobota, kwietnia 10, 2010 | Autor:
\m/ojtek
Krytyczny błąd obecny w środowisku wykonawczym Sun Java (Java Runtime Environment, JRE) pozwala na zdalne wykonanie dowolnego kodu. Odwiedzenie specjalnie spreparowanej witryny internetowej może spowodować za pośrednictwem praktycznie dowolnej przeglądarki internetowej uruchomienie złośliwego kodu w naszym systemie operacyjnym. Na atak podatne są wszystkie systemy z rodziny Windows. Prawdopodobnie problem ten dotyczy również systemów Linux.
Tavis Ormandy w sposób praktyczny potwierdził obecność krytycznego błędu w komponencie Java Web Start wchodzącym w skład środowiska wykonawczego Sun Java. Błąd można wykorzystać do zdalnego wykonania kodu (z uprawnieniami bieżącego użytkownika) we wszystkich wersjach systemów Windows. Prawdopodobnie podobny atak może zostać opracowany dla systemów z rodziny Linux.
Praktyczne wykonanie ataku jest niezwykle proste. Wystarczy tylko, że specjalnie spreparowana witryna przekaże odpowiednie polecenia do komponentów Java odpowiedzialnych za uruchamianie aplikacji. Atak jest skuteczny za pośrednictwem praktycznie dowolnej przeglądarki internetowej.
W systemach z rodziny Windows luka obecna jest w kontrolce ActiveX Java Deployment Toolkit (w przypadku Internet Explorera) oraz wtyczce NPAPI (w przypadku Firefoksa oraz innych przeglądarek korzystających z tej wtyczki). Java Deployment Toolkit zawiera metodę launch(), która pozwala na instalację oraz uruchamianie programów za pomocą adresu URL wskazującego na plik Java Networking Launching Protocol (.jnlp). Począwszy od Java 6 Update 10, komponent Java Deployment Toolkit jest domyślnie dostarczany w ramach instalacji Java Runtime Environment.
Problem polega zaś na tym, że w wyniku braku odpowiedniej kontroli, komponent Java Web Start akceptuje komendy zawarte w adresach URL i następnie przekazuje je do dalszego wykonania. Niestety, wyłączenie obsługi ActiveX lub wtyczki NPAPI nie rozwiązuje problemu. Przed udanym atakiem nie uchronią nas również mechanizmy takie jak Microsoft DEP (ang. Data Execution Prevention) lub ASLR (ang. Address Space Layout Randomization).
Luka obecna jest we wszystkich wersjach JRE począwszy od Java 6 update 10. Tavis Ormandy utworzył przykład PoC dowodzący praktycznej możliwości wykonania ataku. Samo tylko odwiedzenie wspomnianej strony pokazowej powoduje całkowicie automatyczne uruchomienie apletu calc.jar. W wyniku działania apletu, w systemie operacyjnym użytkownika następuje automatyczne uruchomienie aplikacji calc.exe. W podobny sposób możliwe jest lokalne uruchomienie dowolnego kodu (np. trojana pobranego przy pomocy odpowiedniej komendy za pomocą protokołu FTP). Ruben Santamarta opublikował natomiast kod PoC.
Obrona przed potencjalnym atakiem nie jest w chwili obecnej prosta. Producent (Oracle — po niedawnym przejęciu Sun Microsystems) został już powiadomiony o całej sprawie, nie zamierza jednak opublikować odpowiedniej poprawki w trybie przyspieszonym. Na chwilę obecną możliwe jest więc jedynie zastosowanie tymczasowych środków zaradczych (wyłączenie obsługi technologii Java w przeglądarce internetowej nie jest wystarczające), które niestety są zależne od stosowanej przeglądarki internetowej. Wielu znanych ekspertów zajmujących się bezpieczeństwem (takich jak Alexander Sotirov) zaleca natomiast całkowite porzucenie technologii Java.
[źródło1] [źródło2]
Tavis Ormandy w sposób praktyczny potwierdził obecność krytycznego błędu w komponencie Java Web Start wchodzącym w skład środowiska wykonawczego Sun Java. Błąd można wykorzystać do zdalnego wykonania kodu (z uprawnieniami bieżącego użytkownika) we wszystkich wersjach systemów Windows. Prawdopodobnie podobny atak może zostać opracowany dla systemów z rodziny Linux.
Praktyczne wykonanie ataku jest niezwykle proste. Wystarczy tylko, że specjalnie spreparowana witryna przekaże odpowiednie polecenia do komponentów Java odpowiedzialnych za uruchamianie aplikacji. Atak jest skuteczny za pośrednictwem praktycznie dowolnej przeglądarki internetowej.
W systemach z rodziny Windows luka obecna jest w kontrolce ActiveX Java Deployment Toolkit (w przypadku Internet Explorera) oraz wtyczce NPAPI (w przypadku Firefoksa oraz innych przeglądarek korzystających z tej wtyczki). Java Deployment Toolkit zawiera metodę launch(), która pozwala na instalację oraz uruchamianie programów za pomocą adresu URL wskazującego na plik Java Networking Launching Protocol (.jnlp). Począwszy od Java 6 Update 10, komponent Java Deployment Toolkit jest domyślnie dostarczany w ramach instalacji Java Runtime Environment.
Problem polega zaś na tym, że w wyniku braku odpowiedniej kontroli, komponent Java Web Start akceptuje komendy zawarte w adresach URL i następnie przekazuje je do dalszego wykonania. Niestety, wyłączenie obsługi ActiveX lub wtyczki NPAPI nie rozwiązuje problemu. Przed udanym atakiem nie uchronią nas również mechanizmy takie jak Microsoft DEP (ang. Data Execution Prevention) lub ASLR (ang. Address Space Layout Randomization).
Luka obecna jest we wszystkich wersjach JRE począwszy od Java 6 update 10. Tavis Ormandy utworzył przykład PoC dowodzący praktycznej możliwości wykonania ataku. Samo tylko odwiedzenie wspomnianej strony pokazowej powoduje całkowicie automatyczne uruchomienie apletu calc.jar. W wyniku działania apletu, w systemie operacyjnym użytkownika następuje automatyczne uruchomienie aplikacji calc.exe. W podobny sposób możliwe jest lokalne uruchomienie dowolnego kodu (np. trojana pobranego przy pomocy odpowiedniej komendy za pomocą protokołu FTP). Ruben Santamarta opublikował natomiast kod PoC.
Obrona przed potencjalnym atakiem nie jest w chwili obecnej prosta. Producent (Oracle — po niedawnym przejęciu Sun Microsystems) został już powiadomiony o całej sprawie, nie zamierza jednak opublikować odpowiedniej poprawki w trybie przyspieszonym. Na chwilę obecną możliwe jest więc jedynie zastosowanie tymczasowych środków zaradczych (wyłączenie obsługi technologii Java w przeglądarce internetowej nie jest wystarczające), które niestety są zależne od stosowanej przeglądarki internetowej. Wielu znanych ekspertów zajmujących się bezpieczeństwem (takich jak Alexander Sotirov) zaleca natomiast całkowite porzucenie technologii Java.
[źródło1] [źródło2]
Krytyczna luka w środowisku wykonawczym Java
2010-04-10T11:55:00+02:00
\m/ojtek
Linux - Unix|Newsy|Windows|
Subskrybuj:
Komentarze do posta (Atom)
Wyszukaj w HCSL:
Subskrybuj:
Najpopularniejsze artykuły wszech czasów:
- Urządzenia do kopiowania kart płatniczych
- Co tak naprawdę ujawniasz w Internecie?
- Dlaczego należy zasłaniać klawiaturę bankomatu?
- Publiczna wiadomość z ukrytym przekazem
- Przyszłość antywirusów jest jasna
- Sposób na obejście internetowych blokad
- Superbezpieczne hasła na... żółtej karteczce
- Funkcje sprzętowego kasowania danych w HDD!
- 12-latek odkrył krytyczną lukę w Firefoksie
- Przestępstwo nie popłaca
- Czy jesteśmy inwigilowani przez chiński sprzęt?
- Gotowy zestaw do podsłuchiwania GSM
- Jak działa internetowa mafia?
- Uwaga na nowy rodzaj ataków phishingowych!
- Microsoftowy poradnik dla organów ścigania!
- Polski super-bezpieczny system Qubes OS
- Dane wieczyście dostępne
- Pierwszy atak samochodowych crackerów
- Pliki PDF zdolne do wykonania dowolnego kodu
- Polskie służby współpracują z firmą Google?
- Więzienie za odmowę ujawnienia hasła
- Podrzucanie dziecięcej pornografii
- Zapomniany film o hakerach
- Łamanie haseł w Windows Vista i 7