Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt uitgelegd hoe u Azure PowerShell gebruikt om firmware-installatiekopieën te uploaden naar firmwareanalyse.
Firmwareanalyse is een hulpprogramma dat firmware-installatiekopieën analyseert en inzicht biedt in beveiligingsproblemen in de firmware-installatiekopieën.
Vereisten
In deze quickstart wordt ervan uitgegaan dat u basiskennis hebt van firmwareanalyse. Zie Firmwareanalyse voor apparaatbouwers voor meer informatie. Zie Veelgestelde vragen over firmwareanalyse voor een lijst met ondersteunde bestandssystemen.
Uw omgeving voorbereiden voor Azure PowerShell
Meld u aan bij Azure PowerShell door de opdracht Connect-AzAccount uit te voeren. Sla deze stap over als u Cloud Shell gebruikt.
Als dit uw eerste gebruik van Azure PowerShell van firmwareanalyse is, installeert u de extensie:
Find-Module -Name Az.FirmwareAnalysis | Install-ModuleOnboarding van uw abonnement op firmwareanalyse.
Voer Set-AzContext uit om uw abonnement in te stellen voor gebruik in de huidige sessie. Selecteer het abonnement waar u uw firmware-installatiekopieën wilt uploaden.
Een firmware-installatiekopieën uploaden naar de werkruimte
Maak een firmware-installatiekopieën die moeten worden geüpload. Voeg de naam van uw resourcegroep, werkruimtenaam en eventuele aanvullende informatie over de firmware-installatiekopieën in die u wilt opnemen in de respectieve parameters, zoals een
Description,FileName,VendorofModel.VersionNew-AzFirmwareAnalysisFirmware -ResourceGroupName myResourceGroup -WorkspaceName default -Description 'sample description' -FileName file -Vendor vendor -Model model -Version version
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
sampleFirmwareIDde 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 = New-AzFirmwareAnalysisWorkspaceUploadUrl -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName defaultGebruik het volgende script om uw firmware-installatiekopieën te uploaden naar Azure Storage. Vervang '
pathToFile' door het pad naar uw firmware-installatiekopieën op uw lokale computer. Plaats het pad tussen aanhalingstekens.$uri = [System.Uri] $sasURL.Url $storageAccountName = $uri.DnsSafeHost.Split(".")[0] $container = $uri.LocalPath.Substring(1) $containerName, $blob = $container -split '/', 2 $sasToken = $uri.Query $filePath = 'pathToFile' $storageContext = New-AzStorageContext -StorageAccountName $storageAccountName -SasToken $sasToken Set-AzStorageBlobContent -File $filePath -Container $containerName -Context $storageContext -Blob $blob -Force
Hier volgt een voorbeeldwerkstroom van end-to-end hoe u de Azure PowerShell-opdrachten kunt gebruiken om een firmware-installatiekopieën te maken en te uploaden. Vervang de waarden voor de variabelen die aan het begin zijn ingesteld om uw omgeving weer te geven.
$filePath='/path/to/image'
$resourceGroup='myResourceGroup'
$workspace='default'
$fileName='file1'
$vendor='vendor1'
$model='model'
$version='test'
$FWID = (New-AzFirmwareAnalysisFirmware -ResourceGroupName $resourceGroup -WorkspaceName $workspace -FileName $fileName -Vendor $vendor -Model $model -Version $version).Name
$sasUrl = New-AzFirmwareAnalysisWorkspaceUploadUrl -FirmwareId $FWID -ResourceGroupName $resourceGroup -WorkspaceName $workspace
$uri = [System.Uri] $sasURL.Url
$storageAccountName = $uri.DnsSafeHost.Split(".")[0]
$container = $uri.LocalPath.Substring(1)
$containerName, $blob = $container -split '/', 2
$sasToken = $uri.Query
$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName -SasToken $sasToken
Set-AzStorageBlobContent -File $filePath -Container $containerName -Context $storageContext -Blob $blob -Force
Firmwareanalyseresultaten ophalen
Als u de resultaten van de firmwareanalyse wilt ophalen, moet u ervoor zorgen dat de status van de analyse gereed is. Vervang sampleFirmwareID door uw firmware-id, myResourceGroup door de naam van de resourcegroep en default door de naam van uw werkruimte:
Get-AzFirmwareAnalysisFirmware -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Zoek naar het veld Status om 'Gereed' weer te geven en voer vervolgens de respectieve 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 het volgende script gebruiken om de resourcestatus periodiek te controleren totdat deze gereed is. U kunt de $timeoutInSeconds variabele instellen, afhankelijk van de grootte van uw afbeelding. Het kan langer duren voordat grotere afbeeldingen worden geanalyseerd, dus pas deze variabele aan op basis van uw behoeften.
$ID = Get-AzFirmwareAnalysisFirmware -ResourceGroupName $resourceGroup -WorkspaceName default -FirmwareId $FWID | Select-Object -ExpandProperty Id
Write-Host "Successfully created a firmware image, recognized in Azure by this resource id: $ID."
$timeoutInSeconds = 10800
$startTime = Get-Date
while ($true) {
$resource = Get-AzResource -ResourceId $ID
$status = $resource.Properties.Status
if ($status -eq 'ready') {
Write-Host "Firmware analysis completed with status: $status"
break
}
$elapsedTime = (Get-Date) - $startTime
if ($elapsedTime.TotalSeconds -ge $timeoutInSeconds) {
Write-Host "Timeout reached. Firmware analysis status: $status"
break
}
Start-Sleep -Seconds 10
}
Firmwareoverzicht
Met de volgende opdracht wordt een algemeen overzicht opgehaald van de resultaten van uw firmwareanalyse. Vervang elk argument door de juiste waarde voor uw resourcegroep, abonnement, werkruimtenaam en firmware-id.
Get-AzFirmwareAnalysisSummary -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default -Type Firmware
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.
Get-AzFirmwareAnalysisSbomComponent -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default | ConvertTo-Json
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.
Get-AzFirmwareAnalysisCve -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default | ConvertTo-Json
Voer de volgende opdracht uit voor een overzicht van uw CV's:
Get-AzFirmwareAnalysisSummary -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default -Type CVE
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.
Get-AzFirmwareAnalysisBinaryHardening -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default | ConvertTo-Json
Voer de volgende opdracht uit voor een samenvatting van de resultaten van de binaire verharding:
Get-AzFirmwareAnalysisSummary -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default -Type BinaryHardening
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.
Get-AzFirmwareAnalysisPasswordHash -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default | ConvertTo-Json
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.
Get-AzFirmwareAnalysisCryptoCertificate -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default | ConvertTo-Json
Voer de volgende opdracht uit voor een samenvatting van uw certificaten:
Get-AzFirmwareAnalysisSummary -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default -Type CryptoCertificate
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.
Get-AzFirmwareAnalysisCryptoKey -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default | ConvertTo-Json
Voer de volgende opdracht uit voor een overzicht van uw sleutels:
Get-AzFirmwareAnalysisSummary -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default -Type CryptoKey