Attack02 Vulnerable Components
Attack02 Vulnerable Components
Vulnerable Components
Concept
• This lesson will walk through the difficulties with managing
dependent libraries, the risk of not managing those dependencies, and
the difficulty in determining if you are at risk.
• Testing and handling vulnerabilities from old components and or
plugins and security them in chances that there are no updates
available.
Goals
• Gain awareness that the open source consumed is as important as your
own custom code.
• Gain awareness of the management, or lack of management, in our
open source component consumption.
• Understand the importance of a Bill of Materials in determining open
source component risk
The Open Source Ecosystem
• 10+ Million GitHub code repositories
• 1 Million Sourceforge code repositories
• 2500 public binary repositories
• Some repositories have strict publisher standards
• Some repositories enforce source code distribution
• No guarantee the published source code is the source code of the published binary
• Some repositories allow the republishing of a different set of bits for the same
version
• Some repositories allow you to remove published artifacts
• Many different packaging systems; even for the same language
• Different coordinates systems and level of granularity
Knowing the OSS "Bill of Materials" is the
starting point
Questions we should know the answer to:
• How do we know what open source components are in our applications?
• How do we know what versions of open source components we are using?
• How do we define the risk of open source components?
• How do we discover the risk of open source components?
• How do we associate a specific risk to a specific version of an open source component?
• How do we know when a component releases a new version?
• How do we know if a new vulnerability is found on what was previously a "good"
component?
• How do we know if we are using the authentic version of an open source
component?
How do I generate a Bill of Materials
• There are several open source and paid-for solutions that will identify
risk in components. However, there are not many tools that will
deliver a complete list of "ingredients" used within an application.
OWASP Dependency Check provides the ability to generate a bill of
materials and identify potential security risk.