% Auteur : Romain TESTUD \begin{frame}{Les attaques} \begin{itemize} \item De nombreux cas d'attaques sur des CEX. \item Des sommes importantes sont concernées. \end{itemize} \begin{figure} \centering \includegraphics[scale = 0.45]{centralisation/img_attaques/rekt.png} \label{fig:rekt} \caption{Classement des attaques par Rekt.news} \end{figure} \end{frame} \begin{frame}{Les attaques} \begin{block}{Différentes cibles d'attaques} \begin{itemize} \item Plate-formes. \item Bridges. \end{itemize} \end{block} \pause \begin{block}{Surface d'attaque} \begin{itemize} \item Ingénierie sociale. \item Erreurs d'implémentations. \item Fonctions dépréciées. \end{itemize} \end{block} \end{frame} \begin{frame}{Des raisons }%(???) \begin{block}{Marché évolutif} \begin{itemize} \item Évolution rapide. \item De nombreuses innovations. \item Manque de sensibilisation. \end{itemize} \end{block} \end{frame} \begin{frame}{Des Solutions ?} \begin{block}{Contre-mesures} \begin{itemize} \item Établir des standards. \item Réaliser des audits. \end{itemize} \end{block} \pause \begin{block}{Vers le décentralisé} Suppression du tiers de confiance. \end{block} \end{frame} %\begin{frame}{Wormhole} % Attaque sur le bridge entre Solana et Ethereum : % \begin{itemize} % \item Quelques heures après un correctif non déployé. % \item Exploitation d'un défaut d'implémentation. % \item La transaction de l'attaquant est signée par les gardiens. % % \end{itemize} %\end{frame} % % %\begin{frame}{Wormhole} % \begin{block}{Fonctionnement du dépôt de jeton} % \begin{itemize} % \item Appel de plusieurs fonctions de vérification lors du dépôt. % \begin{itemize} % \item $complete\_wrapped$ $\Rightarrow$ % $transfer\_message$ % $\Rightarrow$ $post\_vaa$ % $\Rightarrow$ $verify\_signature$ % \end{itemize} % %\item Fonction complete\_wrapped appellée lors du mint de Wormhole ETH sur Solana % %\item transfer\_message en paramètre : spécifie le token et combien doit être mint, signé par les gardiens % %\item Contrat sur Solana, créé en utilisant la fonction post\_vaa qui vérifie la signature des gardiens % %\item Appel a verify\_signature qui utilise un programme de Solana pour verifier les signatures % \end{itemize} % Erreur d'implémentation dans $verify\_signature$. % \end{block} %\end{frame} % %\begin{frame}{Wormhole} % \begin{block}{$verify\_signature$ appelle un programme de vérification} % \begin{itemize} % \item $Sysvar: Instructions$ : Alias du programme. % \item Vérification des signatures des gardiens. % \item Il est possible d'utiliser d'une adresse différente. % \end{itemize} % \end{block} % \begin{figure} % \centering % \includegraphics[scale = 0.3]{img/wormhole_img1.png} % \end{figure} %\end{frame} % %\begin{frame}{Wormhole} % \begin{itemize} % \item Adresse tierce entrée par l'attaquant. % \item Validation de la transaction sans signature. % \end{itemize} % \begin{figure} % \centering % \includegraphics[scale = 0.7]{img/wormhole_img2.png} % \end{figure} %\end{frame} % % % %\begin{frame}{Nomad} % \begin{itemize} % \item Protocole d'échange entre blockchains. % \item Utilisation de smart contracts. % \item Erreur d'implémentation dans le contrat Réplica. % \end{itemize} % $\Rightarrow$ Possibilité de passer la vérification des messages. %\end{frame} % %\begin{frame}{Nomad} % \begin{block}{Fonctionnement de Nomad} % \begin{itemize} % \item Les messages ont des racines. % \item Vérification de la racine lors de l'émission du message. % \item Appel de la fonction process pour vérifier et envoyer le message. % \end{itemize} % \end{block} % \pause % \begin{block}{Vérification} % \begin{itemize} % \item $acceptableRoot$ : vérification de la validité de la racine du contrat. % \end{itemize} % \end{block} %\end{frame} % %\begin{frame}{Nomad} % \begin{block}{Défaut d'implémentation} % \begin{itemize} % \item La racine $0x00$ est valide. % \item La racine par défaut des messages est $0x0$ % \end{itemize} % $\Rightarrow$ Un message avec une racine nulle est donc par défaut valide. % \end{block} %\end{frame} %