OWASP Top Ten and Software Composition Analysis (SCA)

One of the priority areas for PVS-Studio development is to cover categories from the OWASP Top Ten 2017 in the C# analyzer. We also plan to cover the Top Ten 2021 in the future. The most unusual for us is the A9:2017 category: Using Components with Known Vulnerabilities. This category has the A6 position in the preliminary version of OWASP 2021. The rule implementation for this category is an important task for our analyzer. It allows us to classify PVS-Studio as an SCA (Software Composition Analysis) tool. Which approach to implementation should we choose? Let's figure it out!

Using Components With Known Vulnerabilities

The A9 threat category (which turned into A6 in the preliminary OWASP 2021 version) is dedicated to using components with known vulnerabilities. These are the components that have the corresponding entries in the CVE database. CVE (Common Vulnerabilities and Exposures) is a database of records about real-life vulnerabilities in software, hardware, service components, etc.

9 Product Flavors That Fit the Security Needs of the Entire Software Lifecycle

Security needs to be adopted at every stage of the SDLC

Speed to market has been everything in the software development world. But, over time, we’ve discovered that speed alone cannot be the end all be all. The majority of data breaches have to do with web application security vulnerabilities; and therefore, security must become part of the software development equation.

The problem is that most organizations approach security at the end of the software development lifecycle, when it’s often too late or too complicated to fix vulnerabilities. To be effective, security must be integrated throughout each stage of the entire software development lifecycle.

Most Effective AppSec Tools and Techniques

To understand the current and future state of application security, we obtained insights from five IT executives. We asked them, “What are the most effective application security techniques and tools?” Here’s what they told us:

  • Runtime Application Self Protection (RASP) is effective because it actually protects vulnerabilities through automatic remediation without code changes. This leverages insights into applications, applying the right protection where and when it matters.
  • Analyzer engines/scanners tools are continuous watchdogs for production APIs and production applications. We need to always be analyzing. Netflix does 300 production changes per day. They need to constantly look in production. Get away from dependence on operating system agents, proxies, and firewalls. They are non-scalable and are not effective. Automate at scale and look for anomalies. Humans for risk management and policy enforcement (HIPPA, SOX, etc.).
  • There is no single set of effective techniques and tools. As with any field, it is imperative to avoid putting all your eggs into one “technique or tool” basket. You’ll just create a false sense of security. A good security strategy involves looking for vulnerabilities from multiple different angles and handling the risk. Remember the majority of security breaches are done by employees or recent ex-employees, not hackers (source: 2018 IT Risks report). That means effective modeling of your release process and setting up a bulletproof role-based access control scheme is very important for controlling these internal threats.
  • Many of the techniques mandated by PCI are the foundations of a good security posture — regular vulnerability scans, penetration testing, risk assessments, and ethical hacking go a long way. During these processes, open-source tools like Nmap, Wireshark, P0f and Argus can help.
  • Technologies that analyze apps throughout the lifecycle from the beginning to end.
    Three technologies: 1) SAST (static application analysis) analyzes applications for the existence of vulnerabilities, 2) DAST (dynamic application security testing)  analyses application behavior at runtime, and 3) SCA (static code analysis) detects open source components with vulnerabilities. Fewer than 50% of enterprises adopt these technologies. They keep buying firewalls. Those that have invested are not testing the entire portfolio of applications, just one or two, so most vulnerabilities are not fixed. I have not seen any company investing enough to test all of its applications. They keep doing what they’ve been doing for years — buying firewalls. The government is doing nothing to stop the attacks. 140 million records of Americans are available to hackers stealing money and performing malicious actions. This is a direct result of our negligence and our stupidity of not protecting applications.

Here’s who shared their insights:

Why Do Only 37% of Companies Have Open Source Management Solutions?

Open source turned 21 this year, following the launch of the Open Source Initiative in February 1998. With that milestone comes maturity: resilience, responsibility, approachability, and growth. Open source software (OSS) is ubiquitous and for a very good reason: it helps companies innovate better and faster. But there are still risks inherent in version updates, bug reports, patches and more.

These risks can be identified and managed through open source audits. I’ve been working in open source software (OSS) for a very long time. Just ten years ago, audits of OSS were considered optional parts of due diligence or adjunct to acquisitions. Today, they’re no longer optional. They reveal answers about who wrote the OSS, where it is deployed, any existing issues, and whether or not the issues have been fixed.