Share via


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

Belső vezérlőprogram-rendszerkép feltöltése a munkaterületre

  1. 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, Modelvagy Version.

    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.

  1. 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
    
  2. 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