תיקון פרצת אבטחה רגישה בממשק JavaScript

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

מה קורה?

יש לעיין בהודעה שנשלחה ב-Play Console

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

נדרשת פעולה​

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

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

פרטים נוספים

על פי מדיניות השימוש לרעה במכשיר וברשת, "אפליקציות או קוד צד שלישי (למשל SDK) עם JavaScript שנטען בזמן ההרצה לא יאפשרו הפרות פוטנציאליות של המדיניות למפתחים של Play". 

במאמר הזה אנו מתייחסים לכל אובייקט שחושף פונקציונליות ל-WebView באמצעות שיטת addJavascriptInterface של WebView כממשק JavaScript, כפי שמתואר בבלוג של Google Developers בנושא פיתוח אפליקציות אינטרנט ב-WebView.

סיווג פרצת האבטחה הזה מאפשר הפרות פוטנציאליות של נתוני משתמשים ותוכנות זדוניות באמצעות ממשקי JavaScript. בהתאם לממשקים החשופים, הפרות אלה יכולות להוביל לאיסוף או לזליגה בלתי צפויים של נתונים, ביחד עם אפליקציות שעלולות להזיק (PHA), ללא ידיעת מפתח האפליקציה או מפתח ה-SDK.

אנחנו ממליצים למנוע את פרצת האבטחה הזו באחת מהדרכים הבאות:

אפשרות 1: מוודאים שרכיבי WebView לא מוסיפים אובייקטים לממשק JavaScript

צריך לוודא שאין אובייקטים שנוספו לממשק ה-JavaScript של כל WebView שטוען תוכן אינטרנט לא מהימן. יש שתי דרכים לבצע זאת:

  1. מוודאים שאין אובייקטים שנוספו לממשק ה-JavaScript באמצעות קריאות ל-addJavascriptInterface.
  2. מסירים אובייקטים מממשק ה-JavaScript ב-shouldInterceptRequest דרך removeJavascriptInterface, כדי שרכיב ה-WebView לא יטען תוכן לא מהימן.

אפשרות 2: מוודאים שאף פונקציונליות רגישה לא חשופה באמצעות ממשק ה-JavaScript

מוודאים שאף פונקציונליות רגישה (כמו קריאות ל-API ב-Android שדורשות הרשאות) לא מתווספת לממשקי ה-JavaScript. פונקציונליות רגישה כוללת, למשל, איסוף של מידע אישי רגיש כגון מידע על המשתמש/המכשיר או חשיפת ממשקי API כגון נגישות או הודעות SMS. יש מספר דרכים לפתור את פרצת האבטחה:

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

אפשרות 3: מוודאים שרכיב ה-WebView לא חושף פונקציונליות רגישה לתוכן לא מהימן

אם רכיב ה-WebView מכיל פונקציונליות רגישה, אסור לו לטעון JavaScript אקראי ממקורות לא מוכרים. יש לספק גילוי נאות במקום בולט של הפונקציונליות או של הנתונים שנמצאים בשימוש. מוודאים שרק כתובות URL ותוכן שנמצאים בבעלות מפתח האפליקציות נטענים ב-WebView.

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

אנחנו פה לשירותך

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

תודה על התמיכה והעזרה בשיפור חווית המשתמש ב-Google Play למפתחים ולצרכנים.

 

האם המידע הועיל?

איך נוכל לשפר את המאמר?

צריכים עזרה נוספת?

תוכלו לנסות את האפשרויות הבאות:

חיפוש
ניקוי החיפוש
סגירת החיפוש
התפריט הראשי
8900727863828114471
true
חיפוש במרכז העזרה
true
true
true
true
true
92637
false
false