Microsoft (Microsoft Security Response Center, MSRC) запись в блоге поясняет, почему в настоящее время Microsoft не планирует поддерживать API-интерфейс WebGL, уже реализованный в браузерах Firefox и Chrome, в т. ч. в их версиях для Linux, а также в версиях Opera и Safari для разработчиков. Группа пишет: «Мы считаем, что WebGL, вероятно, станет постоянным источником трудно устранимых уязвимостей. Именно поэтому в своем нынешнем виде WebGL не является такой технологией, которую Microsoft может поддерживать».

Это стало ударом для некоммерческого консорциума Khronos Group, который перенял у фонда Mozilla Foundation разработку WebGL и ранее в этом году выпустил версию 1.0.

Группа характеризует WebGL как «предназначенный для Интернета API-интерфейс трехмерного рендеринга в непосредственном режиме. Он является ответвлением OpenGL ES 2.0 и обеспечивает сходные функции рендеринга, но в контексте HTML».

Иными словами, WebGL представляет собой элемент контекста Canvas HTML, предоставляющий API-интерфейс трехмерной графики без использования плагинов. Потенциально он позволяет веб-браузерам отображать трехмерную графику как в компьютерной игре.

Но, считает Microsoft, поскольку эта технология предоставляет веб-сайтам прямой доступ к низкоуровневым аппаратным графическим функциям, с ее помощью можно делать некоторые гадости. Корпорация ссылается на продолжающуюся работу лондонской консультативной фирмы Context Information Security. В мае та опубликовала запись в блоге о том, что сумела создать веб-страницы, вызывающие с помощью WebGL аварийное завершение работы компьютеров посетителей.

В записи от 16 июня Context утверждает, что вредоносные веб-сайты могут также использовать WebGL для считывания содержания графической памяти. Как показано на иллюстрации, это позволяет украсть любые данные, которые выводятся на экран пользователя.

Context и Microsoft отмечают, что уязвимости в WebGL не всегда будут проявляться в API-интерфейсе, но будут возникать также в некоторых веб-браузерах или драйверах графических карт, из которых одни защищены больше, другие меньше. Microsoft указывает в своей записи, что «пользователи не привыкли проверять, установлены ли у них новейшие драйверы графических карт, что было бы необходимо для безопасного серфинга в Интернете».

Context в записи от 16 июня «рекомендует пользователям и системным администраторам отключить WebGL». В свою очередь, Microsoft формулирует следующие основные претензии:
  • поддержка WebGL браузерами делает аппаратные функции непосредственно доступными через Интернет таким образом, который обеспечивает слишком широкие полномочия; 
  • при поддержке браузерами WebGL они слишком сильно зависят от дополнительных программ при обеспечении безопасности серфинга в Интернете;
  • возможны сценарии системных DoS-атак. 
В заключение Microsoft пишет: «Мы признаем необходимость разработки решений в данной области. Однако наша цель заключается в том, чтобы все решения такого рода были защищенными на стадии проектирования, защищенными по умолчанию и защищенными в процессе развертывания». 

Реакция Khronos

Отвечая на приведенные утверждения, представитель Khronos Джонатан Хершон сказал, что проблема мошенничества или случайных окон на рабочем столе была связана с ошибкой в реализации WebGL в Firefox, и о ней нельзя говорить как об общей для реализации WebGL в других браузерах. Более того, добавил он, этой проблемой занялись 26 мая, и в Firefox 5, выпуск которого намечен на 21 июня, она решена.

Между тем, отмеченные ранее проблемы с отказом в обслуживании, видимо, сохраняются, поскольку производители браузеров все еще пытаются обеспечить поддержку расширения GL_ARB_robustness. «Ожидается, что выявленные проблемы с отказом в обслуживании будут решены после интеграции данного расширения», — сказал Хершон.

Подытоживая, Хершон заявил: «Все производители браузеров пока только работают над обеспечением совместимости с WebGL. Лишь после того, как браузеры успешно пройдут проверку на совместимость, они смогут претендовать на поддержку Canvas.getContext(«webgl») вместо Canvas.getContext(«experimental-webgl»)».

Наконец, Khronos указывает на запись в блоге Ави Бар-Зеева, главного архитектора подразделения Microsoft Research. В своем личном блоге RealityPrime Бар-Зеев пишет, что разочарован мнением сотрудников MSRC, которое «создает впечатление, будто Microsoft уходит от решения вопросов безопасности, которые требуют небольшой технической работы».

Бар-Зеев продолжает: «WebGL будет работать и на моем ПК, и на вашем, тем или иным образом. Microsoft придется иметь с ним дело. Кстати, в действительности мы можем помочь сделать его гораздо более надежным, если возьмемся за это вместо того, чтобы демонстративно отворачиваться».

В своей записи Бар-Зеев отмечает также, что в отличие от плагинов для браузеров (включая элементы управления ActiveX, впервые появившиеся в Microsoft Internet Explorer) WebGL не позволяет получать широкий доступ к низкоуровневым функциям. «Никакой записи на диск, никакого доступа к основной памяти, никакого кода для процессора помимо официально подписанных драйверов. В действительности этот шейдер может затронуть лишь вашу графическую карту и экран».

В заключение Бар-Зеев пишет: «Совершенно очевидно, что есть только одно направление для продвижения Microsoft и трехмерной графики в Интернете. И это направление связано с WebGL».