diff --git a/work/01paper.pdf b/work/01paper.pdf index 3b16b7e..3177d13 100644 Binary files a/work/01paper.pdf and b/work/01paper.pdf differ diff --git a/work/01paper.tex b/work/01paper.tex index ee8863a..5569021 100644 --- a/work/01paper.tex +++ b/work/01paper.tex @@ -270,8 +270,8 @@ check, if a write or read operation is out of bounds. This requires storing the size of a buffer together with the pointer to the buffer (so called fat pointers) and check for each read or write in the buffer, if it is in bounds at runtime. Almost any language that comes with a managed runtime, uses \ac{rbc}. -For this technique to be effective effective in general, writes to raw pointers -must be disallowed. Otherwise the security checks can be circumvented. \Ac{rbc} +For this technique to be effective in general, writes to raw pointers must be +disallowed. Otherwise the security checks can be circumvented. \Ac{rbc} introduces a runtime overhead for every indexed read or write operation. This is a problem if a program runs on limited hardware or might impact real-time properties. @@ -382,8 +382,8 @@ as a \ac{pie}. On 32-bit CPUs, only 16-bit of the address are randomized. These 16-bit can be brute forced in a few minutes or seconds~\cite{AslrEffective2004}. There is no runtime overhead since the only change is the position of the -program in memory. Since there is no additional work required except maybe -recompilation, this technique can and should be used on modern systems. +program in memory. This technique can and should be used on modern systems +because there is no additional work required, except maybe recompilation. \subsubsection{w\^{}x}