Тестирование проводилось с помощью утилиты Domato, которую Фратрич разработал специально для тестирования DOM-движков. Это фаззинг-инструмент для тестирования безопасности, передающий исследуемому приложению случайный набор данных и анализирующий аномалии выходных данных.

Команда выбрала пять браузеров: Google Chrome, Mozilla Firefox, Internet Explorer, Microsoft Edge и Safari от Apple. Было проведено примерно сто миллионов тестов с помощью Domato. Результаты показали, что самыми безопасными являются первые три.

*Всего было обнаружено 33 багкейса, но два бага нашлись в нескольких браузерах

**Основная причина одной из ошибок, обнаруженных в Mozilla Firefox, была в графической библиотеке Skia, а не в коде Mozilla. Но, поскольку соответствующий код был внесен инженерами Mozilla, справедливо его учитывать

Результаты показали, что Safari обладает самым худшим DOM-движком с 17 ошибками системы безопасности. На втором месте с конца расположился Edge c 6 проблемами.

Google сообщила о найденных ошибках разработчикам каждого из браузеров и предоставила им копии Domato, чтобы каждый мог самостоятельно выполнить более обширные тесты своих продуктов. Исходный код Domato также опубликовали на GitHub, чтобы им мог воспользоваться любой желающий либо адаптировать его для работы с другими приложениями, а не только с DOM-движками веб-браузеров.

Фратрич подчеркнул, что данный эксперимент ФОКУСируется на безопасности только одного компонента (DOM-движка), поэтому нельзя воспринимать его результаты как показатель безопасности браузеров в целом. Хотя исторически уязвимости в DOM и были источником множества проблем с безопасностью. “В этом эксперименте не учитываются другие аспекты, такие как наличие и безопасность “песочницы”, ошибки в других компонентах, таких как скриптовые двигатели и т. д. Я также не могу игнорировать возможность того, что в DOM мой фаззер лучше находит определенные типы проблем, что может повлиять на общую статистику”, – написал разработчик.

DOM-движки — это компоненты браузера, которые читают HTML-код и организуют его в Document Object Model (объектная модель документа), которая затем отрисовывается и выводится в окне браузера в виде изображения, которое пользователи и видят на своих экранах. По словам Фратрича, разработчики редко выпускают обновления, в которых не содержатся исправления критических проблем в DOM-движках, поэтому проблема довольно масштабна. В особенности учитывая тот факт, что после окончательного отказа от технологии Flash в 2020 году, которая несет пальму первенства по эксплуатируемых уязвимостях, DOM-движки станут одним из основных объектов атак злоумышленников.

Напомним, создатель Opera обвинил Google в препятствовании развития Opera и Vivaldi.