Το Galaxus ανέφερε ότι εγγραφές από κάμερες παρακολούθησης μωρού ήταν ελεύθερα προσβάσιμες, ενώ το The Verge έκανε λόγο για περίπου 1,1 εκατομμύρια επηρεαζόμενες συσκευές Meari. Για μένα, το συμπέρασμα είναι απλό: μια διαδικασία σύνδεσης δεν προστατεύει το παιδικό δωμάτιο, αν η πλατφόρμα που βρίσκεται πίσω της δεν διαχωρίζει σωστά τα μηνύματα, τις εικόνες και τα κλειδιά ανά συσκευή. Το Timmy δεν λύνει κάθε πρόβλημα ασφαλείας. Ωστόσο, τα κρίσιμα μυστικά πολυμέσων και σύζευξης του Timmy δεν αποθηκεύονται σε μια πλατφόρμα καμερών cloud.
Τι φαίνεται να απέτυχε στην υπόθεση Meari
Οι δημόσιες αναφορές περιγράφουν μια πλατφόρμα που διατίθεται με την επωνυμία διαφορετικών εταιρειών. Πολλές εμπορικές μάρκες πωλούσαν κάμερες που βασίζονταν στην ίδια υποδομή Meari/CloudEdge. Γι’ αυτό το περιστατικό έχει σημασία: όταν μια κοινή πλατφόρμα ορίζει λανθασμένα τα όρια εξουσιοδότησης, το αποτέλεσμα δεν είναι μία ευάλωτη κάμερα, αλλά η έκθεση ενός ολόκληρου στόλου συσκευών.
Το μοτίβο που αναφέρθηκε ξεπερνά τους αδύναμους προεπιλεγμένους κωδικούς. Οι πηγές περιγράφουν μηνύματα MQTT χωρίς επαρκείς ελέγχους συνδρομής ανά συσκευή, δημόσια προσβάσιμα URL εικόνων, αδύναμη απόκρυψη εικόνων και στατικά ή εξαγώγιμα από την εφαρμογή κλειδιά. Πρόκειται για αποτυχία της πλατφόρμας: η υποδομή μπορούσε να αποκαλύψει δεδομένα που δεν έπρεπε ποτέ να είναι διαθέσιμα σε διαφορετικό λογαριασμό.
| Κίνδυνοι των καμερών cloud | Η διαφορετική σχεδιαστική προσέγγιση του Timmy |
|---|---|
| Το backend αποθηκεύει ή διανέμει συμβάντα που περιέχουν εικόνες. | Το Timmy δεν διαθέτει αρχείο cloud για εικόνες από το παιδικό δωμάτιο· τα πολυμέσα μεταδίδονται ζωντανά μέσω WebRTC. |
| Ένας διαμεσολαβητής μηνυμάτων ή ένας χώρος αποθήκευσης πρέπει να εξουσιοδοτεί άψογα κάθε συσκευή. | Το Firestore μεταφέρει μόνο δεδομένα ζευγοποίησης και σηματοδότησης· τα SDP/ICE κρυπτογραφούνται πριν εγγραφούν. |
| Τα στατικά κλειδιά μπορούν να επηρεάσουν ολόκληρο στόλο συσκευών. | Κάθε ζευγοποίηση δημιουργεί στις συσκευές το δικό της κλειδί που παράγεται με P-256 ECDH. |
| Μια διαδρομή relay μπορεί να εκληφθεί λανθασμένα ως πρόσβαση στα πολυμέσα. | Το TURN προωθεί κρυπτογραφημένα πακέτα SRTP, αλλά δεν λαμβάνει κλειδιά πολυμέσων. |
Πώς το Timmy δημιουργεί το μυστικό
Ο κωδικός Timmy των τεσσάρων χαρακτήρων δεν αποτελεί σκόπιμα το μυστικό. Στον κώδικα λειτουργεί μόνο ως σημείο συνάντησης: η εφαρμογή παράγει ένα meetingKey από αυτόν, ώστε και οι δύο συσκευές να μπορούν να εντοπίσουν την ίδια ανταλλαγή δημόσιων κλειδιών στο Firestore. Τα ιδιωτικά κλειδιά ECDH δεν εγκαταλείπουν ποτέ τις συσκευές.
Στη συνέχεια, και οι δύο συσκευές υπολογίζουν το ίδιο κοινό μυστικό P-256 ECDH. Το κλειδί ζευγοποίησης παράγεται τοπικά. Το διψήφιο SAS παράγεται από το κοινό μυστικό και τα δύο ταξινομημένα δημόσια κλειδιά. Αν αυτή η ανταλλαγή κλειδιών παραποιηθεί, οι συσκευές εμφανίζουν διαφορετικούς αριθμούς, ενημερώνοντας τους χρήστες να μην επιβεβαιώσουν τη ζευγοποίηση.
sequenceDiagram
participant Baby as Baby device
participant Firestore as Firestore meeting point
participant Parent as Parent device
participant Turn as TURN relay
Baby->>Baby: Generate P-256 ECDH keypair
Parent->>Parent: Generate P-256 ECDH keypair
Baby->>Firestore: Write public key only under meetingKey
Parent->>Firestore: Write public key only under meetingKey
Firestore-->>Baby: Parent public key
Firestore-->>Parent: Baby public key
Baby->>Baby: Compute sharedSecret + SAS
Parent->>Parent: Compute sharedSecret + SAS
Baby-->>Parent: Humans compare SAS on both screens
Baby->>Firestore: Write SDP/ICE encrypted with AES-256-GCM
Parent->>Firestore: Write SDP/ICE encrypted with AES-256-GCM
Baby-)Turn: WebRTC media as DTLS/SRTP packets
Turn-)Parent: Relay forwards encrypted packets
Note over Turn: TURN sees network metadata, not media keys
Απλοποιημένη αλυσίδα ασφάλειας του Timmy: το Firestore είναι το σημείο συνάντησης και η μεταφορά σηματοδότησης· το TURN είναι μόνο relay· τα πολυμέσα παραμένουν κρυπτογραφημένα με WebRTC.
Γιατί κανείς δεν μπορεί να παρακολουθεί κρυφά τα πολυμέσα WebRTC
Το WebRTC δεν σημαίνει απλώς «στείλε βίντεο». Πριν αρχίσει η ροή πολυμέσων, οι συσκευές εκτελούν μια χειραψία DTLS. Τα κλειδιά SRTP για τον ήχο και το βίντεο παράγονται μέσω αυτής της ασφαλούς σύνδεσης. Στη συνέχεια, τα πακέτα πολυμέσων κρυπτογραφούνται με SRTP. Ένας διακομιστής TURN μπορεί να προωθεί αυτά τα πακέτα, αλλά δεν λαμβάνει τα κλειδιά που απαιτούνται για την αποκρυπτογράφηση του ήχου ή του βίντεο.
Το Timmy προσθέτει ένα προηγούμενο επίπεδο προστασίας: δεδομένα σηματοδότησης, όπως προσφορές SDP, απαντήσεις SDP και υποψήφιοι ICE, κρυπτογραφούνται με AES-256-GCM προτού φτάσουν στο Firestore. Το Firestore βοηθά τις συσκευές να διαπραγματευτούν τη σύνδεση· δεν προορίζεται για την αποθήκευση μη κρυπτογραφημένου βίντεο, ήχου ή δεδομένων σηματοδότησης.
Τι δεν ισχυρίζεται το Timmy
Καμία σοβαρή βρεφική ενδοεπικοινωνία δεν πρέπει να ισχυρίζεται ότι είναι απαραβίαστη. Αν ένα τηλέφωνο παραβιαστεί, μπορεί να γίνει επίθεση σε οποιαδήποτε εφαρμογή. Μια κακόβουλη έκδοση της εφαρμογής αλλάζει το μοντέλο κινδύνου. Η διαμόρφωση των διακομιστών πρέπει επίσης να παραμένει σωστή. Ο πιο περιορισμένος ισχυρισμός του Timmy αφορά την αρχιτεκτονική του: αποφεύγει τη δημιουργία αρχείων πολυμέσων από το παιδικό δωμάτιο τα οποία θα μπορούσε να διαβάσει το backend και επιτρέπει τον έλεγχο της κρίσιμης για την ασφάλεια λογικής σύζευξης στο δημόσια διαθέσιμο βασικό έργο.
Ερωτήσεις που αξίζει να κάνετε για κάθε κάμερα παρακολούθησης μωρού
- Αποθηκεύει ο πάροχος εικόνες ή κλιπ;
- Είναι τα URL πολυμέσων ιδιωτικά, βραχύβια και εξουσιοδοτημένα ανά συσκευή;
- Τα κλειδιά παράγονται ανά συσκευή ή ζευγοποίηση, αντί να είναι στατικά μέσα σε μια εφαρμογή;
- Μπορεί ο διαμεσολαβητής μηνυμάτων να παραδίδει μόνο τα μηνύματα της συσκευής που πραγματικά σας ανήκει;
- Επιτρέπει η διαδικασία σύζευξης στον χρήστη να αντιληφθεί μια επίθεση ενδιάμεσου μέρους;
Διαβάστε τον κώδικα
- ECDH και SAS στο Timmy Core
- Κλειδί συνάντησης, κλειδί εγγράφου και AES-GCM
- Κανόνες Firestore για συνεδρίες και ζευγοποίηση
- Τεκμηρίωση ασφάλειας στο βασικό έργο
Πηγές
- Ελεύθερα προσβάσιμες εγγραφές από κάμερες παρακολούθησης μωρού · Galaxus
- Ένα εκατομμύριο συσκευές βρεφικής ενδοεπικοινωνίας και κάμερες ασφαλείας μπορούσαν να προβληθούν εύκολα από χάκερ · The Verge
- κανείς δεν βάζει το μωρό στη γωνία · Sammy Azdoufal
- Οδηγός γονέων για το ίδιο περιστατικό · Baby Monitor Timmy