Το Android Q θα προστατεύσει καλύτερα το απόρρητό σας με νέες δυνατότητες

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

Κάθε νέα έκδοση του Android συνοδεύεται από νέες δυνατότητες, πράγμα που σημαίνει ότι το Android χρειάζεται νέα δικαιώματα για να αποκτήσει πρόσβαση σε αυτές τις λειτουργίες. Βρήκα πολλά νέα δικαιώματα στο πλαίσιο του Android Q (δεν θα καλύψω όλα σε αυτό το άρθρο, επειδή πολλά από αυτά δεν είναι ενδιαφέροντα). Ορισμένες από τις άδειες που βρήκα δεν είχαν περιγραφές, αλλά τα ονόματά τους είναι ούτως ή άλλως αρκετά αυτονόητα. Ας βουτήξουμε και ας συζητήσουμε τις νέες βελτιώσεις απορρήτου πίσω από τα παρασκήνια στο Android Q, καθώς και μερικές άλλες ενδιαφέρουσες λειτουργίες που βρήκα.

Ιδιαίτερες ευχαριστίες στο PNF Software για την παροχή άδειας χρήσης JEB Decompiler. Το JEB Decompiler είναι ένα επαγγελματικού επιπέδου εργαλείο αντίστροφης μηχανικής για εφαρμογές Android.

Αποκλεισμός πρόσβασης στο πρόχειρο φόντου

Ξέρατε ότι κάθε εφαρμογή στο Android μπορεί να διαβάσει το πρόχειρό σας, και δεν χρειάζεται να τους χορηγήσετε άδεια χρόνου εκτέλεσης για να το κάνουν; Πολλοί άνθρωποι πιθανώς αντιγράφουν ευαίσθητες πληροφορίες όπως ονόματα χρήστη, κωδικούς πρόσβασης, διευθύνσεις κ.λπ. όλη την ώρα, επομένως θα ήταν εύκολο για οποιαδήποτε εφαρμογή να ξύσει αυτά τα δεδομένα στο παρασκήνιο. Γι' αυτό αρέσει σε πολλές εφαρμογές διαχείρισης κωδικών πρόσβασης KeePass έχουν τα δικά τους πληκτρολόγια που μπορείτε να χρησιμοποιήσετε για να παρακάμψετε τη διαχείριση προχείρου Android. Οι εφαρμογές διαχείρισης κωδικών πρόσβασης συχνά διαγράφουν το πρόχειρο για εσάς αφού αντιγράψετε και επικολλήσετε οτιδήποτε. Ο λόγος για τον οποίο οι εφαρμογές Android πρέπει να διαβάζουν το πρόχειρο είναι ότι δεν μπορούν να δεχτούν κανένα κείμενο από το πρόχειρο χωρίς αυτό, που σημαίνει ότι δεν μπορείτε να επικολλήσετε οποιοδήποτε κείμενο που έχετε αντιγράψει. Το Android Q θέλει να το αλλάξει αυτό, ευτυχώς.

Προστέθηκε μια νέα άδεια που ονομάζεται "READ_CLIPBOARD_IN_BACKGROUNDΑυτό ακούγεται ότι θα κάνει ακριβώς αυτό που λέει: περιορίστε τις εφαρμογές που μπορούν να διαβάσουν το πρόχειρο στο παρασκήνιο. Το επίπεδο προστασίας αυτής της άδειας είναι "υπογραφή", που σημαίνει ότι μόνο οι εφαρμογές που έχουν υπογραφεί από τον OEM μπορούν να λάβουν αυτήν την άδεια.

<permissionandroid: name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"android: protectionLevel="signature"/>

Υποστήριξη για υποβάθμιση εφαρμογών;

Έχετε εγκαταστήσει ποτέ μια ενημέρωση για μια εφαρμογή στο Google Play και το μετανιώσατε αμέσως; Μερικές φορές ένας προγραμματιστής θα προωθήσει μια ενημέρωση που παραβιάζει κάτι που δεν περίμενε, αλλά μόλις προωθηθεί και εγκατασταθεί η ενημέρωση είναι πολύ αργά για να γίνει οτιδήποτε γι' αυτό. Ο προγραμματιστής πρέπει να εκδώσει γρήγορα μια επείγουσα επιδιόρθωση και ο χρήστης είτε πρέπει να σταματήσει να χρησιμοποιεί την εφαρμογή μέχρι να κυκλοφορήσει μια ενημέρωση είτε να απεγκαταστήσει την εφαρμογή και να φορτώσει μια παλαιότερη έκδοση. Δεν υπάρχει τρόπος να υποβαθμίσετε μια εφαρμογή εκτός και αν έχετε μια συσκευή με root με μια εφαρμογή όπως Titanium Backup, επειδή ο διαχειριστής πακέτων του Android σάς αποκλείει από την εγκατάσταση παλαιότερων εκδόσεων εφαρμογών. Υπάρχει ένας καλός λόγος για να το κάνετε αυτό, επειδή η εγκατάσταση μιας παλαιότερης έκδοσης μιας εφαρμογής θα μπορούσε να οδηγήσει σε θραύση, εάν τα δεδομένα της εφαρμογής δεν διαγράφονται ή θα μπορούσε να εκθέσει τον χρήστη σε κίνδυνο εάν η παλαιότερη έκδοση είναι ευάλωτη σε ασφάλεια ελάττωμα.

Αν και δεν γνωρίζουμε με βεβαιότητα εάν η Google θα επιτρέψει στους χρήστες να επαναφέρουν εφαρμογές σε παλαιότερη έκδοση, βρήκαμε αρκετά δικαιώματα και εντολές στο Android Q που υποδηλώνουν ότι θα είναι δυνατή. Πρώτον, το νέο «PACKAGE_ROLLBACK_AGENT" και "MANAGE_ROLLBACKSΤα δικαιώματα υποδηλώνουν ότι η προεγκατεστημένη εφαρμογή αγοράς μπορεί να λειτουργήσει ως αντιπρόσωπος για τη διαχείριση της επαναφοράς των εκδόσεων εφαρμογών. Η πρώτη άδεια είναι "υπογραφή" ενώ η δεύτερη είναι "εγκατάσταση" πάνω από την "υπογραφή", επομένως αυτό σημαίνει μόνο μια εφαρμογή υπογεγραμμένη σε πλατφόρμα με δυνατότητα εγκατάσταση εφαρμογών (συνήθως μόνο ο διαχειριστής πακέτων, το Google Play Store ή άλλα καταστήματα εφαρμογών πρώτου κατασκευαστή, ανάλογα με τη συσκευή) μπορεί να χρησιμοποιήσει αυτά τα δικαιώματα. Δύο νέες προστατευμένες προθέσεις εκπομπής έχουν προστεθεί:PACKAGE_ENABLE_ROLLBACK" και "PACKAGE_ROLLBACK EXECUTED.» Αυτές οι εκπομπές δεν μπορούν να σταλούν από εφαρμογές τρίτων και πιθανότατα προορίζονται να επιτρέψουν στην επηρεαζόμενη εφαρμογή να γνωρίζει πότε έχει υποβαθμιστεί (πολύ όπως πώς ενημερώνονται οι εφαρμογές όταν έχουν ενημερωθεί, δίνοντάς τους την ευκαιρία να εμφανίσουν κάποιο μήνυμα στην επόμενη εκκίνηση.) Τέλος, μια νέα σημαία προστέθηκε στο ο "pm install” εντολή κελύφους. Η σημαία, που ονομάζεται "--enable-rollback», μπορεί να σας επιτρέψει να επαναφέρετε μια εφαρμογή σε προηγούμενη έκδοση. Δεν μπόρεσα να το κάνω να δουλέψει, όμως.

<protected-broadcast android: name="android.intent.action.PACKAGE_ENABLE_ROLLBACK"/>
<protected-broadcast android: name="android.intent.action.PACKAGE_ROLLBACK_EXECUTED"/>
<permissionandroid: name="android.permission.PACKAGE_ROLLBACK_AGENT"android: protectionLevel="signature"/>
<permissionandroid: name="android.permission.MANAGE_ROLLBACKS"android: protectionLevel="installer|signature"/>

Ασφάλεια αρχείων σε εξωτερικό χώρο αποθήκευσης

Η αποθήκευση δεδομένων στο Android περιλαμβάνει την "εσωτερική αποθήκευση" (/δεδομένα με εξαίρεση /data/media) και την "εξωτερική αποθήκευση" (/data/media και τυχόν τοποθετημένες κάρτες SD ή μονάδες USB). Τα APK και τα πιο ευαίσθητα δεδομένα τους αποθηκεύονται στον εσωτερικό χώρο αποθήκευσης, ενώ όλα τα κοινόχρηστα μέσα όπως έγγραφα, εικόνες, βίντεο κ.λπ. αποθηκεύονται σε εξωτερικό χώρο αποθήκευσης. Από προεπιλογή, οι εφαρμογές μπορούν να διαβάζουν και να γράφουν αρχεία μόνο σε έναν μόνο κατάλογο σε εξωτερικό χώρο αποθήκευσης: /data/media/[user]/Android/data/[package_name]. (Για να μάθετε περισσότερα σχετικά με αυτήν τη συμπεριφορά, σας συνιστώ να διαβάσετε το δικό μου άρθρο για sdcardfs στο Android Oreo.) Μόλις ο χρήστης χορηγήσει σε μια εφαρμογή οποιαδήποτε άδεια στην ομάδα αδειών εξωτερικού χώρου αποθήκευσης (READ_EXTERNAL_STORAGE ή WRITE_EXTERNAL_STORAGE), η εφαρμογή μπορεί στη συνέχεια να διαβάσει ή να γράψει οποιοδήποτε αρχείο στον εξωτερικό χώρο αποθήκευσης. Αυτό είναι προβληματικό επειδή εκχωρείτε σε μια εφαρμογή τη δυνατότητα να συλλέγει δυνητικά πολλά δεδομένα για εσάς, όταν απλώς θέλετε να την αφήσετε να διαβάσει ή να γράψει ορισμένα αρχεία. Για να διορθωθεί αυτό, η Google φαίνεται να εισάγει μερικές νέες άδειες που σχετίζονται με τον εξωτερικό χώρο αποθήκευσης στο Android Q. Τα δικαιώματα θα διαθέτουν τις ακόλουθες δυνατότητες:

  • Δυνατότητα ανάγνωσης των τοποθεσιών από τα πολυμέσα σας. (Πιθανότατα αποκλεισμός της πρόσβασης στα μεταδεδομένα των εικόνων από προεπιλογή.)
  • Δυνατότητα πρόσβασης σε αρχεία μουσικής.
  • Δυνατότητα πρόσβασης στις φωτογραφίες.
  • Δυνατότητα πρόσβασης σε βίντεο.

Για εφαρμογές που διαθέτουν ήδη το READ_EXTERNAL_STORAGE ή WRITE_EXTERNAL_STORAGE δικαιώματα πριν από την ενημέρωση του Android Q, θα λάβουν το νέο ανάγνωση δικαιώματα αλλά όχι το νέο γράφω άδειες. Για παράδειγμα, μια εφαρμογή που έχει ήδη παραχωρηθεί READ_EXTERNAL_STORAGE από τον χρήστη θα χορηγείται αυτόματα το READ_MEDIA_IMAGES άδεια αλλά όχι το WRITE_MEDIA_IMAGES άδεια.

Σχετικές συμβολοσειρές από το πλαίσιο-res του Android Q

<stringname="permgroupdesc_aural">access your musicstring>
<stringname="permgrouplab_visual">Photos & Videosstring>
<stringname="permgrouprequest_aural">Allow <b>%1$s</b> to access your music?string>
<stringname="permgroupdesc_visual">access your photos & videosstring>
<stringname="permgrouplab_activityRecognition">Activity recognitionstring>
<stringname="permgrouplab_aural">Musicstring>
<stringname="permdesc_videoRead">Allows the app to read your video collection.string>
<stringname="permdesc_videoWrite">Allows the app to modify your video collection.string>
<stringname="permdesc_imagesRead">Allows the app to read your photo collection.string>
<stringname="permdesc_imagesWrite">Allows the app to modify your photo collection.string>
<stringname="permdesc_audioRead">Allows the app to read your music collection.string>
<stringname="permdesc_audioWrite">Allows the app to modify your music collection.string>
<stringname="permlab_audioRead">read your music collectionstring>
<stringname="permlab_audioWrite">modify your music collectionstring>
<stringname="permdesc_mediaLocation">Allows the app to read locations from your media collection.string>



"android.permission.READ_EXTERNAL_STORAGE"

targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>

"android.permission.WRITE_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>

Διαβάστε περισσότερα

Η επιστροφή πρόσβασης τοποθεσίας στο παρασκήνιο

Το Android Oreo και το Android 9 Pie έκαναν μεγάλα βήματα προς τα εμπρός για τη διασφάλιση του απορρήτου των χρηστών, αλλά ορισμένοι χρήστες ένιωσαν ότι η Google έκανε τα πράγματα πολύ μακριά. Μια τέτοια περιοχή που μπορεί να θεωρηθεί παλινδρόμηση χαρακτηριστικών είναι η in πρόσβαση τοποθεσίας στο παρασκήνιο. Η πρόσβαση στην τοποθεσία στο Android Oreo και νεότερες εκδόσεις περιορίζεται σε μεγάλο βαθμό, αν δεν εξουδετερωθεί εντελώς για εφαρμογές που εκτελούνται στο παρασκήνιο, επομένως οι εφαρμογές πρέπει είτε να βρίσκονται στο προσκήνιο είτε να εκτελείται μια υπηρεσία στο προσκήνιο εάν θέλουν να κάνουν συνεχώς δημοσκόπηση της συσκευής τοποθεσία. Αυτό εμποδίζει τις εφαρμογές να κατασκοπεύουν την τοποθεσία σας στο παρασκήνιο, αλλά εμποδίζει επίσης τον χρήστη να χαρτογραφήσει τη δική του τοποθεσία χρησιμοποιώντας μια εφαρμογή στο παρασκήνιο. Αυτό είναι ένα πρόβλημα που θίξαμε σε ξεχωριστό άρθρο και φαίνεται ότι η Google προσθέτει μια νέα άδεια στο Android Q για να αντιμετωπίσει τις ανησυχίες αυτών των προγραμματιστών και χρηστών.

Στο Android Q, προστέθηκε μια νέα άδεια που επιτρέπει σε μια εφαρμογή να έχει πρόσβαση στο παρασκήνιο στην τοποθεσία της συσκευής. Η περιγραφή της άδειας προς τον χρήστη προειδοποιεί ότι "η εφαρμογή θα έχει πάντα πρόσβαση στην τοποθεσία, ακόμη και όταν δεν χρησιμοποιείτε την εφαρμογή". Αυτή η άδεια μπορεί παραχωρούνται δικαιώματα "επιπλέον στην κατά προσέγγιση ή ακριβή τοποθεσία", ώστε η εφαρμογή "να μπορεί να έχει πρόσβαση στην τοποθεσία ενώ εκτελείται στο παρασκήνιο". Σε αντίθεση, η άδεια χονδρικής τοποθεσίας μπορεί να λάβει την τοποθεσία σας μόνο με βάση πηγές δικτύου, όπως πύργους κινητής τηλεφωνίας ή δίκτυα Wi-Fi, αλλά μόνο όταν η εφαρμογή βρίσκεται στο σε πρώτο πλάνο.

Σχετικές συμβολοσειρές από το πλαίσιο-res του Android Q

<stringname="permgroupbackgroundrequest_location">Always allow <b>%1$s</b> to access this device’s location?string>
<stringname="permgroupbackgroundrequestdetail_location">The app will always have access to the location, even when you’re not using the app.string>
"permdesc_accessBackgroundLocation">If this is granted additionally to the approximate or precise location access the app can access the location while running in the background.</string>
"permdesc_accessCoarseLocation">This app can get your location based on network sources such as cell towers and Wi-Fi networks, but only when the app is in the foreground. These location services must be turned on and available on your phone for the app to be able to usethem.string>
"android.permission.ACCESS_FINE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>

"android.permission.ACCESS_COARSE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>

Διαβάστε περισσότερα

Αναγνώριση σωματικής δραστηριότητας

Προστέθηκε μια νέα άδεια στο Android Q που επιτρέπει σε μια εφαρμογή να "αναγνωρίζει τη σωματική σας δραστηριότητα". Αυτό τεχνικά δεν είναι καινούργιο αφού είναι είναι ήδη μέρος των Υπηρεσιών Google Play, αλλά μπορεί να σημαίνει ότι η Google θα αποσυνδέσει την άδεια από τις Υπηρεσίες Play. Με το πόσο ολοκληρωμένες ήταν οι Υπηρεσίες Google Play στην παροχή βασικών λειτουργιών Android, είναι καλό να δούμε μέρος της δύναμής τους να επιστρέφεται στην AOSP.

<stringname="permgroupdesc_activityRecognition">recognize activitystring>
<stringname="permgrouprequest_activityRecognition">Allow <b>%1$s</b> to recognize your physical activity?string>
<stringname="permdesc_activityRecognition">This app can recognize your physical activity.string>

Για περισσότερα νέα για το Android Q, ανατρέξτε στο δικό μας ετικέτα με τα τελευταία νέα ταξινομημένα κατά ημερομηνία. Πρόσφατα δημοσιεύσαμε ένα άρθρο με πολλά στοιχεία που δείχνουν ότι η Google εργάζεται πάνω στο υποστήριξη υλικού ελέγχου ταυτότητας προσώπου που μοιάζει με Face ID στο Android Q. Έχουμε επίσης ένα πρώιμο πρακτικό της έκδοσης Android Q που διέρρευσε (και υπάρχει ακόμη και ένα βίντεο) που πρέπει να δείτε εδώ. Θα δημοσιεύσουμε περισσότερα από τα ευρήματά μας από αυτήν την πρώιμη έκδοση Android Q που αποκτήσαμε, οπότε μείνετε συντονισμένοι.