Firma Fortify Software twierdzi, że zidentyfikowała nowy rodzaj ataków - JavaScript Hijacking - odnoszący się wyłącznie do serwisów Web 2.0 i oprogramowania AJAX.
Z analiz Fortify Software wynika, że aż 12 popularnych frameworków (szkieletów aplikacji) z których korzystają programiści przy tworzeniu oprogramowania AJAX, zawiera błędy pozwalające na przeprowadzanie ataków typu JavaScript Hijacking. Chodzi o frameworki dostarczane przez Google, Microsoft, Yahoo i społeczność open source (Microsoft ASP.NET AJAX, XAJAX, Google Web Toolkit, Prototype, Script.aculo.us, Dojo, Moo.fx, jQuery, Yahoo! UI, Rico oraz MochiKit).
Zlokalizowanie błędów we frameworkach oznacza, że na ataki narażone są liczne aplikacje Web 2.0. Specjaliści z Fortify Software twierdzą, że narażone są również te aplikacje, które nie zostały stworzone za pomocą wyżej wymienionych narzędzi.
Jak tłumaczą specjaliści, problemy mogą wystąpić wszędzie tam, gdzie aplikacja korzysta z formatu wymiany danych JSON, zamiast XML, aby przenosić dane pomiędzy przeglądarką a serwerem. Możliwe jest wtedy użycie tagu <script>, aby obejść tzw. politykę wspólnego pochodzenia (ang. Same-Origin Policy), zgodnie z którą dany kod może wykonywać ryzykowne operacje wyłącznie na zasobach pochodzących z tego samego źródła.
Przykładowy atak może wyglądać następująco: gdy ofiara korzysta z aplikacji Ajax i jej przeglądarka przechowuje ciasteczko, zostaje przekonana do odwiedzenia witryny stworzonej przez atakującego. Witryna ta zawierająca odpowiedni kod JavaScript, dzięki któremu może nastąpić przejęcie informacji zawartych w aplikacji Ajax (np. przejęcie treści e-maila przeglądanego w kliencie poczty).
Kilku ekspertom udało się już udowodnić, że błąd da się wykorzystać w specyficznych warunkach. Generalnie są oni zdania, że nowe aplikacje sieciowe prędzej czy później przyniosą ze sobą nowe zagrożenia.
Firma Fortify Software przygotowała dokument doradczy, który ma pomóc deweloperom w zrozumieniu i usunięciu ewentualnych problemów. Jest on dostępny na stronie Fortify Software. Udostępniono również FAQ dokładniej wyjaśniające ideę ataków JavaScript Hijacking.