חוקרים הדגימו התקפה באמצעות הודעת Toast שיכולה להנדס משתמש באופן חברתי להעניק הרשאות מסוכנות באנדרואיד.
אנדרואיד היא פלטפורמה די פתוחה עם קהילת מפתחים פנטסטית. רבים מהמפתחים הללו ייצרו אפליקציות, ROMs מותאמים אישית ועוד. חלק מהארגונים עוסקים גם בבדיקות אבטחה, כמו Palo Alto Networks Unit 42. קבוצה זו גילתה פגיעות במערכת Android Toast Message, המאפשרת את לתוקף ליצור שכבת-על פסאודו כדי להערים על המשתמש להעניק הרשאות מסוכנות ללא שלהם יֶדַע. זה כבר תוקן ב עדכון אבטחה בספטמבר וב-Android Oreo, אז תהיו בטוחים שאם הטלפון שלכם עדיין מקבל תיקוני אבטחה חודשיים, או שיש לכם מכשיר ב-Android Oreo, אינכם חשופים להתקפה זו.
כל שאר מכשירי האנדרואיד רגישים להתקפה הזו. הדרך שבה זה עובד היא שהוא מנצל הודעות טוסט בתוך אנדרואיד כדי לעקוף את הדרישה ל"ציור על גבי" כלומר. הרשאת שכבת-על, וכך ה-"גלימה ופגיון"הניצול עבד. החוקרים השתמשו בניצול זה כדי להנדס את המשתמשים באופן חברתי כדי להעניק את שירות הנגישות לאפליקציה התוקפת שלהם, ולאפשר להם לקרוא את כל תוכן המסך, כניסות מפתח וכו'. על המכשיר. לאחר מכן הם השתמשו באותה שיטה כדי לפתות את משתמשי האפליקציה להעניק גישת מנהל, כל זאת תוך שהם לא מודעים לחלוטין לגישה שהם העניקו זה עתה. זה מאפשר לתוקף להתקין אפליקציות, לפקח על המכשיר, וגם פותח לפוטנציאל של תוכנות כופר.
התקפת שכבת-על של הודעות טוסט של Android הסבר
אבל איך זה עובד בעצם? ה מפתחים מאחורי הוכחת הרעיון שיתפו את קוד המקור בפועל של המתקפה שלהם שמכיל הסבר טכני יותר מאחורי הפגיעות. אבל נסביר בקצרה איך ולמה הניצול הזה עובד.
ראשית, עליך לשקול מהי הודעת טוסט. הם קיימים באנדרואיד כבר שנים, וכנראה שראיתם הרבה מהם במכשיר שלכם מדי יום ביומו. טוסטים הם הודעות קטנות בתחתית המסך המופיעות בדרך כלל בבועה אפורה עם פיסת מידע.
הניצול משתמש בהודעת הטוסט כדי ליצור שכבת-על על המסך מבלי לבקש או להזדקק SYSTEM_ALERT_WINDOW הרשאה, שאמורה להיות דרישה לכל יישום לצייר על המסך שלך. במקום זאת, הוא דוחף את שכבת-העל דרך הודעת טוסט, ויוצר כפתורים שנראים כאילו הם נועדו להעניק באופן לגיטימי שפיר הרשאה או קבלת הנחיה חסרת משמעות אך הם למעשה להענקת גישה למנהל מכשיר או נגישות ל- יישום. זה יוצר שתי תצוגות בתוך שכבת טוסט.
כל זה יכול להיעשות עקב בדיקת הרשאה שנכשלה. מערכת אנדרואיד (עדכוני אבטחה טרום אוראו וקדם ספטמבר) לא בודקת בפועל מה מוזן דרך מערכת Android Toast Overlay, אלא נותנת את ההרשאה מבלי לבדוק. סביר להניח שהסיבה לכך היא שגוגל לא צפתה את האפשרות להזין נוף דרך שכבת טוסט.
הניסיון של אנדרואיד 7.1 לתקן את מתקפת ה-Toast Overlay של Android
באנדרואיד 7.1 נראה שגוגל ניסתה לחסום את הניצול הזה. הוכנס פסק זמן להודעות טוסט ונוצרה מגבלה: הודעת טוסט אחת בלבד לכל UID, מזהה תהליך של אפליקציה. זה נעקף בקלות על ידי לולאה חוזרת והצגה של יותר שכבות טוסט במקום, כך שהאשליה ניתנת למשתמש שזהו ממשק משתמש עקבי. אם לא נוצרה לולאה, לאחר 3.5 שניות שכבת העל תיעלם והמשתמש יראה מה בעצם האפליקציה מבקשת מהמשתמש לעשות - הענקת זכויות אדמין או נגישות למכשיר.
ההשלכות של התקפה מוצלחת
ניתן לנצל בקלות את הרשאות מנהל המכשיר או הנגישות, כאשר הן מוענקות לאפליקציה, עבור סוגים רבים של התקפות זדוניות. ניתן ליצור תוכנות כופר, מפתחות ומגבי מכשירים באמצעות הניצול הזה.
אפליקציות אינן זקוקות להרשאות כלשהן כדי להציג הודעת טוסט, אם כי ברור שהאפליקציה הזדונית עדיין צריך BIND_ACCESSIBILITY_SERVICE וכן BIND_DEVICE_ADMIN כדי לעשות שימוש יעיל בשכבת העל הזו לִתְקוֹף. לפיכך, קו ההגנה הטוב ביותר שלך נגד סוג זה של התקפה אם המכשיר שלך עדיין לא תוקן הוא לבחון את ההרשאות שאפליקציה הגדירה ב-AndroidManifest שלה בעת התקנתו. אם אתה מתקין אפליקציה ואינך בטוח מדוע האפליקציה הזו זקוקה לשירות נגישות או הרשאות ניהול מכשיר, הסר אותה מיד וצור קשר עם המפתח.
זה מדאיג שאפשר לנצל חלק כל כך פשוט באנדרואיד, הודעת הטוסט הנמוכה, כדי להנדס חברתית משתמש למתן הרשאות מסוכנות. אנו מקווים שהיצרנים יוציאו את תיקוני האבטחה של ספטמבר בהקדם האפשרי למכשירים על מנת להגן על המיליונים שם בחוץ שעלולים ליפול בקלות לניצול כזה.