Ιστολόγιο

Γιατί οι εφαρμογές baby monitor χρειάζονται έναν ελέγξιμο πυρήνα ασφάλειας

Η αίσθηση σιγουριάς δεν αρκεί όταν πρόκειται για baby monitor. Τα κρίσιμα μέρη πρέπει να μπορούν να ελεγχθούν.

Το πρόβλημα: τυφλή εμπιστοσύνη

Όταν εγκαθιστάτε μια εφαρμογή baby monitor, της δίνετε πρόσβαση σε έναν πολύ ιδιωτικό χώρο: το παιδικό δωμάτιο του μωρού σας. Η εφαρμογή ακούει και μερικές φορές βλέπει κιόλας. Ταυτόχρονα, οι γονείς συχνά δεν μπορούν να γνωρίζουν τι συμβαίνει στο παρασκήνιο: περνούν οι μεταδόσεις από διακομιστές τρίτων; Συλλέγονται δεδομένα χρήσης; Ποιος μπορεί, από τεχνικής άποψης, να αποκτήσει πρόσβαση;

Η ειλικρινής απάντηση είναι ότι, με πολλές εφαρμογές, δεν το γνωρίζετε. Ο κώδικας είναι κλειστός και η αρχιτεκτονική παραμένει απλώς ένας ισχυρισμός. Στο τέλος, σας ζητούν να εμπιστευτείτε τον πάροχο.

Κλειστός κώδικας, ανοιχτά κενά ασφαλείας

Τα τελευταία χρόνια υπήρξαν αρκετές αναφορές για παραβιασμένα baby monitor. Άγνωστοι μπορούσαν να ακούσουν, να χειριστούν κάμερες ή να μιλήσουν μέσω των ηχείων. Τις περισσότερες φορές δεν επρόκειτο για εξωτικές επιθέσεις, αλλά για σοβαρές αστοχίες: μη κρυπτογραφημένες συνδέσεις, προεπιλεγμένους κωδικούς και ελλιπή έλεγχο ταυτότητας.

Με ιδιόκτητο λογισμικό, οι άνθρωποι εκτός της εταιρείας συχνά βλέπουν αυτές τις αδυναμίες μόνο αφού συμβεί κάτι. Οι ερευνητές ασφάλειας, οι ανεξάρτητοι προγραμματιστές και οι γονείς μπορούν να εξετάσουν το έτοιμο προϊόν μόνο απ' έξω. Για μια συσκευή στο παιδικό δωμάτιο, αυτό είναι ένα ανεπαρκές μοντέλο ασφάλειας.

Η διαφάνεια ως αρχή ασφάλειας

Η ασφάλεια πληροφοριών έχει έναν παλιό, χρήσιμο κανόνα: η αρχή του Kerckhoffs. Η ασφάλεια δεν πρέπει να εξαρτάται από το να παραμένει μυστικός ο σχεδιασμός. Ένα σύστημα πρέπει να παραμένει ασφαλές ακόμη κι όταν κάποιος γνωρίζει πώς είναι κατασκευασμένο.

Ο κώδικας που τεκμηριώνεται ανοιχτά δεν κάνει από μόνος του το λογισμικό ασφαλές. Κάνει όμως τους ισχυρισμούς ελέγξιμους. Άνθρωποι που γνωρίζουν το αντικείμενο μπορούν να εξετάζουν τις ροές δεδομένων, την εξαγωγή κρυπτογραφικών κλειδιών και τους κανόνες, αντί να διαβάζουν διαφημιστικά κείμενα.

Η προσέγγιση του Timmy: ένας ξεχωριστός πυρήνας ασφάλειας

Στο Timmy, πλέον ξεχωρίζω πολύ καθαρά ποια μέρη είναι πραγματικά κρίσιμα για την ασφάλεια. Δεν καθορίζει κάθε γραμμή του περιβάλλοντος χρήστη αν το προϊόν αξίζει εμπιστοσύνη. Τα καθοριστικά στοιχεία είναι η λογική του backend, τα συμβόλαια σηματοδότησης, η κρυπτογραφία σύζευξης και το ποια δεδομένα φτάνουν σε έναν διακομιστή.

Γι' αυτό ο πυρήνας ασφάλειας βρίσκεται πλέον στο δημόσιο αποθετήριο baby-monitor-timmy-core. Ο πλήρης κώδικας της εφαρμογής δεν είναι δημόσιος αυτή τη στιγμή. Τα κρίσιμα για την ασφάλεια δομικά στοιχεία έχουν διαχωριστεί από το περιβάλλον χρήστη και τη λογική του προϊόντος, ώστε να μπορούν να τεκμηριώνονται και να ελέγχονται ξεχωριστά.

Τι σημαίνει αυτό στην πράξη;

Συμπέρασμα: οι γονείς αξίζουν διαφάνεια

Όταν μια εφαρμογή έχει πρόσβαση στο παιδικό δωμάτιο, πρέπει να δίνει σαφείς απαντήσεις στα κρίσιμα ερωτήματα: Ποια δεδομένα δημιουργούνται; Πού πηγαίνουν; Ποιος μπορεί να τα διαβάσει; Οι γονείς αξίζουν περισσότερα από ένα σήμα ιδιωτικότητας στο υποσέλιδο.

Το Baby Monitor Timmy πρέπει να δείχνει ότι ένα καλό προϊόν και η ελέγξιμη ασφάλεια μπορούν να συνυπάρχουν. Για μένα, αυτό δεν σημαίνει να δημοσιοποιείται κάθε γωνιά της εφαρμογής. Σημαίνει να ανοίγουν τα μέρη που καθορίζουν τη σύζευξη, τη σηματοδότηση, την πρόσβαση στο backend και τις ροές δεδομένων.


Περισσότερα άρθρα