Genode - Genode
![]() | |
![]() Desktopový systém Sculpt založený na Genode | |
Vývojář | Genode Labs |
---|---|
Napsáno | C ++ |
Pracovní stav | Aktuální |
Zdrojový model | Otevřený zdroj |
První vydání | 2008 |
Poslední vydání | 20.08[1] / 28. srpna 2020 |
Úložiště | ![]() |
Marketingový cíl | Stolní počítače Vestavěné systémy |
K dispozici v | Angličtina |
Platformy | PAŽE, RISC-V,[2] x86, x86-64[3] |
Jádro typ | Microkernel |
Userland | Genode, POSIX |
Licence | GNU Affero General Public License, verze 3.0 a komerční |
Oficiální webové stránky | https://genode.org |
Genode je bezplatný open source software operační systém (OS) framework skládající se z a mikrokernel abstrakční vrstva a sada uživatelský prostor komponenty.[4][5][6] Rámec je pozoruhodný jako jeden z mála otevřených operačních systémů, které nejsou odvozeny od proprietárního OS, jako je Unix. Charakteristická filozofie designu je malá důvěryhodná výpočetní základna je v bezpečnostně orientovaném OS primárním zájmem.
Genode lze použít jako základ pro a stolní počítač[7][8] nebo tablet[9] OS nebo jako monitor virtuálního stroje pro hostující operační systémy. Rámec byl použit jako důvěryhodná součást zabezpečení virtualizace systémy pro oba x86[10] a PAŽE.[11]
Malý kódová základna Genode je flexibilní alternativou ke komplexnějším operačním systémům odvozeným od Unixu. Z tohoto důvodu byl rámec používán jako základní systém pro výzkum v takových oblastech, jako je virtualizace,[12] meziprocesová komunikace,[13] IP stack izolace,[14][15] monitorování,[16] a vývoj softwaru.[17][18]
Dějiny
Genode byl poprvé koncipován jako architektura Bastei OS[19] výzkumná zpráva na Technické univerzitě v Drážďanech (TU Drážďany ). Zpráva se zaměřila na zjištění praktičnosti použití OS založeného na komponentách zabezpečení založené na schopnostech. Tato zpráva byla částečně motivována výzkumem L4 mikrohypervisory[20] provedeno ve stejnou dobu. Po úspěchu raného prototypu založili autoři zprávy společnost Genode Labs, která vyvinula Bastei jako Genode OS Framework.
Zprávy
Projekt je vyvíjen veřejně jako open source projekt vydaný za podmínek GNU Affero General Public License s komerčním subjektem nabízejícím alternativní licence. Vydání jsou naplánována v tříměsíčních intervalech, aby bylo možné provést změny v systému binární rozhraní aplikace (ABI), aplikační programovací rozhraní (API) a vydat dokumentaci. Rámec OS je k dispozici ve formě zdrojového kódu a po vydání verze 18.02 je pojmenován derivát pro obecné účely Sochařství je poskytováno s binárním nasazením v cíli.
Architektonické prvky
Genode staví na obecné filozofii mikrokernelů: čím menší a jednodušší je kód, tím snazší je ověřit důvěryhodnost a správnost. Genode rozšiřuje tuto filozofii na uživatelský prostor skládáním složitých aplikací z malých komponent. Každá složka existuje v přísné hierarchii vztahů rodič-dítě. Jakákoli součást jednající jako nadřazený může použít zdroj a meziprocesová komunikace (IPC) zásady přístupu k jeho dětem. Toto hierarchické rozložení systému přináší intuitivní rozdělení oddílů a deeskalaci oprávnění, protože specializované subsystémy jsou vnořeny do obecnějších subsystémů, což zmírňuje zmatený problém zástupce endemický až centralizovaný nebo superuživatel systémová politika.
Rámec je navržen tak, aby byl hostován mikrokernely, ale vlastnosti kteréhokoli daného mikrokernelu spadají většinou do společné sady a monolitická jádra implementovat nadmnožinu těchto funkcí. Abstrahování těchto funkcí umožňuje společnosti Genode fungovat jako uživatelský prostor pro různé mikrojádra L4,[21][22] a Linux.
Kritika
C ++
Genode je často kritizována volba jeho implementačního jazyka, C ++ (několik dalších operačních systémů implementovaných v C ++ zahrnuje BeOS, Fuchsie, Duch, Haiku, ZahrnoutOS, OSv, Palm OS, ReactOS, Slabika a všechny hlavní vyhledávače). Tato kritika obvykle tvrdí, že C ++ je špatná volba pro implementaci systémových knihoven a API kvůli inherentní složitosti C ++ a obtížnosti při analýze kódu na správné chování. Zatímco Genode ve své systémové knihovně využívá více dědičností a šablon, použití C ++ standardní knihovna není povoleno a jazykové funkce, které se spoléhají na implicitní globální stav, jako např místní úložiště vláken a globální alokátor, byly odstraněny z modulu runtime jazyka.[23] Komplexní statická analýza C ++ není možná. Projekt Genode však publikuje jednotkové testy pro empirickou analýzu.
XML
Genode komponenty spotřebovávají a publikují stav pomocí strukturovaných dat serializovaných v XML, na rozdíl od prostého textu modelu unixových derivátů. Rámec Genode využívá XML efektivně ve všech svých komponentách, protože XML je snadno analyzován a generován programově, přičemž je stále možné jej pochopit a upravit ručně.
Místní jmenné mezery
Genode chybí žádný praktický globál jmenný prostor; neexistuje žádný globální souborový systém nebo registr procesy nebo IPC koncové body. To je na rozdíl od systémů, jako je Unix, které se vyznačují všudypřítomným souborovým systémem a umožňují kontextu superuživatele libovolně spravovat jakýkoli proces v systému. Výslovné deklarace oprávnění a směrování komponent může být ve srovnání s Unixem vnímáno jako pracovně náročné. Správa s rozčleněním však umožňuje, aby byly podsystémy spravovány vzájemně nedůvěryhodnými správci systému na stejném stroji, aniž by se uchýlil k virtualizaci, což je běžná metoda izolace.
Sochařství
Projekt Genode publikuje desktopový operační systém s názvem Sochařství který se zaměřuje na současného spotřebitele notebooky.[24] Sculpt je malý základní systém s automatickou detekcí a konfigurací zařízení, některými ovládacími rozhraními GUI a rozhraními pro správce balíčků Genode. Systém neobsahuje úplné desktopové prostředí, ale vyžaduje nasazení uživatelů virtuální stroje hostování tradičních operačních systémů pro plně vybavený desktop. Sculpt se odlišuje od rámce operačního systému Genode v tom, že se silně spoléhá na dynamickou rekonfiguraci pomocí privilegovaných ovládacích komponent na rozdíl od specializovaných systémů se statickými zásadami.
Viz také
- HelenOS, stolní mikrokernelový operační systém
- QNX, proprietární unixový operační systém hostovaný mikrojádrem
- Qubes OS, desktopový operační systém, který poskytuje zabezpečení prostřednictvím virtualizace
- Podgraf (operační systém), distribuce Linuxu, která poskytuje zabezpečení prostřednictvím izolovaného prostoru
- Zabezpečení založené na schopnostech
- Ve výchozím nastavení zabezpečeno
Reference
- ^ „Poslední vydání Genode OS Framework“.
- ^ „Genode OS přidává podporu RISC-V“.
- ^ Larabel, Michael. „Genode vyvíjí multiplexor GPU pro grafický hardware Intel“. Phoronix.
- ^ „Představení rámce Genode OS“. archive.fosdem.org/2012.
- ^ „Operační systémy založené na L4“. L4hq.org. Archivovány od originál dne 2018-06-14. Citováno 2018-06-01.
- ^ Larabel, Michael. „Redox OS, MINIX, Hurd & Genode měl svůj čas také na FOSDEM“. Phoronix.
- ^ Baader, Hans-Joachim. „Genode 2018.2 mit Sculpt OS“. pro-linux.de.
- ^ Larabel, Michael. „Sculpt chce být univerzálním operačním systémem postaveným na genode“.
- ^ Tarasikov, Alexander (11. 5. 2013). „Přenos Genode na komerční hardware“. Nesnáším software. Blogger.
- ^ „Muen: x86 / 64 Separation Kernel for High Assurance“.
- ^ Williams, John. „Kontrola dat z bezpečí vašeho důvěryhodného prostředí pro provádění“ (PDF).
- ^ „Ambasády: Radikální refaktorování webu“ (PDF). USENIX.
- ^ Wegner, Martin; Holthusen, Sönke (11. 12. 2014). „Specifikace smlouvy a jazyk“. ccc-project.org.
- ^ Hamad, Mohammad (06.01.2016). „Zabezpečený komunikační modul CCC“. ccc-project.org.
- ^ Hamad, Mohammad. „Komunikační rámec pro řízení distribuovaného přístupu v systémech založených na mikrokernelech“ (PDF).
- ^ Pruthiviraj, B .; Madhusuthun, GS; Vijayasarathy, S .; Chakrapani, K. „Zabezpečený operační systém založený na mikrokernelu využívající Genode Framework“ (PDF). JATIT.
- ^ Hähne, Ludwig. "Empirické srovnání SCons a GNU Make" (PDF).
- ^ Millo-Sánchez, Reinier; Paz Rodríguez, Waldo; Fajardo-Moya, Alexis. „Genode OS Framework, un framework para el desarrollo de sistemas embebidos“. ResearchGate.
- ^ „Technická zpráva TU Dresden TUD-FI06-07“ (PDF).
- ^ „Mikrohypervisor NOVA“.
- ^ „Operační systémy založené na L4“. L4hq.org. Archivovány od originál dne 2018-06-14. Citováno 2018-06-01.
- ^ „Komunitní projekty SeL4“. sel4.systémy.
- ^ „Genode's Conscious C ++ dialect“. genodians.org. Citováno 2019-11-29.
- ^ „Poznámky k verzi 18.02“.
externí odkazy
- Oficiální webové stránky
- Genodelabs na GitHub
- Výzkumné projekty
- KV-Cache: škálovatelná vysoce výkonná mezipaměť webových objektů pro Manycore
- TrApps: Zabezpečené oddíly v cloudu Evil
- Vývoj vestavěné platformy pro zabezpečené služby CPS
- Projekt zabezpečeného OS IIT Madras
- Izolace jádra bezpečnostního operačního systému založeného na schopnostech
- Zabezpečení mobilních zařízení s ARM TrustZone