Google Online Security Blog на русском
Подписаться
Использование API специальных возможностей Chrome для поиска ошибок безопасности
Код пользовательского интерфейса в Chrome сложный и иногда содержит ошибки, которые могут быть ошибками безопасности, если они приводят к повреждению памяти, которое может использовать злоумышленник. Команда Chrome хочет находить эти ошибки автоматически и поняла, что дерево доступности элементов управления пользовательского интерфейса Chrome, доступное для вспомогательных технологий, можно использовать в этой цели. Они используют технику, называемую фаззингом, которая включает полуслучайное взаимодействие с элементами управления пользовательского интерфейса, чтобы проверить, можно ли вызвать их сбой. Команде пришлось преодолеть несколько проблем, в том числе использовать фаззинг с учетом покрытия для выбора комбинаций элементов управления, которые достигают нового кода в Chrome, и запуск тестовых случаев фаззинга в реальной версии Chrome с использованием фреймворка InProcessFuzzer. Им также пришлось учесть проблемы с шумом и сложностью среды Chrome, а также обеспечить стабильность и доступность тестовых случаев. Команда разработала настраиваемый мутатор для улучшения эффективности фаззера и теперь запускает фаззер в своей инфраструктуре ClusterFuzz. Хотя еще рано говорить, насколько успешен этот подход, фаззер уже нашел несколько потенциальных ошибок в самом коде доступности.