Secure-Development- und Coding-Schulung

Online-Kurs mit eigener LAB-Umgebung für praktische Übungen.

Kundenfeedback

Grafische Darstellung einer Bewertung
Dieses Video wird beim Abspielen von YouTube geladen. Mit dem Abspielen akzeptieren Sie die Datenschutzerklärungen von HVS Consulting / IS-FOX und YouTube.

Screenshot aus dem LAB zum Thema Threat Modelling
Screenshot einer Übung
Screenshot aus dem LAB zum Thema SQL
Auszug aus dem LAB
Screenshot aus dem LAB zum Thema XSS
Screenshot einer Testfrage aus dem LAB

Kapitelübersicht: Secure-Development / Secure-Coding 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 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


< >

Security-Basics

Klärung der wichtigsten Grundbegriffe:

  • Die Schutzziele in der CIA-Triade: Confidentiality (Vertraulichkeit), Integrity (Integrität) und Availability (Verfügbarkeit)
  • Die Security-Prinzipien 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

Security-Basics


< >

Implementierungsphase

  • Authentication: Welche Fehler werden bei der Authentifizierung oft gemacht und mit welchen einfachen Mitteln kann man hier die Sicherheit deutlich erhöhen
  • Authorization (Zugriffskontrolle): Was ist der Unterschied zu Authentifizierung
    LAB-Übung: Zugriff auf Daten über Direct-Object-Reference. Wie kann man 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 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 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 sollte besser nicht geloggt werden
    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

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


< >

Test

Abschlusstest mit Multiple-Choice-Fragen:

Bei Bestehen gibt es ein Zertifikat zum Download.

Test


< >

Selbst ausprobieren? Weitere Informationen?

Nehmen Sie mit uns Kontakt auf!
Kontakt

Viele gute Gründe

Visualisierung einer effizienten Schulung
Hocheffiziente Schulung
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 Schulungen in dieser Qualitätsstufe kaum erreichbar.
Visualisierung von Lernerfolg
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 Security-Prinzipien. Das ist die Basis für Verhaltensänderung.
Visualisierung von Internationalität
International einsetzbar
Der Online-Kurs „Cyber Security für Entwickler“ ist in Deutsch und Englisch verfügbar. Er ist scorm-kompatibel und kann als Cloud-Service oder in Ihrem eigenen Lernmanagementsystem (LMS) bereitgestellt werden. Das englischsprachige Security-LAB für Entwickler enthält eine Webapplikation mit zahlreichen Schwachstellen. Jeder Teilnehmer erhält sein individuelles LAB und ein Zeitkontingent von 15 Stunden für die Nutzung.
Visualisierung von integrierten Richtlinien
Richtlinien integrierbar
Grundsätzlich benötigt die Secure-Coding-Schulung 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.
Visualisierung eines fairen Preismodells
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.