Отказавшись сказать, будет ли он поддерживать WebGL или нет, Microsoft теперь вышла и атаковала его как слишком небезопасный для того, чтобы они могли встроить его в IE 10. Это просто еще один пример «театра безопасности»?
Microsoft, похоже, собирается потопить одну из самых захватывающих функций новой сети, которую мы склонны называть HTML5, даже если это не так. WebGL — это стандарт для создания 3D-графики на веб-странице-точнее, в объекте Canvas. Это окончательный стандарт, но на данный момент поддерживаются только Chrome и FireFox. Ясно, что для того, чтобы быть принятым стандартом, либо IE должен также поддерживать его, либо IE должен стать забытым, редко используемым браузером — и ни то, ни другое не кажется очень вероятным на данный момент.
Отказавшись сказать, будет ли он поддерживать WebGL или нет, Microsoft теперь вышла и атаковала его как слишком небезопасный для того, чтобы они могли встроить его в IE 10.
Группа Microsoft Security Research & Defence group опубликовала сообщение в блоге под названием «WebGL считается вредным» — эмоциональное название, если оно когда-либо существовало. В основном они говорят, что WebGL предоставляет слишком много оборудования, не накладывая на него достаточных ограничений безопасности. Они делают три пункта
Поддержка браузеров для WebGL напрямую предоставляет аппаратную функциональность Сети таким образом, который мы считаем чрезмерно разрешительным
Поддержка браузеров для обеспечения безопасности WebGL ответственность за обслуживание слишком сильно зависит от третьих сторон для обеспечения безопасности веб-интерфейса
Проблемные системные сценарии DoS
Первые два пункта важны одинаково, т. Е. WebGL позволяет программистам использовать графический процессор, и единственные элементы управления для этого предоставляются сторонними драйверами, которые, как правило, не используются для проблем безопасности. Последний момент заключается в том, что машина может быть сбита кодом GPU, который занимает машину 100% времени.
На самом деле все сводится к следующему
«WebGL и вся эта штука с удаленным графическим процессором настолько новы, что это страшно».
Конечно, это то, что должны думать сотрудники службы безопасности, и вы не можете винить их за то, что они выполняют свою работу. Это то, что всегда происходило при разработке Интернета и почему с точки зрения программирования он все еще находится в темных веках. Это игра в кошки-мышки между создателями безопасности и создателями приложений.
Например, сотрудники службы безопасности блокируют межсайтовые сценарии, т. Е. вы не можете динамически загружать JavaScript с другого сайта. Затем программист приложений создает JSONP, который эффективно восстанавливает возможность динамической загрузки JavaScript.
Это «заблокируйте объект — найдите другой способ» повторяется снова и снова — это программный эквивалент того, что в более широком мире называют «театром безопасности», то есть сделать его хорошим, но на самом деле он не делает ничего стоящего.
В более широком мире вы можете остановить почти все, от картриджей с тонером до воды в бутылках, во имя безопасности. Теперь похоже, что вы можете сделать то же самое в мире программирования!
Что нам нужно, так это объединенное планирование безопасности, а не путаница с исправлениями ограничений, построенная поверх других ограничений, настолько сложных, что в основном вам нужно отключить их все, чтобы выполнить какую-то работу.
И вот мы подходим к той части лоскутного одеяла, которая является проблемой безопасности, скрывающейся в WebGL.
Конкретная ошибка, с которой начался весь этот эпизод, — это ошибка в FireFox, которая позволила программе GPU украсть содержимое другого окна. По словам группы Khronos, которая отвечает за WebGL, это было исправлено, и FireFox 5 не имеет уязвимости.
Это не означает, что в WebGL нет проблем с безопасностью и, более того, графические драйверы, которые он использует, — но не использовать его из-за проблем с безопасностью-это неправильный путь. По крайней мере, Microsoft могла бы реализовать его в выключенном режиме и позволить пользователю включить его после соответствующих предупреждений. Это то, что делает Firefox, но Microsoft явно считает, что пользователь слишком глуп, чтобы понять и принять собственное решение о выгоде от 3D.
Существует также тот момент, что мы действительно хотим, чтобы 3D в браузере. Как может развиваться Интернет, если из-за соображений безопасности мы застряли только с 2D-графикой. Вы также должны помнить, что Microsoft несет ответственность за сдерживание Интернета в течение 10 лет, не приняв средство 2D — графики SVG, когда это был новый стандарт-история вот-вот повторится? Учитывая, что 3D — проблемы находятся в драйверах, как Microsoft может принять любое решение 3D-проблемы, включая собственный проблемный DirectX?
Итак, чтобы было совершенно ясно — Microsoft говорит, что мы не можем использовать 3D-графику на веб-страницах, потому что это слишком опасно. Это звучит как удобное оправдание для меня и поднимает вопрос о том, почему Microsoft действительно не хочет поддерживать WebGL в IE 10?
Какова бы ни была причина, похоже, что Microsoft только что очень сильно затормозила развитие Интернета во имя безопасности.
Обновление
Блог, почему Microsoft и IE нуждаются в WebGL (и наоборот) Ави Бар-Зеева, главного архитектора Microsoft, содержит некоторые интересные мысли и наблюдения:
«Из одной дискуссии, которую я провел с лидерами IE, я могу заверить людей за пределами Microsoft, что эта проблема на самом деле касается безопасности и правильных действий для пользователей. Речь идет не о “GL” против “DX” в названии, как предполагают некоторые. Речь идет не о желании нарушить работу других браузеров, в чем часто обвиняют Microsoft. Эти лидеры искренне обеспокоены возможностью того, что кто-то на вредоносном веб-сайте может использовать WebGL, чтобы серьезно нарушить ваш опыт, и, кстати, это, по-видимому, вина Microsoft…»
и
«Эти лидеры, возможно, не в полной мере осознают, насколько велико движение WebGL на самом деле и как оно снова изменит сеть. Но реальность такова, что если Internet Explorer не поддерживает WebGL, и WebGL, тем не менее, становится де-факто стандартом для 3D в Интернете (что и произойдет, IMO), то IE окажется в неконкурентоспособном положении, чтобы либо помочь устранить любые проблемы, а также сохранить или увеличить долю рынка по сравнению с другими браузерами.»
Таким образом, вместо заговора с целью размещения DirectX над OpenGL (на котором основан WebGL), возможно, Microsoft возглавляют люди, которые на самом деле не имеют отношения к этой технологии. Если вы также посмотрите на то, как Microsoft реагирует на HTML5/JavaScript, это, безусловно, подходит.