Hubbry Logo
search
logo

Software composition analysis

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
Software composition analysis

Software composition analysis (SCA) is a practice in the fields of Information technology and software engineering for analyzing custom-built software applications to detect embedded open-source software and detect if they are up-to-date, contain security flaws, or have licensing requirements.

It is a common software engineering practice to develop software by using different components. Using software components segments the complexity of larger elements into smaller pieces of code and increases flexibility by enabling easier reuse of components to address new requirements. The practice has widely expanded since the late 1990s with the popularization of open-source software (OSS) to help speed up the software development process and reduce time to market.

However, using open-source software introduces many risks for the software applications being developed. These risks can be organized into 5 categories:

Shortly after the foundation of the Open Source Initiative in February 1998, the risks associated with OSS were raised and organizations tried to manage this using spreadsheets and documents to track all the open source components used by their developers.

For organizations using open-source components extensively, there was a need to help automate the analysis and management of open source risk. This resulted in a new category of software products called Software Composition Analysis (SCA) which helps organizations manage open source risk. SCA strives to detect all the 3rd party components in use within a software application to help reduce risks associated with security vulnerabilities, IP licensing requirements, and obsolescence of components being used.

SCA products typically work as follows:

Since the early 2010s, researchers have developed several advanced techniques to improve the accuracy and efficiency of SCA tools:

Vulnerable method analysis addresses the problem of determining whether a vulnerability in a third-party library poses an actual risk to an application. Rather than simply detecting the presence of vulnerable libraries, this technique analyzes whether the specific vulnerable methods within those libraries are reachable from the application's execution paths. The method was invented and first implemented at SourceClear under the leadership of Asankhaya Sharma between 2015 and 2017. The approach involves constructing call graphs that map the relationships between application code and library methods, then determining if there exists a path from application entry points to vulnerability-specific sinks in the libraries.

See all
User Avatar
No comments yet.