Technologieaustausch

Sicherheit der Software-Lieferkette: Wie schützt man sich vor potenziellen Angriffen?

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Fügen Sie hier eine Bildbeschreibung ein

Quelle:https://thehackernews.com/2024/06/practical-guidance-for-securing-your.html

Fügen Sie hier eine Bildbeschreibung ein

Es ist keine Überraschung, dass Softwareproduktionsunternehmen einem zunehmenden regulatorischen und rechtlichen Druck ausgesetzt sind, ihre Lieferketten zu schützen und die Integrität ihrer Software sicherzustellen. In den letzten Jahren ist die Software-Lieferkette zu einem immer attraktiveren Ziel für Angreifer geworden, die die Möglichkeit sehen, ihre Angriffe um Größenordnungen zu steigern. Schauen Sie sich zum Beispiel die Log4j-Schwachstellen im Jahr 2021 an. Log4j (ein Open-Source-Protokollierungsframework, das von Apache verwaltet und in unzähligen verschiedenen Anwendungen verwendet wird) war die Quelle von Schwachstellen, die Tausende von Systemen gefährdeten.

Die Kommunikationsfunktionalität von Log4j ist angreifbar und bietet Angreifern somit die Möglichkeit, Schadcode in die Protokolle einzuschleusen, der dann auf dem System ausgeführt werden kann. Nach seiner Entdeckung sahen Sicherheitsforscher Millionen von Exploit-Versuchen, von denen viele zu erfolgreichen Denial-of-Service-Angriffen (DoS) führten. Laut einer neuen Studie von Gartner werden bis 2025 fast die Hälfte aller Unternehmen Ziel von Software-Supply-Chain-Angriffen sein.

Aber was ist eine Software-Lieferkette? Erstens ist es definiert als die Summe aller Codes, Personen, Systeme und Prozesse innerhalb und außerhalb einer Organisation, die zur Entwicklung und Bereitstellung von Softwareartefakten beitragen. Was die Sicherung der Software-Lieferkette so schwierig macht, ist die Komplexität und die stark verteilte Natur der Entwicklung moderner Anwendungen. Unternehmen beschäftigen globale Entwicklerteams, die auf eine beispiellose Anzahl von Open-Source-Abhängigkeiten sowie umfangreiche Code-Repositorys und Artefaktregister, CI/CD-Pipelines und Infrastrukturressourcen für die Erstellung und Bereitstellung von Anwendungen zurückgreifen.

Während Sicherheit und Compliance für Unternehmen schon immer oberste Priorität hatten, wird der Schutz der Software-Lieferkette eines Unternehmens immer schwieriger. Allerdings haben viele Organisationen erhebliche Fortschritte bei der Implementierung von DevSecOps-Praktiken gemacht, und viele von ihnen befinden sich immer noch in einem frühen Stadium der Entscheidung, was zu tun ist.

Genau dafür haben wir diesen Artikel zusammengestellt. Auch wenn die folgende Liste keineswegs eine erschöpfende Liste darstellt, finden Sie hier vier Leitprinzipien, mit denen Sie Ihre Sicherheitsbemühungen in der Software-Lieferkette in die richtige Richtung lenken können.

Berücksichtigen Sie bei der Anwendung von Sicherheit alle Aspekte der Software-Lieferkette

Angesichts der Tatsache, dass mehr als 80 % der Codebasen mindestens eine Open-Source-Schwachstelle enthalten, sind OSS-Abhängigkeiten natürlich zu einem zentralen Schwerpunkt der Sicherheit der Software-Lieferkette geworden. Die moderne Software-Lieferkette umfasst jedoch auch andere Einheiten, deren Sicherheitslage entweder übersehen wird oder innerhalb der Organisation nicht allgemein verstanden wird, dass sie ordnungsgemäß verwaltet werden kann. Bei diesen Einheiten handelt es sich um Code-Repositorys, CI- und CD-Pipelines, Infrastruktur und Artefaktregister, die jeweils Sicherheitskontrollen und regelmäßige Compliance-Bewertungen erfordern.

Frameworks wie die OWASP Top-10 für CI/CD- und CIS-Software-Supply-Chain-Sicherheits-Benchmarks. Die Einhaltung dieser Frameworks erfordert eine fein abgestimmte RBAC, die Anwendung des Prinzips der geringsten Rechte, das Scannen von Containern und Infrastructure-as-Code auf Schwachstellen und Fehlkonfigurationen, das Isolieren von Builds, die Integration von Anwendungssicherheitstests und die ordnungsgemäße Verwaltung von Geheimnissen – um nur einige zu nennen.

SBOM ist entscheidend für die Behebung von Zero-Day- und anderen Komponentenproblemen

Ein Teil der Executive Order 14028, die das Weiße Haus Mitte 2021 erlassen hat, um die Cybersicherheitslage des Landes zu stärken, verlangt von Softwareherstellern, ihren Bundeskunden eine Software Bill of Materials (SBOM) zur Verfügung zu stellen. SBOMs sind im Wesentlichen formelle Aufzeichnungen, die einen Einblick in alle Komponenten bieten sollen, aus denen die Software besteht. Sie bieten eine detaillierte maschinenlesbare Auflistung aller Open-Source- und Drittanbieter-Bibliotheken, Abhängigkeiten und Komponenten, die zum Erstellen der Software verwendet werden.

Unabhängig davon, ob eine Organisation EO 14028 unterliegt, ist die Erstellung und Verwaltung von SBOMs für Softwareartefakte eine wertvolle Praxis. SBOM ist ein unverzichtbares Tool zur Behebung von Komponentenproblemen oder Zero-Day-Schwachstellen. Bei der Speicherung in einem durchsuchbaren Repository stellt SBOM eine Karte des Vorhandenseins spezifischer Abhängigkeiten bereit und ermöglicht Sicherheitsteams, Schwachstellen schnell auf die betroffene Komponente zurückzuführen.

Verwalten des Softwareentwicklungslebenszyklus mithilfe von Richtlinien als Code

In der Welt der modernen Anwendungsentwicklung sind solide Leitplanken ein wesentliches Instrument zur Beseitigung von Fehlern und vorsätzlichen Handlungen, die die Sicherheit und Compliance gefährden. Eine ordnungsgemäße Governance in der gesamten Software-Lieferkette bedeutet, dass es Unternehmen leicht gemacht wird, die richtigen Dinge zu tun, und dass es extrem schwierig wird, die falschen Dinge zu tun.

Während viele Plattformen und Tools sofort einsatzbereite Richtlinien bereitstellen, die schnell ausgeführt werden können, ermöglicht Policy-as-Code, basierend auf dem Industriestandard Open Policy Agent, die Erstellung und Ausführung vollständig anpassbarer Richtlinien. Verwalten Sie Richtlinien, die von Zugriffsberechtigungen bis hin zum Zulassen oder Verweigern der Nutzung von OSS-Abhängigkeiten reichen, basierend auf Kriterien wie Anbieter, Version, Paket-URL und Lizenz.

Möglichkeit zur Überprüfung und Sicherstellung des Vertrauens in Ihre Softwareartefakte mithilfe von SLSA

Woher wissen Benutzer und Verbraucher, dass eine Software vertrauenswürdig ist? Wenn Sie die Vertrauenswürdigkeit eines Softwareartefakts bestimmen möchten, möchten Sie wissen, wer den Code geschrieben hat, wer ihn erstellt hat und auf welcher Entwicklungsplattform er erstellt wurde. Sie sollten auch wissen, welche Komponenten sich im Inneren befinden.

Sobald Sie die Herkunft (eine Aufzeichnung der Herkunft und der Produktkette der Software) überprüfen können, können Sie entscheiden, ob Sie der Software vertrauen. Zu diesem Zweck wurde das Supply Chain Level of Software Artifacts (SLSA)-Framework erstellt. Es ermöglicht Softwareproduktionsorganisationen, Informationen aus jedem Aspekt der Softwarelieferkette zu erfassen, die Eigenschaften von Artefakten und ihren Builds zu überprüfen und das Risiko von Sicherheitsproblemen zu reduzieren. In der Praxis müssen Softwareproduktionsorganisationen die SLSA-Rahmenanforderungen übernehmen und einhalten sowie eine Methode zur Validierung und Generierung von Softwarebescheinigungen implementieren, bei denen es sich um authentifizierte Ansprüche (Metadaten) über Softwareartefakte in der gesamten Softwarelieferkette handelt.