{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,12]],"date-time":"2025-10-12T04:14:12Z","timestamp":1760242452287,"version":"build-2065373602"},"reference-count":35,"publisher":"MDPI AG","issue":"9","license":[{"start":{"date-parts":[[2017,8,27]],"date-time":"2017-08-27T00:00:00Z","timestamp":1503792000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Symmetry"],"abstract":"<jats:p>Increasingly sophisticated antivirus (AV) software and the growing amount and complexity of malware demand more processing power from personal computers, specifically from the central processor unit (CPU). This paper conducted performance tests with Clam AntiVirus (ClamAV) and improved its performance through parallel processing on multiple cores using the Open Multi-Processing (OpenMP) library. All the tests used the same dataset constituted of 1.33 GB of data distributed among 2766 files of different sizes. The new parallel version of ClamAV implemented in our work achieved an execution time around 62% lower than the original software version, reaching a speedup of 2.6 times faster. The main contribution of this work is to propose and implement a new version of the ClamAV antivirus using parallel processing with OpenMP, easily portable to a variety of hardware platforms and operating systems.<\/jats:p>","DOI":"10.3390\/sym9090172","type":"journal-article","created":{"date-parts":[[2017,8,28]],"date-time":"2017-08-28T12:08:37Z","timestamp":1503922117000},"page":"172","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Endpoint Security in Networks: An OpenMP Approach for Increasing Malware Detection Speed"],"prefix":"10.3390","volume":"9","author":[{"given":"Igor","family":"Forain","sequence":"first","affiliation":[{"name":"Decision Technologies Laboratory-LATITUDE, Electrical Engineering Department (ENE), Technology College, University of Bras\u00edlia (UnB), PO Box 4386 CEP 70910-900, Bras\u00edlia, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6717-3374","authenticated-orcid":false,"given":"Robson","family":"De Oliveira Albuquerque","sequence":"additional","affiliation":[{"name":"Decision Technologies Laboratory-LATITUDE, Electrical Engineering Department (ENE), Technology College, University of Bras\u00edlia (UnB), PO Box 4386 CEP 70910-900, Bras\u00edlia, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ana","family":"Sandoval Orozco","sequence":"additional","affiliation":[{"name":"Group of Analysis, Security and Systems (GASS), Department of Software Engineering and Artificial Intelligence (DISIA), Universidad Complutense de Madrid (UCM), 28040 Madrid, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7573-6272","authenticated-orcid":false,"given":"Luis","family":"Garc\u00eda Villalba","sequence":"additional","affiliation":[{"name":"Group of Analysis, Security and Systems (GASS), Department of Software Engineering and Artificial Intelligence (DISIA), Universidad Complutense de Madrid (UCM), 28040 Madrid, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0117-8102","authenticated-orcid":false,"given":"Tai-Hoon","family":"Kim","sequence":"additional","affiliation":[{"name":"Department of Convergence Security, Sungshin Women\u2019s University, 249-1 Dongseon-Dong 3-ga, Seoul 136-742, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2017,8,27]]},"reference":[{"key":"ref_1","unstructured":"Kolbitsch, C., Comparetti, P.M., Kruegel, C., Kirda, E., Zhou, X.Y., and Wang, X. (2009, January 10\u201314). Effective and Efficient Malware Detection at the End Host. Proceedings of the USENIX Security Symposium, Montreal, QC, Canada."},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Yen, T.F., Heorhiadi, V., Oprea, A., Reiter, M.K., and Juels, A. (2014, January 3\u20137). An Epidemiological Study of Malware Encounters in a Large Enterprise. Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security, Scottsdale, AZ, USA.","DOI":"10.1145\/2660267.2660330"},{"key":"ref_3","unstructured":"Vinod, P., Jaipur, R., Laxmi, V., and Gaur, M. (2009, January 17\u201319). Survey on Malware Detection Methods. Proceedings of the 3rd Hackers\u2019 Workshop on Computer and Internet Security (IITKHACK\u201909), Department of Computer Science and Engineering, Prabhu Goel Research Centre for Computer and Internet Security, IIT, Kanpur."},{"key":"ref_4","unstructured":"Idika, N., and Mathur, A.P. (2017, February 02). A Survey of Malware Detection Techniques. Available online: http:\/\/profsandhu.com\/cs5323s17\/im2007.pdf."},{"key":"ref_5","first-page":"304","article-title":"Network Based Anti-virus technology for Real-time scanning","volume":"9","author":"Vasumathi","year":"2012","journal-title":"Int. J. Comput. Sci. Issues"},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Vasiliadis, G., and Ioannidis, S. (2010, January 15\u201317). Gravity: A Massively Parallel Antivirus Engine. Proceedings of the International Workshop on Recent Advances in Intrusion Detection, Ottawa, ON, Canada.","DOI":"10.1007\/978-3-642-15512-3_5"},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"187","DOI":"10.1109\/JCN.2011.6157418","article-title":"SplitScreen: Enabling Efficient, Distributed Malware Detection","volume":"13","author":"Cha","year":"2011","journal-title":"J. Commun. Netw."},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"74","DOI":"10.1109\/4434.708258","article-title":"Approaches for Integrating Task and Data Parallelism","volume":"6","author":"Bal","year":"1998","journal-title":"IEEE Concurr."},{"key":"ref_9","unstructured":"Ali, A., Dastgeer, U., and Kessler, C. (2012, January 23\u201326). OpenCL for Programming Shared Memory Multicore CPUs. Proceedings of the 5th Workshop on MULTIPROG, Paris, France."},{"key":"ref_10","unstructured":"Chapman, B., Jost, G., and Van Der Pas, R. (2008). Using OpenMP: Portable Shared Memory Parallel Programming, MIT Press."},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"562","DOI":"10.1016\/j.parco.2011.02.002","article-title":"High Performance Computing using MPI and OpenMP on Multi-core Parallel Systems","volume":"37","author":"Jin","year":"2011","journal-title":"Parallel Comput."},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Terboven, C., Schmidl, D., Jin, H., Reichstein, T., and Mey, D. (2008, January 5\u20137). Data and Thread Affinity in Openmp Programs. Proceedings of the Workshop on Memory Access on Future Processors: A Solved Problem?, Ischia, Italy.","DOI":"10.1145\/1366219.1366222"},{"key":"ref_13","unstructured":"Komatsu, K., Sato, K., Arai, Y., Koyama, K., Takizawa, H., and Kobayashi, H. (2010, January 22\u201325). Evaluating Performance and Portability of OpenCL Programs. Proceedings of the Fifth International Workshop on Automatic Performance Tuning, Berkeley, CA, USA."},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Xu, R., Chandrasekaran, S., and Chapman, B. (2013, January 20\u201324). Exploring programming multi-GPUs using OpenMP and OpenACC-based hybrid model. Proceedings of the 2013 IEEE 27th International Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), Cambridge, MA, USA.","DOI":"10.1109\/IPDPSW.2013.263"},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Shen, J., Fang, J., Sips, H., and Varbanescu, A.L. (2012, January 10\u201313). Performance Gaps between OpenMP and OpenCL for Multi-Core CPUs. Proceedings of the 41st International Conference on Parallel Processing Workshops (ICPPW), Pittsburgh, PA, USA.","DOI":"10.1109\/ICPPW.2012.18"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Liao, C., Liu, Z., Huang, L., and Chapman, B. (2008). Evaluating OpenMP on Chip Multithreading Platforms. OpenMP Shared Memory Parallel Programming, Springer.","DOI":"10.1007\/978-3-540-68555-5_15"},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"69","DOI":"10.1145\/2788396","article-title":"A survey of CPU-GPU heterogeneous computing techniques","volume":"47","author":"Mittal","year":"2015","journal-title":"ACM Comput. Surv."},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Sabne, A., Sakdhnagool, P., Lee, S., and Vetter, J.S. (2014, January 15\u201317). Evaluating performance portability of OpenACC. Proceedings of the International Workshop on Languages and Compilers for Parallel Computing, Raleigh, NC, USA.","DOI":"10.1007\/978-3-319-17473-0_4"},{"key":"ref_19","unstructured":"(2017, May 03). ClamAV Anti-Virus. Available online: http:\/\/www.clamav.net."},{"key":"ref_20","unstructured":"Miretskiy, Y., Das, A., Wright, C.P., and Zadok, E. (2004, January 9\u201313). Avfs: An On-Access Anti-Virus File System. Proceedings of the USENIX Security Symposium, San Diego, CA, USA."},{"key":"ref_21","unstructured":"Oberheide, J., Cooke, E., and Jahanian, F. (August, January 28). CloudAV: N-Version Antivirus in the Network Cloud. Proceedings of the USENIX Security Symposium, San Jos\u00e9, CA, USA."},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Huang, N.F., and Tsai, W.Y. (2010, January 23\u201327). SHOCK: A Worst-Case Ensured Sub-Linear Time Pattern Matching Algorithm for Inline Anti-Virus Scanning. Proceedings of the IEEE International Conference on Communications (ICC), Cape Town, South Africa.","DOI":"10.1109\/ICC.2010.5501986"},{"key":"ref_23","doi-asserted-by":"crossref","first-page":"333","DOI":"10.1145\/360825.360855","article-title":"Efficient string Mmtching: An aid to bibliographic search","volume":"18","author":"Aho","year":"1975","journal-title":"Commun. ACM"},{"key":"ref_24","unstructured":"Wu, S., and Manber, U. (1994). A fast algorithm for multi-pattern searching, Department of Computer Science, University of Arizona. Technical Report TR-94-17."},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"762","DOI":"10.1145\/359842.359859","article-title":"A Fast String Searching Algorithm","volume":"20","author":"Boyer","year":"1977","journal-title":"Commun. ACM"},{"key":"ref_26","doi-asserted-by":"crossref","unstructured":"Che, S., Boyer, M., Meng, J., Tarjan, D., Sheaffer, J.W., Lee, S.H., and Skadron, K. (2009, January 4\u20136). Rodinia: A benchmark Suite for Heterogeneous Computing. Proceedings of the IEEE International Symposium on Workload Characterization, Austin, TX, USA.","DOI":"10.1109\/IISWC.2009.5306797"},{"key":"ref_27","doi-asserted-by":"crossref","unstructured":"Schmidl, D., Cramer, T., Wienke, S., Terboven, C., and M\u00fcller, M.S. (2013, January 26\u201330). Assessing the performance of openmp programs on the intel xeon phi. Proceedings of the European Conference on Parallel Processing, Aachen, Germany.","DOI":"10.1007\/978-3-642-40047-6_56"},{"key":"ref_28","doi-asserted-by":"crossref","unstructured":"Curtis-Maury, M., Ding, X., Antonopoulos, C.D., and Nikolopoulos, D.S. (2008). An evaluation of OpenMP on current and emerging multithreaded\/multicore processors. OpenMP Shared Memory Parallel Programming, Springer.","DOI":"10.1007\/978-3-540-68555-5_11"},{"key":"ref_29","doi-asserted-by":"crossref","unstructured":"Iancu, C., Hofmeyr, S., Blagojevi\u0107, F., and Zheng, Y. (2010, January 19\u201323). Oversubscription on multicore processors. Proceedings of the 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS), Atlanta, GA, USA.","DOI":"10.1109\/IPDPS.2010.5470434"},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"50","DOI":"10.1504\/IJSN.2007.012824","article-title":"Hash-AV: Fast virus signature scanning by cache-resident filters","volume":"2","author":"Erdogan","year":"2007","journal-title":"Int. J. Secur. Netw."},{"key":"ref_31","doi-asserted-by":"crossref","unstructured":"Ho, J.T.L., and Lemieux, G.G. (2008, January 20\u201322). PERG: A Scalable FPGA-Based Pattern-Matching Engine with Consolidated Bloomier Filters. Proceedings of the International Conference on ICECE Technology, Dhaka, Bangladesh.","DOI":"10.1109\/FPT.2008.4762368"},{"key":"ref_32","doi-asserted-by":"crossref","unstructured":"Lin, Y.D., Lin, P.C., Lai, Y.C., and Liu, T.Y. (2009). Hardware-software codesign for High-speed signature-based virus scanning. IEEE Micro, 29.","DOI":"10.1109\/MM.2009.73"},{"key":"ref_33","doi-asserted-by":"crossref","unstructured":"Lee, C.L., and Yang, T.H. (2017). A flexible pattern-matching algorithm for network intrusion detection systems using multi-core processors. Algorithms, 10.","DOI":"10.3390\/a10020058"},{"key":"ref_34","doi-asserted-by":"crossref","unstructured":"Kamil, A., and Yelick, K. (2013, January 25\u201327). Hierarchical computation in the SPMD programming model. Proceedings of the International Workshop on Languages and Compilers for Parallel Computing, Springer, San Jos\u00e9, CA, USA.","DOI":"10.1007\/978-3-319-09967-5_1"},{"key":"ref_35","unstructured":"Schauer, B. (2008). Multicore Processors\u2014A Necessity. ProQuest Discovery Guides, ProQuest."}],"container-title":["Symmetry"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2073-8994\/9\/9\/172\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T18:43:25Z","timestamp":1760208205000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2073-8994\/9\/9\/172"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,8,27]]},"references-count":35,"journal-issue":{"issue":"9","published-online":{"date-parts":[[2017,9]]}},"alternative-id":["sym9090172"],"URL":"https:\/\/doi.org\/10.3390\/sym9090172","relation":{},"ISSN":["2073-8994"],"issn-type":[{"type":"electronic","value":"2073-8994"}],"subject":[],"published":{"date-parts":[[2017,8,27]]}}}