CacheBrowser-ի փորձ. շրջանցելով չինական firewall-ը առանց վստահված անձի՝ օգտագործելով բովանդակության քեշավորում

CacheBrowser-ի փորձ. շրջանցելով չինական firewall-ը առանց վստահված անձի՝ օգտագործելով բովանդակության քեշավորում

Պատկեր: Unsplash

Այսօր ինտերնետի ողջ բովանդակության զգալի մասը բաշխվում է CDN ցանցերի միջոցով: Միևնույն ժամանակ, ուսումնասիրեք, թե ինչպես են տարբեր գրաքննիչները տարածում իրենց ազդեցությունը նման ցանցերի վրա: Մասաչուսեթսի համալսարանի գիտնականները վերլուծված CDN-ի բովանդակության արգելափակման հնարավոր մեթոդները՝ օգտագործելով չինական իշխանությունների գործելակերպը, ինչպես նաև մշակել է նման արգելափակումը շրջանցելու գործիք:

Մենք պատրաստել ենք վերանայման նյութ այս փորձի հիմնական եզրակացություններով և արդյունքներով:

Ներածություն

Գրաքննությունը գլոբալ սպառնալիք է ինտերնետում խոսքի ազատության և տեղեկատվության ազատ հասանելիության համար: Սա մեծապես հնարավոր է շնորհիվ այն բանի, որ ինտերնետը փոխառել է «վերջից վերջ հաղորդակցության» մոդելը անցյալ դարի 70-ականների հեռախոսային ցանցերից։ Սա թույլ է տալիս արգելափակել մուտքը դեպի բովանդակություն կամ օգտատերերի հաղորդակցություններ՝ առանց զգալի ջանքերի կամ ծախսերի՝ պարզապես հիմնվելով IP հասցեի վրա: Այստեղ կան մի քանի մեթոդներ՝ սկսած ինքնին արգելված բովանդակությամբ հասցեի արգելափակումից մինչև օգտատերերի՝ DNS մանիպուլյացիայի միջոցով այն ճանաչելու կարողության արգելափակումը:

Սակայն ինտերնետի զարգացումը հանգեցրել է նաեւ տեղեկատվության տարածման նոր ուղիների ի հայտ գալուն։ Դրանցից մեկը քեշավորված բովանդակության օգտագործումն է՝ արդյունավետությունը բարելավելու և հաղորդակցությունն արագացնելու համար: Այսօր CDN պրովայդերները մշակում են աշխարհի ողջ տրաֆիկի զգալի քանակությունը. Akamai-ն, այս հատվածի առաջատարը, միայնակ է կազմում համաշխարհային ստատիկ վեբ տրաֆիկի մինչև 30%-ը:

CDN ցանցը բաշխված համակարգ է ինտերնետի բովանդակությունը առավելագույն արագությամբ մատուցելու համար: Տիպիկ CDN ցանցը բաղկացած է տարբեր աշխարհագրական վայրերում գտնվող սերվերներից, որոնք պահում են բովանդակությունը՝ այն մատուցելու այդ սերվերին ամենամոտ գտնվող օգտվողներին: Սա թույլ է տալիս զգալիորեն մեծացնել առցանց հաղորդակցության արագությունը:

Ի լրումն վերջնական օգտագործողների փորձի բարելավման, CDN հոստինգն օգնում է բովանդակություն ստեղծողներին մասշտաբավորել իրենց նախագծերը՝ նվազեցնելով իրենց ենթակառուցվածքի բեռը:

CDN բովանդակության գրաքննություն

Չնայած այն հանգամանքին, որ CDN-ի տրաֆիկը արդեն իսկ կազմում է համացանցով փոխանցվող ողջ տեղեկատվության զգալի մասը, դեռևս գրեթե ոչ մի հետազոտություն չկա այն մասին, թե ինչպես են իրական աշխարհում գրաքննությունը մոտենում դրա վերահսկմանը:

Հետազոտության հեղինակները սկսել են ուսումնասիրել գրաքննության մեթոդները, որոնք կարող են կիրառվել CDN-ների համար: Այնուհետև նրանք ուսումնասիրել են Չինաստանի իշխանությունների կողմից կիրառվող իրական մեխանիզմները։

Նախ, եկեք խոսենք գրաքննության հնարավոր մեթոդների և CDN-ի վերահսկման համար դրանք օգտագործելու հնարավորության մասին:

IP ֆիլտրում

Սա ինտերնետի գրաքննության ամենապարզ և ամենաէժան տեխնիկան է: Օգտագործելով այս մոտեցումը՝ գրաքննիչը նույնականացնում և սև ցուցակում է արգելված բովանդակություն հյուրընկալող ռեսուրսների IP հասցեները: Այնուհետև վերահսկվող ինտերնետ պրովայդերները դադարում են նման հասցեներով ուղարկված փաթեթների առաքումը։

IP-ի վրա հիմնված արգելափակումը ինտերնետի գրաքննության ամենատարածված մեթոդներից մեկն է: Առևտրային ցանցային սարքերի մեծ մասը հագեցած է գործառույթներով, որոնք կարող են իրականացնել նման արգելափակում առանց զգալի հաշվողական ջանքերի:

Այնուամենայնիվ, այս մեթոդը այնքան էլ հարմար չէ CDN-ի երթևեկությունը արգելափակելու համար՝ տեխնոլոգիայի որոշ հատկությունների պատճառով.

  • Բաշխված քեշավորում – Բովանդակության լավագույն հասանելիությունն ապահովելու և կատարողականությունը օպտիմալացնելու համար CDN ցանցերը պահում են օգտվողի բովանդակությունը մեծ թվով եզրային սերվերների վրա, որոնք տեղակայված են աշխարհագրորեն բաշխված վայրերում: IP-ի վրա հիմնված նման բովանդակությունը զտելու համար գրաքննիչը պետք է պարզի բոլոր եզրային սերվերների հասցեները և դրանք սև ցուցակագրի։ Սա կխաթարի մեթոդի հիմնական հատկությունները, քանի որ դրա հիմնական առավելությունն այն է, որ սովորական սխեմայով մեկ սերվերի արգելափակումը թույլ է տալիս «կտրել» մուտքը դեպի արգելված բովանդակություն միանգամից մեծ թվով մարդկանց համար:
  • Համօգտագործվող IP-ներ – Առևտրային CDN պրովայդերները կիսում են իրենց ենթակառուցվածքը (այսինքն՝ եզրային սերվերները, քարտեզագրման համակարգը և այլն) բազմաթիվ հաճախորդների միջև: Արդյունքում, արգելված CDN բովանդակությունը բեռնվում է նույն IP հասցեներից, ինչ ոչ արգելված բովանդակությունը: Արդյունքում, IP-ի զտման ցանկացած փորձ կհանգեցնի նրան, որ արգելափակվեն գրաքննիչներին չհետաքրքրող կայքերի և բովանդակության հսկայական քանակություն:
  • Բարձր դինամիկ IP հանձնարարություն – բեռների հավասարակշռումը օպտիմալացնելու և սպասարկման որակը բարելավելու համար ծայրամասային սերվերների և վերջնական օգտագործողների քարտեզագրումը կատարվում է շատ արագ և դինամիկ: Օրինակ, Akamai-ի թարմացումները ամեն րոպե վերադարձրել են IP հասցեներ: Սա գրեթե անհնարին կդարձնի, որ հասցեները կապված լինեն արգելված բովանդակության հետ:

DNS միջամտություն

Բացի IP ֆիլտրումից, գրաքննության մեկ այլ հայտնի մեթոդ է DNS միջամտությունը: Այս մոտեցումը ներառում է գրաքննիչների գործողությունները, որոնք ուղղված են օգտատերերին արգելված բովանդակությամբ ռեսուրսների IP հասցեները ճանաչելուց կանխելուն: Այսինքն՝ միջամտությունը տեղի է ունենում դոմենի անվան լուծման մակարդակում։ Դա անելու մի քանի եղանակ կա, ներառյալ DNS կապերի առևանգումը, DNS թունավորման տեխնիկայի օգտագործումը և արգելված կայքերին DNS հարցումների արգելափակումը:

Սա շատ արդյունավետ արգելափակման մեթոդ է, բայց այն կարելի է շրջանցել, եթե դուք օգտագործում եք ոչ ստանդարտ DNS լուծման մեթոդներ, օրինակ՝ ալիքներից դուրս: Հետեւաբար, գրաքննիչները սովորաբար համատեղում են DNS արգելափակումը IP զտման հետ: Բայց, ինչպես նշվեց վերևում, IP զտումն արդյունավետ չէ CDN բովանդակությունը գրաքննության համար:

Զտել ըստ URL/հիմնաբառերի՝ օգտագործելով DPI

Ցանցային գործունեության մոնիտորինգի ժամանակակից սարքավորումները կարող են օգտագործվել փոխանցված տվյալների փաթեթներում կոնկրետ URL-ներ և հիմնաբառեր վերլուծելու համար: Այս տեխնոլոգիան կոչվում է DPI (deep packet inspection): Նման համակարգերը նշում են արգելված բառերի և ռեսուրսների մասին, որից հետո դրանք խանգարում են առցանց հաղորդակցությանը: Արդյունքում փաթեթները պարզապես թափվում են:

Այս մեթոդը արդյունավետ է, բայց ավելի բարդ և ռեսուրսների ինտենսիվ, քանի որ այն պահանջում է որոշակի հոսքերի մեջ ուղարկված բոլոր տվյալների փաթեթների դեֆրագրում:

CDN բովանդակությունը կարող է պաշտպանվել նման զտումից այնպես, ինչպես «սովորական» բովանդակությունը. երկու դեպքում էլ օգնում է կոդավորման օգտագործումը (այսինքն՝ HTTPS):

Բացի արգելված ռեսուրսների հիմնաբառեր կամ URL-ներ գտնելու համար DPI-ի օգտագործումից, այս գործիքները կարող են օգտագործվել ավելի առաջադեմ վերլուծության համար: Այս մեթոդները ներառում են առցանց/օֆլայն տրաֆիկի վիճակագրական վերլուծություն և նույնականացման արձանագրությունների վերլուծություն: Այս մեթոդները չափազանց մեծ ռեսուրսներ են պահանջում, և այս պահին պարզապես գրաքննության կողմից դրանց օգտագործման բավական լուրջ չափով ապացույցներ չկան:

CDN մատակարարների ինքնագրաքննություն

Եթե ​​գրաքննիչը պետությունն է, ապա նա բոլոր հնարավորություններն ունի արգելելու այն CDN պրովայդերներին գործել երկրում, որոնք չեն ենթարկվում բովանդակության հասանելիությունը կարգավորող տեղական օրենքներին: Ինքնագրաքննությանը ոչ մի կերպ չի կարելի դիմակայել, հետևաբար, եթե CDN պրովայդեր ընկերությունը շահագրգռված է գործել որոշակի երկրում, նա ստիպված կլինի հետևել տեղական օրենքներին, նույնիսկ եթե դրանք սահմանափակում են խոսքի ազատությունը:

Ինչպես է Չինաստանը գրաքննում CDN բովանդակությունը

Չինաստանի մեծ firewall-ը իրավամբ համարվում է ինտերնետ գրաքննության ապահովման ամենաարդյունավետ և առաջադեմ համակարգը:

Հետազոտության մեթոդաբանություն

Գիտնականները փորձեր են կատարել Չինաստանի ներսում տեղակայված Linux հանգույցի միջոցով: Նրանք նաև մուտք են ունեցել մի քանի համակարգիչներ երկրից դուրս: Նախ, հետազոտողները ստուգեցին, որ հանգույցը ենթակա է գրաքննության, որը նման է չինացի այլ օգտատերերի նկատմամբ կիրառվող գրաքննությանը. դա անելու համար նրանք փորձել են բացել տարբեր արգելված կայքեր այս մեքենայից: Այսպիսով, նույն մակարդակի գրաքննության առկայությունը հաստատվեց։

Չինաստանում արգելափակված CDN-ներ օգտագործող կայքերի ցանկը վերցվել է GreatFire.org կայքից: Այնուհետև վերլուծվել է յուրաքանչյուր դեպքում արգելափակման մեթոդը:

Ըստ հանրային տվյալների՝ Չինաստանում սեփական ենթակառուցվածքով CDN շուկայում միակ խոշոր խաղացողը Akamai-ն է: Ուսումնասիրությանը մասնակցող այլ մատակարարներ՝ CloudFlare, Amazon CloudFront, EdgeCast, Fastly և SoftLayer:

Փորձերի ընթացքում հետազոտողները պարզել են Akamai edge սերվերների հասցեները երկրի ներսում, այնուհետև փորձել են դրանց միջոցով քեշավորել թույլատրված բովանդակությունը: Հնարավոր չի եղել մուտք գործել արգելված բովանդակություն (HTTP 403 Արգելված սխալը վերադարձվել է) – ըստ երևույթին, ընկերությունը ինքնագրաքննություն է կատարում՝ երկրում գործելու հնարավորությունը պահպանելու համար: Միևնույն ժամանակ, այդ ռեսուրսների հասանելիությունը բաց մնաց երկրից դուրս:

Չինաստանում ենթակառուցվածք չունեցող պրովայդերները չեն ինքնագրաքննում տեղական օգտատերերին:

Այլ պրովայդերների դեպքում ամենից հաճախ օգտագործվող արգելափակման մեթոդը DNS զտումն էր. արգելափակված կայքերին ուղղված հարցումները լուծվում են սխալ IP հասցեներով: Միևնույն ժամանակ, firewall-ը չի արգելափակում եզրային CDN սերվերները, քանի որ դրանք պահպանում են ինչպես արգելված, այնպես էլ թույլատրված տեղեկատվությունը:

Եվ եթե չգաղտնագրված տրաֆիկի դեպքում իշխանությունները հնարավորություն ունեն արգելափակել կայքերի առանձին էջերը՝ օգտագործելով DPI, ապա HTTPS-ից օգտվելիս նրանք կարող են մերժել մուտքը միայն ամբողջ տիրույթին որպես ամբողջություն։ Սա նաև հանգեցնում է թույլատրված բովանդակության արգելափակմանը:

Բացի այդ, Չինաստանն ունի իր սեփական CDN պրովայդերները, ներառյալ այնպիսի ցանցեր, ինչպիսիք են ChinaCache-ը, ChinaNetCenter-ը և CDNetworks-ը: Այս բոլոր ընկերությունները լիովին համապատասխանում են երկրի օրենքներին և արգելափակում են արգելված բովանդակությունը։

CacheBrowser. CDN շրջանցման գործիք

Ինչպես ցույց տվեց վերլուծությունը, գրաքննության համար բավականին դժվար է արգելափակել CDN-ի բովանդակությունը։ Հետևաբար, հետազոտողները որոշել են ավելի հեռուն գնալ և մշակել առցանց արգելափակումների շրջանցման գործիք, որը չի օգտագործում պրոքսի տեխնոլոգիա:

Գործիքի հիմնական գաղափարն այն է, որ գրաքննիչները պետք է միջամտեն DNS-ին՝ CDN-ները արգելափակելու համար, բայց իրականում պետք չէ օգտագործել տիրույթի անվան լուծում՝ CDN բովանդակությունը բեռնելու համար: Այսպիսով, օգտատերը կարող է ստանալ իրեն անհրաժեշտ բովանդակությունը՝ ուղղակիորեն կապվելով եզրային սերվերի հետ, որտեղ այն արդեն պահված է քեշում։

Ստորև բերված դիագրամը ցույց է տալիս համակարգի դիզայնը:

CacheBrowser-ի փորձ. շրջանցելով չինական firewall-ը առանց վստահված անձի՝ օգտագործելով բովանդակության քեշավորում

Հաճախորդի ծրագրակազմը տեղադրված է օգտատիրոջ համակարգչում, և սովորական զննարկիչն օգտագործվում է բովանդակություն մուտք գործելու համար:

Երբ URL կամ բովանդակության մի հատված արդեն պահանջվել է, զննարկիչը հարցում է կատարում տեղական DNS համակարգին (LocalDNS)՝ հոսթինգի IP հասցեն ստանալու համար: Սովորական DNS-ը հարցվում է միայն այն տիրույթների համար, որոնք արդեն չկան LocalDNS տվյալների բազայում: Scraper մոդուլը շարունակաբար անցնում է պահանջվող URL-ների միջով և որոնում է պոտենցիալ արգելափակված տիրույթի անունների ցանկը: Այնուհետև Scraper-ը կանչում է Resolver մոդուլը՝ լուծելու նոր հայտնաբերված արգելափակված տիրույթները, այս մոդուլը կատարում է առաջադրանքը և մուտք է ավելացնում LocalDNS-ին: Բրաուզերի DNS քեշն այնուհետև մաքրվում է արգելափակված տիրույթի առկա DNS գրառումները հեռացնելու համար:

Եթե ​​Resolver մոդուլը չի ​​կարողանում պարզել, թե որ CDN մատակարարին է պատկանում տիրույթը, այն օգնություն կխնդրի Bootstrapper մոդուլից։

Ինչպես է այն աշխատում գործնականում

Արտադրանքի հաճախորդի ծրագրակազմը ներդրվել է Linux-ի համար, սակայն այն հեշտությամբ կարելի է տեղափոխել նաև Windows-ի համար: Սովորական Mozilla-ն օգտագործվում է որպես դիտարկիչ
Firefox. Scraper և Resolver մոդուլները գրված են Python-ով, իսկ Customer-to-CDN և CDN-toIP տվյալների բազաները պահվում են .txt ֆայլերում: LocalDNS տվյալների բազան Linux-ի սովորական /etc/hosts ֆայլն է:

Արդյունքում, արգելափակված URL-ի նման blocked.com Սցենարը կստանա եզրային սերվերի IP հասցեն /etc/hosts ֆայլից և կուղարկի HTTP GET հարցում՝ BlockedURL.html մուտք գործելու համար Host HTTP վերնագրի դաշտերով.

blocked.com/ and User-Agent: Mozilla/5.0 (Windows
NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1

Bootstrapper մոդուլն իրականացվում է digwebinterface.com անվճար գործիքի միջոցով: Այս DNS լուծիչը չի կարող արգելափակվել և պատասխանում է DNS հարցումներին ցանցի տարբեր տարածաշրջաններում աշխարհագրորեն բաշխված բազմաթիվ DNS սերվերների անունից:

Օգտագործելով այս գործիքը՝ հետազոտողներին հաջողվել է մուտք գործել Facebook իրենց չինական հանգույցից, թեև սոցիալական ցանցը վաղուց արգելափակված է Չինաստանում։

CacheBrowser-ի փորձ. շրջանցելով չինական firewall-ը առանց վստահված անձի՝ օգտագործելով բովանդակության քեշավորում

Ամփոփում

Փորձը ցույց տվեց, որ օգտվելով այն խնդիրներից, որոնք բախվում են գրաքննիչներին, երբ փորձում են արգելափակել CDN-ի բովանդակությունը, կարող են օգտագործվել բլոկների շրջանցման համակարգ ստեղծելու համար: Այս գործիքը թույլ է տալիս շրջանցել բլոկները նույնիսկ Չինաստանում, որն ունի առցանց գրաքննության ամենահզոր համակարգերից մեկը։

Օգտագործման թեմայի վերաբերյալ այլ հոդվածներ ռեզիդենտ վստահված անձինք բիզնեսի համար:

Source: www.habr.com

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