Michał
'lcamtuf' Zalewskiodkrył cztery nowe luki w przeglądarkach Mozilla Firefox i
Internet Explorer. Dla każdej z nich przygotował odpowiednie
dema.
Najgroźniejsza z nich dotyczy Internet Explorera i umożliwia dostęp
jednej stronie do ciasteczek innej strony. Atakujący może więc
stworzyć stronę, która wykradnie ciasteczka używane przez ofiarę
podczas logowania się do danego serwisu internetowego. Błąd w IE
polega na tym, że kod JavaScript wykonywany przy przechodzeniu
pomiędzy stronami może działać z uprawnieniami starej strony ale
dotyczyć nowej strony. Oprócz wykradania ciasteczek możliwe jest
też modyfikowanie strony oraz spowodowanie wykonania nieprawidłowej
operacji przez IE poprzez odwołanie się do nie w pełni
zainicjalizowanych struktur. Ponieważ kod atakującego musi się
"wstrzelić" w odpowiedni moment atak nie zawsze się powiedzie. Jest
to tzw. sytuacja wyścigu (race condition). Jak to wygląda w
praktyce można sprawdzić na przykładowej stronie
wykradającej ciasteczko witryny google.pl.
Druga
luka dotyczy tylko wersji 6 Internet Explorera ze względu na
poprawki jakie wprowadzono w IE7. Odpowiednia manipulacja obiektami
location modelu DOM zatrzymuje proces przechodzenia na nową stronę.
Dzięki niej możliwy jest spoofing paska adresu, okienek właściwości
strony oraz certyfikatów SSL. Tutaj podobnie jak w przypadku
pierwszej luki wykorzystywany jest JavaScript uruchamiany przy
ładowaniu strony. Do zadziałania ważne są też zależności
czasowe.
W przypadku Firefoksa groźniejsza z luk dotyczy obiektów IFRAME.
Umożliwia ona jednej stronie modyfikację tych obiektów na innej
stronie. Można więc ingerować w treść strony czy też przechwytywać
wciskanie klawiszy. Dziura ta była już łatana jednak jak się okazuje
nieskutecznie.
Ostania dziura pozwala ominąć zabezpieczenie
jakie wprowadzono w Firefoksie aby zapobiec niebezpiecznym
kliknięciom w okienkach dialogowych. Można było bowiem tak napisać
skrypt na stronie internetowej, że w momencie gdy użytkownik chciał
kliknąć w element strony natychmiast skrypt próbował wykonać akcję
wymagającą potwierdzenia. Powodowało to wyświetlenie okienka z
pytaniem o potwierdzenie i to do niego trafiało kliknięcie
wykonywane przez użytkownika. Wprowadzone zabezpieczenie polega na
tym, że okienko dialogowe jest przez kilka sekund nieaktywne i
jeśli nawet zostanie wtedy kliknięte to żadna akcja nie zostanie
podjęta. Można jednak przykryć okienko dialogowe innym oknem
przeglądarki i gdy to pierwsze stanie się aktywne umieścić je na
wierzchu i przeprowadzić wspomniany atak powodujący, że użytkownik
na nim nieświadomie kliknie. Dziurę można wykorzystać do uzyskania
dostępu do lokalnych plików użytkownika.
Twórcy obu przeglądarek zostali poinformowani o lukach i pracują
nad ich usunięciem.