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. 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 analysing 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 analysed 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 licence. It is available for download from SourceForge.
However, various programmers have questioned the quality of the tool's code 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.