Raccolta completa di ecosistemi Amazon Inspector SBOM Generator - Amazon Inspector

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Raccolta completa di ecosistemi Amazon Inspector SBOM Generator

Amazon Inspector SBOM Generator è uno strumento per creare una distinta base del software (SBOM) ed eseguire la scansione delle vulnerabilità per i pacchetti supportati dai sistemi operativi e dai linguaggi di programmazione. Supporta inoltre la scansione di vari ecosistemi oltre ai sistemi operativi principali, garantendo un'analisi solida e dettagliata dei componenti dell'infrastruttura. Generando una SBOM, gli utenti possono comprendere la composizione dei loro moderni stack tecnologici, identificare le vulnerabilità nei componenti dell'ecosistema e ottenere visibilità sul software di terze parti.

Ecosistemi supportati

La raccolta di ecosistemi estende la generazione di SBOM oltre ai pacchetti installati tramite gestori di pacchetti del sistema operativo. Ciò avviene attraverso la raccolta di applicazioni distribuite con metodi alternativi, come l'installazione manuale. Il generatore SBOM di Amazon Inspector supporta la scansione per i seguenti ecosistemi:

Ecosistemi Applicazioni

Apache

httpd

tomcat

Google

Chrome

Java

JDK

JRE

Amazon Corretto

Nginx

Nginx

Node

Node

OpenSSH

OpenSSH(Versioni 9 e 10)

OpenSSL

OpenSSL

Oracle

Oracle Database Server

WordPress

core

plugin

theme

Node.JS

node

Apachecollezione di ecosistemi

Amazon Inspector SBOM Generator analizza le Apache installazioni che si trovano in percorsi di installazione comuni su più piattaforme:

  • macOS: /Library/

  • Linux: /etc/, /usr/share, /usr/lib, /usr/local, /var, /opt

Applicazioni supportate
  • httpd

  • tomcat

Funzionalità principali
  • Apache httpd— Analizza il /include/ap_release.h file per estrarre le macro di installazione, che contengono le stringhe di identificazione principali, le stringhe di identificazione minori e le stringhe di identificazione delle patch.

  • Apache tomcat— Decomprime il catalina.jar file per estrarre le macro di installazione all'interno del file (), che contiene la stringa della versione. META-INF/MANIFEST.MF

Esempio di file ap_release.h

Di seguito è riportato un esempio del contenuto all'interno del ap_release.h file.

//truncated #define AP_SERVER_BASEVENDOR "Apache Software Foundation" #define AP_SERVER_BASEPROJECT "Apache HTTP Server" #define AP_SERVER_BASEPRODUCT "Apache" #define AP_SERVER_MAJORVERSION_NUMBER 2 #define AP_SERVER_MINORVERSION_NUMBER 4 #define AP_SERVER_PATCHLEVEL_NUMBER 1 #define AP_SERVER_DEVBUILD_BOOLEAN 0 //truncated
Esempio PURL

Di seguito è riportato un esempio di URL di pacchetto per un'Apache httpdapplicazione.

Sample PURL: pkg:generic/apache/httpd@2.4.1
Esempio di file catalina.jar/META-INF/MANIFEST.MF

Di seguito è riportato un esempio del contenuto all'interno del catalina.jar/META-INF/MANIFEST.MF file.

//truncated Implementation-Title: Apache Tomcat Implementation-Vendor: Apache Software Foundation Implementation-Version: 10.1.31 //truncated
Esempio PURL

Di seguito è riportato un esempio di URL di pacchetto per un'Apache Tomcatapplicazione.

Sample PURL: pkg:generic/apache/tomcat@10.1.31

Googleraccolta di ecosistemi

Applicazione supportata
  • Google Chrome

  • Puppeteer(supporta la libreria puppeteer; puppeteer-core non è incluso)

Nota

Puppeteersupporta la libreria puppeteer. Puppeteeril core non è incluso.

Artefatti supportati

Amazon Inspector raccoglie Google Chrome informazioni da quanto segue:

  • Il chrome/VERSION file (sorgente della build)

  • Il chrome.exe file (Windows Chromeinstallazione)

  • Il puppeteer file (installazione)

Per ciascuno degli elementi supportati, Sbomgen analizza e raccoglie il chrome file o il file. puppeteer Per le puppeteer installazioni, la Chromium versione corrispondente viene raccolta in base alla versione. puppeteer Per ulteriori informazioni, consulta Browser supportati sul sito Web di Puppeteer.

Quando la variabile di PUPPETEER_SKIP_CHROMIUM_DOWNLOAD ambiente è impostata sutrue, la valutazione viene ignorata e il skip_chromium_download=true qualificatore viene aggiunto all'URL del pacchetto. Puppeteer

File di versione di esempio chrome/VERSION

Di seguito è riportato un esempio del file di chrome/VERSION versione.

MAJOR=130 MINOR=0 BUILD=6723 PATCH=58
Esempio: PURL

Di seguito è riportato un esempio di URL del pacchetto per un file di chrome/VERSION versione.

Sample PURL: pkg:generic/google/chrome@131.0.6778.87
File di puppeteer versione di esempio

Di seguito è riportato un esempio del file di puppeteer versione.

{ "name": "puppeteer", "version": "23.9.0", "description": "A high-level API to control headless Chrome over the DevTools Protocol", "keywords": [ "puppeteer", "chrome", "headless", "automation" ] }
Esempio: PURL

Di seguito è riportato un esempio di URL del pacchetto per un file di puppeteer versione.

Sample PURL: pkg:generic/google/puppeteer@23.9.0
Esempio: PURL

Di seguito è riportato un esempio di URL di pacchetto con il qualificatore skip per un file di versione. puppeteer

pkg:generic/google/puppeteer@22.15.0?distro=linux&skip_chromium_download=true

Javaraccolta ecosistemica

Applicazioni supportate
  • Oracle JDK

  • Oracle JRE

  • Amazon Corretto

Funzionalità principali
  • Estrae la stringa dell'Javainstallazione.

  • Identifica il percorso della directory che contiene il Java runtime.

  • Identifica il fornitore comeOracle JDK, Oracle JRE e. Amazon Corretto

Amazon Inspector SBOM Generator esegue la scansione delle Java installazioni sui seguenti percorsi e piattaforme di installazione:

  • macOS: /Library/Java/JavaVirtualMachines

  • Linux 32-bit: /usr/lib/jvm

  • Linux 64-bit: /usr/lib64/jvm

  • Linux (generic): /usr/java and /opt/java

JavaInformazioni sulla versione di esempio

Di seguito è riportato un esempio di release. Oracle Java

// Amazon Corretto IMPLEMENTOR="Amazon.com Inc." IMPLEMENTOR_VERSION="Corretto-17.0.11.9.1" JAVA_RUNTIME_VERSION="17.0.11+9-LTS" JAVA_VERSION="17.0.11" JAVA_VERSION_DATE="2024-04-16" LIBC="default" MODULES="java.base java.compiler java.datatransfer java.xml java.prefs java.desktop java.instrument java.logging java.management java.security.sasl java.naming java.rmi java.management.rmi java.net.http java.scripting java.security.jgss java.transaction.xa java.sql java.sql.rowset java.xml.crypto java.se java.smartcardio jdk.accessibility jdk.internal.jvmstat jdk.attach jdk.charsets jdk.compiler jdk.crypto.ec jdk.crypto.cryptoki jdk.dynalink jdk.internal.ed jdk.editpad jdk.hotspot.agent jdk.httpserver jdk.incubator.foreign jdk.incubator.vector jdk.internal.le jdk.internal.opt jdk.internal.vm.ci jdk.internal.vm.compiler jdk.internal.vm.compiler.management jdk.jartool jdk.javadoc jdk.jcmd jdk.management jdk.management.agent jdk.jconsole jdk.jdeps jdk.jdwp.agent jdk.jdi jdk.jfr jdk.jlink jdk.jpackage jdk.jshell jdk.jsobject jdk.jstatd jdk.localedata jdk.management.jfr jdk.naming.dns jdk.naming.rmi jdk.net jdk.nio.mapmode jdk.random jdk.sctp jdk.security.auth jdk.security.jgss jdk.unsupported jdk.unsupported.desktop jdk.xml.dom jdk.zipfs" OS_ARCH="x86_64" OS_NAME="Darwin" SOURCE=".:git:7917f11551e8+" // JDK IMPLEMENTOR="Oracle Corporation" JAVA_VERSION="19" JAVA_VERSION_DATE="2022-09-20" LIBC="default" MODULES="java.base java.compiler java.datatransfer java.xml java.prefs java.desktop java.instrument java.logging java.management java.security.sasl java.naming java.rmi java.management.rmi java.net.http java.scripting java.security.jgss java.transaction.xa java.sql java.sql.rowset java.xml.crypto java.se java.smartcardio jdk.accessibility jdk.internal.jvmstat jdk.attach jdk.charsets jdk.zipfs jdk.compiler jdk.crypto.ec jdk.crypto.cryptoki jdk.dynalink jdk.internal.ed jdk.editpad jdk.hotspot.agent jdk.httpserver jdk.incubator.concurrent jdk.incubator.vector jdk.internal.le jdk.internal.opt jdk.internal.vm.ci jdk.internal.vm.compiler jdk.internal.vm.compiler.management jdk.jartool jdk.javadoc jdk.jcmd jdk.management jdk.management.agent jdk.jconsole jdk.jdeps jdk.jdwp.agent jdk.jdi jdk.jfr jdk.jlink jdk.jpackage jdk.jshell jdk.jsobject jdk.jstatd jdk.localedata jdk.management.jfr jdk.naming.dns jdk.naming.rmi jdk.net jdk.nio.mapmode jdk.random jdk.sctp jdk.security.auth jdk.security.jgss jdk.unsupported jdk.unsupported.desktop jdk.xml.dom" OS_ARCH="x86_64" OS_NAME="Darwin" SOURCE=".:git:53b4a11304b0 open:git:967a28c3d85f"
Esempio: PURL

Di seguito è riportato un esempio di URL del pacchetto per una Oracle Java versione.

Sample PURL: # Amazon Corretto pkg:generic/amazon/amazon-corretto@21.0.3 # Oracle JDK pkg:generic/oracle/jdk@11.0.16 # Oracle JRE pkg:generic/oracle/jre@20

Nginxraccolta di ecosistemi

Applicazioni supportate
  • Nginx

Piattaforme supportate

Le seguenti sono le piattaforme supportate.

Linux
  • /usr/sbin/nginx

  • /usr/local/nginx

  • /usr/local/etc/nginx

  • /usr/local/nginx/nginx

  • /usr/local/nginx/sbin/nginx

  • /etc/nginx/nginx

Windows
  • C:\nginx\nginx.exe

  • C:\nginx-x.y.z\nginx.exe (x.y.z è una versione arbitraria)

MacOS
  • /usr/local/etc/nginx/nginx

Funzionalità principali

Questa raccolta esamina i file binari per estrarre le informazioni sulle versioni incorporate. Cerca le stringhe di versione nella .rodata sezione eseguibile binaria (per i binari ELF attiviLinux), nella .rdata sezione (per i binari PE su) o __ctring nella sezione (per i binariWindows). MachO

Stringa di versione di esempio

Di seguito è riportato un esempio di stringa di versione incorporata in un Nginx file binario.

nginx version: nginx/1.27.5

La versione 1.27.5 viene estratta per identificare la Nginx versione.

Esempio: PURL

Quello che segue è un esempio di URL del pacchetto per Nginx.

Sample PURL: pkg:generic/nginx/nginx@1.27.5

Node.JSraccolta runtime

Applicazioni supportate
  • node runtime binario per Node.JS

Artefatti supportati
  • MacOSe Linux — rilevamento node binario tramite dettagli binari installati conasdf,fnm, nvmvolta, o contenitori ufficialiNode.JS.

Esempi MacOS e Linux percorsi

Di seguito è riportato un esempio di percorsi per MacOS eLinux.

NVM: ~/.nvm/, /usr/local/nvm FNM: ~/.local/share/fnm/ ASDF: ~/.asdf/ MISE: ~/.local/share/mise/ VOLTA: ~/.volta/
Esempio: PURL

Di seguito è riportato un esempio di URL del pacchetto perNode.JS.

Sample PURL: pkg:generic/nodejs/node@20.18.0

Collezione OpenSSH

Applicazioni supportate
  • OpenSSH(Versione 9)

  • OpenSSH(Versione 10)

Piattaforme supportate Linux/macOS
  • /usr/sbin/sshd

  • /usr/local/sbin/sshd

Piattaforme supportate Windows
  • C:/Windows/System32/OpenSSH/sshd.exe

  • C:/Program Files/OpenSSH/sshd.exe

  • C:/Program Files (x86)/OpenSSH/sshd.exe

  • C:/OpenSSH/sshd.exe

Funzionalità principali
  • Esamina i sshd file binari per estrarre le informazioni sulla versione incorporata.

  • Cerca le stringhe di versione nella .rodata sezione eseguibile binaria (per i binari ELF attivati)Linux, __cstring nella sezione (per i binari Mach-O attivati) o nella sezione (per i binari MacOs PE attivi). .rdata Windows

Stringa di versione di esempio

Di seguito è riportato un esempio di stringa di versione incorporata in un OpenSSH file binario.

OpenSSH_9.9p2

La versione 9.9p2 viene estratta per identificare la OpenSSH versione.

Esempio: PURL

Di seguito è riportato un esempio di URL del pacchetto perOpenSSH.

Sample PURL: pkg:generic/openssh/openssh@9.9p2

Collezione di ecosistemi OpenSSL

Applicazioni supportate

Il supporto per le librerie e i pacchetti di sviluppo OpenSSL è limitato al software creato con OpenSSL ufficiale per le versioni 3.0.0 e successive. Il software deve inoltre seguire il controllo delle versioni semantiche. Le varianti e le versioni OpenSSL personalizzate o biforcate precedenti alla 3.0.0 non sono supportate.

Amazon Inspector SBOM Generator estrae le informazioni chiave sui pacchetti per ogni istanza OpenSSL installata.

Funzionalità principali
  • Estrae la stringa della versione SEMVER di base dal file di intestazione OpenSSL

  • Identifica il percorso della directory contenente l'installazione di OpenSSL

Amazon Inspector SBOM Generator cerca le installazioni OpenSSL eseguendo la scansione del file in percorsi di installazione comuni su più opensslv.h piattaforme.

Esempio di percorso di installazione per Linux/Unix

Quello che segue è un esempio di percorso di installazione per Linux/Unix.

/usr/local/include/openssl/opensslv.h /usr/local/ssl/include/openssl/opensslv.h /usr/local/openssl/include/openssl/opensslv.h /usr/local/opt/openssl/include/openssl/opensslv.h /usr/include/openssl/opensslv.h

Amazon Inspector SBOM Generator estrae le informazioni sulla versione analizzando il opensslv.h file e cercando le definizioni delle versioni.

# define OPENSSL_VERSION_MAJOR 3 # define OPENSSL_VERSION_MINOR 4 # define OPENSSL_VERSION_PATCH 0
Esempio: PURL

Di seguito è riportato un esempio di URL del pacchetto per la versione OpenSSL.

Sample PURL: pkg:generic/openssl/openssl@3.4.0

Collezione Oracle Database Server

Applicazioni supportate
  • Oracle Database

Piattaforme supportate Linux
  • /opt/oracle

  • /u01/app/oracle

Nota

La valutazione delle vulnerabilità si applica solo alla versione 19 e successive di Oracle Database Server.

Funzionalità principali
  • Esamina i Oracle file binari per estrarre le informazioni sulla versione incorporata.

  • Cerca le stringhe di versione nella .rodata sezione eseguibile binaria (attiva i binari ELF). Linux

  • Le informazioni sulla versione seguono un formato specifico che include la stringa della versione RDBMS.

Stringa di versione di esempio

Di seguito è riportato un esempio di stringa di versione incorporata in un Oracle Database file binario:

RDBMS_23.7.0.25.01DBRU_LINUX.X64_240304

La versione 23.7.0.25.01 viene estratta per identificare la Oracle Database versione.

Esempio: PURL

Di seguito è riportato un esempio di URL del pacchetto perOracle Database.

Sample PURL: pkg:generic/oracle/database@23.7.0.25.01

WordPressraccolta di ecosistemi

Componenti supportati
  • WordPress core

  • WordPressplugin

  • WordPresstemi

Funzionalità principali
  • WordPresscore — analizza il /wp-includes/version.php file per estrarre il valore della versione dalla variabile $wp_version.

  • WordPressplugins: analizza il /wp-content/plugins/<WordPress Plugin>/readme.txt file o il /wp-content/plugins/<WordPress Plugin>/readme.md file per estrarre il tag come stringa della versione. Stable

  • WordPressthemes: analizza il /wp-content/themes/<WordPress Theme>/style.css file per estrarre la versione dai metadati della versione.

Esempio di file version.php

Di seguito è riportato un esempio di file WordPress principaleversion.php.

// truncated /** * The WordPress version string. * * Holds the current version number for WordPress core. Used to bust caches * and to enable development mode for scripts when running from the /src directory. * * @global string $wp_version */ $wp_version = '6.5.5'; // truncated
Esempio: PURL

Di seguito è riportato un esempio di URL del pacchetto per WordPress core.

Sample PURL: pkg:generic/wordpress/core/wordpress@6.5.5
Esempio di file readme.txt

Di seguito è riportato un esempio di readme.txt file di WordPress plugin.

=== Plugin Name === Contributors: (this should be a list of wordpress.org userid's) Donate link: https://example.com/ Tags: tag1, tag2 Requires at least: 4.7 Tested up to: 5.4 Stable tag: 4.3 Requires PHP: 7.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html // truncated
Esempio: PURL

Quello che segue è un esempio di URL di pacchetto per un WordPress plugin.

Sample PURL: pkg:generic/wordpress/plugin/exclusive-addons-for-elementor@1.0.0
Esempio di file style.css

Di seguito è riportato un esempio di style.css file WordPress tematico.

/* Author: the WordPress team Author URI: https://wordpress.org Description: Twenty Twenty-Four is designed to be flexible, versatile and applicable to any website. Its collection of templates and patterns tailor to different needs, such as presenting a business, blogging and writing or showcasing work. A multitude of possibilities open up with just a few adjustments to color and typography. Twenty Twenty-Four comes with style variations and full page designs to help speed up the site building process, is fully compatible with the site editor, and takes advantage of new design tools introduced in WordPress 6.4. Requires at least: 6.4 Tested up to: 6.5 Requires PHP: 7.0 Version: 1.2 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Text Domain: twentytwentyfour Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news */
Esempio: PURL

Di seguito è riportato un esempio di URL del pacchetto per un WordPress tema.

Sample PURL: pkg:generic/wordpress/theme/avada@1.0.0