Научная статья на тему 'Атаки на систему автоматизации, основанные на уязвимости технологии c-bus'

Атаки на систему автоматизации, основанные на уязвимости технологии c-bus Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
268
68
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АТАКИ НА СИСТЕМУ УПРАВЛЕНИЯ ПРОЦЕССАМИ / УЯЗВИМОСТЬ C-BUS / C-BUS / ATTACK ON THE PROCESS CONTROL SYSTEM / THE VULNERABILITY OF C-BUS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Стариковский Андрей Викторович, Шульга Екатерина Михайловна, Сорокина Мария Александровна, Носик Оксана Анатольевна, Захарова Анастасия Олеговна

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Стариковский Андрей Викторович, Шульга Екатерина Михайловна, Сорокина Мария Александровна, Носик Оксана Анатольевна, Захарова Анастасия Олеговна

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

The article deals with the attacks on the process control system based on the vulnerability of C-BUS technology. The paper also presents various methods of protection of process control systems from viruses: manually disabling access to the system files, the program methods, etc.

Текст научной работы на тему «Атаки на систему автоматизации, основанные на уязвимости технологии c-bus»

СТАРИКОВСКИЙ1 Андрей Викторович ШУЛЬГА2 Екатерина Михайловна СОРОКИНА3 Мария Александровна НОСИК4 Оксана Анатольевна ЗАХАРОВА5 Анастасия Олеговна

АТАКИ НА СИСТЕМУ АВТОМАТИЗАЦИИ, ОСНОВАННЫЕ НА УЯЗВИМОСТИ ТЕХНОЛОГИИ C-BUS

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

Ключевые слова: C-BUS, атаки на систему управления, процессами, уязвимость C-BUS.

The article deals with, the attacks on the process control system, based on the vulnerability of C-BUS technology. The paper also presents various methods of protection of process control systems from, viruses: manually disabling access to the system, files, the program methods, etc.

Keywords: C-BUS, attack on the process control system, the vulnerability of C-BUS.

Технология Clipsal C-BUS компании Schneider Electric получила широкое распространение в областях, где востребовано автоматизированное управление (в том числе в «умном доме»), благодаря готовым решениям для систем диспетчеризации и управления различных систем в зданиях и помещениях [1]. C-BUS отвечает за жизнеспособность инженерных систем, экономию электроэнергии, функционирование охранно-пожарной сигнализации, а также обеспечивает удобное управление зданием, обладает многофункциональностью, масштабируемостью и высокой надежностью [2].

Как правило, в состав сети C-BUS входит сервер, который отвечает за комплексное управление системой, контроллеры, исполнительные устройства. Передача данных идет по витой паре. В C-BUS используется неэкранированная витая пара информационного кабеля в качестве передаточного звена для управления освещением, состоянием воздуха и иными параметрами помещения. Данные отправляются от активных (выходных) блоков через кабель C-BUS к соответствующим активным блокам-реле и светорегуляторам [2]. Для подключения витой пары к компьютеру используется переходник на базе COM-порта.

Следует отметить, что несмотря на высокий уровень надежности системы и наличие широких функциональных возможностей, технология С-BUS может подвергаться атакам со стороны злоумышленников из-за ряда уязвимостей С-BUS. Существует возможность использовать одну из уязвимостей C-BUS сети и ограничивать широковещательную рассылку в системе автоматизированного объекта. Таким образом, можно выключить, к примеру, все приборы в сети. Рассмотрим подробнее некоторые уязвимости технологии C-BUS.

С-BUS, как и многие другие системы автоматизации зданий, предоставляет возможность создания собственного программного обеспечения для запуска на сервере «умного дома». Такая возможность была введена для того, чтобы компании-инсталляторы могли создавать удобные настраиваемые под клиента продукты. Чтобы разработка была проще, производитель предоставляет библиотеки с собственным API (application programming interface) интерфейсом. Такой интерфейс позволяет подняться над уровнем датаграмм и работать на языке высокого уровня.

Так, например, возможно воспользоваться API функцией регулировки света C-BUS:

' - НИЯУ МИФИ, заместитель начальника ИЦ;2-5 - НИЯУ МИФИ, инженеры

МЕТОДЫ

void cbus_lighting_vf_set_level (

int8u network, int8u application, int8u group, int8u level, int8u ramp_rate, int8u retries, int8u force );

Как видно из указанных выше параметров, существует возможность изменения названия такого параметра, как уровень освещения (level), а также скорости достижения данного уровня (ramp_rate), то есть функции диммирования (изменения яркости свечения лампочки). Остальные параметры несут служебную информацию. В поле group устанавливается адрес устройства. Идентификатор network служит для того, чтобы определить, к какой сети будет идти обращение. Этот идентификатор можно получить с помощью одной из стандартных функций API. Аргумент retries определяет, сколько раз необходимо отправить данную датаграмму в случае получения отказа в доставке при первой попытке.

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

К сожалению, установленное на сервер неавторизованное программное обеспечение крайне сложно обнаружить, если его создавали профессионалы. Антивирусные системы, как правило, на серверы не ставятся или являются крайне неэффективными.

Современные интеллектуальные здания при неверном проектировании могут быть заражены даже вирусом с флеш-карты [3, 4].

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

Последствия могут быть самыми разными — от перехвата управления над видеокамерами наблюдения и дверными замками, до отключения света во всем здании по запланированному расписанию, которое установил злоумышленник. С технической точки зрения, создание вирусов не является сложной задачей — гораздо сложнее обеспечить попадание вируса на USB-накопитель, который попадет в один из

компьютеров сети. Здесь необходимо прибегать к услугам социальной инженерии. Как правило, для этого мошенники выбирают один из следующих способов. Во-первых, злоумышленники под различными предлогами пытаются попасть в здание. Иногда они приходят под видом технического обслуживающего персонала, который якобы проверяет работоспособность системы и устанавливает обновления. При таком «мониторинге» мошеннику достаточно просто вставить флешку в компьютер-сервер системы автоматизированного здания, чтобы заразить его. Во-вторых, флешку с вирусом можно просто «подбросить» владельцу «умного дома», который вряд ли задумается о том, что флешка (абсолютно пустая, на первый взгляд) содержит вредоносное программное обеспечение, которое может поразить всю систему автоматизированного здания. Получив доступ к системе, мошенник может прослушивать все команды, которые передаются в автоматизированном здании между устройствами. Фактически, он может узнать, находится ли владелец в здании, в какой комнате и когда он бывает, какие приборы включает и выключает. Реализация атаки для злоумышленника состоит из двух этапов. Первый этап (как было отмечено выше) — распространение вируса на флеш-карте и заражение системы. Второй этап — перехват управления над системой «умного дома». Рассмотрим каждый из этапов подробнее. Реализация первого этапа не представляет трудности и давно известна. Фактически заражение системы происходит с использованием так называемого autorun механизма. В операционных системах Windows предусмотрен механизм, который заключается в том, что при помещении диска (USB, CD\DVD и др.) в привод компьютера, операционная система запускает на исполнение некоторый сценарий исполнения программ, записанных в файле autorun.inf, который является скрытым и может быть расположен на диске. Если операционная система находит такой файл, то она запускает программу, которая, как правило, хранится на диске. Этой программой вполне может быть вирус. Второй этап заражения гораздо сложнее. Рассмотрим пример реализации действий злоумышленника. Как уже говорилось, подключение витой пары к серверу осуществляется через COM-порт с использованием соответствующих переходников. Заразив сервер с помощью вируса с флешки, вирус должен подключиться именно к COM-порту, чтобы получить информацию обо всех датаграммах, циркулирующих в сети управления автоматизированным зданием. Для прослушивания сети «умного дома» и получения информации вирус может воспользоваться API-интерфейсом системы. Так, например, в случае с C-BUS алгоритм действия вируса выглядит следующим образом. Сначала вирус регистрирует неавторизованный обработчик событий. Такая возможность обусловливается тем, что в системе C-BUS нет возможности заблокировать порт сети «умного дома» на прослушивание только серверным программным обеспечением.

Данная операция осуществляется вирусом с помощью следующей API функции:

cbus_lighting_vf_register_event_handler(My_event_ handler);

Это пример функции, которая будет обрабатывать все данные об освещении в автоматизированном здании. Сам код вируса помещается в функцию My_event_handler, которая имеет следующий синтаксис:

void My_event_handler(byte application, byte group, byte

level, byte rate)

{

}

С помощью данной функции вирус приобретает возможность получать все данные от компонента системы «умного дома» с адресом group. Остальные параметры относятся непосредственно к функции управления освещением. По аналогии с описанными выше приемами вирус имеет возможность прослушивать и другие события в сети. Основными функциями, используемыми данными вирусами, являются функции CreateFile и WriteFile. Синтаксис CreateFile выглядит следующим образом:

HANDLE CreateFile (

LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode,

LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORDdwFlagsAndAttributes, HANDLE hTemplateFile );

Функция CreateFile используется для создания файла. Первый параметр функции CreateFile — это имя файла, но если установить имя COM1, то эта функция будет работать с первым COM-портом. Также можно установить значения: COM2, COM3, COM4, LPT, CON, AUX. Синтаксис команды WriteFile выглядит так:

BOOL WriteFile (

HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped

);

Ниже приводится наиболее часто используемый большинством вирусов модуль по записи данных в COM-порт.

HANDLE hCOM=CreateFile(

"COM1", GENERIC_READ | GENERIC_WRITE,

0,

0,

OPEN_EXISTING, 0, 0);

if (hCOM!=INVALID_HANDLE_VALUE)

{

char buffer[30];

memset(buffer,0,sizeof(buffer)); strcpy(buffer,"datagramma"); DWORD nb; OVERLAPPED ov;

WriteFile(hCOM,buffer,sizeof(buffer),&nb,&ov); CloseHandle(hCOM);

}

Вместо параметра datagramma используется фактически одна из команд для системы автоматизации. Составление такой команды — достаточно сложная задача, однако реализуемая. Каких-либо ограничений на отправку сторонними приложениями данных к COM-порту в сети автоматизированного здания нет. При открытии порта главным является выставить параметры GENERIC_READ и GENERIC_WRITE, которые позволяют считывать и записывать данные в сеть «умного дома». Чтобы защититься от атаки необходимо помнить об отключении возможности автовыполнения вируса. Ручное отключение выполняется следующим способом. В меню Windows выбирается Пуск/Выполнить, выполняется команда gpedit. msc. В появившемся окне выбирается ветка дерева слева «Конфигурация компьютера — Административные шаблоны — Система». В рабочей области есть пункт «Отключить автозапуск». Отметим, что при выборе данной опции необходимо также выбрать опцию «на всех дисководах». Второй способ защиты рассчитан на подмену содержимого файла autorun.inf значением из реестра, которое нарочно задается пустым/неверным. Это приводит к тому, что если на диске и есть файл autorun.inf, то он воспринимается как пустой.

Ниже приводится Registry-файл, который таким способом отключает автозапуск:

REGEDIT4

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionIniFileMappingAutorun.inf] @="@SYS:DoesNotExist"

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

Литература

1. Николай Русанов. Каталог C-Bus. Официальный сайт Clipsal Integrated. Systems, 2011. URL: http://www.c-bus.ru/ index.php/pro/cbus-russian-smarthome.

2. Роман Ткаченко. C-Bus обзорная статья. Умный дом, интеллектуальная. система, 2010. URL: http://id-dom..ru/?p=40.

3. Stuxnet: война 2.0. Хабрахабр, 2010. URL: http://habrah.abr. ru/post/105964.

4. Олег Бойцев. Вирусы, живущие на флешке. Pokerenergy.ru 2008-2014. URL: http://pokerenergy.ru/page/virusi-jivushchie-na-fleshke-bud-ostorojen.

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