Im Tool Black Duck Binary Analysis (auch bekannt als Protecode) gibt es mehrere Optionen zur Einstufung von Schwachstellen
Aus der Hilfe:
Triage-Umfang
Sie können einen Bereich auf eine bewertete Schwachstelle innerhalb einer Drittanbieterkomponente anwenden. Bei der Bewertung bekannter Schwachstellen können Sie aus den folgenden Optionen wählen:
Konto: Gilt für alle Nutzungen der Komponente innerhalb des Firmenaccounts
Gruppe: Gilt für alle Verwendungen der Komponente innerhalb der Gruppe
Anwendung: Gilt nur für die Verwendung der Komponente innerhalb derselben Anwendung
Anwendungsname: Gilt für die Verwendung der Komponente in gescannten Anwendungen mit demselben Anwendungsnamen
Datei-Hash: Gilt für die Verwendung der Komponente in gescannten Anwendungen mit demselben Datei-Hash
Ich möchte die CVE in meiner Bibliothek sortieren, damit die Ergebnisse der Sortierung in die nächsten Scans übernommen werden. Ich erwarte, dass die Option „Datei-Hash“ genau dies tun sollte. Wenn ich mein Archiv jedoch das nächste Mal hochlade, sehe ich immer noch dieselbe CVE als nicht sortiert. Was ist falsch?
Antwort1
TL;DR – verwenden Sie den Bereich „Gruppe“.
Einzelheiten
Die API-Dokumentation macht es etwas klarer
PUT /api/triage/vulnerability/
component - Component name
version - Component version
vulns - List of vulnerability ids
scope - Scope in which the triage affects. Possible values:
- CA - Account wide
- FN - Filename
- FH - File hash
- R - Result
- G - Group
product_id - In FN, FH and R scopes the related product
group_id - In G scope the related group
Die eigentliche Triage im Tool erfolgt alsonicht gegen die Akten, Abergegen Bibliotheksversionen(Bibliothek === Komponente im Kontext). Es gibt nicht einmal theoretisch die Möglichkeit, eine Datei zu sortieren, da Sie die Versionen sortieren. Wenn man das im Hinterkopf behält, sind die restlichen Überlegungen einfach.
Was ist dann der „Datei-Hash“?
Es steht klar geschrieben, dass bei Verwendung von „FH“ die Produkt-ID erforderlich ist und das Produkt (im aktuellen Kontext) ein Synonym für das hochgeladene Archiv mit Ihren Binärdateien ist. Jedes Produkt hat also genau einen „Datei-Hash“ – den Hash des hochgeladenen Archivs. Das macht diese Option völlig nutzlos, da man, wie ich annehme, nicht 100 Dateien einzeln hochlädt, sondern das Archiv\zip\tar.gz mit der Software hochlädt, das mehrere Binärdateien enthält. Und natürlich ändert sich der Hash des Archivs bei jeder Neuverpackung, selbst wenn es eine Änderung in der Readme-Datei gab.
Ich möchte eine Priorisierung der CVE in meiner Bibliothek durchführen, sodass die Ergebnisse der Priorisierung in die nächsten Scans übernommen werden.
Da „Datei-Hash“ für diesen Zweck nicht geeignet ist, gehen wir die anderen verfügbaren Bereichsoptionen durch, um zu sehen, was wir hier tun können:
Ergebnis
Die einfachste und standardmäßige Option. Gleichzeitig aber auch die nutzloseste. Wird direkt dem Application
in der Hilfe genannten Bereich zugeordnet: Applies to uses of the component within the same application only
. Kurz gesagt – keine Übertragung.
Dateiname
Ich persönlich finde „Dateiname“ klarer als die entsprechende Application name
Zeile in der Hilfe. Unabhängig davon ist dies auch ziemlich klar – die Triage wird nur durchgeführt, wenn der Name des Archivs derselbe ist. Wenn es das Problem irgendwie löst, führt es das neue Problem ein – das Problem der Unterscheidung verschiedener Builds. Normalerweise benennen wir unsere Zips so, MyCoolBuild_942_ab4e3f
damit sie leicht zu finden sind und die Ergebnisse für frühere Builds überprüfen können. Wenn es Ihnen egal ist, kann dieser Bereich eine Option sein, wenn Sie Ihre Zips so benennen MyCoolBuild.zip
.
Gruppe
Wie man sich vorstellen kann, handelt es sich hier lediglich um eine gruppenweite Triage. Wenn Ihr Team eine eigene Gruppe hat, können Sie diese problemlos verwenden.
In meinem Fall lädt das ganze Unternehmen Dateien in eine Gruppe hoch.Maihaben einige Konflikte, aber im Handbuch für das Tool steht, dass Sie Versionssuffixe verwenden sollten, wenn Sie benutzerdefinierte Builds dieser Bibliothek erstellen (um beispielsweise einige CVEs selbst zu beheben). Wenn jeder diese Regel befolgt und benutzerdefinierte Bibliotheken also nicht „ 1.0.2
aber“ benennen 1.0.2_company_build
, gibt es keine Konflikte zwischen Triages verschiedener Teams.
Konto
Ich weiß es nicht, weil ich diese Option in unserer BDBA-Instanz nicht habe -_-
Prüfung der Richtigkeit der oben genannten Annahmen
Alles oben genannte kann leicht durch einige Test-Uploads bestätigt werden.
Datei-Hash- Laden Sie die gleiche Datei zweimal unter unterschiedlichen Namen hoch und sortieren Sie ein CVE mit dem Geltungsbereich „FH“. Anschließend wird die Sortierung übernommen.
Dateiname- Archiv einmal hochladen, dann Archiv ein wenig ändern (leere Textdatei hinzufügen) und erneut hochladen. Die Triage wird übernommen.
Gruppe- Laden Sie eine Bibliothek mit automatisch erkannter Version hoch, ändern Sie dann die Binärdatei und laden Sie sie unter einem anderen Namen hoch – die Triage wird übernommen.
Als zusätzlichen Test können Sie auch ein Archiv mit zwei Bibliotheken darin hochladen und die Version für eine davon überschreiben. Dadurch werden sie in der Benutzeroberfläche getrennt und eine getrennte Sichtung ermöglicht.