securityPosture
הוא הערכת האבטחה של מכשיר, שמתבססת על סטטוס המכשיר הנוכחי.
סטטוס המכשיר הנוכחי נקבע על סמך גורמים כמו אם המכשיר עבר תהליך רוט (Root), אם הוא פועל עם ROM בהתאמה אישית ועוד.
השדה securityPosture
מפורט בתגובה כ-devicePosture
ורשימה נוספת של postureDetails
שמכילה את השדה securityRisk
.
השדה securityRisk
מספק מושג לגבי הסיבה לכך שהמכשיר לא נחשב למכשיר במצב האבטחה המאובטח ביותר, בעוד שהרשימה advice
יכולה לעזור לבצע פעולות לשיפור מצב האבטחה של המכשיר.
לדוגמה:
{ "devicePosture": "POTENTIALLY_COMPROMISED", "postureDetails": [ { "securityRisk": "UNKNOWN_OS", "advice": [ { "defaultMessage": "The user should lock their device's bootloader." } ] }, { "securityRisk": "HARDWARE_BACKED_EVALUATION_FAILED" } ] }
הערכת מצב האבטחה
כברירת מחדל, הערך של securityPosture
נבדק באמצעות אימות מפתחות, ובמיוחד באמצעות אימות מפתחות מבוסס-חומרה (HBKA) אם רלוונטי. כך מתקבלת תוצאת אבטחה מהימנה, כי האימות נוצר ונחתם בחומרה מאובטחת.
לפעמים לא ניתן להשתמש ב-HBKA לצורך ההערכה הזו. כדי לשקף זאת, הערך שיוחזר על ידי securityRisk
יהיה 'HARDWARE_BACKED_EVALUATION_FAILED'. המשמעות היא שאפשר להעריך את securityPosture
, אבל לא באמצעות HBKA. כלומר, מצב תקינות האתחול של המכשיר עלול להיות מושחת (למשל, יכול להיות שהמכשיר עבר תהליך root) ולא ניתן יהיה לזהות אותו באמצעות זיהוי מבוסס-תוכנה.
הסבר על תוצאות הבדיקה של מצב האבטחה
אפשר לפרש שילובים שונים של devicePosture
ו-securityRisk
כדי להבין את רמת האבטחה הכוללת של המכשיר. חשוב לזכור שהרשימה הבאה היא חלקית בלבד:
- אם הערך המוחזר על ידי
devicePosture
הוא SECURE והערך המוחזר על ידיsecurityRisk
הוא HARDWARE_BACKED_EVALUATION_FAILED, התקינות של המכשיר מאובטחת, אבל לא ניתן היה לאמת זאת באמצעות HBKA. - אם הפונקציה
devicePosture
מחזירה את הערך POTENTIALLY_COMPROMISED ולא מוחזר ערך שלsecurityRisk
, המערכת משתמשת ב-HBKA במסגרת ההערכה ומתייחסת למכשיר כאל מכשיר שנפרץ. - אם הערך המוחזר של
devicePosture
הוא POTENTIALLY_COMPROMISED והערך המוחזר שלsecurityRisk
הוא HARDWARE_BACKED_EVALUATION_FAILED, ניתן לבצע רק בדיקות מבוססות-תוכנה, אבל אותות האיום על תקינות המכשיר חזקים מספיק כדי להחשיב אותו כמכשיר שנפרץ. - אם הערך המוחזר של
devicePosture
הוא POSTURE_UNSPECIFIED, לא ניתן היה להשלים את הערכת האבטחה. מומלץ להמתין להנפקה מחדש של ה-HBKA, שמתרחשת כשמתקבלת תוצאה חדשה, כדי לראות אם הוא יכול להחזיר ערך ספציפי. עם זאת, הערך POSTURE_UNSPECIFIED צפוי להופיע בהתקנה הראשונית למשך פרק זמן קצר.
מיפויים של Android Management API ל-Play Integrity API
בטבלה הבאה מפורטת ההתאמה בין התוצאה של AM API לתשובה של Play Integrity API.
AM API DevicePosture | AM API Posture.Detail.SecurityRisk | הקביעה המקבילה של Play Integrity API |
---|---|---|
SECURE |
SECURITY_RISK_UNSPECIFIED |
MEETS_STRONG_INTEGRITY |
SECURE |
מכיל: HARDWARE_BACKED_EVALUATION_FAILED |
MEETS_DEVICE_INTEGRITY |
POTENTIALLY_COMPROMISED |
מכיל: UNKNOWN_OS |
MEETS_BASIC_INTEGRITY |
POTENTIALLY_COMPROMISED |
מכיל: COMPROMISED_OS |
<unset> |
POSTURE_UNSPECIFIED |
<any> |
<unset> |