Malicious or Vulnerable Docker Images Widespread, Firm Says
A dynamic analysis of the publicly available images on Docker Hub found that 51% had critical vulnerabilities and about 6,500 of the 4 million latest images could be considered malicious.
December 1, 2020
More than half of the latest images available on Docker Hub have critical vulnerabilities from outdated software, while thousands of images are attack tools or other potentially dangerous software, according to an analysis of 4 million images published on Dec. 1 by Prevasio, a security startup.
Among the most serious threats published to Docker Hub as images are more than 6,400 cryptominers, malicious JavaScript packages, hacking tools, and Windows malware. Only one-fifth of the 4 million images tested by the firm had no disclosed vulnerabilities, while 51% had at least one critical vulnerability and 13% had at least on high-severity vulnerability.
Companies should consider Docker containers as part of their supply chain that needs protecting, says Rony Moshkovich, CEO and co-founder of Prevasio.
"Every month there is some bad guy upping their game and utilizing more containers as part of their attack," he says. "We expect it to be more prevalent, because it is very easy to use a Docker container to trick a target into building the attack tools inside their own network."
The software supply chain has become a greater focus of security efforts, as attackers have begun to exploit weaknesses to slip malicious software past perimeter security and onto employees' computers.
In April, researchers at ReversingLabs found that attackers had polluted the RubyGem repository with more than 760 malicious packages that had names similar to legitimate libraries for the Ruby programming language. The variant of "typosquatting" attempts to capitalize on typing mistakes by developers.
In another case in 2018, an attacker gained access to the code of event-stream, a popular JavaScript package hosted on the Node Package Manager (NPM) repository, and added malicious Bitcoin-stealing functionality. The malicious code went undetected for about two months.
Docker containers are often home for outdated — and vulnerable — software. In a paper released in October, researchers found that the containers used for medical imaging analysis had an average of 320 vulnerabilities, with 20% having at least one high-risk vulnerability.
The business world is usually not much better, Alex Eckelberry, a security expert and adviser to Prevasio, said in a statement. "Docker adoption has become a standard for enterprise-class complex applications in the corporate world, with the majority of large enterprises implementing Docker containers in some form," he said. "With containerization now ubiquitous, the attack surface has increased exponentially, and the results of this analysis should be of concern to any enterprise customer."
Prevasio used a dynamic sandbox system to download and build images into Docker containers and then run the containers to detect vulnerabilities and malicious behavior. The company downloaded all the images hosted on Docker Hub, which currently boasts almost 4.3 million, images, focusing on the latest version of each image.
The effort took 800 virtual hosts nearly a month running in parallel, the company said.
About 10% of the images didn't have tags and could not be downloaded, so they were excluded from the analysis. A total of 6,433 images, about 0.16% of Docker Hub, had some malicious or suspicious behavior identified by the open source scanner ClamAV, with hundreds of images manually verified to exclude false positives, the company stated in its report.
"We have covered a lot of malicious images that, under static analysis, do not have malware — instead, [they download] malicious code at runtime," says Sergei Shevchenko, CTO and co-founder of Prevasio. "The only way to catch these dynamic threats is to do runtime analysis and dynamic testing."
The scanning effort is not without precedent. Software composition analysis companies regularly scan repositories, such as the Node Package Manager (NPM) for Node.js JavaScript applications, the Python Package Index (PyPI) for the Python programming language, and RubyGems for Ruby applications. And vulnerability scanning service Snyk has partnered with Docker to regularly scan images for known vulnerabilities.
A number of research project have also tackled the problem. While Python, for example, has been targeted by attackers in the past, a recent scan of the Sync PyPI repository, for example, only found three potentially malicious packages. Snyk and another company, xs:code, have teamed up to create a browser plugin to identify vulnerable open source projects to developers.
About the Author
You May Also Like
Applying the Principle of Least Privilege to the Cloud
Nov 18, 2024The Right Way to Use Artificial Intelligence and Machine Learning in Incident Response
Nov 20, 2024Safeguarding GitHub Data to Fuel Web Innovation
Nov 21, 2024The Unreasonable Effectiveness of Inside Out Attack Surface Management
Dec 4, 2024