עדכוני אבטחה ומשאבים

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

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

דיווח על בעיות אבטחה

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

באגים המסומנים כבעיות אבטחה אינם נראים כלפי חוץ, אך בסופו של דבר הם עשויים להיות גלויים לאחר הערכה או פתרון של הבעיה. אם בכוונתך לשלוח תיקון או בדיקת תאימות Test Suite (CTS) כדי לפתור בעיית אבטחה, צרף אותו לדוח הבאגים והמתן לתגובה לפני שתעלה את הקוד ל- AOSP.

באגים

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

סוגי הקשר

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

סוג הקשר הגדרת סוג
הקשר מוגבל סביבת ביצוע מוגבלת שבה ניתנים רק ההרשאות המינימליות ביותר.

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

לדוגמה, יישום Android שתופעל תחום SELinux עם untrusted_app_all תכונה.
הקשר מיוחס סביבת ביצוע מיוחסת אשר עשויה להיות בעלת הרשאות מוגברות, מטפלת ב- PII של משתמשים מרובים ו/או שומרת על תקינות המערכת.

לדוגמא, יישום אנדרואיד עם יכולות כי ייאסר על ידי SELinux untrusted_app התחום או עם גישה privileged|signature הרשאות.
בסיס מחשוב מהימן (TCB) פונקציונליות שהיא חלק מהגרעין, הפועלת באותו הקשר של הליבה (כמו מנהלי התקנים), יש לה גישה ישירה לזיכרון הליבה (כגון רכיבי חומרה במכשיר), בעלת יכולת לטעון סקריפטים לרכיב גרעין ( למשל, eBPF), מעבדי התקשורת, או הוא אחד מקומץ של שירותי משתמש נחשב מקביל הקרנל: apexd , bpfloader , init , ueventd , ו vold .
שרשרת מטעין אתחול רכיב שמגדיר את המכשיר בעת אתחול ולאחר מכן מעביר את השליטה למערכת ההפעלה אנדרואיד.
סביבת ביצוע מהימנה (TEE) רכיב שנועד להיות מוגן אפילו מגרעין עוין (למשל, TrustZone ו- Hypervisor).
Enclave Secure / Secure Element (SE) מרכיב חומרה אופציונלית נועד להיות מוגן מפני כל הרכיבים האחרים במכשיר מפני התקפות פיזיות, כהגדרתו מבוא רכיבים מאובטחים .

זה כולל שבב Titan-M הקיים במכשירי פיקסל מסוימים.

חוּמרָה

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

דֵרוּג תוצאה של ניצול מוצלח
קריטי
  • גישה בלתי מורשית לנתונים המאובטחים על ידי SE
  • ביצוע קוד שרירותי ב- TEE או SE
  • ביצוע קוד שרירותי מרחוק בהקשר מיוחס, שרשרת מטען האתחול או ה- TCB
  • מניעת שירות מתמשכת מרחוק (קבועה או מחייבת הפעלה מחדש של כל מערכת ההפעלה או איפוס להגדרות היצרן)
  • מעקף מרחוק של דרישות האינטראקציה של משתמשים בהתקנת חבילה או בהתנהגות מקבילה
  • מעקף מרחוק של דרישות האינטראקציה של משתמשים לכל הגדרות מפתחים, אבטחה או פרטיות
  • מעקף אתחול מאובטח מרחוק
  • עקיפת מנגנונים שנועדו למנוע תקלה בתוכנות או ברכיבי חומרה הקשורים לבטיחות (למשל הגנות תרמיות)
  • גישה מרחוק לאישורים רגישים המשמשים לאימות שירות מרחוק (לדוגמה, סיסמאות חשבון או אסימונים נושאים)
גָבוֹהַ
  • מעקף אתחול מקומי
  • מעקף מלא של תכונת אבטחת ליבה (כגון SELinux, FDE או seccomp)
  • ביצוע קוד שרירותי מרחוק בהקשר חסר זכויות יוצרים
  • ביצוע קוד שרירותי מקומי בהקשר מיוחס, שרשרת מטען האתחול או TCB
  • גישה בלתי מורשית לנתונים המאובטחים על ידי ה- TEE
  • התקפות נגד SE שמביאות לרמה לאחור ליישום פחות מאובטח
  • מעקף מקומי של דרישות אינטראקציה של משתמשים בהתקנת חבילה או בהתנהגות שווה
  • גישה מרחוק לנתונים מוגנים (נתונים המוגבלים להקשר בעל זכויות יוצרים)
  • מניעת שירות מתמשכת מקומית (קבועה או מחייבת הפעלה מחדש של כל מערכת ההפעלה או איפוס להגדרות היצרן)
  • עקיפה מרחוק של דרישות האינטראקציה של משתמשים (גישה לפונקציונאליות או לנתונים שבדרך כלל ידרשו הפעלת משתמש או הרשאת משתמש)
  • העברת מידע רגיש בפרוטוקול רשת לא מאובטח (למשל HTTP ו- Bluetooth לא מוצפן) כאשר המבקש מצפה לשידור מאובטח (שים לב שזה לא חל על הצפנת Wi-Fi, כגון WEP)
  • מעקף כללי להגנה לעומק או לנצל טכנולוגיית הפחתה בשרשרת מטעין האתחול, TEE או SE
  • מעקף כללי להגנה על מערכת ההפעלה המבודדת נתוני אפליקציות או פרופילי משתמשים זה מזה
  • מעקף מקומי של דרישות אינטראקציה של משתמשים לכל הגדרות מפתחים, אבטחה או פרטיות
  • פגיעות הצפנה המאפשרת התקפות נגד פרוטוקולים מקצה לקצה, כולל התקפות נגד אבטחת שכבת תחבורה (TLS) ו- Bluetooth (BT).
  • עקיפת מסך מנעולים
  • עקיפת הגנת המכשיר/הגנת איפוס להגדרות היצרן/הגבלות ספק
  • מניעה ממוקדת של גישה לשירותי חירום
  • עקיפת דרישות האינטראקציה של משתמשים המאובטחות על ידי ה- TEE
  • מניעה מרחוק של גישה לשירות סלולרי ללא אינטראקציה של משתמשים (למשל, התרסקות שירות הרדיו הסלולרי עם מנה שגויה)
  • גישה מקומית לאישורים רגישים המשמשים לאימות שירות מרחוק (למשל, סיסמאות חשבון או אסימונים נושאים)
לְמַתֵן
  • ביצוע קוד שרירותי מרחוק בהקשר מוגבל
  • מניעת שירות זמנית מרחוק של מכשיר (ניתוק או הפעלה מחדש מרחוק)
  • ביצוע קוד שרירותי מקומי בהקשר חסר זכויות יוצרים
  • מעקף כללי להגנה לעומק או לנצל טכנולוגיית הפחתה בהקשר מיוחס או ב- TCB
  • עקיפת מגבלות על תהליך מוגבל
  • גישה מרחוק לנתונים לא מוגנים (נתונים בדרך כלל נגישים לכל אפליקציה המותקנת מקומית)
  • גישה מקומית לנתונים מוגנים (נתונים המוגבלים להקשר בעל זכויות יוצרים)
  • מעקף מקומי של דרישות האינטראקציה של משתמשים (גישה לפונקציונליות או לנתונים שבדרך כלל ידרשו ליזום משתמש או להרשות משתמש)
  • פגיעות הצפנה בפרימיטיבים סטנדרטיים של קריפטו המאפשרת דליפה של טקסט פשוט (לא פרימיטיבים המשמשים ב- TLS)
  • עקיפת הצפנת Wi-Fi או אימות
נָמוּך
  • ביצוע קוד שרירותי מקומי בהקשר מוגבל
  • פגיעות קריפטוגרפיות בשימוש לא סטנדרטי
  • מעקף כללי להגנה ברמת המשתמש לעומק או לנצל טכנולוגיית הפחתה בהקשר חסר זכויות
  • תיעוד שגוי שעלול להוביל לאי הבנה הקשורה לאבטחה עם פגמים קודיים לאחר מכן
  • מעקף כללי של התאמה אישית על-התקן כולל כגון התאמה קולית או התאמת Face
השפעת אבטחה זניחה (NSI)
  • פגיעות שהשפעתה הופחתה על ידי אחד או יותר משני הדירוג או שינויי ארכיטקטורה ספציפיים לגרסה כך שהחומרה האפקטיבית נמוכה מ- Low, אם כי בעיית הקוד הבסיסית עשויה להישאר
  • כול פגיעות שדורשות מערכת קבצים פגומות, אם מערכת הקבצים כי הוא תמיד אמצה / מוצפן לפני השימוש.

משני דירוג

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

סיבה השפעה
דורש הפעלה כהקשר מיוחס לביצוע ההתקפה -1 חומרה
פרטים ספציפיים לפגיעות מגבילים את השפעת הנושא -1 חומרה
מעקף אימות ביומטרי הדורש מידע ביומטרי ישירות מבעל המכשיר -1 חומרה
תצורות מהדר או פלטפורמה מצמצמות פגיעות בקוד המקור חומרה מתונה אם הפגיעות הבסיסית בינונית או גבוהה יותר
דורש גישה פיזית לפנימי המכשיר ועדיין אפשרי אם המכשיר כבוי או לא נעול מאז הפעלתו -1 חומרה
דורש גישה פיזית לפנימי המכשיר כשהמכשיר דולק וננעל בעבר -2 חומרה
התקפה מקומית הדורשת ביטול נעילה של שרשרת מטעין האתחול לא גבוה יותר מאשר נמוך
התקפה מקומית הדורשת הפעלת מצב מפתחים או כל הגדרות מתמשכות של מצב מפתח כעת במכשיר (ואינה באג במצב מפתח עצמו). לא גבוה יותר מאשר נמוך
אם אף דומיין SELinux לא יכול לבצע את הפעולה תחת ה- SEPolicy המסופק על ידי Google השפעת אבטחה זניחה

מקומי מול פרוקסימלי מול מרוחק

וקטור התקפה מרחוק מציין שניתן לנצל את הבאג ללא התקנת אפליקציה או ללא גישה פיזית להתקן. זה כולל באגים שיכולים להיות מופעלים על ידי גלישה לדף אינטרנט, קריאת דוא"ל, קבלת הודעת SMS או התחברות לרשת עוינת. לצורך דירוג החומרה שלנו, אנו רואים גם את וקטורי ההתקפה ה"פרוקסימליים "כמרחקים. אלה כוללים באגים שיכולים להיות מנוצלים רק על ידי תוקף שנמצא פיזית ליד מכשיר היעד, למשל באג הדורש שליחת Wi-Fi או מנות Bluetooth שגויות. אנו רואים התקפות מבוססות אולטרה-רחב (UWB) ו- NFC כפרוקסימליות ולכן מרוחקות.

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

אבטחת רשת

אנדרואיד מניחה שכל הרשתות עוינות ויכולות להזריק התקפות או לרגל אחר תעבורה. בעוד שאבטחת שכבת קישורים (למשל, הצפנת Wi-Fi) מאבטחת את התקשורת בין מכשיר לנקודת הגישה שאליה הוא מחובר, היא לא עושה דבר כדי לאבטח את הקישורים הנותרים בשרשרת בין המכשיר לשרתים איתם הוא מתקשר.

לעומת זאת, HTTPS מגן בדרך כלל על כל התקשורת מקצה לקצה, מצפין את הנתונים במקורם ולאחר מכן מפענח ומאמת אותם רק לאחר שהגיע ליעד הסופי. בגלל זה, נקודות תורפה הפוגעות באבטחת רשת בשכבות קישור מדורגות פחות חמורות מפגיעות ב- HTTPS/TLS: הצפנת Wi-Fi בלבד אינה מספקת לרוב התקשורת באינטרנט.

אימות ביומטרי

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

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

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

SYSTEM_ALERT_WINDOW ו Tapjacking

לקבלת מידע על המדיניות שלנו לגבי SYSTEM_ALERT_WINDOW ו tapjacking, לראות את "פגיעות Tapjacking / כיסוי SYSTEM_ALERT_WINDOW על מסך לאבטחה קריטית" קטע של אונ' BugHunter באגס ללא שפעת ביטחון דף.

רכיב מושפע

צוות הפיתוח שאחראי על תיקון הבאג תלוי באיזה רכיב הבאג נמצא. זה יכול להיות רכיב ליבה של פלטפורמת האנדרואיד, מנהל התקן של גרעין המסופק על ידי יצרן ציוד מקורי (OEM), או אחת האפליקציות הטעונות מראש במכשירי Pixel. .

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

הרכיב הוא גם גורם לאופן שבו משתמשים מקבלים עדכונים. באג במסגרת או בגרעין דורש עדכון קושחה (OTA) על כל אוויר שכל OEM צריך לדחוף. באג באפליקציה או בספרייה שפורסם ב- Google Play (למשל Gmail, שירותי Google Play או WebView) ניתן לשלוח למשתמשי Android כעדכון מ- Google Play.

הודעה לשותפים

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

שחרור קוד ל- AOSP

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

קבלת עדכוני אנדרואיד

עדכונים למערכת האנדרואיד מועברים בדרך כלל למכשירים באמצעות חבילות עדכון OTA. עדכונים אלה עשויים להגיע מה- OEM שיצר את המכשיר או מהספק שנותן שירות למכשיר. עדכוני מכשירי Google Pixel מגיעים מצוות Google Pixel לאחר שעברו הליך בדיקה טכנית (TA). גוגל גם מפרסמת תמונות מפעל פיקסל שיכול להיות טעון בצד למכשירים.

מעדכן את שירותי Google

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

משאבים אחרים

מידע עבור מפתחי אפליקציות אנדרואיד: https://developer.android.com

מידע אבטחה קיים בכל אתרי קוד פתוח ומפתחי Android. מקומות טובים להתחיל בהם:

דיווחים

לפעמים צוות האבטחה של Android מפרסם דוחות או ניירות לב. ראה אבטחת דוחות לפרטים נוספים.