15Jul
Η ρίζα της συσκευής σας Android σας δίνει πρόσβαση σε μια ευρύτερη ποικιλία εφαρμογών και μια βαθύτερη πρόσβαση στο σύστημα Android.Ωστόσο, ορισμένες εφαρμογές Android Pay της Google, όπως οι εφαρμογές Google, δεν θα λειτουργήσουν καθόλου σε μια ριζωμένη συσκευή.
Η Google χρησιμοποιεί κάτι που ονομάζεται SafetyNet για να ανιχνεύσει αν η συσκευή σας έχει ρίζες ή όχι και αποκλείει την πρόσβαση σε αυτές τις λειτουργίες.Η Google δεν είναι η μόνη - είτε πολλές εφαρμογές τρίτων δεν θα λειτουργήσουν σε ριζωμένες συσκευές Android, αν και μπορούν να ελέγξουν για την παρουσία ρίζας με άλλους τρόπους.
SafetyNet: Πώς η Google γνωρίζει ότι έχετε ριζώσει στο Android Phone Τα
συσκευές Android προσφέρουν ένα "SafetyNet API", το οποίο είναι μέρος του στρώματος των Υπηρεσιών Google Play και έχει εγκατασταθεί σε συσκευές Android που έχουν εγκριθεί από την Google.Αυτό το API "παρέχει πρόσβαση στις υπηρεσίες Google που σας βοηθούν να αξιολογήσετε την υγεία και την ασφάλεια μιας συσκευής Android", σύμφωνα με την Google.Αν είστε προγραμματιστής Android, μπορείτε να καλέσετε αυτό το API στην εφαρμογή σας για να ελέγξετε αν έχει παραβιαστεί η συσκευή στην οποία εκτελείτε.
Αυτό το API SafetyNet έχει σχεδιαστεί για να ελέγχει αν έχει παραβιαστεί μια συσκευή - είτε έχει ριζωθεί από κάποιον χρήστη, εκτελεί ένα προσαρμοσμένο ROM ή έχει μολυνθεί με κακόβουλο λογισμικό χαμηλού επιπέδου, για παράδειγμα.
Οι συσκευές που μεταφέρονται με το Google Play Store και άλλες εφαρμογές που έχουν εγκατασταθεί πρέπει να περάσουν από το Google "Android Compatibility Test Suite" της Google.Η ριζοβολία μιας συσκευής ή η εγκατάσταση μιας προσαρμοσμένης ROM αποτρέπει μια συσκευή να είναι "συμβατή με το CTS".Αυτός είναι ο τρόπος με τον οποίο το SafetyNet API μπορεί να σας πει εάν είστε ριζωμένοι - απλώς ελέγχει τη συμβατότητα CTS.Παρομοίως, εάν λάβετε μια συσκευή Android που δεν ήρθε ποτέ με τις εφαρμογές της Google όπως ένα από αυτά τα 20 δισκία που αποστέλλονται απευθείας από ένα εργοστάσιο στην Κίνα - δεν θα θεωρείται καθόλου "CTS συμβατό", ακόμα κι αν δεν την έχετε ριζώσει.
Για να λάβετε αυτές τις πληροφορίες, οι Υπηρεσίες Google Play μεταφορτώνουν ένα πρόγραμμα με όνομα "snet" και το εκτελούν στο παρασκήνιο της συσκευής σας.Το πρόγραμμα συλλέγει δεδομένα από τη συσκευή σας και τα στέλνει τακτικά στην Google.Η Google χρησιμοποιεί αυτές τις πληροφορίες για διάφορους σκοπούς, από τη λήψη μιας εικόνας του ευρύτερου οικοσυστήματος Android μέχρι να καθορίσει εάν έχει παραβιαστεί ή όχι το λογισμικό της συσκευής σας.Η Google δεν εξηγεί ακριβώς τι ψάχνει το snet, αλλά είναι πιθανό ο snet να ελέγξει εάν το διαμέρισμα του συστήματός σας έχει τροποποιηθεί από την κατάσταση του εργοστασίου.
Μπορείτε να ελέγξετε την κατάσταση SafetyNet της συσκευής σας μεταφορτώνοντας μια εφαρμογή όπως το SafetyNet Helper Sample ή το SafetyNet Playground.Η εφαρμογή θα ζητήσει από την υπηρεσία SafetyNet της Google την κατάσταση της συσκευής σας και θα σας πει την απάντηση που λαμβάνει από το διακομιστή της Google.
Για περισσότερες τεχνικές λεπτομέρειες, διαβάστε αυτό το blog που γράφτηκε από τον John Kozyrakis, τεχνικό στρατηγό στο Cigital, εταιρεία ασφάλειας λογισμικού.Έσκαψε στο SafetyNet και εξηγεί περισσότερα για το πώς λειτουργεί.
Είναι μέχρι την εφαρμογή
Το SafetyNet είναι προαιρετικό για τους προγραμματιστές εφαρμογών και οι προγραμματιστές εφαρμογών μπορούν να επιλέξουν να το χρησιμοποιήσουν ή όχι.Το SafetyNet εμποδίζει μόνο μια εφαρμογή να μην λειτουργεί εάν ο προγραμματιστής μιας εφαρμογής δεν θέλει να λειτουργήσει σε ριζωμένες συσκευές.
Οι περισσότερες εφαρμογές δεν θα ελέγξουν καθόλου το API SafetyNet.Ακόμη και μια εφαρμογή που ελέγχει το API SafetyNet - όπως οι παραπάνω εφαρμογές δοκιμής - δεν θα σταματήσει να λειτουργεί αν λάβει κακή απάντηση.Ο προγραμματιστής της εφαρμογής πρέπει να ελέγξει το API SafetyNet και να κάνει την εφαρμογή να αρνηθεί να λειτουργήσει αν μάθει ότι το λογισμικό της συσκευής σας έχει τροποποιηθεί.Η εφαρμογή Google Pay Pay είναι ένα καλό παράδειγμα αυτής της ενέργειας.Το
Android Pay δεν θα λειτουργήσει σε ριζωμένες συσκευές
Η λύση Android Pay mobile της Google Pay δεν λειτουργεί καθόλου σε ριζωμένες συσκευές Android.Προσπαθήστε να το ξεκινήσετε και θα δείτε μόνο ένα μήνυμα που λέει ότι το "Android Pay" δεν μπορεί να χρησιμοποιηθεί.Η Google δεν είναι σε θέση να επιβεβαιώσει ότι η συσκευή σας ή το λογισμικό που εκτελείται σε αυτήν είναι συμβατό με το Android. "
Δεν πρόκειται απλώς για ριζοβολία, αλλά φυσικά και η εκτέλεση ενός προσαρμοσμένου ROM θα σας έδινε και αυτή την απαίτηση.Το 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.Μπορούν απλώς να ελέγξουν για την παρουσία γνωστών εφαρμογών root και διαδικασιών σε μια συσκευή.
Είναι δύσκολο να βρείτε μια ενημερωμένη λίστα εφαρμογών που δεν λειτουργούν όταν ρίζα μια συσκευή.Ωστόσο, το RootCloak παρέχει αρκετές λίστες.Αυτές οι λίστες μπορεί να είναι εκτός εμφάνισης, αλλά είναι οι καλύτερες που μπορούμε να βρούμε.Πολλές είναι οι εφαρμογές τραπεζικών και άλλων κινητών πορτοφολιών, οι οποίες εμποδίζουν την πρόσβαση στα ριζωμένα τηλέφωνα, σε μια προσπάθεια να προστατεύσουν τα τραπεζικά σας στοιχεία από το να τα καταγράφουν άλλες εφαρμογές.Οι εφαρμογές για υπηρεσίες συνεχούς ροής βίντεο ενδέχεται επίσης να αρνηθούν να λειτουργήσουν σε μια ριζωμένη συσκευή ως ένα είδος μέτρησης DRM, προσπαθώντας να σας αποτρέψουν από την καταγραφή μιας προστατευμένης ροής βίντεο.
Ορισμένες εφαρμογές μπορούν να εξαπατηθούν
Το Google παίζει ένα παιχνίδι cat-and-mouse με το SafetyNet, ενημερώνοντάς το συνεχώς, σε μια προσπάθεια να παραμείνει μπροστά από τους ανθρώπους που τον πλησιάζουν.Για παράδειγμα, ο προγραμματιστής Android Chainfire δημιούργησε μια νέα μέθοδο εκρίζωσης των συσκευών Android χωρίς τροποποίηση του διαμερίσματος συστήματος, γνωστό ως "rootless".Το SafetyNet δεν ανίχνευσε αρχικά τέτοιες συσκευές ως παραβιάσεις και το Android Pay εργάστηκε - αλλά το SafetyNet τελικά ενημερώθηκε για να ανιχνεύσει αυτή τη νέα μέθοδο ριζοβολίας.Αυτό σημαίνει ότι το Android Pay δεν λειτουργεί πλέον μαζί με rootless σύστημα.
Ανάλογα με τον τρόπο με τον οποίο μια εφαρμογή ελέγχει την πρόσβαση root, ίσως μπορείτε να την εξαπατήσετε.Για παράδειγμα, υπάρχουν μέθοδοι για τη ρίζα κάποιων συσκευών Samsung χωρίς να σβήνετε την ασφάλεια KNOX, κάτι που θα σας επιτρέψει να συνεχίσετε να χρησιμοποιείτε τη Samsung Pay.
Στην περίπτωση των εφαρμογών που ελέγχουν απλώς τις root εφαρμογές στο σύστημά σας, υπάρχει μια ενότητα Xposed Framework που ονομάζεται RootCloak που σύμφωνα με τις πληροφορίες σας επιτρέπει να τους εξαπατήσετε να δουλέψουν ούτως ή άλλως.Αυτό λειτουργεί με εφαρμογές όπως το DirecTV GenieGo, το Best Buy CinemaNow και οι Ταινίες από το Flixster, οι οποίες κανονικά δεν λειτουργούν σε ριζωμένες συσκευές.Ωστόσο, αν αυτές οι εφαρμογές ενημερώθηκαν για να χρησιμοποιήσουν το SafetyNet της Google, δεν θα ήταν τόσο εύκολο να τους εξαπατήσετε με αυτόν τον τρόπο.
Οι περισσότερες εφαρμογές θα συνεχίσουν να λειτουργούν κανονικά από τη στιγμή που θα έχετε ριζώσει τη συσκευή σας.Οι εφαρμογές για κινητές πληρωμές αποτελούν τη μεγάλη εξαίρεση, όπως και ορισμένες άλλες τραπεζικές και οικονομικές εφαρμογές.Οι πληρωμένες υπηρεσίες ροής βίντεο προσπαθούν μερικές φορές να σας εμποδίσουν να βλέπετε και τα βίντεό τους.
Εάν μια εφαρμογή που χρειάζεστε δεν λειτουργεί στη ριζωμένη συσκευή σας, μπορείτε πάντα να ξεριζώσετε τη συσκευή σας για να την χρησιμοποιήσετε.Η εφαρμογή πρέπει να λειτουργεί αφού επιστρέψετε τη συσκευή σας στην ασφαλή, εργοστασιακή της κατάσταση.
Πιστωτική Εικόνα: Danny Choo στο Flickr