Master Thesis as published at INS in 2022
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

186 lines
4.9 KiB

% !TeX document-id = {7131b1f7-d05a-492d-b4e1-23bbecfee18f}
% !TeX encoding = UTF-8
% !TeX program = pdflatex
% !BIB program = biber
% Rev. 2.1 - 11/18 - av %
% Rev. 2.0 - 07/18 - av %
%% HINWEISE:
%% MAIN.tex ist die Hauptdatei. Hier sind sämtliche Pakete eingebunden und die allgemeine Struktur ist hier festgelegt. Im Allgemeinen müssen hier keine Änderungen vorgenommen werden.
%% In der eingebundenen Datei config.tex müssen Änderungen vorgenommen werden, die in der Datei näher erläutert sind.
%% Das Deckblatt wird mit der Datei cover/coversheet.tex eingebunden. Hier sollten keine Änderungen vorgenommen werden.
%% Für Text im Vorspann, d.h. vor der Inhaltsangabe (Seitenzahlen als kleine römische Zahlen; z.B. für Vorwort, Abstract etc.), ist die Datei frontmatter.tex vorgesehen.
%% Für den Hauptteil ist die Datei mainmatter.tex vorgesehen.
%% Das Literaturverzeichnis ist die eingebundene Datei literature.bib. Es ist vorgesehen, dass das Literaturverzeichnis mit Biber kompiliert wird.
%% Falls Fehler entdeckt werden, würde ich mich über eine E-Mail an a_v@gmx.net freuen.
%% Viel Erfolg :). Linz, im April 2018, Ali Varli.
\documentclass[
a4paper,
oneside,
onecolumn,
openany,
parskip=half*,
% toc=flat,
table,
12pt,
% draft
]{scrbook}
\usepackage[utf8]{inputenc}
\input{config}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\ifeng \usepackage[ngerman,english]{babel}
\else \usepackage[english,ngerman]{babel}
\fi
\usepackage[fleqn]{amsmath}
\usepackage{siunitx}
\usepackage[backend=biber,sortlocale=auto,style=numeric-comp]{biblatex}
\addbibresource{literature.bib}
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
\usepackage{csquotes}
\usepackage[a4paper,left=30mm,right=14mm,top=27mm,bottom=10mm,includeheadfoot]{geometry}
\usepackage{lastpage}
\usepackage{scrlayer-scrpage}
\pagestyle{scrheadings}
\clearscrheadfoot
\ifeng \ohead[{\includegraphics[width=3cm]{cover/jkuen.png}}]{\includegraphics[width=3cm]{cover/jkuen.png}}
\else \ohead[{\includegraphics[width=3cm]{cover/jkude.png}}]{\includegraphics[width=3cm]{cover/jkude.png}}
\fi
\ifoot[\date]{\date}
\cfoot[\name]{\name}
\ofoot[\pagemark/\pageref{LastPage}]{\pagemark/\pageref{LastPage}}
\setkomafont{pageheadfoot}{\sffamily \scriptsize}
\setkomafont{pagenumber}{\sffamily \scriptsize}
\usepackage[onehalfspacing]{setspace}
\usepackage{pdfpages}
\usepackage[pdfborder={0 0 0}]{hyperref}
\usepackage{tabularx}
\usepackage{ltxtable}
\usepackage{booktabs}
\usepackage{rotating}
\usepackage{colortbl}
\usepackage{multirow}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage[section]{placeins} %\FloatBarrier
\usepackage{float} %[H]
\usepackage{enumitem}
\usepackage{subfiles}
%own packages
\usepackage{libertine}
\usepackage{libertinust1math}
\usepackage{sourcecodepro}
\usepackage{microtype}
\usepackage{listings}
% \setcounter{tocdepth}{3} %subsubsection
% \setcounter{secnumdepth}{3}
\tolerance=100
\clubpenalty=10000
\widowpenalty=10000
\displaywidowpenalty=10000
% \addtocontents{toc}{\protect\enlargethispage{2\normalbaselineskip}}
% \addtocontents{lof}{\protect\enlargethispage{2\normalbaselineskip}}
% \addtocontents{lot}{\protect\enlargethispage{2\normalbaselineskip}}
\addtokomafont{caption}{\small}
\setkomafont{captionlabel}{\small\sffamily\bfseries}
\newcommand{\zB}{z.\,B.}
\newcommand{\ToDo}{\normalfont \normalsize \textcolor{red}{\textbf{ToDo!}}}
%
%%
%%%%
%%%%%%%%
%%%%%%%%%%%%%%%%
\begin{document}
%%%%%%%%%%%%%%%%
\begin{titlepage}
\include{cover/coversheet}
\end{titlepage}
%%%%%%%%%%%%
\frontmatter
\input{frontmatter}
\begin{singlespace}
\tableofcontents
\end{singlespace}
%%%%%%%%%%%
\mainmatter
\input{mainmatter}
%%%%%%%%%%%
\backmatter
\begin{singlespace}
\listoffigures
{\let\clearpage\relax\listoftables}
\end{singlespace}
\printbibliography
\appendix
\section{Installing IMA on Arch}
\url{https://wiki.archlinux.org/index.php/Kernel/Arch_Build_System} in combination with \url{https://wiki.gentoo.org/wiki/Integrity_Measurement_Architecture}:
\begin{lstlisting}
sudo pacman -S asp base-devel
cd ~
mkdir build && cd build
asp update linux
asp export linux #Linux repo exported to this directory
\end{lstlisting}
Change \emph{pkgbase} in \texttt{linux/PKGBUILD} to custom name, e.g. linux-ima.
Check \texttt{linux/config} for the following settings:
\begin{lstlisting}
CONFIG_INTEGRITY=y
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_LSM_RULES=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_IMA_APPRAISE=y
IMA_APPRAISE_BOOTPARAM=y
\end{lstlisting}
For optimizing file access, add to every fstab-entry \emph{iversion}.
It prevents creating a hash of the file at every access.
Instead the hash will only be created when writing the file.
\texttt{updpkgsums} generates new checksums for the modified files.
\texttt{makepkg -s} then makes the new kernel
\end{document}