Այսօր ինտերնետի ողջ բովանդակության զգալի մասը բաշխվում է 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 բովանդակությունը բեռնելու համար: Այսպիսով, օգտատերը կարող է ստանալ իրեն անհրաժեշտ բովանդակությունը՝ ուղղակիորեն կապվելով եզրային սերվերի հետ, որտեղ այն արդեն պահված է քեշում։
Ստորև բերված դիագրամը ցույց է տալիս համակարգի դիզայնը:
Հաճախորդի ծրագրակազմը տեղադրված է օգտատիրոջ համակարգչում, և սովորական զննարկիչն օգտագործվում է բովանդակություն մուտք գործելու համար:
Երբ 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 իրենց չինական հանգույցից, թեև սոցիալական ցանցը վաղուց արգելափակված է Չինաստանում։
Ամփոփում
Փորձը ցույց տվեց, որ օգտվելով այն խնդիրներից, որոնք բախվում են գրաքննիչներին, երբ փորձում են արգելափակել CDN-ի բովանդակությունը, կարող են օգտագործվել բլոկների շրջանցման համակարգ ստեղծելու համար: Այս գործիքը թույլ է տալիս շրջանցել բլոկները նույնիսկ Չինաստանում, որն ունի առցանց գրաքննության ամենահզոր համակարգերից մեկը։