Исследователи-разработчики создали расширение для браузера Google Chrome, которое блокирует атаки по сторонним каналам на основе кода JavaScript. С их помощью можно похитить данные из оперативной памяти или процессора компьютера. В настоящее время расширение доступно только на портале GitHub.
В настоящее время существует одиннадцать основных типов атак по сторонним каналам, которые могут выполняться с помощью кода JavaScript, запущенного в браузере. Для каждой атаки необходим доступ к различным локальным данным и перед тем, как атаковать злоумышленники используют код JavaScript для хищения, восстановления и сбора необходимой информации.
После изучения каждого типа атак, исследователи идентифицировали пять основных категорий данных/функций, которые эксплуатируются в ходе атак по сторонним каналам: JS-восстанавливаемые адреса памяти, информация о точном времени, поддержка многопоточности браузера, данные, разделяемые между потоками кода JS, а также данные с датчиков устройства.
Расширение Chrome Zero работает перехватывая код JavaScript, который браузер Chrome выполняет, и переписывает определенные функции, свойства и объекты JavaScript в оболочке, нейтрализуя уязвимости, которые атака по сторонним каналам может попытаться проэксплуатировать. Видео ниже демонстрирует атаку прерывания с помощью JavaScript. Без Chrome Zero прерывания могут быть четко видны в трассировке. Включение Chrome Zero предотвращает эту микроархитектурную атаку.
Второе видео демонстрирует взаимодействие пользователей с расширением. Веб-сайт хочет получить доступ к статусу батареи. Без Chrome Zero веб-сайт имеет полный доступ к этим данным. При включенном Chrome Zero у пользователя спрашивают, разрешено ли веб-сайту получать доступ к этим данным.
Как заявили эксперты, несмотря на навязчивое поведение расширения, тесты показали минимальное влияние на производительность. Для его работы использовалось только 1,54% ресурсов, а задержка при загрузке страниц составила от 0,01064 до 0,08908 секунд – в зависимости от количества активированных функций защиты. Исследователи также заявили, что Chrome Zero может заблокировать 50% уязвимостей нулевого дня в Chrome, обнаруженных с момента выпуска Chrome 49.
Как установить Chrome Zero
Расширение еще не доступно в интернет-магазине Chrome. Пользователи могут установить его несколькими способами.
Первый способ:
- Загрузите исходный код расширения с репозитория на GitHub.
- Перейдите на страницу управления расширениями Chrome (chrome://extensions).
- Включите «Режим разработчика».
- Нажмите «Загрузить распакованное расширение».
- Выберите папку «/chromezero», содержащую исходный код.
Второй способ:
- Откройте Chrome.
- Нажмите на меню (три точки в правом верхнем углу).
- Дополнительные инструменты.
- Расширения.
- Затем просто перетащите файл расширения (chromezero.crx) на эту страницу.
После загрузки и активации расширения пользователи могут выбрать желаемый уровень защиты.