אבטחת מערכת וליבה

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

אבטחת לינוקס

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

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

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

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

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

ארגז החול של היישום

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

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

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

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

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

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

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

אתחול מאומת

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

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

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

קריפטוגרפיה

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

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

השתרשות מכשירים

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

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

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

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

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

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

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

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

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

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

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

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

הגנת סיסמא

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

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

ניהול מכשירים

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

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