2017-04-04 17:38:37 +02:00
\documentclass { article}
\usepackage { amsmath}
\usepackage { nccmath}
\usepackage { graphicx}
\DeclareMathSizes { 10} { 10} { 10} { 10}
\newcommand { \xhspace } [0]{ \noindent \hspace * { 5mm} }
\setlength { \parindent } { 0pt}
\title { Konfluenz}
\date { }
\begin { document}
2017-04-05 03:41:42 +02:00
\subsection * { Anmerkungen:}
Diese Zusammenfassung fokusiert sich stark auf die Dinge die ich fuer wichtige gehalten habe
und enthaelt teilweise Information die nicht in der Vorlesung, sondern nur in den in der
Vorlesung erwaehnten Papern zu finden sind. Ich bin zu faul jedes mal wenn ich was aus einem
Paper zitiere das Paper hinzuschreiben, nehmt einfach mal an, dass nichts von dem was hier
steht auf meinem Mist gewachsen ist.
2017-04-04 17:38:37 +02:00
\section { Begriffserklaerungen}
\subsubsection * { Kriminalistik}
Verhinderung, Aufdeckung und Aufklaerung von Kriminalitaet (Naturwissenschaften/
Ingenieurwesen)
\begin { itemize}
\item Verbrechenstechnik (Wie wird das Verbrechen ausgefuehert?)
\item Kriminaltechnik (Einbringung von Sachbeweisen)
\item Kriminaltaktik (Planmaeßiges und Fallorientiertes Vorgehen, z.B.
Fahndung, Vernehmung, etc.)
\item Organisation der Verbrechensbekaempfung
\item Kriminalpsychologie (Schuldfaehigkeit, Motivforschung)
\end { itemize}
\subsubsection * { Kriminologie}
Erforschung von Ursachen und Erscheinungsformen von Kriminalitaet (Sozialwissenschaft/Psychologie)
\section { Qualivative Probability}
\subsubsection * { Vorbedingungen:}
\begin { itemize}
\item $ H _ 1 $ Person A war am Tatort
\item $ H _ 2 $ Person A war \textbf { nicht} am Tatort
\end { itemize}
\subsubsection * { Moegliche Fahndungs-Ergebnisse:}
\begin { itemize}
\item $ E _ 1 $ es gibt Beweise, dass Person A am Tatort war
\item $ E _ 2 $ es gibt \textbf { keine} Beweise, dass Person A am Tatort war
\end { itemize}
\textbf { Wahrscheinlichkeit, dass die Vorbedingungen $ H _ { 1 , 2 } $ im Angesicht bestimmter Ergebnisse korrekt sind.}
\[ Prob _ 1 ( E _ 1 | H _ 1 ) \hspace { 2 cm } Prob _ 2 ( E _ 1 | H _ 2 ) \]
\[ Prob _ 3 ( E _ 2 | H _ 1 ) \hspace { 2 cm } Prob _ 4 ( E _ 2 | H _ 2 ) \] \\
\textit { Also wie wahrscheinlich sind die Kombinationen:} \\ \\
\begin { tabular} { |c|c|c|}
Person A am Tatort & Beweise & Wahrscheinlichkeit \\ \hline
Ja & Ja & $ Prob _ 1 $ \\
Ja & Nein & $ Prob _ 2 $ \\
Nein & Ja & $ Prob _ 3 $ \\
Nein & Nein & $ Prob _ 4 $ \\
\end { tabular}
\subsubsection * { Staerke/Aussagekraft von Beweisen}
\[ Staerke \; des \; Beweises = \frac { Prob _ 1 ( E _ 1 | H _ 1 ) } { Prob _ 2 ( E _ 1 | H _ 2 ) } \] \\
Also z.B. wenn die Wahrscheinlichkeit von $ Prob _ 1 $ (war am Tatort und Beweise vorhanden) gleich
$ 0 . 4 $ und $ Prob _ 2 $ (war am Tatort und keine Beweise vorhanden) gleich $ 0 . 6 $ waere die Staerke
des Beweises $ 0 . 66 $ . Offensichtlicherweise, wenn nun $ Prob _ 1 >> Prob _ 2 $ ist der Beweis sehr
stark. Mit der gleichen Logik gilt fuer das Nichtvorhandensein von Beweisen das Gegenteil, also
das wenn $ Prob _ 3 >> Prob _ 4 $ der Beweis sehr schwach ist.
2017-04-05 03:41:42 +02:00
\section { Live-Analyse}
2017-04-04 17:38:37 +02:00
\subsubsection { Fluechtige Daten}
Informationen/Spuren die selbst bei dauerhafter Stromzufuhr erhalten bleiben (im engen Sinne) und solche die mit unterbrochener Stromzufuhr verloren gehen. Alle anderen werden als persistent bezeichnet.
\begin { itemize}
\item Inhalte Cache, Hauptspeicher, CPU-Register
\item Netzwerkverkehr, Puffer in Netwerkhardware, offene Netzwerk Verbinndungen
\item laufende Prozesse, angemeldete Benutzer, offene Dateien
\end { itemize}
Spuren muessen:
\begin { itemize}
\item identifiziert
\item gesichert
\item falls eine Sicherung nicht moeglich ist dokumentiert werden
\end { itemize}
\subsubsection { Gruende fuer Live-Analyse}
\begin { itemize}
\item Beschleunigung der Tot-Analyse
\item Sicherung von sonst verlorenen Spuren
\item Umgehung von Festplattenverschluesselung
\end { itemize}
\subsubsection { Moeglichkeiten}
\begin { itemize}
\item Nutzung der Hardware des zu untersuchenden Systems (Live-CD)
\item Nutzung von Hardware \textbf { UND} Software
\end { itemize}
\subsubsection { Probleme}
\begin { itemize}
\item System wird Veraendert
\item Aktivitaeten muessen dokumentiert werden (z.B. Videoaufzeichnungen)
\item System kann sich wehren (bei Nutzung des Betriebssystemes sowieso, aber im
schlimmesten Fall auch die Hardware)
\item einige, z.B. Rootkits koennen im laufenden Betrieb nicht zuverlaessig erkannt werden
\end { itemize}
\subsubsection { Sniffing}
Mitlesen des Netzwerkverkehrs, nur schwer bis gar nicht durch Maleware manipulierbar, allerdings Verschluesselung moeglich, was wiederum bedeutet, dass nur Metadaten gesammelt werden koennen.
\subsubsection { Hauptspeichersicherung}
\begin { itemize}
\item eingesetzte Werkzeuge soll System nicht veraendern (Integirtaet)
\item gesicherte Information sollen den RAM korrekt repraesentierten (Korrektheit)
\item wie wird die Sicherung durch laufden Aktivitaeten beeinflusst (Atomaritaet)
\end { itemize}
Man muss bedenken, dass sich der Hauptspeicher im laufenden System staendig aendert und in der
Regel nicht Atomar gedumpt werden kann. Deshalb dumpt man in der Regel Teile, die zusammen mit
einem
Zeitstempel gespeichert werden.\\ \\
\textit { Ein Hauptspeicherabbild ist korrekt, falls alle Werte, die das Abbild enthaelt, die
Werte sind, die zum Speicherzeitpunkt an der entsprechenden Stelle im Hauptspeicher standen.} \\ \\
Damit ist ein Abbild konsistent, wenn das Hauptspeicherabbild, das oft als \textit { Schnitt}
bezeicht korrekt ist.
\subsubsection { Technische Moeglichkeiten}
\noindent \includegraphics { pics/RAM-Sicherung.png}
2017-04-04 18:00:36 +02:00
\begin { itemize}
\item Crashdumps unter Windows
\item Modul Hijacking unter Linux
2017-04-05 03:41:42 +02:00
\item Linux-sysfs (/dev/mem)
2017-04-04 18:00:36 +02:00
\item Fireware/DMA/Hardware allgemein
\item Snapshot bei VM
2017-04-05 03:41:42 +02:00
\item Linux /dev/mem ist etwas broken kriegt man aber mit kernel-modules gebacken
2017-04-04 18:00:36 +02:00
\end { itemize}
Aus dem Hauptspeicher-Abbild kann der Systemzustand nachvollziehbar rekonstruiert werden oder
einfach nach \textit { strings} oder \textit { magic-bytes} gesucht werden.
2017-04-05 03:41:42 +02:00
\subsubsection { Hauptspeicherdumps auf MAC}
Relevantes Paper: \textit { Visualization in Testing a Volatile Memory Forensic Tool}
\begin { itemize}
\item kein /dev/mem mehr auf neueren Mac's, funktioniert nicht (richtig) ohne bestimmte \
Boot-Flags und funktioniert nicht auf einigen Intel-iMacs
\item auf aelteren MACs produziert ein \textit { dd} auf /dev/mem ein korrektes und
konsistentes Haupspeicherabbild, allerdings auf Kosten von verloren (nicht mehr genutzten,
aber vielleicht trotzdem noch interessanten Speicherseiten)
\end { itemize}
\subsubsection { Dotplot}
Die meisten Fehler in forensischen Tools sind systematischer Natur, die Leute die dieses Paper
oben geschrieben haben, haben effektiv jede Speicherseite gehasht und dann, die Hashes der
Speicherseiten an X/Y-Achse aufgetragen und alle identischen \textit { ('aehnlichen')} Felder
schwarz markiert.\\ \\
Dass zwei Seiten im Speicher die gleiche SHA-Sum haben, kann eigentlich (0er und 1er-Seiten
weggefiltert) nicht sein/ist sehr
unwahrscheinlich. Das bedeutet, wenn zwei Seiten den gleichen Hash haben aka, schwarz sind,
muss das Tool in irgendeiner Weise dafuer verantwortlich sein - z.B. weil das \textit { dd} , die
Daten die es aus /dev/mem liest, cached, und dann gleich nochmal aus dem Hauptspeicher liest.\\
\textbf { Long story short: Nutzlose aber ganz lustige Spielerrei um Probleme mit forensischen
Tools die das System beeinflussen zu zeigen, Praedikat 'nicht lesenswert'}
\subsubsection { Evalution von Live-Analyse Techniken}
\begin { itemize}
\item zwei identische VMs aufsetzen und Speicher in festen Abschnitten dumpen
\item moegliche Unterschiede beider VMs ohne Interaktion ueberpruefen (vorhanden aber
gering)
\item auf der einen Live-Analyse starten auf der anderen nicht -> Unterschied = Impact der
Untersuchung
\item suprise, Unterschiedliche Tools, unterschiedlich viel Impact
\end { itemize}
\begin { itemize}
\item das gleiche geht auch mit Xen aka dem ersetzen aller relevanten aufrufe durch
Hypercalls die man dann einzeln analysieren kann, am Ende auch nichts anderes als eine VM,
nur dass man jeden einzelnen Speicher-/Systemaufruf sieht (bzw. generell jeden Aufruf den
man sehen will).
\end { itemize}
\noindent \includegraphics { pics/Integritybymemsize.png} \\
Ziehmlich dumme Grafik, denn was man hier wirklich sieht, ist dass der Memory-Footprint des
Tools gleich bliebt, was natuerlich bedeutet, dass er relativ zum Gesamtspeicher einen
kleineren Impact hat umso groesser der Speicher ist, also der Anteil des Unveraenderten
Speichers steigt. \textit { (Bild aus Folien S.99)}
\subsubsection { Messung von Atomaritaet}
\begin { itemize}
\item ein Programm schreibt fuer gewisse Zeitscheiben bestimmte Werte in den Speicher,
umso weniger verschiedene dieser Werte wir sehen umso Atomarer ist der Vorgang.
\end { itemize}
\section { Versteckte Daten in Dokumenten}
\begin { itemize}
\item Aenderungshistorie von (Word-)Dukumenten
\item Versteckte Felder (Druckerinformationen, Benutzernamen, Versionsnummer etc..)
\item "geschaerzter" Text in PDF-Dokumenten (bekommt man potentiell noch aus dem
Postscript raus)
\item Thumbnails/unbekannte EXIF-Daten (nach Zuschneiden eines Bildes kann eine Version
des urspruenglichen Bildes noch in den EXIF-Daten vorhanden sein, weil das
Bildbearbeitungsprogramm diese, z.B. nicht parsen konnte)
\item Informationen ueber Kamera und verwendete Software
\item thumbd.db/Windows.edb (Tumbnails/Desktop-Search-Savefile)
\end { itemize}
2017-04-04 17:38:37 +02:00
\section { Freilings Weisheiten der Woche}
\begin { itemize}
2017-04-05 03:41:42 +02:00
\item Wenn der Zeitdruck hoch ist und das Ermittlungsziel breit bekommt man nur schwer
sinnvolle Priorisierungskriterien.
2017-04-04 17:38:37 +02:00
\end { itemize}
\end { document}