Рассказываем, что такое 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 помогает развивать бизнес: три задачи, которые решит облако
Автор: it_man