6 points par GN⁺ 2024-02-17 | 1 commentaires | Partager sur WhatsApp
  • Google a publié en open source Magika, un système d’identification de types de fichiers basé sur l’IA
  • Magika utilise un modèle de deep learning personnalisé et optimisé, capable d’identifier précisément les fichiers en quelques millisecondes, même sur CPU
  • Il est possible d’essayer la démo web de Magika, et de l’installer comme bibliothèque Python ou outil autonome en ligne de commande avec pip install magika

Pourquoi l’identification du type de fichier est difficile

  • Depuis les débuts de l’informatique, détecter correctement le type d’un fichier est essentiel pour déterminer comment le traiter.
  • Linux dispose de libmagic et de l’utilitaire file, qui servent de standard de fait pour l’identification des types de fichiers depuis plus de 50 ans.
  • La détection du type de fichier est indispensable pour permettre à divers logiciels, comme les navigateurs web ou les éditeurs de code, d’afficher correctement les fichiers.
  • Une détection précise du type de fichier est un problème notoirement difficile, car certains formats ont une structure différente, voire aucune structure.
  • libmagic et la plupart des logiciels d’identification de types de fichiers reposent sur des heuristiques et des règles écrites manuellement pour détecter chaque format.
  • Cette approche manuelle prend du temps et est sujette aux erreurs.

Performances de Magika

  • Grâce à son modèle d’IA et à un vaste jeu de données d’entraînement, Magika affiche des performances environ 20 % supérieures à celles des outils existants sur un benchmark d’un million de fichiers couvrant plus de 100 types de fichiers.
  • Les gains sont particulièrement marqués sur les types de fichiers qui posent problème aux autres outils, notamment les fichiers texte, le code source et les fichiers de configuration.

Utilisation de Magika chez Google

  • En interne chez Google, Magika est utilisé pour améliorer la sécurité des utilisateurs en orientant les fichiers de Gmail, Drive et Safe Browsing vers les scanners adaptés en matière de sécurité et de politiques de contenu.
  • À l’échelle de plusieurs dizaines de milliards de fichiers analysés en moyenne chaque semaine, Magika a amélioré de 50 % la précision d’identification des types de fichiers par rapport au système précédent, qui reposait sur des règles manuelles.
  • Via son intégration avec VirusTotal, Magika viendra compléter la fonctionnalité Code Insight existante et contribuer à l’écosystème mondial de la cybersécurité afin de créer un environnement numérique plus sûr.

Passage en open source de Magika

  • En publiant Magika en open source, l’objectif est d’améliorer la précision de l’identification de fichiers dans d’autres logiciels et d’offrir aux chercheurs une méthode fiable pour identifier les types de fichiers à grande échelle.
  • Le code et les modèles de Magika sont disponibles gratuitement sur Github sous licence Apache2, et peuvent être installés facilement via le gestionnaire de paquets pypi.
  • Pour plus de détails sur l’utilisation de Magika, consulter la documentation officielle du projet.

L’avis de GN⁺

  • La publication en open source de Magika devrait fortement contribuer à améliorer la précision de l’identification des types de fichiers.
  • Dans le domaine de la sécurité en particulier, une identification précise des fichiers est cruciale, et Magika pourrait devenir un outil puissant à cet effet.
  • L’expertise technologique de Google et sa contribution à la communauté open source devraient jouer un rôle important dans le renforcement de l’écosystème mondial de la cybersécurité.

1 commentaires

 
GN⁺ 2024-02-17

Avis Hacker News

  • Application d’un nouvel outil de détection de types de fichiers à des données de crawl web.

    • Des cas apparaissent où de simples fichiers HTML sont mal détectés.
    • Certains fichiers WOFF et WOFF2 sont également mal détectés.
    • L’implémentation est jugée encore peu fiable pour l’automatisation.
    • Une plainte est aussi formulée sur le fait que les séquences d’échappement de couleur du shell ne sont pas supprimées lorsque la sortie est redirigée vers un pipe.
  • Partage d’une expérience datant de 10 ans sur la détection du type de fichiers de tableur.

    • Un patch proposant d’utiliser « magic » pour détecter le type de fichier avait été suggéré, mais rejeté.
    • La détection du type de fichier à l’aide du deep learning est maintenant évoquée.
    • Souhait que Google publie des benchmarks de performance.
  • Partage des résultats d’un test de détection sur 100 fichiers.

    • La plupart ont été détectés correctement, mais certains ont été mal détectés ou identifiés comme de type ambigu.
    • Les erreurs surviennent principalement sur des types de fichiers non pris en charge par Magika.
    • Par rapport à l’utilitaire file existant, une précision similaire est observée.
  • Réaction positive à l’arrivée d’un nouvel outil dans le domaine de la détection de types de fichiers.

    • Questionnement sur la raison de la sortie du module Node.
    • La documentation mentionne une lenteur, et le modèle est chargé à l’exécution.
    • Mention de son statut expérimental et de la prise en charge limitée des types de fichiers.
  • Incompréhension face au fait que Google ait investi des ressources dans un outil de détection de types de fichiers basé sur des réseaux de neurones plutôt que dans l’amélioration de libmagic.

    • Il est souligné que les réseaux de neurones sont plus précis, mais prennent en charge moins de types de fichiers et sont moins efficaces dans des contextes adverses.
  • Interrogation sur la manière de détecter des fichiers polyglottes valides dans plusieurs formats.

    • Selon un test réel, seule la couche ZIP est détectée.
  • Questionnement sur la précision ou le rappel d’autres outils pour détecter correctement les fichiers APK ou JAR.

    • Demande d’explication sur des cas où certains fichiers ont affecté la précision ou le rappel.
  • Partage d’une expérience d’implémentation de libmagic en Racket.

    • libmagic détecte davantage de types de fichiers, mais Magika pourrait être utile pour la détection des fichiers texte.
  • Affirmation selon laquelle la détection de type de fichier est intrinsèquement déterministe.

    • Les « magic bytes » devraient être cohérents, et la nécessité de recourir à des heuristiques ou à une inférence probabiliste est remise en question.