Izšel je nov izid Chrome 86 in stabilna verzija Chromium.
Glavne spremembe v Chrome 86:
- zaščita pred nezanesljivim pošiljanjem obrazcev na straneh, naloženih prek HTTPS, vendar pošiljajočih podatke prek HTTP.
- Blokiranje nezanesljivega nalaganja (http) izvršnih datotek je bilo dopolnjeno z blokiranjem nezanesljivega nalaganja arhivov (zip, iso itd.) ter prikazovanjem opozoril pri nezanesljivem nalaganju dokumentov (docx, pdf itd.). V naslednjem izidu pričakujemo blokiranje dokumentov in prikaz opozorila za slike, besedilne in multimedijske datoteke. Blokiranje je bilo izvedeno, saj lahko nalaganje datotek brez šifriranja služi za zlonamerne dejavnosti s tavanjem vsebine med MITM napadi.
- V privzetem kontekstnem meniju je prikazana možnost "Vedno prikazuj URL v celoti", ki je prva zahtevala spremembo nastavitev na strani about:flags. Celoten URL si je mogoče ogledati tudi z dvoklikom na naslovno vrstico. Opominjamo, da je od različice Chrome 76 privzeto prikazan naslov brez protokola in poddomene www. V Chrome 79 je bila odstranitev nastavitve za vračanje starega obnašanja, a je bila po nezadovoljstvu uporabnikov v Chrome 83 dodana nova eksperimentalna zastavica, ki dodaja možnost za onemogočitev skrivanje in prikaz celotnega URL-ja v vseh pogojih.
- Obnovljena je iniciativa za ukidanje podrške za FTP. U Chromeu 86 FTP je prema zadanim postavkama onemogućen za oko 1% korisnika, a u Chromeu 87 obuhvat onemogućavanja bit će povećan na 50%, ali se podrška može ponovno aktivirati uz pomoć oznake "—enable-ftp" ili "—enable-features=FtpProtocol". U Chromeu 88 podrška za FTP bit će potpuno onemogućena.
- U verziji za Android, analogno verziji za stolna računala, u upravitelju lozinki implementirana je provjera spremljenih prijava i lozinki prema bazi kompromitiranih računa, uz upozorenje u slučaju otkrivanja problema ili pokušaja korištenja trivijalnih lozinki. Provjera se provodi prema bazi koja pokriva više od 4 milijarde kompromitiranih računa koji su se našli u curenjima korisničkih baza. Radi očuvanja privatnosti koristi se provjera hash-prefiksa na strani korisnika, a sama lozinka i njihovi puni hash-evi se ne šalju van.
- U verziju za Android također su preneseni gumb "Provjera sigurnosti" (Safety check) i prošireni način zaštite od opasnih web stranica (Enhanced Safe Browsing). Gumb "Safety check" prikazuje sažetak mogućih sigurnosnih problema, kao što su korištenje kompromitiranih lozinki, stanje provjere zaraženih web stranica (Safe Browsing), dostupnost neinstaliranih ažuriranja i otkrivanje zlonamjernih dodataka. Prošireni način zaštite aktivira dodatne provjere za zaštitu od phishinga, zlonamjernih aktivnosti i drugih prijetnji na webu, kao i uključuje dodatnu zaštitu za Google račun i Googleove usluge (Gmail, Drive i sl.). Dok se u uobičajenom načinu Safe Browsing provjere izvršavaju lokalno iz povremeno preuzete baze podataka na klijentskom sustavu, u Enhanced Safe Browsing informacije o stranicama i preuzimanjima u stvarnom vremenu šalju se Googleu na provjeru, što omogućava brzu reakciju na prijetnje odmah nakon njihova otkrivanja, bez čekanja na ažuriranje lokalne crne liste.
- Dodana je podrška za datoteku-indikator ".well-known/change-password", putem koje vlasnici web stranica mogu odrediti adresu web obrasca za promjenu lozinke. U slučaju otkrivanja kompromitacije korisničkih podatka, Chrome će sada odmah korisniku ponuditi obrazac za promjenu lozinke, određen na temelju informacija iz ove datoteke.
- Implementirano je novo opozorilo 'Safety Tip', ki se prikaže ob odpiranju spletnih strani, katerih domene so zelo podobne drugi spletni strani in heuristika kaže, da obstaja velika verjetnost zavajanja (na primer, odprta je goog0le.com namesto google.com).
* Implementirana je podrška za keširanje povratnih zahteva (Back-forward cache), koja omogućava instantni prelazak pri korišćenju dugmadi „Nazad“ i „Napred“ ili tokom navigacije po prethodno pregledanim stranicama trenutnog sajta. Keš se aktivira putem podešavanja chrome://flags/#back-forward-cache.
- Optimizacija potrošnje CPU resursa za prozore van vidljivog polja. Chrome proverava da li su prozori pregledača preklopljeni drugim prozorima i isključuje crtanje piksela na preklopljenim delovima. Ova optimizacija je bila uključena za mali procenat korisnika u Chrome 84 i 85, a sada je aktivirana svuda. U poređenju sa prethodnim verzijama, takođe su otklonjene nekompatibilnosti sa virtuelizovanim sistemima koje su uzrokovale pojavu praznih belih stranica.
- Okrepljeno je zmanjšanje virov za ozadje zavihkov. Takšni zavihki zdaj ne morejo porabiti več kot 1% virov CPU in se lahko aktivirajo največ enkrat na minuto. Po petih minutah bivanja v ozadju se zavihki zamrznejo, razen zavihkov, v katerih se predvaja multimedična vsebina ali vodi snemanje.
- Ponovo je pokrenut rad na unifikaciji HTTP zaglavlja User-Agent. U novoj verziji je za sve korisnike aktivirana podrška za mehanizam User-Agent Client Hints, koji se razvija kao zamena za User-Agent. Novi mehanizam uključuje selektivno davanje podataka o specifičnim parametrima pregledača i sistema (verzija, platforma itd.) samo na zahtev servera, pružajući korisnicima mogućnost da selektivno dele slične informacije vlasnicima sajtova. Kada se koristi User-Agent Client Hints, identifikator se po defaultu ne šalje bez eksplicitnog zahteva, što onemogućava pasivnu identifikaciju (po defaultu se navodi samo naziv pregledača).
Spremenjena je indikacija razpoložljivosti posodobitve in potrebe po ponovnem zagonu brskalnika za njeno namestitev. Namesto barvne puščice na polju avatarja računa se zdaj prikaže napis „Posodobitev“. - Obavljen je rad na prevođenju pregledača na korišćenje inkluzivne terminologije. U nazivima politika reči „whitelist“ i „blacklist“ su zamenjene sa „allowlist“ i „blocklist“ (već dodate politike će nastaviti da funkcionišu, ali će za njih biti prikazano upozorenje o prebacivanju u status zastare). U kodu i imenima datoteka pominjanja „blacklist“ su zamenjena sa „blocklist“. Vidljiva pominjanja „blacklist“ i „whitelist“ su još ranije u početku 2019. godine zamenjena.
Dodana je eksperimentalna možnost urejanja shranjenih gesel, ki se aktivira s pomočjo zastavice «chrome://flags/#edit-passwords-in-settings». - Zdaj je na voljo stabilen in javno dostopen API Native File System, ki omogoča ustvarjanje spletnih aplikacij, ki komunicirajo s datotekami v lokalnem datotečnem sistemu. Na primer, ta nov API bi lahko bil uporabljen v integriranih razvojnih okoljih, urejevalnikih besedil, slik in videov, ki delujejo v brskalniku. Za omogočanje neposrednega branja in pisanja datotek ali za uporabo dialogov za odpiranje in shranjevanje datotek, kot tudi za navigacijo po vsebini map, mora aplikacija od uporabnika pridobiti posebno potrditev.
- Dodana je bila CSS selektor ":focus-visible", ki uporablja isto heuristiko, kot jo uporablja brskalnik pri odločanju o prikazu indikatorja spremembe fokusa (ko se fokus premika na gumb preko tipkovnih bližnjic, se indikator prikaže, medtem ko ob kliku z miško ne). Prej razpoložljivi CSS selektor ":focus" vedno osvetli fokus. Poleg tega so bile v nastavitve dodane možnosti 'Quick Focus Highlight', ki ob aktivaciji prikaže dodaten indikator fokusa poleg aktivnih elementov, ki ostaja viden, tudi če so na strani preko CSS onemogočeni elementi stila za vizualno označevanje fokusa.
- V načinu Origin Trials (eksperimentalne možnosti, ki zahtevajo ločeno aktivacijo) so dodani nekateri novi API-ji. Origin Trial pomeni možnost dela z določenim API-jem iz aplikacij, naloženih z localhost ali 127.0.0.1, ali po registraciji in pridobitvi posebnega žetona, ki deluje omejen čas za določeno spletno mesto.
- API WebHID omogoča nizkonivojski dostop do HID naprav (človeških vmesnikov, kot so tipkovnice, miši, igralne palice, sledilne ploščice), kar omogoča izvajanje logike dela z HID napravami na JavaScriptu za podporo redkim HID napravam brez potrebe po specifičnih gonilnikih v sistemu. Novi API je predvsem osredotočen na zagotavljanje podpore igralnim palicam.
- API Screen Information razširja možnosti API Window Placement s podporo za konfiguracije z več zasloni. V nasprotju z window.screen nov API omogoča manipulacijo s postavitvijo oken v skupnem zaslonskem prostoru več-monitornih sistemov, ne da bi bil omejen na trenutno zaslon.
- Meta oznaka battery-savings, ki omogoča spletnemu mestu, da obvesti brskalnik o potrebi po aktivaciji načinov zmanjšanja porabe energije in optimizacije obremenitve procesorja.
- API COOP Reporting za obveščanje o potencialnih kršitvah režimov izolacije Cross-Origin-Embedder-Policy (COEP) in Cross-Origin-Opener-Policy (COOP), brez dejanskega uveljavljanja omejitev.
- V API Credential Management je predstavljen nova vrsta podatkov o plačilih PaymentCredential, ki zagotavlja dodatno potrditev izvedene plačilne transakcije. Preverjevalna stran, kot je banka, lahko generira javni ključ PublicKeyCredential, ki ga lahko prodajalec zahteva za dodatno varno potrditev plačila.
- V API PointerEvents je dodana podpora za kote višine (kot med stilusom in zaslonom) in azimuta (kot med osjo X in projekcijo stilusa na zaslon), namesto kotov TiltX in TiltY (kotov med ravnino stilusa in eno osjo ter ravnino osmi Y in Z). Dodane so tudi funkcije za pretvorbo med višino/azimutom in TiltX/TiltY.
- Kodiranje razmaka v URL-ju je bilo spremenjeno, saj se zdaj pri izračunavanju v obdelovalcih protokola — metoda navigator.registerProtocolHandler() razmaki nadomestijo z „“ namesto z „+“, kar poenoti obnašanje z drugimi brskalniki, kot je Firefox.
- V CSS je dodan psevdoekvivalent "::marker", ki omogoča nastavitev barve, velikosti, oblike in tipa številk ter pik za naštevanje v blokih
- in
- .
- Dodana je podpora za HTTP-zaglavje Document-Policy, ki omogoča določitev pravil dostopa do dokumentov, podobno mehanizmu sand box izolacije za iframe, a bolj univerzalno. Na primer, preko Document-Policy je mogoče omejiti uporabo nekvalitetnih slik, onemogočiti počasne JavaScript API-je, nastaviti pravila za nalaganje iframe, slik in skriptov, omejiti skupno velikost dokumenta in promet, prepovedati metode, ki povzročajo ponovni naložitev strani, ter onemogočiti funkcijo Scroll-To-Text.
- V element
- Dodana je metoda ParentNode.replaceChildren() za zamenjavo vseh otroških elementov starševskega vozlišča z drugim DOM-vozliščem. Predhodno so bili za zamenjavo vozlišč lahko uporabljeni kombinacije metod node.removeChild() in node.append() ali node.innerHTML in node.append().
- Razširjen je spekter URL shem, dovoljenih za preoblikovanje s registerProtocolHandler(). V seznam shem so vključeni decentralizirani protokoli cabal, dat, did, dweb, ethereum, hyper, ipfs, ipns in ssb, kar omogoča določanje povezav na elemente neodvisno od spletne strani ali prehoda, ki zagotavlja dostop do vira.
- API Asynchronous Clipboard je dodao podršku za format text/html za kopiranje i lepljenje HTML-a putem clipboard-a (prilikom pisanja i čitanja u clipboard-u izvršava se čišćenje opasnih HTML konstrukcija). Ovo omogućava organizovanje lepljenja i kopiranja formatiranog teksta s slikama i linkovima u web editorima.
- WebRTC je dodao mogućnost povezivanja vlastitih obrada podataka, koje se pozivaju tokom kodiranja ili dekodiranja WebRTC MediaStreamTrack. Na primer, ova mogućnost se može koristiti za dodavanje podrške za krajnje šifrovanje podataka koji se prenose preko posredničkih servera.
JavaScript engine V8 je ubrzao implementaciju Number.prototype.toString za 75%. Asinhronim klasama je dodata osobina .name s praznom vrednošću. Metod Atomics.wake, koji je nekada preimenovan u Atomics.notify kako bi se uskladio sa specifikacijom ECMA-262, je uklonjen. Opušten je kod alata za fuzzing testiranje JS-Fuzzer. - U prethodnom izdanju bazni (baseline) kompajler Liftoff za WebAssembly uključuje mogućnost korišćenja vektorskih instrukcija SIMD za ubrzanje proračuna. Ocenama testova, optimizacija je omogućila ubrzanje prolaza kroz određene testove za 2,8 puta. Druga optimizacija značajno je ubrzala pozive iz WebAssembly u uvezene JavaScript funkcije.
- Prošireni su alati za web programere: U Media panelu su dodate informacije o plejerima koji se koriste za reprodukciju videa na stranicama, uključujući podatke o događajima, logove, vrednosti svojstava i parametre dekodiranja frejmova (na primer, moguće je odrediti uzroke gubljenja frejmova i problema pri interakciji iz JavaScript-a).
- U kontekstnom meniju Elements panela je dodata mogućnost pravljenja snimaka izabranog elementa (na primer, moguće je napraviti snimak sadržaja ili tabele).
- U web konzoli je panel s upozorenjima o problemima zamenjen običnom porukom, a problemi sa trećim kolačićima su po defaultu sakriveni na kartici Issues i uključuju se posebnim prekidačem.
- Na zavihku Rendering je dodan gumb 'Onemogoči lokalne pisave', ki omogoča simulacijo odsotnosti lokalnih pisav, na zavihku Sensors pa je dodana možnost simulacije neaktivnosti uporabnika (za aplikacije, ki uporabljajo API Idle Detection).
- U Application panelu je pružena detaljna informacija o svakom iframe-u, otvorenom prozoru i pop-up-ima, uključujući podatke o Cross-Origin izolaciji pomoću COEP i COOP.
Započela je zamena implementacije QUIC protokola za varijantu koja se razvija u IETF specifikaciji, umesto Google-ove varijante QUIC.
Poleg novosti in popravkov je v novi različici odpravljenih 35 ranljivosti. Mnogo teh ranljivosti je bilo odkritih z avtomatiziranim testiranjem orodij AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer in AFL. Ena ranljivost (CVE-2020-15967, dostop do osvobojene pomnilniške površine v kodi za interakcijo z Google Payments) je označena kot kritična, kar pomeni, da omogoča obhod vseh ravni zaščite brskalnika in izvajanje kode v sistemu zunaj okolja peskovnika. V okviru programa za izplačilo denarnih nagrad za odkrivanje ranljivosti je podjetje Google v trenutni različici izplačalo 27 nagrad v skupni vrednosti 71.500 dolarjev (ena nagrada 15.000 dolarjev, tri nagrade po 7.500 dolarjev, pet nagrad po 5.000 dolarjev, dve po 3.000 dolarjev, ena po 200 dolarjev in dve po 500 dolarjev). Višina 13 nagrad za zdaj še ni določena.
Prevzeto z Opennet.ru
Izvor: linux.org.ru
