Direkt zum Inhalt

Softwarekomposition: Warum, Was und Wie

Softwarekomposition: Warum, Was und Wie

Titelbild

Nimmt Ihr Unternehmen die Sicherheit von Drittanbieter-Abhängigkeiten ernst? Bekommen Sie von Ihrem CISO/SecOps-Team Fragen zur Open-Source-Gesundheit? Ist es aufgrund der Komplexität Ihrer Anwendungslandschaft schwierig zu verstehen, welche Module, Widgets und Java-Bibliotheken wo verwendet werden? Dann lesen Sie weiter!

Mendix ist stolz zu verkünden Software-Zusammensetzung, eine neu veröffentlichte Funktion, die eine genaue Bestandsaufnahme der Abhängigkeiten von Anwendungs- und Anwendungslandschaftskomponenten ermöglicht. Software Composition ist ein grundlegender Baustein zur Verbesserung Ihrer Sicherheitslage.

Anatomie von a Mendix Anwendungsbereiche

Beginnen wir mit den Grundlagen. A Mendix Maker erstellt Seiten, Domänenmodelle, Mikroflüsse, Nanoflüsse, benutzerdefinierte Module und mehr, um ein Mendix app. Dies nennt man Mendix Modell. Der Mendix Das Modell kann bei Bedarf mit benutzerdefiniertem Java und Java-Skript erweitert werden. Alle diese werden vom Anwendungshersteller erstellt und sind in gekennzeichnet Schwarz Farbe in der Abbildung unten.

Wenn benutzerdefiniertes Java oder JavaScript verwendet wird, um die Mendix Modelle, Java-Bibliotheken und npm-Pakete können hinzugefügt werden zum Mendix Anwendung. Vorgefertigte, wiederverwendbare Komponenten wie Module und Widgets aus der Mendix Marketplace kann auch verwendet werden, um Ihre Anwendung zu optimieren. Schließlich ist die richtige Mendix Die Runtime-Version hilft beim Ausführen der Anwendung. Alle diese Abhängigkeiten von Drittanbietern werden in dargestellt blau Farbe unten. Diese Abhängigkeiten von Drittanbietern können verwaltet werden durch Mendix, seiner Community oder seinen Partnern.

Abbildung 1: Anatomie eines Mendix Anwendung
Abbildung 1: Anatomie eines Mendix Anwendung

Herausforderung

Mit der Zeit können Drittanbieterabhängigkeiten veraltet, überholt, anfällig oder unerwünscht werden, je nach den Qualitäts- und Sicherheitsregeln Ihres Unternehmens. Daher ist die Transparenz dieser Drittanbieterabhängigkeiten der Schlüssel zur effektiven Verwaltung der Qualität und Sicherheit Ihrer Anwendungslandschaft.

Dieser Bedarf wird umso ausgeprägter, je mehr Anwendungen in der Landschaft vorhanden sind. Um die Sicherheitsrisiken der Landschaft zu managen, ist ein zentraler Ort zur Anzeige der Komponenten der Anwendungslandschaft unerlässlich.

Einführung in die Softwarekomposition

Um diese Sichtbarkeit zu ermöglichen, Mendix werden wir eine Software-Stückliste (SBOM) erstellen. Ein SBOM ist eine JSON-Datei im Cyclone DX-Format, die die in der Software verwendeten Abhängigkeiten von Drittanbietern zusammenfasst. Das SBOM besteht aus Standard-Marktplatzmodulen, Widgets, Java-Bibliotheken, NPM-Bibliotheken und Laufzeitversionen, abhängig von der unterstützte Studio Pro-Version. SBOMs können generiert werden mit MxBuild.

Mendix generiert im Hintergrund automatisch SBOMs für neue Bereitstellungspakete mit Studio Pro-Versionen ab 9.24.22, ab 10.6.9 und ab 10.10.0 für kostenlose Cloud-, Public Cloud- und Cloud-dedizierte Bereitstellungsmodelle und stellt diese zum Download bereit.

Aber keine Sorge, Sie müssen keine JSON-Dateien analysieren, um Sichtbarkeit zu erhalten. Sie können den SBOM-Inhalt ganz einfach auf der Seite „Software Composition“ in Control Center und Mendix Portal auf eine leicht verständliche Weise. Im Control Center ist die Software-Zusammensetzung über die gesamte Anwendungslandschaft hinweg sichtbar. In Mendix Portal, Sichtbarkeit gilt für jede Anwendung.

Auf der Seite „Softwarezusammensetzung“ im Control Center können Sie Folgendes tun:

  1. Sehen Sie sich die Softwarezusammensetzung jeder Anwendungsumgebung an
  2. Laden Sie die SBOM herunter oder exportieren Sie sie über Excel
  3. Zeigen Sie eine Liste aller in Ihrer Anwendungslandschaft verwendeten Einzelkomponenten an. Für jede Komponente können Sie auch die Anzahl der Anwendungen und Umgebungen anzeigen, die sie verwenden.
Abbildung 2: Ansicht der Komponenten eines Mendix Anwendungsumgebung
Abbildung 2: Ansicht der Komponenten eines Mendix Anwendungsumgebung
Abbildung 3: Ansicht einzigartiger Komponenten und deren Verwendung
Abbildung 3: Ansicht einzigartiger Komponenten und deren Verwendung

Eine ähnliche Sichtbarkeit ist verfügbar in Mendix Portal. Die Softwarezusammenstellung für jedes neue Bereitstellungspaket ist verfügbar. Umsetzbare Erkenntnisse zu den Komponentenabhängigkeiten und anderen Verbesserungen werden folgen, bleiben Sie dran. Folgen Sie den Versionshinweisen für Control Center und Mendix Portal um mehr über zukünftige Verbesserungen zu erfahren!

Jetzt loslegen!

Aufgeregt? Hier sind einige praktische Tipps für den Anfang.

Stellen Sie sicher, dass Sie die Voraussetzungen erfüllen

Die Sichtbarkeit der Softwarezusammenstellung ist für 9.24.22 und höher, 10.6.9 und höher sowie 10.10.0 und höher für kostenlose Cloud-, öffentliche Cloud- und Cloud-dedizierte Bereitstellungsmodelle verfügbar. Neu erstellte Bereitstellungspakete verfügen über SBOMs und die zugehörige Sichtbarkeit auf der Seite „Softwarezusammenstellung“. Um die Sichtbarkeit der Softwarezusammenstellung zu erhalten, stellen Sie sicher, dass Sie Ihr Studio Pro nach Bedarf aktualisieren und neue Bereitstellungspakete erstellen.

Suchen Sie nach Schwachstellen und bestimmen Sie deren Auswirkungsradius

Mendix veröffentlicht Sicherheitshinweise für seine Komponenten. Überprüfen Sie die Registerkarte „Alle Komponenten“ auf der Seite „Softwarezusammensetzung“, um festzustellen, ob Sie eine anfällige Komponente verwenden, und um deren Auswirkungsradius zu ermitteln.

Wir haben beispielsweise Sicherheitshinweis CVE-2023-27464 (mit einer Punktzahl von 5.3 von 10) für die Modul „Passwort vergessen“. Auf der Registerkarte „Alle Komponenten“ können Sie die Anzahl der Apps ermitteln, die das Modul „Passwort vergessen“ verwenden. Sie können auch zusätzliche Details zu den verwendeten Apps anzeigen, z. B. Anwendungsnamen, betroffene Umgebungen, technischer Kontakt usw. Verwenden Sie diese Informationen, um den Auswirkungsradius der Sicherheitslücke zu analysieren. Empfehlen Sie dann den betroffenen Teams, die im Sicherheitshinweis aufgeführten Abhilfemaßnahmen zu ergreifen.

Überwachen Sie die Einhaltung Ihrer Qualitäts- und Sicherheitsrichtlinien

Möglicherweise gibt es Unternehmensrichtlinien bezüglich der zu verwendenden Komponenten. (Komponenten, die beispielsweise einen nicht zulässigen Lizenztyp verwenden, sollten nicht verwendet werden.) Der erste Schritt zur Überprüfung der Einhaltung solcher Regeln besteht darin, Einblick in den Bestand Ihrer Anwendungen und Anwendungslandschaft zu gewinnen.

Warten Sie also nicht, legen Sie gleich los und managen Sie Sicherheitsrisiken mit Leichtigkeit. Machen Sie auf die Veröffentlichung von Software Composition aufmerksam, um einen echten Überblick über Ihren Software Composition-Bestand zu erhalten!

Wählen Sie Ihre Sprache