Компания Trend Micro Incorporated опубликовала результаты своего исследования The Fragility of Industrial IoT’s Data Backbone, в котором описала уязвимости базовых протоколов M2M (от Machine-to-Machine, или «межмашинное взаимодействие») IIoT, а также предложила собственные методы защиты от потенциальных угроз.

Протоколы M2M позволяют устройствам «общаться» между собой, передавая команды и данные телеметрии от сенсоров, что является основой для нормального функционирования любой IIoT-системы. Несмотря на то, что в мире существует и используется несколько протоколов M2M, авторы сосредоточили своё внимание на MQTT и CoAP, как на самых распространённых и популярных, а, соответственно, и представляющих наибольший интерес для потенциальных злоумышленников.

Протокол MQTT (Message Queuing Telemetry Transport) — это стандартный протокол для обмена данными, который позволяет конечным устройствам обмениваться информацией по шаблону «издатель-подписчик». Устройства-клиенты в такой сети передают данные, помеченные определёнными заголовками общему «посреднику», у которого другие устройства могут их получить, при условии, что они «подписаны» на эти заголовки. Он применяется, помимо прочего, в медицинском оборудовании и облачных решениях Amazon Web Services, Facebook Messenger и т. д.

CoAP (Constrained Application Protocol) — намного более молодой протокол, ещё не прошедший стандартизацию. Он позволяет передавать команды или информацию по шаблону «клиент-сервер» и создавать специализированные протоколы M2M для решения конкретных задач на предприятии. Благодаря меньшей сложности настройки и сниженным требованиям к оборудованию, CoAP чаще используется в сетях с маломощными устройствами, например, для сбора данных телеметрии от датчиков. 

Оба этих протокола нельзя считать эффективно защищёнными от атак. В частности, MQTT подвержен различного рода DoS-атакам с использованием «запрещённых» символов в заголовках, а CoAP — атакам типа DNS amplification. В результате проведенных тестов исследователям Trend Micro также удалось выявить проблемы с использованием устаревших версий «посредников» MQTT, которые не защищены от уже обнаруженных типов атак. Так, в топ-10 используемых в IIoT-системах версий самого популярного «посредника» Mosquitto даже не попали последние его версии, то есть основная масса используемых устройств является устаревшими и уязвимыми. В то же время CoAP уязвим к спуфингу, и, соответственно, к атакам с его применением.

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

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

Учитывая рост популярности M2M-протоколов в мире, Trend Micro предлагает придерживаться ряда рекомендаций, которые помогут снизить риск кибератак, включая: отказ от использования M2M-систем там, где без них легко можно обойтись; периодические автоматизированные проверки сети интернет на предмет утечек конфиденциальной информации, которые могли произойти из-за IoT-устройств; внедрение эффективного процесса проверки продуктов на уязвимости ещё на стадии их выпуска (особенно касается продукции, которая редко получает обновления ПО); отслеживание изменений в стандартах и изучение новых версий протоколов M2M либо переход к самостоятельной их разработке.