We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

The Armadito antivirus project

Formal Metadata

Title
The Armadito antivirus project
Subtitle
modular, multi-platform & a management console
Title of Series
Number of Parts
611
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2017

Content Metadata

Subject Area
Genre
Abstract
# The Armadito antivirus project We will present Armadito, an open source and multi-platform antivirus. Itsoriginal modular architecture allows third-party developers to add their ownmalware detection modules, written in C and in the future in Python or Go.Current modules are signature-based (ClamAV), rules-based (YARA) orheuristics. It provides also real-time detection on GNU/Linux and MS-Windows. Armadito provides graphical user interfaces to notify of malware detection,launch scan, view statistics and journal. A central administration console,integrated as a GLPi plug-in, allows a system administrator to manage all theinstalled antivirus, view alerts, launch remote scans, deploy configuration orbases. Project has several opened issues that are not addressed yet: high memoryfootprint, sandboxing for scan modules, automatic generation of signaturebases from automatic malware collecting. Contributions from the free softwarecommunity would be highly appreciated. Armadito project is on github: (https://github.com/armadito) # The Armadito antivirus project ## What is it? Armadito is an open source antivirus, that runs on GNU/Linux and MS-Windows.Its modular architecture allows easy integration of new detection algorithms. Armadito provides standard antivirus features: on-demand scan, quarantine,alerts, journal and real-time (or "on-access") protection. This protection isimplemented on GNU/Linux using fanotify and on MS-Windows with its own driver. ## Modular architecture Armadito scans files using scan _modules_ , which are plugins written in C andusing a common API (load, configure, scan, unload). Current modules are: * ClamAV using libclamav * YARA * heuristic for PE and ELF binaries * heuristic for PDF documents A future extension is to allow writing modules in Python and Go languages. ## User interfaces Armadito provides 2 user interfaces: * a lightweight graphical user interface, showing only notifications plus "systray" icon, developed using native toolkits * a full interface, developed using web technologies (AngularJS), that runs in a browser and uses the antivirus REST API ## Antivirus administration The installed antivirus can be managed from a central console, that allowsthrough a web interface to view alerts, launch remote scans, deploy new basesor configuration. This console is integrated as a GLPi plugin. ## Next steps Future developments of the project are: * update MS-Windows code and release a MS-Windows version with installers * make extensive testing * improve documentation * re-implement the heuristic module for PE/ELF binaries analysis * provide an API to allow scan modules to be implemented in Python and GO * improve code quality using sonarqube * contribute to IRMA with Armadito plugin * make Armadito antivirus be available inside virustotal.com and AVCaesar ## Issues The project has several opened issues which are not obvious to address: * memory footprint is too high, approximately 450M when using the ClamAV module, when compared to standard antivirus which have a momory footprint in the order of 100M * scan modules should run inside a sandbox because they parse complex formats and unpackers, and a bug in the parser or a deliberately malformed file can crash the module and therefore compromise the entire antivirus * providing up-to-date and good "signature" bases is yet to be done; it requires a strong architecture for malware collecting and automatic signature (likely YARA rules) generation The current team is small and contributions from the free software communitywould be highly appreciated. ## Links Code: [github.com/armadito](https://github.com/armadito) Documentation: [armadito-av.readthedocs.io](http://armadito-av.readthedocs.io/en/latest/) Talk: [gitter.im/armadito/armadito-av](https://gitter.im/armadito/armadito-av) Ubuntu PPA:[launchpad.net/~armadito](https://launchpad.net/~armadito/+archive/ubuntu/armadito-av)