Zabezpečení uživatelského rozhraní Firefoxu pomocí CSP

10. 4. 2025

Sdílet

Firefox Autor: Depositphotos

Na blogu bezpečnostního týmu projektu Firefox vyšel článek, za kterým stojí Tom Schuster, Frederik Braun a Christoph Kerschbaumer. Popisují v něm nedávné změny, které proběhly v uživatelském prostředí prohlížeče Firefox. Jejich cílem bylo zvýšit odolnost proti útokům na rozhraní z webových stránek.

Celé prostředí Firefoxu je totiž postaveno na běžných standardech jako HTML, CSS a JavaScript a je doplněno o několik vlastních komponent jako XUL. To umožňuje vykreslovat prostředí stejným způsobem na všech podporovaných platformách. Zároveň to ale otevírá některé nepříjemné možnosti útoku.

Stejně jako v případě existence hranic mezi různými weby je uživatelské rozhraní Firefoxu, které běží v nadřazeném procesu, odděleno od webového obsahu běžícího v procesech s nižšími oprávněními. Sandboxovaný webový obsah by neměl mít možnost injektovat obsah, zejména kód, do nadřazeného procesu. Samozřejmě musí existovat nějaký způsob, jak spolu nadřazený i podřízený proces komunikuj.

Byly ale objeveny způsoby, jak je možné pomocí řetězce exploitů ze sandboxu uniknout a poté pomocí XSS spustit vlastní kód, který běží v kontextu grafického uživatelského rozhraní. Webové stránky se takovým útokům obvykle brání pomocí Content-Security-Policy (CSP), což je hlavička umožňující omezit, jaké skripty je povoleno na dané stránce spustit. Protože uživatelské rozhraní Firefoxu používá jazyk HTML s určitými doplňky, je možné stejným způsobem použít CSP i pro zabezpečení kódu frontendové části Firefoxu.

Vývojáři proto přepsali více než 600 funkcí pro obsluhu událostí v JavaScriptu, aby omezili XSS a další injektážní útoky v uživatelském rozhraní Firefoxu. Tyto změny budou součástí Firefoxu verze 138. Blokováním spouštění skriptů v nadřazeném procesu to však nekončí, v blízké budoucnosti bude tato technika rozšířena i na další komponenty. Ještě nás čeká další práce, protože uživatelské rozhraní vyžaduje rozhraní API JavaScriptu s vysokou úrovní oprávnění. Přesto jsme eliminovali celou třídu útoků, čímž jsme útočníkům výrazně zvýšili laťku pro zneužití Firefoxu. Snad jsme tím právě někomu přerušili řetězec vedoucí ke zneužití, píší vývojáři v článku.

Našli jste v článku chybu?

Autor zprávičky

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.