Seitenkanalangriffe im Web Sebastian Schinzel Friedrich-Alexander Universität Erlangen-Nürnberg Lehrstuhl für Informatik 1 IT-Sicherheitsinfrastrukturen Supported by Deutsche Forschungsgemeinschaft (DFG) as part of SPP 1496 Reliably Secure Software Systems
Seitenkanäle im realen Leben And Bomb The Anchovies - http://www.time.com/time/magazine/article/0,9171,970860,00.html 2
Timing Seitenkanäle Beispielhafter Kontrollfluss einer Login-Seite Mehrer Kontrollflüsse führen zu verschiedenen Ausführungszeiten exists? locked? Error page Zeitdifferenz zwischen Kontrollflüssen ist messbar Angreifer kann gültige Benutzernamen herausfinden Siehe: http://www1.cs.fau.de/side-channels 3 expired? Password correct?...
Timing Seitenkanäle 1 Beispielhafter Kontrollfluss einer Login-Seite Mehrer Kontrollflüsse führen zu verschiedenen Ausführungszeiten exists? locked? Error page Zeitdifferenz zwischen Kontrollflüssen ist messbar Angreifer kann gültige Benutzernamen herausfinden Siehe: http://www1.cs.fau.de/side-channels 3 expired? Password correct?...
Timing Seitenkanäle 1 Beispielhafter Kontrollfluss einer Login-Seite Mehrer Kontrollflüsse führen zu verschiedenen Ausführungszeiten exists? locked? Error page 2 Zeitdifferenz zwischen Kontrollflüssen ist messbar Angreifer kann gültige Benutzernamen herausfinden Siehe: http://www1.cs.fau.de/side-channels 3 expired? Password correct?...
Versteckte Storage Seitenkanäle: Unterschiede in Protokolldaten, die unsichtbar für den normalen Benutzer sind und mit geheimen Daten korrelieren HTTP Header, Reihenfolge von HTTP-Parametern, Whitespaces,... HTML Meta-Daten $ diff responses/1.content responses/3.content 2c2 < Date: Tue, 22 Jun 2010 17:20:31 GMT --- > Date: Tue, 22 Jun 2010 17:20:37 GMT 8c8 < Last-Modified: Tue, 22 Jun 2010 17:20:34 GMT --- > Last-Modified: Tue, 22 Jun 2010 17:20:38 GMT 122c122 <!!! <input type="hidden" name="challenge" value="35018d1af7184bad10944cb617677c99" /> --- >!!! <input type="hidden" name="challenge" value="b50cbc351f525fcad0cb0fc97e080b29" /> 4
Versteckte Storage Seitenkanäle: Unterschiede in Protokolldaten, die unsichtbar für den normalen Benutzer sind und mit geheimen Daten korrelieren HTTP Header, Reihenfolge von HTTP-Parametern, Whitespaces,... HTML Meta-Daten $ diff responses/1.content responses/3.content 2c2 < Date: Tue, 22 Jun 2010 17:20:31 GMT --- > Date: Tue, 22 Jun 2010 17:20:37 GMT 8c8 < Last-Modified: Tue, 22 Jun 2010 17:20:34 GMT --- > Last-Modified: Tue, 22 Jun 2010 17:20:38 GMT 122c122 <!!! <input type="hidden" name="challenge" value="35018d1af7184bad10944cb617677c99" /> --- >!!! <input type="hidden" name="challenge" value="b50cbc351f525fcad0cb0fc97e080b29" /> zeitabhängige Unterschiede zeitabhängige Unterschiede zufällige Unterschiede 4
Resultate (1/2) Weit verbreitetes Content Management System verrät Informationen über die Reihenfolge der HTTP-Header Existiert ein gegebener Benutzer? 5
Resultate (1/2) Weit verbreitetes Content Management System verrät Informationen über die Reihenfolge der HTTP-Header Existiert ein gegebener Benutzer? n-existent user name (s=0) HTTP/1.1 200 OK Date: Mon, 25 Jan 2010 11:47:55 GMT Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny4 with Suhosin-Patch X-Powered-By: PHP/5.2.6-1+lenny4 Expires: Thu, 19 v 1981 08:52:00 GMT Last-Modified: Mon, 25 Jan 2010 11:47:55 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Vary: Accept-Encoding Content-Type: text/html;charset=iso-8859-1 Content-Length: 5472 Existing user name (s=1) HTTP/1.1 200 OK Date: Mon, 25 Jan 2010 11:47:45 GMT Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny4 with Suhosin-Patch X-Powered-By: PHP/5.2.6-1+lenny4 Expires: 0 Cache-Control: no-cache, must-revalidate Pragma: no-cache Last-Modified: Mon, 25 Jan 2010 11:47:45 GMT Vary: Accept-Encoding Content-Type: text/html;charset=iso-8859-1 Content-Length: 5472 5
Resultate (2/2) Online-Gallerie verrät Informationen über private Bilder: 6
Resultate (2/2) Online-Gallerie verrät Informationen über private Bilder: 7 public images, 0 private image (s=0) <div style='float:left'>pictures - <a href='display.php?t=bycat&q=4&nr=7&st=0&upto=12&p=1'> <span style='color:#fff'>other</span> </a> </div> 7 public images, 1 private image (s=1) <div style='float:left'>pictures - <a href='display.php?t=bycat&q=4&nr=8&st=0&upto=12&p=1'> <span style='color:#fff'>other</span> </a> </div> 6
Literatur: [1] Felix C. Freiling and Sebastian Schinzel. Detecting Hidden Storage Side Channel Vulnerabilities in Networked Applications. IFIP sec2011 - Future Challenges in Security and Privacy for Academia and Industry http://sebastian-schinzel.de/_download/ifip-sec2011.pdf [E. W. Felten and M. A. Schneider. Timing attacks on web privacy. In SIGSAC: 7th ACM Conference on Computer and Communications Security. ACM SIGSAC, 2000] [A. Bortz and D. Boneh. Exposing private information by timing web applications. In C. L. Williamson, M. E. Zurko, P. F. Patel-Schneider, and P. J. Shenoy, editors, WWW, pages 621 628. ACM, 2007] [ Y. Nagami, D. Miyamoto, H. Hazeyama, and Y. Kadobayashi. An independent evaluation of web timing attack and its countermeasure. In Third International Conference an Availability, Reliability and Security (ARES), pages 1319 1324. IEEE Computer Society, 2008.] [Shuo Chen and Rui Wang 0010 and XiaoFeng Wang and Kehuan Zhang, Side-Channel Leaks in Web Applications: A Reality Today, a Challenge Tomorrow, IEEE Symposium on Security and Privacy, pp. 191-206, IEEE Computer Society, 2010] 7
Danke für Ihre Aufmerksamkeit! Diskussion... Web: http://sebastian-schinzel.de/ Twitter: https://twitter.com/seecurity 8