Возможности осуществления атаки на системы автоматизации с использованием уязвимостей технологии 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.
Статья научная