GhostMap: אפליקציה בלי הרשאות יכולה לתקוע מכשירי Android בלולאת קריסות
חוקרי Bitdefender מצאו פרצה ב-Android שבה עצם ההתקנה של אפליקציה מעוצבת במיוחד משביתה את הטלפון. Google לא מסווגת אותה כבעיית אבטחה, ותיקון עדיין אין.
TL;DR בקצרה
- התקנה של אפליקציה בלי קוד ובלי הרשאות מספיקה כדי להפיל את system_server שוב ושוב
- גם מצב בטוח לא עוזר, והפתרון המעשי הוא איפוס למצב היצרן שמוחק את המידע
- הבעיה קיימת מ-Android 10 ומעלה, ונבדקה על Pixel 10 עם Android 17
- Google קבעה שזה לא נושא לעדכון אבטחה, ו-Bitdefender לא ראתה ניצול בשטח
חוקרי Bitdefender חשפו היום את GhostMap, פרצה ב-Android שמאפשרת לאפליקציה מעוצבת במיוחד לתקוע את הטלפון בלולאת קריסות. מספיק להתקין את האפליקציה. לא צריך לפתוח אותה או לאשר לה הרשאות. לפי החוקרים, הדרך המעשית לצאת מהמצב היא איפוס למצב היצרן, שמוחק את כל המידע במכשיר.
כך GhostMap משביתה את הטלפון
בכל טלפון Android רץ תהליך מרכזי בשם system_server. הוא מנהל את רוב המערכת. בין השאר, הוא עובר על האפליקציות המותקנות וקורא חלק מהמשאבים שלהן. החוקרים בנו אפליקציה עם משאב פגום אחד. כשהתהליך קורא אותו, הוא קורס. המערכת מפעילה אותו מחדש, הוא קורא שוב את אותו משאב וקורס שוב.
החוקרים בדקו את התרחיש על Pixel 10 עם Android 17 ועדכון האבטחה מ-5 באוגוסט. הקריסה הראשונה הגיעה כשנייה אחרי ההתקנה, והלולאה חזרה 110 פעמים. גם מצב בטוח (Safe Mode), שנועד בדיוק למקרים כאלה, לא עזר. שם הם ספרו 72 קריסות. המסך נשאר כל הזמן על אנימציית ההפעלה.
יש דרך מילוט אחת, והיא צרה מאוד. מי שהפעיל מראש ניפוי באגים ב-USB יכול לחבר את הטלפון למחשב. משם אפשר למחוק את הקובץ הפגום עם ADB, כלי הפיתוח של Android. אבל צריך להספיק בין קריסה לקריסה. לפי Bitdefender, אחרי ההפעלה המחדש המלאה הראשונה גם האפשרות הזאת נעלמת.
איך התגלתה פרצת GhostMap
הסיפור התחיל ב-12 באוגוסט. החוקרים אספו מהשטח דוגמה של סוס טרויאני בנקאי. הדוגמה הפילה את המכונות הווירטואליות שבהן Bitdefender בודקת נוזקות. הם חיפשו את הסיבה, וגילו שהבעיה לא בנוזקה אלא במערכת ההפעלה עצמה.
קובצי ההתקנה של Android, שנקראים APK, הם בעצם ארכיוני ZIP. כל פריט בארכיון מצהיר על שיטת הדחיסה שלו ועל הגודל שלו. שתי ספריות קוד של Android מפרשות את השדות האלה אחרת. אחת בודקת את הגודל רק לפריטים לא דחוסים. השנייה מתייחסת לכל פריט שלא דחוס בשיטה הרגילה כאילו הוא לא דחוס בכלל. פריט שמסומן בשיטה שלישית נופל בין הכיסאות, ואף אחד לא בודק את הגודל שלו.
בניסוי, הקובץ על הדיסק שקל 8,408 בתים. המערכת מיפתה אותו לזיכרון כאילו היה בגודל של כ-16 מגה-בייט. ברגע שהיא ניסתה לקרוא מעבר לסוף הקובץ האמיתי, המעבד עצר את התהליך. לפי החוקרים, הבעיה קיימת מ-Android 10 ומעלה.
Google: זה לא תיקון אבטחה
Bitdefender דיווחה ל-Google ב-20 באוגוסט, ו-Google סגרה את הדיווח בטענה שלא הצליחה לשחזר אותו. ב-25 באוגוסט החוקרים שלחו דיווח מורחב עם הדגמה עובדת. לפי Bitdefender, גם הפעם Google קבעה שהנושא מחוץ להיקף של עדכון אבטחה. היא העבירה אותו לצוות המוצר, לבחינה בגרסה עתידית. BleepingComputer פנה ל-Google לתגובה, ועד הפרסום לא קיבל תשובה.
חשוב לדייק. GhostMap לא מריצה קוד, לא גונבת מידע ולא מעניקה הרשאות. זו פרצה מסוג מניעת שירות (DoS), כלומר השבתה. Bitdefender גם לא ראתה אותה בשימוש נגד משתמשים. ובכל זאת, הדוח של Bitdefender מתאר כמה תרחישים מדאיגים.
אפליקציה זדונית יכולה להשבית טלפון ולדרוש כסף תמורת שחרור. היא יכולה לפגום רק באייקון של עצמה, וכך מסכי ההסרה בהגדרות יקרסו והנוזקה תישאר מותקנת. היא גם יכולה להפיל את סורקי האבטחה שמנסים לבדוק אותה. החוקרים מציינים שהקובץ הפגום יכול להגיע גם בעדכון של אפליקציה שכבר הותקנה.
מה זה אומר עבורכם
- התקינו אפליקציות רק מ-Google Play ומחנויות רשמיות של יצרן הטלפון. אל תורידו קובצי APK מקישורים בהודעות SMS, ב-WhatsApp או ברשתות החברתיות.
- גבו את הטלפון באופן קבוע: תמונות, אנשי קשר וצ'אטים של WhatsApp. אם תצטרכו איפוס למצב היצרן, הגיבוי יחסוך את רוב הנזק.
- הטלפון נתקע באנימציית ההפעלה מיד אחרי התקנה של אפליקציה? אם ניפוי באגים ב-USB כבר היה פעיל, נסו להסיר אותה דרך ADB לפני שאתם מאפסים.
- בארגונים, חסמו בכלי ניהול המכשירים (MDM) התקנה ממקורות לא מוכרים בטלפונים של העובדים.
- התקינו את עדכוני Android כשהם מגיעים, ועקבו אחרי הודעה של Google על טיפול בבעיה.
מה הלאה עם GhostMap
כרגע אין תיקון, ואין גם הודעה רשמית של Google. Bitdefender מסבירה שאפשר לזהות את הקובץ הפגום לפי המבנה שלו, עוד לפני שהמערכת קוראת אותו. אפליקציית האבטחה שלה מזהה אותו בשם Android.Riskware.Ghostmap.rA. אבל אפליקציית אבטחה ב-Android לא יכולה לחסום התקנה או להסיר אפליקציה אחרת בעצמה. היא רק מתריעה, וההחלטה נשארת אצלכם, תוך מרוץ מול הזמן.
מקורות והרחבה
- GhostMap: The Android flaw that crashes your phone before you open the appBitdefender Labs
- GhostMap Android flaw lets malicious app trigger persistent boot loopBleepingComputer
הכתבה נכתבה במקור בעברית על ידי מערכת GEEKLIK, על בסיס המקורות שלמעלה ובדיקת העובדות מולם.
מצאתם טעות? דווחו לנו