וִידֵאוֹ: A 5 ª Onda | Trailer Legendado com Chloë Grace Moretz | 21 de janeiro nos cinemas (נוֹבֶמבֶּר 2024)
חתימה דיגיטלית לא שבורה
כל הנקודה של חתימה דיגיטלית על מסמך או קובץ היא להוכיח שהקובץ לא עבר שינוי. התהליך משתמש בצורת קריפטוגרפיה של מפתח ציבורי. אתה חותם על קובץ דיגיטלית על ידי הצפנתו באמצעות המפתח הפרטי שלך. העובדה שניתן לפענח את הקובץ המוצפן באמצעות המפתח הציבורי שלך, היא הוכחה לכך שלא חווה שום חבלה. לו BlueBox הייתה מוצאת דרך לשנות בפועל קובץ מבלי לשנות את חתימתו הדיגיטלית, זה יכול היה להיות מכה מדהימה לכל תעשיית הקריפטו. אבל הם לא עשו זאת.
BlueBox תדווח על הפרטים המלאים של מחקריהם בכנס Black Hat בעוד מספר שבועות. עם זאת, החוקרת ViaForensics פאו אוליבה פורה פרסמה הוכחות לקוד מושג המדגים את הגישה שננקטה.
למען האמת, זה מאוד מאוד פשוט. קבצי APK נארזים באמצעות גרסה של האלגוריתם הנפוץ בארכיון ZIP. רוב יישומי ZIP לא יתירו שני קבצים זהים בארכיון אחד, אך האלגוריתם עצמו אינו אוסר על אפשרות זו. כאשר בודקים חתימה דיגיטלית של אפליקציה, מערכת ההפעלה אנדרואיד מסתכלת על הקובץ התואם הראשון, אך כאשר למעשה מבצעים את הקובץ ומשיקים אותו, הוא תופס את האחרון . כדי לבצע טרויאניזציה של אפליקציה, כל מה שאתה צריך לעשות הוא לנקוס את הקוד הזדוני שלך לתוכו באמצעות שם שכבר קיים בתוך האפליקציה. ההפגנה של פורה היא רק כמה עשרות שורות של קוד Java.
התקפה מבנית נוספת
חוקר סיני שבלוג כטייס האבטחה של אנדרואיד מצא את ההפגנה מסקרן והלך לחפש דרכים אחרות להטות את תהליך האימות. קריאה של הפוסט המתורגם מגוגל מעט קשה, אך נראה כי ההתקפה נשענת על מושג ברמת 101 מדעי המחשב.
תוכנות מחשב מאחסנות מספרים ספורים באוספים של ביטים בגודל קבוע. לדוגמה, עם שמונה ביטים אתה יכול לייצג מספרים מ- 0 עד 255. אם יש צורך לייצג מספרים שליליים, האמנה ארוכת השנים היא שהסיבית השמאלית ביותר מציינת מספר שלילי. עם שמונה ביטים, אם כן, אתה יכול לייצג מספרים בין -128 ל 127. המספר הבינארי 11111111 מייצג 255 או -1, תלוי אם הוא מיועד כמספר שלא חתום או חתום.
משבצת האבטחה של אנדרואיד נשמעה מעל פורמט כותרת הקובץ של APK ומצאה שדה נתונים שמוערך כקיזוז חיובי, אך הוא מאוחסן כמספר שלם חתום. אילוץ שדה זה לערך שלילי ספציפי גורם למטען ה- APK לבצע את הקוד הזדוני, ולא את הקוד שכבר אומת על חתימה דיגיטלית. אוקיי, זה קצת יותר מורכב, אבל זה בערך איך זה עובד.
להישאר עם Google Play
אף אחד מאותם פריצות לא חוסם למעשה את מנגנון החתימה הדיגיטלית של אנדרואיד. במקום זאת, שניהם מנצלים את המוזרויות במבנה ה- APK כדי להפוך את החתימה הדיגיטלית ללא רלוונטית. כמו כן, אף אחת מהן לא תאפשר לאפליקציה טרויאנית להתגנב מעבר לניתוח של גוגל. גוגל עדכנה באופן ספציפי את Google Play כדי לסנן אפליקציות טרויאניות באמצעות התקפת "מפתח הראשי"; אפילו ללא שלב זה, אבטחה סטנדרטית תחסום כמעט בוודאות את כל סוג האפליקציה הטרויאנית.
השיעור ברור. השג תמיד את האפליקציות שלך ממקורות לגיטימיים, בדוק תמיד כי שם המפתח תקף והגדר את הטלפון כך שהוא לא יאפשר התקנת אפליקציות מ"מקורות לא ידועים ". שימו לב לאילו הרשאות אפליקציה מבקשת, והיו מוכנים לבטל התקנה חשודה במראה. אם הספק שלך מציע עדכון אנדרואיד, התקן אותו תמיד. זה פשוט השכל הישר!