Seccomp - Seccomp
![]() | Tento článek musí být aktualizováno.Květen 2012) ( |
Původní autoři | Andrea Arcangeli |
---|---|
První vydání | 8. března 2005 |
Napsáno | C |
Operační systém | Linux |
Typ | Sandboxing |
Licence | GNU General Public License |
webová stránka | kód |
seccomp (zkratka pro zabezpečený výpočetní režim) je zabezpečení počítače zařízení v Linuxové jádro. seccomp umožňuje a proces provést jednosměrný přechod do „zabezpečeného“ stavu, kde žádný nemůže provést systémová volání až na výstup()
, sigreturn ()
, číst()
a psát si()
již otevřené deskriptory souborů. Pokud se pokusí o jakékoli jiné systémové volání, jádro ukončí proces pomocí SIGKILL nebo SIGSYS.[1][2] V tomto smyslu tomu tak není virtualizovat zdroje systému, ale proces od nich úplně izoluje.
režim seccomp je povolen pomocí PR_SET_SECCOMP
argument, nebo (od linuxového jádra 3.17[3]) prostřednictvím systémové volání.[4] režim seccomp se dříve povoloval zápisem do souboru, / proc / self / seccomp
, ale tato metoda byla odstraněna ve prospěch prctl ()
.[5] V některých verzích jádra seccomp zakáže RDTSC
x86 instrukce, která vrací počet uplynulých cyklů procesoru od zapnutí, použitá pro vysoce přesné načasování.[6]
seccomp-bpf je rozšíření seccomp[7] který umožňuje filtrování systémových volání pomocí konfigurovatelné zásady implementované pomocí Filtr paketů Berkeley pravidla. Používá se OpenSSH a vsftpd stejně jako Google Chrome / Chrom webové prohlížeče zapnuty Chrome OS a Linux.[8] (V tomto ohledu seccomp-bpf dosahuje podobné funkce, ale s větší flexibilitou a vyšším výkonem, jako starší systrace —Který se zdá, že již není podporován Linux.)
Dějiny
seccomp byl poprvé navržen Andrea Arcangeli v lednu 2005 pro použití na veřejnosti grid computing a byl původně zamýšlen jako prostředek bezpečného běhu nedůvěryhodný programy vázané na výpočet. To bylo sloučeno do Hlavní linka linuxového jádra v jádře verze 2.6.12, která byla vydána 8. března 2005.[9]
Software využívající seccomp nebo seccomp-bpf
- Android používá v zygote filtr seccomp-bpf Android 8.0 Oreo.[10]
- systemd je karanténa možnosti založené na seccomp.[11]
- QEMU, Rychlý emulátor, hlavní součást moderní virtualizace společně s KVM používá seccomp na parametru
- pískoviště
[12] - Přístavní dělník - software, který umožňuje spouštět aplikace uvnitř izolovaných kontejnerů. Docker může přidružit profil seccomp ke kontejneru pomocí
--security-opt
parametr. - Arcangeli's CPUShare byl na chvíli jediným známým uživatelem seccomp.[13] Psaní v únoru 2009, Linus Torvalds vyjadřuje pochybnosti o tom, zda seccomp skutečně někdo používá.[14] Nicméně, a Google inženýr odpověděl, že Google zkoumá pomocí seccomp pro karanténa své Chrome webový prohlížeč.[15][16]
- Firejail je open source linuxový sandbox program, který využívá Jmenné prostory Linuxu, Seccomp a další funkce zabezpečení na úrovni jádra v karanténě Linux a Víno aplikace.[17]
- Od verze Chrome 20 se na sandbox používá seccomp-bpf Adobe Flash Player.[18]
- Od verze Chrome 23 se seccomp-bpf používá k izolování vykreslovacích modulů.[19]
- Přichytit určit tvar jejich karantény aplikací pomocí „rozhraní“, která se snapd překládá do seccomp, AppArmor a další bezpečnostní konstrukce[20]
- vsftpd používá sandcoming seccomp-bpf od verze 3.0.0.[21]
- OpenSSH podporuje seccomp-bpf od verze 6.0.[22]
- Mbox používá ptrace spolu s seccomp-bpf vytvořit bezpečné sandbox s menší režií než samotný ptrace.[23]
- LXD, an Ubuntu "hypervisor "pro kontejnery[24][25]
- Firefox a Firefox OS, které používají seccomp-bpf[26][27]
- Tor podporuje seccomp od 0.2.5.1-alfa[28]
- Lepton, a JPEG kompresní nástroj vyvinutý společností Dropbox používá seccomp[29]
- Kafel je konfigurační jazyk, který převádí čitelné zásady na seccompb-bpf bytecode[30]
- Subgraph OS používá seccomp-bpf[31][32]
- Flatpak používá seccomp pro izolace procesu[33]
- Bubblewrap je lehká sandboxová aplikace vyvinutá z Flatpak[34]
- minijail[35] používá seccomp pro izolaci procesu[36]
Reference
- ^ Corbet, Jonathan (02.09.2015). "Přehled seccomp". lwn. Citováno 2017-10-05.
- ^ „Dokumentace / prctl / seccomp_filter.txt“. Citováno 2017-10-05.
- ^ „Linux kernel 3.17, Oddíl 11. Zabezpečení“. kernelnewbies.org. 2013-10-05. Citováno 2015-03-31.
- ^ "seccomp: přidat" seccomp "syscall". kernel / git / torvalds / linux.git - zdrojový strom jádra Linuxu. kernel.org. 2014-06-25. Citováno 2014-08-22.
- ^ Arcangeli, Andrea (14.06.2007). „[PATCH 1 of 2] move seccomp from / proc to a prctl“. Citováno 2013-08-02.
- ^ Tinnes, Julien (2009-05-28). "Počítadlo časových razítek zakazující zvláštnosti v linuxovém jádře". cr0 blog. Citováno 2013-08-02.
- ^ Corbet, Jonathan (11.01.2012). „Ještě další nový přístup k seccomp“. lwn. Citováno 2013-08-02.
- ^ Tinnes, Julien (19. 11. 2012). „Bezpečnější hřiště pro vaše vykreslovací systémy Linux a Chrome OS“. The Chrom Blog. Citováno 2013-08-02.
- ^ „[PATCH] seccomp: podpora bezpečných výpočtů“. Historie jádra Linuxu. Úložiště git serveru Kernel.org. 8. 3. 2005. Archivovány od originál dne 15. 4. 2013. Citováno 2013-08-02.
- ^ „Filtr Seccomp v systému Android O“. Blog vývojářů pro Android.
- ^ "systemd.exec - konfigurace prostředí spuštění". freedesktop.org. Citováno 2017-10-14.
- ^ Otubo, Eduardo (2017-09-15). „Žádost o stažení nového modelu QEMU Sandboxing“. archiv adresáře qemu-devel.
- ^ van de Ven, Arjan (2009-02-28). „Re: [stable] [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole“. Linux Kernel Mailing List. Citováno 2013-08-02.
- ^ Torvalds, Linus (2009-02-28). „Re: [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole“. Linux Kernel Mailing List. Citováno 2013-08-02.
- ^ Gutschke, Markus (06.05.2009). „Re: [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole“. Citováno 2013-08-02.
- ^ Gutschke, Markus (06.05.2009). „Re: [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole“. Linux Kernel Mailing List. Citováno 2013-08-02.
- ^ „Firejail“. Firejail. Citováno 2016-11-26.
- ^ Evans, Chris (04.07.2012). „Chrome 20 v systému Linux a Flash Sandboxing“. Citováno 2013-08-02.
- ^ Tinnes, Julien (06.09.2012). „Představujeme sandbox Linuxu nové generace pro Linux“. cr0 blog. Citováno 2013-08-02.
- ^ „Snap security policy“. Archivovány od originál dne 2017-02-04. Citováno 2017-02-03.
- ^ Evans, Chris (04.04.2012). „vsftpd-3.0.0 a filtrování izolovaného prostoru seccomp je tady!“. Citováno 2013-08-02.
- ^ „Poznámky k verzi openssh 6.0“. Citováno 2013-10-14.
- ^ „MBOX“. Citováno 2014-05-20.
- ^ „LXD„ hypervisor “pro kontejnery (na základě liblxc)“. Citováno 2014-11-08.
- ^ „Kam jdeme s LXD“. Citováno 2014-11-08.
- ^ Destuynder, Guillaume (2012-09-13). „Sandbox Firefoxu Seccomp“. Mozilla Bugzilla. Citováno 2015-01-13.
- ^ Destuynder, Guillaume (2012-09-13). „Sandbox Firefoxu Seccomp“. Mozilla Wiki. Citováno 2015-01-13.
- ^ "Tor ChangeLog".
- ^ „Leptonova komprese obrazu: bezztrátová úspora 22% z obrázků rychlostí 15 MB / s“. Dropbox Tech Blog. Citováno 2016-07-15.
- ^ „Kafel: Jazyk a knihovna pro určení zásad filtrování syscall“.
- ^ „Subgraph OS“. Podgraf. Citováno 2016-12-18.
- ^ „LoganCIJ16: Budoucnost OS“. Youtube. Citováno 2016-12-18.
- ^ „Model zabezpečení flatpak - část 1: Základy“. Citováno 2017-01-21.
- ^ "bublinková folie". Citováno 2018-04-14.
- ^ https://www.chromium.org/chromium-os/developer-guide/chromium-os-sandboxing
- ^ „Minijail [LWN.net]“. lwn.net. Citováno 2017-04-11.
externí odkazy
- Oficiální webové stránky[mrtvý odkaz ]
- Pískoviště Google pro chrom, LWN.net, Srpen 2009, autor: Jake Edge
- sekundová sestra, sandboxingový rámec založený na seccomp
- Dokumentace / prctl / seccomp_filter.txt, část Linuxové jádro dokumentace
- Hloubková bezpečnost pro software Linux: Prevence a zmírnění bezpečnostních chyb