My undergraduate thesis on a capability based security system for a data-centric operating system.
1#import "template.typ": *
2
3#show: mol-thesis
4
5
6
7#mol-titlepage(
8 // title: "Design, Implementation, and Verification of a Security System for Data-Centric Operating Systems",
9 title: "Twizzler-Security\nA Capability-Based Security System for Twizzler",
10 // title: "Gurt",
11 author: "Surendra Jammishetti",
12 birth-date: "April 1st, 1980",
13 birth-place: "Alice Springs, Australia",
14 defence-date: "August 28, 2005",
15 /* Only one supervisor? The singleton array ("Dr Jack Smith",) needs the
16 trailing comma. */
17 supervisors: ("Owen B. Arden",),
18 //TODO: fix these
19 committee: (
20 "Dr. Peter Alvaro",
21 "Dr. Andi Quinn",
22 ),
23 degree: "Computer Engineering B.S."
24)
25
26// DANIEL feedback
27// overall great start, I'd extend the intro a little bit, its a litte sparse
28// and could use a few more things, same thing with future work and conclusion.
29//
30// run a spell check
31//
32// more feedback throughout, feel free to take or ignore
33
34#mol-abstract[
35 Traditional operating systems permit data access through the kernel, applying
36 security policy as a part of that pipeline. The Twizzler operating system
37 flips that relationship on its head, focusing on an approach where data
38 access is a first-class citizen, getting rid of the kernel as a middleman.
39 This data-centric approach requires us to rethink how security policy
40 interacts with users and the kernel. In this thesis, I present the design and
41 implementation of core security primitives in Twizzler. Then I evaluate the
42 security model with a basic and advanced scenario, as well as microbenchmarks
43 of core security operations. Lastly, I discuss future work built off this
44 thesis, such as the incorporation of Decentralized Information Flow Control.]
45
46
47
48
49
50
51
52// we haveee the introduction, talking about how things are normally done in unix
53// - a critique of why this doesnt work inside of a data-centric operating system, such as twizzler
54//
55// a solution and design spec of what solves the problems from earlier
56//
57// benchmarking and analysis
58//
59// conclusion
60
61#outline()
62#include "1-introduction.typ"
63#include "2-keypair.typ"
64#include "3-cap.typ"
65#include "4-secctx.typ"
66#include "5-results.typ"
67#include "6-conclusion.typ"
68#pagebreak()
69
70#load-bib(read("refs.bib"), main: true)