Bagaimana Paket Web akan merusak pemblokir konten, alat keamanan, dan web terbuka

Google mengusulkan standar baru untuk web - Paket Web . Standar ini memungkinkan semua sumber daya situs web digabungkan ke dalam satu file, yang mencegah browser memanipulasi tautan ke sumber daya turunannya. Sistem mengancam untuk mengubah web dari kumpulan sumber daya yang memiliki hyperlink (yang dapat dieksplorasi, diunduh dengan aman, atau bahkan diubah) menjadi potongan informasi yang tidak tembus pandang (seperti PDF atau SWF ). Organisasi, pengguna, peneliti, dan regulator yang percaya pada web yang terbuka, transparan, dan ramah pengguna harus menolak standar ini.



Sementara kami menghargai Paket Web dan saran terkaitbermaksud untuk memecahkan masalah tertentu, kami yakin ada cara yang lebih baik untuk mencapai tujuan yang sama tanpa merusak sifat web yang terbuka, transparan, dan berpusat pada pengguna. Salah satu alternatif potensial adalah menggunakan komitmen yang ditandatangani untuk sub-sumber yang dapat diunduh secara independen. Deskripsi alternatif akan membutuhkan artikel terpisah, dan beberapa telah dibagikan dengan penulis spesifikasinya.



Web adalah sistem terbuka yang unik berkat tautan URL



Web berharga karena berpusat pada pengguna, dikontrol oleh pengguna, dan diedit oleh pengguna. Bahkan pengguna dengan sedikit pengalaman dapat mengetahui sumber daya web apa yang ada di laman dan memutuskan apa yang harus dimuat browser mereka. Meskipun Anda bukan seorang ahli, Anda dapat menggunakan ini dan menginstal ekstensi atau alat yang sesuai untuk melindungi privasi Anda.



Fokus Web pada pengguna berbeda dari cara kerja kebanyakan aplikasi dan sistem distribusi informasi. Sebagian besar aplikasi adalah kumpulan kode dan sumber daya yang terkompilasi yang sulit atau bahkan tidak mungkin dipisahkan satu sama lain untuk dievaluasi secara terpisah. Dan perbedaan penting ini menjelaskan mengapa ada begitu banyak alat perlindungan privasi untuk web dan sangat sedikit untuk aplikasi "biner".



Pada dasarnya, yang membuat web berbeda dari sistem lain, lebih terbuka, lebih berpusat pada pengguna, dan berbeda dari aplikasi lain adalah URL-nya. Karena URL biasanya mengarah ke satu sumber daya, peneliti dan aktivis dapat mempelajari dan menarik kesimpulan tentang URL ini sebelumnya. Pengguna lain dapat menggunakan informasi ini untuk membuat keputusan tentang apakah mereka ingin mengunduh tujuan URL, dan bagaimana melakukannya. Lebih penting lagi, para ahli dapat mengunduh tracker.com/code.js , memutuskan bahwa itu melanggar privasi, dan membagikan informasi ini dengan orang lain sehingga mereka tahu bahwa mereka tidak boleh mengunduh kode ini di masa mendatang.



Ada pengecualian untuk aturan ini, dan tidak ada persyaratan seperti itu di platform web - namun, URL pada dasarnya diharapkan tidak berubah. Harapan ini tersebar di seluruh platform web - dalam hal kebijakan caching, dalam instruksi perpustakaan untuk menerapkan kode, dan sebagainya.



Paket Web membuat URL menjadi tidak berarti



Google baru-baru ini mengusulkan tiga standar yang saling berhubungan - Paket Web, Pertukaran HTTP yang Ditandatangani (terkadang disingkat SXG), dan Memuat. Pada dasarnya, dalam artikel ini, yang kami maksud dengan Paket Web adalah ketiganya. Sejauh ini, Paket Web telah digembar-gemborkan sebagai standar untuk digunakan dalam sistem iklan (TURTLEDOVE, SPARROW) dan sebagai bagian dari sistem AMP Google di masa mendatang - meskipun menurut saya ini hanyalah puncak gunung es.



Pada tingkat tinggi, Paket Web adalah cara untuk menggabungkan aset. Alih-alih mendownload halaman, gambar, dan file JavaScript secara terpisah, browser Anda mendownload seluruh "paket", sebuah file yang menyertakan semua informasi yang diperlukan untuk memuat halaman. URL tidak lagi menjadi tautan global umum ke sumber daya jaringan, dan menjadi indeks arbitrer dalam paket.



Dengan kata lain, Paket Web mengubah situs menjadi PDF (atau file Flash SWF). PDF mencakup semua gambar, video, dan skrip yang diperlukan untuk merender PDF - Anda tidak mengunduhnya satu per satu. Ini memiliki kelebihan dalam hal kenyamanan, tetapi tidak memungkinkan untuk memeriksa setiap bagian PDF secara terpisah dari keseluruhan file. Oleh karena itu, tidak ada alat pemblokiran konten untuk PDF. PDF adalah penawaran semua atau tidak sama sekali, dan Bundel Web akan mengubah situs web menjadi penawaran seperti ini.



Dengan mengubah URL dari pengenal global yang bermakna menjadi indeks khusus paket arbitrer, Paket Web memberi pengiklan dan pelacak cara baru yang canggih untuk melewati alat privasi dan keamanan. Bagian berikut memberikan contoh terpilih untuk mengilustrasikan hal ini.



Paket Web akan memungkinkan situs melewati alat privasi dan keamanan



URL dalam Paket Web adalah tautan arbitrer ke sumber daya dalam satu bundel, bukan tautan ke sumber daya yang dapat diakses secara global. Ini memberi situs beberapa cara untuk melewati alat privasi dan keamanan.



Mereka tentu saja dapat merujuk ke sumber daya di luar paket, tetapi perilaku ini akan membuat sistem paket menjadi tidak berarti, jadi masalah ini tidak dibahas dalam artikel ini.



Solusi utama berasal dari fakta bahwa Paket Web membuat namespace lokal untuk sumber daya, terlepas dari apa yang dilihat dunia lain, yang dapat menyebabkan semua jenis kebingungan dengan nama, meniadakan tahun-tahun kerja untuk meningkatkan privasi dan keamanan yang telah dilakukan para aktivis. privasi dan peneliti. Berikut adalah tiga cara situs web yang mendukung Paket Web dapat memanfaatkan kebingungan ini.



Melewati alat keamanan melalui pengacakan URL



Sebelumnya, jika situs web ingin menggunakan skrip untuk melacak tindakan pengguna, itu akan menyertakan tag <script> di laman HTML yang mengarah ke skrip yang sama dengan URL yang tidak berubah. Peneliti atau kelompok pengguna mungkin telah menambahkan URL ini ke daftar EasyPrivacy sehingga masalah privasi dapat mengunjungi situs tanpa mengunduh skrip pelacakan. Inilah cara kerja sebagian besar alat pemblokiran saat ini.



Paket Web mempermudah situs untuk melewati alat tersebut dengan mengacak URL sumber daya yang tidak diinginkan. Apa di web saat ini yang memiliki nama global, katakanlah example.org/tracker.js, dalam satu Paket Web Anda dapat memberi nama 1.js, di 2.js lainnya, di 3.js ketiga, dan seterusnya. Paket Web mendorong praktik ini dengan menjadikannya gratis untuk situs. Caching menjadi tidak berarti (karena Anda mendistribusikan semua sumber daya ke setiap pengguna dan menyimpan seluruh paket), dan markup URL tidak diperlukan (karena paket yang dikirim ke pengguna sudah berisi URL acak).



Melewati alat privasi melalui penggunaan ulang URL



Untuk memperburuk keadaan, Paket Web akan memungkinkan situs melewati alat pemblokiran dengan memastikan bahwa URL yang sama mengarah ke sumber daya yang berbeda di setiap bundel. Di web saat ini, katakanlah example.org/ad.jpg menunjuk ke hal yang sama untuk semua pengguna. Sulit bagi situs web untuk membuat URL yang sama mengembalikan dua gambar berbeda. Akibatnya, alat pemblokiran dapat memblokir ad.jpg karena mengetahui bahwa alat tersebut memblokir iklan untuk semua orang. Praktis tidak ada risiko bahwa bagi beberapa orang itu akan menjadi iklan, dan bagi yang lain itu akan menjadi logo perusahaan (ini bukan tidak mungkin, tetapi sulit - intinya adalah bahwa Paket Web mengubah metode pengelakan, yang saat ini kompleks dan rapuh, menjadi sederhana dan gratis).



Paket Web memodifikasi sistem ini dengan cara yang berbahaya. Example.org dapat membuat paketnya seperti itu di salah satunyaexample.org/ad.jpg akan mengarah ke iklan, di iklan lain akan mengarah ke logo situs, di iklan ketiga akan mengarah ke sesuatu yang lain. Ini tidak hanya akan mempersulit para peneliti untuk menyusun daftar, atau bahkan membuatnya tidak mungkin, ini akan memberikan situs cara baru untuk meracuni daftar blokir.



Melewati alat privasi dengan menyembunyikan URL berbahaya



Akhirnya, Paket Web membuka solusi yang lebih berbahaya. Saat ini, grup seperti uBlock Origin dan Google Safe Browsing mencantumkan URL yang menyertakan sumber daya web berbahaya dan berbahaya. Proyek semacam itu menganggap URL sebagai satu-satunya, atau setidaknya yang paling penting, pengenal sumber daya berbahaya. Sifat universal dan global dari URL membuat daftar ini berguna.



Paket Web sekali lagi memungkinkan situs melewati perlindungan ini dengan mengizinkannya menautkan ke sumber daya berbahaya yang diketahui melalui URL terverifikasi. Di web, sangat sulit untuk membuat situs memperlakukan cdn.example.org/cryptominer.js seolah-olah itu adalah cdn.example.org/jquery.js (dan sebaliknya). Dalam Paket Web, ini akan menjadi tugas yang sepele.



Web Bundles ,



Pengembang dan pendukung spesifikasi Paket Web berpendapat bahwa tidak ada yang baru di sini, dan semua metode di atas untuk melewati perlindungan sudah ada. Secara teknis, ini benar, tetapi pada dasarnya pernyataan seperti itu mengabaikan keekonomisan proses, dan oleh karena itu tidak menggambarkan situasi secara keseluruhan. Paket Web menjadikan teknologi yang mahal, tidak dapat diandalkan, dan kompleks ini murah atau bahkan gratis.



Misalnya, situs web sebenarnya dapat membuat beberapa URL mengarah ke file yang sama untuk mempersulit pemblokir iklan, tetapi dalam praktiknya sulit bagi situs untuk melakukan ini. Pengacakan URL melukai caching, ini membutuhkan penyimpanan pemetaan URL acak ke sumber daya yang tepat dan meneruskan informasi itu ke CDN, dan seterusnya. Situs dapat melakukan ini, tetapi mahal dan sulit, sehingga jarang dilakukan.



Dengan nada yang sama, situs saat ini mungkin menggunakan cookie atau mekanisme pelacakan pengguna lainnya untuk membuat URL yang sama berfungsi secara berbeda untuk pengguna yang berbeda, melakukan berbagai serangan penyamaran URL yang dijelaskan di atas. Namun, metode ini tidak dapat diandalkan (apa yang harus dilakukan dengan pengunjung baru?), Kompleks (Anda perlu menjaga dan mendistribusikan tampilan cookie dan nilai sumber daya) dan mahal (sebagian besar server web dan layanan hosting mengandalkan caching, jadi teknologi semacam itu untuk situs yang tidak dimiliki oleh perusahaan besar secara praktis tidak tersedia).



Secara umum, Paket Web membuat perilaku yang tidak diinginkan menjadi lebih mudah dengan membuatnya lebih murah.



Masalah lainnya



Artikel ini menjelaskan kerugian yang dapat dilakukan Paket Web terhadap alat privasi dan keamanan. Tetapi ada masalah lain dengan ini dan standar terkait. Secara khusus, ini adalah:



  • SXG tidak memiliki sistem kickback. Jika sumber daya berbahaya secara tidak sengaja muncul di situs hari ini, situs tersebut dapat diperbarui. Jika sebuah situs menandatangani Paket Web menggunakan SXG, tidak ada cara yang jelas bagi penandatangan untuk memberi tahu semua orang untuk "tidak lagi mempercayai paket khusus ini."
  • Interoperabilitas dengan Manifes v3: Manifes v3 membatasi ekstensi untuk menggunakan pola URL untuk pemblokiran. Paket Web membuat URL ini tidak berarti. Menggabungkan dua hal ini akan memungkinkan situs untuk sepenuhnya melewati pemblokiran.
  • Kebingungan dengan sumber. Memuat + SXG memungkinkan Anda mengunduh konten dari satu server dan kemudian menjalankannya dengan pengaturan privasi dan keamanan server lain. Potensi kebingungan pengguna sangat besar - dan meskipun kami yakin bahwa karyawan Google secara aktif berupaya mengatasi masalah ini, risiko bagi pengguna tetap sangat tinggi.


Kesimpulan



Brave bekerja untuk meningkatkan privasi web, baik di browser kami maupun di alat yang kami buat dan distribusikan, dan dalam advokasi yang kami lakukan untuk organisasi standar. Artikel ini hanyalah salah satu contoh pekerjaan kami untuk memastikan bahwa standar web terus berfokus pada privasi, transparansi, dan akuntabilitas.



Kami mencoba untuk waktu yang lama, tetapi tidak berhasil, untuk memperhatikanpenulis standar Paket Web tentang masalah yang terdaftar. Kami mendesak Google dan Paket Web untuk menunda proposal ini hingga masalah privasi dan keamanan yang dijelaskan dalam artikel ini diselesaikan. Kami juga mendorong anggota komunitas privasi dan keamanan web untuk bergabung dalam diskusi ini dan tidak menerapkan standar ini hingga masalah yang dijelaskan diselesaikan.



Salah satu cara untuk melakukannya adalah dengan menjelaskan masalah ini di komentar di postingan yang dibuat oleh penulis artikel ini di proyek Web Bundles. Opsi lainnya adalah membuat catatan spesifikasi baru, memberi tahu pengembang browser Anda betapa pentingnya alat perlindungan privasi bagi Anda secara pribadi, dan risiko apa yang ditimbulkan oleh standar baru ini terhadap alat tersebut.



All Articles