6 puntos por GN⁺ 2024-02-17 | 1 comentarios | Compartir por WhatsApp
  • Google publicó como código abierto Magika, un sistema de identificación de tipos de archivo basado en IA
  • Magika usa un modelo de aprendizaje profundo personalizado y optimizado, lo que permite identificar archivos con precisión en unos pocos milisegundos incluso en CPU
  • Se puede probar la demo web de Magika, y también instalarse como biblioteca de Python y herramienta independiente de línea de comandos con pip install magika

Por qué es difícil identificar tipos de archivo

  • Desde los inicios de la computación, detectar con precisión el tipo de archivo ha sido importante para decidir cómo procesarlo.
  • Linux cuenta con libmagic y la utilidad file, que se han usado como estándar de facto para la identificación de tipos de archivo durante más de 50 años.
  • La detección del tipo de archivo es esencial para que distintos programas, como navegadores web y editores de código, rendericen correctamente los archivos.
  • Como cada formato de archivo tiene una estructura distinta o incluso carece de una, la detección precisa del tipo de archivo es un problema notoriamente difícil.
  • libmagic y la mayoría del software de identificación de tipos de archivo dependen de heurísticas y reglas creadas manualmente para detectar cada formato.
  • Este enfoque manual consume tiempo y es propenso a errores.

Rendimiento de Magika

  • Gracias a su modelo de IA y a un gran conjunto de datos de entrenamiento, Magika muestra un rendimiento aproximadamente 20% mejor que las herramientas existentes en un benchmark de 1 millón de archivos que incluye más de 100 tipos de archivo.
  • En particular, muestra mejoras aún mayores en tipos de archivo que otras herramientas manejan con dificultad, como archivos de texto, archivos de código y archivos de configuración.

Uso de Magika dentro de Google

  • Dentro de Google, Magika se usa para enrutar archivos de Gmail, Drive y Safe Browsing hacia los escáneres adecuados de seguridad y políticas de contenido, mejorando así la seguridad de los usuarios.
  • Considerando un promedio semanal de decenas de miles de millones de archivos, Magika mejoró en 50% la precisión de identificación de tipos de archivo frente al sistema anterior, que dependía de reglas manuales.
  • Mediante su integración con VirusTotal, Magika complementará la función existente Code Insight y contribuirá al ecosistema global de ciberseguridad para crear un entorno digital más seguro.

Liberación de Magika como código abierto

  • Al liberar Magika como código abierto, se busca mejorar la precisión de identificación de archivos en otro software y ofrecer a los investigadores un método confiable para identificar tipos de archivo a gran escala.
  • El código y los modelos de Magika están disponibles gratis en Github bajo la licencia Apache2, y pueden instalarse fácilmente mediante el gestor de paquetes de pypi.
  • Para más detalles sobre cómo usar Magika, consulta el sitio de documentación de Magika.

Opinión de GN⁺

  • La publicación de Magika como código abierto parece que ayudará mucho a mejorar la precisión en la identificación de tipos de archivo.
  • En especial en el ámbito de la seguridad, identificar correctamente los archivos es muy importante, y Magika puede convertirse en una herramienta poderosa para ello.
  • Se espera que la capacidad tecnológica de Google y su contribución a la comunidad de código abierto desempeñen un papel importante en el fortalecimiento del ecosistema global de ciberseguridad.

1 comentarios

 
GN⁺ 2024-02-17

Comentarios de Hacker News

  • Se probó la nueva herramienta de detección de tipos de archivo sobre datos de rastreo web.

    • En algunos casos detectó mal archivos HTML simples.
    • Algunos archivos WOFF y WOFF2 también fueron detectados incorrectamente.
    • Se evaluó que la implementación todavía no es lo suficientemente confiable para automatización.
    • También se expresó molestia porque no elimina las secuencias de escape de color del shell cuando la salida es un pipe.
  • Se compartió una experiencia de hace 10 años sobre detección de tipos de archivo de hojas de cálculo.

    • Se propuso un parche para detectar el tipo de archivo usando "magic", pero fue rechazado.
    • Actualmente se menciona la detección de tipos de archivo usando aprendizaje profundo.
    • Se espera que Google publique benchmarks de rendimiento.
  • Se compartieron resultados de una prueba de detección sobre 100 archivos.

    • La mayoría se detectó correctamente, pero algunos se detectaron mal o como tipos ambiguos.
    • Los errores ocurrieron principalmente en tipos de archivo que Magika no soporta.
    • En comparación con la utilidad file, mostró una precisión similar.
  • Reacción positiva ante la aparición de una nueva herramienta en el área de detección de tipos de archivo.

    • Se cuestiona la razón del lanzamiento del módulo de Node.
    • En la documentación se menciona que es lento y que carga el modelo en tiempo de ejecución.
    • Se menciona su estado experimental y el soporte limitado de tipos de archivo.
  • Confusión sobre que Google haya invertido recursos en desarrollar una herramienta de detección de tipos de archivo basada en redes neuronales en lugar de mejorar libmagic.

    • Se señala que las redes neuronales pueden ser más precisas, pero soportan menos tipos de archivo y son menos efectivas en situaciones adversariales.
  • Duda sobre cómo detectar archivos políglota válidos en varios formatos.

    • En pruebas reales, se menciona que solo se detectó la capa ZIP.
  • Se plantean dudas sobre la precisión o el recall de otras herramientas para detectar correctamente archivos APK o JAR.

    • Se pide una explicación de casos en los que ciertos archivos afectaron la precisión o el recall.
  • Se compartió experiencia implementando libmagic en Racket.

    • Se menciona que libmagic detecta más tipos de archivo, pero que Magika podría ser útil para detectar archivos de texto.
  • Se afirma que la detección de tipos de archivo es inherentemente determinista.

    • Se cuestiona la necesidad de heurísticas o inferencia probabilística, ya que los "magic bytes" deberían ser consistentes.