Kompania Google prezantoi publikimin e shfletuesit web Chrome 90. Po kështu, është në dispozicion një version stabil i projektit të lirë Chromium, që shërben si baza për Chrome. Shfletuesi Chrome dallon për përdorimin e logove të Google, për sistemin e dërgimit të njoftimeve në rast të dështimit, modul të shumtë për riprodhimin e përmbajtjes së mbrojtur video (DRM), sistemin automatik të përditësimeve dhe transmetimin e parametrave RLZ gjatë kërkimeve. Publikimi i ardhshëm i Chrome 91 është planifikuar për 25 maj.
Ndryshimet kryesore në Chrome 90:
- Për të gjithë përdoruesit është aktivizuar hapja e faqeve si default përmes HTTPS kur shkruajnë emrat e hosteve në shiritin e adresave. Për shembull, kur shkruani hostin example.com, do të hapet automatikisht faqja https://example.com, dhe nëse ka probleme gjatë hapjes, do të rikthehet në http://example.com. Për të menaxhuar përdorimin si default "https://", është propozuar një cilësim "chrome://flags#omnibox-default-typed-navigations-to-https".
- I është implementuar mundësia e caktimit të etikave të ndryshme për dritaret, për ndarjen e saj vizuale në panelin e desktopit. Mbështetje për ndryshimin e emrit të dritares do ta lehtësojë organizimin e punës kur përdoren dritare të veçanta të shfletuesit për detyra të ndryshme, për shembull, kur hapen dritare të veçanta për punët, interesat personale, argëtimin, materialet e vonuara, etj. Emri ndryshohet përmes opsionit "Shto emrin e dritares" në menunë kontekstuale që shfaqet duke klik-uar me butonin e djathtë të mausit në një zonë të zbrazët në shiritin e skedave. Pasi të ndryshohet emri, në panelin e aplikacioneve do të shfaqet emri i përzgjedhur në vend të emrit të faqes nga skeda aktive, gjë që mund të jetë e dobishme kur hapen faqet e njëjta në dritare të ndryshme të lidhura me llogari të veçanta. Lidhja ruhet midis seancave dhe pas rindizjes, dritaret do të rikthehen me emrat e përzgjedhur.

- Shtesa e mundësisë për të fshehur "Listën e Leximit" pa ndryshuar cilësimet në "chrome://flags" ("chrome://flags#read-later"). Tani mund të përdorni opsionin "Shfaq Listën e Leximit" në pjesën e poshtme të menusë kontekstuale që shfaqet kur klikoni me të djathtën mbi panelin e shënimeve. Mund të rikujtojmë se në versionin e kaluar, disa përdorues, kur klikonin mbi yllin në shiritin e adresës, përveç butonit "Shto Shënim", shihnin një buton të dytë "Shto në Listën e Leximit", dhe në këndin e djathtë të panelit të shënimeve shfaqet një menu "Lista e Leximit", ku janë renditur të gjitha faqet e mëparshme të shtuar në listë. Kur hapni një faqe nga lista, ajo shënohet si e lexuar. Faqet në listë gjithashtu mund të shënohen si të lexuara dhe të pa lexuara manualisht ose të fshihen nga lista.
- Shtesa e mbĂ«shtetjes pĂ«r segmentimin e rrjetit pĂ«r tĂ« mbrojtur nga metodat e ndjekjes sĂ« lĂ«vizjeve tĂ« pĂ«rdoruesve mes faqeve, tĂ« bazuara nĂ« ruajtjen e identifikuesve nĂ« zona qĂ« nuk janĂ« tĂ« destinuara pĂ«r ruajtje tĂ« pĂ«rhershme ("Supercookies"). MeqenĂ«se burimet nĂ« memorjen e kĂ«shillave ruhen nĂ« njĂ« hapĂ«sirĂ« tĂ« pĂ«rbashkĂ«t emĂ«rtimi, pa marrĂ« parasysh domainin origjinal, njĂ« faqe mund tĂ« zbulojĂ« ngarkimin e burimeve nga njĂ« faqe tjetĂ«r pĂ«rmes verifikimit tĂ« pranisĂ« sĂ« kĂ«tij burimi nĂ« memorie. Mbrojtja mbĂ«shtetet nĂ« pĂ«rdorimin e segmentimit tĂ« rrjetit (Network Partitioning), ku qĂ«llimi Ă«shtĂ« tĂ« shtohen lidhje shtesĂ« pĂ«r regjistrat nĂ« caches e ndara. domen, nga i cili Ă«shtĂ« hapur faqja kryesore, gjĂ« qĂ« kufizon fushĂ«n e mbulimit tĂ« caches pĂ«r skriptet e ndjekjes sĂ« lĂ«vizjeve vetĂ«m nĂ« faqen aktuale (skripti nga iframe nuk do tĂ« jetĂ« nĂ« gjendje tĂ« verifikojĂ« nĂ«se burimi Ă«shtĂ« ngarkuar nga njĂ« faqe tjetĂ«r). Ămimi i segmentimit Ă«shtĂ« njĂ« ulje e efektivitetit tĂ« caching, qĂ« çon nĂ« njĂ« rritje tĂ« vogĂ«l tĂ« kohĂ«s sĂ« ngarkesĂ«s sĂ« faqes (maksimalisht 1.32%, por pĂ«r 80% tĂ« faqeve nĂ« 0.09-0.75%).
- U plotësua lista e zezë e porteve të rrjetit për të cilat bllokohet dërgimi i kërkesave HTTP, HTTPS dhe FTP me qëllim mbrojtjen nga sulmi NAT slipstreaming, që lejon, kur hapet një faqe web e përgatitur për sulm nga një përdorues në shfletues, të krijohet një lidhje rrjeti me serverë kështu përdoruesi mund të bëjë sulme ndaj çdo porti UDP ose TCP në sistemin e tij, pavarësisht nga përdorimi i intervaleve të brendshme të adresave (192.168.x.x, 10.x.x.x). Portet e ndaluara përfshijnë 554 (protokolli RTSP) dhe 10080 (përdorur në Amanda backup dhe VMWare vCenter). Më parë ishin bllokuar portet 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 dhe 6566.
- Shtuar mbështetje fillestare për hapjen e dokumenteve PDF me forma XFA në shfletues.
- PĂ«r disa pĂ«rdorues Ă«shtĂ« aktivizuar njĂ« seksion i ri i cilĂ«simeve âChrome Settings > Privacy and security > Privacy sandboxâ, i cili lejon menaxhimin e parametrave tĂ« API FLoC, tĂ« destinuar pĂ«r tĂ« pĂ«rcaktuar kategorinĂ« e interesave tĂ« pĂ«rdoruesit pa identifikim individual dhe pa lidhje me historinĂ« e vizitave nĂ« faqe tĂ« caktuara.
- Siguruar një paralajmërim më të qartë me një listë veprimesh të lejuara, i cili shfaqet kur përdoruesi lidhet me një profil për të cilin është aktivizuar menaxhimi qendror.
- Interfaca e kërkesës për autorizime është bërë më pak e bezdisshme. Kërkesat që përdoruesi me siguri nuk do t'i miratojë tani bllokohen automatikisht me shfaqjen e një treguesi përkatës në shiritin e adresës, me anë të të cilit përdoruesi mund të kalojë në interfacin për menaxhimin e autorizimeve për çdo faqe.

- Aktivizuar mbështetje për zgjerimet Intel CET (Intel Control-flow Enforcement Technology) për mbrojtje harduerore nga ekzekutimi i eksploitëve të ndërtuar me teknikat e programimit të orientuar në kthim (ROP, Return-Oriented Programming).
- Vazhdon puna pĂ«r tĂ« pĂ«rkthyer shfletuesin nĂ« pĂ«rdorimin e terminologjisĂ« inclusive. Dosja âmaster_preferencesâ Ă«shtĂ« rinovuar pĂ«r tâu quajtur âinitial_preferencesâ, pĂ«r tĂ« mos shqetĂ«suar ndjenjat e pĂ«rdoruesve qĂ« e perceptojnĂ« fjalĂ«n master si njĂ« aludim pĂ«r skllavĂ«rinĂ« e kaluar tĂ« paraardhĂ«sve tĂ« tyre. PĂ«r tĂ« mbajtur pajtueshmĂ«rinĂ«, mbĂ«shtetje pĂ«r âmaster_preferencesâ do tĂ« mbahet pĂ«r njĂ« kohĂ« tĂ« caktuar nĂ« shfletues. MĂ« parĂ«, shfletuesi kishte hequr dorĂ« nga pĂ«rdorimi i fjalĂ«ve âwhitelistâ, âblacklistâ dhe ânativeâ.
- Në versionin për Android, kur aktivizohet mënyra e kursimit të trafikut "Lite", është realizuar ulja e bitrates gjatë ngarkimit të videove kur lidhemi përmes rrjeteve të operatorëve celularë, gjë që do të ndihmonte në uljen e shpenzimeve për përdoruesit që kanë përfshirë tarifa që llogaritin trafikun. Në mënyrën "Lite", gjithashtu është siguruar kompresimi i imazheve të kërkuara nga burime publikisht të qasshme (nuk kërkojnë autentikim) përmes HTTPS.
- ësht ë shtuar një kodues i formatit të videos AV1, i optimizuar veçanërisht për përdorim në videokonferencat që realizohen mbi protokollin WebRTC. Përdorimi i AV1 në videokonferenca rrit efektivitetin e kompresimit dhe siguron mundësinë e transmetimit në kanale me kapacitet prej 30 kbps.
- NĂ« JavaScript, nĂ« objektet Array, String dhe TypedArrays, Ă«shtĂ« realizuar metoda at(), e cila lejon pĂ«rdorimin e indeksimit tĂ« ĐŸŃĐœĐŸŃĐŸĐ·Đ±, duke e caktuar pozita nĂ« marrĂ«veshje, pĂ«rfshirĂ« vlerat negative nĂ« lidhje me fundin (pĂ«r shembull, "arr.at(-1)" do tĂ« kthejĂ« elementin e fundit tĂ« vargut).
- NĂ« JavaScript pĂ«r shprehjet e zakonshme Ă«shtĂ« shtuar pronĂ«sia ".indices", qĂ« pĂ«rmban njĂ« varg me pozitat fillestare dhe pĂ«rfundimtare tĂ« grupeve tĂ« pĂ«rputhjeve. PronĂ«sia plotĂ«sohet vetĂ«m gjatĂ« pĂ«rmbushjes sĂ« shprehjes sĂ« zakonshme me flamurin "\/d". const re = \/(a)(b)\/d; const m = re.exec(âabâ); console.log(m.indices[0]); \/\/ 0 â tĂ« gjitha grupet e pĂ«rputhjeve \/\/ â [0, 2] console.log(m.indices[1]); \/\/ 1 â grupi i parĂ« i pĂ«rputhjeve \/\/ â [0, 1] console.log(m.indices[2]); \/\/ 2 â grupi i dytĂ« i pĂ«rputhjeve \/\/ â [1, 2]
- është bërë optimizimi i performancës së pronave "super" (për shembull, super.x), për të cilat është aktivizuar cache inline. Performanca e përdorimit të "super" tani është afër performancës së qasjes në pronat e zakonshme.
- Ă«shtĂ« pĂ«rshpejtuar ndjeshĂ«m thirrja e funksioneve WebAssembly nga JavaScript pĂ«rmes pĂ«rdorimit tĂ« zhvillimit inline. Kjo optimizim mbetet akoma eksperimentale dhe kĂ«rkon aktivizim me flamurin "âturbo-inline-js-wasm-calls".
- Shtohet API WebXR Depth Sensing, i cili mundëson përcaktimin e distancës midis objekteve në mjedisin e përdoruesit dhe pajisjes së përdoruesit, për shembull, për të krijuar aplikacione më realiste të realitetit të shtuar. Kujtojmë se API WebXR lejon unifikimin e punës me klasat e ndryshme të pajisjeve të realitetit virtual, nga helmetat 3D stacionare deri te zgjidhjet e bazuara në pajisje mobile.
- Stabilizuar mundësia WebXR AR Lighting Estimation, e cila lejon në seancat WebXR për realitetin e shtuar të përcaktojë parametrat e ndriçimit për t'i dhënë modeleve një pamje më natyrale dhe një integrim më harmonik me mjedisin e përdoruesit.
- Në mënyrën Origin Trials (mundësi eksperimentale, të cilat kërkojnë aktivizim të veçantë) janë shtuar disa API të reja, të cilat për momentin janë të kufizuara në platformën Android. Origin Trial nënkupton mundësinë e përdorimit të API-së së specifikuar nga aplikacione që janë ngarkuar nga localhost ose 127.0.0.1, ose pas regjistrimit dhe marrjes së një ttokeni të veçantë, i cili vepron për një kohë të limituar për një sit të caktuar.
- Metoda getCurrentBrowsingContextMedia(), e cila ofron mundësinë për të organizuar kapjen e rrjedhës video MediaStream, që reflekton përmbajtjen e skedës aktuale. Ndryshe nga metoda e ngjashme getDisplayMedia(), kur thirret getCurrentBrowsingContextMedia(), përdoruesit u shfaqet një dialog i thjeshtë për të konfirmuar ose bllokuar operacionin e transmetimit të videos me përmbajtjen e skedës.
- API Insertable Streams, i cili ofron mundësinë për të manipuluar rrjedha multimedia të papërpunuara (raw), të transmetuara përmes API MediaStreamTrack, si të dhënat nga kamera dhe mikrofon, rezultati i kapjes së ekranit ose të dhënat ndërmjetësuese të dekodimit nga kodeku. Për paraqitjen e kadrove të papërpunuara përdoren interfecat WebCodec, pas së cilës formohet një rrjedhë, e ngjashme me atë që API WebRTC Insertable Streams e gjeneron në bazë të RTCPeerConnections. Nga një pikëpamje praktike, API i ri lejon realizimin e funksionaliteteve të tilla si aplikimi i metodave të mësimit të makinerive për identifikimin ose anketimin e objekteve në kohë reale ose për shtimin e efekteve, siç është prerja e fondeve, para kodimit ose pas dekodimit nga kodeku.
- Mundësia për të paketuar burimet në paketa (Web Bundle) për të organizuar një ngarkesë më efektive të një numri të madh skedarësh ndihmës (CSS, JavaScript, imazhe, iframe). Ndër pengesat në mbështetje aktuale të pakove për skedarët JavaScript (webpack), të cilat po përpiqen të zgjidhen në Web Bundle: në cache-n e HTTP mund të bjerë paketa vetë, por jo përbërësit e saj; kompilimi dhe ekzekutimi mund të fillojnë vetëm pas ngarkesës së plotë të paketës; burimet shtesë, si CSS dhe imazhet, duhet të kodohen në formën e vargjeve JavaScript, duke çuar në rritjen e madhësisë dhe ekzekutimin e një faze tjetër përpunimi.
- Mbështetje për përpunimin e përjashtimeve në WebAssembly.
- API Stabilizuar i Declarative Shadow DOM për krijimin e degëve të reja rrënjore në Shadow DOM, për shembull për të ndarë stilin e importuar të jashtëm të elementit dhe degën lidhëse të DOM nga dokumenti kryesor. API-ja e deklaratës e propozuar lejon që të shkëputen degët e DOM vetëm me HTML pa pasur nevojë për të shkruar kod në JavaScript.
- Në pronën CSS aspect-ratio, e cila lejon të lidhet qartë raporti i cili duhet ndërlidhet me çdo element (për llogaritjen automatikisht të madhësisë që mungon kur jepet vetëm lartësia ose gjerësia), është realizuar mundësia e interpolimit të vlerave gjatë animacionit (kalimi gradual nga një raport aspekti në tjetrin).
- ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« reflektuar gjendjen e elementeve HTML tĂ« personalizuara (custom element) nĂ« CSS pĂ«rmes pseudo-klasĂ«s ":state()". Kjo funksionalitet Ă«shtĂ« realizuar duke u bazuar nĂ« mundĂ«sinĂ« e elementeve HTML tĂ« zakonshme pĂ«r tĂ« ndryshuar gjendjen e tyre nĂ« varĂ«si tĂ« ndĂ«rveprimit me pĂ«rdoruesin.
- Në pronën CSS 'appearance' është shtuar mbështetje për vlerën 'auto', e cila caktohet si e paracaktuar për <input type=color> dhe <select>, ndërsa në platformën Android, për më tepër për <input type=date>, <input type=datetime-local>, <input type=month>, <input type=time> dhe <input type=week>.
- Në pronën CSS 'overflow' është shtuar mbështetje për vlerën 'clip', me vendosjen e së cilës përmbajtja që del jashtë kufijve të bllokut pritet në kufirin e lejuar të mbipërmbushjes së bllokut pa mundësi skrollimi. Vlera që përcakton se sa larg përmbajtja mund të del jashtë kufijve të vërtetë të bllokut deri në fillimin e prerjes, caktohet përmes pronës së re CSS 'overflow-clip-margin'. Krahasuar me 'overflow: hidden', përdorimi i 'overflow: clip' lejon të arrihet një performancë më e lartë.


- ZĂ«vendĂ«simi i header-it HTTP Feature-Policy Ă«shtĂ« bĂ«rĂ« me header-in e ri Permissions-Policy pĂ«r menaxhimin e delegimit tĂ« autorizimeve dhe aktivizimin e funksionaliteteve tĂ« avancuara, ku mbĂ«shtetet vlerat e strukturuara tĂ« fushave (pĂ«r shembull, tani mund tĂ« specifikohet «Permissions-Policy: geolocation=()» nĂ« vend tĂ« «Feature-Policy: geolocation ânone'»).
- Mbrojtja nga përdorimi i Protocol Buffers për kryerjen e sulmeve të shkaktuara nga ekzekutimi spekulativ i udhëzimeve në procesorë është forcuar. Mbrojtja është realizuar përmes shtimit të MIME-tipit «application/x-protobuffer» në listën e MIME-tipeve që nuk dëgjohen kurrë (sniffed), përpunimi i të cilëve bëhet përmes mekanizmit Cross-Origin-Read-Blocking. Më parë, MIME-tipi «application/x-protobuf» ishte futur në një listë të tillë, por MIME-tipi «application/x-protobuffer» ishte lënë jashtë.
- API-ja e File System Access ka implementuar mundësinë për të zhvendosur pozitat aktuale në skedar përtej fundit të tij duke mbushur hapësirën e krijuar me zero gjatë shkrimit të mëvonshëm përmes thirrjes FileSystemWritableFileStream.write(). Kjo mundësi lejon krijimin e skedarëve të hollë me boshllëqe dhe ndihmon në organizimin e thirrjeve për të shkruar në skedar me rrjedha të dhënash të pakontrolluara (për shembull, kjo praktikohet në BitTorrent).
- Një konstruktor StaticRange është shtuar me implementimin e llojeve të lehta Range, të cilat nuk kërkojnë përditësimin e të gjitha objekteve të lidhura për çdo ndryshim në pemën DOM.
- Është realizuar mundësia e përcaktimit të parametrave width dhe height për elementet <source>, të caktuara brenda elementit <picture>. Kjo mundësi lejon llogaritjen e raportit të aspektit për elementet <picture>, në mënyrë të ngjashme me atë siç është bërë për <img>, <canvas> dhe <video>.
- Mbështetje e pa standardizuar për kanalet e dhënash RTP (RTP Data Channels) është hequr nga WebRTC, ndërsa rekomandohet përdorimi i kanaleve të dhënash të bazuara në SCTP.
- Pronat navigator.plugins dhe navigator.mimeTypes tani gjithmonë kthejnë një vlerë të zbrazët (pas ndalimit të mbështetjes për Flash, nevoja për këto prona ka zhdukur).
- Një sasi e madhe përmirësimesh të vogla është bërë në mjetet për zhvillimin në web, dhe një mjet i ri për përcaktimin e CSS flexbox është shtuar.

Përveç novacioneve dhe rregullimeve të gabimeve, në versionin e ri janë eliminuar 37 vulnerabilitete. Shumica e vulnerabiliteteve janë identifikuar si rezultat i testimit automatizuar me mjete si AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer dhe AFL. Nuk janë zbuluar probleme kritike që lejojnë kalimin e të gjitha niveleve të mbrojtjes së shfletuesit dhe ekzekutimin e kodit në sistem jashtë mjedisit sandbox. Në kuadër të programit për shpërblim monetar për zbulimin e vulnerabiliteteve për versionin aktual, kompania Google ka ndarë 19 shpërblime me një total prej 54000 dollarësh (një shpërblim prej 20000 dollarësh, një shpërblim prej 10000 dollarësh, dy shpërblime prej 5000 dollarësh, tre shpërblime prej 3000 dollarësh, një shpërblim prej 2000 dollarësh, një 1000 dollarësh dhe katër shpërblime prej 500 dollarësh). Shuma e 6 shpërblimeve nuk është përcaktuar ende.
VeçanĂ«risht mund tĂ« theksohet se dje, pas formimit tĂ« versionit korrigjues 89.0.4389.128, por para publikimit tĂ« Chrome 90, Ă«shtĂ« publikuar njĂ« eksploit tjetĂ«r, nĂ« tĂ« cilin Ă«shtĂ« pĂ«rdorur njĂ« vulnerabilitet i ri 0-day, qĂ« nuk Ă«shtĂ« rregulluar nĂ« Chrome 89.0.4389.128. PĂ«r momentin nuk Ă«shtĂ« e qartĂ« nĂ«se ky problem Ă«shtĂ« zgjidhur nĂ« Chrome 90. Ashtu si nĂ« rastin e parĂ«, eksploitit i mbulon vetĂ«m njĂ« vulnerabilitet dhe nuk pĂ«rmban kod pĂ«r kalimin e izolimit sandbox (kur ekzekutohet chrome me flamurin "âno-sandbox", eksploitit siguron ekzekutimin e notepad gjatĂ« hapjes sĂ« faqes nĂ« platformĂ«n Windows). Vulnerabiliteti i lidhur me kĂ«tĂ« eksploit prek teknologjinĂ« WebAssembly.
Burimi: opennet.ru





