Πριν εγκαταστήσετε ένα αρχείο APK, η αντιπαραβολή του hash SHA-256 μπορεί να δείξει ότι το αρχείο σας είναι ίδιο με την έκδοση για την οποία διαθέτετε αξιόπιστο hash. Αυτός ο έλεγχος είναι χρήσιμος, αλλά δεν αποδεικνύει από μόνος του ότι η εφαρμογή δεν έχει ευπάθειες ή κακόβουλο λογισμικό.
Για ασφαλή λήψη τίθενται τρία ξεχωριστά ερωτήματα: από πού προήλθε το αρχείο, αν άλλαξε κατά τη μεταφορά και ποια στοιχεία υπάρχουν για τον κώδικα που περιέχει; Κανένα hash από μόνο του δεν απαντά και στα τρία.
Τι κάνει το hash ενός αρχείου;
Το SHA-256 παράγει από το περιεχόμενο του αρχείου μια τιμή σταθερού μήκους. Αν αλλάξει το αρχείο, αναμένεται να αλλάξει και το hash του. Επομένως, η σύγκριση δύο hash είναι ένας πρακτικός τρόπος ελέγχου της ταυτότητας των byte του αρχείου.
Το αποτέλεσμα είναι αξιόπιστο μόνο στον βαθμό που είναι αξιόπιστη η πηγή αναφοράς. Αν ένας επιτιθέμενος μπορεί να αντικαταστήσει τόσο το APK όσο και το hash που εμφανίζεται δίπλα του, η αντιστοιχία των τιμών δεν αποκαλύπτει το πρόβλημα. Το μοντέλο απειλών του Livara εξηγεί επίσης αυτόν τον περιορισμό του ελέγχου αρχείων.
Πώς να ελέγξετε πριν από την εγκατάσταση
Προσδιορίστε την επιθυμητή έκδοση. Συγκρίνετε το όνομα προϊόντος, τον αριθμό έκδοσης και τον τύπο πακέτου με τη σελίδα κυκλοφορίας. Τα αρχεία δύο διαφορετικών εκδόσεων συνήθως δεν έχουν ίδιο hash.
Πάρτε το αναμενόμενο hash από αξιόπιστη πηγή. Μην αρκείστε σε ανώνυμο μήνυμα που στέλνει μαζί το αρχείο και το hash. Επαληθεύστε ανεξάρτητα τη διεύθυνση του επίσημου ιστοτόπου.
Υπολογίστε το hash του αρχείου που κατεβάσατε. Το Proof Lab του Livara παρέχει εργαλείο σύγκρισης hash APK. Μη συγχέετε αυτό το εργαλείο με πλήρη δοκιμή ασφάλειας της εφαρμογής.
Συγκρίνετε ολόκληρη την τιμή. Δεν αρκούν οι πρώτοι ή οι τελευταίοι χαρακτήρες. Ελέγξτε επίσης μήπως κάνατε λάθος στην ονομασία της έκδοσης ή στην επιλογή του αρχείου.
Αν υπάρχει διαφορά, σταματήστε την εγκατάσταση. Η διαφορά μπορεί να οφείλεται σε διαφορετική έκδοση, ελλιπή λήψη ή αλλαγή του αρχείου· δεν αποτελεί από μόνη της απόδειξη κακόβουλου λογισμικού. Μην εγκαταστήσετε το αρχείο ώσπου να διευκρινιστεί η αιτία και ελέγξτε ξανά μέσω της επίσημης οδού.
Αυτός ο οδηγός δεν δίνει κανένα ενδεικτικό hash ως «ασφαλή έκδοση», επειδή η σωστή τιμή εξαρτάται από το συγκεκριμένο αρχείο κυκλοφορίας.
Πώς διαφέρουν το hash, η υπογραφή και η αναπαραγώγιμη κατασκευή;
| Έλεγχος | Συμπέρασμα που μπορεί να υποστηρίξει | Τι δεν αποδεικνύει από μόνος του |
|---|---|---|
| Hash SHA-256 | Το αρχείο είναι ίδιο με την πηγή αναφοράς | Ο κώδικας είναι ασφαλής ή ο εκδότης αξιόπιστος |
| Υπογραφή APK | Το αρχείο έχει υπογραφεί με συγκεκριμένο κλειδί και ο έλεγχος υπογραφής είναι έγκυρος | Ο κάτοχος του κλειδιού δεν δημοσιεύει ποτέ κακόβουλο κώδικα |
| Αναπαραγώγιμη κατασκευή | Με συγκεκριμένο πηγαίο κώδικα, περιβάλλον και οδηγίες μπορούν να παραχθούν τα ίδια byte | Ο πηγαίος κώδικας δεν έχει ελαττώματα ασφάλειας |
| Έλεγχος ασφάλειας κώδικα | Έχουν εντοπιστεί ή αξιολογηθεί προβλήματα στο εξετασμένο πεδίο και στην εξετασμένη έκδοση | Δεν παραμένει κανένα άγνωστο ελάττωμα |
Το επίσημο εργαλείο apksigner του Android χρησιμεύει για τον έλεγχο υπογραφών APK και πληροφοριών πιστοποιητικών. Επίσης, η νέα εγκατάσταση και η ενημέρωση υπάρχουσας εφαρμογής δεν είναι το ίδιο· για ενημερώσεις το Android ελέγχει τη συμβατότητα του υπογράφοντος. Μια έγκυρη υπογραφή άγνωστου εκδότη δεν αρκεί για να τον εμπιστευτείτε.
Ο ορισμός της αναπαραγώγιμης κατασκευής απαιτεί επίσης συγκεκριμένο πηγαίο κώδικα και περιβάλλον κατασκευής. Η αντιστοίχιση του hash της λήψης δεν αντικαθιστά αυτή τη διαδικασία.
Ποιο είναι το πεδίο του Proof Lab;
Εκτός από το hash αρχείων, η σελίδα Proof Lab διαθέτει μια επίδειξη κρυπτογραφίας στο πρόγραμμα περιήγησης. Η επιτυχής επίδειξη μιας κρυπτογραφικής λειτουργίας δεν είναι πλήρης έλεγχος της εγκατεστημένης εφαρμογής ούτε πλήρης εκτέλεση των πρωτοκόλλων της υπηρεσίας μηνυμάτων. Το εργαλείο πρέπει επίσης να εκτελείται σε αξιόπιστο περιβάλλον· μια μολυσμένη συσκευή ή σελίδα μπορεί να εμφανίσει παραπλανητικό αποτέλεσμα.
Μετά την εγκατάσταση εξακολουθούν να έχουν σημασία οι ενημερώσεις, τα δικαιώματα της εφαρμογής και η ασφάλεια της συσκευής. Η επαλήθευση του σημερινού αρχείου δεν επαληθεύει αυτόματα μια μελλοντική έκδοση.
Η αντιστοίχιση hash είναι ένας συγκεκριμένος έλεγχος στην αλυσίδα εμπιστοσύνης· έχει μεγαλύτερη αξία όταν γνωρίζετε επίσης την πηγή κυκλοφορίας, τον υπογράφοντα και τα όρια του αποτελέσματος.



