Kritika uključivanja API-ja za otkrivanje mirovanja u Chrome 94. Eksperimentiranje s Rust-om u Chromeu

Zadano uključivanje Idle Detection API-ja u Chrome 94 dovelo je do vala kritika, navodeći prigovore Firefox i WebKit/Safari programera.

Idle Detection API omogućava web lokacijama da otkriju vrijeme kada je korisnik neaktivan, tj. Ne stupa u interakciju s tastaturom/mišem niti obavlja rad na drugom monitoru. API vam takođe omogućava da saznate da li je čuvar ekrana pokrenut na sistemu ili ne. Informacija o neaktivnosti se vrši slanjem obavijesti nakon dostizanja određenog praga neaktivnosti, čija je minimalna vrijednost postavljena na 1 minut.

Važno je napomenuti da korištenje Idle Detection API-ja zahtijeva eksplicitno davanje korisničkih dozvola, tj. Ako aplikacija prvi put pokuša otkriti neaktivnost, korisniku će se prikazati prozor s pitanjem da li da odobri dozvole ili blokira operaciju. Da biste potpuno onemogućili API za otkrivanje mirovanja, posebna opcija („chrome://settings/content/idleDetection“) je data u odjeljku postavki „Privatnost i sigurnost“.

Područja primjene uključuju aplikacije za ćaskanje, društvene mreže i komunikacije koje mogu promijeniti status korisnika ovisno o njegovoj prisutnosti na računaru ili odgoditi obavještenje o novim porukama dok korisnik ne stigne. API se također može koristiti u kiosk aplikacijama za povratak na originalni ekran nakon perioda neaktivnosti ili za onemogućavanje interaktivnih operacija koje zahtijevaju velike resurse, kao što je ponovno crtanje kompleksa, stalno ažuriranje grafikona, kada korisnik nije za računarom.

Pozicija protivnika omogućavanja Idle Detection API-ja je da se informacija o tome da li je korisnik za računarom ili ne može smatrati povjerljivom. Osim korisnih aplikacija, ovaj API se može koristiti i u loše svrhe, na primjer, za pokušaj eksploatacije ranjivosti dok je korisnik odsutan ili za skrivanje upadljivih zlonamjernih aktivnosti, kao što je rudarenje. Koristeći dotični API, također se mogu prikupiti informacije o obrascima ponašanja korisnika i svakodnevnom ritmu njegovog rada. Na primjer, možete saznati kada korisnik obično ide na ručak ili napušta radno mjesto. U kontekstu obaveznog zahtjeva za dokaz o ovlaštenju, ove brige Google percipira kao beznačajne.

Osim toga, možete primijetiti bilješku Chrome programera o promociji novih tehnika za siguran rad s memorijom. Prema Google-u, 70% sigurnosnih problema u Chromeu uzrokovano je greškama u memoriji, kao što je korištenje bafera nakon oslobađanja memorije povezane s njim (use-after-free). Identificirane su tri glavne strategije za rješavanje takvih grešaka: jačanje provjera u fazi kompilacije, blokiranje grešaka u vrijeme izvođenja i korištenje jezika koji je siguran u memoriju.

Prijavljeno je da su eksperimenti počeli da dodaju mogućnost razvoja komponenti na Rust jeziku u Chromium kodnu bazu. Rust kod još nije uključen u buildove koji se isporučuju korisnicima i uglavnom je usmjeren na testiranje mogućnosti razvoja pojedinih dijelova pretraživača u Rustu i njihovu integraciju sa drugim dijelovima napisanim u C++. Paralelno, za C++ kod, nastavlja se razvoj projekta koji koristi tip MiraclePtr umjesto sirovih pokazivača kako bi se blokirala mogućnost iskorištavanja ranjivosti uzrokovanih pristupom već oslobođenim memorijskim blokovima, a također se predlažu nove metode za otkrivanje grešaka u fazi kompilacije.

Osim toga, Google započinje eksperiment za testiranje mogućeg prekida rada web stranica nakon što pretraživač dostigne verziju koja se sastoji od tri cifre umjesto od dvije. Konkretno, u testnim izdanjima Chrome-a 96 pojavila se postavka “chrome://flags#force-major-version-to-100”, kada je navedena u zaglavlju User-Agent, verzija 100 (Chrome/100.0.4650.4) počinje da se prikazuje. U avgustu je sličan eksperiment sproveden u Firefoxu, koji je otkrio probleme sa obradom trocifrenih verzija na nekim sajtovima.

izvor: opennet.ru

Dodajte komentar