תיקון פרצת אבטחה של הזרקת SQL

המידע הזה מיועד למפתחים שהאפליקציות שלהם מכילות את פרצת האבטחה של הזרקת SQL.

מה קורה?

לפחות אחת מהאפליקציות שלכם מכילה פרצת אבטחה של הזרקת SQL וצריך לתקן זאת. יש לעיין בהודעה שב-Play Console.לאחר המועדים האחרונים לתיקון שמוצגים ב-Play Console, אפליקציות שיכילו פרצות אבטחה לא מתוקנות יוסרו מ-Google Play.

הפעולה הנדרשת

  1. נכנסים לחשבון Play Console, ועוברים לקטע ההתראות כדי לבדוק אילו אפליקציות מושפעות מהבעיות ומהם המועדים האחרונים לתיקון.
  2. מעדכנים את האפליקציות המושפעות ומתקנים את פרצת האבטחה.
  3. שולחים את הגרסאות המעודכנות של האפליקציות המושפעות.

לאחר השליחה החוזרת, האפליקציה שלכם תיבדק שוב. תהליך זה עשוי להימשך כמה שעות. אם האפליקציה עוברת את הבדיקה ומתפרסמת בהצלחה, לא יהיה צורך בפעולה נוספת. אם האפליקציה תיכשל בבדיקה, גרסת האפליקציה החדשה לא תתפרסם ותקבלו התראה באימייל.

פרטים נוספים

יישומים של הפונקציות query,‏ update ו-delete ב-ContentProviders שעברו ייצוא עלולים להיות חשופים להזרקת SQL, אם הם מעבירים קלט לא בטוח להצהרות SQL. אפליקציה זדונית יכולה לספק קלט משובש כדי לגשת למידע פרטי או כדי לפגוע בתוכן של מסד נתונים. ניתן לפתור את הבעיה בדרכים הבאות:

אם אין צורך לחשוף את ה-ContentProvider המושפע לאפליקציות אחרות:

אם צריך לחשוף את ה-ContentProvider המושפע לאפליקציות אחרות:

  • ניתן למנוע הזרקת SQL אל SQLiteDatabase.query באמצעות מצב strict עם projection map. מצב Strict מספק הגנה מפני ביטויי סינון זדוניים ו-projection map מספק הגנה מפני ביטויים זדוניים של בחירת שדות. שתי התכונות האלו הכרחיות כדי לוודא שהשאילתות בטוחות.
  • ניתן למנוע הזרקת SQL אל SQLiteDatabase.update ואל SQLiteDatabase.delete באמצעות ביטוי סינון שמשתמש ב-"?" כפרמטר להחלפה ומערך נפרד של ארגומנטים לסינון. אין ליצור את ביטוי הסינון באמצעות קלט לא מהימן.

אנחנו כאן כדי לעזור

אם יש לכם שאלות טכניות בנוגע לפגיעוּת זו, ניתן לפרסם פוסט באתר Stack Overflow ולהשתמש בתג “android-security”. משהו לא ברור בשלבים לפתרון הבעיה? ניתן לפנות אל צוות התמיכה שלנו למפתחים.

false
התפריט הראשי
6228752595705903122
true
חיפוש במרכז העזרה
true
true
true
true
true
5016068
false
false