Hidegben sem fagy az új Firefox

Még biztonságosabb és gyorsabb lett a böngésző 96-os verziója.

Az asztali Firefox újdonságai

A Firefox most megjelent kiadása jelentősen csökkenti a főszál terhelését. Jelentősen javították a fejlesztők a zajszűrést és az automatikus erősítésvezérlést, kissé jobbá tették a visszhangszűrést, amely újdonságok a böngészős videókonferencia-élményt hivatottak javítani.

Az új verzióban érvényre jut az új cookie-szabályzat: Same-Site=lax opció alapértelmezés szerint be lesz beállítva, hogy megvédje a felhasználókat a Cross-Site Request Forgery (CSRF) támadásoktól.

Tovább folytatódik a Firefox 95-ben elkezdett RLBox bevezetése. A RLBox nevű sandboxing technológia – amelyet a San Diegó-i Egyetem és a Texasi Egyetem kutatóival együttműködve fejlesztett ki a Mozilla. Ez a technika, amely a WebAssembl-t használja a potenciálisan hibás kód elkülönítésére, a tavalyi, Mac- és Linux-felhasználóknak szállított prototípusra épül. Most ezt a technológiát az összes támogatott Firefox platformra (asztali és mobil) kiterjesztették, és a fejlesztők öt különböző modult izoláltak: Graphite, Hunspell, Ogg; majd most a Firefox 96-ban pedig ezeket is: Expat és Woff2.

Ez egyszerűvé és hatékonnyá teszi a részkomponensek elkülönítését a böngésző biztonságosabbá tétele érdekében. Ez a technológia új lehetőségeket nyit meg a hagyományos folyamatalapú sandboxinggal eddig elérhető lehetőségekhez képest,és a fejlesztők nagy reményeket fűznek hozzá, illetve alig várják, hogy elterjedjen a használata, és (remélhetőleg) más böngészőkben és szoftverprojektekben is alkalmazásra kerüljön.

Minden nagyobb böngésző a webes tartalmat saját homokozóban futtatja, ami elméletileg megakadályozza, hogy a böngésző sebezhetőségét kihasználva veszélyeztesse a számítógépet. Az asztali operációs rendszereken a Firefox is elszigetel minden webhelyet a saját folyamatában, hogy megvédje a webhelyeket egymástól.

Sajnos a fenyegető szereplők rendszeresen két sebezhetőség összekapcsolásával támadják a felhasználókat – az egyik a rosszindulatú webhelyet tartalmazó sandboxing folyamat kompromittálására, a másik pedig a homokdobozból való kijutásra szolgál. Ahhoz, hogy a felhasználók biztonságban legyenek a legjobban felkészült támadókkal szemben, többszintű védelemre van szükségük.

Itt jön a képbe az RLBox. Ahelyett, hogy a kódot egy különálló folyamatba emelnék, inkább WebAssemblybe fordítják, majd ezt a WebAssemblyt fordítják natív kóddá. Ez nem eredményezi azt, hogy .wasm fájlokat szállítanak a Firefoxban, mivel a WebAssembly lépés csak egy köztes reprezentáció az építési folyamatban.

Az átalakítás azonban két kulcsfontosságú korlátozást ró a célkódra: nem ugorhat a program többi részének váratlan részeire, és nem férhet hozzá a memóriához egy megadott régión kívül. Ezek a korlátozások együttesen biztonságossá teszik a címtartomány (beleértve a vermet is) megosztását a megbízható és a nem megbízható kód között, lehetővé téve, hogy nagyrészt ugyanabban a folyamatban futtassák őket, mint korábban. Ez viszont megkönnyíti az alkalmazást, nagyobb refaktorálás nélkül alkalmazható: a programozónak csak a homokozóból érkező értékeket kell kiértékelnie (mivel azok rosszindulatúan szerkesztettek lehetnek), ezt a feladatot az RLBox megkönnyíti egy köztes réteggel.

Az átalakítás első lépése egyszerű: a Firefox fordításához a Clangot kell használni, a Clang pedig tudja, hogyan kell WebAssemblyt készíteni. Így egyszerűen csak át kell váltani az adott modul kimeneti formátumát natív kódról wasm-re. A második lépéshez a prototípus implementációnk a Craneliftet használta. A Cranelift kiváló, de egy második natív kódgenerátor csak bonyolultabbá tette a dolgot – és a fejlesztők rájöttek, hogy egyszerűbb lenne a WebAssemblyt visszaalakítani olyasmivé, amit a meglévő build rendszerünk be tud fogadni. Ezt a wasm2c segítségével valósították meg, amely a WebAssemblyt egyszerűen lefordítja egyenértékű C kóddá, amelyet aztán a Firefox többi forráskódjával együtt visszatáplálnak a Clangba. Ez a megközelítés nagyon egyszerű, és automatikusan lehetővé tesz számos olyan fontos funkciót, amelyet a normál Firefox kódhoz használnak: profilvezérelt optimalizálás, inlining across sandbox boundaries, összeomlás-jelentés, hibakereső támogatás, forráskódindexelés – és valószínűleg más dolgok, amelyekre még nem is gondoltak.

A Linux-felhasználók számára változtatás a Firefox 96-ban, hogy megszünteti az Alt+A billentyűkombináció támogatását a „Mindent kijelöl" funkcióhoz. A Firefox 95-ben az Alt+A és a Ctrl+A billentyűkombináció is működik, ha ki akarja jelölni az összes szöveget egy weboldalon, de a Firefox 96-ban az Alt+A billentyűkombináció már nem elérhető, megoldva a web-kompatibilitást és elkerülve a konfliktust a hozzáférési billentyűkkel.

További részletekért érdemes elolvasni az alábbi cikkeket:

Ez elsősorban a webfejlesztőket érintheti, és a Mozilla szerint azoknak a felhasználóknak, akik továbbra is az Emacs szerű billentyűkombinációkat szeretne használni, a

ui.key.textcontrol.prefer_native_key_bindings_over_builtin_shortcut_key_definitions

és a

ui.key.use_select_all_in_single_line_editor

változókat kell megváltoztatniuk az about:config oldalon.

Mindezeken felül a Firefox 96 a jelek szerint több hibát is kijavít, többek között egy olyan problémát, amikor a videó időnként elhagyja az SSRC (szinkronizációs forrás) azonosítót, egy olyan problémát, amikor a WebRTC visszaveszi a képernyőmegosztás felbontását, valamint a videó minőségének romlását, ami egyes weboldalakon előfordulhatott biztonsági réseivel szemben. Mostantól a RLBox minden platformon engedélyezve van.

A Web Locks API alapértelmezés szerint engedélyezve van, így a több lapon vagy workeren futó webes alkalmazások összehangolhatják az erőforrások használatát.

A Canvas használata során a WebP képformátum képkódolás támogatást kapott.

Az Androidon futó Firefox nem jelentkezett újdonságokkal.

Fejlesztői újdonságok

A fejlesztőknek szóló újdonságok a Mozilla Developer Network 96-osra vonatkozó cikkében.

Letöltés

A legújabb Firefox továbbra is Windows (AMD 64 bites, ARM 64 bites és 32 bites), Linux (64 és 32 bites) és OS X (Intel és Apple Silicon) operációs rendszerekre tölthető le, szokás szerint magyar nyelven is. A most kiadott verzió fejlesztéseiről a kiadási megjegyzésekben lehet olvasni, a közzétett biztonsági hirdetményeket pedig itt lehet elolvasni.

Frissült az androidos Firefox is, amelyről szintén közzétettek kiadási megjegyzéseket a fejlesztők. A Firefox ESR – hosszan támogatott – 91.5.0 verziója letölthető innen (újdonságok). A böngészőplatformot érintő változások szintén részei az androidos kiadásnak. Az iPhone készülékekre elérhető 39-es verzióról információ pedig itt található. Teljes változáslista.

A Firefox következő – 97-es – verziója már várhatóan 2022. február 8-án jelenik majd meg.

Azóta történt

Előzmények