IP Library Granted Patent US 12,375,481
Granted Patent B2
US 12,375,481 · App. 17/188,879 · Granted Jul 29, 2025

System and method for operating system distribution and version identification using communications security fingerprints

Inventors: Yuval Sarel (Tel Aviv, IL); Ben Seri (Tel Aviv, IL); Yuval Friedlander (Petah-Tiqwa, IL); Tom Hanetz (Tel Aviv, IL); Gil Ben Zvi (Hod Hasharon, IL); Ron Shoham (Tel Aviv, IL)
Assignee: Armis Security Ltd.
H04L63/0876G06N5/04G06N20/00H04L63/1416H04L63/166
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,375,481
App. No.
17/188,879
Granted
Jul 29, 2025
Kind
B2
Abstract

A system and method for inferring an operating system version for a device based on communications security data. A method includes identifying a plurality of sequences in communications security data sent by the device; determining an operating system type of an operating system used by the device based on the identified plurality of sequences; applying a version-identifying model to the identified plurality of sequences, wherein the version-identifying model is a machine learning model trained to output a version identifier, wherein the applied version-identifying model is associated with the determined operating system type; and determining the operating system version of the device based on the output of the version-identifying model.

Claims (43)

1. A method for inferring an operating system version for a device based on communications security data, comprising:

extracting a set of features from communications security data sent by a first device, wherein the communications security data comprises part of a handshake to establish an encrypted connection based on an elliptic-curve cryptography protocol;

applying a plurality of sequence-based machine-learning models without explicit rules defining sequences to identify a plurality of sequences for a corresponding plurality of lists in the features wherein the plurality of lists identifies ciphers, extension types, or elliptic curves compatible with the device;

determining an operating system type of an operating system used by the device based on the identified plurality of sequences;

iteratively applying a version-identifying model to the identified plurality of sequences, wherein the version-identifying model is a machine learning model trained to output a version identifier, wherein the applied version-identifying model is associated with the determined operating system type, wherein the version-identifying model is iterated using different identified sequences as inputs for different earlier iterations, wherein results of the earlier iterations are combined and classified to produce a single output; and

determining the operating system version of the device based on the output of the version-identifying model.

2. The method of claim 1 , wherein the version-identifying model is a hierarchical classifier configured to iterate over the plurality of sequences.

3. The method of claim 1 , wherein the plurality of sequence-based machine learning models are applied to features extracted from the communications security data sent by the device, wherein each sequence-based machine learning model is a machine learning model associated with a respective operating system, wherein each sequence-based machine learning model is trained based on a training data set including training communications security data sent by training devices using the respective operating system.

4. The method of claim 1 , wherein determining the operating system type further comprises:

applying an operating system (OS)-identifying model to the plurality of sequences, wherein the OS-identifying model is a machine learning model trained to output a plurality of probabilities, wherein each probability is associated with a respective class representing a potential operating system used by the device, wherein the version-identifying model is further applied to the plurality of probabilities.

5. The method of claim 1 , wherein the plurality of sequences includes at least one of: cipher sequences, extension sequences, and elliptic curve sequences.

6. The method of claim 1 , wherein each identified sequence is associated with a respective operating system type of a plurality of operating system types, wherein the determined operating system type for the device is one of the plurality of operating system types.

7. The method of claim 1 , wherein the communications security data sent by the device includes data sent during a communications security handshake.

8. The method of claim 1 , wherein the communications security data sent by the device is according to a transport layer security protocol.

9. The method of claim 1 , further comprising:

monitoring activity of the device to detect abnormal behavior based on the determined operating system version of the device; and

performing at least one mitigation action when the abnormal behavior is detected.

10. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising:

extracting a set of features from communications security data sent by a first device, wherein the communications security data comprises part of a handshake to establish an encrypted connection based on an elliptic-curve cryptography protocol;

applying a plurality of sequence-based machine-learning models without explicit rules defining sequences to identify a plurality of sequences for a corresponding plurality of lists in the features, wherein the plurality of lists identifies ciphers, extension types, or elliptic curves compatible with the device;

determining an operating system type of an operating system used by the device based on the identified plurality of sequences;

iteratively applying a version-identifying model to the identified plurality of sequences, wherein the version-identifying model is a machine learning model trained to output a version identifier, wherein the applied version-identifying model is associated with the determined operating system type, wherein the version-identifying model is iterated using different identified sequences as inputs for different earlier iterations, wherein results of the earlier iterations are combined and classified to produce a single output; and

determining an operating system version of the device based on an output of the version-identifying model.

11. A system for inferring an operating system version for a device based on communications security data, comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

extract a set of features from communications security data sent by a first device, wherein the communications security data comprises part of a handshake to establish an encrypted connection based on an elliptic-curve cryptography protocol;

apply a plurality of sequence-based machine-learning models without explicit rules defining sequences to identify a plurality of sequences for a corresponding plurality of lists in the features, wherein the plurality of lists identifies ciphers, extension types, or elliptic curves compatible with the device;

determine an operating system type of an operating system used by the device based on the identified plurality of sequences;

iteratively apply a version-identifying model to the identified plurality of sequences, wherein the version-identifying model is a machine learning model trained to output a version identifier, wherein the applied version-identifying model is associated with the determined operating system type, wherein the version-identifying model is iterated using different identified sequences as inputs for different earlier iteration, wherein results of the earlier iterations are combined and classified to produce a single output; and

determine the operating system version of the device based on the output of the version-identifying model.

12. The system of claim 11 , wherein the version-identifying model is a hierarchical classifier configured to iterate over the plurality of sequences.

13. The system of claim 11 , wherein the plurality of sequence-based machine learning models are applied to features extracted from the communications security data sent by the device, wherein each sequence-based machine learning model is a machine learning model associated with a respective operating system, wherein each sequence-based model is trained based on a training data set including training communications security data sent by training devices using the respective operating system.

14. The system of claim 11 , wherein the system is further configured to:

apply an operating system (OS)-identifying model to the plurality of sequences, wherein the OS-identifying model is a machine learning model trained to output a plurality of probabilities, wherein each probability is associated with a respective class representing a potential operating system used by the device, wherein the version-identifying model is further applied to the plurality of probabilities.

15. The system of claim 11 , wherein the plurality of sequences includes at least one of: cipher sequences, extension sequences, and elliptic curve sequences.

16. The system of claim 11 , wherein each identified sequence is associated with a respective operating system type of a plurality of operating system types, wherein the determined operating system type for the device is one of the plurality of operating system types.

17. The system of claim 11 , wherein the communications security data sent by the device includes data sent during a communications security handshake.

18. The system of claim 11 , wherein the communications security data sent by the device is according to a transport layer security protocol.

19. The system of claim 11 , wherein the system is further configured to:

monitor activity of the device to detect abnormal behavior based on the determined operating system version of the device; and

perform at least one mitigation action when the abnormal behavior is detected.

20. The method of claim 1 , wherein the device is a first device, wherein the plurality of sequences of communications security data sent by the first device are sent to a second device, and wherein determining the operating system version of the first device.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Apr 21, 2026
From: HERCULES CAPITAL, INC.
To: ARMIS SECURITY LTD; ARMIS INC.
Reel/Frame 075477/0965 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Mar 5, 2024
From: ARMIS SECURITY LTD.
To: HERCULES CAPITAL, INC., AS ADMINISTRATIVE AND COLLATERAL AGENT
Reel/Frame 066740/0499 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2021
From: SAREL, YUVAL; SERI, BEN; FRIEDLANDER, YUVAL; HANETZ, TOM; BEN ZVI, GIL; SHOHAM, RON
To: ARMIS SECURITY LTD.
Reel/Frame 055448/0804 →
Continuity (1)
Related Publication 20220278984A1 · Sep 1, 2022
References Cited (15)
US 20090172821A1 · Daira · 2009 [cited by examiner]
US 20150052595A1 · Murphy · 2015 [cited by examiner]
US 20170070380A1 · Bajpai · 2017 [cited by examiner]
US 20180260214A1 · Oberheide · 2018 [cited by examiner]
US 20190102698A1 · Roberts · 2019 [cited by examiner]
US 20190114360A1 · Garg · 2019 [cited by examiner]
US 20190297402A1 · Anderson · 2019 [cited by examiner]
US 20200250530A1 · Shen · 2020 [cited by examiner]
US 20210185083A1 · Azaria · 2021 [cited by examiner]
US 20220188087A1 · Montag · 2022 [cited by examiner]
US 20220191761A1 · Feng · 2022 [cited by examiner]
US 20220276931A1 · Chen · 2022 [cited by examiner]
WO WO2022103630A1 · 2022 [cited by examiner]
Wazen M. Shbair et al “A Multi-Level Framework to Identify HTTPS Services” . 2016 IEEE/IFIP Network Operations and Management Symposium (NOMS 2016). [cited by examiner]
Wenchao Cui and Minghao Gou “Design and Implementation of a SSH Proxy System Based on B/S Architecture” 2021 J. Phys.: Conf. Ser. 2010 012020. [cited by examiner]
Cited By (3)
US 12,572,846 US 12,574,399 US 12,695,752