זום עבור תיקוני Mac קבל שורש באג - עדכן עכשיו! PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

זום עבור תיקוני Mac קבל שורש באג - עדכן עכשיו!

במשמרת האבטחה הידועה של DEF CON בלאס וגאס, נבדה, בשבוע שעבר, חוקר אבטחת הסייבר של מק פטריק ורדל גילה "שורש" העלאת הרשאות באג (EoP) בזום עבור Mac:

בציוץ, שבא בעקבות הרצאתו [2022-08-12], ציין ורדל:

כרגע אין תיקון [:עיניים מטוגנות המתארות אזעקה EMOJI:] [:EDVARD MUNCH SREAM EMOJI:]

זום עבד מיד על תיקון לפגם, שהוכרז למחרת עלון אבטחת זום ZSB-22018, לזכות ברכת מזל טוב תשובה מ-Wardle בתהליך:

Mahalos ל- @Zoom עבור התיקון המהיר (להפליא)! [:שתי ידיים מורמות לחגיגה ומתנועעות על אימוג'י:] [:כפות הידיים נלחצות יחדיו בסימן של רצון טוב רוחני אמוג'י:]

גילוי יום אפס

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

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

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

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

חרב פיפיות

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

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

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

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

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

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

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

עוקף את בדיקת האותנטיות

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

במקום להשתמש בממשקי ה-API הרשמיים של macOS כדי לאמת את החתימה הדיגיטלית של ההורדה ישירות, מפתחי זום החליטו לבצע את האימות בעקיפין, על ידי הפעלת כלי השירות של macOS pkgutil --check-signature ברקע ובחינת הפלט.

הנה דוגמה של pkgutil פלט, באמצעות גרסה ישנה של Zoom.pkg חבילת תוכנה:

$ pkgutil --check-signature Zoom.pkg חבילת "Zoom.pkg": סטטוס: חתום על ידי תעודת מפתח שהונפקה על ידי אפל להפצה חתום בחותמת זמן מהימנה בתאריך: 2022-06-27 01:26:22 +0000 שרשרת אישורים : 1. מתקין מזהה מפתח: Zoom Video Communications, Inc. (BJ4HAAB9B3) תוקף: 2027-02-01 22:12:15 +0000 SHA256 טביעת אצבע: 6D 70 1A 84 F0 5A D4 C1 C1 C3 AE 01 FB 2F 1C A2 9 5 A6 80 48 FF B4 F76 60 BB 5C ------------------------------------------ -------------------------------------- 0. תוקף אישור זיהוי מפתח: 57-8-2 2027:02:01 +22 SHA12 טביעת אצבע: 15A FC 0000D 256 A7 9F 01 A6 DE 2 03 2 96D 37A FE 93 6 4D 68D E09 0D 2 F1 8C 03 CF B2 B9 BA 88F -------------------------------------------------- -------------- 0. Apple Root CA תפוגה: 1-63-58 7:3:2035 +02 SHA09 טביעת אצבע: B21 B40 36 0000E CB C256 FF 0 1 73 0C 7 F45 05 14E 2E DA 49B CA ED 1E 29C 5 C6 BE 6 B7 A2 68 5 F91 5

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

נבדוק את הפלט על ידי ביצוע הרצף הוויזואלי השימושי בפלט.

ראשית, נחפש קודם את הסטטוס הרצוי, למשל signed by a developer certificate issued by Apple for distribution.

ואז מצאנו את כותרת המשנה Certificate Chain:.

לבסוף, נבדוק שהשרשרת מורכבת משלושת החותמים האלה, בסדר הנכון:

  1. Zoom Video Communications, Inc. 2. רשות אישורי מזהה מפתחים 3. Apple Root CA

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

אז, יצירת חבילה עם שם אבסורדי אבל חוקי כגון Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA.pkg היה מרמה את מאמת החבילה למצוא את "מחרוזות הזהות" שהוא חיפש.

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

כך ניתן היה לעקוף באופן טריוויאלי את בדיקת ה"אבטחה".

תיקון חלקי

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

...אבל לאחר החלת התיקון, הוא שם לב שעדיין יש חור פעור בתהליך העדכון.

המעדכן ניסה לעשות את הדבר הנכון:

  • 1. העבר את החבילה שהורדת לספרייה שבבעלות השורש, ובכך תיאורטית אסורה לכל משתמש רגיל.
  • 2. אמת את החתימה ההצפנה של החבילה שהורדת, באמצעות ממשקי API רשמיים, לא באמצעות התאמת טקסט נגד pkgutil פלט.
  • 3. הוצא מהארכיון של קובץ החבילה שהורדת, על מנת לאמת את מספר הגרסה שלו, כדי למנוע התקפות שדרוג לאחור.
  • 4. התקן את קובץ החבילה שהורדת, תוך שימוש בהרשאות הבסיס של תהליך העדכון האוטומטי.

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

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

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

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

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

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

התיקון נמצא כעת

לפי Wardle, זום מנעה כעת את הבאג הזה על ידי שינוי זכויות הגישה בקובץ חבילת העדכון שהועתק בשלב 1 לעיל.

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

זה מסיר את תנאי המירוץ, מכיוון שתוקף חסר זכויות לא יכול לשנות את הקובץ בין סוף שלב 2 (האימות הצליח) ותחילת שלב 4 (ההתקנה מתחילה).

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

בעיית TOCTOU אינה חלה מכיוון שהצ'ק בשלב 2 נשאר תקף עד תחילת השימוש בקובץ, ולא מותיר חלון הזדמנויות שהצ'ק יהפוך לבלתי חוקי.

מה לעשות?

אם אתה משתמש בזום ב-Mac, פתח את האפליקציה ולאחר מכן, בשורת התפריטים, עבור אל zoom.us > Check for Updates...

אם קיים עדכון, הגרסה החדשה תוצג, ותוכל ללחוץ [Install] כדי להחיל את המדבקות:

זום עבור תיקוני Mac קבל שורש באג - עדכן עכשיו! PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

הגרסה שאתה רוצה היא 5.11.5 (9788) או במאוחר.


בול זמן:

עוד מ ביטחון עירום