Application Security is hard when security is separated from your DevOps flow.
Security has traditionally been the final hurdle in the development life cycle. Iterative development workflows can make security a release bottleneck. Your team doesn't have enough people to test all of your code, and hiring more analysts won't automatically reduce the friction between your app sec and engineering teams.
Only testing major releases, or limiting tests to certain apps, leaves weak spots hackers can exploit. You need a way to balance risk and business agility.
Instead of waiting for security at the end of the development process, you can include it with your DevOps workflow. You need DevSecOps process.
integrates security controls and best practices in the DevOps workflow. DevSecOps automates security and compliance workflows to create an adaptable process for your development and security teams.
Why is DevSecOps needed?
Balancing business velocity
with security is possible. With GitLab, DevSecOps architecture is built into the CI/CD process. Every merge request is scanned through its pipeline for security issues and vulnerabilities in your code and its dependencies using automated tests. This enables some magic to happen.
Benefits of DevSecOps
Every piece of code
is tested upon commit for security threats, without incremental cost.
can remediate now, while they are still working in that code, or create an issue with one click.
for the security pro is a roll-up of vulnerabilities remaining that the developer did not resolve on their own.
can be efficiently captured as a by-product of software development.
A single tool
also reduces cost over the approach to buy, integrate and maintain point solutions throughout the DevOps pipeline.
What Are The GitLab Advantages?
Unlike traditional application security tools primarily intended for use by security pros, GitLab secure code capabilities are built into the
where the developers live. We empower developers to identify vulnerabilities and remove them early in the development cycles. While at the same time, providing security professionals a dashboard to view items not already resolved by the developer, across projects. This contextual approach helps each role deal with items that are most important and most relevant to their scope of work within the delivery process.
Congruent with DevOps processes.
GitLab secure capabilities support the decision-makers, within their natural workflow. Reports are interactive, actionable, and iterative and most important immediate and relevant to changes made. Developers immediately see the cause and affect of their own specific changes so they may iteratively address security flaws alongside code flaws.
Integrated with DevOps tools.
When triaging vulnerabilities, users can confirm (creating an issue to solve the problem), or dismiss them (in case they are false positives or there are compensating controls). When using GitLab, no additional integration is needed between app sec and ticketing, CI/CD, etc.
Efficient and automated.
Eliminates mundane work wherever possible.
applies patches to vulnerable dependencies and even re-runs the pipeline to evaluate the viability of the patch.
Static Application Security Testing (SAST):
early in the development process, allowing to be fixed before deployment
Dynamic Application Security Testing (DAST):
Once code is deployed,
exposure to your application from a new set of possible attacks as you are running your web applications
Automatically finds security vulnerabilities in your
while you are developing and testing your applications, such as when you are using an external (open source) library with known vulnerabilities
images for known vulnerabilities
aims to automated vulnerability solution flow, and automatically create a fix. The fix is then tested, and if it passes all the tests already defined for the application, it is deployed to production.
There are several types of
that need to be protected. Each commit is scanned for secrets within SAST.
IAST and Fuzzing:
Future features GitLab will be adding to its Security capabilities, see the visions for
Continuous security testing within CI/CD
Static Application Security Testing (SAST)
Scan the application source code and binaries to spot potential vulnerabilities.
Because these open source tools are installed as part of GitLab Ultimate, there are no added costs.
Vulnerabilities are shown in-line with every merge request and results are collected and presented as a single report.
Evaluate vulnerabilities from the GitLab pipeline and dismiss or create an issue with one click.
Dynamic Application Security Testing (DAST)
Dynamic scanning earlier in the SDLC than ever possible, by leveraging the review app CI/CD capability of GitLab.
Test running web applications for known runtime vulnerabilities.
Users can provide HTTP credentials to test private areas.
Vulnerabilities are shown in-line with every merge request.
Analyze external dependencies (e.g. libraries like Ruby gems) for known vulnerabilities on each code commit with GitLab CI/CD.