You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/firmware-analysis/automate-firmware-analysis-service-principals.md
+3-6Lines changed: 3 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,12 +7,12 @@ ms.topic: conceptual
7
7
ms.date: 11/04/2024
8
8
ms.service: azure
9
9
---
10
-
10
+
11
11
# How to Use Service Principals to Automate Workflows in firmware analysis
12
12
13
13
Many users of the firmware analysis service may need to automate their workflow. The command `az login` creates an interactive login experience with two-factor authentication that makes it difficult for users to fully automate their workflow. A [service principal](/entra/identity-platform/app-objects-and-service-principals) is a secure identity with proper permissions that authenticates to Azure in the command line without requiring two-factor authentication or an interactive log-in. This article explains how to create a service principal and use it to interact with the firmware analysis service. For more information on creating service principals, visit [Create Azure service principals using the Azure CLI](/cli/azure/azure-cli-sp-tutorial-1#create-a-service-principal). To authenticate securely, we recommend creating a service principal and authenticating using certificates. To learn more, visit [Create a service principal containing a certificate using Azure CLI](/cli/azure/azure-cli-sp-tutorial-3).
14
14
15
-
1. Log in to your Azure account using the Azure portal.
15
+
1. Log in to your Azure account using the Azure portal.
16
16
17
17
2. Navigate to your subscription and assign yourself `User Access Administrator` or `Role Based Access Control Administrator` permissions, or higher, in your subscription. This gives you permission to create a service principal.
18
18
@@ -49,7 +49,4 @@ Many users of the firmware analysis service may need to automate their workflow.
49
49
- [Upload firmware using Azure PowerShell](quickstart-upload-firmware-using-powershell.md)
50
50
- [Upload firmware using Python](quickstart-upload-firmware-using-python.md)
Copy file name to clipboardExpand all lines: articles/firmware-analysis/firmware-analysis-faq.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
-
title: Frequently asked questions about Firmware analysis
3
-
description: Find answers to some of the common questions about Firmware Analysis. This article includes the file systems that are supported by Firmware Analysis, and links to the Azure CLI and Azure PowerShell commands.
2
+
title: Frequently asked questions about firmware analysis
3
+
description: Find answers to some of the common questions about firmware analysis. This article includes the file systems that are supported by firmware analysis, and links to the Azure CLI and Azure PowerShell commands.
4
4
author: karengu0
5
5
ms.author: karenguo
6
6
ms.topic: conceptual
@@ -9,12 +9,12 @@ ms.date: 01/10/2024
9
9
ms.service: azure
10
10
---
11
11
12
-
# Frequently asked questions about Firmware analysis
13
-
This article addresses frequent questions about Firmware analysis.
12
+
# Frequently asked questions about firmware analysis
13
+
This article addresses frequent questions about firmware analysis.
14
14
15
15
[Firmware analysis](./overview-firmware-analysis.md) is a tool that analyzes firmware images and provides an understanding of security vulnerabilities in the firmware images.
16
16
17
-
## What types of firmware images does Firmware analysis support?
17
+
## What types of firmware images does firmware analysis support?
18
18
Firmware analysis supports unencrypted images that contain file systems with embedded Linux operating systems. Firmware analysis supports the following file system formats:
19
19
20
20
* Android sparse image
@@ -47,7 +47,8 @@ Firmware analysis supports unencrypted images that contain file systems with emb
47
47
* ZStandard compressed data
48
48
* Zip archive
49
49
50
-
## Where are the Firmware analysis Azure CLI/PowerShell docs?
50
+
## Where are the firmware analysis Azure CLI/PowerShell docs?
51
51
You can find the documentation for our Azure CLI commands [here](/cli/azure/firmwareanalysis/firmware) and the documentation for our Azure PowerShell commands [here](/powershell/module/az.firmwareanalysis/?#firmwareanalysis).
52
-
52
+
53
53
You can also find the Quickstart for our Azure CLI [here](./quickstart-upload-firmware-using-azure-command-line-interface.md) and the Quickstart for our Azure PowerShell [here](./quickstart-upload-firmware-using-powershell.md). To run a Python script using the SDK to upload and analyze firmware images, visit [Quickstart: Upload firmware using Python](./quickstart-upload-firmware-using-python.md).
Copy file name to clipboardExpand all lines: articles/firmware-analysis/firmware-analysis-rbac.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,14 +27,14 @@ When you onboard your subscription to firmware analysis and select your resource
27
27
Navigate to your resource group and select **Show hidden types** to show the **default** resource. The **default** resource has the **Microsoft.IoTFirmwareDefense.workspaces** type.
28
28
29
29
:::image type="content" source="media/firmware-analysis-rbac/default-workspace.png" alt-text="Screenshot of the toggle button 'Show hidden types' that reveals a resource named 'default'." lightbox="media/firmware-analysis-rbac/default-workspace.png":::
30
-
30
+
31
31
Although the **default** workspace resource isn't something that you'll regularly interact with, each firmware image that you upload will be represented as a resource and stored here.
32
32
33
33
You can use RBAC at each level of the hierarchy, including at the hidden **default firmware analysis workspace** resource level.
34
34
35
35
Here's the resource hierarchy of firmware analysis:
36
36
37
-
:::image type="content" source="media/firmware-analysis-rbac/resource-hierarchy.png" alt-text="Diagram that shows the resource hierarchy of firmware images of Firmware Analysis." lightbox="media/firmware-analysis-rbac/resource-hierarchy.png":::
37
+
:::image type="content" source="media/firmware-analysis-rbac/resource-hierarchy.png" alt-text="Diagram that shows the resource hierarchy of firmware images of firmware analysis." lightbox="media/firmware-analysis-rbac/resource-hierarchy.png":::
38
38
39
39
## Apply Azure RBAC
40
40
@@ -82,5 +82,5 @@ To invite a third party, follow the [Assign Azure roles to external guest users
82
82
* In step 7, select the **Firmware Analysis Admin** role.
83
83
84
84
> [!Note]
85
-
> If you received an email to join an organization, be sure to check your Junk folder for the invitation email if you don't see it in your inbox.
86
-
>
85
+
> If you received an email to join an organization, be sure to check your Junk folder for the invitation email if you don't see it in your inbox.
Copy file name to clipboardExpand all lines: articles/firmware-analysis/interpreting-extractor-paths.md
+7-8Lines changed: 7 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
---
2
-
title: Interpreting extractor paths from SBOM view in Firmware analysis
3
-
description: Learn how to interpret extractor paths from the SBOM view in Firmware analysis results.
2
+
title: Interpreting extractor paths from SBOM view in firmware analysis
3
+
description: Learn how to interpret extractor paths from the SBOM view in firmware analysis results.
4
4
author: karengu0
5
5
ms.author: karenguo
6
6
ms.topic: conceptual
7
7
ms.date: 11/04/2024
8
8
ms.service: azure
9
9
---
10
-
10
+
11
11
# Overview of How Firmware Images are Structured
12
12
13
13
A firmware image is a collection of files and file systems containing software that operates hardware. Often, it includes compressed files, executables, and system files. These file systems may or may not include other file systems within each file. For example, a firmware image that’s a .zip file may include individual files such as executables within it but may also include other compressed file systems, such as a SquashFS file. You can visualize it like the following:
@@ -22,17 +22,17 @@ Because of the complex structure of firmware images – any given layer could be
22
22
23
23
**How the Extractor Works**
24
24
25
-
The Firmware Analysis extractor identifies and decompresses data found within firmware images. There are multiple types of extractors, one for each type of file. For a full list of file formats that Firmware Analysis supports, check [Firmware analysis Frequently Asked Questions](firmware-analysis-faq.md).
25
+
The firmware analysis extractor identifies and decompresses data found within firmware images. There are multiple types of extractors, one for each type of file. For a full list of file formats that firmware analysis supports, check [Firmware analysis Frequently Asked Questions](firmware-analysis-faq.md).
26
26
27
-
For example, a `ZipArchive` extractor would extract a `ZipArchive` file. The extractor extracts the image as it sits on the disk in your system, and you will need to correlate the file path to the structure of files on your build environment. When you upload your firmware images to the Firmware Analysis service, the extractor recursively extracts the image until it cannot extract further. This means that the original firmware image is decompressed into individual files, and each individual file is sent again to the extractor to see if they can be further decompressed. This repeats until the extractor cannot decompress further.
27
+
For example, a `ZipArchive` extractor would extract a `ZipArchive` file. The extractor extracts the image as it sits on the disk in your system, and you will need to correlate the file path to the structure of files on your build environment. When you upload your firmware images to the firmware analysis service, the extractor recursively extracts the image until it cannot extract further. This means that the original firmware image is decompressed into individual files, and each individual file is sent again to the extractor to see if they can be further decompressed. This repeats until the extractor cannot decompress further.
28
28
29
29
Sometimes, there may be numerous files concatenated into one. Extractor will identify that there are numerous files in that one file, and use the appropriate extractor to extract each file, then put each file into its own respective directory. This means that if there were four files that were compiled with `GZip`, and they were concatenated into one file, extractor will identify that there are four `GZip` files at that level of extraction. Extractor will put the first `GZip` file into a directory named `GZipExtractor/1`, the second into a directory named `GZipExtractor/2`, and so on.
30
30
31
31
## Interpret File Paths Created by the Extractor
32
32
33
-
In the Firmware Analysis service, the SBOM view of the analysis results contains the file paths:
33
+
In the firmware analysis service, the SBOM view of the analysis results contains the file paths:
34
34
35
-
:::image type="content" source="media/extractor-paths/sbom-view.png" alt-text="Screenshot of SBOM view in the Firmware analysis results." lightbox="media/extractor-paths/sbom-view.png":::
35
+
:::image type="content" source="media/extractor-paths/sbom-view.png" alt-text="Screenshot of SBOM view in the firmware analysis results." lightbox="media/extractor-paths/sbom-view.png":::
36
36
37
37
Here is an example of a file path that might be seen in analysis results, and how to visualize the path in a file-system structure:
38
38
@@ -81,4 +81,3 @@ When you hover over the number, you’ll see a pop-up that looks like this:
81
81
:::image type="content" source="media/extractor-paths/pop-up-multiple-paths.png" alt-text="Screenshot of an SBOM's multiple paths." lightbox="media/extractor-paths/pop-up-multiple-paths.png":::
82
82
83
83
This means that the SBOM can be found at these two executable paths.
Copy file name to clipboardExpand all lines: articles/firmware-analysis/overview-firmware-analysis.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,13 +9,13 @@ ms.service: azure
9
9
#Customer intent: As a device builder, I want to understand how firmware analysis can help secure my IoT/OT devices and products.
10
10
---
11
11
12
-
# What is Firmware analysis (preview)?
12
+
# What is firmware analysis (preview)?
13
13
14
14
Just like computers have operating systems, IoT devices have firmware, and it's the firmware that runs and controls IoT devices. For IoT device builders, security is a near-universal concern as IoT devices have traditionally lacked basic security measures.
15
15
16
16
For example, IoT attack vectors typically use easily exploitable--but easily correctable--weaknesses such as hardcoded user accounts, outdated and vulnerable open-source packages, or a manufacturer's private cryptographic signing key.
17
17
18
-
Use the Firmware analysis service to identify embedded security threats, vulnerabilities, and common weaknesses that may be otherwise undetectable.
18
+
Use the firmware analysis service to identify embedded security threats, vulnerabilities, and common weaknesses that may be otherwise undetectable.
19
19
20
20
> [!NOTE]
21
21
> The **Firmware analysis** page is in PREVIEW. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include other legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
@@ -38,9 +38,9 @@ Firmware analysis can analyze your firmware for common weaknesses and vulnerabil
38
38
-**Password hash extraction**: Ensure that user account password hashes use secure cryptographic algorithms.
39
39
40
40
:::image type="content" source="media/tutorial-firmware-analysis/overview.png" alt-text="Screenshot that shows the overview page of the analysis results.":::
41
-
41
+
42
42
## Next steps
43
43
44
44
-[Analyze a firmware image](./tutorial-analyze-firmware.md)
45
45
-[Understand Role-Based Access Control for Firmware Images](./firmware-analysis-rbac.md)
46
-
-[Frequently asked questions about Firmware analysis](./firmware-analysis-faq.md)
46
+
-[Frequently asked questions about firmware analysis](./firmware-analysis-faq.md)
Copy file name to clipboardExpand all lines: articles/firmware-analysis/quickstart-upload-firmware-using-azure-command-line-interface.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: "Quickstart: Upload firmware images to Firmware analysis using Azure CLI"
2
+
title: "Quickstart: Upload firmware images to firmware analysis using Azure CLI"
3
3
description: "Learn how to upload firmware images for analysis using the Azure command line interface."
4
4
author: karengu0
5
5
ms.author: karenguo
@@ -9,15 +9,15 @@ ms.date: 01/29/2024
9
9
ms.service: azure
10
10
---
11
11
12
-
# Quickstart: Upload firmware images to Firmware Analysis using Azure CLI
13
-
14
-
This article explains how to use the Azure CLI to upload firmware images to Firmware analysis.
12
+
# Quickstart: Upload firmware images to firmware analysis using Azure CLI
15
13
14
+
This article explains how to use the Azure CLI to upload firmware images to firmware analysis.
15
+
16
16
[Firmware analysis](./overview-firmware-analysis.md) is a tool that analyzes firmware images and provides an understanding of security vulnerabilities in the firmware images.
17
17
18
18
## Prerequisites
19
19
20
-
This quickstart assumes a basic understanding of Firmware analysis. For more information, see [Firmware analysis for device builders](./overview-firmware-analysis.md). For a list of the file systems that are supported, see [Frequently asked Questions about Firmware analysis](./firmware-analysis-faq.md#what-types-of-firmware-images-does-firmware-analysis-support).
20
+
This quickstart assumes a basic understanding of firmware analysis. For more information, see [Firmware analysis for device builders](./overview-firmware-analysis.md). For a list of the file systems that are supported, see [Frequently asked Questions about firmware analysis](./firmware-analysis-faq.md#what-types-of-firmware-images-does-firmware-analysis-support).
21
21
22
22
### Prepare your environment for the Azure CLI
23
23
@@ -26,14 +26,14 @@ This quickstart assumes a basic understanding of Firmware analysis. For more inf
26
26
* Sign in to the Azure CLI by using the [az login](/cli/azure/reference-index?#az-login) command. Follow the steps displayed in your terminal to finish the authentication process. For other sign-in options, see [Sign in with the Azure CLI](/cli/azure/authenticate-azure-cli).
27
27
28
28
* When you're prompted, install the Azure CLI extension on first use. For more information about extensions, see [Use extensions with the Azure CLI](/cli/azure/azure-cli-extensions-overview).
29
-
* Install the Firmware analysis extension by running the following command:
29
+
* Install the firmware analysis extension by running the following command:
30
30
```azurecli
31
31
az extension add --name firmwareanalysis
32
32
```
33
33
34
34
* To find the version and dependent libraries that are installed, run the command [az version](/cli/azure/reference-index?#az-version). To upgrade to the latest version, run the command [az upgrade](/cli/azure/reference-index?#az-upgrade).
35
35
36
-
*[Onboard](./tutorial-analyze-firmware.md#onboard-your-subscription-to-use-firmware-analysis) your subscription to Firmware analysis.
36
+
*[Onboard](./tutorial-analyze-firmware.md#onboard-your-subscription-to-use-firmware-analysis) your subscription to firmware analysis.
37
37
38
38
* Select the appropriate subscription ID where you'd like to upload your firmware images by running the command [az account set](/cli/azure/account?#az-account-set).
39
39
@@ -110,7 +110,7 @@ for /f "tokens=*" %i in ('az resource wait --ids %ID% --custom "properties.statu
110
110
111
111
for /f "tokens=*" %i in ('az resource show --ids %ID% --query "properties.status"') do set STATUS=%i
112
112
113
-
echo Firmware analysis completed with status: %STATUS%
113
+
echo firmware analysis completed with status: %STATUS%
114
114
```
115
115
116
116
Once you've confirmed that your analysis status is "Ready", you can run commands to pull the results.
Copy file name to clipboardExpand all lines: articles/firmware-analysis/quickstart-upload-firmware-using-powershell.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: "Quickstart: Upload firmware images to Firmware analysis using Azure PowerShell"
2
+
title: "Quickstart: Upload firmware images to firmware analysis using Azure PowerShell"
3
3
description: "Learn how to upload firmware images for analysis using the Azure PowerShell."
4
4
author: karengu0
5
5
ms.author: karenguo
@@ -9,29 +9,29 @@ ms.date: 01/29/2024
9
9
ms.service: azure
10
10
---
11
11
12
-
# Quickstart: Upload firmware images to Firmware analysis using Azure PowerShell
13
-
14
-
This article explains how to use Azure PowerShell to upload firmware images to Firmware analysis.
12
+
# Quickstart: Upload firmware images to firmware analysis using Azure PowerShell
15
13
14
+
This article explains how to use Azure PowerShell to upload firmware images to firmware analysis.
15
+
16
16
[Firmware analysis](./overview-firmware-analysis.md) is a tool that analyzes firmware images and provides an understanding of security vulnerabilities in the firmware images.
17
17
18
18
## Prerequisites
19
19
20
-
This quickstart assumes a basic understanding of Firmware analysis. For more information, see [Firmware analysis for device builders](./overview-firmware-analysis.md). For a list of the file systems that are supported, see [Frequently asked Questions about Firmware analysis](./firmware-analysis-faq.md#what-types-of-firmware-images-does-firmware-analysis-support).
20
+
This quickstart assumes a basic understanding of firmware analysis. For more information, see [Firmware analysis for device builders](./overview-firmware-analysis.md). For a list of the file systems that are supported, see [Frequently asked Questions about firmware analysis](./firmware-analysis-faq.md#what-types-of-firmware-images-does-firmware-analysis-support).
21
21
22
22
### Prepare your environment for Azure PowerShell
23
23
24
24
1.[Install Azure PowerShell](/powershell/azure/install-azure-powershell) or [Use Azure Cloud Shell](/azure/cloud-shell/get-started/classic).
25
25
26
26
2. Sign in to Azure PowerShell by running the command [Connect-AzAccount](/powershell/module/az.accounts/connect-azaccount). Skip this step if you're using Cloud Shell.
27
27
28
-
3. If this is your first use of Firmware analysis's Azure PowerShell, install the extension:
28
+
3. If this is your first use of firmware analysis's Azure PowerShell, install the extension:
4. [Onboard](tutorial-analyze-firmware.md#onboard-your-subscription-to-use-firmware-analysis) your subscription to Firmware analysis.
34
+
4. [Onboard](tutorial-analyze-firmware.md#onboard-your-subscription-to-use-firmware-analysis) your subscription to firmware analysis.
35
35
36
36
5. Run [Set-AzContext](/powershell/module/az.accounts/set-azcontext) to set your subscription to use in the current session. Select the subscription where you would like to upload your firmware images.
0 commit comments