diff --git a/1-introduction.typ b/1-introduction.typ index be5577c..523e2e9 100644 --- a/1-introduction.typ +++ b/1-introduction.typ @@ -6,32 +6,32 @@ // talk about the standard unix abstractions -In mainstream operating systems, security policy is enforced at runtime by a -omnicient and all powerful kernel. +In mainstream operating systems, a +omnicient and all-powerful kernel enforces security policy at runtime. // what am i trying to say here. It acts as the bodyguard, holding all i/o and data protected unless the requesting party has the authorization to access some resource. This tight -coupling of security policy and access mechanisms works well since any accesses -must be done through the kernel, so why not perform security checks right -along-side an access. However +coupling of security policy and access mechanisms works well since any access +must be done through the kernel, so why not perform security checks +alongside accesses? However, the enforcement of security policy starts getting complicated when we try -to seperate the access mechanisms from the kernel. This notion arises +to separate the access mechanisms from the kernel. This problem arises in a certain class of operating systems. -== Data Centric Operating Systems +== Data-Centric Operating Systems -Data centric operating systems are defined by two principles @twizzler: +Data-centric operating systems are defined by two principles @twizzler: - + Provide direct, kernel-free, access to data. + + They provide direct, kernel-free, access to data. - + A notion of pointers that are tied to the data they represent. + + They have a notion of pointers that are tied to the data they represent. Mainstream operating systems fail to classify as data-centric operating systems, as they rely on the kernel for all data access, and use virtualized pointers per process to represent underlying data. The benefit of this "class" of operating systems comes from the low overhead for data manipulation, due to the lack -of kernel involvement. However our previous security model fails to operate -here as, by defenition, the kernel cannot be infront of accesses to data. So, +of kernel involvement. However, the mainstream security model fails to operate +here as, by definition, the kernel cannot be in front of access to data. So, something new must be investigated. == Capability Based Security Systems @@ -41,15 +41,15 @@ something new must be investigated. // // how they are different from earlier thingies -Capability based security systems have a rich history in research, and offer -an alternative approach to security, in opposition to the ACL's of prevalent OS's @linux_security. -Boiled down, a capability is a token of authority, holding at mininum some +Capability-based security systems have a rich history in research, and offer +an alternative approach to security, in opposition to the Access Control Lists of prevalent OS's @linux_security. +Boiled down, a capability is a token of authority, holding at minimum some permissions and a unique identifier to which "thing" those permissions apply -to @cap-book. This simple approach of having a "token", allows for a large seperation +to @cap-book. This simple approach of having a "token", allows for a separation of the kernel's involvement in the creation and management of security policy. -In a well designed system, as we see in @twizsec and described later, allows for +In a well-designed system, as we see in @twizsec and described later, this allows users to completely create and manage security policy while the kernel is left to enforce -it. This paradigm allows for the kernel-free access of data, while also guaranteeing +it. This paradigm permits kernel-free access of data, while also guaranteeing security. @@ -59,8 +59,8 @@ security. In this thesis, I detail the fundamentals of security in the Twizzler operating system, and discuss how I implement and refine some of the high level ideas described in Twizzler @twizzler and an early draft of a Twizzler security -paper @twizsec. Additionally we evaluate these systems inside kernel and user space, -with comparsions to micro-benchmarks done with an older version of twizzler. +paper @twizsec. Additionally, we evaluate these systems inside kernel and user space, using +Alice/Bob scenarios and microbenchmarks. Code can be found in this #link("https://github.com/twizzler-operating-system/twizzler/issues/268")[Github tracking issue]. diff --git a/2-keypair.typ b/2-keypair.typ index d5b22dc..59474ea 100644 --- a/2-keypair.typ +++ b/2-keypair.typ @@ -4,16 +4,16 @@ #mol-chapter("Key Pairs") // what are keypair objects ? -Key pairs in Twizzler are the representation of the cryptographic signing -schemes used to create a signed capability, discussed in 3.1. We design -the keypair objects to be agnostic towards what cryptographic schemes are -underneath, allowing for the underlying algorithm to be changed @twizzler. The -keys themselves are stored inside of objects, allowing for persistent or -volatile storage depending on object specification, and allows for keys -themselves to be treated as any other object and have security policy applied -to them. This allows for powerful primitives and rich expressiveness for -describing secruity policy, while also being flexible enough to make basic -policy easy. +Key pairs in Twizzler are representation of the cryptographic signing +schemes used to create a signed capability, as discussed in 3.1. We design +the keypair objects to be agnostic towards the underlying scheme to allow for +multiple schemes, as described in @twizzler. This also helps with backwards +compatibilty when adding new, more secure schemes, in the future. The keys +are stored inside of objects, allowing for persistent or volatile +storage depending on object specification, and allows for keys themselves to +be treated as any other object and have security policy applied to them. This +allows for powerful primitives and rich expressiveness for describing secruity +policy, while also being intuitive enough to construct basic policy easily. == Abstraction @@ -29,10 +29,10 @@ Additionally this specification allows for backward compatibility, allowing for an outdated signing scheme to be used in support of older programs / files. An existing drawback for backward compatibility is the maximum size of the buffer we store the key in. Currently we set the maximum size as 256 -bytes, meaning if a future cryptographic signing scheme was to be found with -a private key size larger than 256 bytes, we would have to drop backwards -compatibility. Sure this can be prevented by setting the maximum size to -something larger, but that a tradeoff between possible cryptographic schemes +bytes, meaning if a future cryptographic signing scheme was to be created with +a key size larger than 256 bytes, we would have to drop backwards +compatibility. Sure this can be prevented now by setting the maximum size to +something larger, but thats a tradeoff between possible cryptographic schemes vs the real on-disk cost of larger buffers. == Compartmentalization @@ -47,11 +47,11 @@ solutions in regards to key management. Suppose for instance we have Alice on Twizzler, and all users on twizzler have a "user-root" keypair that allows for them to create an arbitrary number of objects. Also suppose that access to this user-root keypair is protected by -some login program, where only alice can log in. This now means that Alice -now can create new keypair objects from her user-root keypair. Since all -her new keypairs originate from her original user-root keypair, only she can +some login program, where only alice can log in. This means that Alice +can create new keypair objects from her user-root keypair. Since all +*her* new keypairs originate from *her* original user-root keypair, only *she* can access the keys required to create new signatures allowing permissions into -her objects. It forms an elegant solution for capability creation without +*her* objects. It forms an elegant solution for key management without the involvement of the kernel. diff --git a/3-cap.typ b/3-cap.typ index 5ad391d..080f9f2 100644 --- a/3-cap.typ +++ b/3-cap.typ @@ -6,7 +6,11 @@ // define a capability Capabilities are the atomic unit of security in Twizzler, acting as tokens of protections granted to a process, allowing it to access some object in the ways -it describes. A Capability is built up of the following fields. +it describes. Colloquially a capability is defined as permissions and +a unique object to which those permissions apply, but in Twizzler we add +the signature component to allow the kernel to validate that the security policy was created by an authorized party. + +Thus, a Capability is represented as follows: ```rust @@ -17,37 +21,44 @@ struct Cap { flags: CapFlags, // Cryptographic configuration for capability validation. gates: Gates, // Additional constraints on when this capability can be used. revocation: Revoc, // Specifies when this capability is invalid, i.e. expiration. - sig: Signature, // The signature inside the capability. + sig: Signature, // The signature. } ``` // == Signature -The signature inside is what determines the validity of this capability. The +The signature is what determines the validity of the capability. The only possible signer of some capability is who ever has permissions to the -signing key object, or the kernel. In this way, if the signer decides to -make the signing key private to them, no other entity can administer this -signature for this capability. The signature is built up of a array with +signing key object, or the kernel itself. The signature is built up of a array with a maximum length and a enum representing what type of cryptographic scheme was used to create it; quite similar to the keys mentioned previously. -The message being signed to form the signature is the bytes of each of the -fields inside the capability being hashed. There is support for multiple -hashing algorithms as described in 3.1. - +The fields of the capability are serialized and hashed to form the message that gets signed, +and then stored in the signature field. Currently we support Blake3 and +Sha256 as hashing algorithms. // what do i want to talk about regarding signatures? == Gates +Gates act as a limited entry point into objects. If a capability has a non-trivial gate, +which is made up of an offset field, and a length field, the kernel will read that and ensure +that any memory accesses into that object are within the gate bounds. The original Twizzler +paper @twizzler describes gates as a way to perform IPC, and calls between distinct programs, +but in the context of this thesis it is sufficient to think of them as a region of allowed +memory access. == Flags -Currently flags in capabilities are used to specify which hashing algorithm to use in order -to form a message to be signed. We allow for multiple algorithms to be used in order to -allow for backwards capability when newer, more efficient hashing algorithms are created. - -There is also plenty of space left in the bitmap, allowing for future work to develop more -expressive ways of using capabilities, such as planned future work to implement information -flow control into the twizzler security system. +Currently, flags in capabilities are used to specify which hashing algorithm to use to form a message to be signed. We allow for multiple algorithms to be used to +allow for backward capability when newer, more efficient hashing algorithms are created. +The flags inside a capability is a bitmask providing information about distinct feautures +of that capability. Currently we only use them to mark what hashing algorithm was used to +form the message for the signature, but there's plenty of bits left to use. +We hope for future work to develop more expressive ways of using capabilities, i.e. Decentralized Information Flow Control, as specified in +6.1. #load-bib(read("refs.bib")) + + + + diff --git a/4-secctx.typ b/4-secctx.typ index aa3aa9f..fbe3f6f 100644 --- a/4-secctx.typ +++ b/4-secctx.typ @@ -2,25 +2,15 @@ #mol-chapter("Security Contexts") -Security Contexts are objects that store capabilites, which processes can attach onto, inherting the -permissions granted by the capabilities that reside inside. - -== Enforcement - -The enforcement of security policy in Twizzler happens on page fault when trying to access -a new object @twizzler. Then the kernel inspects the security contexts attached to -the accessing proccess, looking up what capabilities those contexts hold and if they are applicable -to the object being accessed. The original twizzler paper @twizzler, and the following security paper -go into more detail about the philosophy behind why enforcement works this way, such as the -performance benefits of letting programs access objects directly without kernel involvement, etc. - - - +Security Contexts are objects that processes attach to in-order to inherit the +permissions inside the context. The contexts store capabilities, allowing for userspace +programs to add capabilities to contexts, and kernel space to efficiently search +through them to determie whether a process has the permissions to perform a memory access. == Base Since security contexts can be interacted with by the kernel and userspace, there needs to -be a consistent defenition that both parties can adhere to, which we define. Objects in twizzler +be a consistent definition that both parties can adhere to, which we define. Objects in Twizzler have a notion of a `Base` which defines an arbitrary block of data at the "bottom" of an object that is represented as a type in rust. We define the `Base` for a security context as follows: @@ -35,7 +25,7 @@ struct SecCtxBase { === Map The map holds positions to Capabilities relevant to some target object, which -the relevant security context implementations for kernel and userspaces to +the relevant security context implementations for kernel and userspace to parse security context objects. Implicitly, the kernel uses this map for lookup while the user interacts with this map to indicate the insertion, removal, or modification of a capability. @@ -43,7 +33,7 @@ a capability. === Masks Masks act as a restraint on the permissions this context can provide for some targeted object. This allows for more expressive security policy, such as being able to quickly restrict -permissions for an object, without having to remove a capability, and recreating one with the +permissions for an object, without having to remove a capability and recreating one with the dersired restricted permissions. The global mask is quite similar to the masks mentioned above, except that it operates on @@ -51,16 +41,40 @@ permissions granted by the security context as a whole rather than a mask per di // what now // === Flags +Flags is a bitmap allowing for a Security Context to have different properties. Currently, there +is only one value, UNDETACHABLE, marking the security context as a jail of sorts, as +once a process attaches to it, it won't be able to detach. This acts as a way to +limit the transfer of information if a thread attaches to a sensitive object. Once a thread +attaches to such a context, it is forced to end its execution with the objects that context grants +permission to. We also plan to utilize these flags in future works, as described in 6.1. +== Enforcement +All enforcement happens inside the kernel, which has a seperate view into Security Contexts +than userspace. The kernel keeps track of all security contexts that threads in Twizzler +attach to, instantiating a cache inside each one. Additionally, a thread can attach +to multiple security contexts, but can only utilize the permissions granted by one unless +they switch @twizzler. To manage these threads, the kernel assigns a Security Context Manager, +which holds onto security context references that a thread has. - - -// on disk storage for security contexts for efficient lookup - - -// what else is special about security contexts? - +The enforcement of security policy in Twizzler happens on page fault when trying to access +a new object @twizzler. Upon fault, the kernel inspects the target object and identifies the +default permissnons of that object. Then the kernel checks if the currently active +security context for the accessing thread has either cached or capabilities that provide +permissions. If default permissions + the active context permissions arent enough to +permit the access, the kernel then checks each of the inactive contexts to see if they +have any relevant permissions. If there exists such permissions, then the kernel will +switch the active context of that process to the previously inactive context where the permission +was found. If it fails all of these, then the kernel terminates the process, citing inadequate +permissions. + +Since the security context can have a mask per object, while also having a global_mask to +the protections it can grant, the kernel also takes this into account while determining if +a process has the permissions for access. + +The original Twizzler paper @twizzler, and the following security paper +go into more detail about the philosophy behind why enforcement works this way, such as the +performance benefits of letting programs access objects directly without kernel involvement, etc. #load-bib(read("refs.bib")) diff --git a/5-results.typ b/5-results.typ index f78b60e..980bf09 100644 --- a/5-results.typ +++ b/5-results.typ @@ -19,7 +19,7 @@ == Validation The first test is a basic scenario as a check to make sure the system is behaving as intended, and -a more expressive test to demonstrate the flexibility of the model. Eventually I intend to work with +a more expressive test to demonstrate the flexibility of the model. Eventually, I intend to work with my advisor and peers to form a proof of correctness for the security model, as well as empirical testing to demonstrate its rigidity. @@ -30,14 +30,14 @@ TBA == Micro Benchmarks -Additionally we have microbenchmarks of core security operations in Twizzler. All -benchmarks were ran with a Ryzen 5 2600, with Twizzler virtualized in QEMU. Unfortunately +Additionally, we have microbenchmarks of core security operations in Twizzler. All +benchmarks were run with a Ryzen 5 2600, with Twizzler virtualized in QEMU. Unfortunately I ran out of time to perform benchmarks on bare metal, but they should be the same, if not more, performant. === Kernel -Theres a couple things we benchmark inside the kernel, including core cryptographic +There a couple of things we benchmark inside the kernel, including core cryptographic operations like signature generation and verification, as well as the total time it takes to verify a capability. #figure( @@ -84,19 +84,18 @@ caption: [Collection of Kernel Benchmarking Results] ) We see that signatures are vastly more expensive than hashing, on an order -of $10^3$, meaning that your choice of hashing algorithm doesnt affection the +of $10^3$, meaning that your choice of hashing algorithm doesn't affect the total time taken for the verification of a capability. It's also important to -note that this cost of verifying a capability for access is done on the first -pagefault, then the kernel uses caching to store the granted permissions and -provieds those on subsequent page faults into that object. In the future I hope -to measure the difference between a cached and uncached verification. Secondly -we only measure verification inside kernel space; as disscussed in section 3, +note that this cost of verifying a capability for access is done on the first-page fault, then the kernel uses caching to store the granted permissions and +provides those on subsequent page faults into that object. In the future, I hope +to measure the difference between a cached and uncached verification. Secondly, +we only measure verification inside kernel space; as discussed in section 3, capability creation only takes place in user space. === UserSpace -In userspace we benchmark keypair and capability creation, as these operations are core to -creating security policy. +In userspace, we benchmark keypair and capability creation, as these operations are core to +creating a security policy. #figure( @@ -130,9 +129,9 @@ caption: [Collection of UserSpace Benchmarking Results] ) Almost all the time spent in creating a capability is the cryptographic operations used -to form its signature, which is why its in the same ballpark as signature creation we saw earlier. +to form its signature, which is why it's in the same ballpark as the signature creation we saw earlier. -The high varince in Keypair objects and Security contexts creation happens from the -unpredictable time it takes for the kernel to create an object on disk. The reason keypair's -are almost 2x more expensive since it creates two seperate objects, one for the signing key, +The high standard deviation in Keypair objects and Security context creation happens from the +unpredictable time it takes for the kernel to create an object on disk. The reason keypairs +are almost 2x more expensive since they create two separate objects, one for the signing key, and one for the verifying key. diff --git a/thesis.pdf b/thesis.pdf index d0ff94de4eeb7ac83f3cbe63bb99aa709ec7b2da..19a0b0ffd9e6edf5f60bbe78021ece499b2a6315 100644 GIT binary patch delta 62648 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 Xe)I@39rEG$6- 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 delta 57492 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 Iy862T09uY>)Bpeg diff --git a/thesis.typ b/thesis.typ index 6ffcb6f..3e59a72 100644 --- a/thesis.typ +++ b/thesis.typ @@ -24,9 +24,16 @@ ) #mol-abstract[ - whatevea - lowkey not even sure what to write - ] + Traditional operating systems permit data access through the kernel, applying + security policy as a part of that pipeline. The Twizzler operating system + flips that relationship on its head, focusing on an approach where data + access is a first-class citizen, getting rid of the kernel as a middleman. With + this data-centric approach, it requires us to rethink how security policy + interacts with users and the kernel. In this thesis, I present the design and + implementation of core security primitives in Twizzler. Then I evaluate the + security model with a basic and advanced scenario, as well as microbenchmarks + of core security operations. Lastly, I discuss future work built off this + thesis, such as the incorporation of Decentralized Information Flow Control.]