Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 Azure PowerShellu, nainstalujte rozšíření:
Find-Module -Name Az.FirmwareAnalysis | Install-ModuleSpuš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,VendorModelneboVersion.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
sampleFirmwareIDID 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 defaultK nahrání image firmwaru do Azure Storage použijte následující skript.
pathToFileNahraď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
}
Souhrn firmwaru
Následující příkaz načte obecný souhrn výsledků analýzy 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-AzFirmwareAnalysisSumary -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default -Type Firmware
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 | ConvertTo-Json
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 | ConvertTo-Json
Souhrn vašich CVE získáte spuštěním následujícího příkazu:
Get-AzFirmwareAnalysisSumary -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default -Type CVE
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 | ConvertTo-Json
Souhrn výsledků posílení zabezpečení binárního souboru získáte spuštěním následujícího příkazu:
Get-AzFirmwareAnalysisSumary -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default -Type BinaryHardening
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 | ConvertTo-Json
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 | ConvertTo-Json
Souhrn certifikátů získáte spuštěním následujícího příkazu:
Get-AzFirmwareAnalysisSumary -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default -Type CryptoCertificate
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 | ConvertTo-Json
Souhrn klíčů získáte spuštěním následujícího příkazu:
Get-AzFirmwareAnalysisSumary -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default -Type CryptoKey