Штрих-коды распространены очень широко, сейчас сложно себе представить, что когда-то товары распространялись без них. И именно популярность привлекает внимание злоумышленников к этой системе. Как показали специалисты по информационной безопасности, штрих-коды, если говорить о всей системе, включая считывающие устройства, довольно уязвимы.
Команда исследователей из Xuanwu Lab выступила на конференции PanSec 2015 в Токио, показав несколько типов атак с использованием «отравленных» штрих-кодов. Исследователи работали с несколькими типами сканеров, и все использованные системы оказались уязвимыми — при помощи специальным образом сформированных кодов сканирующую систему можно заставить выполнять практически любые действия, включая запуск шелла и выполнение ряда прочих команд. Сама атака была названа BadBarcode.
Команда Xuanwu Lab показала также, что атака такого типа является достаточно простой, а сказать, какие модели сканеров и сканирующих систем требуют обновления для закрытия уязвимости очень сложно.
«Мы не знаем, что могут сделать плохие парни. BadBarcode может заставить систему выполнить любую команду, или даже установить троян», — говорит Янг Ю, один из участников исследования. В прошлом году Ю с командой получил $100000 от Microsoft Mitigation Bypass Bounty.
Ю сказал, что взлом сканирующих систем возможен благодаря тому, что большинство штрих-кодов содержат не только цифры и буквы, но и ASCII-символы, в зависимости от того, какой протокол используется. Сканеры штрих-кодов, в большинстве случаев, это эмулятор клавиатуры. И если сканер поддерживает протокол Code128, где используются символы ASCII, злоумышленник может создать штрих-код, который заставляет компьютерную систему сканера выполнять сторонние действия, вплоть до установки трояна.
Составленные исследователями штрих-коды приводили к выполнению таких действий компьютером, как OpenFile, SaveFile, PrintDialog. Можно и запускать браузер или другие программы.
«Мы создали несколько типов атак», — сообщил Ю. «Ключевой принцип — добавление специальных контрольных символов в штрих-код, так что считывающая система будет выполнять сторонние действия. Создать эксплоит типа BadBarcode легко. Нужно только сгенерировать соответствующий штрих код и распечатать его на бумаге», — добавил Ю.
One of the demos of our talk "BadBarcode: How to hack a starship with a piece of paper". See you in PacSec 2015. pic.twitter.com/tu8XZjegHP
— Yang Yu (@tombkeeper) 9 ноября 2015
Исправить уязвимость не так и просто, поскольку речь не идет об определенных сканерах. Уязвимости подвержена вся индустрия штрих-кодов. Команда исследователей, разработавшая «отравленные штрихкоды» после своего открытия даже не знала, к какому производителю сканеров обратиться — все они были (и есть) уязвимы.
По мнению Ю, производители не должны включать работу сканеров с ASCII по умолчанию. Плюс ко всему, необходимо отключать «горячие клавиши» для систем, которые работают со штрих-кодами.
Автор: marks