Google perustelee mainosten estajien käyttämän webRequest API:n rajoituksen

Chrome-selaimien kehittäjät yritti näyttää toteen webRequest API:n estotoiminnan tuen lopettaminen, jonka avulla voit muuttaa vastaanotettua sisältöä lennossa ja jota käytetään aktiivisesti lisäosissa mainonnan estämiseen,
suoja haittaohjelmia, tietojenkalastelua, käyttäjien toiminnan vakoilua, lapsilukkoa ja yksityisyyttä vastaan.

Googlen motiivit:

  • API estotila webRequest johtaa korkeaan resurssien kulutukseen.
    Tätä API:ta käytettäessä selain lähettää ensin lisäosalle kaikki verkkopyynnön sisältämät tiedot, lisäosa analysoi ne ja palauttaa muokatun version jatkokäsittelyä varten selaimessa tai antaa estoohjeita. Tässä tapauksessa suurimmat viiveet eivät aiheudu lisäosan liikenteen käsittelyvaiheessa, vaan lisäosan suorittamisen koordinoinnin yleiskustannuksista. Erityisesti tällaiset manipuloinnit edellyttävät erillisen täydentävän prosessin käynnistämistä sekä IPC:n käyttöä vuorovaikutuksessa tämän prosessin ja tietojen serialisointimekanismien kanssa.

  • Lisäosa hallitsee täysin kaikkea liikennettä alhaisella tasolla, mikä avaa valtavia mahdollisuuksia väärinkäytöksille ja yksityisyyden loukkauksille. Googlen tilastojen mukaan 42 % kaikista havaituista haitallisista lisäosista käytti webRequest APIa. On huomattava, että joka kuukausi yritykset sijoittaa keskimäärin 1800 XNUMX haitallista lisäosaa estetään Chrome Web Storen luettelossa. Valitettavasti tarkastelun avulla emme saa poikkeuksetta kiinni kaikkia haitallisia lisäosia, joten suojan parantamiseksi päätettiin rajoittaa lisäosia API-tasolla. Pääideana on tarjota lisäosille pääsy ei kaikkeen liikenteeseen, vaan vain tietoihin, jotka ovat tarpeen aiotun toiminnallisuuden toteuttamiseksi. Erityisesti sisällön estämiseksi ei ole tarpeen antaa lisäosalle täydellistä pääsyä kaikkiin luottamuksellisiin käyttäjätietoihin.
  • Ehdotettu korvaava sovellusliittymä deklaratiivinenNetRequest huolehtii kaikesta tehokkaan sisällön suodatuksen työstä ja vaatii vain lisäosia suodatussääntöjen lataamiseen. Lisäosa ei voi häiritä liikennettä ja käyttäjän yksityiset tiedot pysyvät loukkaamattomina;
  • Google otti huomioon monet kommentit, jotka koskivat declarativeNetRequest API:n toimimattomuutta ja laajensivat suodatussääntöjen lukumäärän rajaa alun perin ehdotetusta 30 tuhannesta laajennusta kohti maailmanlaajuiseen enimmäismäärään 150 tuhatta, ja lisäsi myös mahdollisuuden dynaamisesti muuttaa ja lisätä sääntöjä, poistaa ja korvata HTTP-otsikoita (Referer, Cookie, Set-Cookie) ja pyytää parametreja;
  • Yrityksille on mahdollista käyttää webRequest API:n estotoimintatapaa, koska lisäosien käytön käytännön määrittää järjestelmänvalvoja, joka ymmärtää infrastruktuurin ominaisuudet ja on tietoinen riskeistä. Esimerkiksi määritettyä API:ta voidaan käyttää yrityksissä työntekijöiden liikennevirtojen tallentamiseen ja integrointiin sisäisiin järjestelmiin;
  • Googlen tavoitteena ei ole heikentää tai tukahduttaa mainosten estäviä lisäosia, vaan mahdollistaa turvallisempien ja tehokkaampien mainosten esto-ohjelmien luominen.
  • Haluttomuus poistua webRequest-sovellusliittymän estävästä toimintatilasta uuden deklaratiivisenNetRequestin kanssa selittyy halulla rajoittaa lisäosien pääsyä luottamuksellisiin tietoihin. Jos jätät webRequest API:n ennalleen, useimmat lisäosat eivät käytä turvallisempaa deklaratiivista NetRequestiä, koska useimmat kehittäjät valitsevat yleensä toiminnallisuuden valitessaan turvallisuuden ja toiminnallisuuden välillä.

Vastalauseita kehittäjille lisäyksiä:

  • Lisäosien kehittäjät suorittavat testit osoittavat merkityksetöntä kokonaisvaikutusta mainosten esto-lisäosien tehokkuuteen (testauksen aikana verrattiin eri lisäosien suorituskykyä, mutta ottamatta huomioon ylimääräistä prosessia, joka koordinoi käsittelijöiden suorittamista estotilassa webRequest API);
  • Ei ole käytännöllistä lopettaa kokonaan lisäosissa aktiivisesti käytetyn API:n tukemista. Sen poistamisen sijaan voit lisätä erillisen luvan ja valvoa tiukasti sen käytön riittävyyttä lisäosissa, mikä säästäisi monien suosittujen lisäosien kirjoittajia muokkaamasta tuotteitaan kokonaan uudelleen ja välttämään toimivuuden leikkaamisen;
  • Yleiskustannusten vähentämiseksi et voi poistaa API:ta, vaan tehdä sen uudelleen Promise-mekanismin perusteella, samalla tavalla kuin webRequestin toteuttaminen Firefoxissa;
  • Ehdotettu vaihtoehto, declarativeNetRequest, ei kata kaikkia lisäosien kehittäjien tarpeita mainosten estämisen ja turvallisuuden/yksityisyyden suhteen, koska se ei tarjoa täyttä verkkopyyntöjen hallintaa, ei salli mukautettujen suodatusalgoritmien käyttöä eikä salli monimutkaisten sääntöjen käyttö, jotka menevät päällekkäin olosuhteista riippuen;
  • DeclarativeNetRequest API:n nykyisessä tilassa on mahdotonta luoda uBlock Origin- ja uMatrix-lisäosien olemassa olevia toimintoja ennallaan, ja se tekee myös Chromen NoScript-portin kehittämisen edelleen turhaksi.
  • Yksityisyyteen liittyvät huolet ovat kaukaa haettua, koska webRequest API:n vain luku -muotoinen, ei-estotila on jätetty paikalleen ja sallii edelleen haitallisten lisäosien hallita kaikkea liikennettä, mutta se ei tarjoa mahdollisuutta häiritä sitä lentää (muuta sisältöä, laita mainoksia, aja kaivostyötä ja analysoi syöttölomakkeiden sisältöä voidaan käyttää sivun latautumisen jälkeen);
  • Selaimen kehittäjät rohkea, Opera и Vivaldi, jotka on rakennettu Chromium-moottoriin, aikovat jättää tuotteisiinsa tuen webRequest-estotilalle.

Lähde: opennet.ru

Lisää kommentti