הבנת סקרפטפטינג קרוס-אתרי (XSS) – יותר מאשר זריקת תסריט

תסריטים באתר Cross-site (XSS) נותר אחד מהפגיעות הנפוצות ביותר של יישום האינטרנט, המופיעים באופן עקבי ב- XFLT:0OWASP Top TencioFLT:1 בגרעין שלו, XSS מאפשר תוקף להזריק תסריטים זדוניים של לקוח אל דפי אינטרנט שנצפו על ידי משתמשים אחרים.התסריט המשויק מבצע בהקשר של הדפדפן של הקורבן, המאפשר נתונים (cookies), להבחין בין שלושה סוגים קצרים של מושבות, החל מהפך ל-אונדים, כיצד ניתן לשנות את האשכים תחילה:

  • (FLT:0)Stored (Persistent) XSSIRLT:1 - התסריט הזדוני נשמר לצמיתות בשרת היעד (למשל, במסד נתונים, שדה תגובה או פוסט) כל משתמש מבקר בדף המושפע מבצע את היטל.
  • (ב) ⁇ :0) ,(המכונה (לא-הפרסיסטית) XSSFLT:1 – התסריט המשויגר משתקף את שרת האינטרנט, בדרך כלל באמצעות כתובת אתר או טופס הגשת.השכר אינו מאוחסן; הוא רק מבצע כאשר הקורבן לוחץ על הקישור הזדוני.
  • (FLT:0) , XIRFLT מבוסס XIRFLT:1 - הפגיעות קיימות לחלוטין בקוד הלקוח של הדפדפן.העומס ההתקפה אינו נשלח לשרת; במקום זאת, הוא משנה את סביבת ה-DOM ומבצע משם.התקפות אלה יכולות להיות בלתי נראות לגנות בצד השרת.

כל סוג מציג אתגרים ייחודיים לבקרות אבטחה. Firewalls - במיוחד הגדרות של יישום אינטרנט (WAFs) - יכול להציע הגנה חזקה מפני משתקפת וכמה XSS מאוחסנים, אבל XSS מבוסס DOM דורש אמצעים נוספים בצד הלקוח.

מה זה Firewall in Modern Web Security?

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

  • (FLT:0Network FirewallsveFLT:1) - מוקרן בשכבות 3-4 (IP, TCP/UDP) הם יכולים לחסום IP זדוניים ידועים או להגביל את הנמלים, אך הם בודקים מידע מועט של יישום.
  • (FLT:0Web Application Firewalls (WAFs)OVAFLT:1) - Layer-7 מכשירים שנועדו לבדוק את התנועה HTTP / HTTPS, ניתוח תוכן בקשה (ראשים, גוף, פרמטרים של כתובת URL) לדפוסים זדוניים.
  • (FLT:0Cloud-based Firewalls (כולל WAF-as-a-Service)FevolveLT:1 - דוגמאות כוללות את ה-AWS WAF, Cloudflare WAF ו- Azure Application Gateway.הם מציעים יכולת מדרגת, שקיפות נמוכה, ולעתים קרובות משתלבים עם CDNs.

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

כיצד חומת האש (WAFs) Detect ו-block XSS

זיהוי מבוסס חתימה

רוב ספינת החלל עם חתימות מוגדרות מראש אשר תואמות את המטענים XSS - למשל, דפוסים כמו FLT:0,FLT:1, FLT:2, או גרסאות מקודדות.ה חומת האש חוסמת כל בקשה אשר שכרה מפעיל את מסדי הנתונים של חתימה מעודכנים באופן קבוע על ידי ספקים כדי לכסות התקפות וקטורים חדשים.

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

Anomaly- and Heist- Based Detection

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

הגבלת ניתוח התנהגות והתנהגויות

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

מנגנונים להגנה מפני מכניזם ברמת חומת האש

  • (ב) ⁇ :0 ⁇ וסינון מסננים 1:1 - WAF בודק כל פרמטר, עוגייה, ו Header.known Dangerous Characters (ראהFLT 3: 3) הם מקודדים או חסומים לפני שהם מגיעים לשרת היישום.
  • (FLT:0Output Encoding AdsFLT:1) - WAFs מודרניים יכולים לקשור היכן קלט המשתמש מסתיים בתגובה (למשל, בתוך תג תסריט לעומת בתוך תכונת HTML) וליישם כללים ספציפיים בהקשר זה. רמה זו של אינטליגנציה היא נדירה, אבל ספקים מובילים כמו F5 ו- Imperva מציעים את זה.
  • (FLT:0) ,Virtual PatchingFLT:1 - כאשר פגיעת בשר לצד XSS מתגלה אך אינה ניתנת לתיקון מיידי, מערכת ההפעלה יכולה ליצור תיקון וירטואלי: כלל מותאם אישית המחוסם את הנתיב מבלי לשנות את קוד היישום.
  • (FLT:0)Request NormalizationFLT:1 - WAFs לעתים קרובות לפענח שכבות מרובות של ⁇ (URL-encode, Unicode, כפול-encode) לפני בדיקת חתימות, סיכול obfuscation בסיסי.

מגבלות של אשפות נגד XSS – היכן הם נכשלים

לעקוף את ה- WAF

תוקפים קבועים מערערים באופן קבוע על עקיצות.טכניקות נפוצות כוללות:

  • (ב) שימוש באירועים אלטרנטיביים של JavaScript מחוץ לקלאסיקה (FLT:4) / FLT:5 , למשל, ,FLT:6 עם 7.
  • (ב) , (ב) ,(ב) ,(ב) ,(ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • אופי הפחתת העיוותים בין ה- WAF לבין הדפדפן (למשל, UTF-7 תוקף היסטורית מסננים בלבד של ASCII).
  • שוברים את המטען על פני פרמטרים מרובים של בקשה או באמצעות HTTP קובצי העברה ⁇ כדי להבריח תוכן לפני מנוע הבדיקה.

XSS מבוסס DOM- בלתי נראה לרוב האשימים

XSS מבוסס DOM לעולם לא נוגע לשרת.ה-JavaScript של הלקוח הפגיע קורא נתונים מ-FLT:10,FLT:11, או אחסון מקומי וכותב אותו באופן לא בטוח לתוך DOM.A Server-side Firewall רואה רק בקשה לגיטימית; ביצוע זדוני קורה לחלוטין בדפדפן.הגנה מחייבת אמצעי אבטחה בצד הלקוח כגון מדיניות אבטחה קפדנית (CSP) וספריות חזקות של הלקוח.

אתגרים (HTTPS)

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

Best Practices: Firewalls as Part of a Layered Defense

החלת רק על מערכת WAF היא מסוכנת.האסטרטגיה למניעת XSS היעילה ביותר משלבת ארבעה קווי הגנה:

1. Secure Development & Server-Side Sanitization

כל הנתונים הנישאים של המשתמש חייבים להיות מאומתים, סניפטים או לברוח לפני שהוכנסו לתגובות HTML. OWASP מספק את ה-FLT:0Java Encoder ProjectveFLT:1 והדרכה לפלט בקונטקסטים שונים (גוף HTML, תכונה, כתובת URL, JavaScript, JavaScript, CSS).

מדיניות אבטחת תוכן (CSP)

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

« תזמון ועדכונים רגילים

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

4.חינוך אבטחה ובדיקה

מפתחים ומהנדסי אבטחה צריכים להבין כיצד XSS פועל מעבר ל- WAF. בדיקות חדירה רגילות (כולל בדיקות ידניות) וסקירות קוד יחשפו תבניות עקפות שה- WAF החמצה.כלי כמו OWASP ZAP או Burp Suite יכולים להשלים יומני אש.

בחירת חומת האש הנכונה להגנה על XSS

לא כל חומות האש שוות ערך בעת בחירת חיל האוויר, יש לשקול:

  • [ה]התחרפות:0] ענישה של פיתוי 1 [ה] – האם היא משתמשת בחתימות ובתיירות התנהגותיות?
  • (ב) ,0) ,(א) ,(א) ,ה) ,(ה) ,היית יכול להוסיף בקלות כללים מותאמים אישית כדי לחסום CVE חדש שהתגלה?
  • (ב) [ה]הכוח [ה]: [ה] [ה]] [ה]], [ה], [ה], [ה], [ה], [ה]], [ה'], [ה'], [ה'], [ה'], [ה'], לא יתאים לכל המקומות הדרגתיים.
  • (FLT:0) ממונה לעומת שורת ה-עצמית 1 (CloudAFs) – Cloud WAFs (Cloudflare, AWS WAF) יש לעתים קרובות יותר חוד החנית ועדכון של קבוצות החוקים שלהם באופן אוטומטי.

דוגמה אמיתית לעולם: תקרית Twilio XSS 2022

בשנת 2022, פגיעת XSS מאוחסנת בלוח הדואר האלקטרוני של Twilio SendGrid אפשרה לתוקפים להזריק הודעות כניסה מזויפות שגנבו אישורים ממשתמשים פנימיים.העומס היה אובססיבי להתחמק מחתימות WAF של SendGrid.הפר הראה שאפילו חברות גדולות עם פריסות WAF בוגרות יכולות להיות נפגעות על ידי XSS כאשר התוקפים crafts משלמים ו-WAF-Abt טקסט עמוק של מערכת ההפעלה.

מסקנה

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