Secure-Coding-Schulung an Code, der wie Ihrer aussieht
Workshops für Softwareentwickler zu den Fehlern, die wir beim Testen von Anwendungen finden: wie man sie im eigenen Code erkennt und dauerhaft behebt.
Überblick
Warum Entwickler mehr brauchen als eine Checkliste
Die meisten Schwachstellen sind nicht exotisch. Es sind immer wieder dieselben Klassen, zum Beispiel Injection, fehlerhafte Zugriffskontrolle und schwaches Session-Handling, neu geschrieben in einem neuen Feature von jemandem, dem nie gezeigt wurde, wie sie in der eigenen Sprache aussehen. Eine Liste von Regeln ändert daran wenig. Den Fehler in realistischem Code zu sehen und ihn selbst zu beheben, schon.
Black Fox baut die Secure-Coding-Schulung aus dem auf, was wir in Penetrationstests und Code-Reviews finden. Wir passen sie an die Sprachen und Frameworks Ihrer Teams an, damit die Beispiele in Code stehen, den Ihre Entwickler wiedererkennen, und die Korrekturen die Mittel des Stacks nutzen, mit dem sie ohnehin arbeiten.
Die Schulung ist durchgehend defensiv. Wie eine Schwachstelle ausgenutzt wird, lernen die Teilnehmenden nur so weit, wie es zum Verständnis nötig ist. Die meiste Zeit geht in das Erkennen, das Beheben und den Test, der verhindert, dass der Fehler zurückkommt.
Für wen es gedacht ist
Entwicklungsteams, die Webanwendungen, APIs oder Backends für mobile Apps bauen, Teams, deren Penetrationstests immer wieder dieselben Fehlerklassen finden, neue Mitarbeitende in einem Entwicklungsteam und Organisationen, deren Rahmenwerk oder Kunden regelmäßige Schulungen zur sicheren Entwicklung erwarten, wie es in Programmen nach PCI DSS und ISO/IEC 27001 üblich ist.
Die Arbeit, von der Abgrenzung des Umfangs bis zu den Nachweisen.
Was wir tun
Verbreitete Schwachstellenklassen
Die Fehler hinter den meisten realen Befunden, etwa die der OWASP Top 10: unter anderem Injection, fehlerhafte Zugriffskontrolle, Cross-Site-Scripting, unsichere Deserialisierung und Server-Side Request Forgery.
Authentifizierung und Sessions
Passwortspeicherung, Mehr-Faktor-Authentifizierung, Session-Tokens, Cookies, Abläufe zum Zurücksetzen von Passwörtern und Berechtigungsprüfungen, jeweils mit den Fehlern, die wir am häufigsten sehen.
Umgang mit Ein- und Ausgaben
Validierung, parametrisierte Abfragen, Ausgabekodierung, Datei-Uploads und das Parsen nicht vertrauenswürdiger Daten, mit den sicheren Mustern, die Ihr Framework bereits mitbringt.
Abhängigkeiten und Frameworks
Bibliotheken auswählen und aktualisieren, Sicherheitshinweise lesen, Secrets und Konfiguration handhaben und Sicherheitsfunktionen von Frameworks so nutzen, wie sie gedacht sind, statt sie zu umgehen.
Sicheres Design und Code-Review
Vertrauensgrenzen und Missbrauchsfälle bedenken, bevor Code entsteht, und Review-Gewohnheiten, die Sicherheitsprobleme in Pull Requests auffangen.
Sicherheitstests schreiben
Unit- und Integrationstests, die Zugriffskontrolle, Eingabeverarbeitung und anderes Sicherheitsverhalten prüfen, damit ein behobener Fehler behoben bleibt.
So läuft der Auftrag ab
Auftakt
Wir sprechen mit Ihren Engineering-Leads, vereinbaren Zielgruppe, Themen, Format und Sprache und unterzeichnen auf Wunsch vorab eine Vertraulichkeitsvereinbarung.
Anpassung
Wir sehen uns Ihre Sprachen, Frameworks und die Art Ihrer Anwendungen an und passen Beispiele und Übungen daran an.
Workshops
Interaktive Schulungen online oder vor Ort, auf Deutsch, Englisch oder Französisch, mit kurzen Erklärungen und praktischen Übungen an realistischem Code.
Übungen
Die Teilnehmenden finden und beheben Fehler in vorbereitetem Code in Ihrem Stack und schreiben anschließend Tests, die zeigen, dass die Korrektur hält.
Nachbereitung
Eine Zusammenfassung der Inhalte, der Fragen aus den Workshops und Vorschläge, was als Nächstes geübt oder vertieft werden sollte.
Was Sie erhalten
- Schulungsplan, zugeschnitten auf Ihre Teams und Ihren Stack
- Workshops mit Übungen an realistischem Code
- Schulungsunterlagen und Übungscode für Ihre Ablage
- Teilnahmenachweise als Auditnachweis
- Abschlussbericht mit Empfehlungen für die Weiterführung
Fragen
Welche Sprachen und Frameworks decken Sie ab?
Wir passen die Schulung an Ihren Stack an, zum Beispiel Java und Spring, C# und ASP.NET Core, Python und Django, JavaScript oder TypeScript mit Node.js und React, PHP oder Go. Sagen Sie uns, was Ihre Teams einsetzen, und wir bestätigen, was wir abdecken können.
Ist das dasselbe wie Ihre DevSecOps-Schulung?
Nein. Die Secure-Coding-Schulung konzentriert sich auf den Code, den Entwickler schreiben und prüfen. Die DevSecOps-Schulung behandelt Sicherheit in der Pipeline und im Auslieferungsprozess. Beide lassen sich kombinieren.
Lernen die Entwickler, Systeme anzugreifen?
Nur so weit, wie es hilft, einen Fehler im eigenen Code zu verstehen. Im Mittelpunkt stehen das Erkennen von Schwachstellen, ihre Behebung und der Test der Korrektur, nicht Angriffe auf fremde Systeme.
Können Sie unseren eigenen Code in den Übungen verwenden?
Ja, wenn Sie das möchten, unter einer Vertraulichkeitsvereinbarung und mit Zugriff, den Sie kontrollieren. Andernfalls verwenden wir vorbereiteten Code in Ihren Sprachen und Frameworks.
Verwandte Leistungen
- Beratung und ReaktionDevSecOps-SchulungPraxisnahe DevSecOps-Schulung von Black Fox Security: CI/CD-Sicherheit, Infrastructure as Code, Container, Cloud, Lieferkette, Secrets, Bedrohungsmodelle.
- Beratung und ReaktionDevSecOps und sichere EntwicklungDevSecOps von Black Fox Security: sichere Entwicklung, Bedrohungsmodellierung, Code-Review, Sicherheit in CI/CD, Abhängigkeits- und Secret-Scans, Schulung.
- Offensive SicherheitPenetrationstestsPenetrationstests von Black Fox Security: Black-, Grey- und White-Box-Tests im vereinbarten Umfang, Management- und Technikbericht sowie Nachtest Ihrer Korrekturen.
- Beratung und ReaktionSchulungen zur CyberhygienePraxisnahe Schulungen zur Cyberhygiene von Black Fox Security: Passwörter, MFA, Phishing, Updates, Datenumgang und mobiles Arbeiten, auf Ihre Tools abgestimmt.
Beheben Sie den Fehler, bevor er geschrieben wird
Sagen Sie uns, welche Sprachen Ihre Teams nutzen und was Ihre letzten Tests gefunden haben. Wir schlagen eine Schulung vor, die zu Ihrem Code passt.