IP Library Granted Patent US 11,442,701
Granted Patent B2
US 11,442,701 · App. 16/800,581 · Granted Sep 13, 2022

Filtering security controls

Inventors: Danny V. Dhillon (Bothell, WA); Greg W. Lazar (Upton, MA)
Assignee: EMC IP Holding Company LLC
G06F8/20G06F8/10G06F8/75G06F21/577G06Q10/06315
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 11,442,701
App. No.
16/800,581
Granted
Sep 13, 2022
Kind
B2
Abstract

Methods, apparatus, and processor-readable storage media for filtering security controls are provided herein. An example computer-implemented method includes obtaining information pertaining to a software project and a target market of the software project; and identifying, based on the obtained information, at least one security control to be implemented in the software project, from among a plurality of security controls, in order to satisfy at least a threshold level of security defined for the software project, wherein the threshold level of security is based at least in part on one or more security standards related to the target market.

Claims (54)

1. A computer-implemented method comprising:

maintaining (a) a database comprising mappings between (i) a plurality of security controls and (ii) security requirements related to a plurality of security standards, and (b) a plurality of verification methods for at least a given one of the security controls, wherein each respective one of the verification methods verifies whether the given security control satisfies a corresponding one of a plurality of security levels, wherein said maintaining is based at least in a part on a software script that evaluates text of the plurality of security standards to identify overlapping sections;

obtaining information pertaining to a software project and a target market of the software project, wherein the information comprises a diagram comprising a plurality of elements of the software project, wherein the plurality of elements comprises: (i) one or more processes, (ii) one or more storage data locations, and (iii) one or more dataflows between at least some of the plurality of elements of the software project;

identifying, based at least in part on the diagram, one or more of the security controls in the database to be implemented in the software project in order to satisfy at least a threshold level of security defined for the software project, wherein the threshold level of security corresponds to one of the plurality of security levels and is based at least in part on one or more of the plurality of security standards related to the target market;

generating a modified diagram of the software project that visually indicates at least one of the identified security controls with respect to at least one of the plurality of elements;

automatically implementing at least one of the identified security controls in the software project; and

providing the modified diagram and at least one of a plurality of verification methods maintained in the database for the implemented at least one security control that corresponds to the threshold level of security defined for the software project to verify whether the implemented at least one security control satisfies at least the threshold level security level;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

2. The computer-implemented method of claim 1 , wherein at least a portion of the obtained information corresponds to user input provided in response to one or more application profiling questions provided on a graphical user interface.

3. The computer-implemented method of claim 1 , wherein the plurality of elements of the diagram further comprises at least one of: a type of each of the dataflows, and one or more existing security controls.

4. The computer-implemented method of claim 1 , wherein the database maps at least one of the security controls to multiple ones of the security standards to remove overlapping security requirements defined in the plurality of security standards.

5. The computer-implemented method of claim 1 , comprising:

maintaining one or more application criteria for each of the plurality of security controls, wherein the application criteria defines software characteristics that trigger a corresponding one of the security controls and a context in which the corresponding security control is required.

6. The computer-implemented method of claim 5 , wherein the identifying the one or more security controls is based at least in part on the application criteria maintained for each of the plurality of security controls.

7. The computer-implemented method of claim 1 , wherein the threshold level of security is configurable based on user input.

8. The computer-implemented method of claim 1 , wherein the plurality of verification methods for the given security control comprises one or more of:

a self-attestation method;

an automated static analysis method; and

an expert-verification method.

9. The computer-implemented method of claim 1 , comprising:

obtaining user input specifying a change to one or more of the target market and the threshold level for the software project; and

dynamically updating the identified one or more security controls based on the change.

10. The computer-implemented method of claim 1 , comprising:

estimating a complexity to implement the at least one identified security control, wherein the at least one identified security control is automatically implemented in the software project responsive to the estimated complexity satisfying a threshold complexity level.

11. The computer-implemented method of claim 1 , wherein said obtaining comprises:

determining the target market of the software project by identifying one or more portions of software code associated with the software project that correspond to one or more of the plurality of security standards.

12. The computer-implemented method of claim 1 , further comprising:

determining, for a given one of the identified security controls, relevant information for implementing the given security control within the software project, wherein the relevant information comprises at least one of: an estimated complexity for implementing the given security control, one or more code snippets related to the given security control, and one or more software libraries related to the given security control; and

outputting the relevant information to a graphical user interface.

13. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device:

to maintain a database comprising (a) mappings between (i) a plurality of security controls and (ii) security requirements related to a plurality of security standards, and (b) a plurality of verification methods for at least a given one of the security controls, wherein each respective one of the verification methods verifies whether the given security control satisfies a corresponding one of a plurality of security levels, wherein said maintaining is based at least in a part on a software script that evaluates text of the plurality of security standards to identify overlapping sections;

to obtain information pertaining to a software project and a target market of the software project, wherein the information comprises a diagram comprising a plurality of elements of the software project, wherein the plurality of elements comprises: (i) one or more processes, (ii) one or more storage data locations, and (iii) one or more dataflows between at least some of the plurality of elements of the software project;

to identify, based at least in part on the diagram, one or more of the security controls in the database to be implemented in the software project in order to satisfy at least a threshold level of security defined for the software project, wherein the threshold level of security corresponds to one of the plurality of security levels and is based at least in part on one or more of the plurality of security standards related to the target market;

to generate a modified diagram of the software project that visually indicates at least one of the identified security controls with respect to at least one of the plurality of elements;

to automatically implement at least one of the identified security controls in the software project; and

to provide the modified diagram and at least one of a plurality of verification methods maintained in the database for the implemented at least one security control that corresponds to the threshold level of security defined for the software project to verify whether the implemented at least one security control satisfies at least the threshold level security level.

14. The computer program product of claim 13 , wherein:

at least a portion of the obtained information corresponds to user input provided in response to one or more application profiling questions provided on a graphical user interface.

15. The computer program product of claim 13 , wherein the database maps at least one of the security controls to multiple ones of the security standards to remove overlapping security requirements defined in the plurality of security standards.

16. The computer program product of claim 13 , wherein the program code when executed by the at least one processing device causes the at least one processing device:

to maintain one or more application criteria for each of the plurality of security controls, wherein the application criteria defines software characteristics that trigger a corresponding one of the security controls and a context in which the corresponding security control is required, wherein the identifying the at least one security control is based at least in part on the application criteria that is maintained for each of the plurality of security controls.

17. The computer program product of claim 13 , wherein the plurality of elements of the diagram further comprises at least one of: a type of each of the dataflows, and one or more existing security controls.

18. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured:

to maintain (a) a database comprising: mappings between (i) a plurality of security controls and (ii) security requirements related to a plurality of security standards, and (b) a plurality of verification methods for at least a given one of the security controls, wherein each respective one of the verification methods verifies whether the given security control satisfies a corresponding one of a plurality of security levels, wherein said maintaining is based at least in a part on a software script that evaluates text of the plurality of security standards to identify overlapping sections;

to obtain information pertaining to a software project and a target market of the software project, wherein the information comprises a diagram comprising a plurality of elements of the software project, wherein the plurality of elements comprises: (i) one or more processes, (ii) one or more storage data locations, and (iii) one or more dataflows between at least some of the plurality of elements of the software project;

to identify, based at least in part on the obtained information, one or more of the security controls in the database to be implemented in the software project in order to satisfy at least a threshold level of security defined for the software project, wherein the threshold level of security corresponds to one of the plurality of security levels and is based at least in part on one or more of the plurality of security standards related to the target market;

to generate a modified diagram of the software project that visually indicates at least one of the identified security controls with respect to at least one of the plurality of elements;

to automatically implement at least one of the identified security controls in the software project; and

to provide the modified diagram and at least one of a plurality of verification methods maintained in the database for the implemented at least one security control that corresponds to the threshold level of security defined for the software project to verify whether the implemented at least one security control satisfies at least the threshold level security level.

19. The apparatus of claim 18 , wherein at least one of:

the obtained information corresponds to user input provided in response to one or more application profiling questions provide on a graphical user interface.

20. The apparatus of claim 18 , wherein the plurality of elements of the diagram further comprises at least one of: a type of each of the dataflows, and one or more existing security controls.

Assignments (14)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2021
From: LAZAR, GREG W.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055806/0079 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2021
From: DHILLON, DANNY
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055806/0462 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →