שמונה מפתחות שאפשרו להתחזות לכל אתר באינטרנט דלפו, והדפדפנים חסמו אותם בתוך שעתיים
ב-17 באוקטובר, בשעה 18:05 לפי שעון UTC, קיבלו צוותי האבטחה של כרום ושל פיירפוקס הודעה קצרה ובה המשפט "We have a problem here", חתום בשם Wayne. מה שהפך אותה לדחופה היה לא התוכן אלא החתימה: אותו משפט נחתם שמונה פעמים, בשמונה מפתחות פרטיים שלא היו צריכים להיות בידי אף אחד מחוץ לחברה שמחזיקה בהם. שעה ו-40 דקות אחר כך כרום כבר חסם את שש התעודות שמשמשות לאתרים.
מה קרה
כשאתם נכנסים לאתר והדפדפן מציג מנעול, מה שהוא בדק זה שרשרת של חתימות. לאתר יש תעודה דיגיטלית, התעודה חתומה בידי גוף ביניים, והגוף ההוא חתום בידי גוף שורש שהדפדפן מכיר ומאמין לו מראש. מי שמחזיק את המפתח הפרטי של גוף ביניים כזה יכול לחתום תעודה לכל כתובת שיבחר, לבנק שלכם או לתיבת הדואר שלכם, והדפדפן יקבל אותה כאמיתית. לגופים האלה קוראים Certificate Authority, בקצרה CA.
שמונת המפתחות שדלפו שייכים ל-eMudhra, חברה הודית שמנפיקה תעודות תחת המותג emSign ונמצאת ברשימות השורש של מוזילה, גוגל ואפל. שש מהתעודות משמשות לאתרים ושתיים לחתימת קוד. מוזילה וצוות השורשים של כרום אישרו את הדליפה ב-20 באוקטובר.
הצד המרגיע מגיע מאותו צוות של כרום, שקיבל את הדיווח ב-18:05 והחזיק חסימה מוכנה ב-19:45. לפי הצוות, שום תעודה לאתר שמסתמכת על שש התעודות האלה לא נרשמה ביומני ה-Certificate Transparency לפני החסימה. היומנים האלה הם רשומה ציבורית שתעודה חייבת להיכנס אליה כדי שדפדפנים יקבלו אותה, כך שככל שהעדות מגיעה, לא הופעל כאן אתר מזויף נגד גולשים. מוזילה סיימה להפיץ חסימה משלה ב-22:59 באותו ערב, אפל חסמה ב-19 באוקטובר ומיקרוסופט ב-20 בו, ו-eMudhra ביטלה את שמונה התעודות.
איך המפתחות יצאו מ-eMudhra, מתי, ואם מישהו מלבד החוקר מחזיק בהם, לא ידוע. מוזילה אמרה שהיא עובדת עם החברה ועם שאר מפעילי רשימות השורש על חקר הסיבה, ושלפי שעה היא לא מעריכה שהבעיה נוגעת לגופים אחרים. אצל eMudhra עצמה לא פורסמה הודעה על האירוע עד 20 באוקטובר.
למה זה חשוב לכם
התיקון הגיע אליכם בלי שעשיתם דבר, וזה לא מובן מאליו. כרום ופיירפוקס מורידים בעצמם רשימות ביטול, בלי עדכון גרסה ובלי הפעלה מחדש, ולכן החסימה נכנסה לתוקף תוך שעות בלי שאף אחד התבקש ללחוץ על משהו.
אבל לא כל תוכנה שבודקת תעודות היא דפדפן. אפליקציות, שרתים וכלים שמתחברים לאינטרנט נושאים לרוב רשימת שורשים משל עצמם, ורבים מהם לא בודקים ביטולים בכלל, כך שהם ממשיכים להאמין לשרשרת עד שהקוד או הרשימה שלהם מתעדכנים. זאת הסיבה שפרויקט Go הוציא ב-20 באוקטובר גרסאות אבטחה במסלול שהוא שומר לאירועים שמסכנים את שלמות הסביבה כולה.
מה עושים?
הדפדפן שלכם כבר מוגן, אבל כדאי לוודא שהוא לא תקוע על גרסה ישנה: סגרו אותו לגמרי ופתחו מחדש, וזה מספיק כדי שיוריד את רשימת הביטולים העדכנית.
אם אתם מפתחים או מנהלי מערכות, בנו מחדש תוכנות Go עם הגרסאות שיצאו ב-20 באוקטובר. גרסאות Go 1.25 ומטה יצאו מתמיכה ולא מקבלות את התיקון.
וזאת הנקודה שכדאי לקחת מהמקרה: המנעול בשורת הכתובת אומר שהחיבור מוצפן ושהשרשרת נבדקה. הוא לא אומר שהאתר בצד השני ישר. אתר פישינג טרי יכול להחזיק תעודה תקינה לגמרי.
המערכת שמאחורי המנעול הזה עבדה הפעם מהר מאוד. היא עבדה מהר כי מי שהחזיק את המפתחות בחר לשלוח הודעה חתומה לדפדפנים במקום להשתמש בהם.
תגובות