==41612== definitely lost: 2,976 bytes in 25 blocks
==41612== indirectly lost: 0 bytes in 1 blocks
==41612== possibly lost: 514,141 bytes in 12,827 blocks
==41612== still reachable: 28,442,105 bytes in 211,770 blocks
==41612== of which reachable via heuristic:
==41612== stdstring : 543,526 bytes in 12,048 blocks
==41612== newarray : 8,920 bytes in 5 blocks
==41612== suppressed: 0 bytes in 0 blocks
==41612== Rerun with --leak-check=full to see details of leaked memory
==41612==
==41612== Use --track-origins=yes to see where uninitialised values come from
==41612== For lists of detected and suppressed errors, rerun with: -s
==41612== ERROR SUMMARY: 29126 errors from 678 contexts (suppressed: 4 from 1)
\end{lstlisting}
This report shows that the Python binary (here Python 3.8 from Ubuntu 20.04) is not memory safe, which is a significant drawback for the system and software integrity.
Any binary which is directly involved in the DAA protocol frees every allocated block.
Furthrmore any binary in the TPM2 software stack is memory safe according to valgrind.
The used shell commands may not free every allocated block, however valgrind still finds no errors in these programs.
When IMA is in fixing or enforcing mode, the corresponding log will be filled according to \autoref{tab:imalogsize}.
\begin{table}
\begin{table}
\renewcommand{\arraystretch}{1.2}
\renewcommand{\arraystretch}{1.2}
\centering
\centering
\caption{Nuber of entries and IMA log size}\label{tab:imalogsize}
\caption{Performance results of joining a DAA group and sending a Digidow message}\label{tab:wholeperformance}
This means---given that the (very slow) hardware TPM had to extend PCR 10 for every line in the log---the slowdown is mainly caused by the interaction with the TPM itself.
This means---given that the (very slow) hardware TPM had to extend PCR 10 for every line in the log---the slowdown is mainly caused by the interaction with the TPM itself.