Οι εφαρμογές Google Camera και Samsung Camera εξέθεσαν προθέσεις κάμερας και βίντεο σε εφαρμογές τρίτων

Το Google Camera και οι εφαρμογές Samsung Camera εξέθεσαν τις προθέσεις τους για την κάμερα και το βίντεο σε εφαρμογές τρίτων, προκαλώντας μια ευπάθεια παράκαμψης άδειας.

Σε σύγκριση με το iOS, το Android παρέχει στις εφαρμογές πολλούς τρόπους αλληλεπίδρασης μεταξύ τους, δίνοντας τη δυνατότητα στους προγραμματιστές να δημιουργήσουν μερικές από τις πιο κοινές λειτουργίες Android που περιμένουμε και αγαπάμε. Αυτό γίνεται εφικτό χάρη στο σύστημα Intent του Android, το οποίο επιτρέπει σε οποιαδήποτε εφαρμογή να στέλνει όποια πρόθεση θέλει και επιτρέπει στις εφαρμογές δέκτη να χειρίζονται αυτές τις προθέσεις με δημιουργικούς τρόπους. Όμως, όπως αποδεικνύεται, η εφαρμογή Google Camera και η εφαρμογή Samsung Camera έχουν αφήσει τις προθέσεις της κάμερας και βίντεο εκτεθειμένες σε τρίτους εφαρμογές, οι οποίες αφήνουν την πόρτα ανοιχτή για πιθανή κακή χρήση παρακάμπτοντας κρίσιμες άδειες, όπως αποδεικνύεται από τους ερευνητές ασφαλείας στο Checkmarx.

Intents στο Android περιγράφονται ως "αντικείμενα ανταλλαγής μηνυμάτων που διευκολύνουν την επικοινωνία μεταξύ των στοιχείων της εφαρμογής

", που με απλούστερους όρους σημαίνει ότι το Intent επιτρέπει στις εφαρμογές να στέλνουν δεδομένα μεταξύ τους. Για παράδειγμα, όταν επιχειρείτε να μοιραστείτε ένα αρχείο από έναν διαχειριστή αρχείων σε μια εφαρμογή όπως το WhatsApp, στέλνετε μια πρόθεση στο WhatsApp με τα αρχεία ως δεδομένα. Οποιαδήποτε εφαρμογή μπορεί να στείλει όποια πρόθεση θέλει και εναπόκειται στην εφαρμογή λήψης να αποφασίσει ποιες προθέσεις θέλει να ακούσει, ορίζοντας το ίδιο στο αρχείο Manifest. Η εφαρμογή λήψης αποφασίζει επίσης πώς θα αντιδράσει σε αυτές τις προθέσεις. Επιπλέον, η εφαρμογή λήψης μπορεί επίσης να διασφαλίσει ότι οι ενέργειες εκτελούνται μόνο όταν αποστέλλεται μια πρόθεση από συγκεκριμένες εφαρμογές της λίστας επιτρεπόμενων (ρητά προθέσεις) ή από εφαρμογές που διαθέτουν συγκεκριμένα δικαιώματα (προστατεύονται προθέσεις). Όπως αποδεικνύεται, οι απροστάτευτες προθέσεις στις προαναφερθείσες εφαρμογές κάμερας μπορούν να αξιοποιηθούν από κακούς ηθοποιούς.

Checkmarx διαπίστωσε ότι η εφαρμογή Google Camera και η εφαρμογή Samsung Camera είχαν απροστάτευτες προθέσεις να ενεργοποιήσουν ενέργειες όπως η λήψη φωτογραφίας και η εγγραφή βίντεο. Μια μη προστατευμένη πρόθεση σε αυτό το πλαίσιο σημαίνει ότι η εφαρμογή λήψης δεν ελέγχει εάν η εφαρμογή που στέλνει την πρόθεση έχει την απαραίτητη άδεια για να αναλάβει την ίδια την ενέργεια -- android.permission. ΦΩΤΟΓΡΑΦΙΚΗ ΜΗΧΑΝΗ σε αυτήν την περίπτωση. Η δραστηριότητα της κάμερας, com.google.android. GoogleCamera/com.android.camera. CameraActivity, ήταν επίσης μια εξαγόμενη δραστηριότητα, πράγμα που σημαίνει ότι άλλες εφαρμογές μπορούσαν να το ζητήσουν. Η μη προστατευμένη πρόθεση και η εξαγόμενη δραστηριότητα οδηγούν έτσι σε μια ευπάθεια παράκαμψης άδειας.

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

Ως απόδειξη της ιδέας, Checkmarx δημιούργησε μια εικονική εφαρμογή καιρού που δεν είχε την άδεια CAMERA, αλλά συνοδεύτηκε με ένα μόνο δικαίωμα ΑΠΟΘΗΚΕΥΣΗΣ, μια που δεν εμφανιζόταν εκτός λειτουργίας για μια εφαρμογή καιρού. Χωρίς την άδεια της κάμερας, η εφαρμογή καιρού μπόρεσε να ενεργοποιήσει την Κάμερα Google και την Κάμερα Samsung για λήψη φωτογραφιών και εγγραφή βίντεο. Η άδεια STORAGE τίθεται σε εφαρμογή για την πρόσβαση σε αυτήν, καθώς και σε όλες τις άλλες φωτογραφίες και βίντεο που είναι αποθηκευμένα στο /DCIM -- δεν απαιτείται για τις ενέργειες του κλικ στις φωτογραφίες και της εγγραφής βίντεο.

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

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

Checkmarx ισχυρίζεται ότι η ευπάθεια, με την ένδειξη CVE-2019-2234, υπάρχει επίσης σε εφαρμογές κάμερας από άλλους προμηθευτές smartphone. Ωστόσο, οι ερευνητές δεν κατονόμασαν ποιοι προμηθευτές και συσκευές επηρεάστηκαν, εκτός της Google και της Samsung. Εάν άλλες εφαρμογές κάμερας έχουν εξάγει δραστηριότητες για να ξεκινήσουν τη λήψη φωτογραφιών και την εγγραφή βίντεο, και έχουν απροστάτευτες προθέσεις που δεν ελέγχουν για την άδεια που είναι διαθέσιμη στην εφαρμογή κλήσης επηρεάζονται.

Δεδομένου ότι αυτό δεν είναι ένα θέμα ευπάθειας στην πλατφόρμα Android ή στον πυρήνα Linux, δεν μπορεί να συμπεριληφθεί και να διατεθεί ως μέρος του Δελτίο ασφαλείας Android. Η ευπάθεια επιδιορθώθηκε στην εφαρμογή Google Camera μέσω μιας ενημέρωσης εφαρμογής τον Ιούλιο του 2019 και το ίδιο έχει επίσης επιδιορθώθηκε στην εφαρμογή Samsung Camera, αν και δεν υπάρχουν συγκεκριμένες πληροφορίες για το πότε κυκλοφόρησε αυτή η ενημέρωση έξω.

Σε μη επιδιορθωμένες εκδόσεις της Google Camera, μπορείτε να αναγκάσετε τη λήψη ενός βίντεο μέσω αυτής της ευπάθειας εκτελώντας την ακόλουθη εντολή ADB:

adb shell am start-activity -n
com.google.android.GoogleCamera/com.android.camera.CameraActivity --ez
extra_turn_screen_ontrue-aandroid.media.action.VIDEO_CAMERA--ez
android.intent.extra.USE_FRONT_CAMERAtrue

Εάν χρησιμοποιείτε Google Camera ή Samsung Camera, βεβαιωθείτε ότι έχετε ενημερώσει στην πιο πρόσφατη έκδοση της εφαρμογής κάμερας στη συσκευή σας, που διατίθεται μέσω του Play Store ή μέσω OTA, ανάλογα με την περίπτωση.