From c0b2c1a005f1777535a7449dc906db9e6c6c6006 Mon Sep 17 00:00:00 2001 From: Ivaylo Ivanov Date: Mon, 8 Jan 2024 17:17:16 +0100 Subject: [PATCH] Add initial presentation --- .gitignore | 5 + SemSEpresentation/TU_Logo.pdf | Bin 0 -> 16954 bytes SemSEpresentation/TU_Logo_white.pdf | Bin 0 -> 7954 bytes SemSEpresentation/TU_Signet.pdf | Bin 0 -> 30657 bytes SemSEpresentation/beamerthemetuw.sty | 305 +++++++++++++++++++++++++++ SemSEpresentation/slides.pdf | Bin 0 -> 94027 bytes SemSEpresentation/slides.tex | 251 ++++++++++++++++++++++ 7 files changed, 561 insertions(+) create mode 100644 SemSEpresentation/TU_Logo.pdf create mode 100644 SemSEpresentation/TU_Logo_white.pdf create mode 100644 SemSEpresentation/TU_Signet.pdf create mode 100644 SemSEpresentation/beamerthemetuw.sty create mode 100644 SemSEpresentation/slides.pdf create mode 100644 SemSEpresentation/slides.tex diff --git a/.gitignore b/.gitignore index 3b7ff08..7b89ca9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,8 @@ *.aux *.blg *.gz +*.out +*.snm +*.toc +*.vrb +*.nav diff --git a/SemSEpresentation/TU_Logo.pdf b/SemSEpresentation/TU_Logo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..179eed594c0e690ba2234e6c04c64d85cdeedf6e GIT binary patch literal 16954 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 literal 0 HcmV?d00001 diff --git a/SemSEpresentation/TU_Signet.pdf b/SemSEpresentation/TU_Signet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..aff2a489745c3acd832366c88a60ac10812cc5cb GIT binary patch literal 30657 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 Z + +%%% colors +% For some reason the logo is not in TU-blue (0,102,153). The powerpoint +% presentation has TU-blue as background and the logo with a different color +% (doesn't look nice). We align the TU-blue to the logo, like in the CD manual. +\definecolor{tuwBlue}{RGB}{0,116,178} +\definecolor{tuwGray}{RGB}{102,102,102} +\definecolor{iceBlue}{RGB}{222,231,236} + +\def\tuwBlue{tuwBlue} +\def\tuwGray{tuwGray} +\def\iceBlue{iceBlue} +\def\tuwLightBlue{tuwBlue!20!white} +\def\tuwMediumBlue{tuwBlue!45!white} +\def\tuwDarkBlue{tuwBlue!70!black} +\def\alertred{red!50!black} + +% content page +\setbeamercolor{normal text}{fg=black,bg=white} +\setbeamercolor{alerted text}{fg=\alertred} +\setbeamercolor{structure}{fg=\tuwBlue} +\setbeamercolor{frametitle}{fg=black} + +\setbeamercolor{palette primary}{fg=\tuwDarkBlue,bg=\tuwLightBlue} +\setbeamercolor{palette secondary}{fg=\tuwBlue!50!black,bg=\tuwMediumBlue} +\setbeamercolor{palette tertiary}{fg=white,bg=\tuwBlue} + +\setbeamercolor{section in toc}{parent=normal text} +\setbeamercolor{subsection in toc}{parent=section in toc} + +\setbeamercolor{block title}{fg=white, bg=\tuwBlue} +\setbeamercolor{block title example}{fg=white, bg=\tuwBlue} +\setbeamercolor{block title alerted}{fg=white, bg=\alertred} +\setbeamercolor{block body}{bg=\iceBlue} +\setbeamercolor{block body example}{parent=block body} +\setbeamercolor{block body alerted}{parent=block body, fg=\alertred} + +\setbeamercolor{title in head/foot}{fg=\tuwBlue} +\setbeamercolor{page number in head/foot}{fg=\tuwBlue} +\setbeamercolor{footline}{fg=\tuwBlue} + +% color difference of default and other outer styles +\ifx\beamer@tuwOuter\beamer@tuwDefault +% default style - this is the CD of TU Wien +% title page +\setbeamercolor{title}{fg=white} +\setbeamercolor{subtitle}{fg=white} +\setbeamercolor{author}{fg=white} +\setbeamercolor{institute}{fg=white} +\setbeamercolor{date}{fg=white} +% content page +% keep defaults (black) +\else +% other outer styles (e.g., sidebar) +% title page +\setbeamercolor{title}{fg=\tuwGray} +\setbeamercolor{subtitle}{fg=\tuwGray} +\setbeamercolor{author}{fg=black} +\setbeamercolor{institute}{fg=black} +\setbeamercolor{date}{fg=black} +% content page +\setbeamercolor{frametitle}{fg=\tuwGray} +\setbeamercolor{headline}{fg=\tuwGray} +\setbeamercolor{footline}{fg=\tuwGray} +\fi + +% sidebar +\setbeamercolor{sidebar}{bg=\tuwBlue,fg=white} +\setbeamercolor{palette sidebar primary}{fg=\tuwDarkBlue,bg=\tuwLightBlue} +\setbeamercolor{palette sidebar secondary}{fg=\tuwDarkBlue,bg=\tuwLightBlue} +\setbeamercolor{palette sidebar tertiary}{fg=white,bg=\tuwBlue} +\setbeamercolor{title in sidebar}{fg=white,bg=\tuwBlue} +\setbeamercolor{section in sidebar}{fg=\tuwDarkBlue} +\setbeamercolor{section in sidebar shaded}{fg=white,bg=\tuwBlue} +\setbeamercolor{subsection in sidebar}{fg=\tuwDarkBlue} +\setbeamercolor{subsection in sidebar shaded}{fg=white,bg=\tuwBlue} + +%%% fonts + +% font weight +\setbeamerfont{title}{series=\bfseries} +\setbeamerfont{author}{series=\mdseries} +\setbeamerfont{institute}{series=\mdseries} +\setbeamerfont{date}{series=\mdseries} +\setbeamerfont{frametitle}{series=\mdseries} +\setbeamerfont{headline}{series=\mdseries} +\setbeamerfont{footline}{series=\mdseries} + +% font size difference of default and other outer styles +\ifx\beamer@tuwOuter\beamer@tuwDefault +% default style - this is the CD of TU Wien +\setbeamerfont{title}{size=\huge} +\setbeamerfont{author}{size=\normalsize} +\setbeamerfont{institute}{size=\normalsize} +\setbeamerfont{date}{size=\normalsize} +\setbeamerfont{frametitle}{size=\Large} +\setbeamerfont{framesubtitle}{size=\large} +\setbeamerfont{headline}{size=\scriptsize} +\setbeamerfont{footline}{size=\scriptsize} +\else +% other outer styles (e.g., sidebar) +% keep defaults +\fi + +\setbeamerfont{section in toc}{parent=normal text} +\setbeamerfont{subsection in toc}{parent=section in toc} + +% sidebar +\setbeamerfont{title in sidebar}{series=\bfseries} +\setbeamerfont{section in sidebar}{series=\bfseries,size=\tiny} +\setbeamerfont{subsection in sidebar}{size=\tiny} + +%%% outer +\setbeamersize{text margin left=1.2cm} +\setbeamersize{text margin right=1.5cm} +\beamertemplatenavigationsymbolsempty + + +\ifx\beamer@tuwOuter\beamer@tuwDefault +% default outher theme - this is the CD of TU Wien + +% background +\setbeamertemplate{background}{ + \begin{tikzpicture} + \useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight); + % title page + \ifbeamer@tuwBackground % tu building background selected + \node[anchor=south west] (background) at (-0.15cm,-0.15cm) {\includegraphics[width=1.01\paperwidth]{TU_Background}}; + \else\ifx\beamer@tuwImage\beamer@tuwNoImage % no background image specified + \fill[white] (0,0) rectangle (\the\paperwidth,\the\paperheight); + \else % individual background image + \node[anchor=north west] (background) at (-0.15cm,-0.15cm) {\includegraphics[width=1.01\paperwidth]{\beamer@tuwImage}}; + \fi\fi + \fill[\tuwBlue, rounded corners=0.5cm] (-1cm,-1cm) rectangle (\paperwidth-0.5cm,\paperheight-3cm); + \ifbeamer@tuwWhiteLogo % white logo option specified + \node[anchor=north west] (logo) at (0.3cm,\paperheight-0.1cm) {\includegraphics[height=2cm]{\beamer@tuwLogoWhite}}; + \else + \node[anchor=north west] (logo) at (0.2cm,\paperheight-0.2cm) {\includegraphics[height=2cm]{\beamer@tuwLogo}}; + \fi + % content page + \ifnum\thepage>1\relax% + \fill[\iceBlue] (0,0) rectangle (\the\paperwidth,\the\paperheight); + \fill[white, rounded corners=0.5cm] (-1cm,-1cm) rectangle(\paperwidth-0.4cm,\paperheight-0.8cm); + \node[anchor=west] (logo) at (0.3cm,\paperheight-0.4cm) {\includegraphics[height=0.5cm]{TU_Signet}}; + \fi + \end{tikzpicture} +} + +% title page +\def\beamer@titlepageLeft{1.6cm} +\setbeamertemplate{title page}{ + \vskip 4cm% + \begin{beamercolorbox}[leftskip=\beamer@titlepageLeft]{title}% + \usebeamerfont{title}\inserttitle% + \end{beamercolorbox}% + \vskip 0.5cm% + \begin{beamercolorbox}[leftskip=\beamer@titlepageLeft]{subtitle} + \usebeamerfont{subtitle}\insertsubtitle% + \end{beamercolorbox} + \vskip 0.25cm% + \vfill% + \begin{beamercolorbox}[leftskip=\beamer@titlepageLeft]{author} + \usebeamerfont{author}\insertauthor% + \end{beamercolorbox} + \begin{beamercolorbox}[leftskip=\beamer@titlepageLeft]{date} + \usebeamerfont{date}\insertdate% + \end{beamercolorbox} +} + +% frametitle +\setbeamertemplate{frametitle} +{% + \ifbeamer@tuwFrametitleToTop % frametitle should be printed beside the logo + % vbox to keep the baseline + \vbox{}\vskip -0.43cm% + \else + \vbox{}\vskip 0.7cm% + \fi + \begin{beamercolorbox}[leftskip=0cm]{frametitle} + \usebeamerfont{frametitle}\insertframetitle% + \ifbeamer@tuwFrametitleToTop + \vbox{}\vskip 0.3cm% + \else + \vbox{}\vskip 0.2cm% + \fi + \usebeamerfont{framesubtitle}\insertframesubtitle% + \end{beamercolorbox} +} + +% footline +\setbeamertemplate{footline}{% + \vspace{0.1cm} + \ifnum\thepage>1 + \begin{beamercolorbox}[wd=\paperwidth,ht=2.25ex,dp=1ex]{footline} + \hskip 1.2cm% + \usebeamerfont{footline}\insertshortdate% + \hfill% + \insertshorttitle, \insertshortauthor% + \hfill% + \insertframenumber\:/\:\inserttotalframenumber% + \hspace*{1.5cm}% + \end{beamercolorbox} + \else + \begin{beamercolorbox}[wd=\paperwidth,ht=2.25ex,dp=1ex,center]{}% + % empty environment to raise height + \end{beamercolorbox} + \fi + \vspace{0.1cm} +} + +\else\ifx\beamer@tuwOuter\beamer@tuwSidebar +% sidebar outer theme +\useoutertheme[width=\beamer@tuwWidth,height=0pt]{\beamer@tuwOuter} + +% footline +\setbeamertemplate{footline}{ + \ifnum\thepage>1 + \vspace{-1cm} + \hfill{\scriptsize\insertframenumber\:/\:\inserttotalframenumber~~} + \vspace{0.1cm} + \fi +} +\else +\useoutertheme{\beamer@tuwOuter} +\fi\fi % if outer=default or outer=sidebar + + +%%% inner +\ifx\beamer@tuwOuter\beamer@tuwDefault +\setbeamertemplate{itemize items}[circle] +\else +% defaults +\fi % if outer=default + +\setlength{\parskip}{6pt} + +% blocks +\setbeamertemplate{blocks}[rounded] +\pgfdeclareverticalshading{bmb@transition}{\the\paperwidth}{color(0pt)=(\iceBlue); color(3.0pt)=(\iceBlue)} + +\setbeamercovered{invisible} + +% emphasize +\renewcommand<>{\emph}[1]{{\only#2{\color{\tuwBlue}}#1}} + +\hypersetup{colorlinks=true,linkcolor=fg,citecolor=\tuwGray,urlcolor=\tuwGray} + +\mode diff --git a/SemSEpresentation/slides.pdf b/SemSEpresentation/slides.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4b045744ff5115e538ca273997cfe8d4b846e0eb GIT binary patch literal 94027 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

`gyt0OCH+MN7>Z}Ief`JC9K+u{aAW0 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�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 yQ{~u_X3cZ(t&85+cI(4h`c^Tk4}W!b4^MM bitmaps used, this is not nice on +% screen; you can use the lmodern package instead +%\usepackage{lmodern} +\usepackage[utf8]{inputenc} +\usepackage{listings} +\usepackage{booktabs} +\usepackage{url} +\usepackage{xcolor} + +\definecolor{codegreen}{rgb}{0,0.6,0} +\definecolor{codegray}{rgb}{0.5,0.5,0.5} +\definecolor{codepurple}{rgb}{0.58,0,0.82} +\definecolor{backcolour}{rgb}{0.95,0.95,0.92} +\definecolor{verylightgray}{rgb}{.97,.97,.97} + +\lstdefinelanguage{Solidity}{ + keywords=[1]{anonymous, assembly, assert, balance, break, call, callcode, case, catch, class, constant, continue, constructor, contract, debugger, default, delegatecall, delete, do, else, emit, event, experimental, export, external, false, finally, for, function, gas, if, implements, import, in, indexed, instanceof, interface, internal, is, length, library, log0, log1, log2, log3, log4, memory, modifier, new, payable, pragma, private, protected, public, pure, push, require, return, returns, revert, selfdestruct, send, solidity, storage, struct, suicide, super, switch, then, this, throw, transfer, true, try, typeof, using, value, view, while, with, addmod, ecrecover, keccak256, mulmod, ripemd160, sha256, sha3}, % generic keywords including crypto operations + keywordstyle=[1]\color{blue}\bfseries, + keywords=[2]{address, bool, byte, bytes, bytes1, bytes2, bytes3, bytes4, bytes5, bytes6, bytes7, bytes8, bytes9, bytes10, bytes11, bytes12, bytes13, bytes14, bytes15, bytes16, bytes17, bytes18, bytes19, bytes20, bytes21, bytes22, bytes23, bytes24, bytes25, bytes26, bytes27, bytes28, bytes29, bytes30, bytes31, bytes32, enum, int, int8, int16, int24, int32, int40, int48, int56, int64, int72, int80, int88, int96, int104, int112, int120, int128, int136, int144, int152, int160, int168, int176, int184, int192, int200, int208, int216, int224, int232, int240, int248, int256, mapping, string, uint, uint8, uint16, uint24, uint32, uint40, uint48, uint56, uint64, uint72, uint80, uint88, uint96, uint104, uint112, uint120, uint128, uint136, uint144, uint152, uint160, uint168, uint176, uint184, uint192, uint200, uint208, uint216, uint224, uint232, uint240, uint248, uint256, var, void, ether, finney, szabo, wei, days, hours, minutes, seconds, weeks, years}, % types; money and time units + keywordstyle=[2]\color{teal}\bfseries, + keywords=[3]{block, blockhash, coinbase, difficulty, gaslimit, number, timestamp, msg, data, gas, sender, sig, value, now, tx, gasprice, origin}, % environment variables + keywordstyle=[3]\color{violet}\bfseries, + identifierstyle=\color{black}, + sensitive=true, + comment=[l]{//}, + morecomment=[s]{/*}{*/}, + commentstyle=\color{gray}\ttfamily, + stringstyle=\color{red}\ttfamily, + morestring=[b]', + morestring=[b]" +} + +\lstset{ + language=Solidity, + backgroundcolor=\color{verylightgray}, + extendedchars=true, + basicstyle=\footnotesize\ttfamily, + showstringspaces=false, + showspaces=false, + numbers=left, + numberstyle=\footnotesize, + numbersep=9pt, + tabsize=2, + breaklines=true, + showtabs=false, + captionpos=b +} + +%%% title page settings +\title[SWC-124]{% + SWC-124: Write to Arbitrary Storage Location +} +\subtitle{192.127 Seminar in Software Engineering (Smart Contracts)} +\author{Ivaylo Ivanov \& Peter Millauer} +\date{\today} + +%%% slides start here +\begin{document} + +% first frame must include the title page! +\begin{frame} + \titlepage +\end{frame} + +% table of contents if you have a long presentation (uses 'part' and 'section' +% elements) +\begin{frame}{Outline} + \tableofcontents +\end{frame} + +\section{Introduction} + +\subsection[SWC-124: Weakness Outline]{SWC-124: Weakness Outline} +\begin{frame}[fragile] + \frametitle{SWC-124: Weakness Outline} + SWC-124 is a weakness that allows attackers to write to places in the storage where they should not be able to. + It can be used to gain unauthorized access, overwrite data, steal funds etc. +\end{frame} + +\begin{frame}[fragile] + \frametitle{SWC-124: Weakness Outline} + We generally differentiate three types of SWC-124: +\begin{itemize} + \item unchecked array write + \item incorrect array length check + \item unchecked assembly code +\end{itemize} + + Examples follow, use in production at your own risk ;) +\end{frame} + +\subsection[Examples]{Examples} +\begin{frame}[fragile] + \frametitle{Unchecked Array Write} + \begin{lstlisting}[language=Solidity] +pragma solidity 0.4.25; + +contract MyContract { + uint[] private arr; + + constructor() public { + arr = new uint[](0); + } + + function write(unit index, uint value) { + arr[index] = value; + } +} + \end{lstlisting} +\end{frame} +\begin{frame}[fragile] + \frametitle{Incorrect Array Length Check} + \begin{lstlisting}[language=Solidity, basicstyle=\tiny\ttfamily, numberstyle=\tiny] +pragma solidity 0.4.25; + +contract MyContract { + uint[] private arr; + + constructor() public { + arr = new uint[](0); + } + + function push(value) { + arr[arr.length] = value; + arr.length++; + } + + function pop() { + require(arr.length >= 0); + arr.length--; + } + + function update(unit index, uint value) { + require(index < arr.length); + arr[index] = value; + } +} + \end{lstlisting} +\end{frame} +\begin{frame}[fragile] + \frametitle{Unchecked Assembly} + \begin{lstlisting}[language=Solidity, basicstyle=\tiny\ttfamily, numberstyle=\tiny, breaklines=true] +pragma solidity 0.4.25; + +contract MyContract { + address private owner; + mapping(address => bool) public managers; + + constructor() public { + owner = msg.sender; + setNextUserRole(msg.sender); + } + + function setNextManager(address next) internal { + uint256 slot; + assembly { + slot := managers.slot + sstore(slot, next) + } + bytes32 location = keccak256(abi.encode(160, uint256(slot))); + assembly { + sstore(location, true) + } + } + + function registerUser(address user) { + require(msg.sender == owner); + setNextManager(user); + } +} + \end{lstlisting} +\end{frame} + +\section{Detecting and Exploiting} +\subsection[Detecting SWC-124]{Detecting SWC-124} +\begin{frame}[fragile] + \frametitle{SWC-124: Detection Heuristics 1} + Any contract without dynamic arrays (or mappings with integer keys) or raw assembly including a SSTORE instruction can immediately be considered non-vulnerable. +\end{frame} + +\begin{frame}[fragile] + \frametitle{SWC-124: Detection Heuristics 2} + If heuristic 1 does not hold, we can then apply a second heuristic: checking the solidity compiler version, specified at the top of the contract. Solidity version 0.8.0+ introduced integer under- and overflow protection, which are enabled per default and require extra work to be disabled. +\end{frame} + +\begin{frame}[fragile] + \frametitle{SWC-124: Detection Heuristics 2.1} + If the version of the contract is higher than 0.8.0, we examine whether unchecked arithmetic has been used for modifying the arrays. If this is not the case, which it is not most of the time, we can then determine that the contract is non-vulnerable. Applying this heuristic, we found a contract that could have been vulnerable had it been compiled with a lower solidity version. + + \begin{block}{Note on assembly} + Due to the nature of the examples given, we could not find reliable heuristics for unchecked assembly. + \end{block} +\end{frame} + + +\begin{frame}[fragile] + \frametitle{SWC-124: Detection Tools} + \begin{itemize} + \item existing static analysis tools were useless - most of them had no support for SWC-124 + \item \texttt{solc-select} - for changing solidity compiler versions + \item \texttt{slither} - for printing contract variable layout + \end{itemize} +\end{frame} + +\subsection[Exploiting SWC-124]{Exploiting SWC-124} + +% TODO: Exploitation is trivial, should we just go back and explain or should we go into memory layout? Can we handle it in time? + +\begin{frame}[fragile] + \frametitle{Vulnerable Examples} + Using the previously mentioned heuristics, we could not find a vulnerable contract from the dataset. +\end{frame} + +\section{Future Work} +\begin{frame}[fragile] + \frametitle{Future Work} +\begin{itemize} + \item add heuristics to static analysis tool like \texttt{slither} or \texttt{mythril} + \item develop additional vulnerable and non-vulnerable contracts and test against heuristics + \item train a model against the resulting dataset + \item fine-tune heuristics +\end{itemize} +\end{frame} +\section{Conclusion} +\begin{frame}[fragile] + Questions? +\end{frame} + + +\end{document}

xr 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