Ένα πιθανό ελάττωμα ασφαλείας στο API Autofill του Android Oreo επιτρέπει στους διαχειριστές κωδικών πρόσβασης να διαρρέουν δεδομένα όπως κωδικοί πρόσβασης, διευθύνσεις ή πιστωτικές κάρτες.
Αυτόματη συμπλήρωση είναι ένα από τα μεγαλύτερα και δημοσιοποιημένα νέα χαρακτηριστικά που παρουσιάστηκαν με την κυκλοφορία του Android 8.0 Oreo. Πολλές διαφορετικές εφαρμογές διαχείρισης κωδικών πρόσβασης, όπως το LastPass, έχουν ήδη εφαρμόσει αυτό το νέο API στις εφαρμογές τους. Και ενώ μπορεί να αποδειχθεί αρκετά η βελτίωση Σε σχέση με τις προηγούμενες εφαρμογές Αυτόματης Συμπλήρωσης που χρησιμοποιούν τις Υπηρεσίες Προσβασιμότητας, υπάρχει ένα πιθανό ελάττωμα ασφαλείας που πρέπει να λάβετε υπόψη. Τον περασμένο μήνα, δημοσιεύτηκε μια λευκή βίβλος στο GitHub, που τεκμηριώνει ένα εγγενές ελάττωμα στο API αυτόματης συμπλήρωσης Android Oreo που θα μπορούσε ενδέχεται να οδηγήσει στη διαρροή περισσότερων προσωπικών σας δεδομένων από τον διαχειριστή κωδικών πρόσβασης από όσα του είχατε δώσει άδεια. Θα κάνουμε μια γρήγορη σύνοψη της λευκής βίβλου που έγραψε ο Mark Murphy (περισσότερο γνωστός ως
CommonsWare) και δημοσιεύτηκε στη σελίδα του στο GitHub στις 8 Αυγούστου 2017.Πιθανό ελάττωμα διαρροής δεδομένων στο API αυτόματης συμπλήρωσης του Android Oreo
Πώς λειτουργεί το ελάττωμα;
Η εφαρμογή αυτόματης συμπλήρωσης στο Android Nougat (και στις χαμηλότερες εκδόσεις) και σε προγράμματα περιήγησης όπως το Google Chrome, είναι κάτι πολύ απλό. Συνήθως, οι εφαρμογές διαχείρισης κωδικού πρόσβασης χρησιμοποιούν τις Υπηρεσίες Προσβασιμότητας για να σαρώσουν τα περιεχόμενα της οθόνης για ένα πλαίσιο σύνδεσης και να προτείνουν δεδομένα αυτόματης συμπλήρωσης με βάση αυτά που βρίσκει. Ενώ λειτούργησε, αυτό μπορεί να προκαλέσει σημαντική καθυστέρηση.
Στο Android Oreo, αυτό λειτουργεί κάπως διαφορετικά, καθώς οι εφαρμογές κωδικών πρόσβασης υποστηρίζονται πλέον επίσημα με το Autofill API. Οι εφαρμογές κωδικών πρόσβασης τρίτων δεν απαιτούν πλέον Υπηρεσίες Προσβασιμότητας, καθώς μπορούν πλέον να εκπληρώσουν το ρόλο μιας υπηρεσίας αυτόματης συμπλήρωσης, επικοινωνώντας με τις εφαρμογές μέσω του Πλαισίου Αυτόματης Συμπλήρωσης. Όταν ο χρήστης εστιάζει σε ένα γραφικό στοιχείο, το σύστημα θα συσκευάσει ορισμένες πληροφορίες σχετικά με αυτό το γραφικό στοιχείο/φόρμα και θα τις στείλει στην εφαρμογή αυτόματης συμπλήρωσης. Στη συνέχεια, η εφαρμογή επιστρέφει σχετικά δεδομένα αυτόματης συμπλήρωσης, όπως κωδικούς πρόσβασης, email, πιστωτικές κάρτες ή οποιοδήποτε άλλο είδος ευαίσθητων δεδομένων. Το σύστημα Android λειτουργεί ως ενδιάμεσος μεταξύ της εφαρμογής που αποθηκεύει τα δεδομένα και αυτής που τα ζητά.
Ωστόσο, κακόβουλες εφαρμογές ή κακόβουλο λογισμικό μπορούν πραγματικά να επωφεληθούν από τη δυνατότητα αυτόματης συμπλήρωσης για να λάβουν περισσότερα δεδομένα για τον εαυτό τους. Μια κακόβουλη δραστηριότητα μπορεί ζητήστε να εισαχθούν πρόσθετα δεδομένα αυτόματης συμπλήρωσης με ένα αόρατο ή κρυφό γραφικό στοιχείο. Ενώ ο χρήστης συμφωνεί να συμπληρώσει ένα από τα ορατά γραφικά στοιχεία, όπως μια φόρμα σύνδεσης ή κάτι παρόμοιο, το αόρατο γραφικό στοιχείο λαμβάνει επίσης πρόσθετα δεδομένα χωρίς να το βλέπετε εσείς. Αυτό μπορεί να είναι πραγματικά επικίνδυνο εάν αυτές οι πληροφορίες που διέρρευσαν είναι ο κωδικός πρόσβασης, η διεύθυνση ή τα στοιχεία της πιστωτικής σας κάρτας!
Τα παραπάνω στιγμιότυπα οθόνης παρουσιάζουν μια κακόβουλη δοκιμαστική εφαρμογή που εκμεταλλεύεται αυτό το ελάττωμα ασφαλείας.
Η απάντηση της Google στο πρόβλημα
Σύμφωνα με το CommonsWare, αυτό το ζήτημα ασφαλείας δεν έχει ακόμη δημοσιευμένη λύση από την Google. Ωστόσο, γνωρίζουμε ότι η Google γνωρίζει το ζήτημα. Το CommonsWare δηλώνει ότι οι μηχανικοί της Google αναγνώρισαν ότι το ζήτημα υπάρχει σε μια ιδιωτική αναφορά παρακολούθησης ζητημάτων, αλλά ότι θα ήταν δύσκολο (αν όχι αδύνατο) να το διορθώσετε πραγματικά ή δημιουργήστε μια επιδιόρθωση.
Αλλά Αυτό δεν σημαίνει ότι η Αυτόματη συμπλήρωση είναι εντελώς μη ασφαλής στη χρήση, καθώς η Google ακολουθεί μια άλλη προσέγγιση για τη διασφάλιση της ασφάλειας των δεδομένων. Η εταιρεία είναι πιέζοντας ώστε οι υπηρεσίες αυτόματης συμπλήρωσης να χειρίζονται το ζήτημα στο τέλος τους και ως εκ τούτου, προσπαθεί να ευαισθητοποιήσει τους προγραμματιστές για να βελτιώσουν τους παρόχους αυτόματης συμπλήρωσης και να τους κάνουν ασφαλέστερους. Τι ακριβώς προτείνεται;
Πρώτα απ 'όλα, οι πάροχοι αυτόματης συμπλήρωσης πρέπει να χωρίσουν τα δεδομένα τους. Αντί να διατηρούν όλα τα δεδομένα αυτόματης συμπλήρωσης σε ένα ενιαίο σύνολο, οι προγραμματιστές θα πρέπει να διαχωρίζουν τα δεδομένα χρήστη που είναι αποθηκευμένα σε διαμερίσματα. Για παράδειγμα, ένα διαμέρισμα διεύθυνσης/τηλεφώνου, ένα διαμέρισμα πιστωτικής κάρτας, ένα διαμέρισμα κωδικού πρόσβασης/όνομα χρήστη κ.λπ. Η υπηρεσία αυτόματης συμπλήρωσης θα πρέπει να επιστρέφει μόνο τα δεδομένα ενός διαμερίσματος κάθε φορά με βάση το εστιασμένο γραφικό στοιχείο. Αυτό είναι ένα από τα σελίδες που είναι διαθέσιμες στο κοινό σε εφαρμογές αυτόματης συμπλήρωσης που προστατεύονται από τη διαρροή δεδομένων σε αόρατα γραφικά στοιχεία.
Υπάρχουν επίσης κάποια άλλα πράγματα που πρέπει να κάνουν οι προγραμματιστές διαχειριστών κωδικών πρόσβασης, σύμφωνα με τους μηχανικούς της Google. Για παράδειγμα, ο πάροχος αυτόματης συμπλήρωσης θα πρέπει να παραδώσει τα δεδομένα μόνο στη συγκεκριμένη εφαρμογή που την παρείχε αρχικά. Αυτό θα πρέπει να γίνει επαληθεύοντας το όνομα του πακέτου και τη δημόσια υπογραφή της εφαρμογής, έτσι ώστε ακόμη και ένα τροποποιημένο APK να μην έχει πρόσβαση σε αυτό. Το άλλο πράγμα θα ήταν ότι οι εφαρμογές αυτόματης συμπλήρωσης απαιτούν έλεγχο ταυτότητας πριν από την παροχή των δεδομένων αυτή η δραστηριότητα ελέγχου ταυτότητας που ενημερώνει τον χρήστη τι είδους δεδομένα θα παρέχονται στην εφαρμογή που το ζητά. Αυτή η συμβουλή έχει στην πραγματικότητα πολλά λάθη, το πιο σημαντικό είναι ότι αυτές οι συμβουλές δεν επιβάλλονται στην πραγματικότητα από την Google.
Λάβετε υπόψη ότι πολλές από τις παραπάνω προτάσεις ελήφθησαν από την αναφορά παρακολούθησης ιδιωτικών ζητημάτων του CommonsWare και όχι από οποιαδήποτε επίσημη σελίδα τεκμηρίωσης της Google. Για μια περαιτέρω, πιο τεχνική ανάλυση του τρόπου με τον οποίο οι εφαρμογές που χρησιμοποιούν το Autofill API μπορούν να προστατευτούν από αυτού του είδους την επίθεση, σας συνιστούμε να διαβάσετε το πλήρης λευκή βίβλος από την CommonsWare.
Ποιες εφαρμογές είναι ασφαλείς από αυτό το ελάττωμα;
Έχουμε επικοινωνήσει με τους προγραμματιστές των 1Password, Enpass και LastPass σχετικά με αυτήν την ευπάθεια και οι ομάδες ασφαλείας πίσω από αυτές τις 3 εφαρμογές έχουν ισχυρίστηκε ότι είναι ασφαλής, αν και δεν έχουμε ακόμη επαληθεύσει αυτούς τους ισχυρισμούς.
Όπως μπορούμε να δούμε στις παραπάνω δηλώσεις, το 1Password απαιτεί έλεγχο ταυτότητας από τον χρήστη πριν συμπληρώσει τα δεδομένα, ειδοποιώντας επίσης εκ των προτέρων ποια δεδομένα θα συμπληρωθούν. Αυτό βοηθά επίσης με το πρόβλημα αθόρυβης πλήρωσης, καθώς θα εμφανίζεται ένα αναδυόμενο παράθυρο ελέγχου ταυτότητας για κάθε δραστηριότητα που ζητά δεδομένα αυτόματης συμπλήρωσης.
Το Enpass δεν θα αποκαλύψει ποτέ ολόκληρο το keychain στην εφαρμογή που ζητά, είτε είναι κακόβουλο είτε αυθεντικό. Μόνο τα αποθηκευμένα στοιχεία που ταιριάζουν με το όνομα του πακέτου της αίτησης εφαρμογής θα παρουσιαστούν στον χρήστη. Επιβεβαίωσαν επίσης ότι θα λάβουν περισσότερα μέτρα ακολουθώντας τις συμβουλές της Google.
Επιπλέον, η LastPass μας επιβεβαίωσε ότι, ενώ δεν γνώριζαν για το ζήτημα πριν από την κυκλοφορία του Android Oreo, η εφαρμογή τους χρησιμοποιεί κατατμήσεις δεδομένων για την προστασία των χρηστών, μαζί με άλλους ελέγχους για να βεβαιωθείτε ότι το LastPass συμπληρώνει μόνο την εφαρμογή που σχετίζεται με την καταχώριση.
Αν και δεν θα πρέπει να υπάρχουν απολύτως προβλήματα με τη χρήση αυτών των 3 εφαρμογών, εάν θέλετε να μείνετε εντελώς αβέβαιοι, θα πρέπει να απενεργοποιήσετε αυτόματη συμπλήρωση πλήρως στο τηλέφωνό σας μέχρι να μπορέσετε να επιβεβαιώσετε με τον προγραμματιστή του διαχειριστή κωδικών πρόσβασης ότι η εφαρμογή του είναι ασφαλής από αυτήν τη σειρά επίθεση. Ευτυχώς αυτό μπορεί να γίνει εύκολα μεταβαίνοντας στις Ρυθμίσεις > Σύστημα > Γλώσσες και εισαγωγή > Για προχωρημένους και βρίσκοντας την προτίμηση "Υπηρεσία αυτόματης συμπλήρωσης", πατώντας σε αυτήν και επιλέγοντας "Καμία".
Όπως είπαμε παραπάνω, δεν είναι γνωστό εάν η Google μπορεί πραγματικά να προωθήσει μια λύση για αυτό, επομένως η χρήση αξιόπιστων εφαρμογών ή απλά η απενεργοποίηση της λειτουργίας είναι ο μόνος τρόπος για να παραμείνετε ασφαλείς. Εάν θέλετε να διαβάσετε περισσότερα για αυτό το ζήτημα και όλες τις λεπτομέρειες που σχετίζονται με αυτό, θα πρέπει να διαβάσετε το πρωτότυπο λευκό χαρτί που το τεκμηριώνει στο GitHub.
Αυτό το άρθρο ενημερώθηκε στις 13/9/17 για να αντικατοπτρίζει με μεγαλύτερη ακρίβεια τις συνέπειες των απαντήσεων από το LastPass, το Enpass και το 1Password.