כיצד לטפל בהתראות של מטפל שגיאות SSL של WebView באפליקציות שלכם.

המאמר הזה מיועד למפתחים שהאפליקציות שלהם משתמשות ביישום לא בטוח של ה-handler‏ WebViewClient.onReceivedSslError.

מה קורה?

לפחות אחת מהאפליקציות שלכם מכילות יישום לא בטוח של ה-handler‏ onReceivedSslError ובעקבות זאת, האפליקציה חשופה להתקפות מסוג Man-in-the-middle. תוקף יכול לשנות את תוכן ה-WebView המושפע, לקרוא נתונים שהועברו (כגון פרטי כניסה) ולהפעיל קוד באפליקציה באמצעות JavaScript. יש לעיין בהודעה שב-Play Consoleלאחר המועדים האחרונים שמוצגים ב-Play Console, ייתכן שנסיר מ-Google Play אפליקציות שיכילו פרצות אבטחה שלא תוקנו.

נדרשת פעולה​

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

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

פרטים נוספים

  1. כדי לפתור את הבעיה, יש לעדכן את קוד האפליקציות כך שהפונקציה SslErrorHandler.proceed()‎ תופעל כאשר האישור שמציג השרת יענה על הדרישות. אחרת, תופעל הפונקציה SslErrorHandler.cancel()‎. חשוב לזכור את הפרטים הבאים כשבודקים את תוקף האישור:
    1. ייתכן שאפליקציה תסומן אם היא לא כוללת מספיק בדיקות של תוקף אישור. לדוגמה, בדיקת ערך החזרה של getPrimaryError אינה מספיקה לקביעת התוקף של האישור.

    2. אם מתעלמים מרוב שגיאות ה-SSL שמוחזרות על ידי SslError.getPrimaryError, נוצר מצב לא בטוח. שימו לב:  getPrimaryError מחזירה את השגיאה החמורה ביותר בקבוצת שגיאות, לכן אם getPrimaryError() != SSL_UNTRUSTED שווה TRUE, החיבור עדיין יכול לכלול שגיאת SSL_UNTRUSTED בקבוצת השגיאות.

  2. אם אתם משתמשים בספרייה של צד שלישי הגורמת לבעיה, יש ליידע את הצד השלישי ולשתף עמו פעולה כדי לטפל בבעיה.

לקבלת מידע נוסף על ה-handler של שגיאות SSL, יש לעיין בתיעוד שלנו במרכז העזרה למפתחי Android. אם יש לכם שאלות טכניות נוספות, תוכלו לפרסם אותן באתר https://www.stackoverflow.com/questions ולהשתמש בתגים “android-security” ו-“SslErrorHandler.”

אף על פי שייתכן שבעיות ספציפיות אלה לא משפיעות על כל אפליקציה שמשתמשת ב-SSL של WebView, מומלץ להתעדכן בכל תיקוני האבטחה. אפליקציות המכילות פרצות אבטחה שחושפות את המשתמשים לסיכון לפריצה עשויות להיחשב כמוצרים מסוכנים, שמפרים את מדיניות התוכן ואת סעיף 4.4 של הסכם ההפצה למפתחים.

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

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

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