Secure Coding Training

Secure Coding Training

Online-Schulung

Lernen Sie nach Ihren eigenen Zeitvorstellungen. Wo immer Sie möchten.

Verschiedene Programmiersprachen

Unser Training unterstützt folgende Programmiersprachen: PHP, Java, Python, Perl, Go, Ruby und Node.js.

Lassen Sie sich zertifizieren

Fixen Sie Schwachstellen, um unser BACSCP-Zertifikat zu erhalten.

~ 2 PT Zeitaufwand

Als professioneller Softwareentwickler mit jahrelanger Berufserfahrung werden Sie max. 2 Tage benötigen (bei 8 h pro Tag).

Erfüllen Sie PCI DSS 6.5

Absolvieren Sie dieses Training, um PCI DSS 6.5 zu erfüllen.

Preise

Lernen Sie die am meisten verbreiteten Sicherheitsrisiken für Webanwendungen kennen (OWASP Top 10). Erfahren Sie, wie Sie gängige Sicherheitslücken in Anwendungen erkennen, beheben und die Bildung neuer verhindern.

Als Anwendungsentwickler stellen Sie sich implizit der Herausforderung, Ihre Software vor böswilligen Hackern zu schützen. Um Sie zum Kampf zu rüsten, lassen wir Sie im „Secure Coding Training“ eine Zahlungsanwendung für Kreditkartentransaktionen exemplarisch auf Schwachstellen hin untersuchen und Ihre Findings in deren Programmcode beheben. Dazu erhalten Sie Zugriff auf folgende Materialien:

  • Zugang zum Source Code der Zahlungsanwendung via GitBucket
  • API-Dokumentation
  • Secure Code Review Checkliste
  • Sicherheitsrichtlinie für die Softwareentwicklung
  • Hintergrundgeschichte des fiktiven Unternehmens „Dubius Payment Ltd.“
  • Penetrationstestbericht der Zahlungsanwendung

Als Programmiersprache können Sie sich zwischen PHP, Java, Python, Perl, Go, Ruby und Node.js entscheiden. Die Zahlungsanwendung besteht je nach Sprache aus 1000 bis 2000 Lines of Code und verwendet folgende Frameworks:

Sprachen REST-Framework OAuth2-Framework
GO Gorilla/Mux Osin
Java Spring spring-security-oauth2
NodeJS Express oauth2orize
PHP Slim slim-oauth2
Python Flask Flask-OAuthlib
Ruby Sinatra simple_oauth2
Perl Mojolicious OAuth2 Server Plugin

Das Besondere an unserem Training: Wir stellen Ihnen eine komplett entwickelte Laborumgebung zur Verfügung - die Testumgebung der „Dubius Payment Ltd.“. Als fiktiver Payment Service Provider stellt die Dubius Payment Ltd. Händlern eine Zahlungsanwendung bereit, durch welche deren Kunden Kreditkartentansaktionen tätigen können: das Payment Gateway. Um Ihnen einen kleinen Vorgeschmack zu geben, finden Sie hier einen Ausschnitt der REST-API-Dokumentation.

Nachdem ein Penetrationstest mehrere kritische Schwachstellen im Payment Gateway offenlegte, kommen Sie ins Spiel: Als neu eingestellter Teamleiter der Softwareentwicklung stellen wir Sie vor die Aufgabe, den Source Code der Anwendung zu prüfen und alle Schwachstellen zu bereinigen. Dieser Praxisteil ist der Kernbestandteil unseres Kurses. Dazu haben wir verschiedene Schwachstellensets - mit je zehn Sicherheitslücken - entworfen, von denen Sie beim Laborstart ein Zufälliges ausgelost bekommen.

Grundsätzlich steht Ihnen das Labor allein zur Verfügung - Sie müssen es nicht mit anderen Teilnehmern teilen. Sie erhalten einen 20-Tage-Zugang zum Labor und können selbst entscheiden, wann Sie darin arbeiten wollen. Die Laborumgebung steht Ihnen rund um die Uhr zur Verfügung.

Sobald Sie eine Kurslizenz erworben haben, können Sie auf die Kursmaterialien zugreifen und neben Ihrer gewünschten Programmiersprache auch das Startdatum Ihres persönlichen Labors festlegen. Erst ab diesem Startdatum laufen die 20 Tage. Sie erhalten somit über unser Portal

  • Zugriff auf die digitalen Kursmaterialien
  • Ihre OpenVPN-Zugangsdaten für die Entwicklungsumgebung der „Dubius Payment Ltd.“

Nach erfolgreicher Herstellung einer VPN-Verbindung haben Sie über GitBucket Zugriff auf den Source-Code des Payment-Gateways, und können Änderungen vornehmen. Unsere Unterlagen helfen Ihnen dabei, das Payment Gateway in seiner Funktion zu verstehen und einen strukturierten Secure Code Review durchzuführen. Da aber viele Wege nach Rom führen, können Sie die Technik, mit welcher Sie eine Schwachstelle beheben möchten, frei wählen. Ob Sie dabei erfolgreich waren und die Funktion der Anwendung gewährleistet ist, erfahren Sie durch unsere Funktionstests und Schwachstellenscans, welche Sie auf unserem Portal nach Belieben triggern können.

Nach Ihrem ersten erfolgreichen Fix einer Schwachstelle, erhalten Sie von uns eine Teilnahmebestätigung. Für Ihre Kür werden Sie mit unserem BACSCP-Zertifikat (Binsec Academy Certified Secure Coding Professional) belohnt, und zwar wenn Sie mindestens acht von insgesamt zehn der von uns vorgesehenen Schwachstellen behoben haben. Die von Ihnen behobenen Schwachstellen werden von uns aber nur gewertet, wenn in Ihrem letzten Commit alle Funktionstests erfolgreich durchlaufen wurden.

Nach Ihrem ersten erfolgreichen Fix einer Schwachstelle, erhalten Sie von uns automatisch ein PDF mit Ihrer Teilnahmebestätigung.

Sie erhalten auf dem Postweg Ihr BACSCP-Zertifikat, wenn Sie am Ende Ihrer Laborzeit mindestens acht von insgesamt zehn Schwachstellen behoben haben. Die von Ihnen behobenen Schwachstellen werden von uns aber nur gewertet, wenn in Ihrem letzten Commit alle Funktionstests erfolgreich durchlaufen worden sind.

Mit der Zertifizierung zum BACSCP weisen Sie gegenüber Dritten nach, dass Sie

  • die am meisten verbreiteten Schwachstellen in Webanwendungen identifizieren und Sicherheitslösungen entwerfen können,
  • eine Webanwendung nach OWASP und PCI DSS sicher entwickeln können,
  • einen Secure Code Review strukturiert durchführen können.

Sie benötigen natürlich einen Computer mit Windows, macOS oder Linux sowie grundlegende Programmierkenntnisse in einer der von uns unterstützten Programmiersprachen. Darüber hinaus sind neben dem Tool GIT auch grundlegende Kenntnisse in dieser Versionsverwaltungssoftware erforderlich - im Prinzip reichen die Kommandos „git clone“, „git commit“ und „git push“ aus. Sie können den Editor bzw. die IDE Ihrer Wahl zum Coden benutzen.

Zur Verbindung mit unserem Labor benötigen Sie die Open-Source-Software „OpenVPN“. Sollten Sie eine Firewall einsetzen, die den ausgehenden Datenverkehr einschränkt - z. B. in einem Firmennetzwerk -, müssen Sie eventuell den dazugehörigen TCP-Port freischalten (lassen). Diesen erhalten Sie zusammen mit der Konfigurationsdatei für Ihr VPN. Aus technischen Gründen ist das nicht der Standard-Port von OpenVPN.

Nachfolgend haben wir die häufigsten Fragen zum Kurs und die dazugehörigen Antworten aufgelistet:

Unsere Durchgänge mit Testpersonen haben gezeigt, dass man als professioneller Softwareentwickler mindestens 8 Stunden in den Kurs investieren muss. Im Durchschnitt halten wir einen Aufwand von 12 bis 16 Stunden für realistisch. Dabei empfehlen wir, dass man sich den eigenen Zeiteinsatz über die 20 Tage Laborzugang einteilt bzw. ihn an das eigene Lernverhalten anpasst.

Die Zahlungsanwendung ist strukturell einfach gehalten worden. Es sollte keine überdurchschnittliche Codequalität erwartet werden, da es sich grundsätzlich um eine verwundbare Software handelt. Falls Sie das Bedürfnis verspüren, den Source-Code zu refaktorieren, sind Sie dazu gerne eingeladen. Am Ende müssen nur unsere Funktionstests erfolgreich durchlaufen und - idealerweise - alle Schwachstellen behoben sein.

Englisch und - nachdem wir ein österreichisches Unternehme sind - deutsch.
Nein. Alle Schulungskurse bestehen aus schriftlichen Unterlagen und einer umfangreichen Laborumgebung, um praktische Erfahrungen zu sammeln.
Nach Zahlungseingang steht Ihnen der erworbene Kurs in unserem Portal zur Verfügung und Sie können auf das Kursmaterial zugreifen. Aber: Sie müssen das Startdatum Ihres Labors planen. Dieses Laborstartdatum ist das "offizielle Kursstartdatum". Wenn Sie einen Kurs kaufen, sehen Sie das nächste verfügbare Laborstartdatum. Natürlich können Sie ein anderes, späteres Startdatum wählen.
Es gibt keinen direkten persönlichen Dozenten. Sie benötigen autodidaktische Fähigkeiten. Alle Kurse sind ausschließlich im Eigenstudium zu absolvieren. Allerdings sind sämtliche Schulungsmaterialien sehr ausführlich gehalten und beschreiben alles im Detail. Zudem führen wir vorab Tests mit Testgruppen durch, bevor wir einen Kurs öffentlich anbieten. Falls etwas missverständlich sein sollte oder nicht richtig erklärt ist, kontaktieren Sie uns bitte. Wir werden das beheben.