Группа исследователей из Xuanwu Lab продемонстрировала в Токио, на конференции PanSec весьма необычный вектор атак. Исследователи предложили атаковать различные системы через сканеры штриходов. Дело в том, что сканеры, по сути, выступают неким аналогом клавиатуры, то есть поддерживают цифры, буквы и даже ASCII-символы, если используется протокол вроде Code128. Если «скормить» такому устройству созданный определенным образом штрихкод, можно добиться многого.
Один из исследователей команды Xuanwu Lab — Янг Ю (Yang Yu) опубликовал в своем Twitter несколько видео, с примерами эксплуатации уязвимости. Один из роликов, к примеру, демонстрирует, как обычный посадочный талон может быть использован для взлома компьютеров аэропорта, ведь сканеры штрихкодов используются не только в магазинах:
Исследователи назвали данный тип атак BadBarcode и отметили, что он очень прост в использовании. Хотя деталей команда пока не раскрывает, известно, что в ходе разработки данного вектора атак, группа работала с самыми разными моделями сканеров (в частности, с устройствами компаний Esky, Symbol, Honeywell и TaoTronics), но все они оказались уязвимы. При помощи вредоносных штрихкодов сканер можно заставить сделать практически все, включив в штрихкод не только буквы и цифры от 0 до 9, но и другие символы. В итоге сканер, фактически, исполняющий в системе функции клавиатуры, способен «напечатать» любую заложенную злоумышленниками в штрихкод команду, и даже воспользоваться «горячими клавишами», если такая возможность не отключена (чаще всего, нет). Можно просто открыть браузер, можно запустить программу, запустить шелл, установить в систему малварь, злоумышленник ограничен только собственной фантазией. Понадобится лишь сгенерировать нужный штрихкод и его распечатать. Или не печатать, к примеру, один из твитов Ю демонстрирует атаку с применением Amazon Kindle, на экран которого выводятся штрихкоды:
«Сканеры модели, которая использована в демо с посадочным талоном, широко используются в аэропортах по всему миру. Но BadBarcode это не уязвимость в каком-то конкретном продукте, эта проблема затрагивает вообще все отрасли, где используются сканеры штрихкодов».
Исправить данную уязвимость будет очень непросто. Даже сами исследователи не знают, какого рода патч здесь нужен: стоит ли производителям сканеров патчить свои устройства, или исправления стоит выпускать сразу для конечных систем, с которыми работают сканеры. В одном исследователи уверены точно: производителям определенно стоит отключать поддержку ASCII-символов, а в системах, работающих со сканерами, не должно быть поддержки «горячих клавиш».