Percubaan CacheBrowser: memintas tembok api Cina tanpa proksi menggunakan caching kandungan

Percubaan CacheBrowser: memintas tembok api Cina tanpa proksi menggunakan caching kandungan

:ΠžΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: Unsplash

Hari ini, sebahagian besar daripada semua kandungan di Internet diedarkan menggunakan rangkaian CDN. Pada masa yang sama, menyelidik bagaimana pelbagai penapis meluaskan pengaruh mereka ke atas rangkaian tersebut. Para saintis dari Universiti Massachusetts dianalisis kaedah yang mungkin untuk menyekat kandungan CDN menggunakan contoh amalan pihak berkuasa China, dan juga membangunkan alat untuk memintas penyekatan tersebut.

Kami telah menyediakan bahan ulasan dengan kesimpulan utama dan keputusan eksperimen ini.

Pengenalan

Penapisan ialah ancaman global terhadap kebebasan bersuara di Internet dan akses percuma kepada maklumat. Ini sebahagian besarnya mungkin disebabkan oleh fakta bahawa Internet meminjam model "komunikasi hujung ke hujung" daripada rangkaian telefon tahun 70-an abad yang lalu. Ini membolehkan anda menyekat akses kepada kandungan atau komunikasi pengguna tanpa usaha atau kos yang ketara hanya berdasarkan alamat IP. Terdapat beberapa kaedah di sini, daripada menyekat alamat itu sendiri dengan kandungan terlarang kepada menyekat keupayaan pengguna untuk mengenalinya walaupun menggunakan manipulasi DNS.

Walau bagaimanapun, perkembangan Internet juga telah membawa kepada kemunculan cara baru untuk menyebarkan maklumat. Salah satunya ialah penggunaan kandungan cache untuk meningkatkan prestasi dan mempercepatkan komunikasi. Hari ini, penyedia CDN memproses sejumlah besar semua trafik di dunia - Akamai, peneraju dalam segmen ini, sahaja menyumbang sehingga 30% daripada trafik web statik global.

Rangkaian CDN ialah sistem teragih untuk menyampaikan kandungan Internet pada kelajuan maksimum. Rangkaian CDN biasa terdiri daripada pelayan di lokasi geografi berbeza yang menyimpan kandungan cache untuk menyampaikannya kepada pengguna yang paling hampir dengan pelayan tersebut. Ini membolehkan anda meningkatkan kelajuan komunikasi dalam talian dengan ketara.

Selain meningkatkan pengalaman untuk pengguna akhir, pengehosan CDN membantu pencipta kandungan menskalakan projek mereka dengan mengurangkan beban pada infrastruktur mereka.

Menapis kandungan CDN

Walaupun fakta bahawa trafik CDN telah membentuk sebahagian besar daripada semua maklumat yang dihantar melalui Internet, masih terdapat hampir tiada kajian tentang cara penapisan di dunia nyata mendekati kawalannya.

Penulis kajian bermula dengan meneroka teknik penapisan yang boleh digunakan pada CDN. Kemudian mereka mengkaji mekanisme sebenar yang digunakan oleh pihak berkuasa China.

Mula-mula, mari kita bincangkan tentang kaedah penapisan yang mungkin dan kemungkinan menggunakannya untuk mengawal CDN.

Penapisan IP

Ini adalah teknik yang paling mudah dan paling murah untuk menapis Internet. Menggunakan pendekatan ini, penapis mengenal pasti dan menyenaraihitamkan alamat IP sumber yang mengehos kandungan terlarang. Kemudian penyedia Internet terkawal berhenti menghantar paket yang dihantar ke alamat tersebut.

Penyekatan berasaskan IP adalah salah satu kaedah yang paling biasa untuk menapis Internet. Kebanyakan peranti rangkaian komersial dilengkapi dengan fungsi untuk melaksanakan penyekatan tersebut tanpa usaha pengiraan yang ketara.

Walau bagaimanapun, kaedah ini tidak begitu sesuai untuk menyekat trafik CDN kerana beberapa sifat teknologi itu sendiri:

  • Caching Teragih – untuk memastikan ketersediaan kandungan terbaik dan mengoptimumkan prestasi, rangkaian CDN menyimpan kandungan pengguna pada sejumlah besar pelayan tepi yang terletak di lokasi yang diedarkan secara geografi. Untuk menapis kandungan tersebut berdasarkan IP, penapis perlu mengetahui alamat semua pelayan tepi dan menyenaraihitamkannya. Ini akan menjejaskan sifat utama kaedah, kerana kelebihan utamanya ialah dalam skema biasa, menyekat satu pelayan membolehkan anda "memotong" akses kepada kandungan terlarang untuk sejumlah besar orang sekaligus.
  • IP kongsi – pembekal CDN komersial berkongsi infrastruktur mereka (iaitu pelayan tepi, sistem pemetaan, dll.) antara banyak pelanggan. Akibatnya, kandungan CDN yang diharamkan dimuatkan daripada alamat IP yang sama seperti kandungan yang tidak diharamkan. Akibatnya, sebarang percubaan pada penapisan IP akan mengakibatkan sejumlah besar tapak dan kandungan yang tidak menarik minat penapis disekat.
  • Tugasan IP yang sangat dinamik – untuk mengoptimumkan pengimbangan beban dan meningkatkan kualiti perkhidmatan, pemetaan pelayan tepi dan pengguna akhir dilakukan dengan cepat dan dinamik. Sebagai contoh, kemas kini Akamai mengembalikan alamat IP setiap minit. Ini akan menjadikannya hampir mustahil untuk alamat dikaitkan dengan kandungan terlarang.

Gangguan DNS

Selain penapisan IP, kaedah penapisan popular lain ialah gangguan DNS. Pendekatan ini melibatkan tindakan oleh penapis yang bertujuan menghalang pengguna daripada mengenali alamat IP sumber dengan kandungan terlarang. Iaitu, campur tangan berlaku pada peringkat resolusi nama domain. Terdapat beberapa cara untuk melakukan ini, termasuk merampas sambungan DNS, menggunakan teknik keracunan DNS dan menyekat permintaan DNS ke tapak yang dilarang.

Ini adalah kaedah penyekatan yang sangat berkesan, tetapi ia boleh dipintas jika anda menggunakan kaedah resolusi DNS bukan standard, contohnya, saluran luar jalur. Oleh itu, penapis biasanya menggabungkan penyekatan DNS dengan penapisan IP. Tetapi, seperti yang dinyatakan di atas, penapisan IP tidak berkesan untuk menapis kandungan CDN.

Tapis mengikut URL/Kata kunci menggunakan DPI

Peralatan pemantauan aktiviti rangkaian moden boleh digunakan untuk menganalisis URL dan kata kunci tertentu dalam paket data yang dihantar. Teknologi ini dipanggil DPI (deep packet inspection). Sistem sedemikian mencari sebutan perkataan dan sumber terlarang, selepas itu ia mengganggu komunikasi dalam talian. Akibatnya, paket digugurkan begitu sahaja.

Kaedah ini berkesan, tetapi lebih kompleks dan intensif sumber kerana ia memerlukan penyahperangan semua paket data yang dihantar dalam aliran tertentu.

Kandungan CDN boleh dilindungi daripada penapisan sedemikian dengan cara yang sama seperti kandungan "biasa" - dalam kedua-dua kes, penggunaan penyulitan (iaitu HTTPS) membantu.

Selain menggunakan DPI untuk mencari kata kunci atau URL sumber yang dilarang, alatan ini boleh digunakan untuk analisis yang lebih lanjut. Kaedah ini termasuk analisis statistik trafik dalam talian/luar talian dan analisis protokol pengenalan. Kaedah ini sangat intensif sumber dan pada masa ini tiada bukti penggunaannya oleh penapis pada tahap yang cukup serius.

Penapisan sendiri penyedia CDN

Jika penapis adalah negeri, maka ia mempunyai setiap peluang untuk melarang penyedia CDN tersebut daripada beroperasi di negara yang tidak mematuhi undang-undang tempatan yang mengawal akses kepada kandungan. Penapisan sendiri tidak boleh ditentang dalam apa jua cara - oleh itu, jika syarikat penyedia CDN berminat untuk beroperasi di negara tertentu, ia akan dipaksa untuk mematuhi undang-undang tempatan, walaupun mereka menyekat kebebasan bersuara.

Cara China menapis kandungan CDN

Tembok Api Besar China dianggap sebagai sistem yang paling berkesan dan termaju untuk memastikan penapisan Internet.

Kaedah Kajian

Para saintis menjalankan eksperimen menggunakan nod Linux yang terletak di dalam China. Mereka juga mempunyai akses kepada beberapa komputer di luar negara. Mula-mula, penyelidik menyemak bahawa nod itu tertakluk kepada penapisan yang serupa dengan yang digunakan kepada pengguna Cina yang lain - untuk melakukan ini, mereka cuba membuka pelbagai tapak terlarang daripada mesin ini. Jadi kehadiran penapisan tahap yang sama telah disahkan.

Senarai tapak web yang disekat di China yang menggunakan CDN diambil daripada GreatFire.org. Kaedah menyekat dalam setiap kes kemudiannya dianalisis.

Menurut data awam, satu-satunya pemain utama dalam pasaran CDN dengan infrastrukturnya sendiri di China ialah Akamai. Pembekal lain yang mengambil bahagian dalam kajian: CloudFlare, Amazon CloudFront, EdgeCast, Fastly dan SoftLayer.

Semasa eksperimen, para penyelidik mengetahui alamat pelayan tepi Akamai dalam negara, dan kemudian cuba mendapatkan kandungan yang dibenarkan dalam cache melaluinya. Tidak mungkin untuk mengakses kandungan yang dilarang (Ralat HTTP 403 Forbidden telah dikembalikan) - nampaknya syarikat itu menapis sendiri untuk mengekalkan keupayaan untuk beroperasi di negara ini. Pada masa yang sama, akses kepada sumber ini kekal terbuka di luar negara.

ISP tanpa infrastruktur di China tidak menapis sendiri pengguna tempatan.

Dalam kes pembekal lain, kaedah penyekatan yang paling biasa digunakan ialah penapisan DNS - permintaan ke tapak yang disekat diselesaikan untuk alamat IP yang salah. Pada masa yang sama, tembok api tidak menyekat pelayan tepi CDN itu sendiri, kerana ia menyimpan kedua-dua maklumat yang dilarang dan dibenarkan.

Dan jika dalam kes trafik tidak disulitkan pihak berkuasa mempunyai keupayaan untuk menyekat halaman individu tapak menggunakan DPI, maka apabila menggunakan HTTPS mereka hanya boleh menafikan akses kepada keseluruhan domain secara keseluruhan. Ini juga membawa kepada penyekatan kandungan yang dibenarkan.

Selain itu, China mempunyai pembekal CDN sendiri, termasuk rangkaian seperti ChinaCache, ChinaNetCenter dan CDNetworks. Semua syarikat ini mematuhi sepenuhnya undang-undang negara dan menyekat kandungan yang dilarang.

CacheBrowser: Alat pintasan CDN

Seperti yang ditunjukkan oleh analisis, agak sukar bagi penapis untuk menyekat kandungan CDN. Oleh itu, penyelidik memutuskan untuk pergi lebih jauh dan membangunkan alat pintasan blok dalam talian yang tidak menggunakan teknologi proksi.

Idea asas alat ini ialah penapis perlu mengganggu DNS untuk menyekat CDN, tetapi anda sebenarnya tidak perlu menggunakan resolusi nama domain untuk memuat turun kandungan CDN. Oleh itu, pengguna boleh mendapatkan kandungan yang dia perlukan dengan terus menghubungi pelayan tepi, di mana ia sudah dicache.

Rajah di bawah menunjukkan reka bentuk sistem.

Percubaan CacheBrowser: memintas tembok api Cina tanpa proksi menggunakan caching kandungan

Perisian pelanggan dipasang pada komputer pengguna, dan pelayar biasa digunakan untuk mengakses kandungan.

Apabila URL atau sekeping kandungan telah diminta, penyemak imbas membuat permintaan kepada sistem DNS tempatan (LocalDNS) untuk mendapatkan alamat IP pengehosan. DNS biasa hanya ditanya untuk domain yang belum ada dalam pangkalan data LocalDNS. Modul Scraper secara berterusan melalui URL yang diminta dan mencari senarai nama domain yang berpotensi disekat. Scraper kemudian memanggil modul Penyelesai untuk menyelesaikan domain disekat yang baru ditemui, modul ini melaksanakan tugas dan menambah entri ke LocalDNS. Cache DNS penyemak imbas kemudiannya dikosongkan untuk mengalih keluar rekod DNS sedia ada untuk domain yang disekat.

Jika modul Penyelesai tidak dapat mengetahui penyedia CDN domain mana, ia akan meminta bantuan modul Bootstrapper.

Bagaimana ia berfungsi dalam amalan

Perisian pelanggan produk telah dilaksanakan untuk Linux, tetapi ia boleh dialihkan dengan mudah juga untuk Windows. Mozilla biasa digunakan sebagai pelayar
Firefox. Modul Scraper dan Resolver ditulis dalam Python, dan pangkalan data Customer-to-CDN dan CDN-toIP disimpan dalam fail .txt. Pangkalan data LocalDNS ialah fail /etc/hosts biasa dalam Linux.

Akibatnya, untuk URL yang disekat seperti disekat.com Skrip akan mendapat alamat IP pelayan tepi daripada fail /etc/hosts dan menghantar permintaan HTTP GET untuk mengakses BlockURL.html dengan medan pengepala HTTP Hos:

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

Modul Bootstrapper dilaksanakan menggunakan alat percuma digwebinterface.com. Penyelesai DNS ini tidak boleh disekat dan menjawab pertanyaan DNS bagi pihak berbilang pelayan DNS yang diedarkan secara geografi di kawasan rangkaian yang berbeza.

Menggunakan alat ini, para penyelidik berjaya mendapatkan akses ke Facebook dari nod Cina mereka, walaupun rangkaian sosial telah lama disekat di China.

Percubaan CacheBrowser: memintas tembok api Cina tanpa proksi menggunakan caching kandungan

Kesimpulan

Percubaan menunjukkan bahawa mengambil kesempatan daripada masalah yang dialami oleh penapis semasa cuba menyekat kandungan CDN boleh digunakan untuk mencipta sistem untuk memintas blok. Alat ini membolehkan anda memintas blok walaupun di China, yang mempunyai salah satu sistem penapisan dalam talian yang paling berkuasa.

Artikel lain mengenai topik penggunaan proksi pemastautin untuk perniagaan:

Sumber: www.habr.com

Tambah komen