Der Java-Web-Security-Workshop setzt der unsicheren Entwicklung von Java-Webanwendungen ein Ende und stellt dazu typische und aktuelle Sicherheitsprobleme in Java-Webanwendungen vor.
Die als Ausgangspunkt eingesetzten OWASP Top 10 2017 schaffen ein erstes Verständnis von möglichen Schwachstellen in individuell entwickelten Webanwendungen. Mit den OWASP Top 10 Proactive Controls 2018 wird es anschließend für jeden Java-Entwickler deutlich einfacher, sichere Webanwendungen zu entwickeln.
Die dabei im Workshop gesammelten Kenntnisse zur sicheren Entwicklung lassen sich in zahlreichen Übungen und Demos gleich praktisch anwenden und das Erlernte so direkt ausprobieren.
Agenda
09:30 - 10:30
* Java (Web) Security
* Security Tools
10:30 - 16:00
* OWASP Top 10 und OWASP Top 10 Proactive Controls
16:00 - 17:00
* Security Header
Technische Anforderungen
Für die Teilnahme an den Übungen sind ein paar technische Grundvoraussetzungen notwendig:
* Eigenes Notebook (Linux, Mac, Windows) mit lokalen Admin-(Root-)Rechten.
* Java 8 (JDK, 32- oder 64 Bit)
* Maven 3.5
* Beliebige Entwicklungsumgebung (Eclipse, IntelliJ IDEA, NetBeans) mit Git und Maven Integration (Git ist optional für den Clone des Beispielrepos erforderlich, die Demo-Anwendungen können alternativ auch aus einem zip-Archiv importiert werden)
* Mozilla Firefox (in anderen Browsern kann es sein, dass manche der Beispielanwendungen nicht korrekt funktionieren, die Verwendung mancher Tools ist u.U. etwas komplizierter)
* Stark in den Rechten eingeschränkte Firmen-Notebooks sind nicht zu empfehlen. Ohne Admin-Rechte kann es bei manchen Übungen bzw. Installation der Tools Probleme geben, ansonsten kann man aber auch mit normalen Rechten die Beispiele nachvollziehen.
Zur Vorbereitung können die folgenden Tools bereits heruntergeladen und installiert werden:
* Firefox FoxyProxy Standard Add-on
* OWASP ZAP Standard https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
* OWASP Dependency Check https://www.owasp.org/index.php/OWASP_Dependency_Check
* Außerdem sollte das Beispielrepo unter https://github.com/dschadow/JavaSecurity geklont werden. Anschließend die Maven-Projekte in die ausgewählte IDE importieren. Auf der root-Ebene des Repositories sollte anschließend ein mvn package ausgeführt werden damit alle notwendigen Dependencies übertragen werden. Bitte kurz vor dem Workshop nochmals ein git pull samt mvn package durchführen damit die aktuellsten Beispiele zur Verfügung stehen.
Falls Sie ein Gerät Ihrer Firma verwenden, überprüfen Sie vorher bitte, ob eines der folgenden, gelegentlich vorkommenden Probleme bei Ihnen auftreten könnte:
* Workshop-Teilnehmer hat keine Administrator-Rechte.
* Corporate Laptops mit übermäßig penibler Sicherheitssoftware
* Gesetzte Corporate-Proxies, über die man in der Firma kommunizieren muss, die aber in einer anderen Umgebung entsprechend nicht erreicht werden.
Vorkenntnisse
Kenntnisse in der Entwicklung von Java-Webanwendungen.
Lernziele
Der Workshop schafft bei den Teilnehmern zunächst ein grundlegendes Bewusstsein für das Thema sichere Softwareentwicklung mit Java. Mit den OWASP Top 10 wird dabei ein Grundverständnis für aktuelle und verbreitete Sicherheitsprobleme geschaffen und so das Verständnis für die Notwendigkeit sicherer Entwicklung geweckt. Die OWASP Top 10 Proactive Controls unterstützen gleichzeitig dabei, diese Sicherheitsprobleme gezielt zu beheben, und zeigen Java-Entwicklern, was sie bei der täglichen Entwicklungsarbeit unbedingt berücksichtigen müssen.
//
Dominik Schadow
@dschadow
besitzt viele Jahre Erfahrung in der Java-Entwicklung und -Beratung und arbeitet als Senior Consultant beim IT-Beratungsunternehmen BridgingIT. Sein Fokus liegt auf der Architektur und Entwicklung von Java-Enterprise-Applikationen und der sicheren Softwareentwicklung mit Java. Er ist regelmäßiger Autor und als Speaker auf zahlreichen Konferenzen vertreten.