From af99db51d7f36a61b8c3e22d74c1e198ad0b1cc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Sat, 26 May 2018 19:08:08 +0200 Subject: Add presentation from cryptofest 2018 --- 2018-cryptofest/makefile | 10 + 2018-cryptofest/package.svg | 485 ++++++++++++++++++++++++++++++++++++++++ 2018-cryptofest/pres.pdf | Bin 0 -> 99984 bytes 2018-cryptofest/pres.tex | 182 +++++++++++++++ 2018-cryptofest/turris-logo.svg | 46 ++++ README.md | 12 +- 6 files changed, 731 insertions(+), 4 deletions(-) create mode 100644 2018-cryptofest/makefile create mode 100644 2018-cryptofest/package.svg create mode 100644 2018-cryptofest/pres.pdf create mode 100644 2018-cryptofest/pres.tex create mode 100644 2018-cryptofest/turris-logo.svg diff --git a/2018-cryptofest/makefile b/2018-cryptofest/makefile new file mode 100644 index 0000000..9ab8f60 --- /dev/null +++ b/2018-cryptofest/makefile @@ -0,0 +1,10 @@ +FILE=pres + +$(FILE).pdf: $(FILE).tex $(patsubst %.svg,%.pdf,$(wildcard *.svg)) + pdflatex -shell-escape $< + +%.pdf: %.svg + inkscape -D -z --file=$< --export-pdf=$@ --export-latex + +clean: + ls | grep -v -E "($(FILE).tex|makefile|scheme|svg|png|eps)$$" | xargs rm -rf diff --git a/2018-cryptofest/package.svg b/2018-cryptofest/package.svg new file mode 100644 index 0000000..47beed7 --- /dev/null +++ b/2018-cryptofest/package.svg @@ -0,0 +1,485 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Package + + + Jakub Steiner + + + http://jimmac.musichall.cz/ + + + package + archive + tarball + tar + bzip + gzip + zip + arj + tar + jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2018-cryptofest/pres.pdf b/2018-cryptofest/pres.pdf new file mode 100644 index 0000000..0b08ec3 Binary files /dev/null and b/2018-cryptofest/pres.pdf differ diff --git a/2018-cryptofest/pres.tex b/2018-cryptofest/pres.tex new file mode 100644 index 0000000..8a9b8f6 --- /dev/null +++ b/2018-cryptofest/pres.tex @@ -0,0 +1,182 @@ +\documentclass[aspectratio=169]{beamer} +\usetheme{metropolis} +\usepackage{lmodern} +\usepackage[czech]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{graphicx} +\usepackage{wrapfig} +\usepackage{color} +\usepackage{mathtools} +\usepackage{hyperref} +\usepackage{epstopdf} +\usepackage{amsmath} +\hypersetup{ + colorlinks, + citecolor=black, + filecolor=black, + linkcolor=black, + urlcolor=black +} +\usepackage{pdflscape} + +\title{Bezpečné doručení distribučních balíčků} +\author{Karel Kočí} +\date{26.5.2018} + +\begin{document} + +\frame{\titlepage} + +\begin{frame} + \def\svgwidth{10cm} + \input{turris-logo.pdf_tex} +\end{frame} + +\begin{frame} + \frametitle{Balíček?} + \def\svgwidth{2cm} + \input{package.pdf_tex} + + \begin{itemize} + \item Meta informace (název, verze, ...) + \item Soubory + \item Hashe pro soubory + \end{itemize} + + Indexovány a uloženy v repositářích + \begin{itemize} + \item Repositář obsahuje index + \item Index obsahuje hashe balíčků a další meta informace + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Krypto terminologie} + \begin{itemize} + \item Hash + \item Asymetrická šifra + \item Kryptografický podpis + \item Certifikační autorita + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Útok \#1: Podvrhnutí repositářů} + \begin{itemize} + \item Vlastní server s upravenými balíčky distribuce + \item Kompromitace připojení k Internetu + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Ochrana \#1: Podpis} + \begin{itemize} + \item Před-distribuovaný veřejný klíč + \item Podepsané balíčky nebo index repositáře (lépe index) + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Útok \#2: Podvrhnutí starší verze repositářů} + \begin{itemize} + \item Kopie repositářů distribuce se známou zranitelností (Heartbleed, + CVE-2016-0777 CVE-2016-0778, ...) + \item Vlastní server se starší kopií repositářů distribuce + \item Kompromitace připojení k Internetu + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{``Ochrana'' \#2: Porovnání verzí} + Balíčky je možné pouze updatovat + \begin{itemize} + \item Downgrade je nutné schválit (ale jen u některých a uživatel...) + \item Downgrade je občas legitimní + \item Co update ze staré verze systému? (pravidelné aktualizace) + \item Co instalace? + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Ochrana \#2: HTTPS a SSL} + \begin{itemize} + \item Server s repositáři se ověřuje validním certifikátem + \item Identita serveru (jeho DNS jméno a pod.) je podepsána + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Útok \#3: Vlastní certifikát} + \begin{itemize} + \item Kopie repositářů distribuce se známou zranitelností + \item Vlastní server se starší kopií repositářů distribuce + \item Vlastní certifikát s totožnou identitou od "důvěryhodné" autority + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Ochrana \#3: Certification pinning} + \begin{itemize} + \item Omezit počet důvěryhodných certifikátů (pár vybraných) + \item Vždy mějte vlastní certifikační autoritu jako fallback! + \item Tak trochu hra v kostky + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Útok \#4: Podvrhnutí DNS} + \begin{itemize} + \item Kopie repositářů distribuce se známou zranitelností + \item Vlastní server se starší kopií repositářů distribuce + \item Kompromitace používaného DNS serveru (např: otrávení) a podvrhnutí + vlastní IP + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Ochrana \#4: DNSSEC} + \begin{itemize} + \item Kontrola správnosti DNS odpovědi pomocí podpisů + \item Odpověď je stejná tak jak ji poskytuje příslušný autoritativní + server + \end{itemize} + + \begin{itemize} + \item Nutné správné nastavení systému nejenom aplikace + \item Nízké uvědomění uživatelů o užitečnosti DNSSEC + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Útok \#5: BGP leak IP} + \begin{itemize} + \item Kopie repositářů distribuce se známou zranitelností + \item Vlastní server se starší kopií repositářů distribuce + \item Zneužití BGP ohlašování a přesměrování + \item Vlastní důvěryhodný certifikát s totožnou identitou (Let 's Encrypt) + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Ochrana \#5: RPKI} + \begin{itemize} + \item Kryptografické ověření přidělení ohlašované IP adresy + \end{itemize} + + \begin{itemize} + \item Nižší rozšířenost + \item Uživatelsky nekontrolovatelné a nevynutitelné + \item Výrazně složitý útok + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Děkuji za pozornost} + Udržujte svoje systémy aktuální! + + Nastavte si DNSSEC! +\end{frame} + + +\end{document} diff --git a/2018-cryptofest/turris-logo.svg b/2018-cryptofest/turris-logo.svg new file mode 100644 index 0000000..9b3dd77 --- /dev/null +++ b/2018-cryptofest/turris-logo.svg @@ -0,0 +1,46 @@ + +image/svg+xml \ No newline at end of file diff --git a/README.md b/README.md index d3bc1e7..5077ede 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,16 @@ My talks ======== -Turris: Od Omnie k MOXu a 4.0 ------------------------------ +Bezpečné doručení distribučních balíčků (2018 Cryptofest) +--------------------------------------------------------- +[pdf](https://git.cynerd.cz/presentations/plain/2018-cryptofest/pres.pdf) + +Turris: Od Omnie k MOXu a 4.0 (2018 Opencamp) +--------------------------------------------- [pdf](https://git.cynerd.cz/presentations/plain/2018-opencampbr/pres.pdf) -Domácí wifi síť s OpenWRT -------------------------- +Domácí wifi síť s OpenWRT (2018 Installfest) +-------------------------------------------- [pdf](https://git.cynerd.cz/presentations/plain/2018-installfest/pres.pdf) Tipy a triky nejenom v shellu nejenom pro programátory (2017 Linuxday) -- cgit v1.2.3