Κυριακή 16 Φεβρουαρίου 2014

Tι είναι το Samsung KNOX και γιατί μας νοιάζει;

Άνοιξα αυτό το θέμα μετά το ντόρο που γίνεται στα θέματα του S4 και του Note 3, με κάτι που λέγεται KNOX. Παρακάτω εξηγώ τι είναι και γιατί υπάρχει αυτός ο προβληματισμός. Ας περιοριστούν εδώ οι σχετικές συζητήσεις



- Τι είναι το Knox?To KNOX

 είναι ουσιαστικά μια πλατφόρμα ασφάλειας για εταιρείες, για να προστατεύει τις ιδιωτικές πληροφορίες της εταιρείας από υποκλοπές. Επιτρέπει στους υπαλλήλους της εταιρείας να φέρνουν τις δικές του συσκευές στο χώρο της δουλειάς άφοβα. Είναι ένα καινούριο πρόγραμμα που λέγεται BYOD (Bring Your Own Device). Θα δουλεύει φυσικά με συσκευές Galaxy, και οι πρώτες που το υλοποιούν είναι το S4 και το Note 3, σίγουρα θα ακολουθήσουν κι άλλες. Προσφέρει μια εκτενή λύση ασφάλειας που βασίζεται κατά κύριο λόγο σε συσκευές που απαγορεύουν τροποποιήσεις, μέσω του Linux kernel και του Android λειτουργικού. Έχει ήδη εγκριθεί για χρήση στα δίκτυα του Υπουργείου Άμυνας των ΗΠΑ. Η πλειοψηφία των εταιρειών δεν έχει ακόμα τέτοια προγράμματα, αλλά η Samsung ήθελε να πρωτοπορήσει, κι έτσι πια προεγκαθιστά το Knox στις καινούριες high end συσκευές της και προωθεί τη χρήση του.


- Και τι με νοιάζει;
Δε σε νοιάζει, εκτός αν θέλεις να αλλάξεις το λογισμικό της συσκευής σου, ή να κάνεις root. Aν δε σε απασχολούν αυτά, σταμάτα να διαβάζεις και απόλαυσε τη συσκευή σου με το δικό σου τρόπο

- Τι αλλάζει το Knox?
Ο bootloader αποτελεί από τα βασικά στάδια κατά την αρχικοποίηση μιας συσκευής, και είναι αυτό που φορτώνει το kernel στη μνήμη για να αρχίσουν να δουλεύουν τα διάφορα hardware κομμάτια πριν φορτώσει το λειτουργικό. Στις περισσότερες Android συσκευές ο bootloader δεν ελέγχει την αυθεντικότητα του kernel που φορτώνει. Έτσι όσοι από εμάς θέλουμε μεγαλύτερο έλεγχο στις συσκευές μας, μπορούσαμε να βάλουμε ένα (έστω και προσωρινό) kernel που κάνει root τη συσκευή και μας δίνει πρόσβαση superuser.
Aν όμως ο kernel που βάζουμε είναι χαλασμένος ή περιέχει ειδικά γραμμένα malwares, αυτό θα ήταν πολύ επικίνδυνο για την ασφάλεια της εταιρείας, αν ερχόταν κάποιος και συνδεόταν με τη "χακαρισμένη" συσκευή στο δίκτυό της. Εδώ μπαίνει στο παιχνίδι το Knox.
Με μια σειρά ελέγχων που φτάνουν μέχρι τον Android kernel, το Knox απαγορεύει την εγκατάσταση/χρήση kernel που δεν περιέχει ψηφιακή υπογραφή εμπιστοσύνης. Αυτό το ονομάζουν Secure Boot. Και συνεχίζει με έξτρα ελέγχους με ονομασίες όπως Trusted Boot, Attestation, SE, TIMA, κ.α., που δε θα αναλύσω εδώ. Επίσης όλο αυτό συνοδεύεται από λογισμικά όπως τα Knox Apps που θα ελέγχουν και θα "στεγανοποιούν" εφαρμογές που κατεβαίνουν από το Play, θα προστατεύουν τη συσκευή από κλοπή, και πολλά άλλα πράγματα σχετικά με ασφάλεια. Δες εδώ για περισσότερα. Στην καινούρια 4.3 μάλιστα ελέγχονται και τα αρχεία συστήματος για τυχόν αλλαγές.

- Και λοιπόν;
Το παραπάνω άρχισε να εφαρμόζεται στα τελευταία firmwares του Galaxy S4, από το MGG και μετά. Όλα δηλαδή που είναι σε μορφή Ι9505xxxDxxx ή πιο καινούρια. Στο download mode τώρα μπορούμε να δούμε μια ακόμα γραμμή, που γράφει Knox warranty void: 0x0. Το πρόβλημα είναι ότι από τη στιγμή που μπαίνει ο καινούριος bootloader, αρχίζει ο έλεγχος. Έτσι, απαγορεύεται η επιστροφή σε παλιότερα firmwares μέσω Odin, τα οποία περιέχουν παλιότερο kernel. Απαγορεύεται η αλλαγή του bootloader. Απαγορεύεται η αλλαγή kernel. Και όταν δοκιμάσεις αλλάξεις kernel, ή να κάνεις root, ή όντας root να πειράξεις αρχεία του συστήματος, η παραπάνω γραμμή γίνεται Knox warranty void: 0x1. Για πάντα. Αυτό γίνεται σε hardware επίπεδο, μέσω ενός μηχανισμού που λέγεται eFuse. Σκέψου μια ασφάλεια, που όταν γίνεται βραχυκύκλωμα καίγεται και πέφτει το ρελέ. Τώρα σκέψου το ίδιο σε ψηφιακό επίπεδο. Οι ανυπόγραφοι kernels, ή τα πειραγμένα αρχεία στο /system, "καίνε" το eFuse, το οποίο αλλάζει το 0 σε 1. Και δεν ξαναλλάζει. (το αν χρησιποιούν eFuse ή όχι δεν είναι ακόμα 100% σίγουρο, αλλά όλες οι μαρτυρίες των ειδικών εκεί δείχνουν)


Συμπεράσματα / Παρατηρήσεις:
- Όποιος έχει κάνει αναβάθμιση στα τελευταία ΜΗx (4.2.2) ή MJx (4.3) firmwares με τον καινούριο bootloader, δεν μπορεί να επιστρέψει σε παλιότερα.
- Aν δοκιμάσεις έχοντας τον καινούριο bootloader να κάνεις root με cf-root ή να βάλεις κάποια custom rom, θα πέσει το διακοπτάκι σε 0x1, που αυτόματα και ανεπανόρθωτα δείχνει ότι πείραξες το τηλέφωνο, με αποτέλεσμα να ακυρώσεις την εγγύηση. Και φυσικά σταματάνε να δουλεύουν oι εφαρμογές που έχουν σχέση με Knox.
- Oι εφαρμογές Knox είναι υποχρεωτικές σε όλες τις καινούριες συσκευές και δε βγαίνουν παρά μόνο με root.
- O μόνος τρόπος να βάλεις τελευταία rom και να παραμείνεις σε 0x0, είναι να μην έχεις κάνει ακόμα αναβάθμιση (π.χ. να έχεις την MGA) και να βάλεις μια custom rom βασισμένη στην τελευταία επίσημη. Oι custom roms δεν περιέχουν τον καινούριο KNOX-enabled bootloader.
- Μπορείς να βάλεις prerooted επίσημη rom η οποία δε θα ρίξει το διακόπτη (π.χ. Mega roms του DjEmbey), αλλά με αλλαγές στο /system (κύριος λόγος ύπαρξης του root) θα γίνει 0x1 ο διακόπτης. To ίδιο θα συμβεί αν πας να περάσεις επίσημη rom πάνω σε prerooted. Και όταν πέσει ο διακόπτης, δεν αλλάζει.
- H Samsung γίνεται χειρότερη και χαλάει την εμπειρία των χρηστών που δεν τους ενδιαφέρει η εταιρική ασφάλεια και που θέλουν να απολαύσουν τη συσκευή τους εντός εγγύησης. Θα έπρεπε φυσικά να είναι προαιρετική αυτή η αλλαγή. 


πηγη 

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου