Vorwort

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

In der Welle des Lebens, im Sturm des Handelns,

Ich schwebe, auf und ab,

Ich blase, hin und her!

Die Geburt und das Grab,

Ein ewiger Fluss,

Eine gewebte Veränderung,

Ein Glühen des Seins.

Über der Zeit bebendem Webstuhl Absicht,

Das lebendige Gewand der Gottheit bearbeiten.

Faust

Wenn du seit der Jahrtausendwende beruflich mit Computern gearbeitet hast, hast du wahrscheinlich schon einmal gehört, dass Sicherheit wichtig ist. Inzwischen hast du wahrscheinlich auch erkannt, dass die Cybersicherheit kaputt ist. Die Menschen vertrauen uns, den Menschen, die mit Software arbeiten, immer mehr von ihrem Leben an und wir schlagen dieses Vertrauen nicht. Jahr für Jahr verwüsten dieselben Angriffe die Küsten und das Kernland unserer immer größer werdenden digitalen Territorien.

In der Zwischenzeit häuft die Sicherheitsindustrie Macht und Geld an, frönt neueren, glänzenderen Technologien und vertieft oft ihre scheinheilige Unverschämtheit. Der Erfolg bleibt ungewiss, und im Hintergrund geht die Angst um, dass die Sicherheit nicht mit der Software "mithalten" kann. Finger zeigen auf uns und andere Finger zeigen zurück. Unsere Sicherheitsprogramme gerinnen zu performativen Ritualen - ein moderner Humoralismus, der eher auf Volksweisheit und Tradition als auf Empirie beruht. Die Teams der Softwareentwicklung schwelgen in Unmut und sehnen sich nach Antworten, wie sie ihre Systeme sicher machen können, ohne rituelle Opfer bringen zu müssen. Wir wissen, dass wir es besser machen können, aber es fällt uns schwer, einen Kurs zu finden, wenn wir in die trübe Ungewissheit der heutigen Cybersicherheit eintauchen.

Ein grundlegender Wandel in Philosophie und Praxis steht bevor. Die Cybersicherheit muss die Realität akzeptieren, dass Fehler passieren werden. Menschen werden auf Dinge klicken und manchmal wird es das Falsche sein. Die Auswirkungen einfacher Codeänderungen auf die Sicherheit werden den Entwicklern nicht klar sein. Abhilfemaßnahmen werden versehentlich deaktiviert. Dinge werden kaputt gehen (und gehen in der Tat die ganze Zeit kaputt). Dieser Wandel verlangt von uns, dass wir uns in Richtung Resilienz entwickeln - die Fähigkeit, uns von Fehlern zu erholen und uns anzupassen, wenn sich unser Kontext ändert.

Dieses Buch ist ein Angriff auf die aktuelle Cybersicherheitsstrategie und -ausführung. Um die Autorin und Aktivistin Jane Jacobs zu zitieren, richtet sich dieser Angriff auf die Prinzipien und Ziele, die die traditionelle Cybersicherheitsstrategie und -ausführung geprägt haben, und nicht auf Spitzfindigkeiten über bestimmte Methoden oder Entwurfsmuster.

Wir nennen diesen Wandel "Security Chaos Engineering", das Thema dieses Buches. Security Chaos Engineering (SCE) ist ein soziotechnischer Wandel, der den Wert von Organisationen durch die Fähigkeit steigert, auf Fehler zu reagieren und sich schnell und elegant an sich verändernde Bedingungen anzupassen. Um diesen Wandel erfolgreich zu gestalten, werden wir uns auf interdisziplinäre Erkenntnisse über die Widerstandsfähigkeit komplexer Systeme stützen. Im Grunde können wir uns die Hausaufgaben anderer Problembereiche abgucken, um unsere Computer- und Softwareprobleme besser lösen zu können.

Wir, die Menschheit, sind ziemlich gut in Software geworden. Die meiste Software ist heute Teil von verteilten Systemen. Umwälzende technologische Veränderungen wie Cloud Computing, Microservices und Continuous Delivery haben den Kundennutzen erhöht, aber auch eine Reihe neuer Herausforderungen mit sich gebracht. Eine dieser Herausforderungen besteht darin, dass wir einen Zustand erreicht haben, in dem die Systeme, die wir entwickeln, für unseren Verstand nicht mehr in ihrer Gesamtheit vorstellbar sind. Was als kleines Softwarepflänzchen beginnt, wächst zu etwas Erstaunlichem heran, das wir uns nicht mehr vorstellen können, sollte es erfolgreich sein.

In diesem Buch behandeln wir die Philosophien, Praktiken und Prinzipien, die dir dabei helfen werden, ergebnisorientierte Sicherheit zu erreichen und dich in Richtung Resilienz zu transformieren. Dabei geht es um weit mehr als nur um die Kunst der Durchführung von Chaos-Experimenten - auch wenn die wissenschaftliche Methode für unser Vorhaben unerlässlich ist. SCE ist unsere ehrgeizige Erweiterung der Praxis des Chaos Engineering, die mit dem Ziel begann, die Widerstandsfähigkeit von Systemen aus einer Leistungsperspektive und nicht aus einer Sicherheitsperspektive zu fördern. Chaos Engineering ist die Praxis des kontinuierlichen Experimentierens, um zu überprüfen, ob unsere Systeme so funktionieren, wie wir es glauben. Diese Experimente tragen dazu bei, systemische Schwächen oder Lücken in unserem Verständnis aufzudecken, was zu verbessertem Design und Praktiken führt, die der Organisation helfen, mehr Vertrauen in ihr Verhalten zu gewinnen.

Das Ziel des Chaos-Engineerings ist es, Dinge in der Produktion zu reparieren, nicht sie zu zerstören. Leid hat wenig Sinn, egal in welchem Bereich, wenn wir nicht daraus lernen und einen konstruktiven Kurs zur Verbesserung entwickeln können. Wir haben in diesem Buch sorgfältig darauf geachtet, Analogien zur Kriegsführung oder Gewalt zu vermeiden, wie sie im Bereich der Cybersicherheit üblich sind und die suggerieren, dass militaristische, disziplinarische Lösungen zur Lösung unserer Probleme erforderlich sind. Stattdessen hoffen wir, die Branche mit Analogien aus der Natur, der Ökologie und anderen Bereichen inspirieren zu können, in denen es darum geht, Menschen zu pflegen, zu nähren und zu unterstützen, damit sie ihre Ziele erreichen. Wir können Schöpfer sein, anstatt Geißler. Wir können unsere Sicherheitsziele erreichen, ohne die Nutzer/innen zu entmenschlichen und sie wie Objekte zu behandeln, die wir kontrollieren müssen, damit sie unsere ehrgeizigen Ziele nicht durchkreuzen.

Am Ende des Buches wirst du - unabhängig von deiner Rolle - verstehen, wie du die Widerstandsfähigkeit deiner Software und Systeme aufrechterhalten kannst, damit dein Unternehmen trotz der Anwesenheit von Angreifern gedeihen kann. Du wirst lernen, wie du dich an Widrigkeiten anpasst und dich kontinuierlich veränderst, während sich die Welt um dich und deine Systeme herum weiterentwickelt. Du wirst entdecken, dass die Sicherheit dem finsteren Mittelalter entkommen und in das Zeitalter der Aufklärung eintreten kann, wenn du dich auf Empirie und Experimente einlässt. Wir hoffen, dass dies eine Meta-Transformation auslöst, weg vom Status quo der Sicherheit - der uns diente, bevor wir es besser wussten - hin zur Widerstandsfähigkeit, damit wir endlich Angreifer ausmanövrieren und echte Arbeit leisten können.

Wer sollte dieses Buch lesen?

Wenn du für das Design, die Entwicklung, den Aufbau, die Bereitstellung, den Betrieb, die Wiederherstellung, die Verwaltung, den Schutz oder die Sicherung von Systemen, die Software enthalten, verantwortlich bist, dann ist dieses Buch genau das Richtige für dich. Dieses Buch richtet sich an Menschen, die in der Software- und Systementwicklung tätig sind, und zwar in allen Bereichen: Softwareingenieure, Softwarearchitekten, Sicherheitsingenieure und Sicherheitsarchitekten, Ingenieure für Standortzuverlässigkeit, Ingenieurteams für Plattformen und deren Leiter, Infrastruktur-, Cloud- oder DevOps-Ingenieure und die Leiter und Vizepräsidenten dieser Teams, CTOs, CIOs und CISOs und natürlich Studierende, die mit ihrer Arbeit einen unauslöschlichen Eindruck hinterlassen und den Software-Fußabdruck der Menschheit auf jede erdenkliche Weise verbessern wollen.

Dieses Buch ist besonders wichtig, wenn deine Software, Dienste und Systeme komplex sind - was bei den meisten Softwareprodukten, Diensten und Systemen der Fall ist, die mit dem Internet verbunden sind und das Nebenprodukt vieler Köpfe über viele Jahre hinweg sind. Ganz gleich, wo du dich im Lebenszyklus der Softwareentwicklung befindest - oder außerhalb davon, als Administrator, Manager oder Verteidiger - dieses Buch gibt dir Tipps, wie du die Widerstandsfähigkeit deiner Systeme gegen Angriffe und andere widrige Umstände in deinem Einflussbereich unterstützen kannst.

Du solltest ein grundlegendes Verständnis davon haben, was Software ist und wie Unternehmen sie nutzen. Eine gewisse praktische Erfahrung mit der Entwicklung, der Bereitstellung oder dem Betrieb von Softwaresystemen oder der Implementierung eines Sicherheitsprogramms ist hilfreich - aber wir sind uns bewusst, dass nur wenige Menschen über Erfahrungen in beiden Bereichen verfügen. Dieses Buch ist explizit darauf ausgerichtet, Softwareexperten etwas über Sicherheit und Sicherheitsexperten etwas über Software beizubringen und gleichzeitig das Wissen der Experten zu erweitern und zu bereichern.

Wenn dich eines der folgenden Ergebnisse anspricht, dann wirst du dieses Buch wertvoll finden:

  • Lerne, wie man ein modernes Sicherheitsprogramm entwickelt.

  • Triff in jeder Phase der Softwareentwicklung fundierte Entscheidungen, um die Widerstandsfähigkeit und Anpassungsfähigkeit zu fördern.

  • Verstehe die komplexe Systemdynamik, von der die Resilienz-Ergebnisse abhängen.

  • Navigiere durch technische und organisatorische Kompromisse, die die Entscheidungsfindung in Systemen verzerren.

  • Erforsche Chaos-Experimente, um kritische Annahmen über Softwarequalität und -sicherheit zu überprüfen.

  • Erfahre, wie große Unternehmen das Security Chaos Engineering nutzen.

Wie wir immer wieder betonen werden, hängt die Strategie zur Stärkung der Widerstandsfähigkeit deiner Systeme gegen Angriffe von deinem spezifischen Kontext ab. Jedes Unternehmen, unabhängig von seiner Größe, seinem Alter oder seiner Branche, kann von Investitionen in die Widerstandsfähigkeit durch die SCE-Transformation profitieren, die wir auf diesen Seiten beschreiben. Dieses Buch ist ausdrücklich nicht nur für Hyperscaler und Fortune-100-Organisationen geschrieben; der Inhalt ist einfach zu wertvoll.

Umfang dieses Buches

Dieses Buch schreibt weder bestimmte Technologien vor, noch enthält es detaillierte Anweisungen, wie die beschriebenen Möglichkeiten in Code umgesetzt werden. Wir möchten dich ermutigen, in der einschlägigen Dokumentation nach solchen Details zu suchen und die einzigartigen Fähigkeiten zu nutzen, die du in dein Unternehmen einbringst. Unser Ziel ist es, die Prinzipien, Praktiken und Kompromisse zu erörtern, auf die es ankommt, wenn wir über die Widerstandsfähigkeit von Systemen nachdenken, und dir eine Fülle von Möglichkeiten für deine Software-Aktivitäten zu bieten, aus denen du die Muster herauspicken kannst, von denen du glaubst, dass sie für dein Unternehmen am ehesten Früchte tragen werden.

Gliederung dieses Buches

Wir beginnen unsere Reise in Kapitel 1, "Resilienz in Software und Systemen", indem wir über Resilienz in komplexen Systemen sprechen, wie sich ein Ausfall manifestiert, wie Resilienz aufrechterhalten wird und wie wir gängige Mythen vermeiden können, die unsere Sicherheitsstrategie in die Irre führen.

In Kapitel 2, "Systemorientierte Sicherheit", untersuchen wir den notwendigen Wandel hin zum Systemdenken in der Sicherheit und beschreiben, wie man mentale Modelle des Systemverhaltens verfeinert und Resilienzbewertungen durchführt, bevor wir SCE mit traditioneller Cybersicherheit ("Sicherheitstheater") vergleichen.

Die Struktur der Kapitel 3 bis 6 dient als Nachschlagewerk, das du in jeder Phase der Softwareentwicklung zur Hand nehmen kannst. Kapitel 3, "Architektur und Design", beginnt in der "ersten" Phase der Softwareentwicklung: Architektur und Design von Systemen. Wir gehen der Frage nach, wie du deine Bemühungen auf den spezifischen Kontext deines Unternehmens abstimmen kannst, bevor wir die Möglichkeiten beschreiben, in eine lockerere Kopplung und Linearität zu investieren.

In Kapitel 4, "Aufbau und Auslieferung", werden die fünf Merkmale, die Resilienz definieren, auf Aktivitäten übertragen, die wir bei der Entwicklung, dem Aufbau, dem Testen und der Auslieferung von Systemen verfolgen können. Wir decken ein weites Feld ab, von Codeüberprüfungen, der Standardisierung von "Rohmaterial", der Automatisierung von Sicherheitsprüfungen und Configuration as Code bis hin zu Testtheater, Typensystemen, Modularität und vielem mehr (dieses Kapitel ist vielleicht das am stärksten mit praktischem Wissen gefüllte).

In Kapitel 5, "Betrieb und Beobachtung", wird beschrieben, wie wir die Ausfallsicherheit aufrechterhalten können, während unsere Systeme in der Produktion laufen - und während wir unsere Systeme betreiben und beobachten. Wir zeigen die Überschneidungen zwischen Site Reliability Engineering (SRE) und Sicherheitszielen auf und stellen verschiedene Strategien für die Beobachtung der Sicherheit vor, bevor wir mit einer Diskussion über die Bedeutung der Skalierbarkeit für die Sicherheit schließen.

In Kapitel 6, "Reaktion und Erholung", befassen wir uns mit dem, was nach einem Vorfall passiert, und gehen auf die Vorurteile ein, die unsere Entscheidungsfindung und unser Lernen in dieser Phase verzerren können, wie z. B. die Handlungsvoreingenommenheit, die Rückschauvoreingenommenheit, die Ergebnisvoreingenommenheit und die Just-World-Hypothese. Auf dem Weg dorthin schlagen wir Taktiken vor, um diesen Vorurteilen entgegenzuwirken und konstruktivere Bemühungen zu unterstützen, insbesondere um das besonders unproduktive Spiel mit Schuldzuweisungen zu unterbinden, bei dem "menschliches Versagen" als "Hauptursache" für Zwischenfälle erklärt wird.

Kapitel 7, "Platform Resilience Engineering", führt in das Konzept des Platform Resilience Engineering ein und beschreibt, wie es in der Praxis in jeder Organisation umgesetzt werden kann. Wir behandeln den Prozess zur Erstellung von Sicherheitslösungen für interne Kunden (wie z. B. Ingenieurteams), einschließlich der Definition einer Vision, der Definition eines Benutzerproblems, des Entwurfs einer Lösung und der Implementierung einer Lösung. Die Ice Cream Cone Hierarchy of Security Solutions, die wir in diesem Kapitel behandeln, ist eine besonders schmackhafte (und praktische) Weisheit.

In Kapitel 8, "Sicherheitschaos-Experimente", lernen wir, wie wir Experimente durchführen und ein umfassenderes Bild unserer Systeme zeichnen können, was uns wiederum hilft, Strategien zu entwickeln, um sie widerstandsfähiger gegen Störungen zu machen. Wir skizzieren den gesamten Experimentierprozess: wie du deine Experimente auf Erfolgskurs bringst, wie du Hypothesen aufstellst, wie du Experimente entwirfst und Versuchsspezifikationen schreibst, wie du Experimente durchführst und Beweise sammelst und wie du Beweise analysierst und dokumentierst.

In Kapitel 9, "Security Chaos Engineering in der freien Wildbahn", lernen wir schließlich von Chaos-Experimenten, die in der freien Wildbahn durchgeführt wurden. Echte Unternehmen, die SCE eingeführt und Chaos-Experimente durchgeführt haben, geben ihr Wissen großzügig in einer Reihe von Fallstudien weiter. Wir werden von der UnitedHealth Group, Verizon, OpenDoor, Cardinal Health, Accenture Global und Capital One lernen.

In diesem Buch verwendete Konventionen

In diesem Buch werden die folgenden typografischen Konventionen verwendet:

Kursiv

Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.

Constant width

Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.

Tipp

Dieses Element steht für einen Tipp oder eine Anregung.

Hinweis

Dieses Element steht für einen allgemeinen Hinweis.

Warnung

Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.

O'Reilly Online Learning

Hinweis

Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.

Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter https://oreilly.com.

Wie du uns kontaktierst

Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:

Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/SecurityChaosEngineering aufrufen .

Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter https://oreilly.com.

Du findest uns auf LinkedIn: https://linkedin.com/company/oreilly-media.

Folge uns auf Twitter: https://twitter.com/oreillymedia.

Sieh uns auf YouTube: https://youtube.com/oreillymedia.

Danksagungen

Von Aaron: Wir möchten die Beiträge der SCE-Community zu diesem Werk würdigen, die von den folgenden Personen geleistet wurden. Diese frühen Pioniere des Security Chaos Engineering haben dazu beigetragen, die Gemeinschaft und das Handwerk zu formen, das heute existiert. Vielen Dank für all die Aufopferung und Unterstützung!

  • Brian Bagdzinski
  • Jamie Dicken
  • Rob Duhart, Jr.
  • Troy Koss
  • Matas Kulkovas
  • David Lavezzo
  • Omar Marrero
  • Charles Nwatu
  • Mario Platt
  • Kennedy Torkura
  • Dan Walsh
  • Jerome Walters
  • James Wickett
  • Sounil Yu

Von Kelly: Dieses Buch verwebt Gedankenfäden aus unzähligen Disziplinen, Gelehrten und Praktikern. Ich habe nicht mehr gezählt, wie viele Artikel, Blogbeiträge, Bücher und Gespräche ich vor und während des Schreibens dieses Buches inhaliert habe - und das spiegelt sich auch in den zahlreichen Verweisen im Buch wider. Vor allem durch die Erkenntnisse aus anderen Problembereichen können wir uns aus der erdrückenden Insellage der traditionellen Cybersicherheit befreien; wir können viel von den Fehlern, Stolpersteinen und Erfolgen anderer lernen, selbst wenn diese nichts mit Computern zu tun hatten.

Es wäre in der Tat eine Herausforderung, alle Inspirationsquellen in diesem Buch aufzuzählen, insbesondere diejenigen, die nicht traditionell zitiert werden. Wenn wir jemals gemeinsam in einem leidenschaftlichen Gespräch den Status quo der Systemsicherheit in Frage gestellt haben, möchte ich mich bei ihnen bedanken: bei Allan Alford, Geoff Belknap, Juan Pablo Buriticá, Lita Cho, Erinn Clark, Tasha Drew, Rob Duhart, Jr, Thomas Dullien, Dr. Josiah Dykstra, Camille Fournier, Dr. Nicole Forsgren, Jessie Frazelle, Eitan Goldstein, Bea Hughes, Kyle Kingsbury, Julia Knecht, Toby Kohlenberg, Mike Leibowitz, Kelly Lum, Caitie McCaffrey, Fernando Montenegro, Christina Morillo, Renee Orser, Ryan Petrich, Greg Poirier, Alex Rasmussen, Dr. Andrew Ruef, Snare, Inés Sombra, Jason Strange, James Turnbull, Phil Vachon und Sounil Yu. Besonders dankbar bin ich der gesamten Rantifesto-Crew (ihr wisst, wer ihr seid) und Doktor Animal für ihre Computerweisheiten - möge ich weiterhin von euch lernen und mit euch in den Schatten stellen.

Einige ausgewählte Menschen, unsere technischen Prüfer, waren besonders wertvoll für die Gestaltung dieses Buches. Vielen Dank, dass ihr das gesamte Material in so kurzer Zeit verschlungen habt, konstruktives Feedback gegeben habt und an einigen Stellen Anregungen für neue Inhalte geliefert habt. Dieses Buch ist das direkte Ergebnis eurer Bemühungen: Juan Pablo Buriticá, Will Gallego, Bea Hughes, Ryan Petrich, Alex Rasmussen und Jason Strange.

Aaron Rinehart, meinem unschuldigen Mitverschwörer bei der Verbreitung der Resilienz-Transformation, bin ich für immer zu Dank verpflichtet, dass du mich per DM gefragt hast, ob ich mit dir an einem Buch arbeiten möchte.

Ich danke unserer Redakteurin Michele Cronin für ihre unendliche Geduld mit meinen hektischen Schreibmustern, merkwürdigen Anfragen und oft überzogenen literarischen Verweisen. Unserer Produktionsredakteurin Clare Laylock und unserer Lektorin Nicole Taché danke ich für ihren unermüdlichen Einsatz für einen zügigen, reibungslosen Produktionsprozess - und für ihre Geduld mit meinem Perfektionismus. Und ich danke dem Team von O'Reilly und John Devins dafür, dass all diese Worte außerhalb der Grenzen meines Gehirns existieren können.

Besonderer Dank gebührt Savannah Glitschka, die Chaos Kitty zum Leben erweckt und jedes Kapitel mit zauberhaften Illustrationen versehen hat. Und Sean Leach danke ich dafür, dass er mir die Zeit gab, mich dem Schreiben zu widmen, dass er mich dabei unterstützte, den Status quo im Sicherheitsbereich in Frage zu stellen, und dass er ein aufmerksamer Lehrer war.

Was das Persönliche angeht, so möchte ich mir selbst meine tiefste Anerkennung dafür aussprechen, dass sie in den Monaten, in denen sie ihre Seele in diese Seiten gesteckt haben, standhaft geblieben sind. Gratuliere, dass du nicht völlig durchgedreht bist! Sotha Sil, dem Tüftler und Uhrwerkgott, bin ich für immer dankbar, dass es dich gibt; du bist mein liebster Partner bei Gedankenverbrechen und ein geschätzter Resonanzboden für meine Klangarchitektur. Geralt "Mr. Boopkin" Shortridge, dein unglaublich weicher Bauchflaum und dein glückseliges Trillern waren eine willkommene Abwechslung zum Schreiben.

Abschließend möchte ich Michael Crichton dafür danken, dass er mich als Baby an komplexe Systeme herangeführt hat, und meinem Vater für seine Geduld mit meiner wissenschaftlichen Neugier und deren Förderung. Mögen wir alle mit unserem inneren Kind in Kontakt treten und eine unergründliche Faszination für die Welt finden, ohne zu zögern, zu fragen: "Aber warum?"

Get Sicherheit Chaos Engineering now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.