まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

USB Virus Scanner - RaspberryPi

20170713_110755.jpg Cernés que nous sommes par les machines sous Windows®, en ce temps ou les virus courent si vite et où les cléUsb circulent trop facilement, il est souvent difficile de faire appliquer les règles de sécurités élémentaires à l'humain lambda, tant elles sont perçues comme barbantes et contraignantes, souvent à juste titre…
Pour autant rien n'est perdu, un petit objet simple d'utilisation et d'aspect plutôt ludique pourrait se révéler être un pon début sur le chemin de la sensibilisation à la sécurité informatique.

L'appareil :

  • L'idée serait donc d'avoir un boîtier pour scanner ou formater une cléUsb par la simple pression d'un bouton :

1- Une clé USB est insérée dans l’appareil.
2 - Un menu s’affiche automatiquement, il propose soit de formater la clé, soit d'effectuer un scan anti-virus.
3 - Il est possible d'afficher la date de la base de donnée des définitions de virus.

20170711_095740.jpg

  • Pour cela nous allons utiliser :

- Un ordinateur RaspberryPi3.
- Une Carte microSD de 8 Go ou plus.
- Une Interface écran/boutons Pifacecad. (« Piface Control & Display 2 » chez Farnell)
- Le boîtier adéquat.

  • À l'aide :

- Du système d’exploitation Raspbian.
- De la librairie Pifacecad.
- De la librairie WiringPI.
- Du logiciel anti-virus ClamAV.

20170711_095637.jpg 20170713_110936.jpg

Comment ça marche ? :

  • Il serait trop long de décrire ici l'ensemble du fonctionnement du système, c'est pourquoi vous trouverez un PDF à consulter en annexe de ce billet.

En bonus une archive avec les scripts logiciels (bash et python3).
Et cerise fraise sur le gâteau, une image disque à coller sur votre carte SD !

  • Cependant voici un bref descriptif fonctionnel :

UsbVirusScanner_scripts.png [ Bash ]
/home/pi/autocle/poweroff.sh, Scrute le GPI021 et déclenche BoutonShutdown.py.
/usr/local/bin/autocle.sh, Stoppe le Bouton5.service et lance autocle.py.
/usr/local/bin/ejectcle.sh, Stoppe autocle.service, lance ejectcle.py et Bouton5.service.

[ Python ]
/home/pi/autocle/autocle.py, Programme principal.
/home/pi/autocle/BoutonShutdown.py, Affiche « le système va s'éteindre » et halt.
/home/pi/autocle/ejectcle.py, Efface et éteint l'écran.
/home/pi/autocle/InitSysteme.py, Affiche « démarrage en cours » et lance VirusDatabase.py.
/home/pi/autocle/ShutdownMessage.py, Affiche « Attendre 30 sec pour debrancher ».
/home/pi/autocle/VirusDatabase.py, Affiche la date des déf de virus puis « système opérationnel ».

Utilisation :

14.jpg Pour être disponible en toutes circonstances le système doit rester branché en permanence avec son adaptateur secteur 5V Micro-USB, afin que les mises à jour de la base virale puissent être effectuées automatiquement.

07.jpg Il est possible de connaître la date de la dernière mise à jour de cette base en pressant le bouton à l'arrière de l'appareil.
06.jpg
01.jpg

  • Pour analyser une cléUSB, il suffit de la brancher dans un des 4 ports USB disposés sur le côté droit de l'appareil.

L'écran s'illumine alors et propose deux choix :

  • Si on pousse le bouton « scan », l'analyse anti-virus démarre :

08.jpg 04.jpg

05.jpg

À la fin du processus, plus ou moins long selon la quantité et le poids des données stockées, un message annonce le résultat du scan :
- « Infectedfiles : n » indique le nombre de fichiers infectés.

02.jpg

  • Si on pousse le bouton « Formater », un nouveau choix est offert :


  • Choisir « Oui » et la clé sera entièrement effacée et nommée avec la date du jour.

16.jpg 17.jpg

  • Choisir « Non » pour annuler l'opération

03.jpg

  • Arrêt et démarrage du système :

11.jpg Il est possible au besoin, d'éteindre l'appareil correctement.
Il suffit de presser durant deux secondes le bouton « power off ».
L'écran indiquera alors un bref message pour indiquer que le système va s'éteindre, puis il affichera ceci :

L'arrêt complet est effectif lorsque la led verte située sur le côté gauche de l'appareil cesse de clignoter et s'éteint complètement.
09.jpg 10.jpg

  • Pour la remise en fonctionnement du système, il suffit de brancher le cordon micro-USB.

L'écran se met en marche sans rien afficher, et au bout d'une minute ou deux s'illuminera pour indiquer la fin du démarrage et la bonne disponibilité du système.
12.jpg 13.jpg

00.jpg NB : Voici le message qui s'affiche en cas de dépassement mémoire, se référer au PDF pour plus d'explications.
À noter que je travaille sur une autre version matérielle, à base cette fois d'ODROID-C2, afin de s'affranchir de ce problème.

Installation :

Il suffit de suivre pas à pas le dossier PDF, sinon depuis l'image disque :
1 - Sur un ordi GNU/Linux, décompresser et déployer l'image (où sdX correspond à la carte SD)

gunzip /CheminVers/USBVirusScanner_Raspberry.img.gz
sudo dd if=/CheminVers/USBVirusScanner_Raspberry.img of=/dev/sdX

2 - À l'aide de gparted par exemple, créer une partition swap la plus grande possible sur l'espace libre de la carte SD (se référer au PDF pour plus d'explications sur la nécessité de la swap).
3 - Démarrer alors le RaspberryPi, et changer le mot de passe :

passwd

4 - S'assurer que le swap est disponible :

free -h

5 - Modifier la config WiFi :

nano /etc/network/interface

6 - Redémarrer, c'est prêt !

Commentaires

1. Le lundi, 25 septembre 2017, 18:33 par Pierre BLONDEAU

Bonjour,

Est ce que le boitier et vendu avec l'interface ?

Cordialement

2. Le lundi, 25 septembre 2017, 21:00 par Makoto

nope

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Fil des commentaires de ce billet