Рассказываем, что такое IoT Inspector и как он работает.

/ фото PxHere PD
О безопасности интернета вещей
В консалтинговой фирме Bain & Company (PDF, стр.1) говорят, что c 2017 по 2021 год объем IoT-рынка увеличится в два раза: с 235 до 520 млрд долларов. На долю гаджетов для умного дома придется 47 млрд долларов. У экспертов по ИБ такие темпы роста вызывают опасения.
По данным Avast, в 40% случаев хотя бы одно умное устройство имеет критическую уязвимость, подвергающую опасности всю домашнюю сеть. В Лаборатории Касперского установили, что за первый квартал прошлого года на умные гаджеты обрушилось в три раза больше атак, чем за весь 2017 год.
Чтобы защитить умные устройства, сотрудники ИТ-компаний и вузов разрабатывают новые программные инструменты. Команда инженеров из Принстонского университета создала открытую платформу Princeton IoT Inspector. Это десктопное приложение, которое мониторит поведение и работу IoT-устройств в реальном времени.
Как работает система
IoT Inspector отслеживает активность IoT-девайсов в сети с помощью техники ARP-spoofing. Её можно использовать для анализа трафика устройств. Система собирает анонимную информацию о сетевом трафике для выявления подозрительной активности. При этом такие данные, как IP- и MAC-адреса не учитываются.
При отправке ARP-пакетов используется следующий код:
class ArpScan(object): def __init__(self, host_state): assert isinstance(host_state, HostState) self._lock = threading.Lock() self._active = True self._thread = threading.Thread(target=self._arp_scan_thread) self._thread.daemon = True def start(self): with self._lock: self._active = True utils.log('[ARP Scanning] Starting.') self._thread.start() def _arp_scan_thread(self): utils.restart_upon_crash(self._arp_scan_thread_helper) def _arp_scan_thread_helper(self): while True: for ip in utils.get_network_ip_range(): time.sleep(0.05) arp_pkt = sc.Ether(dst="ff:ff:ff:ff:ff:ff") / \ sc.ARP(pdst=ip, hwdst="ff:ff:ff:ff:ff:ff") sc.sendp(arp_pkt, verbose=0) with self._lock: if not self._active: return def stop(self): utils.log('[ARP Scanning] Stopping.') with self._lock: self._active = False self._thread.join() utils.log('[ARP Scanning] Stopped.')
Проанализировав сеть, сервер IoT Inspector устанавливает, с какими сайтами IoT-гаджеты обменивается данными, как частно они это делают и в каких объёмах передают и получают пакеты. В результате система помогает выявить подозрительные ресурсы, на которые могут отсылаться ПД без ведома пользователя.
Пока приложение работает только под macOS. Скачать zip-архив можно на сайте проекта. Для установки понадобится macOS High Sierra или Mojave, браузер Firefox или Chrome. В Safari приложение не работает. Руководство по установке и настройке есть на YouTube.
В этом году разработчики обещали добавить версию для Linux, а в мае — приложение под Windows. Исходный код проекта есть на GitHub.
Потенциал и недостатки
Разработчики говорят, что система поможет ИТ-компаниям искать уязвимости в программном обеспечении IoT-девайсов и создавать более защищенные умные устройства. Уже сейчас инструмент может обнаружить уязвимости, связанные с безопасностью и производительностью.
IoT Inspector находит устройства, которые слишком часто обмениваются данными, даже когда ими никто не пользуется. Также инструмент помогает обнаруживать умные устройства, которые замедляют работу сети, например слишком часто скачивают обновления.
У IoT Inspector пока есть недостатки. Поскольку приложение экспериментальное, его еще не протестировали на всех IoT-устройствах с разными конфигурациями. Поэтому сам инструмент может оказывать негативное влияние на производительность умных гаджетов. По этой причине авторы не рекомендуют подключать приложение к медицинским гаджетам.
Сейчас разработчики сфокусировались на устранении багов, но в дальнейшем команда Принстонско��о университета планирует расширить функциональность своего приложения и внедрить в него алгоритмы машинного обучения. Они помогут увеличить вероятность обнаружения DDoS-атак до 99%. Ознакомиться со всеми идеями исследователей можно в этом PDF-отчете.
Другие проекты в сфере IoT
Группа американских разработчиков, которая сотрудничает с Дэнни Гудманом (Danny Goodman), автором книг по JavaScript и HTML, создает инструмент для мониторинга экосистемы интернета вещей — The Thing System.
Цель проекта — объединить IoT-гаджеты умного дома в единую сеть и централизовать управление. Разработчики говорят, что устройства разных производителей часто не могут взаимодействовать друг с другом и работают разрозненно. Чтобы решить проблему, авторы инициативы создали ПО, которое может работать с разными сетевыми протоколами, гаджетами и клиентскими приложениями.
Список поддерживаемых девайсов есть на сайте проекта. Там же можно найти исходный код и руководство для быстрого старта.
Другой открытый проект — PrivateEyePi. Авторы инициативы делятся программными решениями и исходным кодом для создания персонализированной IoT-сети на базе Raspberry Pi. На сайте есть большое количество руководств, с помощью которых можно построить беспроводную сеть из датчиков температуры, влажности, а также настроить систему безопасности для дома.

/ фото PxHere PD
Будущее подобных решений
На IoT-рынке все чаще появляются опенсорсные проекты, библиотеки и фреймворки. В Linux Foundation, который также работает в сфере IoT (они создали операционную систему Zephyr), говорят, что инструменты с открытым исходным кодом считаются более защищенными. Такое мнение связано с тем, что в их разработке участвует «коллективный разум» сообщества экспертов по ИБ. Из всего этого можно сделать вывод, что проекты вроде IoT Inspector будут появляться все чаще и помогут сделать этот сегмент устройств более защищенным.
Посты из Первого блога о корпоративном IaaS:
- Как компания REDWEB размещается в облаке «ИТ-ГРАД»
- Развитие дата-центров: технологические тренды
- Avito.ru: как облако IaaS помогает в организации бизнеса компании
- Как повысить энергоэффективность дата-центра
- Мир до и после. Как изменилась жизнь с наступлением DNS Flag Day
- Послеаварийное восстановление как услуга: что нужно знать
- Как IaaS помогает развивать бизнес: три задачи, которые решит облако
