Differenzial Analysen in der PraxisWie man mit Hilfe von Differenzial Analysen die     Zufälligkeit von Werten analysiert....
Credits                  Fly out to: Michael lcamtuf Zalevski (google)for http://lcamtuf.coredump.cx/oldtcp/tcpseq.html   ...
Über mich● Florian scusi Walther● Wohnhaft in Berlin● Über 20 Jahre Computererfahrung● Über 10 Jahre IT-Security Erfahrung...
Was bringt es ? Oder Warum?● Kryptografie ist wichtig im Internet und e-business.● Die Zufälligkeit ist oft wichtiges Krit...
Einsatzgebiete    Überall dort wo es wichtig ist Werte nutzen zu    können die Dritte nicht kennen dürfen/sollen.● Sitzung...
GrundlagenIm Grunde berechnen wir eine saubere drei-dimensionale Representation unserer ein-dimensionalen Eingabedaten.Die...
Delayed coordinatesDie Methode wird vor allem in der Analyse vondynamischen Systemen eingesetzt.Speziell bei non-linearen ...
Delayed coordinatesWir gehen davon aus, daß wir nicht vorhandeneDimensionen rekonstruieren können indem wir vorherige Wert...
Delayed coordinates berechnenWir berechnen die Differenz von einem Wert zuseinem Vorgänger sowie zu seinem Nachfolger.    ...
Nutzung in der PraxisDie Nutzung in der Praxis zeige ich anhand von   Sitzungsschlüsseln (Session-ID) in einer            ...
Vorgehen 1/5     Eine statistisch ausreichende Menge an          SessionID Werten sammeln.    10.000 sollten es schon mind...
Vorgehen 2/5     Werte vorbereiten und bereinigen.sed s/^Cookie: JESSIONID=// COOKIEFILE |
Vorgehen 3/5 Werte normalisieren und ggf. umwandeln.       hexstring2bigint.pl |      C78D060223A08F9FF1488DE3B93FCF8C=> 2...
Vorgehen 4/5     Delayed coordinates aller Werte berechnen.            seq_bigint.pl > cookie.datuse Math::BigInt;@seq = (...
Vorgehen 5/5          Werte visualisierenecho splot "cookie.dat" | gnuplot
Ergebnisse interpretierenDer wichtigste Teil der Übung: Die Ergebnisse             richtig interpretieren.
Einfaches Inkrement (hoch zählen)
Zeitbasierte Werte
Gute Zufälligkeit
Live DemoEinfach mal machen...
Fragen?    Wenn dann jetzt!      Oder später an:florian.walther@gmail.com
DankeVielen Dank für eure Zeit und Aufmerksamkeit!
Nächste SlideShare
Wird geladen in …5
×

Differenzial Analyse in der Praxis (Florian Walther)

1.767 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.767
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Differenzial Analyse in der Praxis (Florian Walther)

  1. 1. Differenzial Analysen in der PraxisWie man mit Hilfe von Differenzial Analysen die Zufälligkeit von Werten analysiert. Florian scusi Walther
  2. 2. Credits Fly out to: Michael lcamtuf Zalevski (google)for http://lcamtuf.coredump.cx/oldtcp/tcpseq.html Randal Acton (ex @stake) for peer review my research Van Hauser (thc.org) for his contributions to this project FtR (phenoelit.org) for his contributions to this project
  3. 3. Über mich● Florian scusi Walther● Wohnhaft in Berlin● Über 20 Jahre Computererfahrung● Über 10 Jahre IT-Security Erfahrung● Seit Mai 2010 Teamlead IT-Security bei VZ
  4. 4. Was bringt es ? Oder Warum?● Kryptografie ist wichtig im Internet und e-business.● Die Zufälligkeit ist oft wichtiges Kriterium für die Sicherheit.● Aber wie soll man die Zufälligkeit testen?
  5. 5. Einsatzgebiete Überall dort wo es wichtig ist Werte nutzen zu können die Dritte nicht kennen dürfen/sollen.● Sitzungsschlüssel● Kennungen, z.B. (temporäre) Nutzerkennungen● Sog. SALT-Werte oder NOUNCEs● Sog. Aktivierungs URLs● Sequenznummern z.B. in TCP/IP●...
  6. 6. GrundlagenIm Grunde berechnen wir eine saubere drei-dimensionale Representation unserer ein-dimensionalen Eingabedaten.Diese Methode ist wissenschaftlich bekannt unterdem Namen delayed coordinates.
  7. 7. Delayed coordinatesDie Methode wird vor allem in der Analyse vondynamischen Systemen eingesetzt.Speziell bei non-linearen Systemen sowie zurAnalyse von deterministischem Chaos.
  8. 8. Delayed coordinatesWir gehen davon aus, daß wir nicht vorhandeneDimensionen rekonstruieren können indem wir vorherige Werte alz zusätzliche Koordinaten verwenden können.
  9. 9. Delayed coordinates berechnenWir berechnen die Differenz von einem Wert zuseinem Vorgänger sowie zu seinem Nachfolger. x[n] = s[n-2] - s[n-3] y[n] = s[n-1] - s[n-2] z[n] = s[n] - s[n-1]
  10. 10. Nutzung in der PraxisDie Nutzung in der Praxis zeige ich anhand von Sitzungsschlüsseln (Session-ID) in einer Webapplikation.
  11. 11. Vorgehen 1/5 Eine statistisch ausreichende Menge an SessionID Werten sammeln. 10.000 sollten es schon mindestens sein!#!/bin/sh# gather.shwhile [ 1 ]do echo -e „GET / HTTP/1.0nn“ | nc -vv $1 80 | grep SESSIONIDdone
  12. 12. Vorgehen 2/5 Werte vorbereiten und bereinigen.sed s/^Cookie: JESSIONID=// COOKIEFILE |
  13. 13. Vorgehen 3/5 Werte normalisieren und ggf. umwandeln. hexstring2bigint.pl | C78D060223A08F9FF1488DE3B93FCF8C=> 265248606882191698065742702371877670796
  14. 14. Vorgehen 4/5 Delayed coordinates aller Werte berechnen. seq_bigint.pl > cookie.datuse Math::BigInt;@seq = ();@x = @y = @z = ();while(<>) { chomp($val = $_); if (length($val) > 0) { push(@seq, $val); }}for ($i = 3; $i < $#seq; $i++) { $o = Math::BigInt->new($seq[$i]); $m1 = Math::BigInt->new($seq[$i-1]); $m2 = Math::BigInt->new($seq[$i-2]); $m3 = Math::BigInt->new($seq[$i-3]); push(@x, scalar $o->bsub($m1)); push(@y, scalar $m1->bsub($m2)); push(@z, scalar $m2->bsub($m3));}for ($i = 0; $i < $#seq; $i++) { if (defined $x[$i]) { print $x[$i] . " " . $y[$i] . " " . $z[$i] . "n"; }}
  15. 15. Vorgehen 5/5 Werte visualisierenecho splot "cookie.dat" | gnuplot
  16. 16. Ergebnisse interpretierenDer wichtigste Teil der Übung: Die Ergebnisse richtig interpretieren.
  17. 17. Einfaches Inkrement (hoch zählen)
  18. 18. Zeitbasierte Werte
  19. 19. Gute Zufälligkeit
  20. 20. Live DemoEinfach mal machen...
  21. 21. Fragen? Wenn dann jetzt! Oder später an:florian.walther@gmail.com
  22. 22. DankeVielen Dank für eure Zeit und Aufmerksamkeit!

×