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

В настоящее время существует одиннадцать основных типов атак по сторонним каналам, которые могут выполняться с помощью кода JavaScript, запущенного в браузере. Для каждой атаки необходим доступ к различным локальным данным и перед тем, как атаковать злоумышленники используют код JavaScript для хищения, восстановления и сбора необходимой информации.

 

После изучения каждого типа атак, исследователи идентифицировали пять основных категорий данных/функций, которые эксплуатируются в ходе атак по сторонним каналам: JS-восстанавливаемые адреса памяти, информация о точном времени, поддержка многопоточности браузера, данные, разделяемые между потоками кода JS, а также данные с датчиков устройства.

 

Расширение Chrome Zero работает перехватывая код JavaScript, который браузер Chrome выполняет, и переписывает определенные функции, свойства и объекты JavaScript в оболочке, нейтрализуя уязвимости, которые атака по сторонним каналам может попытаться проэксплуатировать. Видео ниже демонстрирует атаку прерывания с помощью JavaScript. Без Chrome Zero прерывания могут быть четко видны в трассировке. Включение Chrome Zero предотвращает эту микроархитектурную атаку.

 

 

Второе видео демонстрирует взаимодействие пользователей с расширением. Веб-сайт хочет получить доступ к статусу батареи. Без Chrome Zero веб-сайт имеет полный доступ к этим данным. При включенном Chrome Zero у пользователя спрашивают, разрешено ли веб-сайту получать доступ к этим данным.

 

Демо-версия батареи API

 

Как заявили эксперты, несмотря на навязчивое поведение расширения, тесты показали минимальное влияние на производительность. Для его работы использовалось только 1,54% ресурсов, а задержка при загрузке страниц составила от 0,01064 до 0,08908 секунд – в зависимости от количества активированных функций защиты. Исследователи также заявили, что Chrome Zero может заблокировать 50% уязвимостей нулевого дня в Chrome, обнаруженных с момента выпуска Chrome 49.

 

Как установить Chrome Zero

Расширение еще не доступно в интернет-магазине Chrome. Пользователи могут установить его несколькими способами.

 

Первый способ:

 

  • Загрузите исходный код расширения с репозитория на GitHub.
  • Перейдите на страницу управления расширениями Chrome (chrome://extensions).
  • Включите «Режим разработчика».
  • Нажмите «Загрузить распакованное расширение».
  • Выберите папку «/chromezero», содержащую исходный код.

 

Второй способ:

  • Откройте Chrome.
  • Нажмите на меню (три точки в правом верхнем углу).
  • Дополнительные инструменты.
  • Расширения.
  • Затем просто перетащите файл расширения (chromezero.crx) на эту страницу.

 

После загрузки и активации расширения пользователи могут выбрать желаемый уровень защиты.

 

 

По материалам www.securitylab.ru