Newer
Older
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>CCC, Hackerkultur und Computer(un)sicherheit</title>
<meta name="description" content="CCC, Hackerkultur und Computer(un)sicherheit">
<meta name="author" content="Heiko Reese">
<meta name="author" content="Martin Vietz">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/black.css" id="theme">
<link rel="stylesheet" href="css/entropia.css">
<!-- Code syntax highlighting -->
<link rel="stylesheet" href="lib/css/zenburn.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
<!--[if lt IE 9]>
<script src="lib/js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<div class="reveal">
<!-- Any section element inside of this container is displayed as a slide -->
<div class="slides">
<h1>CCC, Hackerkultur und Computer(un)sicherheit</h1>
<p>
Heiko Reese <<a href="mailto:heiko@entropia.de">heiko@entropia.de</a>><br>
Martin Vietz <<a href="mailto:martin@entropia.de">martin@entropia.de</a>>
</p>
<p>09.06.2015 Karlsruhe</p>
</section>
<section data-markdown="markdown/ccc.md"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:">
</section>
<section>
<h2>Kernfragen an digitale Erkenntnisse/Beweise</h2>
<ul>
<li>Erkenntnisgüte</li>
<li>Attributierbarkeit</li>
<li>zeitliche Veränderung</li>
<li>strukturelle Grenzen</li>
</ul>
</section>
<li class="fragment">Ursprung Arpanet in der 60ern: Forschungsnetzwerk der DARPA</li>
<li class="fragment">Heute: multinationaler Verbund von Rechnernetzen
<ul>
<li class="fragment">kooperatives Funktionsmodell (»Blümchenwiese«)</li>
<li class="fragment">grenzüberschreitend (wer »regiert« das Internet? → “multistakeholder governance”)</li>
<li class="fragment">ubiquitär: Laptop,
Mobiltelefon, Uhr, Kühlschrank, Insulinpumpe,
Stromzähler, Kernkraftwerk, …</li>
</ul>
<h2>Datentransport im Internet</h2>
<ul>
<li>Daten werden für den Transport in kleine Pakete zerlegt und einzeln transportiert</li>
<li>Quelle und Ziel müssen eindeutig beschrieben werden (Adressierung)</li>
<li>Das Netz muss dafür sorgen, dass Pakete sicher am Ziel ankommen (Routing)</li>
<li>Menschen kommen nicht mit langen Zahlenkolonnen klar, Dinge brauchen nutzerfreundliche Namen (DNS)</li>
</ul>
</section>
<section>
<p>Rechner haben mindestens eine IP-Adresse, mittels derer man ihm Datenpakete schicken kann.</p>
<p class="fragment">Beispiele:<br>
<code>127.0.0.1<br>
8.8.8.8<br>
204.74.99.100<br>
2a02:2e0:3fe:1001:302::
</code>
</p>
</section>
<section>
<h2>IP-Adressen</h2>
<p>Der komplette IP-Adressraum ist initial an fünf <a href="http://de.wikipedia.org/wiki/Regional_Internet_Registry">Regional Internet Registries</a>
vergeben (plus einige Bereiche für den privaten Gebrauch).</p>
<img src="images/Regional_Internet_Registries_world_map.svg" width="60%">
<p class="fragment">Diese unterteilen die Blöcke weiter und vergibt diese an ihre Kunden, welche die Blöcke potentiell weiter
zerstückeln und weitergeben. Dies endet normalerweise nicht beim Endkunden, sondern beim Zugangsprovider.</p>
<p class="fragment">Zugehörigkeit via <code>whois</code> einsehbar. Demo!</p>
</section>
<section>
<h2>IP-Adressen</h2>
<p>IP-Adressen in der Firma/Behörde/daheim werden vom Netzwerkadministrator des lokalen Netzwerkes vergeben.
Bei Otto Normalverbraucher kümmert sich der »DSL-Plastikrouter« darum.</p>
<p class="fragment">Diese Vergabe passiert oft automatisiert und nur für eine bestimmte Zeit. Wenn Kollege X
jetzt IP-Adresse Y hat, sagt das erstmal nichts darüber aus, welche IP-Adresse er gestern hatte.</p>
</section>
<section data-background="#eeeeee" data-transition="none" data-transition-speed="fast">
<h2>Schema IP-Paket</h2>
<img class="fsimg" src="images/ip-packet_v4_plain.svg">
</section>
<section data-background="#eeeeee" data-transition="none" data-transition-speed="fast">
<h2>Schema IP-Paket (vereinfacht)</h2>
<img class="fsimg" src="images/ip-packet_v4_annotated.svg">
</section>
<section>
<h2>Routing</h2>
<p>Wie kommen jetzt Datenpakete von Rechner A zu Rechner B?</p>
<p>Wir fangen mal klein an und bauen uns ein überschaubares Netzwerk ohne
Internetanschluss.</p>
</section>
<section data-background="#eeeeee" data-transition="none" data-transition-speed="fast">
<h2>ARP/neighbour discovery</h2>
<img class="fsimg" src="images/local_lan_arp_01.svg">
<aside class="notes">
Beispiel: ein Raum voller blinder Personen. Wie untereinander kommunizieren?
</aside>
</section>
<p>Alle Netzanschlüsse (Netzwerkkarte, WiFi) eines Rechners haben eine Hardware-Adresse
(<a href="http://de.wikipedia.org/wiki/MAC-Adresse">MAC — Media Access Control</a>),
mit der diese im <emph>lokale Netzsegment (Kabel-/Luftschnittstelle)</emph> angesprochen
werden können. Diese werden vom Hersteller bei der Produktion vergeben und sind (hoffentlich)
weltweit eindeutig.<p>
<p class="fragment">Beispiel:
<code>00:1d:f3:a3:01:2a</code>
</p>
<p class="fragment">MAC-Adressen sind nur im lokalen Netzsegment und nicht im Internet sichtbar.</p>
</section>
<section data-background="#eeeeee" data-transition="none" data-transition-speed="fast">
<h2>ARP/neighbour discovery</h2>
<img class="fsimg" src="images/local_lan_arp_02.svg">
</section>
<section data-background="#eeeeee" data-transition="none" data-transition-speed="fast">
<h2>ARP/neighbour discovery</h2>
<img class="fsimg" src="images/local_lan_arp_03.svg">
</section>
<section data-background="#eeeeee" data-transition="none" data-transition-speed="fast">
<h2>ARP/neighbour discovery</h2>
<img class="fsimg" src="images/local_lan_arp_04.svg">
</section>
<section data-background="#eeeeee" data-transition="none" data-transition-speed="fast">
<h2>ARP spoofing</h2>
<img class="fsimg" src="images/local_lan_arp_02.svg">
</section>
<section data-background="#eeeeee" data-transition="none" data-transition-speed="fast">
<h2>ARP spoofing</h2>
<img class="fsimg" src="images/local_lan_arp_03.svg">
</section>
<section data-background="#eeeeee" data-transition="none" data-transition-speed="fast">
<h2>ARP spoofing</h2>
<img class="fsimg" src="images/local_lan_arp_05.svg">
<aside class="notes">
"macchanger -r eth0" zeigen. ARP tut nur wegen Blümchenwiese.
</aside>
<h2><a href="http://de.wikipedia.org/wiki/ARP-Spoofing">ARP Spoofing</a></h2>
Durch geschicktes Senden von ARP-Paketen kann ein Angreifer im lokalen Netzsegment
die Identität anderer Rechner annehmen oder sich in die Kommunikation zwischenschalten
(sogenannter <a href="http://de.wikipedia.org/wiki/Man-in-the-Middle-Angriff">Man-in-the-Middle-Angriff</a>).
<p class="fragment">(Demo) <code>macchanger</code>.</p>
</section>
<section>
<h2>Routing</h2>
<p>Wir können jetzt Pakete im lokalen Netzwerk transportieren. Wie kommen meine Pakete jetzt
zu Amazon in den USA?</p>
<p class="fragment">Pakete in unbekannte Netze werden einfach an den sog. »default router« weitergereicht. Der
kennt vll. nicht den Weg zum Ziel, aber kann die Pakete ein Stückchen weiter dorthin bringen</p>
<p class="fragment">Firmen/Behörden haben dafür ein Stück Computerblech im Keller, Otto Normalbürger die schon
erwähnte Plastikbox neben dem Telefonanschluß.</p>
</section>
<section>
<h2>Routing</h2>
<p>Die Router im Internet finden (so möglich) einen Weg von IP-Adresse A zu IP-Adresse B. Der Weg der Pakete (»Route«) ist dabei
nicht statisch, sondern hängt von Faktoren wie Leitungskosten und -ausfällen, Geschäftsbeziehungen, Politik uvm. ab.<p>
<p class="fragment">Routen sind also dynamisch. Ich weiss also weder vorher noch hinterher, ob meine Pakete auf dem Weg
von Karlsruhe nach Frankfurt einmal durch China wandern.</p>
</section>
<section data-background="#eeeeee" data-transition="none" data-transition-speed="fast">
<h2>Und jetzt in Internet-groß!</h2>
<img class="fsimg" src="images/grosses_netz_master.svg">
<section data-markdown="markdown/computer.md"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:">
</section>
</div>
<script src="lib/js/head.min.js"></script>
<script src="js/reveal.js"></script>
<script>
// Full list of configuration options available at:
// https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: true,
transition: 'slide', // none/fade/slide/convex/concave/zoom
// Optional reveal.js plugins
dependencies: [
{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/highlight/highlight.js', async: true, condition: function() { return !!document.querySelector( 'pre code' ); }, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/zoom-js/zoom.js', async: true },
{ src: 'plugin/notes/notes.js', async: true }
]
});
</script>
</body>
</html>