Google esitles Chrome 90 veebi brauseri vĂ€ljaande. Samal ajal on saadaval stabiilne versioon avatud projekti Chromium, mis on Chrome'i alus. Chrome'i brauser eristub Google'i logo kasutamise, krahhi korral teavitussĂŒsteemi, kaitstud videoinfo (DRM) esitamise moodulite, automaatse vĂ€rskenduste installimise ja RLZ-parameetrite edastamise otsingu ajal. JĂ€rgmine Chrome'i vĂ€ljaanne, Chrome 91, on planeeritud 25. maiks.
Chrome 90 peamised muudatused:
- Kasutajatele on vaikimisi lubatud avada saidid HTTPS-i kaudu, kui hostinimesid sisestatakse aadressiribale. NÀiteks sisestades hosti example.com avatakse vaikimisi veebisait https://example.com, ja kui avamisel tekivad probleemid, tagastatakse http://example.com. Vaikimisi 'https://' kasutamise haldamiseks on ette nÀhtud seadistus 'chrome://flags#omnibox-default-typed-navigations-to-https'.
- On rakendatud vĂ”imalus mÀÀrata erinevad sildid akendele, et neid oleks lihtsam töölaua paneelis eristada. Akna nime muutmise tugi lihtsustab töö korraldamist, kui brauseris kasutatakse erinevaid aknaid erinevate ĂŒlesannete jaoks, nĂ€iteks tĂ¶Ă¶ĂŒlesannete, isiklike huvide, meelelahutuse, hiljem vaatamiseks mĂ”eldud materjalide jms avamiseks. Nime saab muuta, valides konteksti menĂŒĂŒst 'Lisa akna nimi' tĂŒhjas piirkonnas vahekaartide riba. PĂ€rast nime muutmist kuvatakse rakenduste paneelis aktiivse vahekaardi saidi nime asemel valitud nimi, mis vĂ”ib olla kasulik, kui avada sama saidi aknaid erinevate kontodega. Sidumine salvestatakse sessioonide vahel ja aknad taastatakse valitud nimedega pĂ€rast taaskĂ€ivitamist.

- Lisatud on vĂ”imalus peita "Lugemisnimekiri" (Reading List) ilma, et oleks vaja muuta seadeid "chrome://flags" ("chrome://flags#read-later"). NĂŒĂŒd on lugemisnimekirja peitmiseks saadaval valik "Show Reading List" kontekstimenĂŒĂŒ alumises osas, mis kuvatakse hiire paremklĂ”psamisel jĂ€rjehoidjate paneelil. Tuletame meelde, et eelmises versioonis ilmus osade kasutajate jaoks aadressiribale klikkides star-ikooni kĂ”rval peale nupule "Lisa jĂ€rjehoidja" teine nupp "Lisa lugemisnimekirja", ning jĂ€rjehoidjate paneeli paremas nurgas ilmus lugemisnimekiri, kus on loetletud kĂ”ik varem lisatud lehed. Kui avate lehe nimekirjast, mĂ€rgistatakse see loetud. Lehti nimekirjas saab samuti kĂ€sitsi mĂ€rkida loetuteks ja loetuteks vĂ”i nimekirjast kustutada.
- Lisatud on vĂ”rgu segmenteerimise tugi, et kaitsta kasutaja liikumisjĂ€lgimise meetodite eest, mis pĂ”hinevad identifikaatorite salvestamisel aladel, mis ei ole mĂ”eldud teabe pĂŒsivaks salvestamiseks ("Supercookies"). Kuna vahemĂ€lu ressursid salvestatakse ĂŒhte ruumi nimekirja olenemata algsest domeenist, vĂ”ib ĂŒks sait mÀÀrata, kas see laadib ressursse teiselt saitilt, kontrollides, kas see ressurss on vahemĂ€lus olemas. Kaitse pĂ”hineb vĂ”rgu segmenteerimise (Network Partitioning) rakendamise kaudu, mille olemus seisneb ĂŒhiste vahemĂ€lu sissekanete ĂŒhendamises. domeeniga, kust pĂ”hileht avatakse, mis piirab jĂ€lgimisskriptide vahemĂ€lu ulatust ainult praegusele saidile (iframe'i skript ei saa kontrollida, kas ressurss laaditi mujalt saidilt). Segmenteerimise hind on vahemĂ€lu tĂ”hususe vĂ€henemine, mis toob kaasa kerge ajaviibete kasvu lehe laadimisel (kuni 1,32%, kuid 80% saitidest 0,09-0,75%).
- TĂ€iendatud on musta nimekirja vĂ”rgupordi jaoks, mille kaudu blokeeritakse HTTP, HTTPS ja FTP-pĂ€ringute saatmine, et kaitsta NAT slipstreamingu rĂŒnnaku eest, mis vĂ”imaldab avada spetsiaalselt rĂŒndaja ettevalmistatud veebilehte brauseris ning luua vĂ”rguĂŒhendus. serverid rĂŒnnaku suunatud UDP vĂ”i TCP pordile kasutaja sĂŒsteemis, hoolimata sisemiste aadresside vahemikult (192.168.x.x, 10.x.x.x). Keelatud portide hulka on lisatud 554 (RTSP protokoll) ja 10080 (kasutatakse Amanda varundamise ja VMWare vCenter'is). Varasemalt olid blokeeritud pordid 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 ja 6566.
- Lisatud esialgne tugi PDF-dokumentide avamiseks veebibrauseris, kus on XFA-vormid.
- MĂ”nedele kasutajatele on aktiveeritud uus seadete sektsioon «Chrome Settings > Privacy and security > Privacy sandbox», mis vĂ”imaldab hallata FLoC API seadistusi, mille eesmĂ€rk on mÀÀrata kasutaja huvikategooria ilma isiku tuvastamiseta ja ilma konkreetsete veebilehtede kĂŒlastamise ajalooga seondumata.
- Tagatud on arusaadavam teate ilmumine, kus on loetletud lubatud tegevused, mis kuvatakse, kui kasutaja ĂŒhendub profiiliga, mille puhul on sisse lĂŒlitatud keskne haldamine.
- Loodud on vĂ€hem pealetĂŒkkiv volituste taotlemise liides. Taotlused, mida kasutaja tĂ”enĂ€oliselt ei kiida heaks, blokeeritakse automaatselt, kuvades vastava indikaatori aadressiribal, mille kaudu kasutaja saab minna liidesele, et hallata volitusi iga saidi kaupa.

- Lisatud on Intel CET (Intel Control-flow Enforcement Technology) laienduste tugi, et tagada riistvaraline kaitse ROP (Return-Oriented Programming) tehnikatega ĂŒles ehitatud eksploitide eest.
- Tööd jĂ€tkatakse brauseri ĂŒleminekul kaasava terminoloogia kasutamisele. Fail «master_preferences» on ĂŒmber nimetatud «initial_preferences»'iks, et mitte kahjustada kasutajate tundeid, kes tajuvad sĂ”na master kui vihjet nende esivanemate minevikule. Ăhilduvuse tagamiseks sĂ€ilitatakse «master_preferences» toe mĂ”neks ajaks veel brauseris. Varasemalt on brauser juba vabanenud sĂ”nade «whitelist», «blacklist» ja «native» kasutamisest.
- Androidi versioonis, kui on aktiveeritud âLiteâ andmesÀÀstereĆŸiim, on ellu viidud bitimÀÀrade vĂ€hendamine videote laadimisel mobiilside operaatorite vĂ”rkudesse ĂŒhendudes, mis vĂ”imaldab vĂ€hendada kulusid kasutajatele, kellel on aktiveeritud andmepakettide plaanid. âLiteâ reĆŸiimis on samuti tagatud piltide tihendamine, mis pĂ€rinevad avalikult ligipÀÀsetavatelt ressurssidelt (mis ei nĂ”ua autentimist) ĂŒle HTTPS-i.
- Lisatud AV1 videoformaatide kodeerija, mis on spetsiaalselt optimeeritud videokonverentside jaoks, mida viiakse ellu WebRTC protokolli alusel. AV1 kasutamine videokonverentsides vÔimaldab parandada tihenduse efektiivsust ja vÔimaldab edastada kanalitel, mille lÀbilaskevÔime on 30 kbit/s.
- JavaScriptis on Array, String ja TypedArrays objektides rakendatud meetod at(), mis vĂ”imaldab kasutada suhtelist indeksatsiooni (indeksina kasutatakse suheldavat positsiooni), sealhulgas negatiivsete vÀÀrtuste mÀÀramist lĂ”pu suhtes (nĂ€iteks âarr.at(-1)â tagastab massiivi viimase elemendi).
- JavaScriptis on regulaarsete vĂ€ljendite jaoks lisatud omadus â.indicesâ, mis sisaldab massiivi, kus on alg- ja lĂ”pp-positsioonid vastegruppide jaoks. Omadus tĂ€idetakse ainult siis, kui regulaarset vĂ€ljendit kĂ€ivitatakse â/dâ lipuga. const re = /(a)(b)/d; const m = re.exec(âabâ); console.log(m.indices[0]); // 0 â kĂ”ik vastegrupid // â [0, 2] console.log(m.indices[1]); // 1 â esimene vastegrupp // â [0, 1] console.log(m.indices[2]); // 2 â teine vastegrupp // â [1, 2]
- Parandatud on omaduse âsuperâ (nĂ€iteks super.x) toimivust, mille jaoks on kasutusel sisseehitatud vahemĂ€lu. âSuperâ kasutamise toimivus on nĂŒĂŒd lĂ€hedane tavalistele omadustele juurdepÀÀsu toimivusele.
- WebAssembly funktsioonide vĂ€ljakutsuminen JavaScriptist on oluliselt kiirenenud inline-deployimise kasutamise tĂ”ttu. Antud optimeerimine jÀÀb hetkel eksperimentaalseks ja nĂ”uab kĂ€ivitamist lipuga ââturbo-inline-js-wasm-callsâ.
- Lisatud on WebXR sĂŒgavustunde API, mis vĂ”imaldab mÀÀrata vahemaa kasutaja ĂŒmbritsevate objektide ja kasutaja seadme vahel, nĂ€iteks ajat mĂ”lema jaoks realistlikumate tĂ€iendava reaalsuse rakenduste loomisel. Tuletame meelde, et WebXR API vĂ”imaldab ĂŒhtlustada erinevate virtuaalreaalsuse seadmete klasside kasutamist alates statsionaarsetest 3D-prillidest kuni mobiilsetele lahendustele.
- Kindlustatud on WebXR AR valgustuse hindamise vĂ”imalus, mis lubab WebXR seansse jaoks mÀÀratleda ĂŒmbritseva valgustuse omadusi, et anda mudelitele loomulikumat vĂ€limust ja harmoonilisemat integreerimist kasutaja keskkonnaga.
- Alguskatse reĆŸiimis (eksperimentaalsed funktsioonid, mis nĂ”uavad eraldi aktiveerimist) on lisatud mitu uut API-d, mis on praegu piiratud Androidi platvormiga. Alguskatse vĂ”imaldab koostada antud API-d rakendustes, mis on laaditud localhost vĂ”i 127.0.0.1, vĂ”i pĂ€rast registreerimist ja spetsiaalse ajutise tokeni saamist, mis kehtib konkreetse saidi jaoks piiratud aja.
- Meetod getCurrentBrowsingContextMedia(), mis vÔimaldab korraldada videovoogude MediaStream jÀÀdvustamist, mis kajastab praeguse vahekaartide sisu. Erinevalt sarnasel meetodil getDisplayMedia() kuvab getCurrentBrowsingContextMedia() kasutajale lihtsa dialooge video edastamise kinnitamiseks vÔi blokeerimiseks.
- API Insertable Streams, mis vÔimaldab manipuleerida töötlemata (raw) meediavoogudega, mis edastatakse API MediaStreamTrack kaudu, nagu andmed kaamerast ja mikrofonist, ekraani jÀÀdvustamise tulemus vÔi koodeki dekodeerimise vahe-ainete andmed. Töötlemata kaadrite esitamiseks kasutatakse WebCodec liideseid, millele jÀrgneb voog, mis on sarnane sellele, mida API WebRTC Insertable Streams genereerib RTCPeerConnections'i pÔhjal. Praktiliselt vÔimaldab uus API rakendada selliseid funktsioone nagu masinÔppemeetodite kohaldamine objektide tuvastamiseks vÔi mÀrgistamiseks reaalajas vÔi efektide, nagu tausta eemaldamine, lisamine enne kodeerimist vÔi pÀrast dekodeerimist koodeki poolt.
- VĂ”ime pakkida ressursse pakettidesse (Web Bundle) suure hulga kaasnevate failide (CSS-stiilid, JavaScript, pildid, iframe) tĂ”husamaks laadimiseks. Web Bundleâi olemasolevate paketitoetuste puudustest JavaScripti failide jaoks (webpack), mida pĂŒĂŒtakse parandada: HTTP-vahemĂ€lus vĂ”ib jÀÀda ainult pakett, mitte selle koostisosad; kompileerimine ja tĂ€itmine vĂ”ivad alata alles pĂ€rast kogu paketi laadimist; lisavahendid, nagu CSS ja pildid, peavad olema kodeeritud JavaScripti reana, mis suurendab suurust ja nĂ”uab veel ĂŒhe analĂŒĂŒsi etapi tĂ€itmist.
- Veeb Assembly' s eksituste kÀsitlemise toe toetamist.
- Stabiliseeritud API Declarative Shadow DOM'i jaoks uute juureharude loomiseks Shadow DOM'is, nÀiteks imporditud kolmanda osapoole elemendi stiili ja sellega seotud DOM-i haru eraldamiseks pÔhitekstist. Pakutud deklaratiivne API vÔimaldab DOM-i harude eraldamiseks kasutada ainult HTML-i, ilma JavaScripti koodi kirjutamiseta.
- CSS-i omaduses aspect-ratio, mis vĂ”imaldab seostada kĂŒlgede suhet igasuguste elementidega (puuduvate suuruste automaatse arvutamise jaoks, kui on mÀÀratud ainult kĂ”rgus vĂ”i laius), on rakendatud vĂ”imalus vÀÀrtuste interpoleerimiseks animatsiooni ajal (sile ĂŒleminek ĂŒhe kĂŒlgede suhte vÀÀrtusest teise).
- Lisatud on vÔimalus peegeldada kohandatud HTML-elementide olekut CSS-is lÀbi pseudo-klassi ':state()'. Funktsionaalsust on ellu viidud sarnaselt sellele, kuidas emakeelseid HTML-elemente saab muuta sÔltuvalt kasutajaga suhtlemisest.
- CSS-i omaduses «appearance» on lisatud toe vÀÀrtusele 'auto', mis on vaikimisi mÀÀratud ja jaoks, ning Androidi platvormil lisaks , , , ja jaoks.
- CSS-i omadusse «overflow» on lisatud toe vÀÀrtusele «clip», mille rakendamisel lĂ”igatakse ploki piire ĂŒletav sisu ploki lubatud ĂŒleujutuse piirist ilma kerimise vĂ”imaluseta. Uue CSS-i omaduse «overflow-clip-margin» kaudu mÀÀratakse, kui kaugele sisu vĂ”ib ploki tegelikest piiridest vĂ€lja ulatuda enne lĂ”ikamist. «overflow: clip» kasutamine vĂ”imaldab vĂ”rreldes «overflow: hidden» pealmise kiirusel saavutada paremaid toimimisnĂ€itajaid.


- HTTP-pĂ€ise Feature-Policy asemel on loodud uus pĂ€is Permissions-Policy, et hallata volituste delegeerimist ja tĂ€iustatud vĂ”imaluste aktiveerimist, milles on toe struktuurilistele vĂ€li vÀÀrtustele (nĂ€iteks, nĂŒĂŒd saab mĂ€rkida âPermissions-Policy: geolocation=()â asemele âFeature-Policy: geolocation ânone'â).
- Suurendatud kaitset Protocol Buffersi kasutamise vastu rĂŒnnakute jaoks, mis on pĂ”hjustatud spekulatiivse kĂ€ivitussoorituse puhul protsessorites. Kaitse on rakendatud lĂ€bi MIME-tĂŒĂŒbi âapplication/x-protobufferâ lisamise, mis on kunagi mitte kuulatud (sniffed) MIME-tĂŒĂŒpide loendis, mille töötlemine toimub mehhanismi Cross-Origin-Read-Blocking kaudu. Varasemalt on sarnasesse loendisse juba lisatud MIME-tĂŒĂŒp âapplication/x-protobufâ, kuid MIME-tĂŒĂŒp âapplication/x-protobufferâ jĂ€i unustusse.
- File System Access API-s on rakendatud vĂ”imalus nihutada praegust positsiooni failis selle lĂ”pust, tĂ€ites vahe tĂŒhikutega jĂ€rgmise kirjutamise kaudu kutsungiga FileSystemWritableFileStream.write(). Antud vĂ”imalus vĂ”imaldab luua Ă”hukesi faile tĂŒhikute ja oluliselt lihtsustab andmete striimide kirjutamise korraldust failis, mille plokid tulevad ebaĂŒhtlaselt (nĂ€iteks, seda praktiseeritakse BitTorrentis).
- Lisatud konstruktor StaticRange, mille abil on loodud kergete Range tĂŒĂŒpide rakendamine, mis ei nĂ”ua kĂ”igi seotud objektide vĂ€rskendamist iga kord, kui DOM-puule tehakse muudatus.
- On võimalik määrata parameetreid width ja height elementide jaoks <source>, mis on määratud elemendi sees <picture>. See võimalus võimaldab arvutada elementide kuvasuhet <picture>, sarnaselt sellele, kuidas see on tehtud <img>, <canvas> ja <video>.
- WebRTC-st on eemaldatud mitte standardiseeritud RTP andmekanalite tugi (RTP Data Channels), mille asemele on soovitatav kasutada SCTP pÔhiseid andmekanaleid.
- Sellel on omadused navigator.plugins ja navigator.mimeTypes, mis nĂŒĂŒd alati tagastavad tĂŒhja vÀÀrtuse (pĂ€rast Flashi toe lĂ”ppu on nende omaduste vajalikkus kadunud).
- Suurem hulk vÀikeseid tÀiustusi on lisatud veebiarendustööriistadesse ning uus tööriist on lisatud CSS flexboxi silumiseks.

Uues versioonis on lisaks uuendustele ja tĂ”rgete parandamisele kĂ”rvaldatud 37 haavatavust. Paljud haavatavused avastati automatiseeritud testimise tööriistade AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer ja AFL abil. Kriitilisi probleeme, mis vĂ”imaldaksid mööduda kĂ”igist brauseri kaitsetasemetest ja kĂ€ivitada sĂŒsteemis koodi vĂ€ljaspool liivakasti keskkonda, ei ole tuvastatud. Haavatavuste avastamise auhinnaprogrammi raames maksti Google'i poolt selle versiooni eest vĂ€lja 19 preemiat kokku 54 000 USA dollari ulatuses (ĂŒks preemia $20 000, ĂŒks preemia $10 000, kaks preemiat $5 000, kolm preemiat $3 000, ĂŒks preemia $2 000, ĂŒks $1 000 ja neli preemiat $500). Kuue preemia suurus ei ole veel mÀÀratud.
Erinevalt vĂ”ib mĂ€rkida, et eile, pĂ€rast korrektuuriversiooni 89.0.4389.128 loomist, kuid enne Chrome 90 vĂ€ljalaskmist, avaldati veel ĂŒks eksploite, mis kasutas uut 0-pĂ€evahaarivat haavatavust, mis ei olnud parandatud Chrome 89.0.4389.128. Praegu ei ole selge, kas see probleem on Chrome 90-s lahendatud. Nagu esimeseski juhul, katab eksploite ainult ĂŒhte haavatavust ja ei sisalda koodi liivakasti isoleerimise möödumiseks (Chrome'i kĂ€ivitamisel lipuga "--no-sandbox" avades veebilehte Windowsi platvormil, tagab eksploite notepadi kĂ€ivitamise). Uue eksploite'iga seotud haavatavus mĂ”jutab WebAssembly tehnoloogiat.
Allikas: opennet.ru





