Démarrage rapide : Charger des images de microprogramme dans Analyse du microprogramme en utilisant Azure CLI
Cet article explique comment utiliser l’interface de ligne de commande Azure pour charger des images de microprogramme dans Analyse du microprogramme.
Analyse du microprogramme est un outil qui analyse les images de microprogramme et qui permet de comprendre les vulnérabilités de sécurité dans les images de microprogramme.
Prérequis
Ce démarrage rapide suppose une compréhension de base de l’analyse du micrologiciel. Pour obtenir plus d’informations, consultez Analyse de microprogramme pour les fabricants d’appareils. Pour obtenir la liste des systèmes de fichiers pris en charge, consultez Questions fréquentes (FAQ) sur Analyse du microprogramme.
Préparer votre environnement pour Azure CLI
Installez l’interface de ligne de commande Azure pour exécuter les commandes CLI localement. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Connectez-vous à l’interface Azure CLI à l’aide de la commande az login. Suivez les étapes affichées dans votre terminal pour finir le processus d’authentification. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
- Installez l’extension Analyse du microprogramme en exécutant la commande suivante :
az extension add --name firmwareanalysis
- Installez l’extension Analyse du microprogramme en exécutant la commande suivante :
Pour rechercher la version et les bibliothèques dépendantes qui sont installées, exécutez la commande az version. Pour effectuer une mise à niveau vers la dernière version, exécutez la commande az upgrade.
Intégrez votre abonnement à Analyse du microprogramme.
Sélectionnez l’ID d’abonnement approprié dans lequel vous souhaitez charger vos images de microprogramme en exécutant la commande az account set.
Charger une image de microprogramme dans l’espace de travail
Créez une image de microprogramme à charger. Insérez le nom de votre groupe de ressources, l’ID d’abonnement et le nom de l’espace de travail dans les paramètres respectifs.
az firmwareanalysis firmware create --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default
La sortie de cette commande inclut une propriété name
, qui est votre ID de microprogramme. Enregistrez cet ID pour la commande suivante.
Générez une URL SAS que vous allez utiliser à la prochaine étape pour envoyer votre image de microprogramme au Stockage Azure. Remplacez
sampleFirmwareID
par l’ID de microprogramme que vous avez enregistré à l’étape précédente. Vous pouvez stocker l’URL SAS dans une variable pour faciliter l’accès aux commandes futures :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
Chargez votre image de microprogramme dans le Stockage Azure. Remplacez
pathToFile
par le chemin d’accès à votre image de microprogramme sur votre ordinateur local.az storage blob upload -f "pathToFile" --blob-url %sasURL%
Voici un exemple de workflow illustrant comment vous pourriez utiliser ces commandes pour créer et charger une image de microprogramme. Pour en savoir plus sur l’utilisation de variables dans les commandes CLI, consultez Guide pratique pour utiliser des variables dans les commandes Azure CLI :
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%
Récupérer les résultats de l’analyse du microprogramme
Pour récupérer les résultats de l’analyse du microprogramme, vous devez vérifier que l’état de l’analyse est « Prêt » :
az firmwareanalysis firmware show --firmware-id sampleFirmwareID --resource-group myResourceGroup --workspace-name default
Vérifiez que le champ « État » indique « Prêt », puis exécutez les commandes suivantes pour récupérer vos résultats d’analyse du microprogramme.
Si vous souhaitez automatiser le processus de vérification de l’état de votre analyse, vous pouvez utiliser la commande az resource wait
.
La commande az resource wait
a un paramètre --timeout
, qui est le temps en secondes au bout duquel l’analyse prend fin si « status » n’atteint pas « Ready » dans le délai d’expiration imparti. Le délai d’expiration par défaut est 3600, ce qui correspond à une heure. L’analyse des grandes images peut prendre plus de temps, donc vous pouvez définir le délai d’expiration à l’aide du paramètre --timeout
en fonction de vos besoins. Voici un exemple de la façon dont vous pouvez utiliser la commande az resource wait
avec le paramètre --timeout
pour automatiser la vérification de l’état de votre analyse, en supposant que vous avez déjà créé un microprogramme et stocké l’ID du microprogramme dans une variable nommée $FWID
:
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%
Une fois que vous avez confirmé que l’état de votre analyse est « Prêt », vous pouvez exécuter des commandes pour extraire les résultats.
$80M
La commande suivante récupère la SBOM dans votre image de microprogramme. Remplacez chaque argument par la valeur appropriée pour votre groupe de ressources, votre abonnement, le nom de votre espace de travail et l’ID de votre microprogramme.
az firmwareanalysis firmware sbom-component --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID
Faiblesses
La commande suivante récupère les vulnérabilités et menaces courantes (CVE) trouvées dans votre image de microprogramme. Remplacez chaque argument par la valeur appropriée pour votre groupe de ressources, votre abonnement, le nom de votre espace de travail et l’ID de votre microprogramme.
az firmwareanalysis firmware cve --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID
Renforcement binaire
La commande suivante récupère les résultats de l’analyse sur le renforcement binaire dans votre image de microprogramme. Remplacez chaque argument par la valeur appropriée pour votre groupe de ressources, votre abonnement, le nom de votre espace de travail et l’ID de votre microprogramme.
az firmwareanalysis firmware binary-hardening --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID
Hachages de mot de passe
La commande suivante récupère les hachages de mot de passe dans votre image de microprogramme. Remplacez chaque argument par la valeur appropriée pour votre groupe de ressources, votre abonnement, le nom de votre espace de travail et l’ID de votre microprogramme.
az firmwareanalysis firmware password-hash --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID
Certificats
La commande suivante récupère les certificats de chiffrement vulnérables qui ont été trouvés dans votre image de microprogramme. Remplacez chaque argument par la valeur appropriée pour votre groupe de ressources, votre abonnement, le nom de votre espace de travail et l’ID de votre microprogramme.
az firmwareanalysis firmware crypto-certificate --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID
Clés
La commande suivante récupère les clés de chiffrement vulnérables qui ont été trouvées dans votre image de microprogramme. Remplacez chaque argument par la valeur appropriée pour votre groupe de ressources, votre abonnement, le nom de votre espace de travail et l’ID de votre microprogramme.
az firmwareanalysis firmware crypto-key --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID