Многие люди, даже не очень хорошо знакомые с компьютерными технологиями, слышали термин «DoS-атака». С ее помощью злоумышленники останавливают работу сайтов магазинов, СМИ, правительственных организаций. Для такого нападения надо просто заразить достаточное количество компьютеров вирусом и по команде заставить их одновременно запрашивать какой-то интернет-ресурс. В итоге сервер не выдерживает нагрузки и сайт оказывается недоступен для обычных пользователей.
Аналогичным образом можно «положить» работу не только сайта, но и современного предприятия. Дело в том, что оборудованные по последнему слову техники заводы ― это в том числе огромные сети интернета вещей и киберфизических систем, где тысячи датчиков контролируют работу конвейера, станков, качества конечной продукции, и они также используют сети передачи данных.
Аналогичный принцип вводится и в современных больницах, когда на пульт оператора приходит информация о состоянии сразу всех пациентов в отделении. Именно этим уровнем автоматизации может воспользоваться злоумышленник для организации «DoS-атаки» внутри предприятия.
«Наиболее распространенная архитектура организации сетей на данный момент ― это "клиент ― сервер", когда вы со своего устройства (клиента) заходите на сайт (сервер) по какому-то адресу, чтобы искать информацию, совершать покупки, смотреть фильм, разглядывать карту, ― объясняет аспирант факультета безопасности информационных технологий Университета ИТМО Дмитрий Дикий. ― Однако для интернета вещей зачастую наиболее удобна другая система ― "издатель ― подписчик". Она чем-то похожа на Instagram ― вы подписываетесь на какую-то тему, и, когда любой автор публикует что-то с соответствующим хэштегом, вы получаете об этом уведомление. Основная идея заключается в экономии трафика от устройства. Датчик публикует информацию единожды, а уже специальный шлюз ретранслирует ее всем получателям. Именно этот принцип положен в основу интернета вещей, когда датчик раз в какое-то время публикует данные, а та или иная группа пользователей получает об этом информацию. Это очень удобно, однако такую систему можно вывести из строя банальной DoS-атакой».
Как сломать завод
Методика проведения подобной атаки на заводскую или больничную сеть интернета вещей в целом похожа на обычную атаку на сайт. Главная задача ― перегрузить систему, чтобы она не справлялась с обработкой обычных данных. Однако отличия все же есть. К примеру, в данном случае речь идет об атаке на закрытую сеть, которая, как правило, недоступна извне.
По своей архитектуре сети интернета вещей напоминают телефонный коммутатор. Представьте, что на заводе есть 10 тысяч датчиков. Каждый десятый из них передает информацию о скорости движения конвейера. Эти данные поступают главному инженеру, начальнику производства и оператору отдела качества, но не поступают в отдел снабжения. Еще 10% устройств мониторинга следят за уровнем масла в станках, отсылая информацию для отдела обслуживания и дежурному ремонтнику, но не посылая их в отдел качества.
Все датчики на производстве передают какие-то данные с пометкой, кому они должны попасть. Все эти сообщения попадают на шлюз и там, исходя из пометки, программа решает, кому надо отправить то или иное сообщение. Именно здесь, в самом «узком» месте системы, и можно нанести удар.
Методов для этого несколько. К примеру, можно взломать саму систему и заразить датчики, чтобы они стали отправлять сообщения не только трем отделам, а сразу на все компьютеры системы ― от дежурного оператора конвейера до директора завода. Сделать это не так сложно, ведь датчиков может быть несколько тысяч, поэтому зачастую для их подключения в сеть даже не используют пароль.
Если же логин и пароль все же устанавливаются, то они чаще всего стандартные, поэтому опытный хакер вполне может взломать такую защиту. При этом важно понимать, что даже два-три зараженных устройства могут осложнить работу целой системы, ведь если каждое из них будет пересылать по 100 мегабайт информации, то их надо будет разослать, к примеру, на сотню компьютеров. Таким образом шлюз сгенериует в сети уже несколько десятков гигабайт трафика.
Другой способ атаки даже не требует взлома датчиков. Можно просто с большой частотой пытаться подключить к системе еще одно устройство мониторинга. Успеха можно добиться, даже если система ни разу не приняла неизвестное устройство.
«Мы просто отправляем пакет данных на подключение очень часто, и хотя ответ мы получаем отрицательный, процессорное время на шлюзе тратится, и он перестает справляться с нагрузкой, ― рассказывает Дмитрий Дикий. ― Это связано с тем, что аутентификация происходит по защищенному соединению, для нее используются криптографические преобразования. Поскольку датчики не имеют больших вычислительных мощностей, то происходит это относительно медленно. То есть они отправляют запрос на подключение, сервер "предлагает" присоединиться, для чего датчикам необходимо выполнить определенные вычисления и отправить ответ, на основании которого сервер решает, все ли верно. Даже если ответ неверен, то процессорное время на проверку ответа потрачено, а канал соединения все это время был открыт. Такие действия способны загрузить систему до такой степени, что легальные устройства не смогут подключиться, либо время на обработку их сообщении значительно увеличивается».
Сколько могут стоить 30 секунд
Несмотря на то, что алгоритм атаки кажется простым, распознать его на производстве может оказаться непросто. Если во время обычной DoS-атаки для экспертов в области кибербезопасности все очевидно ― тысячи пользователей сразу в одну секунду начинают отправлять запросы ― то в случае со взломом сети интернета вещей все не так ясно. Нагрузки не так экстремальны, а атака чаще всего не приводит к полной остановке системы.
«Подобные атаки способны замедлить передачу информации с датчиков, ― поясняет Дмитрий Дикий. ― Если обычно на передачу информации от устройства к пользователю на нашем тестовом стенде уходит где-то до 60 миллисекунд, то при проведении атаки это время может увеличиться до 3 ― 30 секунд. Реже информация может быть полностью потеряна».
Казалось бы, полминуты ― не такая большая проблема, но в условиях отлаженной автоматизированной системы это может быть критично. Сложно даже представить, что может случиться, скажем, на лакокрасочном производстве, если в течение полуминуты будет парализована противопожарная система.
Не менее трагичными последствия могут быть, если оператор целых полминуты не будет получать информацию о состоянии пациентов в палате интенсивной терапии. Три секунды, в течение которых оператор не узнает о том, что краска на одном из станков закончилась, могут привести к испорченным деталям на сотни тысяч или даже миллионы рублей.
При этом важно не перепутать атаку с реальным ЧП, когда датчики передают информацию о критической ошибке в производственном процессе. Наконец, сложность заключается в том, что внешние системы безопасности не имеют доступа к сердцу шлюза ― к информации о том, какому числу пользователей распространяется та или иная информация.
«Большинство ученых, занимающихся кибербезопасностью, разрабатывают отдельно стоящие средства защиты информации. А шлюзы ― это выполненные программные компоненты, которые не пускают внутрь себя. Например, для того, чтобы получать информацию о списке подписчиков, в нашем проекте потребовалось модифицировать их исходный код, что значительно усложняет процесс разработки и интеграции средств защиты», ― добавляет Дмитрий Дикий.
Как найти место взлома
Ученые Университета ИТМО постарались решить проблему обнаружения такого рода атак, как раз внедрившись внутрь самого протокола обработки сигналов с датчиков и их передачи пользователям. Они создали систему, которая анализирует трафик, идущий от датчиков через шлюз к пользователям, и смотрит, не меняется ли резко количество информации, ее содержание и количество ее адресатов.
«Анализируется поведение датчика до атаки и в момент атаки: кому, как и сколько сообщений идет, ― рассказывает Дмитрий Дикий. ― Если количество подписчиков резко возрастает, то это верный признак того, что нам хотят "положить" систему. Главное при этом ― быстро отличить легитимный рост количества данных от нелегитимного. Так, если объем данных в сообщении увеличился, например, в 2-3 раза, но количество подписчиков и частота сообщений не растет, то это вряд ли уронит нам систему».
Для решения такой задачи ученые использовали методы машинного обучения ― искусственные нейронные сети, метод опорных векторов и другие. Им удалось добиться правильной классификации трафика на легитимный и нелегитимный с вероятностью примерно в 98%.
Другой интересной задачей, помимо определения факта атаки, является идентификация ее источника. В разработанной модели средства защиты ученые смогли создать алгоритм, определяющий, что именно вызывает подозрения об атаке: отдельное устройство, взломанная учетная запись или целый узел сети.
Пока системы производства, основанные на интернете вещей, только развиваются, однако в будущем таких предприятий, медицинских учреждений, электростанций будет становиться все больше. В научной литературе уже сейчас выделяют термин Индустрии 4.0 ― процесса перехода к повсеместной автоматизации производств и операций. Поэтому необходимо исследовать потенциальные уязвимости систем автоматизации и разрабатывать эффективные средства их защиты от злоумышленников.
Комплекс исследований выполнен в рамках грантов РФФИ № 19-37-90051, МинОбрНауки (информационная безопасность) №11/2020 и НИР Университета ИТМО № 620164.