קלארוטי ו- Snyk חושפות: אתם בטוחים שזו כתובת האתר שרציתם לגלוש אליו? ייתכן וזו הונאה

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

דוגמא לניצול החולשה. מתוך המחקר של החברות 

מחקר חדש של צוות המחקר Team82 בחברת הסייבר התעשייתי הישראלית-גלובלית קלארוטי (Claroty), בשיתוף עם חוקרים בחברת סניק (Snyk) הישראלית-בריטית, מצביע על חולשות אבטחה משמעותיות הנובעות מבלבול וחוסר עקביות בניתוח כתובות אתרים, URL.

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

החוקרים שרון בריזינוב ונועם משה מ-Team82, בשיתוף עם חוקרי Synk, בחנו באופן מקיף כיצד ספריות שונות מטפלות בכתובות URL וגילו חוסר-עקביות והבדלים משמעותיים באופן שבו 16 ספריות וכלים שונים מנתחים ומטפלים ב-URL-ים. חוסר עקביות זה עלול להיות מנוצל בידי תוקפים.  

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

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

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

בתרשים למעלה: ההיסטוריה של RFCs (Request for Comments) להגדרת כתובות URL, מ- RFC1738 שנכתב בשנת 1994, וכלה ב- RFC העדכני ביותר, RFC3986 שנכתב בשנת 2005.

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

אלה חמשת הסוגים של חוסר עקביות שחשפו החוקרים:

  • בלבול בסכמה: סכמה חסרה או בעלת מבנה פגום
  • בלבול בקו נטוי: מספר לא רגיל של קווים
  • בלבול בקו נטוי אחורי: בלבול בכתובות URL המכילות קו נטוי לאחור (\)
  • בלבול בנתונים מקודדים לכתובת URL
  • עירוב סכמות: בלבול בניתוח כתובת URL השייכת לסכמה מסוימת ללא מנתח ספציפי.

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

  1. Flask-security (Python, CVE-2021-23385)
  2. Flask-security-too (Python, CVE-2021-32618)
  3. Flask-User (Python, CVE-2021-23401)
  4. Flask-unchained (Python, CVE-2021-23393)
  5. Belledonne’s SIP Stack (C, CVE-2021-33056)
  6. Video.js (JavaScript, CVE-2021-23414)
  7. Nagios XI (PHP, CVE-2021-37352)
  8. Clearance (Ruby, CVE-2021-23435)

להורדת המחקר המלא

img
פרשנות | כוח צבאי משמעותי של נאט״ו יכול להקטין הסתברות למלחמה גרעינית באירופה
דעה | אופציה צבאית ישראלית תוכל לרסן את איראן 
קבוצת SQLink רוכשת את ZIGIT הישראלית
קבוצת SQLink רוכשת את ZIGIT הישראלית