CPDoS-hyökkäys estää CDN:n kautta tarjottavat sivut

Tutkijat Hampurin ja Kölnin yliopistoista
kehitetty uusi hyökkäystekniikka sisällönjakeluverkkoihin ja välimuistipalvelimiin - CPDoS (Cache-Poisoned Denial-of-Service). Hyökkäys mahdollistaa pääsyn sivulle välimuistimyrkytyksellä.

Ongelma johtuu siitä, että CDN:t eivät tallenna välimuistiin vain onnistuneesti suoritettuja pyyntöjä, vaan myös tilanteita, joissa http-palvelin palauttaa virheen. Yleensä jos pyyntöjen muodostamisessa on ongelmia, palvelin antaa 400 (Bad Request) -virheen; ainoa poikkeus on IIS, joka antaa 404 (ei löydy) -virheen liian suurille otsikoille. Standardi sallii vain virheiden, joiden koodit ovat 404 (ei löydy), 405 (menetelmä ei sallittu), 410 (poistettu) ja 501 (ei toteutettu), tallentamisen välimuistiin, mutta jotkin CDN:t tallentavat vastaukset välimuistiin myös koodilla 400 (Bad Request), mikä riippuu siitä. lähetetyn pyynnön perusteella.

Hyökkääjät voivat saada alkuperäisen resurssin palauttamaan "400 Bad Request" -virheen lähettämällä pyynnön tietyllä tavalla muotoilluilla HTTP-otsikoilla. CDN ei ota näitä otsikoita huomioon, joten tiedot sivun kyvyttömyydestä tallentaa välimuistiin ja kaikki muut kelvolliset käyttäjäpyynnöt ennen aikakatkaisun umpeutumista voivat johtaa virheeseen huolimatta siitä, että alkuperäinen sivusto palvelee sisältöä. ilman ongelmia.

Kolmea hyökkäysvaihtoehtoa on ehdotettu pakottamaan HTTP-palvelin palauttamaan virheen:

  • HMO (HTTP Method Override) - hyökkääjä voi ohittaa alkuperäisen pyyntömenetelmän "X-HTTP-Method-Override", "X-HTTP-Method" tai "X-Method-Override"-otsikoiden kautta, joita jotkut palvelimet tukevat, mutta ei oteta huomioon CDN:ssä. Voit esimerkiksi vaihtaa alkuperäisen "GET"-menetelmän "DELETE"-menetelmäksi, joka on kielletty palvelimella, tai "POST"-menetelmäksi, joka ei sovellu staattiseen toimintaan.

    CPDoS-hyökkäys estää CDN:n kautta tarjottavat sivut

  • HHO (HTTP Header Oversize) – hyökkääjä voi valita otsikon koon niin, että se ylittää lähdepalvelimen rajan, mutta ei kuulu CDN-rajoitusten piiriin. Esimerkiksi Apache httpd rajoittaa otsikon koon 8 kilotavuun ja Amazon Cloudfront CDN sallii otsikot 20 kilotavuun asti.
    CPDoS-hyökkäys estää CDN:n kautta tarjottavat sivut

  • HMC (HTTP Meta Character) - hyökkääjä voi lisätä pyyntöön erikoismerkkejä (\n, \r, \a), joita pidetään virheellisinä lähdepalvelimessa, mutta joita ei huomioida CDN:ssä.

    CPDoS-hyökkäys estää CDN:n kautta tarjottavat sivut

Hyökkäyksille alttiin oli Amazon Web Servicesin (AWS) käyttämä CloudFront CDN. Amazon on nyt korjannut ongelman poistamalla virheiden välimuistin käytöstä, mutta suojauksen lisääminen kesti tutkijoilta yli kolme kuukautta. Ongelma koski myös Cloudflarea, Varnishia, Akamaia, CDN77:ää ja
Nopeasti, mutta hyökkäys niiden kautta rajoittuu kohdepalvelimiin, jotka käyttävät IIS-, ASP.NET-, Pullo и Pelaa 1. On huomattava, että 11 % Yhdysvaltain puolustusministeriön verkkotunnuksista, 16 % HTTP-arkistotietokannan URL-osoitteista ja noin 30 % Alexan 500 parhaasta verkkosivustosta voivat joutua hyökkäyksen kohteeksi.

Kiertokeinona hyökkäyksen estämiseksi sivuston puolella voit käyttää "Cache-Control: no-store" -otsikkoa, joka estää vastausten välimuistin tallennuksen. Joissakin CDN:issä, esim.
CloudFront ja Akamai, voit poistaa virheiden välimuistin käytöstä profiiliasetustasolla. Suojauksena voidaan käyttää myös verkkosovellusten palomuuria (WAF, Web Application Firewall), mutta ne on toteutettava CDN-puolella välimuistiisäntien edessä.

Lähde: opennet.ru

Lisää kommentti