למעלה מ-1000 אפליקציות אנדרואיד יכולות לגשת לנתוני משתמש ללא הרשאות מתאימות

חוקרים גילו שלאפליקציות אנדרואיד רבות בחנות Google Play היו דרכים לעקוף את מודל ההרשאות של אנדרואיד לקצירת נתוני משתמשים.

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

לפי CNET, המחקר הוצג בחודש שעבר בשעה PrivacyCon לאחר שנחשף באחריות הן לגוגל והן ל-FTC בספטמבר האחרון. למרות ש מאמר שפורסם באתר האינטרנט של ה-FTC אינו מפרט את האפליקציות המדויקות שהצוות סימן בניתוח שלהם (פרטים אלו יגיעו מאוחר יותר ב- כנס Usenix Security בחודש הבא), הוא אכן מספק פרטים על שיטת הניתוח שלהם וכיצד האפליקציות עקפו את מודל ההרשאות של אנדרואיד. בשביל מה שזה שווה, גוגל אומרת שהאבטחה והפרטיות משנים את זה של גוגל

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

כיצד >1000 אפליקציות עקפו את מודל ההרשאות של אנדרואיד

החוקרים מבחינים בין שתי טכניקות שונות של עקיפת אבטחה: ערוצים צדדיים וערוצים סמויים. טכניקות ערוץ צד כרוכות בקבלת גישה למידע מסוים באופן שאינו מכוסה על ידי מנגנון האבטחה; לדוגמה, אפליקציות היו מסוגלות לעקוב אחר מיקום מכשיר באמצעות כתובת ה-MAC עד ש-Android Pie הציג אקראית כתובות MAC. טכניקות של ערוץ סמוי כוללות שני שירותים המשתפים פעולה כדי לשלוח נתונים משירות אחד שיש לו גישה חוקית לשירות שאין לו; לדוגמה, אפליקציה שקיבלה גישה למיקום עשויה לשתף את הנתונים הללו עם אפליקציה שלא הוענקה לה גישה.

צוות ICSI ניתח 88,113 מאפליקציות האנדרואיד הפופולריות ביותר מחנות Google Play בארה"ב וגילה למעלה מ-1,000 אפליקציות וספריות של צד שלישי אשר להשתמש בערוצים צדדיים ו/או ערוצים סמויים כדי לעקוף את אמצעי האבטחה של אנדרואיד כדי שיוכלו לגשת לנתוני המיקום ולמזהים המתמשכים של המשתמשים מכשירים. מערך הנתונים המלא שלהם כלל 252,864 חבילות APK מאז שהצוות חיפש מעת לעת את חנות Play עבור גרסאות חדשות של 88,113 האפליקציות שהם תכננו לנתח. בתחילה הם בדקו את ההתנהגות של כל אפליקציה ב-a Google Nexus 5X עם אנדרואיד 6.0.1 מרשמלו, אך מאוחר יותר בדקו מחדש את הממצאים שלהם על א גוגל פיקסל 2 הפעלת Android Pie כדי להוכיח שהממצאים שלהם עדיין תקפים נכון לגרסה האחרונה בזמן החשיפה.

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

  • IMEI: מכיוון ש-IMEI הוא מזהה ייחודי ומתמשך, זה שימושי עבור שירותים מקוונים לגרד כדי שיוכלו לעקוב אחר מכשירים בודדים. הצוות גילה כי סלמונדים ו באידו ערוצי SDK השתמשו בערוץ סמוי כדי לקרוא את ה-IMEI. אפליקציות עם גישה לגיטימית ל-IMEI אחסנו קבצים מוסתרים באחסון החיצוני המכיל את ה-IMEI של המכשיר, כך שאפליקציות אחרות ללא גישה לגיטימית יוכלו לקרוא את ה-IMEI. אפליקציות שזוהו המשתמשות ב-SDK של Baidu באופן זה כוללות את אפליקציות פארק השעשועים של דיסני עבור הונג קונג ושנגחאי, Samsung Health ודפדפן Samsung.
  • כתובת MAC רשת: כתובת ה-MAC של הרשת היא גם מזהה ייחודי, ובדרך כלל היא מוגנת על ידי הרשאת ACCESS_NETWORK_STATE. לטענת החוקרים, אפליקציות השתמשו בקוד מקורי של C++ כדי "להפעיל מספר שיחות מערכת UNIX לא מוגנות". הצוות זיהה 42 אפליקציות המשתמשות ב-Unity SDK כדי לפתוח א שקע רשת ו-ioctl כדי להשיג את כתובת ה-MAC, אם כי הם ציינו ש-748 מתוך 12,408 האפליקציות הכילו את הקוד המדובר בעודם חסרים את ה-ACCESS_NETWORK_STATE רְשׁוּת.
  • כתובת MAC של נתב: הרשאת ACCESS_WIFI_STATE מגנה על ה-BSSID, אך קריאת מטמון ה-ARP ב-/proc/net/arp מאפשרת לאפליקציה להשיג את הנתונים הללו מבלי להזדקק להרשאות. החוקר זיהה את OpenX SDK כמשתמש בטכניקת ערוץ צד זה.
  • מיקום גיאוגרפי: החוקרים גילו שאפליקציית Shutterfly ניגשת לתגיות המיקום של מטא-נתונים של EXIF ​​של תמונות. כל מה שנדרש הוא הרשאת READ_EXTERNAL_STORAGE.

ב-Android Q, Google דורשת כעת שלאפליקציות תהיה הרשאת READ_PRIVILEGED_PHONE_STATE לקרוא את ה-IMEI. מכשירים עם Android Q משדרים כעת כתובות MAC אקראיות כברירת מחדל. לבסוף, אנדרואיד Q אחסון בהיקף שינויים מפחיתים את היכולת של אפליקציות לקרוא את נתוני המיקום מתמונות. לפיכך, החששות הללו טופלו במהדורת אנדרואיד האחרונה, אך כפי שכולנו יודעים, זה יעשה זאת לקחת לא מעט זמן כדי שהעדכון האחרון יתפשט.


סיכום

בסך הכל, מחקר זה מספק מבט מאיר כיצד חלק מהאפליקציות ניגשים לנתונים שצריכים להיות מוגנים מאחורי הרשאות. המחקר בחן רק תת-קבוצה של מה שגוגל מכנה הרשאות "מסוכנות", בעיקר דילוג על הרשאות כמו Bluetooth, אנשי קשר ו-SMS. לפרטים המלאים על דוח זה, אני ממליץ לקרוא את נייר שהוגש ל-FTC.