אבטחת מערכת וקרנל

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

אבטחת לינוקס

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

כבסיס לסביבת מחשוב נייד, ליבת לינוקס מספקת לאנדרואיד מספר תכונות אבטחה מרכזיות, כולל:

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

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

  • מונע ממשתמש א' לקרוא את הקבצים של משתמש ב'
  • מבטיח שמשתמש א' לא ממצה את הזיכרון של משתמש ב'
  • מבטיח שמשתמש א' לא ממצה את משאבי המעבד של משתמש ב'
  • מוודא שמשתמש א' לא ממצה את המכשירים של משתמש ב' (לדוגמה, טלפוניה, GPS ו-Bluetooth)

ארגז החול של האפליקציה

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

מחיצת מערכת ומצב בטוח

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

הרשאות מערכת קבצים

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

לינוקס משופרת באבטחה

אנדרואיד משתמשת באבטחה משופרת לינוקס (SELinux) כדי להחיל מדיניות בקרת גישה וליצור בקרת גישה חובה (mac) בתהליכים. ראה לינוקס משופרת באבטחה באנדרואיד לפרטים.

אתחול מאומת

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

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

ראה אתחול מאומת לפרטים נוספים.

קריפטוגרפיה

אנדרואיד מספקת קבוצה של ממשקי API קריפטוגרפיים לשימוש יישומים. אלה כוללים יישומים של פרימיטיבים קריפטוגרפיים סטנדרטיים ונפוצים כמו AES, RSA, DSA ו-SHA. בנוסף, ממשקי API מסופקים עבור פרוטוקולים ברמה גבוהה יותר כגון SSL ו-HTTPS.

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

השתרשות התקנים

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

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

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

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

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

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

תכונות אבטחת משתמש

הצפנת מערכת קבצים

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

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

אנדרואיד 7.0 ואילך תומך בהצפנה מבוססת קבצים . הצפנה מבוססת קבצים מאפשרת להצפין קבצים שונים באמצעות מפתחות שונים הניתנים לפתיחה עצמאית.

פרטים נוספים על יישום הצפנת מערכת קבצים זמינים בסעיף הצפנה .

הגנת סיסמה

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

מנהל מכשיר יכול לדרוש שימוש בסיסמה ו/או כללי מורכבות סיסמה.

ניהול מכשיר

אנדרואיד 2.2 ואילך מספקות את ה-Android Device Administration API, המספק תכונות ניהול מכשירים ברמת המערכת. לדוגמה, אפליקציית הדוא"ל המובנית של אנדרואיד משתמשת בממשקי ה-API כדי לשפר את התמיכה ב-Exchange. באמצעות אפליקציית הדואר האלקטרוני, מנהלי Exchange יכולים לאכוף מדיניות סיסמאות - כולל סיסמאות אלפאנומריות או קוד PIN מספרי - בכל המכשירים. מנהלי מערכת יכולים גם למחוק מרחוק (כלומר, לשחזר את ברירת המחדל של היצרן) מכשירים שאבדו או נגנבו.

בנוסף לשימוש ביישומים הכלולים במערכת אנדרואיד, ממשקי API אלה זמינים לספקי צד שלישי של פתרונות ניהול התקנים. פרטים על ה-API מסופקים ב- Device Administration .