% Auteur : Romain TESTUD \begin{frame}{Wormhole - Mise en contexte} \centering \includegraphics[scale = 0.69]{centralisation/img/wormhole/worm_fonc.png} \end{frame} \begin{frame}{Wormhole - Mise en contexte} \begin{itemize} \item Transaction standard. \end{itemize} \centering \includegraphics[scale = 0.45]{centralisation/img/wormhole/sysvar_trans_normal.png} \end{frame} %\begin{frame}{Le protocole Wormhole} % \begin{block}{Mise en contexte} % \begin{itemize} % \item Solution d'échanges inter-blockchains. % \item utilisation de bridges. % \end{itemize} % \end{block} % \begin{block}{Les étapes d'un transfert} % \begin{itemize} % \item Formulation de la transaction. % \item Récupération et vérification des signatures des gardiens. % \item Envoi de la transaction. % \end{itemize} % \end{block} % \begin{figure} % \centering % \includegraphics[scale = 0.3]{centralisation/img/fonctions.png} % \caption{Fonctions appelées lors d'un transfert} % \end{figure} %\end{frame} \begin{frame}{Wormhole - L'attaque} \begin{block}{Attaque sur le bridge entre Solana et Ethereum} \begin{itemize} \item Le 2 Février 2022. \item 120 000 ETH (300M €) de perte. \item Correction de bug publié mais pas encore en production. \end{itemize} \end{block} \begin{block}{L'attaquant a contourné\dots} \begin{itemize} \item la signature des gardiens. \item la vérification des signatures. \end{itemize} \end{block} \end{frame} \begin{frame}{Wormhole - L'attaque} \centering \includegraphics[scale=0.69]{centralisation/img/wormhole/worm_hack.png} \end{frame} %\begin{frame}{L'attaque} % \begin{block}{Passer la signature des gardiens?} % Utilisation de signatures d'une transaction antérieure. % \end{block} % \begin{block}{Passer la vérification ?} % \begin{itemize} % \item Exploitation d'une erreur d'implémentation dans \textit{verify\_signature} % \item Appel à un programme externe. % \end{itemize} % \begin{figure} % \centering % \includegraphics[scale = 0.3]{centralisation/img/sysvar_atk.png} % \caption{Appel à la fonction de vérification} % \end{figure} % \end{block} %\end{frame} \begin{frame}{Wormhole - L'attaque} \begin{itemize} \item Transaction de l'attaquant. \end{itemize} \centering \includegraphics[scale = 0.45]{centralisation/img/wormhole/sysvar_transaction_hack.png} \end{frame} \begin{frame}{Wormhole - L'attaque} \begin{block}{Transaction validée et envoyée} \begin{itemize} \item 120 000 ETH transmis. \item 0 wETH déposés. \end{itemize} \end{block} \begin{block}{Correctif} Vérification des appels externes.\\ \centering \includegraphics[scale = 0.5]{centralisation/img/wormhole/worm_fixed.png} \end{block} \end{frame} %\begin{frame}{Correctif} % \begin{itemize} % \item Vérification de l'appel par \textit{sysvar\_instruction} % \end{itemize} % \begin{figure} % \centering % \includegraphics[scale = 0.3]{centralisation/img/wormhole/worm_fixed.png} % \caption{Appel à la fonction de vérification} % \end{figure} %\end{frame}