Zum Inhalt springen
Black Fox Security

05 / Beratung und Reaktion

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. Sicheres Design und Code-Review

    Vertrauensgrenzen und Missbrauchsfälle bedenken, bevor Code entsteht, und Review-Gewohnheiten, die Sicherheitsprobleme in Pull Requests auffangen.

  6. 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

  1. Auftakt

    Wir sprechen mit Ihren Engineering-Leads, vereinbaren Zielgruppe, Themen, Format und Sprache und unterzeichnen auf Wunsch vorab eine Vertraulichkeitsvereinbarung.

  2. Anpassung

    Wir sehen uns Ihre Sprachen, Frameworks und die Art Ihrer Anwendungen an und passen Beispiele und Übungen daran an.

  3. Workshops

    Interaktive Schulungen online oder vor Ort, auf Deutsch, Englisch oder Französisch, mit kurzen Erklärungen und praktischen Übungen an realistischem Code.

  4. Ü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.

  5. 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.

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.

Termin anfragen

Senden Sie uns eine Terminanfrage. Sie erzählen uns von Ihrem Projekt, wir stellen uns und unsere Erfahrung richtig vor.

§ A

Leseeinstellungen

Passen Sie an, wie diese Website aussieht und sich lesen lässt. Ihre Auswahl gilt sofort und wird nur auf diesem Gerät gespeichert.

Probezeile

Gute Softwaretechnik wird gezeigt, nicht behauptet. Prüfen Sie Ihre Einstellungen an dieser Zeile.

§ A.1Text

Schriftgröße
Zeilenabstand
Buchstaben- und Wortabstand
SchriftartAtkinson Hyperlegible wurde für Menschen mit Sehschwäche entwickelt, OpenDyslexic für manche Lesende mit Legasthenie.
Text linksbündigHebt Blocksatz und Silbentrennung auf.

§ A.2Lesehilfen

LesehilfeFolgt Ihrem Zeiger, damit Sie die Zeile nicht verlieren.
Links hervorheben
Überschriften hervorheben
Deutlicher FokusrahmenFür die Bedienung per Tastatur.

§ A.3Farbe und Kontrast

Kontrast
Farbsättigung
Dekorative Muster ausblendenEntfernt die gravierten Linienmuster hinter den Inhalten.

§ A.4Bewegung und Zeiger

Animationen anhaltenWenn Ihr System es anfordert, sind Animationen bereits reduziert.
Großer Mauszeiger