Научная статья на тему 'Исследование возможных атак на системы умного дома с использованием электронных ключей и способы защиты от них'

Исследование возможных атак на системы умного дома с использованием электронных ключей и способы защиты от них Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
313
113
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЛЕКТРОННЫЙ КЛЮЧ / ТЕХНОЛОГИЯ RFID / МЕТКА / РАЗГРАНИЧЕНИЕ ДОСТУПА / ELECTRONIC KEY / RFID-TECHNOLOGY / TAG / ACCESS AREA PARTITION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Стариковский Андрей Викторович, Жуков Игорь Юрьевич, Михайлов Дмитрий Михайлович, Зуйков Александр Васильевич, Толстая Анастасия Михайловна

Данная статья посвящена описанию возможных атак на системы автоматизированного управления зданием с использованием электронных ключей. Электронные ключи позволяют обеспечить разграничение доступа в различные помещения здания. Для реализации атаки злоумышленник использует уязвимости RFID -технологии, на которой построена работа электронных ключей. Уязвимые места технологии содержатся в компьютерной системе.ELECTRONIC KEY, RFID TECHNOLOGY, TAG, ACCESS AREA PARTITION.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Стариковский Андрей Викторович, Жуков Игорь Юрьевич, Михайлов Дмитрий Михайлович, Зуйков Александр Васильевич, Толстая Анастасия Михайловна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Исследование возможных атак на системы умного дома с использованием электронных ключей и способы защиты от них»

СТАРИКОВСКИЙ1 Андрей Викторович

ЖУКОВ2 Игорь Юрьевич, доктор технических наук, профессор МИХАЙЛОВ3 Дмитрий Михайлович кандидат технических наук ЗУЙКОВ4 Александр Васильевич ТОЛСТАЯ5 Анастасия Михайловна

ИССЛЕДОВАНИЕ ВОЗМОЖНЫХ АТАК НА СИСТЕМЫ УМНОГО ДОМА С ИСПОЛЬЗОВАНИЕМ ЭЛЕКТРОННЫХ КЛЮЧЕЙ И СПОСОБЫ ЗАЩИТЫ ОТ НИХ

Данная статья, посвящена описанию возможных атак на системы, автоматизированного управления зданием, с использованием электронных ключей. Электронные ключи позволяют обеспечить разграничение доступа в различные помещения здания. Для. реализации атаки злоумышленник использует, уязвимости RFID-технологии, на которой построена работа электронных ключей. Уязвимые места технологии содержатся, в компьютерной системе. Ключевые слова: электронный ключ, технология. RFID, метка, разграничение доступа.

This article is devoted to description of possible attacks on the automated, building management systems by means of electronic keys. Electronic keys provide access area partition in the building. To make an attack an intruder uses vulnerabilities of RFID-technology on which the work of electronic keys is based.. The computer system, contains vulnerabilities of RFID-technology. Keywords: electronic key, RFID-technology, tag, access area partition.

Современные дома все больше напоминают большие компьютеры. Системы видеонаблюдения, датчики охраны и задымления, системы контроля доступа, электронные замки, ме-диасистемы — все это уже установлено в большинстве современных автоматизированных зданий [1, 2]. Особое значение в таких зданиях имеет система обеспечения контроля входа/выхода посетителей и сотрудников. Долгое время в качестве подобных систем использовались магнитные брел-ки. Но системы на «магнитной технологии» были крайне непрактичны, так как фактически позволяли без особых проблем получить доступ в здание практически любому человеку [3]. Для этого необходимо было просто скопировать ключ. А так как идентификаторы всех ключей идентичны, то получить

полную информацию о том, кто, когда и как вошел в здание, а также, чей ключ был скопирован, не представлялось возможным. Такие системы защищали, пожалуй, только от случайных гостей. В связи с этим сегодня широкое распространение в системах автоматизации зданий приобретают электронные ключи. Электронные ключи или, как их еще называют, ключи второго поколения — это брелоки или пластиковые карточки, которые необходимо приложить к специальному электронному замку для его открытия. Подобные ключи, как правило, уникальны для каждого, кто имеет допуск в здание. Система, построенная на использовании подобных ключей, позволяет вести учет того, кто и когда входил или выходил из помещения. Помимо реализации допуска в само здание, система электронных ключей

обеспечивает разграничение доступа в различные помещения и отдельные-комнаты.

В отличие от магнитных ключей, в которых хранится лишь постоянный идентификационный номер, электронные ключи построены на базе технологии RFID и обладают расширенным функционалом.

RFID (Radio Frequency Identification

— радиочастотная идентификация)

— это технология бесконтактной автоматической идентификации объектов при помощи радиочастотного канала связи. По своим функциональным возможностям RFID-техно-логия очень близка к используемой в настоящее время технологии штрих-кодов. Тем не менее данная технология имеет существенные преимущества [4].

1 — ФГУП «ЦНИИ ЭИСУ», зам. начальника отдела;2 — ФГУП «ЦНИИ ЭИСУ», зам. генерального директора;

3 - НИЯУ «МИФИ», доцент;4 - НИЯУ «МИФИ», аспирант;5 - НИЯУ «МИФИ», студентка.

[ЛЕД

Технология ЯРГО позволяет удаленно идентифицировать объект с помощью портативного устройства (считывателя), если на объект помещена специальная метка. В метке хранится информация об этом объекте. За одну секунду возможно идентифицировать большое количество объектов. Информацию в метке можно перезаписывать. Если на базе технологии ЯРЮ строится система допуска в здание, то администратор системы имеет гибкий механизм изменения алгоритма доступа в здание, а также в отдельные его помещения [4]. Пропуска (метки) обычно исполняются в виде белых пластиковых карт, черных брелоков или браслетов. Несмотря на все преимущества таких ключей, системы на базе подобных электронных систем могут быть достаточно уязвимы. Существует вероятность того, что пропуск в здание или в секретное помещение может получить посторонний человек, обманув всю систему, используя уязвимости технологии ЯРЮ. Прежде чем пояснить, как злоумышленнику удается реализовать подобную атаку, уделим немного внимания стандартной архитектуре ЯРГО-систем [5]. ЯРШ-система представляет собой совокупность следующих компонент:

♦ ЯРШ-метка;

♦ ЯРШ-антенна;

♦ ЯРШ-считыватель;

♦ компьютерная система обработки данных.

В приведенной на рис. 1 схеме особое внимание стоит уделить компьютерной системе. Фактически это система, обрабатывающая данные с ЯРГО-ме-ток, ведущая учет идентифицируемых объектов и служащая для хранения

данных об объектах учета, а также реализующая алгоритмы разделения доступа. Обычно компьютерная система состоит из базы данных, программного модуля обработки информации с RFID-меток и системы управления базой данных. Именно в компьютерной системе содержатся уязвимые места, которые позволяют злоумышленникам реализовывать атаки с использованием электронных ключей. Пусть злоумышленник является рядовым служащим, карточка которого запрограммирована таким образом, чтобы разрешать ему доступ только в собственный кабинет, и исключает возможность прохода, например, на склад, где хранится ценная аппаратура. Обычно на карточке такого сотрудника записывается его уникальный идентификатор. Но сотрудник может изменить данные на карточке таким образом, чтобы разрешить себе проход на территорию склада.

Для этого необходимы всего лишь две вещи — RFID-считыватель с возможностью перезаписи данных на метках и знание простого языка запросов к базам данных — SQL. SQL-запрос — это некоторая строка, написанная на специальном языке программирования, позволяющая производить манипуляции с базой данных: вносить и удалять

информацию, а также видоизменять ее [6]. Так, например, база данных программного комплекса, контролирующего доступ в здание, может выглядеть так, как показано в табл. 1. В базе хранятся идентификаторы сотрудников (Id), их имена (Name), фамилии (Surname), департамент, где они работают (Department), а также разрешение к доступу на склад (Warehouse). SQL-запросы к данной базе данных выглядят следующим образом:

SELECT name FROM database WHERE id =101;

INSERT INTO database (surname) VALUES (Azarov);

UPDATE database SET name=Petrov WHERE id=180;

При исполнении первого запроса система ищет имя сотрудника (name) из базы данных database, где идентификатор сотрудника 101. Второй запрос позволяет внести нового сотрудника с фамилией Azarov в базу данных. Третий запрос позволяет изменить фамилию сотрудника с идентификатором 180 c Morozov на Petrov. Однако подобная система уязвима. Так, например, для удобства разработки запросов существует конструкция, именуемая «экранирование». То есть,

Таблица 1. База данных программного комплекса, контролирующего доступ в здание

Id Name Surname Department Warehouse

101 Ivan Osipov R&D No

180 Anton Morozov Head office Yes

200 Sergey Azarov Certification No

Тэг

RFID антенна

RFID считыватель

Компьютер

Рис. 1. Схема стандартной RFID-системы

если программист поставит символ /* в запросе, то оставшаяся часть запроса не будет исполнена. Этот механизм был предусмотрен для удобства написания комментариев к коду, чтобы разработчики могли создавать хорошо документированные программные коды. Однако, используя именно этот механизм, злоумышленники имеют возможность видоизменять логику работы системы RFID-контроля доступом. Предположим, логика системы доступа построена следующим образом. Когда сотрудник прикасается к считывателю у двери, с метки считывает-ся идентификатор (request_id). Этот идентификатор специальным программным модулем обработки данных подставляется в запрос следующего вида:

SELECT name FROM database WHERE id = requested id AND warehouse=YES;

То есть, если только что нанятый работник компании, например, Осипов И., постарается войти на склад, то из базы данных не считается его имя, так как в условиях поиска установлен параметр «NO». Если программный модуль от базы данных с ответом на запрос не получит имя, то есть ответ придет пустым, то в доступе на склад будет отказано.

А теперь представим, что Осипов И. — злоумышленник. Пусть он в свою карточку записал вместо идентификатора 101 следующую строчку:

101; /*

Программный модуль, считав такую

строчку, сформирует следующий запрос:

SELECT name FROM database WHERE id = 101;/* AND warehouse=YES;

То есть все, что находится после знака /*, в изначальном запросе выполнено не будет. Это означает, что Осипов И. будет пропущен на склад, ведь никакой проверки на его возможность доступа на склад проводиться не будет. Злоумышленник, помимо того, что может сам пройти на склад, также способен провести туда сколько угодно сообщников. Для этого ему необходимо еще немного видоизменить запрос. Так на вход в здание (не на склад) запрос считывателя выглядит проще:

SELECT name FROM database WHERE id = requested id;

Для разделения команд в языке SQL используется символ «;» (точка с запятой). Внедряя этот символ в запрос, злоумышленник получает возможность выполнить несколько команд в одном запросе.

В данном случае злоумышленник может поместить в метку следующее значение:

101;INSERT INTO warehouse (id, name, surname, department, warehouse) VALUE (1,Hacker,Hacker,Pirates,YES);

По логике программного средства, работающего с RFID-считывателем, в результате подстановки значения, считанного из тега, должен быть выполнен запрос типа:

SELECT name FROM database WHERE id = requested id;

Но на практике получится следующее:

SELECT name FROM database WHERE id = requested id;

INSERT INTO warehouse (id, name, surname, department, warehouse) VALUE (1,Hacker,Hacker,Pirates,YES);

Таким образом, в таблицу администраторов будет добавлена незапланированная создателями системы посторонняя запись, в результате чего злоумышленник сможет беспрепятственно обеспечить доступ в здание и на склад сразу группе посторонних лиц.

Защититься от подобной атаки не сложно. Для этого требуется уделить особое внимание разработке системы обработки данных с меток. Во-первых, необходимо проверять то, что передается с метки на считыватель. То есть, если подразумевается, что на метке хранится исключительно идентификатор, то необходимо программно проверять то, что этот идентификатор не превышает допустимого значения и действительно является числом.

Во-вторых, многие базы данных имеют встроенные системы защиты от выполнения сразу нескольких запросов за одну транзакцию. Это повышает защищенность системы. Но программисты обычно не пишут дополнительные проверки и не конфигурируют базы данных так, чтобы исключить возможность исполнения второго несанкционированного запроса

Литература

1. Кусакин И.И. Программно-аппаратный комплекс автоматизированного контроля целостности инфраструктуры жилых помещений для. социального обеспечения. XV Международная, телекоммуникационная, конференция молодых ученых и студентов «Молодежь и наука»./ Тезисы, докладов. В 3-х частях. Ч.3. — М.: НИЯУМИФИ, 2012. — С. 156 — 157.

2. Стариковский А.В., Жуков И.Ю., Михайлов Д.М., Толстая А.М., Жорин Ф.В., Макаров В.В., Вавренюк А.Б. Исследование уязвимостей систем, умного дома./ Спецтехника и связь, 2012. — № 2. — С. 55 — 57.

3. Ворона В.А., Тихонов В.А. Системы, контроля и управления доступом.. — М.: Горячая линия — Телеком, 2010. — 272 с.: ил.

4. Стариковский А.В., Жуков И.Ю., Михайлов Д.М. Усовершенствованный протокол аутентификации бюджетных RFID-меток./ Спецтехника и связь, 2012. — № 1. — С. 25 — 27.

5. Маниш Бхуптани, Шахрам. Морадпур. RFID-технологии на службе вашего бизнеса (RFID Field. Guide: Deploying Radio Frequency Identification. Systems./ Троицкий Н. — М.: Альпина Паблишер, 2007. — 290 с.

6. Алекс Кригель, Борис Трухнов. SQL. Библия пользователя. Язык запросов SQL. 2-е издание (SQL Bible, 2nd edition). — М.: Диалектика, 2009. — 752 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.