Biztonságban ünnepel a Firefox

A 95-ös verzió legfontosabb újdonsága egy új homokozótechnológia bevezetése, melynek nagy jövőt jósolnak.

Az asztali Firefox újdonságai

  • elkerülhetővé vált, hogy minden alkalommal, amikor a Firefox böngésző egy nem natív eseményt futtat, mindig NSEventet küldjön az eseményhurokba, ami csökkenti a WindowServer folyamat CPU-használatát

  • a Kép a képben váltógomb mostantól a videó ellentétes oldalára mozgatható az helyi menü segítségével a Kép a képben váltógomb bal (jobb) oldalra) opciójával

  • csökkent a szoftveresen dekódolt videó energiafelhasználása macOS-en, főleg teljes képernyőn. Ez számos streamingoldalt, például a Netflixet vagy az Amazon Prime Videót is érinti

  • az RLBox – új technológia, amely a Firefoxot hardeninggel látja el a harmadik féltől származó könyvtárak potenciális biztonsági réseivel szemben. Mostantól az RLBox minden platformon engedélyezve van

A Firefox 95-ben egy új, RLBox nevű sandboxing technológiát adnak – amelyet a San Diegó-i Egyetem és a Texasi Egyetem kutatóival együttműködve fejlesztett ki a Mozilla. 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.

Ez a technika, amely a WebAssemblyt használja a potenciálisan hibás kód elkülönítésére, a tavaly a 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 máris öt különböző modult izoláltak: Graphite, Hunspell, Ogg; majd a Firefox 96-ban pedig ezeket is: Expat és Woff2.

  • Jó hír! A Firefox már letölthető a Microsoft Store-ból Windows 10 és Windows 11 platformokon.

  • a Firefox elindítása után a JAWS képernyőolvasó és a ZoomText nagyító felhasználóinak nem kell többé alkalmazást váltaniuk a Firefox eléréséhez

  • az ARIA szerepkörváltót használó vezérlőelemek állapotát mostantól helyesen jelzi a macOS VoiceOver

  • a tartalmi folyamat gyorsabb, láthatóan gyorsabban indul a macOS rendszerben

  • a fejlesztők a memóriaallokátoron is végeztek javításokat

  • a Mozilla mérnökei javítottak az oldalbetöltési teljesítményen azáltal, hogy a JavaScriptet optimalizált módon előre fordítja le a böngésző

  • a felhasználói ügynök (User Agent) felülírása lett megadva a Slack.com-hoz, ami lehetővé teszi a Firefox felhasználók számára, hogy több hívásfunkciót használjanak, és hozzáférjenek a Huddleshez

Mi történik a RLBox-ban?

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.

Hirdetés

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: 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 segí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 – 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.

Firefox

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ód-indexelés és valószínűleg más dolgok, amelyekre még nem is gondoltak.

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

Az Androidon futó Firefox újdonságai

  • a Beállítások menüben mostantól megtalálható az új „Kezdőlap” szakasz

  • az „Ugrás vissza" szakasz mostantól Hero képeket mutat

  • megtalálja az „Automatikus bezárás engedélyezve" sáv megerősítését, ha a felhasználó engedélyezi az automatikus bezárást a lapok nézetből

  • a Pocket (Gondolatébresztő történetek szakasz) mostantól megjelenik a kanadaiaknak

  • az „Ugrás vissza" rész mostantól mindig címeket vagy URL-címeket mutat

  • az Inaktív lapok kérdés többé nem jelenik meg újra a kérdés elutasítása után

  • a letöltési lista mostantól megfelelően frissül egy fájl törlése után

  • a következő összeomlásokat is kijavították a fejlesztők:

    • előzmények csoport megnyitásakor

    • amikor a „Történetek témák szerint rendezése” alatt kiválasztott téma már nem létezik

Fejlesztői újdonságok

A fejlesztőknek szóló újdonságok a Mozilla Developer Network 95-ösre 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.4.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ő – 96-os – verziója már csak jövőre, várhatóan 2022. január 11-én jelenik majd meg.

Azóta történt

Előzmények