חוקר ישראלי פיצח את מנגנון ההצפנה של גוגל באמצעות מתקפת C4
המתקפה, שזכתה לכינוי Chrome Cookie Cipher Cracker או בקצרה C4, חושפת בעיה עמוקה יותר באופן שבו רכיבי אבטחה ותיקים משולבים בטכנולוגיות חדשות

תמונה: Unsplash
לפני כשנה, ביולי 2024 הציגה גוגל בגאווה את AppBound Cookie Encryption, מנגנון הגנה חדש שנועד לשים סוף לחגיגת גניבת העוגיות (Cookies) של תוכנות זדוניות מסוג Infostealers. המנגנון החדשני אילץ את מפתחי הנוזקות לחשב מסלול מחדש, אך כעת מחקר חדש של ארי נוביק, חוקר סייבר במעבדות CyberArk, חושף כיצד ניתן לעקוף גם את ההגנה הזו באמצעות מתקפה מתוחכמת בשם C4 (Chrome Cookie Cipher Cracker).
המתקפה לא רק מפענחת את ה-Cookies של כרום, אלא גם פותחת דלת לגישה למידע רגיש אחר במערכת ההפעלה Windows, וכל זאת ללא צורך בהרשאות גבוהות.
הקרב על העוגיות
במשך שנים, ה-Cookies שהדפדפנים אספו על המשתמשים היו יעד מרכזי לתוקפים, זאת מאחר שגניבתן מאפשרת "חטיפת סשן" (Session Hijacking) וקבלת גישה לחשבונות אישיים – מג'ימייל ופייסבוק ועד לחשבונות בנק, ללא צורך בשם משתמש או סיסמה.
בעבר ההגנה של כרום התבססה על הצפנת קובץ העוגיות באמצעות מפתח שהיה מוצפן בעצמו על ידי ממשק הגנת הנתונים של Windows, ה-DPAPI. הבעיה הייתה שההצפנה בוצעה בהקשר של המשתמש הרגיל. כתוצאה מכך, כל נוזקה שרצה תחת אותו משתמש יכולה לבקש מ-Windows לפענח את המפתח ולגנוב את העוגיות בקלות יחסית.
כל עדכוני ה-IT, תשתית וטכנולוגיה בערוץ הטלגרם של ITtime
כדי לפתור זאת, גוגל הציגה את AppBound Encryption, מנגנון שהוסיף שתי שכבות הגנה קריטיות:
- הצפנה כפולה: המפתח הוצפן לא רק בהרשאת המשתמש, אלא גם בהרשאת משתמש העל של המערכת, SYSTEM. משמעות הדבר היא שרק תהליך עם הרשאות SYSTEM יכול לפענח אותו.
- אימות נתיב: כדי שכרום (שפועל כמשתמש רגיל) יוכל עדיין לגשת ל-Cookies הוא נעזר בשירות מיוחד של גוגל (COM Server) שרץ כ-SYSTEM. כדי למנוע מכל תוכנה אחרת להשתמש בשירות הזה, השירות מאמת שהתהליך המבקש הוא אכן מהנתיב המקורי של chrome.exe.
השילוב הזה נראה היה כמבצר כמעט בלתי חדיר לתוקפים בעלי הרשאות נמוכות.
מתקפת C4 וה-"אורקל" שבמערכת
המורכבות של המנגנון החדש, המשלב טכנולוגיה של גוגל על גבי תשתית ותיקה של מיקרוסופט, היא בדיוק מה שהוביל את נוביק להתמקד בו. בשיחה עם ITtime הוא הסביר כי הבחירה להתמקד במנגנון החדש, זמן כה קצר לאחר השקתו, נובעת מכך ש"המנגנון DPAPI, שעליו בנוי המנגון AppBound של גוגל, ידוע כמנגנון מורכב כשלעצמו. לכן, היה המון מקום לטעויות כשגוגל הרחיבו עליו ובנו את המנגנון שלהם. לכן חשדנו שזה מקום טוב לחפש בו".
הפריצה עצמה נשענת על מתקפה קריפטוגרפית בשם Padding Oracle Attack. במילים פשוטות, נוביק גילה ששירות האימות של גוגל מתנהג כמו "אורקל", הוא מספק רמזים עקיפים לגבי תוכן המידע המוצפן.

ארי נוביק. תמונה: סלי פרג' לוי
כאשר ניסה לשלוח לשירות בקשות פענוח עם מידע מוצפן שעבר שינוי קל, הוא הבחין שיומן האירועים (Event Viewer) של Windows רושם שני סוגי שגיאות שונים: שגיאה אחת כאשר החתימה הדיגיטלית של המידע שגויה, ושגיאה אחרת כאשר "ריפוד" המידע (PKCS7 padding) אינו תקין. ההבחנה הדקה הזו הספיקה. באמצעות שליחת אלפי בקשות משתנות ובחינת סוג השגיאה שחזרה בכל פעם, הצליח נוביק "לשבור" את שכבת ההצפנה של ה-SYSTEM, בייט אחר בייט, ולמעשה לחשוף את המידע המוצפן וכל זאת כמשתמש פשוט.
מה היה האתגר המשמעותי ביותר בהתאמה ויישום של הטכניקה דווקא כנגד רכיב ה-DPAPI של Windows, וכיצד הצלחתם לפצח אותו?
"החלק הכי קשה לרוב במימושים של טכניקות Padding Oracle הוא למצוא מנגנון שיתפקד בתור Oracle. במקרה שלנו את המנגנון מצאנו בזמן שניסינו לבדוק התקפה אחרת בכלל. הקושי האמיתי היה לזהות שאפשר לנצל את המנגנון גם להתקפת Padding Oracle".
ההשלכות נרחבות בהרבה
הגילוי המטריד באמת במחקר הוא שהמתקפה אינה מוגבלת רק לעוגיות של כרום. מכיוון שהפרצה מאפשרת למשתמש רגיל לגרום לשירות של גוגל לנסות לפענח מידע מוצפן על ידי SYSTEM, ניתן להשתמש בה כדי לפענח כל פיסת מידע שהוצפנה באמצעות SYSTEM-DPAPI במחשב, בכפוף למגבלות טכניות מסוימות.
לדוגמה, החוקרים מצאו שניתן לגשת כך לסיסמאות של משימות מתוזמנות השמורות במנהל האישורים של Windows. לדבריו של נוביק, "גניבה של עוגיות דפדפן מאפשרת גישה לכמעט כל מערכת אליה ניתן לגשת דרכו. קשה לדמיין תרחישים מסוכנים יותר ממה שאנחנו חשפנו".
המחקר הצביע על כך שהבעיה אינה טמונה רק ביישום של גוגל, אלא בארכיטקטורה של מיקרוסופט, שלא כללה מנגנוני הגנה מודרניים יותר ב-DPAPI. "לב הבעיה הוא בארכיטקטורה. קיימת מיטיגציה בשם Encrypt then Mac שהיה מתאים לממש במנגון DPAPI. אילו מיקרוסופט היו ממשים את המיטיגציה, ההתקפה שמצאנו לא הייתה עובדת", טוען נוביק.
למרות חומרת הממצאים, התגובות הרשמיות, כפי שהובאו על ידי סייברארק בפרסום המקרה, היו צוננות. שתי החברות בחרו שלא לפרסם מזהה חולשה רשמי (CVE). מיקרוסופט דחתה את הדיווח בטענה שהמתקפה אינה מעשית מספיק, בעוד גוגל, אף שהכירה בבעיה, מסרה כי תיקון מלא ישולב בגרסה עתידית. בעקבות הפרסום, ארגון צד שלישי (VulnCheck) הנפיק לבסוף מספרי CVE לממצאים.
"כמובן שהיינו שמחים לקבל CVE ישירות מגוגל ומיקרוסופט. אך בכל זאת, הם פעלו לפי הפוליסות שלהן, וגוגל אפילו החליטו לתקן למרות שזה לא נופל לתוך ההיקף של מה שהם מגדירים כחולשה. אני לא חושב שזה ישפיע יותר מידי לרעה", סיכם נוביק.