Τρίτη, 30 Μαΐου 2017

Android Basics | Τι είναι το SafetyNet και πώς η Google έσωσε το root με τη βοήθειά του


Μιλήσαμε πρόσφατα για το Magisk, το νέο τρόπο για να κάνουμε root στη συσκευή μας, ο οποίος μας επιτρέπει να έχουμε τα προτερήματα μίας ξεκλείδωτης Android συσκευής, χωρίς να επηρεάζουμε το SafetyNet της Google. Τι είναι όμως αυτό το SafetyNet και γιατί δημιουργήθηκε εξ'αρχής; Μήπως φτιάχτηκε για να καταργήσει το root στο Android ή μήπως για να το προστατεύσει;

Τα τελευταία χρόνια η Google αντιμετωπίζει σημαντικά προβλήματα ασφαλείας στο Android, τα οποία δεν της επιτρέπουν ακόμη να αναπτυχθεί σε τρεις πολύ σημαντικούς τομείς:

  1. στην εργασία, όπου όπως είναι φυσικό θέλουμε τα email, τα αρχεία και οι λογαριασμοί μας να είναι ασφαλή στη συσκευή που χρησιμοποιούμε,
  2. στις mobile συναλλαγές, όπου οι τραπεζικές εφαρμογές δεν πρέπει να διαρρέουν δεδομένα και κωδικούς ασφαλείας και κυρίως
  3. στο περιεχόμενο του Google Play, στο οποίο πολλές εταιρίες ζητούν να καταπολεμηθεί η πειρατεία στο Android, πριν φέρουν τις υπηρεσίες τους σε αυτό.

Αφού απέτυχε η λύση της δημιουργίας διαφορετικών χρηστών στην ίδια συσκευή, η Google ζήτησε τη βοήθεια της Samsung, από την οποία δανείστηκε κάποια από τα στοιχεία του Knox, που οδήγησαν στο σημερινό SafetyNet.

Τι είναι το SafetyNet;

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

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

  1. Η πρώτη είναι να αλλάξει με τέτοιο τρόπο το λειτουργικό σύστημα, έτσι ώστε να μην μπορούμε πλέον να ξεκλειδώσουμε τον bootloader, άρα να κάνουμε root. Αυτό θα σήμαινε ότι το Android θα... "έκλεινε" και θα έμοιαζε περισσότερο με το iOS, ενώ θα έπρεπε να αποχαιρετήσουμε για πάντα τις custom ROM, τις recovery, το Xposed framework και όλα αυτά τα καλούδια που δημιουργούν για εμάς οι ανεξάρτητοι προγραμματιστές.
  2. Η δεύτερη είναι να βρει μία μέση λύση, η οποία ακούει στο όνομα SafetyNet.

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

Έτσι λοιπόν έχουμε μία μέση λύση η οποία εξυπηρετεί τις εταιρίες όπως το Netflix, αλλά μας επιτρέπει να κάνουμε και root αν θέλουμε στη συσκευή μας. Εννοείται ότι πάντα θα υπάρχουν τρόποι σαν αυτόν του Magisk, που μας προσφέρει τα καλύτερα και από τους δύο κόσμους και εννοείται επίσης πως η Google θα προσπαθεί να κλείσει τα κενά ασφαλείας που χρησιμοποιεί το κάθε Magisk.

Το κυριότερο όμως είναι ότι η Google δεν διάλεξε τον εύκολο δρόμο και κρατάει στο Android τον open source χαρακτήρα του, συνεχίζοντας να μας δίνει η ίδια τα εργαλεία όπως το ADB και το Fastboot για να χακάρουμε τις συσκευές μας.

0 στο: "Android Basics | Τι είναι το SafetyNet και πώς η Google έσωσε το root με τη βοήθειά του"