Archiv für die 'Sicherheit' Kategorie

IPC: Session “Lesser Known Security Problems in PHP Applications”

Donnerstag, 30.10.2008

Stefan Esser hat in seinem Vortrag “Lesser Known Security Problems in PHP Applications” den Schwerpunkt auf weniger bekannter, aber nicht minder gefährliche Sicherheitsprobleme in PHP Anwendungen gelegt. Diese werden in vielen anderen Vorträge zur PHP Security meistens nicht erwähnt oder nur am Rande.

Auch wenn die Folien noch nicht über die IPC Website abrufbar sind (folgt wohl in Kürze), könnt ihr euch diese von einem älteren Vortrag z.B. als PDF hier downloaden oder bei Slideshare anschauen. Inwieweit diese vom gestrigen Vortrag evtl. abweichen, erschließt sich mir nicht auf den ersten Blick. Im wesentlichen stimmen sie aber überein.

Einfach zusammen gefasst kann man seine mit vielen Beispielen gespickten Kernaussagen wie folgt zusammen fassen:

  • $_REQUEST nicht verwenden
  • auto_globals_jit in der php.ini abschalten
  • für jede Anwendung ein eigenes Verzeichnis für die temporären Sessiondaten verwenden und in der Session einen Application Marker verwenden
  • Datenbanktransaktionen für Anwendungstransaktionen verwenden, alle Fehler der Datenbank behandeln
  • den Random Number Generator nicht selber anstossen (seed), keine erstellten Zufallszahlen ausgeben und vor allem keine Zufallszahlen für sicherheitsrelevanten Daten wie Passwörter verwenden

Viele der genannten Sicherheitsprobleme waren mir bisher tatsächlich nicht bekannt, auch wenn ich sie selber gar nicht nutze (wie z.B. $_REQUEST). So konnte ich aus dem Vortrag so einiges mit nehmen. Wer nicht selber da war, sollte sich zumindest die Slides von Stefan anschauen.

Buchvorstellung “PHP-Sicherheit”

Sonntag, 27.08.2006

Das Buch “PHP-Sicherheit” von Christopher Kunz und Peter Prochaska beschäftigt sich sehr umfassend mit dem Thema PHP und Sicherheit. Es ist im dpunkt.verlag erschienen, kostet 36,00 € und umfasst 280 Seiten.

Nach einer kurzen Einleitung mit einem Überblick zum Thema sowie einer Zusammenstellung mit Infoquellen geht es gleich zur Sache. Im Kapitel “Informationsgewinnung” erfährt man sehr aufschlußreich, wie böse Menschen (die uns und unserem Webserver schaden möchten), vorgehen, um sich Infos über die technische Ausstattung, installierte Software und möglicher Sicherheitslücken zusammen zu suchen.

In den nächsten Kapiteln werden dann Themen wie Parametermanipulation mit HTTP Response Splitting, Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF) und SQL-Injection erläutert. Sicherheitskritische PHP Bereiche wie Autorisierung und Authentisierung, Sessions und Upload-Formulare werden ebenso behandelt wie sicherheitsrelevante Konfigurationseinstellungen für PHP, das PHP Hardening Projekt und das Apache Modul mod_security. Der nützliche Anhang hält dann noch einige Übersichten und Checklisten bereit.

Auch wenn gerade beim Thema PHP Sicherheit viel mit Fachtermini hantiert wird, ist das Buch dennoch recht flüssig zu lesen. Besonder Themen wie XSS, CSRF und SQL-Injection waren vorher für mich nur böhmische Dörfer. Ein wenig schade ist es, dass die begleitende Website zum Buch seit einem Foto des Buches aus dem Februar 2006 nicht mehr aktualisiert worden ist. Aktuelle Infos zum Thema wären für alle PHP Entwickler sicher hilfreich.

Fazit: Wer sich intensiver mit dem Thema PHP Security beschäftigen möchte (oder muss), dem kann ich das Buch “PHP-Sicherheit” uneingeschränkt empfehlen. Meiner Meinung nach werden alle wichtigen Aspekte der PHP Sicherheit in diesem Buch abgedeckt.