Google mewajarkan sekatan API webRequest yang digunakan oleh penyekat iklan

Pembangun penyemak imbas Chrome mencuba mewajarkan pemberhentian sokongan untuk mod penyekatan operasi API webRequest, yang membolehkan anda menukar kandungan yang diterima dengan cepat dan digunakan secara aktif dalam alat tambah untuk menyekat pengiklanan,
perlindungan terhadap perisian hasad, pancingan data, mengintip aktiviti pengguna, kawalan ibu bapa dan privasi.

Motif Google:

  • Mod penyekatan API webRequest membawa kepada penggunaan sumber yang tinggi.
    Apabila menggunakan API ini, penyemak imbas mula-mula menghantar add-on semua data yang terkandung dalam permintaan rangkaian, add-on menganalisisnya dan mengembalikan versi yang diubah suai untuk pemprosesan selanjutnya dalam penyemak imbas atau mengeluarkan arahan menyekat. Dalam kes ini, kelewatan utama timbul bukan pada peringkat pemprosesan trafik oleh alat tambah, tetapi disebabkan oleh kos overhed menyelaraskan pelaksanaan alat tambah. Khususnya, manipulasi sedemikian memerlukan pelancaran proses yang berasingan untuk melengkapkan, serta penggunaan IPC untuk berinteraksi dengan proses ini dan mekanisme siri data;

  • Alat tambah mengawal sepenuhnya semua trafik pada tahap yang rendah, yang membuka peluang besar untuk penyalahgunaan dan pelanggaran privasi. Menurut statistik Google, 42% daripada semua alat tambah berniat jahat yang dikesan menggunakan API webRequest. Adalah diperhatikan bahawa setiap bulan, percubaan untuk meletakkan purata 1800 alat tambah berniat jahat disekat dalam katalog Kedai Web Chrome. Malangnya, semakan tidak membenarkan kami menangkap semua alat tambah berniat jahat tanpa pengecualian, jadi untuk meningkatkan perlindungan, ia telah memutuskan untuk mengehadkan alat tambah pada tahap API. Idea utama adalah untuk menyediakan add-on dengan akses bukan kepada semua trafik, tetapi hanya kepada data yang diperlukan untuk melaksanakan fungsi yang dimaksudkan. Khususnya, untuk menyekat kandungan, ia tidak perlu memberikan tambahan akses penuh kepada semua data pengguna sulit;
  • API perisytiharan penggantian yang dicadangkan declarativeNetRequest mengurus semua kerja penapisan kandungan berprestasi tinggi dan hanya memerlukan alat tambah untuk memuatkan peraturan penapisan. Alat tambah tidak boleh mengganggu trafik dan data peribadi pengguna kekal tidak boleh dilanggar;
  • Google mengambil kira banyak komen mengenai kekurangan kefungsian API deklaratifNetRequest dan memperluaskan had bilangan peraturan penapisan daripada 30 ribu setiap sambungan yang dicadangkan pada awalnya kepada maksimum global 150 ribu, dan juga menambah keupayaan untuk secara dinamik tukar dan tambah peraturan, alih keluar dan gantikan pengepala HTTP ( Perujuk, Kuki, Kuki Set) dan minta parameter;
  • Untuk perusahaan, adalah mungkin untuk menggunakan mod penyekatan operasi API webRequest, kerana dasar untuk menggunakan alat tambah ditentukan oleh pentadbir yang memahami ciri-ciri infrastruktur dan menyedari risikonya. Sebagai contoh, API yang ditentukan boleh digunakan dalam perusahaan untuk merekodkan aliran trafik pekerja dan disepadukan dengan sistem dalaman;
  • Matlamat Google bukan untuk melemahkan atau menyekat alat tambah menyekat iklan, tetapi untuk membolehkan penciptaan penyekat iklan yang lebih selamat dan berkuasa;
  • Keengganan untuk meninggalkan mod penyekatan operasi API webRequest bersama-sama dengan deklaratifNetRequest baharu dijelaskan oleh keinginan untuk mengehadkan akses alat tambah kepada data sulit. Jika anda membiarkan API webRequest seperti sedia ada, kebanyakan addon tidak akan menggunakan declarativeNetRequest yang lebih selamat, kerana apabila memilih antara keselamatan dan kefungsian, kebanyakan pembangun biasanya akan memilih kefungsian.

Bantahan pemaju tambahan:

  • Dijalankan oleh pembangun tambahan ujian menunjukkan kesan keseluruhan yang tidak ketara ke atas prestasi alat tambah menyekat iklan (semasa ujian, prestasi pelbagai alat tambah telah dibandingkan, tetapi tanpa mengambil kira overhed proses tambahan yang menyelaraskan pelaksanaan pengendali dalam mod penyekatan API webRequest);
  • Tidak praktikal untuk berhenti sepenuhnya menyokong API yang digunakan secara aktif dalam alat tambah. Daripada mengalih keluarnya, anda boleh menambah kebenaran berasingan dan mengawal ketat kecukupan penggunaannya dalam alat tambah, yang akan menyelamatkan pengarang banyak alat tambah popular daripada mengolah semula produk mereka sepenuhnya dan mengelakkan fungsi pemotongan;
  • Untuk mengurangkan kos overhed, anda tidak boleh memadamkan API, tetapi membuatnya semula berdasarkan mekanisme Promise, serupa dengan pelaksanaan webRequest dalam Firefox;
  • Alternatif yang dicadangkan, declarativeNetRequest, tidak meliputi semua keperluan pembangun tambahan untuk penyekatan iklan dan keselamatan/privasi, kerana ia tidak memberikan kawalan penuh ke atas permintaan rangkaian, tidak membenarkan penggunaan algoritma penapisan tersuai dan tidak membenarkan penggunaan peraturan kompleks yang bertindih antara satu sama lain bergantung pada syarat;
  • Dengan keadaan semasa API declarativeNetRequest, adalah mustahil untuk mencipta semula kefungsian sedia ada bagi uBlock Origin dan alat tambah uMatrix tidak berubah, dan juga menjadikan pembangunan selanjutnya port NoScript untuk Chrome tidak berguna;
  • Kebimbangan tentang privasi adalah mustahil, kerana mod baca sahaja, tidak menyekat API webRequest dibiarkan dan masih membenarkan alat tambah berniat jahat untuk mengawal semua trafik, tetapi tidak menyediakan keupayaan untuk mengganggunya pada terbang (tukar kandungan, letakkan iklan anda, jalankan pelombong dan analisis kandungan borang input boleh digunakan selepas halaman selesai dimuatkan);
  • Pembangun penyemak imbas Berani, beroperasi ΠΈ Vivaldi, dibina pada enjin Chromium, berhasrat untuk meninggalkan sokongan untuk mod penyekatan webRequest dalam produk mereka.

Sumber: opennet.ru

Tambah komen