Delen via


Quickstart: Firmware-installatiekopieën uploaden naar Defender for IoT Firmware Analysis met behulp van Azure CLI

In dit artikel wordt uitgelegd hoe u de Azure CLI gebruikt om firmware-installatiekopieën te uploaden naar Defender for IoT Firmware Analysis.

Defender for IoT Firmware Analysis is een hulpprogramma dat firmwareafbeeldingen analyseert en inzicht biedt in beveiligingsproblemen in de firmware-installatiekopieën.

Vereisten

In deze quickstart wordt ervan uitgegaan dat u basiskennis hebt van Defender for IoT Firmware Analysis. Zie Firmwareanalyse voor apparaatbouwers voor meer informatie. Zie Veelgestelde vragen over Defender for IoT Firmware Analysis voor een lijst met ondersteunde bestandssystemen.

De omgeving voorbereiden op de Azure CLI

  • Installeer de Azure CLI om CLI-opdrachten lokaal uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.

  • Meld u aan bij de Azure CLI met behulp van de opdracht az login . Volg de stappen die worden weergegeven in uw terminal om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.

  • Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.

    • Installeer de Defender for IoT Firmware Analysis-extensie door de volgende opdracht uit te voeren:
      az extension add --name firmwareanalysis
      
  • Voer de opdracht az version uit om de versie en afhankelijke bibliotheken te vinden die zijn geïnstalleerd. Voer de opdracht az upgrade uit om een upgrade uit te voeren naar de nieuwste versie.

  • Onboarding van uw abonnement op Defender for IoT Firmware Analysis.

  • Selecteer de juiste abonnements-id waar u uw firmware-installatiekopieën wilt uploaden door de opdracht az account set uit te voeren.

Een firmware-installatiekopieën uploaden naar de werkruimte

  1. Maak een firmware-installatiekopieën die moeten worden geüpload. Voeg de naam van de resourcegroep, de abonnements-id en de naam van de werkruimte in de respectieve parameters in.

    az firmwareanalysis firmware create --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default
    

De uitvoer van deze opdracht bevat een name eigenschap, die uw firmware-id is. Sla deze id op voor de volgende opdracht.

  1. Genereer een SAS-URL, die u in de volgende stap gaat gebruiken om uw firmware-installatiekopieën naar Azure Storage te verzenden. Vervang door sampleFirmwareID de firmware-id die u in de vorige stap hebt opgeslagen. U kunt de SAS-URL opslaan in een variabele voor eenvoudigere toegang voor toekomstige opdrachten:

    $sasURL = $(az firmwareanalysis workspace generate-upload-url --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID --query "url")
    
  2. Upload uw firmware-installatiekopieën naar Azure Storage. Vervang pathToFile door het pad naar uw firmware-installatiekopieën op uw lokale computer.

    az storage blob upload -f pathToFile --blob-url $sasURL
    

Hier volgt een voorbeeldwerkstroom van hoe u deze opdrachten kunt gebruiken om een firmware-installatiekopieën te maken en te uploaden. Voor meer informatie over het gebruik van variabelen in CLI-opdrachten gaat u naar Variabelen gebruiken in Azure CLI-opdrachten:

$filePath='/path/to/image'
$resourceGroup='myResourceGroup'
$workspace='default'

$fileName='file1'
$vendor='vendor1'
$model='model'
$version='test'

$FWID=$(az firmwareanalysis firmware create --resource-group $resourceGroup --workspace-name $workspace --file-name $fileName --vendor $vendor --model $model --version $version --query "name")

$URL=$(az firmwareanalysis workspace generate-upload-url --resource-group $resourceGroup --workspace-name $workspace --firmware-id $FWID --query "url")

$OUTPUT=(az storage blob upload -f $filePath --blob-url $URL)

Firmwareanalyseresultaten ophalen

Als u de resultaten van de firmwareanalyse wilt ophalen, moet u ervoor zorgen dat de status van de analyse gereed is:

az firmwareanalysis firmware show --firmware-id sampleFirmwareID --resource-group myResourceGroup --workspace-name default

Zoek naar het veld Status om 'Gereed' weer te geven en voer vervolgens de volgende opdrachten uit om de resultaten van de firmwareanalyse op te halen.

Als u het proces voor het controleren van de status van uw analyse wilt automatiseren, kunt u de az resource wait opdracht gebruiken.

De az resource wait opdracht heeft een --timeout parameter, de tijd in seconden dat de analyse eindigt als 'status' niet 'Gereed' binnen de time-outframe bereikt. De standaardtime-out is 3600, één uur. Het kan langer duren voordat grote afbeeldingen worden geanalyseerd, zodat u de time-out kunt instellen met behulp van de --timeout parameter op basis van uw behoeften. Hier volgt een voorbeeld van hoe u de az resource wait opdracht met de parameter kunt gebruiken om de --timeout status van uw analyse te automatiseren, ervan uitgaande dat u al een firmware hebt gemaakt en de firmware-id hebt opgeslagen in een variabele met de naam $FWID:

$ID=$(az firmwareanalysis firmware show --resource-group $resourceGroup --workspace-name $workspace --firmware-id $FWID --query "id")

Write-Host (‘Successfully created a firmware image with the firmware ID of ‘ + $FWID + ‘, recognized in Azure by this resource ID: ‘ + $ID + ‘.’)

$WAIT=$(az resource wait --ids $ID --custom "properties.status=='Ready'" --timeout 10800) 

$STATUS=$(az resource show --ids $ID --query 'properties.status')

Write-Host ('Firmware analysis completed with status: ' + $STATUS)

Nadat u hebt bevestigd dat de analysestatus Gereed is, kunt u opdrachten uitvoeren om de resultaten op te halen.

SBOM

Met de volgende opdracht wordt de SBOM opgehaald in de firmware-installatiekopieën. Vervang elk argument door de juiste waarde voor uw resourcegroep, abonnement, werkruimtenaam en firmware-id.

az firmwareanalysis firmware sbom-component --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID

Zwakke punten

Met de volgende opdracht worden CV's opgehaald die zijn gevonden in de firmware-installatiekopieën. Vervang elk argument door de juiste waarde voor uw resourcegroep, abonnement, werkruimtenaam en firmware-id.

az firmwareanalysis firmware cve --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID

Binaire beveiliging

Met de volgende opdracht worden analyseresultaten opgehaald over binaire beveiliging in uw firmware-installatiekopieën. Vervang elk argument door de juiste waarde voor uw resourcegroep, abonnement, werkruimtenaam en firmware-id.

az firmwareanalysis firmware binary-hardening --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID

Wachtwoordhashes

Met de volgende opdracht worden wachtwoordhashes opgehaald in de firmware-installatiekopieën. Vervang elk argument door de juiste waarde voor uw resourcegroep, abonnement, werkruimtenaam en firmware-id.

az firmwareanalysis firmware password-hash --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID

Certificaten

Met de volgende opdracht worden kwetsbare cryptocertificaten opgehaald die zijn gevonden in uw firmware-installatiekopieën. Vervang elk argument door de juiste waarde voor uw resourcegroep, abonnement, werkruimtenaam en firmware-id.

az firmwareanalysis firmware crypto-certificate --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID

Toetsen

Met de volgende opdracht worden kwetsbare cryptosleutels opgehaald die zijn gevonden in uw firmware-installatiekopieën. Vervang elk argument door de juiste waarde voor uw resourcegroep, abonnement, werkruimtenaam en firmware-id.

az firmwareanalysis firmware crypto-key --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID