OT 監視センサーのインベントリ管理 API リファレンス
[アーティクル] 06/01/2023
2 人の共同作成者
フィードバック
この記事の内容
この記事では、Defender for IoT OT センサーでサポートされているデバイス インベントリ管理 API の一覧を示します。
デバイスのすべての接続の一覧を要求するには、この API を使います。
URI : /api/v1/devices/connections
GET
クエリ パラメーター
返された結果をフィルター処理するには、次のいずれかのクエリ パラメーターを定義します。 クエリ パラメーターを設定しない場合は、すべてのデバイス接続が返されます。
名前
Description
例
必須/省略可能
discoveredBefore
数値。 特定の時刻より前に検出された結果にフィルター処理します。特定の時刻は、エポック時間 からのミリ秒数で定義し、UTC タイムゾーンです。
/api/v1/devices/2/connections?discoveredBefore=<epoch>
省略可能
discoveredAfter
数値。 特定の時刻より後に検出された結果にフィルター処理します。特定の時刻は、エポック時間 からのミリ秒数で定義し、UTC タイムゾーンです。
/api/v1/devices/2/connections?discoveredAfter=<epoch>
オプション
lastActiveInMinutes
数値。 接続がアクティブだった特定の期間で、結果をフィルター処理します。 現在時刻から過去に遡って定義します (分単位)。
/api/v1/devices/2/connections?lastActiveInMinutes=20
省略可能
応答の種類 : JSON
デバイスの接続を表す JSON オブジェクトの配列、または次のエラー メッセージ。
Message
説明
Failure – error
操作に失敗しました
成功した応答のフィールド
名前
Type
Null 許容 / Null 非許容
[値の一覧]
firstDeviceId
数値
NULL 値は許可されません
-
secondDeviceId
数値
NULL 値は許可されません
-
lastSeen
数値
NULL 値は許可されません
エポック (UTC)
discovered
数値
NULL 値は許可されません
エポック (UTC)
ports
数値の配列
Nullable
-
protocols
JSON 配列
Nullable
プロトコル フィールド
プロトコル フィールド
名前
Type
Null 許容 / Null 非許容
name
String
NULL 値は許可されません
commands
文字列配列
Nullable
応答の例
[
{
"firstDeviceId": 171,
"secondDeviceId": 22,
"lastSeen": 1511281457933,
"discovered": 1511872830000,
"ports": [
502
],
"protocols": [
{
name: "modbus",
commands: [
"Read Coils"
]
},
{
name: "ams",
commands: [
"AMS Write"
]
},
{
name: "http",
commands: [
]
}
]
},
{
"firstDeviceId": 171,
"secondDeviceId": 23,
"lastSeen": 1511281457933,
"discovered": 1511872830000,
"ports": [
502
],
"protocols": [
{
name: "s7comm",
commands: [
"Download block",
"Upload"
]
}
]
}
]
型 : GET
API :
curl -k -H "Authorization: <AUTH_TOKEN>" https://<IP_ADDRESS>/api/v1/devices/connections
例 :
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/api/v1/devices/connections
デバイスごとのすべての接続の一覧を要求するには、この API を使用します。
URI : /api/v1/devices/<deviceID>/connections
GET
パス パラメーター
名前
Description
例
必須/省略可能
deviceId
特定のデバイスの接続を取得します。
/api/v1/devices/<deviceId>/connections
必須
クエリ パラメーター
名前
Description
例
必須/省略可能
discoveredBefore
数値。 特定の時刻より前に検出された結果にフィルター処理します。特定の時刻は、エポック時間 からのミリ秒数で定義し、UTC タイムゾーンです。
/api/v1/devices/2/connections?discoveredBefore=<epoch>
省略可能
discoveredAfter
数値。 特定の時刻より後に検出された結果にフィルター処理します。特定の時刻は、エポック時間 からのミリ秒数で定義し、UTC タイムゾーンです。
/api/v1/devices/2/connections?discoveredAfter=<epoch>
オプション
lastActiveInMinutes
数値。 接続がアクティブだった特定の期間で、結果をフィルター処理します。 現在時刻から過去に遡って定義します (分単位)。
/api/v1/devices/2/connections?lastActiveInMinutes=20
省略可能
応答の種類 : JSON
デバイスの接続を表す JSON オブジェクトの配列、または次のエラー メッセージ。
Message
説明
Failure – error
操作に失敗しました
成功した応答のフィールド
名前
Type
Null 許容 / Null 非許容
[値の一覧]
firstDeviceId
数値
NULL 値は許可されません
-
secondDeviceId
数値
NULL 値は許可されません
-
lastSeen
数値
NULL 値は許可されません
エポック (UTC)
discovered
数値
NULL 値は許可されません
エポック (UTC)
ports
数値の配列
Nullable
-
protocols
JSON 配列
Nullable
プロトコル フィールド
プロトコル フィールド
名前
Type
Null 許容 / Null 非許容
name
String
NULL 値は許可されません
commands
文字列配列
Nullable
応答の例
[
{
"firstDeviceId": 171,
"secondDeviceId": 22,
"lastSeen": 1511281457933,
"discovered": 1511872830000,
"ports": [
502
],
"protocols": [
{
name: "modbus",
commands: [
"Read Coils"
]
},
{
name: "ams",
commands: [
"AMS Write"
]
},
{
name: "http",
commands: [
]
}
]
},
{
"firstDeviceId": 171,
"secondDeviceId": 23,
"lastSeen": 1511281457933,
"discovered": 1511872830000,
"ports": [
502
],
"protocols": [
{
name: "s7comm",
commands: [
"Download block",
"Upload"
]
}
]
}
]
型 : GET
API :
curl -k -H "Authorization: <AUTH_TOKEN>" 'https://<IP_ADDRESS>/api/v1/devices/<deviceId>/connections?lastActiveInMinutes=&discoveredBefore=&discoveredAfter=
例 :
特定のクエリ パラメーターを使用:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" 'https://127.0.0.1/api/v1/devices/2/connections?lastActiveInMinutes=20&discoveredBefore=1594550986000&discoveredAfter=1594550986000
ネットワーク内のデバイスで検出されたすべての既知の CVE の、CVE スコアの降順の一覧を要求するには、この API を使用します。
URI : /api/v1/devices/cves
GET
例 : /api/v1/devices/cves
返された結果をフィルター処理するには、次のいずれかのクエリ パラメーターを定義します。
名前
Description
例
必須/省略可能
top
数値。 デバイスの IP アドレスごとに取得する、スコア上位の CVE の数を決定します。
/api/v1/devices/cves?top=50
/api/v1/devices/<ipAddress>/cves?top=50
省略可能。 既定値 = 100
型 : JSON
デバイスの CVE オブジェクトの JSON 配列、または次のエラー メッセージ:
Message
説明
Failure – error
操作に失敗しました
成功した応答のフィールド
名前
Type
Null 許容 / Null 非許容
[値の一覧]
cveId
String
NULL 値は許可されません
指定された CVE の正規の業界標準 ID。
ipAddress
String
NULL 値は許可されません
IP アドレス
スコア
String
NULL 値は許可されません
CVE スコア (0.0 - 10.0)
attackVector
String
NULL 値は許可されません
Network
、Adjacent Network
、Local
、または Physical
description
String
NULL 値は許可されません
-
応答の例
[
{
"cveId": "CVE-2007-0099",
"score": "9.3",
"ipAddress": "10.35.1.51",
"attackVector": "NETWORK",
"description": "Race condition in the msxml3 module in Microsoft XML Core
Services 3.0, as used in Internet Explorer 6 and other
applications, allows remote attackers to execute arbitrary
code or cause a denial of service (application crash) via many
nested tags in an XML document in an IFRAME, when synchronous
document rendering is frequently disrupted with asynchronous
events, as demonstrated using a JavaScript timer, which can
trigger NULL pointer dereferences or memory corruption, aka
\"MSXML Memory Corruption Vulnerability.\""
},
{
"cveId": "CVE-2009-1547",
"score": "9.3",
"ipAddress": "10.35.1.51",
"attackVector": "NETWORK",
"description": "Unspecified vulnerability in Microsoft Internet Explorer 5.01
SP4, 6, 6 SP1, and 7 allows remote attackers to execute
arbitrary code via a crafted data stream header that triggers
memory corruption, aka \"Data Stream Header Corruption
Vulnerability.\""
}
]
型 : GET
API :
curl -k -H "Authorization: <AUTH_TOKEN>" https://<IP_ADDRESS>/api/v1/devices/cves
例 :
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/api/v1/devices/cves
特定の IP アドレスについて、ネットワーク内のデバイスで検出されたすべての既知の CVE の一覧を要求するには、この API を使います。
URI : /api/v1/devices/cves
GET
例 : /api/v1/devices/cves
パス パラメーター
名前
Description
例
必須/省略可能
ipAddress
指定された IP アドレスの CVE を取得します。
/api/v1/devices/<ipAddress>/cves
必須
返された結果をフィルター処理するには、次のクエリ パラメーターを定義します。
名前
Description
例
必須/省略可能
top
数値。 デバイスの IP アドレスごとに取得する、スコア上位の CVE の数を決定します。
/api/v1/devices/cves?top=50
/api/v1/devices/<ipAddress>/cves?top=50
省略可能。 既定値 = 100
型 : JSON
デバイスの CVE オブジェクトの JSON 配列、または次のエラー メッセージ:
Message
説明
Failure – error
操作に失敗しました
成功した応答のフィールド
名前
Type
Null 許容 / Null 非許容
[値の一覧]
cveId
String
NULL 値は許可されません
指定された CVE の正規の業界標準 ID。
ipAddress
String
NULL 値は許可されません
IP アドレス
スコア
String
NULL 値は許可されません
CVE スコア (0.0 - 10.0)
attackVector
String
NULL 値は許可されません
Network
、Adjacent Network
、Local
、または Physical
description
String
NULL 値は許可されません
-
応答の例
[
{
"cveId": "CVE-2007-0099",
"score": "9.3",
"ipAddress": "10.35.1.51",
"attackVector": "NETWORK",
"description": "Race condition in the msxml3 module in Microsoft XML Core
Services 3.0, as used in Internet Explorer 6 and other
applications, allows remote attackers to execute arbitrary
code or cause a denial of service (application crash) via many
nested tags in an XML document in an IFRAME, when synchronous
document rendering is frequently disrupted with asynchronous
events, as demonstrated using a JavaScript timer, which can
trigger NULL pointer dereferences or memory corruption, aka
\"MSXML Memory Corruption Vulnerability.\""
},
{
"cveId": "CVE-2009-1547",
"score": "9.3",
"ipAddress": "10.35.1.51",
"attackVector": "NETWORK",
"description": "Unspecified vulnerability in Microsoft Internet Explorer 5.01
SP4, 6, 6 SP1, and 7 allows remote attackers to execute
arbitrary code via a crafted data stream header that triggers
memory corruption, aka \"Data Stream Header Corruption
Vulnerability.\""
}
]
型 : GET
API :
curl -k -H "Authorization: <AUTH_TOKEN>" https://<IP_ADDRESS>/api/v1/devices/<deviceIpAddress>/cves?top=
例 :
特定のクエリ パラメーターを使用:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/api/v1/devices/10.10.10.15/cves?top=50
このセンサーによって検出されたすべてのデバイスの一覧を要求するには、この API を使います。
URI : api/v1/devices/
GET
Query parameter (クエリ パラメーター)
返された結果をフィルター処理するには、次のクエリ パラメーターを定義します。 クエリ パラメーターを設定しない場合は、すべてのデバイス接続が返されます。
名前
Description
例
必須/省略可能
承認済み
ブール値: - true
: 認可されたデバイスについてのデータのみにフィルター処理します。 - false
: 認可されていないデバイスについてのデータのみにフィルター処理します。
/api/v1/devices/
省略可能
型 : GET
curl -k -H "Authorization: <AUTH_TOKEN>" 'https://<IP_ADDRESS>/api/v1/devices/'
次のステップ
詳細については、Defender for IoT API リファレンスの概要 に関するページを参照してください。