GrAVity: a massively parallel antivirus engine

  • Authors:
  • Giorgos Vasiliadis;Sotiris Ioannidis

  • Affiliations:
  • Institute of Computer Science, Foundation for Research and Technology-Hellas, Heraklion, Crete, Greece;Institute of Computer Science, Foundation for Research and Technology-Hellas, Heraklion, Crete, Greece

  • Venue:
  • RAID'10 Proceedings of the 13th international conference on Recent advances in intrusion detection
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the ongoing arms race against malware, antivirus software is at the forefront, as one of the most important defense tools in our arsenal. Antivirus software is flexible enough to be deployed from regular users desktops, to corporate e-mail proxies and file servers. Unfortunately, the signatures necessary to detect incoming malware number in the tens of thousands. To make matters worse, antivirus signatures are a lot longer than signatures in network intrusion detection systems. This leads to extremely high computation costs necessary to perform matching of suspicious data against those signatures. In this paper, we present GrAVity, a massively parallel antivirus engine. Our engine utilized the compute power of modern graphics processors, that contain hundreds of hardware microprocessors. We have modified ClamAV, the most popular open source antivirus software, to utilize our engine. Our prototype implementation has achieved end-toend throughput in the order of 20 Gbits/s, 100 times the performance of the CPU-only ClamAV, while almost completely offloading the CPU, leaving it free to complete other tasks. Our micro-benchmarks have measured our engine to be able to sustain throughput in the order of 40 Gbits/s. The results suggest that modern graphics cards can be used effectively to perform heavy-duty anti-malware operations at speeds that cannot be matched by traditional CPU based techniques.