29

WebGL równie niebezpieczne co Silverlight i Flash. Googler wdeptuje MS w ziemię

Czuję się jak kretyn, że wspominając ostatnio o (nie)bezpieczeństwie WebGL, sam nie pomyślałem o tym co Gregg Tavares z Google wypunktował wczoraj dobitnie na swoim blogu. Zastrzeżenia Microsoftu to… bullshit. Sprzętowa akceleracja grafiki w Silverlight i Flasha niesie za sobą dokładnie te same problemy z bezpieczeństwem. Microsoft chroni swoje podwórko, a nie bezpieczeństwo użytkowników i […]

Czuję się jak kretyn, że wspominając ostatnio o (nie)bezpieczeństwie WebGL, sam nie pomyślałem o tym co Gregg Tavares z Google wypunktował wczoraj dobitnie na swoim blogu. Zastrzeżenia Microsoftu to… bullshit. Sprzętowa akceleracja grafiki w Silverlight i Flasha niesie za sobą dokładnie te same problemy z bezpieczeństwem. Microsoft chroni swoje podwórko, a nie bezpieczeństwo użytkowników i dlatego odmawia wsparcia tej technologii. 

Tavares zwraca uwagę na to, że:

  • Silverlight 5 i Flash 11 oferują te same możliwości co WebGL, udostępniając GPU za pośrednictwem API kontentowi z sieci. Ale są dostępne w najnowszym IE i to najwyraźniej Microsoftu nie martwi.
  • Gregg Tavares sugeruje, że Context IS – „niezależna firma konsultingowa zajmująca się bezpieczeństwem”, tak naprawdę została najęta przez Microsoft. I przyznam, że przyglądając się w jaki sposób jest prowadzona komunikacja (polecam przekonujące wideo) wyników ich „ograniczonych badań” – trudno nie dojść do tych samych wniosków, ponieważ nie ma w nich słowa na temat innych technologii dających sieci dostęp do GPU przez swoje API – jak wspomniałem wyżej Silverlight 5 i Flash 11.
  • Microsoft nie wspierał OpenGL, na którym bazuje WebGL – promując własne rozwiązanie DirectX. Akceptacja WebGL jako standardu w IE, mogłaby zmusić Microsoft w przyszłości do wspierania go również na innych platformach – stawiające deweloperów przed wyborem: WebGL działające absolutnie wszędzie, czy DirectX zamykający ich w ekosystemie Microsoftu.
  • Akurat Windows jest jedynym systemem, który aktualnie umożliwia zapobieżenie atakom DOS, przeprowadzonym za pomocą WebGL poprzez zabicie procesu, który blokuje zbyt długo GPU. Grupa Khronos pracuje właśnie nad podobnym rozwiązaniem dla innych platform.
  • Uruchomienie szkodliwego kodu w Chrome (tu prztyczek w nos dla Mozilli) i IE nie powinno stanowić większego problemu, ponieważ strony są uruchamiane jako oddzielne procesy bez dostępu do plików i sprzętu.
  • Specyfikacja WebGL zakłada walidację wszystkich wprowadzanych przez API parametrów, a tam gdzie błędy dają możliwość ataku, lecz nie da się ich obejść, driver trafia na czarną listę.

Choć jeden z pracowników Microsoftu twierdzi, że wspomniany wcześniej wpis nie jest oficjalnym stanowiskiem MS, a decyzja o nie wspieraniu WebGL jest jedynie wynikiem niedoinformowania (sic!) kierujących rozwojem IE, to trudno pozbyć się wrażenia, że to świadome działanie – zwłaszcza w wykonaniu firmy która stworzyła najwredniejszego potwora nawiedzającego sny speców od bezpieczeństwa przez lata – kontrolki ActiveX.

Tak jak pisałem ostatnim razem: WebGL wymaga pracy, tak samo jak pracy wymagały bugi we Flashu wykorzystywane przez przestępców. To schizofrenia, jeśli Microsoft z jednej strony wspiera standard HTML5 (nowe apki Windows 8, IE 9), a z drugiej chce mu wytrącić z reki najpotężniejszą broń, zastępując ją wtyczką Silverlight. Nie wierzę, aby to się udało. Na którymś etapie, MS będzie musiał tak jak w przypadku IE9 uświadomić sobie, że nie jest pępkiem świata i nie tylko on definiuje standardy.