From befe9725bbbfef63ea3eea96d8f25b8aa62725c7 Mon Sep 17 00:00:00 2001 From: Anthony Chan Date: Tue, 5 Nov 2024 08:18:36 -0700 Subject: [PATCH] Support more than one IMEI in device object (#1225) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### Related Issue: Fixes https://github.com/ocsf/ocsf-schema/issues/1211 #### Description of changes: According to the [Wikipedia article for IMEI](https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity): > Dual SIM enabled phones will have two IMEI numbers. This change deprecates the existing `imei` attribute in the `device` object in favour of a new `imei_list` array object. This accommodates additional IMEI values available in common dual-SIM and possible multi-SIM mobile devices. ![Screenshot 2024-10-31 at 10 06 17 AM](https://github.com/user-attachments/assets/1a8c70bd-67f9-469d-80fa-9f659f6591c5) --------- Signed-off-by: Anthony Chan Co-authored-by: Rajas <89877409+floydtree@users.noreply.github.com> Co-authored-by: Jonathan Rau <139361268+jonrau-at-queryai@users.noreply.github.com> --- CHANGELOG.md | 3 +++ dictionary.json | 12 +++++++++++- objects/device.json | 3 +++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d00c67f0d..20abe8471 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,6 +67,7 @@ Thankyou! --> 1. Added `locations` to the dictionary, an array type of the `location` object, used within the new `operating_area` object. #1169 1. Added `altitude_ceiling`, `altitude_floor`, `geodetic_altitude`, `aerial_height`, `horizontal_accuracy`, `pressure_altitude`, `radius`, `speed`, `track_direction`, and `vertical_speed` all to support `operating_area` and `unmanned_aerial_system` objects. #1169 1. Added `variable_name` and `variable_value` as `long_string`. #1228 + 1. Added `imei_list` as an array `string_t`. #1225 * #### Objects 1. Added `environment_variable` object. #1172 1. Added `advisory` object. #1176 @@ -108,6 +109,7 @@ Thankyou! --> 1. Added `control_parameters` and `status_details` to the compliance object. #1219 1. Added `geodetic_altitude`, `height`, `horizontal_accuracy`, and `pressure_altitude` to `location`. #1169 1. Added `location` to `managed_entity`. #1169 + 1. Added `imei_list` to the `device` object. #1225 ### Bugfixes 1. Added sibling definition to `confidence_id` in dictionary, accurately associating `confidence` as its sibling. #1180 @@ -121,6 +123,7 @@ Thankyou! --> 1. Deprecated `cwe` in favor of `related_cwes` in the `cve` object. #1176 1. Deprecated `tag` in favor of `labels` or `tags` in `image` & `container` object. #1207 1. Deprecated `status_detail` in favor of `status_details` in `compliance object. #1219 +1. Deprecated `imei` in favor of `imei_list` in `device` object. #1225 ### Misc 1. Added `user.uid` as an Observable type - `type_id: 31`. #1155 diff --git a/dictionary.json b/dictionary.json index 2ccaca6a0..1a9476673 100644 --- a/dictionary.json +++ b/dictionary.json @@ -2299,7 +2299,17 @@ }, "imei": { "caption": "IMEI", - "description": "The International Mobile Station Equipment Identifier that is associated with the device.", + "description": "The International Mobile Equipment Identity that is associated with the device.", + "type": "string_t", + "@deprecated": { + "message": "Use the imei_list attribute instead.", + "since": "1.4.0" + } + }, + "imei_list": { + "caption": "IMEI List", + "description": "The International Mobile Equipment Identity values that are associated with the device.", + "is_array": true, "type": "string_t" }, "impact": { diff --git a/objects/device.json b/objects/device.json index 6b85a2431..1aa80eba6 100644 --- a/objects/device.json +++ b/objects/device.json @@ -46,6 +46,9 @@ "imei": { "requirement": "optional" }, + "imei_list": { + "requirement": "optional" + }, "ip": { "description": "The device IP address, in either IPv4 or IPv6 format.", "requirement": "optional"