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.
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.
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."
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.