Aracılığıyla paylaş


Hızlı Başlangıç: Azure CLI kullanarak üretici yazılımı görüntülerini üretici yazılımı analizine yükleme

Bu makalede, üretici yazılımı görüntülerini üretici yazılımı analizine yüklemek için Azure CLI'nin nasıl kullanılacağı açıklanmaktadır.

Üretici yazılımı analizi , üretici yazılımı görüntülerini analiz eden ve üretici yazılımı görüntülerindeki güvenlik açıklarını anlayan bir araçtır.

Önkoşullar

Bu hızlı başlangıçta üretici yazılımı analizi hakkında temel bilgiler edineceksiniz. Daha fazla bilgi için bkz . Cihaz oluşturucuları için üretici yazılımı analizi. Desteklenen dosya sistemlerinin listesi için bkz . Üretici yazılımı analizi hakkında sık sorulan sorular.

Ortamınızı Azure CLI’ye hazırlama

Çalışma alanına üretici yazılımı görüntüsü yükleme

  1. Benzersiz bir aygıt yazılımı kimliği olarak kullanmak için bir GUID oluşturun. Örneğin:

    python -c "import uuid; print(uuid.uuid4())"
    

Sonraki örneklerde komutun çıkışını üretici yazılımı kimliği olarak kullanın

  1. Karşıya yüklenecek bir üretici yazılımı görüntüsü oluşturun. Kaynak grubu adınızı, abonelik kimliğinizi ve çalışma alanı adınızı ilgili parametrelere ekleyin.

    az firmwareanalysis firmware create --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id {firmware ID from command above} --vendor {vendor name} --model {model name} --version {version number}
    

Bu komutun çıktısı, üretici yazılımı kimliğiniz olan bir name özelliği içerir. Bu kimliği sonraki komut için kaydedin.

  1. Bir sonraki adımda üretici yazılımı görüntünüzü Azure Depolama'ya göndermek için kullanacağınız bir SAS URL'si oluşturun. değerini önceki adımda kaydettiğiniz üretici yazılımı kimliğiyle değiştirin sampleFirmwareID . Gelecekteki komutlar için daha kolay erişim için SAS URL'sini bir değişkende depolayabilirsiniz:

    set resourceGroup=myResourceGroup
    set subscription=123e4567-e89b-12d3-a456-426614174000
    set workspace=default
    set firmwareID=sampleFirmwareID
    
    for /f "tokens=*" %i in ('az firmwareanalysis workspace generate-upload-url --resource-group %resourceGroup% --subscription %subscription% --workspace-name %workspace% --firmware-id %firmwareID% --query "url"') do set sasURL=%i
    
  2. Üretici yazılımı görüntünüzü Azure Depolama'ya yükleyin. öğesini yerel makinenizdeki üretici yazılımı görüntünüzün yoluyla değiştirin pathToFile .

    az storage blob upload -f "pathToFile" --blob-url %sasURL%
    

Aşağıda, bir üretici yazılımı görüntüsü oluşturmak ve karşıya yüklemek için bu komutları nasıl kullanabileceğinize yönelik örnek bir iş akışı verilmiştir. CLI komutlarında değişkenleri kullanma hakkında daha fazla bilgi edinmek için Bkz . Azure CLI komutlarında değişkenleri kullanma:

set filePath="/path/to/image"
set resourceGroup="myResourceGroup"
set workspace="default"

set fileName="file1"
set vendor="vendor1"
set model="model"
set version="test"

for /f "tokens=*" %i in ('az firmwareanalysis firmware create --resource-group %resourceGroup% --workspace-name %workspace% --file-name %fileName% --vendor %vendor% --model %model% --version %version% --query "name"') do set FWID=%i

for /f "tokens=*" %i in ('az firmwareanalysis workspace generate-upload-url --resource-group %resourceGroup% --workspace-name %workspace% --firmware-id %FWID% --query "url"') do set URL=%i

az storage blob upload -f %filePath% --blob-url %URL%

Üretici yazılımı analizi sonuçlarını alma

Üretici yazılımı çözümleme sonuçlarını almak için analizin durumunun "Hazır" olduğundan emin olmanız gerekir:

az firmwareanalysis firmware show --firmware-id sampleFirmwareID --resource-group myResourceGroup --workspace-name default

"Hazır" ifadesini görüntülemek için "durum" alanını arayın, ardından üretici yazılımı çözümleme sonuçlarınızı almak için aşağıdaki komutları çalıştırın.

Çözümlemenizin durumunu denetleme işlemini otomatikleştirmek istiyorsanız komutunu kullanabilirsiniz az resource wait .

Komutun az resource wait bir --timeout parametresi vardır. Bu, zaman aşımı çerçevesinde "durum" "Hazır" durumuna ulaşmazsa çözümlemenin biteceği saniye sayısıdır. Varsayılan zaman aşımı 3600'dür ve bu da bir saattir. Büyük görüntülerin analiz edilmesi daha uzun sürebilir, bu nedenle zaman aşımını ihtiyaçlarınıza göre parametresini --timeout kullanarak ayarlayabilirsiniz. Zaten bir üretici yazılımı oluşturduğunuzu az resource wait ve üretici yazılımı kimliğini adlı --timeoutbir değişkende depoladığınız varsayılarak analizinizin durumunu denetlemeyi otomatikleştirmek için parametresiyle $FWID komutunu nasıl kullanabileceğinize ilişkin bir örnek aşağıda verilmiştır:

set resourceGroup="myResourceGroup"
set workspace="default"
set FWID="yourFirmwareID"

for /f "tokens=*" %i in ('az firmwareanalysis firmware show --resource-group %resourceGroup% --workspace-name %workspace% --firmware-id %FWID% --query "id"') do set ID=%i

echo Successfully created a firmware image with the firmware ID of %FWID%, recognized in Azure by this resource ID: %ID%.

for /f "tokens=*" %i in ('az resource wait --ids %ID% --custom "properties.status=='Ready'" --timeout 10800') do set WAIT=%i

for /f "tokens=*" %i in ('az resource show --ids %ID% --query "properties.status"') do set STATUS=%i

echo firmware analysis completed with status: %STATUS%

Analiz durumunuzun "Hazır" olduğunu onayladıktan sonra, sonuçları çekmek için komutları çalıştırabilirsiniz.

Donanım yazılımı özeti

Aşağıdaki komut, üretici yazılımı çözümleme sonuçlarınızdan genel bir özet çıkarır. Her bağımsız değişkeni kaynak grubunuz, çalışma alanı adınız ve aygıt yazılımı ID'niz için gerekli değerle değiştirin.

az firmwareanalysis firmware summary --resource-group myResourceGroup --workspace-name default --firmware-id 123e4567-e89b-12d3-a456-426614174000 --summary-type Firmware

80 milyon TL

Aşağıdaki komut, üretici yazılımı görüntünüzdeki SBOM'yi alır. Her bağımsız değişkeni kaynak grubunuz, aboneliğiniz, çalışma alanı adınız ve üretici yazılımı kimliğiniz için uygun değerle değiştirin.

az firmwareanalysis firmware sbom-component --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID

Zayıf yanları

Aşağıdaki komut, üretici yazılımı görüntünüzde bulunan CVE'leri alır. Her bağımsız değişkeni kaynak grubunuz, aboneliğiniz, çalışma alanı adınız ve üretici yazılımı kimliğiniz için uygun değerle değiştirin.

az firmwareanalysis firmware cve --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID

CVE'lerinizin özeti için aşağıdaki komutu çalıştırın:

az firmwareanalysis firmware summary --resource-group myResourceGroup --workspace-name default --firmware-id 123e4567-e89b-12d3-a456-426614174000 --summary-type CommonVulnerabilitiesAndExposures

İkili sağlamlaştırma

Aşağıdaki komut, üretici yazılımı görüntünüzdeki ikili sağlamlaştırmayla ilgili analiz sonuçlarını alır. Her bağımsız değişkeni kaynak grubunuz, aboneliğiniz, çalışma alanı adınız ve üretici yazılımı kimliğiniz için uygun değerle değiştirin.

az firmwareanalysis firmware binary-hardening --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID

İkili sağlamlaştırma sonuçlarınızın özeti için aşağıdaki komutu çalıştırın:

az firmwareanalysis firmware summary --resource-group myResourceGroup --workspace-name default --firmware-id 123e4567-e89b-12d3-a456-426614174000 --summary-type BinaryHardening

Parola karmaları

Aşağıdaki komut, üretici yazılımı görüntünüzdeki parola karmalarını alır. Her bağımsız değişkeni kaynak grubunuz, aboneliğiniz, çalışma alanı adınız ve üretici yazılımı kimliğiniz için uygun değerle değiştirin.

az firmwareanalysis firmware password-hash --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID

Sertifikalar

Aşağıdaki komut, üretici yazılımı görüntünüzde bulunan güvenlik açığı bulunan şifreleme sertifikalarını alır. Her bağımsız değişkeni kaynak grubunuz, aboneliğiniz, çalışma alanı adınız ve üretici yazılımı kimliğiniz için uygun değerle değiştirin.

az firmwareanalysis firmware crypto-certificate --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID

Sertifikalarınızın özeti için aşağıdaki komutu çalıştırın:

az firmwareanalysis firmware summary --resource-group myResourceGroup --workspace-name default --firmware-id 123e4567-e89b-12d3-a456-426614174000 --summary-type CryptoCertificate

Anahtarlar

Aşağıdaki komut, üretici yazılımı görüntünüzde bulunan güvenlik açığı bulunan şifreleme anahtarlarını alır. Her bağımsız değişkeni kaynak grubunuz, aboneliğiniz, çalışma alanı adınız ve üretici yazılımı kimliğiniz için uygun değerle değiştirin.

az firmwareanalysis firmware crypto-key --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID

Anahtarlarınızın özeti için aşağıdaki komutu çalıştırın:

az firmwareanalysis firmware summary --resource-group myResourceGroup --workspace-name default --firmware-id 123e4567-e89b-12d3-a456-426614174000 --summary-type CryptoKey