המידע הזה מיועד למפתחים שהאפליקציה שלהם מכילה פרצת אבטחה רגישה בממשק JavaScript.
מה קורה?
יש לעיין בהודעה שנשלחה ב-Play Console.
נדרשת פעולה
- פותחים את ההתראה מ-Google Play שנשלחה אל כתובת האימייל של בעל החשבון, כדי לראות אילו אפליקציות מושפעות ומהם המועדים האחרונים לתיקון הבעיות.
- מעדכנים את האפליקציות המושפעות ומתקנים את פרצת האבטחה.
- שולחים את הגרסאות המעודכנות של האפליקציות המושפעות.
לאחר השליחה החוזרת, האפליקציה שלכם תיבדק שוב. תהליך זה עשוי להימשך כמה שעות. אם האפליקציה תעבור את הבדיקה ותתפרסם בהצלחה, לא יהיה צורך בפעולה נוספת. אם האפליקציה תיכשל בבדיקה, גרסת האפליקציה החדשה לא תתפרסם ותקבלו התראה באימייל.
פרטים נוספים
על פי מדיניות השימוש לרעה במכשיר וברשת, "אפליקציות או קוד צד שלישי (למשל SDK) עם JavaScript שנטען בזמן ההרצה לא יאפשרו הפרות פוטנציאליות של המדיניות למפתחים של Play".
במאמר הזה אנו מתייחסים לכל אובייקט שחושף פונקציונליות ל-WebView באמצעות שיטת addJavascriptInterface
של WebView כממשק JavaScript, כפי שמתואר בבלוג של Google Developers בנושא פיתוח אפליקציות אינטרנט ב-WebView.
סיווג פרצת האבטחה הזה מאפשר הפרות פוטנציאליות של נתוני משתמשים ותוכנות זדוניות באמצעות ממשקי JavaScript. בהתאם לממשקים החשופים, הפרות אלה יכולות להוביל לאיסוף או לזליגה בלתי צפויים של נתונים, ביחד עם אפליקציות שעלולות להזיק (PHA), ללא ידיעת מפתח האפליקציה או מפתח ה-SDK.
אנחנו ממליצים למנוע את פרצת האבטחה הזו באחת מהדרכים הבאות:
אפשרות 1: מוודאים שרכיבי WebView לא מוסיפים אובייקטים לממשק JavaScript
צריך לוודא שאין אובייקטים שנוספו לממשק ה-JavaScript של כל WebView שטוען תוכן אינטרנט לא מהימן. יש שתי דרכים לבצע זאת:
- מוודאים שאין אובייקטים שנוספו לממשק ה-JavaScript באמצעות קריאות ל-addJavascriptInterface.
-
מסירים אובייקטים מממשק ה-JavaScript ב-shouldInterceptRequest דרך removeJavascriptInterface, כדי שרכיב ה-WebView לא יטען תוכן לא מהימן.
אפשרות 2: מוודאים שאף פונקציונליות רגישה לא חשופה באמצעות ממשק ה-JavaScript
מוודאים שאף פונקציונליות רגישה (כמו קריאות ל-API ב-Android שדורשות הרשאות) לא מתווספת לממשקי ה-JavaScript. פונקציונליות רגישה כוללת, למשל, איסוף של מידע אישי רגיש כגון מידע על המשתמש/המכשיר או חשיפת ממשקי API כגון נגישות או הודעות SMS. יש מספר דרכים לפתור את פרצת האבטחה:
- מממשים מחדש כל פונקציונליות שדורשת הרשאות רגישות או אוספת מידע רגיש, כך שהיא תיקרא מתוך קוד שנארז באפליקציה. מוודאים שנמסר למשתמשים גילוי נאות בולט.
- מסירים את כל הפונקציות שמספקות גישה לפונקציונליות רגישה או לנתוני המשתמש הנגישים מהממשק.
אפשרות 3: מוודאים שרכיב ה-WebView לא חושף פונקציונליות רגישה לתוכן לא מהימן
אם רכיב ה-WebView מכיל פונקציונליות רגישה, אסור לו לטעון JavaScript אקראי ממקורות לא מוכרים. יש לספק גילוי נאות במקום בולט של הפונקציונליות או של הנתונים שנמצאים בשימוש. מוודאים שרק כתובות URL ותוכן שנמצאים בבעלות מפתח האפליקציות נטענים ב-WebView.
אם פרצת האבטחה לא תתוקן, תתבצע אכיפה על האפליקציה עקב הפרה פוטנציאלית של מדיניות Play.
אנחנו פה לשירותך
אם קראת את המדיניות ולדעתך התקבלה החלטה שגויה, יש לך אפשרות לפנות לצוות התמיכה שלנו בנושא מדיניות. נחזור אליך תוך שני ימי עסקים.
תודה על התמיכה והעזרה בשיפור חווית המשתמש ב-Google Play למפתחים ולצרכנים.