IP Library › Granted Patent US 12,333,019
Granted Patent B2
US 12,333,019 · App. 17/736,433 · Granted Jun 17, 2025

Risk assessment based on software bill of materials

Inventors: Neil David Jonathan Duggan (Basingstoke, GB); Vincenzo Kazimierz Marcovecchio (Toronto, CA); Adam John Boulton (Wirral, GB)
Assignee: BlackBerry Limited
G06F21/577G06F8/65G06F21/6227
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,333,019
App. No.
17/736,433
Granted
Jun 17, 2025
Kind
B2
Abstract

Systems, methods, and software can be used to identify security risks in software code based on software bill of materials (SBOM). In some aspects, a method includes: obtaining, by a server, software code and a SBOM corresponding to the software code; identifying, by the server and based on the SBOM, a library used by the software code; and generating, by the server, a risk assessment based on at least one metric corresponding to the library, where the at least one metric is associated with one or more maintainers of the library.

Claims (101)

1. A method, comprising:

obtaining, by a server, software code and a Software Bill of Materials (SBOM) corresponding to the software code;

identifying, by the server and based on the SBOM, a library used by the software code; and

generating, by the server, a risk assessment based on at least one metric corresponding to the library, wherein the at least one metric is a number of one or more maintainers of the library, wherein the generating comprises:

determining, by the server, a vulnerability level of the library based on determining whether the number of the one or more maintainers exceeds a predetermined quantity threshold; and

storing, by the server, the vulnerability level of the library in a database.

2. The method of claim 1 , wherein the library is an open software library, and wherein the at least one metric is further associated with at least one of:

one or more external interfaces of the library;

one or more functionality of the library;

documentation of the library;

ownership of the library;

change of ownership of the library;

an update frequency of the library;

an open source software (OSS) supply chain size;

response time of one or more reported issues; or

an issue backlog size.

3. The method of claim 1 , wherein the library is a closed software library provided by an entity, and wherein the at least one metric is further associated with at least one of:

financial status of the entity;

ownership of the entity;

one or more breaches associated with the entity;

one or more accounting documents filed by the entity;

one or more security certificates associated with the library; or

one or more security certificates associated with the entity.

4. The method of claim 1 , wherein generating the risk assessment comprises:

identifying, by the server, one or more additional libraries that the software code is transitively dependent on; and

generating, by the server, the risk assessment based on the one or more additional libraries.

5. The method of claim 1 , comprising:

obtaining, by the server, an additional SBOM;

determining, by the server, that the additional SBOM includes the library;

obtaining, by the server, the vulnerability level of the library from the database; and

generating, by the server, an additional risk assessment associated with the additional SBOM based on the vulnerability level of the library stored in the database.

6. The method of claim 1 , comprising:

storing, by the server, a timestamp associated with the vulnerability level of the library, wherein the timestamp indicates a time that the vulnerability level of the library is determined.

7. A computer-readable medium containing instructions which, when executed, cause a computing device to perform operations comprising:

obtaining, by a server, software code and a Software Bill of Materials (SBOM) corresponding to the software code;

identifying, by the server and based on the SBOM, a library used by the software code; and

generating, by the server, a risk assessment based on at least one metric corresponding to the library, wherein the at least one metric is a number of one or more maintainers of the library, wherein the generating comprises:

determining, by the server, a vulnerability level of the library based on determining whether the number of the one or more maintainers exceeds a predetermined quantity threshold; and

storing, by the server, the vulnerability level of the library in a database.

8. The computer-readable medium of claim 7 , wherein the library is an open software library, and wherein the at least one metric is further associated with at least one of:

one or more external interfaces of the library;

one or more functionality of the library;

documentation of the library;

ownership of the library;

change of ownership of the library;

an update frequency of the library;

an open source software (OSS) supply chain size;

response time of one or more reported issues; or

an issue backlog size.

9. The computer-readable medium of claim 7 , wherein the library is a closed software library provided by an entity, and wherein the at least one metric is further associated with at least one of:

financial status of the entity;

ownership of the entity;

one or more breaches associated with the entity;

one or more accounting documents filed by the entity;

one or more security certificates associated with the library; or

one or more security certificates associated with the entity.

10. The computer-readable medium of claim 7 , wherein generating the risk assessment comprises:

identifying, by the server, one or more additional libraries that the software code is transitively dependent on; and

generating, by the server, the risk assessment based on the one or more additional libraries.

11. The computer-readable medium of claim 7 , the operations comprising:

obtaining, by the server, an additional SBOM;

determining, by the server, that the additional SBOM includes the library;

obtaining, by the server, the vulnerability level of the library from the database; and

generating, by the server, an additional risk assessment associated with the additional SBOM based on the vulnerability level of the library stored in the database.

12. The computer-readable medium of claim 7 , the operations comprising:

storing, by the server, a timestamp associated with the vulnerability level of the library, wherein the timestamp indicates a time that the vulnerability level of the library is determined.

13. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

obtaining, by a server, software code and a Software Bill of Materials (SBOM) corresponding to the software code;

identifying, by the server and based on the SBOM, a library used by the software code; and

generating, by the server, a risk assessment based on at least one metric corresponding to the library, wherein the at least one metric is a number of one or more maintainers of the library, wherein the generating comprises:

determining, by the server, a vulnerability level of the library based on determining whether the number of the one or more maintainers exceeds a predetermined quantity threshold; and

storing, by the server, the vulnerability level of the library in a database.

14. The computer-implemented system of claim 13 , wherein the library is an open software library, and wherein the at least one metric is further associated with at least one of:

one or more external interfaces of the library;

one or more functionality of the library;

documentation of the library;

ownership of the library;

change of ownership of the library;

an update frequency of the library;

an open source software (OSS) supply chain size;

response time of one or more reported issues; or

an issue backlog size.

15. The computer-implemented system of claim 13 , wherein the library is a closed software library provided by an entity, and wherein the at least one metric is further associated with at least one of:

financial status of the entity;

ownership of the entity;

one or more breaches associated with the entity;

one or more accounting documents filed by the entity;

one or more security certificates associated with the library; or

one or more security certificates associated with the entity.

16. The computer-implemented system of claim 13 , wherein generating the risk assessment comprises:

identifying, by the server, one or more additional libraries that the software code is transitively dependent on; and

generating, by the server, the risk assessment based on the one or more additional libraries.

17. The computer-implemented system of claim 13 , the operations comprising:

obtaining, by the server, an additional SBOM;

determining, by the server, that the additional SBOM includes the library;

obtaining, by the server, the vulnerability level of the library from the database; and

generating, by the server, an additional risk assessment associated with the additional SBOM based on the vulnerability level of the library stored in the database.

18. The computer-implemented system of claim 13 , the operations comprising:

storing, by the server, a timestamp associated with the vulnerability level of the library, wherein the timestamp indicates a time that the vulnerability level of the library is determined.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2022
From: BOULTON, ADAM JOHN
To: BLACKBERRY UK LIMITED
Reel/Frame 060822/0795 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2022
From: BLACKBERRY UK LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 060604/0605 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2022
From: DUGGAN, NEIL DAVID JONATHAN
To: BLACKBERRY UK LIMITED
Reel/Frame 059904/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2022
From: MARCOVECCHIO, VINCENZO KAZIMIERZ
To: BLACKBERRY LIMITED
Reel/Frame 059904/0943 →
Continuity (1)
Related Publication 20230359744A1 · Nov 9, 2023
References Cited (18)
US 20150268948A1 · Plate · 2015 [cited by examiner]
US 20180239898A1 · Haerterich et al. · 2018 [cited by applicant]
US 20190050576A1 · Boulton · 2019 [cited by applicant]
US 20200201620A1 · Beard · 2020 [cited by examiner]
US 20210029151A1 · Brooks · 2021 [cited by examiner]
US 20220083652A1 · Ransford · 2022 [cited by examiner]
US 20220337611A1 · Brazao et al. · 2022 [cited by applicant]
US 20220343762A1 · Alvarez · 2022 [cited by examiner]
EP 1376343 · 2004 [cited by applicant]
EP 3716113 · 2020 [cited by applicant]
Extended European Search Report in European Appln. No. 23164627.4, mailed on Sep. 20, 2023, 6 pages. [cited by applicant]
U.S. Appl. No. 17/736,428, filed May 4, 2022, Duggan et al. [cited by applicant]
Grammatech.com [online], “CodeSentry—Software Supply Chain Security Platform” Oct. 2020, [retrieved on Jul. 5, 2022], retrieved from : URL <https://www.grammatech.com/codesentry-sca>, 8 pages. [cited by applicant]
ISO/SAE “Road Vehicles—Cybersecurity Engineering” Final Draft, International Standard, ISO/SAE FDIS 21434, May 2021, 92 pages. [cited by applicant]
The United States Department of Commerce, “The Minimum Elements For a Software Bill of Materials (SBOM)” Pursuant to Executive Order 14028 on Improving the Nation's Cybersecurity, Jul. 12, 2021, 28 pages. [cited by applicant]
Whitehouse.gov [online], “Executive Order on Improving the Nation's Cybersecurity” May 12, 2021 [retrieved on Jul. 5, 2022], retrieved from : URL <https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12… [cited by applicant]
Wikipedia.org [online], “Evaluation Assurance Level” created on Sep. 2004, [retrieved on Jul. 5, 2022], retrieved from : URL <https://en.wikipedia.org/wiki/Evaluation_Assurance_Level>, 6 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 17/736,428, mailed on Jun. 6, 2024, 14 pages. [cited by applicant]
Cited By (3)
US 12,524,232 US 12,632,241 US 12,737,476