Nueva versión de FARO: crea tu propio plugin y contribuye a su evolución

Juan Elosua Tomé    16 febrero, 2021
Nueva versión de FARO: crea tu propio plugin y contribuye a su evolución

Hoy venimos a presentaros una nueva versión de FARO, nuestra herramienta open source de detección de información sensible de la que ya os hemos hablado en este mismo blog en julio de 2019.

Como os comentábamos anteriormente, FARO permite detectar y clasificar información sensible de diferentes tipos de documentos como: office, texto, ficheros comprimidos, html, emails, etc. Además, gracias a que incorpora tecnología OCR, también puede detectar información en imágenes o documentos escaneados. Todo ello para contribuir a un mayor control los datos sensibles de nuestra organización.

Figura 1 – Ejemplo visual de entidades detectadas y resultados de FARO

En esta nueva versión, hemos añadido nuevas funcionalidades y mejoras, entre la que queremos destacar el sistema de plugins con soporte multi-idioma. Ahora es posible crear sencillos plugins para que FARO pueda detectar nuevas entidades con información sensible.

“FARO es una herramienta abierta a la comunidad que invita a cualquier persona interesada en su desarrollo o evolución a acceder al repositorio y a dejar su feedback o cualquier otra aportación que pueda contribuir a su futuro desarrollo”.

Sistema de plugins multi-idioma

Gracias a la nueva arquitectura modular de FARO y su sistema de plugins, es posible detectar nueva información sensible sin un conocimiento profundo sobre el funcionamiento interno de la herramienta. Solamente será necesario centrarse en la definición de unos patrones para la detección de la información sensible e incorporar configuración para su validación y contexto.

Para cada plugin se han definido dos tipos de patrones. El primer patrón se utiliza cuando la entidad a localizar es muy específica y por tanto podemos detectarla con una confianza muy alta generando un bajo índice de falsos positivos.

"BITCOIN_P2PKH_P2SH_ADDRESS": r"[13][a-km-zA-HJ-NP-Z0-9]{26,33}"

Patrón 1 – Ejemplo de patrón de detección para direcciones de BTC

El segundo patrón, sin embargo, es más generalista y podría generar un mayor número de falsos positivos. Dentro de cada plugin de FARO se puede añadir un contexto que aumente la confianza en que la detección sea correcta para evitar estos falsos positivos. Ese contexto se basa en unos diccionarios de palabras que se buscan antes o después, de las potenciales entidades detectadas, para así poder ratificarnos en la decisión.

"MOVIL_ESPAÑA": r"[67](\s+|-\.)?([0-9](\s+|-|\.)?){8}"

Patrón 2 – Ejemplo de patrón de detección números de teléfono móvil

Además, los plugins en FARO permiten añadir una validación automática si existe, por ejemplo, los dígitos de control de una cuenta bancaria y así aumentar de forma considerable la certeza que se trata de la información que queremos detectar.

Por último, destacar que cada plugin puede definirse para múltiples idiomas personalizando el contexto y el patrón a localizar en función del lenguaje original del documento.

En la wiki del proyecto se encuentra toda la información técnica para la elaboración de plugins. Os animamos a todos a que participéis, bien aportando nuevos plugins para mejorar la herramienta o probando FARO en vuestra organización y enviándonos feedback a través de Github.


TEGRA cybersecurity center se enmarca en la unidad mixta de investigación en ciberseguridad IRMAS (Information Rights Management Advanced Systems), que está cofinanciada por la Unión Europea, en el marco del Programa Operativo FEDER Galicia 2014-2020, para promover el desarrollo tecnológico, la innovación y una investigación de calidad.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *