Написать пост

В JS-движке V8 обнаружена критическая уязвимость HashWick

Аватар Екатерина Никитина

Злоумышленник может использовать уязвимость HashWick для DoS-атаки на сервер либо, в худшем случае, получить доступ к самой системе и ее данным.

Node.js-разработчик Федор Индутный опубликовал в своем блоге статью, раскрывающую подробности уязвимости HashWick, которая затрагивает все текущие версии V8. Он выяснил, как можно получить seed-значение используемой движком хеш-функции, чтобы провести DoS-атаку на сервер либо, в худшем случае, получить доступ к системе и ее данным.

Специалист отправил информацию об уязвимости разработчикам движка в мае 2018 года и опубликовал статью по прошествии 90 дней с того момента. Как отметила в своем блоге команда Node.js, патча пока нет, но его можно ожидать в течение следующих нескольких недель.

Подробнее об уязвимости

HashWick основана на трех ключевых понятиях:

  • хеш-функции и хеш-таблицы;
  • flood-атаки (отправка большого количества пакетов с целью заблокировать пропускной канал);
  • атаки по времени (тайминг-атаки — сбор и анализ данных о промежутках времени, необходимых на выполнение той или иной операции).

Опытным путем Индутный определил, что отправки 2 ГБ данных на Node.js-сервер хватит для сбора достаточного количества информации, чтобы методом обратной разработки восстановить seed-значение хеш-функции.

Защита

Хотя патча пока нет, Node.js-разработчики могут принять меры, которые если не защитят сервисы от подобной атаки, то максимально усложнят злоумышленнику задачу:

  • установить ограничение по скорости;
  • установить ограничение на объем входных данных;
  • использовать стандартные подходы к балансировке нагрузки.

Что касается патча для V8, сам Индутный предлагает как минимум увеличить размер seed-значения с 32 до 64 бит, а также перейти на использование более надежных хеш-функций — к примеру, на SipHash.

Незадолго до этого группа немецких ученых обнаружила в модулях Node.js 25 новых уязвимостей, открывающих сервисы для ReDos-атаки. Она эксплуатирует недостатки производительности кода при работе с регулярными выражениями и может «заморозить» сервер на период от нескольких секунд до минуты.

Следите за новыми постами
Следите за новыми постами по любимым темам
1К открытий1К показов