Chrome izdanje 90

Google je predstavio izdanje web pretraživača Chrome 90. Istovremeno, dostupno je i stabilno izdanje besplatnog Chromium projekta, koji služi kao osnova za Chrome. Chrome pretraživač se odlikuje upotrebom Google logotipa, prisustvom sistema za slanje obavještenja u slučaju pada, modulima za reprodukciju zaštićenog video sadržaja (DRM), sistemom za automatsko instaliranje ažuriranja i prijenosom RLZ parametara prilikom pretraživanja. Sljedeće izdanje Chrome 91 zakazano je za 25. maj.

Ključne promjene u Chrome 90:

  • Svim korisnicima je po defaultu omogućeno otvaranje stranica putem HTTPS-a kada upisuju imena hostova u adresnu traku. Na primjer, kada unesete host example.com, stranica https://example.com će biti otvorena prema zadanim postavkama, a ako se pojave problemi prilikom otvaranja, biće vraćena na http://example.com. Za kontrolu korištenja zadanog "https://", predlaže se postavka "chrome://flags#omnibox-default-typed-navigations-to-https".
  • Sada je moguće dodijeliti različite oznake prozorima kako biste ih vizualno razdvojili na panelu radne površine. Podrška za promjenu naziva prozora će pojednostaviti organizaciju rada kada koristite odvojene prozore preglednika za različite zadatke, na primjer, kada otvarate odvojene prozore za radne zadatke, lične interese, zabavu, odložene materijale itd. Naziv se mijenja putem stavke „Dodaj naslov prozora“ u kontekstualnom meniju koji se pojavljuje kada kliknete desnim tasterom miša na prazno područje na traci kartica. Nakon promjene naziva na panelu aplikacija, umjesto naziva stranice sa aktivne kartice, prikazuje se odabrano ime, što može biti korisno kada se iste stranice otvaraju u različitim prozorima povezanim s odvojenim nalozima. Vezivanje se održava između sesija i nakon ponovnog pokretanja prozori će biti vraćeni sa odabranim imenima.
    Chrome izdanje 90
  • Dodata je mogućnost sakrivanja “Lista za čitanje” bez potrebe za promjenom postavki u “chrome://flags” (“chrome://flags#read-later”). Da biste sakrili, sada možete koristiti opciju „Prikaži listu za čitanje“ na dnu kontekstnog menija koji se prikazuje kada kliknete desnim tasterom miša na traku sa obeleživačima. Podsjetimo, u prošlom izdanju, kada neki korisnici kliknu na zvjezdicu u adresnoj traci, pored dugmeta „Dodaj obeleživač“, pojavljuje se i drugo dugme „Dodaj na listu za čitanje“, au desnom uglu table sa obeleživačima pojavljuje se meni „Lista za čitanje“ koji navodi sve prethodno dodane stranice na listu. Kada otvorite stranicu sa liste, ona je označena kao pročitana. Stranice na listi se takođe mogu ručno označiti kao pročitane ili nepročitane, ili ukloniti sa liste.
  • Dodata podrška za segmentaciju mreže radi zaštite od metoda praćenja kretanja korisnika između lokacija na osnovu pohranjivanja identifikatora u područjima koja nisu namijenjena za trajno skladištenje informacija (“Superkolačići”). Budući da su keširani resursi pohranjeni u zajedničkom imenskom prostoru, bez obzira na izvornu domenu, jedna lokacija može utvrditi da druga lokacija učitava resurse provjeravanjem da li je taj resurs u kešu. Zaštita se zasniva na korišćenju mrežne segmentacije (Network Partitioning), čija je suština da se zajedničkim predmemorijama doda dodatno vezivanje zapisa za domen sa kojeg se otvara glavna stranica, čime se ograničava pokrivenost keša samo za skripte za praćenje kretanja na trenutnu stranicu (skripta iz iframe-a neće moći provjeriti da li je resurs preuzet sa druge stranice). Cena segmentacije je smanjenje efikasnosti keširanja, što dovodi do blagog povećanja vremena učitavanja stranice (maksimalno za 1.32%, ali za 80% sajtova za 0.09-0.75%).
  • Crna lista mrežnih portova za koje je blokirano slanje HTTP, HTTPS i FTP zahtjeva dopunjena je kako bi se zaštitili od NAT slipstreaming napada, koji omogućava da se prilikom otvaranja web stranice koju je napadač posebno pripremio u pretraživaču uspostavi mreža. vezu sa servera napadača na bilo koji UDP ili TCP port na korisnikovom sistemu, uprkos korištenju internog raspona adresa (192.168.x.x, 10.x.x.x). Dodano 554 (RTSP protokol) i 10080 (koristi se u Amanda backup-u i VMWare vCenter-u) na listu zabranjenih portova. Ranije su portovi 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 i 6566 već bili blokirani.
  • Dodata početna podrška za otvaranje PDF dokumenata sa XFA obrascima u pretraživaču.
  • Za neke korisnike aktiviran je novi odjeljak postavki „Chrome Settings > Privatnost i sigurnost > Privacy sandbox“ koji vam omogućava upravljanje parametrima FLoC API-ja, čiji je cilj određivanje kategorije interesa korisnika bez individualne identifikacije i bez pozivanja na historija posjećivanja određenih lokacija.
  • Jasnije obaveštenje sa listom dozvoljenih radnji sada se prikazuje kada se korisnik poveže na profil za koji je omogućeno centralizovano upravljanje.
  • Interfejs zahtjeva za dozvole je učinio manje nametljivim. Zahtjevi koje korisnik vjerovatno neće odobriti sada se automatski blokiraju s odgovarajućim indikatorom prikazanim u adresnoj traci, s kojim korisnik može ići na sučelje za upravljanje dozvolama po lokaciji.
    Chrome izdanje 90
  • Podrška za Intel CET (Intel Control-flow Enforcement Technology) ekstenzije je uključena za hardversku zaštitu od eksploatacije napravljenih pomoću tehnika programiranja orijentisanog na povratak (ROP, Return-Oriented Programming).
  • Nastavlja se rad na prelasku pretraživača na korištenje inkluzivne terminologije. Datoteka "master_preferences" je preimenovana u "initial_preferences" kako bi se izbjegla povreda osjećaja korisnika koji riječ "master" doživljavaju kao nagoveštaj o nekadašnjem ropstvu svojih predaka. Radi održavanja kompatibilnosti, podrška za “master_preferences” će ostati u pretraživaču neko vrijeme. Ranije se pretraživač već oslobodio upotrebe riječi “bijela lista”, “crna lista” i “native”.
  • U verziji za Android, kada je omogućen režim uštede saobraćaja „Lite“, bitrate se smanjuje pri preuzimanju videa kada je povezan preko mreža mobilnih operatera, što će smanjiti troškove korisnika koji imaju omogućene tarife zasnovane na saobraćaju. “Lite” način također omogućava kompresiju slika traženih iz javno dostupnih resursa (koji ne zahtijevaju autentifikaciju) putem HTTPS-a.
  • Dodan AV1 video format koder, posebno optimiziran za korištenje u video konferencijama baziranom na WebRTC protokolu. Upotreba AV1 u video konferencijama omogućava povećanje efikasnosti kompresije i pruža mogućnost emitovanja na kanalima sa propusnim opsegom od 30 kbit/sec.
  • U JavaScriptu, objekti Array, String i TypedArrays implementiraju metodu at(), koja vam omogućava da koristite relativno indeksiranje (relativna pozicija je navedena kao indeks niza), uključujući navođenje negativnih vrijednosti u odnosu na kraj (na primjer , "arr.at(-1)" će vratiti posljednji element niza).
  • JavaScript je dodao svojstvo “.indices” za regularne izraze, koje sadrži niz sa početnom i završnom pozicijom grupa podudaranja. Svojstvo se popunjava samo kada se izvršava regularni izraz sa zastavicom "/d". const re = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indices[0]); // 0 — sve grupe podudaranja // → [0, 2] console.log(m.indices[1]); // 1 je prva grupa podudaranja // → [0, 1] console.log(m.indices[2]); // 2 - druga grupa utakmica // → [1, 2]
  • Optimizirane su performanse “super” svojstava (na primjer, super.x) za koje je inline keš omogućen. Performanse korištenja "super" sada su blizu performansi pristupa redovnim svojstvima.
  • Pozivanje WebAssembly funkcija iz JavaScripta je značajno ubrzano zbog upotrebe inline implementacije. Ova optimizacija za sada ostaje eksperimentalna i zahtijeva pokretanje sa “-turbo-inline-js-wasm-calls” zastavicom.
  • Dodan API za WebXR Depth Sensing, koji vam omogućava da odredite udaljenost između objekata u korisničkom okruženju i korisnikovog uređaja, na primjer, kako biste kreirali realističnije aplikacije proširene stvarnosti. Podsjetimo, WebXR API vam omogućava da objedinite rad s različitim klasama uređaja virtuelne stvarnosti, od stacionarnih 3D kaciga do rješenja baziranih na mobilnim uređajima.
  • Funkcija WebXR AR Lighting Estimation je stabilizirana, omogućavajući WebXR AR sesijama da odrede parametre ambijentalnog osvjetljenja kako bi se modelima dao prirodniji izgled i bolja integracija sa korisničkim okruženjem.
  • Origin Trials mod (eksperimentalne funkcije koje zahtijevaju odvojenu aktivaciju) dodaje nekoliko novih API-ja koji su trenutno ograničeni na Android platformu. Origin Trial podrazumijeva mogućnost rada sa navedenim API-jem iz aplikacija preuzetih sa localhost ili 127.0.0.1, ili nakon registracije i primanja posebnog tokena koji važi ograničeno vrijeme za određenu lokaciju.
    • Metoda getCurrentBrowsingContextMedia() koja omogućava snimanje MediaStream video toka koji odražava sadržaj trenutne kartice. Za razliku od slične metode getDisplayMedia(), prilikom pozivanja getCurrentBrowsingContextMedia(), korisniku se prikazuje jednostavan dijalog za potvrdu ili blokiranje operacije prijenosa videa sa sadržajem kartice.
    • Insertable Streams API, koji vam omogućava da manipulišete sirovim medijskim tokovima koji se prenose preko MediaStreamTrack API-ja, kao što su podaci o kameri i mikrofonu, rezultati snimanja ekrana ili posredni podaci dekodiranja kodeka. WebCodec sučelja se koriste za predstavljanje sirovih okvira i stream se generiše slično onome što WebRTC Insertable Streams API generiše na osnovu RTCPeerConnections. S praktične strane, novi API omogućava funkcionalnost kao što je primjena tehnika strojnog učenja za identifikaciju ili označavanje objekata u realnom vremenu, ili dodavanje efekata kao što je isječak pozadine prije kodiranja ili nakon dekodiranja kodekom.
    • Mogućnost pakovanja resursa u pakete (Web Bundle) za organizovanje efikasnijeg učitavanja velikog broja pratećih fajlova (CSS stilovi, JavaScript, slike, iframeovi). Među nedostacima postojeće podrške za pakete za JavaScript datoteke (webpack), koje Web Bundle pokušava eliminisati: sam paket, ali ne i njegovi sastavni dijelovi, može završiti u HTTP kešu; kompilacija i izvršavanje mogu započeti tek nakon što je paket u potpunosti preuzet; Dodatni resursi kao što su CSS i slike moraju biti kodirani u obliku JavaScript stringova, što povećava veličinu i zahtijeva još jedan korak raščlanjivanja.
    • Podrška za rukovanje izuzetcima u WebAssembly-u.
  • Stabiliziran deklarativni Shadow DOM API za kreiranje novih korijenskih grana u Shadow DOM-u, na primjer za odvajanje uvezenog stila elementa treće strane i njegove povezane DOM podgrane od glavnog dokumenta. Predloženi deklarativni API vam omogućava da koristite samo HTML za otkopčavanje DOM grana bez potrebe za pisanjem JavaScript koda.
  • Svojstvo Aspect-Rati CSS, koje vam omogućava da eksplicitno vežete omjer širine i visine za bilo koji element (da biste automatski izračunali veličinu koja nedostaje kada specificirate samo visinu ili širinu), implementira mogućnost interpolacije vrijednosti tokom animacije (glatki prijelaz iz jednog odnos širine i visine prema drugom).
  • Dodata je mogućnost da se prikaže stanje prilagođenih HTML elemenata u CSS-u kroz pseudo-klasu “:state()”. Funkcionalnost je implementirana po analogiji sa sposobnošću standardnih HTML elemenata da mijenjaju svoje stanje ovisno o interakciji korisnika.
  • CSS svojstvo “appearance” sada podržava vrijednost 'auto', koja je po defaultu postavljena za i , a na Android platformi dodatno za , , , i .
  • Podrška za vrijednost “clip” dodata je CSS svojstvu “overflow”, kada se postavi, sadržaj koji se proteže izvan bloka se isječe do granice dozvoljenog prelivanja bloka bez mogućnosti pomicanja. Vrijednost koja određuje koliko se sadržaj može proširiti izvan stvarne granice okvira prije nego što sečenje počne postavlja se preko novog CSS svojstva "overflow-clip-margin". U poređenju sa "overflow: hidden", upotreba "overflow: clip" omogućava bolje performanse.
    Chrome izdanje 90Chrome izdanje 90
  • HTTP zaglavlje Feature-Policy zamijenjeno je novim zaglavljem Permissions-Policy za kontrolu delegiranja dozvola i omogućavanja naprednih funkcija, što uključuje podršku za strukturirane vrijednosti polja (na primjer, sada možete navesti "Permissions-Policy: geolocation =()" umjesto "Feature- Policy: geolocation 'none'").
  • Pojačana zaštita od upotrebe protokolnih bafera za napade uzrokovane spekulativnim izvršavanjem instrukcija u procesorima. Zaštita se implementira dodavanjem MIME tipa “application/x-protobuffer” na listu MIME tipova koji nikada nisu njuškani, koji se obrađuje kroz mehanizam Cross-Origin-Read-Blocking. Prethodno je MIME tip “application/x-protobuf” već bio uključen u sličnu listu, ali je “application/x-protobuffer” izostavljen.
  • API za pristup sistemu datoteka implementira mogućnost pomjeranja trenutne pozicije u datoteci izvan njenog kraja, popunjavajući rezultirajuću prazninu nulama tokom naknadnog pisanja putem poziva FileSystemWritableFileStream.write(). Ova funkcija vam omogućava da kreirate rijetke datoteke s praznim prostorima i značajno pojednostavljuje organizaciju pisanja u tokove datoteka s neuređenim dolaskom blokova podataka (na primjer, to se praktikuje u BitTorrent-u).
  • Dodan StaticRange konstruktor sa implementacijom lakih tipova opsega koji ne zahtevaju ažuriranje svih povezanih objekata svaki put kada se DOM stablo promeni.
  • Implementirana je mogućnost specificiranja parametara širine i visine za elemente specificirane unutar elementa. Ova funkcija vam omogućava da izračunate omjer slike za elemente , slično kao što se radi za , i .
  • Nestandardizirana podrška za RTP kanale podataka je uklonjena iz WebRTC-a i preporučuje se korištenje SCTP-baziranih kanala podataka umjesto njih.
  • Svojstva navigator.plugins i navigator.mimeTypes sada uvijek vraćaju praznu vrijednost (nakon što je Flash podrška prestala, ova svojstva više nisu bila potrebna).
  • Veliki dio malih poboljšanja napravljen je u alatima za web programere i dodat je novi CSS alat za otklanjanje grešaka, flexbox.
    Chrome izdanje 90

Pored inovacija i ispravki grešaka, nova verzija eliminiše 37 ranjivosti. Mnoge ranjivosti su identifikovane kao rezultat automatizovanog testiranja pomoću alata AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nisu identifikovani kritični problemi koji bi omogućili da se zaobiđu svi nivoi zaštite pretraživača i izvrši kod na sistemu izvan okruženja sandbox-a. Kao dio programa novčane nagrade za otkrivanje ranjivosti za trenutno izdanje, Google je isplatio 19 nagrada u vrijednosti od 54000 dolara (jedna nagrada od 20000 dolara, jedna nagrada od 10000 dolara, dvije nagrade od 5000 dolara, tri nagrade od 3000 dolara, jedna nagrada od 2000 dolara, jedna nagrada od 1000 dolara i četiri nagrade od 500 dolara ). ). Veličina 6 nagrada još nije određena.

Odvojeno, može se primijetiti da je jučer, nakon formiranja korektivnog izdanja 89.0.4389.128, ali prije izlaska Chromea 90, objavljen još jedan exploit koji je koristio novu ranjivost od 0 dana koja nije ispravljena u Chromeu 89.0.4389.128 . Još nije jasno da li je ovaj problem popravljen u Chromeu 90. Kao iu prvom slučaju, eksploatacija pokriva samo jednu ranjivost i ne sadrži kod za zaobilaženje izolacije sandbox-a (kada se Chrome pokreće sa zastavicom “--no-sandbox” , eksploatacija se javlja kada otvaranje web stranice na Windows platformi vam omogućava da pokrenete Notepad). Ranjivost povezana s novim eksploatacijom utječe na WebAssembly tehnologiju.

izvor: opennet.ru

Dodajte komentar