אם מנוצלים, פגמים אלה יכולים לאפשר לתוקפים לקבל גישה לא מורשית למידע רגיש או לגרום לבעיות בדרך כלל
לאחרונה החדשות פרצו זאת זוהתה פגיעות באנדרואיד (CVE-2022-20465) המאפשר לך לבטל את נעילת המסך החלפת כרטיס ה-SIM והזנת קוד PUK.
הבעיה נובע מעיבוד שגוי של ביטול נעילה לאחר הזנת קוד PUK (Personal Unblocking Key), המשמש להפעלה מחדש של כרטיס SIM שנחסם לאחר מספר הזנת PIN שגוי.
כדי להשבית את נעילת המסך, כל מה שאתה צריך לעשות הוא להכניס את כרטיס ה-SIM שלך בפלאפון שלך, בעל הגנה מבוססת PIN. לאחר החלפת כרטיס ה-SIM המוגן באמצעות PIN, תחילה תוצג בקשת קוד PIN על המסך. כן קוד ה-PIN הוזן שגוי שלוש פעמים, כרטיס ה-SIM ייחסם, דלאחר מכן תינתן לך ההזדמנות להזין את קוד ה-PUK כדי לבטל את החסימה שלו.
התברר שהזנה הנכונה של קוד ה-PUK לא רק פותח את כרטיס ה-SIM, אלא מוביל למעבר לממשק הראשי תוך עקיפת שומר המסך, מבלי לאשר גישה עם סיסמת האב או התבנית.
הפגיעות נובעת משגיאה בלוגיקת האימות. של קודי PUK בבקר KeyguardSimPukViewController, שדואג להצגת מסך אימות נוסף. אנדרואיד משתמשת במספר סוגים של מסכי אימות (עבור PIN, PUK, סיסמה, דפוס, אימות ביומטרי) ומסכים אלו מופעלים ברצף כאשר נדרשים אימותים מרובים, כגון כאשר נדרשים PIN ותבנית.
אם קוד ה-PIN הוזן נכון, שלב האימות השני מופעל, המחייב הזנת קוד פתיחת הנעילה הראשי, אך עם הזנת קוד ה-PUK, שלב זה נדלג והגישה ניתנת מבלי לבקש את הסיסמה או התבנית הראשית.
שלב הפתיחה הבא נמחק מכיוון שכאשר נקרא KeyguardSecurityContainerController#dismiss(), שיטת הבדיקה הצפויה והועברה אינה מושווה, כלומר, המטפל מחשיב שהשינוי בשיטת הבדיקה לא התרחש והשלמת הבדיקה של קוד ה-PUK מצביעה על אישור מוצלח של סמכות .
הפגיעות התגלתה במקרה: לטלפון של המשתמש נגמרה הסוללה, ולאחר הטעינה והדלקת הטלפון, הוא עשה טעות בהקלדת קוד ה-PIN מספר פעמים, ולאחר מכן פתח את קוד ה-PUK ו הופתע מכך שהמערכת לא ביקשה את סיסמת האב המשמשת לפענוח הנתונים, ולאחר מכן תופיע ההודעה "Pixel is starting...".
המשתמש התגלה כקפדן, הוא החליט לברר מה קורה והחל להתנסות בהזנת קודי PIN ו-PUK בדרכים שונות, עד ששכח בטעות לאתחל את המכשיר לאחר החלפת כרטיס הסים וקיבל גישה לסביבה במקום להקפיא.
מעניין במיוחד התגובה של גוגל לדוח הפגיעות. למידע על הבעיה נשלח ביוני, אך רק בספטמבר הצליח החוקר לקבל תשובה ברורה. הוא חשב שהתנהגות זו נבעה מכך שהוא לא היה הראשון לדווח על הבאג הזה.
חשדות שמשהו לא בסדר הועלו בספטמבר כשהבעיה לא תוקנה לאחר שעדכון קושחה שוחרר 90 יום לאחר מכן, לאחר שתקופת הסודיות המוצהרת כבר תמה.
מאחר שכל הניסיונות לברר את סטטוס דוח הבעיה שהוגש רק הובילו לתבנית ולביטולים אוטומטיים, החוקר ניסה ליצור קשר אישי עם עובדי גוגל על מנת להבהיר את המצב עם הכנת פתרון, ואף הדגים פגיעות במשרד של גוגל בלונדון.
רק לאחר מכן התקדמה העבודה לביטול הפגיעות. במהלך הניתוח התברר שמישהו כבר דיווח על הבעיה בעבר, אך גוגל החליטה לעשות חריגה ולשלם פרס על דיווח חוזר על הבעיה, שכן רק הודות להתמדה של מחברה הבחינו בבעיה.
היכולת לבטל את הנעילה הוכחה במכשירי Google Pixel, אך מכיוון שהתיקון משפיע על בסיס הקוד הליבה של אנדרואיד, סביר להניח שהבעיה משפיעה גם על קושחה של צד שלישי. הבעיה טופלה ב-November Security Patch Roll. החוקר שהביא את הנושא לידיעתו קיבל פרס של 70,000 דולר מגוגל.
מקור: https://bugs.xdavidhu.me