- PVSM.RU - https://www.pvsm.ru -

Открытый инструмент для мониторинга сети с IoT-устройствами

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

Открытый инструмент для мониторинга сети с IoT-устройствами - 1 [1]
/ фото PxHere [2] PD

О безопасности интернета вещей

В консалтинговой фирме Bain & Company (PDF, стр.1 [3]) говорят, что c 2017 по 2021 год объем IoT-рынка увеличится в два раза: с 235 до 520 млрд долларов. На долю гаджетов для умного дома придется 47 млрд долларов [4]. У экспертов по ИБ такие темпы роста вызывают опасения.

По данным Avast [5], в 40% случаев хотя бы одно умное устройство имеет критическую уязвимость, подвергающую опасности всю домашнюю сеть. В Лаборатории Касперского установили [6], что за первый квартал прошлого года на умные гаджеты обрушилось в три раза больше атак, чем за весь 2017 год.

Чтобы защитить умные устройства, сотрудники ИТ-компаний и вузов разрабатывают новые программные инструменты. Команда инженеров [7] из Принстонского университета создала [8] открытую платформу Princeton IoT Inspector. Это десктопное приложение, которое мониторит поведение и работу IoT-устройств в реальном времени.

Как работает система

IoT Inspector отслеживает активность IoT-девайсов в сети с помощью техники ARP-spoofing [9]. Её можно использовать для анализа трафика устройств. Система собирает анонимную информацию о сетевом трафике для выявления подозрительной активности. При этом такие данные, как IP- и MAC-адреса не учитываются.

При отправке ARP-пакетов используется следующий код [10]:

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-архив можно на сайте проекта [11]. Для установки понадобится macOS High Sierra или Mojave, браузер Firefox или Chrome. В Safari приложение не работает. Руководство по установке и настройке есть на YouTube [12].

В этом году разработчики обещали добавить версию для Linux, а в мае — приложение под Windows. Исходный код проекта есть на GitHub [13].

Потенциал и недостатки

Разработчики говорят, что система поможет ИТ-компаниям искать уязвимости в программном обеспечении IoT-девайсов и создавать более защищенные умные устройства. Уже сейчас инструмент может обнаружить уязвимости, связанные с безопасностью и производительностью.

IoT Inspector находит устройства, которые слишком часто обмениваются данными, даже когда ими никто не пользуется. Также инструмент помогает обнаруживать умные устройства, которые замедляют работу сети, например слишком часто скачивают обновления.

У IoT Inspector пока есть недостатки. Поскольку приложение экспериментальное, его еще не протестировали на всех IoT-устройствах с разными конфигурациями. Поэтому сам инструмент может оказывать негативное влияние на производительность умных гаджетов. По этой причине авторы не рекомендуют подключать приложение к медицинским гаджетам.

Сейчас разработчики сфокусировались на устранении багов, но в дальнейшем команда Принстонского университета планирует расширить функциональность своего приложения и внедрить в него алгоритмы машинного обучения. Они помогут увеличить вероятность обнаружения DDoS-атак до 99%. Ознакомиться со всеми идеями исследователей можно в этом PDF-отчете [14].

Другие проекты в сфере IoT

Группа американских разработчиков, которая сотрудничает с Дэнни Гудманом (Danny Goodman), автором книг по JavaScript и HTML, создает инструмент для мониторинга экосистемы интернета вещей — The Thing System [15].

Цель проекта — объединить IoT-гаджеты умного дома в единую сеть и централизовать управление. Разработчики говорят, что устройства разных производителей часто не могут взаимодействовать друг с другом и работают разрозненно. Чтобы решить проблему, авторы инициативы создали ПО, которое может работать с разными сетевыми протоколами, гаджетами и клиентскими приложениями.

Список поддерживаемых девайсов есть на сайте проекта [16]. Там же можно найти исходный код [17] и руководство для быстрого старта [18].

Другой открытый проект — PrivateEyePi [19]. Авторы инициативы делятся программными решениями и исходным кодом для создания персонализированной IoT-сети на базе Raspberry Pi. На сайте есть большое количество руководств, с помощью которых можно построить беспроводную [20] сеть из датчиков температуры [21], влажности [22], а также настроить систему безопасности для дома [23].

Открытый инструмент для мониторинга сети с IoT-устройствами - 2
/ фото PxHere [24] PD

Будущее подобных решений

На IoT-рынке все чаще появляются опенсорсные проекты, библиотеки и фреймворки. В Linux Foundation, который также работает в сфере IoT (они создали операционную систему Zephyr [25]), говорят, что инструменты с открытым исходным кодом считаются более защищенными. Такое мнение связано с тем, что в их разработке участвует «коллективный разум» сообщества экспертов по ИБ. Из всего этого можно сделать вывод, что проекты вроде IoT Inspector будут появляться все чаще и помогут сделать этот сегмент устройств более защищенным.


Посты из Первого блога о корпоративном IaaS:

Автор: it_man

Источник [33]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/315922

Ссылки в тексте:

[1] Image: https://habr.com/ru/company/it-grad/blog/449750/

[2] PxHere: https://pxhere.com/en/photo/1575603

[3] PDF, стр.1: https://www.bain.com/contentassets/5aa3a678438846289af59f62e62a3456/bain_brief_unlocking_opportunities_in_the_internet_of_things.pdf

[4] придется 47 млрд долларов: https://www.statista.com/statistics/682204/global-smart-home-market-size/

[5] данным Avast: https://cdn2.hubspot.net/hubfs/486579/avast_smart_home_report_feb_2019.pdf

[6] установили: https://securelist.com/new-trends-in-the-world-of-iot-threats/87991/

[7] Команда инженеров: https://iot-inspector.princeton.edu/#about-us

[8] создала: https://iot-inspector.princeton.edu/

[9] ARP-spoofing: https://ru.wikipedia.org/wiki/ARP-spoofing

[10] используется следующий код: https://github.com/noise-lab/iot-inspector-client/blob/master/v1-src/arp_scan.py

[11] сайте проекта: https://iot-inspector.princeton.edu/blog/post/getting-started/

[12] есть на YouTube: https://www.youtube.com/watch?v=KaU80DpsaBw

[13] на GitHub: https://github.com/noise-lab/iot-inspector-client

[14] этом PDF-отчете: https://arxiv.org/pdf/1804.04159.pdf

[15] The Thing System: http://thethingsystem.com/index.html

[16] есть на сайте проекта: http://thethingsystem.com/dev/supported-things.html

[17] исходный код: http://thethingsystem.com/code/index.html

[18] руководство для быстрого старта: http://thethingsystem.com/dev/Installation.html

[19] PrivateEyePi: http://projects.privateeyepi.com/

[20] беспроводную: http://projects.privateeyepi.com/home/home-alarm-system-project/wireless-projects

[21] температуры: http://projects.privateeyepi.com/home/temperature-sensor-project-using-ds18b20

[22] влажности: http://projects.privateeyepi.com/home/home-alarm-system-project/temperature-and-humidity

[23] систему безопасности для дома: http://projects.privateeyepi.com/home/home-alarm-system-project/installation/how-it-works

[24] PxHere: https://pxhere.com/en/photo/1034246

[25] Zephyr: https://www.zephyrproject.org/

[26] Как компания REDWEB размещается в облаке «ИТ-ГРАД»: https://iaas-blog.it-grad.ru/kejsy/oblako-it-grad-kak-komfortnaya-bystro-masshtabiruemaya-sreda-dlya-razrabotki-opyt-kompanii-redweb/

[27] Развитие дата-центров: технологические тренды: https://iaas-blog.it-grad.ru/ploshhadki/razvitie-data-centrov-texnologicheskie-trendy-2/

[28] Avito.ru: как облако IaaS помогает в организации бизнеса компании: https://iaas-blog.it-grad.ru/kejsy/hybrid-cloud-for-avito/

[29] Как повысить энергоэффективность дата-центра: https://iaas-blog.it-grad.ru/proizvoditelnost/kak-povysit-energoeffektivnost-data-centra/

[30] Мир до и после. Как изменилась жизнь с наступлением DNS Flag Day: https://iaas-blog.it-grad.ru/tendencii/mir-do-i-posle-kak-izmenilas-zhizn-s-nastupleniem-dns-flag-day/

[31] Послеаварийное восстановление как услуга: что нужно знать: https://iaas-blog.it-grad.ru/funkcionalnost/posleavarijnoe-vosstanovlenie-kak-usluga-disaster-recovery-as-a-service/

[32] Как IaaS помогает развивать бизнес: три задачи, которые решит облако: https://iaas-blog.it-grad.ru/tendencii/kak-iaas-pomogaet-razvivat-biznes-tri-zadachi-kotorye-reshit-oblako/

[33] Источник: https://habr.com/ru/post/449750/?utm_campaign=449750