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
- Installeer de Defender for IoT Firmware Analysis-extensie door de volgende opdracht uit te voeren:
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
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.
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")
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