latexandmore/FFI/ForensInf2_Zusammenfassung.tex

369 lines
19 KiB
TeX

\documentclass{article}
\usepackage{amsmath}
\usepackage{nccmath}
\usepackage{graphicx}
\usepackage{hyperref}
\DeclareMathSizes{10}{10}{10}{10}
\newcommand{\xhspace}[0]{\noindent\hspace*{5mm}}
\setlength{\parindent}{0pt}
\title{Konfluenz}
\date{ }
\begin{document}
\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.
\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{2cm} Prob_2( E_1 | H_2 ) \]
\[ Prob_3( E_2 | H_1 ) \hspace{2cm} 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.
\section{Live-Analyse}
\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}
\begin{itemize}
\item Crashdumps unter Windows
\item Modul Hijacking unter Linux
\item Linux-sysfs (/dev/mem)
\item Fireware/DMA/Hardware allgemein
\item Snapshot bei VM
\item Linux /dev/mem ist etwas broken kriegt man aber mit kernel-modules gebacken
\end{itemize}
Aus dem Hauptspeicher-Abbild kann der Systemzustand nachvollziehbar rekonstruiert werden oder
einfach nach \textit{strings} oder \textit{magic-bytes} gesucht werden.
\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}
\section{Spuren in Multimediadaten}
\subsection{Authentizitätsprüfung und Ursprungsgeraeterkennung bei Bildern}
\subsubsection{Ansatzpunkte}
\begin{itemize}
\item Geometrie der Szene
\item Licht/Schatten
\item Brechfehler in der Linse
\item spezifisches Rauschen eines Sensors
\item Interpolationsart unvollstaendiger Sensordaten in einer Kamera (die Daten von
Kamerasensoren werden oft interpoliert um hohere Aufloesungen zu faken)
\item Doppelkompression, Resampling/Splicing (Zusammenfuegen zweier Bilder)
\end{itemize}
\subsubsection{Copy-Move}
Es ist oft unwahrscheinlich, dass gleiche Bereiche von Pixeln (also Teilbilder)
mehrmals im Bild vorkommen, findet man so etwas doch, ist das ein Hinweis auf eine
Faelschung. (bei der Automatisierung kann man das durch Beschraenkung auf Intensitaeten
oder Farben vereinfachen)\\
Sonstige Erkennenung durch:\\
\begin{itemize}
\item DCT-Transformation
\item Zernike-Momente
\end{itemize}
\subsubsection{Fertigungsunterschiede bei Sensoren}
\textbf{In der Theorie}
\[ Pic = SensoreVariance( Motive + Diskretisierungsrauschen ) + Dunkelstrom + SonstigesRauschen \]
\textit{Als Dunkelstrom bezeichnet man den Strom in einer Photodiode der auch ohne das
Auftreffen von Photonen entsteht.}\\
Das eigentlich interessante ist die Sensore Variance die in den Folien Photo Response
Non-Uniformit genannt wird. Sie ist charakteristisch fuer einen Sensore und stellt
einen Fingerprint der Kamera da. Stichwort zum Herrausrechnen der Faktoren die uns
nicht interessieren ist \textit{Flat field correction} (Aufnahme in Ausgeleuchteten
Raum und dunklem Raum).
\textbf{But How...}
\begin{itemize}
\item alle Bilder Tiefpass filtern, denn die Frequenz des Rauschens ist hoeher als
die Frequenz des Bildinhaltes
\item alle getiefpassten Bilder Mitteln
\item ????
\item Profit.
\end{itemize}
Bildrotation- oder Skalierung fuehrt zu anderem Fingerabdruck.
('Desynchronisationsangriff')
\subsubsection{Resampling Artefakte}
Wir gehen davon aus, dass ein Bild welches in ein anderes eingefuehgt wird vorher oft
gedreht oder skaliert werden muss.
\begin{itemize}
\item Skalierung oder Rotation ist effektiv eine Interpolation
\item Interpolation fuehrt zu einer Linearen Abhaengigkeit in Pixelintensitaeten
\item Berechnung einer Wahrscheinlichkeit fuer jeden Pixel, dass er aus den
Nachbarpixeln interpoliert wurde \textit{(p-map)} und Fourier-Transformation auf
die relevante Region
\item JPEG-Kompression kann \textit{p-map} dominieren
\item Spurenverschleierung duch Pixel-Distortion moeglich (z.B. Pixel in
Einzelfarben aufteilen und nochmal drueber Interpolieren)
\end{itemize}
\subsubsection{Lichteinfall}
Kann man voellig vergessen es aus den Folien zu verstehen, das Paper lohnt hier:
\textit{'Exposing Digital Forgeries in Complex Lighting Environments'}. In a Nutshell:
Sie approximieren Lichquellen und schauen dann ob der Licheinfall auf allen
Oberflaechen konsistent ist.
\subsection{Watermarking}
\subsection{Fingerprinting}
\section{Jura-Teil}
\subsection{Ermaechtigungsgrundlagen fuer Onlinedurchsuchung}
\begin{itemize}
\item Strafverfolgung $->$ Repression, konkrete Straftat als Anlass
\item Gefahrenabwehr $->$ Praevention, konkrete Gefahr als Anlass
\item BKA-Gesetz $->$ Bundesrecht
\end{itemize}
\subsection{Paragraphen}
\subsubsection{\S 100a Strafprozessordnung (Telekommunikationsüberwachung)}
\begin{itemize}
\item Auch ohne Wissen der Betroffenen darf die Telekommunikation überwacht und
aufgezeichnet werden, wenn:
\begin{itemize}
\item bestimmte Tatsachen den Verdacht begründen, dass jemand als Täter oder
Teilnehmer eine in Absatz 2 bezeichnete schwere Straftat begangen, in Fällen, in
denen der Versuch strafbar ist, zu begehen versucht, oder durch eine Straftat
vorbereitet hat,
\item die Tat auch im Einzelfall schwer wiegt und
\item die Erforschung des Sachverhalts oder die Ermittlung des Aufenthaltsortes des
Beschuldigten auf andere Weise wesentlich erschwert oder aussichtslos wäre.
\end{itemize}
\end{itemize}
\subsubsection{\S 100b Verfahren bei der Telekommunikationsüberwachung}
Das Vorgehen bei einer Ueberwachung, in a Nutshell, immer erstmal auf drei Monate
befristet, Statsanwalt kann bei Gefahr im Verzug anordnen, Gericht muss bestaetigen.
Telekomunikationsunternehmen muessen kooperieren.
\subsubsection{\S \S 102-110 Ebenfalls Strafprozessordnung}
\url{https://dejure.org/gesetze/StPO/102.html} \\
Interessant hier: Daten duerfen gesichert/durchgesehen werden, wenn sonst ein Verlust
selbiger zu befuerchten ist.
\subsubsection{\S \S 100c, 100d StPO - Grosser Lauschangriff}
Betrifft die Ueberwachung eines gesamten Wohnraum und ist an aehnliche Vorraussetzungen wie
die Telekommunikationsueberwachung gebunden. Es gelten strenge Vorschrifte, welche Raeume
abgehoert werden duerfen und private Informationen muessen geloescht werden.
\subsection{Nachrichtendienste}
\begin{itemize}
\item \S 2a BND-Gesetze $->$ Wann darf der BND Informationen sammeln:
\textbf{Sicherheitspolitische Dinge im ausland, Ueberpruefung von (zukuenftigen)
Mitarbeitern, Counter-Intelligence}
\item \S 8b Bundes-Verfassungs-Schutz-Gesetz (sagt primaer etwas ueber die
Zusammenarbeit der Laender mit dem BND aus)
\item §3,5,10 G10 \textit{(Regelt allgemein die Beschraenkung des Fernmeldegeheimnisses)}
\begin{itemize}
\item \S 3 listet Vorraussetzungen fuer Uebrwachung $->$ aehnliche Vorraussetzung
wie fuer Polizei Angriffe auf Bundesrepublik, Voelkerrechtsverbrechen, Terrorismus
\item \S 5 regelt internationale Verbinndungen
\item \S 10 regelt wie die Ueberwachung angeordnet wird
\end{itemize}
\end{itemize}
\subsubsection{Sonstiges}
\begin{itemize}
\item minimale Aenderungen am angegriffenen System muss gewaehrleistet werden
\item es muss gewaehrleistet werden, dass durch den Eingriff keine anderen Angriffe
(unbefugten) ermoeglicht werden
\item ganz generell muss immer sichergestellt werden, dass so wenig wie moeglich in die
Grundrechte des Betroffenen eingegriffen wird
\end{itemize}
\subsection{Technische Moeglichkeiten - Hihihi wir sind der Staat}
\begin{itemize}
\item Herstellerkooperation (Backdoor etc.)
\item (Hardware) Keylogger
\item Cold-Boot
\item Live-Durchsuchung (z.B. Staatstrojaner)
\item Seitenkanaele/Metadaten
\item schwaechen in (Kryptographie-)Protokollen
\end{itemize}
\section{Ermittlungen im Internetz}
\subsection{Lokalisierungstechniken}
\subsubsection{Teilprobleme}
\begin{itemize}
\item User Geolocation (Position des Nutzers)
\item IP Geolocation (Position einer IP-Adresse)
\item IP Adress Extraction (welche IP hat der Ursprungsrechner)
\end{itemize}
\subsubsection{IP Geolocation}
Geht relativ einfach, IP-Ranges werden von der \textit{Internet Assigned Numbers Authority}
an Regionale Verteiler verteilt usw.
\subsubsection{Domain Name System}
Eine verteilte Datenbank die Domain-Names auf IP Adressen zuordnet (oder andersrum). Zum
beispiel kann man so auch zusammengehoerige Seiten erkennen wenn mehre Domain-Names auf
die gleiche IP abgebildet werden. \textbf{Tools:} \textit{whois, dig, traceroute}.
\subsubsection{Passive DNS-Replikation}
Aufzeichnen aller Zuordnung von Domain zu IP-Adressen. Selber Spass wie nachzuschauen ob
mehrere Domain-Names auf die selbe IP-Adresse abbilden, nur mit ueber die Zeit
aufgezeichneten Daten.
\subsubsection{IP-Verschleierungstechniken}
\begin{itemize}
\item VPN/Proxy bzw. Ketten selbiger (z.B. Tor)
\item Remote Session (z.B. xpra in den CIP)
\item Long Distance Dialup (Technologie "Gap" die Rueckverfolgung erschwert)
\end{itemize}
\subsubsection{Counter the Countermeasures}
\begin{itemize}
\item Pingtriangulierung, innerhalb von Europa angeblich auf 100km genau (fuer Websiten
durch ein HTTP refresh moeglich)
\item JavaScript Exploit $->$ Client seine IP-Adresse mitschicken lassen
\end{itemize}
\subsection{Cloud & Websitesicherung}
\begin{itemize}
\item Internet Archive
\item Chache beim Client
\item Zugriff als Benutzer wenn Server ausser Reichweite
\item VM auf Server Snapshotten
\item ganzen Server Snapshotten ist kacke, doppelte Fragmentierung von VM-Filesystem
und Hypervisor Filesystem, ausserdem wahrscheinlich rechtlich fraglich, weil viele
Daten von unbeteiligten
\item VM-Carving (Wiederherstellung von geloeschten VM, vielleicht aus Backups)
\end{itemize}
\section{Date-Loss though Abstraction}
n %TODO nachrichtendienst
%TODO informationen im internetz/netzwerk
%TODO Information loss through abstraction
%TODO carriers scheiss
\section{Freilings Weisheiten der Woche}
\begin{itemize}
\item Wenn der Zeitdruck hoch ist und das Ermittlungsziel breit bekommt man nur schwer
sinnvolle Priorisierungskriterien.
\item Der User ist dumm.
\item \textit{nachdem er gefragt hat fuer welche Seite er ein whois demonstrieren
soll}" '.fail'? Was ist das denn schon wieder fuer eine Toplevel-Domain. Ah Paulus,
Schilling, kennt man ja.
\end{itemize}
\end{document}