· ~6 λεπτά ανάγνωσης
Σχεδιάζοντας μια ασφαλή IoT αρχιτεκτονική για smart city
Ένας πολυεπίπεδος σχεδιασμός από το edge ως το cloud για κάμερες πόλης, αισθητήρες κυκλοφορίας και φωτισμό δρόμων, και τα μέτρα που εμποδίζουν μια χακαρισμένη κολόνα φωτισμού να φτάσει στα υπόλοιπα.
Στόχος
Για το μάθημα Σχεδίαση Αρχιτεκτονικής Ασφάλειας του μεταπτυχιακού μου σχεδίασα την αρχιτεκτονική ασφάλειας της IoT υποδομής μιας έξυπνης πόλης: δημόσιες κάμερες, αισθητήρες κυκλοφορίας και περιβάλλοντος, και έξυπνος οδοφωτισμός. Τα ερωτήματα ήταν πού πηγαίνουν τα δεδομένα, ποιος μπορεί να τα δει, τι μπορεί να πάει στραβά και ποια μέτρα ανήκουν σε ποιο επίπεδο.
Αυτό που κάνει το πρόβλημα δύσκολο δεν είναι κάποια μεμονωμένη συσκευή. Είναι χιλιάδες φθηνές συσκευές, εκτεθειμένες φυσικά, σε ένα δίκτυο πόλης που μεταφέρει και συστήματα που μετράνε, υπό τη διαχείριση ενός φορέα του οποίου οι πολίτες δεν συμφώνησαν ποτέ να καταγράφονται.
Τα επίπεδα
| Επίπεδο | Τι υπάρχει εκεί | Κύριο ζήτημα ασφάλειας |
|---|---|---|
| Αντίληψη | Κάμερες, ραντάρ, επαγωγικοί βρόχοι, αισθητήρες ποιότητας αέρα, φωτιστικά | Φυσική παραβίαση, ψεύτικοι κόμβοι, ψευδείς μετρήσεις |
| Δίκτυο | LoRaWAN, NB-IoT, Zigbee, 6LoWPAN, Wi-Fi mesh, 4G/5G, οπτική ίνα | Υποκλοπή, man-in-the-middle, lateral movement |
| Edge / fog | Τοπικοί κόμβοι σε διασταυρώσεις που φιλτράρουν, ελέγχουν και τρέχουν inference | Να μένει το ωμό βίντεο τοπικά, έλεγχος των payloads |
| Cloud / δεδομένα | Το κέντρο επιχειρήσεων της πόλης, αποθήκευση, analytics, εκπαίδευση μοντέλων | Έλεγχος πρόσβασης, κρυπτογράφηση σε ηρεμία, χρόνος διατήρησης |
| Εφαρμογές | Dashboards του δήμου, APIs για τρίτους, εφαρμογές για πολίτες | Εξουσιοδότηση, rate limiting, τι φεύγει από την πόλη |
Πώς ρέουν τα δεδομένα
- Προεπεξεργασία στο edge. Οι ωμές ροές αισθητήρων και καμερών σταματούν σε έναν κόμβο edge. Αυτός ελέγχει το payload, αφαιρεί τον θόρυβο και τρέχει ελαφρύ inference, ώστε να προχωρούν μόνο μικρά, δομημένα metadata («15 οχήματα περιμένουν στη διασταύρωση Α», όχι το βίντεο).
- Μεταφορά μέσω broker. Τα metadata ταξιδεύουν με publish/subscribe (MQTT), ομαδοποιημένα σε topics όπως telemetry, εντολές και διαχείριση υπηρεσιών, ώστε κάθε υποσύστημα να λαμβάνει μόνο ό,τι έχει κάνει subscribe.
- Analytics στο cloud. Οι ροές από όλη την πόλη συνδυάζονται. Το stream processing σηκώνει alerts για ανωμαλίες, και το batch processing αναλαμβάνει την ιστορική ανάλυση και την εκπαίδευση μοντέλων.
- Ελεγχόμενος διαμοιρασμός. Τα αποτελέσματα φεύγουν μόνο μέσω ενός API gateway που επιβάλλει πολιτικές πρόσβασης και rate limits, προς τα dashboards του δήμου, υπηρεσίες τρίτων και τα κινητά των πολιτών.
Το να σπρώξεις το inference στο edge είναι η απόφαση πάνω στην οποία στηρίζονται όλα τα υπόλοιπα. Εξοικονομεί bandwidth, βγάζει τη διαδρομή μέχρι το cloud από αποφάσεις που πιέζονται χρονικά, όπως τα προσαρμοστικά φανάρια, και είναι το πρώτο μέτρο ιδιωτικότητας: εικόνες που δεν φεύγουν ποτέ από τη διασταύρωση δεν μπορούν να διαρρεύσουν από το data center.
Τα πρωτόκολλα ακολουθούν τη συσκευή
| Υποσύστημα | Ανάγκες | Πρωτόκολλα |
|---|---|---|
| Οδοφωτισμός, περιβαλλοντικοί αισθητήρες | Μικροσκοπικά μηνύματα, χαμηλή κατανάλωση, μεγάλη εμβέλεια | LoRaWAN, Zigbee / 6LoWPAN, Wi-Fi mesh ανάμεσα στα φωτιστικά, με MQTT ή CoAP από πάνω |
| Δημόσιες κάμερες | Μεγάλο bandwidth, χαμηλή καθυστέρηση | Ενσύρματο Ethernet ως τον κόμβο edge, 4G/5G με VPN πίσω στην πόλη, UDP για ζωντανό βίντεο στους χειριστές |
Τι μπορεί να πάει στραβά
- Ψεύτικα δεδομένα, πραγματικές συνέπειες. Ένας αλλοιωμένος αισθητήρας κυκλοφορίας που αναφέρει ανύπαρκτη συμφόρηση κάνει τον αυτοματισμό να εκτρέψει την κυκλοφορία ή να αλλάξει τους χρόνους στα φανάρια. Αν κάποιος πάρει τον έλεγχο του δικτύου φωτισμού, μπορεί να προκαλέσει σκόπιμο μπλακ άουτ. Επειδή τα υποσυστήματα εξαρτώνται το ένα από το άλλο, μια βλάβη μπορεί να προκαλέσει αλυσιδωτές αστοχίες.
- Η συσκευή ως πόρτα. Μια ευάλωτη κάμερα γίνεται το σημείο εισόδου, και χωρίς segmentation ο επιτιθέμενος κινείται πλευρικά ως τους κεντρικούς servers. Συσκευές με προεπιλεγμένα credentials στρατολογούνται σε botnets τύπου Mirai και χρησιμοποιούνται για DDoS.
- Φυσικές επιθέσεις. Ο εξοπλισμός βρίσκεται σε δημόσιο χώρο: κάμερες τυφλώνονται ή αφαιρούνται, περιβλήματα ανοίγονται για να βγουν κλειδιά από το hardware, και επιθέσεις στο firmware μπορούν να αχρηστεύσουν μια συσκευή μόνιμα.
- Παραβιάσεις ιδιωτικότητας. Μη εξουσιοδοτημένη πρόσβαση σε ζωντανές ροές καμερών, ή διαγραφή καταγεγραμμένων αποδείξεων.
Μέτρα, επίπεδο προς επίπεδο
- Segmentation. Οι κάμερες, ο φωτισμός, οι αισθητήρες και τα πληροφοριακά συστήματα του ίδιου του δήμου βρίσκονται σε ξεχωριστά VLANs ή SDN segments, και επιτρέπονται μόνο οι ροές που χρειάζονται μεταξύ τους. Μια παραβιασμένη κολόνα παραμένει απλώς μια παραβιασμένη κολόνα.
- Ταυτότητα συσκευών. Κάθε νόμιμη συσκευή παίρνει πιστοποιητικό από την PKI της πόλης, και συσκευές και servers αυθεντικοποιούν η μία την άλλη με mutual TLS πριν γίνουν δεκτά δεδομένα. Αυτό εμποδίζει έναν ψεύτικο κόμβο που φυτεύτηκε να τροφοδοτεί το σύστημα.
- Zero trust και ελάχιστα δικαιώματα. Πρόσβαση βάσει ρόλων, περιορισμός σκοπού (τα δεδομένα των καμερών χρησιμοποιούνται μόνο για τον σκοπό που συλλέχθηκαν) και πρόσβαση περιορισμένη χρονικά, ώστε, για παράδειγμα, η αστυνομία να βλέπει μία κάμερα για το διάστημα ενός περιστατικού και τίποτα πριν ή μετά.
- Κρυπτογράφηση και ακεραιότητα. TLS κατά τη μεταφορά, κρυπτογράφηση σε ηρεμία, και ένα log που δείχνει κάθε παραποίηση για το ποιος είδε τι.
- Παρακολούθηση. Τακτικό telemetry (σφάλματα, uptime, θερμοκρασία, κατανάλωση) και έλεγχοι διαθεσιμότητας· ένας κόμβος που σωπαίνει μπορεί να έχει παραβιαστεί. Η ανίχνευση ανωμαλιών σημαδεύει συσκευές των οποίων η συμπεριφορά αλλάζει, όπως ένα φωτιστικό που ξαφνικά τραβά περισσότερο ρεύμα ή στέλνει περισσότερη κίνηση.
Privacy by design
Ο σχεδιασμός αντιμετωπίζει τα προσωπικά δεδομένα ως κάτι που αποφεύγεις να συλλέξεις, όχι ως κάτι που προστατεύεις εκ των υστέρων:
- Ελαχιστοποίηση στο edge: από το σημείο της κάμερας φεύγουν μόνο ανώνυμα πλήθη και γεγονότα.
- Μάσκα στην πηγή: πρόσωπα και πινακίδες θολώνουν στον κόμβο edge όταν πρέπει να σταλεί βίντεο.
- Τεχνολογίες που ενισχύουν την ιδιωτικότητα: differential privacy για στατιστικά που μοιράζονται με τρίτους, federated learning ώστε τα μοντέλα να βελτιώνονται χωρίς κεντρική συλλογή εικόνων.
- Διακυβέρνηση: DPIA πριν από κάθε νέα τεχνολογία παρακολούθησης, συμβάσεις επεξεργασίας δεδομένων και έλεγχοι ασφαλείας για τους προμηθευτές, και συμμόρφωση με τον GDPR και, στην Ελλάδα, με τον Ν. 4961/2022, που θέτει υποχρεώσεις στους δημόσιους φορείς που εγκαθιστούν συσκευές IoT.
Τι έμαθα
Ξαναδιαβάζοντας τη δική μου αναφορά, θα έκανα πιο αυστηρούς τρεις ισχυρισμούς.
- Το hashing των πινακίδων είναι ψευδωνυμοποίηση, όχι ανωνυμοποίηση. Ο χώρος των πινακίδων είναι αρκετά μικρός ώστε να απαριθμηθεί, οπότε ένα απλό hash αντιστρέφεται με brute force. Ένα keyed hash (HMAC) με κλειδί που μένει στο edge και αλλάζει τακτικά είναι πολύ καλύτερο, αλλά το αποτέλεσμα παραμένει προσωπικό δεδομένο κατά τον GDPR.
- Δεν χρειάζεται blockchain για να φαίνεται η παραποίηση. Πρότεινα ένα για τα logs πρόσβασης. Ένα log μόνο-προσθήκης με hash chaining και υπογεγραμμένα checkpoints, σε αποθήκευση εγγραφής-μίας-φοράς, δίνει την ίδια εγγύηση με πολύ λιγότερο μηχανισμό. Ένα κατανεμημένο ledger αξίζει το κόστος του μόνο όταν πολλά μέρη που δεν εμπιστεύονται το ένα το άλλο πρέπει να μοιράζονται το log.
- Το «end-to-end κρυπτογράφηση» θέλει ακρίβεια. Αυτό που πραγματικά χρειάζεται ο σχεδιασμός είναι mutual TLS ανάμεσα σε συσκευές, edge και cloud, συν κρυπτογράφηση σε ηρεμία με πραγματική διαχείριση κλειδιών. Το end-to-end με την αυστηρή έννοια, όπου ούτε οι servers της ίδιας της πόλης δεν μπορούν να διαβάσουν τα δεδομένα, θα συγκρουόταν με τα analytics για τα οποία φτιάχτηκε ο σχεδιασμός.
Ατομικό project σχεδίασης για το MSc στην Κυβερνοασφάλεια & Επιστήμη Δεδομένων του Πανεπιστημίου Πειραιώς, βασισμένο σε δημοσιευμένη έρευνα και πρότυπα και όχι σε πραγματική εγκατάσταση.
Θέλεις τα configs ή τον κώδικα από αυτό το lab, ή έχεις κάποια ερώτηση; Στείλε μου email στο kostaspapas1023@gmail.com