המידע הזה מיועד למפתחים שהאפליקציות שלהם מכילות את פרצת האבטחה של הזרקת 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
באמצעות מצב strict עם projection map. מצב Strict מספק הגנה מפני ביטויי סינון זדוניים ו-projection map מספק הגנה מפני ביטויים זדוניים של בחירת שדות. שתי התכונות האלו הכרחיות כדי לוודא שהשאילתות בטוחות. - ניתן למנוע הזרקת SQL אל
SQLiteDatabase.update
ואלSQLiteDatabase.delete
באמצעות ביטוי סינון שמשתמש ב-"?"
כפרמטר להחלפה ומערך נפרד של ארגומנטים לסינון. אין ליצור את ביטוי הסינון באמצעות קלט לא מהימן.
אנחנו כאן כדי לעזור
אם יש לכם שאלות טכניות בנוגע לפגיעוּת זו, ניתן לפרסם פוסט באתר Stack Overflow ולהשתמש בתג “android-security”. משהו לא ברור בשלבים לפתרון הבעיה? ניתן לפנות אל צוות התמיכה שלנו למפתחים.