Xakep #305. Многошаговые SQL-инъекции
Исследователи продемонстрировали новую атаку, которая позволяет распознавать нажатые пользователем клавиши, даже если вокруг довольно шумно.
Эксперты из Университета Огасты (США) опубликовали технический документ, в котором подробно описали созданную ими side-channel атаку. Хотя эффективность этого метода в среднем составляет 43% (что значительно ниже, чем у других похожих атак), в данном случае потенциальному злоумышленнику не требуется создавать контролируемые условия для записи аудио, и он не привязан к конкретной платформе в вопросе набора текста.
Атака строится на использовании характерных звуков, издаваемых клавишами при нажатии, и паттернов набора текста, присущих каждому пользователю, которые фиксируются специализированным ПО для сбора датасетов. То есть перед проведением атаки важно собрать несколько аудиообразцов набора текста, чтобы можно было соотнести конкретные нажатия клавиш со звуковыми колебаниями.
В статье исследователей подробно рассматриваются возможные методы перехвата набора текста, но также отмечается, что это можно осуществить с помощью малвари, вредоносных сайтов и расширений для браузеров, взломанных приложений, XSS или даже заранее взломанных USB-клавиатур.
Сам исследователи предлагают записывать звуки, сопровождающие набор текста, с помощью скрытого микрофона, расположенного рядом с целевой машиной, или удаленно — с помощью взломанных устройств, находящихся поблизости (например, смартфонов, ноутбуков или умных колонок).
Полученный в результате набор данных не обязательно должен быть большим, но лучше записать звук клавиш в разных условиях, так как это помогает атаке стать эффективнее. К примеру, даже отклонение в 5% для статистической модели имеет решающее значение, поскольку набор текста немного меняется каждый раз, даже если человек дважды набирает одно и то же слово.
Так, совпадением может считаться любой зафиксированный интервал между словами A и B, который находится в диапазоне от 95 миллисекунд (100 — 5%) до 105 миллисекунд (100 + 5%). Также отклонения помогают смягчить влияние возможных ошибок или шумов на записи.
В итоге атака позволяет распознать набранный текст, анализируя аудиозаписи нажатий клавиш, и точность дополнительно повышается за счет фильтрации прогнозов с помощью английского словаря.
По словам авторов, отличие этой атаки от других похожих методов заключается в том, что она позволяет достичь точности в 43% (в среднем), даже если:
- запись содержит окружающие шумы;
- записанные аудиосеансы набора текста для одной и той же цели проводились на разных моделях клавиатур;
- записи были сделаны с помощью микрофона низкого качества;
- испытуемый использовал любой стиль набора текста.
Однако у этого этой атаки есть и ограничения, которые порой делают ее менее эффективной. Например, трудно определить, что именно пишет человек, который редко пользуется компьютером и не имеет собственного стиля набора текста. Также сложно разобрать, что пишут профессионалы, которые печатают очень быстро.
Так, при тестировании 20 испытуемых был получен широкий диапазон успешных результатов (от 15% до 85%), причем некоторые испытуемые оказались гораздо более предсказуемыми, чем другие.
Также исследователи отмечают, что при использовании бесшумных клавиатур может снижаться эффективность обучения предсказательной модели, а в результате уменьшится и эффективность распознавания нажатий.