Ymmärtäminen Cross-site Scripting (XSS) ...

Cross-site scripting (XSS) on edelleen yksi yleisimmistä web-sovelluksen haavoittuvuuksia, johdonmukaisesti esiintyy []OWASP Top Ten[]. Sen ytimessä, XSS sallii hyökkääjä ruiskuttaa haittapuoli clien-side skriptejä web-sivuille katsella muiden käyttäjien. Skripti suorittaa yhteydessä uhrin . Skripti suorittaa yhteydessä ... selain, mahdollistaa tietojen varkauden (evästeet, istuntomerkit), istunto kaappaus, defacement, tai uudelleenohjaus fishing sivustoja. Ymmärtää, miten palomuurit auttaa . Ja missä ne jäävät vajaaksi .... meidän on ensin erotettava kolme pää XSS-tyyppiä:

  • Stored (Pysyvä) XSS ... ..................................................................................................................................................................................................................................
  • Vaihtunut (ei-pysyvä) XSS[ ... Skripti heijastuu web-palvelimelta, tyypillisesti luodun URL-osoitteen tai lomakkeen lähettämisen kautta. Kuormaa ei tallenneta; se suoritetaan vain, kun uhri napsauttaa pahansuopaa linkkiä.
  • DOM-pohjainen XSS[ . Haavoittuvuus on kokonaan selaimessa. Hyökkäyskuormaa ei koskaan lähetetä palvelimelle, vaan se muuttaa DOM-ympäristöä ja suorittaa sieltä. Nämä hyökkäykset voivat olla näkymättömiä palvelinpuoleisille puolustusmiehille.

Jokainen tyyppi asettaa tietoturvan valvontaan ainutlaatuisia haasteita. Palomuurit . Erityisesti Web Application palomuurit (WAF) ... voivat tarjota vahvan suojan heijastus- ja jotkut tallennettu XSS, mutta DOM-pohjainen XSS vaatii lisää asiakas-puolen toimenpiteitä.

Mikä on palomuuri nykyajan verkkoturvallisuudessa?

Palomuurit olivat alun perin verkkotason laitteita, jotka suodattivat liikennettä IP-osoitteiden, satamien ja protokollien perusteella.

  • Verkon palomuurit[ ... ......................................................................................................................................................................................................................................
  • Web-sovellus Palomuurit (WAF)[ ... ... Layer-7 laitteet, jotka on suunniteltu HTTP/HTTPS-liikenteen tarkastamiseen, pyyntösisällön analysointiin (otsakkeet, runko, URL-parametrit) haitta-ainekuvioihin. WAF-asetukset ovat ensisijainen palomuurityökalu XSS:ää vastaan.
  • Cloud-pohjaiset palomuurit (mukaan lukien WAF-as-a-Service)[ . Esimerkkejä ovat AWS WAF, Cloudflare WAF ja Azure Application Gateway. Ne tarjoavat skaalautuvuutta, matala latenssi ja usein integroituu CDNs.

Kaikki palomuurit toimivat sääntökokonaisuuden mukaan, mutta vain sovellustietoiset palomuurit (WAF) voivat mielekkäästi torjua XSS:ää.

Miten palomuurit (WAF) Tunnista ja lohko XSS

Allekirjoitus-Perustettu tunnistus

Useimmat WAF-alukset, joilla on ennalta määritellyt allekirjoitukset, jotka vastaavat tunnettuja XSS-kuormia . Esimerkiksi, kuviot kuten [, , tai koodatut versiot. Palomuuri estää minkä tahansa pyynnön, jonka hyötykuorma laukaisee allekirjoituksen. Allekirjoitustietokannat päivitetään säännöllisesti toimittajien toimesta uusien hyökkäysvektorien kattamiseksi.

Allekirjoituspohjainen tunnistus voidaan kuitenkin välttää yksinkertaisella obfuscation: käyttämällä erilaisia koodauksia, jakamalla avainsanoja tai suonensisäinen roskamerkki. Attackers usein mutatoi hyötykuorman kunnes se ei enää vastaa allekirjoitusta ja pysyy toiminnallisena selaimessa.

Anomalia ja heurististinen detection

Kehittyneet WAFs käyttää koneoppimista tai tilastollisia malleja havaita epänormaalit kuviot. He oppivat tyypillinen rakenne voimassa pyyntöjä kunkin päätepisteen ja lippujen poikkeamat .esim., normaalisti numeerinen parametri, joka yhtäkkiä sisältää HTML tags. Heuristic säännöt voivat saalis nollan päivän XSS vektorit, jotka puuttuvat tunnettuja allekirjoituksia, mutta ne myös riski vääriä positiivisia.

Rate rajoitus ja käyttäytymisanalyysi

Jotkut WAFs monitoroi pyynnön nopeutta. Hyökkääjä tutkii monia hyötykuormat nopeasti peräkkäin voidaan tilapäisesti estää. Vaikka tämä ei suoraan havaitse XSS, se hidastaa automatisoitua skannaus ja voi pakottaa hyökkääjät kääntyä hitaammin, manuaalinen testaus.

Betonisuojausmekanismit palomuuritasolla

  • Input Validointi ja Suodatus[ . WAF tarkastaa jokaisen parametrin, evästeen ja otsikon. Tunnetut vaaralliset merkit ([) on koodattu tai estetty ennen kuin ne saavuttavat sovelluspalvelimen.
  • Output Koodaus Tietoisuus[] . Modernit WAFit voivat korreloida, kun käyttäjä syöttää vastauksen (esim. sisällä komentojonotag vs. sisällä HTML-attribuutti) ja soveltaa kontekstikohtaisia sääntöjä. Tämä älykkyys on harvinaista, mutta johtavat myyjät kuten F5 ja Imperva tarjoavat sitä.
  • Virtual Patching[ ... Kun palvelimen puolella XSS haavoittuvuus havaitaan, mutta sitä ei voida heti korjata, WAF voi luoda virtuaalisen laastarin: mukautetun säännön, joka estää hyväksikäytön polun muuttamatta sovelluskoodia.
  • Pyydän normalisointia[] ... WAF:t purkavat usein koodaustasoja (URL-encode, Unicode, kaksoisencode) ennen allekirjoitusten tarkistamista, mikä estää peruskoodauksen.

XSS:ää vastaan asennettujen palomuurien rajoitukset ...

WAF:n ohitus

Määritellyt hyökkääjät suunnittelevat säännöllisesti ohitusteitä.

  • Vaihtoehtoisten JavaScript-tapahtumien käyttäminen klassikon ulkopuolella / asettaa esim. kanssa.
  • SVG:n arvonmääritys, , tai muut HTML-elementit, jotka voivat suorittaa komentojonoja.
  • Käyttävät merkkiä asettaa epäsuhtaisuuksia WAF ja selain (esim., UTF-7 hyökkäykset historiallisesti ohi ASCII-vain suodattimet).
  • Kuorma-auton purkaminen useiden pyyntöparametrien yli tai HTTP-siirrolla pilkotun siirtokoodauksen avulla sisällön salakuljettamiseksi tarkastusmoottorin ohi.

DOM- Perustettu XSS ... Näkymätön useimmille palomuureille

DOM-pohjainen XSS ei koskaan koske palvelimeen. Haavoittuva asiakaspuoli JavaScript lukee [, [], tai paikallinen tallennus ja kirjoittaa sen turvallisesti DOM. Palvelin-puoli palomuuri näkee vain oikeutettua pyyntöä; pahansuopa suoritus tapahtuu kokonaan selaimessa. Puolustukset vaativat asiakkaan-puoleisia turvatoimia, kuten tiukka Content Security Policy (CSP) ja vankat asiakas-puoli-sanitalisaatiokirjastot.

Salatun liikenteen (HTTPS) haasteet

Vaikka modernit WAF-järjestelmät voivat purkaa TLS-salauksen tutkiakseen selkotekstiä, tämä lisää latenssia ja edellyttää varmennehallintaa. Jotkut pienemmät toiminnot voivat jättää huomiotta korkean liikenteen päätetapahtumien tarkastuksen jättäen sokean kohdan.

Parhaat käytännöt: Palomuurit osana kerrosta puolustus

Relying on vain WAF on riskialtista. Tehokkain XSS ehkäisystrategia yhdistää neljä linjaa puolustus:

1. Turvallinen kehitys ja palvelin-Side Sanitization

Kaikki käyttäjän toimittamat tiedot on validoitava, puhdistava tai paettava ennen HTML-vastauksiin sijoittamista. OWASP tarjoaa Java-koodaajaprojektin ja ohjeen eri yhteyksissä koodaukseen (HTML-runko, attribuutti, URL, JavaScript, CSS). Mikään palomuuri ei voi korjata heikkoa syötteen käsittelyä sovelluskerroksessa.

2. Sisällön turvallisuuspolitiikka (CSP)

CSP on selain -tason turvamekanismi, joka kertoo selaimelle, mitkä skriptien lähteet ovat sallittuja ja ovatko inline-skriptit sallittuja. Tiukka CSP voi estää kaiken paitsi kaikkein sitkeimmän DOM-pohjaisen XSS:n. WAF voi auttaa valvomaan CSP:n toimintaa ruiskuttamalla tai muuttamalla vastausotsaketta, mutta CSP itse on puolustuskerros, jota WAF ei voi korvata.

3. Säännölliset paikkaukset ja päivitykset

Palomuuri sääntö emäkset on päivitettävä uusien XSS-versioiden ilmaantuessa. Samoin palvelinohjelmisto (verkkopalvelimet, sovelluskehykset) tulisi paikata poistaakseen XSS-heikkouksien syyn. Virtuaalikorjaus ostaa aikaa, mutta se ei korvaa koodin vahvistamista.

4. Turvallisuuskoulutus ja testaus

Kehittäjät ja turvallisuusinsinöörit pitäisi ymmärtää, miten XSS toimii WAF. Säännöllinen läpäisytestaus (mukaan lukien manuaalinen testaus) ja koodin arvostelut paljastaa ohituskuvioita, että WAF missattu. Työkalut kuten OWASP ZAP tai Burp Suite voivat täydentää palomuuri lokit.

Oikean palomuurin valinta XSS-suojaukseen

Kaikki palomuurit eivät ole tasa-arvoisia.

  • Tunnistaako se hienostuneisuutta [ ] . Käyttääkö se sekä allekirjoituksia että käyttäytymisen heuristiikkaa? Tukeeko se automaattista väärää positiivista viritystä?
  • Helppo virtuaalinen paikkaus[ . Voitko helposti lisätä mukautettuja sääntöjä estää äskettäin löydetty CVE?
  • Suoritusvaikutus[ .............................................................................................................................................................................................................................................
  • Hallittu vs. itse isännöity[ . . Cloud WAFs (Cloudflare, AWS WAF) on usein alempi toimintaylivoima ja päivittää sääntösarjansa automaattisesti. On-premise WAFs (F5, Imperva) antaa enemmän rakeista ohjausta, mutta vaatii omistautuneita insinöörejä.

Real-World Esimerkki: Twilio XSS -tapahtuma 2022

Vuonna 2022 Twilio SendGrid -sähköpostin kojelautaan tallennettu XSS-alttius mahdollisti hyökkääjien ruiskuttaa väärennettyjä kirjautumisohjeita, jotka varastivat valtakirjat sisäisiltä käyttäjiltä. Kuorma-auto oli estetty SendGrid-s WAF-allekirjoitusten välttämiseen. Rikkomus osoitti, että jopa suuret yritykset, joilla on kypsiä WAF-käyttöjä, voivat joutua XSS:n kohteeksi, kun hyökkääjän custom-crafts-käyttölaite ei käytä syvällisiä JavaScript-kontekstitarkastuksia. Poikkeamanjälkeinen analyysi osoitti, että CSP:n, vahvan palvelimen-side-ulospääsyn ja WAF-muuttamisen yhdistelmä on tarpeen.

Päätelmät

Palomuurit . Erityisesti Web Application palomuurit . Ne ovat välttämätön osa puolustus-in-syvällinen strategia vastaan cross-site scripting hyökkäyksiä. Ne excel automaattisesti suodattaa hyvin tunnettuja XSS hyötykuormat ja voi tarjota nopeita virtuaalisia laastarit poimukoodi. Kuitenkin ne eivät ole hopea luoti. Attackers edelleen löytää luovia tapoja ohittaa allekirjoitus-pohjainen sääntöjä, ja DOM-pohjainen XSS pitkälti kiertää palvelimen-puoli tarkastus. Eniten joustava lähestymistapa yhdistää hyvin-määritelty WAF turvallisten koodauskäytännöt, tiukka Content Security Policy, säännölliset ohjelmistopäivitykset, ja jatkuva turvallisuustestaus. Kohtelemalla palomuuri kuin vahva ulkokerros pikemminkin kuin ainoa puolustus, organisaatiot voivat merkittävästi vähentää riskiä XSS vaarantaa niiden käyttäjiä ja dataa.