Der nachfolgende Text wurden mit KI erstellt und kann Fehler enthalten. Fehler gefunden? Bei GitHub editieren

Vorstellung des Sprechers

Ich bin Carsten Wild von der WPS und hatte hier gerade meinen Talk mit Gamification und Storytelling zur sicheren Anwendung.

Genau, meine Hobbys sind so kollaborative Modellierung.

Beruflicher Hintergrund

Ich bin stark geprägt vom Vorgehen nach DDD und habe jetzt auch in den letzten Jahren sehr viel mit den sogenannten Obersachen, Cybersecurity-Themen Berührung gehabt und daher so dieser Talk.

Genau.

Und ich habe in dem Talk drin gesessen und so ein bisschen so die erste Frage wäre, was hat denn die CIA mit Sicherheit zu tun?

CIA in der IT-Sicherheit

Tja, die CIA ist ein Akronym für Confidentiality, Integrity und Availability.

Bedeutung der CIA-Triade

Und das geht darum, sozusagen die fachlichen Assets in einem Anwendungsumfeld darüber zu klassifizieren.

Wenn ich dann eine Bedrohungsanalyse sozusagen mache, dass ich dann sagen kann, in meinem Anwendungsumfeld sind typische Daten, typische Fachdaten besonders schützenswert.

Und dafür hilft praktisch dieses CIA-Muster.

Genau.

Und ich glaube, du hattest als Beispiel in deinem Talk irgendwie Flugdaten.

Flugdaten als Beispiel

Also Flugdaten sind ja eigentlich öffentlich.

Die könnte ich jetzt in diesem Internet angucken.

Also warum muss ich die überhaupt schützen?

Genau.

Also da ging es um das Thema Verfügbarkeit.

Wir waren da im Bereich der Fachanwendung für die Reinigung.

Verfügbarkeit von Flugdaten

Bei der Reinigung werden Dienstpläne gemacht und die Dienstpläne sind ganz stark davon abhängig, von den Flugdaten, also wann welches Personal da sein muss.

Und wenn die Flugdaten mal nicht verfügbar sind, wird es ganz, ganz schwierig mit dieser Planung.

Genau.

Deswegen sind die sehr schützenswert.

Also eben in Bezug auf Availability, also in Bezug auf das A und nicht so sehr vielleicht eben in Bezug auf Confidentiality oder Integrity.

Also die sind ja öffentlich verfügbar.

Da sind die total low.

Also die kann man an jedem Terminal, an jedem Flughafen kann man sich die anschauen.

Oder im Web.

Genau.

So und dann gibt es halt dieses Cornucopia von OWASP.

Die sind ja bekannt durch die OWASP Top Ten.

Was ist das denn eigentlich?

OWASP Cornucopia

Das ist im Grunde ein Thema, die beschäftigen sich eben mit den ganzen Cyberbedrohungen.

Also und versuchen die sogenannten Threat Actors und die Bedrohungen so zu klassifizieren und zu quantifizieren.

Und geben einem sehr, sehr viel Wissen als eine Art Open Source Projekt mit.

Also sie helfen einem über Best Practices sich diesem Thema zu nähern.

Insbesondere, wenn man nicht so viel Erfahrung im Projektteam oder im Anwendungsteam hat.

Und genau dieses Cornucopia.

Was ist das nun genau?

Kartenspiel zur Sicherheitsanalyse

Cornucopia ist ein spezielles Kartenspiel, was man für Gamification einsetzen kann.

Und da habe ich in verschiedenen Kategorien, wie zum Beispiel Authentification, wie zum Beispiel Encoding, Validation und so weiter, Session Management, habe ich vorgegebene, vorgedachte Best Practice Szenarien, wo man dann sagen kann, ist dieses Szenario auf mein Anwendungsumfeld irgendwie anwendbar.

Also man startet sozusagen in der Bedrohungsanalyse nicht bei null, sondern man hat die Unterstützung durch einen spielerischen gemeinsamen Ansatz.

Genau und da hast du die Karte glaube ich tatsächlich mitgebracht.

Ja genau, das sind über 50 Karten und ich habe hier mal eine Karte rausgepickt aus der Kategorie Data Validation und Encoding.

Und da steht dann so ein Szenario drauf, wie Jason can bypass the centralized validation routines since they are not being proved or used on all inputs.

Also sprich, man hat so ein Szenario vorgedacht und man überlegt dann gemeinsam als Team, passt dieses Szenario jetzt auf unsere Anwendungslandschaft?

Genau und das ist tatsächlich eine Karte, wir können das hier mal zeigen, der hat auch hinten so ein hübsches Logo drauf und da sind Links drauf, wenn ich es richtig sehe oder was ist das da?

Ja genau, das sind Links zu detaillierteren Quellen, also wenn man noch Dinge nachlesen möchte, wenn man noch ein bisschen mehr Content möchte, welche typischen Angriffsvektoren vielleicht hinter so einem Szenario stecken können, also da geht es dann weiter auf der Webseite.

Also da wird weitere Informationen dann zur Verfügung gestellt.

Und wie wird daraus ein Spiel?

Ja, wie wird daraus ein Spiel?

Also man hat sozusagen eine Bestandsaufnahme von seiner Anwendungslandschaft gemacht, also was für Systeme sind da, wie interagieren die, dann hat man eine Bedrohungsanalyse gemacht in dem Sinne, die halt irgendwie sagen, ich schaff’s an der Validierung vorbeizukommen und deswegen crash das System.

Ja, genau.

Also in dem Beispiel im Vortrag gelingt es einem Angreifer, dort über ein Bemerkungsfeld so eine Art SQL-Injection dann zu machen und ja, dann am Ende des Tages kann dann ein Angriff starten.

Und durch die SQL-Injection könnte dann eben, du hattest glaube ich in deinem Vortrag gesagt, die Performance von der Datenbank zum Beispiel runtergehen, sodass dann damit das System nicht mehr funktioniert.

Zum Beispiel, ja genau.

Und dann sind die Flugdaten eben nicht so verfügbar, wie ich sie brauche im Fachprozess.

Das heißt also, ich hätte jetzt diese Karte, ich würde dann irgendwie kreativ werden in der Art und Weise, wie wir es gerade eben diskutiert haben und wie gewinne ich dann?

Spielmechanik von Cornucopia

Ja, auf den Karten sind so Punkte drauf.

Punktesystem und Gewinnbedingungen

Also diese Karte hier hat zum Beispiel sechs Punkte und wenn ich sozusagen das gesamte Team oder die Workshop-Leute überzeugen kann, dass das ein anwendbares Szenario in unserem Umfeld ist, also wenn die Karte akzeptiert wird, dann ist eine Variante, dass ich eben auf meinem Stapel sechs Punkte habe und am Ende des Workshops, der typischerweise so einen Tag dauert, wer dann die meisten Punkte hat, der gewinnt dann.

Okay und das bedeutet halt, dass also wenn ich sozusagen zu kreativ bin, dann würde der Rest der Gruppe halt sagen, das gilt halt nicht, weil glauben wir nicht, dass das überhaupt geht.

Genau, das ist nicht relevant für unsere Umgebung und dann kann man je nach Variante, wie man das spielt, auch sagen, ich nehme hier eine andere Karte, was weiß ich, die ist viel wichtiger als die Karte, die man selber gespielt hat.

Also das heißt, ich wähle halt aus aus den Karten, die ich halt eben habe und überlege mir dann irgendwie, also ich kann eine beliebige Karte aus der Hand spielen und überlege mir dann, was da noch geht.

Ja, genau, richtig.

Also die sind ein bisschen strukturiert eben in Kategorien, immer so zehn Karten, damit man schon mal zehn Startideen hat.

Natürlich steht es auch jedem Teammitglied frei, ein eigenes Szenario aufzuschreiben, um zu sagen, ich habe ja noch eine Idee, wie in unserem Anwendungsumfeld bestimmte Sachen passieren können und kann sozusagen die auch auf den Tisch legen.

Achso, das heißt, ich könnte da auch noch einen…

Ja, oder ich kann eine Joker-Karte legen und da kann ich dann eben eigene Szenarien sozusagen noch mit drauf…

Achso, die Joker-Karte, hier liegt sie halt gerade.

Was steht da drauf?

Alice can utilize the application to attack users, systems and data.

Also irgendwie magisch sozusagen.

Ja, genau, das sind dann sehr allgemeine Sachen, die da drauf sind.

Okay, alles klar.

Das war sozusagen… genau, das war glaube ich… noch etwas zu Cornucopia, ich glaube, das schließt es so ein bisschen ab.

Genau, also es gibt die Karten in verschiedenen Editions, einmal so mit dem Fokus… gibt es noch ein weiteres Set zum Thema Cloud und Computing und solche Sachen, also spezialisierte Szenarien-Sets.

Genau, und du hast hier die für die Website-Apps, das heißt also…

Ja, genau, ich habe hier die Website.

Genau, die passt halt dann für das Szenario, was wir gerade besprochen haben, so ein bisschen.

Genau, für das Anwendungsumfeld, was ich im Workshop vorgestellt habe, ja.

Genau, ich glaube, eine Frage ist mir noch eingefallen.

Wer soll denn das Spiel spielen?

Zielgruppe des Spiels

Das ist sozusagen besonders wichtig, weil diese Gamification zusammen mit dem Storytelling hat eigentlich die Idee, nicht nur das Fachteam, also die Fachanwender und das Entwicklungsteam zusammenzubringen, sondern auch die Security-Experten dann mit zu integrieren.

Weil es hilft ja nichts, wenn das Entwicklungsteam nichts über die Domainsprache der Security-Menschen irgendwie weiß, aber die Security-Menschen gar nicht wissen, welche Fachobjekte jetzt in diesem speziellen Anwendungsumfeld besonders schützenswert sind.

Das ist auch so ein bisschen die Frage, ich habe Geld und Energie, also Zeit, und wo setze ich das jetzt eigentlich ein?

Genau, das ist eben auch eine management-kompatible Sache.

Das hattest du in dem Talk auch gesagt, dass man jetzt irgendwie zum Beispiel über diese Flugdaten und die Verfügbarkeit jetzt irgendwie sagen kann, die müssen halt geschützt werden, und wir investieren jetzt eben Aufwand, um die zu schützen, und das sozusagen dort übersetzen kann.

Und ich glaube, der andere Punkt, um das sozusagen nochmal zu unterstreichen, was du damit irgendwie auch sagst, ist ja, dass, also wenig überraschend, kollaborative Modellierung, Kollaboration ermöglicht, eben zwischen verschiedenen Menschen, in diesem Fall eben den Security-Menschen, den Domain-Experten und dem Entwicklungsteam.

Und du hattest über diese ubiquitous language noch gesprochen, die da, glaube ich, noch unterschiedlich ist.

Ja, das ist auch, oft sind ja so, die Security-Personen sehr, sehr rar in einem Unternehmen.

Das sind meistens Einzelpersonen, die für kurze Zeit mal im Team zur Verfügung stehen und über dieses Workshop-Format, zusammen mit dem Storytelling, gelingt es eben besonders produktiv aus meiner Sicht, mit dieser Storytelling-Visualisierungsebene, auch die ubiquitous language, also die Domainsprache der Security-Leute, auch dem Team und den Fachleuten irgendwie näher zu bringen.

Genau, so, dass man irgendwie weiß, was hattest du da auf dem Folien Cross-Site Scripting, und du hattest da eine ganze Folie zu Teambegriffen.

Ja, aber Scripting, SQL-Injection, also was jetzt, oder METM oder WTF oder so, was diese ganzen Fachbegriffe eigentlich bedeuten, also da immer, wo es Sinn macht.

Und idealerweise soll ja auch das Entwicklungsteam, wenn es eine Gegenmaßnahme implementiert, gegen so ein Angriffsszenario, diese Art von Begriffen auch in der Codierung irgendwie benutzen.

Also genauso, wie ich die Domainbegriffe in die Fachobjekte so konkret wie möglich in den Code reinbekomme, will ich eben auch die Begriffe aus der Security in den Code reinbekommen, dass ich sofort sagen kann, oh, an dieser Stelle wurde was implementiert, um den Threat XY abzuwehren.

Genau, und ich glaube, durch die Karten und das Spiel wird irgendwie auch, also man kann eben nicht Karten spielen, bei denen man nicht weiß, was sie eigentlich bedeuten, und das ist dann eine gute Diskussionsgrundlage, so nehme ich das hier im Verzeihung.

Genau, das ist auch zum Lernen, also auch gerade für unerfahrene Teams, weil man eben viele vorgedachte Szenarien Best Practices anwenden kann und so relativ kompakt und mit Spaß in diese schwierige Thematik eigentlich rein starten kann.

Genau, so und jetzt gibt es halt das Domain Storytelling, dazu hatten wir irgendwann noch mal eine Episode mit Henning und Stefan, die auch das Buch dazu geschrieben haben, dennoch kurz, und ich verlinke das auch genauso wie diese Cornucopia-Karten, dennoch kurz die Frage, was ist dieses Domain Storytelling?

Ja, das ist eine relativ einfache Visualisierungsmethode mit sogenannten Szenario-Diagrammen, wo ich praktisch Abläufe in einer Fachdomäne visualisieren kann, und in unserem Workshop-Beispiel jetzt im Cybersecurity-Bereich könnt ihr euch ja auch vorstellen, dass typische Hacks oder Angriffe nicht nur ein oder zwei Schritte sind, sondern dass gegebenenfalls Tokens entwendet werden, die auf anderen Systemen implementiert werden, die dann später genutzt werden können für die Authentifizierung von irgendwelchen Skripten, die wieder angreifen, also es kann da ganz schön kompliziert werden, und das visualisiert man praktisch mit den relativ einfachen Methoden, man hat Akteure oder Systeme, Aktivitäten und sogenannte Arbeitsgegenstände, also Fachobjekte und die Aktivitäten, später in der Implementierung sind das oft auch die Methoden in den Klassen und so weiter, und so wird da im Grunde ein rundes Bild draus.

Ich glaube, so ein Arbeitsgegenstand wäre jetzt dieser Flugplan, über den wir gesprochen haben?

Das wäre der Flugplan oder ein Dienstplan von einem Reinigungsteam, wo eben personenbezogene Daten drin sind, weil da sind auch die Krankmeldungen drin, und die sollen natürlich nicht in die Öffentlichkeit dann gehen.

Genau, guter Punkt, da gibt es ja auch die entsprechenden Regelungen, und Akteur, du hattest halt in deinem Beispiel den Akteur, einen verärgerten Mitarbeiter.

Genau, der verärgerte Mitarbeiter, der wird zu Ende März, ist der gekündigt, und der kann eben noch mit vollem Systemzugriff einen Angriff sozusagen orchestrieren, und am 15.

April läuft dann dieser Angriff von einem internen Rechner, und da fehlt in meinem Beispiel das Audit-Log, und es ist eben im Nachgang nicht mehr möglich nachzuvollziehen, wer jetzt eigentlich diesen Angriff verursacht hat, und wie man eigentlich belangen kann für den Schaden, der da entstanden ist.

Gut, dann hattest du, ich glaube, dann haben wir das mit dem Domain-Storytelling und Cornucopia soweit diskutiert, oder?

Visualisierung von Angriffsszenarien

Also ich denke, dass der Punkt nochmal ist über die Visualisierung, dass ich sozusagen genau schauen kann in einem Angriffsszenario, in einer Domain-Story, in welcher Aktivität, beispielsweise in Aktivität 2, 7 und 9, dieses Angriffsszenario praktisch wirkt, und ich muss dort eine Gegenmaßnahme, oder sollte darüber nachdenken, da eine Gegenmaßnahme zu implementieren.

Also ich kann das praktisch sehr, sehr gut visualisieren, und manchmal ist es auch so, dass ich so über den Weg sehe, wenn ich eine Barriere schließe, und da komme ich jetzt zu so einer Analogie oder einer Metapher von dem Schweizer Käse-Prinzip.

Also da kennt ihr ja alle, wenn ihr so eine Packung Schweizer Käse mit ganz vielen Löchern in den einzelnen Scheiben irgendwie habt, also jede Scheibe hat drei, vier, fünf Löcher, dann müsst ihr euch das so vorstellen, dass ihr versucht praktisch jetzt zu sagen, okay, wenn ich auf jeder Scheibe ein Loch irgendwie schließe, und die Scheiben alle übereinander lege, diese Käsescheiben, dass ich idealerweise nicht mehr durchgucken kann, also symbolisch gesehen praktisch keinen Angriffsvektor mehr habe, der wirklich durchkommt und nachhaltigen Schaden in meinem Anwendungsumfeld irgendwie anrichten kann.

Wobei ihr jetzt in dem Beispiel, was du vorhin genannt hattest, eigentlich gar nicht der Angriff vermieden wird, sondern er wird nur nachweisbar.

Also es wäre immer noch so, dass ich halt das Problem hätte, aber ich könnte halt sagen, du warst es.

Da kann, genau, ein Beispiel, wie kann man es nachweisen, aber ich kann eben auch darüber diskutieren, wo nehme ich jetzt mein Geld und meine Zeit und meine Ressource und wo mache ich jetzt eben Maßnahmen konkret und in welchem Schritt des Ablaufs, was wir als Team erarbeitet haben, wo ein Angriff passieren könnte.

Und diese Vorgehen mit den Karten, das hilft eben auch, aus Sicht der Verteidigung zu denken, weil normalerweise ist es so, dass Entwicklungsteams nicht so richtig gut sich vorstellen können, wie eigentlich ein Angreifer denkt, sozusagen.

Und die Cornucopia-Karten helfen eher, so diese Verteidigersicht, eine solide Verteidigung aufzubauen.

Und ich hätte jetzt erwartet, dass bei diesem Domain Storytelling durch sowas wie eben diese Arbeitsgegenstände jetzt auch klar ist, wo ich überhaupt attackieren kann.

Genau, und wo es auch wert ist.

Also schützensfair CIA hoch, da muss ich eben gucken, ob ich da nicht eine Gegenmaßnahme implementiere.

Ein weiterer Benefit von dieser Gamification- und Storytelling-Workshop-Methodik ist eben, dass man am Ende Ergebnisse bekommt, die, ich sage mal, auch Management-kompatibel sind, also auch für Leute geeignet sind, die vielleicht im Workshop nicht drin waren.

Und man kann nämlich in der Visualisierung dann Schritt für Schritt durchsteppen und auch gegebenenfalls dem Management erklären, dass man Geld braucht und an welchen Stellen man Geld braucht.

Und man kann dann auch sehr transparent argumentieren, was dadurch sehr, sehr wahrscheinlich dann verhindert wird.

Also diese Diskussion, Security kostet Geld und viel Geld, kriegt dadurch nochmal ein neues Transparenzlevel und ist eben auch Leuten vermittelbar, die nicht unbedingt ganz eng in der Fachdomäne sind.

Denn es sollte ja eigentlich nicht Geld kosten, sondern es sollte ja eigentlich irgendwie nicht Schäden vermeiden bzw. die billigere Alternative sein.

Genau, ich will 1.000 Euro investieren, um den Millionenschaden zu verhindern.

Aber das muss ich ja manchmal auch Leuten erstmal verkaufen, dass sie sagen, ich investiere dieses Geld, weil, das wisst ihr ja alle, bei Security spielt man maximal auf Unentschieden.

Man hofft eben, dass man gute Maßnahmen aufgebaut hat, dass nichts passiert, dass man nicht in der Presse ist, dass man nicht verschlüsselt wird und, und, und.

Man kann im Security-Bereich nicht durch tolle Features irgendwie glänzen und gewinnen, sozusagen, sondern man kann immer nur die Teams unterstützen, dass sie ein gutes Monitoring haben und auch bei der Suche nach dem Schuldigen oder den Schuldigen eine gute Unterstützung dann vielleicht haben.

Genau so.

Sicherheit ist dann erfolgreich, wenn sozusagen nichts passiert.

Genau.

Und ja.

Genau, dann haben wir es, glaube ich, soweit.

Ich denke schon, ja.

Genau, dann würde ich sagen, wir haben noch eine schöne Konferenz.

Vielen Dank, dass du da warst.