מי מכם שקרא את המאמר “כספת של סוכריות גומי” שכתבתי במגזין (בגיליון 38), קרא בחלקו על חור אבטחה המאפשר לפתוח מכשיר הנעול בסיסמה/צורה. כחלק מהעדכון בגרסה 4.2.2, גוגל הוסיפה פיצ’ר אבטחה הנקרא USB Debug Whitelist. הפיצ’ר הנל מהווה חסימה של החור, אך לפני שנתחיל להסביר עליו קצת יותר בואו ניזכר על איזה חור מדובר:
"אז נעלת את המכשיר ו?...
נעילת המכשיר, רובנו מבצעים את זה, האם זה בטוח? לא ממש ,הרי המערכת “מקליטה” את הצורה או את הסיסמה, היא צריכה להשוות עם משהו. איפה ההקלטה הזאת יושבת? בנתיבים הבאים:
/data/system/gesture.key
/data/system/password.key
למרות שהקובץ מאובטח, לא ניתן להיכנס אליו ופשוט למשוך את הצורה או הסיסמה. אבל מה שניתן לעשות הוא פשוט למחוק את הקובץ, במידה ואין עם מה להשוות, המערכת מקבלת כל סיסמה או צורה שתכניסו.
אז מה צריך בשביל זה: על מנת לבצע זאת, אנו צריכים USB Debugging פועל, במידה והוא לא פועל ניתן להריץ את הפקודות דרך ה-Recovery) במידה ויש. במידה ואין, לא יהיה ניתן למחוק את הקובץ כשהמכשיר כבר נעול, למרות שלרוב ניתן “לדחוף” את ה-Recovery המפותח “בכוח”, במצב של Fastboot).
יש לציין כי לא חשוב אם קיימות הרשאות root או לא. הפקודה:
adb shell rm /data/system/gesture.key
או:
adb shell rm /data/system/password.key
הפקודה רצה כמובן דרך ה-ADB, לאלה שלא מוכר להם העניין חיפוש קצר בגוגל של הערך “Android ADB” יעזור מאוד. מה אנחנו בעצם עושים בפקודה הזאת?
rm זהו קיצור של remove. ובכך אנחנו מסירים את הקובץ gesture.key (או password.key) שנמצא בנתיב data/system/ (לפעמים לאחר הרצת הפקודה יש לכבות-ולהדליק את המכשיר). בנוסף יש לציין כי הפרצה נבדקה ועובדת על גרסאות 4.2 - 4.1.2, 4.0.3 - 2.3.3, 2.2 - 2.1 המהווים קצת יותר מ-95% מסך המכשירים המאוקטבים היום (וניתן להניח כי הפרצה עובדת גם על גרסאות קודמות יותר).
יש לציין כי הפרצה נוסתה על גרסת AOSP - גרסה נקייה של אנדרואיד, ואשמח לשמוע אם היא עובדת על המכשירים עם הממשקים השונים (sense של touchwiz ,HTC של Samsung וכד’).”
אז כמו שהזכרתי בהתחלה, שם הפיצ’ר הוא USB Debug Whitelist. דרך העבודה שלו למעשה די פשוטה - באופן כללי: כאשר אתה מחבר את המכשיר למחשב (באמצעות USB), המערכת (אנדרואיד) מקבלת מפתח RSA של המחשב שלך (Token), כעת הפיצ’ר מאפשר לך לנהל רשימה של אותם Token-ים (או במילים אחרות: רשימה של כל החיבורים).
כשהפיצ’ר פעיל תקפוץ הודעה (במכשיר) בעת החיבור:
ההודעה תבקש ממך לאשר שברצונך לאפשר USB Debugging מהמחשב. ותאפשר לך להוסיף את ה-Token של המחשב לרשימה הלבנה כדי שהמערכת לא תבקש ממך לאשר זאת שוב עבור אותו המחשב (תשמור את ה-Token שלו ברשימה הלבנה של המכשיר).
מכך נובע, שאם גנבו לנו את המכשיר (בהנחה שיש סיסמה/צורה וכ’ו) הגנב לא יצליח לגשת למכשיר דרך ה ADB ממחשב שאינו נמצא ברשימה הלבנה.
להלן, תמונה המראה כיצד יראה המכשיר במחשב שה-Token שלו לא נמצא ברשימה הלבנה (ובגלל שהמכשיר אינו פתוח, הגנב אינו יכול לאשר את ההודעה הקופצת ולאפשר חיבור USB Debugging):
הפוסט נכתב ע”י ניר גלאון. כתובת אימייל ליצירת קשר: nirgn975@gmail.com