Secure Development Training für Entwickler
Online-Training mit eigener LAB-Umgebung für praktische Übungen.
Kundenfeedback
Dieses Video wird beim Abspielen von YouTube geladen. Mit dem Abspielen akzeptieren Sie die Datenschutzerklärungen von HVS Consulting / IS-FOX und YouTube.
Kapitelübersicht: Secure Development Training für Entwickler
Die Inhalte sind von Secure-Development-Experten erstellt und in Präsenzschulungen jahrelang erfolgreich umgesetzt und optimiert worden. Alle Szenarien basieren auf typischen OWASP-Top10-Schwachstellen in Applikationen und haben somit höchste Relevanz.
Intro & Let’s hack
Einführung & Grundlagen: Wie läuft das Secure Development Training ab. Warum ist Sicherheit im gesamten Software-Development-Lifecycle so wichtig.
Dazu gleich etwas Hacking zum warm werden:
LAB-Übung: zu schlechtem Exception-Handling und Password-Cracking
Die Übung zeigt, welche Auswirkungen selbst unscheinbare Sicherheitslücken haben können.
Intro & Let’s hack
Grundlagen
Klärung der wichtigsten Secure Development Grundbegriffe:
- Die Schutzziele in der CIA-Triade: Confidentiality (Vertraulichkeit), Integrity (Integrität) und Availability (Verfügbarkeit)
- Die Security-Prinzipien im Secure Development, um diese CIA-Schutzziele zu erreichen: Traue keinem Input, halte Security einfach, minimiere die Angriffsfläche, setze „Defense in Depth“ um, benutze minimale Rechte, sei „Secure by Default“ und löse Security-Probleme immer gründlich
Grundlagen
Implementierungsphase
- Authentication: Welche Fehler werden bei der Authentifizierung oft gemacht und mit welchen einfachen Secure Development Mitteln können Entwickler hier die Sicherheit deutlich erhöhen
- Authorization (Zugriffskontrolle): Was ist der Unterschied zu Authentifizierung
LAB-Übung: Zugriff auf Daten über Direct-Object-Reference. Wie können Entwickler solche Schwachstellen verhindern und wie sieht eine angemessene Zugriffskontrolle aus - Session-Management: Welche Bedrohungen existieren rund um das Session-Management
LAB-Übung: Übernahme einer Session durch Session-Fixation. Wie kann das Session-Management sicher gestaltet werden - Input-Validation, Output-Sanitization und Injection: Was ist eine Injection und welche Formen gibt es
LAB-Übung: Datenmanipulation und Löschung mittels SQL-Injection. Mit welchen Secure Development Mitteln lassen sich Injections verhindern - Cross-Site-Scripting: Welche Arten von Cross-Site-Scripting gibt es
LAB-Übung: zu persistentem Cross-Site-Scripting. Welche Abwehrmaßnahmen sind wirksam. - Kryptographie & Secrets-Management: Welche Arten von Secrets gibt es und welche Formen nehmen sie an (“at rest”, „in transit“ und „in memory“)
LAB-Übung: Systemzugriff über File-Inclusion. Was ist der Unterschied zwischen Verschlüsselung und Enkodierung
LAB-Übung: Dekodierung eines Passwortes in einer Config-Datei. Tipps zum Umgang mit Secrets. - Remote-Code-Execution:
LAB-Übung: Webshell upload. Warum haben RCE-Schwachstellen derart katastrophale Auswirkungen. Wie kann der “Defence in Depth“-Ansatz im Secure Development Lifecycle solche Auswirkungen verringern - Exceptions & Error-Handling: Wie nutzen Hacker Fehlermeldungen und Fehlerroutinen aus. Wie sollte sichere Fehlerbehandlung aussehen
- Application-Logging: Warum ist eine gute Logging-Strategie elementar und was sollten Entwickler besser nicht loggen
LAB-Übung: Vertrauliche Daten in Logdateien. Tipps, wie man zu gutem Logging kommt - Secure-Networking und Infrastruktur: Hacker greifen Systeme an, nicht Software. Welche Schwachstellen gibt es in Übertragungsprotokollen und warum sind Hardening und Patching nicht nur die Aufgabe von Administratoren, sondern auch von Entwicklern.
Implementierungsphase
Validierungsphase
- Code-Reviews: Welche Security-Best-Practices gibt es und wann sollte ein Source-Code-Review durchgeführt werden
- Automatisierte Codeanalysen: Welchen Nutzen haben automatisierte Codeanalysen und welche Module können analysiert werden
- Schwachstellen-Scans: Was bringen automatisierte Schwachstellen-Scans und wo sind deren Grenzen
- Penetrationstests: Warum sind Penetrationstests manchmal unerlässlich
Validierungsphase
Betriebsphase
- Code-Changes: Welche Auswirkungen haben Code-Change auf die Security. Welche Maßnahmen sollten ergriffen werden
- Konfiguration: Wie beeinflusst die Konfiguration die Security
- Patch-Management: Wer ist für das Patching von Systemen verantwortlich und bis wohin LAB-Übung: Ausnutzung einer weiteren RCE Schwachstelle durch eine veraltete Bibliothek
- Decommissioning: Welche Schritte sind zu tun, wenn ein System „End of Life“ ist
Betriebsphase
Viele gute Gründe
Hocheffizientes Training
Mit der Kombination aus E-Learning und LAB können Sie Entwickler auf der ganzen Welt erreichen, gerade auch in Near-Shoring- oder Off-Shoring-Zentren.
Das ist für die Risikoreduktion elementar, denn viele Entwicklungsteams waren bisher für Trainings in dieser Qualitätsstufe kaum erreichbar.
Lernerfolg garantiert
Das Hauptproblem in der Security-Awareness von Entwicklern liegt in der fehlenden Einsicht und Betroffenheit. Im Cyber Security LAB-E-Learning nehmen Ihre Entwickler die Sicht eines Angreifers ein und hacken sich auf verschiedenste Arten durch eine Applikation. Dadurch entsteht eine sehr hohe persönliche Betroffenheit und Verständnis für die Einhaltung der Secure Development Prinzipien. Das ist die Basis für Verhaltensänderung.
International einsetzbar
Das Secure Development Training für Entwickler ist in Deutsch und Englisch verfügbar. Er ist scorm-kompatibel und kann als Cloud-Service oder in Ihrem eigenen LMS bereitgestellt werden. Das englischsprachige Security-LAB für Entwickler enthält eine Webapplikation mit zahlreichen Schwachstellen. Jeder Entwickler erhält sein individuelles LAB und ein Zeitkontingent von 15 Stunden für die Nutzung.
Richtlinien integrierbar
Grundsätzlich benötigt das Secure Development Training keine individuellen Anpassungen. Sie können aber auf Wunsch an bestimmten Stellen Ihre relevanten Dokumente und Richtlinien (Secure-Coding-Checklisten, eingesetzte Kryptosysteme, Code-Analysen, etc.) integrieren. Nebenbei integrieren wir dann natürlich auch Ihr Firmenlogo und benennen Ihre Security-Ansprechpartner.
Faires Preismodell
Das Cyber Security LAB-E-Learning für Entwickler wird nach Schulungsteilnehmer lizenziert. Der Preis für einen Schulungsteilnehmer (inklusive E-Learning-Kurs, LAB-Infrastruktur, Betrieb, Lizenzen, etc.) liegt je nach Teilnehmeranzahl zwischen 80,- und 250,- EUR netto zzgl. MwSt. und kostet somit einen Bruchteil eines vergleichbaren Präsenztrainings, liefert aber quasi denselben Lernerfolg.