slides/slides03.tex
changeset 115 c4008b31df8e
parent 114 3822d91a4639
child 152 0c62ec6dc691
equal deleted inserted replaced
114:3822d91a4639 115:c4008b31df8e
   415 \end{textblock}}
   415 \end{textblock}}
   416 
   416 
   417 \end{frame}}
   417 \end{frame}}
   418 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   418 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   419 
   419 
       
   420 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   421 \mode<presentation>{
       
   422 \begin{frame}[c]
       
   423 
       
   424 \begin{center}
       
   425 \includegraphics[scale=0.45]{pics/trainwreck.jpg}\\
       
   426 one general defence mechanism is\\\alert{\bf defence in depth}
       
   427 \end{center}
       
   428 
       
   429   
       
   430 \end{frame}}
       
   431 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   420 
   432 
   421 
   433 
   422 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   434 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   423 \mode<presentation>{
   435 \mode<presentation>{
   424 \begin{frame}[c]
   436 \begin{frame}[c]
   524   
   536   
   525 \end{frame}}
   537 \end{frame}}
   526 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   538 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   527 
   539 
   528 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   540 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   529 \mode<presentation>{
   541 %\mode<presentation>{
   530 \begin{frame}[c]
   542 %\begin{frame}[c]
   531 
   543 %
   532 \small
   544 %\small
   533 A programmer might be careful, but still introduce vulnerabilities:\bigskip
   545 %A programmer might be careful, but still introduce vulnerabilities:\bigskip
   534 
   546 %
   535 {\lstset{language=Java}\fontsize{8}{10}\selectfont%
   547 %{\lstset{language=Java}\footnotesize
   536 \texttt{\lstinputlisting{../progs/C2a.c}}}
   548 %\texttt{\lstinputlisting{../progs/C2a.c}}}
   537 
   549 %
   538   
   550 % 
   539 \end{frame}}
   551 %\end{frame}}
   540 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   552 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   541 
   553 
   542 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   554 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   543 \mode<presentation>{
   555 \mode<presentation>{
   544 \begin{frame}[c]
   556 \begin{frame}[c]
   580 \frametitle{\begin{tabular}{c}Format String Vulnerability\end{tabular}}
   592 \frametitle{\begin{tabular}{c}Format String Vulnerability\end{tabular}}
   581 
   593 
   582 \small
   594 \small
   583 \texttt{string} is nowhere used:\bigskip
   595 \texttt{string} is nowhere used:\bigskip
   584 
   596 
   585 {\lstset{language=Java}\fontsize{8}{10}\selectfont%
   597 {\lstset{language=Java}\footnotesize
   586 \texttt{\lstinputlisting{../progs/C4.c}}}\bigskip
   598 \texttt{\lstinputlisting{../progs/C4.c}}}\bigskip
   587 
   599 
   588 this vulnerability can be used to read out the stack
   600 this vulnerability can be used to read out the stack
   589   
   601   
   590 \end{frame}}
   602 \end{frame}}
   591 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   603 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   592 
   604 
   593 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   605 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   594 \mode<presentation>{
   606 \mode<presentation>{
   595 \begin{frame}[c]
   607 \begin{frame}[c]
   596 \frametitle{\begin{tabular}{c}Protections against\\ BO Attacks\end{tabular}}
   608 \frametitle{\begin{tabular}{c}Protections against\\ Buffer Overflow Attacks\end{tabular}}
   597 
   609 
   598 \begin{itemize}
   610 \begin{itemize}
   599 \item use safe library functions
   611 \item use safe library functions
       
   612 \item stack caneries
   600 \item ensure stack data is not executable (can be defeated)
   613 \item ensure stack data is not executable (can be defeated)
   601 \item address space randomisation (makes one-size-fits-all more difficult)
   614 \item address space randomisation (makes one-size-fits-all more difficult)
   602 \item choice of programming language (one of the selling points of Java)
   615 \item choice of programming language (one of the selling points of Java)
   603 
   616 
   604 \end{itemize}
   617 \end{itemize}