חלודה היא כבר מועדפת לפיתוח אנדרואיד

גוגל חשפה לאחרונה הנטייה שפת תכנות חלודה בין שפות מותרות לפיתוח אנדרואיד.

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

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

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

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

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

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

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

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

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

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

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

לתהליכי מערכת ב- Android, גוגל מקפידה על 'הכלל של שניים'פי אשר כל קוד נוסף אינו יכול לעמוד ביותר משניים מתוך שלושה תנאים- עבוד עם נתוני קלט לא מאומתים, השתמש בשפת תכנות לא בטוחה (C / C ++), והפעל ללא בידוד ארגז חול קשה (עם הרשאות מוגברות).

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

גוגל לא שואפת לכתוב את הקוד מחדש C / C ++ קיים בחלודה, אך הוא מתכנן להשתמש בשפה זו לפיתוח קוד חדש.

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

מקור: https://security.googleblog.com


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   מיגל רודריגס דיג'ו

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