context: describe stack clash/guard page

This commit is contained in:
steveej 2017-09-23 00:47:16 +02:00
parent 79a1b918d6
commit 5fb007ba40
4 changed files with 84 additions and 44 deletions

View file

@ -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}