% DO NOT COMPILE THIS FILE DIRECTLY!
% This is included by the other .tex files.

\begin{frame}[t,plain]
\titlepage
\end{frame}

\begin{frame}
    \frametitle{Content of the presentation}
    \begin{itemize}
        \item Data sharing in MISP
        \item Data models for the Data layer
        \item Data models for the Context layer
    \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Layers of data model}
     \begin{itemize}
            \item Data layer
            \begin{itemize}
                \item The raw data itself as well as element to link them together
                \item Indicators, Observables and means to contextually link them
                \item MISP terminology: Event, Attributes, misp-objects, ...
            \end{itemize}
            \vspace{1em}
            \item Context layer
            \begin{itemize}
                \item As important as the data layer, allow triage, false-positive management, risk-assessment and prioritisation
                \item Latches on the data layer, usually referencing threat intelligence, concepts, knowledge base and vocabularies
                \item Tags, Taxonomies, Galaxies, ...
            \end{itemize}
    \end{itemize}
\end{frame}

\section{Data sharing in MISP}
\begin{frame}
    \frametitle{Sharing in MISP: Distribution}
    MISP offers granulars distribution settings:
    \begin{itemize}
        \item \texttt{Organisation only}
        \item \texttt{This community}
        \item \texttt{Connected communities}
        \item \texttt{All communities}
        \item Distribution lists - aka \texttt{\bf Sharing groups}
    \end{itemize}
    \begin{center}
    \includegraphics[scale=0.2]{screenshots/sg-example.png}
    \end{center}

    At multiple levels: {\bf Events}, {\bf Attributes}, {\bf Objects} (and their {\bf Attributes}) and {\bf Galaxy-clusters}
\end{frame}

\begin{frame}
\frametitle{Sharing in MISP: Distribution}
    \begin{center}
        \includegraphics[width=1.0\linewidth]{screenshots/misp-distribution.png}
    \end{center}
\end{frame}

\section{Data layer}
\begin{frame}
    \frametitle{Data layer: Naming conventions}
     \begin{itemize}
            \item Data layer
            \begin{itemize}
                \item {\bf Events} are encapsulations for contextually linked information
                \item {\bf Attributes} are individual data points, which can be indicators or supporting data.
                \item {\bf Objects} are custom templated Attribute compositions
                \item {\bf Object references} are the relationships between individual building blocks
                \item {\bf Shadow Attributes}/{\bf Proposal} are suggestions made by users to modify an existing {\it attribute}
                \item {\bf Sightings} are a means to convey that a data point has been seen
                \item {\bf Event reports} are supporting materials for analysts to describe {\it events}, {\it processes}, etc
            \end{itemize}
    \end{itemize}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Data layer: Events}
        {\bf Events} are encapsulations for contextually linked information
        \begin{center}
            \includegraphics[width=0.9\linewidth]{screenshots/ui-event.png}
        \end{center}
\end{frame}

\begin{frame}
    \frametitle{Data layer: Event building blocks - Base}
        \begin{center}
            \includegraphics[scale=0.33]{screenshots/event-building-blocks/event.png}
        \end{center}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Data layer: Events}
        \begin{lstlisting}[language=javascript,firstnumber=1]
{
    "date": "2019-02-20",
    "info": "IoT malware - Gafgyt.Gen28 (active)",
    "uuid": "5c6d21e5-bb60-47b7-b892-42e6950d2111",
    "analysis": "2",
    "timestamp": "1602315388",
    "distribution": "3",
    "sharing_group_id": "0",
    "threat_level_id": "3",
    "extends_uuid": "",
    "Attribute": [...],
    "Object": [...],
    "EventReport": [...],
    "Tag": [...],
    "Galaxy": [...]
}
\end{lstlisting}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Data layer: Attributes}
        {\bf Attributes} are individual data points, indicators or supporting data
        \begin{center}
            \includegraphics[width=1.0\linewidth]{screenshots/enrichment4.png}
        \end{center}
\end{frame}

\begin{frame}
    \frametitle{Data layer: Event building blocks - Raw data}
        \begin{center}
            \includegraphics[scale=0.33]{screenshots/event-building-blocks/event-attribute.png}
        \end{center}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Data layer: Attributes}
        \begin{lstlisting}[language=javascript,firstnumber=1]
{
    "type": "url",
    "category": "Network activity",
    "to_ids": true,
    "uuid": "5c6d24bd-d094-4dd6-a1b6-4fa3950d2111",
    "event_id": "178",
    "distribution": "5",
    "sharing_group_id": "0",
    "timestamp": "1550656701",
    "comment": "Delivery point for the malware",
    "object_id": "0",
    "object_relation": null,
    "first_seen": null,
    "last_seen": null,
    "value": "ftp://185.135.80.163/",
    "Tag": [...]
    "Galaxy": [...]
}
\end{lstlisting}
\end{frame}

\begin{frame}
    \frametitle{Data layer: MISP Objects}
        {\bf Objects} are custom templated Attribute compositions
        \begin{center}
            \includegraphics[width=1.0\linewidth]{object.png}
        \end{center}
\end{frame}

\begin{frame}
    \frametitle{Data layer: Event building blocks - Data composition}
        \begin{center}
            \includegraphics[scale=0.33]{screenshots/event-building-blocks/event-attribute-object.png}
        \end{center}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Data layer: MISP Objects}
        \begin{lstlisting}[language=javascript,firstnumber=1]
{
    "name": "elf-section",
    "meta-category": "file",
    "description": "Object describing a sect...",
    "template_uuid": "ca271f32-1234-4e87-b240-6b6e882de5de",
    "template_version": "4",
    "uuid": "ab5f0c85-5623-424c-bc03-d79841700d74",
    "timestamp": "1550655984",
    "distribution": "5",
    "sharing_group_id": "0",
    "comment": "",
    "first_seen": null,
    "last_seen": null,
    "ObjectReference": [],
    "Attribute": [...]
}
\end{lstlisting}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Data layer: Object references}
    {\bf Object references} are the relationships between individual building blocks
    \begin{center}
        \includegraphics[width=1.0\linewidth]{screenshots/eventgraph.png}
    \end{center}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Data layer: Object references}
    \begin{lstlisting}[language=javascript,firstnumber=1]
{
    "uuid": "5c6d21f9-0384-4bd2-b256-40de950d2111",
    "timestamp": "1602318569",
    "object_id": "1024",
    "source_uuid": "23275e05-c202-460e-aadf-819c417fb326",
    "referenced_uuid": "ab5f0c85-5623-424c-bc03-d79841700d74",
    "referenced_type": "1",
    "relationship_type": "included-in",
    "comment": "Section 0 of ELF"
}
\end{lstlisting}
\end{frame}

\begin{frame}
    \frametitle{Data layer: Event building blocks - Context}
        \begin{center}
            \includegraphics[scale=0.33]{screenshots/event-building-blocks/event-attribute-object-context.png}
        \end{center}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Data layer: Sightings}
    {\bf Sightings} are a means to convey that a data point has been seen
    \begin{center}
        \includegraphics[width=1.0\linewidth]{screenshots/sighting-n.png}
    \end{center}
    \begin{lstlisting}[language=javascript,firstnumber=1]
{
    "org_id": "1",
    "date_sighting": "1573722432",
    "uuid": "5dcd1940-5de8-4462-93dd-12a2a5e38e14",
    "source": "",
    "type": "0",
    "attribute_uuid": "5da97b59-9650-4be2-9443-2194a5e38e14"
}
\end{lstlisting}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Data layer: Event reports}
    {\bf Event reports} are supporting data for analysis to describe {\bf events}, {\bf processes}, ect
    \begin{center}
        \includegraphics[width=0.9\linewidth]{screenshots/event-report.png}
    \end{center}
\end{frame}

\begin{frame}
    \frametitle{Data layer: Event building blocks - Collaboration \& intelligence}
        \begin{center}
            \includegraphics[scale=0.33]{screenshots/event-building-blocks/event-attribute-object-proposal.png}
        \end{center}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Data layer: Event reports}
    \begin{lstlisting}[language=javascript,firstnumber=1]
{
    "uuid": "076e240b-5a76-4a8b-9eab-cfff551993dd",
    "event_id": "2127",
    "name": "Event report (1607362986)",
    "content": "...",
    "distribution": "5",
    "sharing_group_id": "0",
    "timestamp": "1607362986"
}
\end{lstlisting}
\end{frame}

\begin{frame}
    \frametitle{Data layer: Event building blocks - Full}
        \begin{center}
            \includegraphics[scale=0.30]{screenshots/event-building-blocks/full.png}
        \end{center}
\end{frame}

\begin{frame}
    \frametitle{Data layer: Combining the data layer}
    \begin{center}
        \includegraphics[width=0.90\linewidth]{screenshots/datamodel4.png}
    \end{center}
\end{frame}

\section{Context layer}
\begin{frame}
    \frametitle{Context layer: Naming conventions}
     \begin{itemize}
            \item Context layer
            \begin{itemize}
                \item {\bf Tags} are free-text labels attached to events/attributes and can come from {\bf Taxonomies}
                \begin{itemize}
                    \item \texttt{Android Malware}, \texttt{C2}, ...
                \end{itemize}

                \item {\bf Taxonomies} are a set of common classification allowing to express the same vocabulary among a distributed set of users and organisations 
                \begin{itemize}
                    \item \texttt{tlp:green}, \texttt{false-positive:risk="high"}, \texttt{admiralty-scale:information-credibility="2"}
                \end{itemize}
            \end{itemize}
    \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Context layer: Naming conventions}
     \begin{itemize}
            \item Context layer
            \begin{itemize}
                \item {\bf Galaxies} are container copmosed of {\bf Galaxy-clusters} that belongs to the same family
                \begin{itemize}
                    \item Similar to what {\bf Events} are to {\bf Attributes}
                    \item \texttt{Country}, \texttt{Threat actors}, \texttt{Botnet}, ...
                \end{itemize}

                \item {\bf Galaxy-clusters} are knowledge base items coming from {\bf Galaxies}.
                \begin{itemize}
                    \item Basically a taxonomy with additional meta-information
                    \item \texttt{misp-galaxy:threat-actor="APT 29"}, \texttt{misp-galaxy:country="luxembourg"}
                \end{itemize}
            \end{itemize}
    \end{itemize}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Context layer: Tags}
    Simple free-text labels
    \begin{center}
        \includegraphics[scale=0.45]{screenshots/creativity.png}
    \end{center}
    \begin{lstlisting}[language=javascript,firstnumber=1]
{
    "name": "Android malware",
    "colour": "#22681c",
    "exportable": true,
    "numerical_value": null,
}
\end{lstlisting}
\end{frame}

\begin{frame}
    \frametitle{Context layer: Taxonomies}
    Simple label standardised on common set of vocabularies
    \vspace{1em}
    \begin{center}
        \includegraphics[width=1.0\linewidth]{taxonomy-workflow.png}
    \end{center}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Context layer: Taxonomies}
    \begin{lstlisting}[language=javascript,firstnumber=1]
{
  "Taxonomy": {
    "namespace": "admiralty-scale",
    "description": "The Admiralty Scale or Ranking (also called the NATO System)...",
    "version": "6",
    "exclusive": false,
  },
  "entries": [
     {
       "tag": "admiralty-scale:information-credibility=\"1\"",
       "expanded": "Information Credibility: Confirmed by other sources",
       "numerical_value": 100,
       "exclusive_predicate": true,
     },
     ...
  ]
}
\end{lstlisting}
\end{frame}

\begin{frame}
    \frametitle{Context layer: Galaxies}
    Collections of {\bf galaxy clusters}
    \begin{center}
        \includegraphics[width=1.0\linewidth]{screenshots/galaxy.png}
    \end{center}
\end{frame}

\begin{frame}
    \frametitle{Context layer: Galaxy clusters}
    Kownledge base items including a description, links, synonyms, meta-information and relationships
    \begin{center}
        \includegraphics[width=0.9\linewidth]{screenshots/cluster-view.png}
    \end{center}
\end{frame}
\begin{frame}
    \frametitle{Context layer: Galaxy clusters}
    {\bf Galaxy cluster elements}: Tabular view
    \begin{center}
        \includegraphics[width=1.0\linewidth]{screenshots/cluster-elements-tab.png}
    \end{center}
    \vspace{1em}
    {\bf Galaxy cluster elements}: JSON view
    \begin{center}
        \includegraphics[width=1.0\linewidth]{screenshots/cluster-elements-json.png}
    \end{center}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Context layer: Galaxy clusters}
    \begin{lstlisting}[language=javascript,firstnumber=1]
{
    "uuid": "5eda0a53-1d98-4d01-ae06-40da0a00020f",
    "type": "fellowship-characters",
    "value": "Aragorn wielding Anduril",
    "tag_name": "misp-galaxy:fellowship-characters=\"c3fe907a-6a36-4cd1-9456-dcdf35c3f907\"",
    "description": "The Aragorn character wielding Anduril",
    "source": "Middle-earth universe by J. R. R. Tolkien",
    "authors": null,
    "version": "1591347795",
    "distribution": "0",
    "sharing_group_id": null,
    "default": false,
    "extends_uuid": "5eda0117-1e14-4b0a-9e26-34aff331dc3b",
    "extends_version": "1591345431",
    "GalaxyElement": [...],
    "GalaxyClusterRelation": [...]
}
\end{lstlisting}
\end{frame}


\begin{frame}
    \frametitle{Context layer: Galaxies \& Galaxy clusters}
    \begin{itemize}
        \item MISP integrates MITRE's Adversarial Tactics, Techniques, and Common Knowledge (ATT\&CK) and similar {\bf Galaxy Matrix}
        \item MISP terminology of these matrixes: {\bf Galaxy Matrix}
    \end{itemize}
    \includegraphics[scale=0.2]{screenshots/attack-screenshot.png}
\end{frame}

\begin{frame}[fragile]
        \frametitle{Galaxy JSON matrix-like}
        \begin{adjustbox}{keepaspectratio}
            %\lstset{emph={kill_chain_order},emphstyle=\textbf}
            \begin{lstlisting}[language=javascript,firstnumber=1,escapechar=@]
{
  "description": "Universal Development and Security Guidelines as Applicable to Election Technology.",
  "icon": "map",
  @\textbf{\color{red}"kill\_chain\_order": \{}@             @\textbf{\color{black}\textbackslash\textbackslash Tab in the matrix}@
      @\textbf{\color{red}"example-of-threats": [}@       @\textbf{\color{black}\textbackslash\textbackslash Column in the matrix}@
      @\textbf{\color{red}"setup | party/candidate-registration",}@
      @\textbf{\color{red}"setup | electoral-rolls",}@
      @\textbf{\color{red}"campaign | campaign-IT",}@
      @\textbf{\color{red}"all-phases | governement-IT",}@
      @\textbf{\color{red}"voting | election-technology",}@
      @\textbf{\color{red}"campaign/public-communication | media/press"}@
    @\textbf{\color{red}]}@
  @\textbf{\color{red}\},}@
  "name": "Election guidelines",
  "namespace": "misp",
  "type": "guidelines",
  "uuid": "c1dc03b2-89b3-42a5-9d41-782ef726435a",
  "version": 1
}
        \end{lstlisting}
        \end{adjustbox}
\end{frame}

\begin{frame}[fragile]
        \frametitle{Cluster JSON matrix-like}
        \begin{adjustbox}{keepaspectratio}
            \begin{lstlisting}[language=javascript,firstnumber=1,escapechar=@]
{
      "description": "DoS or overload of party/campaign registration, causing them to miss the deadline",
      "meta": {
        "date": "March 2018.",
         @\textbf{\color{red}"kill\_chain": [}@ @\textbf{\color{black}\textbackslash\textbackslash Define in which column the cluster should be placed}@
           @\textbf{\color{red}  "example-of-threats:setup | party/candidate-registration"}@
         @\textbf{\color{red}],}@
        "refs": [
          "https://www.ria.ee/sites/default/files/content-editors/kuberturve/cyber_security_of_election_technology.pdf"
        ]
      },
      "uuid": "154c6186-a007-4460-a029-ea23163448fe",
      "value": "DoS or overload of party/campaign registration, causing them to miss the deadline"
}
        \end{lstlisting}
        \end{adjustbox}
\end{frame}


\begin{frame}[fragile]
        \frametitle{Expressing relation between clusters}
        \begin{itemize}
                \item Cluster can be related to one or more clusters using default relationships from MISP objects and a list of tags to classify the relation.
        \end{itemize}

        \begin{lstlisting}[language=javascript,firstnumber=1]
        "related": [
        {
          "dest-uuid": "5ce5392a-3a6c-4e07-9df3-9b6a9159ac45",
          "tags": [
            "estimative-language:likelihood-probability=\"likely\""
          ],
          "type": "similar"
        }
      ],
      "uuid": "0ca45163-e223-4167-b1af-f088ed14a93d",
      "value": "Putter Panda"
        \end{lstlisting}
\end{frame}

\begin{frame}
    \frametitle{Both layers: Combining everything}
    \begin{center}
        \includegraphics[width=0.75\linewidth]{screenshots/datamodel8.png}
    \end{center}
\end{frame}

\begin{frame}
    \frametitle{Acknowledgements}
    \begin{itemize}
        \item Supported by the grant \texttt{2018-LU-IA-0148}
    \end{itemize}
    \begin{center}
        \includegraphics[scale=0.7]{en_cef.png}
    \end{center}
\end{frame}
