2.4. La gestion des archives

2.4.1. Fonctionnement

L'objet de l'analyse est de déterminer si l'archive contient des fichiers malveillants.
La GBox extrait les archives soumises pour analyse.
Le fonctionnement est le suivant :
  • soumission d'une archive (somme des fichiers archivés de moins de 50Mo)

  • l'utilisateur peut fournir le mot de passe de l'archive via l'interface graphique ou l'api (il faut que le mot de passe soit le même à tous les niveaux de l'archive)

  • la GBox tente d'extraire l'archive avec le mot de passe :

    • avec une protection contre les zipbombes

    • avec une protection contre les archives malicieuses

    • si l'archive extraite fait plus de 50Mo, l'extraction est stoppée et un message d'erreur est retourné indiquant un fichier trop gros: rien ne sera analysé

    • si l'archive est trop profonde par rapport à la profondeur configurée dans la GBox, l'analyse porte sur les fichiers correspondants à la profondeur, configurée (3 niveaux max : zip de zip au maximum)

    • si le mot de passe ne correspond pas, un message d'erreur est retourné

    • si l'archive contient trop de fichiers par rapport à ce qui a été configuré dans la GBox (10 fichiers max), un message d'erreur est retourné: rien n'est analysé

  • une analyse "parente" est créée, elle représente le fichier d'archive (avec son empreinte et l'empreinte de l'analyse) et pointe vers les analyses "enfant" (image de rapport de parent plus bas)

    • elle n'a pas état du moteur d'analyse, car rien n'est analysé

    • elle a juste un résultat global

    • elle n'affiche pas le contenu des erreurs des enfants

  • une analyse "enfant" est créée par fichier enfant trouvé dans l'archive, elle est liée à l'analyse parente (image de rapport d'analyse enfant plus bas)

  • quand toutes les analyses "enfant" sont finies, l'analyse parente est mise à jour

    • son score équivaut au maximum du score des "enfants"

    • son état équivaut à l'état global des "enfants"

      • si 1 ou + "enfant" "en cours", alors l'analyse parente est "en cours"

      • si 1 ou + "enfant" "en erreur", alors "en erreur"

      • si tous les "enfants" sont "finis" sans erreurs alors "fini"

  • il n'y a pas de PDF ou de rapport regroupant tous les enfants, il faut regarder sur chaque analyse enfant pour avoir le rapport


2.4.2. Formats supportés

Type

Détails

7zfile

extension = [".7z", ".iso", ".udf", ".xz"]
magic = ["7-zip archive", "ISO 9660", "UDF filesystem data", "XZ compressed data"]

gzipfile

extension = [".gzip", ".gz"]
magic = ["gzip compressed data, was"]

lzhfile

extension = [".lzh", ".lha"]
magic = ["LHa ("]

tarfile

extension = [".tar"]
magic = ["POSIX tar archive"]

tarbz2file

extension = [".tar.bz2"]
magic = ["LHa ("]

zipfile

extension = [".zip"]
magic = ["Zip archive data"]

2.4.3. Définition du mot de passe des archives

Le mot de passe pour l'analyse d'une archive avec mot de passe se définit dans l'Ecran `New analysis` de la Web UI.