CPDoS-atako por igi paĝojn servitajn per CDN nedisponeblaj

Esploristoj de la Universitatoj de Hamburgo kaj Kolonjo
evoluinta nova ataktekniko sur enhavaj liveraj retoj kaj konservado de prokuriloj - CPDoS (Deponejo-Venenita Neo-de-Servo). La atako permesas aliron al paĝo esti neita per kaŝmemorveneniĝo.

La problemo estas pro tio, ke CDN-oj konservas ne nur sukcese plenumitajn petojn, sed ankaŭ situaciojn, kiam la http-servilo resendas eraron. Kiel regulo, se estas problemoj kun formado de petoj, la servilo eligas 400 (Malbona Peto) eraron; la nura escepto estas IIS, kiu eligas 404 (Ne Trovita) eraron por tro grandaj kaplinioj. La normo nur permesas erarojn kun kodoj 404 (Ne Trovita), 405 (Metodo Ne Permesita), 410 (For) kaj 501 (Ne Efektivigita) esti konservitaj en kaŝmemoro, sed kelkaj CDN-oj ankaŭ konservas respondojn kun kodo 400 (Malbona Peto), kiu dependas. sur la sendita peto.

Atakantoj povas kaŭzi, ke la originala rimedo resendi eraron "400 Malbona Peto" sendante peton kun HTTP-titoloj formatitaj laŭ certa maniero. Ĉi tiuj kaplinioj ne estas konsiderataj de la CDN, do informoj pri la malkapablo aliri la paĝon estos konservitaj en kaŝmemoro, kaj ĉiuj aliaj validaj uzantpetoj antaŭ ol la tempo eksvalidiĝos povas rezultigi eraron, malgraŭ la fakto, ke la origina retejo servas la enhavon. sen problemoj.

Tri atakopcioj estis proponitaj por devigi la HTTP-servilon resendi eraron:

  • HMO (HTTP Method Override) - atakanto povas superregi la originan petan metodon per la titoloj "X-HTTP-Method-Override", "X-HTTP-Method" aŭ "X-Method-Override", subtenata de kelkaj serviloj, sed ne konsiderata en la CDN. Ekzemple, vi povas ŝanĝi la originan "GET" metodon al la "DELETE" metodo, kiu estas malpermesita sur la servilo, aŭ la "POST" metodo, kiu ne estas aplikebla por statiko;

    CPDoS-atako por igi paĝojn servitajn per CDN nedisponeblaj

  • HHO (HTTP Header Oversize) - atakanto povas elekti la kaplinion tiel ke ĝi superas la limon de la fontservilo, sed ne eniras la CDN-limigojn. Ekzemple, Apache httpd limigas la kaplinion al 8 KB, kaj Amazon Cloudfront CDN permesas kapliniojn ĝis 20 KB;
    CPDoS-atako por igi paĝojn servitajn per CDN nedisponeblaj

  • HMC (HTTP Meta Karaktero) - atakanto povas enmeti specialajn signojn en la peton (\n, \r, \a), kiuj estas konsiderataj nevalidaj en la fontservilo, sed ignoritaj en la CDN.

    CPDoS-atako por igi paĝojn servitajn per CDN nedisponeblaj

La plej susceptible al atako estis la CloudFront CDN uzata de Amazon Web Services (AWS). Amazon nun riparis la problemon malŝaltante erarkaŝmemoron, sed esploristoj bezonis pli ol tri monatojn por aldoni protekton. La afero ankaŭ influis Cloudflare, Varnish, Akamai, CDN77 kaj
Rapide, sed la atako tra ili estas limigita al celserviloj kiuj uzas IIS, ASP.NET, Flasko и Ludi 1. Ĝi estas notita, ke 11% de usonaj Sekcio pri Defendo-domajnoj, 16% de URL-oj de la HTTP Archive-datumbazo kaj proksimume 30% de la supraj 500 retejoj vicigitaj de Alexa povus eble esti atako.

Kiel solvo por bloki atakon ĉe la retejo, vi povas uzi la kaplinion "Cache-Control: sen-vendejo", kiu malpermesas respondan kaŝmemoron. En kelkaj CDN-oj, ekz.
CloudFront kaj Akamai, vi povas malŝalti erarkaŝmemoron ĉe la profilagorda nivelo. Por protekto, vi ankaŭ povas uzi TTT-aplikajn fajroŝirmilojn (WAF, TTT-Aplika Fajromuro), sed ili devas esti efektivigitaj ĉe la CDN-flanko antaŭ la kaŝmemoro-gastigantoj.

fonto: opennet.ru

Aldoni komenton