Αυτές οι πληροφορίες προορίζονται για προγραμματιστές με εφαρμογές που περιέχουν ευπάθειες εμβόλιμης προσθήκης SQL.
Τι συμβαίνει
Μία ή περισσότερες από τις εφαρμογές σας περιέχουν μια ευπάθεια εμβόλιμης προσθήκης SQL, η οποία πρέπει να διορθωθεί. Ανατρέξτε στην ειδοποίηση στο Play Console. Μετά την πάροδο των προθεσμιών που εμφανίζονται στο Play Console, όλες οι εφαρμογές με ευπάθειες ασφαλείας που δεν έχουν αντιμετωπιστεί ενδέχεται να καταργηθούν από το Google Play.
Απαιτείται ενέργεια
- Συνδεθείτε στο Play Console και μεταβείτε στην ενότητα Ειδοποιήσεις για να δείτε τις επηρεαζόμενες εφαρμογές και τις προθεσμίες για την επίλυση των σχετικών ζητημάτων.
- Ενημερώστε τις επηρεαζόμενες εφαρμογές και διορθώστε την ευπάθεια.
- Υποβάλετε τις ενημερωμένες εκδόσεις των επηρεαζόμενων εφαρμογών.
Μετά την επανυποβολή, η εφαρμογή σας θα ελεγχθεί ξανά. Αυτή η διαδικασία μπορεί να διαρκέσει αρκετές ώρες. Αν ο έλεγχος της εφαρμογής ολοκληρωθεί χωρίς προβλήματα και η εφαρμογή δημοσιευτεί με επιτυχία, τότε δεν απαιτείται καμία άλλη ενέργεια. Εάν ο έλεγχος της εφαρμογής αποτύχει, τότε η νέα έκδοση της εφαρμογής δεν θα δημοσιευτεί και θα λάβετε σχετική ειδοποίηση με ένα μήνυμα ηλεκτρονικού ταχυδρομείου.
Πρόσθετα στοιχεία
Οι υλοποιήσεις των στοιχείων query
, update
και delete
στο
εξαγόμενο στοιχείο ContentProviders
μπορεί να είναι ευάλωτες σε εμβόλιμη προσθήκη SQL, αν μεταβιβάζουν μη ασφαλείς εισαγωγές στις δηλώσεις SQL. Μια κακόβουλη εφαρμογή μπορεί να παράσχει μια δημιουργημένη εισαγωγή, για να αποκτήσει πρόσβαση σε ιδιωτικά δεδομένα ή να καταστρέψει τα περιεχόμενα μιας βάσης δεδομένων. Μπορείτε να διορθώσετε αυτό το πρόβλημα με τους εξής τρόπους:
Εάν ένα στοιχείο ContentProvider
που έχει επηρεαστεί δεν χρειάζεται να εκτεθεί σε άλλες εφαρμογές:
- Μπορείτε να τροποποιήσετε την ετικέτα
<provider>
του στοιχείουContentProvider
που έχει επηρεαστεί στο μανιφέστο σας, για να ρυθμίσετε την παράμετροandroid:exported="false"
. Αυτό θα εμποδίσει την αποστολή intent από άλλες εφαρμογές στο στοιχείοContentProvider
που έχει επηρεαστεί. -
Μπορείτε, επίσης, να ορίσετε το χαρακτηριστικό
android:permission
ωςpermission
με το στοιχείοandroid:protectionLevel="signature"
για να εμποδίσετε τις εφαρμογές που έχουν δημιουργήσει άλλοι προγραμματιστές να στέλνουν intent στο στοιχείοContentProvider
που έχει επηρεαστεί.
Εάν ένα στοιχείο ContentProvider
που έχει επηρεαστεί πρέπει να εκτεθεί σε άλλες εφαρμογές:
- Μπορείτε να αποτρέψετε την εμβόλιμη προσθήκη SQL στο στοιχείο
SQLiteDatabase.query
, χρησιμοποιώντας την αυστηρή λειτουργία με μια αντιστοίχιση προβολής. Η αυστηρή λειτουργία παρέχει προστασία ενάντια σε κακόβουλους όρους επιλογής και η αντιστοίχιση προβολής προστατεύει ενάντια σε κακόβουλους όρους προβολής. Πρέπει να χρησιμοποιήσετε και τις δύο λειτουργίες, για να είστε σίγουροι ότι τα ερωτήματα είναι ασφαλή. - Μπορείτε να αποτρέψετε την εμβόλιμη προσθήκη SQL στα στοιχεία
SQLiteDatabase.update
καιSQLiteDatabase.delete
μέσω ενός όρου επιλογής που χρησιμοποιεί το στοιχείο"?"
ως παράμετρο με δυνατότητα αντικατάστασης και έναν ξεχωριστό πίνακα ορισμάτων επιλογής. Ο όρος επιλογής δεν πρέπει να δημιουργηθεί από μη αξιόπιστες εισαγωγές.
Είμαστε εδώ για να σας βοηθήσουμε
Αν έχετε τεχνικές ερωτήσεις σχετικά με τη συγκεκριμένη ευπάθεια, μπορείτε να τις δημοσιεύσετε στον ιστότοπο Stack Overflow με την ετικέτα “android-security”. Για διευκρινίσεις σχετικά με τα βήματα που πρέπει να ακολουθήσετε για την επίλυση του προβλήματος, μπορείτε να επικοινωνήσετε με την ομάδα υποστήριξης προγραμματιστών.