Trainings
Auf Basis unserer Erfahrung aus über 13 Jahren bieten wir verschiedene Trainings- und Workshopmodule an, die wir gerne auch auf die Wünsche und Erfordernisse unserer Kunden anpassen. So mag eine solche Veranstaltung in einem Fall eher als Workshop, in einem anderen als Schulung über mehere Tage durchgeführt werden.
Unser Fokus ist dabei stets der Nutzen eines Trainings für die Teilnehmer!. Wir sind daher nicht nur bestrebt diese aktiv einzubinden, sondern beraten Sie natürlich auch gerne im Vorhinein bei Planung und Ausgestaltung einer Veranstaltung. Neben Trainings bieten wir auch weitere Qualifizierungsmaßnahmen (z.B. CBTs oder Guidelines) für Entwickler an, die sich häufig sehr sinnvoll kombinieren lassen.
- Web Security Awareness und Secure Coding (Hands-On)
- Workshop Threat Modeling
- Workshop Agile Securtiy Practices
- Workshop Security Testautomatisierung
- Individuelles Coaching
Web Security Awareness und Secure Coding (Hands-On)
Unsere Web Security Schulung befasst sich umfassend mit zentralen und aktuellen Sicherheitsproblemen (Angriffen) sowie entsprechender Best Practices für Web-basierte Anwendungen und Services (APIs). Unser Fokus ist dabei stets deren Nachvollziehbarkeit durch die Schulungsteilnehmer. Wir erreichen dies durch zahlreiche Demos und Hands-On-Übungen (u.a. mittels des OWASP Juice Shops).
Unser Schulungsangebot is flexibel aufgebaut und lässt sich so an die Bedürfnisse unserer Kunden individuell anpassen:
- Modul 1: Einführung in die Web- und Applikationssicherheit
- Einführung in das Thema und die Vorgehensweise von Hackern
- Erläuterung der Hintergründe für unsichere Webanwendungen
- Vorstellung wichtiger Standards und Projekte (z.B. OWASP Top Ten, SANS 25)
- Modul 2: Absicherung der Datenvalidierung & Injection-Angriffe
- Erläutern gängiger Angriffe und Schwachstellen in diesem Bereich (Manpulation de Geschäftslogik, Cross-Site Scripting (XSS), Interpreter Injection (SQL, HQL, NoSQL), unsichere Deserealisierung etc.)
- Diskussion von Gegenmaßnahmen und Best Practices (inkl. Secure Design Principles)
- Modul 3: Security Header
- Vorstellung gängiger Security Header (z.B. Content Security Policy (CSP))
- Modul 4: Sicheres User Management
- Erläutern gängiger Angriffe und Schwachstellen in diesem Bereich (Brute Forcing, Session Hijacking, Cross-Site Request Forgery (CSRF))
- Diskussion von Gegenmaßnahmen und Best Practices (Authentifizierung, Anti-Automatisierung und Benutzerregistrierung)
- Modul 5: Absicherung der Access Controls
- Erläutern gängiger Angriffe und Schwachstellen in diesem Bereich (Privilege Escalation)
- Diskussion von Gegenmaßnahmen und Best Practices
- Modul 6: Kryptographie für Entwickler
- Absicherung (und Testing) des SSL/TLS Stacks
- Security APIs (u.a. JWT, Verschlüsselung)
- Sichere Verwaltung von Secrets
- Modul 7: API Security
- Erläuterung gängiger Sicherheitsprobleme und Maßnahmen wie CORS, OAuth und OIDC
- Modul 8: Security Testing
- Vorstellung von Tools und Techniken zum Selbsttest und Integration in den Build (CI/CD-Toolkette)
- Modul 9: Secure by Design & Threat Modelling mit Entwicklerfokus
- Diskussion von Secure Design Patterns
- Erläuterung relevanter Ansätzte (insb. MS STRIDE) anhand mehrerer Fallbeispiele
- Gemeinsame Übung (optional)
- Siehe hierzu auch sowie unser ganztägiger Workshop
- Modul 10: Secure SDLC
- Erläuterung gängiger Ansätze (z.B. Microsoft SDL)
- Best Practices für Agile und Nicht-Agile Vorgehen
- Sicherheitsanforderungen in Entwicklungsprojekten (Funktional- vs. Nicht-Funktional)
Die Inhalte richtigen sich generell an Entwickler Web-basierter Anwendungen und enthalten hierfür mit zahlreichen Codebeispielen (Fokus: Java).
Durch den modularen Aufbau dieses Trainings, lässt sich dieses für den Bedarf des Kunden individuell zusammenstellen. Möglich ist auch ein stärkerer Fokus auf die Umsetzung in bestimmten Programmiersprachen oder Frameworks (z.B. Java EE, Spring, JSF, Angular oder Node.js) oder auch eine stärkere inhaltliche Vertiefung verschiedener Inhalte. Auch die Diskussion bestimmter Projektthemen des Kunden ist auf Wunsch möglich.
Neben zahlreichen Demos und Codebeispielen haben die Teilnehmer die Möglichkeit verschiedene Angriffe selbst anhand einer Demo-Anwendung direkt nachzuvollziehen. Diese Hands-On-Übungen lassen sich ebenfalls in Bezug auf Anzahl und Niveau an die Teilnehmer und die Wünsche des Kunden anpassen. Zu den meisten Modulen haben wir hierzu entsprechende Übungen vorbereitet.
Dadurch lässt sich das Training sowohl innerhalb eines Tages (z.B. in Form eines Awareness-Workshops für unterschiedliche Teilnehmer mit Fokus auf Hands-On-Übungen) als auch von zwei Tagen (als Entwickler-Intensivtraining) durchführen.
Dauer: 1 Tag (Awareness Training), 2 Tage (Awareness & Secure Coding Training)
Threat Modeling
In diesem Seminar lernen die Teilnehmer, wie sich mittels Bedrohungsmodellierung (Threat Modeling), Sicherheitsprobleme frühzeitig (bzw. im Design und der Architektur einer Anwendung) identifizieren, bewerten und entsprechende Maßnahmen ableiten können.
Inhalte:
- Allgemeine Hintergründe und Ziele
- Darstellung unterschiedlicher Varianten (asset- vs. system-zentrisch), existierende Vorgehensweisen (u.a. STRIDE, PASTA) und Tools (z.B. MS Threat Modeling Tool)
- Vorstellung der allgemeinen Vorgehensweise der Secodis
- Detallierte Vorstellung des STRIDE-Ansatzes
- Diskussion und Veranschaulichung weiterer Methodiken zur Bedrohungsidentifikation (z.B. Threat-Mapping, Abuse Cases).
- Agile Threat Modeling
- Diskussing veschiedener Verfahren zur Bewertung von Bedrohungen (DREAD, CVSS/CWSS, Risiken)
- Hands-On Übungen (optional)
- Optional: Praktische Durchführung einer konkreten Bedrohungsanalyse (idealerweise auf Basis eines konkreten Projektes des Kunden und gemeinsam mit den Teilnehmern).
- Unterschiedlicher Fokus des Trainings möglich (z.B. auf Entwickler mit Fokus auf Vorgehen wie STRIDE und Security Control Assessments)
Die Durchführung kann sowohl vor Ort in den Räumlichkeiten des Kunden, als auch bei der Secodis in Hamburg, oder per Remote erfolgen.
Zielgruppe: Security Experten sowie Entwickler und Architekten (idealerweise bereits mit Grundkenntnissen im Bereich IT-Sicherheit).
Dauer: 4-8 Stunden
Workshop Agile Security Practices
Dieses Seminar richtet sich an alle Mitarbeiter in agilen Entwicklungsprojekten (Product Owner, Scrum Master, Entwickler, Tester und natürlich Security Professionals). Es werden hierbei generelle Probleme und entsprechende Lösungsansätze für Sicherheit in agilen Projekten anschaulich vermittelt und diskuttiert.
Inhalte sind u.a.:
- Grundlagen von Web & Agile Security
- Best Practices für Scrum- und Kanban-basierte Projekten (Rollen, Tools, Vorgaben, etc.)
- Sicherheitsanforderungen und -aktivitäten in agilen Projekten (Security Stories, Evil Stories, Security Refinements, Threat Modeling, Pentests etc.)
- Einsatz von JIRA als Planungs- und Auswertungstool für Sicherheitsaktivitäten und -Risiken
- Agile Security Testing (Security-Testautomatisierung, Pentests, etc.)
- Security bei Continuous Delivery / Deployment (DevSecOps)
Dauer: 4 Stunden
Tool-basierte Sicherheitsanalysen
In diesem Seminar werden die Teilnehmer in der der Durchführung tool-basierter Sicherheitsanalysen ausgebildet.
Inhalte sind u.a.:
- Grundlagen der Web Security
- Grundlagen der Security-Testautomatisierung
- Statische und dynamische Codeanalysen (SAST, IAST)
- Websecurity-Scanner (DAST)
- Software Composition Analysis (SCA)
- Vorstellung von gängigen Enterprise- sowie Opensource-Tools
- Kritische Diskussion gängiger Tools im OpenSource und Kommerziellen Bereich und ihre Limitationen
- Best Practices bzgl. Integration Build bzw. Build-Toolkette (z.B. durch Integration in Jenkins)
- Management und Bewertung von Security Findings (inkl. Diskussion entsprechender Metriken wie CVSS)
Es werden Grundlagen, Best Practices, Ansätze und Tools sowie ihrer jeweiligen Vor- und Nachteile erläutert und teilweise auch mit Hand-On-Übungen von den Schulungsteilnehmern nachvollzogen.
Auf Wunsch kann in diesem Seminar auf bestimmte Tools eingegangen werden (bzw. sich hierauf fokussieren), welche der Kunde etwa gerade im Einsatz hat oder deren Anschaffung er plant.
Dauer: 3-4 Stunden
Individuelles Coaching
Die sicherlich effektivste Form von Ausbildung besteht im gezielten Coaching einzelner Personen bzw. Rollen (z.B. Entwickler, Projektleiter, Security Tester, Security Manager, etc.). Die Inhalte werden hierzu individuell an den Zielen und Vorkenntnissen der Teilnehmer abgestimmt.
Natürlich lässt sich im Rahmen eines Coachings auch gezielt die Anwendung von bestimmten Security Tools (Installation, Einbindung und Konfiguration, Bedienung, Regelerstellung, Reporting) vermitteln.