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

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

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

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

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

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

הפעלת באגים

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

סוגי הקשר

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

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

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

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

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

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

חוּמרָה

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

דֵרוּג תוצאה של ניצול מוצלח
קריטי
  • גישה לא מורשית לנתונים המאובטחים על ידי 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 או אימות
נָמוּך
  • ביצוע קוד שרירותי מקומי בהקשר מוגבל
  • פגיעות קריפטוגרפית בשימוש לא סטנדרטי
  • מעקף כללי להגנה מעמיקה ברמת המשתמש או לניצול טכנולוגיית הפחתת תנאים בהקשר חסר זכויות
  • תיעוד שגוי שעלול להוביל לאי הבנה הקשורה לאבטחה עם פגמים בקוד הבאים
  • עקיפת כללית של תכונות התאמה אישית במכשיר כגון Voice Match או Face Match
השפעה אבטחה זניחה (NSI)
  • פגיעות שהשפעתה פחתה על ידי שינוי דירוג אחד או יותר או שינויי ארכיטקטורה ספציפיים לגרסה, כך שהחומרה האפקטיבית נמוכה יותר, אם כי בעיית הקוד הבסיסית עשויה להישאר
  • כל פגיעות הדורשת מערכת קבצים פגומה, אם מערכת הקבצים הזו מאומצת/מוצפנת תמיד לפני השימוש.

משנה דירוג

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

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

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

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

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

אבטחת רשת

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

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

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

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

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

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

SYSTEM_ALERT_WINDOW ו-Tapjacking

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

רכיב מושפע

צוות הפיתוח האחראי לתיקון הבאג תלוי באיזה רכיב נמצא הבאג. זה יכול להיות רכיב ליבה של פלטפורמת אנדרואיד, מנהל התקן ליבה שסופק על ידי יצרן ציוד מקורי (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 ובאתרי המפתחים. מקומות טובים להתחיל:

דיווחים

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