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

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

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

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

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

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

הפעלת באגים

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

סוגי הקשר

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

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

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

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

לדוגמה, אפליקציית אנדרואיד עם יכולות שיאסרו על ידי הדומיין SELinux untrusted_app או עם גישה להרשאות privileged|signature .
ליבת מערכת ההפעלה פונקציונליות ש:
  • הוא חלק מהגרעין
  • פועל באותו הקשר CPU כמו הליבה (לדוגמה, מנהלי התקנים)
  • יש גישה ישירה לזיכרון הליבה (לדוגמה, רכיבי חומרה במכשיר)
  • בעל יכולת לטעון סקריפטים לתוך רכיב ליבה (לדוגמה, eBPF)
  • הוא אחד מקומץ שירותי משתמש שנחשבים מקבילי ליבה (כגון apexd , bpfloader , init , ueventd ו- vold ).
בסיס חומרה מהימן (THB) רכיבי חומרה נפרדים, בדרך כלל ב-SoC, המספקים פונקציונליות קריטית למקרי השימוש העיקריים של המכשיר (כגון פסי בסיס סלולריים, DSPs, GPUs ומעבדי ML).
שרשרת מאתחול רכיב שמגדיר את המכשיר באתחול ולאחר מכן מעביר את השליטה למערכת ההפעלה אנדרואיד.
סביבת ביצוע מהימנה (TEE) רכיב שתוכנן להיות מוגן אפילו מפני ליבת מערכת הפעלה עוינת (לדוגמה, TrustZone ו-hypervisors, כגון pKVM, שמגנים על מכונות וירטואליות מקרנל מערכת ההפעלה).
מובלעת מאובטחת / אלמנט מאובטח (SE) רכיב חומרה אופציונלי שנועד להיות מוגן מפני כל שאר הרכיבים במכשיר ומפני התקפה פיזית, כפי שהוגדר במבוא ל-Secure Elements .

זה כולל את שבב Titan-M הקיים בחלק ממכשירי אנדרואיד.

חוּמרָה

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

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

משנה דירוג

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

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

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

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

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

אבטחת רשת

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

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

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

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

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

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

SYSTEM_ALERT_WINDOW ו-Tapjacking

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

אבטחה מרובת משתמשים במערכת ההפעלה Android Automotive

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

רכיב מושפע

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

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

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

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

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

שחרור קוד ל-AOSP

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

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

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

עדכון שירותי גוגל

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

משאבים אחרים

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

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

דיווחים

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