Android Q: כל תכונות האבטחה והפרטיות החדשות מגיעות לאנדרואיד 10

ב-Google I/O למדנו על השיפורים שמביאה Android Q. תכונות ושיפורים חדשים של אבטחה ופרטיות נמצאים בכל מערכת ההפעלה החדשה של אנדרואיד.

כל גרסה חדשה של מערכת ההפעלה אנדרואיד מביאה שיפורים כמעט בכל היבט מהעיצוב, התכונות, ממשקי ה-API ועוד. ב-Google I/O מוקדם יותר החודש למדנו על כל שיפורים ש-Android Q הולך להביא, וכמובן, הודעות פרטיות ואבטחה חדשות לא הושארו מהכנס. אבטחת הפלטפורמה היא אחד ההיבטים החשובים ביותר של מערכת הפעלה, במיוחד עבור מערכת הפעלה שאנו מביאים איתנו לכל מקום בכיסנו. אם אנדרואיד לא היה מאובטח, לא היינו סומכים עליו עם חצי יותר פונקציות מאיתנו. תשלומי NFC לא יהיו באים בחשבון, שיתוף קבצים יהיה מפוקפק במקרה הטוב, וחיבור למכשירים אחרים יהיה טירוף ממש. למרות הבעיה ארוכת השנים של פיצול גרסאות, גוגל עשתה טוב מאוד כדי לצמצם את מספר בעיות האבטחה למינימום.

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


הצפנה

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

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

אדיאנטום

בפברואר הכריזה גוגל על ​​Adiantum כחלופה אלגוריתם הצפנה עבור טלפונים ברמה נמוכה יותר שאינם תומכים בערכות הוראות AES רגילות. Adiantum תוכנן במיוחד לפעול ללא כל חומרה ייעודית. הוא משמש כחלופה קלה יותר להצפנת AES הרגילה של אנדרואיד. המדדים של גוגל ספר לנו שהוא למעשה מהיר פי 5 מ-AES, כשהחיסרון הוא שהוא מתפשר מעט על האבטחה. זה הופך אותו למועמד האידיאלי עבור טלפונים ברמה נמוכה יותר, כמו אלה המופעלים על ידי Android Go Edition. Adiantum מיועדת גם למוצרים כמו שעונים חכמים ומגוון מכשירי האינטרנט של הדברים.

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

ספריית האבטחה של Jetpack

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

TLS 1.3

עם זאת, אחסון הוא לא השטח היחיד שהצפנה בו שופרה. התקשורת עם מכשירים אחרים שופרה בהרבה, עם הצגת תמיכה ב-TLS 1.3 כברירת מחדל. TLS 1.3 הוא תקן ההצפנה העדכני ביותר של הרשת, אשר סוכם על ידי IETF באוגוסט 2018. TLS 1.3 מספק פרטיות רבה יותר לחילופי נתונים על ידי הצפנת יותר מלחיצות הידיים למשא ומתן. נוסף על כך, הוא מהיר יותר מ-TLS 1.2 בגלל סיבוב שלם שגולח מלחיצת היד של הקמת החיבור. יחד עם אלגוריתמים מודרניים יעילים יותר זה גורם לעלייה של עד 40% במהירות.

TLS 1.3 בגוגל כרום. מקור: גוגל.

כעת ניתן לעדכן את TLS ישירות מ-Google Play מכיוון שהוא חלק מהרכיב "Conscrypt". אתה יכול לקרוא עוד על זה ועל Project Mainline כאן.

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


שינויים בהרשאות ופרטיות ב-Android Q

אחסון בהיקף

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

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

כדי לגשת לקבצים שנוצרו על ידי אפליקציה אחרת - בין אם הקובץ נמצא באחד מאוספי MediaStore או מחוצה להם - האפליקציה חייבת להשתמש במסגרת הגישה לאחסון. יתר על כן, מטא-נתונים של EXIF ​​של תמונות נמחקים, אלא אם האפליקציה שלך קיבלה את ההרשאה החדשה של ACCESS_MEDIA_LOCATION. באנדרואיד Q, אפליקציות יכולות גם לשלוט באיזה מכשיר אחסון לנחות את המדיה על ידי שאילתת שם אמצעי האחסון שלו באמצעות getExternalVolume().

גוגל הטילה בתחילה הגבלות אחסון בהיקף על כל האפליקציות ב-Android Q ללא קשר לרמות היעד של ה-API שלהן, אך לאחר משוב, החברה נותן למפתחים יותר זמן לבצע התאמות. ניתן למצוא את הפרטים המלאים על השינויים באחסון בהיקף בעמוד זה, ותוכלו לקבל מידע נוסף על ההמלצות של Google על שיטות עבודה מומלצות לאחסון משותף על ידי צופה ב-Google I/O הזה דבר.

אזהרות עבור אפליקציות המתמקדות ברמת API < 23

עם זאת, הגבלות ההרשאה אינן מסתיימות בכך. התקנת אפליקציה שמכוונת לרמת API נמוכה מ-23 (Android Lollipop ומעלה) תגרום למערכת ההפעלה להציג אזהרה למשתמש אם האפליקציה האמורה מבקשת הרשאות רגישות בעת ההתקנה. לפני ההתקנה, למשתמשים תהיה הזדמנות לציין באופן ידני אילו הרשאות הם רוצים להעניק לאפליקציה לפני שהם ממשיכים. לפיכך, אנדרואיד Q כבר לא מאפשרת לאפליקציות לעקוף הרשאות זמן ריצה.

כמו CopperheadOS, סטוק Android Q מאפשר כעת למשתמש להשבית את כל ההרשאות המסוכנות המבוקשות לפני הפעלת אפליקציה בפעם הראשונה. זה חל רק על אפליקציות המתמקדות ברמת API 22 ומטה, וזה לפני שהושגו הרשאות זמן ריצה (באנדרואיד מרשמלו).

בסופו של דבר SYSTEM_ALERT_DEPRECATION לטובת ממשק ה-API של Bubbles

Bubbles API בפעולה. מקור: גוגל.

לא ניתן עוד להעניק את הרשאת שכבת העל (SYSTEM_ALERT_WINDOW) עבור אפליקציות הפועלות ב-Android Q (Go Edition). עבור מכשירים שאינם מהדורת Go, גוגל דוחפת מפתחים ל-Bubbles API החדש. Bubbles API היא תכונה שהוצגה ב אנדרואיד Q Beta 2 מה שמאפשר פונקציונליות שהיא כמו ראשי הצ'אט של Facebook Messenger. התראות מאפליקציות מופיעות כבועות קטנות בקצוות המסך, שמתרחבות כאשר המשתמש מקיש עליהן. בתוך הבועה, אפליקציה יכולה להציג פעילות.

השינוי הזה היה הכרחי מכיוון שהאפשרות לאפליקציות לצייר בחופשיות שכבות על מעל אפליקציות אחרות מהווה סיכוני אבטחה ברורים. הידוע לשמצה"גלימה ופגיון"נצל השתמש בחולשה זו באופן נרחב. הפונקציונליות של ה-API של שכבת-העל הוגבלה כבר ב-Android Oreo, אך כעת מהדורת Go של Android Q הסירה לחלוטין את הגישה ל-API עם מהדורה עתידית כדי לבטל אותו לחלוטין.

הגבלות השקת פעילות ברקע

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

הגבלת גישה ללוח רקע

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

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

גישה למיקום רק בזמן שאפליקציה נמצאת בשימוש

אפשרויות חדשות להרשאת מיקום

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

תפקידים

תפקידים

API חדש של "תפקידים" נוסף. תפקידים הם בעצם קבוצות עם גישה להרשאות מוגדרות מראש. לדוגמה, לאפליקציות עם תפקיד הגלריה עשויה להיות גישה לתיקיות המדיה שלך, בעוד שאפליקציות עם תפקיד החייגן עשויות לטפל בשיחות. אפליקציות שקיבלו תפקיד מסוים על ידי המשתמש חייבות לכלול גם את הרכיבים הנדרשים. אפליקציות עם תפקיד הגלריה, למשל, חייבות להיות עם מסנן כוונת הפעולה דְמוּי אָדָם.כוונה.פעולה.רָאשִׁי ומסנן כוונת הקטגוריה android.intent.category. APP_GALLERY כדי להופיע כאפליקציית גלריה בהגדרות.

חיישנים כבוי אריח הגדרות מהירות

אריח הגדרות מהירות חיישנים

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

הגבלות על /proc/net

אפליקציות כבר לא יכולות גישה ל-proc/net, מה שהופך שירותים כמו netstat לבלתי אפשריים יותר. זה מגן על המשתמשים מפני אפליקציות זדוניות המנטרות לאילו אתרים ושירותים הם מתחברים. אפליקציות הזקוקות לגישה מתמשכת, כגון VPNs, צריכות להשתמש ב- NetworkStatsManager ו Connectivity Manager שיעורים.

כתובות MAC אקראיות

כתובת ה-MAC שלך היא מזהה ייחודי שרשתות משתמשות בו כדי לזכור איזה מכשיר הוא איזה. באנדרואיד Q, בכל פעם שאתה מתחבר לרשת חדשה, המכשיר שלך ישתמש בכתובת MAC חדשה ואקראית. כתוצאה, רשתות לא יכולות לעקוב אחר המיקום שלך על ידי התאמת רשתות ה-WiFi שאתה מתחבר אליהן עם כתובת ה-MAC של הטלפון שלך. עדיין ניתן להשיג את כתובת ה-MAC של המכשיר בפועל על ידי אפליקציות דרך ה- getWifiMacAddress() פקודה.


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

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

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

  • ארגז חול מוגבל עבור רכיבי codec תוכנה.
  • שימוש מוגבר בייצור בחומרי חיטוי כדי להפחית מחלקות שלמות של פגיעויות ברכיבים המעבדים תוכן לא מהימן.
  • Shadow Call Stack, המספק שלמות זרימת בקרה אחורית (CFI) ומשלים את הגנת הקצה קדימה שמספקת ה-CFI של LLVM.
  • הגנה על אקראיות של פריסת מרחב כתובת (ASLR) מפני דליפות באמצעות זיכרון eXecute-Only (XOM).
  • הצגת ה-Scudo allocator מוקשה אשר מקשה על ניצול מספר נקודות תורפה הקשורות בערימה.

זה הרבה ז'רגון תוכנה. העצמות של זה הן שקודקים של תוכנה פועלים כעת בארגזי חול שיש להם פחות הרשאות, כלומר פחות סביר שתוכנה זדונית תוכל להריץ פקודות שעלולות להזיק למכשיר שלך, כמו במקרה שֶׁל פחד במה כבר ב-2015.

ארגז חול מוגבל עבור רכיבי codec תוכנה. מקור: גוגל.

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

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

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

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


אימות

עדכונים ל-BiometricPrompt באנדרואיד Q

גוגל הציגה את ה-API החדש של BiometricPrompt לפני יותר משנה, ב תצוגה מקדימה של מפתח אנדרואיד P 2. זה נועד להיות הנחיה גנרית של אנדרואיד לשיטות פתיחה ביומטריות. הרעיון הוא שמכשירים התומכים ביותר מסתם סריקת טביעות אצבע, למשל. סריקת קשתית על קו ה-Galaxy S של סמסונג, תוכל להשתמש בשיטות אלו כאשר אפליקציות יבקשו אימות.

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

BiometricPrompt API זרימה מרומזת ומפורשת. מקור: גוגל.

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

אבני הבניין לתמיכה בזיהוי אלקטרוני

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


Project Mainline באנדרואיד Q

Project Mainline היא התחייבות מרכזית של Google לצמצם את הפיצול של מודולי מערכת ואפליקציות מסוימות. גוגל תשלוט בעדכונים עבור כ-12 רכיבי מערכת דרך חנות Play. דיברנו על Project Mainline לעומק במאמר קודם אם אתה מעוניין לקרוא עוד.


סיכום

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


מקור 1: מה חדש באבטחת Android Q [Google]

מקור 2: אבטחה באנדרואיד: מה הלאה [Google]

מקור 3: תור את השיפורים המתקשים [Google]

עם קלט של מישאל רחמן ואדם קונווי.