Aghaidh an fhearainn bunaithe ar TLS 1.3

Réamhrá

Aghaidh an fhearainn bunaithe ar TLS 1.3
Tá go leor i bpáirt ag córais scagtha ábhair chorparáidigh nua-aimseartha ó mhonaróirí cáiliúla mar Cisco, BlueCoat, agus FireEye lena gcomhghleacaithe níos cumhachtaí - córais DPI, atá á gcur i bhfeidhm go gníomhach ar an leibhéal náisiúnta. Is é croílár obair an dá cheann ná cigireacht a dhéanamh ar thrácht Idirlín isteach agus amach agus, bunaithe ar liostaí dubh/bán, cinneadh a dhéanamh an nasc Idirlín a thoirmeasc. Agus ós rud é go mbraitheann an bheirt acu ar phrionsabail chomhchosúla i mbunús a gcuid oibre, beidh go leor i gcoiteann ag na modhanna chun dul timpeall orthu.

Ar cheann de na teicneolaíochtaí a ligeann duit seachaint éifeachtach a dhéanamh ar PSO agus ar chórais chorparáideacha araon, tá an teicneolaíocht chun tosaigh ar an bhfearann. Is é a bunúsach ná go rachaimid chuig acmhainn atá bacáilte, ag dul i bhfolach taobh thiar de fhearann ​​​​poiblí eile a bhfuil dea-cháil air, rud nach mbeidh bac ar chóras ar bith, mar shampla google.com.

Scríobhadh go leor alt faoin teicneolaíocht seo cheana féin agus tá go leor samplaí tugtha. Mar sin féin, de bharr na dteicneolaíochtaí DNS-over-HTTPS agus criptithe-SNI a bhfuil tóir orthu agus a pléadh le déanaí, chomh maith leis an leagan nua den phrótacal TLS 1.3, is féidir rogha eile a mheas maidir le héadanas fearainn.

An teicneolaíocht a thuiscint

Ar dtús, déanaimis beagán coincheapa bunúsacha a shainiú ionas go mbeidh tuiscint ag gach duine ar cé hé agus cén fáth go bhfuil gá leis seo go léir. Luaíomar meicníocht eSNI, agus déanfar tuilleadh plé ar a oibriú. Leagan slán de SNI is ea an mheicníocht eSNI (Tásc Ainm Freastalaí criptithe), atá ar fáil don phrótacal TLS 1.3 amháin. Is é an príomh-smaoineamh ná faisnéis a chriptiú, i measc rudaí eile, faoin bhfearann ​​​​a seoltar an t-iarratas chuige.

Breathnaímid anois ar conas a oibríonn meicníocht eSNI go praiticiúil.

Ligean le rá go bhfuil acmhainn Idirlín againn atá bactha ag réiteach nua-aimseartha DPI (tógfaimid, mar shampla, an lorgaire torrent cáiliúil rutracker.nl). Nuair a dhéanaimid iarracht teacht ar shuíomh Gréasáin lorgaire torrent, feicimid stub caighdeánach an tsoláthraí a thugann le fios go bhfuil an acmhainn bactha:

Aghaidh an fhearainn bunaithe ar TLS 1.3

Ar shuíomh Gréasáin RKN tá an fearann ​​seo liostaithe i ndáiríre ar na stopliostaí:

Aghaidh an fhearainn bunaithe ar TLS 1.3

Nuair a chuireann tú ceist ar cé hé, feicfidh tú go bhfuil an fearann ​​féin “i bhfolach” taobh thiar den soláthraí néil Cloudflare.

Aghaidh an fhearainn bunaithe ar TLS 1.3

Ach murab ionann agus na “speisialtóirí” ó RKN, níor chuir fostaithe Beeline a bhí níos sciobtha go teicniúil (nó a bhí múinte ag taithí searbh ár rialtóra cáiliúil) cosc ​​​​go dúr ar an suíomh trí sheoladh IP, ach chuir siad an t-ainm fearainn leis an liosta stad. Is féidir leat é seo a fhíorú go héasca má fhéachann tú ar na fearainn eile atá i bhfolach taobh thiar den seoladh IP céanna, tabhair cuairt ar cheann acu agus féach nach bhfuil bac ar rochtain:

Aghaidh an fhearainn bunaithe ar TLS 1.3

Conas a tharlaíonn sé seo? Cén chaoi a bhfuil a fhios ag PSO an tsoláthraí cén fearann ​​ar a bhfuil mo bhrabhsálaí, ó tharla go dtarlaíonn gach cumarsáid tríd an bprótacal https, agus nár thugamar faoi deara go fóill go bhfuil ionadú deimhnithe https ó Beeline curtha in ionad? An bhfuil sé clairvoyant nó an bhfuil mé á leanúint?

Déanaimis iarracht an cheist seo a fhreagairt trí bhreathnú ar an trácht trí shiorcóir sreang

Aghaidh an fhearainn bunaithe ar TLS 1.3

Taispeánann an screenshot go bhfaigheann an brabhsálaí seoladh IP an fhreastalaí ar dtús trí DNS, ansin tarlaíonn gnáth-thógáil láimhe TCP leis an bhfreastalaí ceann scríbe, agus ansin déanann an brabhsálaí iarracht nasc SSL a bhunú leis an bhfreastalaí. Chun seo a dhéanamh, seolann sé paicéad SSL Cliant Hello, ina bhfuil ainm an fhearainn foinse i dtéacs soiléir. Teastaíonn an réimse seo ón bhfreastalaí frontend cloudflare chun an nasc a threorú i gceart. Seo an áit a nglacann an soláthraí PSO linn, ag briseadh ár gceangal. Ag an am céanna, ní fhaighimid aon stub ón soláthraí, agus feicimid earráid chaighdeánach an bhrabhsálaí amhail is go bhfuil an suíomh díchumasaithe nó mura n-oibríonn sé:

Aghaidh an fhearainn bunaithe ar TLS 1.3

Anois, déanaimis meicníocht eSNI a chumasú sa bhrabhsálaí, mar atá scríofa sna treoracha le haghaidh Firefox :
Chun seo a dhéanamh osclaimid an leathanach cumraíochta Firefox about: config agus gníomhachtaigh na socruithe seo a leanas:

network.trr.mode = 2;
network.trr.uri = https://mozilla.cloudflare-dns.com/dns-query
network.security.esni.enabled = true

Tar éis seo, déanfaimid seiceáil go bhfuil na socruithe ag obair i gceart ar shuíomh Gréasáin cloudflare. nasc agus déanaimis iarracht an cleas lenár lorgaire torrent arís.

Aghaidh an fhearainn bunaithe ar TLS 1.3

Voila. D’oscail ár lorgaire is fearr leat gan aon VPN nó seachfhreastalaí. Breathnaímis anois ar an dumpáil tráchta sa sreangshark féachaint cad a tharla.

Aghaidh an fhearainn bunaithe ar TLS 1.3

An uair seo, níl an fearann ​​cinn scríbe sa phacáiste ssl client hello, ach ina ionad sin, bhí réimse nua le feiceáil sa phacáiste - encrypted_server_name - seo an áit a bhfuil luach rutracker.nl, agus ní féidir ach leis an bhfreastalaí frontend cloudflare é seo a dhíchriptiú Gort. Agus más amhlaidh, níl aon rogha ag an soláthraí PSO ach a lámha a ní agus trácht den sórt sin a cheadú. Níl aon roghanna eile ann le criptiú.

Mar sin, d'fhéachamar ar conas a oibríonn an teicneolaíocht sa bhrabhsálaí. Anois déanaimis iarracht é a chur i bhfeidhm ar rudaí níos sainiúla agus níos suimiúla. Agus ar dtús, múinfimid an curl céanna chun eSNI a úsáid chun oibriú le TLS 1.3, agus ag an am céanna feicfimid conas a oibríonn an t-éadanas fearainn féin atá bunaithe ar eSNI.

Fearainn ar aghaidh le eSNI

Toisc go n-úsáideann Curl an leabharlann caighdeánach openssl chun nascadh tríd an bprótacal https, ar an gcéad dul síos ní mór dúinn tacaíocht eSNI a sholáthar ansin. Níl aon tacaíocht eSNI sna brainsí máistir openssl fós, mar sin ní mór dúinn brainse speisialta openssl a íoslódáil, a thiomsú agus a shuiteáil.

Clónaimid an stór ó GitHub agus tiomsaimid mar is gnách:

$ git clone https://github.com/sftcd/openssl
$ cd openssl
$ ./config

$ make
$ cd esnistuff
$ make

Ansin, déanaimid an stór a chlónáil le curl agus déanaimid a thiomsú a chumrú ag baint úsáide as ár leabharlann openssl tiomsaithe:

$ cd $HOME/code
$ git clone https://github.com/niallor/curl.git curl-esni
$ cd curl-esni

$ export LD_LIBRARY_PATH=/opt/openssl
$ ./buildconf
$ LDFLAGS="-L/opt/openssl" ./configure --with-ssl=/opt/openssl --enable-esni --enable-debug

Anseo tá sé tábhachtach na heolairí go léir ina bhfuil openssl suite a shonrú i gceart (is é seo / opt / openssl / inár gcás) agus déan cinnte go dtéann an próiseas cumraíochta tríd gan earráidí.

Má éiríonn leis an gcumraíocht, feicfimid an líne:

RABHADH: esni ESNI cumasaithe ach marcáilte EXPERIMENTAL. Bain úsáid as le rabhadh!

$ make

Tar éis an pacáiste a thógáil go rathúil, úsáidfimid comhad bash speisialta ó openssl chun curl a chumrú agus a rith. Déanaimis é a chóipeáil chuig an eolaire le curl mar áis:

cp /opt/openssl/esnistuff/curl-esni 

agus iarratas tástála https a dhéanamh chuig an bhfreastalaí cloudflare, agus paicéid DNS agus TLS á dtaifeadadh ag an am céanna i Wireshark.

$ ESNI_COVER="www.hello-rkn.ru" ./curl-esni https://cloudflare.com/

I bhfreagra an fhreastalaí, chomh maith le go leor faisnéise dífhabhtaithe ó openssl agus curl, gheobhaidh muid freagra HTTP le cód 301 ó cloudflare.

HTTP/1.1 301 Moved Permanently
< Date: Sun, 03 Nov 2019 13:12:55 GMT
< Transfer-Encoding: chunked
< Connection: keep-alive
< Cache-Control: max-age=3600
< Expires: Sun, 03 Nov 2019 14:12:55 GMT
< Location: https://www.cloudflare.com/

a thugann le fios gur éirigh linn ár n-iarratas a sheachadadh chuig an bhfreastalaí sprice, gur éisteadh léi agus gur próiseáladh é.

Anois breathnaímid ar an dumpáil tráchta i wireshark, i.e. an méid a chonaic an soláthraí PSO sa chás seo.

Aghaidh an fhearainn bunaithe ar TLS 1.3

Is féidir a fheiceáil gur chas curl chuig an bhfreastalaí DNS ar dtús le haghaidh eochair phoiblí eSNI don fhreastalaí cloudflare - iarratas TXT DNS chuig _esni.cloudflare.com (pacáiste Uimh. 13). Ansin, ag baint úsáide as an leabharlann openssl, sheol Curl iarratas TLS 1.3 chuig an bhfreastalaí cloudflare inar criptíodh an réimse SNI leis an eochair phoiblí a fuarthas sa chéim roimhe seo (pacáiste #22). Ach, i dteannta leis an réimse eSNI, bhí réimse sa phaicéad SSL-hello freisin leis an SNI is gnách - oscailte, ar féidir linn a shonrú in aon ordú (sa chás seo - www.hello-rkn.ru).

Níor cuireadh an réimse SNI oscailte seo san áireamh ar bhealach ar bith nuair a rinne freastalaithe cloudflare é a phróiseáil agus níor fheidhmigh sé ach mar masc don soláthraí DPI. Fuair ​​​​an freastalaí cloudflare ár bpaicéad ssl-hello, dhíchriptigh sé an eSNI, bhain sé an SNI bunaidh as sin agus phróiseáil sé é amhail is nár tharla aon rud (rinne sé gach rud go díreach mar a bhí beartaithe nuair a bhí eSNI á fhorbairt).

Is é an t-aon rud is féidir a ghabháil sa chás seo ó thaobh PSO de ná an príomhiarratas DNS chuig _esni.cloudflare.com. Ach rinneamar an t-iarratas DNS oscailte ach amháin chun a thaispeáint conas a oibríonn an mheicníocht seo ón taobh istigh.

Chun an brat a tharraingt amach ar deireadh faoi DPI, bainimid úsáid as an meicníocht DNS-over-HTTPS a luadh cheana. Míniú beag - is prótacal é DOH a ligeann duit cosaint a dhéanamh i gcoinne ionsaí fear-i-lár trí iarratas DNS a sheoladh thar HTTPS.

Déanaimis an t-iarratas arís, ach an uair seo gheobhaidh muid eochracha poiblí eSNI tríd an bprótacal https, ní DNS:

ESNI_COVER="www.hello-rkn.ru" DOH_URL=https://mozilla.cloudflare-dns.com/dns-query ./curl-esni https://cloudflare.com/

Taispeántar dumpáil tráchta an iarratais sa scáileán thíos:

Aghaidh an fhearainn bunaithe ar TLS 1.3

Is féidir a fheiceáil go bhfaigheann curl rochtain ar an bhfreastalaí mozilla.cloudflare-dns.com ar dtús tríd an bprótacal DoH (ceangal https le freastalaí 104.16.249.249) chun luachanna na n-eochracha poiblí le haghaidh criptithe SNI a fháil uathu, agus ansin chuig an gceann scríbe freastalaí, i bhfolach taobh thiar den fhearann www.hello-rkn.ru.

Chomh maith leis an réiteach DoH thuas mozilla.cloudflare-dns.com, is féidir linn úsáid a bhaint as seirbhísí DoH tóir eile, mar shampla, ón gcorparáid olc cáiliúil.
Rithfimid an cheist seo a leanas:

ESNI_COVER="www.kremlin.ru" DOH_URL=https://dns.google/dns-query ./curl-esni https://rutracker.nl/

Agus faighimid an freagra:

< HTTP/1.1 301 Moved Permanently
< Date: Sun, 03 Nov 2019 14:10:22 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: __cfduid=da0144d982437e77b0b37af7d00438b1a1572790222; expires=Mon, 02-Nov-20 14:10:22 GMT; path=/; domain=.rutracker.nl; HttpOnly; Secure
< Location: https://rutracker.nl/forum/index.php
< CF-Cache-Status: DYNAMIC
< Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< Server: cloudflare
< CF-RAY: 52feee696f42d891-CPH

Aghaidh an fhearainn bunaithe ar TLS 1.3

Sa chás seo, d'iompaíomar chuig an bhfreastalaí blocáilte rutracker.nl, ag baint úsáide as an réiteach DoH dns.google (níl aon typo anseo, anois tá a bhfearann ​​​​céadleibhéil féin ag an gcorparáid cáiliúil) agus chlúdaigh muid sinn féin le fearann ​​eile, atá go docht toirmiscthe do gach PSD bac a chur ar phian báis. Bunaithe ar an bhfreagra a fuarthas, tuigeann tú gur éirigh lenár n-iarratas a phróiseáil.

Mar sheiceáil bhreise go bhfreagraíonn PSO an tsoláthraí don SNI oscailte, a sheolaimid mar chlúdach, is féidir linn iarratas a dhéanamh ar rutracker.nl faoi chruth acmhainne toirmiscthe éigin eile, mar shampla, rianaitheoir torrent “maith” eile:

$ ESNI_COVER="rutor.info" DOH_URL=https://dns.google/dns-query ./curl-esni https://rutracker.nl/

Ní bhfaighidh muid freagra ón bhfreastalaí, mar... cuirfidh an córas PSO bac ar ár n-iarratas.

Tátal gairid leis an gcéad chuid

Mar sin, bhíomar in ann feidhmiúlacht eSNI a léiriú ag baint úsáide as openssl agus curl agus oibriú aghaidheanna fearainn bunaithe ar eSNI a thástáil. Ar an mbealach céanna, is féidir linn ár n-uirlisí is fearr leat a úsáideann an leabharlann openssl a oiriúnú chun oibriú “faoi chruth” fearainn eile. Tuilleadh sonraí faoi seo inár gcéad alt eile.

Foinse: will.com

Add a comment