תכונות האבטחה של Android

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

ארגז חול לאפליקציות

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

חתימה על אפליקציות

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

אימות

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

במכשירים עם חיישן טביעות אצבע, המשתמשים יכולים לרשום טביעת אצבע אחת או יותר ולהשתמש בהן כדי לבטל את נעילת המכשיר ולבצע משימות אחרות. מערכת המשנה של Gatekeeper מבצעת אימות של דפוס או סיסמה של המכשיר בסביבת מחשוב אמינה (TEE).

Android מגרסה 9 ואילך כולל אישור מוגן, שמאפשר למשתמשים לאשר באופן רשמי עסקאות קריטיות, כמו תשלומים.

מידע ביומטרי

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

הצפנה

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

מאגר מפתחות

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

Security-Enhanced Linux

כחלק ממודל האבטחה של Android, מערכת Android משתמשת ב-Security-Enhanced Linux‏ (SELinux) כדי לאכוף בקרת גישה חובה (MAC) על כל התהליכים, גם תהליכים שפועלים עם הרשאות root או סופר-משתמש (יכולות Linux).

Trusty Trusted Execution Environment‏ (TEE)

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

אתחול מאומת

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