Αποκατάσταση ευπάθειας σε εισβολή με τη χρήση σχήματος Intent

Αυτές οι πληροφορίες προορίζονται για προγραμματιστές με εφαρμογές που περιέχουν την ευπάθεια σε εισβολή με τη χρήση σχήματος Intent.

Τι συμβαίνει

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

Απαιτείται ενέργεια

  1. Συνδεθείτε στο Play Console και μεταβείτε στην ενότητα Ειδοποιήσεις, για να δείτε τις επηρεαζόμενες εφαρμογές και τις προθεσμίες για την επίλυση των σχετικών ζητημάτων.

  2. Ενημερώστε τις επηρεαζόμενες εφαρμογές, ακολουθώντας τα βήματα που περιγράφονται παρακάτω.

  3. Υποβάλετε τις ενημερωμένες εκδόσεις των επηρεαζόμενων εφαρμογών.

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

Πρόσθετα λεπτομέρειες

Τα WebView που επισκέπτονται μη αξιόπιστο περιεχόμενο ιστού, αναλύουν συνδέσμους intent:// με τη χρήση Intent.parseUri και στέλνουν αυτά τα Intent με χρήση startActivity, είναι ευάλωτα σε εισβολή με τη χρήση σχήματος Intent. Αυτά τα WebView μπορούν να εξαπατηθούν από κακόβουλο περιεχόμενο ιστού για την αποστολή αυθαίρετων Intent σε στοιχεία ιδιωτικής εφαρμογής. Αυτό μπορεί να οδηγήσει σε παραβιάσεις εφαρμογών, όπως, για παράδειγμα, την κλοπή των ιδιωτικών δεδομένων των εφαρμογών, η χειραγώγηση των οποίων πραγματοποιείται από τα συγκεκριμένα στοιχεία. Λάβετε υπόψη ότι το μη αξιόπιστο περιεχόμενο ιστού περιλαμβάνει περιεχόμενο από αξιόπιστες τοποθεσίες που φορτώνεται με χρήση του HTTP.

Σας συνιστούμε να αποτρέψετε αυτήν την ευπάθεια με έναν από τους παρακάτω τρόπους:

Επιλογή 1: Βεβαιωθείτε ότι τα WebViews δεν μπορούν να στείλουν αυθαίρετα Intents

Οι εφαρμογές μπορούν να περιορίσουν τα Intent που κατασκευάστηκαν με Intent.parseUri, έτσι ώστε να στέλνονται μόνο ως Implicit Intents σε στοιχεία με φίλτρα Intent BROWSABLE, χρησιμοποιώντας τον παρακάτω κώδικα:

     // convert Intent scheme URL to Intent object
  Intent intent = Intent.parseUri(url);
  // forbid launching activities without BROWSABLE category
  intent.addCategory("android.intent.category.BROWSABLE");
  // forbid explicit call
  intent.setComponent(null);
  // forbid Intent with selector Intent
  intent.setSelector(null);
  // start the activity by the Intent
  view.getContext().startActivity(intent, -1);

Επιλογή 2: Βεβαιωθείτε ότι τα WebViews που έχουν επηρεαστεί δεν φορτώνουν μη αξιόπιστο περιεχόμενο ιστού

Αν κάποιο WebView χρειάζεται να αναλύσει URL με σχήμα αυθαίρετου intent://, πρέπει να βεβαιωθείτε ότι δεν φορτώνει μη αξιόπιστο περιεχόμενο ιστού. Το μη αξιόπιστο περιεχόμενο ιστού περιλαμβάνει περιεχόμενο ιστού που φορτώνεται μέσω μη κρυπτογραφημένης σύνδεσης. Οι προγραμματιστές μπορούν να ορίσουν το android:usesCleartextTraffic με την τιμή false στο Manifest ή να ορίσουν ένα Network Security Config που δεν επιτρέπει επισκεψιμότητα HTTP. Εναλλακτικά, μπορούν να διασφαλίσουν ότι τα WebView που έχουν επηρεαστεί δεν φορτώνουν URL με σχήματα HTTP, μέσω του loadUrl.

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

Είμαστε εδώ για να σας βοηθήσουμε
Αν έχετε τεχνικές ερωτήσεις σχετικά με τη συγκεκριμένη ευπάθεια, μπορείτε να τις δημοσιεύσετε στον ιστότοπο Stack Overflow με την ετικέτα "android-security". Για διευκρινίσεις σχετικά με τα βήματα που πρέπει να ακολουθήσετε για την επίλυση του προβλήματος, μπορείτε να επικοινωνήσετε με την ομάδα υποστήριξης προγραμματιστών.

false
Κύριο μενού
18201632400897130697
true
Αναζήτηση στο Κέντρο Βοήθειας
true
true
true
true
true
5016068
false
false