Risiken und Kontrollen der Software-Lieferkette – 2025 | Taimur Ijlal | Skillshare
Suchen

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Risiken und Kontrollen der Software-Lieferkette – 2025

teacher avatar Taimur Ijlal, Cloud Security expert, teacher, blogger

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Einführung

      10:28

    • 2.

      Lieferkette verstehen

      7:17

    • 3.

      Risiken der Lieferkette – 1

      9:30

    • 4.

      Risiken der Lieferkette – 2

      7:02

    • 5.

      Risiken der Lieferkette – 3

      7:04

    • 6.

      Risiken der Lieferkette – 4

      7:03

    • 7.

      SolarWinde

      12:04

    • 8.

      Codecov

      8:03

    • 9.

      Menschenstreik

      8:25

    • 10.

      Sicherung der Lieferkette – 1

      4:23

    • 11.

      Sicherung der Lieferkette – 2

      10:35

    • 12.

      Sicherung der Lieferkette – 3

      11:37

    • 13.

      SBOM

      7:31

    • 14.

      Fazit

      1:52

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

2

Teilnehmer:innen

--

Projekt

Über diesen Kurs

Software-Lieferketten sind in der heutigen technologiegesteuerten Welt zu kritischen Infrastrukturen geworden und stellen eine erhebliche Quelle für betriebliche, finanzielle und Reputationsrisiken dar. Je komplexer und miteinander verbundener Abhängigkeiten werden, desto komplexer und miteinander verbundener werden auch die Herausforderungen bei der Identifizierung, Verwaltung und Minderung von Risiken im gesamten Software-Bereitstellungs-Ökosystem.

Der „Software-Supply-Chain-Risiko-Masterclass“ vermittelt Teilnehmer:innen fundierte Kenntnisse und praktische Strategien, um Risiken zu erkennen und zu reduzieren, die sich auf Software-Lieferketten auswirken – von kompromittierten Komponenten und Lieferantenzuverlässigkeit bis hin zu rechtlichen Compliance- und Kontinuitätsproblemen.

Lernziele

  • Umfassendes Verständnis des Risikos in der Software-Lieferkette Gewinne
    tiefgreifende Einblicke in die Funktionsweise von Software-Lieferketten und wo Risiken typischerweise in verschiedenen Phasen auftauchen.

  • Identifizierung und Management von Lieferkettenrisiken
    Lerne, Risiken innerhalb des Software-Lebenszyklus systematisch zu identifizieren, zu bewerten und darauf zu reagieren, einschließlich Risiken von Drittanbietern, Prozessen und Infrastruktur.

  • Bewährte Verfahren zur Risikoreduzierung
    Entdecke Rahmenbedingungen, Tools und Techniken, die von Branchenführern verwendet werden, um die Exposition zu reduzieren und die Widerstandsfähigkeit zu verbessern.

  • Fallstudien und reale Anwendungen
    Analysiere reale Vorfälle und praktische Beispiele, die die Auswirkungen eines schlechten Risikomanagements in Software-Lieferketten hervorheben.

Triff deine:n Kursleiter:in

Teacher Profile Image

Taimur Ijlal

Cloud Security expert, teacher, blogger

Kursleiter:in
Level: Intermediate

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung: Hallo. Hallo, alle zusammen. Willkommen zu meinem neuen Kurs , der Supply Chain Security and Master Class. Mein Name ist Pamurg Law und ich werde für die Dauer dieses Kurses, in dem es natürlich um die Sicherheit der Software-Lieferkette geht, Dozent sein für die Dauer dieses Kurses, in dem es natürlich um die Sicherheit der Software-Lieferkette geht, Sicherheit der Software-Lieferkette geht Nun, der Zweck dieses Kurses ist sehr, sehr einfach. Ich möchte Ihnen die Grundlagen der Software-Lieferkettensicherheit erklären , die Grundlagen für Fortgeschrittene festigen und Sie werden ein sehr umfassendes Verständnis der Software-Lieferkette erlangen ein sehr umfassendes Verständnis der Software-Lieferkette Was sind ihre Komponenten, was sind die Beteiligten und die verschiedenen Arten von Risiken und Sicherheitsproblemen, die die Integrität und Sicherheit Ihrer Software gefährden können Integrität und Sicherheit Ihrer Software gefährden Sie werden also alle damit verbundenen Risiken verstehen und ich gebe Ihnen das Wissen, das Sie benötigen, um ein geeignetes Sicherheitsprogramm für die Lieferkette zu implementieren . Und sehr, sehr wichtig. Ich sagte ein Sicherheitsprogramm. Ich meinte nicht, dass ich kein Sicherheitsprodukt gesagt habe , denn das ist leider oft der Grund, warum die Leute verwirrt sind. Sie glauben, dass es bei der Sicherheit der Software-Lieferkette darum geht , eine Software zu implementieren oder sich zertifizieren zu lassen, und das ist nicht weiter von der Wahrheit entfernt. Sicherheit der Software-Lieferkette ist sozusagen eine komplette Nische in der Cybersicherheit, die Sie benötigen, um die verschiedenen Risiken zu verstehen und zu verstehen, wie sie gemindert werden können Nische in der Cybersicherheit, die Sie benötigen, um die verschiedenen Risiken zu verstehen und zu verstehen, wie sie gemindert Wir werden uns einige Fallstudien auch innerhalb der Branche ansehen , wie sie entstanden sind und wie Sie sie verstehen können, um sich weiter davor zu schützen , denselben Problemen zum Opfer zu fallen , die es gibt Also, wer bin ich? Mein Name ist Kamchal und ich bin ein mehrfach ausgezeichneter Experte für Cybersicherheit Ich habe geschrieben: Okay, ich nenne mich selbst eine Führungskraft Ich bin seit über 21 Jahren in einer Branche im Bereich Cybersicherheit Ich war Redner und Dozent. Ich bin auch Karriere-Coach. Ich helfe Menschen, sich mit Cybersicherheit vertraut zu machen. Ich habe einen YouTube-Kanal namens The Cloud Security Guy, auf dem ich über Cloud-Sicherheit und KI spreche. Ich bin auch Bestseller-Autor und Kursersteller, wie ich bereits erwähnt habe Nur um Ihnen die Gewissheit zu geben, dass ich ein bisschen darüber weiß, wovon ich spreche, sind dies einige meiner Bücher, die über KI-Governance und Cybersicherheit geschrieben wurden Ich habe viele Kurse auf dieser Plattform. Zu diesem Thema. Ich habe auch Bücher über Zero Trust und Comtea, Cybersicherheitszertifizierungen viele andere Themen Ich bin dort auf Substack. Ich habe dort einen kostenlosen Newsletter. Ich bin auch auf LinkedIn dort. Cloud heißt wie mein YouTube-Kanal The Cloud Security Guy, und ich bin auf Twitter dort, also zögern Sie nicht, mich dort zu kontaktieren. Ich freue mich immer, von Leuten zu hören, die meine Kurse besucht haben. Machen wir jetzt einen Schritt vorwärts, rückwärts, tut mir leid. Lassen Sie uns über die Lieferkette sprechen , wenn wir über die Lieferkette sprechen Sie wissen es vielleicht nicht, aber die Lieferkette ist für unser Leben von entscheidender Bedeutung. Und was ist eine Lieferkette? Es ist ein Netzwerk von Einzelpersonen und Unternehmen, die an der Entwicklung eines Produkts und dessen Lieferung an den Kunden beteiligt sind , oder? Und wenn Sie etwas kaufen, wissen Sie, Beispiel aus dem Internet oder ein Produkt, und die meisten Menschen wissen es nicht. Normalerweise ist es ein sehr langer Weg von der ursprünglichen Idee bis zum Zeitpunkt der Lieferung. Und es sind eine Menge Leute involviert, vom Lager über das Unternehmen bis hin zum Transport, bis man es bekommt, oder? Und es sind viele, viele , so nennen Sie, Interessenvertreter daran beteiligt. Und was Sie nicht wissen ist, dass es viele, viele Möglichkeiten gibt, auch dass etwas passiert, wenn das Produkt diesen Weg einschlägt, die Waren, die sich weiterentwickeln, oder? All das sind Probleme. Sicherheitsprobleme treten an jedem Punkt der Lieferkette auf. Und die meisten Menschen sind sich dessen nicht bewusst, aber die Sicherheit der Lieferkette war Teil unserer Existenz. Tausende und Abertausende von Jahren, zum Beispiel als Gewürze von Ost nach West transportiert wurden oder als Schiffe Waren zwischen Kontinenten transportierten, oder? Oder wenn Militärtruppen während Kriegen Nahrungsmittel und Waffen transportieren, sind die Menschen in all diesen Situationen Angriffe vorbereitet und verteidigen ihre Vorräte. Der Artikel könnte es also bis zum vorgesehenen Ziel schaffen. Und das Gleiche gilt auch für Software. Stellen Sie sich vor, Sie bauen ein Auto. Stimmt? Sie würden die Teile nicht von Grund auf neu herstellen, oder? Stattdessen würden Sie die verschiedenen Komponenten, die Reifen, den Motor, die Elektronik von verschiedenen Lieferanten in einer Fabrik beziehen und sie dann zusammenbauen. Und das ist der gleiche Weg. Das gleiche Prinzip gilt auch für Software. Und hier kommt die Software-Lieferkette ins Spiel. Es bezieht sich auf die Abfolge von Prozessen, die bei der Entwicklung, Bereitstellung und Wartung von Softwareanwendungen erforderlich sind, also im Grunde alles , was zur Erstellung einer Software erforderlich ist , von Bereitstellung des Quellcodes bis zur Produktion, oder? In den heutigen Umgebungen ist es sehr, sehr selten, dass Unternehmen Software komplett von Grund auf neu erstellen. Stattdessen verlassen sie sich auf eine Reihe von Bausteinen wie Open-Source-Bibliotheken, wie Open-Source-Bibliotheken, Entwicklertools und Cloud-basierte Bereitstellungen, wissen Sie Und jede dieser Komponenten ist Teil einer langen Lieferkette von der einer langen Lieferkette von IT-Infrastruktur bis zum Quellcode, richtig? Und die Software-Lieferkette bezieht sich auf die Abfolge von Prozessen, die erforderlich sind, um Ihnen diese Software zu beschaffen. Das kann also der Quellcode sein, die beteiligten Bibliotheken von Drittanbietern, die Bau- und Paketierungssysteme, die Vertriebskanäle, die Bereitstellungsinfrastrukturen, all das, sie entstehen hier. Und so sieht es also von den verschiedenen Ebenen aus, oder? Zum Beispiel werden sich Entwickler beim Schreiben darauf verlassen, dass sie sich bei der Softwareentwicklung auf zahlreiche externe Komponenten verlassen werden. Dies kann eine Open-Source-Bibliothek, ein Drittanbieter, eine API oder ein Cloud-Dienst sein. Sie verwenden es in ihrer Umgebung und senden es dann an ein Bit-System, das quasi ein Softwareartefakt erzeugt und ein Repository verschoben wird, wo es dann bereitgestellt wird Machen Sie sich keine Sorgen, wenn Sie mit diesen Begriffen nicht vertraut sind. Wir werden uns eingehend mit jedem dieser Themen befassen, Software Ich versuche nur, Ihnen verständlich zu machen , dass Software normalerweise von mehreren Personen entwickelt wird , die möglicherweise Teil mehrerer verschiedener Organisationen sind. Und im Laufe der Zeit haben möglicherweise Tausende von Menschen zu einer bestimmten Software beigetragen. Sie müssen also sicherstellen , dass Sie es verstehen. Wo die Sicherheitsprobleme ins Spiel kommen könnten, oder? Und hier kommt die Sicherheit der Software-Lieferkette ins Spiel. Dadurch wird die Integrität, Sicherheit und Zuverlässigkeit der Komponenten und Prozesse gewährleistet, die an der Entwicklung, dem Vertrieb und der Wartung von Software beteiligt sind . Sie möchten sicherstellen, dass Ihre Software zu keinem Zeitpunkt des Lebenszyklus manipuliert und gefährdet Und bei der Lieferkette geht es nicht nur um den Code, sondern auch um Bibliotheken, Tools und Dienste von Drittanbietern Das hängt von der Infrastruktur ab. Die Sicherheit der Software-Lieferkette umfasst also alles. Sicherheit der Software-Lieferkette ist keine Zertifizierung, die Sie erhalten Es ist kein Produkt, das Sie kaufen. Es umfasst all diese Prozesse. Okay? Und warum ist es so wichtig? Nun, einfach ausgedrückt, das kann ein großer blinder Fleck sein. Richtig? Die meisten Unternehmen konzentrieren sich darauf, ihre eigenen Umgebungen und ihren eigenen Code zu schützen , sie führen Schulungen durch und stellen sicher, dass alles sicher ist. Und sie haben die Bibliotheken von Drittanbietern, die Komponenten von Drittanbietern, die es gibt , völlig vergessen Bibliotheken von Drittanbietern, die Komponenten von Drittanbietern, die es gibt , völlig vergessen . Und Angreifer sind nicht dämlich. Dessen sind sie sich auch bewusst. Warum sollten sie direkt angreifen wollen wenn sie wissen, dass sich das Unternehmen selbst schützt, wenn sie sich einfach durch eine Komponente eines Drittanbieters, durch eine Drittanbieter-Bibliothek oder durch eine andere Art von Hintertür einschleichen können Komponente eines Drittanbieters, durch eine Drittanbieter-Bibliothek , von der das Unternehmen nichts weiß Und leider mangelt es, genau wie mir , an Bewusstsein und Kontrolle in dieser Hinsicht. Die meisten Unternehmen denken, dass sie ein Produkt kaufen und ihre Lieferkette sicher ist, oder sie erstellen eine Checkliste, überprüfen ihren Lieferanten und jetzt sind wir sicher, oder sie stellen MFA in Rechnung All diese Dinge sind wichtig. Ich sage übrigens nicht, dass diese Dinge nicht wichtig sind, aber die Sicherheit der Software-Lieferkette ist viel, viel mehr als das. Und es gibt einen allgemeinen Mangel an Bewusstsein, weshalb ich diesen Kurs hier gemacht habe. Und warum sollte es dich interessieren? Ich meine, ich kann das nicht genug betonen , als vor ein paar Jahren Solargewinne gefährdet waren, oder? Es hat das Bewusstsein für die Sicherheit der Software-Lieferkette geschärft. Und ich werde im Detail über Solargewinne sprechen , aber zusammenfassend lässt sich sagen, dass sie im Oktober 2019 begannen und bis Dezember 2020 unentdeckt bleiben Und bis dahin waren 18.000 Kunden einem Risiko ausgesetzt , Microsoft bestätigte, dass so viele Unternehmen, darunter sogar US-Regierungen, regiert wurden , oder? Und Solarenergie gewinnt, sie mussten sich, glaube ich, mit einer Klage in Höhe von 26.000.000$ mit ihren Investoren zufrieden geben, einer Klage in Höhe von 26.000.000$ mit wegen all der finanziellen Verluste, die daraus entstanden Und dabei waren die Millionen nicht enthalten, die Solar Winds und seine Kunden für die Reaktion auf Zwischenfälle, Bedrohungsuntersuchungen, Ausfallzeiten, Abhilfemaßnahmen und Umsatzverluste ausgegeben Solar Winds und seine Kunden für die Reaktion auf Zwischenfälle, Bedrohungsuntersuchungen, Ausfallzeiten, Abhilfemaßnahmen Sie können also verstehen, wie mächtig dieser Angriff war, und in ähnlicher Weise, Log for J, falls Sie es wissen, wenn Sie im Dezember 2021 irgendwo auf dem Gebiet der Cybersicherheit waren, ich bin sicher, dass Sie wissen, wie die Feiertage vieler Menschen durch dieses beliebte Labor gefährdet wurden, es wurde kompromittiert, und es war in Millionen und Abermillionen von Umgebungen präsent, und alle mussten ein Risiko eingehen , um sicherzustellen, dass sie Die Sicherheit der Software-Lieferkette ist also kein Witz. Sie kann zu verheerenden Cyberangriffen führen wenn Sie sie nicht ordnungsgemäß sichern. Also für wen ist dieser Kurs? Dieser Kurs richtet sich natürlich an Cybersicherheitsfachleute, die sich ein gutes Bild machen wollen sich ein gutes Bild Ich habe mein gesamtes Wissen über die Sicherheit der Software-Lieferkette genutzt und es in diesen Kurs eingebracht. Es richtet sich auch an Entwickler , die den breiteren Kontext des Codes und dessen Sicherheit verstehen möchten . Diese Experten, wenn Sie Ihr Risikowissen verfeinern und auch Suffa-Lieferkettenrisiken einbeziehen Und natürlich freuen sich Sicherheitsverantwortliche wie CIOs, CTOs, Chief Information Security Officers und alle, die daran interessiert mehr über die Sicherheit der Software-Lieferkette zu erfahren, CTOs, Chief Information Security Officers und alle, die daran interessiert sind, mehr über die Sicherheit der Software-Lieferkette zu erfahren, dass Sie an diesem Und wie Sie diesen Kurs nutzen können, müssen Sie die Strategien, die ich skizzieren werde , verstehen und umsetzen und Ihre Software-Lieferkette mit diesen Praktiken abgleichen . Nehmen Sie nicht einfach an diesem Kurs teil und vergessen Sie ihn dann. Bitte wenden Sie das Wissen an, von dem ich spreche. Wissen, das Sie nicht anwenden, Sie werden es vergessen und dann ein geeignetes Sicherheitsprogramm für die Software-Lieferkette erstellen . Das wird Ihr Projekt für diesen Kurs sein. Ich möchte, dass Sie die Führung übernehmen, die Konzepte anwenden, die ich Ihnen beibringe , und sie in Ihrem Unternehmen anwenden und eine Lücke schließen. Das ist es, worüber wir sprechen. Nun, Software, wir fangen jetzt an. Denken Sie daran, Software ist überall. Billionen von Quellcodezeilen sind überall vorhanden, und eine einzige Sicherheitslücke in der Software kann ganze Unternehmen daran hindern , Geschäfte zu machen, und Schäden in Milliardenhöhe anrichten. Mehr denn je müssen Sie sich Software-Lieferkette und der Sicherheit auskennen Ich hoffe, das gibt Ihnen ein gutes Verständnis und es hat Sie motiviert, sich wirklich mit diesem Thema zu befassen. Lass uns anfangen. Ich hoffe, du freust dich genauso wie ich und wir sehen uns in der nächsten Lektion. Ich danke dir vielmals. 2. Lieferkette verstehen: Hallo zusammen. Willkommen zu dieser Lektion , in der wir die Software-Lieferkette verstehen werden. Bevor wir uns mit der Sicherung befassen, müssen Sie sich ein Bild davon machen, wie die Software-Lieferkette in der heutigen Welt funktioniert, und dann werden wir uns mit dem Teil der Risiken befassen. Okay? Das ist es also, worüber Sie in dieser Lektion sprechen, die Software-Lieferkette, die wichtigsten Konzepte, die Sie berücksichtigen müssen und die verschiedenen Arten von Umgebungen, die es gibt. Und das ist wie ein Grundkurs , der die Grundlage für den gesamten Kurs bilden wird Wenn Sie also nicht wissen was die Software-Lieferkette ist, Sie unbedingt diese Lektion lernen, und Sie werden nicht glauben , wie viele Sicherheitsexperten ich gesehen habe, die diesen Fehler gemacht Sie gehen sofort das Risiko ein , ohne vorher ein Verständnis oder eine Vorstellung davon zu bekommen ein Verständnis oder eine Vorstellung davon was die Software-Lieferkette ist, was die verschiedenen Umgebungen sind und wie sie funktionieren. Wir haben also schon einmal über diese Definition gesprochen , ein sehr kurzer Überblick. Software-Lieferkette, wie wir bereits erwähnt haben, die Reihenfolge der Prozesse, die bei der Bereitstellung, Entwicklung und Wartung von Softwareanwendungen anfallen. Im Grunde ist alles , was Sie für die Erstellung eines Softwareartefakts benötigen , von Entwicklung des Quellcodes bis zur Bereitstellung in der Produktion , Teil der Software-Lieferkette Wir haben bereits darüber gesprochen, dass Unternehmen es sehr selten vorkommen, dass sie ein von Grund auf neu erstellen. Sie verlassen sich auf Bausteine wie Open-Source-Bibliotheken, Entwicklertools und SAS-Dienste. Sie alle kommen zusammen , um dieses Softwarepaket zu erstellen, oder? Und in allen von ihnen besteht das Potenzial von Sicherheitsrisiken. Wie sieht also eine typische Softwareentwicklungsumgebung heutzutage aus? Eine Softwareumgebung, tut mir leid. So sieht es also aus. Wir gehen Schritt für Schritt vor, wie es geht. Und bevor du auf mich losspringst und anfängst schreien, dass meine Umgebung nicht so ist, ich weiß, dass jede Umgebung anders ist, ich weiß, dass jede Umgebung anders ist, aber das ist am häufigsten, das sind die Eigenschaften, die in praktisch jeder Umgebung vorhanden sein werden die in praktisch jeder Umgebung vorhanden sein Lassen Sie uns also zunächst mit der Entwicklungsumgebung beginnen mit der Entwicklungsumgebung Hier passiert die Magie, oder? Entwickler verwenden diese Umgebung , um Code zu schreiben und zu testen. Sie entwickeln neue Funktionen und experimentieren mit Ideen. Es ist wie ihr Arbeitsbereich, oder? Es ermöglicht ihnen, Code zu schreiben und ihre Visionen zum Leben zu erwecken. Und die Entwicklungsumgebung ist in der Regel mit verschiedenen Tools und Frameworks ausgestattet, die auf anderen Geschäftsrechnern nicht vorhanden sind. Das ist also wie eine besondere Umgebung. Sie haben normalerweise mehr Privilegien. Was machen sie also? Sie verwenden ihre integrierte Entwicklungsumgebung, ihre Workstations, auf denen ihre Codierungssoftware installiert ist Um Code zu schreiben, der in ein Code-Repo übertragen wird. Ein Code-Repo kann wie ein gemeinsam genutzter Server sein, der den Code enthält Von dort, der Build-Plattform, nimmt sie ihren Code und baut ihn zu einem Artefakt ein Jetzt verwenden Entwickler möglicherweise Abhängigkeiten in ihrem Code, oder wenn der Code erstellt wird, Abhängigkeiten abgerufen Abhängigkeiten sind, wie ich schon sagte, diese Bausteine, oder? Du wirst nicht alles von Grund auf neu schreiben, oder? Wenn Sie Python-Code schreiben, verwenden Sie verschiedene Bibliotheken. All diese Abhängigkeiten wird die Build-Plattform also verwenden, um ihre Software zu erstellen, und so funktioniert die Entwicklungsumgebung . Also schreibe ich Code. Es geht in ein Code-Repo, wo die Build-Umgebung diesen Code generiert und kompiliert Es ruft alle Abhängigkeiten ab, die erforderlich sind. Es könnte sich in der Umgebung befinden, es könnte sich um einen öffentlichen Bericht handeln , der im Internet gespeichert ist Aber so sieht die Entwicklungsumgebung typischerweise aus. Danach, was kommt, kommt die Testumgebung. Sobald der Code geschrieben ist, ist es an der Zeit, seine Robustheit und Funktionalität zu bewerten, oder? Die Testumgebung ist wie ein kontrollierter Ort, an dem Sie verschiedene Arten von Tests wie Komponententests, Integrationstests, Systemtests und Qualitätssicherung durchführen von Tests wie Komponententests, Integrationstests, Systemtests und Qualitätssicherung Sie evaluieren diesen Code akribisch, oder? Anhand vordefinierter Testfälle , um herauszufinden, ob Probleme vorliegen Dies kann jetzt in vielen Umgebungen vollständig automatisiert werden. Sie haben DevOps und DFSycoVs. Sie haben also möglicherweise vollständig automatisierte Tests. Oder vielleicht sitzt dort eine Person , die die Tests durchführt , und Sie werden nicht glauben, dass das immer noch passiert Sie haben viele QA - und Testteams , die diese automatisierten Tests durchführen, aber es gibt eine Person, die sich das anschaut. Es gibt also verschiedene Möglichkeiten, dies zu tun. Normalerweise haben Sie jedoch eine Test- und eine UAT-Umgebung, in der der Code getestet wird, um sicherzustellen, dass er frei von Bots ist Okay? Was passiert danach? Danach haben Sie also eine sogenannte Pre-Prod- oder Staging-Umgebung Das ist also wie eine Lücke zwischen der Test- und der Produktionsphase Dies ist normalerweise eine Nachbildung der Produktionsumgebung. Auf diese Weise können Teams überprüfen , ob sich die Software verhält Es funktioniert unter realen Bedingungen einwandfrei , oder? Wie ich schon sagte, es ist sehr nah an der Produktionsumgebung. Es ermöglicht ihnen also, sie einem Stresstest zu unterziehen, und sie können sich verschiedene Möglichkeiten ansehen , wie die Software tatsächlich funktionieren wird, wissen Sie? Weil die UAT-Testumgebung wie eine Testumgebung ist Sie repräsentiert nicht die tatsächliche Welt. Die Preprod- und die Staging-Umgebung, das ist also sehr, sehr ähnlich wie die Produktionsumgebung funktionieren wird Und viele Leute verwenden Preprod und Staging Preprod Es gibt subtile Unterschiede. Aber in der Regel verwenden sie auf der ganzen Linie ziemlich synonym, ehrlich gesagt innerhalb dessen, was ich gesehen habe Und was sind die Vorteile der Nutzung dieser Umgebungen? Wie ich schon sagte, Belastungstests, Leistungstests, Stresstests, die Sie in UAT-Umgebungen nicht durchführen können, oder? Und sie bieten Ihnen mehrere Vorteile, weil sie Ihnen sagen, wie der tatsächliche Kunde die Software betrachten wird, und er macht Fehler bei der Leistung, und Sie werden langsamer, bevor die Software den Endkunden erreicht Es ermöglicht Ihnen, die Leistung zu verfeinern , indem Sie eventuelle Engpässe identifizieren , und es gibt Ihnen eine gute Möglichkeit, zu beurteilen, ob die Benutzerleistung, die Benutzerzufriedenheit und wie sie da sein wird, denn jetzt bekommen Sie eine sehr gute Vorstellung davon, wie der Kunde diese Software betrachten wird, und das ist der Vorteil von die Vorproduktion und die Inszenierung. Und wie ich schon sagte, das ist sehr, sehr nah an der Produktionsumgebung, also haben Sie hier vielleicht tatsächliche Daten, tatsächliche Produktionsdaten werden hier gespeichert Und zu guter Letzt ist da noch die Produktionsumgebung. Dies ist also das ultimative Ziel für Ihre Software, es ist eine Live-Umgebung, in Endbenutzer mit Ihrer Anwendung oder Ihrem System interagieren. Die Software wird hier bereitgestellt und muss in den vorherigen Umgebungen sorgfältig getestet und verfeinert werden, um sicherzustellen, dass die Kunden ein reibungsloses Erlebnis haben Ich habe noch nie von einer Software gehört, die in dieser Produktionsumgebung keine Fehler aufweist, egal wie viele Tests Sie durchführen jedoch die Schritte befolgen, erhalten Sie eine sehr gute Vorstellung und haben die Möglichkeit, eventuell vorhandene Fehler zu beheben. So wird also eine typische Softwareumgebung aussehen. Wie ich schon sagte, bevor Sie ganz verrückt werden und mir vorwerfen, kritische Bereiche verpasst Wie ich schon sagte, ich weiß, dass jede Umgebung anders ist, aber diese Umgebung kommt dieser Umgebung am nächsten In der Regel sind dies die gängigsten Methoden zur Strukturierung von Softwareentwicklungsumgebungen. Ich hoffe, du hast eine gute Idee. Jetzt werden wir uns ansehen einige Konzepte ansehen , die es gibt, nämlich Dev SecOps, CICD-Pipelines , Artefakte, Artefakt-Repos, Paket-Repositorien und Infrastruktur als COD Artefakte, Artefakt-Repos, Paket-Repositorien einige Konzepte ansehen , die es gibt, nämlich Dev SecOps, CICD-Pipelines , Artefakte, Artefakt-Repos, Paket-Repositorien und Infrastruktur als COD. Sie kennen das vielleicht, aber ich habe es bewusst hier nur zur Auffrischung aufgeführt, weil all diese Bereiche ins Spiel kommen werden, wenn wir über die Sicherheitsrisiken in der Software-Lieferkette sprechen über die Sicherheitsrisiken in der Software-Lieferkette , die es gibt. Also habe ich es als Gegenüberarbeitung angegeben. Wenn Sie der Meinung sind, dass Sie in all diesen Konzepten sehr gut sind, können Sie diese Lektion gerne überspringen. Aber ich würde empfehlen, es als schnelle Überarbeitung zu nehmen, damit wir uns in der nächsten Lektion wiedersehen. Danke. 3. Risiken der Lieferkette – 1: Hallo alle zusammen. Willkommen. Willkommen zur nächsten Lektion. Und hier fangen wir wirklich an den Kern des Kurses einzugehen , und jetzt werden wir über das Sicherheitsrisiko sprechen, oder? Die Software-Lieferkette, Sicherheitsrisiko. In der vorherigen Lektion habe ich mit Ihnen darüber gesprochen, wie Softwareentwicklungsumgebungen normalerweise konfiguriert werden, oder? Ich versuche sehr, die gängigsten Softwareentwicklungsumgebungen und ihre Funktionsweise, die verschiedenen Konzepte und die Art und Weise, wie Software sie durchläuft, zu behandeln die gängigsten Softwareentwicklungsumgebungen und ihre Funktionsweise, die verschiedenen Konzepte und die Art und . In dieser Lektion werden wir nun über die Sicherheitsrisiken sprechen, also über die Sicherheitsrisiken in der Sofa-Lieferkette, wie sie entstehen, und wir werden eine Analyse der tatsächlichen Vorfälle durchführen. Zu den beliebtesten gehören Solarereignisse, Cord Cov Bis ich diesen Kurs beendet habe, wahrscheinlich schon ein anderer Angriff auf die Lieferkette passiert Aber ich werde diejenigen behandeln , die verschiedene Szenarien abdecken. Und die Ihnen die tatsächlichen Auswirkungen zeigen können. also nicht nur theoretisch Ich sage Ihnen also nicht nur theoretisch, dass diese Dinge passieren können. Ich werde Ihnen zeigen, wie es tatsächlich passiert ist und welche Auswirkungen es hatte und was Sie tun können um sich selbst zu schützen, richtig, zu verhindern, dass diese Dinge passieren. Wenn Sie sich erinnern, das ist das Diagramm, das wir uns zuvor angesehen haben, oder? Wir hatten die Entwicklerumgebung mit der ID, Code in das Repo pushte, die Bull-Plattform wurde aktiviert, alle Abhängigkeiten eingelesen und weiß, und sie wird es in die Testumgebung pushen und dann die Vorbereitung zur Produktion Das kann komplett manuell sein oder es kann eine CICD-Pipeline sein , weiß, die Ihren Code pusht Von den verschiedenen Umgebungen bis zur Übertragung in die Produktionsumgebung, und genau darüber haben wir gesprochen Lassen Sie uns nun über die Risiken auf hoher Ebene nachdenken. Fangen wir nun mit dem Entwickler an. Nun, Entwickler in den meisten Umgebungen und was nennen Sie Entwickler, haben in der Regel recht mächtige Rechte. Sie sind in der Lage, ihre eigenen Entwicklungsumgebungen zu verwalten , weil sie diese Flexibilität für die Entwicklung neuer Anwendungen und Produkte benötigen Flexibilität für die Entwicklung neuer Anwendungen und . Meiner Erfahrung nach können sie manchmal virtuelle Maschinen wie, Sie wissen schon, Dual-Boat-Betriebssysteme, Linux und Windows einrichten . Und diese Umgebungen sind manchmal für IT-Organisationen oft unsichtbar . Deshalb nennen sie sie Schatten-IT, oder? Und Entwickler glauben, dass sie diese Flexibilität benötigen, oder? Sie müssen in der Lage sein, eine virtuelle Maschine hochzufahren, Anwendungen zu installieren und ihre Umgebungen zu verwalten. Sie wollen nicht, dass ihre Laptops oder Desktops gesperrt werden, und sie wollen Administratorzugriff oder Power-User-Zugriff auf ihre Systeme, denn wenn Sie diese Fähigkeit beenden, haben sie keine Möglichkeit, Fehler zu beheben, um Umgebungen zu erstellen, oder sie müssen Dutzende von Genehmigungen für die Änderung von Umgebungen durchgehen Genehmigungen für die Änderung von Umgebungen Wenn Sie jemals im Bereich Cybersicherheit gearbeitet haben, bin ich mir sicher, dass Sie das gesehen haben müssen, oder? Wir beginnen also damit, dass Sie als Erstes über die sehr mächtigen Privilegien nachdenken müssen , die Entwickler haben, und zu was das führen wird, wir werden sehen. Dann kommt natürlich der sichere Code. Und wir werden sehen, was wenn der Code, den sie schreiben, unsicher ist Sie werden ihn in ein Code-Repo verschieben und dann wird er in den Umgebungen verbreitet, und dieser Code weist schwerwiegende Und wenn Sie ein Dienstanbieter sind, wie bei Solar Winds , wird dieser unsichere Code überall verbreitet Tausende und Abertausende von Menschen, weil Sie es nicht selbst überprüft haben, oder? Und der Code wird so gepusht, dass man so etwas wie ein Code-Repo nennt, oder? Nun, das Code-Repo, Sie können auch hier mehrere Kompromisse eingehen Das Quell-Repository, das Code-Repository, vielleicht ist die Admin-Oberfläche nicht sicher Und der Angreifer kann die Admin-Oberfläche verwenden oder den zugrunde liegenden Server kompromittieren , um den Quellcode direkt anzugreifen und Zugriff darauf zu erhalten, und er beginnt, den Code zu ändern. Oder sie könnten dort etwas Malware platzieren, das sich überall verbreitet. Denken Sie also an das Code-Repo, das da ist. Natürlich haben Sie die fertige Plattform, und sie sind eng in Ihre Artefakt-Repos und Ihre Paket-Repositorys integriert Ihre Artefakt-Repos und Ihre Paket-Repositorys Und oft fangen sie an, Dinge zu erstellen und sie in Ihren Umgebungen zu verbreiten, richtig? und sie in Ihren Umgebungen zu verbreiten, richtig So können Angreifer die Eingaben der Build-Plattform angreifen, z. B. welche Version verwendet werden soll, und sie können sie zu bösartigem Code umleiten, den die Build-Plattform dann verbreitet Und das werden wir beim Angriff der Sonnenwinde sehen. Sie können also jeden Teil der erstellten Plattform angreifen, einschließlich ihrer Dienste oder der zugrunde liegenden Infrastruktur, und sie können ändern, wie das abgerechnet wird, oder? Und das kann weiterführen. Sie können das Artefakt-Repository kompromittieren wie das Paket, über das wir gesprochen haben, und sie können veränderte Artefakte hochladen oder veröffentlichen , weil Sie die Admin-Oberfläche nicht gesichert Und schließlich die Abhängigkeiten, wenn man sich ganz oben anschaut und das ist eines der häufigsten Dinge Und leider denken die Leute, dass das einfach das Einzige an der Software-Lieferkette ist das einfach das Einzige , aber Ihre Abhängigkeiten, weil Sie eine Vielzahl von kommerziellen und Open-Source-Bibliotheken von Drittanbietern verwenden , sind da, und so sind die meisten Umgebungen konfiguriert, oder? Was also passieren wird, ist, dass Sie mehrere haben werden , was passiert, wenn ein Angreifer diese Bibliothek kompromittiert Sie versuchen, bösartiges Verhalten einzuführen indem sie diese Bibliothek kompromittieren, und diese Abhängigkeit wird sich in Ihrem gesamten Code ausbreiten Ihr Code, wir haben eine unsichere Komponente, wie wir über Log for J gesprochen haben, richtig Es wird in Ihrer Umgebung verbreitet, und wenn später eine Sicherheitslücke entdeckt wird, kann ein Angreifer diese nutzen, um wenn später eine Sicherheitslücke entdeckt wird, kann ein Angreifer diese nutzen, sich in Ihre Umgebung einzuschleusen. Das ist also nur die Entwicklerumgebung, oder? Und dann zu den anderen Umgebungen wie der UAT-Testumgebung Wenn Sie die Tests durchführen, machen Unternehmen manchmal nicht einmal Mühe, Sicherheitstests durchzuführen Sie haben keine Ahnung, ob der Code sicher ist. Ob der COO irgendwelche Sicherheitslücken einführt oder nicht, etwas Unabhängiges Sie verlassen sich einfach auf den Entwickler. Sie werden nicht glauben, wie häufig das leider immer noch ist. Sicherheitstests gibt es also nicht. Ich habe viele Unternehmen gesehen, Sicherheitstests durchführen, aber danach passiert nichts mehr. Also machen sie einen Sicherheitstest und sie sind okay, sie haben gerade einen Bericht veröffentlicht. Dies sind die Sicherheitslücken. Niemand schaut sich diese Sicherheitslücken an, oder? dem Sicherheitstest machst du also keine Sicherheitstests nur um der Sicherheitstests willen, oder? Sie führen Sicherheitstests , damit Sicherheitslücken behoben werden. Das ist also ein weiteres Problem. Die Sicherheitstests sind nicht da. Dann geht man natürlich zu den Pre-Proud- und Staging-Umgebungen Und wir haben darüber gesprochen, dass dies eine Nachbildung der Produktion ist. Das ist nicht so sicher wie die Produktion. Das ist eine Replik Also könnte jemand in der Lage sein, es zu kompromittieren und Zugriff auf die Daten zu erhalten, weil Sie Kundendaten haben Vielleicht haben Sie sie nicht maskiert oder anonymisiert, sodass die Leute auf diese Daten zugreifen und sie kompromittieren können diese Daten zugreifen und sie kompromittieren Und zu guter Letzt natürlich die Produktionsumgebung. Die Produktionsumgebung habe ich aus dem Rahmen dieses Kurses herausgenommen, weil das natürlich traditionelle Cybersicherheit ist. Sie werden Patches und all diese anderen Dinge haben. Aber das kann auch gefährdet werden, oder? Weil ich möchte , dass du es aus der Gesamtperspektive betrachtest Das sind alle Angriffe , die passieren können, oder? Und zu guter Letzt, wenn Sie sich die Pfeile ansehen, die diese Umgebungen verbinden, diese, die CICD-Pipeline, wenn Sie eine CSED-Pipeline verwenden, haben wir darüber gesprochen, wie die kontinuierliche Integration sie schnell testet, den Code pusht und die Tests durchführt, und dann die kontinuierliche Bereitstellung oder sie überträgt den Code durch die andere Umgebungen, richtig? Was ist, wenn jemand die CICD-Pipeline kompromittieren kann? Diese Pipeline hat Zugriff auf alle Umgebungen, oder? Sie können also tatsächlich kontrollieren, welcher Code übertragen wird und welche Art von Tests stattfinden Dies ist eine weitere Sache, die Sie beachten müssen. Das ist eine weitere sehr, sehr gefährliche Sache, die passieren kann. Das ist also das große Ganze. Das ist die Art von Angriffen an die Sie denken sollten, wenn Sie über die Sicherheit der Lieferkette nachdenken, richtig? Und ist das meine Meinung? Sie denken vielleicht, und das ist nur Ihre subjektive Meinung. Also nein, ich habe es auf einen Branchen-Benchmark gestützt. Also das ist Salsa. Man sagt, sie sprechen es Salsa aus, was ich mag, aber Supply-Chain-Ebene für Software-Artefakte Das ist ein Branchen-Benchmark. Ich werde den Link in diesen Kurs einfügen. Es ist also ein Sicherheitsframework. Es ist wie eine Checkliste mit bewährten Methoden, um zu verhindern, dass beispielsweise die Sicherheit Ihrer Software-Lieferkette gefährdet wird, oder Und es wird normalerweise in der gesamten Branche verwendet. Es ist ein sehr, sehr gutes unabhängiges Produkt, es ist technologieunabhängig, es ist herstellerunabhängig Und es ist wie eine Reihe von Richtlinien. Sie können sie langsam und langsam übernehmen, und sie werden im Branchenkonsens festgelegt. Und sie sind eingerichtet. Also sollte jeder, der Software entwickelt, sie benutzen, richtig? Jeder, der Software wie Build-Plattformen oder etwas anderes produziert, konsumiert oder anbietet, kann dies nutzen, um mehr Vertrauen in Sicherheit Ihrer Software-Lieferkette zu gewinnen. Es ist wie branchenübergreifende Zusammenarbeit. Wir werden später mehr darüber sprechen. Aber es ist quasi ein völlig herstellerneutraler, was nennen Sie ein Framework zur Sicherung Ihrer Software, ein Plan. Es gibt Ihnen ein allgemeines Vokabular , um über die Sicherheit der Software-Lieferkette zu sprechen. Und darauf habe ich dieses Diagramm aufgebaut. Das ist es also, was wir zeigen wollen. Und das ist ein Branchen-Benchmark. Also werde ich den Link dort platzieren. Du siehst also, es geht nicht nur mir so, du denkst, ich spreche nur aus meiner eigenen Meinung heraus. Das basiert auf einem Branchen-Benchmark , über den ich gesprochen habe, und ich würde definitiv empfehlen, es uns später, wenn wir ein Sicherheitsprogramm für die Software-Lieferkette entwickeln ein Sicherheitsprogramm für die Software-Lieferkette , anzusehen, okay? Jetzt werden wir über das wichtigste Sicherheitsrisiko sprechen. Ich werde in dieser Lektion nicht darüber sprechen, weil ich Ihnen bereits einige Dinge gegeben habe , über die Sie sprechen können. Wir werden in der nächsten Lektion weitermachen. Aber wir werden über das wichtigste Sicherheitsrisiko sprechen. all den Risiken, über die wir im Diagramm gesprochen haben, werden wir uns eingehend mit jedem einzelnen Risiko befassen und darüber nachdenken wie das funktioniert und welche Auswirkungen diese Angriffe haben. Es ist sehr wichtig, diese zu verstehen, weil man sonst nichts sichern kann , wenn man nicht versteht, wie es passiert, oder? Jetzt werden wir uns eingehend mit jedem dieser Risiken befassen, und ich werde Ihnen zeigen, welche Auswirkungen diese Dinge haben. Okay, vielen Dank. Wir sehen uns in der nächsten Lektion. 4. Risiken der Lieferkette – 2: Hallo, alle zusammen. Willkommen zu dieser Lektion. Und jetzt werden wir über die wichtigsten Sicherheitsrisiken sprechen über die wir in der Abbildung gesprochen haben. Und wir gehen eins nach dem anderen durch, damit Sie sich ein besseres Bild von diesen Sicherheitsrisiken machen können. Und später, wenn wir anfangen, sie zu schützen, werden Sie eine viel bessere Vorstellung haben. Und wir werden uns auch einige Fallstudien über Sonnenwinde und Kokov ansehen auch einige Fallstudien über Sonnenwinde und , wie diese Risiken tatsächlich auftreten und wirklich Kompromisse eingehen können Ich werde Schritt für Schritt vorgehen, damit Sie diese Angriffe besser einschätzen Fangen wir also mit der Nummer eins an , nämlich dem unsicheren Code. Nun, unsicherer Code ist nicht, ich meine, ehrlich gesagt, das ist etwas, das in der Branche schon seit Jahrzehnten existiert, und es gibt inzwischen ein großes Bewusstsein dafür Ich meine, im Vergleich zu den anderen Angriffen würde ich sagen, dass unsicherer Code nicht so schwerwiegend ist Ich weiß, dass die meisten Unternehmen damit begonnen haben , Maßnahmen zu ergreifen, aber das ist der Ausgangspunkt Von allen Sicherheitsrisiken in der Software-Lieferkette Ehrlich gesagt, wie gesagt, die Wurzel allen Übels, egal ob es sich um Erstanbieter oder Dritte handelt, müssen Sie sicherstellen , dass Ihr Code sicher ist. Und der Fehler, den ich bei vielen Unternehmen sehe, sie ihren First-Party-Code sichern , der ihr eigener Code ist, aber sie schauen nicht auf Dritte, und Sie müssen den gesamten Code gleich behandeln. Sie müssen sicherstellen, dass Sie die Gewissheit haben , dass dieser Code gesichert wurde. Und Sie fragen sich vielleicht, wie kann ich Code eines Drittanbieters sichern? Ich habe keinen Zugriff darauf? Nun, es gibt Möglichkeiten, das anzugehen. Sie können den Verkäufer fragen. Sie können die Risikomanagementprozesse des Anbieters beurteilen, oder? Es gibt also Möglichkeiten , dies zu überprüfen, und wir werden uns das genauer ansehen. Wo wir über die Erstellung des Sicherheitsrisikomanagementprogramms des Anbieters sprechen. Aber unsicherer Code ist so ziemlich alles, wenn Sie Ihren Code nicht sichern . Alle anderen Kontrollen spielen keine Rolle, da dort die meisten Ihrer Sicherheitsrisiken liegen Das sind also nur Beispiele. Ich habe sie mir früher angesehen, und wenn Sie sich ein bisschen mit Programmieren auskennen, ist das so etwas wie ein Injection-Angriff, bei Sie sich ein bisschen mit Programmieren auskennen, ist das so etwas wie ein Injection-Angriff dem Sie den Code nicht bereinigen, sondern nur Code in Ihre Umgebung aufnehmen und so ziemlich jeder diesen Code einfach umgehen kann, und so ziemlich jeder diesen Code einfach umgehen kann um auf Ihre zugrunde liegenden Datenbanken, Ihr zugrunde liegendes Betriebssystem zuzugreifen Ihr zugrunde liegendes Betriebssystem Das wird als Injection-Angriff bezeichnet. Und Sie werden nicht glauben, dass ich selbst 2024 noch Menschen sehe, die diesen Fehler machen . Es ist also unglaublich. Ich habe mir 2002 das Programmieren angesehen. Es ist jetzt fast 22 Jahre her, und dieses Problem ist immer noch da, was ich sehr lustig fand, dass dieser Fehler trotz aller Fortschritte, die wir gemacht haben, immer trotz aller Fortschritte, die wir gemacht haben noch besteht. Das ist etwas anderes. Das ist wie ein ZIP-Bombenangriff falls Sie damit nicht vertraut sind. Das ist wie ein Archiv, bei dem Sie keine ZIP-Datei oder Archivdatei validieren, Sie extrahieren es einfach, ohne eine Überprüfung durchzuführen Sie können dem Angreifer also tatsächlich einen Denial-of-Service zufügen Sie können den Speicherplatz oder Speicher des Zielsystems erschöpfen , wenn Sie versuchen, es zu extrahieren, Und ehrlich gesagt ist das ZIP-Format das am häufigsten verwendete, aber Sie können es so ziemlich verwenden Es ist, als würde man eine große Datei komprimieren , die aus einem einzigen Zeichen besteht, oder? Und Sie können eine Ein-MB-Datei erstellen , die auf ein GV dekomprimiert wird Und es wird tatsächlich das Betriebssystem durcheinander bringen , weil Sie keine Validierung durchführen Das ist also ein weiterer Angriff , der auf Ihren unsicheren Code zurückzuführen ist Und das ist, ich meine, jeder weiß das. Das ist die älteste und häufigste Sache, nämlich hartcodierte Geheimnisse. Als ob die Leute faul sind. Sie wollen keine sichere Validierung durchführen und niemand schaut sich den Code an. Also geben sie tatsächlich die fest codierten Geheimnisse ein, und das wird in ein öffentliches Code-Repository verschoben. Nehmen wir an, Sie verwenden einen Public-Code-Reaper, jemand greift darauf zu und bumm, er hat Zugriff auf Ihre Umgebung, weil Sie die Benutzer-ID und das Passwort in einen Code-Reaper eingeben die Benutzer-ID und das Passwort in einen Code-Reaper So viele Unternehmen, die ich kenne, haben sehr strenge Passwortrichtlinien, aber sie schauen sich den Code nicht an Welches ist da, und deshalb scannen sie nicht einmal ihren Code. Das kann also tatsächlich dazu führen hartcodierte Benutzer-IDs, Passwörter hartcodierte Zugangsschlüssel in einen Code eingegeben und in den Codebericht übertragen werden. Jeder, der Zugriff auf diesen Code hat, kann Ihre Umgebung jetzt tatsächlich umgehen und gefährden. Das ist also nur, um Ihnen zu zeigen, wie gefährlich diese Angriffe sind. Das war also wie unsicherer Code. Gehen wir zum nächsten über, bei dem es sich unsichere Komponenten von Drittanbietern handelt Und genau hier liegt der größte Fokus, wenn es um Sicherheit in der Lieferkette geht , also im Grunde genommen um anfällige oder böswillige Abhängigkeiten von Drittanbietern Wissen Sie, wir haben bereits darüber gesprochen, dass moderne Software auf Bibliotheken oder Audios von Drittanbietern angewiesen ist Und wenn diese Abhängigkeiten Sicherheitslücken oder vielleicht bösartigen Code enthalten , können sie ein Risiko für Ihre gesamte Umgebung darstellen, oder? Und Software von Drittanbietern, stellen Sie sich vor, Software von Drittanbietern ist nur Erstanbieter-Software , die von jemand anderem geschrieben wurde. So wie die Cloud nur ein Server ist , der von jemand anderem betrieben wird. Softwareabhängigkeiten von Drittanbietern, das können Sie sich vorstellen. Dies sind Ihre Abhängigkeiten, die jedoch von jemand anderem geschrieben wurden. All die Risiken, über die wir beim Kodieren gesprochen haben, werden auch hier übertragen. Und diese Sicherheitslücken können in Ihre Umgebung gelangen. Wenn der Angreifer in der Lage ist, es zu kompromittieren. Abhängigkeit, diese Abhängigkeit wird jetzt genutzt, um Ihre Umgebung zu gefährden, oder? Und das können bekannte Sicherheitslücken sein. Es ist also nicht so, dass sie versteckt ist weil diese Sicherheitslücke schon seit geraumer Zeit bekannt ist, aber Sie können sie nicht beheben, weil dadurch Ihre Anwendung beschädigt wird oder weil der Anbieter kein Update veröffentlicht hat. Sie müssen also darüber nachdenken. Okay, was mache ich jetzt? Oder das können null Tage sein, wie das ursprüngliche Lock für J. Du erinnerst dich an Log for J, oder? Das können null Tage sein. Niemand wusste davon. Plötzlich kommt es rein und es gibt keine Lösung dafür. Und schnell können Angreifer damit beginnen, es zu manipulieren und zu versuchen, Umgebungen damit zu kompromittieren Und das ist so es unmittelbare Sicherheitslücken geben kann, die monatelang, jahrelang oder sogar jahrzehntelang in einer Codebasis schlummern Und als sie endlich entdeckt und bekannt gegeben werden, sind Menschen auf der ganzen Welt dabei, sich Ich möchte herausfinden, ob sie diese Software verwenden oder nicht, um herauszufinden, ob sie diese Abhängigkeit nutzen und wie sie diese Abhängigkeit nutzen und wie sich davor schützen können, ausgenutzt zu Angreifer versuchen auch, sich zu manipulieren. Übrigens versuchen sie herauszufinden, wer diese anfällige Software verwendet, und sie versuchen, Exploits zu entwickeln, um die Umgebung auszunutzen und zu Es ist also wie ein verrückter Schlag, wenn die Leute das herausfinden wollen, oder? Und so sieht es normalerweise aus. Sie haben also einen Angreifer, diese Umgebung kompromittiert. Sie kompromittieren ein Labor eines Drittanbieters und dieses Drittanbieter-Labyrinth macht sich breit. Es wird an Tausende und Abertausende von Unternehmen weitergegeben , richtig, wie Lock for und nehmen Sie das Jemand hat die Umgebung für Sonnenwinde kompromittiert, und diesen Code haben wir dann benutzt, um die Umgebung zu verbreiten Das ist also ein weiteres Beispiel dafür , wie das passiert ist. Und so funktionieren normalerweise unsichere Komponenten von Drittanbietern, oder? Sie müssen es aus dieser Perspektive betrachten. Das waren also die Codierung der ersten Ebene und die Abhängigkeiten von Drittanbietern. Ich werde diese Lektion in mehrere Teile unterteilen, weil ich möchte, dass Sie das, worüber wir gesprochen haben, aufnehmen , bevor ich zum nächsten übergehe. In der nächsten werde ich über die Kompromittierung des Code-Repos sprechen , in dem Sie den Code speichern Denken Sie daran, dass der Entwickler Code früher per Push in ein Code-Repository Lassen Sie uns also über das Code-Repo sprechen und darüber, was passieren kann. Vielen Dank und wir sehen uns in der nächsten Lektion. 5. Risiken der Lieferkette – 3: Hallo, alle zusammen. Willkommen. Willkommen zu dieser Lektion. Und jetzt werden wir über den Code-Repo-Kompromiss sprechen über den Code-Repo-Kompromiss Wie Sie sehen können, bewegen wir uns langsam in der gesamten Software-Lieferkette, wenn Sie sich an das Diagramm erinnern bewegen wir uns langsam in der gesamten Software-Lieferkette, wenn Sie sich an das Und wir haben schon einmal über Code-Repos gesprochen. Basic, stellen Sie sich das als eine zentralisierte Bibliothek oder ein zentrales Repository vor, in dem Ihre Entwickler gemeinsam am Code arbeiten können, oder? Also schreibe ich Code und füge ihn in einen Codebericht ein. Ein anderer Entwickler schreibt ebenfalls Code. Sie drängen auf denselben Bericht. Und der Code, von dem Sie überall auf Github gehört haben. Es stellt also sicher, dass der gesamte Code synchronisiert ist. Und was kann passieren, Angreifer können sich Zugriff auf dieses Repo verschaffen, oder? Vielleicht ist die Software nicht gesichert, oder vielleicht kompromittieren sie den Benutzer, sie haben ihm einen bösartigen Link geschickt, und er hat so seine Benutzer-ID und sein Passwort eingegeben, und sie konnten es bekommen Jetzt können sie den Quellcode in der Foundation manipulieren . Oder sogar viele Leute sind sich dessen nicht bewusst. Das Repo selbst kann für Angriffe auf Kunden verwendet werden Und manchmal sind sich die Leute dessen nicht bewusst. Da ist also die Sicherheit des Repos selbst, um sicherzustellen, dass das Repo nicht gefährdet ist und das Repo selbst als Angriffsvektor verwendet werden kann Und lassen Sie uns ein Beispiel nehmen. Nur für den Fall, dass Sie sich dessen nicht bewusst sind, ich glaube, das ist 2020 passiert, die Octopus-Scanner-Malware Sie sind also tatsächlich Angreifer. Sie hatten quasi eine Reihe von auf Github gehosteten Repositorys, und sie waren ungewollt das Schlüsselwort hier Unbeabsichtigt wurden sie zur Bereitstellung von Schadsoftware verwendet. Und tatsächlich, das Github-Sicherheitsteam hat es untersucht und herausgefunden, dass diese Repos nicht gesichert waren und sie dazu verwendet wurden, Malware auf breiter Front zu verteilen, oder? diese Repos nicht gesichert waren und sie dazu verwendet wurden, Malware auf breiter Front zu verteilen, oder Und die Besitzer der Repos waren sich dessen überhaupt Sie haben sich wie bösartigen Code in die bösartigen Code in Als sie den Code abgerufen haben, haben sie tatsächlich Schadsoftware abgerufen, und sie bieten ein hohes Level, wie nennt man das? Was es gut macht, ist im Grunde, dass es das Repo selbst kompromittiert hat Und Sie können sich vorstellen, wie gefährlich das ist, oder? Denn warum? Weil die Malware die Entwickler-Workstation übertragen wird. Und von dort aus wird sie in den Build übernommen, und jetzt geben Sie dieser Malware die Möglichkeit, sich in Ihrer Umgebung zu bewegen. Und da die Hauptpersonen , die kompromittiert werden, Entwickler sind, und wenn Sie sich erinnern, worüber wir gesprochen , haben Entwickler traditionell mehr Zugriff als normale Leute, oder? Sie haben erhöhte Rechte, Poweruser. Auf diese Weise können sie potenziell auf Produktionsumgebungen zugreifen . Sie könnten möglicherweise Zugriff auf Datenbanken, Passwörter und andere wichtige Ressourcen erhalten , oder? Es besteht ein enormes Eskalationspotenzial für den Angreifer, der eine Rechteerweiterung ist ein zentrales Ziel der meisten Datenkompromittierungen Wenn der Angreifer in eine Umgebung eindringt, möchte er als Erstes Administrator werden, oder? Administrator werden, oder Und das ist nur, um Ihnen zu zeigen, was passieren kann. Die Leute denken, oh, das Code-Depot könnte veröffentlicht werden. Das ist das Schlimmste , was passieren kann. Nein, wenn Sie Ihr Code-Repo nicht gesichert haben, kann der Codebericht selbst kompromittiert und zur Bereitstellung von Malware verwendet werden. Und wir werden später über alle Sicherheitskontrollen sprechen später über alle Sicherheitskontrollen Zunächst möchte ich, dass Sie die Risiken verstehen. Und das hängt stark mit der Entwicklerumgebung zusammen. Wir haben schon einmal darüber gesprochen, oder? Das ist ein Entwickler, sie brauchen Zugriff, weil sie die Möglichkeit haben wollen , sie wollen Sandboxen Sie wollen die Möglichkeit haben, virtuelle Maschinen zu starten, Anwendungen zu installieren und zumindest erweiterten Zugriff Sie wollen keinen Firmen-PC, auf dem sie nichts tun können, weil sie Code ausführen müssen. Sie haben also Elektrowerkzeuge, sie haben IDs mit Plugins. Diese Plugins können kompromittiert werden, oder? Also über all diese Dinge musst du nachdenken. Und natürlich PreProde-Umgebungen. Die Pre-Prod-Umgebung wird Kundendaten enthalten. Wenn also eine Schadsoftware vorhanden ist, kompromittiert sie den Computer des Entwicklers und wird langsam in die Umgebung geschleudert. Der Angreifer kann so lange auf eine Umgebung zugreifen, bis er eine Umgebung erreicht , in der die Malware ihm sagen kann: Schau, ich habe jetzt Zugriff auf Kundendaten Sie werden in der Lage sein, diese Daten zu exfiltrieren. diese Weise können Sie also sehen, wie mehrere Dinge zusammenkommen: Der Entwickler-PC ist nicht sicher, der Quellcode-Sweep ist kompromittiert und Ihre Vorproduktumgebung enthält Auf diese Weise können Sie also sehen, wie mehrere Dinge zusammenkommen: Der Entwickler-PC ist nicht sicher, der Quellcode-Sweep ist kompromittiert und Ihre Vorproduktumgebung enthält vollständig offene Produktionsdaten. All diese Faktoren führen zu einer echten Gefährdung Ihrer Umgebung Das war also eher aus Sicht der Entwickler. Lassen Sie uns nun über Angriffe während der Build-Phase sprechen. Wir haben schon einmal über einen Build-Server gesprochen, oder? Es ist ein wichtiger Teil von CICD, da sie im Grunde den Prozess des Kompilierens von Code, der Ausführung von Tests und der Vorbereitung von Anwendungen für die Bereitstellung automatisieren Ausführung von Tests und der Vorbereitung von Anwendungen für Es ist, als ob der Build-Server alles macht, oder? Und Angriffe während der Build-Phase sind ziemlich gefährlich, denn wenn ein Angreifer in der Lage ist, unbefugten Zugriff auf oder Kontrolle über den Build-Server zu erlangen , können sie in Ihrer Umgebung wirklich Chaos anrichten Warum? Weil gebaute Plattformen normalerweise in Ihre Artefakt-Repos integriert sind, wo sich Ihr Code oder Ihre Paket-Repos befinden, Und sie können Ihren Build modifizieren. Sie können also diese Rechnungsplattformen tatsächlich angreifen. Sie haben viele Parameter, oder? Sie können es also tatsächlich ändern. Sie können damit zu einem kompromittierten Ort weiterleiten kompromittierten Ort weiterleiten Oder sie können die Bill-Plattform selbst nutzen , um ihren eigenen bösartigen Code zu verbreiten, wie den, der bei Sonnenwinden passiert ist über den wir gleich sprechen Oder sie können es tatsächlich verwenden die Artefakte zu kompromittieren, oder? Die entwickelte Plattform ist also ein sehr, sehr wichtiger Teil Ihrer Umgebung. Und eines der besten Beispiele dafür, was passiert, sind Solargewinne. Nach dieser Lektion werden wir uns später einige Lektionen ansehen . Wir werden anhand einer Fallstudie zeigen, was passiert, wenn eine gebaute Plattform kompromittiert wird Die schiere Wirkung des besten Beispiels dafür sind Gewinne aus der Solarenergie Der andere, der in engem Zusammenhang damit steht, ist der Kompromiss mit der CICD-Pipeline Wir haben über die CICD-Pipeline gesprochen. Warum? Das überträgt automatisch Code, stellt ihn bereit und testet ihn Und diese Pipelines sind sehr, sehr attraktive Ziele für Angreifer Warum? Weil sie einen direkten Weg zur Softwareproduktionsumgebung und zum Benutzersystem und zu den Daten bieten. Also ich meine, wie kann es kompromittiert werden? Es gibt mehrere Möglichkeiten. Möglicherweise haben Sie unsichere Anmeldeinformationen. Vielleicht haben Sie die Zugriffskontrollen nicht richtig konfiguriert Zugriffskontrollen nicht richtig Möglicherweise haben Sie anfällige Tools , die kompromittiert werden, oder? Und denken Sie daran, dass es sich bei CSCDPipeline um automatisierte Prozesse handelt , die zum Integrieren, Testen und Bereitstellen von Code verwendet werden , Testen Und diese können zu schwerwiegenden Sicherheitsverletzungen führen. Und das kann dazu führen, dass auch andere Kunden Kompromisse eingehen, worüber wir in einer Fallstudie namens Cod COV sprechen einer Fallstudie namens Cod COV Ich werde dir zeigen, was passiert. Eigentlich, wenn die CICD-Pipeline kompromittiert wird, was das für Auswirkungen Also das sind die beiden. Also einer ist der Build-Server, wir werden eine Fallstudie machen und diese. Wir werden eine Kas-Studie machen. Ich werde Ihnen in Kürze zeigen , was passiert, wenn entweder der Build-Server oder die CICD-Pipeline kompromittiert Aber jetzt möchte ich, dass Sie über die Auswirkungen dessen nachdenken , was passieren kann Das deckt also diesen speziellen Abschnitt ab. Jetzt werden wir über das Paketdepot sprechen, aber wie ich schon sagte, ich möchte Sie nicht mit zu vielen Informationen überhäufen In der nächsten Lektion werden wir über das Paket wept und spezifische Angriffe sprechen , die darauf abzielen können , sowie über einige einzigartige Angriffe wie Abhängigkeiten und Konfusionsangriffe Wie sie passieren und welche Auswirkungen diese Angriffe haben Also vielen Dank, und wir sehen uns im nächsten. 6. Risiken der Lieferkette – 4: Hallo, alle zusammen. Willkommen. Willkommen zu dieser Lektion. Und jetzt werden wir uns auf die Paketruhe konzentrieren. Wenn Sie sich an Ihre Software erinnern , die in einem Paket gebündelt ist, oder? Der gesamte Code und alle Abhängigkeiten werden in einem Paket gebündelt, das Sie in den Kundenumgebungen und in Ihren Produktionsumgebungen bereitstellen können Ihren Produktionsumgebungen Jetzt werden diese Pakete im Paket-Repo aufbewahrt, und der Paketbericht selbst kann kompromittiert werden Vielleicht haben Sie das Paket-Repo nicht gesichert , oder? Wir haben es offen zugänglich gemacht. Sie haben es also falsch konfiguriert. Vielleicht haben Sie eine Verbindung zum Internet hergestellt, vielleicht haben Sie anonymen Zugriff zugelassen Sie verwenden Standardkennwörter und gewähren Benutzern Upload-Rechte, die missbraucht werden können. Und was passieren kann, ist, dass sich ein Angreifer Zugriff auf dieses Paket-Repo verschafft und es vergiftet Das Paket-Repo wird also von böswilligen Akteuren wie Widen verletzt oder manipuliert Das kann also die Integrität und Sicherheit der gesamten Lieferkette, nicht wahr, der Software-Lieferkette beeinträchtigen , weil sie bösartige Pakete verbreiten können, oder Denken Sie daran, dass dies ein zentraler Ort ist, an dem Softwarepakete gespeichert werden. Was kann also passieren? Menschen können Malware verbreiten. Bei der Malware-Injektion kann bösartiger Code zu Paketen im Repository hinzugefügt werden. Also, wenn Leute es herunterladen und diese kompromittierten Pakete integrieren, wird die Malware Teil der Anwendung oder, äh, der Diebstahl von Zugangsdaten, Vielleicht können Angreifer Anmeldeinformationen aus Paketen stehlen und sie dann verwenden um anderen nicht autorisierten Code in die Pipeline zu bringen Sie können sogar legitime Pakete ersetzen lassen. Sie haben also einen Paketnamen. Sie können das durch Ihr eigenes bösartiges Paket ersetzen, und im Nachhinein wird es an Tausende und Abertausende von Leuten weitergegeben. Und zu guter Letzt gibt es noch Angriffe zur Verwirrung bei Abhängigkeiten. Dabei handelt es sich um eine spezielle Art von Angriff bei der Angreifer Pakete veröffentlichen, deren Namen den internen privaten Paketen ähneln , die von Unternehmen verwendet werden. Und wenn das öffentliche Paket eine höhere Versionsnummer hat, könnten die Paketmanager diese anstelle der internen Nummer abrufen, und ich zeige Ihnen, wie das passiert Es ist ein sehr einzigartiger Angriff, aber ein extrem, extrem gefährlicher Aber das ist genau das, was ich dir zeigen wollte. Und das ist kein Witz. Ich meine, das Paket-Repo, nur um dir ein Beispiel zu geben. Das war ein Paket-Repo, das letztes Jahr kompromittiert wurde. Der Angreifer konnte sich Zugriff verschaffen, glaube ich, auf vier inaktive Konten, und er hat über ein Dutzend Pakete mit über 500 Millionen Installationen entführt mit über 500 Millionen Und im Grunde haben sie, glaube ich, die Paketbeschreibung durch ihre eigene Nachricht ersetzt , und das wurde kompromittiert, im Grunde genommen, die Pakete modifiziert, und es wurde immer mehr geschoben Also würden Entwickler, die die Pakete herunterladen, das bösartige Paket bekommen. Und nur um Ihnen zu zeigen, wie gefährlich das ist, Leute, wenn Sie nicht so etwas wie Multifaktor-Authentifizierung verwenden, wenn Sie nur Ihre eigenen Passwörter öffnen, und so ist das passiert Und wissen Sie, das zeigt Ihnen nur, wie gefährlich es ist, dass Benutzer, die völlig offen sind, die keine Zugriffskontrolle haben, sich tatsächlich Malware einfangen können Die Leute denken über Malware nach. Sie denken daran, dass etwas ins Internet oder per E-Mail kommt , oder? Sie wissen nicht, dass Ihre Softwarelieferkette , also Ihre Paketanbieter, Ihre entwickelten Plattformen, die auch dazu verwendet werden können , bösartigen Code in Ihre Umgebung und in die Umgebung Ihrer Kunden zu übertragen, was zu einem massiven Reputationsproblem für Ihr Unternehmen führen kann zu einem massiven Reputationsproblem für Ihr Denken Sie also bitte an all diese Dinge. Und jetzt, worüber ich vorhin sprechen wollte, Verwirrung über Abhängigkeiten, falls Sie sich erinnern. Also das ist wie eine besondere Art von Angriff. Diese nutzen aus, wie Paketmanager Pakete herunterladen und installieren. Ein Angreifer veröffentlicht also ein bösartiges Paket in einem öffentlichen Paket-Repo mit demselben Namen wie ein bekanntes Paket, das intern verwendet wird Und wenn Sie dieses Paket anfordern Ihr Paket-Repo nicht konfiguriert ist , geht es zunächst ins Internet und prüft, ob dort eine höhere Versionsnummer vorhanden ist Nehmen wir also an, Sie verwenden Version eins in Ihrem privaten Repo, wird der Angreifer denselben Namen eingeben und er wird Version zwei installieren Wenn Sie das Paket-Repo also nicht richtig konfiguriert haben , wird es dieses bösartige Paket herunterladen Deshalb wird es als Abhängigkeitsverwirrung bezeichnet , oder? Wir nutzen die Art und Weise aus, wie diese Dinge funktionieren. Denken Sie daran, wir haben öffentliche und private Repos, richtig? Es tut uns leid. Private Repos sind also solche, die intern gehostet werden, aber Sie haben vielleicht einen öffentlichen Node Packet Manager und all das, oder? den öffentlichen Paketen können Angreifer also schnell herausfinden, können Angreifer also schnell was die gängigsten und beliebtesten sind, und sie können schnell viele, viele Pakete, bösartige Pakete mit demselben Namen, pushen bösartige Pakete mit demselben Namen Und das ist sehr, sehr gefährlich, denn wenn Sie es nicht richtig konfiguriert haben , können Angreifer ein bösartiges Paket mit demselben Namen wie ein legitimes Paket erstellen ein bösartiges Paket mit demselben Namen wie und es in diese beliebten Paket-Repos hochladen Wenn also ein Entwickler nach einer legitimen Abhängigkeit fragt, wird der Paketmanager dieses bösartige Paket abholen Und das ist eine großartige Möglichkeit, Malware zu verbreiten. So wird es also aussehen , oder? Sie haben ein öffentliches Paket-Repo. Der Angreifer geht dorthin Er sagt: Okay, das sind die gängigsten Pakete. Ich werde mein eigenes mit dem gleichen Namen veröffentlichen, aber ich werde eine höhere Versionsnummer als die aktuelle angeben. Version drei, Version vier, Version fünf, richtig? Und was passiert? Also geht der Entwickler dorthin. Er sagt, ich möchte das XYZ-Paket in der privaten Registrierung haben. Sie haben diese private Registrierung nicht so konfiguriert , dass sie nur die privaten verwendet. Standardmäßig wird das Verhalten also zuerst in das öffentliche Repo übertragen Es wird sagen und es wird das falsche Paket abrufen Es wird das interne nicht abrufen . Es wird sagen: Hey, ich habe Version eins im Internet, es gibt Version zwei Es wird also die, wie Sie es nennen, neueste Version herausgeben. Aber dieser war bösartig. Dieser wurde vom Angreifer geschubst. Wenn es also erfolgreich ist, können eine Abhängigkeit, eine Verwirrung und ein Angriff schwerwiegende verheerende Folgen haben Es kann alle Kunden infizieren, die das bösartige Paket installieren, und sie können dann ins Visier genommen werden, weil sie durch Malware oder Ransomware kompromittiert wurden . Sie können dieses Problem eindämmen, Sie können indem Sie sicherstellen, dass die Entwickler ihre Pakete überprüfen und verifizieren und ihre Abhängigkeiten auf dem neuesten Stand halten , aber private Es handelt sich also um eine sehr einzigartige Art von Angriff, mit der viele Menschen nicht vertraut sind Und das ist ziemlich gefährlich in der Art und Weise, wie es funktioniert. Damit ist dieser spezielle Bereich, den Sie als Sicherheitsrisiko in der Lieferkette bezeichnen In der nächsten Lektion werde ich über eine Fallstudie sprechen. Denken Sie daran, dass wir über die kompromittierte Build-Plattform und die CICD-Pipeline gesprochen kompromittierte Build-Plattform und die CICD-Pipeline Wir werden über die Sonnenvenen und die Code-CV-Venen sprechen Sonnenvenen und die Code-CV-Venen Aber in dieser Lektion, die ziemlich lang war, haben wir über die Arten von Software, die Risiken in der Lieferkette, die verschiedenen Angriffspunkte und die möglichen Auswirkungen gesprochen über die Arten von Software, Risiken in der Lieferkette, die verschiedenen Angriffspunkte . Was die Auswirkungen angeht, werde ich Ihnen mehr Kontext geben , indem ich mir die tatsächlichen Angriffe und dergleichen anschaue, welche sehr gefährlichen Folgen diese Angriffe hatten sehr gefährlichen Folgen . Also vielen Dank. Nehmen Sie sich Zeit , um diese Lektion noch einmal durchzugehen, falls nötig. Damit du eine gute Grundlage hast und wir sehen uns in der nächsten Lektion. Danke. 7. SolarWinde: Hallo, alle zusammen. Willkommen. Willkommen zu dieser Lektion, der es darum geht, den Angriff von Solowinden zu verstehen. Ich bin mir sicher, dass Sie von dem Angriff auf die Lieferkette durch Solarwinde gehört haben . Es ist einer der verheerendsten Angriffe, die je passiert sind, zumindest innerhalb von 21 Jahren, in denen zumindest innerhalb von 21 Jahren ich im Bereich Cybersicherheit gearbeitet habe, die Auswirkungen und die Anzahl der kompromittierten Unternehmen Solar Wins ist mit Abstand einer der größten Cyberangriffe , die es je gegeben hat Es ist sehr wahrscheinlich, dass Sie meinen Kurs verfolgen, hauptsächlich wegen des Solarwind-Cyberangriffs Ich bin ehrlich, ja. Deshalb wollte ich über Sonnenwinde sprechen. Man kann nicht über Lieferkettensicherheit sprechen ohne über den Solarwind-Cyberangriff und Fallstudien zu sprechen , und wissen Sie, wirklich einen Schritt zurücktreten und einige dieser Themen ansehen, wird das wirklich dazu beitragen, die Sicherheitsrisiken in der Lieferkette, von denen ich gesprochen habe, zu kontextualisieren , denn dann können Sie es aus der Perspektive eines tatsächlichen Vorfalls betrachten der Perspektive eines tatsächlichen ist passiert und nur um eine bessere Vorstellung davon zu bekommen , wie gefährlich diese Dinge sind, richtig? Also lass uns weitermachen. Wenn wir also über Solargewinne sprechen, ist das, wie ich schon sagte, einer der verheerendsten Angriffe auf die Lieferkette aller Zeiten. Es ist wie bekannt, wissen Sie, all die großen Cybersicherheitsvorfälle, und es zeigt wirklich die Schwachstellen , die es in der Sofa-Lieferkette gibt , und die Folgen wie die Auswirkungen. Gewinne im Solarbereich hatten globale Auswirkungen. Es ist auf Regierungen und Organisationen auf der ganzen Welt verteilt, einfach weil die Solarwind-Software so verbreitet ist, oder? Und es sind wirklich so viele CSOs, Tausende und Abertausende von Unternehmen, Tausende und Abertausende von Unternehmen, dass sie ihre Lieferkettensicherheit und ihr Vertrauen in Drittanbieter aus allen Branchen neu bewerten ihr Vertrauen in Drittanbieter aus allen Branchen Und Solar gewinnt, falls Sie nicht wissen, es sich um ein weit verbreitetes Unternehmen für Netzwerkmanagement-Software handelt, das Ziel des hochentwickelten Supply-Chain-Angriffs war des hochentwickelten Supply-Chain-Angriffs Im Grunde waren die Angreifer in der Lage, den Softwareentwicklungs - und Vertriebsprozess von Solarwind zu infiltrieren den Softwareentwicklungs - und Vertriebsprozess von Solarwind - und Vertriebsprozess und bösartigen Code in die Softwareupdates einzufügen bösartigen Code in die Softwareupdates Es handelte sich also nicht nur um einen direkten Angriff auf Solargewinne, sondern auch um einen indirekten Angriff auf Tausende und Abertausende von Unternehmen sondern auch um einen indirekten Angriff auf Tausende und Abertausende von Unternehmen. Dem sie vertrauen. Das bösartige Update wurde also als legitimes Softwareupdate für Solar Wins getarnt , und es wurde an Tausende von Solarwins-Kunden verteilt , und es hat sich heimlich seinen Weg in die Netzwerke so vieler Solarwin-Kunden verschafft die Netzwerke so vieler Solarwin-Kunden Und es ist wirklich eine Erinnerung daran, wie wichtig es ist, die Software-Lieferkette zu sichern die Software-Lieferkette und dass Sie diese Risikobeurteilungen wirklich ständig evaluieren und durchführen müssen diese Risikobeurteilungen wirklich ständig evaluieren und durchführen So sah es also richtig aus. Wie ich Ihnen bereits gesagt habe, gewinnt Solarenergie Angebote wie ID-Leistungsmanagement- und Überwachungssystem Orion, und es wird von Kunden auf der ganzen Welt genutzt Und Orion hat normalerweise Zugriff auf die Systemleistungsprotokolle und -daten der Kunden Und das ist wahrscheinlich der Grund, warum die Angreifer es ins Visier genommen , weil es aus diesem Grund Opfer des Supply-Chain-Angriffs wurde Sie verwendeten also maßgeschneiderte Malware, die für den Bauzyklus von Sonnenwinden entwickelt wurde. Und sie waren in der Lage, die Dateien zu ersetzen. Manche Leute sagen, Millisekunden, und sie waren im Grunde in der Lage, die Dateien durch ihre eigenen bösartigen Updates zu ersetzen Und es gab einen sehr, sehr ausgeklügelten Angriff, so wie sie ihn gemacht haben Er hieß Malway und hieß Sunspot, und er ermöglichte es den Hackern, quasi alles zu überwachen Die Entwicklungsumgebung für Sonnenwinde. Und wann immer sie ihre Rechnungen in die Höhe trieben, ersetzten sie sie durch ihr eigenes bösartiges Update. Im Grunde war es also eine Hintertür. Und diese Hintertür, als die Updates als bösartiges Update veröffentlicht wurden, hatten sie nun Zugriff auf Tausende und Abertausende von Kunden, weil sie sich in andere Kunden einschleichen konnten , weil sie ihr eigenes bösartiges Update in das Solar Wins-Update gesteckt hatten ihr eigenes bösartiges Update in das Solar Wins-Update gesteckt in das Solar Solar Wins hat ihnen also geholfen, diese Malware zu verbreiten, oder? Und Sie können verstehen, warum Slewns ein so vielversprechendes Ziel für diese Art von Supply-Chain-Angriff war ein so vielversprechendes Ziel , oder? Warum sollten sie möglicherweise so sein? Nun, weil ehrlich gesagt, wie gesagt, viele multinationale Unternehmen und Regierungsbehörden die Oon-Software verwenden Alles, was die Hacker brauchten , war , dieses bösartige Update zu installieren, und Solewns würde es verteilen Und weil Unternehmen ihnen vertrauen , würden sie sie installieren Es war also wirklich wunderschön in der Art und Weise, nicht wegen des Schadens, der passiert ist, sondern wirklich wunderschön in der Art, wie es entworfen wurde Man konnte sehen, wie intelligent diese Typen waren, oder? Und was ist danach passiert? Eine Sicherheitsfirma, ich glaube, es war Frey. Sie entdeckten diese Malware , die sich auf die Kunden ausbreitete, und konnten das Sunburst-Aktualisierungspaket identifizieren das Sunburst-Aktualisierungspaket Sie haben in K festgestellt, dass dieses Solvins-Paket kompromittiert wurde Und sobald es entdeckt wurde, veröffentlichten sie sofort dieses Update, und mehrere Kunden konnten feststellen dasselbe Verhalten in ihrem Enami Und so wurde ihnen klar, wie schlimm die Ausbreitung war, oder? Es hatte Tausende und Abertausende von Kunden durch sie infiziert . Und Solns hat schnelle Hotfixes veröffentlicht , um diese Hintertür zu beseitigen Aber wissen Sie, ich meine, ich glaube, etwa 18.000 Kunden von Solar Vines haben das Sunburst-Update installiert, das den Angreifern dann den Fernzugriff auf die Daten ihrer Kunden ermöglichte Fernzugriff Und wissen Sie, ich glaube, das US-Gesundheitsministerium, das US-Finanzministerium und der Staat waren alle infiziert, große Namen, Sie wissen schon, große Technologieunternehmen, alle waren von der Malware betroffen Und der ganze Sinn liegt darin , dass die Art und Weise, wie sie es verbreiten konnten, den blinden Fleck vertrauensvoller Softwareupdates aufgezeigt hat, und das hat wirklich dazu geführt, dass nicht nur Solar Vines, sondern auch andere Unternehmen sich den Wiederaufbauprozess angesehen haben. Wenn Sie ein Unternehmen sind, das Software an andere Unternehmen vertreibt, richtig? Und Sie geben automatisch Updates heraus. Sie müssen wirklich darüber nachdenken, was ist, wenn sich darin Malware befindet? Wie stelle ich sicher, dass mir das nicht passiert? Und genau darum geht es bei der Betrachtung dieser Fallstudie. Und genau das ist danach passiert. Wir hatten also so viele Unternehmen, sich ihre Softwarerechnungen angesehen , zum Beispiel, wie stelle ich sicher haben, zum Beispiel, wie stelle ich sicher, dass sich niemand einschleicht Und hier kam das Konzept der reproduzierbaren Builds zum Vorschein, das wir in Kürze eingehen werden Aber ich wollte dir nur die Wirkung zeigen. Wir hatten, wie die Regierung Biden, eine Exekutivverordnung erlassen, um Cybersicherheit des Landes zu verbessern Sie können das Datum 12. Mai 2021 sehen, und sie hatten spezielle Anforderungen an die Sicherheit der Software-Lieferkette Sie sagten, sie hätten die Tatsache erwähnt, dass diese Art von Software keine Transparenz bietet. Wir wissen nicht, was passiert, wenn Malware eindringt, und wir müssen wirklich Kontrollen einführen, um sicherzustellen, dass die Sicherheit der Software-Lieferkette gewährleistet ist, oder? Und am meisten schockierend war der wegweisende Schritt, die Securities and Exchange Commission, SEC, die den CSO von Solar Wins tatsächlich des Betrugs und der Fehler bei der internen Kontrolle im Zusammenhang mit den Cybersicherheitspraktiken des Unternehmens beschuldigte Fehler bei der internen Kontrolle im Zusammenhang den Cybersicherheitspraktiken des Unternehmens Sie sagten, sie hätten Gebühren gekauft, bei denen Sie falsch angegeben hatten, wie sicher Solargewinne Sie haben sie also tatsächlich gekauft. Sie sagten, er habe Investoren über die Cybersicherheitspraktiken des Unternehmens in die Irre geführt über die Cybersicherheitspraktiken des Unternehmens in die Er hatte die Risiken und die unzureichende Kontrolle nicht offengelegt. Im Grunde hatte er also übertrieben, wie sicher sie waren, und er hatte nicht alle Risiken offengelegt Und das war quasi ein bedeutender Wandel in der Sichtweise der Menschen auf Cybersicherheit Jetzt erkennen zivilgesellschaftliche Organisationen, dass sie tatsächlich, wissen Sie, nicht nur mit Bußgeldern, sondern sogar mit Gefängnisstrafen Und werden bewerten, dass die zivilgesellschaftlichen Organisationen wirklich einen Schritt zurücktreten mussten. Und aus diesem Grund ist die Sicherheit der Software-Lieferkette heutzutage so wichtig geworden Und ich hoffe, ich kann Ihnen erklären, wie wichtig es war, mit Solarenergie zu gewinnen. Und wie schützt man sich? Das ist eine Frage im Wert von 1.000.000$, oder? Wie stellen Sie sicher , dass Ihr Unternehmen nicht zum nächsten, sagen wir, Solarunternehmen Leider können viele bewährte Sicherheitspraktiken dieser Art von Angriffen nicht entgegenwirken. Was sagen die Leute, die nur signierte Versionen installiert haben, wissen Sie, digital signierte Softwareupdates , die von Solaranlagen stammen? Es wird nicht helfen, weil die Software signiert ist. Es kommt von der legitimen Firma. Es ist nicht so, als würde sich ein Angreifer einschleichen. Es kommt von der vertrauenswürdigen Firma, oder? Aktualisieren Sie Ihre Software auf die neueste Version, wie die Leute sagen werden, richtig? Weil die aktualisierte Software bösartig war. Und es war Teil des gültigen Build-Prozesses. Hier begann also das Startproblem ins Spiel zu kommen. Man kann nicht einmal sagen, den Quellcode überprüfen, weil sie den Build-Prozess beeinträchtigt haben, oder? Also ein paar der wichtigsten Dinge, die Sie tun können, neben Ihren guten Sicherheitspraktiken wie Überwachung und Abhärtung, ja, sicherzustellen, dass Sie Kontrollen haben, die das Verhalten überwachen, dass Unternehmen ihren Build-Prozess wirklich gegen diese Art von Angriffen absichern müssen , oder? Und sie müssen sicherstellen, dass die Build-Umgebung nicht kompromittiert werden kann Sie haben dafür gesorgt, dass wir mehr darüber sprechen , wenn wir über die Sicherung der Software-Lieferkette sprechen die Sicherung der Software-Lieferkette Die Build-Umgebung muss jedoch gesichert werden. Sie müssen sicherstellen , dass Benutzer nicht einfach die Umgebung kompromittieren und ihre eigenen bösartigen Updates einfügen können, und Sie müssen das überwachen. Und die beiden wichtigsten Dinge, die Sie tun können, sind verifizierte, reproduzierbare Builds und Software-Stücklisten Ich werde im Detail auf ihre Software-Stücklisten eingehen , aber die stärkste Gegenmaßnahme, die Sie haben können, ist ein reproduzierbarer Build. Dabei handelt es sich um einen Build, immer die gleichen Ausgaben erzeugt , sodass die Build-Ergebnisse , reproduzierbaren Build kann also verifizierten, reproduzierbaren Build kann also eine unabhängige Person des Quellcodes einen Build erstellen und überprüfen, ob die Build-Ergebnisse aus demselben Quellcode stammen, den Ich würde fast sagen, dass 99% der heutigen Software nicht so sind Aber was wäre im Fall von Sonnenwinden passiert? Zum Beispiel, wie würde ein verifizierter, reproduzierbarer Aufbau aussehen? Allein anhand des Namens, den Sie sehen können, können Sie ihn verifizieren und reproduzieren Also, wenn Sie Zugriff sowohl auf den Quellcode als auch auf den Build haben. Was bewirken verifizierte, reproduzierbare Rechnungen? Sie bieten Ihnen im Grunde eine sehr, sehr starke Gegenmaßnahme gegen Angriffe wie Solar-Ins, bei denen Binärdateien nicht mit dem Quellcode übereinstimmen Warum? Weil ein Angreifer bösartigen Code in eine Binärdatei eingefügt hat, oder? Denn im Fall von Sonnenvenen greifen sie die Binärdatei an, nicht den Quellcode. Einer der Vorteile reproduzierbarer Builds besteht also darin, dass diese beiden Builds unabhängig voneinander erstellt werden können und beide nach und nach dasselbe Artefakt erzeugen . Und das gibt Ihnen die Gewissheit, dass keine Malware in dieses System eingeschleust wurde . Und das ist die ganze Motivation hinter diesem Konzept. Und was mit Solaranlagen passiert wäre, wenn Solar Wins reproduzierbare Rechnungen eingeführt hätte , dann hätten sie aus der Quelle eine gute Binärdatei generieren und sie mit der verteilten Binärdatei vergleichen müssen aus der Quelle eine gute Binärdatei generieren und sie mit der verteilten Binärdatei vergleichen Und es würde nicht passen, oder? Diese Diskrepanz wäre also entstanden durch das Einfügen des bösartigen Codes entstanden, und er wäre erkannt worden, weil die und er wäre erkannt worden Binärdatei bei der Verteilung nicht mit dem verifizierten , reproduzierbaren Build übereinstimmt reproduzierbaren Build Und das hätte die Entwickler auf unautorisierte Änderungen aufmerksam machen können, dass, hey, der Build-Prozess Der Binärdatei wurde etwas Zusätzliches hinzugefügt , das vorher nicht da war Ist es zu 100% narrensicher? Absolut nicht Denn denken Sie daran, dass sich die Angreifer bereits in der Umgebung befanden, oder? Sie benötigen also auch andere Sicherheitskontrollen. Aber diese Art von verifiziertem, reproduzierbarem Build gibt Ihnen eine sehr, sehr starke Kontrolle dagegen Ich werde den Link auch auf die gesamte Website setzen, die diese Art von Kontrolle vorgibt Denken Sie jedoch daran, dass, wenn Sie Updates an Tausende von Kunden verteilen an Tausende von Kunden und diese Art von Überprüfung benötigen, der verifizierte, reproduzierbare Gürtel eine sehr, sehr starke Kontrolle Ich hoffe also, das war nützlich für Sie. Wir sind einen Schritt zurückgetreten und haben uns Angriff der Sonnenwinde genau angesehen. Schauen wir uns nun einen weiteren Angriff an und sehen, wie er passiert ist und dass es sich um weiteren Angriff an und sehen, wie er passiert ist und dass eine andere Art von Angriff als Sonnenwinde handelte. Aber nur um Ihnen mehr Informationen darüber zu geben , wie diese Angriffe passieren, danke ich Ihnen. Wir sehen uns in der nächsten Lektion. 8. Codecov: Es ist eher Hallo, alle zusammen. Willkommen zu dieser Lektion. Und jetzt weiter mit dem vorherigen, in dem wir uns Sonnenwinde angesehen haben. Jetzt gehen wir zu einem anderen aktuellen Angriff über, dem Dov Attack Nun, Sonnenwinde, wenn Sie sich erinnern, beeinträchtigen sie den Bauprozess, oder? Die Angreifer waren in der Lage, den Build-Prozess zu kompromittieren und Schadsoftware einzuschleusen In diesem Fall geht es mehr um die CICD-Pipeline. Wenn du Codkov nicht kennst , hoffe ich, dass ich den Namen ausspreche , wenn sie nicht sauer Aber ja, es ist ein Code-Coverage-Tool. Was bedeutet das? Im Grunde genommen, überprüfen Sie, wie viel von Ihrer Anwendung getestet wird, wissen Sie? Wenn Sie zum Beispiel moderne Anwendungen entwickeln wir CICE verwenden, verwenden wir automatisierte Tests, oder? Darüber haben wir schon einmal gesprochen Und wir wollen sicherstellen, dass jede Codezeile getestet wurde, richtig, und jedes FOG, und das erfordert ziemlich viel ausgereiftes Test-Framework. Hier kommt Cod Cov ins Spiel, und es kann Ihnen helfen, zu wissen, welche Codezeilen in Ihrer CI-Umgebung nicht abgedeckt werden Und so gehen sie Kompromisse ein, sie kompromittieren diese, was es ihnen ermöglichte, auch andere Umgebungen zu kompromittieren Nun, wenn Sie sich an Sonnenwind und Solarenergie erinnern, war der Gewinn von Solarenergie zielgerichteter und zielte auf Spionage gegen Regierungsbehörden und große Unternehmen ab, oder? Hatte ein klares geopolitisches Motiv, wie einen Angriff durch einen Nationalstaat Dieser ist eher eine weitreichende Sicherheitsverletzung , von der unterschiedslos eine Vielzahl von Unternehmen betroffen waren Es war ihnen egal, wer kompromittiert wurde. Und sie konzentrierten sich darauf, Informationen aus den Entwicklungsumgebungen von Soffe zu stehlen Informationen aus den Entwicklungsumgebungen von Soffe zu Oh, darüber sprechen wir jetzt. Der Code Cv-Angriff wurde im April 2021 entdeckt , wenn ich mich erinnere. Ja, es war wie ein riesiger Sicherheitsstrand. Und wie gesagt, dies ist ein sehr beliebtes Tool zur Codeabdeckung , das von Softwareentwicklern verwendet wird, um zu beurteilen, wie effektiv ihre Tests sind. Und es lässt sich in verschiedene Virgin-Kontrollsysteme integrieren. Es generiert Berichte, die Sie darüber informieren, wie gut die Softwaretests Ihre Codebasis abdecken, oder? Im Grunde haben sich die Angreifer also unbefugten Zugriff auf Code CoF-Systeme verschafft Wie sie unsere Sicherheitslücke ausgenutzt haben. Ich denke, bei der Erstellung von Docker-Images müssen wir nicht die Besonderheiten von Docker und allem anderen kennen die Besonderheiten von Docker Aber im Grunde haben sie das Bash-Uploader-Skript geändert. Ich werde mir Einzelheiten dazu ansehen. Was sie dazu befähigte, ermöglichte es ihnen, heimlich vertrauliche Informationen von den Kunden von Cod C zu exportieren , oder? Von dort aus, speziell aus den CI-Umgebungen, den Umgebungen für kontinuierliche Integration. Und welche Informationen, Anmeldeinformationen, Benutzer-IDs, Passwörter, Token-Schlüssel und andere Daten könnten sie verwenden, um weiteren und unbefugten Zugriff zu gewähren. Ich glaube, es blieb mehrere Monate lang unentdeckt, vom 31. Januar 2021 bis April 2021 Und jeder, der das kompromittierte Bash-Uploader-Skript heruntergeladen hat, im Grunde unwissentlich seine Informationen preisgegeben Ich glaube, es betraf etwa 29.000 Kunden, große Namen in der Branche, große Namen in der Branche Und wieder wurden, wie üblich, alle mit Angriffen auf die Lieferkette konfrontiert Es tut uns leid, aber alle wurden mit Angriffen auf die Lieferkette konfrontiert und plötzlich wurde ihnen klar, konfrontiert und plötzlich wurde ihnen klar wie wichtig diese Dinge sind. Und Kotov hat die betroffenen Benutzer benachrichtigt und sie haben die Schlüssel zurückgezogen und ausgegeben und sie haben zugestimmt, ihre Umgebung überprüfen zu Aber wenn man sich das anschaut, sah es im Grunde so Konzentrieren wir uns also darauf, ob Sie sich an die CI-Umgebung erinnern, eine kontinuierliche Integrationsumgebung. Wir können hier eine Menge leistungsstarker Automatisierung durchführen, um unsere Anwendung zu testen, oder? Und Sie verlassen sich auch auf viele externe Dinge, oder? Datenbanken, Zahlungssysteme, Cloud-Infrastruktur. Wenn Sie die Tests durchführen und all diese Komponenten von der aus zugegriffen werden muss Pipeline aus zugegriffen werden muss, damit sie die Anwendung erstellen und testen können. Im Grunde muss Ihre CI-Pipeline also Zugriff auf welche Geheimnisse und Anmeldeinformationen haben , damit sie Zugriff erhalten kann. Und normalerweise sollten Sie, wenn Sie eine CI-Umgebung aufbauen, die Staging-Infrastruktur und nicht das Produktions-Byte verwenden , aber nach meiner eigenen Erfahrung ist es sehr üblich, dass Produktionsanmeldedaten verwendet werden, weil die Leute sicherstellen wollen , dass sie die Tests ordnungsgemäß durchführen und dass die Tests so viel wie möglich abdecken Leider können diese Informationen oft vorkommen Es ist also sehr wahrscheinlich, dass die CI-Umgebung Zugriff auf sehr vertrauliche Informationen hat. Also, indem sie Kotkov angegriffen haben und das haben sie getan, richtig? Sie haben die Malware infiziert und Testtool kompromittiert Sie haben Zugriff auf alle Anmeldeinformationen. In der CI-Umgebung für alle Cdf-Kunden. Und wenn Sie sich erinnern, haben sie im Grunde ein Bash-Skript kompromittiert, das nur eine Reihe von Anweisungen für das ist was Sie schreiben würden, wenn Sie jemals Terminal oder Bash gemacht hätten, aber das auf programmierte Weise geschrieben wurde Sie fügten eine einzige Codezeile hinzu, die all ihre Umgebungsvariablen vom CI an den Remote-Server des Angreifers senden sollte vom CI an den Remote-Server des Angreifers Sie verstehen, dass sie diese Daten im Grunde stillschweigend auslesen. Und jetzt können Sie verstehen wenn sie rund 23.000 Kunden haben, jeder, dass, wenn sie rund 23.000 Kunden haben, jeder, der zwischen dem 31. Januar und dem 1. April die kompromittierte Version von Cod Cov verwendet hat, betroffen gewesen zwischen dem 31. Januar und dem 1. April die kompromittierte Version von Cod Cov 31. Januar und Und große Unternehmen waren betroffen, und sie veröffentlichten im Grunde genommen Dokumente für ihre Kunden darüber wie sie sich von diesem Angriff erholen können Und was sie tun, was haben sie getan, nachdem sie es kompromittiert hatten Sie haben sie also nicht direkt angegriffen. Sie hätten von dort aus mehrere Angriffe durchführen können, oder? Aber sie haben tatsächlich die Quellcode-Repos kompromittiert Quellcode-Repos weil sie die Anmeldeinformationen erhalten haben, oder Die Quelle. Und sie konnten dann auf ihre Quellcode-Repos zugreifen dann auf ihre Quellcode-Repos Und sie waren in der Lage , sie zu finden, weil diese Repos möglicherweise tatsächlich über Produktionsanmeldedaten Sie können also sehen, wie sich dieser Angriff kaskadiert, oder? Zuerst haben sie Kotkov kompromittiert. Sie haben die Zugangsdaten für die Quellcode-Repos Sie haben diese Repos kompromittiert. Sie haben Zugang zur Produktion. Und sie waren aufgestanden und hatten sogar bemerkt, dass sie verdächtige Aktivitäten von anderen privaten Repositorys bemerkt hatten verdächtige Aktivitäten von anderen privaten Repositorys Sie wurden an einige nicht autorisierte Benutzer geklont, und das zeigt nur, wie einfach es war, oder? Kompromittiertes KotkVU Verwenden Sie gestohlene Git-Anmeldeinformationen, greifen Sie mit diesen gestohlenen Anmeldeinformationen auf private Repositorys zu, und dann können Sie damit beginnen, und dann können Sie damit beginnen greifen Sie mit diesen gestohlenen Anmeldeinformationen auf private Repositorys zu, und dann können Sie damit beginnen, sie nach vertraulichen Informationen zu durchsuchen. Nur um Ihnen zu zeigen, wie wunderbar einfach dieser Angriff war und wie sie damit so viele Kunden kompromittieren konnten . Wie ich bereits erwähnt habe, hatte er wiederum globale Auswirkungen. Unzählige Kunden wechselten ihre vertraulichen Daten, ihre Quellcode-Depots und Angreifer konnten sich Zugang zu nicht autorisierten Depots verschaffen, und sie enthielten leider internen Quellcode und interne wechselten ihre vertraulichen Daten, ihre Quellcode-Depots und Angreifer konnten sich Zugang zu nicht autorisierten Depots verschaffen, und sie enthielten leider internen Quellcode und interne Zugangsdaten. Auch hier haben Sie jetzt eine bessere Vorstellung davon, was getan werden kann. Natürlich unterscheidet es sich von Sonnenwinden, bei denen die Bauumgebung beeinträchtigt wurde Aber auch hier muss die Sicherheit der Umwelt verbessert Ich kann nicht stressfrei genug sein, Sie müssen dafür sorgen, dass Ihre Umgebung sicher ist Halten Sie Ihre Quellcode-Repos sauber. Legen Sie dort keine Anmeldeinformationen in Ihrer Ruhezone ab. Wenn jemand in der Lage ist, sie zu kompromittieren, kann er sie als Sprungbrett in Ihre Umgebung nutzen , oder? Setzen Sie Datenfilterung und Kontrollen gegen Datenlecks ein. Woher wissen Sie, ob jemand Stillen Daten überall durchsickern lässt Sie können Ihre Quellcode-Repos sogar mithilfe von Multifaktor-Authentifizierung Wenn Sie also wissen, dass Anfragen nur aus einem bestimmten Bereich kommen, können Sie tatsächlich IP-Einschränkungen festlegen, können Sie tatsächlich IP-Einschränkungen festlegen Selbst wenn sie über die Anmeldeinformationen verfügen, können sie nicht darauf zugreifen. Verstärkte Sicherheit der CICD-Pipelines, um sicherzustellen, dass sie nur den Zugriff haben , der benötigt wird Sie möchten ihnen keine Administratoranmeldedaten für die gesamte Umgebung geben , Und natürlich, um hartcodierte Anmeldeinformationen zu vermeiden. Das war also wieder eine weitere wichtige Studie, eine weitere Umgebung, die aufgrund eines Supply-Chain-Angriffs kompromittiert wurde , und ich hoffe, Sie haben jetzt ein anderes Bild gesehen Ich habe mich bewusst für diese Methode entschieden, weil sie sich von der Art und Weise unterscheidet, wie Solaranlagen gefährdet wurden. Jetzt haben Sie also eine gute Idee, und ich hoffe, Sie haben jetzt die Voraussetzungen geschaffen, um zu verstehen , wie wir sie sichern können Sie haben eine gute Vorstellung von den Risiken, und im Kontext der tatsächlichen Angriffe sehen Sie, wie sich diese Risiken materialisieren Jetzt können wir mit der nächsten Lektion fortfahren, in der es darum geht, die Software-Lieferkette tatsächlich abzusichern Jetzt können wir zum guten Teil übergehen, nämlich der eigentlichen Absicherung und Minderung dieser Risiken Vielen Dank und wir sehen uns in der nächsten Lektion 9. Menschenstreik: Hallo, alle zusammen. Willkommen. Willkommen zu dieser neuen Lektion, die ich gerade zum CrowdStrike-Ausfall hochgeladen ich also nicht meine, wenn Sie keine IT oder gar kein System verwenden, hätten Sie vom CrowdStrike-Ausfall gehört , der dieses Jahr im Jahr 2024 passiert ist Cloud Strike ist ein sehr, sehr beliebtes Unternehmen wie ein Unternehmen für Sicherheitslösungen Ich meine, sie geben ihre Produkte ausschließlich an Unternehmen und große Organisationen weiter. Sie sind in der Welt der Cybersicherheit sehr, sehr berühmt. Leider sind sie zu einem bekannten Namen geworden. Jetzt kennt sie jeder wegen dieses Vorfalls. Und im Grunde genommen, obwohl es sich in diesem Sinne nicht um einen Cybersicherheitsvorfall handelt, hat ihn niemand gefährdet, aber er hatte massive Auswirkungen auf die Lieferkette Und das ist sehr wichtig. Ich könnte nicht über die Software-Lieferkette oder die Sicherheitsrisiken in der Lieferkette sprechen die Sicherheitsrisiken in der Lieferkette ohne über Cloud Strike zu sprechen. Falls Sie mit CloudStrike noch nicht vertraut sind: Sie haben im Grunde eine Komponente namens CrowdStrike Sie haben im Grunde eine Komponente namens Falcon. Es ist wie ein Sensor Es nutzt KI, um Kundenumgebungen zu schützen , Sie wissen schon, indem es die neuesten Bedrohungen identifiziert und sich davor schützt. Kurz gesagt, im Grunde genommen wurde 2024 ein neues Update eingeführt, richtig, mit dem der neue Sensor im Grunde nicht umgehen konnte und abgestürzt ist Und angesichts der Nähe des CrowdStrike-Sensors zum Windows-Betriebssystem führte dies zum Absturz aller Systeme und zu einem massiven globalen Ausfall, der sich auf fast alle Branchen auf der ganzen Welt auswirkte Millionen und Abermillionen von Endpunkten waren betroffen, oder? Und das wurde als die größte Störung im Identitätsmanagement aller Zeiten bezeichnet , oder ich denke, es ist die größte, weil es einfach der Natur und der Art und Weise, wie Ich habe bereits mit Ihnen über Rodseg gesprochen, es ist ein sehr, sehr beliebtes Unternehmen für Sicherheitslösungen Millionen von Unternehmen haben es genutzt , und es ist ein gutes Leider wurde der Name aufgrund dieses Vorfalls gewissermaßen durch den Schlamm gezogen Aber zweifellos ist es ein sehr gutes Unternehmen, ein sehr, sehr, sehr ausgereiftes Sicherheitsunternehmen Aber leider das fehlerhafte Software-Update. Ich habe zu dem blauen Bildschirm des Todes geführt. Es ist wie eine Schleife auf Windows-Computern bei der sie wiederholt abstürzen. Und obwohl viele Menschen das Update einführten, waren die Auswirkungen auf der ganzen Welt enorm Und wie ich schon sagte, wortwörtlich, Flughäfen , Häfen, lassen Sie uns ein Beispiel nehmen, was für Dinge passieren Flughäfen waren betroffen. Wenn Sie zu der Zeit gereist sind, haben Sie mein Mitgefühl Sie werden Bilder von, Sie wissen schon, überall sehen, wie Flughäfen überfüllt sind, Flughäfen überfüllt Tausende Flüge verspätet sind, Schiffshäfen betroffen sind, Supermärkte, Krankenhäuser, ich lebe in Großbritannien, und der NHS hat quasi eine Erklärung veröffentlicht, in der es heißt, dass sie derzeit keine Kunden bedienen können derzeit keine Kunden bedienen Patienten wegen der Impact-ID-Firmen, Regierungsbehörden und so weiter nein. Ich meine, auf der ganzen Welt gab es große Schließungen, Verspätungen, Tausende von Flügen wie Seitwärtsflüge Und im Grunde zeigt es den vernetzten Charakter der Software-Lieferkette Und obwohl das Erstaunliche daran ist, handelt es sich nicht um einen Angriff. Es war nur ein Fehler, aber es hat gezeigt, welche Auswirkungen haben können, und das ist nur ein Beispiel. Ich meine, ich bin sicher, du hättest es gesehen, oder? Aber es zeigt nur, wie gefährlich die Abhängigkeiten auf der ganzen Welt in Bezug auf diese Art von Software sind , oder? Also die globalen, wie ich schon sagte, Krankenhäuser, australische Unternehmen, sie sagten, sie hätten eine Schadensrechnung von rund 1 Milliarde, oder? Und Banken, Medien, NHS. Die Auswirkungen auf der ganzen Welt waren also unglaublich. Aber es ist sehr, sehr wichtig die Tatsache von der Übertreibung zu trennen Und ich mag das nicht so , wie es oft formuliert wurde Und wie die Leute anfingen zu sagen , es sei ein Cyberangriff. Es hatte natürlich Auswirkungen auf die Verfügbarkeit im Internet, und es war nicht wie ein Angriff durch einen Kriminellen. Und sie haben einen Ursachenbericht veröffentlicht , den Sie sehen können. Und sie haben erwähnt, wie es passiert ist. Im Grunde der Zensor. Ich glaube, es waren ungefähr 20 Eingabefelder zu erwarten , aber es gab das neueste Update mit 21 Eingabefeldern, und die Diskrepanz bei der Anzahl hat zu einem weltweiten Absturz geführt Und weil der Interpreter 20 Werte erwartete und als er anfing, auf 21st zuzugreifen, gab er eine Anzeige aus, die nicht über den verfügbaren Speicherplatz verfügte. Weißt du, diese Dinge. Und weil es so eng in den Windows-Code integriert ist, hat es beim Absturz das gesamte Betriebssystem heruntergefahren, und der blaue Bildschirm blinkte auf der ganzen Welt, in Supermärkten, Flughäfen, überall, wo Sie sich vorstellen können, es blinkte im Grunde, was darauf hinausläuft, dass es an geeigneten Tests für Sensorupdates mangelte Es umging ihre neuartigen Prozesse. Die Tests waren kein Nachteil. Und viele Leute begannen zu sagen, dass dies jetzt ausgenutzt werden könnte Und ich würde empfehlen, die Blogbeiträge von CrowdStrike zu lesen , in denen sie die Behauptungen über den Sicherheitssensor von Falcons angesprochen und widerlegt haben Sicherheitssensor von Falcons Obwohl es sich um einen Speicherabsturz außerhalb der Grenzen handelte, wurde festgestellt, dass er bis heute nicht für eine vorherige Eskalation oder Remotecodeausführung ausgenutzt werden kann vorherige Eskalation oder Und sie haben eine detaillierte Ursachenanalyse durchgeführt , dass selbst dieser Fehler keine Programmausführung zulässt, und sie haben die anderen Kontrollen erwähnt, die sie hatten, wie Zertifikat-Pinning, Prüfsummenvalidierung, Zugriffskontrolle Manipulationserkennung, richtig? Und sie haben gezeigt, dass ich den Bericht hier verlinken werde, den Blog hier, und ich werde dir auf jeden Fall empfehlen, ihn zu lesen, denn wenn du diese Situationen analysieren willst, achte darauf, dass du ihn richtig analysierst und keine Dinge einfügst , die zu diesem Zeitpunkt nicht existierten. Und CoudStak, sie haben ihr Engagement für Sicherheit bekräftigt und erwähnt, dass sie ihr Bug-Bounty-Programm ebenfalls verbessert haben. Aber die Lehren, die aus diesem Vorfall gezogen werden können , sind Um es ganz klar zu sagen: Angreifer, auch wenn es kein Angriff war, aber die Angreifer werden aus diesem Vorfall lernen. Sie haben gesehen, wie schädlich dieser Angriff war. Sie können sich also ohne Zweifel vorstellen Angreifer Interesse an diesem Angriff gezeigt haben, und sie werden darüber nachdenken, wie sie beim nächsten Mal sogar eine größere Wirkung erzielen und damit etwas Geld verdienen können . Wenn Sie ein Lösungsanbieter sind. Das ist wie bei CrowdStrike, Sie stellen dem Unternehmen einen Agenten , eine Software zur Es ist gut, sich Ihre Testprozesse anzusehen. Denken Sie über diese Art von Resilienz nach. Was passiert, wenn sich Ihr Endpunkt sehr nahe am Windows-Kernel und etwas passiert, richtig Führen Sie eine Phasenbereitstellung durch. Machen Sie keinen Urknall-Ansatz. Ich kann nicht glauben, dass ich das sagen muss, aber es zeigt sich einfach richtig. Sie müssen keine große Implementierung durchführen, diese phasenweise durchführen und Ihren gesamten Prozess unabhängig prüfen lassen. CrowdStrike, ich denke, sie arbeiten mit zwei verschiedenen Unternehmen zusammen, um eine vollständige Bewertung ihrer Softwareentwicklungspraktiken durchzuführen . Die Tests werden nur durchgeführt, um sicherzustellen , dass sie keine blinden Flecken haben Und aus Kundensicht würde ich, wenn Sie eine Software wie RoudStrik verwenden , zunächst empfehlen, die übermäßige Abhängigkeit von wenn Sie eine Software wie RoudStrik verwenden, zunächst empfehlen, die übermäßige Abhängigkeit von einem Anbieter zu beseitigen . Wenn Sie einen Anbieter haben, der alles macht und diesem Anbieter etwas passiert, werden Sie in große Schwierigkeiten geraten, oder? Denken Sie über dieses Szenario und nehmen Sie es in Ihr Disaster Recovery-Playbook auf Aber ich muss mich ganz klar ausdrücken. Ein solches Szenario können nur sehr wenige Menschen vorhersagen. Es war wie ein Black Swan-Vorfall, oder? wie etwas , das alle zwei, drei Jahrzehnte passiert alle zwei, drei Jahrzehnte Aber ich würde empfehlen , über Dinge wie Cloud-Backups oder einen virtuellen Desktop nachzudenken , der ein völlig anderes Image von Ihren normalen Desktops ist , oder? Wenn also etwas passiert, wenn es einen größeren, schwerwiegenden Fall gibt, können Sie Daten auf dem Cloud-Desktop wiederherstellen. Und das ist etwas völlig anderes dass es von Ihrem regulären Netzwerk Es hat nicht dieselben Agenten. Es hat verschiedene Agenten. Es mag mehr kosten, aber dann können Sie bei einem solchen Vorfall ein komplett eigenes Image erstellen, dann können Sie bei einem solchen Vorfall ein komplett eigenes auf dem Ihre Mitarbeiter zumindest in eingeschränktem Umfang ihre Aktivitäten wieder aufnehmen können , da viele Unternehmen völlig abgeschnitten waren. Die Server waren ausgefallen, aber selbst die normalen Desktops sind ausgefallen, weil Cloud Stoke überall lief, oder? Denken Sie also darüber nach, ein anderes Image zu haben , auf dem Sie es bereitstellen und zum Laufen bringen können, das sich von Ihren normalen Images unterscheidet und das nicht von denselben Problemen betroffen Das waren also die Dinge, über die ich mit allen sprechen wollte , nur um es euch zu zeigen, weil CrowdSTK wie ein riesiger Vorfall war Es entwickelt sich immer noch. Es kommen viele Neuigkeiten raus. Aber denken Sie an diese Vorfälle, vor allem, wenn Sie darüber nachdenken, Ihre Software gegen die Anwendungskette abzusichern . Vielen Dank. Ich sehe dich in der nächsten Lektion. 10. Sicherung der Lieferkette – 1: Hallo, alle zusammen. Willkommen. Willkommen zu dieser Lektion, die Teil einer mehrteiligen Lektion ist , in der es um die Sicherung der Software-Lieferkette gehen wird . Ich hoffe, Sie haben inzwischen eine gute Vorstellung davon, was die Software-Lieferkette ist. Sie haben eine gute Vorstellung von den Risiken, die auftreten können. Sie haben tatsächliche Angriffe gesehen und wie sie kompromittiert wurden, oder? Jetzt werden wir uns also mit der Implementierung von Kontrollen innerhalb der Software-Lieferkette befassen Wir werden uns mit Sicherheitskontrollen und -praktiken befassen, einigen der häufigsten Fehler , die Menschen machen, wenn sie ihrer Software-Lieferkette beginnen , also mit der Sicherheit. Und dann werden wir uns auch einige Standards und Frameworks ansehen , die Sie nutzen können, um beim Aufbau eines Supply-Chain-Sicherheitsprogramms den größtmöglichen Nutzen zu erzielen beim Aufbau . Sie müssen also nicht von Grund auf neu aufbauen, . Sie müssen also nicht von Grund auf neu aufbauen sondern können das nutzen, was Sie bereits haben. Wenn Sie also einen Blick darauf werfen, haben wir das bereits besprochen. Erinnerst du dich? Dies war die Umgebung mit dem Risiko, dass Sie eine Entwicklerumgebung haben, die gefährdet werden kann Sie haben unsicheren Code, die Build-Plattform wurde kompromittiert, das Quellcode-Repository, die Abhängigkeiten, Sie konnten keine Sicherheitstests für den Code durchführen Sie haben eine Datenschutzverletzung in der Preprod-Umgebung festgestellt, und sogar Ihre Produktionsumgebung und sogar Ihre Produktionsumgebung Hier kommt also die Sicherheit der Software-Lieferkette ins Spiel, um all diese Risiken grundsätzlich abzusichern Und wenn Sie sich erinnern, als wir zu Beginn des Kurses über Sicherheit in der Software-Lieferkette gesprochen haben, oder? Es geht im Grunde darum , die Integrität, Sicherheit, Verfügbarkeit Zuverlässigkeit aller beteiligten Komponenten und Prozesse sicherzustellen. Bei Ihrer Entwicklung, dem Vertrieb und der Wartung von Software. Sie möchten sicherstellen, dass niemand an Ihrer Software herumspielt, dass niemand sie manipuliert Und sehr, sehr wichtig, wenn wir über eine Lieferkette sprechen, sprechen wir nicht nur über den direkten Quellcode, oder? Wir sprechen auch über Bibliotheken, Tools und Dienste von Drittanbietern und die Infrastruktur, weil ich oft sehe , dass es manchmal nicht Ihre Infrastruktur ist, die Kompromisse eingeht. Es sind die Anbieter oder die Anbieter. Wie können Sie also sicherstellen, dass Ihr Sicherheitsprogramm für die Lieferkette alles abdeckt? Das müssen Sie also beachten. Und was sind leider einige der häufigsten Fehler , die Leute machen und die mir immer wieder Kopfschmerzen bereiten, wenn ich mit Kunden spreche , die Sicherheit der Lieferkette. Was ist es nicht? Es ist kein Werkzeug oder Produkt. Bitte. Jeder, der Ihnen sagt, dass jeder Anbieter, der zu Ihnen kommt und sagt: „ Kaufen Sie mein Produkt und Sie haben Sicherheit in der Software-Lieferkette“, das ist völliger Schwindel. Es wird Ihnen helfen. Zweifellos wird es dir helfen, ist es aber nicht. Es ist Teil der Sicherheit der Software-Lieferkette, nicht das Endziel. Okay? Sie können nicht einfach automatisch werden, dass Ihre Software-Lieferkette nicht sicher wird, weil Sie eine Lösung für Millionen von Dollar gekauft und implementiert haben . Es ist keine Zertifizierung. Jemand sagt, dass Sie diese Checkliste verwenden oder dieses Ding verwenden, und jetzt ist Ihre Lieferkette gesichert Nochmals, so funktioniert das nicht. Es ist auch keine Lieferanten-Checkliste. Manche Leute führen eine Risikobeurteilung des Anbieters durch und denken, dass ihre Software-Lieferkette jetzt sicher ist Und es ist auch keine einmalige Aktivität. Es ist etwas, das Sie kontinuierlich mit einer Risikobewertung durchführen müssen. Und es ist Last One is MyF, das MFA aktiviert. Auch hier ist nichts falsch daran, MFA zu aktivieren. Dies ist ein sehr wichtiger Teil der Sicherheit bei der Softwareversorgung. Aber die Leute denken , dass unsere Umgebung jetzt sicher ist, weil wir MFA aktiviert haben unsere Umgebung jetzt sicher ist, weil wir MFA Ich habe keine Ahnung , wie das zustande kommt, aber bitte machen Sie diesen Fehler nicht, oder? Denken Sie also, wie gesagt, an die Definition, über die ich Ihnen vorhin gesprochen habe, diese, denken Sie daran und lassen Sie sich nicht mit diesen Missverständnissen verwirren Und wenn wir über die Sicherung der Software-Lieferkette sprechen , sprechen wir über mehrere Kontrollen, oder? Und darauf werde ich mich in diesen Lektionen konzentrieren. Wir werden über sichere Programmierpraktiken sprechen, was Sie tun können, Komponenten von Drittanbietern, Abhärtung Ihrer Umgebung, CICD-Pipeline-Sicherheit, tatsächliche Sicherheitstests und -Scans, die Software-Builds von Material, L BOM, falls Sie nicht damit vertraut sind, und natürlich über Vendor West Management All diese Dinge sorgen zusammen für eine effektive Sicherheit der Software-Lieferkette, und dann werden wir uns auch ansehen, wie ein konkretes Programm erstellt All diese Punkte werde ich behandeln. Ich werde Sie nicht mit Informationen bombardieren. Wir werden Schritt für Schritt Ihre Umgebung aufbauen , richtig Am Ende wird Ihre Umgebung also so aussehen. Sie werden Kontrollen auf mehreren Ebenen haben, und dann wird ein ordnungsgemäßes Programm laufen, das sicherstellt, dass all diese Dinge beachtet und Risiken bewertet werden. Also, wie ich schon sagte, wir werden es Schritt für Schritt tun. Wir sehen uns in der nächsten Lektion. Wir werden uns eingehend mit diesen Steuerungen befassen Vielen Dank. Wir sehen uns in der nächsten Lektion. 11. Sicherung der Lieferkette – 2: Hallo zusammen. Willkommen. Willkommen zurück zur Lektion. Und wir setzen unsere vorherige Lektion fort in der wir über die Sicherung der Lieferkette und die Sicherheitskontrollen sprechen die Sicherung der Lieferkette und . Wir können sie umsetzen. Wenn Sie sich erinnern, habe ich Ihnen diese grundlegenden Kontrollen gezeigt diese grundlegenden Kontrollen nämlich sichere Codierungspraktiken, Komponenten von Drittanbietern, Hoarding-Umgebungen, CICD-Pipelines alle, wir werden eins nach dem anderen durchgehen und es uns ansehen Also lass uns weitermachen. Und wenn Sie sich erinnern, ich habe Ihnen das Diagramm auch so gezeigt das Diagramm auch so wenn wir früher die Risiken in diesem Diagramm gesehen haben, aber wenn Sie die Kontrollen einführen, diese Kontrollen, die Sie in dem Diagramm sehen, werden diese Risiken gemindert Fangen wir also mit der allerersten an, nämlich der sicheren Codierung Wenn Sie sich erinnern, haben wir über die Risiken gesprochen, oder? Und ich sagte, dass der unsichere Code die Wurzel allen Übels ist Also sichere Codierung, deshalb müssen wir das zuerst besprechen. Sichere Codierung im Kontext der Lieferkettensicherheit bezieht sich darauf , dass die Entwickler Software so entwickeln , dass Sie sicherstellen, dass Sicherheitslücken der Code zu keinem Zeitpunkt Sicherheitslücken enthält. Okay? Und das erfordert Kontrollen, sowohl Bewusstsein als auch technische Kontrollen, richtig? Denn denken Sie daran, dass es mehrere Möglichkeiten gibt , Sicherheitslücken eingeführt werden können. Wir werden also über Schulungen zu sicherem Code sprechen und darüber, wie Sicherheitsfeedback in die ID selbst integriert werden kann. Dies ist ein wichtiger Teil, Dies ist ein wichtiger Teil, der von vielen Leuten übersehen wird. Wir werden darüber sprechen, wie sichere Codeüberprüfungen stattfinden können. Und natürlich die Sicherheitstests des Codes, der dem SAST und dem Staub vorgelegt wird Wenn Sie im Bereich Cybersicherheit gearbeitet haben, bin ich mir sicher, dass Sie damit vertraut sind Lassen Sie uns also zunächst mit der Schulung zum sicheren Code beginnen. Das Sicherheitsbewusstsein für unsicheren Code ist ein sehr, sehr, sehr guter Anfang Sie müssen Ihre Entwickler über unsicheren Code und die damit verbundenen Gefahren informieren über unsicheren Code und , oder ? Es gibt viele, viele gute Schulungen. Die Top Ten der Betriebssysteme sind der Branchenmaßstab. Ich bin mir sicher, wenn Sie im Bereich Cybersicherheit tätig sind, müssen Sie schon davon gehört haben. Informieren Sie sie also, erzählen Sie ihnen von Schulungen wie diesen, zeigen Sie ihnen, sprechen Sie mit ihnen über die Unsicherheiten, zwar sehr, sehr wichtig sein können Bitte machen Sie es nicht mit PowerPoint zum Tod, was ich meine, wenn Sie ihnen ein 200-seitiges PowerPoint-Dokument geben Glauben Sie mir, niemand wird sich daran erinnern. Zeigen Sie ihnen, zeigen Sie ihnen tatsächlich unsichere Codeteile und zeigen Sie ihnen, wo die Sicherheitslücken liegen Zeigen Sie ihnen, dass Sie Zeit und Mühe sparen, wenn Sie es im Code selbst reparieren Zeit und Mühe , im Gegensatz dazu, dass jemand es später herausfindet und es dann repariert und wie es später herausfindet und es dann repariert viel Zeit verschwendet wird, richtig? Es gibt also viele, viele, sehr gute Schulungen zu unsicherem Code, zu OVA, Dingen wie SQL-Injection , Cross-Site-Scripting und all diesen Dingen. Also sensibilisiere sie. Aber bei einem sehr, sehr wichtigen Punkt, und hier verpassen die Leute etwas, beginnen Sie mit dem Bewusstsein, aber stellen Sie sicher, dass Sie das tun, das ist dieser Punkt Sicherheitsfeedback in die ID integriert. Die ID ist die integrierte Entwicklungsumgebung. Und damit meine ich, die Programmierung, die sie machen, sollten sie in der Lage sein, sofort Feedback zu erhalten. Okay? Du kannst so viele Schulungen geben, wie du willst. Entwickler benötigen eine Möglichkeit, Feedback in Echtzeit zu erhalten. Okay? können sie wissen, dass der Code nicht sicher ist, wenn sie den Code entwickeln Wie können sie wissen, dass der Code nicht sicher ist, wenn sie den Code entwickeln, oder? Welche Probleme gibt es? Und das ist die schmerzloseste und reibungsloseste Art, Code zu sichern Glauben Sie mir, Sie müssen später keine Sicherheitstests durchführen später keine Sicherheitstests wenn der Entwickler es sofort weiß, wenn er einen schnellen Scan durchführt und sieht, schauen Sie, das sind Vielleicht ist mein Code, den ich geschrieben habe nicht sicher, ich muss ihn reparieren Dies ist der einfachste Weg, und wenn Sie das richtig machen, werden Sie einen massiven Anstieg Ihres Sicherheitscodes feststellen. Okay? Wenn Sie also ein Beispiel nehmen, wenn Sie sich erinnern, dass ich Ihnen dieses Beispiel schon früh gezeigt habe, als ob das ein Code ist, der nicht bereinigt, die Eingabe wird genommen, und das kann natürlich zu Dingen wie SQL-Injection führen, kann natürlich zu Dingen wie SQL-Injection führen bei der Leute tatsächlich auf Ihre Backend-Datenbanken, Ihre Betriebssysteme, Ihre Dateien zugreifen können , wenn Sie sie nicht Nun, das ist ein Beispiel für eine IDE, wie Visual Studio-Code , wie Visual Studio-Code Und das ist ein Tool, was Sie Code Whisperer nennen, das ist A. Sie können jedes Tool verwenden. Ich nenne übrigens nicht gern spezielle Tools Aber wenn Sie sich den Screenshot ansehen, also das war der Code, derselbe Code, den ich Ihnen gezeigt habe, wenn ich ihn hier einfüge und sofort einen Sicherheitsscan durchführe , wird er mir sagen, schauen Sie, dass es eine SeQL-Injektion gibt, und es wird mir auch die Zeile sagen Sie sehen, wie mächtig das ist, wenn Sie es richtig machen. Sie können also sofort sagen, der Entwickler wird es wissen, schauen Sie, ich führe eine Sicherheitslücke in den Code ein. Ich muss das beheben, bevor ich es an das Repo schicke. Und dies wird zu einer massiven Steigerung der Qualität Ihres Sicherheitscodes führen der Qualität Ihres Sicherheitscodes Wenn Sie sich noch erinnern, habe ich Ihnen diesen hier gezeigt, den Zip-Bomben-Angriff, bei dem Leute eine Datei versenden , die möglicherweise in riesige Datenmengen von GB entpackt werden kann riesige Datenmengen von GB entpackt , und ein Serverausfall zu einem Denial-of-Service führt Also, wenn Sie das noch einmal tun, werden Sie sofort sehen, es wird Ihnen Feedback geben, uneingeschränktes Hochladen gefährlicher Dateien, tippen Sie unten auf und klicken Sie auf den Link zu den Ressourcen Das ist also ein sehr, sehr mächtiger Weg. Ich habe Ihnen das Beispiel für Code mit Spur gezeigt , aber Sie können viele Tools verwenden, die in die IDE selbst integrieren und dem Entwickler Feedback in Echtzeit geben. Darüber, welche Art von Code sie einreichen und warum er unsicher ist Schauen Sie sich das bitte an. Machen Sie nicht den Fehler , den 90% der Leute machen, nämlich dass sie die Entwickler Sicherheitscode schulen und dann erwarten, dass sie alles finden. Nein, so wird das nicht funktionieren. Geben Sie ihnen Tools, die ihnen Feedback in Echtzeit geben. Danach sprechen wir über Tests. Wenn Sie sich erinnern, wir haben über Tests gesprochen, es geht durch die CSED-Pipeline, es geht zu den Qualitätstests Hier können Sie Ihre verschiedenen Arten von Sicherheitstests für den Code vorstellen von Sicherheitstests für den Code Der erste ist Static Application Securities Testing oder SAS. Dies ist eine Testmethode , die Ihren Quellcode untersucht. Es führt das Programm nicht aus und wird normalerweise in einem frühen Stadium während der Codierungsphase selbst ausgeführt . Es wird Sie darüber informieren, also schaut es sich den Quellcode an und es wird herausfinden, hey, führen Sie irgendwelche Sicherheitslücken ein? Sie können die Tools in die CICD-Pipeline integrieren und sie führt eine sehr gründliche Analyse Ihrer Codebasis Es untersucht den Code, weil er bis zur Codeebene reicht Die zweite Methode ist DAST, bei der es sich um eine Black-Box-Testmethode handelt, was bedeutet, dass der Code keinen Zugriff hat Es schaut sich nicht den Quellcode an, sondern er wird tatsächlich ausgeführt Also während seiner Ausführung läuft das Programm Ich simuliere tatsächlich externe Angriffe wie SQL-Injection, und sie werden später in der CICD-Pipeline ausgeführt Normalerweise, wenn sich Ihre Software in der Preprod- oder Staging-Umgebung befindet , oder Es sieht also aus wie die Webseiten und die APIs, und es versucht, Beide Booster werden also zusammen verwendet. Es gibt keine Leute, die versuchen zu sagen, ich SASPTO sei DAS, B, SAS und DAS ergänzen sich beide DAST identifiziert Verfügbarkeiten aus einer anderen Perspektive, und SAS betrachtet Sie ergänzen sich also gegenseitig. Idealerweise sollten Sie sich beide ansehen. Und wie kommt das zusammen? Wenn Sie also auf die linke Seite schauen, haben Sie die ID, unter der Sie die Entwickler schulen, und Sie geben Feedback in die ID ein. Sie schreiben also sicheren Code. Sobald sie den Code eingereicht haben, geht er in die CI-Pipeline. Es testet, berichtet, erstellt und SAST kommt ins Spiel Es sieht also aus wie der Quellcode. Wenn der Code unsicher ist, geht er zurück an den Entwickler. Bitte repariere das Wenn es erfolgreich ist, also wenn es die ID weitergibt, passiert es die SAS, es geht an die CD-Pipeline, wo Sie das Review Staging Prod haben Innerhalb der Stagingphase finden die Tage statt. Das ist ein sehr vereinfachtes Beispiel dafür, wie man es betrachtet, aber es ist ein sehr, sehr mächtiges Werkzeug Wenn Sie also während Ihres gesamten Lebenszyklus auf verteilte Sicherheit achten, werden Sie definitiv zu einer höheren Codequalität in Ihrer Anwendung führen einer höheren Codequalität in Ihrer Anwendung Das waren also der SAST und der Staub. Ich möchte auf das andere Beispiel zurückkommen , das wiederum eines der wichtigsten Beispiele ist Ich denke, das ist der Punkt , an den die Leute am meisten denken , wenn sie über die Sicherheit der Software-Lieferkette sprechen , also über Komponenten oder Abhängigkeiten von Drittanbietern. Wir haben über die Bibliotheken gesprochen, oder? Die Bibliotheken, weil niemand Anwendungen von Grund auf neu erstellt. Sie werden sich auf Bibliotheken verlassen, Bibliotheken wie Log FoJ, wurden aber kompromittiert, oder All diese Bibliotheken können also Sicherheitslücken und Komponenten von Drittanbietern enthalten, und sie sind ein großer blinder Also, was machst du hier? Sie verwenden etwas, das als Software-Kompositionsanalyse bezeichnet wird. Es untersucht also Ihre Abhängigkeiten. Was sind die Abhängigkeiten? Was sind die Softwarebibliotheken, und sie identifiziert tatsächlich alle vorhandenen Sicherheitsrisiken. So wie SAST wie der Quellcode aussieht. Dieser sieht aus wie Ihre Drittanbieter-Bibliotheken und sagt Entwicklern: Hey, Ihre Komponente ist verwundbar und sie kann sie tatsächlich kontinuierlich verwenden, um herauszufinden, ob eine Sicherheitslücke darauf kontinuierlich verwenden, um herauszufinden, ob eine zurückzuführen ist, dass sie nicht statisch ist, oder? Es ist möglich , dass eine Komponente sicher ist und morgen wird sie unsicher SCS-Softwarekomposition analysiert also vollständig und es sieht so aus, als ob das passiert Das ist ein Beispiel von CISA, sie sind eine Regierungswebsite, und sie haben eine sehr gute Publikation Ich werde sie über die Sicherung der Software-Lieferkette für Entwickler verlinken die Sicherung der Software-Lieferkette für Und sie geben diese Empfehlung. In der Pipeline wählt der Entwickler also vielleicht eine Komponente zum Herunterladen aus, oder? Ich weiß nicht, die Log Four J-Bibliothek. Die Komponente wird also in einem sicheren Zwischenspeicher abgelegt dem Sie die Analyse der Softwarezusammensetzung durchführen. Also wird es gescannt und Sie wissen lassen, dass, okay, das sicher ist. Es gibt keine Probleme und es wird in das sichere Repository verschoben. Und von dort aus kann sich der Entwickler jetzt anmelden, es einchecken und es im Code verwenden. Oder es sei denn, es wird ein Problem gefunden, dann geht es zurück. Das ist also eine sehr gute Art, sich anzusehen, wie die Zusammenstellung und Analyse von Software funktioniert. Und wenn Sie es sich innerhalb der Pipeline, also innerhalb der ID, noch einmal ansehen , haben Sie sicheren Code und Feedback, und Sie können dort auch die Softwarezusammensetzung und RSS einfügen. Wenn der Entwickler also eine Bibliothek eincheckt, wird die Softwarekomposition Ss aktiviert und ihm mitteilen , dass die Software unsicher ist oder ebenfalls Teil der CI-Pipeline Wenn also SAST passiert, kann SAS die Software Composition Analysis integrieren und Sie wissen lassen, schauen Sie, der Code ist sicher, aber Sie verwenden eine unsichere Bibliothek. Und zu guter Letzt DAST Also, wenn Sie DAS verwenden, können Sie auch die vorhandenen Bibliotheken überwachen die vorhandenen Bibliotheken und es kann Sie in der laufenden Software darüber informieren , welche Probleme es gibt Das war also nur ein allgemeiner Überblick über den allerersten Teil, nämlich den unsicheren Code und wie man ihn schützt , dass Sie inzwischen Ich hoffe, dass Sie inzwischen eine viel bessere Vorstellung von den Kontrollen haben , die Sie zur Sicherung Ihres Quellcodes einrichten können zur Sicherung Ihres Quellcodes Okay, als Nächstes werden wir uns die Absicherung der Umgebung ansehen, wie wir die Quellcodeberichte, die Rechnungsserver, die Paketserver absichern, und wir werden uns das auf einer höheren Ebene ansehen und sehen, wie es die Sicherheit des Software-Quellcodes ergänzt Software-Quellcodes Vielen Dank. Ich werde Sie in der nächsten Lektion fragen. 12. Sicherung der Lieferkette – 3: Hallo. Hallo, alle zusammen. Willkommen, willkommen. Wir setzen jetzt unseren Unterricht fort. Wir haben uns mit Codierung befasst, mit weißer sicherer Codierung und warum das wichtig ist und wie man es schützt. Und wir haben auch über Abhängigkeiten von Drittanbietern gesprochen , oder? Also werden wir in diesem Fall weitermachen, und jetzt werden wir über die Umgebungen sprechen. Wenn Sie sich erinnern, haben wir über die Entwickler-Umgebung gesprochen , die Pre-Prod-Umgebung Und wir werden in dieser Lektion über die Komponenten sprechen , die es gibt Zuallererst, Sie wissen schon, praktische Tools zur Verfügung stellen, um sicherzustellen, dass Entwickler tun können, was sie wollen Das ist eine der größten Herausforderungen, wissen Sie, in der Cybersicherheit, denn wenn man ihnen nicht was sie für ihre Arbeit benötigen, sind Entwickler technisch sehr versiert Sie werden unsichere Wege finden, ihre Arbeit zu erledigen. Hier war Cybersicherheit also schon immer eine Herausforderung, oder? Nehmen wir ein Beispiel. Unternehmen und Cybersicherheitsteams wollen in der Regel nicht, dass Mitarbeiter Code auf ihren Workstations oder Laptops ausführen, das aus offensichtlichen Gründen Doch das brauchen Entwickler. Sie müssen in der Lage sein, wichtige Tools zu installieren und ihre Software effektiv zu testen. Hier müssen Sie in der Entwicklerumgebung flexibel sein . Und wie ich schon sagte, Entwickler sind sehr technisch versiert. Wenn Sie ihnen nicht das geben, was sie wollen, werden sie wahrscheinlich Wege finden, Hindernisse zu umgehen , die sie daran hindern, zu arbeiten, und die zu einer unsicheren Umgebung führen Aus diesem Grund müssen Sie darüber nachdenken, Entwicklern die Möglichkeit zu geben, das zu tun, was sie tun müssen Es gibt also viele Möglichkeiten, dies zu tun. Sie können das Entwicklernetzwerk tatsächlich segmentieren . Sie können es also in ein separates Netzwerk stellen, oder? Ich kenne Leute, die ihre Entwicklungsumgebungen komplett in die Cloud gestellt und sie vom Produktionsnetzwerk getrennt sie vom Produktionsnetzwerk Das einzige, was sie kombiniert, ist ein Repo. Aber sie haben alle Rechte, weil sie wissen, dass selbst wenn dort ein Problem auftritt, es in der Cloud ist, es komplett von ihrem Produktionsnetzwerk getrennt Das ist es also, worüber Sie nachdenken müssen. Was passiert, wenn ein Angreifer es kompromittiert? Denn sobald ein Angreifer es kompromittiert hat, kann er potenziell bösartigen Kern einschleusen ausnutzen Es gibt also viele verschiedene Möglichkeiten, dies zu tun. Sie können, wie gesagt, Ihre Geschäftsumgebung und Ihre Entwicklungsumgebung trennen, Ihre Entwickler vom Kerngeschäft isolieren. Stellen Sie also sicher, dass sie keinen Zugriff auf wichtige Geschäftsfunktionen haben keinen Zugriff auf wichtige Geschäftsfunktionen und überlegen Sie Ihre Entwicklungsumgebung schützen können. Sie setzen eine Multifaktor-Authentifizierung ein geben ihnen Dinge wie VDI, wodurch sie eine Es gibt ihnen also die Möglichkeit , das zu tun, was sie wollen, aber sie sind eingeschränkt Sie werden in eine bestimmte Sandbox gesteckt. Das sind also die Dinge, über die Sie wirklich nachdenken müssen , wenn Sie Ihre Umgebungen absichern, oder? So isolieren Sie Ihre Entwickler von Ihren Produktionsumgebungen. Und natürlich haben Sie auch Pre-Prod-Umgebungen . Sie haben Daten Stellen Sie sicher, dass Sie es anonymisieren. Sie desinfizieren es so weit wie möglich. Entgegen der landläufigen Meinung benötigen Sie dort nicht alle Daten Sie benötigen gerade genug, um die gesamte Produktion zu simulieren, aber Sie benötigen möglicherweise nicht alle, z. B. Kuhdaten oder PII-Daten, Sie können sie möglicherweise bereinigen. Denken Sie also über diese Dinge nach. Sie müssen eine Sicherheitsüberwachung haben. Ich habe über Datenanonymisierung gesprochen. Auf diese Weise können Sie also Ihre Entwicklungsumgebung und Ihre P-Produktionsumgebung und Ihre P-Produktionsumgebung Und wir haben über Härtung gesprochen. Eines der wichtigsten Dinge , über die Sie nachdenken sollten, ist die Sicherheit Ihrer Quellcode-Repos, Ihres Build-Servers, Ihres Paketservers All diese Dinge kommen einem in den Sinn, egal ob Sie eine CICD-Pipeline oder DevOps oder einfach nur manuell haben oder DevOps oder einfach nur manuell Gehen wir also Schritt für Schritt vor. Zuallererst ist es dein Code-Repo. Wenn Sie sich erinnern, haben Sie hier Ihren gesamten Code eingegeben, ja. Hier platzieren Ihre Entwickler den Code und sichern den Zugriff auf den Reaper Sie können sich vorstellen, Dinge wie Multifaktor-Authentifizierung einzuführen Prüfen Sie, wer Zugriff auf das Repo hat, und sichern Sie die zugrundeliegende Infrastruktur? Wenn es vor Ort ist und jemand in den Server selbst hacken kann, dann kann man dem Code nicht wirklich vertrauen , der oben drauf sein wird, Und setzen Sie immer das Prinzip der Leasing-Privilegien durch. Sie werden nicht glauben, wie viele Unternehmen, die ich kenne, den Zugriff auf ihre Anwendungen überprüfen, aber die Börsengänge vergessen sie völlig Sie vermissen es völlig. also beim Benutzerzugriff auf Repos darüber nach, wie Sie sich authentifiziert haben Gibt es eine gute Passwortrichtlinie? Setzen Sie Dinge wie die Multifaktor-Authentifizierung durch? Beschränken Sie es auf IP-Adressen? Wie wir über das Cod Cv-Problem gesprochen haben, oder? Das hätte der Fall sein können, wenn die IPs zerstört worden wären, denn selbst wenn sie Ihr Repo kompromittiert hätten, hätten sie nicht darauf zugreifen können Und natürlich eines der gefährlichsten Dinge, bitte scannen Sie es weiter Bewahren Sie Ihre Anmeldeinformationen und Ihren Quellcode immer getrennt auf. Wissen Sie, ob Ihre Entwickler irgendwelche Anmeldeinformationen in Ihrem EPO fest codiert haben, sodass Ihre Anmeldeinformationen logisch vom Quellcode getrennt Und dafür zu sorgen, dass sie gescannt werden. Das ist eines der grundlegendsten Dinge. Bis heute kann ich Ihnen garantieren, dass so viele Unternehmen hartcodierte Anmeldeinformationen in ihren Repos haben hartcodierte Anmeldeinformationen in und sich dessen nicht bewusst sind Also, haben Sie diesen Plan? Haben Sie eine Art Notfallplan, falls Sie das herausfinden, oder? Dies sind all die Dinge, über die Sie nachdenken müssen , wenn Sie über Ihr Code-Repo sprechen Wenn das Code-Depot gesichert gewesen wäre, hätten Angriffe wie Cod COV blockiert werden können Okay, die nächste ist die Build-Pipeline, richtig? Wir haben darüber gesprochen, als der Entwickler etwas in den Code, das Repo, übernommen hat Hier kommt Ihre Build-Pipeline ins Spiel. Dies kann Teil der CSCD-Pipeline sein. Sie müssen dies vor allem sicherstellen, da dies eines der größten Ziele ist Wir haben das schon bei Solargewinnen gesehen, oder? Was macht ein Angreifer? Er infiltriert ein Entwicklungsnetzwerk. Er scannt, um herauszufinden, wo sich der Quellcode befindet, wo die gebauten Systeme sind und wo die Sicherheitslücken liegen . Er geht Kompromisse ein Jetzt ist er in der Lage, den Code zu kompromittieren, der übergeben wird, und Sie können die Binärdateien kompromittieren, richtig Wenn Sie die Integrität Ihres Codes und der Build-Artefakte sicherstellen möchten , sollten Sie sicherstellen, dass Ihr Build gehärtet ist Und denken Sie immer daran, dass die Build-Threads eine der gefährlichsten Bedrohungen darstellen , die es geben kann, wie die Sonnenwindumgebung zeigt Was können wir also tun? Befolgen Sie also zunächst die Richtlinien zur Härtung. Die meisten Build-Tools, die es gibt, verfügen alle über bewährte Methoden zum Härten , die Sie befolgen können. Trennen Sie Ihre Entwicklung, Ihr Engineering-Netzwerk vom Coopit-Netzwerk Wir haben bereits darüber gesprochen. Überwachen Sie Ihre Build-Umgebung? Haben Sie dort Dinge wie eine Multi-Faktor-Authentifizierung Warum? Prüfen Sie, auf welche Konten sie Zugriff haben? Denn denken Sie daran, dass der Build-Server wenn er automatisch Code in verschiedenen Umgebungen bereitstellt Zugriff benötigt, wenn er automatisch Code in verschiedenen Umgebungen bereitstellt. Woher weißt du , dass diese Konten nicht kompromittiert wurden, oder? Stellen Sie sicher, dass Sie alle Zugriffe protokollieren. Und wir haben auch über die verifizierten reproduzierbaren Builds gesprochen , oder? Also Builds, die Sie in verschiedenen Umgebungen erstellen können, und sie werden immer dieselben sein Das gibt Ihnen die Gewissheit, dass niemand an einer Solaranlage herumgepfuscht hat Und stellen Sie sicher, dass Ihre Geheimnisse und Ihre Anmeldeinformationen grundsätzlich sicher sind Dies ist also eine vollständige Checkliste , anhand derer Sie Sicherung Ihrer erstellten Umgebungen beginnen Das sind also die Build-Server. Was ist der Paketserver sonst noch? Wenn Sie sich erinnern, also fügen Sie Dinge in den Quellcode ein, sie gehen zum Build-Server und von dort gehen sie zum Paket. Nun, der Paketserver ist Ort, an dem Ihre Software bereitgestellt wird, oder? Ihre Softwarepakete. Und Kompromisse bei Paket-Repositorys. Das kann eine erhebliche Bedrohung für Ihre Software-Lieferkette darstellen. Wir haben vorhin darüber gesprochen. Wenn Angreifer in der Lage sind, es zu kompromittieren, können sie möglicherweise bösartigen Code dorthin übertragen, oder? Also nochmal: MFA mithilfe kryptografischer Signaturen absichern. Was ist das? Sie möchten sicherstellen, dass die Integrität Ihrer Softwarepakete gewährleistet ist. Auf diese Weise kommt Ihre kryptografische Signatur ins Spiel, wenn dieses Paket manipuliert oder verändert wird Weil das Paket einen einzigartigen digitalen Fußabdruck haben wird , oder? Und wir können verifizieren, dass niemand daran herumgepfuscht hat. Auch hier können Sie sicherstellen, dass Sie sichere Kanäle verwenden und sicherstellen, dass HDDPS, SFTP oder sogar VPNs verwendet werden, SFTP oder sogar VPNs um sicherzustellen, dass die Pakete im Transet verschlüsselt werden, um die Integrität der Softwarepakete vor der Verteilung zu überprüfen vor der dass Sie sichere Kanäle verwenden und sicherstellen, dass HDDPS, SFTP oder sogar VPNs verwendet werden, um sicherzustellen, dass die Pakete im Transet verschlüsselt werden, um die Integrität der Softwarepakete vor der Verteilung zu überprüfen. Sie möchten also die aktuelle Kryptosignatur Ihres Pakets mit der Originalsignatur vergleichen Kryptosignatur Ihres Pakets mit der Originalsignatur vergleichen um sicherzustellen, dass niemand daran manipuliert hat , um sicherzustellen, dass niemand daran manipuliert hat, oder? Und dagegen, es zu unterschreiben Dies sind einige der sehr, sehr wichtigen Kontrollen. Und jetzt möchte ich Ihnen eines der Hauptrisiken, über die wir gesprochen haben, rückgängig machen . Sie erinnern sich an den Angriff zur Konfusion von Abhängigkeiten. Dabei handelte es sich um einen großen, sehr ähnlichen Supply-Chain-Whisk, bei dem ein Angreifer ein bösartiges Paket in einem öffentlichen Paket-Repository veröffentlicht einem öffentlichen Paket-Repository das denselben Namen wie ein bekanntes Paket trägt Ihr Entwickler könnte also nach einem Paket fragen, und was passiert, ist, dass das Paket zuerst zurückkommt, was es tut, es überprüft den öffentlichen Bericht Und dort hat der Angreifer den gleichen Namen eingegeben, aber mit einer höheren Versionsnummer. Sie könnten also Version drei haben, er wird Version fünf hinzufügen. Und das Paket-Repository, so wie es konfiguriert ist, wird es zuerst ins Internet gehen, um es zu überprüfen, und dann wird es das bösartige Paket herunterladen Auf diese Weise wird das Paket in Ihr Entwicklernetzwerk und auf Bingo kopiert Der Angreifer hat Zugriff auf Ihre Softwareentwicklungsumgebung und kann diese kompromittieren. Es ist also nur ein Weg, es ist eine Art von Angriff , der die Funktionsweise von Softwareentwicklungsumgebungen und Paketmanagern ausnutzt , wissen Sie, Dinge wie Node Package Manager, Python Package Index Das ist einfach die Art und Weise, wie es funktioniert. Also nochmal, was können Sie tun, um das zu sichern? Sie können private Repositorys für kritische Abhängigkeiten verwenden , Sie können einfach private Repositorys mit strengen Zugriffskontrollen verwenden , um das Risiko zu verringern, dass Sie versehentlich kompromittierte Pakete konsumieren Sie können das Sperren von Abhängigkeiten verwenden und so sicherstellen, dass Ihre Abhängigkeit das Paket, das der Entwickler auflistet , auf eine bestimmte Version beschränkt ist , die Dadurch wird verhindert, dass diese automatischen Updates von potenziell gefährdeten neueren Versionen In diesem Diagramm können Sie sehen, dass der Angreifer ein öffentliches Paket-Repo kompromittiert hat Und den Entwickler hat er nach einem Paket gefragt. Das Paket wird nicht ins Internet gehen, um es zu überprüfen. Warum? Weil du die Abhängigkeit gesperrt hast. Du hast gesagt, dass das die einzige Version ist, die ich will, die du bereits verifiziert hast, und die ist vor Ort. Es wird also nicht ins Internet gelangen und Sie werden in der Lage sein diesen Angriff vollständig zu umgehen Der Angreifer wird nicht in der Lage sein Ihre Umgebung zu gefährden. Das sind also die Dinge, die Sie im Hinterkopf behalten sollten, nämlich den Schutz vor Konfusionsangriffen, richtig? Das sind die Dinge, die Sie benötigen, um sicherzustellen, dass die Namen aller Pakete, die in Ihrem Projekt verwendet werden , bekannt und vertrauenswürdig sind. Und das können Sie tun, indem Sie die Quelle und den Betreuer jedes Pakets verifizieren Betreuer jedes Pakets bevor Sie es zu Ihren Abhängigkeiten hinzufügen Über das Signieren von Paketen wurde bereits gesprochen. Das Gleiche, als ob Sie eine digitale Signatur haben, oder? Signieren Sie das Paket und verwenden Sie private Paket-Repositorys. Erwägen Sie also, private Paket-Repositorys zu verwenden in denen Sie Ihre internen Abhängigkeiten hosten Dies kann dazu beitragen, die Anzahl der Angreifer zu reduzieren, wie ich im vorherigen Diagramm gezeigt habe Selbst wenn er ein bösartiges Paket einführt, das denselben Namen wie Ihre interne Abhängigkeit hat, wird Ihr Paketmanager nicht darauf zugreifen, da er lokal bleibt und nur das interne Paket verwendet Und natürlich das Überwachen und Scannen Ihrer Pakete, oder? Sie möchten sicherstellen , dass in der Zwischenzeit keine Sicherheitslücken eingeführt wurden. Dies kann also dazu beitragen, schädliche Pakete abzufangen und die Paket-Downloads zu überwachen. Indem Sie also die Downloads Ihres Pakets überwachen, können Sie dazu beitragen, böswillige Aktivitäten zu erkennen. sind also all die Dinge, die Sie tun können , um sicherzustellen, dass Sie vor Angriffen zur Konfusion von Abhängigkeiten geschützt sind. Also haben wir uns jetzt mit den Umgebungen befasst. Jetzt möchte ich über ein sehr wichtiges Thema sprechen, das für die Sicherheit der Software-Lieferkette von entscheidender Bedeutung ist , und das ist die Software Builds of Material, SBOM Danke. Und ich werde das nicht behandeln , weil ich denke, dass Sie in dieser Lektion bereits genug zu verstehen haben. Wir sehen uns in der nächsten Lektion, wir werden mit diesem Thema beginnen. Vielen Dank und wir sehen uns in der nächsten Lektion. 13. SBOM: Hallo, alle zusammen. Willkommen. Willkommen zu dieser Lektion, die sich mit einem sehr, sehr wichtigen Thema der Sicherheit der Software-Lieferkette befasst , nämlich einem Software-Build-of-Material, SBOYM Was ist also ein SBM? Es ist sehr einfach Es ist im Grunde ein verschachteltes Inventar. Es ist eine Zutatenliste. Von allen Softwarekomponenten , die in Ihrer Software vorhanden sind. Und wenn Sie an die Software-Lieferkette denken, richtig, jedes Tool-Framework oder Build, das zum Schreiben, Erstellen und Ausführen von Anwendungen verwendet wird, und hier kommen all die Sicherheitslücken ins Spiel, oder? Und Sie verwenden ständig Code und Softwarepakete wieder , und Drittanbieter verkaufen auch kommerzielle Pakete Die Komplexität der Entwicklung all dieser Software-Apps macht es also sehr, sehr wichtig, ein Inventar aller Komponenten zu haben , die zur Erstellung solcher Anwendungen verwendet werden, einen Katalog, oder? Und dieser Katalog hilft Unternehmen dabei , schnell Sicherheitslücken in der Umgebung zu identifizieren und festzustellen, ob sie Sicherheitslücken haben festzustellen, ob sie Sicherheitslücken haben . An dieser Stelle kommt das SBM ins Spiel. Es ist zu einem Standard für die Sicherheit der Software-Lieferkette Und hier können Sie tatsächlich von Anbietern anfragen und das bekommen. Und wir werden uns das genauer ansehen. Sie können das also tatsächlich selbst tun. Sie können es sogar mit einer Excel tun. Ich würde es überhaupt nicht empfehlen, oder Sie können es automatisch generieren. Es gibt viele, viele Programme die Ihre Umgebung scannen, und dann generieren sie tatsächlich unsere Software-Builds von Materialien Das ist es, was ich empfehle, ein maschinell generiertes Programm zu verwenden. Und es ist sehr, sehr vorteilhaft, warum? Weil es Ihnen hilft, anfällige Komponenten zu identifizieren , und es gibt Ihnen ein umfassendes Wissen darüber, was Sie haben, oder? Was ist, wenn es einen Vorfall gibt dem eine bestimmte Bibliothek kompromittiert wird Wie würden Sie wissen, ob Ihre kritischen Anwendungen dies haben oder nicht Sie können Ihr SBM tatsächlich schnell abfragen, ob es im Computerformat vorliegt, um herauszufinden, ob diese spezielle Version dieser speziellen Bibliothek verwendet wird, oder? Und es hilft Ihnen, auch Anbieter auszuwählen, die schreiben, zum Beispiel, wenn Ihr Anbieter transparent ist und er sagt: Hey, hier ist mein SBM mit der Anwendung Sie wissen, dass dies ein ausgereifter Anbieter ist, oder? Sie haben all diese notwendigen Dinge. Und selbst nachdem ich glaube, dass Solarenergie gewonnen hat, die Anbieter von Softwarelieferketten und die Sicherheitsvorkehrungen aus der Durchführungsverordnung, die zustande gekommen sind, haben sie auch angefangen, vorzuschreiben , dass Sie ein SPOM benötigen Also wie gesagt, Sie können es manuell tun , indem Sie eine Excel verwenden. Ich würde es absolut nicht empfehlen, da Sie Hunderte bis Tausende von Abhängigkeiten haben können. Normalerweise können Sie dies mit maschinell generierten Tools tun, richtig, die es völlig automatisch für Sie erledigen. Also, wie ich schon sagte, was macht es? Es ist wie ein komplett erschöpfendes Inventar, oder? Es beschreibt alle Open-Source-Dateien , Bibliotheken und Codepakete von Drittanbietern, die bei der Entwicklung einer Softwareanwendung verwendet werden , und gibt Ihnen eine gute Vorstellung von der Softwarekomposition, oder? Auf diese Weise wissen Sie, was da ist, was nicht, welche Version Sie verwenden, welche Bibliotheken und Codepakete verwendet werden? Wie sind Komponenten von Drittanbietern, wie ist der PAT-Status? Was sind die Abhängigkeiten zwischen ihnen? Und Sie können jetzt verstehen: Wenn ich wissen möchte, wie der PAT-Status ist, weil ich nicht weiß, ob die jeweilige Software für einen bestimmten Angriff anfällig ist oder nicht, kann die SBOM Ihnen sofort helfen, sie zu identifizieren Und das ist wie ein maschinell generierter . So sieht es aus. Ich meine, ich will nicht, dass du es liest, aber es zeigt nur, dass du sehen kannst , dass es dir zeigt, was das Paket ist. Stimmt? Was ist der Status? Was ist die Version? Was ist der Hashcode? Wer ist der Lieferant? Also kommen all diese Dinge ins Spiel. Und wie hilft es? Ich habe bereits darüber gesprochen, aber wissen Sie, zuallererst haben Sie Transparenz. Es gibt Ihnen also eine vollständige Liste dessen, was Sie haben, oder? Dieses Maß an Transparenz ermöglicht es Unternehmen, genau zu wissen , was in der Software enthalten ist , und erleichtert die Verwaltung und Sicherung. Schwachstellenmanagement mit SBM können Sie schnell erkennen, ob Softwarekomponenten vorhanden sind , die anfällig für Sicherheitslücken sind. So können Sie Probleme proaktiv identifizieren. Einhaltung von Vorschriften: In vielen Branchen gelten regulatorische Anforderungen , die Sicherheitsstandards für Software Wenn Sie dies nicht tun, auch wenn Sie die Software nicht im Haus haben, verwenden Sie möglicherweise eine herstellerbasierte Software. Sie können eine SBOM verwenden. Sie können den Verkäufer nach dem SBM fragen, oder? Und natürlich die Sicherheit der Lieferkette. Der ganze Sinn besteht darin, die Sicherheit Ihrer Lieferkette zu verbessern, und es hilft auch bei der Reaktion auf Vorfälle. Nehmen wir an, SBM ermöglicht Ihnen im Falle einer Reaktion auf einen Vorfall eine SBM ermöglicht Ihnen schnellere und effizientere Reaktion auf Vorfälle Sie können schnell und einfach feststellen , welche Komponenten von einem Angriff betroffen sein könnten Und wieder das Tracking von Abhängigkeiten. Also, wie ich schon sagte, es wird so kompliziert zu verfolgen, was man hat und was nicht. Eine SVM hilft Ihnen also dabei, diese Abhängigkeiten im Laufe der Zeit zu verfolgen. Und heutzutage, im Zeitalter von GNAI und allem, kann man tatsächlich eine KI auf diese Dateien legen sie abfragen und dann Antworten erhalten, die völlig menschenwürdig sind, oder? Also über all diese Dinge kannst du nachdenken. Also wenn ich es aus dieser Perspektive betrachte. Nehmen wir an, Sie haben ein Cybersicherheitsteam, richtig, und Ihr Unternehmen kauft ein Produkt von einem Anbieter Und jetzt will das Cybersicherheitsteam wissen, welche Art von Software es gibt Ist es Open Source? Wie ist es gebaut, oder? Also fragst du den Verkäufer, kannst du mir bitte ein SBM geben? Also das ist es, was der Verkäufer richtig reagiert. Sie geben Ihnen eine SBOM und die Person kann sie jetzt lesen und sich diese Gewissheit holen Okay, was ist da? Was ist nicht da? Nun, keine Software ist immun gegen Sicherheitslücken, oder? Jeder Es gibt keine Software , die zu 100% sicher ist. Sie können das also sogar mit einer SBOM tun. Sie können also den Anbieter fragen, es irgendwelche Sicherheitslücken in Ihren Softwarelabor-Redes gibt? Sie können Ihnen OSB und einen sogenannten Vulnerability Exploitability Exchange anbieten. Was ist das jetzt? Dies ist ein Framework , das darauf ausgelegt ist, die Sicherheitslücken in der Software zu kommunizieren, insbesondere ob die Software anfällig ist oder nicht. VX-Statements bieten Anbietern also eine Möglichkeit zur Kommunikation Ob es eine Sicherheitslücke oder nicht, Sie können ihnen genau sagen. Wenn ich also ein Anbieter bin und ein Kunde mich fragt, kann ich ihm das SBM plus einen VX geben Und ich sage, dass diese Sicherheitslücke kein Problem für unser Produkt darstellt, und Sie können die Bedingungen detailliert beschreiben unter denen es ein Problem sein könnte, aber Sie haben es gemildert Es ist also Teil der SBOM und bietet Ihnen Transparenz Dies ist also wieder ein Standard, der immer beliebter in der Software-Lieferkette Warum, weil Sie keinen Zugriff auf den Outsourcing-Quellcode haben , oder? Aber wenn Sie eine Anwendung kaufen, können Sie das SPM tatsächlich verwenden Sie können den VX verwenden, um diese Sicherheit zu erhalten. Und in der nächsten Lektion werden wir eine konkrete Fallstudie machen , zum Beispiel, wie das passieren würde, wenn ein Kunde eine Software kaufen würde und was wir tun können? Ich denke, das deckt so ziemlich alle Dinge ab, über die wir gesprochen haben, oder? Wir haben es also von der Entwicklerumgebung aus betrachtet: sicheres Codieren, Härten, Scannen von Komponenten, Testen, Abhärten der Umgebung, und jetzt betrachten wir es aus der SBM-Perspektive Ich hoffe, es war nützlich für Sie, um zu verstehen, wie groß diese Welt ist, oder? Jetzt haben Sie eine gute Vorstellung von der Sicherheit der Software-Lieferkette und den Kontrollen in jeder Phase und von den Missverständnissen, die die Leute haben, so dass es sich bei diesem Produkt um ein Produkt handelt , das Sie kaufen, oder dass es sich um eine Zertifizierung handelt, die Sie erhalten Jetzt, wo Sie in einem guten Zustand sind, können wir jetzt sagen, dass Sie vielleicht denken: Okay, es gibt so viele Kontrollen Wie implementiere ich das eigentlich? Wo fange ich an, fange ich mit dem SBM an? Beginne ich mit Secure Code? Beginne ich mit Abhängigkeiten? Was muss ich tun? Darüber werden wir also in der nächsten Lektion sprechen , in der wir über den Aufbau eines Software-Supply-Chain-, Sicherheits- und Risikoprogramms sprechen werden. Wenn Sie zum Beispiel damit beginnen, dies in Ihrem Unternehmen zu tun, wo Sie anfangen sollen und wo all diese verschiedenen Komponenten ins Spiel kommen werden. Okay? Also ich hoffe, das war nützlich für dich. Wir sehen uns in der nächsten Lektion. Ich danke dir. 14. Fazit: Hallo, hallo, alle zusammen. Willkommen. Willkommen zur letzten Lektion. Und das ist gerade zu Ende. Danke. Danke, dass du mir zugehört für Gott weiß wie lange geredet hast. Aber ich hoffe, Sie haben ein gutes Verständnis für die Sicherheit der Software-Lieferkette. Ich hoffe, Sie haben jetzt einen ganzheitlichen Überblick und denken nicht nur darüber nach, ein Produkt zu kaufen oder einfach MFA oder etwas Ähnliches einzuschalten Ich hoffe, ich habe Ihr Wissen über neue Arten von Angriffen erweitert über neue Arten von Angriffen Denken Sie also daran, es ist eine fortwährende Reise. Folgen Sie den besten Praktiken und Trends der Branche , die es gibt, und beginnen Sie. Ich kann nicht, bitte gehören Sie nicht Leuten, die diese Lektion einfach nehmen zu den Leuten, die diese Lektion einfach nehmen und sie dann in der nächsten Woche vergessen. Okay, fangen Sie an, nehmen Sie einige der Lektionen, von denen ich Ihnen erzählt habe , und fangen Sie an, sie in Ihrem Unternehmen umzusetzen. Schauen Sie sich die erstellten Repos und die Paket-Repos an und beginnen Sie, die Paket-Repos an und sie schrittweise zu implementieren Aber das ist so ziemlich, dass wir den Kurs beendet haben. Ich hoffe, es hat dir Spaß gemacht, mir so viele Stunden Babylon zuzuhören mir so viele Stunden Babylon Vielen Dank, dass du dich mit mir abgefunden hast. Denken Sie daran, dass ich Ihnen am Anfang ein Projekt gegeben habe. Sie können dies nutzen und Ihre eigene Software-Lieferkette gegen das Risiko, über das wir gesprochen haben, abwägen und es teilen. Und werfen Sie einen Blick darauf, wie Sie sich befinden wo Sie stehen, in Ihrer Lieferkette, was die Risiken sind und wie Sie sie mindern können, und dokumentieren Sie sie, damit Sie sich ein besseres Bild machen können Denn wenn Sie dieses Wissen nicht anwenden, kann ich garantieren, dass Sie es vergessen werden Sie werden Ihre Zeit und Ihr Geld verschwendet haben, wenn Sie das Wissen, über das ich gesprochen habe, nicht anwenden . Das ist also so ziemlich alles. Bitte zögern Sie nicht , mich zu kontaktieren. Ich bin dort auf Substack, LinkedIn und habe auch einen kleinen YouTube-Kanal Ich verlinke alles in den Kommentaren. Es tut mir leid, innerhalb der Lektion können Sie darauf klicken und mich kontaktieren, und mich wenn Sie denken, dass dies eine gute Lektion war. Bitte hinterlassen Sie eine Nachricht, wenn Sie denken, dass dies der schlechteste Kurs ist, den Sie je besucht haben, lassen Sie es mich bitte auch wissen. sich überhaupt keine Sorgen. Ich freue mich über Feedback. Also vielen Dank. Damit ist dieser Kurs abgeschlossen. Ich hoffe, Sie hatten eine gute Zeit und wir sehen uns im nächsten Kurs, den ich unterrichte Vielen Dank und auf Wiedersehen.