OT 監視感測器的弱點管理 API 參考
- 發行項
本文列出適用於IoT OT監視感測器的 Microsoft Defender 支援的 弱點管理 REST API。
API 回應中包含的數據會包含與您從 OT 感測器主控台產生弱點報告相同的資訊。
裝置 (擷取裝置弱點資訊)
使用此 API 來要求每個裝置的弱點評估結果。
URI: /api/v1/reports/vulnerabilities/devices
GET
此 API 在沒有任何要求參數的情況下呼叫。
類型:JSON
表示已評估裝置及其回報弱點的 JSON 物件陣列。
發現沒有弱點的裝置不會包含在結果回應中。
裝置欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
name | String | 不可為 Null | - |
ipAddresses | JSON 陣列 | 不可為 Null | - |
securityScore | 數值 | 不可為 Null | - |
vendor | String | Nullable | |
firmwareVersion | String | Nullable | - |
model | String | Nullable | - |
isWirelessAccessPoint | 布林值 | 不可為 Null | True 或 False |
operatingSystem | 操作系統物件 | Nullable | - |
漏洞 | 弱點物件 | 不可為 Null | - |
操作系統欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
name | String | 不可為 Null | - |
type | String | 不可為 Null | - |
version | String | Nullable | - |
latestVersion | String | Nullable | - |
弱點欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
抗病毒 | 字串的 JSON 陣列 | Nullable | 防毒名稱 |
plainTextPasswords | JSON 陣列 | Nullable | 密碼 物件 |
remoteAccess | JSON 陣列 | Nullable | 遠端存取物件 |
isBackupServer | 布林值 | 不可為 Null | True 或 False |
openedPorts | JSON 陣列 | Nullable | 開啟的埠 物件 |
isEngineeringStation | 布林值 | 不可為 Null | True 或 False |
isKnownScanner | 布林值 | 不可為 Null | True 或 False |
cves | JSON 陣列 | Nullable | CVE 物件 |
isUnauthorized | 布林值 | 不可為 Null | True 或 False |
malwareIndicationsDetected | 布林值 | 不可為 Null | True 或 False |
weakAuthentication | 字串的 JSON 陣列 | Nullable | 偵測到使用弱式驗證的應用程式 |
密碼欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
password | String | 不可為 Null | - |
protocol | String | 不可為 Null | - |
強度 | String | 不可為 Null | Very weak 、 、 Weak 、 Medium Strong |
遠端存取欄位
名稱 | 類型 | Nullable | 值清單 |
---|---|---|---|
port | 數值 | 不可為 Null | - |
運輸 | String | 不可為 Null | TCP , UDP |
客戶 | String | 不可為 Null | IP 位址 |
clientSoftware | String | 不可為 Null | 遠端通訊協議的名稱,例如 SSH 、 VNC 、 Remote desktop 或 Team viewer |
開啟埠欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
port | 數值 | 不可為 Null | - |
運輸 | String | 不可為 Null | TCP 或 UDP |
protocol | String | Nullable | - |
isConflictingWithFirewall | 布林值 | 不可為 Null | True 或 False |
CVE 欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
id | String | 不可為 Null | - |
得分 | 數值、十進位值 | 不可為 Null | - |
description | String | 不可為 Null | - |
回應範例
[
{
"name": "IED \#10",
"ipAddresses": ["10.2.1.10"],
"securityScore": 100,
"vendor": "ABB Switzerland Ltd, Power Systems",
"firmwareVersion": null,
"model": null,
"operatingSystem": {
"name": "ABB Switzerland Ltd, Power Systems",
"type": "abb",
"version": null,
"latestVersion": null
},
"vulnerabilities": {
"antiViruses": [
"McAfee"
],
"plainTextPasswords": [
{
"password": "123456",
"protocol": "HTTP",
"strength": "Very Weak"
}
],
"remoteAccess": [
{
"port": 5900,
"transport": "TCP",
"clientSoftware": "VNC",
"client": "10.2.1.20"
}
],
"isBackupServer": true,
"openedPorts": [
{
"port": 445,
"transport": "TCP",
"protocol": "SMP Over IP",
"isConflictingWithFirewall": false
},
{
"port": 80,
"transport": "TCP",
"protocol": "HTTP",
"isConflictingWithFirewall": false
}
],
"isEngineeringStation": false,
"isKnownScanner": false,
"cves": [
{
"id": "CVE-2015-6490",
"score": 10,
"description": "Frosty URL - Stack-based buffer overflow on Allen-Bradley MicroLogix 1100 devices before B FRN 15.000 and 1400 devices through B FRN 15.003 allows remote attackers to execute arbitrary code via unspecified vectors"
},
{
"id": "CVE-2012-6437",
"score": 10,
"description": "MicroLogix 1100 and 1400 do not properly perform authentication for Ethernet firmware updates, which allows remote attackers to execute arbitrary code via a Trojan horse update image"
},
{
"id": "CVE-2012-6440",
"score": 9.3,
"description": "MicroLogix 1100 and 1400 allows man-in-the-middle attackers to conduct replay attacks via HTTP traffic."
}
],
"isUnauthorized": false,
"malwareIndicationsDetected": true
}
}
]
類型:GET
API:
curl -k -H "Authorization: <AUTH_TOKEN>" https://<IP_ADDRESS>/api/v1/reports/vulnerabilities/devices
範例:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/api/v1/reports/vulnerabilities/devices
安全性 (擷取安全性弱點)
使用此 API 來要求一般弱點評估報告的結果。 此評定提供您系統安全性層級的深入解析。
此評定是以一般網路和系統資訊為基礎,而不是在特定裝置評估上。
URI: /api/v1/reports/vulnerabilities/security
GET
此 API 在沒有任何要求參數的情況下呼叫。
類型:一個或多個數據表的 JSON 表示法,每個數據表都有特定且可能不同的結構。
回應會顯示在地圖檢視檢視中,該檢視會將數據表標題對應至數據表數據列。 數據列會以具有相同結構的物件清單表示。
unauthorizedDevices 欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
address | String | Nullable | 未經授權裝置的IP或MAC位址 |
name | String | Nullable | 未經授權的裝置名稱 |
firstDetectionTime | 數值 | Nullable | 第一次偵測到裝置的時間戳,以毫秒為單位從 Epoch 時間和 UTC 時區 |
lastSeen | 數值 | Nullable | 上次偵測到流量的時間戳,以毫秒為單位 從 Epoch 時間和 UTC 時區傳送或從裝置傳送 |
illegalTrafficByFirewallRules 字段
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
伺服器 | String | Nullable | 伺服器IP位址 |
客戶 | String | Nullable | 用戶端 IP 位址 |
port | 數值 | Nullable | 伺服器埠 |
運輸 | String | Nullable | TCP 、 UDP 或 ICMP |
weakFirewallRules 字段
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
sources | 來源的 JSON 陣列 | Nullable | 下列任何格式的來源 JSON 陣列: - Any - ip address (host) - from ip-to ip (RANGE) - ip address, subnet mask (NETWORK) |
目的地 | 目的地的 JSON 陣列 | Nullable | 目的地物件的 JSON 陣列,格式如下: - Any - ip address (host) - from ip-to ip (RANGE) - ip address, subnet mask (NETWORK) |
連接埠 | 埠的 JSON 陣列 | Nullable | 埠物件的 JSON 陣列,格式如下: - Any - port (protocol, if detected) - from port-to port (protocol, if detected) |
accessPoints 欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
macAddress | String | Nullable | 存取點的 MAC 位址 |
vendor | String | Nullable | 存取點的廠商名稱 |
ipAddress | String | Nullable | 存取點的IP位址或 N/A |
name | String | Nullable | 存取點的裝置名稱或 N/A |
無線電 | String | Nullable | 存取點是否連線到無線網路: No 、 Suspected 或 Yes |
connectionsBetweenSubnets 欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
伺服器 | String | Nullable | 伺服器的IP位址 |
客戶 | String | Nullable | 用戶端的IP位址 |
industrialMalwareIndicators 字段
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
detectionTime | 數值 | Nullable | 第一次偵測到惡意代碼的時間戳,以毫秒為單位從 Epoch 時間和 UTC 時區 |
alertMessage | String | Nullable | 已傳送的警示訊息 |
description | String | Nullable | 警示訊息描述 |
設備 | JSON 陣列 | 不可為 Null | 字串的 JSON 陣列,表示裝置名稱 |
internetConnections 欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
internalAddress | String | Nullable | 線上的內部IP位址 |
授權 | 布林值 | Nullable | Yes 或 No |
externalAddresses | JSON 陣列 | 不可為 Null | 線上外部IP位址的 JSON 陣列 |
回應範例
{
"unauthorizedDevices": [
{
"address": "10.2.1.14",
"name": "PLC \#14",
"firstDetectionTime": 1462645483000,
"lastSeen": 1462645495000,
}
],
"redundantFirewallRules": [
{
"sources": "170.39.3.0/255.255.255.0",
"destinations": "Any",
"ports": "102"
}
],
"connectionsBetweenSubnets": [
{
"server": "10.2.1.22",
"client": "170.39.2.0"
}
],
"industrialMalwareIndications": [
{
"detectionTime": 1462645483000,
"alertMessage": "Suspicion of Malicious Activity (Regin)",
"description": "Suspicious network activity was detected. Such behavior might be attributed to the Regin malware.",
"addresses": [
"10.2.1.4",
"10.2.1.5"
]
}
],
"illegalTrafficByFirewallRules": [
{
"server": "10.2.1.7",
"port": "20000",
"client": "10.2.1.4",
"transport": "TCP"
},
{
"server": "10.2.1.8",
"port": "20000",
"client": "10.2.1.4",
"transport": "TCP"
},
{
"server": "10.2.1.9",
"port": "20000",
"client": "10.2.1.4",
"transport": "TCP"
}
],
"internetConnections": [
{
"internalAddress": "10.2.1.1",
"authorized": "Yes",
"externalAddresses": ["10.2.1.2",”10.2.1.3”]
}
],
"accessPoints": [
{
"macAddress": "ec:08:6b:0f:1e:22",
"vendor": "TP-LINK TECHNOLOGIES",
"ipAddress": "173.194.112.22",
"name": "Enterprise AP",
"wireless": "Yes"
}
],
"weakFirewallRules": [
{
"sources": "170.39.3.0/255.255.255.0",
"destinations": "Any",
"ports": "102"
}
]
}
類型:GET
API:
curl -k -H "Authorization: <AUTH_TOKEN>" https://<IP_ADDRESS>/api/v1/reports/vulnerabilities/security
範例:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/api/v1/reports/vulnerabilities/security
操作性 (擷取操作弱點)
使用此 API 來要求一般弱點評估的結果。 此評量可讓您深入瞭解您網路的作業狀態。 它是以一般網路和系統資訊為基礎,而不是在特定裝置評估上。
URI: /api/v1/reports/vulnerabilities/operational
GET
此 API 在沒有任何要求參數的情況下呼叫。
類型:一個或多個數據表的 JSON 表示法,每個數據表都有特定且可能不同的結構。
回應會顯示在地圖檢視檢視中,該檢視會將數據表標題對應至數據表數據列。 數據列會以具有相同結構的物件清單表示。
backupServer 結果欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
source | String | Nullable | 來源 IP 位址 |
目的地 | String | Nullable | 目的地 IP 位址 |
port | 數值 | Nullable | 備份伺服器埠 |
運輸 | String | Nullable | 備份伺服器傳輸通訊協定 TCP 或 UDP |
backupMaximalInterval | String | Nullable | 備份之間的間隔時間上限 |
lastSeenBackup | 數值 | Nullable | 上次看到備份的時間戳,以毫秒為單位從 Epoch 時間和 UTC 時區 |
ipNetworks 結果欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
位址 | 數值 | 不可為 Null | 在子網範圍中探索到的IP位址數目。 |
網路 | String | 不可為 Null | 子網基底 IP 位址。 |
面具 | String | 不可為 Null | 子網掩碼。 |
protocolProblems 結果欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
protocol | String | 不可為 Null | 觸發通訊協議違規警示的通訊協定 |
位址 | IP 位址的 JSON 陣列 | 不可為 Null | 違規來源的IP位址 JSON 陣列 |
警報 | String | 不可為 Null | 觸發之警示的標題 |
reportTime | 數值 | 不可為 Null | 上次產生報表的時間戳,以毫秒為單位,以 Epoch 時間和 UTC 時區為單位 |
protocolDataVolumes 結果欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
protocol | String | Nullable | OT 網路感測器在網路上偵測到的通訊協定 |
卷 | String | Nullable | OT 網路感測器所擷取的通訊協定封包數量,以 MB 為單位 |
中斷聯機結果欄位
名稱 | 類型 | 可為 Null/ 不可為 Null | 值清單 |
---|---|---|---|
assetAddress | String | Nullable | 已中斷連線資產的IP位址 |
assetName | String | Nullable | 已中斷連線資產的名稱 |
lastDetectionTime | 數值 | Nullable | 上次偵測到中斷連線的時間戳,以毫秒為單位從 Epoch 時間和 UTC 時區 |
backToNormalTime | 數值 | Nullable | 線上傳回的時間戳,以毫秒為單位,以 Epoch 時間和 UTC 時區為單位 |
回應範例
{
"backupServer": [
{
"backupMaximalInterval": "1 Hour, 29 Minutes",
"source": "10.2.1.22",
"destination": "170.39.2.14",
"port": 10000,
"transport": "TCP",
"lastSeenBackup": 1462645483000
}
],
"ipNetworks": [
{
"addresses": "21",
"network": "10.2.1.0",
"mask": "255.255.255.0"
},
{
"addresses": "3",
"network": "170.39.2.0",
"mask": "255.255.255.0"
}
],
"protocolProblems": [
{
"protocol": "DNP3",
"addresses": [
"10.2.1.7",
"10.2.1.8"
],
"alert": "Illegal DNP3 Operation",
"reportTime": 1462645483000
},
{
"protocol": "DNP3",
"addresses": [
"10.2.1.15"
],
"alert": "Master Requested an Application Layer Confirmation",
"reportTime": 1462645483000
}
],
"protocolDataVolumes": [
{
"protocol": "MODBUS (502)",
"volume": "21.07 MB"
},
{
"protocol": "SSH (22)",
"volume": "0.001 MB"
}
],
"disconnections": [
{
"assetAddress": "10.2.1.3",
"assetName": "PLC \#3",
"lastDetectionTime": 1462645483000,
"backToNormalTime": 1462645484000
}
]
}
類型:GET
API:
curl -k -H "Authorization: <AUTH_TOKEN>" https://<IP_ADDRESS>/api/v1/reports/vulnerabilities/operational
範例:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/api/v1/reports/vulnerabilities/operational
風險降低 (擷取風險降低步驟)
使用此 API 來要求風險降低評定。 此評定提供緩解偵測到弱點的建議步驟。 它是以一般網路和系統資訊為基礎,而不是在特定裝置評估上。
URI: /api/v1/reports/vulnerabilities/mitigation
GET
此 API 在沒有任何要求參數的情況下呼叫。
類型:JSON
表示建議風險降低步驟的 JSON 物件。
回應欄位
欄位名稱 | 類型 | Nullable | 值清單 |
---|---|---|---|
通知 | 字串的 JSON 陣列 | 不可為 Null | 偵測到弱點的建議風險降低步驟 |
緩解 | JSON 陣列 | 不可為 Null | 風險降低 物件 |
風險降低欄位
欄位名稱 | 類型 | Nullable | 值清單 |
---|---|---|---|
內容 | String | 不可為 Null | 偵測到弱點的建議風險降低步驟 |
scoreImprovement | 整數 | Nullable | 在採取緩和步驟之後,預期的安全性改進百分比。 |
詳 | Table | Nullable | 列出風險降低建議的數據表,例如會在風險評估報告中產生。 每個建議都包含有關執行動作等可能安全性影響的詳細數據。 如需詳細資訊,請參閱 風險降低。 |
注意
您可能有多個風險降低步驟,其中一些會在欄位中傳 notifications
回,而另一些則會在 mitigation
欄位中傳回。 具有 scoreImprovement
和 details
數據的專案只會在 mitigation
欄位中傳回。 不含 scoreImprovement
和 details
數據的專案只會在 notifications
欄位中傳回。
回應範例
{
"notifications": ["Firewall policy import", "Marking \"important devices\"", "Further device information import"],
"mitigation": [{
"content": "Install an Antivirus solution to increase protection of the workstations",
"details": null,
"scoreImprovement": 10
}, {
"content": "Investigate all malware indicators (Contact your incident response team or support.microsoft.com). When assured the problem is solved, acknowledge the alert",
"details": {
"name": "",
"description": {
"name": "",
"important": false,
"warning": false
},
"headers": ["Detection Time", "Alert Message", "Description", "Devices"],
"rows": [
["03/10/2022 07:10:24", "Address Scan Detected", "Address scan detected.\nScanning address: 10.10.10.22\nScanned subnet: 10.11.0.0/16\nScanned addresses: 10.11.1.1, 10.11.20.1, 10.11.20.10, 10.11.20.100, 10.11.20.2, 10.11.20.3, 10.11.20.4, 10.11.20.5, 10.11.20.6, 10.11.20.7...\nIt is recommended to notify the security officer of the incident.", ""],
]
},
"scoreImprovement": 8
}, {
"content": "Install a backup server in the network",
"details": null,
"scoreImprovement": 5
}, {
"content": "Install latest security updates (Devices: 2)",
"details": {
"name": "",
"description": {
"name": "",
"important": false,
"warning": false
},
"headers": ["Name", "Address"],
"rows": [
["10.13.10.5", "10.13.10.5"],
["192.168.1.127", "192.168.1.127"]
]
},
"scoreImprovement": 2
}, {
"content": "Increase password complexity for authentication (Devices: 53)",
"details": {
"name": "",
"description": {
"name": "",
"important": false,
"warning": false
},
"headers": ["Name", "Address"],
"rows": [
["10.10.10.13", "10.10.10.13"],
["10.10.10.14", "10.10.10.14"],
["10.10.10.15", "10.10.10.15"],
["10.13.10.3", "10.13.10.3"],
["10.13.10.40", "10.13.10.40"],
["10.13.10.5", "10.13.10.5"],
["10.13.11.2", "10.13.11.2"],
["10.13.11.3", "10.13.11.3"],
["192.168.1.100", "192.168.1.100"],
["192.168.1.242", "192.168.1.242"]
]
},
"scoreImprovement": 2
}, {
"content": "Investigate and acknowledge all unacknowledge alerts",
"details": {
"name": "",
"description": {
"name": "",
"important": false,
"warning": false
},
"headers": ["Detection Time", "Alert Message", "Description"],
"rows": [
["03/10/2022 07:10:24", "Address Scan Detected", "Address scan detected.\nScanning address: 10.10.10.22\nScanned subnet: 10.11.0.0/16\nScanned addresses: 10.11.1.1, 10.11.20.1, 10.11.20.10, 10.11.20.100, 10.11.20.2, 10.11.20.3, 10.11.20.4, 10.11.20.5, 10.11.20.6, 10.11.20.7...\nIt is recommended to notify the security officer of the incident."],
["03/10/2022 07:44:52", "No Traffic Detected on Sensor Interface", "The sensor stopped detecting network traffic on local_listener."]
]
},
"scoreImprovement": 1
}]
}
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" "https://<IP address>/api/v1/reports/vulnerabilities/mitigation"
下一步
如需詳細資訊,請參閱 適用於IoT的Defender API參考概觀。
意見反應
此頁面對您有幫助嗎?