Active testing techniques for identifying vulnerabilities in computing interfaces using dependency resolution
Systems and methods for resolving dependencies of computing interfaces. An example method includes identifying at least one example value with respect to a specification of a first computing interface, wherein each of the at least one example value is a value included in a respective request to the first computing interface; and linking the first computing interface to at least one second computing interface based on the identified at least one example value.
1 . A method of detection and mitigation of vulnerabilities in a computer system having a set of computing interfaces, comprising:
resolving a dependency between a first computing interface and a second computing interface of the computer system by: (i) identifying an example value with respect to a specification of the first computing interface, wherein the example value is a value included in a request to the first computing interface, and (ii) linking the first computing interface to the second computing interface based on the identified example value;
based on the resolved dependency, running a test on one of: the first computing interface, and the second computing interface;
based on the results of the test, identifying a vulnerability; and
based on the identified vulnerability, taking a given mitigation action.
2 . The method as described in claim 1 , wherein the detection is carried out in a pre-production environment before the first or second computing interfaces are deployed against external programs and systems.
3 . The method as described in claim 2 , wherein the pre-production environment is a Continuous Integration and Continuous Development (CI/CD) pipeline.
4 . The method as described in claim 1 , further including generating a dependency graph that includes a set of nodes and edges.
5 . The method as described in claim 4 , wherein the first and second computing interfaces are nodes in the dependency graph, and the resolved dependency is an edge of the dependency graph.
6 . The method as described in claim 1 , wherein the given mitigation action includes signaling a cybersecurity tool to instantiate a mitigation action.
7 . The method as described in claim 1 , wherein the first and second computing interfaces are Application Programming Interfaces (APIs).
8 . The method as described in claim 1 , wherein the specification is one of: information provided by a creator or operator of the first computing interface, information collected in response to traffic sent to and from the first computing device during testing, and combinations thereof.
9 . The method as described in claim 1 , wherein the vulnerability is a broken object level authentication (BOLA) vulnerability.
10 . The method as described in claim 1 , wherein the given mitigation action is taken before the first computing interface is deployed in a production environment.
11 . A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process of detecting and mitigating vulnerabilities in a computer system having a set of computing interfaces, the process comprising:
resolving a dependency between a first computing interface and a second computing interface of the computer system by: (i) identifying an example value with respect to a specification of the first computing interface, wherein the example value is a value included in a request to the first computing interface, and (ii) linking the first computing interface to the second computing interface based on the identified example value;
based on the resolved dependency, running a test on one of: the first computing interface, and the second computing interface;
based on the results of the test, identifying a vulnerability; and
based on the identified vulnerability, taking a given mitigation action.
12 . A system for detecting and mitigating vulnerabilities in a computer system having a set of computing interfaces, comprising:
a processing circuitry; and
a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:
resolve a dependency between a first computing interface and a second computing interface of the computer system by: (i) identifying an example value with respect to a specification of the first computing interface, wherein the example value is a value included in a request to the first computing interface, and (ii) linking the first computing interface to the second computing interface based on the identified example value;
based on the resolved dependency, run a test on one of: the first computing interface, and the second computing interface;
based on the results of the test, identify a vulnerability; and
based on the identified vulnerability, take a given mitigation action.
13 . The system as described in claim 12 , wherein the given mitigation action is taken before the first computing interface is deployed in a production environment.
14 . The system as described in claim 12 , wherein the detection is carried out in a pre-production environment before the first or second computing interfaces are deployed against external programs and systems.
15 . The system as described in claim 12 , wherein the first and second computing interfaces are Application Programming Interfaces (APIs).
16 . The system as described in claim 12 , wherein the specification is one of: information provided by a creator or operator of the first computing interface, information collected in response to traffic sent to and from the first computing device during testing, and combinations thereof.
17 . The system as described in claim 12 , wherein the given mitigation action includes signaling a cybersecurity tool to control a mitigation action.
18 . The system as described in claim 12 , wherein the example value is a value having an entropy above a threshold.