SHARE THE PERSPECTIVE

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

Η διάκριση αυτών των ισχυρισμών κάνει χρησιμότερη τόσο την κρυπτογράφηση όσο και την επαλήθευση λογισμικού.

Γιατί η σάρωση στη συσκευή αλλάζει το όριο ιδιωτικότητας

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

Η ερευνητική εργασία Bugs in our Pockets εξετάζει κινδύνους όπως κατάχρηση, ψευδώς θετικά αποτελέσματα και πρόσθετη επιφάνεια επίθεσης. Αυτοί είναι λόγοι να εξετάζονται οι ροές δεδομένων και η διακυβέρνηση ενός προτεινόμενου συστήματος σάρωσης. Δεν αποδεικνύουν ότι κάθε λειτουργία στη συσκευή αποτελεί επιτήρηση ή ότι ένας συγκεκριμένος νόμος επέβαλε καθολική απαίτηση σάρωσης.

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

Τέσσερις διαφορετικές μορφές τεκμηρίωσης λογισμικού

Έλεγχος Τι μπορεί να τεκμηριώσει Τι δεν μπορεί να τεκμηριώσει μόνος του
Άθροισμα ελέγχου SHA-256 Το αρχείο αντιστοιχεί σε μια έμπιστη τιμή κατακερματισμού αναφοράς Ότι το πρόγραμμα αναφοράς είναι ασφαλές ή αντιστοιχεί στον πηγαίο κώδικα
Επαλήθευση υπογραφής APK Η υπογραφή του πακέτου επαληθεύεται και προσδιορίζει ένα πιστοποιητικό υπογραφής Ότι ο υπογράφων είναι αξιόπιστος ή ο κώδικας δεν έχει ανεπιθύμητη συμπεριφορά
Αναπαραγώγιμη μεταγλώττιση Ο καθορισμένος πηγαίος κώδικας και οι είσοδοι μεταγλώττισης μπορούν να παράγουν τα αναμενόμενα τεχνουργήματα Ότι ο πηγαίος κώδικας δεν έχει ευπάθειες ή επιβλαβή λογική
Ανεξάρτητη αξιολόγηση και δοκιμές Ευρήματα για καθορισμένη έκδοση και εύρος Μόνιμη εγγύηση που καλύπτει κάθε μελλοντική ενημέρωση

Η τεκμηρίωση apksigner του Android εξηγεί την επαλήθευση πακέτων και την αναφορά πιστοποιητικών. Ο ορισμός του Reproducible Builds εξηγεί γιατί ο πηγαίος κώδικας, το περιβάλλον μεταγλώττισης και οι οδηγίες έχουν όλα σημασία κατά την αναπαραγωγή ενός τεχνουργήματος.

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

Πώς να ελέγξετε μια λήψη χωρίς να υπερερμηνεύσετε το αποτέλεσμα

Πρώτα προσδιορίστε την επιθυμητή έκδοση και αποκτήστε το APK και την αναμενόμενη τιμή κατακερματισμού από αξιόπιστη διαδρομή διανομής. Υπολογίστε την τιμή τοπικά. Αν διαφέρει, μην εγκαταστήσετε το αρχείο όσο η απόκλιση παραμένει ανεξήγητη: διαφορετική έκδοση, ελλιπής λήψη ή παραποίηση μπορούν να προκαλέσουν ασυμφωνία.

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

Για έναν ισχυρισμό αντιστοιχίας πηγαίου κώδικα και δυαδικού αρχείου, αναζητήστε τεκμηριωμένες οδηγίες μεταγλώττισης και ανεξάρτητα αναπαραγμένα αποτελέσματα για την πραγματική έκδοση. Μη συμπεραίνετε αυτή την ιδιότητα από τις λέξεις «ανοικτός κώδικας».

Οι ενημερώσεις παραμένουν σημαντικές

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

Τι τεκμηριώνει το Proof Lab της Livara

Το Proof Lab της Livara προσφέρει τοπική σύγκριση τιμών κατακερματισμού APK και κρυπτογραφικές επιδείξεις στο πρόγραμμα περιήγησης. Η σελίδα δηλώνει ότι δεν εκτελεί τους πλήρεις μηχανισμούς ratchet LVR1/LGS1 και δεν αποτελεί έλεγχο πρωτοκόλλου. Το μοντέλο απειλών εξηγεί επίσης τον περιορισμό όταν ένας επιτιθέμενος μπορεί να αντικαταστήσει τόσο ένα αρχείο όσο και την αναμενόμενη τιμή κατακερματισμού του.

Αυτοί οι έλεγχοι είναι χρήσιμοι εντός του εύρους τους. Δεν αποδεικνύουν ότι ένα τηλέφωνο με εγκατεστημένη την εφαρμογή είναι απαλλαγμένο από κακόβουλο λογισμικό, ότι η Livara έχει ανεξάρτητα αναπαραγώγιμες εκδόσεις ή ότι η εφαρμογή της δεν μπορεί να περιέχει αδήλωτη συμπεριφορά. Διαβάστε χωριστά την τεκμηρίωση ασφαλείας για τα δηλωμένα όρια προστασίας μηνυμάτων.

Το σωστό ερώτημα δεν είναι αν ένα σήμα γράφει «επαληθευμένο». Είναι ποιος ισχυρισμός δοκιμάστηκε, έναντι ποιας έμπιστης αναφοράς, για ποια ακριβώς έκδοση.

Επαληθεύστε την εφαρμογή σας στο Proof Lab
CONTINUE THE THREADAndroid & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗