Адкрыты інструмент для маніторынгу сеткі з 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 (яны стварылі аперацыйную сістэму Зефір), кажуць, што прылады з адчыненым зыходным кодам лічацца больш абароненымі. Такое меркаванне звязана з тым, што ў іх распрацоўцы ўдзельнічае "калектыўны розум" супольнасці экспертаў па ИБ. З усяго гэтага можна зрабіць выснову, што праекты накшталт IoT Inspector будуць з'яўляцца ўсё гушчару і дапамогуць зрабіць гэты сегмент прылад больш абароненым.

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

Крыніца: habr.com

Дадаць каментар