Αρχική σελίδα » πως να » Το SafetyNet εξηγείται γιατί η πληρωμή Android και άλλες εφαρμογές δεν λειτουργούν σε ριζωμένες συσκευές

    Το SafetyNet εξηγείται γιατί η πληρωμή Android και άλλες εφαρμογές δεν λειτουργούν σε ριζωμένες συσκευές

    Η ρίζα της συσκευής σας Android σας δίνει πρόσβαση σε μια ευρύτερη ποικιλία εφαρμογών και μια βαθύτερη πρόσβαση στο σύστημα Android. Ορισμένες εφαρμογές Android Pay της Google, όπως οι εφαρμογές Google, δεν θα λειτουργούν καθόλου σε μια ριζωμένη συσκευή.

    Η Google χρησιμοποιεί κάτι που ονομάζεται SafetyNet για να εντοπίσει αν η συσκευή σας έχει ρίζες ή όχι και αποκλείει την πρόσβαση σε αυτές τις λειτουργίες. Η Google δεν είναι η μόνη, είτε - πολλές εφαρμογές τρίτων δεν θα λειτουργήσουν επίσης σε ριζωμένες συσκευές Android, αν και μπορεί να ελέγξουν για την παρουσία ρίζας με άλλους τρόπους.

    SafetyNet: Πώς η Google γνωρίζει ότι έχετε ριζώσει το Android σας τηλέφωνο

    Οι συσκευές Android προσφέρουν ένα "API SafetyNet", το οποίο αποτελεί μέρος του στρώματος των Υπηρεσιών Google Play και είναι εγκατεστημένο σε συσκευές Android που έχουν εγκριθεί από την Google. Αυτό το API "παρέχει πρόσβαση στις υπηρεσίες Google που σας βοηθούν να αξιολογήσετε την υγεία και την ασφάλεια μιας συσκευής Android", σύμφωνα με την Google. Εάν είστε προγραμματιστής Android, μπορείτε να καλέσετε αυτό το API στην εφαρμογή σας για να ελέγξετε αν έχει παραβιαστεί η συσκευή στην οποία τρέχετε.

    Αυτό το API SafetyNet έχει σχεδιαστεί για να ελέγχει αν έχει παραβιαστεί μια συσκευή - είτε έχει ριζωθεί από κάποιον χρήστη, εκτελεί μια προσαρμοσμένη ROM ή έχει μολυνθεί από κακόβουλο λογισμικό χαμηλού επιπέδου, για παράδειγμα.

    Οι συσκευές που μεταφέρονται με το Play Store της Google και άλλες εφαρμογές που έχουν εγκατασταθεί πρέπει να περάσουν από το Android "Compatibility Test Suite" της Google. Η ριζοβολία μιας συσκευής ή η εγκατάσταση μιας προσαρμοσμένης ROM αποτρέπει τη συσκευή να είναι "συμβατή με το CTS". Με τον τρόπο αυτό το SafetyNet API μπορεί να σας πει εάν είστε ριζωμένοι - απλώς ελέγχει τη συμβατότητα με το CTS. Ομοίως, αν έχετε μια συσκευή Android που δεν ήρθε ποτέ με τα apps της Google όπως ένα από αυτά τα 20 δισκία που αποστέλλονται απευθείας από ένα εργοστάσιο στην Κίνα, δεν θα θεωρείται καθόλου "CTS συμβατό", ακόμα κι αν δεν την έχετε ριζώσει.

    Για να λάβετε αυτές τις πληροφορίες, οι Υπηρεσίες Google Play κατεβάζουν ένα πρόγραμμα με το όνομα "snet" και το εκτελούν στο παρασκήνιο της συσκευής σας. Το πρόγραμμα συλλέγει δεδομένα από τη συσκευή σας και τα στέλνει τακτικά στην Google. Η Google χρησιμοποιεί αυτές τις πληροφορίες για διάφορους σκοπούς, από τη λήψη μιας εικόνας του ευρύτερου οικοσυστήματος Android για να καθορίσει εάν έχει αλλοιωθεί ή όχι το λογισμικό της συσκευής σας. Η Google δεν εξηγεί ακριβώς τι ψάχνει το snet, αλλά είναι πιθανό ο snet να ελέγξει αν το διαμέρισμα του συστήματός σας έχει τροποποιηθεί από την κατάσταση του εργοστασίου.

    Μπορείτε να ελέγξετε την κατάσταση SafetyNet της συσκευής σας μεταφορτώνοντας μια εφαρμογή όπως το SafetyNet Helper Sample ή το SafetyNet Playground. Η εφαρμογή θα ζητήσει από την υπηρεσία SafetyNet της Google την κατάσταση της συσκευής σας και θα σας πει την απάντηση που λαμβάνει από το διακομιστή της Google.

    Για περισσότερες τεχνικές λεπτομέρειες, διαβάστε αυτή την ανάρτηση του ιστολογίου από τον John Kozyrakis, τεχνικό στρατηγό στο Cigital, εταιρεία ασφάλειας λογισμικού. Έσκαψε στο SafetyNet και εξηγεί περισσότερα για το πώς λειτουργεί.

    Είναι Μέχρι την εφαρμογή

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

    Οι περισσότερες εφαρμογές δεν θα ελέγξουν καθόλου το API SafetyNet. Ακόμα και μια εφαρμογή που ελέγχει το API SafetyNet - όπως οι παραπάνω εφαρμογές δοκιμής - δεν θα σταματήσει να λειτουργεί αν λάβει κακή απάντηση. Ο προγραμματιστής της εφαρμογής πρέπει να ελέγξει το API SafetyNet και να κάνει την εφαρμογή να αρνηθεί να λειτουργήσει εάν μάθει ότι το λογισμικό της συσκευής σας έχει τροποποιηθεί. Η εφαρμογή Google Pay Pay για το Android είναι ένα καλό παράδειγμα σε αυτή τη δράση.

    Το Android Pay δεν θα λειτουργήσει σε ριζωμένες συσκευές

    Η λύση πληρωμής μέσω κινητού τηλεφώνου Android Pay της Google δεν λειτουργεί καθόλου σε ριζωμένες συσκευές Android. Προσπαθήστε να το ξεκινήσετε και θα δείτε μόνο ένα μήνυμα που λέει ότι το "Android Pay" δεν μπορεί να χρησιμοποιηθεί. Η Google δεν μπορεί να επιβεβαιώσει ότι η συσκευή σας ή το λογισμικό που εκτελείται σε αυτήν είναι συμβατό με Android. "

    Δεν είναι μόνο για την ριζοβολία, φυσικά-τρέχει μια προσαρμοσμένη ROM θα σας έβαλε επίσης afoul αυτής της απαίτησης. Το API SafetyNet θα ισχυριστεί ότι δεν είναι "συμβατό με Android" αν χρησιμοποιείτε ένα προσαρμοσμένο ROM που δεν συνοδεύει τη συσκευή.

    Θυμηθείτε, αυτό δεν εντοπίζει απλώς τις ριζοβολίες. Εάν η συσκευή σας έχει μολυνθεί από κάποιο κακόβουλο λογισμικό σε επίπεδο συστήματος με δυνατότητα κατασκοπείας στο Android Pay και σε άλλες εφαρμογές, το API SafetyNet θα αποτρέψει επίσης τη λειτουργία του Android Pay, κάτι που είναι καλό.

    Η ρίζα της συσκευής σας διαλύει το κανονικό μοντέλο ασφάλειας του Android. Το Android Pay συνήθως προστατεύει τα δεδομένα πληρωμής σας χρησιμοποιώντας τις δυνατότητες του sandboxing του Android, αλλά οι εφαρμογές μπορούν να ξεφύγουν από το sandbox σε μια ριζωμένη συσκευή. Το Google δεν έχει κανέναν τρόπο να γνωρίζει πόσο ασφαλές Android Pay θα ήταν σε μια συγκεκριμένη συσκευή, αν έχει ρίζες ή τρέχει άγνωστο προσαρμοσμένο ROM, οπότε το αποκλείουν. Ένας μηχανικός της Android Pay εξήγησε το πρόβλημα στο φόρουμ για τους προγραμματιστές XDA αν είστε περίεργος να διαβάσετε περισσότερα.

    Άλλες εφαρμογές τρόπων μπορούν να ανιχνεύσουν τη ρίζα

    Το SafetyNet είναι ένας μόνο τρόπος που μια εφαρμογή μπορεί να ελέγξει αν λειτουργεί σε μια ριζωμένη συσκευή. Για παράδειγμα, οι συσκευές Samsung περιλαμβάνουν ένα σύστημα ασφαλείας που ονομάζεται KNOX. Αν διορθώσετε τη συσκευή σας, ενεργοποιείται η ασφάλεια KNOX. Η Samsung Pay, η δική της εφαρμογή για κινητά τηλέφωνα της Samsung, θα αρνηθεί να λειτουργήσει σε ριζωμένες συσκευές. Η Samsung χρησιμοποιεί το KNOX για αυτό, αλλά θα μπορούσε να χρησιμοποιήσει το SafetyNet.

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

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

    Ορισμένες εφαρμογές μπορούν να εξαπατηθούν

    Η Google παίζει ένα παιχνίδι cat-and-mouse με το SafetyNet, ενημερώνοντάς το συνεχώς, σε μια προσπάθεια να παραμείνει μπροστά από τους ανθρώπους που την περιβάλλουν. Για παράδειγμα, ο προγραμματιστής Android Chainfire δημιούργησε μια νέα μέθοδο προσάρτησης των συσκευών Android χωρίς τροποποίηση του διαμερίσματος συστήματος, γνωστό ως "rootless". Το SafetyNet δεν ανίχνευσε αρχικά τέτοιες συσκευές ως παραβιάσεις και το Android Pay εργάστηκε - αλλά το SafetyNet τελικά ενημερώθηκε για να ανιχνεύσει αυτήν τη νέα μέθοδο ριζοβολίας. Αυτό σημαίνει ότι το Android Pay δεν λειτουργεί πλέον μαζί με root χωρίς σύστημα.

    Ανάλογα με τον τρόπο με τον οποίο μια εφαρμογή ελέγχει για πρόσβαση root, ίσως μπορείτε να την εξαπατήσετε. Για παράδειγμα, υπάρχουν μέθοδοι για τη ρίζα κάποιων συσκευών Samsung χωρίς να σβήνετε την ασφάλεια KNOX, κάτι που θα σας επέτρεπε να συνεχίσετε να χρησιμοποιείτε τη Samsung Pay.

    Στην περίπτωση των εφαρμογών που ελέγχουν απλώς τις root εφαρμογές στο σύστημά σας, υπάρχει μια ενότητα Xposed Framework που ονομάζεται RootCloak που σύμφωνα με πληροφορίες σας επιτρέπει να τους εξαπατήσετε να δουλέψουν ούτως ή άλλως. Αυτό λειτουργεί με εφαρμογές όπως το DirecTV GenieGo, το Best Buy CinemaNow και οι Ταινίες από το Flixster, οι οποίες κανονικά δεν λειτουργούν σε ριζωμένες συσκευές. Ωστόσο, εάν αυτές οι εφαρμογές ενημερώθηκαν για να χρησιμοποιήσουν το SafetyNet της Google, δεν θα ήταν τόσο εύκολο να ξεγελάσουν με αυτόν τον τρόπο.


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

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

    Image Credit: Danny Choo στο Flickr