Гісторыя барацьбы з цэнзурай: як працуе створаны вучонымі з MIT і Стэнфарда метад flash proxy

Гісторыя барацьбы з цэнзурай: як працуе створаны вучонымі з MIT і Стэнфарда метад flash proxy

У пачатку 2010-х гадоў аб'яднаная група спецыялістаў са Стэнфардскага ўніверсітэта, Масачусецкага ўніверсітэта, The Tor Project і SRI International прадставіла вынікі свайго даследаванні спосабаў барацьбы з цэнзурай у інтэрнэце.

Навукоўцы прааналізавалі існавалі на той момант спосабы абыходу блакіровак і прапанавалі свой метад, які атрымаў назву flash proxy. Сёння мы раскажам пра яго сутнасць і гісторыю развіцця.

Увядзенне

Інтэрнэт пачынаўся як сетка, адчыненая для дадзеных любога тыпу, але з цягам часу шматлікія краіны пачалі ажыццяўляць фільтраванне трафіку. Нейкія дзяржавы блакуюць асобныя сайты, накшталт YouTube ці Facebook, тады як іншыя забараняюць доступ да кантэнту, які змяшчае пэўныя матэрыялы. У тым ці іншым выглядзе блакіроўкі прымяняюцца ў дзясятках краін з розных рэгіёнаў, уключаючы Еўропу.

Карыстальнікі ў рэгіёнах, дзе выкарыстоўваюцца блакіроўкі, спрабуюць абыйсці іх з дапамогай розных проксі. Існуе некалькі напрамкаў развіцця падобных сістэм, адна з тэхналогій - Tor, была выкарыстана ў ходзе праекта.

Звычайна перад распрацоўшчыкамі проксі-сістэмам для абыходу блакіровак стаяць тры задачы, якія трэба вырашыць:

  1. Rendezvous-пратаколы. Рандэву-пратакол дазваляе карыстальнікам у краіне з блакіроўкамі адпраўляць і атрымліваць невялікія аб'ёмы інфармацыі для ўсталявання злучэння з проксі – у выпадку Tor, да прыкладу, выкарыстоўвае rendezvous для распаўсюджвання IP-адрас Tor-рэтранслятараў (брыджаў). Такія пратаколы выкарыстоўваюцца для low-rate трафіку і заблакаваць іх не так проста.
  2. Стварэнне проксі. Сістэмам пераадолення блакіровак патрэбны проксі па-за рэгіёнам з фільтруемым інтэрнэтам, каб перадаваць трафік ад кліента да мэтавых рэсурсаў і назад. Арганізатары блакіровак могуць у адказ перашкаджаць карыстальнікам даведвацца IP-адрасы проксі-сервераў і блакаваць іх. Каб супрацьстаяць такі атацы Сівілы проксі-сэрвіс павінен мець магчымасць увесь час ствараць новыя проксі. Менавіта хуткае стварэнне новых проксі - гэта асноўная сутнасць прапанаванага даследчыкамі метаду.
  3. Камуфляж. Калі кліент атрымлівае адрас не заблакаванага проксі, яму трэба якім-небудзь чынам схаваць сваю камунікацыю з ім, каб сесію было немагчыма заблакаваць з дапамогай інструментаў аналізу трафіку. Яе трэба закамуфляваць пад «звычайны» трафік, накшталт абмену дадзенымі з інтэрнэт-крамай, анлайн-гульні і да т.п.

У сваёй рабоце вучоныя прапанавалі новы падыход да хуткага стварэння проксі.

Як гэта працуе

Ключавая ідэя заключаецца ў выкарыстанні мноства вэб-сайтаў для стварэння вялікай колькасці проксі з кароткім тэрмінам жыцця не перавышае некалькі хвілін.

Для гэтага ствараецца сетка невялікіх сайтаў, якімі валодаюць валанцёры - накшталт хатніх старонак карыстальнікаў, якія жывуць па-за рэгіёнам з блакіроўкамі інтэрнэту. Гэтыя сайты ніяк не звязаныя з тымі рэсурсамі, да якіх жадае атрымаць доступ карыстач.

На такі сайт усталёўваецца невялікі бэйдж, які ўяўляе сабой просты інтэрфейс, створаны з дапамогай JavaScript. Прыклад такога кода:

<iframe src="//crypto.stanford.edu/flashproxy/embed.html" width="80" height="15" frameborder="0" scrolling="no"></iframe>

Вось так выглядае бэйдж:

Гісторыя барацьбы з цэнзурай: як працуе створаны вучонымі з MIT і Стэнфарда метад flash proxy

Калі браўзэр з лакацыі па-за рэгіёнам з блакіроўкамі трапляе на такі сайт з бэйджам, ён пачынае перадаваць трафік у бок гэтага рэгіёна і назад. Гэта значыць браўзэр наведвальніка сайта становіцца часовым проксі. Пасля таго, як гэты карыстальнік сыходзіць з сайта, проксі знішчаецца без якіх-небудзь слядоў.

У выніку магчыма атрыманне прадукцыйнасці, дастатковай для падтрымання Tor-тунэля.

Апроч Tor Relay і кліента карыстачу спатрэбіцца яшчэ тры элемента. Так званы фасілітатар (facilitator), які атрымлівае запыты ад кліента і злучае яго з проксі. Камунікацыя адбываецца з дапамогай транспартных убудоў на кліенце (вось версія для Chrome) і Tor-relay ажыццяўляецца пераключэнне з WebSockets на чысты TCP.

Гісторыя барацьбы з цэнзурай: як працуе створаны вучонымі з MIT і Стэнфарда метад flash proxy

Тыповая сесія пры выкарыстанні гэтай схемы выглядае так:

  1. Кліент запускае Tor, кліент flash-proxy (браузерная плягін) і адпраўляе запыт на рэгістрацыю фасілітатару з дапамогай пратаколу rendezvous. Убудова пачынае праслухоўванне выдаленага злучэння.
  2. Flash-проксі з'яўляецца анлайн і звяртаецца да фасілітатара з запытам на злучэнне з кліентам.
  3. Фасілітатар вяртае рэгістрацыю, перадаючы flash-проксі дадзеныя для злучэння.
  4. Проксі злучаецца з кліентам, дадзеныя якога яму даслалі.
  5. Проксі падключаецца да транспартнай убудовы а Tor-рэле і пачынае абмен дадзенымі паміж кліентам і рэлеем.

Асаблівасць дадзенай архітэктуры ў тым, што кліент ніколі не ведае загадзя, куды менавіта яму трэба будзе падлучацца. Па факце, транспартная ўбудова прымае фэйкавы адрас прызначэння толькі для таго, каб не парушаць патрабаванні транспартных пратаколаў. Затым гэты адрас ігнаруецца і ствараецца тунэль да іншай канчатковай кропкі - Tor-рэлею.

Заключэнне

Праект flash-проксі развіваўся некалькі гадоў і ў 2017 годзе стваральнікі спынілі яго падтрымку. Код праекта даступны па гэтай спасылцы. На змену flash-проксі дашлі новыя прылады абыходу блакіровак. Адзін з іх праект Snowflake, пабудаваны на падобных прынцыпах.

Крыніца: habr.com

Дадаць каментар