CPDoS հարձակում՝ CDN-ի միջոցով սպասարկվող էջերը անհասանելի դարձնելու համար

Համբուրգի և Քյոլնի համալսարանների հետազոտողներ
զարգացել են նոր հարձակման տեխնիկա բովանդակության առաքման ցանցերի և քեշավորման վստահված անձանց վրա. CPDoS (Cache-Poisoned Denial-of-Service): Հարձակումը թույլ է տալիս արգելել մուտքը դեպի էջ քեշի թունավորման միջոցով:

Խնդիրը պայմանավորված է նրանով, որ CDN-ները քեշում են ոչ միայն հաջողությամբ ավարտված հարցումները, այլ նաև իրավիճակներ, երբ http սերվերը սխալ է վերադարձնում։ Որպես կանոն, եթե հարցումների ձևավորման հետ կապված խնդիրներ կան, սերվերը թողարկում է 400 (Bad Request) սխալ, միակ բացառությունը IIS-ն է, որը թողարկում է 404 (Not Found) սխալ չափազանց մեծ վերնագրերի համար: Ստանդարտը թույլ է տալիս քեշավորել միայն 404 (Չգտնված), 405 (Մեթոդը չի թույլատրվում), 410 (Անհետացած) և 501 (Իրականացված չէ) կոդերի սխալները, սակայն որոշ CDN-ներ նաև քեշավորում են 400 կոդով (Վատ հարցում) պատասխանները, ինչը կախված է: ուղարկված հարցման վրա։

Հարձակվողները կարող են պատճառ դառնալ, որ սկզբնական ռեսուրսը վերադարձնի «400 Bad Request» սխալ՝ ուղարկելով հարցում HTTP վերնագրերով որոշակի ձևաչափով: Այս վերնագրերը հաշվի չեն առնվում CDN-ի կողմից, ուստի էջ մուտք գործելու անհնարինության մասին տեղեկությունները կպահվեն, և օգտատերերի բոլոր այլ վավեր հարցումները մինչև ժամկետի ավարտը կարող են հանգեցնել սխալի, չնայած այն հանգամանքին, որ սկզբնական կայքը սպասարկում է բովանդակությունը: առանց որևէ խնդիրների:

Առաջարկվել է հարձակման երեք տարբերակ՝ HTTP սերվերին սխալ վերադարձնելու ստիպելու համար.

  • HMO (HTTP Method Override) - հարձակվողը կարող է անտեսել նախնական հարցման մեթոդը «X-HTTP-Method-Override», «X-HTTP-Method» կամ «X-Method-Override» վերնագրերի միջոցով, որոնք աջակցվում են որոշ սերվերների կողմից, բայց հաշվի չի առնվել CDN-ում: Օրինակ, դուք կարող եք փոխել սկզբնական «GET» մեթոդը «DELETE» մեթոդով, որն արգելված է սերվերում, կամ «POST» մեթոդով, որը կիրառելի չէ ստատիկների համար.

    CPDoS հարձակում՝ CDN-ի միջոցով սպասարկվող էջերը անհասանելի դարձնելու համար

  • HHO (HTTP Header Oversize) - հարձակվողը կարող է ընտրել վերնագրի չափը այնպես, որ այն գերազանցի աղբյուրի սերվերի սահմանը, բայց չընկնի CDN սահմանափակումների մեջ: Օրինակ, Apache httpd-ը սահմանափակում է վերնագրի չափը մինչև 8 ԿԲ, իսկ Amazon Cloudfront CDN-ը թույլ է տալիս վերնագրերը մինչև 20 ԿԲ;
    CPDoS հարձակում՝ CDN-ի միջոցով սպասարկվող էջերը անհասանելի դարձնելու համար

  • HMC (HTTP Meta Character) - հարձակվողը կարող է հատուկ նիշեր տեղադրել հարցումում (\n, \r, \a), որոնք համարվում են անվավեր աղբյուրի սերվերում, բայց անտեսվում են CDN-ում:

    CPDoS հարձակում՝ CDN-ի միջոցով սպասարկվող էջերը անհասանելի դարձնելու համար

Հարձակման առավել ենթական CloudFront CDN-ն էր, որն օգտագործվում էր Amazon Web Services-ի (AWS) կողմից: Amazon-ն այժմ շտկել է խնդիրը՝ անջատելով սխալների քեշավորումը, սակայն հետազոտողներին պահանջվել է ավելի քան երեք ամիս պաշտպանություն ավելացնելու համար: Խնդիրը ազդել է նաև Cloudflare-ի, Varnish-ի, Akamai-ի, CDN77-ի և
Արագ, բայց նրանց միջոցով հարձակումը սահմանափակվում է թիրախային սերվերներով, որոնք օգտագործում են IIS, ASP.NET, տափաշիշ и Խաղացեք 1. Նշվում է, որ ԱՄՆ պաշտպանության նախարարության տիրույթների 11%-ը, HTTP արխիվի տվյալների բազայի URL-ների 16%-ը և Alexa-ի կողմից դասակարգված լավագույն 30 կայքերի մոտ 500%-ը կարող են ենթարկվել հարձակման:

Որպես կայքի կողմից հարձակումը արգելափակելու միջոց՝ կարող եք օգտագործել «Cache-Control. no-store» վերնագիրը, որն արգելում է պատասխանների քեշավորումը: Որոշ CDN-ներում, օրինակ.
CloudFront և Akamai, դուք կարող եք անջատել սխալների քեշավորումը պրոֆիլի կարգավորումների մակարդակում: Պաշտպանության համար կարող եք նաև օգտագործել վեբ հավելվածների firewalls (WAF, Web Application Firewall), բայց դրանք պետք է իրականացվեն CDN-ի կողմից՝ քեշավորման հոսթների դիմաց:

Source: opennet.ru

Добавить комментарий