Dieser Kurs vermittelt den für PHP-Entwickler unverzichtbaren Grundlagen, um deren Anwendungen wirksam gegen aktuelle Internetangriffe zu wappnen. Dabei werden Webschwachstellen anhand praxisnaher PHP-Beispiele erläutert und dabei die OWASP Top Ten erweitert. Behandelt werden unter anderem diverse Injektionsangriffe, Skriptinjektionen, Angriffe auf die Session-Verarbeitung in PHP, unsichere direkte Objektreferenzen sowie Probleme beim Dateiupload. PHP-bezogene Schwachstellen werden nach den Standardkategorien fehlender oder unzulänglicher Eingabevalidierung, fehlerhafter Fehler- und Ausnahmeverarbeitung, falscher Nutzung von Sicherheitsfeatures sowie zeit- und zustandsbezogenen Problemen zusammengefasst. Im Bereich der letzteren thematisieren wir Angriffe wie das Umgehen von open_basedir, Denial-of-Service über magische Floats oder Hash-Tabellen-Kollisionsangriffe. In allen Fällen setzen sich die Teilnehmer mit den wichtigsten Techniken und Funktionen zur Abmilderung dieser Risiken auseinander.
Besonderes Gewicht wird der clientseitigen Sicherheit beigemessen, wobei Sicherheitsprobleme von JavaScript, Ajax und HTML5 behandelt werden. Zudem werden eine Reihe sicherheitsrelevanter PHP-Erweiterungen vorgestellt, wie etwa hash, mcrypt und OpenSSL für die Kryptographie sowie Ctype, ext/filter und HTML Purifier zur Eingabevalidierung. Die besten Hardening-Praktiken werden im Zusammenhang mit der PHP-Konfiguration (Einstellung von php.ini), Apache und dem Server im Allgemeinen erläutert. Abschliessend gibt es einen Überblick über verschiedene Sicherheitstesttools und -techniken, die Entwickler und Tester nutzen können, darunter Security-Scanner, Penetrationstests und Exploit-Packs, Sniffer, Proxy-Server, Fuzzing-Tools sowie statische Quellcode-Analysatoren.
Sowohl die Einführung in Schwachstellen als auch die Konfigurationspraktiken werden durch zahlreiche praktische Übungen unterstützt, die die Folgen erfolgreicher Angriffe aufzeigen, demonstrieren, wie Sicherheitsmassnahmen angewendet werden können, und die Nutzung verschiedener Erweiterungen und Tools erläutern.
Die Teilnehmenden dieses Kurses werden
- Grundlegende Konzepte der IT-Sicherheit und des sicheren Programmierens verstehen
- Web-Schwachstellen jenseits der OWASP Top Ten kennenlernen und lernen, wie man ihnen ausweicht
- Clientseitige Schwachstellen und bewährte Praktiken für sicheres Programmieren erlernen
- eine praktische Einführung in die Kryptographie erhalten
- verschiedene Sicherheitsfeatures von PHP anwenden können
- typische Programmierfehler kennenlernen und lernen, wie man sie vermeidet
- über aktuelle Schwachstellen des PHP-Frameworks informiert sein
- praktische Kenntnisse im Umgang mit Sicherheitstesttools erwerben
- Literaturquellen und weiterführende Lektüren zu sicheren Programmierpraktiken erhalten
Zielgruppe
Entwickler
Mehr Informationen...