Universidad y empresa: el talento está ahí fuera (III)

Área de Innovación y Laboratorio de ElevenPaths    14 julio, 2020
Universidad y empresa: el talento está ahí fuera (III)

Nuestra supervisión de estudiantes en diferentes áreas de ciberseguridad sigue dando sus frutos. Los esfuerzos de investigación, desarrollo e innovación realizados conjuntamente con estudiantes producen siempre unos resultados mejores que los esperados, ya que de cada colaboración surgen beneficios mutuos.

Por un lado, el estudiante aprende de la experiencia del tutor, orientando su trabajo a una realidad de mercado que de otra forma le resultaría imposible; por otro, el tutor que se implica en el avance del proyecto aprovecha el apoyo del estudiante para mejorar sus capacidades, motivando el reskilling y upskilling que implica un proyecto académico como un Trabajo Fin de Grado o Fin de Máster.

Proyectos seleccionados

En esta ocasión traemos dos proyectos correspondientes a la III edición del Máster en Ciberseguridad de la UCAM en colaboración con Telefónica. Se trata de dos proyectos sumamente diferentes que demuestran la amplia variedad de disciplinas que coexisten en ciberseguridad.

El primero es una propuesta de un espacio educativo llamada Ciberaprende, que surgió como un TFM y se ha convertido en toda una plataforma educativa de formación gratuita en competencias digitales plenamente operativa, realizada por Javier García Cambronel. El segundo es un Software de Detección y Clasificación de Contenido Privado realizado por Santiago Vallés. Ellos mismos describen sus respectivos proyectos.

Ciberaprende

Ciberaprende nace como un proyecto pensado para perdurar en el tiempo. Es un espacio virtual cuyo contenido se otorga a los usuarios para que ingresen de forma libre y gratuita. Ciberaprende nace con la idea de crear oportunidades para una vida mejor a través de la educación en competencias digitales. Este espacio se compone de dos partes bien diferenciadas.

Ciberaprende

La primera de ellas ha consistido en la creación de una plataforma de aprendizaje gratuita basada en Moodle, con una web realizada en WordPress como portada. En esta parte se ha realizado la instalación, configuración y la securización del servidor donde quedan alojadas tanto la plataforma como la web. Por otra parte, esto mismo se ha realizado para la web y la propia plataforma, centrándonos en gran medida en la securización y añadiendo otros temas como diseño, posicionamiento, rendimiento, accesibilidad…

La segunda parte de este proyecto se ocupa del contenido. El curso que se ha realizado es “Seguridad Informática: Malware”, con una duración de 50 horas y una dificultad baja. Los objetivos del curso son:

  • Identificar y analizar los riesgos existentes en materia de seguridad de la información
  • Conocer los principales tipos de programas maliciosos (malware)
  • Conocer la amenaza que supone el malware en todas sus variantes
  • Descubrir las consecuencias derivadas de una infección
  • Conocer y aprender a utilizar los métodos de protección que tenemos a nuestro alcance para defendernos

Dentro del curso, encontraremos gran cantidad de contenido, que se estructura en 5 módulos:

  • Módulo 1: introducción a la seguridad en sistemas de información
  • Módulo 2: introducción al software dañino (malware)
  • Módulo 3: malware, una amenaza real y actual
  • Módulo 4: estrategias de seguridad contra las amenazas
  • Módulo 5: herramientas de seguridad

Y dentro del contenido encontramos:

  • Más de 80 páginas de teoría
  • Más de 25 píldoras de aprendizaje
  • Más de 100 preguntas
  • Más de 10 actividades Interactivas
  • Más de 5 casos prácticos
  • 1 Encuesta de satisfacción
  • 1 Certificado emitido al final del curso

Ciberaprende es un proyecto en el que se ha puesto mucho esfuerzo y convicción. Durante su desarrollo se han adquirido muchas capacidades y se han aprendido lecciones que no sólo han permitido asimilar conocimientos de ciberseguridad adicionales sino también una mejor forma de difundirlos y transmitirlos.

Por ejemplo, la securización de un servidor Linux con diferentes tipos de herramientas, de una web en WordPress y de una plataforma basada en Moodle, entre los más técnicos. Todo ello además del reto de crear un curso interactivo con una carga teórica realmente interesante y con diferentes tipos de actividades y vídeos que motiven al alumno durante su realización.

Ciberaprende se ha convertido en una plataforma funcional cuyo futuro plantea mejorar a cada paso, creciendo como plataforma. Añadiendo nuevos contenidos y abordando otras competencias digitales, se introducirán nuevos tipos de actividades y juegos de diversa índole que permitan adquirir nuevas capacidades mediante la gamificación.  Además, se podrá introducir contenido multimedia generado específicamente para los cursos y la materia de cada uno de ellos.

Software de Detección y Clasificación de Contenido Privado

Las empresas poseen, gestionan y ofrecen numerosos servicios que tratan información propia, en muchos casos de manera automatizada. En otras ocasiones, este trasiego de documentación se hace de forma manual, en forma de envíos, recepciones y consultas de diverso contenido.

Frecuentemente, la información acaba en un portal web, en un repositorio público o en cualquier otro lugar utilizado para publicar contenido. Por tanto, es posible realizar un crawleo sobre dicho sitio público, como por ejemplo con Scrapy, para descargar todos los documentos públicos.

Pero, ¿cómo podemos saber si se está filtrando información sensible o confidencial de la empresa o de los empleados? ¿Existe una herramienta única para resolver este problema? Lo que podemos hacer es utilizar software libre para intentar resolver este tema. Lo haremos usando dos tecnologías:

  • Expresiones Regulares
  • Aprendizaje Automático
Diagrama de proceso interno del sistema
Diagrama de proceso interno del sistema

La idea que aborda este proyecto se centra en la generación de un indicador que llamaremos “Riesgo de Archivo”, un score que representa la cantidad de información privada que se está filtrando en el documento. Pongamos algunos ejemplos:

  • Descargar un fichero que contiene una sola dirección de correo no es lo mismo que encontrar un listado de 200 direcciones de correos electrónicos de la empresa. Por lo tanto, vemos que tenemos un factor que incide en el riesgo y en este caso es la cantidad de ocurrencias de un tipo de dato personal.
  • Supongamos ahora que buscamos un número que podría coincidir con una tarjeta de crédito como tipo de dato. Con un solo hallazgo podemos considerar que este riesgo es alto, por lo tanto, lo que proponemos es que el usuario pueda darle un valor numérico a cada tipo de dato. A este factor lo llamaremos “Impacto” y es configurable por el usuario. 

Tomamos como ejemplo un reporte médico en formato PDF y lo cargamos en el sistema. Tras el análisis obtenemos la siguiente tabla de resultados:

TIPOIMPACTOOCURRENCIASRIESGO
PERSON32060
URL122
EMAIL200
IP500
DNI5000
SHAREFOLDER1000
PHONE1000
CUIL900
CREDITCARD5000
MONEY300

Tabla de riesgos que muestra el cálculo de cada tipo de dato

Se puede observar que el sistema encontró varias ocurrencias del tipo de datos PERSON, que se refiere al nombre de personas. Además, tendremos un gráfico de barras para visualizar más rápidamente cada uno de los riesgos por tipo de dato:

Visualización de hallazgos por tipo
Visualización de hallazgos por tipo

Luego, nuestro sistema se encargará de generar un conteo sencillo, donde el riesgo de archivo es el cálculo de la sumatoria de todas las ocurrencias encontradas multiplicadas por el impacto individual de cada una.

𝑅𝑖𝑒𝑠𝑔𝑜 𝑑𝑒 𝑎𝑟𝑐ℎ𝑖𝑣𝑜 = ∑ 𝐼𝑚𝑝𝑎𝑐𝑡𝑜𝑛 ∗ 𝑐𝑎𝑛𝑡. ℎ𝑎𝑙𝑙𝑎𝑧𝑔𝑜𝑠𝑛

El sistema nos mostrará el resultado final como “Riesgo Total de Archivo” con un valor numérico que corresponde a la sumatoria anterior. Este valor nos puede servir para filtrar y ordenar cientos o miles de archivos de un sitio web para poder poner el foco en los que tienen una posibilidad mayor de contener datos privados.

Por tanto, lo que permite este sistema es combinar el uso de expresiones regulares como enfoque estático, cubriendo los tipos de datos más comunes (DNI, Nº de tarjeta de crédito, etc.), junto al procesamiento de lenguaje natural, para detectar todas esas clases de palabras al compararlas con un modelo entrenado de aprendizaje automático (usando Spacy y Scikit-Learn).

Además de esto, da la posibilidad de determinar si ese conjunto de palabras compone un documento que se puede categorizar dentro de una determinada clasificación. El sistema generará como resultado luego de analizar el documento una salida de tipo:

En este ejemplo, si a la categoría que predijo el modelo (medicina) le añadimos los nombres propios que encontró nuestro sistema en el análisis de palabras, no nos queda lugar a dudas de que sería un candidato a revisar. Sabemos que los modelos de aprendizaje automático son mejorables, pero en este caso podemos comprobar que si tomamos la predicción con más porcentaje, el sistema acierta el modelo, indicando que se trata de un archivo con contenido médico.

Mediante este trabajo se pudieron comprobar los beneficios que generan los métodos de clasificación de texto usando el procesamiento de lenguaje natural y modelos entrenados de aprendizaje automático. Sin embargo, para un tipo de sistema de calificación numérica como el que se implementó aquí, se deben tener en cuenta los falsos positivos que pueden incrementar el valor de riesgo del archivo.

Deja un comentario

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