ברמת מערכת ההפעלה, פלטפורמת האנדרואיד מספקת את האבטחה של ליבת לינוקס, כמו גם מתקן תקשורת בין תהליכים מאובטחת (IPC) כדי לאפשר תקשורת מאובטחת בין אפליקציות הפועלות בתהליכים שונים. תכונות אבטחה אלו ברמת מערכת ההפעלה מבטיחות שאפילו קוד מקורי מוגבל על ידי ה- Application Sandbox. בין אם הקוד הזה הוא תוצאה של התנהגות אפליקציה כלולה או ניצול של פגיעות אפליקציה, המערכת נועדה למנוע מהאפליקציה הנוכלת לפגוע ביישומים אחרים, במערכת אנדרואיד או במכשיר עצמו. ראה תצורת ליבה לאמצעים שתוכל לנקוט כדי לחזק את הליבה במכשירים שלך. עיין במסמך הגדרת תאימות אנדרואיד (CDD) להגדרות הנדרשות.
אבטחת לינוקס
הבסיס של פלטפורמת אנדרואיד הוא ליבת לינוקס. ליבת לינוקס נמצאת בשימוש נרחב כבר שנים, ומשמשת במיליוני סביבות רגישות לאבטחה. דרך ההיסטוריה שלה שנחקרת, מותקפת ומתוקנת ללא הרף על ידי אלפי מפתחים, לינוקס הפכה לגרעין יציב ומאובטח שניתן לסמוך עליו תאגידים ואנשי אבטחה רבים.
כבסיס לסביבת מחשוב נייד, ליבת לינוקס מספקת לאנדרואיד מספר תכונות אבטחה מרכזיות, כולל:
- מודל הרשאות מבוסס משתמש
- בידוד תהליך
- מנגנון ניתן להרחבה עבור IPC מאובטח
- היכולת להסיר חלקים מיותרים ועלולים לא מאובטחים מהקרנל
כמערכת הפעלה מרובת משתמשים, מטרת אבטחה בסיסית של ליבת לינוקס היא לבודד משאבי משתמשים זה מזה. פילוסופיית האבטחה של לינוקס היא להגן על משאבי המשתמש אחד מהשני, לינוקס:
- מונע ממשתמש א' לקרוא את הקבצים של משתמש ב'
- מבטיח שמשתמש א' לא ממצה את הזיכרון של משתמש ב'
- מבטיח שמשתמש א' לא ממצה את משאבי המעבד של משתמש ב'
- מוודא שמשתמש א' לא ממצה את המכשירים של משתמש ב' (לדוגמה, טלפוניה, GPS ו-Bluetooth)
ארגז החול של האפליקציה
אבטחת האפליקציות של אנדרואיד נאכפת על ידי ארגז החול של האפליקציות, המבודד אפליקציות זו מזו ומגן על אפליקציות ועל המערכת מפני אפליקציות זדוניות. לפרטים נוספים, ראה ארגז חול של יישומים .
מחיצת מערכת ומצב בטוח
המחיצות השונות המוגנות בשלמות מכילות את הליבה של אנדרואיד וכן את ספריות מערכת ההפעלה, זמן ריצה של יישומים, מסגרת יישומים ויישומים. מחיצה זו מוגדרת לקריאה בלבד. כאשר משתמש מאתחל את המכשיר למצב בטוח, יישומי צד שלישי עשויים להיות מופעלים באופן ידני על ידי בעל המכשיר אך אינם מופעלים כברירת מחדל.
הרשאות מערכת קבצים
בסביבה בסגנון UNIX, הרשאות מערכת הקבצים מבטיחות שמשתמש אחד לא יכול לשנות או לקרוא קבצים של משתמש אחר. במקרה של אנדרואיד, כל אפליקציה פועלת כמשתמש משלה. אלא אם המפתח משתף קבצים במפורש עם יישומים אחרים, לא ניתן לקרוא או לשנות קבצים שנוצרו על ידי יישום אחד על ידי יישום אחר.
לינוקס משופרת באבטחה
אנדרואיד משתמשת באבטחה משופרת לינוקס (SELinux) כדי להחיל מדיניות בקרת גישה וליצור בקרת גישה חובה (mac) בתהליכים. ראה לינוקס משופרת באבטחה באנדרואיד לפרטים.
אתחול מאומת
אנדרואיד 7.0 ואילך תומך באתחול מאומת באכיפה קפדנית, מה שאומר שמכשירים שנפגעו לא יכולים לאתחל. אתחול מאומת מבטיח את שלמות תוכנת ההתקן החל משורש חומרה של אמון ועד למחיצת המערכת. במהלך האתחול, כל שלב מאמת באופן קריפטוגרפי את תקינותו והאותנטיות של השלב הבא לפני ביצועו.
ראה אתחול מאומת לפרטים נוספים.
קריפטוגרפיה
אנדרואיד מספקת קבוצה של ממשקי API קריפטוגרפיים לשימוש יישומים. אלה כוללים יישומים של פרימיטיבים קריפטוגרפיים סטנדרטיים ונפוצים כמו AES, RSA, DSA ו-SHA. בנוסף, ממשקי API מסופקים עבור פרוטוקולים ברמה גבוהה יותר כגון SSL ו-HTTPS.
אנדרואיד 4.0 הציגה את מחלקת KeyChain כדי לאפשר ליישומים להשתמש באחסון אישורי המערכת עבור מפתחות פרטיים ושרשרות אישורים.
השתרשות התקנים
כברירת מחדל, באנדרואיד רק הקרנל וקבוצת משנה קטנה של שירותי הליבה פועלים עם הרשאות שורש. SELinux עדיין מגביל את תהליכי מרחב המשתמש הפועלים כשורש. אתחול מאומת מונע ממשתמש או שירות עם הרשאות שורש לשנות את מערכת ההפעלה לצמיתות.
היכולת לשנות מכשיר אנדרואיד שבבעלותם חשובה למפתחים העובדים עם פלטפורמת אנדרואיד. במכשירי אנדרואיד רבים, למשתמשים יש את היכולת לבטל את נעילת טוען האתחול על מנת לאפשר התקנה של מערכת הפעלה חלופית. מערכות הפעלה חלופיות אלו עשויות לאפשר לבעלים לקבל גישת שורש למטרות ניפוי באגים ביישומים ורכיבי מערכת או לגשת לתכונות שאינן מוצגות ליישומים על ידי ממשקי API של Android.
במכשירים מסוימים, אדם עם שליטה פיזית במכשיר וכבל USB מסוגל להתקין מערכת הפעלה חדשה המספקת הרשאות שורש למשתמש. כדי להגן על כל נתוני המשתמש הקיימים מפני פגיעה, מנגנון פתיחת הנעילה של טוען האתחול דורש שהמטען האתחול ימחק את כל נתוני המשתמש הקיימים כחלק משלב ביטול הנעילה. גישת שורש שהושגה באמצעות ניצול באג ליבה או חור אבטחה יכולה לעקוף הגנה זו.
הצפנת נתונים באמצעות מפתח המאוחסן במכשיר אינה מגינה על נתוני האפליקציה מפני משתמשי שורש במכשירים שורשיים. יישומים יכולים להוסיף שכבה של הגנה על נתונים באמצעות הצפנה עם מפתח מאוחסן מחוץ למכשיר, כגון בשרת או סיסמת משתמש. גישה זו יכולה לספק הגנה זמנית בזמן שהמפתח אינו קיים, אך בשלב מסוים יש לספק את המפתח לאפליקציה ואז הוא הופך נגיש למשתמשי שורש.
גישה חזקה יותר להגנה על נתונים מפני משתמשי שורש היא באמצעות שימוש בפתרונות חומרה. יצרני ציוד מקורי עשויים לבחור ליישם פתרונות חומרה המגבילים את הגישה לסוגי תוכן ספציפיים כגון DRM להפעלת וידאו, או האחסון המהימן הקשור ל-NFC עבור ארנק Google. במקרה של מכשיר שאבד או נגנב, הצפנת אחסון מבטיחה שלא ניתן לגשת לנתוני המשתמש מבלי לדעת את האישור של מסך הנעילה של המשתמש.
תכונות אבטחת משתמש
הצפנת אחסון
ה-CDD דורש שכל המכשירים המופעלים עם אנדרואיד 10 ומעלה, ורוב המכשירים המופעלים עם אנדרואיד 6.0 ומעלה, יאפשרו הצפנת אחסון מהקופסה.
היישום הנוכחי של אנדרואיד של הצפנת אחסון הוא הצפנה מבוססת קבצים בשילוב עם הצפנת מטא נתונים . הצפנה מבוססת קבצים מצפינה בשקיפות את תוכן ושמות הקבצים במחיצת נתוני המשתמש, תוך שימוש במפתחות שונים עבור ספריות שונות. הוא מספק ספריות אחסון מוצפנות אישורים ומוצפנים בהתקן עבור כל משתמש, כולל פרופילי עבודה.
הצפנת מטא נתונים משלימה הצפנה מבוססת קבצים. הוא מצפין את כל הבלוקים במחיצת נתוני המשתמש שעדיין לא מוצפנים על ידי הצפנה מבוססת קבצים, תוך שימוש במפתח שאינו קשור לאישור מסך הנעילה של אף משתמש, אך עדיין מוגן על ידי אתחול מאומת.
הגנה על אישורי מסך נעילה
ניתן להגדיר את Android לאימות אישור מסך נעילה (PIN, סיסמה או דפוס) שסופק על ידי המשתמש לפני מתן גישה למכשיר. בנוסף למניעת שימוש לא מורשה במכשיר, אישור מסך הנעילה מגן על המפתח ההצפנה עבור נתונים מוצפנים אישורים. מנהל מכשיר יכול לדרוש שימוש באישור מסך נעילה ו/או כללי מורכבות אישורים.
ניהול מכשיר
אנדרואיד 2.2 ואילך מספקות את ה-Android Device Administration API, המספק תכונות ניהול מכשירים ברמת המערכת. לדוגמה, אפליקציית הדוא"ל המובנית של אנדרואיד משתמשת בממשקי ה-API כדי לשפר את התמיכה ב-Exchange. באמצעות אפליקציית הדואר האלקטרוני, מנהלי Exchange יכולים לאכוף מדיניות אישורי מסך נעילה - כולל סיסמאות אלפאנומריות או מספרי PIN - על פני מכשירים. מנהלי מערכת יכולים גם למחוק מרחוק (כלומר, לשחזר את ברירת המחדל של היצרן) מכשירים שאבדו או נגנבו.
בנוסף לשימוש ביישומים הכלולים במערכת אנדרואיד, ממשקי API אלה זמינים לספקי צד שלישי של פתרונות ניהול התקנים. פרטים על ה-API מסופקים ב- Device Administration .