Compare commits

...

9 Commits

Author SHA1 Message Date
Jeroen Pinoy a71df5a0df
Merge 1ce81ed214 into 622169a942 2023-10-10 14:03:07 -07:00
iglocska 622169a942
FIRST automation slides 2023-10-05 14:48:45 +02:00
Sami Mokaddem 721906706e
chg: [firstcti22] Few improvements and typos 2022-11-02 12:12:00 +01:00
Sami Mokaddem 71b31f5116
Merge branch 'main' of https://github.com/cerebrate-project/cerebrate-training into main 2022-11-02 11:38:45 +01:00
Sami Mokaddem f814573ae4
chg: [firstcti22] Improved issues to solve slide 2022-11-02 11:38:09 +01:00
iglocska 5187338f28
chg: updates to firstcti22 2022-11-02 11:38:04 +01:00
Sami Mokaddem a6c9bd4f5d
chg: [firstcti22] Added conference picture 2022-11-02 09:35:31 +01:00
Sami Mokaddem a841615a65
chg: [firstcti2022] Updated pictures and added section 2022-11-02 09:32:32 +01:00
iglocska 14457e2242
added firstcti starting point 2022-11-02 09:11:29 +01:00
90 changed files with 1053 additions and 0 deletions

View File

@ -0,0 +1,32 @@
The following topics will be covered along with their implementation in Cerebrate:
- Attendees will learn about a new open source platform solving several, often frustrating issues
- Loads of communities
- Loads of UUIDs to manually process
- Loads of points of contacts
- Loads of Sharing Group issues / Inconsistencies
- An organisation registry for sharing communities utilising open source tools such as MISP
- Solution: Simplicity, light and open-source
- Technology used: PHP, cakephp4, BS5, ...
- Main purpose: Contact DB
- Flexible system to store additional information: Meta-template as KV-store
- How to manage and serve trust information, including organisational information, cryptographic signing keys, mailing lists to a community
- Web interface and API to ease interaction
- Open directory
- Cerebrate information sharing and remote-trust (- Cerebrate-to-Cerebrate connection)
- Practical examples:
- Sharing group: Share an incident with your constituency
- Cryptographic keys repository: MISP protected event Example
- A tool that help managing local tools
- Local tools: Design and Connectors
- Example: MISP Fleet management
- Open dialogues to community members to request tool to tool interconnections
- Exposed local tools
- SYN, SYN/ACK, ACK ( People chatting)
- Local tool inter-connection via synchronisation configuration profiles
- Examepl: MISP Inter-connection
- Roadmap
- Integration with other tools
- Ticketing systems
- Mailing list (Mailman)
- Messaging App (mattermost)

View File

@ -0,0 +1,375 @@
% DO NOT COMPILE THIS FILE DIRECTLY!
% This is included by the other .tex files.
\begin{frame}[t,plain]
\titlepage
\end{frame}
\begin{frame}
\frametitle{Plan for this session}
\begin{itemize}
\item Quick Cerebrate intro
\item Demo
\item Future plans
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{What is Cerebrate?}
\begin{itemize}
\item A new-ish OSS Community management and orchestration platform
\item Takes care of:
\begin{itemize}
\item Contact library management
\item Constituency lookup
\item Interconnection Orchestration
\item Tool management and orchestration
\item Sharing group distribution and management
\item Cryptographic key lookup
\item Shared services access management
\end{itemize}
\item Developed initially as part of:
\end{itemize}
\vspace{0.5em}
\begin{center}
\includegraphics[width=0.55\linewidth]{pictures/melicertes.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Managing large communities is difficult}
\begin{itemize}
\item Our MISP communities started out small
\item Most communities acted as islands
\item Interconnecting communities came with its own problems
\begin{itemize}
\item Interconnection requests
\item Organisation management
\item Enrollment process
\end{itemize}
\item Finding and communicating with the right parties is difficult
\item Managing multiple MISP instances can be tedious
\end{itemize}
\end{frame}
\section{Let us take a step back and look at a use-case}
\begin{frame}
\frametitle{Running a large community can feel like...}
\begin{center}
\includegraphics[width=1\linewidth]{pictures/herding_cats.jpeg}
\end{center}
\end{frame}
\begin{frame}
\frametitle{A bit about our internal topology}
\includegraphics[width=0.45\linewidth]{pictures/topology.png}
\end{frame}
\begin{frame}
\frametitle{Some stats about one of our MISP instance: MISPPriv}
\includegraphics[width=0.45\linewidth]{pictures/misppriv-user-org-stats.png}
\end{frame}
\begin{frame}
\frametitle{Some stats about one of our MISP instance: MISPPriv}
\begin{center}
\includegraphics[width=1.0\linewidth]{pictures/bokeh_new_org.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Issues we're trying to solve}
However, broader and more diverse communities lead to more issues
\begin{itemize}
\item {Non-technical issues}
\begin{itemize}
\item Overwhelming amount of points of contacts
\item Sharing difficulties in terms of social interactions (e.g trust)
\end{itemize}
\end{itemize}
\vspace{1em}
\begin{minipage}{0.27\textwidth}
\includegraphics[scale=0.4]{pictures/firstcti-hastag.png}
\end{minipage}
\begin{minipage}{0.6\textwidth}
{\large greatly helps in that aspect!}
\end{minipage}
\end{frame}
\begin{frame}
\frametitle{Issues we're trying to solve}
\begin{itemize}
\item {Technical issues}
\begin{itemize}
\item Centralised identity management
\item Loads of UUIDs to manually process
\item Distribution list management is difficult across communities
\end{itemize}
\end{itemize}
\begin{center}
\includegraphics[width=1.0\linewidth]{pictures/org-circl.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Issues we're trying to solve with Cerebrate}
\begin{itemize}
\item Constituencies of organisations
\begin{itemize}
\item Geographic \& sectorial
\item But also technical: CIDR blocks \& AS Numbers
\end{itemize}
\vspace{0.5em}
\item Cryptographic key lookup for information signing
\begin{itemize}
\item MISP's protected event feature
\item Future: Protected Sharing groups?
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Issues we're trying to solve with Cerebrate}
\begin{itemize}
\item Customisable data model adaptable to each community
\begin{itemize}
\item Communities with an existing registry want to build on their data-set, rather than rebuild
\item Different types of concerns for different communtiies
\item Based on the sheer amount of different types of communities, \textbf{it's a must}
\end{itemize}
\item Sharing group management
\item Synchronisation and lookup system
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Our attempt at solving them: Cerebrate}
\begin{itemize}
\item Open source community management and orchestration tool
\end{itemize}
\begin{center}
\includegraphics[width=0.15\linewidth]{pictures/logo.png}
\linebreak
\includegraphics[width=0.99\linewidth]{pictures/cerebrate-github.png}
\end{center}
\begin{itemize}
\item Central tool for the \textbf{Melicertes 2 project} (Co-funded by the EU as a CEF project - SMART 2018/1024)
\item Rich \textbf{Contact Database}
\item Tightly coupled management system and companion for MISP (and other tools)
\begin{itemize}
\item Get in touch with us if you need help building integrations!
\end{itemize}
\item Planned as the primary MISP \textbf{fleet management} tool
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Goals and design}
\begin{itemize}
\item Goals: Simplicity, lightweight and open-source
\item Technologies used: PHP, cakephp4, BS5, ...
\begin{itemize}
\item (almost) the same as in MISP for easier \textbf{maintainability} and \textbf{code re-use}
\end{itemize}
\item IAM centric design
\begin{itemize}
\item Tightly integrated with Keycloak
\end{itemize}
\item Core functionalities: Auditing, API
\begin{itemize}
\item Strong auditing/traceability capabilities are a requirement for trust
\item Automation is key
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Goals and design}
\begin{itemize}
\item Built with tool integration in mind, acting as a contact database
\end{itemize}
\begin{center}
\includegraphics[width=0.85\linewidth]{pictures/misp-cerebrate.png}\\
MISP is able to ingest Organisations \& Sharing Groups in Cerebrate
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's place in a typical CSIRT software stack}
\begin{center}
\includegraphics[width=0.42\linewidth]{pictures/software-stack.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database}
\begin{itemize}
\item Contact database for the CSIRT network
\begin{itemize}
\item Common contact fields such as \texttt{UUID}, \texttt{name}, \texttt{contact email address}, \texttt{nationality}, \texttt{URL}, ...
\end{itemize}
\end{itemize}
\begin{center}
\includegraphics[width=0.8\linewidth]{pictures/contact-database-1.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database}
\begin{center}
\includegraphics[width=0.99\linewidth]{pictures/contact-database-2.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database: Meta-fields}
\begin{itemize}
\item Flexible system to store additional information: \texttt{meta-fields} (KV-store)
\item These \texttt{meta-fields} are part of a larger structure called \texttt{meta-templates}
\item Support of multiple templates used by various entities out there
\begin{itemize}
\item FIRST Directory
\item ENISA CSIRT inventory
\item CSIRT Constituency (CIDR blocks, AS Numbers, ...)
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database: Meta-fields}
\begin{center}
\includegraphics[width=0.99\linewidth]{pictures/meta-fields-first.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database: Meta-fields}
\begin{center}
\includegraphics[width=0.99\linewidth]{pictures/meta-templates-first.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database: Meta-fields}
\begin{center}
\includegraphics[width=0.99\linewidth]{pictures/meta-template-repo.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Data sharing}
Basically the same strategy as the one used in MISP:
\begin{itemize}
\item \textbf{Connect} with other Cerebrate nodes
\item \textbf{Diagnose} connectivity issues
\item Remotely \textbf{browse} data of the other node
\item \textbf{Fetch and save} organisation, individual, sharing-group data
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Managing local tools}
Why would Cerebrate have integration with other tools?
\begin{itemize}
\item To support information sharing, being able to validate information sources is crucial
\item Traditional information sharing software stacks have to have their own organisation database
\item Why re-invent the wheel everytime?
\end{itemize}
\begin{center}
\includegraphics[width=0.2\linewidth]{pictures/software-stack.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Managing local tools}
There will inevitably be integration between local tools and Cerebrate. Why not go a step further?
\begin{itemize}
\item Cerebrate exposes a modular system to {\bf manage these local tools}
\item Based on a configuration file, user interfaces can be created to visualise data and instruct local tools to perform operations
\end{itemize}
\begin{center}
\includegraphics[width=1.0\linewidth]{pictures/github-local-tool.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Local tools: MISP Connector capabilities}
\begin{itemize}
\item \textbf{Configure} a MISP instances via server settings
\item \textbf{Fetch} Organisations \& Sharing Groups
\item \textbf{Diagnose} other connected MISP servers
\item \textbf{Manage} users, ...
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Local tool interconnection via Cerebrate}
\begin{itemize}
\item Cerebrate's main goal is to \textbf{ease community management}
\item Select which local tools are meant to be exposed to the community for requests
\item Open dialogues to community members to request tool-to-tool interconnections
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Local tool interconnection via Cerebrate}
Cerebrate can leverage its access to local tool to reach out to tools from other Cerebrate nodes
\begin{center}
\includegraphics[width=0.85\linewidth]{pictures/tools-made-available.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{What else does Cerebrate have?}
\begin{itemize}
\item Mailing list management
\item ACL system
\item Inbox system
\begin{itemize}
\item Inter-connection requests, enrolment requests
\end{itemize}
\item Tagging
\item Update system
\item Audit logs
\item Open API
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{DEMO TIME}
\begin{itemize}
\item ContactDB (Orgs, Individuals)
\item Metafields
\item User management (keycloak integration)
\item Groups / self management
\item Sharing groups
\item Sync
\item Local tools / topology / sync
\item Management
\item Auditing
\item Open API
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Current roadmap}
\begin{itemize}
\item Data signing / validation
\begin{itemize}
\item Community centric PKI
\item Enable data validation services for tools such as MISP
\end{itemize}
\item Integration with other tools
\begin{itemize}
\item Ticketing systems
\item Tighter Mailing list integration (Mailman)
\item Messaging App (Mattermost)
\end{itemize}
\end{itemize}
\end{frame}

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Camada_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 432.9 56.7" style="enable-background:new 0 0 432.9 56.7;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FF8000;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FF8000;}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.st3{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:0.2191;stroke-miterlimit:10;}
</style>
<g>
<path class="st0" d="M356.1,19.4c1.7-11,10.4-19,21.5-19c10.4,0,16.1,7.9,14.5,18c-1.6,10.3-10.2,19-18.3,25.5l0.1,0.1
c2.5-0.1,5.1-0.5,7.6-0.5h6.1l-2,12.7h-37.8l17.5-19.3c4.9-5.5,11.5-12.4,12.6-19.4c0.4-2.1-0.1-4.9-2.6-4.9
c-3.2,0-4.3,4.4-4.7,6.7l-0.3,2h-14.3L356.1,19.4z"/>
<path class="st0" d="M396.7,19.4c1.7-11,10.4-19,21.5-19c10.4,0,16.1,7.9,14.5,18c-1.6,10.3-10.2,19-18.3,25.5l0.1,0.1
c2.5-0.1,5.1-0.5,7.6-0.5h6.1l-2,12.7h-37.8l17.5-19.3c4.9-5.5,11.5-12.4,12.6-19.4c0.4-2.1-0.1-4.9-2.6-4.9
c-3.2,0-4.3,4.4-4.7,6.7l-0.3,2h-14.3L396.7,19.4z"/>
<g>
<path class="st0" d="M37.8,39.9h-8.4L24,56.7h-7.2l5.3-16.8h-7L9.7,56.7H2.2l5.4-16.8H0l1.5-8.6h9l2.4-7.2H5.1l1.5-8.6h9L20.6,0
h7.2l-5,15.5h7.1l5-15.5h7.5l-5.1,15.5h6.9l-1.5,8.6h-8.2l-2.2,7.2h7L37.8,39.9z M20.1,24.1l-2.2,7.2H25l2.2-7.2H20.1z"/>
</g>
<g>
<g>
<polygon class="st1" points="104.8,0.5 103,11.6 87.6,11.6 89.4,0.5 "/>
<polygon class="st2" points="86.5,22.2 81.2,55.6 96.2,55.6 101.4,22.2 "/>
<path class="st2" d="M154.7,22.2c0.2,1.9,0.7,3.4,1.6,4.9c1.5,2.6,3.7,4.8,6.3,7c0.8,0.7,1.6,1.3,2.1,2.1
c0.6,0.8,0.9,1.8,0.7,3.1c-0.4,2.4-2.9,3.7-5,3.7c-3.8,0-6.9-3.1-8.5-6.1l-2.7,17.2c3.3,1.5,7,2.3,10.8,2.3
c10.4,0,18.8-8.2,20.5-18.4c0.7-4.2,0.2-7.1-1.2-9.6c-1.2-2.3-3.1-4.1-5.6-6.2H154.7z"/>
<polygon class="st2" points="186.8,55.6 201.8,55.6 207,22.2 192.2,22.2 "/>
<path class="st2" d="M174.4,0.5c-9.3,0-14.9,5.2-17.7,11.1h60.7l1.8-11.1C219.1,0.5,177.8,0.5,174.4,0.5z"/>
<path class="st2" d="M147.6,11.7C146.2,3,138.5,0.5,128,0.5h-14.4l-1.8,11.1L147.6,11.7z"/>
<path class="st2" d="M146.7,22.2h-15.1h-6.4h-15L105,55.6h14.9l2.4-14.8c0.4-2.7,0.7-5.4,1.1-8.1l0.2-0.1l4.6,23h16.1l-7.4-23
C141.9,30.7,145.1,26.8,146.7,22.2z"/>
<g>
<polygon class="st2" points="79.7,11.6 81.6,0.5 55.2,0.5 47,55.6 60.9,55.6 62.1,55.6 65.4,34.5 75.5,34.5 77.3,22.2
67.4,22.2 69,11.6 "/>
</g>
</g>
<g>
<path class="st3" d="M251.9,11.5c-0.9-0.6-3-1.3-5.4-1.3c-3.8,0-6.9,2-9.3,5c-4.1,5.2-6.7,14.2-6.7,20.9c0,6.4,2.3,10.5,7.7,10.5
c2.8,0,5.5-0.9,6.9-1.6l1.1,8.4c-2.6,1.8-7,3.1-11.9,3.1c-11.6,0-16.9-8.7-16.9-19.6c0-10.3,4.3-22.6,11.9-29.5
c4.2-3.9,9.7-6.3,15.9-6.3c4.8,0,8.9,1.3,11,3.1L251.9,11.5z"/>
<path class="st3" d="M289.5,46.8c-4.4,5.9-10.6,9.7-19.1,9.7c-11.4,0-16.8-7.7-16.8-18.9c0-8.8,3.3-19.8,8.4-26.7
c4.5-5.9,10.8-9.8,19-9.8c11.8,0,16.6,7.9,16.6,18.5C297.7,28.3,294.6,39.8,289.5,46.8z M280,9.5c-3.9,0-6.6,3.4-8.8,8.1
c-2.5,5.2-5.2,15.8-5.2,21.8c0,4.5,1.4,7.7,5.6,7.7c4,0,6.7-3.4,8.8-8.2c2.4-5.5,4.9-15.9,4.9-21.7C285.4,12.8,284.1,9.5,280,9.5
z"/>
<path class="st3" d="M339.9,55.7h-9.3l-11.7-30.2c-1.1-2.8-1.8-5.6-1.8-5.6h-0.2c0,0-0.3,2.9-0.9,5.9l-6.2,29.9h-10.6l11.1-53.8
h10.8l10.9,27.5c1.1,2.7,1.8,5.2,1.8,5.2h0.2c0,0,0.2-2.6,0.9-5.4l5.6-27.4H351L339.9,55.7z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1013 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

View File

@ -0,0 +1,22 @@
\documentclass{beamer}
\usetheme[numbering=progressbar]{focus}
%\definecolor{main}{RGB}{83, 31, 117}
%\definecolor{textcolor}{RGB}{0, 0, 0}
%\definecolor{background}{RGB}{215, 212, 227}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{listings}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes,arrows}
\author{Team CIRCL}
\title{Community Management and Tool Orchestration the Open-source Way via Cerebrate}
\institute{Cerebrate Project}
\titlegraphic{\includegraphics[scale=0.15]{pictures/logo.png}\linebreak\includegraphics[scale=0.16]{pictures/firstcti22.png}}
\date{FIRST CTI 2022 - Berlin}
\begin{document}
\include{content}
\end{document}

32
firstcti2022/content.md Normal file
View File

@ -0,0 +1,32 @@
The following topics will be covered along with their implementation in Cerebrate:
- Attendees will learn about a new open source platform solving several, often frustrating issues
- Loads of communities
- Loads of UUIDs to manually process
- Loads of points of contacts
- Loads of Sharing Group issues / Inconsistencies
- An organisation registry for sharing communities utilising open source tools such as MISP
- Solution: Simplicity, light and open-source
- Technology used: PHP, cakephp4, BS5, ...
- Main purpose: Contact DB
- Flexible system to store additional information: Meta-template as KV-store
- How to manage and serve trust information, including organisational information, cryptographic signing keys, mailing lists to a community
- Web interface and API to ease interaction
- Open directory
- Cerebrate information sharing and remote-trust (- Cerebrate-to-Cerebrate connection)
- Practical examples:
- Sharing group: Share an incident with your constituency
- Cryptographic keys repository: MISP protected event Example
- A tool that help managing local tools
- Local tools: Design and Connectors
- Example: MISP Fleet management
- Open dialogues to community members to request tool to tool interconnections
- Exposed local tools
- SYN, SYN/ACK, ACK ( People chatting)
- Local tool inter-connection via synchronisation configuration profiles
- Examepl: MISP Inter-connection
- Roadmap
- Integration with other tools
- Ticketing systems
- Mailing list (Mailman)
- Messaging App (mattermost)

466
firstcti2022/content.tex Normal file
View File

@ -0,0 +1,466 @@
% DO NOT COMPILE THIS FILE DIRECTLY!
% This is included by the other .tex files.
\begin{frame}[t,plain]
\titlepage
\end{frame}
\begin{frame}
\frametitle{Plan for this session}
\begin{itemize}
\item MeliCERTes II
\item MISP community management hurdles
\item Cerebrate
\item Future plans
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{MeliCERTes II}
\begin{itemize}
\item MeliCERTes
\item Common tooling for CSIRTs
\item Cerebrate a central component of the new tooling
\item Takes care of:
\begin{itemize}
\item Contact management
\item Constituency lookup
\item Interconnection Orchestration
\item Tool orchestration
\item Sharing group distribution and management
\item Cryptographic key lookup
\end{itemize}
\end{itemize}
\vspace{0.5em}
\begin{center}
\includegraphics[width=0.55\linewidth]{pictures/melicertes.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Managing large communities is difficult}
\begin{itemize}
\item Our MISP communities started out small
\item Most communities acted as islands
\item Interconnecting communities came with its own problems
\begin{itemize}
\item Interconnection requests
\item Organisation management
\item Enrollment process
\end{itemize}
\item Finding and communicating with the right parties is difficult
\item Managing multiple MISP instances can be tedious
\end{itemize}
\end{frame}
\section{Let us take a step back and look at a use-case}
\begin{frame}
\frametitle{Some stats about one of our MISP instance: MISPPriv (1)}
\includegraphics[width=0.45\linewidth]{pictures/misppriv-usage.png}
\includegraphics[width=0.45\linewidth]{pictures/misppriv-user-org-stats.png}
\end{frame}
\begin{frame}
\frametitle{Some stats about one of our MISP instance: MISPPriv (2)}
\begin{center}
\includegraphics[width=1.0\linewidth]{pictures/bokeh_new_org.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Issues we're trying to solve}
Rising number of communities is great!
\begin{itemize}
\item \textbf{Bridge the gap} between between communities
\item Sharing with peers that face \textbf{similar threats}
\item \textbf{Reuse} of TTPs across sectors
\item \textbf{Hybrid threats} How seemingly unrelated things may be interesting to correlate
\item \textbf{Spread the love}, as our field is ahead of several other sectors when it comes to information sharing
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Issues we're trying to solve}
However, broader and more diverse communities lead to more issues
\begin{itemize}
\item {Non-technical issues}
\begin{itemize}
\item Overwhelming amount of points of contacts
\item Sharing difficulties in terms of social interactions (e.g trust)
\end{itemize}
\end{itemize}
\vspace{1em}
\begin{minipage}{0.27\textwidth}
\includegraphics[scale=0.4]{pictures/firstcti-hastag.png}
\end{minipage}
\begin{minipage}{0.6\textwidth}
{\large greatly helps in that aspect!}
\end{minipage}
\end{frame}
\begin{frame}
\frametitle{Issues we're trying to solve}
\begin{itemize}
\item {Technical issues}
\begin{itemize}
\item Centralised identity management
\item Loads of UUIDs to manually process
\item Distribution list management is difficult across communities
\end{itemize}
\end{itemize}
\begin{center}
\includegraphics[width=1.0\linewidth]{pictures/org-circl.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Issues we're trying to solve with Cerebrate}
\begin{itemize}
\item Constituencies of organisations
\begin{itemize}
\item Geographic \& sectorial
\item But also technical: CIDR blocks \& AS Numbers
\end{itemize}
\vspace{0.5em}
\item Cryptographic key lookup for information signing
\begin{itemize}
\item MISP's protected event feature
\item Future: Protected Sharing groups?
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Issues we're trying to solve with Cerebrate}
\begin{itemize}
\item Customisable data model adaptable to each community
\begin{itemize}
\item Communities with an existing registry want to build on their data-set, rather than rebuild
\item Different types of concerns for different communtiies
\item Based on the sheer amount of different types of communities, \textbf{it's a must}
\end{itemize}
\item Sharing group management
\item Synchronisation and lookup system
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Our attempt at solving them: Cerebrate}
\begin{itemize}
\item Open source community management and orchestration tool
\end{itemize}
\begin{center}
\includegraphics[width=0.15\linewidth]{pictures/logo.png}
\linebreak
\includegraphics[width=0.99\linewidth]{pictures/cerebrate-github.png}
\end{center}
\begin{itemize}
\item Central tool for the \textbf{Melicertes 2 project} (Co-funded by the EU as a CEF project - SMART 2018/1024)
\item Rich \textbf{Contact Database}
\item Tightly coupled management system and companion for MISP (and other tools)
\begin{itemize}
\item Get in touch with us if you need help building integrations!
\end{itemize}
\item Planned as the primary MISP \textbf{fleet management} tool
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Goals and design}
\begin{itemize}
\item Goals: Simplicity, lightweight and open-source
\item Technologies used: PHP, cakephp4, BS5, ...
\begin{itemize}
\item (almost) the same as in MISP for easier \textbf{maintainability} and \textbf{code re-use}
\end{itemize}
\item IAM centric design
\begin{itemize}
\item Tightly integrated with Keycloak
\end{itemize}
\item Core functionalities: Auditing, API
\begin{itemize}
\item Strong auditing/traceability capabilities are a requirement for trust
\item Automation is key
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Goals and design}
\begin{itemize}
\item Built with tool integration in mind, acting as a contact database
\end{itemize}
\begin{center}
\includegraphics[width=0.85\linewidth]{pictures/misp-cerebrate.png}\\
MISP is able to ingest Organisations \& Sharing Groups in Cerebrate
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's place in a typical CSIRT software stack}
\begin{center}
\includegraphics[width=0.42\linewidth]{pictures/software-stack.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database}
\begin{itemize}
\item Contact database for the CSIRT network
\begin{itemize}
\item Common contact fields such as \texttt{UUID}, \texttt{name}, \texttt{contact email address}, \texttt{nationality}, \texttt{URL}, ...
\end{itemize}
\end{itemize}
\begin{center}
\includegraphics[width=0.8\linewidth]{pictures/contact-database-1.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database}
\begin{center}
\includegraphics[width=0.99\linewidth]{pictures/contact-database-2.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database: Meta-fields}
\begin{itemize}
\item Flexible system to store additional information: \texttt{meta-fields} (KV-store)
\item These \texttt{meta-fields} are part of a larger structure called \texttt{meta-templates}
\item Support of multiple templates used by various entities out there
\begin{itemize}
\item FIRST Directory
\item ENISA CSIRT inventory
\item CSIRT Constituency (CIDR blocks, AS Numbers, ...)
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database: Meta-fields}
\begin{center}
\includegraphics[width=0.99\linewidth]{pictures/meta-fields-first.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database: Meta-fields}
\begin{center}
\includegraphics[width=0.99\linewidth]{pictures/meta-templates-first.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database: Meta-fields}
\begin{center}
\includegraphics[width=0.99\linewidth]{pictures/meta-template-repo.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database: Sharing group management}
\begin{itemize}
\item Easy way to \textbf{create} and \textbf{share} distribution lists
\item Allow sharing groups to be \textbf{reusable}
\item Circumvent limitations of traditional Threat Intelligence Sharing Platform
\begin{itemize}
\item The exchange of sharing groups on creation / modification rather than on data exchange
\item Avoids the duplication of similar sharing groups
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database: Sharing group management}
\begin{center}
\includegraphics[width=0.9\linewidth]{pictures/sharinggroup.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database: Identity and Signing}
\begin{itemize}
\item Cerebrate can act as a trusted contact database containing cryptographic keys (PGP, S/MIME)
\item Which can be used by other applications to sign and validate information
\begin{itemize}
\item See MISP's protected Event feature
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database: Identity and Signing}
\begin{center}
\includegraphics[width=0.95\linewidth]{pictures/pgp.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cerebrate's contact database: Open Directory}
\begin{itemize}
\item Cerebrate can be configured to act as an \textbf{open} directory of contact information
\item Other tools (including other Cerebrate nodes) can use this directory
\item Allows for information and information source validation
\end{itemize}
\begin{center}
\includegraphics[width=0.8\linewidth]{pictures/open-directory.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Data sharing}
Basically the same strategy as the one used in MISP:
\begin{itemize}
\item \textbf{Connect} with other Cerebrate nodes
\item \textbf{Diagnose} connectivity issues
\item Remotely \textbf{browse} data of the other node
\item \textbf{Fetch and save} organisation, individual, sharing-group data
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Data sharing - Connected Cerebrate instances}
\begin{center}
\includegraphics[width=0.95\linewidth]{pictures/brood-index.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Data sharing - Browsing a remote Cerebrate instance}
\begin{center}
\includegraphics[width=0.95\linewidth]{pictures/brood-view.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Managing local tools}
Why would Cerebrate have integration with other tools?
\begin{itemize}
\item To support information sharing, being able to validate information sources is crucial
\item Traditional information sharing software stacks have to have their own organisation database
\item Why re-invent the wheel everytime?
\end{itemize}
\begin{center}
\includegraphics[width=0.2\linewidth]{pictures/software-stack.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Managing local tools}
There will inevitably be integration between local tools and Cerebrate. Why not go a step further?
\begin{itemize}
\item Cerebrate exposes a modular system to {\bf manage these local tools}
\item Based on a configuration file, user interfaces can be created to visualise data and instruct local tools to perform operations
\end{itemize}
\begin{center}
\includegraphics[width=1.0\linewidth]{pictures/github-local-tool.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Local tools: MISP Connector capabilities}
\begin{itemize}
\item \textbf{Configure} a MISP instances via server settings
\item \textbf{Fetch} Organisations \& Sharing Groups
\item \textbf{Diagnose} other connected MISP servers
\item \textbf{Manage} users, ...
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Local tool: MISP Connector capabilities}
\begin{center}
\includegraphics[width=0.97\linewidth]{pictures/localtool-view.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Local tool: MISP Connector capabilities}
Why do one when we can do many?
\begin{itemize}
\item Cerebrate can connect to multiple tools via its associated connector
\item Allowing local tool fleet management
\begin{itemize}
\item MISP fleet management!
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Local tool: MISP Fleet management}
\begin{center}
\includegraphics[width=0.97\linewidth]{pictures/localtools-index.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Local tool interconnection via Cerebrate}
\begin{itemize}
\item Cerebrate's main goal is to \textbf{ease community management}
\item Select which local tools are meant to be exposed to the community for requests
\item Open dialogues to community members to request tool-to-tool interconnections
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Local tool interconnection via Cerebrate}
Cerebrate can leverage its access to local tool to reach out to tools from other Cerebrate nodes
\begin{center}
\includegraphics[width=0.85\linewidth]{pictures/tools-made-available.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{MISP interconnection via Cerebrate}
\begin{center}
\includegraphics[width=0.98\linewidth]{pictures/connection_request.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{What else does Cerebrate have?}
\begin{itemize}
\item Mailing list management
\item ACL system
\item Inbox system
\begin{itemize}
\item Inter-connection requests, enrolment requests
\end{itemize}
\item Tagging
\item Update system
\item Audit logs
\item Open API
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{What else does Cerebrate have?}
Cerebrate has \colorbox{black!90}{\color{white}\texttt{dark theme}} and \textbf{{\color{blue!70}m}{\color{red!70}o}{\color{purple!90}r}{\color{orange!70}e}}!
\linebreak
\begin{center}
\includegraphics[width=0.42\linewidth]{pictures/theme-1.png}
\includegraphics[width=0.42\linewidth]{pictures/theme-2.png}
\end{center}
\begin{center}
\includegraphics[width=0.42\linewidth]{pictures/theme-3.png}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Current roadmap}
\begin{itemize}
\item Data signing / validation
\begin{itemize}
\item Community centric PKI
\item Enable data validation services for tools such as MISP
\end{itemize}
\item Integration with other tools
\begin{itemize}
\item Ticketing systems
\item Tighter Mailing list integration (Mailman)
\item Messaging App (Mattermost)
\end{itemize}
\end{itemize}
\end{frame}

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Camada_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 432.9 56.7" style="enable-background:new 0 0 432.9 56.7;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FF8000;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FF8000;}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.st3{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:0.2191;stroke-miterlimit:10;}
</style>
<g>
<path class="st0" d="M356.1,19.4c1.7-11,10.4-19,21.5-19c10.4,0,16.1,7.9,14.5,18c-1.6,10.3-10.2,19-18.3,25.5l0.1,0.1
c2.5-0.1,5.1-0.5,7.6-0.5h6.1l-2,12.7h-37.8l17.5-19.3c4.9-5.5,11.5-12.4,12.6-19.4c0.4-2.1-0.1-4.9-2.6-4.9
c-3.2,0-4.3,4.4-4.7,6.7l-0.3,2h-14.3L356.1,19.4z"/>
<path class="st0" d="M396.7,19.4c1.7-11,10.4-19,21.5-19c10.4,0,16.1,7.9,14.5,18c-1.6,10.3-10.2,19-18.3,25.5l0.1,0.1
c2.5-0.1,5.1-0.5,7.6-0.5h6.1l-2,12.7h-37.8l17.5-19.3c4.9-5.5,11.5-12.4,12.6-19.4c0.4-2.1-0.1-4.9-2.6-4.9
c-3.2,0-4.3,4.4-4.7,6.7l-0.3,2h-14.3L396.7,19.4z"/>
<g>
<path class="st0" d="M37.8,39.9h-8.4L24,56.7h-7.2l5.3-16.8h-7L9.7,56.7H2.2l5.4-16.8H0l1.5-8.6h9l2.4-7.2H5.1l1.5-8.6h9L20.6,0
h7.2l-5,15.5h7.1l5-15.5h7.5l-5.1,15.5h6.9l-1.5,8.6h-8.2l-2.2,7.2h7L37.8,39.9z M20.1,24.1l-2.2,7.2H25l2.2-7.2H20.1z"/>
</g>
<g>
<g>
<polygon class="st1" points="104.8,0.5 103,11.6 87.6,11.6 89.4,0.5 "/>
<polygon class="st2" points="86.5,22.2 81.2,55.6 96.2,55.6 101.4,22.2 "/>
<path class="st2" d="M154.7,22.2c0.2,1.9,0.7,3.4,1.6,4.9c1.5,2.6,3.7,4.8,6.3,7c0.8,0.7,1.6,1.3,2.1,2.1
c0.6,0.8,0.9,1.8,0.7,3.1c-0.4,2.4-2.9,3.7-5,3.7c-3.8,0-6.9-3.1-8.5-6.1l-2.7,17.2c3.3,1.5,7,2.3,10.8,2.3
c10.4,0,18.8-8.2,20.5-18.4c0.7-4.2,0.2-7.1-1.2-9.6c-1.2-2.3-3.1-4.1-5.6-6.2H154.7z"/>
<polygon class="st2" points="186.8,55.6 201.8,55.6 207,22.2 192.2,22.2 "/>
<path class="st2" d="M174.4,0.5c-9.3,0-14.9,5.2-17.7,11.1h60.7l1.8-11.1C219.1,0.5,177.8,0.5,174.4,0.5z"/>
<path class="st2" d="M147.6,11.7C146.2,3,138.5,0.5,128,0.5h-14.4l-1.8,11.1L147.6,11.7z"/>
<path class="st2" d="M146.7,22.2h-15.1h-6.4h-15L105,55.6h14.9l2.4-14.8c0.4-2.7,0.7-5.4,1.1-8.1l0.2-0.1l4.6,23h16.1l-7.4-23
C141.9,30.7,145.1,26.8,146.7,22.2z"/>
<g>
<polygon class="st2" points="79.7,11.6 81.6,0.5 55.2,0.5 47,55.6 60.9,55.6 62.1,55.6 65.4,34.5 75.5,34.5 77.3,22.2
67.4,22.2 69,11.6 "/>
</g>
</g>
<g>
<path class="st3" d="M251.9,11.5c-0.9-0.6-3-1.3-5.4-1.3c-3.8,0-6.9,2-9.3,5c-4.1,5.2-6.7,14.2-6.7,20.9c0,6.4,2.3,10.5,7.7,10.5
c2.8,0,5.5-0.9,6.9-1.6l1.1,8.4c-2.6,1.8-7,3.1-11.9,3.1c-11.6,0-16.9-8.7-16.9-19.6c0-10.3,4.3-22.6,11.9-29.5
c4.2-3.9,9.7-6.3,15.9-6.3c4.8,0,8.9,1.3,11,3.1L251.9,11.5z"/>
<path class="st3" d="M289.5,46.8c-4.4,5.9-10.6,9.7-19.1,9.7c-11.4,0-16.8-7.7-16.8-18.9c0-8.8,3.3-19.8,8.4-26.7
c4.5-5.9,10.8-9.8,19-9.8c11.8,0,16.6,7.9,16.6,18.5C297.7,28.3,294.6,39.8,289.5,46.8z M280,9.5c-3.9,0-6.6,3.4-8.8,8.1
c-2.5,5.2-5.2,15.8-5.2,21.8c0,4.5,1.4,7.7,5.6,7.7c4,0,6.7-3.4,8.8-8.2c2.4-5.5,4.9-15.9,4.9-21.7C285.4,12.8,284.1,9.5,280,9.5
z"/>
<path class="st3" d="M339.9,55.7h-9.3l-11.7-30.2c-1.1-2.8-1.8-5.6-1.8-5.6h-0.2c0,0-0.3,2.9-0.9,5.9l-6.2,29.9h-10.6l11.1-53.8
h10.8l10.9,27.5c1.1,2.7,1.8,5.2,1.8,5.2h0.2c0,0,0.2-2.6,0.9-5.4l5.6-27.4H351L339.9,55.7z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1013 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

22
firstcti2022/slide.tex Normal file
View File

@ -0,0 +1,22 @@
\documentclass{beamer}
\usetheme[numbering=progressbar]{focus}
%\definecolor{main}{RGB}{83, 31, 117}
%\definecolor{textcolor}{RGB}{0, 0, 0}
%\definecolor{background}{RGB}{215, 212, 227}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{listings}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes,arrows}
\author{Andras Iklody}
\title{Community Management and Tool Orchestration the Open-source Way via Cerebrate}
\institute{Cerebrate Project}
\titlegraphic{\includegraphics[scale=0.15]{pictures/logo.png}\linebreak\includegraphics[scale=0.16]{pictures/firstcti22.png}}
\date{FIRST CTI 2022 - Berlin}
\begin{document}
\include{content}
\end{document}