IP Library Granted Patent US 10,984,102
Granted Patent B2
US 10,984,102 · App. 16/148,730 · Granted Apr 20, 2021

Determining security risks in binary software code

Inventor: Adam John Boulton (Wirral, GB)
Assignee: BlackBerry Limited
G06F21/563G06F21/577G06F2221/033
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 10,984,102
App. No.
16/148,730
Filed
Oct 1, 2018
Granted
Apr 20, 2021
Kind
B2
Art Unit
2419
USPC
726/23
Abstract

Systems, methods, and software can be used to analyze security risks of a set of binary software code based on its functional context. In some aspects, a computer-implemented method comprises: receiving, by a server, a set of binary software code; determining, by the server, a functional context of the set of binary software code; determining, by the server, a security risk assessment of the set of binary software code; retrieving, by the server, a plurality of security risk assessment of other software codes having a same functional context as the functional context of the set of binary software code; comparing, by the server, the security risk assessment of the set of binary software code and the plurality of security risk assessments of other software codes having the same functional context; and generating, by the server, a security notification indicating a result of the comparing.

Claims (50)

1. A computer-implemented method, comprising:

receiving, by a server, a set of binary software code;

determining, by the server, a particular automotive function performed by the set of binary software code;

determining, by the server, a security risk assessment of the set of binary software code;

retrieving, by the server, a plurality of security risk assessment of other software codes performing a same particular automotive function as the set of binary software code;

comparing, by the server, the security risk assessment of the set of binary software code and the plurality of security risk assessments of other software codes performing the same particular automotive function; and

generating, by the server, a security notification indicating a result of the comparing.

2. The method of claim 1 , further comprising:

disassembling, by the server, the set of binary software code into a set of assembly code;

scanning the set of assembly code to determine one or more assembly instructions; and

determining the particular automotive function based the one or more assembly instructions and an AUTomotive Open System Architecture (AUTOSAR) standard.

3. The method of claim 2 , wherein the particular automotive function is determined further based on a computing architecture associated with the set of binary software code or a software language used to program the set of binary software code.

4. The method of claim 1 , wherein the particular automotive function of the set of binary software code is determined based on metadata associated with the set of binary software code.

5. The method of claim 1 , further comprising outputting the security notification on a graphic user interface associated with the server.

6. The method of claim 1 , wherein the set of binary software code is received from a client device, and the security notification is transmitted to the client device.

7. The method of claim 1 , wherein determining the security risk assessment comprises:

detecting a presence of at least one security vulnerability or an absence of security vulnerability in the set of binary software code; and

determining a value of the security risk assessment based on the presence of the at least one security vulnerability or the absence of security vulnerability.

8. A server, comprising:

at least one hardware processor; and

one or more computer-readable storage media coupled to the at least one hardware processor and storing programming instructions for execution by the at least one hardware processor, wherein the programming instructions, when executed, cause the at least one hardware processor to perform operations comprising:

receiving, by the server, a set of binary software code;

determining, by the server, a particular automotive function performed by the set of binary software code;

determining, by the server, a security risk assessment of the set of binary software code;

retrieving, by the server, a plurality of security risk assessment of other software codes performing a same particular automotive function as the set of binary software code;

comparing, by the server, the security risk assessment of the set of binary software code and the plurality of security risk assessments of other software codes performing the same particular automotive function; and

generating, by the server, a security notification indicating a result of the comparing.

9. The server of claim 8 , the operations further comprising:

disassembling, by the server, the set of binary software code into a set of assembly code;

scanning the set of assembly code to determine one or more assembly instructions; and

determining the particular automotive function based the one or more assembly instructions and an AUTomotive Open System Architecture (AUTOSAR) standard.

10. The server of claim 9 , wherein the particular automotive function is determined further based on a computing architecture associated with the set of binary software code or a software language used to program the set of binary software code.

11. The server of claim 8 , wherein the particular automotive function of the set of binary software code is determined based on metadata associated with the set of binary software code.

12. The server of claim 8 , the operations further comprising outputting the security notification on a graphic user interface associated with the server.

13. The server of claim 8 , wherein the set of binary software code is received from a client device, and the security notification is transmitted to the client device.

14. The server of claim 8 , wherein determining the security risk assessment comprises:

detecting a presence of at least one security vulnerability or an absence of security vulnerability in the set of binary software code; and

determining a value of the security risk assessment based on the presence of the at least one security vulnerability or the absence of security vulnerability.

15. One or more non-transitory computer-readable media containing instructions which, when executed, cause a computing device to perform operations comprising:

receiving, by a server, a set of binary software code;

determining, by the server, a particular automotive function performed by the set of binary software code;

determining, by the server, a security risk assessment of the set of binary software code;

retrieving, by the server, a plurality of security risk assessment of other software codes performing a same particular automotive function as the set of binary software code;

comparing, by the server, the security risk assessment of the set of binary software code and the plurality of security risk assessments of other software codes performing the same particular automotive function; and

generating, by the server, a security notification indicating a result of the comparing.

16. The one or more computer-readable media of claim 15 , the operations further comprising:

disassembling, by the server, the set of binary software code into a set of assembly code;

scanning the set of assembly code to determine one or more assembly instructions; and

determining the particular automotive function based the one or more assembly instructions and an AUTomotive Open System Architecture (AUTOSAR) standard.

17. The one or more computer-readable media of claim 16 , wherein the particular automotive function is determined further based on a computing architecture associated with the set of binary software code or a software language used to program the set of binary software code.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2019
From: BOULTON, ADAM JOHN
To: BLACKBERRY UK LIMITED
Reel/Frame 048007/0017 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2018
From: BLACKBERRY UK LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 047355/0080 →
Continuity (1)
Related Publication 20200104492A1 · Apr 2, 2020
Cited By (1)
US 12,547,728