Stagefright

Stagefright (בעברית: "פחד במה") הוא שם כולל לקבוצת באגים שמשפיעים על מערכת ההפעלה אנדרואיד מגרסה 2.2 ואילך, ומאפשרים לתוקפים לבצע פעולות שרירותיות על מכשיריהם של קורבנות בעזרת הרצת קוד מרחוק והסלמת הרשאות. חוקרי אבטחת מידע הדגימו את קיומם של הבאגים בעזרת הוכחת התכנות ששולחת הודעות MMS שהוכנו מראש למכשיר הקורבן, וברוב המקרים לא דורשת ביצוע פעולה מסוימת מצד משתמש הקצה מרגע שההודעה התקבלה. המידע היחיד שהחוקרים ידעו על היעד הנתקף לצורך ההדגמה הוא את מספר הטלפון שלו. 
שיטת ההתקפה המרכזית מנצלת חולשות מסוג גלישה נומרית ברכיב ליבה של אנדרואיד שמכונה "Stagefright" (או בקוד המקור: libstagefright), ספרייה מורכבת הממומשת בעיקר ב־C++‎ המהווה חלק מפרויקט הקוד הפתוח של אנדרואיד, ומשומשת על ידי מערכת ההפעלה כמנוע לניגון קובצי מולטימדיה כמו קובצי MP4.
לבאגים שנתגלו ניתנו מספר מזהי CVE‏: CVE-2015-1538, CVE-2015-1539, CVE-2015-3824, CVE-2015-3826, CVE-2015-3827, CVE-2015-3828, CVE-2015-3829 ו־CVE-2015-3864 (האחרון הוקצה בנפרד מהאחרים), כאשר נפוץ להתייחס לכולם כקבוצה תחת השם "באג Stagefright".

היסטוריה

באג ה־Stagefright נמצא על ידי יהושע דרייק (Joshua Drake) מחברת האבטחה Zimperium, והתפרסם לציבור בפעם הראשונה ב־27 ביולי 2015. לפני ההכרזה, דרייק דיווח על הבאג לגוגל באפריל 2015, וזו האחרונה שחררה כעבור יומיים טלאי תוכנה שהופץ במאגר הקוד הפנימי של החברה. ביולי 2015, יבגני לגרוב, חוקר אבטחה ממוסקבה, הכריז שהוא מצא לפחות שתי מתקפות אפס ימים דומות הקשורות בגלישת ערימה בקוד של ספריית Stagefright. לגורוב אישר שהפרצות שמצא הפכו להיות בלתי אפשריות לניצול על ידי החלת טלאי התוכנה שדרייק שלח לגוגל.
הגילוי הנאות הפומבי של באג ה־Stagefright התבצע ב־5 באוגוסט 2015, בכנס Black Hat שבארצות הברית וכן ב־7 באוגוסט 2015, בכנס DEF CON ה־23.  לאחר הגילוי ב־5 באוגוסט, Zimperium פרסמה לציבור את קוד המקור של הוכחת ההתכנות לניצול, טלאים לתיקון ספריית Stagefright (למרות שאלו כבר שוחררו במאי 2015 במסגרת פרויקט הקוד הפתוח של אנדרואיד ומאגרי קוד פתוח אחרים,) ויישומון אנדרואיד שנקראת "מזהה Stagefright" שבוחן האם המכשיר פגיע לבאג ה־Stagefright.
ב־13 באוגוסט 2015, פגיעות נוספת הקשורה ב־Stagefright פורסמה על ידי Exodus Intelligence. פגיעות זו לא תוקנה על ידי הטלאים שפורסמו לפירצות שהיו ידועות עד כה. הצוות של CyanogenMod פרסם הודעה שטלאים שמטרתם סגירת חולשה זו ישולבו בקוד המקור של CyanogenMod 12.1 ב־13 באוגוסט 2015.
ב־1 באוקטובר 2015 Zimperium שחררה פרטים על פגיעויות נוספות, הידועים בשמם גם כ־Stagefright 2.0. פגיעויות אלו נגרמות על ידי קובצי MP3 ו־MP4 שהוכנו במיוחד לצורך המתקפה, ומריצים קוד זדוני כאשר מנגנים אותם באמצעות שרת המדיה של אנדרואיד. חולשה זו נמצאה בספרייה מרכזית באנדרואיד בשם libutils, רכיב של אנדרואיד שקיים מאז שאנדרואיד שוחרר. גרסאות האנדרואיד 1.5 עד אנדרואיד 5.1 פגיעות לחולשה זו, ומספר המכשירים הפגיעים מוערך בכמיליארד.

השלכות

בעוד שגוגל מתחזקת את בסיס הקוד העיקרי של אנדרואיד, עדכוני קושחה למכשירי אנדרואיד שונים הם באחריות ספקיות הסלולר ויצרני הציוד המקוריים. כתוצאה מכך, הפצת טלאים בפועל למכשירים לעיתים קרובות מתבצעת אחרי זמן רב. ההליך מושפע בין היתר מההפרדה המורגשת בין היצרנים, גרסאות המכשיר, גרסאות מערכת ההפעלה והתאמות שונות שנעשות למערכת ההפעלה על ידי היצרניות.
מכשירים ישנים או זולים צפויים שלא לקבל טלאי עדכון לקושחה בכלל.
מכשירים רבים שאינם נכללים בהליך הפצת הטלאים יצטרכו להפרץ על ידי בעלי המכשירים עצמם, הליך שמפר את התנאים של חוזים רבים ספקיות הסלולר. מסיבות אלו, טבעו של Stagefright מדגיש את הקשיים הטכניים והארגוניים המזוהים עם הפצת טלאים לאנדרואיד.
על מנת לטפל בעיכובים ובבעיות הקשורות בהפצת טלאים לאנדרואיד, ב־1 באוגוסט 2015 יצרה Zimperium התאגדות בשם Zimperium Handset Alliance, שמטרתה לאפשר לגורמים שונים להחליף מידע ולקבל עדכונים בזמן אמת על בעיות אבטחה הקשורות באנדרואיד. חברים בהתאגדות קיבלו גם את הקוד של הוכחת היתכנות עוד לפני שהוא פורסם לציבור. נכון לתאריך ה־6 באוגוסט 2015,‏ 25 מיצרניות הציוד ומספקיות הסלולר המובילות כבר הצטרפו להתאגדות.