Відкритий інструмент для моніторингу мережі з IoT-пристроями

Розповідаємо, що таке IoT Inspector та як він працює.

Відкритий інструмент для моніторингу мережі з IoT-пристроями
/ фото PxТут PD

Про безпеку інтернету речей

У консалтинговій фірмі Bain & Company (PDF, стор.1) кажуть, що з 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. На сайті є велика кількість посібників, за допомогою яких можна побудувати бездротову мережа з датчиків температури, вологості, а також налаштувати систему безпеки для дому.

Відкритий інструмент для моніторингу мережі з IoT-пристроями
/ фото PxТут PD

Майбутнє подібних рішень

На IoT-ринку все частіше з'являються опенсорсні проекти, бібліотеки та фреймворки. У Linux Foundation, який також працює у сфері IoT (вони створили операційну систему) Zephyr), кажуть, що інструменти з відкритим вихідним кодом вважаються захищеними. Така думка пов'язана з тим, що в їх розробці бере участь колективний розум спільноти експертів з ІБ. З усього цього можна дійти невтішного висновку, що проекти на зразок IoT Inspector будуть з'являтися дедалі частіше і допоможуть зробити цей сегмент пристроїв захищеним.

Пости з Першого блогу про корпоративний IaaS:

Джерело: habr.com

Додати коментар або відгук