[<prev] [next>] [day] [month] [year] [list]
Message-ID: <BNAP110MB1870973603BB2663E0EA80CED562A@BNAP110MB1870.NAMP110.PROD.OUTLOOK.COM>
Date: Wed, 18 Sep 2024 13:50:29 +0000
From: "McKee, Derrick - 0553 - MITLL" <Derrick.McKee@...mit.edu>
To: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Upstreaming compartmentalization support
My name is Derrick McKee, and I am a researcher at MIT Lincoln Laboratory.
My team and I have developed a technique that allows for adding
compartmentalization to the kernel [1], which effectively creates a
micro-kernel like separation from the monolithic design the kernel has now.
We are looking into the possibility of upstreaming our changes. Before we
spend the considerable resources needed to get the code up to the high
standards needed, we would like to see if our approach is acceptable by the
community.
We enforce the compartment boundaries through using an LLVM compiler pass
that is currently not in the LLVM source tree. This pass analyzes data
access, and instruments the LLVM IR to mediate access to ensure that the
compartmentalized has the appropriate rights. We plan on discussing the
integration of our pass with the LLVM developers, but we do not have plans
on porting our technique to GCC. Is there an official policy regarding
compiler-specific functionality? Are compiler-specific functionality
acceptable?
Additionally, as part of the compartmentalization enforcement, the compiler
pass adds new functions not declared in any source file. I know C++ has not
been used in the kernel partially because it also adds code automatically.
Is such automatic code generation acceptable as well?
We look forward to hearing your responses.
[1] https://www.ndss-symposium.org/ndss-paper/auto-draft-257/
-----------------------------------------------------------------
Derrick McKee, Ph.D.
derrick.mckee@...mit.edu
Group 53 - Secure Resilient Systems and Technology
Download attachment "smime.p7s" of type "application/pkcs7-signature" (5759 bytes)
Powered by blists - more mailing lists