Kritika vključitve API-ja za zaznavanje mirovanja v Chrome 94. Eksperimentiranje z Rust v Chromu

Privzeta vključitev API-ja za zaznavanje nedejavnosti v Chrome 94 je povzročila val kritik, navajajoč ugovore razvijalcev Firefoxa in WebKita/Safarija.

Idle Detection API omogoča spletnim mestom, da zaznajo čas, ko je uporabnik nedejaven, tj. Ne deluje s tipkovnico/miško ali opravlja delo na drugem monitorju. API vam omogoča tudi, da ugotovite, ali se v sistemu izvaja ohranjevalnik zaslona ali ne. Obveščanje o neaktivnosti se izvede s pošiljanjem obvestila po doseženem določenem pragu neaktivnosti, katerega minimalna vrednost je nastavljena na 1 minuto.

Pomembno je omeniti, da uporaba API-ja za zaznavanje mirovanja zahteva izrecno dodelitev uporabniških dovoljenj, tj. Če aplikacija prvič poskuša zaznati nedejavnost, se uporabniku prikaže okno z vprašanjem, ali naj dodeli dovoljenja ali blokira operacijo. Za popolno onemogočanje API-ja za zaznavanje nedejavnosti je v razdelku z nastavitvami »Zasebnost in varnost« na voljo posebna možnost (»chrome://settings/content/idleDetection«).

Področja uporabe vključujejo aplikacije za klepet, družabna omrežja in komunikacije, ki lahko spremenijo status uporabnika glede na njegovo prisotnost za računalnikom ali odložijo obvestilo o novih sporočilih, dokler uporabnik ne pride. API je mogoče uporabiti tudi v aplikacijah kioska za vrnitev na prvotni zaslon po obdobju nedejavnosti ali za onemogočanje interaktivnih operacij, ki zahtevajo veliko virov, kot je ponovno risanje zapletenih grafikonov, ki se nenehno posodabljajo, ko uporabnik ni za računalnikom.

Stališče nasprotnikov omogočanja API-ja Idle Detection je, da se podatki o tem, ali je uporabnik za računalnikom ali ne, lahko štejejo za zaupne. Poleg uporabnih aplikacij se ta API lahko uporablja tudi za slabe namene, na primer za poskus izkoriščanja ranljivosti, ko je uporabnik odsoten, ali za skrivanje vidne zlonamerne dejavnosti, kot je rudarjenje. Z uporabo zadevnega API-ja je mogoče zbirati tudi informacije o vzorcih vedenja uporabnika in dnevnem ritmu njegovega dela. Na primer, lahko ugotovite, kdaj gre uporabnik običajno na kosilo ali zapusti delovno mesto. V okviru obvezne zahteve za dokazilo o pooblastilu Google te pomisleke dojema kot nepomembne.

Poleg tega si lahko ogledate opombo razvijalcev Chroma o promociji novih tehnik za zagotavljanje varnega delovanja s pomnilnikom. Po podatkih Googla je 70 % varnostnih težav v Chromu posledica napak v pomnilniku, kot je uporaba medpomnilnika po sprostitvi pomnilnika, povezanega z njim (use-after-free). Identificirane so tri glavne strategije za obravnavo takšnih napak: krepitev preverjanj na stopnji prevajanja, blokiranje napak med izvajanjem in uporaba jezika, varnega za pomnilnik.

Poročajo, da so se začeli poskusi za dodajanje zmožnosti razvijanja komponent v jeziku Rust kodni bazi Chromium. Koda Rust še ni vključena v zgradbe, dostavljene uporabnikom, in je namenjena predvsem testiranju možnosti razvoja posameznih delov brskalnika v Rustu in njihove integracije z drugimi deli, napisanimi v C++. Vzporedno se za kodo C++ nadaljuje razvoj projekta za uporabo tipa MiraclePtr namesto neobdelanih kazalcev za blokiranje možnosti izkoriščanja ranljivosti, ki jih povzroči dostop do že sproščenih pomnilniških blokov, predlagane pa so tudi nove metode za odkrivanje napak v fazi prevajanja.

Poleg tega Google začenja poskus, da bi testiral morebitne motnje na spletnih mestih, potem ko brskalnik doseže različico, sestavljeno iz treh števk namesto dveh. Zlasti v preskusnih izdajah Chroma 96 se je pojavila nastavitev »chrome://flags#force-major-version-to-100«, ko je navedena v glavi User-Agent, različica 100 (Chrome/100.0.4650.4) se začne prikazovati. Avgusta so podoben eksperiment izvedli v Firefoxu, ki je razkril težave pri obdelavi trimestnih različic na nekaterih straneh.

Vir: opennet.ru

Dodaj komentar