# Finding Non-trivial Malware Naming Inconsistencies

## Authors

Federico Maggi, Andrea Bellini, Guido Salvaneschi, Stefano Zanero
## Venue

Proceedings of the 7th International Conference on Information Systems Security (ICISS), December 2011
## Abstract

Malware analysts, and in particular antivirus vendors, never agreed on a single naming convention for malware specimens. This leads to confusion and difficultyâ€”more for researchers than for practitionersâ€”for example, when comparing coverage of different antivirus engines, when integrating and systematizing known threats, or comparing the classifications given by different detectors. Clearly, solving naming inconsistencies is a very difficult task, as it requires that vendors agree on a unified naming convention. More importantly, solving inconsistencies is impossible without knowing exactly where they are. Therefore, in this paper we take a step back and concentrate on the problem of finding inconsistencies. To this end, we first represent each vendor’s naming convention with a graph-based model. Second, we give a precise definition of inconsistency with respect to these models. Third, we define two quantitative measures to calculate the overall degree of inconsistency between vendors. In addition, we propose a fast algorithm that finds non-trivial (i.e., beyond syntactic differences) inconsistencies. Our experiments on four major antivirus vendors and 98,798 real-world malware samples confirm anecdotal observations that different vendors name viruses differently. More importantly, we were able to find inconsistencies that cannot be inferred at all by looking solely at the syntax.

## BibTeX

@inproceedings{Maggi2011Finding_Non-trivial,
title = {{Finding Non-trivial Malware Naming Inconsistencies}},
author = {Maggi, Federico and Bellini, Andrea and Salvaneschi, Guido and Zanero, Stefano},
booktitle = {Proceedings of the 7th International Conference on Information Systems Security},
series = {ICISS},
month = {December},
year = {2011},
pages = {144--159},
publisher = {Springer-Verlag},
volume = {7093}
}