Adobe Systems has released a malware classification tool in order to help security incident first responders, malware analysts and security researchers more easily identify malicious binary files.
The ‘Adobe Malware Classifier’ tool uses machine learning algorithms to classify Windows executable and dynamic link library (DLL) files as clean, malicious or unknown, Adobe security engineer Karthik Raman said in a recent blog post.
Raman originally developed Malware Classifier for in-house use by Adobe’s Product Security Incident Response (PSIRT) Team.
“Part of what we do at PSIRT is respond to security incidents,” Raman said. “Sometimes this involves analyzing malware. To make life easier, I wrote a Python tool for quick malware triage for our team.”
When run, the tool extracts seven key attributes from every analyzed binary file and compares them to data obtained by running the J48, J48 Graft, PART, and Ridor machine-learning algorithms on a set of 100,000 malicious programs and 16,000 clean ones, Raman said.
Adobe has decided to release the Python script publicly under an open source BSD license. It is available for download from SourceForge.
However, various programmers have questioned the quality of the tool’s code on Twitter and other social media websites, because of its heavy use of conditional statements.
The tool’s source code is being discussed on Reddit, under the headline “How not to write python, Part 1 – Thanks Adobe,” but some of the participants have pointed out that the complex conditionals are the result of the direct inclusion of an J48 decision tree classifier.