context: describe stack clash/guard page
This commit is contained in:
parent
79a1b918d6
commit
5fb007ba40
4 changed files with 84 additions and 44 deletions
|
@ -7,6 +7,7 @@
|
|||
% TLB needs to be reset on Task Change
|
||||
% ISR-Stack-Frame needs to be updated on context-switch
|
||||
|
||||
|
||||
\section{Software Fault Isolation}
|
||||
% TODO: content from \cite{Balasubramanian2017}
|
||||
|
||||
|
@ -17,20 +18,22 @@
|
|||
% TODO * Control access to duplicates in page tables
|
||||
% TODO * Tasks can't access unallocated (physical) memory
|
||||
% TODO * Tasks can't access other tasks memory
|
||||
\subsection{Paging}
|
||||
Setting up and maintaining the paging-structure, as well as allocating physical memory for the virtual pages is a complex task in the \gls{os}.
|
||||
Developing this part of the \gls{os} is error-prone, and is not well-supported by mainstream \glspl{proglang}.
|
||||
|
||||
|
||||
\chapter{Porting \glsentrytext{C} Vulnerabilities}
|
||||
\label{rnd::porting-c-vulns}
|
||||
In this chapter, the weakness manifestations given in \cref{context::common-mem-safety-mistakes::manifestations} are rewritten in \gls{Rust} to examine if these are mitigated just by porting them.
|
||||
This is done incrementally by first porting the vulnerability to unsafe Rust, followed by a rewrite to drop all unsafe code but keeping the intended functionality.
|
||||
|
||||
% TODO stack frame manipulation
|
||||
% TODO official CWE-119 examples
|
||||
|
||||
\chapter{\glsentrytext{LX} Modules Written In \glsentrytext{Rust}}
|
||||
|
||||
\chapter{Stack Protection}
|
||||
The goal of this chapter is to learn about \gls{Rust}'s stack protection mechanisms, and determine if it can help with the issue described in \cnameref{context::common-mem-safety-mistakes::manifestations::stack-clash}.
|
||||
|
||||
% TODO stack frame manipulation example
|
||||
|
||||
|
||||
\chapter{Existing \glsentrytext{os}-Development Projects Based On Rust}
|
||||
\label{rnd::existing-os-dev-with-rust}
|
||||
|
||||
|
@ -39,7 +42,6 @@ This is done incrementally by first porting the vulnerability to unsafe Rust, fo
|
|||
\subsection{Libfringe}
|
||||
% TODO: https://github.com/edef1c/libfringe
|
||||
|
||||
|
||||
\section{Systems}
|
||||
\subsection{intermezzOS}
|
||||
\subsection{Blog OS}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue