Анализ уязвимостей технологий автоматизации умного дома

БЕЛЬТОВ1 Андрей Георгиевич, кандидат технических наук, доцент НОВИЦКИЙ2 Анатолий Викторович КОНЕВ3 Владимир Николаевич ФОМИН4 Максим Игоревич ЕВСЕЕВ5 Владимир Леонович, кандидат технических наук ФЕСЕНКО6 Станислав Дмитриевич

АНАЛИЗ УЯЗВИМОСТЕЙ ТЕХНОЛОГИЙ АВТОМАТИЗАЦИИ УМНОГО ДОМА

Данная статья, посвящена анализу уязвимостей технологий автоматизации зданий. Безопасность стандартов автоматизации рассматривается на базе наиболее важных параметров для. систем, умного дома. В статье описываются, как физические методы, защиты, витой пары, так и. способы защиты, систем, автоматизации на базе специальных криптографических надстроек над современными системами автоматизации зданий. Ключевые слова: KNX, LonWorks, BACnet, стандарт, автоматизации, безопасность.

This article deals with vulnerability analysis of the technologies of the building automation. Safety of automation, standards is analyzed, on the basis of the most important parameter for digital home systems. The article describes physical methods of twisted, pair cable protection as well as methods of automation systems protection based of special cryptographic superstructures over the modern systems of digital homes.

Keywords: KNX, LonWorks, BACnet, automation standard, safety.

Системы умного дома или автоматизированного здания охватывают почти все области жизнедеятельности человека. Присутствуют системы автоматизации и на важных промышленных объектах: атомных станциях, нефтеперерабатывающих заводах, газопроводах. Автоматизированные системы управления (АСУ) предназначены для управления и мониторинга различных элементов автоматики. Они включают в себя управление электропитанием, сигнализацией, освещением, видеонаблюдением, системами кондиционирования, подачей тепла и т.д. АСУ обеспечивают защиту от несанкционированного вторжения на территорию здания или открытые территории благодаря системам контроля доступа.

Однако сами системы автоматизации нуждаются в информационной безопасности. Существует ряд базовых правил:

♦ разделить сеть Интернет и сети умного дома;

♦ отключить от управления автоматизированной системой жизненно важные функции здания;

♦ не устанавливать такие небезопасные функции, как, например, управление по SMS и т.д.

При этом даже отвечающие базовым правилам автоматизированные системы нельзя назвать безопасными [1]. Все дело в слабом уровне защиты самих технологий автоматизации. Систем автоматизации существует достаточно много: KNX, LonWorks,

BACnet и др. Технология KNX является одним из наиболее характерных представителей так называемых шинных технологий [2]. Условно всю АСУ, построенную по технологии KNX, можно поделить по функциональному назначению на следующие компоненты. Л Источник питания На шине KNX используются специальные источники питания для слаботочных устройств и поддержания потенциала на шине.

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

1 - ФГУП «ЦНИИ ЭИСУ», генеральный директор;2 - ФГУП «ЦНИИ ЭИСУ», директор центра;3 - НИЯУ «МИФИ», аспирант;

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

Таблица 1. Сравнение сетевых стандартов

Аутентификация Целостность Конфиденциальность

KNX 32-бит пароль - -

LonWorks 64-бит MAC 48-бит ключ 64-бит MAC 48-бит ключ -

BACnet DES DES DES

информацию о температуре в помещении.

Важным классом подобных устройств являются датчики движения, передающие сигналы при обнаружении перемещения людей в здании. Сенсоры подключаются к специальной шине КЫХ через шинный соединитель и передают преобразованную входную информацию в сеть с помощью датаграмм. Кроме того, к шине КЫХ могут быть подключены специальные входные устройства, которые позволяют осуществить подключение к ним любых типов сенсоров. Входные устройства преобразуют физические воздействия с сенсоров в датаграммы. При этом за формирование датаграмм отвечают не сами сенсоры, а входные устройства. Активаторы - выходные устройства Выходные устройства системы КЫХ различаются по коммутируемой мощности и способу управления нагрузкой. Простейшие активаторы могут только включать и выключать нагрузку. Более сложные устройства способны регулировать ток, отдаваемый в нагрузку. Такие активаторы могут регулировать яркость любого типа ламп [3]. Отдельную группу активаторов составляют устройства, управляющие, например, жалюзи.

14 Устройства объединения линий и сегментов.

Система КЫХ по своей архитектуре подразумевает, что устройства подключаются к так называемой витой паре — линии, по которой идет обмен сообщениями (датаграммами) между устройствами.

Для объединения нескольких линий в сегмент, а затем сегментов в систему КЫХ, используются устройства, называемые линейными и сегментными соединителями. Основная задача этих устройств — гальваническое разделение линий и сегментов, т.е. короткое замыкание в линии выведет из строя только эту линию, в то время как остальные будут защищены от повреждения. Кроме этого, соединители хранят таблицу адресов и выполняют функцию фильтров при обмене информацией между компонентами системы.

15 Устройства связи с другими информационными системами и сетями.

Система КЫХ может работать самостоятельно, без связи с компьютером.

Однако для программирования компонентов системы необходимо подключение к вычислительной машине. Такое подключение осуществляется через интерфейс RS-232 или USB. Система KNX имеет иерархическую структуру. Нижним звеном системы является линия. В простейшей конфигурации линия состоит из источника питания с дросселем, сенсора и активатора.

Схожими в работе со стандартом KNX являются стандарты LonWorks и BACnet.

LonWorks — это программно-аппаратная сетевая платформа компании Echelon Corporation, которая используется для осуществления управления системами специального назначения: железнодорожных станций и путей, аэропортов, а также мест большого скопления людей [4]. BACnet (Building Automation and Control network) — это специализированный сетевой протокол, который применяется в системах автоматизации зданий [5].

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

♦ проверка целостности датаграмм;

♦ проверка достоверности источника;

♦ проверка принимающей стороны (конфиденциальность).

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

Как уже говорилось, KNX не разрабатывался для работы с повышенной безопасностью. Единственный защитный механизм в KNX — это предотвращение неавторизированного доступа к управляющим службам. Но ввиду того, что в KNX используются только текстовые пароли, этот механизм предоставляет только ограниченную безопасность.

Пригодность LonWorks для работы с повышенной безопасностью также ограничена. LonWorks поддерживает четырехшаговый «оклик-отзыв» — механизм для подтверждения идентификатора отправителя и целостности данных. Этот механизм основан на хеш-функции, с помощью которой шифруется 64-битный MAC-код (Message Authentication Code) на 48-битном секретном ключе [6]. Из-за малой длины ключа функцию можно признать «слабой».

Особенности безопасности BACnet более широки. BACnet предоставляет службы как аутентификации и целостности данных, так и службы, гарантирующие достоверность данных. Для этого BACnet использует симметричный алгоритм шифрования DES (Data Encryption Standard). Управление ключами производится центральным ключевым сервером. К сожалению, алго-

!ЛЕД

Улучшенный разветвитель (ACU) Состоит из двух блоков:

- Разветвитель

- Ключевой сервер

Устройствдовдавления беЗьцасностыо

Рис. 1. Схема защищенного исполнения KNX сети

ритм DES уже не является безопасным. В сети Интернет приводятся открытые работы, посвященные взлому данного алгоритма [7].

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

Применение хорошо зарекомендовавших себя в IT-сфере механизмов, например, SSL (Secure Socket Layers — уровень защищенных сокетов) / TLS (Transport Layer Security — безопасность транспортного уровня) или VPN (Virtual Private Network — виртуальная частная сеть), невозможно из-за ограниченности ресурсов

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

Помимо уже обозначенных физических методов защиты витой пары, можно рассмотреть способы защиты систем автоматизации на базе специальных криптографических надстроек над современными системами умного дома.

Рассмотрим способ защиты системы автоматизации здания на базе уже представленной системы KNX (рис. 1). Протокол KNX выбран не случайно: именно с помощью этого протокола легче всего внедрить дополнительные надстройки стандартной конфигурации для того, чтобы выполнить указанные требования к безопасности системы автоматизации. Во многом это обеспечивается форматом фрейма KNX, который может быть использован для передачи зашифрованных сообщений. При этом не будет требоваться внесение изменений в стандартные устройства ^Х.

Основа защищенного исполнения систем KNX может строиться только на замене разветвителей, которые могут быть спроектированы с реализацией ряда защищенных функций, в частности, по управлению ключами (генерация, раздача, аннулирование и ограничение времени жизни ключей).

• AES 128 Шифрование

• Основан на Secure Network Encryption Protocol (SNEP) и Secure ЕШ (SEIB) протоколах

Ключ

Обычный режим I

6 7 8 21 AES

TCF ACF Пользовательские данные 128

Зашифрованные данные

ACF: Application Control Field TCF: Transport Control Field

Источники:

Perrig, Szewczyk, Tygar, Wen, Culler, «SNEP», MobiCom2001 Westermeir, Werthschulte, Schneider, «SEIB», EIB Event 2001

Рис. 2. Схема реализации AES-шифрования

Преимущество такого подхода заключается в том, что разветвитель отвечает за некий сегмент сети, в котором работает несколько устройств. Защищенный разветвитель также будет отвечать только за свой сегмент, при этом он будет хранить секретные ключи для каждого из устройств. У такого подхода есть несколько преимуществ. Во-первых, в случае атаки или выхода из строя одного разветви-теля перестанет работать только тот сегмент, за который он был ответственен. Во-вторых, такая система может помочь свести к минимуму последствия DoS-атаки (Denial of Service — отказ в обслуживании). Если разветвитель подвергся DoS-атаке в своем сетевом сегменте, то он может изолировать этот сегмент и заблокировать доступ злоумышленника к остальной части сети [8].

Чтобы понять логику работы развет-вителя, обратимся сначала к алгоритму шифрования. Для большинства совместимых KNX-устройств асси-метричные методы шифрования не могут быть использованы из-за ограниченной процессорной мощности и емкости памяти во встроенных контроллерах. Из симметричных алгоритмов шифрования следует выбрать алгоритм AES (Advanced Encryption Standard) (рис. 2), так как DES-алго-ритм не является защищенным [9]. Конечно, симметричность использования алгоритма подразумевает, что базовая часть ключа должна быть введена во все устройства каждого сегмента сети. Это необходимое условие является, пожалуй, одним из немногих минусов предлагаемого подхода. Также следует предусмотреть два режима защиты данных:

♦ для передачи пользовательских данных;

♦ для передачи управляющих команд.

Дело в том, что при передаче пользовательских данных достаточно удовлетворять требованиям защиты целостности данных, а также обеспечения их достоверности (например, этого можно добиться, добавив счетчик и Message Authentication Code (MAC)). При передаче управляющих команд нужно обеспечить защиту от пересылки перехваченных сообщений. Для этого необходимо обеспечить отличие каждого сообщения в случае широковещательной рассылки, что становится возможным при использовании 128-разрядного счетчика. Операция XOR над выходными данными с 128-разрядняого счетчика после операции XOR с данными датаграммы позволяет гарантировать уникальность каждого сообщения (рис. 3).

Рассмотрим, как при подобном подходе будет выглядеть защита группового соединения. Если устройство хочет присоединиться к защищенному групповому соединению, оно может получить соответствующий групповой ключ у защищенного разветвителя. Каждое групповое соединение привязано к защищенному разветвителю, который вычисляет групповой ключ и начальное значение группового счетчика, используя случайно полученный групповой основной ключ. Для примера допустим (рис. 4), что устройство А хочет присоединиться к группе Г. Для того чтобы получить групповой ключ и начальное состояние группового счетчика, А посылает своему защищенному разветвителю A_Join_Group_Request сообщение. Это сообщение содержит адрес группы Г, время N1 и время Ы*А. После получения этого сообщения разветви-тель дополнительно проверяет, может

Режим счетчика

6 7 8 ... 17 18 21

TCF ACF Пользовательские данные CRC подпись

Счетчик

Ф

Ключ

А.

AES 128

Зашифрованные данные

Рис. 3. Схема реализации режима счетчика

AJoinGroupRequest

< A_Join_Group_Response_{High, Low}

и <Ц & ¡D

и <3

о A_Group_Resync_Response_ {High, Low}

Групповой основной ключ: - Групповой ключ - Групповой счетчик

Рис. 4. Схема обеспечения надежного шифрования в сети KNX

ли это устройство присоединиться к группе или нет. Если устройство допущено, то разветвитель посылает А групповой ключ. Затем устройство А

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

щения зашифровываются с помощью динамического узлового ключа, который вычисляется из Ы*Л и базового ключа А. Для предотвращения атак-пересылок время N1 также включается во все четыре сообщения. После получения этих двух величин, А может зашифровывать и расшифровывать групповые сообщения в режиме счетчика.

Если текущее значение группового счетчика устройства теряет синхронизацию с группой, устройство может получить текущее значение счетчика с помощью сообщения Л_Сгоир_ Ке8упс_Кедие81;.

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

Литература

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

2. Д. Дитрих, В. Кастнер, Т. Саутер, О. Низамутдинов. EIB — Система автоматизации зданий./ Пер. с нем.. — Под ред. О.Б. Низамутдинова, М.В. Гордеева. — Пермь: ПермГТУ, 2001. — 378 с.

3. Wolfgang Granzer, Wolfgang Kastner, Georg Neugschwandtner and Fritz Praus — Security in Networked Building Automation. Systems. Master's thesis, 2005.

4. Дитмар Дитрих, Дитмар Лой, Ганс Юрген Швайнцер. LON — технология: построение распределенных приложений. / Пер. с нем.. — Под ред. О.Б. Низамутдинова. — Пермь: Звезда, 1999. — 424 с.

5. BACnet International. URL: http://www.bacnetinternational.org.

6. Словарь криптографических терминов./ Под ред. Б.А. Погорелова и В.Н. Сачкова. — М.: МЦНМО, 2006. — С. 94.

7. Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы, криптографии. — М.: Гелиос АРВ, 2005. — 480 с.

8. Крис Касперски. Компьютерные вирусы, изнутри и снаружи. — СПб.: Питер, 2006. — С. 527.

9. Баричев С.Г., Гончаров В.В., Серов Р.Е. 2.4.2. Стандарт AES. Алгоритм. Rijdael./ Основы, современной криптографии. — М.: Горячая линия. — Телеком, 2002. — С. 30 — 35.