diff --git a/1-introduction.typ b/1-introduction.typ index f5fa795..29f9250 100644 --- a/1-introduction.typ +++ b/1-introduction.typ @@ -3,22 +3,55 @@ #mol-chapter("Introduction") // talk about the standard unix abstractions -#lorem(100) -== Background +In mainstream operating systems, security policy is enforced at runtime by a +omnicient and all powerful kernel. +// 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 great since the kernel +is always *there* and the only way to access anything through it. However +the enforcement of security policy starts getting complicated when we try +to seperate the access mechanisms from the kernel. -#lorem(75) -== Literature +== Data Centric Operating Systems -We use standard results from @netwok2020. Also relevant for our work is -@netwok2020, where it was proven that Logic is great. +Data centric operating systems are defined by two principles @twizzler: -#lorem(800) + + Provide direct, kernel-free, access to data. -== Criticism + + 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. -#lorem(150) + + +== Capability Based Security Systems + + +// describe capability based security systems +// +// how they are different from earlier thingies + +Capability based security systems utilize capabilities, a finegrained + + + + +== Our Contributions + +// describe the twizzler opensource project +// +// my contribution of the existing plan for a security system +// +// its implementation +// +// and benchmarks #load-bib(read("refs.bib")) diff --git a/2-design.typ b/2-design.typ index 9e57a6b..d90a072 100644 --- a/2-design.typ +++ b/2-design.typ @@ -1,25 +1,62 @@ #import "template.typ": * -#mol-chapter("My Logic") +#mol-chapter("Design") #lorem(100) -== Syntax -#definition[ - We defined the language $cal(L)$ as follows: - $ phi.alt ::= top | p | phi.alt and phi.alt $ -] -#lorem(50) +// heavily inspired by the original twizzler paper / security paper +// + + +== Capabilities + + +Capabilities are + + +=== Gates + +// talk about what gates can be useful for +// +// their design +// +// whateva + +=== Flags + +// +// How they can be used to specify how the signature is formed + +=== Signature + +// verification from the whateva + +== Security Contexts +// what is it? +// its an object in its own right! +// +// a process must be attached to one, in order to store any capabilities +// +// what about the "detachable bit?" jail? +// +// what else + + + +== Key Pairs + +// the desgin of the keypair objects +// +// the design of the keys themselves +// +// how they can be used to sign multiple objects (compartmentalization) +// -== Semantics -== Axioms -== Soundness -== Completeness #load-bib(read("refs.bib")) diff --git a/3-implementation.typ b/3-implementation.typ index bebb0df..3258faa 100644 --- a/3-implementation.typ +++ b/3-implementation.typ @@ -1,38 +1,9 @@ #import "template.typ": * -#mol-chapter("Examples") +#mol-chapter("Implementation") -== Figures -We illustrate the protagonist of this thesis. in @netwok2022. - -#figure(caption: "The protagonist.", numbering: "1.1")[ - #emoji.person -] - -== Tables - -In @cities we compare some cities. - -#figure(caption: "An overview of cities.")[ - #table( - columns: 3, - stroke: (x, y) => if x == 0 { (right: black) }, - table.hline(), - table.header([City],[Population],[area ($"km"^2$)]), - table.hline(), - [Amsterdam],[851573],[219], - [Groningen],[200952],[ 83], - [Utrecht ],[321989],[100], - table.hline() - ) -] - -#mol-chapter("Conclusions") - -As we discussed in @netwok2020, Logic is great. - -#lorem(400) +// lowkey dont know what to write here #load-bib(read("refs.bib")) diff --git a/4-results.typ b/4-results.typ index e69de29..b4ae0b7 100644 --- a/4-results.typ +++ b/4-results.typ @@ -0,0 +1,15 @@ + +#import "template.typ": * +#mol-chapter("Results") + +// benchmarking +// micro benchmarks that indicate the relative expense of checks that the kernel would need to do. +// sig time +// verification time +// enc time +// dec time +// via api +// +// make it relative to object size? +// +// take measurements without security checks too so you can see the security overhead diff --git a/5-conclusion.typ b/5-conclusion.typ index e69de29..ab5a3c5 100644 --- a/5-conclusion.typ +++ b/5-conclusion.typ @@ -0,0 +1,3 @@ +#import "template.typ": * + +#mol-chapter("Conclusion") diff --git a/refs.bib b/refs.bib index 708860a..4770f35 100644 --- a/refs.bib +++ b/refs.bib @@ -1,25 +1,16 @@ -@article{netwok2020, - title = {At-scale impact of the {Net Wok}: A culinarically holistic - investigation of distributed dumplings}, - author = {Astley, Rick and Morris, Linda}, - journal = {Armenian Journal of Proceedings}, - volume = {61}, - pages = {192--219}, - year = 2020, - publisher = {Automatic Publishing Inc.}, +@inproceedings{twizzler, + author = {Daniel Bittman and Peter Alvaro and Pankaj Mehra and Darrell D. E. + Long and Ethan L. Miller}, + title = {Twizzler: a {Data-Centric} {OS} for {Non-Volatile} Memory}, + booktitle = {2020 USENIX Annual Technical Conference (USENIX ATC 20)}, + year = {2020}, + isbn = {978-1-939133-14-4}, + pages = {65--80}, + url = {https://www.usenix.org/conference/atc20/presentation/bittman}, + publisher = {USENIX Association}, + month = jul, } -@article{netwok2022, - title = {{Net Wok}++: Taking distributed dumplings to the cloud}, - author = {Morris, Linda and Astley, Rick}, - journal = {Armenian Journal of Proceedings}, - volume = {65}, - pages = {101--118}, - year = 2022, - publisher = {Automatic Publishing Inc.}, -} - - @inproceedings{linux_security, author = {Zhai, Gaoshou and Li, Yaodong}, year = {2009}, diff --git a/refs.fdb_latexmk b/refs.fdb_latexmk index ac6bf3d..7552a5a 100644 --- a/refs.fdb_latexmk +++ b/refs.fdb_latexmk @@ -1,10 +1,10 @@ # Fdb version 4 -["pdflatex"] 1747249719.53131 "/home/suri/dev/school/cse195/thesis/refs.bib" "refs.pdf" "refs" 1747249719.66171 2 - "/home/suri/dev/school/cse195/thesis/refs.bib" 1747249719.4384 900 80d5baa70addd04b65dbbc39abd8d792 "" +["pdflatex"] 1747262537.07689 "/home/suri/dev/school/cse195/thesis/refs.bib" "refs.pdf" "refs" 1747262537.21239 2 + "/home/suri/dev/school/cse195/thesis/refs.bib" 1747262536.98598 753 f89392e8126180e235f45ea7a3de865f "" "/nix/store/mdmi3lq496xbfxw7ixvkvv2c3ykdfcjk-texlive-2024-env/share/texmf-var/web2c/pdftex/pdflatex.fmt" 1 3353350 ed70dbc3ea5f7d39b612736943eedf66 "" "/nix/store/mdmi3lq496xbfxw7ixvkvv2c3ykdfcjk-texlive-2024-env/share/texmf-var/web2c/texmf.cnf" 1 43655 498ae5f8cc45791715ea18c3a41168b3 "" "refs.aux" 1747249710.22753 32 3985256e7290058c681f74d7a3565a19 "pdflatex" - "refs.bib" 1747249719.4384 900 80d5baa70addd04b65dbbc39abd8d792 "" + "refs.bib" 1747262536.98598 753 f89392e8126180e235f45ea7a3de865f "" (generated) "refs.aux" "refs.log" diff --git a/refs.log b/refs.log index 9e21764..9efbf81 100644 --- a/refs.log +++ b/refs.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/nixos.org) (preloaded format=pdflatex 1980.1.1) 14 MAY 2025 12:08 +This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/nixos.org) (preloaded format=pdflatex 1980.1.1) 14 MAY 2025 15:42 entering extended mode \write18 enabled. %&-line parsing enabled. @@ -14,118 +14,32 @@ Type H for immediate help. ... l.1 @ - article{netwok2020, + inproceedings{twizzler, You're in trouble here. Try typing to proceed. If that doesn't work, type X to quit. Missing character: There is no @ in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no t in font nullfont! Missing character: There is no i in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no e in font nullfont! Missing character: There is no n in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no w in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no k in font nullfont! -Missing character: There is no 2 in font nullfont! -Missing character: There is no 0 in font nullfont! -Missing character: There is no 2 in font nullfont! -Missing character: There is no 0 in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no = in font nullfont! -Missing character: There is no A in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no - in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no m in font nullfont! Missing character: There is no p in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no f in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no N in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no W in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no k in font nullfont! -Missing character: There is no : in font nullfont! -Missing character: There is no A in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no a in font nullfont! Missing character: There is no r in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no y in font nullfont! -Missing character: There is no h in font nullfont! Missing character: There is no o in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no i in font nullfont! Missing character: There is no c in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no v in font nullfont! Missing character: There is no e in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no f in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no b in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no t in font nullfont! Missing character: There is no e in font nullfont! Missing character: There is no d in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no p in font nullfont! -Missing character: There is no l in font nullfont! Missing character: There is no i in font nullfont! Missing character: There is no n in font nullfont! Missing character: There is no g in font nullfont! Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no w in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no z in font nullfont! +Missing character: There is no z in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! Missing character: There is no , in font nullfont! Missing character: There is no a in font nullfont! Missing character: There is no u in font nullfont! @@ -134,307 +48,225 @@ Missing character: There is no h in font nullfont! Missing character: There is no o in font nullfont! Missing character: There is no r in font nullfont! Missing character: There is no = in font nullfont! -Missing character: There is no A in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no y in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no R in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no k in font nullfont! +Missing character: There is no D in font nullfont! Missing character: There is no a in font nullfont! Missing character: There is no n in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no M in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no L in font nullfont! Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no j in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no = in font nullfont! -Missing character: There is no A in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no m in font nullfont! Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no B in font nullfont! Missing character: There is no i in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no m in font nullfont! Missing character: There is no a in font nullfont! Missing character: There is no n in font nullfont! -Missing character: There is no J in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no n in font nullfont! Missing character: There is no a in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no f in font nullfont! -Missing character: There is no P in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no i in font nullfont! Missing character: There is no n in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no v in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no = in font nullfont! -Missing character: There is no 6 in font nullfont! -Missing character: There is no 1 in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no p in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no g in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no P in font nullfont! Missing character: There is no e in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no = in font nullfont! -Missing character: There is no 1 in font nullfont! -Missing character: There is no 9 in font nullfont! -Missing character: There is no 2 in font nullfont! -Missing character: There is no - in font nullfont! -Missing character: There is no - in font nullfont! -Missing character: There is no 2 in font nullfont! -Missing character: There is no 1 in font nullfont! -Missing character: There is no 9 in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no y in font nullfont! +Missing character: There is no t in font nullfont! Missing character: There is no e in font nullfont! -Missing character: There is no a in font nullfont! Missing character: There is no r in font nullfont! -Missing character: There is no = in font nullfont! -Missing character: There is no 2 in font nullfont! -Missing character: There is no 0 in font nullfont! -Missing character: There is no 2 in font nullfont! -Missing character: There is no 0 in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no p in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no b in font nullfont! +Missing character: There is no A in font nullfont! Missing character: There is no l in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no e in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no a in font nullfont! Missing character: There is no r in font nullfont! -Missing character: There is no = in font nullfont! -Missing character: There is no A in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no t in font nullfont! Missing character: There is no o in font nullfont! -Missing character: There is no m in font nullfont! Missing character: There is no a in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no P in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no b in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no i in font nullfont! Missing character: There is no n in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no I in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no . in font nullfont! -Missing character: There is no , in font nullfont! - -Overfull \hbox (20.0pt too wide) in paragraph at lines 1--11 -[] - [] - - -! LaTeX Error: Missing \begin{document}. - -See the LaTeX manual or LaTeX Companion for explanation. -Type H for immediate help. - ... - -l.12 @ - article{netwok2022, -You're in trouble here. Try typing to proceed. -If that doesn't work, type X to quit. - -Missing character: There is no @ in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no P in font nullfont! Missing character: There is no a in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no e in font nullfont! Missing character: There is no n in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no w in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no k in font nullfont! -Missing character: There is no 2 in font nullfont! -Missing character: There is no 0 in font nullfont! -Missing character: There is no 2 in font nullfont! -Missing character: There is no 2 in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no = in font nullfont! -Missing character: There is no N in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no W in font nullfont! -Missing character: There is no o in font nullfont! Missing character: There is no k in font nullfont! -Missing character: There is no + in font nullfont! -Missing character: There is no + in font nullfont! -Missing character: There is no : in font nullfont! -Missing character: There is no T in font nullfont! Missing character: There is no a in font nullfont! -Missing character: There is no k in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no b in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no t in font nullfont! +Missing character: There is no j in font nullfont! +Missing character: There is no M in font nullfont! Missing character: There is no e in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no p in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no t in font nullfont! Missing character: There is no h in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no r in font nullfont! Missing character: There is no e in font nullfont! -Missing character: There is no c in font nullfont! Missing character: There is no l in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no L in font nullfont! Missing character: There is no o in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no , in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! Missing character: There is no a in font nullfont! -Missing character: There is no u in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no E in font nullfont! Missing character: There is no t in font nullfont! Missing character: There is no h in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no = in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no . in font nullfont! Missing character: There is no M in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no r in font nullfont! Missing character: There is no i in font nullfont! -Missing character: There is no s in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! Missing character: There is no , in font nullfont! -Missing character: There is no L in font nullfont! +Missing character: There is no t in font nullfont! Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no d in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no = in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no w in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no z in font nullfont! +Missing character: There is no z in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no : in font nullfont! Missing character: There is no a in font nullfont! +Missing character: There is no D in font nullfont! Missing character: There is no a in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no A in font nullfont! -Missing character: There is no s in font nullfont! Missing character: There is no t in font nullfont! -Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no - in font nullfont! +Missing character: There is no C in font nullfont! Missing character: There is no e in font nullfont! -Missing character: There is no y in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no R in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! Missing character: There is no i in font nullfont! Missing character: There is no c in font nullfont! -Missing character: There is no k in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no j in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no f in font nullfont! Missing character: There is no o in font nullfont! -Missing character: There is no u in font nullfont! Missing character: There is no r in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no o in font nullfont! Missing character: There is no n in font nullfont! +Missing character: There is no - in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no l in font nullfont! Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! Missing character: There is no l in font nullfont! -Missing character: There is no = in font nullfont! -Missing character: There is no A in font nullfont! -Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no e in font nullfont! Missing character: There is no m in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no , in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no k in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no l in font nullfont! Missing character: There is no e in font nullfont! +Missing character: There is no = in font nullfont! +Missing character: There is no 2 in font nullfont! +Missing character: There is no 0 in font nullfont! +Missing character: There is no 2 in font nullfont! +Missing character: There is no 0 in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no A in font nullfont! Missing character: There is no n in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no a in font nullfont! Missing character: There is no n in font nullfont! -Missing character: There is no J in font nullfont! -Missing character: There is no o in font nullfont! Missing character: There is no u in font nullfont! -Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no h in font nullfont! Missing character: There is no n in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! Missing character: There is no a in font nullfont! Missing character: There is no l in font nullfont! +Missing character: There is no C in font nullfont! Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! Missing character: There is no f in font nullfont! -Missing character: There is no P in font nullfont! +Missing character: There is no e in font nullfont! Missing character: There is no r in font nullfont! -Missing character: There is no o in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! Missing character: There is no c in font nullfont! Missing character: There is no e in font nullfont! +Missing character: There is no ( in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no 2 in font nullfont! +Missing character: There is no 0 in font nullfont! +Missing character: There is no ) in font nullfont! +Missing character: There is no , in font nullfont! +Missing character: There is no y in font nullfont! Missing character: There is no e in font nullfont! -Missing character: There is no d in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no = in font nullfont! +Missing character: There is no 2 in font nullfont! +Missing character: There is no 0 in font nullfont! +Missing character: There is no 2 in font nullfont! +Missing character: There is no 0 in font nullfont! +Missing character: There is no , in font nullfont! Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no g in font nullfont! Missing character: There is no s in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no v in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no e in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no n in font nullfont! Missing character: There is no = in font nullfont! -Missing character: There is no 6 in font nullfont! -Missing character: There is no 5 in font nullfont! +Missing character: There is no 9 in font nullfont! +Missing character: There is no 7 in font nullfont! +Missing character: There is no 8 in font nullfont! +Missing character: There is no - in font nullfont! +Missing character: There is no 1 in font nullfont! +Missing character: There is no - in font nullfont! +Missing character: There is no 9 in font nullfont! +Missing character: There is no 3 in font nullfont! +Missing character: There is no 9 in font nullfont! +Missing character: There is no 1 in font nullfont! +Missing character: There is no 3 in font nullfont! +Missing character: There is no 3 in font nullfont! +Missing character: There is no - in font nullfont! +Missing character: There is no 1 in font nullfont! +Missing character: There is no 4 in font nullfont! +Missing character: There is no - in font nullfont! +Missing character: There is no 4 in font nullfont! Missing character: There is no , in font nullfont! Missing character: There is no p in font nullfont! Missing character: There is no a in font nullfont! @@ -442,24 +274,77 @@ Missing character: There is no g in font nullfont! Missing character: There is no e in font nullfont! Missing character: There is no s in font nullfont! Missing character: There is no = in font nullfont! -Missing character: There is no 1 in font nullfont! -Missing character: There is no 0 in font nullfont! -Missing character: There is no 1 in font nullfont! +Missing character: There is no 6 in font nullfont! +Missing character: There is no 5 in font nullfont! Missing character: There is no - in font nullfont! Missing character: There is no - in font nullfont! -Missing character: There is no 1 in font nullfont! -Missing character: There is no 1 in font nullfont! Missing character: There is no 8 in font nullfont! +Missing character: There is no 0 in font nullfont! Missing character: There is no , in font nullfont! -Missing character: There is no y in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no a in font nullfont! +Missing character: There is no u in font nullfont! Missing character: There is no r in font nullfont! +Missing character: There is no l in font nullfont! Missing character: There is no = in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no : in font nullfont! +Missing character: There is no / in font nullfont! +Missing character: There is no / in font nullfont! +Missing character: There is no w in font nullfont! +Missing character: There is no w in font nullfont! +Missing character: There is no w in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no / in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no / in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no c in font nullfont! Missing character: There is no 2 in font nullfont! Missing character: There is no 0 in font nullfont! -Missing character: There is no 2 in font nullfont! -Missing character: There is no 2 in font nullfont! +Missing character: There is no / in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no / in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! Missing character: There is no , in font nullfont! Missing character: There is no p in font nullfont! Missing character: There is no u in font nullfont! @@ -471,32 +356,36 @@ Missing character: There is no h in font nullfont! Missing character: There is no e in font nullfont! Missing character: There is no r in font nullfont! Missing character: There is no = in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no X in font nullfont! Missing character: There is no A in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no t in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! Missing character: There is no o in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no i in font nullfont! Missing character: There is no c in font nullfont! -Missing character: There is no P in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no b in font nullfont! -Missing character: There is no l in font nullfont! Missing character: There is no i in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no h in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! Missing character: There is no i in font nullfont! +Missing character: There is no o in font nullfont! Missing character: There is no n in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no I in font nullfont! +Missing character: There is no , in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no o in font nullfont! Missing character: There is no n in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no . in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no = in font nullfont! +Missing character: There is no j in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no l in font nullfont! Missing character: There is no , in font nullfont! -Overfull \hbox (20.0pt too wide) in paragraph at lines 12--21 +Overfull \hbox (20.0pt too wide) in paragraph at lines 1--13 [] [] @@ -507,7 +396,7 @@ See the LaTeX manual or LaTeX Companion for explanation. Type H for immediate help. ... -l.23 @ +l.14 @ inproceedings{linux_security, You're in trouble here. Try typing to proceed. If that doesn't work, type X to quit. @@ -534,17 +423,17 @@ Missing character: There is no x in font nullfont! ! Missing $ inserted. $ -l.23 @inproceedings{linux_ +l.14 @inproceedings{linux_ security, I've inserted a begin-math/end-math symbol since I think you left one out. Proceed, with fingers crossed. LaTeX Font Info: External font `cmex10' loaded for size -(Font) <7> on input line 23. +(Font) <7> on input line 14. LaTeX Font Info: External font `cmex10' loaded for size -(Font) <5> on input line 23. +(Font) <5> on input line 14. ! Extra }, or forgotten $. -l.30 } +l.21 } I've deleted a group-closing symbol because it seems to be spurious, as in `$x}$'. But perhaps the } is legitimate and @@ -562,9 +451,9 @@ deleted material, e.g., by typing `I$}'. Here is how much of TeX's memory you used: 18 strings out of 473203 480 string characters out of 5692202 - 392988 words of memory out of 5000000 + 391988 words of memory out of 5000000 23365 multiletter control sequences out of 15000+600000 558837 words of font info for 36 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 - 18i,2n,20p,123b,59s stack positions out of 10000i,1000n,20000p,200000b,200000s + 18i,2n,20p,127b,59s stack positions out of 10000i,1000n,20000p,200000b,200000s ! ==> Fatal error occurred, no output PDF file produced! diff --git a/thesis.pdf b/thesis.pdf index a1352f12d43d126c8ca332a8cc1900dcbc6256b2..da3c625554bd66e50eb7bf5aa3fbee9447fa9d5c 100644 GIT binary patch delta 30656 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 delta 53277 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 yC?6|;+bf%@me>VUgP00KJ diff --git a/thesis.typ b/thesis.typ index 95b502f..6791763 100644 --- a/thesis.typ +++ b/thesis.typ @@ -13,6 +13,7 @@ #mol-titlepage( title: "Design, Implementation, and Verification of a Security System for Data-Centric Operating Systems", + // title: "Gurt", author: "Surendra Jammishetti", birth-date: "April 1st, 1980", birth-place: "Alice Springs, Australia", @@ -36,6 +37,10 @@ + + + + // we haveee the introduction, talking about how things are normally done in unix // - a critique of why this doesnt work inside of a data-centric operating system, such as twizzler //