Exploring DevSecOps Tools for SAP BTP

Objective

After completing this lesson, you will be able to explain how code scanning for security vulnerabilities functions within the SAP landscape.

DevSecOps Tools for SAP BTP

Static Application Security Testing (SAST)

Static Application Security Testing (SAST) is a white-box testing method in software development and security. It involves analyzing the source code, byte code, or binary code of an application without executing the program. The primary goal of SAST is to identify security vulnerabilities, flaws, and weaknesses in the early stages of the development lifecycle, providing developers with the opportunity to address these issues before the code is deployed.

SAST tools operate on the application's source code and use techniques such as data flow analysis, control flow analysis, and pattern matching to detect a wide range of security vulnerabilities including SQL injection, cross-site scripting, buffer overflows, and more. By integrating SAST into the continuous integration/continuous deployment (CI/CD) pipeline, development teams can automate security checks and improve the overall security posture of their applications.

SAST tools for securing SAP applications:   

Here are two main SAST tools tailored for the ABAP platform:​

  1. SAP Code Vulnerability Analyzer (CVA) is an integrated tool provided by SAP. It is designed to analyze ABAP code for potential security vulnerabilities. CVA works by scanning the source code within the SAP environment, identifying security flaws such as injection vulnerabilities, cross-site scripting (XSS), and other security weaknesses specific to SAP applications.​
  2. ABAP Test Cockpit (ATC) is a built-in tool provided by SAP for the static analysis of ABAP code. It allows developers to perform static code checks to ensure compliance with coding standards and detect potential run time errors, performance issues, and security vulnerabilities. ATC can be integrated into the development process to enforce secure coding guidelines.​

Dynamic Application Security Testing (DAST)

Dynamic Application Security Testing (DAST), on the other hand, is a black-box testing method. It analyzes an application in its running state, simulating attacks to find vulnerabilities that could be exploited in real-world scenarios. Unlike SAST, DAST does not require access to the application's source code. Instead, it tests the application from the outside by interacting with its front-end and back-end components, typically through the same interfaces users interact with.

DAST tools perform various checks such as attempting SQL injections, cross-site scripting attacks, command injections, and other malicious inputs to identify how the application responds to these threats. This form of testing helps in uncovering configuration errors, runtime vulnerabilities, and flaws that arise in the live environment.

DAST tools for securing SAP applications:   

There aren't any SAP DAST tools designed specifically for SAP applications, but there are numerous tools available for scanning JS and Node.JS code which form the foundation for CAP apps (for example, SonarQube or ESLint with appropriate plugins).

The figure shows the ABAP Test Cockpit (ATC) deployment architecture.

The ABAP Test Cockpit Deployment Architecture diagram shows the integration of SAP GUI and Eclipse ADT with the ATC, which performs various checks such as security and performance on connected systems while interacting with Solution Manager for result extraction.