Rövid útmutató: Belső vezérlőprogram-rendszerképek feltöltése a Defender for IoT Belső vezérlőprogram-elemzéshez az Azure PowerShell használatával
Ez a cikk bemutatja, hogyan tölthet fel belső vezérlőprogram-lemezképeket az Azure PowerShell használatával a Defender for IoT Firmware Analysis szolgáltatásba.
Az IoT-vezérlőprogram-elemzéshez készült Defender egy eszköz, amely elemzi a belső vezérlőprogram lemezképeit, és a belső vezérlőprogram-rendszerképek biztonsági réseinek megértését biztosítja.
Előfeltételek
Ez a rövid útmutató feltételezi az IoT-vezérlőprogram-elemzéshez készült Defender alapszintű megértését. További információt az eszközkészítők belső vezérlőprogram-elemzésében talál. A támogatott fájlrendszerek listáját az IoT-vezérlőprogram-elemzéshez készült Defenderrel kapcsolatos gyakori kérdések című témakörben találja.
Környezet előkészítése az Azure PowerShellhez
Telepítse az Azure PowerShellt , vagy használja az Azure Cloud Shellt.
Jelentkezzen be az Azure PowerShellbe a Csatlakozás-AzAccount parancs futtatásával. Ha Cloud Shellt használ, hagyja ki ezt a lépést.
Ha először használja a Defender for IoT Firmware Analysis Azure PowerShell-jét, telepítse a bővítményt:
Find-Module -Name Az.FirmwareAnalysis | Install-Module
Az IoT-alapú Defender belső vezérlőprogram-elemzésre való előfizetés előkészítése .
Futtassa a Set-AzContext parancsot az előfizetésnek az aktuális munkamenetben való használatához. Válassza ki azt az előfizetést, ahová fel szeretné tölteni a belső vezérlőprogram lemezképeit.
Belső vezérlőprogram-rendszerkép feltöltése a munkaterületre
Hozzon létre egy feltöltendő belső vezérlőprogram-lemezképet. Szúrja be az erőforráscsoport nevét, a munkaterület nevét és a belső vezérlőprogram lemezképének minden további részletét, amelyet a megfelelő paraméterekbe szeretne belefoglalni, például egy
Description
,FileName
,Vendor
,Model
vagyVersion
.New-AzFirmwareAnalysisFirmware -ResourceGroupName myResourceGroup -WorkspaceName default -Description 'sample description' -FileName file -Vendor vendor -Model model -Version version
A parancs kimenete tartalmaz egy tulajdonságot Name
, amely a belső vezérlőprogram azonosítója. Mentse ezt az azonosítót a következő parancshoz.
Hozzon létre egy SAS URL-címet, amelyet a következő lépésben fog használni a belső vezérlőprogram-rendszerkép Azure Storage-ba való küldéséhez. Cserélje le
sampleFirmwareID
az előző lépésből mentett belső vezérlőprogram-azonosítóra. Az SAS URL-címet egy változóban tárolhatja a későbbi parancsok könnyebb elérése érdekében:$sasUrl = New-AzFirmwareAnalysisWorkspaceUploadUrl -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Az alábbi szkripttel töltse fel a belső vezérlőprogram rendszerképét az Azure Storage-ba. Cserélje le a "
pathToFile
" elemet a belső vezérlőprogram lemezképének elérési útjára a helyi gépen. Az elérési út körbefuttatása idézőjelek közé.$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
Íme egy példa munkafolyamat a belső vezérlőprogram-rendszerképek létrehozására és feltöltésére az Azure PowerShell-parancsok használatával. Cserélje le az elején beállított változók értékeit a környezetének megfelelően.
$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
Belső vezérlőprogram-elemzési eredmények lekérése
A belső vezérlőprogram-elemzés eredményeinek lekéréséhez győződjön meg arról, hogy az elemzés állapota "Kész". Cserélje le sampleFirmwareID
a belső vezérlőprogram azonosítóját, myResourceGroup
az erőforráscsoport nevét és default
a munkaterület nevét:
Get-AzFirmwareAnalysisFirmware -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Keresse meg az "állapot" mezőt a "Ready" (Kész) érték megjelenítéséhez, majd futtassa a megfelelő parancsokat a belső vezérlőprogram elemzési eredményeinek lekéréséhez.
Ha automatizálni szeretné az elemzés állapotának ellenőrzésének folyamatát, az alábbi szkripttel rendszeres időközönként ellenőrizheti az erőforrás állapotát, amíg el nem éri a "Kész" értéket. A változót a $timeoutInSeconds
kép méretétől függően állíthatja be – a nagyobb képek elemzése hosszabb időt vehet igénybe, ezért igény szerint állítsa be ezt a változót.
$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
Az alábbi parancs lekéri az SBOM-t a belső vezérlőprogram lemezképében. Cserélje le az egyes argumentumokat az erőforráscsoport, az előfizetés, a munkaterület neve és a belső vezérlőprogram-azonosító megfelelő értékére.
Get-AzFirmwareAnalysisSbomComponent -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Gyenge pontok
Az alábbi parancs lekéri a belső vezérlőprogram lemezképében található CVE-ket. Cserélje le az egyes argumentumokat az erőforráscsoport, az előfizetés, a munkaterület neve és a belső vezérlőprogram-azonosító megfelelő értékére.
Get-AzFirmwareAnalysisCve -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Bináris megkeményedés
Az alábbi parancs lekéri a belső vezérlőprogram-lemezkép bináris megkeményedésével kapcsolatos elemzési eredményeket. Cserélje le az egyes argumentumokat az erőforráscsoport, az előfizetés, a munkaterület neve és a belső vezérlőprogram-azonosító megfelelő értékére.
Get-AzFirmwareAnalysisBinaryHardening -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Jelszókivonatok
Az alábbi parancs lekéri a jelszókivonatokat a belső vezérlőprogram lemezképében. Cserélje le az egyes argumentumokat az erőforráscsoport, az előfizetés, a munkaterület neve és a belső vezérlőprogram-azonosító megfelelő értékére.
Get-AzFirmwareAnalysisPasswordHash -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Diplomák
Az alábbi parancs lekéri a belső vezérlőprogram lemezképében található sebezhető titkosítási tanúsítványokat. Cserélje le az egyes argumentumokat az erőforráscsoport, az előfizetés, a munkaterület neve és a belső vezérlőprogram-azonosító megfelelő értékére.
Get-AzFirmwareAnalysisCryptoCertificate -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default
Kulcsok
Az alábbi parancs lekéri a belső vezérlőprogram lemezképében található sebezhető kriptokulcsokat. Cserélje le az egyes argumentumokat az erőforráscsoport, az előfizetés, a munkaterület neve és a belső vezérlőprogram-azonosító megfelelő értékére.
Get-AzFirmwareAnalysisCryptoKey -FirmwareId sampleFirmwareID -ResourceGroupName myResourceGroup -WorkspaceName default