2
code intelligence Introducing the CI Security Suite The CI Security Suite, developed by Code Intelligence, is a state-of-the-art security testing software combining feedback-based fuzzing technology with concolic execution. It offers easy IDE integration that saves developers’ time and effort while drastically improving the stability and reliability of the codebase. Why CI Security Suite? Get access to state-of-the-art technology: our software is based on the latest academic research Achieve reliable testing results: CI Security Suite combines dynamic and static analysis approaches to eliminate false positives. Results of the static analysis are used to prepare the code for dynamic analysis. Improve the discovery of vulnerabilities: the usage of feedback-based fuzzing technology allows to cover more code with higher efficiency (improve code coverage). No additional effort: we offer a plugin that seamlessly integrates into your favorite IDE. Maximise your productivity: browse and replay the found bugs and fix them more quickly Test when and where you need it: fast and reliable source code testing available on-demand integrates into your CI/CD process. Technical features Based on feedback-based fuzzing and concolic execution Combines several fuzzing engines: AFL++, libfuzzer with sanitizers and hongfuzz Additionally includes classic fuzzing approaches generating patterns such as radamsa Utilizes grammar-aware fuzzing for structured inputs Uses a framework similar to Qsym and Driller for concolic execution Includes, where applicable, APIs and network sockets into testing Methods used Initial static analysis: Our software scans the source code to identify which parts of the code can be tested dynamically. The resulting “fuzz this function” links are displayed directly in the user’s interface. Furthermore, if our static analysis identifies external interfaces such as sockets or external API functions, we recommend fuzzing those interfaces.

code intelligence€¦ · code intelligence Introducing the CI Security Suite The CI Security Suite, developed by Code Intelligence, is a state-of-the-art security testing software

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

code intelligence

Introducing the CI Security SuiteThe CI Security Suite, developed by Code Intelligence, is a state-of-the-art security testing software combining feedback-based fuzzing technology with concolic execution. It offers easy IDE integration that saves developers’ time and effort while drastically improving the stability and reliability of the codebase.

Why CI Security Suite?• Get access to state-of-the-art technology: our software is based on the latest academic research

• Achieve reliable testing results: CI Security Suite combines dynamic and static analysis approaches to eliminate false positives. Results of the static analysis are used to prepare the code for dynamic analysis.

• Improve the discovery of vulnerabilities: the usage of feedback-based fuzzing technology allows to cover more code with higher efficiency (improve code coverage).

• No additional effort: we offer a plugin that seamlessly integrates into your favorite IDE.

• Maximise your productivity: browse and replay the found bugs and fix them more quickly

• Test when and where you need it: fast and reliable source code testing available on-demand integrates into your CI/CD process.

Technical features• Based on feedback-based fuzzing and concolic execution

• Combines several fuzzing engines: AFL++, libfuzzer with sanitizers and hongfuzz

• Additionally includes classic fuzzing approaches generating patterns such as radamsa

• Utilizes grammar-aware fuzzing for structured inputs

• Uses a framework similar to Qsym and Driller for concolic execution

• Includes, where applicable, APIs and network sockets into testingMethods used• Initial static analysis: Our software scans the source code to identify which parts of the code can be tested dynamically.

The resulting “fuzz this function” links are displayed directly in the user’s interface. Furthermore, if our static analysis identifies external interfaces such as sockets or external API functions, we recommend fuzzing those interfaces.

Code Intelligence GmbHRheinwerkallee 6

53227 Bonn

www.code-intelligence.com

Follow us@CI_GmbH

company/codeintelligence/

ContactPhilipp Langnickel

+49 157 37 64 9114

[email protected]

code intelligence

• Dynamic testing: The application is tested during its execution. The output derived in the fuzzing process is analyzed and continuously used as input for subsequent test runs. Due to execution testing, virtually all vulnerabilities can be discovered and the number of false positives practically reduced to zero.

UsabilityCI Security Suite offers an easy to use interface to apply these advanced technologies. No advanced technical knowledge of fuzzing is required. Instead, users just define which functions or interfaces (e.g. network sockets) they want to have tested and our software does the rest.

We offer an IDE plugin that displays which parts of the code have been reached by the fuzzer and visualizes the fuzzing process. Found crashes can also be replayed by starting the IDE’s debugger with the input causing the crash. Alternatively, you can interact with the core software using the command line.

Continuous integration Our software easily integrates into a standard CI / CD workflow such as Jenkins, the fuzz tests are run automatically with each new code change and incidents are reported timely. We also handle special requests for fuzzing on a Kubernetes cluster.

Use casesEnhancing unit tests with fuzzing

Due to the feedback-based fuzzing approach, our software can easily reach higher code coverage and discover more bugs and vulnerabilities without slowing down the development process.

WebService Fuzzing

We offer solutions for automated testing of various WebService Applications, e.g. based on J2EE or Spring Boot. Due to the feedback-based approach, we reach higher code coverage and find more bugs than conventional unit and integration testing frameworks. Additionally to classic test case assertions, our detection engine finds security-critical vulnerabilities or crashes due to missing exception handling, out-of-memory crashes, infinite loops, insecure deserialization and sensitive data exposures.

Fuzzing interfaces: e.g. sockets

For socket fuzzing, we use our custom library where all socket reads from the network are redirected to in-process buffers provided by the fuzzing engine. This way the users are able to test not only their internal APIs, but also the actual interfaces accessible by attackers, by simply stating which port the fuzzing input will go to.