From 6f2ee86e3ac0bf0ea609f96782bb25ea18d6082d Mon Sep 17 00:00:00 2001 From: augustin64 Date: Tue, 9 Jul 2024 11:54:37 +0200 Subject: [PATCH] Add clflush paragraph --- .gitignore | 1 + Makefile | 2 +- figs/cachehierarchy.pdf | Bin 14489 -> 14078 bytes main.tex | 79 ++++++++++++++++++++++++++++------------ refs.bib | 20 ++++++++++ 5 files changed, 78 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index 446e1dd..aad1936 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,6 @@ *.log *.run.xml *.toc +*.out *.pdf diff --git a/Makefile b/Makefile index 5e8dcb9..4572376 100644 --- a/Makefile +++ b/Makefile @@ -4,4 +4,4 @@ main.pdf: main.tex refs.bib pdflatex -interaction=nonstop -halt-on-error main.tex clean: - rm *.bbl *.bcf *.blg *.log *.pdf *.run.xml *.toc *.aux *.out -f + rm *.bbl *.bcf *.blg *.log *.run.xml *.toc *.aux *.out -f diff --git a/figs/cachehierarchy.pdf b/figs/cachehierarchy.pdf index 6a68b44d9af86a92d2d01eb8bf150e2bb217bde8..5dbea21ac731c19549ed49027e90e75dd3439da5 100644 GIT binary patch delta 11184 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

G#FT8@5tFnLs-X_S}Y zbsV?JH9xB0>FJ|S(Q~djD6w8>aDia;HO1f|{yZ!qVxqj$B{?=UxOlu`P3bFJbrDRf zJ4nyuMSCe$zQ>f&fBbbV`}FA2OliNXK$R#ACby2d}@ z)iEFxH=_4I{aA_)&r4O|XBLRE9^$&*!vZl}*sH78M#)r?ScsSDXW=I>^X=&2yxT(E z+9Z1&qPMeJN7@q%L)lwU9r ziR@!LJGv((%Fn@Y+o~8k5vjz_5muL%Bd*)Q<9m8l5Vp))ddV)I_Ip<{yxL>>(kjb& z|Ej=@U!MEYW4d-CUd}t~dSy?N*;^&6;Scg_Px3F{oyYXIiFhWTEYRsy0#bId%pwUPT)zlLd1vS zUVrcTH!Up{&c9d~;?1bo{}-4f{>gOl-s=w&?f3dFoLL}PZ^upJ+h#s(O)BYu65!y3dRVvmyf1u-v|>}G1efMgIN9_ z_mj8D|{K-cySXM63-<6DMYDaI;;P_5de@aDIjXn@fGE_3;!soM6HP|$vA1IJ|u_2VUBERG0$a+K|{z_)Ym9ZCz~_Nz#2r&`!7%hx}&9Hi%6MFb_sB+~f4bj=Rh(`a!B= z-?3cv^cAIg%O#y}vnj*2MOy~*DjnCcbHTRWZY6YeOidj7#dczB?qOxyKw-RNpvlRo ztYlG9Cl=CX1rGcI0(Cg`fb)XYa!(h83(kl*9fF&4VP>=pnsHN`AQbJDiJ@AJbO-uq zqFBE-NVos|%3ee^$3U)3NyGUubB;r0l5lYf8!&k{H+`{2K!J)!J4%6U9JM8CctyMc zj-8Dh4V%MS%ss%uJx zsE)nMH9lA*K17nA3NZx667CV0q6;)(5~Huyr{o$pSC2_*i8$o7CDyk)=5|JMX@`q6 zTzq87uYs*XiYT^!w;@_0WVKTsvHaekYzj+xSdTTDK6~INqHfOK77*uCe!Wa7@-%}k|=hGMKsj3 z)!_M97abqiWuOVQl%&rw?G~*MwFYLF-}$GI$;hr?{pN`e#E7tEUBRi?fvz#B*fJWRIGE}i?a1y~qTT3#`6aEyk0sIF&o@tY zv>M6{kPXz+qayR~HiYFUYJaMt6l}ut3fS}YFFt5z%RKCs;-Z%a*V+y%`=pQSafqUf zpWkUEdL}d>6;hzZ#@2o3p_txj^n}<&q7Q_90cUcQrA5B?z zuHX~bHImbeDFIJMIU}nS(zM~f>yj4Y#|dX@?1dM(O6L4wWOYYzblb=XiK34 zJ@PjEB);~tWL)Exd^jbKAk-$N6pxbQ&Ym)Jl(Xb)mZA7|QzZ#~>3r9R{prc5j6;qt zoo4?y)ys3Ne81C4q#XVvOI;fv-&pYC>qpic0keTQ;>TE>A)G8A_J25moPWIkfw8f${uAQ@ zgZ>j^<>2^_I5yUQ3IK9({`rak0wMpd3dqF;{AWTIAPD$RF@G@jf0D2O+1USC2n&#t z1N09uEG#Ubzli^v_b+}Rkc9=z&iQ}A|HfGVJ@CIVcF=z$1haAdhZr#Xe-eW^{;v2> fqQ72)v!kJfwTWYV7dtyLCp#xHHMOX`81jDs@Ytzo diff --git a/main.tex b/main.tex index 6c62825..eca4264 100644 --- a/main.tex +++ b/main.tex @@ -1,15 +1,15 @@ \documentclass[10pt]{article} % import des packages nécessaires +\usepackage[margin=1.2in]{geometry} +\usepackage[french]{babel} \usepackage[T1]{fontenc} -\usepackage{xcolor} -\usepackage[french]{babel} -\usepackage{syntax} -\usepackage{listings} -\usepackage{amsmath} -\usepackage[french]{babel} +\usepackage{csquotes} \usepackage{hyperref} \usepackage{graphicx} +\usepackage{amsmath} +\usepackage{xcolor} +\usepackage{syntax} \hypersetup{colorlinks=false} \graphicspath{ {./figs/} } @@ -34,7 +34,7 @@ RENNES} \newpage -\section{Abstract} +\section{\TODO{Abstract}} \TODO{Réécrire parce qu'il fallait juste que je démarre mais ça ne ressemble à rien} @@ -53,24 +53,31 @@ sur des systèmes à plusieurs sockets était significativement différent. \subsection{Hiérarchie de cache} La mémoire DRAM d'un ordinateur est lente comparée à la fréquence du CPU. Le CPU dispose donc de caches, -basés sur une mémoire SRAM, plus petite mais plus rapide. La politique de fonctionnement du cache -cherche à minimiser le temps d'exécution qui est bloqué par les accès à la mémoire. Une politique optimale -serait donc de charger en priorité les données qui vont être utilisées dans un futur proche et d'évicter -les données qui seront utilisées dans plus longtemps ou qui ne sont plus utiles. -Comme on ne peut pas déterminer cela aisément, une heuristique de type LRU (Least Recently Used) est -généralement mise en place pour déterminer les données à évicter. +basés sur une mémoire SRAM, plus petite mais plus rapide. -\begin{center} - \includegraphics{cachehierarchy} -\end{center} +La politique de fonctionnement du cache cherche à minimiser le nombre d'accès à la mémoire DRAM. +Une politique optimale serait donc de charger en priorité les données qui vont être utilisées dans +un futur proche et d'évicter les données qui seront utilisées dans plus longtemps ou qui ne sont +plus utiles. Comme on ne peut pas aissément déterminer quels seront les prochains accès mémoire, +une heuristique de type LRU (Least Recently Used) est généralement mise en place pour déterminer +les données à évicter. + +\begin{figure}[h] + \centering + \includegraphics[width=0.3\textwidth]{cachehierarchy} + \caption{Différents niveaux de cache} +\end{figure} Les processeurs que nous étudions disposent de 3 niveaux de cache : L1, L2, L3. À l'instar du L1 et L2, -le cache L3 est partagé et inclusif\footnote{Cela dépend de l'architecture considérée : à partir de SkyLake, le L3 n'est plus inclusif} : le L3 est le même pour tous les coeurs, +le cache L3 est partagé et inclusif +\footnote{Cela dépend de l'architecture considérée : à partir de SkyLake, le L3 n'est plus inclusif}: +le L3 est le même pour tous les coeurs, alors que chaque coeur dispose de son L1 et son L2 ; toutes les données contenues dans au moins un L1 ou un L2 sont aussi dans le L3 -Si le L3 est partagé, il n'est cependant pas composé d'un unique \TODO{espace mémoire} dans le CPU mais est séparé en différentes slices : des tranches de mémoire accolées chacune à un coeur~ -\footnote{\TODO{c'est plus compliqué sur les nouveaux proc}}. +Si le L3 est partagé, il n'est cependant pas situé en un seul endroit dans le CPU +mais est séparé en différentes slices : des tranches de mémoire accolées chacune à un coeur. +\footnote{\TODO{c'est plus compliqué sur les nouveaux proc}} \begin{figure}[h] \centering @@ -78,16 +85,42 @@ Si le L3 est partagé, il n'est cependant pas composé d'un unique \TODO{espace \caption{Broadwell Deca-Core die shot by Intel - annotated by Wikichip \cite{broadwelldieshot}} \end{figure} +Lorsqu'un coeur accède à une donnée qui n'est pas encore dans son cache, c'est toute la ligne de mémoire: +les \TODO{x bits} environnants qui sont chargés dans son L1 ou L2. Comme le L3 est inclusif, +la ligne y est chargée également. Une fonction de hachage non documentée prenant en entrée +l'adresse mémoire de la donnée permet de choisir dans quelle slice du L3 celle-ci sera stockée. +Le travail de Clémentine Maurice et al.\cite{slice-reverse} a permis de \TODO{dévoiler} cette fonction. + +\subsection{\TODO{cache coherency protocols}} + +\subsection{Attaques par canaux auxiliaires} + \subsubsection{L'instruction \texttt{clflush}} -\subsection{Attaques par canaux auxiliaires: Flush+Flush} +D'après le manuel Intel\cite{intel-man}: +\begin{displayquote} + (flush cache line) instruction writes and invalidates the cache line associated + with a specified linear address. The invalidation is for all levels of the processor’s cache + hierarchy, and it is broadcast throughout the cache coherency domain. +\end{displayquote} -\section{Systèmes multi-socket} +Lorsque l'instruction \texttt{clflush} est exécutée, l'adresse et la ligne de cache associée sont +évincés de tous les caches L1, L2 et L3 où elles se trouvaient possiblement. +Si des modifications avaient eu lieu, les modifications sont réécrites dans la mémoire DRAM. + +L'instruction \texttt{clflush} est accessible à tout utilisateur non privilégié sur +les adresses mémoires auxquelles il a accès. + +\subsubsection{\TODO{Flush+Flush}} + + + +\section{\TODO{Systèmes multi-socket}} \TODO{trouver un titre approprié} -\subsection{Conduite des expériences} +\subsection{\TODO{Conduite des expériences}} -\subsection{Analyse des résultats} +\subsection{\TODO{Analyse des résultats}} \bibliographystyle{plain} \bibliography{refs} diff --git a/refs.bib b/refs.bib index 08865b1..dfc88ea 100644 --- a/refs.bib +++ b/refs.bib @@ -26,3 +26,23 @@ title={Broadwell - Microarchitectures - Intel - WikiChip (2024)}, url={https://en.wikichip.org/wiki/intel/microarchitectures/broadwell_(client)#Deca-core_Broadwell}, } + + +@inproceedings{slice-reverse, + author = {Maurice, Cl\'{e}mentine and Scouarnec, Nicolas and Neumann, Christoph and Heen, Olivier and Francillon, Aur\'{e}lien}, + title = {Reverse Engineering Intel Last-Level Cache Complex Addressing Using Performance Counters}, + year = {2015}, + isbn = {9783319263618}, + publisher = {Springer-Verlag}, + address = {Berlin, Heidelberg}, + url = {https://doi.org/10.1007/978-3-319-26362-5_3}, + doi = {10.1007/978-3-319-26362-5_3}, + abstract = {Cache attacks, which exploit differences in timing to perform covert or side channels, are now well understood. Recent works leverage the last level cache to perform cache attacks across cores. This cache is split in slices, with one slice per core. While predicting the slices used by an address is simple in older processors, recent processors are using an undocumented technique called complex addressing. This renders some attacks more difficult and makes other attacks impossible, because of the loss of precision in the prediction of cache collisions.In this paper, we build an automatic and generic method for reverse engineering Intel's last-level cache complex addressing, consequently rendering the class of cache attacks highly practical. Our method relies on CPU hardware performance counters to determine the cache slice an address is mapped to. We show that our method gives a more precise description of the complex addressing function than previous work. We validated our method by reversing the complex addressing functions on a diverse set of Intel processors. This set encompasses Sandy Bridge, Ivy Bridge and Haswell micro-architectures, with different number of cores, for mobile and server ranges of processors. We show the correctness of our function by building a covert channel. Finally, we discuss how other attacks benefit from knowing the complex addressing of a cache, such as sandboxed rowhammer.}, + booktitle = {Proceedings of the 18th International Symposium on Research in Attacks, Intrusions, and Defenses - Volume 9404}, + pages = {48–65}, + numpages = {18}, + keywords = {Side channel, Reverse engineering, Last level cache, Cross-Core, Covert channel, Complex addressing}, + location = {Kyoto, Japan}, + series = {RAID 2015} +} +