En ny version af Chrome 86 og en stabil udgave af Chromium er blevet udgivet.
De vigtigste ændringer i Chrome 86:
- beskyttelse mod usikker indsendelse af inputformularer på sider, der er indlæst via HTTPS, men som sender data via HTTP.
- Blokeringen af usikker indlæsning (http) af eksekverbare filer er suppleret med blokeringen af usikker indlæsning af arkiver (zip, iso osv.) og visning af advarsler ved usikker indlæsning af dokumenter (docx, pdf osv.). Den næste version forventes at blokere dokumenter og vise en advarsel for billeder, tekst- og multimediefiler. Blokeringen er implementeret, da indlæsning af filer uden kryptering kan bruges til at udføre skadelige handlinger ved at ændre indholdet i MITM-angreb.
- I kontekstmenuen vises som standard muligheden "Vis altid URL'en fuldt ud", som tidligere krævede en ændring af indstillingerne på siden about:flags for at aktivere. Den fulde URL kan også ses ved at dobbeltklikke på adresseringslinjen. Vi minder om, at fra og med Chrome 76 er adressen som standard blevet vist uden protokol og underdomæne www. I Chrome 79 blev indstillingen for at gendanne den gamle adfærd fjernet, men efter brugertilfredshed blev der i Chrome 83 tilføjet et nyt eksperimentelt flag, der tilføjer en post til kontekstmenuen for at deaktivere skjult visning og visning af den fulde URL under alle omstændigheder.
- Initiativet om at fjerne støtte til FTP er genoptaget. I Chrome 86 er FTP deaktiveret som standard for omkring 1% af brugerne, og i Chrome 87 vil omfanget af deaktiveringsøvelsen blive øget til 50%, men støtten kan gensaktivere ved hjælp af flaget "—enable-ftp" eller "—enable-features=FtpProtocol". I Chrome 88 vil FTP-støtten blive helt fjernet.
- I Android-versionen, ligesom i desktopversionen, er der implementeret en kontrol af gemte loginoplysninger og adgangskoder mod en database med kompromitterede konti, med en advarsel der vises i tilfælde af problemer eller forsøg på at bruge trivielle adgangskoder. Kontrollen udføres mod en database, der dækker over 4 milliarder kompromitterede konti, der har været involveret i lækager af brugerdata. For at bevare privatlivets fred anvendes en hash-præfiksverificering på brugerens side, og de faktiske adgangskoder samt deres fulde hashes sendes ikke ud.
- Til Android-versionen er knappen "Sikkerhedskontrol" (Safety check) og den udvidede tilstand for beskyttelse mod farlige websites (Enhanced Safe Browsing) også blevet flyttet. Knappen "Safety check" viser et overblik over potentielle sikkerhedsproblemer, såsom brugen af kompromitterede adgangskoder, status for kontrol af skadelige websites (Safe Browsing), tilgængeligheden af ikke-installationer opdateringer og identifikation af skadelige tilføjelser. Den udvidede beskyttelsesindstilling aktiverer yderligere kontroller for at beskytte mod phishing, skadelig aktivitet og andre trusler på nettet, samt inkluderer ekstra beskyttelse til Google-kontoen og Google-tjenester (Gmail, Drive osv.). Hvis kontrollerne i den normale Safe Browsing-tilstand udføres lokalt mod en database, der periodisk opdateres på klientens system, sendes information om sider og downloads i realtid til kontrol på Googles side i Enhanced Safe Browsing, hvilket muliggør hurtig reaktion på trusler straks efter deres identifikation, uden at skulle vente på opdatering af den lokale sorte liste.
- Støtten til indikatorfilen ".well-known/change-password" er blevet tilføjet, hvormed webstedsejere kan angive adressen til en webformular til ændring af adgangskoden. I tilfælde af, at der opdages kompromittering af brugerens legitimationsoplysninger, vil Chrome nu straks tilbyde brugeren en formular til at ændre adgangskoden, som er defineret ud fra informationen fra denne fil.
- Implementering af en ny advarsel «Safety Tip», der vises, når der åbnes websteder, hvis domæne ligner et andet websted, og heuristikken viser, at der er stor sandsynlighed for spoofing (for eksempel åbnes goog0le.com i stedet for google.com).
* Implementeret understøttelse af back-forward cache, som muliggør øjeblikkelig navigation ved brug af knapperne "Tilbage" og "Frem" eller ved at navigere på tidligere besøgte sider på det nuværende websted. Cachen aktiveres ved hjælp af indstillingen chrome://flags/#back-forward-cache.
- Optimering af CPU-ressourceforbruget for vinduer uden for synsfeltet. Chrome kontrollerer, om browservinduet bliver dækket af andre vinduer, og udelader pixel-rendering i overlapningsområder. Denne optimering blev aktiveret for en lille procentdel af brugerne i Chrome 84 og 85, men er nu blevet aktiveret universelt. I forhold til tidligere versioner er der også løst inkompatibilitetsproblemet med virtualiseringssystemer, som medførte, at tomme hvide sider blev vist.
- Strammere ressourcebegrænsninger for baggrundsfaner. Sådanne faner må nu ikke forbruge mere end 1% af CPU-ressourcerne og kan aktiveres højst én gang i minuttet. Efter fem minutters baggrundsophold fryses fanerne, undtagen de faner der afspiller multimedieindhold eller optager.
- Arbejdet med at standardisere HTTP-headeren User-Agent er genoptaget. I den nye version er understøttelsen af mekanismen User-Agent Client Hints aktiveret for alle brugere som erstatning for User-Agent. Det nye system indebærer selektiv tilbagesendelse af data om specifikke browser- og systemparametre (version, platform osv.) kun efter anmodning fra serveren, hvilket giver brugerne mulighed for selektivt at give sådanne oplysninger til webstedsejere. Ved brug af User-Agent Client Hints overføres identifikatoren som standard ikke uden en eksplicit anmodning, hvilket gør passiv identifikation umulig (som standard angives kun browserens navn).
Indikatoren for opdateringer og behovet for at genstarte browseren for at installere den er blevet ændret. I stedet for en farvet pil i kontoens avatar vises nu teksten "Update". - Der er arbejdet på at implementere inklusiv terminologi i browseren. I politiknavne er ordene "whitelist" og "blacklist" blevet ændret til "allowlist" og "blocklist" (allerede eksisterende politikker vil fortsætte med at fungere, men der vil blive vist en advarsel om, at de bliver betragtet som forældede). I koden og filnavne er omtaler af "blacklist" blevet ændret til "blocklist". Brugersynlige omtaler af "blacklist" og "whitelist" blev ændret allerede i starten af 2019.
Tilføjet en eksperimentel mulighed for at redigere gemte adgangskoder, der aktiveres ved hjælp af flaget "chrome://flags/#edit-passwords-in-settings". - Oversat til klassen af stabile og offentligt tilgængelige API'er, Native File System API, som gør det muligt at skabe webapplikationer, der interagerer med filer i det lokale filsystem. For eksempel kan det nye API være eftertragtet i browserbaserede integrerede udviklingsmiljøer, teksteditorer, billedredigeringsprogrammer og videoredigeringssoftware. For at få mulighed for direkte læsning og skrivning af filer eller bruge dialogbokse til åbning og gemming af filer samt navigering gennem indholdet af mapper, skal applikationen anmode brugeren om en særlig bekræftelse.
- CSS-selektoren ":focus-visible" er blevet tilføjet, som anvender den samme heuristik, der bruges af browseren, når den beslutter at vise indikatoren for fokusændring (når fokus flyttes til en knap med tastaturkombinationer, vises indikatoren, mens den ikke vises ved klik med musen). Den tidligere tilgængelige CSS-selektor ":focus" fremhæver altid fokus. Desuden er der tilføjet en indstilling til "Quick Focus Highlight", som i aktiveret tilstand viser en ekstra fokusindikator ved siden af aktive elementer, der forbliver synlig, selv hvis elementer til visuel fremhævelse af fokus er deaktiveret gennem CSS.
- I Origin Trials (eksperimentelle funktioner, der kræver separat aktivering) er der tilføjet flere nye API'er. Origin Trial indebærer muligheden for at arbejde med den angivne API fra applikationer, der er indlæst fra localhost eller 127.0.0.1, eller efter tilmelding og modtagelse af et særligt token, der er gyldigt i en begrænset periode for et specifikt websted.
- WebHID-API’et for lavniveau adgang til HID-enheder (Human Interface Device, tastaturer, mus, game controllere, touchpads), der gør det muligt at implementere logikken til arbejde med HID-enheder i JavaScript for at organisere brugen af sjældne HID-enheder uden specifikke drivere i systemet. Først og fremmest er det nye API rettet mod at give støtte til game controllere.
- API'et Screen Information udvider mulighederne for API'et Window Placement med støtte til konfigurationer med flere skærme. I modsætning til window.screen gør det nye API det muligt at manipulere placeringen af vinduer i det samlede skærmrums bredde af multimonitor-systemer uden at være begrænset til den aktuelle skærm.
- Meta-tagget battery-savings, som gør det muligt for websitet at informere browseren om behovet for at aktivere energibesparende tilstande og optimere belastningen på CPU'en.
- API'et COOP Reporting til at informere om potentielle overtrædelser af isolationsregimerne Cross-Origin-Embedder-Policy (COEP) og Cross-Origin-Opener-Policy (COOP) uden at anvende faktiske begrænsninger.
- I API Credential Management er der foreslået en ny type legitimationsoplysninger, PaymentCredential, som giver en ekstra bekræftelse af den gennemførte betalingsoperation. Den kontrollerende part, f.eks. en bank, har mulighed for at generere en offentlig nøgle, PublicKeyCredential, som kan anmodes om af sælgeren for en ekstra sikker bekræftelse af betalingen.
- I API PointerEvents er der tilføjet support til vinkelhældning for stylus* for at bestemme højdevinkler (vinklen mellem stylus og skærm) og azimut (vinklen mellem X-aksen og projektionen af stylus på skærmen), i stedet for TiltX og TiltY (vinklerne mellem stylen og en af akserne og planerne af akserne Y og Z). Der er også tilføjet funktioner til konvertering mellem højde/azimut og TiltX/TiltY.
- Kodningen af mellemrum i URL er ændret, så når det beregnes i protokolsbehandlere, erstatter metoden navigator.registerProtocolHandler() nu mellemrum med «» i stedet for «+», hvilket standardiserer adfærden med andre browsere som Firefox.
- Der er tilføjet en pseudo-element "::marker" i CSS, der gør det muligt at tilpasse farve, størrelse, form og type for numre og prikker i lister i
- og
- .
- Der er tilføjet support til HTTP-headeren Document-Policy, som giver mulighed for at definere adgangsregler for dokumenter, der ligner sandbox-isoleringsmekanismen for iframe, men mere generelt. For eksempel kan der gennem Document-Policy begrænses brugen af lavkvalitets billeder, deaktiveres langsomme JavaScript API'er, tilpasses regler for indlæsning af iframe, billeder og scripts, begrænses den samlede størrelse af dokumentet og trafik, forbydes metoder, der fører til gen-tegning af siden, og deaktiveres Scroll-To-Text funktionen.
- Der er tilføjet support for parametrene 'inline-grid', 'grid', 'inline-flex' og 'flex' i
- Der er tilføjet metoden ParentNode.replaceChildren() til at erstatte alle underordnede elementer i en forælderknude med en anden DOM-knude. Tidligere kunne noder erstattes ved hjælp af en kombination af metoderne node.removeChild() og node.append() eller node.innerHTML og node.append().
- Spektrum af URL-schemer, der er tilladt for overskrivelse ved hjælp af registerProtocolHandler(), er udvidet. Listen over skemaer inkluderer decentrale protokoller som cabal, dat, did, dweb, ethereum, hyper, ipfs, ipns og ssb, hvilket gør det muligt at definere links til elementer uafhængigt af den hjemmeside eller gateway, der giver adgang til ressource.
- I API Asynchronous Clipboard er der tilføjet support for formatet text/html til kopiering og indsættelse af HTML via udklipsholderen (ved skrivning og læsning til udklipsholderen renses farlige HTML-konstruktioner). Denne ændring muliggør for eksempel indsprøjtning og kopiering af formateret tekst med billeder og links i webredaktører.
- I WebRTC er det nu muligt at tilslutte egne databehandlere, der kaldes under kodnings- eller dekodningsstadierne for WebRTC MediaStreamTrack. Denne funktion kan f.eks. bruges til at tilføje support for ende-til-ende kryptering af data, der overføres via mellemservere.
I JavaScript-motoren V8 er implementeringen af Number.prototype.toString blevet 75% hurtigere. Asynkrone klasser har fået egenskaben .name med en tom værdi. Metoden Atomics.wake, der tidligere blev omdøbt til Atomics.notify for at overholde ECMA-262-specifikationen, er blevet fjernet. Koden for JS-Fuzzer værktøjet til fuzzing-test er blevet åbnet. - Den baseline-kompilator Liftoff til WebAssembly, der blev brugt i den tidligere udgave, har nu mulighed for at bruge SIMD Vektor-instruktioner til at fremskynde beregninger. Ifølge tests har optimeringen gjort det muligt at fremskynde udførelsen af visse tester med 2,8 gange. En anden optimering har betydeligt fremskyndet kald til importerede JavaScript-funktioner fra WebAssembly.
- Værktøjerne til webudviklere er blevet udvidet: Panelen Media indeholder nu oplysninger om de afspiller, der bruges til at afspille video på siden, inklusive data om hændelser, logfiler, egenskaber og rammedekodningsparametre (for eksempel kan man identificere årsagerne til tab af rammer og problemer ved interaktion fra JavaScript).
- I kontekstmenuen i Elements-panelet er det nu muligt at tage screenshots af det valgte element (for eksempel kan man tage et screenshot af indholdsfortegnelsen eller tabellen).
- Advarselspanelet i webkonsollen er blevet erstattet med en almindelig meddelelse, og problemer med tredjeparts cookies er som standard skjult under fanen Issues og kan aktiveres med en særlig markering.
- I Rendering-fanen er der tilføjet en knap 'Deaktiver lokale skrifttyper', der simulerer fraværet af lokale skrifttyper, og i Sensors-fanen er der tilføjet muligheden for at simulere brugerens inaktivitet (til applikationer, der bruger API Idle Detection).
- I Application-panelet er der givet detaljerede oplysninger om hver iframe, åbne vinduer og pop-ups, inklusive data om tværgående isolering ved hjælp af COEP og COOP.
Erstatningen af QUIC-protokollens implementering er begyndt med en variant, der er under udvikling i IETF-specifikationen, i stedet for Googles version af QUIC.
Udover nye funktioner og fejlrettelser er der i den nye version rettet 35 sårbarheder. Mange af sårbarhederne blev påvist som følge af automatiseret test med værktøjer som AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL. En sårbarhed (CVE-2020-15967, adgang til frigivet hukommelsesområde i koden til interaktion med Google Payments) er markeret som kritisk, hvilket betyder, at den kan omgå alle browserbeskyttelseslag og udføre kode i systemet uden for sandbox-miljøet. I forbindelse med programmet for udbetaling af belønninger for opdagelse af sårbarheder har Google i denne version udbetalt 27 præmier for i alt 71.500 USD (én præmie på 15.000 USD, tre præmier på 7.500 USD, fem præmier på 5.000 USD, to præmier på 3.000 USD, én præmie på 200 USD og to præmier på 500 USD). Størrelsen af 13 præmier er endnu ikke fastsat.
Taget fra Opennet.ru
Kilde: linux.org.ru
