Возможности осуществления атаки на системы автоматизации с использованием уязвимостей технологии RFID
Автор: Михайлов Дмитрий Михайлович, Шептунов Александр Александрович, Зуйков Александр Васильевич, Толстая Анастасия Михайловна
Журнал: Спецтехника и связь @st-s
Статья в выпуске: 5-6, 2012 года.
Бесплатный доступ
Данная статья посвящена описанию атак, основанных на уязвимостях технологии RFID, которые могут быть направлены на системы автоматизации. RFID-технология используется в логистике при транспортировке грузов, в системах складирования для контроля за грузооборотом и т.д.
Rfid-технологии, метки, язык sql, складирование
Короткий адрес: https://sciup.org/14967127
IDR: 14967127
Текст научной статьи Возможности осуществления атаки на системы автоматизации с использованием уязвимостей технологии RFID
М ногие современные предприятия, владеющие складскими комплексами, предпочитают устанавливать специализированные аппаратно-программные системы, позволяющие автоматизировать складской учет. У руководства и административного персонала появляется возможность автоматического отслеживания каждой единицы продукции и синхронизации этих данных с системой электронного учета предприятия. Фактически все жизненно важные данные компаний концентрируются в информационных системах подобных комплексов.
В последнее время все чаще вместо традиционных штрих-кодов в системах складской автоматизации используются RFID-технологии [1]. Преимущества применения RFID очевидны: ускорение всех процессов, связанных с обработкой информации о товарах, и повышение их надежности, а также снижение доли ошибочных операций за счет их ав- томатизации и уменьшения влияния человеческого фактора.
Системы автоматизации на складах позволяют мгновенно проводить перерасчет стоимости продукции, расчет окупаемости и интегрировать процессы перечисления денежных средств за продукцию и ее отгрузку. Однако такие системы обладают рядом недостатков, которые позволяют злоумышленникам скрыто получать данные обо всей хранимой продукции и ее перемещении.
Атака выглядит следующим образом. Злоумышленник подходит к терминалу разгрузки-погрузки, подносит свою идентификационную карту к считывателю, в результате чего терминал распечатывает всю информацию о хранимом на складе товаре, о том, откуда груз приехал, а также когда и куда планируется его отгрузка. Система полностью контролируется мошенником с терминала, распечатывающего путевой лист и накладную водителю, который транспортирует товар.
Причины атаки кроятся в архитектуре подобных информационных систем. Разберем типичную систему автоматизации склада ( рис. 1 ).
При приеме груза на склад каждая единица товара помечается RFID-меткой с одновременным ее считыванием и занесением соответствующего номера метки принятого товара в складскую программу автоматизации. Автоматическая регистрация товаров также возможна при проезде погрузчика через зону действия стационарного считывателя – метки возможно считывать прямо по ходу движения.
В учетную систему склада поступает информация о том, что привезенные товары оклеены метками и готовы к размещению. В дальнейшем товар должен быть помещен на складе в соответствии с выделенным ему местом. Места хранения также могут быть помечены RFID-метками, что обеспечит автоматическую привязку размещенного товара к конкретному месту хра-

нения. Эти меры позволяют создать виртуальную карту склада, а чтение метки в этом случае дает возможность однозначно определить местоположение каждого товара.
При запросе на выдачу со склада определенного товара или при комплектации заказа складская программа автоматически формирует список требуемых объектов и мест их хранения для кладовщика. При подборе заказа считыватель сигнализирует о неверно выбранной единице, что позволяет избежать ошибок.
Автоматическая проверка правильности отгрузки, списания товара и подготовка транспортных документов на груз осуществляются при прохождении погрузчика через контрольно-пропускной пункт склада, оборудованный считывающим устройством, или в процессе продвижения товара по транспортерной ленте.
При запросе на выдачу определенного груза ответственный за это работник формирует и отправляет на терминал погрузчика список товаров, которые необходимо выдать, с указанием их расположения на складе и требуемого количества. По аналогии с предыдущими операциями, погрузчик считывает метки товаров и их места хранения перед тем, как забрать необходимые. На выходе со склада стационарные считыватели фиксируют факт того, что груз покинул склад.
Неоспоримым преимуществом использования RFID-систем на складе является существенное упрощение процесса инвентаризации. Благодаря тому, что радио-метки можно считывать на расстоянии, достаточно просто пройти по рядам со считывателем, и товар, находящийся на полках, будет зарегистрирован в системе складского учета.
Однако у подобных систем есть недостатки – их уязвимость к уже рассмотренным выше RFID-атакам [2]. В случае со складскими комплексами злоумышленники пользуются более изощренными способами осуществления атаки.
Первый прием основан на возможности использования в языке SQL (Structured Query Language – язык структурированных запросов) объединения результатов нескольких запросов при помощи оператора UNION [3].
-
1. Поставка товара
-
2. Распределение принятого товара
Груз

Ридер
Стеллажи с грузом


Погрузчик
3. Отгрузка товара

Ридер
Рис. 1. Система автоматизации складского учета
На автоматизированных площадках для погрузки/отгрузки товара предусмотрена следующая система: водитель проезжающей на складской комплекс автомашины автоматически получает из терминала чек, содержащий информацию о времени его въезда на стоянку, терминале, к которому ему следует проехать и характере груза, который необходимо забрать. В качестве пропуска на склад водитель использует RFID-карту.
Рассмотрим типичный SQL-запрос, который используется в подобных системах автоматического учета для поиска информации, необходимой для формирования чека:
SELECT terminal, goods FROM warehouse WHERE id= “requested id”;
В результате выполнения запроса будет произведено обращение к базе данных и выведена следующая информация: терминал, к которому необходимо подъехать (terminal), товар, который необходимо погрузить (car). Информация о грузе будет сформирована для конкретного водителя по его идентификатору (id).
В качестве id используется записанное в карте водителя значение (имя). Если злоумышленник передаст в качестве параметра id конструкцию
-1 UNION SELECT terminal, goods FROM warehouse WHERE id=109
это вызовет выполнение SQL-запроса
SELECT terminal, time, goods, car FROM warehouse WHERE id = -1 UNION SELECT terminal, goods FROM warehouse WHERE id=109
Так как транспорта с идентификатором -1 заведомо не существует, из таблицы warehouse не будет выбрано ни одной записи, однако в результат попадут записи, несанкционированно отобранные из таблицы склада, касающиеся интересующего злоумышленника груза для автотранспорта с идентификатором, например 109.
Приведем еще один часто используемый создателями RFID-вирусов прием. В некоторых запросах к базе данных RFID-системы используются запросы, в теле которых встречаются кавычки.
Подобные запросы имеют следующий вид:
SELECT id FROM warehouse WHERE destination = LIKE('%city%');
Они используются в транспортных RFID-системах учета для того, чтобы водитель автомашины с RFID-меткой мог автоматически получить, например, список терминалов склада, от- куда необходимо загрузить товары. Список терминалов формируется на основе записанного в RFID-метке названия места назначения (%city%). В качестве параметра %city% вписывается считанное из тега название города. Злоумышленник, внедрив в содержимое RFID-метки кавычки (которые используются в запросе), может кардинально изменить поведение SQL-запроса. Например, если записать в RFID-тег значение
')+and+(news_id_author='1
при считывании исполнится запрос
SELECT id FROM warehouse WHERE destination = LIKE('%') AND (delivery_ time='01-02-2010%')
Таким образом, злоумышленник может незаконно получить информацию о товаре, пришедшем на склад 1 февраля 2010 года. А эта информация может оказаться конфиденциальной.
Приведем последний пример. Предположим, что злоумышленник хочет получить данные обо всех товарах, хранимых на складе. Допустим, серверное программное обеспечение складской системы, получив входной параметр id , считанный с RFID-метки, формирует следующий SQL-запрос:
SELECT * FROM warehouse WHERE id = 5
Если злоумышленник запишет в RFID-метку значение
-1 OR 1=1
то выполнится запрос:
SELECT * FROM warehouse WHERE id = -1 OR 1=1
Вместо выдачи необходимой по идентифицируемому объекту информации будут выведены данные по всем объектам в базе данных, поскольку выражение 1=1 всегда истинно. То есть злоумышленнику вместо накладной только по его грузу будет предоставлена информация по всем товарам, находящимся на складе.
Складские комплексы, описанные выше, довольно широко распространены. Все чаще в качестве систем идентификации в них используется технология RFID. Внедрение технологии происходит, как правило, на скорую руку и разработчики программных модулей допускают множественные ошибки с точки зрения создания безопасного программного кода – не проверяют строковые параметры и пропускают явные уязвимости.
Одним из наиболее эффективных методов борьбы с такими атаками является обращение к профессиональным и доверенным разработчикам программного обеспечения. К сожалению, антивирусных систем, предотвращающих описанные выше атаки, не существует, так как это слишком специфическая задача, а значит, не столь выгодная для разработчиков антивирусного программного обеспечения, которые больше ориентированы на борьбу с компьютерными атаками ■
Список литературы Возможности осуществления атаки на системы автоматизации с использованием уязвимостей технологии RFID
- Стариковский А.В., Михайлов Д.М. Обеспечение безопасности бюджетных RFID-меток с использованием специального облегченного протокола аутентификации./Безопасность информационных технологий, 2010. -№ 2. -С. 46 -49.
- Жуков И.Ю., Шустова Л.И., Михайлов Д.М. Протокол аутентификации для RFID систем./Проблемы информационной безопасности. Компьютерные системы, 2009. -№ 3. -С. 41 -45.
- Федорук В.Г. Основы языка SQL./Московский Государственный Технический Университет имени Н.Э.Баумана. URL: http://rk6.bmstu.ru/electronic_book/iosapr/sql/sql_tutor.html.