Google membenarkan pembatasan webRequest API yang digunakan oleh pemblokir iklan

Pengembang peramban Chrome mencoba memperkuat penghentian dukungan untuk mode pemblokiran pengoperasian API webRequest, yang memungkinkan Anda mengubah konten yang diterima dengan cepat dan secara aktif digunakan dalam add-on untuk memblokir iklan,
perlindungan terhadap malware, phishing, memata-matai aktivitas pengguna, kontrol orang tua, dan privasi.

Motif Google:

  • Mode pemblokiran API Permintaan web menyebabkan konsumsi sumber daya yang tinggi.
    Saat menggunakan API ini, browser terlebih dahulu mengirimkan semua data yang terkandung dalam permintaan jaringan ke add-on, add-on menganalisisnya dan mengembalikan versi yang dimodifikasi untuk diproses lebih lanjut di browser atau mengeluarkan instruksi pemblokiran. Dalam hal ini, penundaan utama muncul bukan pada tahap pemrosesan lalu lintas oleh add-on, tetapi karena biaya overhead untuk mengoordinasikan pelaksanaan add-on. Secara khusus, manipulasi tersebut memerlukan peluncuran proses terpisah untuk melengkapi, serta penggunaan IPC untuk berinteraksi dengan proses ini dan mekanisme serialisasi data;

  • Add-on ini sepenuhnya mengontrol semua lalu lintas pada tingkat rendah, yang membuka peluang besar untuk penyalahgunaan dan pelanggaran privasi. Menurut statistik Google, 42% dari semua add-on berbahaya yang terdeteksi menggunakan webRequest API. Perlu dicatat bahwa setiap bulan, upaya untuk menempatkan rata-rata 1800 add-on berbahaya diblokir di katalog Toko Web Chrome. Sayangnya, peninjauan tidak memungkinkan kami menangkap semua add-on berbahaya tanpa kecuali, jadi untuk meningkatkan perlindungan, diputuskan untuk membatasi add-on di tingkat API. Ide utamanya adalah untuk menyediakan add-on dengan akses tidak ke semua lalu lintas, tetapi hanya ke data yang diperlukan untuk mengimplementasikan fungsi yang diinginkan. Khususnya, untuk memblokir konten, add-on tidak perlu memberikan akses penuh ke semua data rahasia pengguna;
  • API deklaratif pengganti yang diusulkan deklaratifNetRequest menangani semua pekerjaan pemfilteran konten berkinerja tinggi dan hanya memerlukan add-on untuk memuat aturan pemfilteran. Add-on ini tidak dapat mengganggu lalu lintas dan data pribadi pengguna tetap tidak dapat diganggu gugat;
  • Google memperhitungkan banyak komentar mengenai kurangnya fungsionalitas API deklaratifNetRequest dan memperluas batas jumlah aturan pemfilteran dari yang awalnya diusulkan 30 ribu per ekstensi menjadi maksimum global 150 ribu, dan juga menambahkan kemampuan untuk secara dinamis mengubah dan menambah aturan, menghapus dan mengganti header HTTP ( Referer, Cookie, Set-Cookie) dan parameter permintaan;
  • Untuk perusahaan, dimungkinkan untuk menggunakan mode pemblokiran pengoperasian API webRequest, karena kebijakan penggunaan add-on ditentukan oleh administrator yang memahami fitur infrastruktur dan menyadari risikonya. Misalnya, API yang ditentukan dapat digunakan di perusahaan untuk mencatat arus lalu lintas karyawan dan berintegrasi dengan sistem internal;
  • Tujuan Google bukan untuk melemahkan atau menekan add-on pemblokiran iklan, namun untuk memungkinkan pembuatan pemblokir iklan yang lebih aman dan kuat;
  • Keengganan untuk meninggalkan mode pemblokiran operasi webRequest API bersama dengan deklaratifNetRequest yang baru dijelaskan oleh keinginan untuk membatasi akses add-on ke data rahasia. Jika Anda membiarkan API webRequest apa adanya, sebagian besar add-on tidak akan menggunakan deklaratifNetRequest yang lebih aman, karena ketika memilih antara keamanan dan fungsionalitas, sebagian besar pengembang biasanya akan memilih fungsionalitas.

Keberatan pengembang tambahan:

  • Dilakukan oleh pengembang add-on tes menunjukkan dampak keseluruhan yang tidak signifikan terhadap kinerja add-on pemblokiran iklan (selama pengujian, kinerja berbagai add-on dibandingkan, tetapi tanpa memperhitungkan overhead proses tambahan yang mengoordinasikan eksekusi penangan dalam mode pemblokiran API Permintaan web);
  • Tidaklah praktis untuk sepenuhnya berhenti mendukung API yang secara aktif digunakan dalam add-on. Alih-alih menghapusnya, Anda dapat menambahkan izin terpisah dan mengontrol secara ketat kecukupan penggunaannya di add-on, yang akan menyelamatkan pembuat banyak add-on populer dari pengerjaan ulang produk mereka sepenuhnya dan menghindari pemotongan fungsionalitas;
  • Untuk mengurangi biaya overhead, Anda tidak dapat menghapus API, tetapi membuat ulang berdasarkan mekanisme Promise, mirip dengan penerapan webRequest di Firefox;
  • Alternatif yang diusulkan, declarativeNetRequest, tidak mencakup semua kebutuhan pengembang add-on untuk pemblokiran iklan dan keamanan/privasi, karena tidak memberikan kontrol penuh atas permintaan jaringan, tidak mengizinkan penggunaan algoritme pemfilteran khusus, dan tidak mengizinkan penggunaan aturan kompleks yang saling tumpang tindih tergantung kondisi;
  • Dengan status API deklaratifNetRequest saat ini, tidak mungkin untuk membuat ulang fungsionalitas yang ada dari add-on uBlock Origin dan uMatrix tanpa perubahan, dan juga membuat pengembangan lebih lanjut dari port NoScript untuk Chrome menjadi sia-sia;
  • Kekhawatiran tentang privasi tidak masuk akal, karena mode baca-saja, non-pemblokiran dari webRequest API dibiarkan di tempatnya dan masih mengizinkan add-on jahat untuk mengontrol semua lalu lintas, namun tidak memberikan kemampuan untuk mengganggunya di jaringan. terbang (mengubah konten, memasang iklan, menjalankan penambang, dan menganalisis konten formulir masukan dapat digunakan setelah halaman selesai dimuat);
  • Pengembang peramban Berani, Opera ΠΈ Vivaldi, dibangun di atas mesin Chromium, bermaksud untuk meninggalkan dukungan untuk mode pemblokiran webRequest di produk mereka.

Sumber: opennet.ru

Tambah komentar