WebGL jest dziurawy – Microsoft nie ma zamiaru go wspierać

Technologia WebGL pozwalająca na renderowanie trójwymiarowej grafiki w przeglądarkach jest z nami obecna już od kilku miesięcy. Jej specyfikacja ukazała się w marcu bieżącego roku, zaś sama technologia jest obsługiwana w przeglądarkach Firefox oraz Google Chrome. Już niedługo będziemy mogli korzystać z jej dobrodziejstw szperając w sieci z użyciem Safari oraz Opery. Niestety WebGL – mimo iż jest dużym skokiem technologicznym – jest też bardzo dziurawy, co mocno nadszarpnęło jego reputację (choć może to słowo nie jest zbyt adekwatne w odniesieniu do tak młodej technologii).

Jedną z luk w implementacji WebGL dla przeglądarki Firefox 4 odkryli brytyjscy badacze z Context Information Security. Wykazali oni, że możliwe jest wykradanie pamięci z uruchomionego okna przeglądarki, co w praktyce przekłada się na przechwytywanie zrzutów ekranowych z działań użytkownika. Atakujący może tworzyć screenshoty całej zawartości Firefoxa 4 – nie tylko zawartości bezpośrednio powiązanej z WebGL-em.

Brytyjscy badacze już jakiś czas temu ostrzegali przed potencjalnymi lukami kryjącymi się w implementacji WebGL. Wykazali oni w poprzednich badaniach, że przez przeglądarkę z obsługą nowej technologii można tak przeciążyć kartę graficzną, aby na ekranie komputera z Windowsem 7 na pokładzie pokazał się BSOD (niebieski ekran śmierci). Badacze udowodnili także, że dzięki funkcji Cross Domain Textures możliwe jest łamanie zabezpieczeń dotyczących prywatności w Firefoxie 4. W piątej wersji liska technologia cross-domain ma zostać wyłączona. Według James Forshawa z firmy Context, WebGL otworzyć ma drogę do “cyberataków nowego rodzaju”; James zaleca wyłączenie obsługi WebGL w przeglądarce internetowej. Jeśli więc obawiacie się o swoje bezpieczeństwo, to obsługę WebGL-a można wyłączyć wpisując w pasku adresu: about:config, a następnie ustawiając wartość webgl.disabled na true.

Problemy z technologią WebGL dostrzegł także Gigant z Redmont. Firma Microsoft pomimo ogromnego wysiłku wkładanego w udoskonalanie przeglądarki Internet Explorer (IE9 używa obecnie około 1,9% polskich internautów, a więc cały wysiłek idzie raczej na marne – dane: Ranking Gemius) nie implementuje do swojego produktu technologii WebGL. Co więcej Microsoft twierdzi, że póki WebGL nie stanie się bezpiecznym standardem, dopóty nie umożliwi jego użytkowania w Internet Explorerze.

Microsoft twierdzi, że WebGL wystawia na niebezpieczeństwo cały system operacyjny. O ile dotychczas nie musieliśmy martwić się o to, że wykorzystując naszą kartę graficzną haker mógłby zechcieć przejąć pewne dane z naszego komputera, o tyle teraz jesteśmy na to narażeni. Wynika to z faktu, że WebGL operuje na niższych poziomach systemu, na przykład sterownikach, nad którymi będzie można przejąć kontrolę. Dotychczas nie martwiliśmy się tym, jednak teraz wychodzi szydło z worka i jak twierdzi Microsoft sterowniki nie są “dopasowane” do standardu WebGL.

Firma z Redmond dodaje także, że istotnym problemem samej technologii jest wystawianie potencjalnego użytkownika na ataki typu DoS. Luki w WebGL umożliwiają zawieszanie całego systemu operacyjnego czy nawet samoczynne jego restartowanie się. Microsoft pisze na swoim blogu, że technologia WebGL jest niedopracowana i stanie się źródłem problemów dla firm ją implementujących i zwykłych użytkowników. Będzie ona wymagać ciągłego łatania, a Microsoft nie zamierza wspierać tak niebezpiecznej, niedopracowanej technologii webowej.

Można kłócić się z decyzją Microsoftu, który sam wypuszcza łaty do swoich produktów z dużym opóźnieniem. Niektórzy z Was zapewne wytkną Microsoftowi, że odwraca się plecami od open-source’owej technologii – całkiem możliwe. Nikt jednak chyba nie zaprzeczy, że dziurawy WebGL jest łakomym kąskiem dla tak potężnej firmy. Jestem pewien, że do badań Contextu odniosą się niedługo także Apple oraz Opera Software.