SHARE THE PERSPECTIVE
Μια δοκιμή εκτός σύνδεσης πρέπει να έχει συγκεκριμένο αποτέλεσμα· ένα hash ή μια κρυπτογραφική επίδειξη δεν αποτελεί πλήρη έλεγχο του προϊόντος.

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

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

Τι δείχνει κάθε στοιχείο;

Στοιχείο Περιορισμένο και σωστό συμπέρασμα Τι δεν αποδεικνύεται αυτόματα
SHA-256 του αρχείου Το αρχείο ταιριάζει με το digest αναφοράς Ότι η πηγή αναφοράς είναι ειλικρινής ή ο κώδικας άψογος
Υπογραφή APK Η υπογραφή είναι έγκυρη για το πακέτο και συνδέεται με το κλειδί υπογραφής Ότι το κλειδί ανήκει στον εκδότη που εννοείτε, εκτός αν ελεγχθεί χωριστά
Διάνυσμα δοκιμής Οι καλυπτόμενες περιπτώσεις δίνουν την αναμενόμενη έξοδο Ότι καλύπτονται όλες οι περιπτώσεις και τα σφάλματα του προϊόντος
Αναπαραγώγιμη μεταγλώττιση Συγκεκριμένος πηγαίος κώδικας και περιβάλλον παράγουν ίδια έξοδο Ότι ο πηγαίος κώδικας δεν έχει ευπάθειες
Έλεγχος Έχουν εξεταστεί συγκεκριμένο πεδίο και έκδοση Ότι έχουν εγκριθεί και μεταγενέστερες αλλαγές και στοιχεία εκτός πεδίου

Ο ορισμός της αναπαραγώγιμης μεταγλώττισης βασίζεται σε συγκεκριμένες εισόδους και περιβάλλον. Το επίσημο εργαλείο apksigner του Android ελέγχει την υπογραφή APK· αυτό δεν είναι το ίδιο με τον υπολογισμό hash.

Ποιο είναι σήμερα το πεδίο του Livara Proof Lab;

Η σελίδα Proof Lab παρουσιάζει ένα τοπικό εργαλείο hash APK και επιδείξεις λειτουργιών P-256, HKDF και AES-GCM, μεταξύ άλλων την αλλαγή ενός bit για να φανεί η αποτυχία επαλήθευσης γνησιότητας. Η ίδια η σελίδα δηλώνει ρητά ότι ο πλήρης συνδυασμός LVR1/LGS1 βρίσκεται εκτός αυτού του πάγκου δοκιμών.

Γράψτε λοιπόν το σωστό συμπέρασμα ως εξής: «Αυτό το αρχείο ταίριαξε με το digest αναφοράς» ή «Αυτή η κρυπτογραφική επίδειξη απέρριψε την αλλοίωση που δοκιμάστηκε». Μην γράφετε «Ελέγχθηκε ανεξάρτητα ολόκληρο το υβριδικό πρωτόκολλο και όλη η εγκατεστημένη έκδοση». Αυτό το άρθρο δεν αναφέρει νέα δοκιμή εκτέλεσης του εργαλείου.

Πώς προετοιμάζεται μια επαναλήψιμη δοκιμή εκτός σύνδεσης;

  1. Ορίστε τον στόχο. Θέλετε να ελέγξετε την ταυτότητα ενός αρχείου ή τη συμπεριφορά μιας κρυπτογραφικής λειτουργίας;
  2. Καταγράψτε έκδοση και πηγή. Το όνομα APK, ο αριθμός έκδοσης, η διεύθυνση λήψης και το digest της ίδιας έκδοσης πρέπει να συνδέονται μεταξύ τους.
  3. Προετοιμάστε εργαλείο και είσοδο από αξιόπιστη πηγή. Η αποσύνδεση δεν καθιστά αξιόπιστο κώδικα που ήταν εξαρχής κακόβουλος.
  4. Χρησιμοποιήστε μη ευαίσθητα δεδομένα δοκιμής. Η κρυπτογραφική επίδειξη δεν χρειάζεται ιδιωτικό μήνυμα ή πραγματικό μυστικό.
  5. Αποσυνδεθείτε και επαναλάβετε τη δοκιμή. Αυτό εξετάζει την εξάρτηση από ζωντανή απάντηση, όχι την εμπιστοσύνη στον ήδη ληφθέντα κώδικα.
  6. Καταγράψτε αποτέλεσμα και σφάλματα. Μην αντικαθιστάτε διαφορές έκδοσης, αποτυχίες φόρτωσης και μη αναμενόμενη έξοδο με «επιτυχία».

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

Πώς διαφέρει το διάνυσμα δοκιμής από την επίσημη πιστοποίηση;

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

Το NIST CAVP διαθέτει διαδικασία επικύρωσης αλγορίθμων. Η εκτέλεση λίγων δημόσιων διανυσμάτων στον περιηγητή δεν ισοδυναμεί με απόκτηση πιστοποιητικού επικύρωσης· ούτε η χρήση τυποποιημένου αλγορίθμου καθιστά αυτόματα πιστοποιημένο το προϊόν.

Τι να ζητάμε όταν συγκρίνουμε εφαρμογές μηνυμάτων;

Για Livara, Signal, WhatsApp, Session ή Element, θέστε τα ίδια ερωτήματα: Ποια είναι η ακριβής έκδοση; Ποιο είναι το επίσημο αρχείο; Πώς επαληθεύεται το κλειδί υπογραφής ή το digest αναφοράς; Ποιες δοκιμές μπορούν να εκτελεστούν; Ποιος κώδικας και ποια στοιχεία περιλαμβάνονταν στην έκθεση ελέγχου;

Αυτό το άρθρο δεν είναι κατάταξη αυτών των προϊόντων βάσει δοκιμών. Η απουσία εργαλείου μίας σελίδας δεν αποδεικνύει απουσία στοιχείων ασφαλείας· ούτε η παρουσία του αποδεικνύει υπεροχή όλου του προϊόντος. Συγκρίνετε την επίσημη τεκμηρίωση της ίδιας έκδοσης και την επαναλήψιμη έκθεση.

Ένα χρήσιμο φύλλο αποτελεσμάτων

Στη σύντομη έκθεσή σας καταγράψτε: στόχο, έκδοση, πηγή αρχείου, hash, εργαλείο και έκδοσή του, κατάσταση δικτύου, μη ευαίσθητη είσοδο, αναμενόμενη έξοδο, παρατηρηθείσα έξοδο και περιορισμούς. Αν δεν έγινε κάποια άλλη δοκιμή, σημειώστε «δεν δοκιμάστηκε».

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

Εκτέλεση δοκιμής στο Proof Lab
CONTINUE THE THREADAndroid & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗