add slides for attacks (seperate)
authorAaron Zauner <azet@azet.org>
Mon, 20 Oct 2014 20:54:17 +0000 (22:54 +0200)
committerAaron Zauner <azet@azet.org>
Mon, 20 Oct 2014 20:56:55 +0000 (22:56 +0200)
presentations/HACK.LU-2014/presentation/attacks.tex [deleted file]
presentations/HACK.LU-2014/presentation/attacks/LICENSE [new file with mode: 0644]
presentations/HACK.LU-2014/presentation/attacks/beamercolorthememodifiedsolarized.sty [new file with mode: 0644]
presentations/HACK.LU-2014/presentation/attacks/content.tex [new file with mode: 0644]
presentations/HACK.LU-2014/presentation/attacks/lambda.png [new file with mode: 0644]
presentations/HACK.LU-2014/presentation/attacks/makefile [new file with mode: 0644]
presentations/HACK.LU-2014/presentation/attacks/presentation.tex [new file with mode: 0644]

diff --git a/presentations/HACK.LU-2014/presentation/attacks.tex b/presentations/HACK.LU-2014/presentation/attacks.tex
deleted file mode 100644 (file)
index bf95d57..0000000
+++ /dev/null
@@ -1,482 +0,0 @@
-
-\begin{frame}{Internet Dark Ages}
-
-  \begin{itemize}
-    \item SSLv1 engineered at Netscape, never released to the public
-    \item Kipp Hickman of Netscape introduces SSLv2 as an IETF draft back in 1995:
-      \newline
-      \newline
-      \texttt{The SSL Protocol is designed to provide privacy between two communicating applications (a client and a server). Second, the protocol is designed to authenticate the server, and optionally the client. [...]}
-  \end{itemize}
-  \vspace{50px}
-
-  \tiny\url{http://tools.ietf.org/html/draft-hickman-netscape-ssl-00}
-
-\end{frame}
-
-\begin{frame}{Internet Dark Ages}
-  \begin{itemize}
-    \item SSLv2 was fundamentally broken and badly designed. Basically full loss of Confidentiallity and integrity of on-wire data thus susceptible to MITM attacks, see: \url{http://osvdb.org/56387}
-    \item CipherSpec is sent in the clear
-    \item Size of Block-cipher padding is sent in the clear
-  \end{itemize}
-\end{frame}
-
-\begin{frame}{Internet Dark Ages}
-  \begin{itemize}
-    \item SSLv3 was introduced in 1996 by Paul Kocher, Phil Karlton and Alan Freier, utilizing an algoritm by Taher ElGamal, a known cryptographer and Chief Scientist at Netscape at the time: \url{https://tools.ietf.org/html/rfc6101}
-  \end{itemize}
-\end{frame}
-
-\begin{frame}{Internet Dark Ages}
-  On a side note; back then the choice algorithms was limited and export ciphers (low security) common as recommended by NSA and mandated by US law. Google: ``Bernstein vs. United States''
-  \begin{itemize}
-    \item encryption algorithms (Confidentiality): NULL, FORTEZZA-CBC (NSA), IDEA-CBC, RC2-CBC-40 (40bit security), RC4-128, DES40-CBC (40bit security), DES-CBC (56bit security), Triple-DES-EDE-CBC
-    \item hash functions (integrity): NULL, MD5 and SHA
-  \end{itemize}
-\end{frame}
-
-\begin{frame}{Internet Dark Ages}
-  David Wagner and Bruce Schneier publish a paper entitled ``Analysis of the SSL 3.0 protocol'':
-  \begin{itemize}
-    \item Keyexchange algorithm rollback
-    \item Protocol fallback to SSLv2
-    \item Protocol leaks known plaintexts - may be used in cryptanalysis 
-    \item Replay attacks on Anonymous DH (don't use it anyway!)
-  \end{itemize}
-
-  \vspace{50px}
-
-  \tiny\url{https://www.schneier.com/paper-ssl.pdf}
-\end{frame}
-
-\begin{frame}{TLS appears}
-  1999. The SSL protocol is renamed to TLS (version 1) with little improvements over SSLv3. The spec. is almost identical.
-  \begin{itemize}
-    \item Diffie-Hellman, DSS and Triple-DES are now required by implementors
-    \item most SSLv3 security issues are still present in TLS 1.0
-  \end{itemize}
-  (RFC2246)
-\end{frame}
-
-\begin{frame}{TLS gets padding attacks}
-  2002. Vaudenay publishes a paper entitled ``Security Flaws Induced by CBC Padding
-Applications to SSL, IPSEC, WTLS...'' 
-  \begin{itemize}
-    \item Side-channel attack on CBC mode padding
-    \item valid/invalid padding causes different reactions
-    \item can be used to influence decryption operations
-    \item introduces ``padding oracle attacks'' in SSL
-  \end{itemize}
-
-  \vspace{50px}
-
-  \tiny\url{http://www.iacr.org/cryptodb/archive/2002/EUROCRYPT/2850/2850.pdf}
-\end{frame}
-
-\begin{frame}{TLS gets extended}
-  2003. TLS extensions get specified in RFC3546.
-  \begin{itemize}
-    \item General: Extended Handshake, ClientHello and ServerHello
-    \item Server Name Indication (SNI) for virtual hosting\\(SNI leaks metadata!)
-    \item Certificate Status Request (CSR) support via OCSP
-    \item (...)
-  \end{itemize}
-\end{frame}
-
-\begin{frame}{TLS gets timing attacks}
-  2003. Brumley and Boneh publish a paper entitled ``Remote timing attacks are practical''.
-  \newline
-  \newline
-  Timing attack on RSA in SSL/TLS implementations (OpenSSL):
-  \begin{itemize}
-    \item Send specially crafted ClientKeyExchange message
-    \item Mesure time between ClienyKeyExchange and Alert response
-    \item do a bit of statistics
-    \item retrieve Private Key
-  \end{itemize}
-
-  \vspace{50px}
-
-  \tiny\url{http://dl.acm.org/citation.cfm?id=1251354}
-\end{frame}
-
-\begin{frame}{TLS gets padding oracle password retrieval}
-  2003. Canvel, Hiltgen, Vaudenay, Vuagnoux publish ``Password Interception in a SSL/TLS Channel''.
-  \newline
-  \newline
-  Extend earlier work of Vaudenay and successfully intercept IMAP passwords in TLS channels.
-
-  \vspace{95px}
-
-  \tiny\url{http://www.iacr.org/cryptodb/archive/2003/CRYPTO/1069/1069.pdf}
-\end{frame}
-
-\begin{frame}{TLS gets chosen plaintext attacks}
-  2004 \& 2006. Bard demonstrates Chosen-Plaintext Attacks against SSL and TLS1.0
-  \newline
-  \newline
-  Attack on CBC:
-  \begin{itemize}
-    \item CBC exchanges an Initialization Vector (IV) during Handshake
-    \item these IVs turn out to be predictable
-    \item PINs and Passwords can be decrypted
-    \item VPNs/Proxies can also be used to accomplish this task
-  \end{itemize}
-  
-  \vspace{50px}
-
-  \tiny
-  \url{https://eprint.iacr.org/2004/111}\\
-  \url{https://eprint.iacr.org/2006/136}
-\end{frame}
-
-\begin{frame}{TLS gets updated}
-  2006. A new TLS protocol version is standardized: TLS 1.1
-  \begin{itemize}
-    \item EXPORT ciphers removed
-    \item Session resumption 
-    \item Protection against the CBC attacks by Bard
-    \item IANA TLS parameters standardized
-    \item (...)
-  \end{itemize}
-   (RFC4346)
-\end{frame}
-
-\begin{frame}{TLS gets modern crypto}
-  2008. A new TLS protocol version is standardized: TLS 1.2
-  \begin{itemize}
-    \item MD5/SHA1 removed as pseudorandom function (PRF)
-    \item configurable PRFs in ciphersuites (e.g. SHA256)
-    \item Authenticated encryption: CCM, GCM
-    \item AES ciphersuites
-    \item (...)
-  \end{itemize}
-   (RFC5246)
-\end{frame}
-
-\begin{frame}{Rouge CA Certificates}
-  2008. Sotirov, Stevens, Appelbaum, Lenstra, Molnar, Osvik and de Weger present a paper based on earlier work by Lenstra et al. at 25c3 entitled ``MD5 considered harmful today''
-
-  \begin{itemize}
-    \item MD5 Hash-collision of a CA Certificate
-    \item Create colliding (rouge) CA Certificates
-    \item Generate any Certificate for MITM you want
-  \end{itemize}
-
-  \vspace{60px}
-
-  \tiny
-  \url{http://www.win.tue.nl/hashclash/rogue-ca/}\\
-  \url{https://www.youtube.com/watch?v=PQcWyDgGUVg}\\
-\end{frame}
-
-\begin{frame}{sslstrip}
-  2009. Moxie Marlinspike releases \emph{sslstrip} at BlackHat DC 2009.
-
-  \begin{itemize}
-    \item Client connects to server
-    \item Attacker intercepts session via MITM
-    \item Attacker sends HTTP 301 (moved permanently)
-    \item Attacker forwards requests to/from server via SSL/TLS
-    \item Client receives data via unencrypted channel
-    \item Attacker reads plaintext
-  \end{itemize}
-  
-  \vspace{50px}
-
-  \tiny
-  \url{http://www.thoughtcrime.org/software/sslstrip}\\
-  \url{http://vimeo.com/50018478}
-\end{frame}
-
-\begin{frame}{Null-prefix attacks against Certificates}
-  2009. Moxie Marlinspike publishes ``Null prefix Attacks against SSL/TLS Certificates''.
-
-  \begin{itemize}
-    \item Specially crafted domain strings trick CA checking
-    \item null-terminate stuff in a domain name
-    \item ex.: \texttt{www.paypal.com\textbackslash0.thoughtcrime.org} is valid
-    \item ex.: \texttt{*\textbackslash0.thoughtcrime.org} is valid
-    \item CA ignores prefix 
-    \item Client does not -> Certificate valid for prefix
-  \end{itemize}
-  Moxie updated his \emph{sslsniff} project to carry out this attack.
-  
-  \vspace{30px}
-
-  \tiny
-  \url{http://www.thoughtcrime.org/papers/null-prefix-attacks.pdf}\\
-  \url{http://thoughtcrime.org/software/sslsniff}
-\end{frame}
-
-
-\begin{frame}{SSLv2 Forbidden}
-  2011. IETF publishes and standardized a RFC to prohibit negotiation and thus compatibility of SSLv2 in TLS1.0-1.2 entirely. 
-  
-  \vspace{140px}
-
-  \tiny
-  \url{https://tools.ietf.org/html/rfc6176}
-\end{frame}
-
-\begin{frame}{Comodo}
-  2011. Comodo CA: Attacker issues 9 certificates via reseller account for popular domains (google.com, yahoo.com, live.com, skype.com [...])
-  
-  \vspace{160px}
-
-  \tiny
-  \url{https://www.comodo.com/Comodo-Fraud-Incident-2011-03-23.html}
-\end{frame}
-
-\begin{frame}{BEAST}
-  2011. Doung and Rizzo publish the BEAST attack at ekoparty and demo a live attack on PayPal. Based on Bards earlier work on predictable IVs in CBC:
-  \begin{itemize}
-    \item Phishing gets victim to visit a certain website
-    \item Script on said website makes request to genuine site
-    \item Attacker records encrypted cookie information
-    \item Tries to guess session-cookie with known CBC attack
-  \end{itemize}
-  Same Origin Policy (SOP) forbids this attack in client software. If SOP can be bypassed (as shown by the authors with Java's SOP) this attack is still practical.
-  
-  \vspace{30px}
-
-  \tiny
-  \url{http://vnhacker.blogspot.co.at/2011/09/beast.html}
-\end{frame}
-
-
-\begin{frame}{Trustwave}
-  2012. Trustwave CA: Trustwave sells subordinate CAs to big corporations to be used for Deep Packet Inspection.
-  \newline
-  \newline
-  A sub-CA can issue and fake any certificate for MITM attacks.
-
-
-  \vspace{80px}
-
-  \tiny
-  \url{http://blog.spiderlabs.com/2012/02/clarifying-the-trustwave-ca-policy-update.html}
-  \url{http://arstechnica.com/business/2012/02/critics-slam-ssl-authority-for-minting-cert-used-to-impersonate-sites/}
-\end{frame}
-
-\begin{frame}{DigiNotar}
-  2012. DigiNotar CA: Attackers compromise DigiNotar in it's entirety.
-
-  \begin{itemize}
-    \item attackers generate tons of certificates
-    \item Google Chromes certificate store detects mismatches
-    \item DigiNotar acknowledges breach
-    \item DigiNotar files for bankrupcy
-    \item FOX-IT never gets paid for the investigation
-  \end{itemize}
-
-
-  \vspace{30px}
-
-  \tiny
-  \url{https://en.wikipedia.org/wiki/DigiNotar}\\
-  \url{http://cryptome.org/0005/diginotar-insec.pdf}\\
-  \url{http://nakedsecurity.sophos.com/2011/09/05/operation-black-tulip-fox-its-report-on-the-diginotar-breach}\
-
-\end{frame}
-
-\begin{frame}{Certificate validation in non-browser software}
-  2012. Georgiev, Iyengar, Jana, Anubhai, Boneh and Shmatikov publish a paper entitled ``The most dangerous code in the world: validating SSL certificates in non-browser software''
-  \newline
-  \newline
-  Certificate validation vulnerabilities in:
-  \begin{itemize}
-    \item OpenSSL
-    \item GnuTLS
-    \item JSSE
-    \item EC2 Java libraries \& Amazon SDKs
-    \item PayPal SDKs
-    \item eCommerce/WebShop software
-    \item ..cURL, PHP, Python, tons of Java middleware
-  \end{itemize}
-
-  \tiny
-  \url{https://crypto.stanford.edu/~dabo/pubs/abstracts/ssl-client-bugs.html}
-\end{frame}
-
-\begin{frame}{CRIME}
-  2012. Doung and Rizzo publish an attack against TLS Compression and SPDY titled CRIME.
-
-  \begin{itemize}
-    \item MITM attacker sees length of compressed ciphertext
-    \item compression has direct affect on the length
-    \item attacker makes client compress/encrypt data (or uses known data) with secret data
-    \item attacker compares
-    \item correct guesses yield shorter messages due to compression
-    \item repeat until done
-  \end{itemize}
-  This is only feasible for small amounts of data, e.g. session strings, cookies and so forth.
-  
-  \vspace{10px}
-
-  \tiny
-  \url{https://isecpartners.com/blog/2012/september/details-on-the-crime-attack.aspx}
-\end{frame}
-
-\begin{frame}{TIME}
-  2013. Be'ery and Shulman present TIME at BlackHat Europe. Extend on the CRIME Attack:
-  \begin{itemize}
-    \item Attacker generates HTTP requests (XSS, injection,..)
-    \item Attacker exploits SOP design flaw and measures RTT differences
-    \item determines correct or failed guesses by SOP timing leak
-  \end{itemize}
-  
-  \vspace{70px}
-
-  \tiny
-  \url{https://media.blackhat.com/eu-13/briefings/Beery/bh-eu-13-a-perfect-crime-beery-wp.pdf}\\
-  \url{https://www.youtube.com/watch?v=rTIpFfTp3-w}
-\end{frame}
-
-\begin{frame}{Lucky13}
-  2013. AlFardan and Paterson present a novel attack against CBC for TLS and DTLS based on timing analysis.
-  \begin{itemize}
-    \item Attacker intercepts and modifies a message including padding
-    \item Attacker tempers with the padding of the message
-    \item MAC computation takes longer during decryption process
-    \item Attacker repeats and measures
-    \item Attacker performs padding oracle attack described earlier
-    \item (Extremely latency sensitive attack)
-  \end{itemize}
-
-  \vspace{50px}
-
-  \tiny
-  \url{http://www.isg.rhul.ac.uk/tls/Lucky13.html}\\
-  \url{http://www.isg.rhul.ac.uk/tls/TLStiming.pdf}
-\end{frame}
-
-\begin{frame}{RC4 Biases}
-  2013. AlFardan, Bernstein, Paterson, Poettering and Schuldt publish a generic attack on the RC4 cipher for TLS and WPA.
-  \begin{itemize}
-    \item Statistical biases in the first 257 bytes of ciphertext
-    \item Recovery of the first 200 bytes after $2^{28}$ to $2^{32}$ encryption operations of the same plaintext
-    \item A broadcast attack: mounted on unique keys
-    \item May also be mounted with a single key with repeating target plaintexts
-    \item Only feasible for large amounts of data and very time consuming
-  \end{itemize}
-  
-  \vspace{20px}
-
-  \tiny
-  \url{http://www.isg.rhul.ac.uk/tls}\\
-  \url{http://www.isg.rhul.ac.uk/tls/RC4biases.pdf}
-\end{frame}
-
-\begin{frame}{NIST curves}
-  2013 \& 2014. Daniel J. Bernstein and Tanja Lange voice concern about the NIST Elliptic Cuves that are widely implemented and used in TLS for ECDH and ECDSA
-  \begin{itemize}
-    \item NIST curves defined on recommendations by NSA's Jerry Solinas
-    \item Unclear why these curves and their parameters were chosen
-    \item NIST cites efficiency: more efficient and secure curves available
-    \item Possible mathematical backdoor through previous analysis and carefully chosen and unexplained parameters
-    \item Start SafeCurves project (ongoing)
-  \end{itemize}
-  
-
-  \tiny
-  \url{http://www.hyperelliptic.org/tanja/vortraege/20130531.pdf}\\
-  \url{http://cr.yp.to/talks/2013.09.16/slides-djb-20130916-a4.pdf}\\
-  \url{http://safecurves.cr.yp.to}\\
-  \url{https://archive.org/details/ShmooCon2014_SafeCurves}
-\end{frame}
-
-\begin{frame}{BREACH}
-  2013. Gluck, Harris and Prado demonstrate yet another attack based on CRIME at BlackHat USA.
-  \newline
-  \newline
-  Very similar to CRIME but the attack works based on information leaks from HTTP compression instead of TLS compression.
-  
-  \vspace{80px}
-
-  \tiny
-  \url{http://breachattack.com}\\
-  \url{https://www.youtube.com/watch?v=CoNKarq1IYA}
-\end{frame}
-
-\begin{frame}{Unused Certificates in Truststores}
-  2014. Perl, Fahl, Smith publish a paper entitled ``You Won't Be Needing These Any More: On Removing Unused Certificates From Trust Stores''
-  \begin{itemize}
-    \item Compared 48 mio. HTTP certificates
-    \item 140 CA Certificates are unused in all major trust stores
-    \item Of 426 trusted root certificates only 66\% are even used
-  \end{itemize}
-
-  
-  \vspace{70px}
-
-  \tiny
-  \url{http://fc14.ifca.ai/papers/fc14_submission_100.pdf}
-\end{frame}
-
-\begin{frame}{Triple Handshakes Considered Harmful}
-  2014. Bhargavan, Delignat-Lavaud, Pironti, Langley and Ray present an attack one day before the IETF'89 meeting in London.
-  \begin{itemize}
-    \item Limited to client-certificate authentication with renegotiation
-    \item MITM attack on renegotiation with a three-way handshake
-    \item Variations of the attack also discussed on their website
-    \item Can't possibly fit this into one slide, homework: understand the attack by reading their excellent description on the website
-  \end{itemize}
-
-  
-  \vspace{50px}
-
-  \tiny
-  \url{https://secure-resumption.com}\\
-  \url{https://secure-resumption.com/IETF-triple-handshakes.pdf}
-\end{frame}
-
-\begin{frame}{Frankencerts}
-  2014. Brubaker, Jana, Ray, Khurshid and Shmatikovy publish a paper entitled ``Using Frankencerts for Automated Adversarial Testing of Certificate Validation in SSL/TLS Implementations''
-  \begin{itemize}
-    \item Fuzzing of X.509 related code in all major implementations shows serious weaknesses in certificate validation and handling
-    \item OpenSSL, NSS, GnuTLS, MatrixSSL, PolarSSL, CyaSSL, cyptlib [...]
-  \end{itemize}
-
-  
-  \vspace{50px}
-
-  \tiny
-  \url{https://www.cs.utexas.edu/~shmat/shmat_oak14.pdf}\\
-  \url{https://github.com/sumanj/frankencert}
-\end{frame}
-
-\begin{frame}{Heartbleed}
-  2014. Heartbleed is independently discovered by Codenomicon and a Google Security engineer.
-  \newline
-  \newline
-  Faulty implementation in OpenSSL of the TLS Heartbleed extension leaks memory content over the wire. This has been all over the media and discussed in detail all over the internet. People have successfully extracted sensitive information (password files et cetera) from victim memory.
-  \newline
-  \newline
-  I wrote an nmap plugin to scan for Heartbleed: \url{https://github.com/azet/nmap-heartbleed}
-
-  \vspace{30px}
-
-  \tiny
-  \url{http://heartbleed.com}
-\end{frame}
-
-\begin{frame}{Virtual Host Confusion}
-  2014. At BlackHat Delignat-Lavaud presents an attack based on SSLv3 downgrade and sharing of session caches
-  \begin{itemize}
-    \item Attacker forces downgrade to SSLv3
-    \item For SSLv3: larger deployments share session caches
-    \item attacker exploits a server vulnerability where session caches are reused
-    \item attacker requests different subdomain with SSLv3 using the same session
-    \item vulnerable server will allow connection w/o authentication
-    \item www.company.com vs git.company.com
-  \end{itemize}
-  \tiny
-  \url{https://bh.ht.vc}
-\end{frame}
-
-\begin{frame}{POODLE}
-  2014. POODLE
-\end{frame}
-
diff --git a/presentations/HACK.LU-2014/presentation/attacks/LICENSE b/presentations/HACK.LU-2014/presentation/attacks/LICENSE
new file mode 100644 (file)
index 0000000..e94a978
--- /dev/null
@@ -0,0 +1,16 @@
+Copyright: Aaron Zauner <azet@azet.org>
+
+Unless explicitly stated otherwise, all content of my talks
+is licensed under CC BY-NC-ND 4.0. LaTeX and Makefile hacks,
+as well as PanDoc integration is largely copied off the
+internet anyway. If you find something original you may use
+it with your own slides, with your own content under the
+terms of the MIT license.
+
+ - https://creativecommons.org/licenses/by-nc-nd/4.0
+ - http://opensource.org/licenses/MIT
+
+If you want to use a particular presentation for
+commercial purposes get in touch with me via e-mail.
+
+azet
diff --git a/presentations/HACK.LU-2014/presentation/attacks/beamercolorthememodifiedsolarized.sty b/presentations/HACK.LU-2014/presentation/attacks/beamercolorthememodifiedsolarized.sty
new file mode 100644 (file)
index 0000000..bb13e71
--- /dev/null
@@ -0,0 +1,165 @@
+% Beamer Color Theme using the Solarized Palette,
+% http://ethanschoonover.com/solarized.
+%
+% Copyright 2012 Jeffrey B. Arnold
+% 
+% This program is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%
+% modified to be even darker/or black and white by azet@azet.org @ 24/03/2014
+%
+
+\ProvidesPackage{modifiedsolarized}[2013/10/11 1.0.1 Solarized color theme for beamer]
+\RequirePackage{etoolbox}
+\RequirePackage{kvoptions}
+
+%% This is ugly. First time using options and conditionals in LaTeX
+\SetupKeyvalOptions{
+  family=solarized,
+  prefix=solarized@,
+}
+\DeclareBoolOption[false]{dark}
+\DeclareComplementaryOption{light}{dark}
+\DeclareStringOption[yellow]{accent}[yellow]
+\ProcessKeyvalOptions*
+
+% Solarized palette
+\definecolor{solarizedBase03}{HTML}{000000}
+\definecolor{solarizedBase02}{HTML}{073642}
+\definecolor{solarizedBase01}{HTML}{586e75}
+\definecolor{solarizedBase00}{HTML}{657b83}
+\definecolor{solarizedBase0}{HTML}{FFFFFF}%{839496}
+\definecolor{solarizedBase1}{HTML}{FFFFFF}%{93a1a1}
+\definecolor{solarizedBase2}{HTML}{EEE8D5}
+\definecolor{solarizedBase3}{HTML}{FDF6E3}
+\definecolor{solarizedYellow}{HTML}{B58900}
+\definecolor{solarizedOrange}{HTML}{CB4B16}
+\definecolor{solarizedRed}{HTML}{DC322F}
+\definecolor{solarizedMagenta}{HTML}{D33682}
+\definecolor{solarizedViolet}{HTML}{6C71C4}
+\definecolor{solarizedBlue}{HTML}{268BD2}
+\definecolor{solarizedCyan}{HTML}{2AA198}
+\definecolor{solarizedGreen}{HTML}{859900}
+\definecolor{solarizedWhite}{HTML}{FFFFFF}
+
+% Set Accent color
+% Ugly. Should be done with a switch
+\ifdefstring{\solarized@accent}{yellow}{
+  \colorlet{solarizedAccent}{solarizedYellow}
+}{}
+\ifdefstring{\solarized@accent}{orange}{
+  \colorlet{solarizedAccent}{solarizedOrange}
+}{}
+\ifdefstring{\solarized@accent}{red}{
+  \colorlet{solarizedAccent}{solarizedRed}
+}{}
+\ifdefstring{\solarized@accent}{magenta}{
+  \colorlet{solarizedAccent}{solarizedMagenta}
+}{}
+\ifdefstring{\solarized@accent}{violet}{
+  \colorlet{solarizedAccent}{solarizedViolet}
+}{}
+\ifdefstring{\solarized@accent}{blue}{
+  \colorlet{solarizedAccent}{solarizedBlue}
+}{}
+\ifdefstring{\solarized@accent}{cyan}{
+  \colorlet{solarizedAccent}{solarizedCyan}
+}{}
+\ifdefstring{\solarized@accent}{green}{
+  \colorlet{solarizedAccent}{solarizedGreen}
+}{}
+\ifdefstring{\solarized@accent}{white}{
+  \colorlet{solarizedAccent}{solarizedWhite}
+}{}
+
+%% Set base colors for dark or light versions
+%% Dark
+% Switch between light and dark themes using the method in the CSS
+% stylesheet http://ethanschoonover.com/solarized
+\ifboolexpe{ bool {solarized@dark}}{
+  \colorlet{solarizedRebase03}{solarizedBase03}
+  \colorlet{solarizedRebase02}{solarizedBase02}
+  \colorlet{solarizedRebase01}{solarizedBase01}
+  \colorlet{solarizedRebase00}{solarizedBase00}
+  \colorlet{solarizedRebase0}{solarizedBase0}
+  \colorlet{solarizedRebase1}{solarizedBase1}
+  \colorlet{solarizedRebase2}{solarizedBase2}
+  \colorlet{solarizedRebase3}{solarizedBase3}
+}{
+  %% Light
+  \colorlet{solarizedRebase03}{solarizedBase3}
+  \colorlet{solarizedRebase02}{solarizedBase2}
+  \colorlet{solarizedRebase01}{solarizedBase1}
+  \colorlet{solarizedRebase00}{solarizedBase0}
+  \colorlet{solarizedRebase0}{solarizedBase00}
+  \colorlet{solarizedRebase1}{solarizedBase01}
+  \colorlet{solarizedRebase2}{solarizedBase02}
+  \colorlet{solarizedRebase3}{solarizedBase03}
+}
+
+\mode<presentation>
+
+\setbeamercolor{normal text}{fg=solarizedRebase0, bg=solarizedRebase03}
+\setbeamercolor{alerted text}{fg=solarizedAccent}
+% based css pre element 
+\setbeamercolor{example text}{fg=solarizedRebase1, bg=solarizedRebase02}
+
+% Header and footer from CSS 
+\setbeamercolor{footline}{bg=solarizedRebase02,fg=solarizedRebase01}
+\setbeamercolor{headline}{bg=solarizedRebase01,fg=solarizedRebase1}
+
+% Titles
+\setbeamercolor*{titlelike}{fg=solarizedAccent}
+\setbeamercolor*{frametitle}{fg=solarizedAccent}
+\setbeamercolor*{title}{fg=solarizedAccent}
+
+% Structure elements use css style for header 
+\setbeamercolor*{structure}{bg=solarizedRebase01, fg=solarizedRebase1}
+
+% Do not mess with subtle colors in palette. I don't like it. 
+\setbeamercolor*{palette primary}{bg=solarizedRebase01, fg=solarizedRebase1}
+\setbeamercolor*{palette secondary}{bg=solarizedRebase01, fg=solarizedRebase1}
+\setbeamercolor*{palette tertiary}{bg=solarizedRebase01, fg=solarizedRebase1}
+\setbeamercolor*{palette quaternary}{bg=solarizedRebase01, fg=solarizedRebase1}
+
+% Make Blocks slightly lighter/darker
+\setbeamercolor{block title}{fg=solarizedAccent, bg=solarizedRebase02}
+%\setbeamercolor{block title alerted}{}
+%\setbeamercolor{block title example}{}
+
+\setbeamercolor{block body}{parent=normal text, bg=solarizedRebase02}
+% \setbeamercolor{block body alerted}{}
+% \setbeamercolor{block body example}{}
+
+% same as footline
+% Set Sidebar and footline to use the css style for footer
+\setbeamercolor*{sidebar}{parent=headline}
+\setbeamercolor*{palette sidebar primary}{fg=solarizedRebase01, fg=solarizedRebase1}
+\setbeamercolor*{palette sidebar secondary}{fg=solarizedRebase01, fg=solarizedRebase1}
+\setbeamercolor*{palette sidebar tertiary}{fg=solarizedRebase01, fg=solarizedRebase1}
+\setbeamercolor*{palette sidebar quaternary}{fg=solarizedRebase01, fg=solarizedRebase1}
+
+% border-color for headings
+\setbeamercolor{separation line}{fg=solarizedRebase0}
+\setbeamercolor{fine separation line}{fg=solarizedRebase0}
+
+\setbeamercolor*{section in sidebar shaded}{parent=palette sidebar primary}
+% a.hover.navlink in CSS
+\setbeamercolor*{section in sidebar}{parent=palette sidebar primary, fg=solarizedRebase02}
+\setbeamercolor*{subsection in sidebar}{parent=section in sidebar}
+\setbeamercolor*{subsection in sidebar shaded}{parent=section in sidebar shaded}
+
+\mode
+<all>
+
diff --git a/presentations/HACK.LU-2014/presentation/attacks/content.tex b/presentations/HACK.LU-2014/presentation/attacks/content.tex
new file mode 100644 (file)
index 0000000..bf95d57
--- /dev/null
@@ -0,0 +1,482 @@
+
+\begin{frame}{Internet Dark Ages}
+
+  \begin{itemize}
+    \item SSLv1 engineered at Netscape, never released to the public
+    \item Kipp Hickman of Netscape introduces SSLv2 as an IETF draft back in 1995:
+      \newline
+      \newline
+      \texttt{The SSL Protocol is designed to provide privacy between two communicating applications (a client and a server). Second, the protocol is designed to authenticate the server, and optionally the client. [...]}
+  \end{itemize}
+  \vspace{50px}
+
+  \tiny\url{http://tools.ietf.org/html/draft-hickman-netscape-ssl-00}
+
+\end{frame}
+
+\begin{frame}{Internet Dark Ages}
+  \begin{itemize}
+    \item SSLv2 was fundamentally broken and badly designed. Basically full loss of Confidentiallity and integrity of on-wire data thus susceptible to MITM attacks, see: \url{http://osvdb.org/56387}
+    \item CipherSpec is sent in the clear
+    \item Size of Block-cipher padding is sent in the clear
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{Internet Dark Ages}
+  \begin{itemize}
+    \item SSLv3 was introduced in 1996 by Paul Kocher, Phil Karlton and Alan Freier, utilizing an algoritm by Taher ElGamal, a known cryptographer and Chief Scientist at Netscape at the time: \url{https://tools.ietf.org/html/rfc6101}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{Internet Dark Ages}
+  On a side note; back then the choice algorithms was limited and export ciphers (low security) common as recommended by NSA and mandated by US law. Google: ``Bernstein vs. United States''
+  \begin{itemize}
+    \item encryption algorithms (Confidentiality): NULL, FORTEZZA-CBC (NSA), IDEA-CBC, RC2-CBC-40 (40bit security), RC4-128, DES40-CBC (40bit security), DES-CBC (56bit security), Triple-DES-EDE-CBC
+    \item hash functions (integrity): NULL, MD5 and SHA
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{Internet Dark Ages}
+  David Wagner and Bruce Schneier publish a paper entitled ``Analysis of the SSL 3.0 protocol'':
+  \begin{itemize}
+    \item Keyexchange algorithm rollback
+    \item Protocol fallback to SSLv2
+    \item Protocol leaks known plaintexts - may be used in cryptanalysis 
+    \item Replay attacks on Anonymous DH (don't use it anyway!)
+  \end{itemize}
+
+  \vspace{50px}
+
+  \tiny\url{https://www.schneier.com/paper-ssl.pdf}
+\end{frame}
+
+\begin{frame}{TLS appears}
+  1999. The SSL protocol is renamed to TLS (version 1) with little improvements over SSLv3. The spec. is almost identical.
+  \begin{itemize}
+    \item Diffie-Hellman, DSS and Triple-DES are now required by implementors
+    \item most SSLv3 security issues are still present in TLS 1.0
+  \end{itemize}
+  (RFC2246)
+\end{frame}
+
+\begin{frame}{TLS gets padding attacks}
+  2002. Vaudenay publishes a paper entitled ``Security Flaws Induced by CBC Padding
+Applications to SSL, IPSEC, WTLS...'' 
+  \begin{itemize}
+    \item Side-channel attack on CBC mode padding
+    \item valid/invalid padding causes different reactions
+    \item can be used to influence decryption operations
+    \item introduces ``padding oracle attacks'' in SSL
+  \end{itemize}
+
+  \vspace{50px}
+
+  \tiny\url{http://www.iacr.org/cryptodb/archive/2002/EUROCRYPT/2850/2850.pdf}
+\end{frame}
+
+\begin{frame}{TLS gets extended}
+  2003. TLS extensions get specified in RFC3546.
+  \begin{itemize}
+    \item General: Extended Handshake, ClientHello and ServerHello
+    \item Server Name Indication (SNI) for virtual hosting\\(SNI leaks metadata!)
+    \item Certificate Status Request (CSR) support via OCSP
+    \item (...)
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{TLS gets timing attacks}
+  2003. Brumley and Boneh publish a paper entitled ``Remote timing attacks are practical''.
+  \newline
+  \newline
+  Timing attack on RSA in SSL/TLS implementations (OpenSSL):
+  \begin{itemize}
+    \item Send specially crafted ClientKeyExchange message
+    \item Mesure time between ClienyKeyExchange and Alert response
+    \item do a bit of statistics
+    \item retrieve Private Key
+  \end{itemize}
+
+  \vspace{50px}
+
+  \tiny\url{http://dl.acm.org/citation.cfm?id=1251354}
+\end{frame}
+
+\begin{frame}{TLS gets padding oracle password retrieval}
+  2003. Canvel, Hiltgen, Vaudenay, Vuagnoux publish ``Password Interception in a SSL/TLS Channel''.
+  \newline
+  \newline
+  Extend earlier work of Vaudenay and successfully intercept IMAP passwords in TLS channels.
+
+  \vspace{95px}
+
+  \tiny\url{http://www.iacr.org/cryptodb/archive/2003/CRYPTO/1069/1069.pdf}
+\end{frame}
+
+\begin{frame}{TLS gets chosen plaintext attacks}
+  2004 \& 2006. Bard demonstrates Chosen-Plaintext Attacks against SSL and TLS1.0
+  \newline
+  \newline
+  Attack on CBC:
+  \begin{itemize}
+    \item CBC exchanges an Initialization Vector (IV) during Handshake
+    \item these IVs turn out to be predictable
+    \item PINs and Passwords can be decrypted
+    \item VPNs/Proxies can also be used to accomplish this task
+  \end{itemize}
+  
+  \vspace{50px}
+
+  \tiny
+  \url{https://eprint.iacr.org/2004/111}\\
+  \url{https://eprint.iacr.org/2006/136}
+\end{frame}
+
+\begin{frame}{TLS gets updated}
+  2006. A new TLS protocol version is standardized: TLS 1.1
+  \begin{itemize}
+    \item EXPORT ciphers removed
+    \item Session resumption 
+    \item Protection against the CBC attacks by Bard
+    \item IANA TLS parameters standardized
+    \item (...)
+  \end{itemize}
+   (RFC4346)
+\end{frame}
+
+\begin{frame}{TLS gets modern crypto}
+  2008. A new TLS protocol version is standardized: TLS 1.2
+  \begin{itemize}
+    \item MD5/SHA1 removed as pseudorandom function (PRF)
+    \item configurable PRFs in ciphersuites (e.g. SHA256)
+    \item Authenticated encryption: CCM, GCM
+    \item AES ciphersuites
+    \item (...)
+  \end{itemize}
+   (RFC5246)
+\end{frame}
+
+\begin{frame}{Rouge CA Certificates}
+  2008. Sotirov, Stevens, Appelbaum, Lenstra, Molnar, Osvik and de Weger present a paper based on earlier work by Lenstra et al. at 25c3 entitled ``MD5 considered harmful today''
+
+  \begin{itemize}
+    \item MD5 Hash-collision of a CA Certificate
+    \item Create colliding (rouge) CA Certificates
+    \item Generate any Certificate for MITM you want
+  \end{itemize}
+
+  \vspace{60px}
+
+  \tiny
+  \url{http://www.win.tue.nl/hashclash/rogue-ca/}\\
+  \url{https://www.youtube.com/watch?v=PQcWyDgGUVg}\\
+\end{frame}
+
+\begin{frame}{sslstrip}
+  2009. Moxie Marlinspike releases \emph{sslstrip} at BlackHat DC 2009.
+
+  \begin{itemize}
+    \item Client connects to server
+    \item Attacker intercepts session via MITM
+    \item Attacker sends HTTP 301 (moved permanently)
+    \item Attacker forwards requests to/from server via SSL/TLS
+    \item Client receives data via unencrypted channel
+    \item Attacker reads plaintext
+  \end{itemize}
+  
+  \vspace{50px}
+
+  \tiny
+  \url{http://www.thoughtcrime.org/software/sslstrip}\\
+  \url{http://vimeo.com/50018478}
+\end{frame}
+
+\begin{frame}{Null-prefix attacks against Certificates}
+  2009. Moxie Marlinspike publishes ``Null prefix Attacks against SSL/TLS Certificates''.
+
+  \begin{itemize}
+    \item Specially crafted domain strings trick CA checking
+    \item null-terminate stuff in a domain name
+    \item ex.: \texttt{www.paypal.com\textbackslash0.thoughtcrime.org} is valid
+    \item ex.: \texttt{*\textbackslash0.thoughtcrime.org} is valid
+    \item CA ignores prefix 
+    \item Client does not -> Certificate valid for prefix
+  \end{itemize}
+  Moxie updated his \emph{sslsniff} project to carry out this attack.
+  
+  \vspace{30px}
+
+  \tiny
+  \url{http://www.thoughtcrime.org/papers/null-prefix-attacks.pdf}\\
+  \url{http://thoughtcrime.org/software/sslsniff}
+\end{frame}
+
+
+\begin{frame}{SSLv2 Forbidden}
+  2011. IETF publishes and standardized a RFC to prohibit negotiation and thus compatibility of SSLv2 in TLS1.0-1.2 entirely. 
+  
+  \vspace{140px}
+
+  \tiny
+  \url{https://tools.ietf.org/html/rfc6176}
+\end{frame}
+
+\begin{frame}{Comodo}
+  2011. Comodo CA: Attacker issues 9 certificates via reseller account for popular domains (google.com, yahoo.com, live.com, skype.com [...])
+  
+  \vspace{160px}
+
+  \tiny
+  \url{https://www.comodo.com/Comodo-Fraud-Incident-2011-03-23.html}
+\end{frame}
+
+\begin{frame}{BEAST}
+  2011. Doung and Rizzo publish the BEAST attack at ekoparty and demo a live attack on PayPal. Based on Bards earlier work on predictable IVs in CBC:
+  \begin{itemize}
+    \item Phishing gets victim to visit a certain website
+    \item Script on said website makes request to genuine site
+    \item Attacker records encrypted cookie information
+    \item Tries to guess session-cookie with known CBC attack
+  \end{itemize}
+  Same Origin Policy (SOP) forbids this attack in client software. If SOP can be bypassed (as shown by the authors with Java's SOP) this attack is still practical.
+  
+  \vspace{30px}
+
+  \tiny
+  \url{http://vnhacker.blogspot.co.at/2011/09/beast.html}
+\end{frame}
+
+
+\begin{frame}{Trustwave}
+  2012. Trustwave CA: Trustwave sells subordinate CAs to big corporations to be used for Deep Packet Inspection.
+  \newline
+  \newline
+  A sub-CA can issue and fake any certificate for MITM attacks.
+
+
+  \vspace{80px}
+
+  \tiny
+  \url{http://blog.spiderlabs.com/2012/02/clarifying-the-trustwave-ca-policy-update.html}
+  \url{http://arstechnica.com/business/2012/02/critics-slam-ssl-authority-for-minting-cert-used-to-impersonate-sites/}
+\end{frame}
+
+\begin{frame}{DigiNotar}
+  2012. DigiNotar CA: Attackers compromise DigiNotar in it's entirety.
+
+  \begin{itemize}
+    \item attackers generate tons of certificates
+    \item Google Chromes certificate store detects mismatches
+    \item DigiNotar acknowledges breach
+    \item DigiNotar files for bankrupcy
+    \item FOX-IT never gets paid for the investigation
+  \end{itemize}
+
+
+  \vspace{30px}
+
+  \tiny
+  \url{https://en.wikipedia.org/wiki/DigiNotar}\\
+  \url{http://cryptome.org/0005/diginotar-insec.pdf}\\
+  \url{http://nakedsecurity.sophos.com/2011/09/05/operation-black-tulip-fox-its-report-on-the-diginotar-breach}\
+
+\end{frame}
+
+\begin{frame}{Certificate validation in non-browser software}
+  2012. Georgiev, Iyengar, Jana, Anubhai, Boneh and Shmatikov publish a paper entitled ``The most dangerous code in the world: validating SSL certificates in non-browser software''
+  \newline
+  \newline
+  Certificate validation vulnerabilities in:
+  \begin{itemize}
+    \item OpenSSL
+    \item GnuTLS
+    \item JSSE
+    \item EC2 Java libraries \& Amazon SDKs
+    \item PayPal SDKs
+    \item eCommerce/WebShop software
+    \item ..cURL, PHP, Python, tons of Java middleware
+  \end{itemize}
+
+  \tiny
+  \url{https://crypto.stanford.edu/~dabo/pubs/abstracts/ssl-client-bugs.html}
+\end{frame}
+
+\begin{frame}{CRIME}
+  2012. Doung and Rizzo publish an attack against TLS Compression and SPDY titled CRIME.
+
+  \begin{itemize}
+    \item MITM attacker sees length of compressed ciphertext
+    \item compression has direct affect on the length
+    \item attacker makes client compress/encrypt data (or uses known data) with secret data
+    \item attacker compares
+    \item correct guesses yield shorter messages due to compression
+    \item repeat until done
+  \end{itemize}
+  This is only feasible for small amounts of data, e.g. session strings, cookies and so forth.
+  
+  \vspace{10px}
+
+  \tiny
+  \url{https://isecpartners.com/blog/2012/september/details-on-the-crime-attack.aspx}
+\end{frame}
+
+\begin{frame}{TIME}
+  2013. Be'ery and Shulman present TIME at BlackHat Europe. Extend on the CRIME Attack:
+  \begin{itemize}
+    \item Attacker generates HTTP requests (XSS, injection,..)
+    \item Attacker exploits SOP design flaw and measures RTT differences
+    \item determines correct or failed guesses by SOP timing leak
+  \end{itemize}
+  
+  \vspace{70px}
+
+  \tiny
+  \url{https://media.blackhat.com/eu-13/briefings/Beery/bh-eu-13-a-perfect-crime-beery-wp.pdf}\\
+  \url{https://www.youtube.com/watch?v=rTIpFfTp3-w}
+\end{frame}
+
+\begin{frame}{Lucky13}
+  2013. AlFardan and Paterson present a novel attack against CBC for TLS and DTLS based on timing analysis.
+  \begin{itemize}
+    \item Attacker intercepts and modifies a message including padding
+    \item Attacker tempers with the padding of the message
+    \item MAC computation takes longer during decryption process
+    \item Attacker repeats and measures
+    \item Attacker performs padding oracle attack described earlier
+    \item (Extremely latency sensitive attack)
+  \end{itemize}
+
+  \vspace{50px}
+
+  \tiny
+  \url{http://www.isg.rhul.ac.uk/tls/Lucky13.html}\\
+  \url{http://www.isg.rhul.ac.uk/tls/TLStiming.pdf}
+\end{frame}
+
+\begin{frame}{RC4 Biases}
+  2013. AlFardan, Bernstein, Paterson, Poettering and Schuldt publish a generic attack on the RC4 cipher for TLS and WPA.
+  \begin{itemize}
+    \item Statistical biases in the first 257 bytes of ciphertext
+    \item Recovery of the first 200 bytes after $2^{28}$ to $2^{32}$ encryption operations of the same plaintext
+    \item A broadcast attack: mounted on unique keys
+    \item May also be mounted with a single key with repeating target plaintexts
+    \item Only feasible for large amounts of data and very time consuming
+  \end{itemize}
+  
+  \vspace{20px}
+
+  \tiny
+  \url{http://www.isg.rhul.ac.uk/tls}\\
+  \url{http://www.isg.rhul.ac.uk/tls/RC4biases.pdf}
+\end{frame}
+
+\begin{frame}{NIST curves}
+  2013 \& 2014. Daniel J. Bernstein and Tanja Lange voice concern about the NIST Elliptic Cuves that are widely implemented and used in TLS for ECDH and ECDSA
+  \begin{itemize}
+    \item NIST curves defined on recommendations by NSA's Jerry Solinas
+    \item Unclear why these curves and their parameters were chosen
+    \item NIST cites efficiency: more efficient and secure curves available
+    \item Possible mathematical backdoor through previous analysis and carefully chosen and unexplained parameters
+    \item Start SafeCurves project (ongoing)
+  \end{itemize}
+  
+
+  \tiny
+  \url{http://www.hyperelliptic.org/tanja/vortraege/20130531.pdf}\\
+  \url{http://cr.yp.to/talks/2013.09.16/slides-djb-20130916-a4.pdf}\\
+  \url{http://safecurves.cr.yp.to}\\
+  \url{https://archive.org/details/ShmooCon2014_SafeCurves}
+\end{frame}
+
+\begin{frame}{BREACH}
+  2013. Gluck, Harris and Prado demonstrate yet another attack based on CRIME at BlackHat USA.
+  \newline
+  \newline
+  Very similar to CRIME but the attack works based on information leaks from HTTP compression instead of TLS compression.
+  
+  \vspace{80px}
+
+  \tiny
+  \url{http://breachattack.com}\\
+  \url{https://www.youtube.com/watch?v=CoNKarq1IYA}
+\end{frame}
+
+\begin{frame}{Unused Certificates in Truststores}
+  2014. Perl, Fahl, Smith publish a paper entitled ``You Won't Be Needing These Any More: On Removing Unused Certificates From Trust Stores''
+  \begin{itemize}
+    \item Compared 48 mio. HTTP certificates
+    \item 140 CA Certificates are unused in all major trust stores
+    \item Of 426 trusted root certificates only 66\% are even used
+  \end{itemize}
+
+  
+  \vspace{70px}
+
+  \tiny
+  \url{http://fc14.ifca.ai/papers/fc14_submission_100.pdf}
+\end{frame}
+
+\begin{frame}{Triple Handshakes Considered Harmful}
+  2014. Bhargavan, Delignat-Lavaud, Pironti, Langley and Ray present an attack one day before the IETF'89 meeting in London.
+  \begin{itemize}
+    \item Limited to client-certificate authentication with renegotiation
+    \item MITM attack on renegotiation with a three-way handshake
+    \item Variations of the attack also discussed on their website
+    \item Can't possibly fit this into one slide, homework: understand the attack by reading their excellent description on the website
+  \end{itemize}
+
+  
+  \vspace{50px}
+
+  \tiny
+  \url{https://secure-resumption.com}\\
+  \url{https://secure-resumption.com/IETF-triple-handshakes.pdf}
+\end{frame}
+
+\begin{frame}{Frankencerts}
+  2014. Brubaker, Jana, Ray, Khurshid and Shmatikovy publish a paper entitled ``Using Frankencerts for Automated Adversarial Testing of Certificate Validation in SSL/TLS Implementations''
+  \begin{itemize}
+    \item Fuzzing of X.509 related code in all major implementations shows serious weaknesses in certificate validation and handling
+    \item OpenSSL, NSS, GnuTLS, MatrixSSL, PolarSSL, CyaSSL, cyptlib [...]
+  \end{itemize}
+
+  
+  \vspace{50px}
+
+  \tiny
+  \url{https://www.cs.utexas.edu/~shmat/shmat_oak14.pdf}\\
+  \url{https://github.com/sumanj/frankencert}
+\end{frame}
+
+\begin{frame}{Heartbleed}
+  2014. Heartbleed is independently discovered by Codenomicon and a Google Security engineer.
+  \newline
+  \newline
+  Faulty implementation in OpenSSL of the TLS Heartbleed extension leaks memory content over the wire. This has been all over the media and discussed in detail all over the internet. People have successfully extracted sensitive information (password files et cetera) from victim memory.
+  \newline
+  \newline
+  I wrote an nmap plugin to scan for Heartbleed: \url{https://github.com/azet/nmap-heartbleed}
+
+  \vspace{30px}
+
+  \tiny
+  \url{http://heartbleed.com}
+\end{frame}
+
+\begin{frame}{Virtual Host Confusion}
+  2014. At BlackHat Delignat-Lavaud presents an attack based on SSLv3 downgrade and sharing of session caches
+  \begin{itemize}
+    \item Attacker forces downgrade to SSLv3
+    \item For SSLv3: larger deployments share session caches
+    \item attacker exploits a server vulnerability where session caches are reused
+    \item attacker requests different subdomain with SSLv3 using the same session
+    \item vulnerable server will allow connection w/o authentication
+    \item www.company.com vs git.company.com
+  \end{itemize}
+  \tiny
+  \url{https://bh.ht.vc}
+\end{frame}
+
+\begin{frame}{POODLE}
+  2014. POODLE
+\end{frame}
+
diff --git a/presentations/HACK.LU-2014/presentation/attacks/lambda.png b/presentations/HACK.LU-2014/presentation/attacks/lambda.png
new file mode 100644 (file)
index 0000000..91f07e2
Binary files /dev/null and b/presentations/HACK.LU-2014/presentation/attacks/lambda.png differ
diff --git a/presentations/HACK.LU-2014/presentation/attacks/makefile b/presentations/HACK.LU-2014/presentation/attacks/makefile
new file mode 100644 (file)
index 0000000..ac8f60b
--- /dev/null
@@ -0,0 +1,22 @@
+TALK     := presentation.pdf
+TEX_SUFS := .aux .log .nav .out .snm .toc .vrb .fdb_latexmk .fls
+
+%.pdf:%.tex
+       latexmk -pdf $<
+
+all: $(TALK)
+genocide: clean clean-pdf clean-generated
+
+markdown:
+       pandoc content.md --slide-level 2 -t beamer -o contentgenerated.tex
+
+clean:
+       $(RM) $(foreach suf, ${TEX_SUFS}, $(TALK:.pdf=${suf})) *~
+       $(RM) -r auto
+
+clean-pdf:
+       $(RM) *.pdf
+
+clean-generated:
+       $(RM) *generated*
+
diff --git a/presentations/HACK.LU-2014/presentation/attacks/presentation.tex b/presentations/HACK.LU-2014/presentation/attacks/presentation.tex
new file mode 100644 (file)
index 0000000..0bd19ad
--- /dev/null
@@ -0,0 +1,97 @@
+%% Author:  Aaron <azet@azet.org> Zauner
+%% License: https://creativecommons.org/licenses/by-nc-nd/4.0/
+
+%% theme and colorscheme
+\documentclass[hyperref={draft}]{beamer}
+\usecolortheme[dark,accent=white]{modifiedsolarized}
+\beamertemplatetransparentcovered
+\setbeamertemplate{navigation symbols}{}
+
+%% packages
+\usepackage[light,math]{iwona}
+\usepackage[T1]{fontenc}
+\usepackage{textpos}
+\usepackage{tikz}
+\usepackage{mathtools}
+\usepackage{appendixnumberbeamer}
+
+%% footer
+\setbeamertemplate{footline}[text line]{%
+  \parbox{\linewidth}{\vspace*{-15pt}
+          \insertdate \hfill \inserttitle \newline
+          \insertshortauthor \hfill \insertframenumber/\inserttotalframenumber
+         }}
+\setbeamertemplate{navigation symbols}{}
+
+%% title
+\title{Bettercrypto - Applied Crypto Hardening for Sysadmins}
+\subtitle{Attacks}
+
+%% author and affilliation
+\author[Aaron Zauner]{Aaron Zauner\\
+        \textit{azet@azet.org}}
+\institute{BetterCrypto.org}
+
+%% venue and date
+\date{Hack.lu - 21/10/2014}
+
+
+%% main
+\begin{document}
+
+% enables straight single quote
+\makeatletter
+\let \@sverbatim \@verbatim
+\def \@verbatim {\@sverbatim \verbatimplus}
+{\catcode`'=13 \gdef \verbatimplus{\catcode`'=13 \chardef '=13 }} 
+\makeatother
+
+% enables backticks in verbatim
+\makeatletter
+{\catcode`\`=13
+\xdef\@verbatim{\unexpanded\expandafter{\@verbatim}\chardef\noexpand`=18 }
+}
+\makeatother
+
+{
+\setbeamertemplate{footline}{}
+
+\begin{frame}
+  \titlepage
+\end{frame}
+
+}
+\addtocounter{framenumber}{-1}
+
+{
+\setbeamertemplate{footline}{}
+
+\begin{frame}
+  \tableofcontents
+\end{frame}
+
+}
+\addtocounter{framenumber}{-1}
+
+
+%\addtobeamertemplate{frametitle}{}{%
+%  \begin{tikzpicture}[remember picture,overlay]
+%    \node[anchor=north east,yshift=1pt] at (current page.north east) {
+%      \includegraphics[height=30px]{lambda}
+%    };
+%  \end{tikzpicture}
+%}
+
+
+\IfFileExists{contentgenerated.tex}{\input{"contentgenerated.tex"}}{\input{"content.tex"}}
+
+
+%% appendix
+%\appendix
+%\begin{frame}{Bonus Slides}
+%blablabla
+%\end{frame}
+
+
+\end{document}
+