Portál AbcLinuxu, 3. května 2025 04:25
Nedávno jsem něco hledal na webu Mozilly a náhodou narazil na jednu zajímavou stránku. Ten pohled mě posadil na prdel. 18 kritických zranitelností za půl roku! Normální přístup by byl ten program smazat a najít si alternativu, to ale v tomhle případě z nejrůznějších důvodů není možné. A tak jsem začal řešit co s tím.
Prakticky mi je jedno jestli útočník získá roota nebo ne - v situaci kdy je kompromitován uživatelský účet se už jedná o obrovský problém - útočník má okamžitě přístup k SSH a GPG klíčům, osobním dokumentům, historii IM a podobně. Takže je nutné omezit proces prohlížeče na přístup pouze k datům která potřebuje. Ale jak na to? Nakonec zůstalo jen pár možností.
Sázet na to, že nenarazím na žádnou stránku se 0day exploitem je sice nejjednodušší ale přece jen, není to zrovna ideální. Ale řeší to tak většina uživatelů tak nakonec proč ne?
Tohle už vypadá slibněji, ale má to pár nedostatků. Stačí zapomenout na nějakém adresáři chmod 0755 a prohlížeč se tam dostane, také může prakticky volně lézt po celém systému (/etc, /usr, /var). Nic příjemného
Tohle už poskytuje poměrně spolehlivou ochranu. Nevýhody jsou myslím jasné: nutnost kopírovat velké množství knihoven, udržovat minimální paralelní systém (i když se to dá rozumně automatizovat).
Z hlediska bezpečnosti chroot na steroidech. Problémy jsou myslím jasné - obrovská spotřeba místa na disku a RAM, celková pomalost. Vzhledem k tomu jaký mám stroj jsem tuhle možnost hned zavrhnul.
=Systém řízení přístupu založený na rolích. Výhody - poměrně slušné oddělení prohlížeče od okolního světa za cenu minimální spotřeby systémových prostředků. Jedinou nevýhodou je dost otravná konfigurace. A pak dilema jaký vybrat.
Nevěřím NSA. Stačí? Ne? Od tohohle průšvihu nevěřím moc ani SELinuxu. A na takovouhle jednoduchou úlohu je to moc komplikované.
Mrtvý projekt, nemá cenu dál rozebírat.
Tak tohle už vypadá poměrně zajímavě, navíc se dostal do jádra. Možnostmi konfigurace by vyhovoval - není nijak složitá a zároveň dostačující.
Ale nakonec to vyhrál Grsecurity i přes nespornou nevýhodu - není v jádře takže se musí externě patchovat. Na druhou stranu je v jednom .patch souboru i se systémem PaX, což je další výhoda. Jen bych krátce zmínil na co si dát při případném použití Grsecurity na desktopu pozor:
paxctl -cPEmrXS /usr/lib/iceweasel/firefox-bin
paxctl -cPEmrXS /usr/lib/xulrunner-5.0/plugin-container
No, a nakonec tu mám pravidla pro Firefox pokud to chce někdo zkusit a nechce se s tím patlat (pozor, cesty jsou podle Debianu, takže s/iceweasel/firefox). Pokud bude zájem postupem času doplním i pravidla pro další kritické aplikace (Minimálně Thunderbird/Icedove). Každopádně, omezí to přístup Firefoxu prakticky jen tam kde potřebuje (ok, /lib, /usr/lib a /usr/share jsem povolil celkově, nebavilo mě to vypisovat) a pak ~/Firefox a ~/Shared.
subject /usr/bin/iceweasel o -CAP_ALL / hs /bin hs /bin/sh rxi /bin/which rxi /bin/readlink rxi /dev/null rw /dev/urandom rw /dev/zero rw /dev/snd rw /etc/iceweasel r /etc/nsswitch.conf r /etc/resolv.conf r /etc/hosts r /etc/host.conf r /etc/passwd r /etc/group r /etc/fonts r /etc/localtime r /etc/gai.conf r /etc/ld.so.cache r /etc/locale.alias r /etc/mailcap r /etc/mime.types r /home hs /home/* r /home/*/Firefox rwcd /home/*/.mozilla rwcd /home/*/Shared rwcd /home/*/.macromedia rwcd /home/*/.asoundrc r /home/*/.Xauthority r /home/*/.Xdefaults r /home/*/.cache/event-sound-cache rw /home/*/.local/share/recently-used.xbel r /home/*/* hs /lib rxi /proc r /usr r /usr/* hs /usr/lib rxi /usr/bin rxi /usr/games hs /usr/local hs /usr/share r /run/dbus/system_bus_socket r /tmp rwcd /var/cache/fontconfig r /var/tmp rwcd /var/lib/dbus/machine-id r /var/lib/defoma r
Tiskni
Sdílej:
Nejlepší variantou by byl chroot vestavěný v prohlížeči- to by ale musel byť spúšťaný ako root (aspoň v normálnom svete)...
Nejlepší variantou by byl chroot vestavěný v prohlížeči. Nenáročné pro uživatele a přitom celkem bezpečné.To by bylo hodně smutné, kdyby nejlepší variantou byla taková věc jako chroot.
Firefox je tak pitomý že pokud nemá přístup do adresáře nastaveného jako cíl pro stahování tak nezobrazí chybovou hlášku a neskočí automaticky do nadřazeného adresáře jako každá normální aplikace ale prostě a jednoduše nic neudělá. Super, co?Zavraždit vývojáře málo
Nejsi nějaký zvědavý?
No dobře, mám psa.
+1
Tohle se mne opravdu netýká. Jsem vegetarián.
xdotool key d a t e ReturnA takhle může třeba zkompromitovaný prohlížeč poslat terminálu libovolný příkaz.
V SELinuxu (tj. v mainline kernelu) je nejspíš trojan protože NSA odposlouchává telefony.Co? Nechápu souvislost mezi odposlechem telefonů a hypotetickým trojanem v SELinuxu.
Proč věříš grsecurity?Protože pokud vím v grsec se ještě neobjevila zranitelnost typu local root :)
A zapomněl jsi na TOMOYO.To jo.
Objavila ...sice len 2* ale objavila.Pravda, málo jsem hledal. Pardon.
Neviem naco to tu riesis MrkvaZajímá mě jak kdo řeší bezpečnost z místního osazenstva.
Viem ze chodis na spenderov kanalA tohle mi od paranoie nepomohlo.
BTW: Doufam, ze ty ssh klice a gpg klice mas chraneni silnou frazi a pouzivas agenty, jinak si zaslouzis, aby ti to uzivatel www-data zobrazil na http serveru:)Naštěstí nemají ostatní právo pro čtení.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.