cansecwest, new baseline

master
iglocska 2020-03-20 15:22:36 +01:00
parent d2dce270b9
commit fa226a8d24
No known key found for this signature in database
GPG Key ID: BEA224F1FEF113AC
29 changed files with 549 additions and 321 deletions

510
x.4-cansecwest/content.tex Normal file → Executable file
View File

@ -1,197 +1,237 @@
% DO NOT COMPILE THIS FILE DIRECTLY!
% This is included by the other .tex files.
\begin{frame}
\begin{frame}[t,plain]
\titlepage
\end{frame}
\begin{frame}
\frametitle{MISP and CIRCL}
\begin{itemize}
\item CIRCL is mandated by the Ministry of Economy and acting as the Luxembourg National CERT for private sector.
\item We lead the development of the Open Source MISP TISP which is used by many military or intelligence communities, private companies, financial sector, National CERTs and LEAs globally.
\item {\bf CIRCL runs multiple large MISP communities performing active daily threat-intelligence sharing}.
\end{itemize}
\frametitle{MISP features}
\begin{itemize}
\item MISP\footnote{\url{https://github.com/MISP/MISP}} is a threat information sharing free \& open source software.
\item MISP has {\bf a host of functionalities} that assist users in creating, collaborating \& sharing threat information - e.g. flexible sharing groups, {\bf automatic correlation}, free-text import helper, event distribution \& proposals.
\item Many export formats which support IDSes / IPSes (e.g. Suricata, Bro, Snort), SIEMs (eg CEF), Host scanners (e.g. OpenIOC, STIX, CSV, yara), analysis tools (e.g. Maltego), DNS policies (e.g. RPZ).
\item A rich set of MISP modules\footnote{\url{https://www.github.com/MISP/misp-modules}} to add expansion, import and export functionalities.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{The aim of this presentation}
\begin{itemize}
\item Why is {\bf contextualisation} important?
\item What options do we have in MISP?
\item How can we {\bf leverage} this in the end?
\end{itemize}
\frametitle{MISP and starting from a practical use-case}
\begin{itemize}
\item During a malware analysis workgroup in 2012, we discovered that we worked on the analysis of the same malware.
\item We wanted to share information in an easy and automated way {\bf to avoid duplication of work}.
\item Christophe Vandeplas (then working at the CERT for the Belgian MoD) showed us his work on a platform that later became MISP.
\item A first version of the MISP Platform was used by the MALWG and {\bf the increasing feedback of users} helped us to build an improved platform.
\item MISP is now {\bf a community-driven development}.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{What is MISP?}
\frametitle{about CIRCL}
The Computer Incident Response Center Luxembourg (CIRCL) is a government-driven initiative designed to provide a systematic response facility to computer security threats and incidents. CIRCL is the CERT for the private sector, communes and non-governmental entities in Luxembourg and is operated by securitymadein.lu g.i.e.
\end{frame}
\begin{frame}
\frametitle{MISP and CIRCL}
\begin{itemize}
\item Open source "TISP" - A TIP with a strong focus on sharing
\item Thanks to Andreas we don't have to explain what a TIP is... :)
\item A tool that {\bf collects} information from partners, your analysts, your tools, feeds
\item Normalises, correlates, enriches the data
\item Allows teams and communities to {\bf collaborate}
\item {\bf Feeds} automated protective tools and analyst tools with the output
\item CIRCL is mandated by the Ministry of Economy and acting as the Luxembourg National CERT for private sector.
\item CIRCL leads the development of the Open Source MISP threat intelligence platform which is used by many military or intelligence communities, private companies, financial sector, National CERTs and LEAs globally.
\item {\bf CIRCL runs multiple large MISP communities performing active daily threat-intelligence sharing}.
\end{itemize}
\includegraphics{en_cef.png}
\end{frame}
\begin{frame}
\frametitle{MISP model of governance}
\includegraphics[scale=0.4]{governance.png}
\end{frame}
\begin{frame}
\frametitle{The growing need to contextualise data}
\frametitle{Development based on practical user feedback}
\begin{itemize}
\item Contextualisation became more and more important as we as a community matured
\item There are many different types of users of an information sharing platform like MISP:
\begin{itemize}
\item {\bf Growth and diversification} of our communities
\item Distinguish between information of interest and raw data
\item {\bf False-positive} management
\item TTPs and aggregate information may be prevalent compared to raw data (risk assessment)
\item {\bf Increased data volumes} leads to a need to be able to prioritise
\end{itemize}
\item These help with filtering your TI based on your {\bf requirements}...
\item ...as highlighted by Pasquale Stirparo \textit{Your Requirements Are Not My Requirements}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Different layers of context}
\begin{itemize}
\item Context added by analysts / tools
\item Data that tells a story
\item Encoding analyst knowledge to automatically leverage the above
\end{itemize}
\end{frame}
\section{Context added by analysts / tools}
\begin{frame}
\frametitle{Expressing why data-points matter}
\begin{itemize}
\item An IP address by itself is barely ever interesting
\item We need to tell the recipient / machine why this is relevant
\item All data in MISP has a bare minimum required context
\item We differentiate between indicators and supporting data
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Broadening the scope of what sort of context we are interested in}
\begin{itemize}
\item {\bf Who} can receive our data? {\bf What} can they do with it?
\item {\bf Data accuracy, source reliability}
\item {\bf Why} is this data relevant to us?
\item {\bf Who} do we think is behind it, {\bf what tools} were used?
\item What sort of {\bf motivations} are we dealing with? Who are the {\bf targets}?
\item How can we {\bf block/detect/remediate} the attack?
\item What sort of {\bf impact} are we dealing with?
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Tagging and taxonomies}
\begin{itemize}
\item Simple labels
\item Standardising on vocabularies
\item Different organisational/community cultures require different nomenclatures
\item Triple tag system - taxonomies
\item JSON libraries that can easily be defined without our intervention
\end{itemize}
\includegraphics[width=1.0\linewidth]{taxonomy-workflow.png}
\end{frame}
\begin{frame}
\frametitle{Galaxies}
\begin{itemize}
\item Taxonomy tags often {\bf non self-explanatory}
\begin{itemize}
\item Example: universal understanding of tlp:green vs APT 28
\end{itemize}
\item For the latter, a single string was ill-suited
\item So we needed something new in addition to taxonomies - \textbf{Galaxies}
\begin{itemize}
\item Community driven \textbf{knowledge-base libraries used as tags}
\item Including descriptions, links, synonyms, meta information, etc.
\item Goal was to keep it \textbf{simple and make it reusable}
\item Internally it works the exact same way as taxonomies (stick to \textbf{JSON})
\item {\bf Malware reversers} willing to share indicators of analysis with respective colleagues.
\item {\bf Security analysts} searching, validating and using indicators in operational security.
\item {\bf Intelligence analysts} gathering information about specific adversary groups.
\item {\bf Law-enforcement} relying on indicators to support or bootstrap their DFIR cases.
\item {\bf Risk analysis teams} willing to know about the new threats, likelyhood and occurences.
\item {\bf Fraud analysts} willing to share financial indicators to detect financial frauds.
\end{itemize}
\end{itemize}
\begin{center}
\hspace{10em}
\includegraphics[scale=0.30]{galaxy-ransomware.png}
\end{center}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{The emergence of ATT\&CK and similar galaxies}
\begin{itemize}
\item Standardising on high-level {\bf TTPs} was a solution to a long list of issues
\item Adoption was rapid, tools producing ATT\&CK data, familiar interface for users
\item A much better take on kill-chain phases in general
\item Feeds into our {\bf filtering} and {\bf situational awareness} needs extremely well
\item Gave rise to other, ATT\&CK-like systems tackling other concerns
\frametitle{Communities using MISP}
\begin{itemize}
\item Communities are groups of users sharing within a set of common objectives/values.
\item CIRCL operates multiple MISP instances with a significant user base (more than 950 organizations with more than 2400 users).
\item {\bf Trusted groups} running MISP communities in island mode (air gapped system) or partially connected mode.
\item {\bf Financial sector} (banks, ISACs, payment processing organizations) use MISP as a sharing mechanism.
\item {\bf Military and international organizations} (NATO, military CSIRTs, n/g CERTs,...).
\item {\bf Security vendors} running their own communities (e.g. Fidelis) or interfacing with MISP communities (e.g. OTX).
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Many objectives from different user-groups}
\begin{itemize}
\item Sharing indicators for a {\bf detection} matter.
\begin{itemize}
\item 'Do I have infected systems in my infrastructure or the ones I operate?'
\end{itemize}
\item Sharing indicators to {\bf block}.
\begin{itemize}
\item 'I use these attributes to block, sinkhole or divert traffic.'
\end{itemize}
\item Sharing indicators to {\bf perform intelligence}.
\begin{itemize}
\item 'Gathering information about campaigns and attacks. Are they related? Who is targeting me? Who are the adversaries?'
\end{itemize}
\item $\rightarrow$ These objectives can be conflicting (e.g. False-positives have different impacts)
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Sharing Difficulties}
\begin{itemize}
\item Sharing difficulties are not really technical issues but often it's a matter of {\bf social interactions} (e.g. {\bf trust}).
\item Legal restriction\footnote{\url{https://www.misp-project.org/compliance/}}
\begin{itemize}
\item "Our legal framework doesn't allow us to share information."
\item "Risk of information-leak is too high and it's too risky for our organization or partners."
\end{itemize}
\item Practical restriction
\begin{itemize}
\item "We don't have information to share."
\item "We don't have time to process or contribute indicators."
\item "Our model of classification doesn't fit your model."
\item "Tools for sharing information are tied to a specific format, we use a different one."
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{MISP Project Overview}
\includegraphics[scale=0.35]{misp-overview-simplified.pdf}
\end{frame}
\begin{frame}
\frametitle{Helping Contributors in MISP}
\begin{itemize}
\item Contributors can use the UI, API or using the freetext import to add events and attributes.
\begin{itemize}
\item Modules existing in Viper (a binary framework for malware reverser) to populate and use MISP from the vty or via your IDA.
\end{itemize}
\item Contribution can be direct by creating an event but {\bf users can propose attributes updates} to the event owner.
\item {\bf Users should not be forced to use a single interface to contribute}.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Getting some naming conventions out of the way...}
\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 other building blocks
\end{itemize}
\item Context layer
\begin{itemize}
\item {\bf Tags} are labels attached to events/attributes and can come from {\bf Taxonomies}
\item {\bf Galaxy-clusters} are knowledge base items used to label events/attributes and come from {\bf Galaxies}.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{A rich data-model: telling stories via relationships}
\includegraphics[scale=0.24]{screenshots/bankaccount.png}
\includegraphics[scale=0.18]{screenshots/bankview.png}
\end{frame}
\begin{frame}
\frametitle{Contextualisation and aggregation}
\begin{itemize}
\item MISP integrates at the event and the attribute levels MITRE's Adversarial Tactics, Techniques, and Common Knowledge (ATT\&CK).
\end{itemize}
\includegraphics[scale=0.2]{screenshots/attack-screenshot.png}
\end{frame}
\begin{frame}
\frametitle{Sharing in MISP}
\begin{itemize}
\item {\bf attck4fraud} \footnote{\url{https://www.misp-project.org/galaxy.html\#_attck4fraud}} by Francesco Bigarella from ING
\item {\bf Election guidelines} \footnote{\url{https://www.misp-project.org/galaxy.html\#_election_guidelines}} by NIS Cooperation Group
\item Sharing via distribution lists - {\bf Sharing groups}
\item {\bf Delegation} for pseudo-anonymised information sharing
\item {\bf Proposals} and {\bf Extended events} for collaborated information sharing
\item Synchronisation, Feed system, air-gapped sharing
\item User defined {\bf filtered sharing} for all the above mentioned methods
\item Cross-instance information {\bf caching} for quick lookups of large data-sets
\item Support for multi-MISP internal enclaves
\end{itemize}
\end{itemize}
\end{frame}
\section{Data that tells a story}
\begin{frame}
\frametitle{MISP core distributed sharing functionality}
\begin{itemize}
\item MISPs' core functionality is sharing where everyone can be a consumer and/or a contributor/producer."
\item Quick benefit without the obligation to contribute.
\item Low barrier access to get acquainted to the system.
\end{itemize}
\includegraphics[scale=0.9]{misp-distributed.pdf}
\end{frame}
\begin{frame}
\frametitle{More complex data-structures for a modern age}
\begin{itemize}
\item Atomic attributes were a great starting point, but lacking in many aspects
\item {\bf MISP objects}\footnote{\url{https://github.com/MISP/misp-objects}} system
\frametitle{Information quality management}
\begin{itemize}
\item Simple {\bf templating} approach
\item Use templating to build more complex structures
\item Decouple it from the core, allow users to {\bf define their own} structures
\item MISP should understand the data without knowing the templates
\item Massive caveat: {\bf Building blocks have to be MISP attribute types}
\item Allow {\bf relationships} to be built between objects
\item Correlating data
\item Feedback loop from detections via {\bf Sightings}
\item {\bf False positive management} via the warninglist system
\item {\bf Enrichment system} via MISP-modules
\item {\bf Integrations} with a plethora of tools and formats
\item Flexible {\bf API} and support {\bf libraries} such as PyMISP to ease integration
\item {\bf Timelines} and giving information a temporal context
\item Full chain for {\bf indicator life-cycle management}
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Supporting specific datamodels}
\begin{center}
\includegraphics[scale=0.24]{bankaccount.png}
\end{center}
\begin{center}
\includegraphics[scale=0.18]{bankview.png}
\end{center}
\frametitle{Correlation features: a tool for analysts}
\includegraphics[scale=0.18]{screenshots/campaign.png}
\begin{itemize}
\item To {\bf corroborate a finding} (e.g. is this the same campaign?), {\bf reinforce an analysis} (e.g. do other analysts have the same hypothesis?), {\bf confirm a specific aspect} (e.g. are the sinkhole IP addresses used for one campaign?) or just find if this {\bf threat is new or unknown in your community}.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Continuous feedback loop}
\begin{itemize}
\item Data shared was {\bf frozen in time}
\item All we had was a creation/modification timestamp
\item Improved tooling and willingness allowed us to create a {\bf feedback loop}
\item Lead to the introduction of the {\bf Sighting system}
\item Signal the fact of an indicator sighting...
\item ...as well as {\bf when} and {\bf where} it was sighted
\item Vital component for IoC {\bf lifecycle management}
\end{itemize}
\frametitle{Sightings support}
\begin{columns}[t]
\column{5.0cm}
\begin{figure}
\includegraphics[scale=0.3]{screenshots/sighting-n.png}\\
\includegraphics[scale=0.34]{screenshots/Sightings2.PNG}
\end{figure}
\column{7cm}
\begin{itemize}
\item Has a data-point been {\bf sighted} by me or the community before?
\item Additionally, the sighting system supports negative sigthings (FP) and expiration sightings.
\item Sightings can be performed via the API or the UI.
\item Many use-cases for {\bf scoring indicators} based on users sighting.
\item For large quantities of data, {\bf SightingDB} by Devo
\end{itemize}
\end{columns}
\end{frame}
\begin{frame}
\frametitle{Continuous feedback loop (2)}
\begin{center}
\includegraphics[scale=0.5]{sighting-n.png}
\end{center}
\begin{center}
\includegraphics[scale=0.60]{Sightings2.PNG}
\end{center}
\end{frame}
\begin{frame}
\frametitle{A brief history of time - Adding temporality to our data}
\frametitle{Timelines and giving information a temporal context}
\begin{itemize}
\item As Andreas said - no time based aspect was painful
\item Recently introduced {\bf \texttt{first\_seen}} and {\bf \texttt{last\_seen}} data points
\item Along with a complete integration with the {\bf UI}
\item All data-points can be placed in time
\item Enables the {\bf visualisation} and {\bf adjustment} of indicators timeframes
\end{itemize}
\begin{center}
@ -199,104 +239,8 @@
\end{center}
\end{frame}
\section{The various ways of encoding analyst knowledge to automatically leverage our TI}
\begin{frame}
\frametitle{False positive handling}
\begin{itemize}
\item Low quality / false positive prone information being shared
\item Lead to {\bf alert-fatigue}
\item Exclude organisation xy out of the community?
\item FPs are often obvious - {\bf can be encoded}
\item {\bf Warninglist system}\footnote{\url{https://github.com/MISP/misp-warninglists}} aims to do that
\item Lists of well-known indicators which are often false-positives like RFC1918 networks, ...
\end{itemize}
\begin{center}
\includegraphics[scale=0.22]{warning-list.png}
\includegraphics[scale=0.45]{warning-list-event.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Making use of all this context}
\begin{itemize}
\item Providing advanced ways of querying data
\begin{itemize}
\item Unified export APIs
\item Incorporating all contextualisation options into {\bf API filters}
\item Allowing for an {\bf on-demand} way of {\bf excluding potential false positives}
\item Allowing users to easily {\bf build their own} export modules feed their various tools
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Example query}
\texttt{/attributes/restSearch}
\begin{lstlisting}
{
"returnFormat": "netfilter",
"enforceWarninglist": 1,
"tags": {
"NOT": [
"tlp:white",
"type:OSINT"
],
"OR": [
"misp-galaxy:threat-actor=\"Sofacy\"",
"misp-galaxy:sector=\"Chemical\""
],
}
}
\end{lstlisting}
\end{frame}
\begin{frame}[fragile]
\frametitle{Example query to generate ATT\&CK heatmaps}
\texttt{/events/restSearch}
\begin{lstlisting}
{
"returnFormat": "attack",
"tags": [
"misp-galaxy:sector=\"Chemical\""
],
"timestamp": "365d"
}
\end{lstlisting}
\end{frame}
\begin{frame}
\frametitle{A sample result for the above query}
\begin{center}
\includegraphics[scale=0.2]{attack-screenshot.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Monitor trends outside of MISP (example: dashboard)}
\begin{center}
\includegraphics[scale=0.2]{dashboard-trendings.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Decaying of indicators}
\begin{itemize}
\item We were still missing a way to use all of these systems in combination to decay indicators
\item Move the decision making \textbf{from complex filter options to} complex \textbf{decay models}
\item Decay models would take into account various available {\bf context}
\begin{itemize}
\item Taxonomies
\item Sightings
\item type of each indicator
\item Creation date
\item ...
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Implementation in MISP: \texttt{Event/view}}
\frametitle{Life-cycle management via decaying of indicators}
\includegraphics[width=1.00\linewidth]{decaying-event.png}
\begin{itemize}
\item \texttt{Decay score} toggle button
@ -306,77 +250,27 @@
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Implementation in MISP: API result}
\texttt{/attributes/restSearch}
\begin{lstlisting}
"Attribute": [
{
"category": "Network activity",
"type": "ip-src",
"to_ids": true,
"timestamp": "1565703507",
[...]
"value": "8.8.8.8",
"decay_score": [
{
"score": 54.475223849544456,
"decayed": false,
"DecayingModel": {
"id": "85",
"name": "NIDS Simple Decaying Model"
}
}
],
[...]
\end{lstlisting}
\end{frame}
\begin{frame}
\frametitle{Implementation in MISP: Fine tuning tool}
\frametitle{Decaying of indicators: Fine tuning tool}
\includegraphics[width=1.00\linewidth]{decaying-tool.png}
Create, modify, visualise, perform mapping
\end{frame}
\begin{frame}
\frametitle{Implementation in MISP: simulation tool}
\frametitle{Decaying of indicators: simulation tool}
\includegraphics[width=1.00\linewidth]{decaying-simulation.png}
Simulate \textit{Attributes} with different \textit{Models}
\end{frame}
\begin{frame}
\frametitle{To sum it all up...}
\begin{itemize}
\item Massive rise in {\bf user capabilities}
\item Growing need for truly {\bf actionable threat intel}
\item Lessons learned:
\begin{itemize}
\item {\bf Context is king} - Enables better decision making
\item {\bf Intelligence and situational awareness} are natural by-products of context
\item Don't lock users into your {\bf workflows}, build tools that enable theirs
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Get in touch if you have any questions}
\begin{itemize}
\item Contact us
\begin{itemize}
\item \url{https://twitter.com/mokaddem_sami}
\item \url{https://twitter.com/iglocska}
\end{itemize}
\item Contact CIRCL
\begin{itemize}
\item info@circl.lu
\item \url{https://twitter.com/circl_lu}
\item \url{https://www.circl.lu/}
\end{itemize}
\item Contact MISPProject
\begin{itemize}
\item \url{https://github.com/MISP}
\item \url{https://gitter.im/MISP/MISP}
\item \url{https://twitter.com/MISPProject}
\end{itemize}
\end{itemize}
\frametitle{Conclusion}
\begin{itemize}
\item {\bf Information sharing practices come from usage} and by example (e.g. learning by imitation from the shared information).
\item MISP is just a tool. What matters is your sharing practices. The tool should be as transparent as possible to support you.
\item Enable users to customize MISP to meet their community's use-cases.
\item MISP project combines open source software, open standards, best practices and communities to make information sharing a reality.
\end{itemize}
\end{frame}

314
x.4-cansecwest/content_nl.tex Executable file
View File

@ -0,0 +1,314 @@
% DO NOT COMPILE THIS FILE DIRECTLY!
% This is included by the other .tex files.
\begin{frame}[t,plain]
\titlepage
\end{frame}
\begin{frame}{Agenda}
\input{../includes/agenda.txt}
\end{frame}
\begin{frame}
\frametitle{MISP, bekeken vanuit een praktisch voorbeeld}
\begin{itemize}
\item In 2012 werd tijdens een werkgroep voor malware analyse duidelijk dat we werkten aan de analyse van dezelfde malware.
\item We wilden onze informatie op een eenvoudige en geautomatiseerde manier met elkaar delen {\bf om dubbel werk te voorkomen}.
\item Christophe Vandeplas (toen werkzaam bij het CERT voor de Belgische Defensie) toonde ons zijn werk aan een platform dat uiteindelijk MISP werd.
\item De eerste versie van het MISP-platform werd gebruikt door de MALWG en met hulp van {\bf de toenemende feedback van gebruikers} konden we een verbeterd platform bouwen.
\item MISP is nu uitgegroeid tot een platform waar de {\bf ontwikkeling gestuurd wordt vanuit de gemeenschap}.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{over CIRCL}
Het Computer Incident Response Centre Luxembourg (CIRCL) is een overheids initiatief om een antwoord te bieden op computerbeveiligingsbedreigingen en -incidenten. \break \newline
CIRCL is het CERT voor de particuliere sector, gemeenten en niet-gouvernementele entiteiten in Luxemburg en wordt beheerd door securitymadein.lu g.i.e.
\end{frame}
\begin{frame}
\frametitle{MISP en CIRCL}
\begin{itemize}
\item CIRCL is gemandateerd door het ministerie van Economische Zaken en treedt op als het Luxemburgse nationale CERT voor de particuliere sector.
\item CIRCL leidt de ontwikkeling van het Open Source MISP-platform voor het delen van dreigingsinformatie. Dit platform is wereldwijd gebruikt door veel militaire en inlichtingengemeenschappen, privébedrijven, de financiële sector, nationale CERT's en LEA's.
\item {\bf CIRCL beheert meerdere grote MISP-gemeenschappen die dagelijkse actief zijn in het delen van dreigingsinformatie}.
\end{itemize}
\includegraphics{en_cef.png}
\end{frame}
\begin{frame}
\frametitle{Ontwikkeling gebaseerd op praktische feedback van de gebruikers}
\begin{itemize}
\item Er zijn veel verschillende soorten gebruikers van een informatie-uitwisselingsplatform zoals MISP:
\begin{itemize}
\item {\bf Malware-analysten} die bereid zijn om de indicatoren van hun analyse met collega's te delen.
\item {\bf Beveiligingsanalisten} die voor operationele beveiliging zoeken naar indicatoren, deze valideren en gebruiken.
\item {\bf Informatie-analysten} die informatie verzamelen over specifieke vijandige groepen.
\item De {\bf politie} die vertrouwt op indicatoren om digitale onderzoeken te ondersteunen of op te starten.
\item {\bf Risico analyse teams} die meer willen weten over nieuwe dreigingen, de waarschijnlijkheid van deze dreigingen en of deze dreigingen werden vastgesteld.
\item {\bf Fraude analysten} die bereid zijn om indicatoren te delen om financiële fraude op te sporen.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Het beheermodel van MISP}
\includegraphics[scale=0.4]{governance.png}
\end{frame}
\begin{frame}
\frametitle{Verschillende objectieven}
\begin{itemize}
\item Delen van indicatoren voor {\bf detectie} doeleinden.
\begin{itemize}
\item 'Heb ik geïnfecteerde systemen in mijn infrastructuur of onder mijn beheer?'
\end{itemize}
\item Delen van indicatoren om te {\bf blokkeren}.
\begin{itemize}
\item 'Ik gebruik deze attributen om verkeer te blokkeren of om verkeer om te leiden.'
\end{itemize}
\item Delen van indicatoren om {\bf informatie te verzamelen}.
\begin{itemize}
\item 'Informatie verzamelen over campagnes en aanvallen. Zijn deze campagnes met elkaar verbonden? Zijn ze gericht op mij? Wie zijn de tegenstanders?'
\end{itemize}
\item $\rightarrow$ Deze doelstellingen kunnen soms tegenstrijdig zijn
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Moeilijkheden bij het delen}
\begin{itemize}
\item De problemen met het delen van informatie zijn vaak niet zozeer van technische aard maar eerder een kwestie van {\bf sociale interacties} (b.v. {\bf vertrouwen}).
\item Juridische restricties\footnote{\url{https://www.misp-project.org/compliance/}}
\begin{itemize}
\item "Ons wettelijk kader staat ons niet toe om informatie te delen."
\item "Het risico op een informatielek is te hoog en het is te riskant voor onze organisatie of partners."
\end{itemize}
\item Praktische beperkingen
\begin{itemize}
\item "We hebben geen informatie om te delen."
\item "We hebben geen tijd om indicatoren te verwerken of om er te delen."
\item "Ons classificatie model past niet in uw model."
\item "De middelen voor het delen van informatie zijn gebonden aan een specifiek formaat en we gebruiken een ander formaat."
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{MISP Project Overzicht}
\includegraphics[scale=0.35]{misp-overview-simplified.pdf}
\end{frame}
%\begin{frame}
% \frametitle{MISP Project Overview}
% \begin{columns}[t]
% \column{5.0cm}
% \begin{figure}
% \includegraphics[scale=0.20]{misp-overview.pdf}\\
% \end{figure}
% \column{7cm}
% \begin{itemize}
% \item The {\bf core project}\footnote{\url{http://github.com/MISP/}} (PHP/Python3) supports the backend, API \& UI.
% \item Modules (Python3) expand MISP functionalities.
% \item Taxonomies (JSON) to add categories \& global tagging.
% \item Warning-lists (JSON) help analysts to detect potential false-positives.
% \item Galaxy (JSON) to add threat-actors, tools or "intelligence".
% \item Objects (JSON) to allow for templated composition of security related atomic points of information.
% \end{itemize}
% \end{columns}
%\end{frame}
\begin{frame}
\frametitle{MISP functies}
\begin{itemize}
\item MISP\footnote{\url{https://github.com/MISP/MISP}} is open source software voor het delen van dreigings-informatie.
\item MISP heeft {\bf een groot aantal functionaliteiten} die gebruikers ondersteunen bij het maken, samen werken aan en het delen van bedreigingsinformatie - bijv. flexibele groepen voor het delen van informatie, {\bf automatische correlatie van gegevens}, importhulp, event distributie en voorstelling voor verbetering van attributen.
\item Er is ondersteuning voor diverse formaten van IDS / IPS systemen (b.v. Suricata, Bro, Snort), SIEMs (b.v. CEF), host scanners (b.v. OpenIOC, STIX, CSV, yara), analyse tools (b.v. Maltego) of om DNS policies te implementeren (b.v. RPZ).
\item Er is een breed aanbod aan MISP modules\footnote{\url{https://www.github.com/MISP/misp-modules}} voor uitbreiding, import en export functionaliteiten.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Correlaties : een hulpmiddel voor analysten}
\includegraphics[scale=0.18]{screenshots/campaign.png}
\begin{itemize}
\item Voor het {\bf bevestigen van een bevinding} (b.v. is dit dezelfde campagne?), {\bf of een analyse} (b.v. hebben andere analysten dezelfde hypothesis?), {\bf bevestigen van een specifiek aspect} (b.v. werden deze sinkhole IP adressen gebruikt voor een campagne?) of het simpelweg uitzoeken of een {\bf dreiging nieuw of onbekend is in je omgeving}.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Groepen die MISP gebruiken}
\begin{itemize}
\item In het algemeen gaan gebruikers informatie delen met een groep met dezelfde objectieven of waarden.
\item CIRCL beheert meerdere MISP-instanties met een aanzienlijke gebruikersbasis (meer dan 950 organisaties met meer dan 2400 gebruikers).
\item {\bf Vertrouwde} (gesloten) groepen die MISP gebruiken in een soort "eiland" modus (als een geïsoleerd systeem) of als een deels geconnecteerd systeem.
\item De {\bf financiële sector} (banken, ISACs, organisaties die betalingen verwerken) gebruikt MISP als een mechanisme voor het delen van informatie.
\item {\bf Militaire en internationale organisaties} (NATO, militaire CSIRTs, n/g CERTs,...).
\item {\bf Security bedrijven} die hun eigen gemeenschap starten (b.v. Fidelis) of een koppeling hebben met een MISP gemeenschap (b.v. OTX).
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{MISP basisfuncties voor gedistribueerd delen}
\begin{itemize}
\item De kernfunctionaliteit van MISP is het delen van informatie waarbij iedereen zowel een consument als een producent (bijdrager) kan zijn.
\item Dit heeft als voordeel dat iedereen snel kan deelnemen, zonder de directe verplichting om zelf bij te dragen.
\item Er is een lage drempel om het systeem te leren kennen.
\end{itemize}
\includegraphics[scale=0.9]{misp-distributed.pdf}
\end{frame}
\begin{frame}
\frametitle{Events, Objecten en Attributen in MISP}
\begin{itemize}
\item Een MISP event is een verzameling van contextueel verbonden informatie.
\item Attributen\footnote{attributen kunnen alles zijn zolang ze bijdragen aan het beschrijven van de intentie van het event, b.v. indicatoren, kwetsbaarheden ... } starten initieel met een standaard groep van "cyber security" indicatoren.
\item Attributen zijn puur {\bf gebaseerd op gebruik}. De verbetering gebeuren voornamelijk op basis van praktische noden ({\bf financiële indicatoren} in versie 2.4).
\item Objecten zijn samengestelde attributen die verschillende datapunten beschrijven, opgebouwd uit templates van de gemeenschap en de gebruikers.
\item Galaxies zorgen voor een granulaire context, classificatie en categorisatie van de gegevens gebaseerd op {\bf dreigings actoren}, {\bf preventie maatregelen} en de hulpmiddelen gebruikt door tegenstanders.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Delen van Technieken van Aanvallers}
\begin{itemize}
\item MISP heeft integratie op zowel event als attribuut niveau voor MITRE's Adversarial Tactics, Techniques, and Common Knowledge (ATT\&CK).
\end{itemize}
\includegraphics[scale=0.2]{screenshots/attack-screenshot.png}
\end{frame}
\begin{frame}
\frametitle{Ondersteuning voor een specifiek datamodel}
\includegraphics[scale=0.24]{screenshots/bankaccount.png}
\includegraphics[scale=0.18]{screenshots/bankview.png}
\end{frame}
\begin{frame}
\frametitle{Terminilogie van indicatoren}
\begin{itemize}
\item Indicatoren\footnote{IoC (Indicator of Compromise) zijn een onderdeel van de indicatoren}
\begin{itemize}
\item Indicatoren beschrijven een patroon dat kan gebruikt worden om verdachte of kwaadaardige traffiek te detecteren.
\end{itemize}
\item Attributen in MISP kunnen netwerk indicatoren (b.v. IP adressen), systeem indicatoren (b.v. tekst in het geheugen) of zelfs bank gegevens zijn.
\begin{itemize}
\item Een {\bf type} (b.v. MD5, url) is hoe een attribuut is beschreven.
\end{itemize}
\begin{itemize}
\item Een attribuut behoort altijd tot een categorie (b.v. Payload delivery). Deze categorie plaatst het attribuut in een bepaalde context.
\begin{itemize}
\item {\bf Een categorie bepaalt de context } van een attribuut.
\end{itemize}
\item De IDS instelling op een attribuut bepaald of {\bf dit attribuut automatisch} zal gebruikt worden voor {\bf detectie} doeleinden.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Ondersteuning voor het werken met MISP}
\begin{itemize}
\item Gebruikers kunnen events of attributen bijvoegen via zowel de web interface, de API als via een vrije tekst veld.
\begin{itemize}
\item Er zijn modules in Viper (een framework voor het analyseren van malware) om data in MISP in te vullen, via de vty of via IDA.
\end{itemize}
\item Een bijdrage kan gebeuren door rechtstreeks een event aan te maken maar gebruikers kunnen ook de eigenaar van een event een {\bf update voorstellen voor attributen}.
\item Gebruikers zijn {\bf niet gedwongen om één interface te gebruiken om gegevens aan MISP bij te voegen}.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Voorbeeld: Vrije tekst import in MISP}
\includegraphics[scale=0.3]{screenshots/freetext1.PNG}\\
\includegraphics[scale=0.3]{screenshots/freetxt2.PNG}\\
\includegraphics[scale=0.3]{screenshots/freetxt3.PNG}
\end{frame}
\begin{frame}
\frametitle{Ondersteuning voor classificaties}
\begin{itemize}
\item Het gebruik van tags is een simpele manier om een classificatie toe te voegen aan een event of attribuut.
\item Een {\bf classificatie moet globaal} in gebruik zijn om ook efficient te zijn.
\item Gebruikers kunnen via een flexibel tagging systeem kiezen uit de meer dan 42 bestaande taxonomieën of ze kunnen hun eigen taxonomie bijvoegen.
\end{itemize}
\includegraphics[scale=0.20]{tags-2-4-70.png}
\end{frame}
\begin{frame}
\frametitle{Ondersteuning voor het delen in MISP}
\begin{itemize}
\item Delegeren van de publicatie van events naar andere organisaties (sinds MISP 2.4.18).
\begin{itemize}
\item Deze andere organisatie kan dan eigenaar worden van het event en op deze manier zorgen voor de {\bf pseudo-anonimiteit van de oorspronkelijke organisatie}.
\end{itemize}
\item Definiëren van groepen om specifieke informatie mee te delen (vanaf 2.4).
\begin{itemize}
\item De gemeenschappen om mee te delen kunnen lokaal of tussen verschillende MISP instanties gebruikt worden.
\item Het delen kan gebeuren op zowel {\bf event} als {\bf attribuut} niveau (b.v. financiële indicatoren met de financiële groepen en cyber security indicatoren met de CSIRT gemeenschap).
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Ondersteuning voor waarnemingen}
\begin{columns}[t]
\column{5.0cm}
\begin{figure}
\includegraphics[scale=0.3]{screenshots/sighting-n.png}\\
\includegraphics[scale=0.34]{screenshots/Sightings2.PNG}
\end{figure}
\column{7cm}
\begin{itemize}
\item Gebruikers kunnen via {\bf waarnemingen} de gemeenschap op de hoogte stellen van activiteit gerelateerd aan een indicator.
\item Het is mogelijk om negatieve waarnemingen (false positives) en waarnemingen met een vervaldatum in te geven.
\item Waarnemingen kunnen gebeuren via de web interface, de API of door STIX waarnemings-documenten te importeren.
\item Er zijn verschillende toepassingen om indicatoren te rangschikken op basis van waarnemingen.
\end{itemize}
\end{columns}
\end{frame}
\begin{frame}
\frametitle{Verbeteringen voor het delen van informatie in MISP}
\begin{itemize}
\item Valse positiven (false-positive) blijven een terugkerende uitdaging bij het delen van informatie.
\item Vanaf MISP 2.4.39 hebben we het concept van misp-warninglists\footnote{\url{https://github.com/MISP/misp-warninglists}} geïntroduceerd om de analysten te ondersteunen bij hun dagtaak.
\item Dit zijn voorgedefinieerde lijsten van indicatoren die vaak een valse positieve zijn, zoals bijvoorbeeld RFC1918 netwerken of publieke DNS servers.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Ondersteuninng voor het delen binnen en buiten een organisatie}
\begin{itemize}
\item Zelfs binnen één en dezelfde omgeving kunnen er verschillende use cases zijn voor het gebruik van MISP (b.v. groepen die MISP gebruiken voor dynamische malware analyse en correlatie, andere groepen die het dan weer gebruiken voor het versturen van meldingen).
\item Vanaf MISP 2.4.51, is er de optie om {\bf lokale MISP} servers met elkaar te verbinden. Zo kan je verschillende niveaus van delen voorkomen en kan je van een gemengde synchronisatie gebruik maken, zowel binnen als buiten de organisatie.
\item Er is ondersteuning voor feeds voor synchronisatie tussen vertrouwde en niet vertrouwde netwerken.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Starten met MISP en indicatoren}
\begin{itemize}
\item We onderhouden de standaard CIRCL OSINT-feeds (TLP:WHITE geselecteerd uit onze gemeenschappen) zodat gebruikers snel aan de slag kunnen gaan met MISP.
\item Het formaat van de OSINT-feed is gebaseerd op standaard MISP JSON-uitvoer van een externe TLS / HTTP-server.
\item Aanvullende contentproviders kunnen hun eigen MISP-feeds leveren. (\url{https://botvrij.eu/}).
\item Dit laat gebruikers toe om hun MISP-installaties te {\bf testen en te synchroniseren met een echte gegevensset}.
\item Dit kan bijdragen aan andere bronnen van dreigings informatie en helpt ook bij de analyze naar overlappende data\footnote{Een steeds terugkerende uitdaging bij het delen van informatie}.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Conclusie}
\begin{itemize}
\item {\bf De manier van informatie delen onstaat voornamelijk uit het gebruik} en het volgen van bestaande voorbeelden.
\item MISP is uiteindelijk slechts een hulpmiddel, het belangrijkste is nog altijd de manier hoe je de informatie deelt. De tool moet u daarbij zo transparant mogelijk ondersteunen tijdens uw werk.
\item Gebruikers moeten MISP kunnen aanpassen zodat zij een oplossing hebben voor de noden van hun gemeenschap.
\item Het MISP project combineert open source software, open standaarden, best practices en gemeenschappen om informatie deling te realiseren.
\end{itemize}
\end{frame}

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

View File

@ -1,5 +0,0 @@
all:
pdflatex -interaction nonstopmode -halt-on-error -file-line-error slide.tex
clean:
rm *.aux *.nav *.log *.snm *.toc *.vrb

Binary file not shown.

Binary file not shown.

Binary file not shown.

0
x.4-cansecwest/misplogo.pdf Executable file → Normal file
View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -7,18 +7,18 @@
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{listings}
\usepackage{adjustbox}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes,arrows}
%\usepackage[T1]{fontenc}
%\usepackage[scaled]{beramono}
\author{\small{\input{../includes/authors.txt}}}
\title{Turning data into actionable intelligence}
\subtitle{advanced features in MISP supporting your analysts and tools}
\institute{\includegraphics[scale=0.5]{misplogo.pdf}}
\titlegraphic{\includegraphics[scale=0.85]{misp.pdf}}
\title{An Introduction to Cybersecurity Information Sharing}
\subtitle{MISP - Threat Sharing}
\author{\small{\input{../includes/authors.txt}}}
\date{\input{../includes/location.txt}}
\titlegraphic{\includegraphics[scale=0.85]{misp.pdf}}
\institute{MISP Project \\ \url{https://www.misp-project.org/}}
\begin{document}
\include{content}
\end{document}

View File

@ -0,0 +1,25 @@
\documentclass{beamer}
\usetheme[numbering=progressbar]{focus}
\definecolor{main}{RGB}{47, 161, 219}
\definecolor{textcolor}{RGB}{128, 128, 128}
\definecolor{background}{RGB}{240, 247, 255}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{listings}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes,arrows}
\title{Inleiding tot het Delen van Cybersecurity Informatie}
\subtitle{MISP - Threat Sharing}
\author{\small{\input{../includes/authors.txt}}}
\date{\input{../includes/location.txt}}
\titlegraphic{\includegraphics[scale=0.85]{misp.pdf}}
\institute{MISP Project \\ \url{https://www.misp-project.org/}}
\begin{document}
\include{content_nl}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB