מחקר חושף איך תוקפים יכולים לנצל חוסר עקביות בין מנתחי כתובות URL שונים
מאת:
מערכת Telecom News, 16.1.22, 14:15
8 חולשות האבטחה שנחשפו עלולות להוביל להתקפות מסוג מניעת שירות, דליפת מידע, הרצת קוד מרחוק ופישינג. מהם הסוגים של חוסר עקביות שחשפו החוקרים?
מחקר של צוות המחקר
Team82 בחברת הסייבר התעשייתי הישראלית-גלובלית קלארוטי
Claroty, בשיתוף עם חוקרים בחברת סניק (
Snyk) הישראלית-בריטית, מצביע על חולשות אבטחה משמעותיות הנובעות מבלבול וחוסר עקביות בניתוח כתובות אתרים,
URL.
כתובות URL הן במובנים רבים מרכז חיינו הדיגיטליים, בהיותן הקישור שלנו לשירותים קריטיים ולמידע באינטרנט בנושאי חדשות, בידור ועוד. לכן, חולשות אבטחה באופן, שבו דפדפנים, יישומים ושרתים שונים מקבלים בקשות לכתובות URL, מנתחים אותן, ומייבאים את המשאבים המבוקשים, עלולות ליצור בעיית אבטחה משמעותיות עבור גולשים ולפגוע בביטחון המידע שלהם.
החוקרים
שרון בריזינוב ו
נועם משה מ-Team82, בשיתוף עם חוקרי
Synk, בחנו באופן מקיף כיצד ספריות שונות מטפלות בכתובות URL וגילו חוסר-עקביות והבדלים משמעותיים באופן, שבו 16 ספריות וכלים שונים מנתחים ומטפלים ב-URL-ים. חוסר עקביות זה עלול להיות מנוצל בידי תוקפים.
כדי להבין כיצד ניתן לנצל לרעה הבדלים בטיפול של כתובות URL, צריך להבין את המבנה שלהן, שכולל 5 רכיבים שונים: סכמה, שרת, נתיב, שאילתה ומקטע. כל רכיב ממלא תפקיד אחר, אך יחד הם משמשים לטובת בקשת משאב כלשהו ברשת - לדוגמא עמוד ספציפי באתר אינטרנט.
דוגמא לכתובת
URL:
במהלך השנים, היו RFC רבים, שהגדירו כתובות URL, כל אחד מהם ביצע שינויים בניסיון לשפר את תקן הסטנדרט של כתובת ה-URL. עם זאת, תדירות השינויים יצרה הבדלים משמעותיים בניתוחי כתובות URL, שכל אחד מהם מתאים ל-RFC אחר. חלקם, למעשה, בוחרים להתעלם לחלוטין מ-RFCs חדשים ובמקום זאת להתאים מפרט URL, שהם רואים כמשקף יותר את האופן, שבו יש לנתח כתובות URL אמיתיות. פעולה זו יצרה סביבה, שבה מנתח כתובות URL אחד יכול לפרש כתובת URL באופן שונה ממנתח אחר, והדבר מהווה בסיס לכמה בעיות אבטחה רציניות.
בתרשים: ההיסטוריה של
RFCs (Request for Comments) להגדרת כתובות URL, מ-RFC1738, שנכתב ב-1994, וכלה ב-RFC העדכני ביותר, RFC3986, שנכתב ב-2005
.
החוקרים זיהו 5 סוגים של חוסר עקביות בניתוח ספריות, אותם ניתן לנצל לגרימת פגיעות כמו מניעת שירות, דליפת מידע, זיוף בקשות בצד השרת (SSRF), שיכול לבוא לידי ביטוי בהרצת קוד מרחוק, ועד לחולשת הפניה הפתוחה, שעלולה לגרום למתקפת פישינג מתוחכמת.
אלה 5 הסוגים של חוסר עקביות שחשפו החוקרים:
בלבול בסכמה: סכמה חסרה או בעלת מבנה פגום,
בלבול בקו נטוי: מספר לא רגיל של קווים,
בלבול בקו נטוי אחורי: בלבול בכתובות URL המכילות קו נטוי לאחור (\),
בלבול בנתונים מקודדים לכתובת URL,
עירוב סכמות: בלבול בניתוח כתובת URL השייכת לסכמה מסוימת ללא מנתח ספציפי.
במסגרת המחקר, נחשפו 8 חולשות אבטחה ביישומי אינטרנט ובספריות צד שלישי, שמשמשות מפתחי אתרים באפליקציות שונות. להלן פירוט החולשות:
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)
המחקר המלא -
כאן.