Google opravdava ograničenje webRequest API-ja koji koriste blokatori oglasa

Programeri Chrome pretraživača pokušao opravdati ukidanje podrške za blokirajući način rada webRequest API-ja, koji vam omogućava promjenu primljenog sadržaja u hodu i aktivno se koristi u dodacima za blokiranje oglašavanja,
zaštita od zlonamjernog softvera, krađe identiteta, špijuniranja aktivnosti korisnika, roditeljskog nadzora i privatnosti.

Guglovi motivi:

  • Način blokiranja API-ja webRequest dovodi do velike potrošnje resursa.
    Kada koristi ovaj API, pretraživač prvo šalje dodatku sve podatke sadržane u mrežnom zahtjevu, dodatak ih analizira i vraća modificiranu verziju na dalju obradu u pregledniku ili izdaje upute za blokiranje. U ovom slučaju, glavna kašnjenja ne nastaju u fazi obrade prometa od strane dodatka, već zbog režijskih troškova koordinacije izvršavanja dodatka. Konkretno, takve manipulacije zahtijevaju pokretanje posebnog procesa za dopunu, kao i korištenje IPC-a za interakciju sa ovim procesom i mehanizmima serijalizacije podataka;

  • Dodatak u potpunosti kontrolira sav promet na niskom nivou, što otvara ogromne mogućnosti za zloupotrebu i kršenje privatnosti. Prema Google statistici, 42% svih otkrivenih zlonamjernih dodataka koristilo je webRequest API. Napominje se da se svaki mjesec pokušaji postavljanja u prosjeku 1800 zlonamjernih dodataka blokiraju u katalogu Chrome web trgovine. Nažalost, pregled nam ne dozvoljava da uhvatimo sve zlonamjerne dodatke bez izuzetka, pa je radi poboljšanja zaštite odlučeno da se dodaci ograniči na API nivou. Osnovna ideja je omogućiti dodacima pristup ne cijelom prometu, već samo podacima koji su neophodni za implementaciju predviđene funkcionalnosti. Konkretno, za blokiranje sadržaja nije potrebno dodatku dati puni pristup svim povjerljivim korisničkim podacima;
  • Predloženi zamjenski deklarativni API declarativeNetRequest brine se za sav posao filtriranja sadržaja visokih performansi i zahtijeva samo dodatke za učitavanje pravila filtriranja. Dodatak ne može ometati promet i privatni podaci korisnika ostaju nepovredivi;
  • Google je uzeo u obzir mnoge komentare u vezi sa nedostatkom funkcionalnosti declarativeNetRequest API-ja i proširio ograničenje broja pravila filtriranja sa prvobitno predloženih 30 hiljada po ekstenziji na globalni maksimum od 150 hiljada, a takođe je dodao i mogućnost dinamičkog promijeniti i dodati pravila, ukloniti i zamijeniti HTTP zaglavlja (Referer, Cookie, Set-Cookie) i parametre zahtjeva;
  • Za preduzeća je moguće koristiti blokirajući način rada webRequest API-ja, jer politiku korištenja dodataka određuje administrator koji razumije karakteristike infrastrukture i svjestan je rizika. Na primjer, navedeni API se može koristiti u preduzećima za snimanje tokova prometa zaposlenih i integraciju sa internim sistemima;
  • Googleov cilj nije potkopavanje ili suzbijanje dodataka za blokiranje oglasa, već omogućavanje stvaranja sigurnijih i moćnijih blokatora oglasa;
  • Nespremnost da se napusti blokirajući način rada webRequest API-ja zajedno s novim deklarativnimNetRequestom objašnjava se željom da se ograniči pristup dodataka povjerljivim podacima. Ako ostavite webRequest API kakav jeste, većina dodataka neće koristiti sigurniji declarativeNetRequest, jer kada biraju između sigurnosti i funkcionalnosti, većina programera obično bira funkcionalnost.

Prigovori programeri dodaci:

  • Izvode programeri dodataka testovi pokazuju beznačajan ukupni uticaj na performanse dodataka za blokiranje oglasa (tokom testiranja upoređivan je učinak raznih dodataka, ali bez uzimanja u obzir troškova dodatnog procesa koji koordinira izvršavanje rukovaoca u režimu blokiranja webRequest API);
  • Nije praktično potpuno prestati podržavati API koji se aktivno koristi u dodacima. Umjesto uklanjanja, možete dodati zasebnu dozvolu i striktno kontrolirati adekvatnost njenog korištenja u dodacima, što bi uštedilo autore mnogih popularnih dodataka od potpune prerade svojih proizvoda i izbjeglo rezanje funkcionalnosti;
  • Da biste smanjili režijske troškove, ne možete izbrisati API, već ga prepraviti na osnovu Promise mehanizma, slično implementaciji webRequest u Firefoxu;
  • Predložena alternativa, declarativeNetRequest, ne pokriva sve potrebe programera dodataka za blokiranje oglasa i sigurnost/privatnost, budući da ne pruža potpunu kontrolu nad mrežnim zahtjevima, ne dozvoljava korištenje prilagođenih algoritama filtriranja i ne dozvoljava korištenje složenih pravila koja se međusobno preklapaju ovisno o uvjetima;
  • Sa trenutnim stanjem declarativeNetRequest API-ja, nemoguće je ponovo kreirati postojeću funkcionalnost uBlock Origin i uMatrix dodataka nepromijenjenom, a također čini dalji razvoj NoScript porta za Chrome bespredmetnim;
  • Zabrinutost oko privatnosti je nategnuta, budući da je način rada webRequest API-a bez blokiranja samo za čitanje ostavljen na mjestu i i dalje dozvoljava zlonamjernim dodacima da kontroliraju sav promet, ali ne pruža mogućnost ometanja istog na letjeti (promijenite sadržaj, postavite svoje reklame, pokrenite rudare i analizirajte sadržaj formulara za unos možete koristiti nakon što se stranica završi učitavanjem);
  • Programeri pretraživača Hrabar, opera и Vivaldi, izgrađen na Chromium motoru, namjeravaju ostaviti podršku za webRequest mod blokiranja u svojim proizvodima.

izvor: opennet.ru

Dodajte komentar