\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}
