Rychlý start: Nahrání imagí firmwaru do analýzy firmwaru pomocí Azure PowerShellu
Tento článek vysvětluje, jak pomocí Azure PowerShellu nahrát image firmwaru do analýzy firmwaru.
Analýza firmwaru je nástroj, který analyzuje image firmwaru a poskytuje porozumění ohrožením zabezpečení v imagích firmwaru.
Požadavky
V tomto rychlém startu se předpokládá základní znalost analýzy firmwaru. Další informace najdete v tématu Analýza firmwaru pro tvůrce zařízení. Seznam podporovaných systémů souborů najdete v tématu Nejčastější dotazy k analýze firmwaru.
Příprava prostředí pro Azure PowerShell
Nainstalujte Azure PowerShell nebo použijte Azure Cloud Shell.
Přihlaste se k Azure PowerShellu spuštěním příkazu Connect-AzAccount. Pokud používáte Cloud Shell, tento krok přeskočte.
Pokud se jedná o první použití Analýzy firmwaru v Azure PowerShellu, nainstalujte rozšíření:
Find-Module -Name Az.FirmwareAnalysis | Install-Module
Spuštěním rutiny Set-AzContext nastavte své předplatné tak, aby se používalo v aktuální relaci. Vyberte předplatné, do kterého chcete nahrát image firmwaru.
Nahrání image firmwaru do pracovního prostoru
Vytvořte image firmwaru, která se má nahrát. Vložte název skupiny prostředků, název pracovního prostoru a všechny další podrobnosti o imagi firmwaru, kterou chcete zahrnout do příslušných parametrů, například a
Description
, ,FileName
,Vendor
Model
neboVersion
.New-AzFirmwareAnalysisFirmware -ResourceGroupName myResourceGroup -WorkspaceName default -Description 'sample description' -FileName file -Vendor vendor -Model model -Version version
Výstup tohoto příkazu zahrnuje Name
vlastnost, což je ID vašeho firmwaru. Uložte toto ID pro další příkaz.
Vygenerujte adresu URL SAS, kterou použijete v dalším kroku k odeslání image firmwaru do Služby Azure Storage. Nahraďte
sampleFirmwareID
ID firmwaru, které jste uložili v předchozím kroku. Adresu URL SAS můžete uložit do proměnné, abyste usnadnili přístup pro budoucí příkazy:$sasUrl = New-AzFirmwareAnalysisWorkspaceUploadUrl -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
K nahrání image firmwaru do Azure Storage použijte následující skript.
pathToFile
Nahraďte cestu k imagi firmwaru na místním počítači. Zabalte cestu do uvozovek.$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
Tady je ukázkový pracovní postup od konce do konce, jak můžete pomocí příkazů Azure PowerShellu vytvořit a nahrát image firmwaru. Nahraďte hodnoty proměnných nastavených na začátku tak, aby odrážely vaše prostředí.
$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
Načtení výsledků analýzy firmwaru
Pokud chcete načíst výsledky analýzy firmwaru, musíte se ujistit, že stav analýzy je Připravený. Nahraďte sampleFirmwareID
ID firmwaru, myResourceGroup
názvem vaší skupiny prostředků a default
názvem vašeho pracovního prostoru:
Get-AzFirmwareAnalysisFirmware -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Vyhledejte pole Status (Stav), aby se zobrazilo "Připraveno", a pak spusťte příslušné příkazy, které načtou výsledky analýzy firmwaru.
Pokud chcete automatizovat proces kontroly stavu analýzy, můžete pomocí následujícího skriptu pravidelně kontrolovat stav prostředku, dokud nedosáhne stavu Připraveno. Proměnnou $timeoutInSeconds
můžete nastavit v závislosti na velikosti obrázku – analýza větších obrázků může trvat déle, takže tuto proměnnou upravte podle svých potřeb.
$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
}
SBOM
Následující příkaz načte SBOM v imagi firmwaru. Nahraďte každý argument odpovídající hodnotou pro vaši skupinu prostředků, předplatné, název pracovního prostoru a ID firmwaru.
Get-AzFirmwareAnalysisSbomComponent -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Slabé stránky
Následující příkaz načte CVE nalezené v imagi firmwaru. Nahraďte každý argument odpovídající hodnotou pro vaši skupinu prostředků, předplatné, název pracovního prostoru a ID firmwaru.
Get-AzFirmwareAnalysisCve -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Binární posílení zabezpečení
Následující příkaz načte výsledky analýzy binárního posílení zabezpečení v imagi firmwaru. Nahraďte každý argument odpovídající hodnotou pro vaši skupinu prostředků, předplatné, název pracovního prostoru a ID firmwaru.
Get-AzFirmwareAnalysisBinaryHardening -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Hodnoty hash hesel
Následující příkaz načte hodnoty hash hesel v imagi firmwaru. Nahraďte každý argument odpovídající hodnotou pro vaši skupinu prostředků, předplatné, název pracovního prostoru a ID firmwaru.
Get-AzFirmwareAnalysisPasswordHash -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Certifikáty
Následující příkaz načte zranitelné kryptografické certifikáty, které byly nalezeny v imagi firmwaru. Nahraďte každý argument odpovídající hodnotou pro vaši skupinu prostředků, předplatné, název pracovního prostoru a ID firmwaru.
Get-AzFirmwareAnalysisCryptoCertificate -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Klávesy
Následující příkaz načte zranitelné kryptografické klíče, které byly nalezeny v imagi firmwaru. Nahraďte každý argument odpovídající hodnotou pro vaši skupinu prostředků, předplatné, název pracovního prostoru a ID firmwaru.
Get-AzFirmwareAnalysisCryptoKey -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default