RangeAmp - CDN հարձակումների շարք, որոնք շահարկում են Range HTTP վերնագիրը

Պեկինի համալսարանի, Ցինհուա համալսարանի և Դալլասի Տեխասի համալսարանի հետազոտողների թիմը բացահայտվել է DoS գրոհների նոր դաս՝ RangeAmp, որը հիմնված է HTTP վերնագրի օգտագործման վրա Շարք կազմակերպել տրաֆիկի ուժեղացում բովանդակության առաքման ցանցերի (CDN) միջոցով։ Մեթոդի էությունն այն է, որ շատ CDN-ներում Range վերնագրերի մշակման եղանակի պատճառով հարձակվողը կարող է CDN-ի միջոցով մեծ ֆայլից մեկ բայթ պահանջել, սակայն CDN-ն կներբեռնի ամբողջ ֆայլը կամ տվյալների շատ ավելի մեծ բլոկը: թիրախային սերվերը, որը պետք է տեղադրվի քեշում: Նման հարձակման ժամանակ երթևեկության ուժեղացման աստիճանը, կախված CDN-ից, տատանվում է 724-ից մինչև 43330 անգամ, որը կարող է օգտագործվել CDN-ն ներգնա տրաֆիկով ծանրաբեռնելու կամ տուժողի կայք տանող վերջնական կապի ալիքի թողունակությունը նվազեցնելու համար:

RangeAmp - CDN հարձակումների շարք, որոնք շահարկում են Range HTTP վերնագիրը

Range վերնագիրը հաճախորդին հնարավորություն է տալիս ֆայլում նշել մի շարք դիրքեր, որոնք պետք է ներբեռնվեն՝ ամբողջ ֆայլը վերադարձնելու փոխարեն: Օրինակ, հաճախորդը կարող է նշել «Range: bytes=0-1023», և սերվերը կփոխանցի միայն առաջին 1024 բայթ տվյալները: Այս հատկությունը պահանջված է մեծ ֆայլեր ներբեռնելիս. օգտատերը կարող է դադարեցնել ներբեռնումը և այնուհետև շարունակել ընդհատված դիրքից: «bytes=0-0» նշելիս ստանդարտը հրահանգում է տալ ֆայլի առաջին բայթը, «bytes=-1»՝ վերջինը, «bytes=1-»՝ սկսած 1 բայթից մինչև ֆայլի վերջը։ Հնարավոր է փոխանցել մի քանի միջակայք մեկ վերնագրի մեջ, օրինակ՝ «Range: bytes=0-1023,8192-10240»:

Բացի այդ, առաջարկվել է հարձակման երկրորդ տարբերակ, որն ուղղված է ցանցի բեռնվածության ավելացմանը մեկ այլ CDN-ի միջոցով երթևեկի փոխանցման ժամանակ, որն օգտագործվում է որպես վստահված անձ (օրինակ, երբ Cloudflare-ը գործում է որպես ճակատ (FCDN), իսկ Akamai-ն՝ որպես հետնամաս ( BCDN): Մեթոդը նման է առաջին հարձակմանը, բայց տեղայնացված է CDN ցանցերում և թույլ է տալիս մեծացնել երթևեկությունը այլ CDN-ների միջոցով մուտք գործելիս՝ մեծացնելով ենթակառուցվածքի բեռը և նվազեցնելով ծառայության որակը:

Գաղափարն այն է, որ հարձակվողը CDN-ին ուղարկում է մի քանի միջակայքերի Range հարցումներ, ինչպիսիք են «bytes=0-,0-,0-...», «bytes=1-,0-,0-...» կամ «բայթ=-1024,0 ,0-,0-...»։ Հարցումները պարունակում են մեծ թվով «0-» միջակայքեր, ինչը ենթադրում է, որ ֆայլը վերադարձվում է զրոյական դիրքից մինչև վերջ: Շրջանակների վերլուծության սխալ իրականացման պատճառով, երբ առաջին CDN-ն մուտք է գործում երկրորդին, յուրաքանչյուր «53-» տիրույթի համար ուղարկվում է ամբողջական ֆայլ (ընդգրկույթները չեն հավաքվում, այլ հաջորդաբար կրկնվում են), եթե առկա է միջակայքերի կրկնօրինակում և հատում: ի սկզբանե հարձակվողի կողմից ուղարկված հարցումը. Նման հարձակման ժամանակ տրաֆիկի ուժեղացման աստիճանը տատանվում է 7432-ից XNUMX անգամ:

RangeAmp - CDN հարձակումների շարք, որոնք շահարկում են Range HTTP վերնագիրը

Հետազոտության ընթացքում ուսումնասիրվել է 13 CDN-ի վարքագիծը.
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath և Tencent Cloud: Հետազոտված բոլոր CDN-ները թույլ են տվել հարձակման առաջին տեսակը վերջնական սերվերի վրա: CDN-ի հարձակման երկրորդ տարբերակը ազդել է 6 ծառայության վրա, որոնցից չորսը կարող են հանդես գալ որպես հարձակման ճակատ (CDN77, CDNsun, Cloudflare և StackPath), իսկ երեքը՝ որպես հետին պլան (Akamai, Azure և StackPath): Ամենամեծ շահույթը ձեռք է բերվում Akamai-ում և StackPath-ում, որոնք թույլ են տալիս ավելի քան 10 հազար միջակայք նշել Range վերնագրում: CDN-ի սեփականատերերը տեղեկացվել են խոցելիության մասին մոտ 7 ամիս առաջ, և մինչև տեղեկատվությունը հրապարակայնորեն բացահայտվել է, 12 CDN-ից 13-ը շտկել են հայտնաբերված խնդիրները կամ պատրաստակամություն հայտնել շտկելու դրանք (միայն StackPath ծառայությունը չի արձագանքել):

Source: opennet.ru

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