• No se han encontrado resultados

Control de fuga de datos en la plataforma de contenido Twitter

N/A
N/A
Protected

Academic year: 2020

Share "Control de fuga de datos en la plataforma de contenido Twitter"

Copied!
92
0
0

Texto completo

(1)CONTROL DE FUGA DE DATOS EN LA PLATAFORMA DE CONTENIDO TWITTER. Autor: Alfonso García Alonso Tutor: Jordi Guijarro Olivares Profesora: Helena Rifà Pous. Máster Universitario en Seguridad de las Tecnologías de la Información y de las Comunicaciones Área de análisis de datos 15 de diciembre de 2019.

(2) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. Créditos/Copyright Esta obra está sujeta a una licencia de Reconocimiento- NoComercialSinObraDerivada 3.0 España de CreativeCommons.. El proyecto resultante de este Trabajo de Fin de Máster se encuentra disponible en GitHub bajo licencia GNU Affero General Public License v3.0.. 2.

(3) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. FICHA DEL TRABAJO FINAL Título del trabajo: Control de fuga de datos en la plataforma de contenido Twitter Nombre del autor: Alfonso García Alonso Tutor: Jordi Guijarro Olivares Profesora: Helena Rifà Pous Fecha de entrega: 12/2019 Titulación o programa:. Máster Universitario en Seguridad de las Tecnologías de la Información y de las Comunicaciones. Área del Trabajo Final: Análisis de datos Idioma del trabajo: Español Detección-de-fugas, Twitter, Minería-de-datos, Análisis-dePalabras clave sentimiento Leak-detection, Twitter, Data-Mining, Sentiment-Analysis Resumen del Trabajo / Abstract:. El presente trabajo aborda la creación de un módulo para la plataforma de control de filtraciones AIL Framework, que permita monitorizar las publicaciones realizadas durante un periodo concreto de tiempo en la red social Twitter, así como las que se produzcan en tiempo real, realizando además un análisis de sentimiento y un análisis estadístico de las publicaciones recopiladas. El módulo desarrollado consigue los objetivos de monitorización y análisis propuestos, integrándose completamente en la plataforma AIL, pudiendo ser de utilidad para equipos de respuesta ante incidentes de seguridad y, en general, para cualquier persona o entidad interesada en monitorizar posibles filtraciones o en realizar análisis de las publicaciones realizadas en la red social. This paper addresses the creation of a module for AIL framework, a platform that analyses potential information leaks, that allows to monitor the content published in the social network Twitter either within a certain period of time or in real time, in addition to performing a sentiment and statistical analysis of the publications collected. The module developed achieves the objectives, integrating completely into the AIL platform and can be useful for security incident response teams and, in general, for any person or entity interested in monitoring possible leaks on Twitter or in performing analysis of the publications made in the social network.. 3.

(4) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. Abstract El presente trabajo aborda la creación de un módulo para la plataforma de control de filtraciones AIL Framework, que permita monitorizar las publicaciones realizadas durante un periodo concreto de tiempo en la red social Twitter, así como las que se produzcan en tiempo real, realizando además un análisis de sentimiento y un análisis estadístico de las publicaciones recopiladas. El módulo desarrollado consigue los objetivos de monitorización y análisis propuestos, integrándose completamente en la plataforma AIL, pudiendo ser de utilidad para equipos de respuesta ante incidentes de seguridad y, en general, para cualquier persona o entidad interesada en monitorizar posibles filtraciones o en realizar análisis de las publicaciones realizadas en la red social. --------------------------------. This paper addresses the creation of a module for AIL framework, a platform that analyses potential information leaks, that allows to monitor the content published in the social network Twitter either within a certain period of time or in real time, in addition to performing a sentiment and statistical analysis of the publications collected. The module developed achieves the objectives, integrating completely into the AIL platform and can be useful for security incident response teams and, in general, for any person or entity interested in monitoring possible leaks on Twitter or in performing analysis of the publications made in the social network. Palabras clave Detección-de-fugas, Twitter, Minería-de-datos, Análisis-de-sentimiento Leak-detection, Twitter, Data-Mining, Sentiment-Analysis. 4.

(5) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. Notaciones y Convenciones A continuación, se detallan las notaciones y convenciones utilizadas en el presente TFM. Comandos ejecutables en línea de comandos Para resaltar los comandos de Shell, estos serán presentados de la siguiente manera: . ejemplo de comando. Nombres de archivos Los nombres de archivos y carpetas se presentarán de la siguiente manera: Nombre_de_archivo. Configuración Los parámetros de configuración se presentarán de la siguiente manera: pystemonpath = /home/pystemon/pystemon/. Acciones de menú: Cuando se quiera mostrar una serie de pasos a seguir en la interacción con una interfaz de usuario, se empleará la siguiente nomenclatura: Aplicaciones → Accesorios →. 5.

(6) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. Índice. Introducción....................................................................................................... 10. 1. 1.1.. Análisis de situación ................................................................................................ 10. 1.1.1.. Twitter ............................................................................................................................. 11. 1.2.. Descripción del TFM ................................................................................................ 14. 1.3.. Objetivos generales ................................................................................................. 15. 1.3.1.. Objetivos principales .................................................................................................... 15. 1.4.. Metodología y proceso de trabajo .......................................................................... 16. 1.5.. Planificación.............................................................................................................. 17. 1.6.. Público objetivo ........................................................................................................ 20. 1.7.. Antecedentes ............................................................................................................ 20. Análisis del estado del arte ............................................................................. 21. 2. 2.1.. Monitorización en tiempo real ................................................................................ 21. 2.1.1.. Método de obtención de la información .................................................................... 21. 2.1.2.. Características de la información a recolectar ......................................................... 24. 2.2.. AIL framework ........................................................................................................... 24. 2.3.. Análisis de sentimiento ........................................................................................... 24. Arquitectura ....................................................................................................... 28. 3. 3.1.. Arquitectura general ................................................................................................ 28. 3.2.. Módulos ..................................................................................................................... 29. 3.2.1.. Módulos de interfaz de usuario .................................................................................. 29. 3.2.2.. Módulos de recopilación y suministro de la información ........................................ 32. 3.2.3.. Módulos de procesamiento ......................................................................................... 33. Diseño ................................................................................................................. 35. 4. 4.1.. Estructura y archivos ............................................................................................... 35. 4.2.. Módulo de interfaz de usuario ................................................................................ 39. 4.2.1.. Interfaz para la monitorización de Twitter ................................................................. 40 6.

(7) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 4.2.2.. Interfaz de resultados .................................................................................................. 46. 4.2.3.. Interfaz de configuración ............................................................................................. 53. 4.3.. Módulo de recopilación y suministro de la información ..................................... 56. 4.3.1.. Recopilación de Tweets .............................................................................................. 56. 4.3.2.. Inyección de Tweets .................................................................................................... 60. 4.4.. Módulos de procesamiento ..................................................................................... 61. 4.4.1.. Módulo de procesamiento ........................................................................................... 61. 4.4.2.. Bases de datos ............................................................................................................. 65. 4.5.. 5.. Ficheros auxiliares ................................................................................................... 67. Instalación .......................................................................................................... 68. 5.1.. Requisitos ................................................................................................................. 68. 5.2.. Instalación automática ............................................................................................. 68. 5.3.. Instalación manual ................................................................................................... 69. 6.. Guía de usuario ................................................................................................. 71. 7.. Tests ................................................................................................................... 71. 8.. Conclusiones y líneas de futuro ..................................................................... 72. 8.1.. Conclusiones ............................................................................................................ 72. 8.2.. Líneas de futuro ........................................................................................................ 73. Anexos ......................................................................................................................... 74 ANEXO A Glosario ........................................................................................................... 74 ANEXO B Referencias y bibliografía.............................................................................. 74 ANEXO C Librerías y herramientas................................................................................ 76 ANEXO D AIL Framework ................................................................................................ 77 ANEXO E Twitter .............................................................................................................. 84 ANEXO F VADER Sentiment Analysis........................................................................... 85 ANEXO G Entregables del proyecto .............................................................................. 87 ANEXO H Currículum Vitae ............................................................................................. 88. Citas y licencias ......................................................................................................... 89 Historia del documento ............................................................................................. 91. 7.

(8) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. Figuras y tablas Índice de figuras Figura 1: Plan de trabajo ....................................................................................................................................... 18 Figura 2: Arquitectura de la solución. .................................................................................................................... 28 Figura 3: Arquitectura de la interfaz de usuario para la monitorización. ................................................................ 29 Figura 4: Arquitectura de la interfaz de usuario para la presentación de resultados ............................................. 30 Figura 5: Arquitectura para la recopilación de publicaciones y suministro a la plataforma. .................................. 32 Figura 6: Arquitectura para el procesamiento de la información. .......................................................................... 33 Figura 7: Menú superior de la plataforma AIL. ...................................................................................................... 39 Figura 8: Menú lateral del módulo de monitorización. ........................................................................................... 39 Figura 9: Interfaz para la monitorización de Twitter. ............................................................................................. 40 Figura 10: Panel de información de la interfaz de monitorización. ........................................................................ 43 Figura 11: Diseño de la interfaz de monitorización. .............................................................................................. 44 Figura 12: Interfaz de resultados........................................................................................................................... 46 Figura 13: Interfaz para la monitorización de Twitter: Área de búsquedas. .......................................................... 47 Figura 14: Interfaz para la monitorización de Twitter: Área de tarjetas resumen. ................................................. 48 Figura 15: Interfaz para la monitorización de Twitter: Área de Tweets. ................................................................ 48 Figura 16: Interfaz para la monitorización de Twitter: Área de Tweets, sección general. ..................................... 49 Figura 17: Presentación del Tweet........................................................................................................................ 50 Figura 18: Diseño de la interfaz de resultados. ..................................................................................................... 51 Figura 19: Interfaz para la configuración del sistema. ........................................................................................... 53 Figura 20: Diseño del módulo de recopilación de Tweets. .................................................................................... 58 Figura 21: Diseño del módulo de inyección de Tweets. ........................................................................................ 60 Figura 22: Colas de procesamiento de AIL. .......................................................................................................... 61 Figura 23: Diseño del módulo de procesamiento. ................................................................................................. 63 Figura 24: Base de datos ARDB_TwitterAnalizer.................................................................................................. 65 Figura 25: Base de datos ARDB_TwitterTweets. .................................................................................................. 66 Figura 26: AIL Framework. .................................................................................................................................... 78 Figura 27: Arquitectura de suministro de AIL Framework (https://www.circl.lu) .................................................... 79 Figura 28: Arquitectura global de AIL Framework. ................................................................................................ 80 Figura 29: Alimentación de datos a través de Pystemon y del script de importación (https://www.circl.lu). .......... 81. Índice de tablas Tabla 1: Entregables ............................................................................................................................................. 19 Tabla 2: Opciones para la monitorización de Twitter ............................................................................................ 21 Tabla 3: Descripción funcional de los archivos de la solución .............................................................................. 38 Tabla 4: Glosario de términos ............................................................................................................................... 74 Tabla 5: Referencias y bibliografía ........................................................................................................................ 75 Tabla 6: Librerías y herramientas.......................................................................................................................... 76 8.

(9) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 9.

(10) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 1. Introducción 1.1. Análisis de situación La privacidad de las personas y la protección de la información de las entidades (corporaciones, compañías, instituciones, etc.) se han convertido en aspectos capitales en la conocida como sociedad de la información en la que se da un <<uso intensivo de las tecnologías de la información y la comunicación (TIC), que facilitan la creación, distribución y manipulación de la información y desempeñan un papel esencial en las actividades sociales, culturales y económicas>>1. Desde el punto de vista de la información como activo de gran valor para las entidades, las filtraciones sobre el know-how, la información económica, la propiedad intelectual, la cartera de clientes, las estrategias o la propagación de bulos con fines maliciosos, puede hacer tambalear los cimientos más estables, con consecuencias económicas, legales o reputacionales que pueden llegar a ser catastróficas e irreversibles. Por otro lado, la aparición de las redes sociales, el Big data2 y los avances en los dispositivos tecnológicos de consumo, ha incrementado el riesgo de violaciones de la privacidad y la intimidad personal, ya sea por la utilización, por parte de empresas, de sistemas poco éticos de recolección y tratamiento de la información de los usuarios, ya sea por el uso delictivo o con voluntad maliciosa de redes sociales y tecnología para hacer daño a otras personas. Si además tenemos en cuenta el carácter público y permanente de la información publicada en Internet, nos encontramos ante una situación en la que, una vez realizada la filtración de datos, es muy difícil contener su difusión y minimizar las consecuencias, siendo fundamental, por lo tanto, la detección y reacción temprana ante eventuales fugas de datos. En las siguientes secciones de este capítulo, analizamos la plataforma de contenido Twitter3, estudiando sus características y el uso que se le da por parte de los usuarios, con el fin de comenzar a esbozar, en el siguiente capítulo, un módulo que permita la monitorización en tiempo real, de la red de contenido, para la inyección de la información en la plataforma AIL, de tal manera que pueda seguir el flujo de tratamiento y análisis de fuga de datos establecido en dicha plataforma.. 1 https://es.wikipedia.org/wiki/Sociedad_de_la_informaci%C3%B3n 2 Mediante el análisis de los usuarios, a través del procesamiento de grandes conjuntos de datos. 3 https://es.wikipedia.org/wiki/Twitter 10.

(11) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 1.1.1. Twitter Twitter es una red social con más de 330 millones de usuarios activos 4 y un volumen promedio diario de 500 millones de mensajes5. La plataforma ha conseguido convertirse en una de las principales redes de información para el acceso y publicación de noticias, microblogging, interacción entre consumidores y empresas, búsqueda de información, interacción con figuras influyentes y para fines políticos y propagandísticos. Para poder entender el tipo de filtraciones que pueden darse en esta plataforma, es necesario definir las características básicas de la red social Twitter: •. Plataforma de comunicación abierta: No es necesario el consentimiento del publicador de la información para acceder a esta, cualquier usuario puede ver la información que se publica.6. •. Sistema de etiquetado: Twitter implementa una comunicación fuertemente basada en etiquetas, ya sea para citar a otros usuarios (mediante el empleo de las ‘@’) o para referirse a temas específicos (mediante el empleo de las ‘#’).. •. Limitación de caracteres: Los mensajes (conocidos como Tweets) están limitados a 280 caracteres7.. •. Emoticonos y emojis: Twitter permite el uso de emoticonos8 y emojis9, siendo estos muy utilizados por los usuarios en las publicaciones.. •. Comunicación anónima: En principio, la red permite la comunicación desde el anonimato, mediante el uso de un seudónimo escogido como perfil público.. •. Comunicación descentralizada: La información, desde el punto de vista de la comunicación, viaja de manera descentralizada, multipunto.. •. Servicio gratuito: El acceso y uso de la herramienta es gratuito, basándose el modelo de monetización de la empresa en la inclusión de publicidad en el servicio.. 4 Fuente: https://www.statista.com/statistics/282087/number-of-monthly-active-twitter-users/ 5 Fuente: https://business.twitter.com/es.html 6 Con excepción de los mensajes directos entre usuarios, que son privados, y de los usuarios bloqueados, que no pueden ver ni seguir las publicaciones de quienes les hayan bloqueado. 7 Inicialmente la limitación era de 140 caracteres. 8 Secuencia de caracteres ASCII que representan una emoción, pej. :-). 9 Ideogramas, de origen japones, que han sido incorporados al estándar Unicode, y que representan emociones, objetos, animales, etc. 11.

(12) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. •. Servicio global: El acceso a la red es global10 y está disponible en más de 25 idiomas.. •. Simple y multiplataforma: La red es de fácil uso, orientada o usuarios no expertos y permite el acceso desde una variedad de dispositivos.. •. Viral: Su carácter abierto, global y social fomenta la rápida circulación y multiplicación de la información.. •. Comunicación sincrónica: La fugacidad del timeline11 hace coincidir los tiempos de publicación y lectura de la información12.. Además, es importante entender los distintos usos que los usuarios le dan a la red social. Destacaremos13 las siguientes áreas en las comunicaciones: •. Microblogging.. •. Servidor de noticias.. •. Marketing.. •. Conversaciones entre usuarios.. •. Cohesión social.. •. Autopromoción.. •. Política.. 1.1.1.1. Filtraciones Por último, analizaremos los tipos de filtraciones, según sus causas y objetivos, que se pueden dar en una red social como Twitter: Publicación involuntaria de datos. Tanto en el ámbito personal como en el empresarial se dan filtraciones de datos sensibles sin una intención deliberada. Las causas son muy variadas y van desde la publicación de. 10 Twitter ha sido objeto de censura en Irán, Turquía, China, Egipto y Corea del Sur. 11 Cronología de tweets que se presentan al usuario. 12 Recientemente, Twitter ha implementado cambios para mostrar los Tweets en orden no cronológico, resaltando publicaciones realizadas en el pasado. 13 Fuentes: https://en.wikipedia.org/wiki/Twitter_usage, https://pearanalytics.com/ 12.

(13) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. información sensible por el desconocimiento del carácter confidencial de dicha información14, a fallos en el sistema, deficiencias en los procedimientos para el manejo de la información (o ausencia de estos), estados de alteración de la conducta del usuario o mal uso de los dispositivos electrónicos [16]. Filtraciones con dolo. Las filtraciones también pueden realizarse con la voluntad deliberada de cometer un delito. Nos encontramos en una situación en la que se quiere dañar a una persona o entidad, ya sea atacando su imagen o reputación con la publicación de información privada o sensible, o mediante la propagación de bulos. Las causas pueden ser variadas: intereses económicos, motivos políticos, motivos personales, etc. Filtraciones denuncia. Se trata de filtraciones informativas que publican información secreta o privilegiada con el fin de que sea difundida y así denunciar una situación política, social, económica o de otra índole. También pueden existir otras causas más particulares y residuales que lleven a la filtración de información, y que no estén recogidas en las categorías descritas, como son la autopromoción, la búsqueda de estatus o el mero desafío personal.. 1.1.1.2. Análisis de sentimiento en redes sociales El análisis de sentimiento, o minería de opinión, es el análisis de textos para, mediante el procesamiento del lenguaje natural, determinar la actitud, opinión y, en general, el sentimiento del interlocutor con respecto a un tema. En el ámbito de las redes sociales, el análisis de sentimiento se convierte en una herramienta muy útil ya que permite determinar el tono emocional que hay detrás de una o varias palabras, ya sean estas una marca, tema de actualidad, compañía, etc. clasificándolas en base a su connotación positiva, negativa o neutra. Hay que tener en cuenta que, más allá de la fiabilidad y precisión de las técnicas existentes en el análisis de sentimiento, la comunicación humana no siempre se corresponderá a una de. 14 En ocasiones, además, la información puede ser aparentemente pública y no sensible, pero permitir, a través de ella o de su procesamiento junto con otros datos, inferir información privada o confidencial. 13.

(14) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. las tres categorías mencionadas y, por lo tanto, nos encontramos ante un sistema inmaduro y que necesita evolucionar. Durante el desarrollo del presente TFM se estudiarán las técnicas de análisis de sentimiento existentes y se analizarán las herramientas disponibles hoy en día con el fin de integrar la que mejor se adapte a las necesidades del proyecto en la solución que propone este trabajo.. 1.2. Descripción del TFM Tras analizar la importancia del control de las fugas de datos relativos a las personas físicas y a entidades, en el contexto de una sociedad de la información (ver sección 1.1) y de estudiar las características de la red social Twitter (ver sección 1.1.1) para determinar los tipos de filtraciones que se pueden realizar en dicha plataforma (ver sección 1.1.1.1), podemos comenzar a plantear una solución que ayude a detectar y actuar ante estas filtraciones. Además, estudiaremos el estado del arte de las herramientas de análisis de sentimiento para determinar cuál puede ser más adecuada en Twitter, en base a las características de dicha red social. Este TFM pretende abordar la detección de las fugas de datos que puedan darse en Twitter en tiempo real, o en un periodo de tiempo específico, desde un enfoque de monitorización y alerta, en base a palabras clave. Además, se estudiará el uso de técnicas de análisis de sentimiento con el fin de valorar la opinión de los usuarios en las publicaciones. Para el procesamiento y análisis de los datos recopilados se ha escogido la plataforma de análisis de datos no estructurados, AIL Framework, que se estudia en profundidad en el Anexo: AIL Framework. Dicha plataforma carece de funcionalidad para la monitorización de la red social Twitter, y ese será el objetivo principal de este TFM.. 14.

(15) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 1.3. Objetivos generales Por lo tanto, este trabajo estará enfocado principalmente en el desarrollo de un módulo que se integre en la plataforma AIL y que permita recopilar la información publicada en Twitter, ya sea en tiempo real o en un periodo escogido por el usuario de la herramienta, para su posterior análisis en búsqueda de posibles filtraciones de datos y para el análisis de sentimiento de las publicaciones recopiladas.. 1.3.1. Objetivos principales El desarrollo de dicho módulo tiene los siguientes objetivos: •. Acceso en tiempo real a las publicaciones realizadas en Twitter.. •. Acceso al histórico de publicaciones contenidas en Twitter.. •. Integración con la plataforma AIL de manera que puedan utilizarse sus funciones de análisis y tratamiento de la información.. •. Desarrollo de una interfaz para la visualización de datos agregados y estadísticos respecto a la información recopilada.. •. Desarrollo de un módulo de análisis de sentimiento que determine la connotación positiva o negativa de las publicaciones de Twitter recopiladas.. 15.

(16) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 1.4. Metodología y proceso de trabajo Para la consecución de los objetivos, se ha planteado la siguiente línea de trabajo: 1. Estudio de la plataforma AIL. Se realizará el despliegue de la plataforma AIL para su estudio y posterior base de pruebas y desarrollo. 2. Investigación sobre la forma de monitorizar Twitter en tiempo real. Se estudiarán los posibles métodos para el acceso, en tiempo real, a las publicaciones realizadas en Twitter, analizando las ventajas e inconvenientes de cada uno de ellos, y escogiendo el que mejor se adapte a las siguientes características: o El acceso a la información debe de ser total, se descartarán métodos que proporcionen información parcial o filtrada. o El método debe de ser gratuito y sin limitaciones de uso. o El método debe de ser relativamente consistente en el tiempo, sin una gran dependencia de los cambios realizados en la plataforma social o en la plataforma de control de fuga de datos. 3. Investigación de las técnicas de análisis de sentimiento. Se estudiarán las técnicas existentes para el análisis de sentimiento de textos y se escogerá la que mejor se adecue a las características de las publicaciones en la red social. De nuevo, se descartarán métodos que no sean gratuitos o que impliquen limitaciones de uso. 4. Desarrollo del módulo de monitorización. Se desarrollará un módulo para el acceso en tiempo real a Twitter y la inyección de la información en la plataforma AIL, de tal manera que pueda seguir el flujo de tratamiento y análisis ya establecidos. 5. Desarrollo del módulo de análisis de sentimiento. Se desarrollará un módulo de análisis de sentimiento especializado en las publicaciones de Twitter y que se nutrirá de las publicaciones recopiladas por el módulo de monitorización. 16.

(17) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 6. Desarrollo del módulo de presentación. Se desarrollará un módulo de presentación que muestre las publicaciones recopiladas, así como el análisis de sentimiento realizado sobre dichos textos e información estadística y agregada de la información compilada.. 1.5. Planificación Una vez planteada la línea de trabajo, desglosaremos las fases que hemos establecido en subtareas, con el fin de organizar el desarrollo y asegurar así la consecución de los objetivos en los plazos existentes15. 1. Estudio de la plataforma AIL. 1.1. Despliegue y configuración de la plataforma AIL. 1.2. Estudio en profundidad de la plataforma (arquitectura, interfaces, funcionalidad). 2. Investigación sobre la monitorización en tiempo real de Twitter y las técnicas de análisis de sentimiento. 2.1. Investigación sobre los posibles métodos, escogiendo el que mejor se adapte a los requisitos marcados y a las características de las publicaciones que se realizan en Twitter. 3. Desarrollo de los módulos de monitorización, procesamiento y presentación. 3.1. Desarrollo del código fuente, en Python. 3.2. Integración y pruebas en la plataforma. 3.3. Análisis de los resultados obtenidos. 3.4. Documentación. 4. Producto final. Fase final de aceptación del producto, documentando el sistema y las conclusiones del trabajo. Se realizará, además, una memoria que será presentada y defendida ante el tribunal. 15 Los plazos están establecidos por las entregas prefijadas por la universidad para el TFM. 17.

(18) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. A continuación, se muestra un diagrama que muestra gráficamente las distintas fases del proyecto, incluyendo las subtareas, y el flujo de trabajo. Como se puede observar, la fase de desarrollo sigue un modelo de mejora continua y los resultados obtenidos en varias de las fases pueden implicar la revisión de decisiones tomadas en fases anteriores. Además, se reflejan las entregas que se realizarán al tutor del TFM.. PLAN DE TRABAJO. 1. Despliegue y configuración de la plataforma AIL.. ENTORNO. Estudio en profundidad de la plataforma.. INVESTIGACIÓN. Estudio de las técnicas de monitorización y análisis de sentimiento. Selección de método de recolección. Arquitectura.. DESARROLLO. 2. Desarrollo.. MÓDULO DE MONITORIZACIÓN MÓDULO DE PROCESAMIENTO. Prototipo.. Pruebas. Documentación.. 3. MÓDULO DE PRESENTACIÓN. Producto final. PRODUCTO Y CONCLUSIONES. Entregas PEC. ENTREGA. Conclusiones preliminares Memoria final. 4. Presentación. 5. Defensa. Figura 1: Plan de trabajo. 18.

(19) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. Hitos y Fechas clave: En base a la planificación realizada, se han establecido las siguientes entregas: •. Entrega 1 – Plan de trabajo: Planificación del TFM incluyendo análisis de situación, objetivos, metodología, hitos y fechas clave.. •. Entrega 2 – Arquitectura: Entrega de la arquitectura definida para la solución.. •. Entrega 3 – Prototipo: Entrega del prototipo desarrollado, junto con la documentación de la investigación e implementación.. •. Entrega 4 – Memoria final: Síntesis del trabajo realizado, incluyendo el producto final y las conclusiones.. •. Entrega 5 – Presentación: Video que sintetice el trabajo realizado sobre una presentación de diapositivas.. •. Defensa: Respuesta a las preguntas planteadas por el tribunal en el foro virtual.. Se ha establecido una planificación teniendo en cuenta una disposición semanal de 2 horas de lunes a jueves y 4 horas de sábado a domingo. Ante cualquier eventualidad inesperada o desviación de la planificación se realizará un esfuerzo de dedicación para alcanzar los objetivos establecidos. La siguiente tabla resume los distintos entregables que han sido planificados, indicando la fecha de entrega: Entregable. Fecha. Descripción de la entrega. Entrega 1. 01/10/2019. Plan de trabajo.. Entrega 2. 29/10/2019. Arquitectura.. Entrega 3. 26/11/2019. Prototipo.. Entrega 4. 31/12/2019. Memoria final.. Entrega 5. 07/01/2020. Presentación en video.. Defensa. 17/01/2020. Defensa del TFM. Tabla 1: Entregables. 19.

(20) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 1.6. Público objetivo El producto resultante de este TFM puede ser de utilidad para equipos de respuesta ante incidentes de seguridad (CSIRT o CERT), empresas u organizaciones y, en general, para cualquier persona o entidad interesada en monitorizar posibles filtraciones en Twitter o en realizar análisis de las publicaciones realizadas en la red social. Los centros de respuesta ante incidencias de seguridad surgen de la necesidad de dar una respuesta organizada a las múltiples y diversas amenazas en el ámbito de la seguridad de las tecnologías de la información.. 1.7. Antecedentes Este TFM continua el marco de trabajo de CIRCL, el equipo de respuesta ante incidentes informáticos de Luxemburgo, que comenzó en 2014 el desarrollo de la plataforma AIL como un proyecto interno y que ha puesto el código fuente a disposición del público con licencia GNU Affero General Public License v3.0. La idea de este TFM surge de la necesidad de añadir la monitorización de la red social Twitter en la plataforma AIL utilizada por el equipo de respuesta a incidentes de la anella científica (CSUC-CSIRT)16.. 16 https://www.csuc.cat/es/comunicaciones/seguridad 20.

(21) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 2. Análisis del estado del arte 2.1. Monitorización en tiempo real En este capítulo abordamos la monitorización en tiempo real de las publicaciones de Twitter, estudiando las alternativas existentes para la conexión con Twitter y los datos a obtener.. 2.1.1. Método de obtención de la información La siguiente tabla muestra las distintas opciones que se han encontrado para la monitorización de Twitter, resumiendo las ventajas e inconvenientes de cada una de ellas. Opción. Detalle. Ventajas y Desventajas ▪ Solución oficial de Twitter. ▪ Posibilidad de acceder a todo el archivo de publicaciones. ---------------------------------------------. 1. Twitter APIs. APIs oficiales de Twitter.. ▪ Solución de pago o con resultados limitados, incompletos o con una tasa de consulta limitada. ▪ Dependencia de API, para la que se requiere autenticación.. 2. Query Twitter search. Aprovechar el sistema de búsqueda oficial de Twitter.. ▪ Independencia de API oficial. ▪ Gratuita. --------------------------------------------▪ Posibles limitaciones. ▪ Sujeto a cambios.. 3. Query Twitter timeline. 4. Proveedor externo.. Simulación de las solicitudes realizadas por el navegador web. Obtención de los datos a través de un proveedor externo.. ▪ Independencia de API oficial. ▪ Gratuita. --------------------------------------------▪ Sujeto a cambios. ▪ Solución de pago o con limitaciones en el acceso a los datos (ofrecen solo la interfaz).. Tabla 2: Opciones para la monitorización de Twitter. 21.

(22) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. Opción 1 – Twitter APIs Twitter ofrece tres APIs para el acceso de desarrolladores a la plataforma: •. Standard Search API: o o o o o o o. Proporciona una ventana retrospectiva de 7 días. Gratuita. No se proporcionan todos los resultados (incomplete data fidelity). Formato de respuesta: JSON Requiere autenticación. Tasa limitada. Solicitudes / ventana de 15 minutos (user auth): 180. o Solicitudes / ventana de 15 minutos (app auth): •. 450. Premiun Search API: Existen dos opciones para esta API, ambas de pago: o API de 30 días: proporciona todos (data Fidelity) los Tweets publicados con los últimos 30 días. o API del archivo completo: proporciona acceso a todos (data Fidelity) los Tweets desde 2006.. •. Enterprise Search API: Proporciona, al igual que sucede con la Premium Search API, las dos opciones según la ventana de tiempo que se desee, pero ofrece más opciones y soporte. o PowerTrack API: Esta API proporciona acceso en tiempo real a todas las publicaciones en Twitter.. En principio, el hecho de que las APIs Premium y Enterprise sean de pago nos reduce esta primera solución a únicamente la opción de la Standard Search API. Sin embargo, según se indica en la página oficial de Twitter17, esta opción no ofrece una fidelidad absoluta en los datos devueltos con lo que tampoco parece la mejor opción para una monitorización de la totalidad de las publicaciones. Habrá que valorar también la posibilidad de combinar la Standard Search API con otra de las soluciones propuestas de tal manera que se tenga acceso a todo el archivo de publicaciones. Hay que señalar que esta solución podría utilizarse, bien desarrollando desde cero un módulo que se conecte a Twitter a través de la API, o mediante alguna librería o plataforma preexistente que ya tenga implementado el módulo de autenticación. En este sentido, se han 17. https://developer.twitter.com/en/docs/tweets/search/overview 22.

(23) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. encontrado varias soluciones que se podrían aprovechar parcialmente o utilizarse como referencia. Se listan a continuación algunos ejemplos: ➢ mmdemo-dockerized: Un conjunto de servicios para la monitorización de múltiples plataformas de redes sociales basadas en Docker. Ver https://github.com/MKLabITI/mmdemo-dockerized. ➢ twitterMonitor: Realiza una monitorización de los temas que son tendencia en Twitter. Ver https://github.com/dmarx/twitterMonitor ➢ TwitterStockMonitor: Monitorización de twitter enfocado al análisis de los movimientos bursátiles. Ver https://github.com/semaaJ/TwitterStockMonitor/. Opción 2 – Query Twitter Search Twitter ofrece un sistema de búsqueda de Tweets en https://twitter.com/search-home. Se podría explorar la opción de utilizar estas consultas para la recolección de los datos, aunque es bastante probable que existan limitaciones en las consultas que se realicen. Opción 3 – Query Twitter timeline Esta opción simula la búsqueda que se realiza en Twitter desde un navegador cuando se carga la página, solicitando bloques de tweets a un proveedor JSON. Está opción permitiría, a priori, bucear en todo el histórico de tweets. Si bien no se han detectado limitaciones en pruebas preliminares, es una posibilidad a tener en cuenta. Las solicitudes JSON se realizan a la url https://twitter.com/i/search/timeline?f=tweets&q=. Opción 4 – Proveedor externo Existen multitud de servicios profesionales para la monitorización y análisis de redes sociales que se han descartado por ser de pago o por no proporcionar una librería para el acceso a los datos en bruto, ofreciendo únicamente una interfaz web para la monitorización. A continuación, se listan algunos como ejemplo: •. Hootsuite: https://hootsuite.com/es/.. •. Topsy: http://topsy.thisisthebrigade.com.. •. Simplify360: https://simplify360.com.. •. Sentione: https://sentione.com.. •. MediaToolKit: https://www.mediatoolkit.com. 23.

(24) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. Como dato curioso, cabe señalar que existen varias cuentas de Twitter que publican sobre filtraciones detectadas en la propia red social. A continuación, se listan algunas de ellas: • • • •. dumpmon BotChangePasswd DataLeakBot d2dedwad2. 2.1.2. Características de la información a recolectar Una vez hayamos escogido el método para obtener las publicaciones de Twitter, será necesario realizar un tratamiento de dicha información para su gestión y presentación. Para ello, presentamos en el Anexo: Twitter - I.A los parámetros principales de una publicación en Twitter, conocida como Tweet.. 2.2. AIL framework La solución escogida para la monitorización de Twitter será integrada en la plataforma AIL siguiendo el flujo de datos establecido en ella y adaptándose a la arquitectura existente. En el Anexo: AIL Framework se estudia en profundidad dicha plataforma.. 2.3. Análisis de sentimiento En la actualidad, las técnicas de análisis de sentimiento18 se basan en alguno de los siguientes enfoques: ▪. Técnicas basadas en el conocimiento. Estas técnicas clasifican los textos basándose en la aparición de ciertas palabras prefijadas. Dentro de este enfoque, existen dos técnicas que pueden usarse por separado o en combinación: o Localización de palabras clave: se clasifica el texto basado en la aparición de palabras clave con una connotación inequívoca como triste, encantado, feliz, etc. o Afinidad léxica: se asigna a palabras arbitrarias una probabilidad de afinidad a una emoción.. 18 https://en.wikipedia.org/wiki/Sentiment_analysis 24.

(25) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. ▪. Métodos estadísticos: se hace uso de técnicas de aprendizaje de máquina (machine learning) como el análisis de semántica latente, máquinas de vectores de soporte, bolsas de palabras y orientación semántica - información mutua puntual. Algunas versiones más avanzadas de estos métodos tratan de detectar en los textos tanto al sujeto que expresa el estado afectivo como al objeto que causa la emoción.. ▪. Métodos híbridos: hacen uso de las técnicas de aprendizaje de máquina, pero utilizando bases de conocimiento a través del análisis de textos mediante redes semánticas y el análisis ontológico, permitiendo detectar emociones no implícitas en la comunicación a través de las relaciones y enlaces entre conceptos.. El tipo de comunicación que se realiza en Twitter, compuesto por grandes volúmenes de contenido y que se caracteriza por textos muy breves, el uso de un lenguaje informal abreviado y la inclusión de emojis y emoticonos, presenta retos para el análisis de sentimiento de los textos y para las técnicas existentes. En una red social como Twitter es necesario tener en cuenta que el sentimiento de los textos puede cambiar al incluir este tipo de símbolos o cuando se usa una jerga que enfatiza las emociones mediante el uso de mayúsculas, signos de puntuación o un lenguaje informal. Para la realización del análisis de sentimiento de los Tweets recopilados con la herramienta a desarrollar, se han estudiado varias librerías existentes 19 y se han analizado teniendo en cuenta las características de las publicaciones que se realizan en Twitter. Se listan a continuación: ▪. Stanford Sentiment Analysis Module [21].. ▪. Textblob [19].. ▪. LingPipe [20].. ▪. CLIPS pattern [22].. ▪. Vader [23].. ▪. Librerías que permiten el desarrollo de módulos de análisis de sentimiento utilizando técnicas basadas en algoritmos de aprendizaje automático como Naive Bayes, Maximum Entropy y Support Vector Machine (SVM).. Podemos comprobar, por ejemplo, que la solución desarrollada por la Universidad de Stanford [21], basada en una red neuronal recursiva que se basa en estructuras gramaticales 19. Se han obviado las librerías desarrolladas ad-hoc para plataformas fuera del ámbito de este TFM o que se basen en el uso de la API de Twitter, también descartada, como la plataforma GATE o Tweepy. 25.

(26) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. entrenada con un conjunto de datos20, y de la cual ofrecen una demo web21, no contempla el uso de emojis o emoticonos en los textos. La herramienta tampoco distingue el uso de palabras en mayúsculas o los signos de exclamación, factores que pueden incrementar la intensidad de la emoción expresada en una frase, como, por ejemplo: << La película es muy buena>> << La película es MUY BUENA>> << La película es MUY BUENA !!>> La librería de TextBlob [19] está más enfocada al procesamiento de lenguaje natural, y aunque es destacable que realiza traducción de los textos a varios idiomas, tampoco contempla el uso de emojis o emoticonos. Se ha considerado que su uso puede tener un impacto negativo en la velocidad de procesamiento de las publicaciones ya que convierte las cadenas de texto en objetos Textblob para la realización de varios análisis de texto innecesarios para la solución que se plantea en este TFM. LingPipe es un kit de herramientas para procesar texto usando lingüística computacional que permite realizar tareas como encontrar nombres de personas, organizaciones o ubicaciones en las noticias, clasificar automáticamente los resultados de búsquedas en Twitter o sugerir cambios ortográficos en consultas. Las desventajas que se han considerado de esta herramienta son que se trata de una librería con licencia de código pseudo-abierto22, con limitaciones de uso, el hecho de estar desarrollada en Java (cuando la solución propuesta en este TFM estará basada en Python) y que no contempla el uso de emojis o emoticonos. CLIPS proporciona módulos para el etiquetado de textos que permite identificar sustantivos, adjetivos, verbos, etc. en una oración, además de proporcionar análisis de sentimientos de dichos textos. Sin embargo, tampoco contempla el uso de emojis o emoticones y obliga a importar una librería distinta para cada idioma a analizar. VADER es una herramienta de análisis de sentimientos, desarrollada en Python, basada en reglas y léxicos, que está especializada en el tipo de comunicación que se produce en redes sociales. Ha sido incorporada a NTLK [24] de manera que se puedan tokenizar 23 las publicaciones para su posterior análisis. Contempla el uso de emojis y emoticonos. Además, tiene en cuenta el uso de mayúsculas o símbolos a la hora de clasificar las emociones expresadas en los textos.. 20. https://nlp.stanford.edu/sentiment/treebank.html http://nlp.stanford.edu:8080/sentiment/rntnDemo.html 22 http://alias-i.com/lingpipe/web/download.html 23 Proceso de convertir una secuencia de caracteres en una secuencia de tokens (cadenas con un significado asignado e identificado). 21. 26.

(27) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. Las librerías que proporcionan las bases para el desarrollo de módulos de análisis de sentimiento basados en algoritmos de aprendizaje automático han sido descartadas por el coste computacional, la necesidad de un conjunto de entrenamiento, no disponible, específico para una comunicación tan particular como la que se da en Twitter, y porque no se han encontrado evidencias de una fiabilidad suficiente que compense su complejidad en comparación con otras técnicas más simples basadas en modelos de reglas y léxicos.. 27.

(28) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 3. Arquitectura 3.1. Arquitectura general El siguiente diagrama muestra la arquitectura de la solución propuesta en este TFM, en su integración con la plataforma AIL:. AIL WEB INTERFACE. MÓDULOS DE INTERFAZ DE USUARIO. TWITTER MONITOR. TWEETS IMPORTER. Import_dir.py. MÓDULOS DE SUMINISTRO. ZMQ_GLOBAL Pystemon feeder. MIXER. MÓDULOS DE PROCESAMIENTO. GLOBAL. REDIS ARDB. TWITTER ANALYZER. MÓDULOS DE LA SOLUCIÓN MÓDULOS DE AIL FRAMEWORK. Figura 2: Arquitectura de la solución. 28.

(29) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 3.2. Módulos. 3.2.1. Módulos de interfaz de usuario La solución desarrollada contará con una interfaz de usuario para poder interactuar con ella y que dispondrá de tres áreas funcionales: •. Interfaz para configurar, activar y presentar el estado de la monitorización de Twitter.. •. Interfaz para la presentación de datos relativos a la búsqueda realizada y los resultados del análisis de sentimiento de las publicaciones.. •. Interfaz para la configuración del sistema.. 3.2.1.1.. Interfaz para la monitorización de Twitter. Mediante esta interfaz gráfica el usuario podrá activar y desactivar la monitorización de Twitter, así como establecer los parámetros de la monitorización. El sistema permitirá elegir entre monitorizar las publicaciones realizadas en un periodo de tiempo establecido por el usuario o activar la monitorización en tiempo real que realizará, hasta que el usuario lo cancele, una recopilación de las publicaciones que se realicen desde el momento de la activación. El siguiente diagrama muestra la arquitectura de la interfaz de monitorización:. AIL WEB INTERFACE. TWITTER MONITOR. TWEETS IMPORTER. Figura 3: Arquitectura de la interfaz de usuario para la monitorización. 29.

(30) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. La interfaz está compuesta por archivos HTML, que harán uso de HTML, CSS y JavaScript y que se servirán del framework de Flask para interactuar con un archivo python, que será el encargado de recibir las ordenes desde la interfaz y devolver el estado de la operación para su presentación en la web. En el ANEXO G se pueden consultar los archivos específicos que conforman la solución propuesta.. 3.2.1.2.. Interfaz de resultados. Esta interfaz gráfica permitirá al usuario visualizar un resumen de las publicaciones recopiladas, además del resultado del análisis de sentimiento de cada uno de los bloques de datos o búsquedas realizadas por el usuario. El resultado del análisis consistirá en una medida en forma de valor compuesto, normalizado y ponderado, sobre el sentimiento positivo, neutral o negativo de las publicaciones de Twitter recopiladas. El siguiente diagrama muestra la arquitectura de la interfaz de presentación de resultados:. AIL WEB INTERFACE. TWITTER MONITOR. REDIS ARDB. Figura 4: Arquitectura de la interfaz de usuario para la presentación de resultados. La interfaz está compuesta por archivos HTML, que harán uso de HTML, CSS y JavaScript y se servirán del framework de Flask para interactuar con un archivo python, que será el encargado de obtener la información almacenada en la base de datos Redis ARDB, que contiene el resultado de los análisis de sentimiento realizados y el resumen de las 30.

(31) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. publicaciones recolectadas. En el ANEXO G se pueden consultar los archivos específicos que conforman la solución propuesta.. 3.2.1.3.. Interfaz de configuración. Esta interfaz gráfica permitirá al usuario configurar el módulo según sus necesidades, almacenando en un fichero de configuración las preferencias del usuario. El siguiente diagrama muestra la arquitectura de la interfaz de configuración:. AIL WEB INTERFACE. TWITTER MONITOR. CONFIGURATION FILES. Creación de un módulo web en la plataforma AIL A continuación, se explican los pasos para la creación de un módulo web en la plataforma AIL. El proceso consiste en ejecutar un script de python, proporcionado junto con la plataforma, que facilita su integración dentro de esta: 1.. Ejecutamos el script /var/www/créate_new_web_module.py que nos solicita un nombre para el módulo: . 2.. /var/www/create_new_web_module.py. Introducimos el nombre para el módulo, en este caso se ha establecido TwitterMon.. Esto genera la siguiente estructura de archivos en AIL-framework/: /var/www/modules/TwitterMon/ |__ Flask_TwitterMon.py |__ Templates/ |__ Header_TwitterMon.html |__ TwitterMon.html 31.

(32) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 3.2.2. Módulos de recopilación y suministro de la información Estos módulos serán responsables de recopilar las publicaciones de Twitter, en base a los parámetros establecidos por el usuario en la interfaz web, y de suministrar la información a la plataforma AIL. El siguiente diagrama muestra la arquitectura del módulo de recopilación y suministro de las publicaciones de Twitter:. TWITTER MONITOR. TWEETS IMPORTER. ZMQ_GLOBAL. MIXER. Figura 5: Arquitectura para la recopilación de publicaciones y suministro a la plataforma.. Recopilación de la información Para la recolección de las publicaciones de Twitter, de entre los métodos de obtención que se plantearon en la sección 2.1, se ha escogido implementar una solución en Python basada en la simulación de las solicitudes realizadas por un navegador web cuando un usuario consulta las publicaciones de Twitter. Dicha solución se basa en una libraría desarrollada para la obtención de Tweets antiguos [18]. Suministro de la información Según se vayan recibiendo y procesando los bloques de archivos JSON, la información será inyectada en la cola ZMQ que, a su vez, suministra a la cola Redis Global a la que están 32.

(33) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. subscritos los distintos módulos de procesamiento proporcionados por la plataforma AIL (Bitcoin, Credential, CVE, etc. Ver sección I.D). Esto permitirá que la información recopilada de Twitter sea clasificada y procesada por todos los módulos de la plataforma. En el ANEXO G se pueden consultar los archivos específicos que conforman la solución propuesta. Colas de subscripción y publicación de los módulos En el archivo /AIL-framework/bin/packages/modules.cfg se configura a que colas se subscriben y en que colas publican los distintos módulos de la plataforma. El archivo tiene la siguiente estructura: [Mixer] subscribe = ZMQ_Global publish = Redis_Mixer,Redis_preProcess1 [Global] subscribe = Redis_Mixer publish = Redis_Global,Redis_ModuleStats. 3.2.3. Módulos de procesamiento El último paso en la solución propuesta en este TFM consistirá en un módulo de resumen estadístico de las publicaciones recopiladas y en un análisis de sentimiento, especializado en el tipo de contenido que se publica en la red social Twitter, que se nutrirán de los Tweets volcados en la cola Redis Global. El siguiente diagrama muestra la arquitectura de los módulos de procesamiento: TWITTER MONITOR. ZMQ_GLOBAL. REDIS ARDB. MIXER. GLOBAL. TWITTER ANALYSIS. Figura 6: Arquitectura para el procesamiento de la información. 33.

(34) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. Análisis de sentimiento Para el análisis de sentimiento de los tweets, de entre las soluciones estudiadas en la sección 2.3, se ha escogido la librería Vader Sentiment Analysis [23] por su simplicidad, basada en reglas y léxicos, por el hecho de estar desarrollada en Python y por estar adaptada a las conversaciones y publicaciones que se realizan en redes sociales como Twitter. En el ANEXO F se estudia la librería en más profundidad. Si bien la plataforma AIL ya implementa un análisis de sentimiento utilizando la librería nltk.sentiment.vader, esta no soporta el análisis de emojis, mientras que la librería de Vader original [23] sí que lo hace. Además, la solución que se propone en este TFM pretende mejorar la presentación de los resultados obtenidos en el análisis y su adaptación al formato de publicaciones que se realizan en Twitter. Análisis de las publicaciones Además del análisis de sentimiento, se realizarán análisis estadísticos de las publicaciones recopiladas, incluyendo la generación de datos agregados de los bloques procesados. Por último, los resultados de los análisis realizados se grabarán en la base de datos para su presentación en la interfaz gráfica de la solución. En el ANEXO G se pueden consultar los archivos específicos que conforman la solución propuesta.. Creación de un módulo de procesamiento en la plataforma AIL A continuación, se explican los pasos para la creación de un módulo de procesamiento en la plataforma AIL. La plataforma proporciona una plantilla que facilita la creación e integración del módulo dentro de esta: Plantilla: AIL-framework/bin/template.py En este caso se ha establecido TwitterAnalyzer.py para el módulo de análisis. Si se desea que el módulo se arranque junto con la plataforma, es necesario añadir la siguiente línea de código al script de lanzamiento /bin/LAUNCH.sh : . screen -S "Script_AIL" -X screen -t "TwitterAnalysis" bash -c "cd ${AIL_BIN}; ${ENV_PY} ./TwitterAnalysis.py; read x" 34.

(35) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 4. Diseño 4.1. Estructura y archivos A continuación, se listan los archivos y carpetas que componen la solución propuesta en este TFM dentro de la estructura de la plataforma AIL. Asimismo, se indica con la etiqueta [M] los ficheros pertenecientes a la plataforma AIL que son modificados para el correcto funcionamiento del sistema de monitorización. La estructura de la solución, en su formato entregable previo a la instalación, puede encontrarse en el ANEXO G. /bin/ |__ LAUNCH.sh [M] |__ TwitterAnalyzer.py |__ packages/ |__ modules.cfg [M] |__ Tweet.py /var/www/ /templates/ |__ nav_bar.html [M] |__/twittermon/ |__ menu_sidebar.html /modules/ |__ /TwitterMon/ |__ Flask_TwitterMon.py |__ TweetsImporter.py |__ TM_Status.py |__ data/ |__ logs/ |__ config/ |__ TwitterMon.cfg |__ templates/ |__ header_TwitterMon.html |__ TwitterMon.html |__ TwitterMon_results.html |__ TwitterMon_settings.html. La siguiente tabla muestra una breve descripción funcional de los ficheros que componen la solución. En las siguientes secciones se describe en detalle su papel en las funciones del sistema. 35.

(36) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. Archivo. Descripción Fichero de AIL para arrancar la plataforma.. LAUNCH.sh. •. Tipo: Linux shell script.. Se modifica para añadir el lanzamiento del módulo de procesamiento de Tweets, /bin/TwitterAnalyzer.py. Módulo de procesamiento y análisis de Tweets. • TwitterAnalyzer.py. Tipo: Python v3.. Este módulo de procesamiento se encarga de procesar los Tweets recopilados, realizando un análisis de sentimiento y un análisis estadístico. Fichero de configuración de AIL Framework.. modules.cfg. •. Tipo: Fichero de configuración.. Se modifica para indicar a la plataforma la cola a la que se subscribe la solución para recibir los Tweets recopilados. Fichero auxiliar del módulo de procesamiento y análisis de Tweets. Tweet.py. •. Tipo: Python v3.. Este fichero auxiliar Python es el encargado de crear objetos diseñados para contener los Tweets recopilados, ayudando así al análisis de la información recopilada. Fichero web de AIL Framework. • nav_bar.html. menu_sidebar.html. Tipo: HTML.. Este archivo HTML de AIL define la barra de navegación superior de la plataforma web. Se ha modificado para añadir un acceso directo al sistema de monitorización de Twitter, TwitterMon. Fichero HTML auxiliar que define el menú de accesos directos que se presenta en la barra lateral de la página del módulo de Twitter. •. Tipo: HTML. 36.

(37) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. Archivo. Descripción Fichero Flask Python que sirve de interfaz entre la interfaz web, los módulos de operación Python y la base de datos. •. Tipo: Python v3.. Flask_TwitterMon.py. Este fichero permite la comunicación entre los módulos de interfaz de usuario y los módulos de recopilación, procesamiento y análisis. Módulo de recopilación de Tweets. • TweetsImporter.py. Tipo: Python v3.. Su función es realizar solicitudes a Twitter, en base a los parámetros de monitorización establecidos por el usuario, y suministrar las publicaciones recopiladas a la cola de procesamiento de la plataforma. Fichero auxiliar del módulo de recopilación de Tweets, TweetsImporter.py.. TM_Status.py. •. Tipo: Python v3.. Se encarga de operaciones auxiliares a la importación de Tweets, como almacenar el estado de la monitorización en curso o la conexión. Fichero de configuración del sistema de monitorización. •. Tipo: Fichero de configuración.. TwitterMon.cfg. Este archivo de configuración guarda las preferencias establecidas por el usuario para la monitorización y análisis de Tweets.. header_TwitterMon.html. Fichero HTML auxiliar que define el acceso directo a la aplicación, en el submenú superior de la plataforma. •. Tipo: HTML.. 37.

(38) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. Archivo. Descripción Página web para configurar, operar y mostrar el estado de la monitorización de Twitter. •. TwitterMon.html. Tipo: HTML, JavaScript.. Ofrece al usuario un panel para configurar la monitorización de la red social, así como la posibilidad de arrancar y parar la monitorización. Página web que ofrece al usuario los resultados de la recopilación de Tweets, así como datos del análisis realizado. TwitterMon_results.html. •. Tipo: HTML, JavaScript.. Ofrece al usuario un listado de todas las búsquedas realizadas, así como el detalle del análisis de cada una de ellas. Página web que permite al usuario configurar ciertos parámetros de la monitorización y análisis de Tweets. TwitterMon_settings.html. •. Tipo: HTML, JavaScript.. Este archivo es el responsable de la lectura y escriturar en el fichero de configuración TwitterMon.cfg. Tabla 3: Descripción funcional de los archivos de la solución. 38.

(39) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 4.2. Módulo de interfaz de usuario El módulo de interfaz de usuario comprende la interfaz para configurar y operar la monitorización, la interfaz que muestra los resultados de los análisis realizados y la interfaz para la configuración del módulo. La interfaz de usuario está compuesta por los siguientes ficheros: /var/www/ /templates/ |__ nav_bar.html [M] |__/twittermon/ |__ menu_sidebar.html /modules/ |__ /TwitterMon/ |__ Flask_TwitterMon.py |__ templates/ |__ header_TwitterMon.html |__ TwitterMon.html |__ TwitterMon_results.html |__ TwitterMon_settings.html |__ config/ |__ TwitterMon.cfg. El acceso a la interfaz de usuario, una vez arrancada la plataforma AIL, se puede realizar haciendo clic en el enlace de la barra superior de la plataforma AIL:. Figura 7: Menú superior de la plataforma AIL.. Una vez el usuario se encuentre en la interfaz del módulo de monitorización, podrá navegar entre las tres páginas del sistema, a través del menú disponible en la barra lateral izquierda:. Figura 8: Menú lateral del módulo de monitorización. 39.

(40) Alfonso García Alonso. Control de fuga de datos en la plataforma de contenido Twitter Máster Universitario en Seguridad de las TIC. 4.2.1. Interfaz para la monitorización de Twitter La interfaz para la monitorización de Twitter, accesible en la dirección https://<AILSERVER>:7000/TwitterMon/, permite al usuario activar o desactivar la monitorización, así como seguir el estado de la monitorización en curso y establecer los parámetros de dicha monitorización. La siguiente imagen muestra el aspecto de la interfaz web para la monitorización de Twitter:. Figura 9: Interfaz para la monitorización de Twitter.. 4.2.1.1.. Funcionalidades. A. Parametrización de la monitorización La solución permite realizar una monitorización enfocada, permitiendo establecer parámetros de filtrado y acotación de los tweets a monitorizar. La configuración de la búsqueda y los parámetros que el usuario podrá establecer para la búsqueda de publicaciones, divididos en tres áreas, son los siguientes: 40.

Figure

Figura 1: Plan de trabajo
Tabla 1: Entregables
Tabla 2: Opciones para la monitorización de Twitter
Figura 2: Arquitectura de la solución.
+7

Referencias

Documento similar

Construir una aplicación móvil basada en la plataforma Windows Mobile 6 que permita realizar consultas médicas con envío de adjuntos multimedia, tomando como

CONCLUSIONES Se diseño y realizó una análisis y comparación de un controlador PID y un controlador PID difuso en la plataforma de LabVIEW para el control de niveles de agua aplicados

Propuesta para viabilidad de un dispositivo/estructura que permita la optimizaci?n de ciclo parqueaderos PROPUESTA PARA LA VIABILIDAD DE UN DISPOSITIVO/PLATAFORMA QUE PERMITA

15 Monitorización biométrica en tiempo real con dispositivo móvil y plataforma de análisis de datos Como se puede deducir de las alternativas anteriores, la primera de ellas

8 Conclusiones A partir del objetivo general de UnaCloud MSA se puede concluir que se logró desarrollar una plataforma para la generación y análisis de alineamientos múltiples

Conclusiones: La monitorización de la presión intraabdominal demostró un beneficio en la evolución postoperatoria de la cirugía gastrointestinal, al reducir en el periodo estudiado

GripeNet.es (https://www.gripenet.es/) es una plataforma para la monitorización en tiempo real de la incidencia de la gripe estacional en la población española!. Dicha

Esta certificación está enfocada a aquellos interesados en desarrollar aplicaciones básicas para la plataforma iOS.. Prerrequisitos