Odprto orodje za nadzor omrežja z napravami IoT

Povemo vam, kaj je IoT Inspector in kako deluje.

Odprto orodje za nadzor omrežja z napravami IoT
/ fotografija PxTukaj PD

O varnosti interneta stvari

V svetovalnem podjetju Bain & Company (PDF, stran 1) pravijo, da se bo od leta 2017 do 2021 velikost trga IoT podvojila: z 235 na 520 milijard dolarjev. Delež pripomočkov za pametni dom bo stala 47 milijard dolarjev. Strokovnjake za informacijsko varnost skrbijo takšne stopnje rasti.

Na glede na Avast, ima v 40 % primerov vsaj ena pametna naprava kritično ranljivost, ki ogrozi celotno domače omrežje. V Kaspersky Labu vzpostavili, da so bili v prvem četrtletju lanskega leta pametni pripomočki deležni trikrat več napadov kot v celotnem letu 2017.

Za zaščito pametnih naprav zaposleni v IT podjetjih in na univerzah razvijajo nova programska orodja. Inženirska ekipa z univerze Princeton ustvarili Odprta platforma Princeton IoT Inspector. To je namizna aplikacija, ki v realnem času spremlja obnašanje in delovanje IoT naprav.

Kako deluje sistem

IoT Inspector nadzira dejavnost naprav IoT v omrežju s pomočjo tehnologije ARP spoofing. Uporablja se lahko za analizo prometa naprave. Sistem zbira anonimne podatke o omrežnem prometu, da prepozna sumljivo dejavnost. V tem primeru se podatki, kot so naslovi IP in MAC, ne upoštevajo.

Pri pošiljanju paketov ARP uporabljena je naslednja koda:

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.')

Po analizi omrežja strežnik IoT Inspector ugotovi, s katerimi mesti IoT pripomočki izmenjujejo podatke, kako pogosto to počnejo in v kolikšnih količinah pošiljajo in sprejemajo pakete. Posledično sistem pomaga prepoznati sumljive vire, na katere je mogoče poslati PD brez vednosti uporabnika.

Zaenkrat aplikacija deluje le na macOS. Zip arhiv lahko prenesete na stran projekta. Za namestitev boste potrebovali macOS High Sierra ali Mojave, brskalnik Firefox ali Chrome. Aplikacija ne deluje v Safariju. Navodila za namestitev in konfiguracijo na voljo na YouTubu.

Letos so razvijalci obljubili, da bodo dodali različico za Linux, maja pa aplikacijo za Windows. Izvorna koda projekta je na voljo na GitHubu.

Potencial in slabosti

Razvijalci pravijo, da bo sistem IT podjetjem pomagal pri iskanju ranljivosti v programski opremi naprav IoT in ustvarjanju varnejših pametnih naprav. Orodje že lahko zazna varnostne in delovne ranljivosti.

IoT Inspector najde naprave, ki prepogosto komunicirajo, tudi če jih nihče ne uporablja. Orodje pomaga tudi odkriti pametne naprave, ki upočasnjujejo omrežje, na primer prepogosto prenašanje posodobitev.

IoT Inspector ima še nekaj pomanjkljivosti. Ker je aplikacija poskusna, še ni testirana na vseh IoT napravah z različnimi konfiguracijami. Zato lahko samo orodje negativno vpliva na delovanje pametnih pripomočkov. Zaradi tega avtorji ne priporočajo povezovanja aplikacije z medicinskimi pripomočki.

Zdaj so razvijalci osredotočeni na odpravljanje hroščev, v prihodnosti pa namerava ekipa univerze Princeton razširiti funkcionalnost svoje aplikacije in vanjo uvesti algoritme strojnega učenja. Pomagali bodo povečati verjetnost zaznavanja napadov DDoS na 99%. Z vsemi idejami raziskovalcev se lahko seznanite v to poročilo PDF.

Drugi IoT projekti

Skupina ameriških razvijalcev, ki sodeluje z Dannyjem Goodmanom, avtorjem knjig o JavaScript in HTML, ustvarja orodje za spremljanje ekosistema interneta stvari - Sistem stvari.

Cilj projekta je združiti pripomočke pametnega doma IoT v enotno omrežje in centralizirati nadzor. Razvijalci pravijo, da naprave različnih proizvajalcev pogosto ne morejo komunicirati med seboj in delujejo ločeno. Za rešitev problema so avtorji pobude ustvarili programsko opremo, ki lahko deluje z različnimi omrežnimi protokoli, pripomočki in odjemalskimi aplikacijami.

Seznam podprtih naprav na voljo na spletni strani projekta. Tam lahko najdete tudi vir и vodnik za hiter začetek.

Še en odprt projekt - PrivateEyePi. Avtorji pobude delijo programske rešitve in izvorno kodo za ustvarjanje personaliziranega omrežja IoT na osnovi Raspberry Pi. Na spletnem mestu je veliko vodnikov, s katerimi lahko gradite brezžično mrežo senzorjev Temperatura, vlažnost, in tudi konfigurirajte hišni varnostni sistem.

Odprto orodje za nadzor omrežja z napravami IoT
/ fotografija PxTukaj PD

Prihodnost tovrstnih rešitev

Odprtokodni projekti, knjižnice in ogrodja se vse pogosteje pojavljajo na trgu IoT. The Linux Foundation, ki deluje tudi na področju interneta stvari (so ustvarili operacijski sistem Zephyr), pravijo, da odprtokodna orodja veljajo za bolj varna. To mnenje je posledica dejstva, da pri njihovem razvoju sodeluje »kolektivna inteligenca« skupnosti strokovnjakov za informacijsko varnost. Iz vsega tega lahko sklepamo, da se bodo projekti, kot je IoT Inspector, pojavljali vedno pogosteje in bodo pripomogli k večji varnosti tega segmenta naprav.

Objave iz prvega bloga o korporativnem IaaS:

Vir: www.habr.com

Dodaj komentar