Înțelegerea scripting Cross-site (XSS)

Scripting-ul Cross-site (XSS) rămâne una dintre cele mai răspândite vulnerabilităţi ale aplicaţiilor web, care apar în mod constant în OWASP Top Ten. În nucleul său, XSS permite unui atacator să injecteze scripturi maliţioase din partea clientului în pagini web vizualizate de către alţi utilizatori. Script-ul injectat execută în contextul browser-ului victimei, permiţând furtul datelor (cookie-uri, token-uri de sesiune), deturnarea sesiunii, defalezarea sau redirecţionarea către site-uri de phishing. Pentru a înţelege cum firewall-urile ajută

  • Storted (Persistent) XSS
  • Reflectat (nepersistent) XSS
  • DOM-based XSS

Fiecare tip prezintă provocări unice pentru controalele de securitate. Firewall-uri

Ce este un firewall în domeniul securităţii moderne a internetului?

Inițial, firewall-urile erau dispozitive de nivel de rețea care filtreze traficul pe baza adreselor IP, porturilor și protocoalelor. Astăzi termenul cuprinde o serie de sisteme de securitate:

  • Retwork Firewalls
  • Web Aplication Firewalls (WAFs)
  • Firwall-uri bazate pe cloud (inclusiv WAF-as-a-service)

Toate firewall-urile funcționează pe un set de reguli, dar numai firewall-uri de aplicație-aware (WAF-uri) pot contracara semnificativ XSS. Chiar și atunci, diavolul este în metodologia de proiectare și detectare regulă.

Cum Firewalls (WAF) Detectează și blochează XSS

Detectarea pe bază de semnătură

Majoritatea navelor WAF cu semnături pre-definite care corespund cu încărcăturile utile cunoscute XSS

Cu toate acestea, detectarea pe bază de semnătură poate fi evitată prin simpla obfuscație: folosind codări diferite, de divizare cuvinte cheie, sau injectarea de caractere junk. Atacatorii muta frecvent sarcina utilă până când nu mai corespunde semnăturii în timp ce rămâne funcțional în browser.

Detectarea anomaliei și a bazei euratice

AFA avansate folosesc mașini de învățare sau modele statistice pentru a detecta modele anormale. Ei învață structura tipică a cererilor valabile pentru fiecare obiectiv și abateri de pavilion

Limitarea ratei și analiza comportamentală

Unele WAF monitor cer viteza. Un atacator care verifică multe sarcini utile în succesiune rapidă poate fi blocat temporar. În timp ce acest lucru nu detectează direct XSS, încetinește scanarea automată și poate forța atacatorii să pivoteze pentru a mai lent, testare manuală.

Mecanisme de protecție beton la nivelul firewall

  • Validarea și filtrarea de intrare
  • Output Encoding Awareness
  • Patching virtual
  • Request Normalization

Limitele firewall-urilor împotriva XSS

Ocolirea WAF

Atacatorii determinaţi concep o bypass-uri regulate. Tehnicile comune includ:

  • Folosind evenimente JavaScript alternative în afara clasicului / seturi
  • Lemising SVG, , sau alte elemente HTML care pot executa scripturi.
  • Exploatarea nepotriviri de caractere între WAF și browser (de exemplu, atacuri UTF-7 ocolite istoric filtre numai pentru ASCII).
  • Se sparge sarcina utilă în parametrii de cerere multipli sau se utilizează codarea prin transfer prin HTTP pentru a trece conținutul de contrabandă dincolo de motorul de inspecție.

Dom-Based XSS

XSS-ul bazat pe DOM nu atinge niciodată serverul. vulnerabilul client-side JavaScript citește date de la , , sau stocarea locală și scrie nesigur în DOM. Un firewall de pe server vede doar o cerere legitimă; executarea malițioasă se întâmplă în întregime în browser. Apărarea necesită măsuri de securitate de tip client-side, cum ar fi o politică strictă de securitate a conținutului (CSP) și biblioteci robuste de sanitizare din partea clientului.

Provocări privind traficul criptat (HTTPS)

În timp ce WAF moderne pot decripta TLS pentru a inspecta textul simplu, acest lucru adaugă latență și necesită gestionarea corectă a certificatelor. Unele de implementare mai mici pot sări peste inspecție pe obiective de mare trafic, lăsând un punct orb.

Cele mai bune practici: firewall-uri ca parte a unei apărări plane

Cea mai eficientă strategie de prevenire XSS combină patru linii de apărare:

1. Dezvoltare sigură & sanitizare server-Side

Toate datele furnizate de utilizator trebuie validate, sanitizate sau scăpate înainte de a fi introduse în răspunsurile HTML. OWASP oferă Java Encoder Project și îndrumare pentru codificarea de ieșire în diferite contexte (corp HTML, atribut, URL, JavaScript, CSS). Nici un firewall nu poate repara manipularea de intrare slabă la stratul de aplicare.

2. Politica de securitate a conţinutului (CSP)

CSP este un mecanism de securitate de nivel care spune browser-ului care sunt permise sursele de scripturi și dacă sunt permise scripturi inline. Un CSP strict poate bloca toate, dar cel mai persistent Dom-based XSS. WAF poate ajuta la aplicarea CSP prin injectarea sau modificarea antetului de răspuns, dar CSP în sine este un strat defensiv pe care WAF nu îl poate înlocui.

3. Peticări și actualizări regulate

Bazele de reguli Firewall trebuie actualizate pe măsură ce apar noi variante XSS. În mod similar, software-ul serverului (servere web, cadre de aplicații) ar trebui patch-uri pentru a elimina cauza rădăcină a vulnerabilităților XSS. Peticirea virtuală cumpără timp, dar nu este un substitut pentru fixarea codului.

4. Educaţie şi testare în domeniul securităţii

Dezvoltatorii și inginerii de securitate ar trebui să înțeleagă cum funcționează XSS dincolo de WAF. Testarea periodică de penetrare (inclusiv testarea manuală) și comentarii de cod vor descoperi modele de bypass care WAF ratat. Instrumente ca OWASP ZAP sau Burp Suite poate completa jurnalele firewall.

Alegerea firewall-ului potrivit pentru protecţia XSS

Nu toate firewall-urile sunt egale.

  • Detecție sofisticare
  • [ ]Ușor de patch-uri virtuale
  • Impact de performanță
  • Managed vs. auto-hosted

Exemplul real-lume: Incidentul Twilio XSS 2022

În 2022, o vulnerabilitate XSS stocată în tabloul de bord de e-mail Twilio SendGrid a permis atacatorilor să injecteze semnale false de autentificare care au furat acreditări de la utilizatorii interni. Încărcătura utilă a fost obfuscată pentru a evita SendGrid. Breşa a demonstrat că chiar şi companiile mari cu implementari mature WAF pot fi lovite de XSS atunci când atacatorul se ocupă de uz personal de sarcina utilă şi WAF nu are inspecţie JavaScript-context profundă. Analiza post-incident a evidenţiat necesitatea unei combinaţii de CSP, evadare puternică server-side, şi tuning WAF.

Concluzie

Firewall-uri