- 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
Comentarios de Hacker News
Se probó la nueva herramienta de detección de tipos de archivo sobre datos de rastreo web.
Se compartió una experiencia de hace 10 años sobre detección de tipos de archivo de hojas de cálculo.
Se compartieron resultados de una prueba de detección sobre 100 archivos.
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.
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.
Duda sobre cómo detectar archivos políglota válidos en varios formatos.
Se plantean dudas sobre la precisión o el recall de otras herramientas para detectar correctamente archivos APK o JAR.
Se compartió experiencia implementando libmagic en Racket.
Se afirma que la detección de tipos de archivo es inherentemente determinista.