FakeTLS
MTProto պրոքսիի ռեժիմ՝ secret-ում ee նախածանցով
Ռեժիմ, որում պրոքսին կապը սկսում է որպես իրական կայքի հետ սովորական TLS փոխանակում. ֆիլտրը տեսնում է կայք այցելություն։
Ինչպես ճանաչել
FakeTLS ռեժիմում պրոքսիի secret-ը սկսվում է ee-ով։ Հետո գալիս են բանալու 16 բայթը (32 տասնվեցական նիշ) և hex տեսքով գրված քողարկման տիրույթը։ Տիրույթը ֆիլտրին երևում է SNI դաշտում։ mtg-ն իր փաստաթղթերում օրինակ է բերում google.com-ի համար secret-ը՝
ee473ce5d4958eb5f968c87680a23854a0676f6f676c652e636f6d
Ինչպես է աշխատում
Հաճախորդը կապը սկսում է որպես սովորական TLS փոխանակում. ուղարկում է ClientHello՝ կայքի անունով։ Պրոքսին «իրենցին» ճանաչում է այդ հաղորդագրության ներսի տվյալներով, որոնք կարող է ստուգել միայն secret-ին տիրապետողը, և պատասխանում է որպես սերվեր։ Մյուսներին նա չի ճանաչում և, ըստ քողարկման կարգավորման, փոխանցում է իրական կայքին. օրինակ՝ mtg-ն հարցումը վերահասցեավորում է քողարկող կայքին։ Հասցեն ստուգող պատահական դիտորդի համար սա սովորական վեբ սերվեր է։
Ձեռքսեղմման քայլ առ քայլ վերլուծությունը՝ «FakeTLS. ինչպես է պրոքսին կայք ձևացնում» հոդվածում։
Ինչով է տարբերվում dd-ից և սովորական ռեժիմից
Սովորական ռեժիմը թաքցնում է հոսքի բովանդակությունը (obfuscated2), բայց կապի սկիզբը և փաթեթների ռիթմը մնում են ճանաչելի։ dd նախածանցը փաթեթներին ավելացնում է պատահական լրացում, որպեսզի չափերը չմատնեն պրոքսիին։ FakeTLS-ը փոխում է հենց կապի սկիզբը։ Telegram-ի փաստաթղթերում պրոքսիի տերերին խորհուրդ է տրվում հնարավորության դեպքում միացնել և՛ padding-ը, և՛ TLS emulation-ը։
Հաճախ խառնում են
FakeTLS-ը VPN չէ և առանձին գաղտնագրում էլ չէ. այն նմանակում է TLS փոխանակման սկիզբը, որպեսզի պրոքսիին միանալը կայք այցելության նման երևա։ Telegram-ի հաղորդագրությունները պաշտպանված են սեփական բանալիով՝ անկախ ռեժիմից, իսկ այս ռեժիմում պրոքսին շարունակում է աշխատել միայն Telegram-ի համար։
Որտեղ կա
ee ռեժիմը աջակցում են mtg-ն և telemt-ը. mtg-ում այն միակն է, telemt-ում միանում է [general.modes] բաժնի tls = true պարամետրով։ Պաշտոնական MTProxy-ի README-ում նկարագրված է միայն dd ռեժիմը, իսկ Telegram-ի փաստաթղթերը խորհուրդ են տալիս padding-ի հետ մեկտեղ միացնել «TLS emulation»-ը։
Սահմանները
FakeTLS-ը պրոքսին անտեսանելի չի դարձնում։ telemt-ի FAQ-ի համաձայն՝ DPI-ն այդպիսի տրաֆիկը կարող է ճանաչել SNI-ով, ALPN-ով և էնտրոպիայով, իսկ արդյունքը կախված է Telegram հաճախորդի տարբերակից, տիրույթից և սերվերի ճանապարհից։ Եթե արգելափակվում է IP հասցեն կամ պորտը, քողարկումը չի օգնի։
- Secret-ը մուտքագրվում է ամբողջությամբ՝
ee-ի հետ միասին. առանց դրա հաճախորդը կմիանա սովորական ռեժիմով։ - Խոշոր բրենդ մի վերցրեք, եթե սերվերը այդ ընկերությանը չի պատկանում. տիրույթի և հասցեի անհամապատասխանությունը հեշտ է ստուգել։
- Սերվերում տիրույթը փոխելուց հետո հին հղումները դադարում են աշխատել։