abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 09:00 | Nová verze

Byla vydána nová verze linuxové distribuce BunsenLabs Linux s předkonfigurovaným správcem oken Openbox. Její název je Lithium a založena je na Debianu 10 Buster. Přehled novinek v poznámkách k vydání. BunsenLabs Linux je nástupcem dnes již nevyvíjené linuxové distribuce CrunchBang (zkráceně #!).

Ladislav Hagara | Komentářů: 0
dnes 08:00 | Nová verze

Po 9 týdnech vývoje od vydání Linuxu 5.7 oznámil Linus Torvalds vydání Linuxu 5.8 (LKML). Přehled nových vlastností a vylepšení na stránce Linux Kernel Newbies.

Ladislav Hagara | Komentářů: 0
dnes 07:00 | Komunita

Omar Roth, hlavní vývojář Invidious, alternativního webového frontendu k YouTube, oznámil, že kvůli přehlcení a nedostatku motivace projekt opouští a zřejmě skončí také oficiální instance invidio.us (k 1. září, resp. API k 1. říjnu); stále poběží další instance nebo je možné nasadit vlastní.

Fluttershy, yay! | Komentářů: 0
včera 14:22 | Zajímavý projekt

Byly vyhlášeny výsledky soutěže JS1024 2020 aneb zajímavé programy napsané v JavaScriptu o velikosti maximálně 1 024 bajtů. Více o vítězném pianu na stránkách autora.

Ladislav Hagara | Komentářů: 0
včera 01:11 | Zajímavý software

Felix Rieseberg na Twitteru oznámil, že po Windows 95 dostal do Electronu také počítač Macintosh Quadra 900 s operačním systémem Mac OS 8 a celou řadou aplikací. Zdrojové kódy, jakož i připravené balíčky, jsou k dispozici na GitHubu pod názvem macintosh.js.

Ladislav Hagara | Komentářů: 0
1.8. 23:11 | Nová verze

Projekt Debian aktualizoval obrazy stabilní větve „Buster“ (10.5). Součástí jsou opravy především zavaděče systému GRUB2 týkající se zranitelnosti „BootHole“.

Fluttershy, yay! | Komentářů: 0
31.7. 22:44 | Zajímavý projekt

V akci Humble Double Fine 20th Anniversary Bundle je možné zakoupit balík vesměs multiplatformních her od studia Double Fine, a to ve formě klíčů pro Steam nebo v některých případech i přímo ke stažení; za cenu aspoň 0,87-8 eur, kterou jde rozdělit mezi vydavatele, zprostředkovatele a charitu. Akce končí 13. srpna.

Fluttershy, yay! | Komentářů: 0
31.7. 17:22 | Nová verze

Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 96 (pdf), HackSpace 33 (pdf) a Wireframe 40 (pdf).

Ladislav Hagara | Komentářů: 1
31.7. 12:55 | Komunita

Je poslední pátek v červenci, a proto všem systémovým administrátorům vše nejlepší k dnešnímu Dni systémových administrátorů (System Administrator Appreciation Day).

Ladislav Hagara | Komentářů: 6
31.7. 01:11 | Nová verze

Po téměř pěti měsících vývoje od vydání verze 245 byla vydána nová verze 246 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 33
Dokážete si představit, že by váš hlavní počítač (desktop, notebook) byl v současné době založen na architektuře jiné než x86 (x86_64)? Například ARM, POWER, RISC-V,…
 (12%)
 (8%)
 (55%)
 (19%)
 (5%)
Celkem 74 hlasů
 Komentářů: 6, poslední včera 03:02
Rozcestník

Jaderné noviny – 16. 11. 2017: Přirozená křehkost seccomp()

3. 12. 2017 | Redakce | Jaderné noviny | 3496×

Stav vydání jádra. Citáty týden: Greg Kroah-Hartman a Thomas Gleixner. Přirozená křehkost seccomp().

Stav vydání jádra

Jádro 4.14 bylo vydáno 12. listopadu a začleňovací okno cyklu 4.15 je otevřené. Stěžejní funkce tohoto vydání zahrnují odvíjení ORC pro spolehlivější zpětné trasování a patchování za chodu, dlouho očekávaný režim vláken v kontrolních skupinách, podporu AMD Secure Memory Encryption, podporu pětiúrovňových tabulek stránek, funkci umožňující síťový přenos bez kopírování, subsystém správy heterogenní paměti a další. Více informací najdete na stránce Kernel Newbies věnované jádru 4.14. Nakonec bylo do jádra 4.14, které je plánováno jako další vydání s dlouhodobou podporou, začleněno téměř 13 500 sad změn.

Pro správce bylo pozoruhodné Linusovo varování (v oznámení vydání 4.14), že začleňovací okno 4.15 mohlo být vzhledem k americkému Dni díkuvzdání o něco kratší. (Poznámka překladatele: nakonec 4.15-rc1 vyšla podle plánu, tedy 26. listopadu.)

Stabilní aktualizace: 4.13.13, 4.9.62, 4.4.98 a 3.18.81 byly vydány 15. listopadu.

Citáty týdne

Tohle je ta velká sada patchů char/misc pro začleňovací okno 4.15-rc1. Obsahuje obvyklou skupinu nových funkcí přidanou ke všem těm šíleným ovladačům, jakožto i následující zcela nové subsystémy:

  • time_travel_controller: Konečně sada ovladačů nejnovější architektury sběrnic pro cestovaní v čase, která procesoru poskytuje I/O dříve, než si o něj požádá, čímž umožňuje výpočty bez přerušení.
  • relativity_shifters: Vzhledem k dopadu, jaký mají time_travel_controllers na celý systém, bylo zapotřebí nové sady ovladačů pro relativní posun, které by se vyrovnaly s nově vytvořenými černými dírami, u nichž hrozilo, že by mohly pohltit CPU. Tento subsystém si s problémem poradí způsobem, který vzniklé problémy úspěšně neutralizuje. K dispozici je volba Kconfig, která si vynutí, aby byly v případě potřeby povoleny, takže by ke zmíněným problémům nemělo docházet.

Všechny tyto patche byly úspěšně otestovány na nejnovějších vydáních linux-next a původní problémy, které se tím našly, jsou vyřešeny (omlouvám se všem, kdo žijí v blízkosti Canberry, že v dřívějších verzích ze stromu linux-next chyběly volby Kconfig.)

Greg Kroah-Hartman

První pravidlo při pohledu na uživatelský prostor zní, že je buď rozbitý, nebo nepřátelský. Rozumný a uživatelský prostor se navzájem vylučují.

Thomas Gleixner

Přirozená křehkost seccomp()

The inherent fragility of seccomp(). Jonathan Corbet. 10. listopadu 2017

Vývojáři jádra se už řadu let obávají, že trasovací body by mohly vést k závislosti aplikací na obskurních implementačních detailech. Z toho plynoucí potřeba zachovat dosavadní chování, aby se zabránilo vzniku regresí, by ale mohla ztěžovat budoucí vývoj. Nedávná zpráva poukazuje, že systémové volání seccomp() je také náchylnější k regresím, než uživatelé očekávají – jaderní vývojáři ovšem tyto regrese pravděpodobně nezpůsobují a vlastně nemají příliš možnost jim zabránit. Programy, které seccomp() používají, jsou přirozeně náchylnější k rozbití po aktualizaci softwaru.

seccomp() umožňuje vytvoření filtru, který omezí množinu systémových volání, která je procesu k dispozici. Má to zřejmé využití související se sandboxingem. Pokud aplikace nepotřebuje např. systémové volání open(), může zamezení přístupu k tomuto volání snížit rozsah škod, které by mohly vzniknout v případě napadení aplikace. Jak se rozšiřuje tvrzení systémů a programů, lze očekávat, že využití seccomp() bude i nadále růst.

Michael Kerrisk nedávno oznámil, že povýšením glibc na verzi 2.26 se rozbila jedna z jeho demonstračních aplikací. Tento program používal seccomp() k blokování přístupu k systémovému volání open(). Problém, na který narazil, spočívá v tom, že aplikace téměř nikdy nevolají systémová volání přímo, místo toho volají wrapper definovaný v knihovně C.

Wrapper open() v glibc od počátku obaloval jaderné systémové volání open(). Ale open() je staré rozhraní, které bylo již dávno nahrazeno voláním openat(). Staré volání stále existuje, protože aplikace jeho přítomnost očekávají, ale v jádře je implementováno jako zvláštní případ openat(). Ve glibc 2.26 došlo ke změně wrapperu open(), aby nově volal přímo openat(). Tato změna nebyla viditelná běžným aplikacím, ale rozbíjí filtry seccomp(), které se chovají pro open() a openat() odlišně.

Kerrisk si vlastně nestěžoval na změnu samotnou, ale chtěl vývojáře glibc informovat o tom, že jejího dopadu si uživatelé mohli všimnout: „Chci zvýšit povědomí o tom, že tento druh změn může potenciálně způsobit rozbití nějakého kódu, který využívá seccomp(), a myslím si, že by se takové změny neměly dít bezmyšlenkovitě nebo bezdůvodně.“ Naznačil, že vývojáři by při provádění takových změn měli mít riziko rozbití filtrů seccomp() na paměti a dokumentovat tyto změny v případech, kdy se jim nelze vyhnout.

Florian Weimer ale nesouhlasil:

Mám opačný názor: měli bychom tyto změny dělat co nejčastěji, abychom lidem připomněli, že filtry seccomp() (a některá pravidla SELinuxu a AppArmor) nejsou kompatibilní s modelem GNU/Linuxu, kde je vše vyvíjeno odděleně a udržováno mimo jediný strom se zdrojáky (na rozdíl od třeba OpenBSD). To znamená, že se opravdu nemůžete odklonit od upstreamového linuxového ABI pro uživatelský prostor (v co nejširším možném slova smyslu) a stále očekávat, že vše bude fungovat.

Jiný způsob, jak to podat, by mohl vypadat takto: filtry seccomp() se nepovažují za součást ABI poskytovaného glibc, takže nekompatibilní změny nejsou považovány za regrese. Místo toho jsou důsledkem filtrování na úrovni nižší než glibc, zatímco očekávané chování nad touto úrovní zůstává beze změny.

Zdá se, že Weimerův pohled je ten, kterým se bude vývoj glibc řídit do budoucna. Kerrisk tedy navrhl několik změn manuálových stránek, aby křehkost filtrů seccomp() vývojáře překvapovala o něco méně. Na této úrovni bude potřeba poměrně hluboké pochopení toho, co se děje, a schopnost přizpůsobit se budoucím změnám knihovny C.

Tento výsledek se dá považovat za argument pro filtrovací rozhraní podobné pledge() z OpenBSD. Tak jako seccomp() i pledge() se používá k omezení množiny systémových volání, kterou má proces k dispozici, ale pledge() pracuje spíše na úrovni obecné funkcionality než jednotlivých systémových volání. Dá se použít například k povolení základního I/O do/ze souboru a současně zakázání otevírání (nebo vytváření) nových souborů. Volání pledge() má mnohem menší granularitu než seccomp() a nemůže ani zdaleka posloužit k implementaci podobně široké škály pravidel, ale v případě základního filtrování se zdá, že riziko překvapení po aktualizaci jádra nebo knihovny je s ním mnohem menší.

Jenže Linux pledge() neobsahuje a je nepravděpodobné, že by se v něm mohlo objevit. Volání seccomp() práci při sandboxingu jistě odvede, ale vývojáři, kteří ho používají, by měli očekávat, že budou muset vynaložit nějaký čas a námahu na správu svých filtrů.

       

Hodnocení: 100 %

        špatnédobré        

Nástroje: Tisk bez diskuse

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.