diseÑo y desarrollo de herramientas de …oa.upm.es/56765/1/tfg_angel_vergara_garcia.pdfcentra en...
TRANSCRIPT
DISEÑO Y DESARROLLO DE HERRAMIENTAS DE
CIBERINTELIGENCIA COMPETITIVA EN EL ÁMBITO DE
LA EMPRESA
TRABAJO DE FIN DE GRADO PARA LA OBTENCIÓN DEL TÍTULO
DE GRADO EN INGENIERÍA EN TECNOLOGÍAS INDUSTRIALES
AUTOR: ÁNGEL VERGARA GARCÍA
TITULACIÓN: GRADO EN TECNOLOGÍAS INDUSTRIALES
TUTOR: ÁNGEL GARCÍA BELTRÁN
FECHA: SEPTIEMBRE DE 2019
2 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 3
AGRADECIMIENTOS A mi tutor Ángel García Beltrán, por su dedicación y disponibilidad en todo momento, lo
cual ha sido de gran ayuda para acelerar y facilitar la realización de este TFG.
A Tarlogic Security, empresa de Ciberseguridad, Ciberinteligencia y Red Team, y en
particular a Lucía González, del departamento de Recursos Humanos, por brindarme la
oportunidad de colaborar con dicha empresa, donde he sido acogido con los brazos
abiertos para la compleción de este proyecto y se han volcado de lleno en el mismo. En
especial, me gustaría hacer mención de Javier Rodríguez, Director de Ciberinteligencia,
por su continuo seguimiento y disponibilidad pese a las demandantes circunstancias
laborales, a Raúl Sampedro, Pentester, por su enorme ayuda en el campo de la
programación y el manejo de datos, y a Gonzalo José Carracedo Carballal, del
departamento de Innovación, por su rol en lo relacionado con el seguimiento de Objetivos
del presente proyecto. Por último, pero no menos importante, subrayo también la notable
ayuda en mi formación del resto del equipo de Ciberinteligencia, formado, entre otros,
por Judith Vega, Jesús M. Pérez y Mariano Ortiz.
A mi familia y amigos más cercanos, por su apoyo incondicional no solo en el presente
TFG, sino en el transcurso de la totalidad de la carrera.
4 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 5
RESUMEN DEL PROYECTO El mundo actual está totalmente vinculado y dirigido por la información, encontrándose
además el volumen de información disponible en un nivel de crecimiento
desproporcionado debido a la presente era digital. A modo de ejemplo, según Marketing
Digital [1], en 2018 y cada 60 segundos en el mundo se envían 473.400 mensajes en
Twitter, se publican 2.083.333 mensajes en Snapchat, Skype registra 176.220 llamadas y
Google ofrece 3.877.140 consultas en Internet.
Así, desde hace años se ha buscado como darle uso o sacar un beneficio determinado a
toda esta información, dando lugar a lo que se conoce como inteligencia. Hoy en día,
debido al potencial del mundo virtual y las fuentes de información abiertas (OSINT), es
normal referirse a dicha inteligencia como ciberinteligencia. De hecho, es notable la
importancia que gobiernos o empresas otorgan a esta disciplina, al ser cada vez más
común la incorporación de un departamento dedicado a este fin, o encontrar numerosas
noticias en medios de comunicación mostrando las cuantiosas inversiones que estas
entidades dedican a la consecución de inteligencia.
Sin embargo, se pueden distinguir diversos tipos de inteligencia según los fines
buscados. Esto se debe a que la explotación de fuentes de información puede ser con
vistas a campañas publicitarias, fines médicos, fines sociales, etc. El presente proyecto se
centra en la inteligencia destinada a la competitividad empresarial y económica para
lograr ‘vencer’ a la competencia, y a esta rama se la citará como inteligencia competitiva
y se hablará de ella a lo largo de la memoria.
Otra forma de clasificar la inteligencia en tipos es según la fuente que se utilice para su
obtención. Así, aparecen diversas designaciones como la ya mencionada OSINT, SIGINT
(por sus siglas en inglés Signal Intelligence), COMINT (por sus siglas en inglés
Communications Intelligence), etc. Sin embargo, en todas ellas habitualmente existe un
problema.
Este problema deriva del enorme volumen de información disponible actualmente, y
radica en cómo se puede gestionar dicha información de una manera temporalmente
viable. En otras palabras, es evidente que al navegar por la web se pueden encontrar
numerosas páginas con información relevante, o buscando a un usuario en alguna red
social se puede ver manualmente quienes son sus contactos, pero la realización de esta
labor supone un gasto temporal demasiado grande, con lo que ha surgido la necesidad de
automatizar dichos procesos. Esto es primordial debido a que el principal factor que da
valor real a una información es su obtención en un determinado plazo temporal.
Así, han aparecido diversas herramientas que buscan solucionar este inconveniente, como
puede ser el software Maltego, del cual se habla en profundidad en la memoria del
presente proyecto. Dicha herramienta es un claro ejemplo de la explotación de las
mencionadas fuentes abiertas (OSINT), y es muy utilizada por los departamentos de
ciberinteligencia de diversos sectores. No obstante, esta herramienta tiene un enfoque
muy genérico, pues permite un acercamiento muy superficial a Objetivos, como la
obtención de sus redes sociales, cuentas de correo electrónico o teléfonos móviles.
Indudablemente, la obtención de información de este tipo es relevante en una
RESUMEN DEL PROYECTO
6 Escuela Técnica Superior de Ingenieros Industriales (UPM)
investigación, pero no deja de ser un punto intermedio y no una conclusión de valor para
el sujeto investigador.
Previo a continuar con la presente investigación, conviene definir qué se entiende por
Objetivo, siendo en este caso una persona de especial interés dada su posición en la
organización, o su posible influencia sobre la misma.
En este proyecto, se ha buscado un enfoque algo más específico, centrado en el análisis
de una compañía u organización para la extracción de determinados Objetivos. Es
evidente que, en la actualidad, la forma más fácil y directa de acceder a la vida de un
Objetivo es a través de las redes sociales o aplicaciones de mensajería instantánea, con lo
que éste ha sido el punto de partida. Así, se ha empleado la red social Twitter y la
aplicación de mensajería instantánea WhatsApp para analizar de manera exhaustiva al
Objetivo en cuestión, y se han desarrollado módulos para la automatización de la
búsqueda de información en las mismas.
La investigación consta de cuatro bloques. El primer bloque se inicia, una vez definida
la compañía y sector de interés, con el uso de Maltego. En el presente proyecto, se ha
investigado a la empresa multinacional Atos, y en particular, el contrato masivo en el que
participa basado en la tecnología que rodea el sistema de información de los Juegos
Olímpicos.
La elección de esta compañía radica en mostrar la verdadera potencia de las herramientas
desarrolladas o empleadas, al tratarse de una enorme empresa, con decenas de miles de
empleados, y a priori podría parecer complicado reducir dicha estructura a unos pocos
Objetivos de interés.
Así, se ha empleado inicialmente información de la propia página web de la compañía,
con la que se ha deducido un esquema inicial de personas de interés ligadas al proyecto
en cuestión. Adicionalmente, se han investigado las redes sociales encontradas para los
mencionados Objetivos, extrayendo no solo vínculos laborales actuales, sino también
relaciones laborales pasadas, coincidencias de varios Objetivos en determinados centros
académicos, etc. Estas relaciones de ámbitos extralaborales que aparentemente se pueden
interpretar como de escaso valor, pueden ser determinantes como se ha visto en varios de
los casos reales detallados en la memoria.
Una vez completado el grafo con todos los Objetivos y las relaciones extraídas mediante
fuentes OSINT, Maltego facilita notablemente su análisis al proporcionar herramientas
de visualización que permiten la extracción de nodos u Objetivos especialmente
interesantes por su elevado número de relaciones.
Tras la mencionada extracción, se ha logrado la reducción de una multinacional con
decenas de miles de empleados a una lista muy reducida de Objetivos de gran valor para
su posterior estudio. De hecho, en el caso tratado, se lograron extraer 7 Objetivos a
investigar a partir de los 120.000 empleados con los que cuenta Atos.
Es en este momento cuando entra en juego la herramienta desarrollada que supone el
grueso de trabajo de este TFG, y que constituye los otros tres bloques de la investigación.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 7
El segundo bloque, basado en Twitter, utiliza el acceso facilitado por la red social para
desarrolladores, con diversas funciones de autenticación de credenciales para permitir ese
acceso. Tras lo anterior, se han desarrollado diversos módulos en el lenguaje de
programación Python que se encargan de extraer la totalidad de la red de contactos de un
Objetivo introducido, o, en otras palabras, extraer de cada Objetivo sus seguidores, sus
seguidos, los seguidos y seguidores de los seguidores, y seguidos y seguidores de los
seguidos. En la memoria se detalla el mencionado desarrollo, así como las diversas
limitaciones encontradas y las alternativas llevadas a cabo para superarlas. Estas
limitaciones son debidas a los límites de extracción de información impuestos por los
desarrolladores de la red social Twitter, que delimitaban temporalmente el uso de la API
(Application Programming Interface) en su versión gratuita. Así, ha sido necesario incluir
retrasos intencionados en la ejecución del código para superar esas restricciones.
En adición, se han creado otros módulos para facilitar el análisis de una cuenta particular
para extraer información de interés:
1) El primer módulo extrae información ligada a la cuenta especificada, y genera un
grafo que muestra en una escala temporal los picos de actividad de la cuenta, a
partir de los likes recibidos.
2) El segundo módulo profundiza en la extracción de información, mostrando
también los últimos tweets de la cuenta indicada, enmarcándolos temporalmente
y asociándolos al dispositivo empleado para su publicación.
3) El tercer módulo muestra la actividad en tiempo real asociada a las palabras clave
indicadas por el usuario.
Ahora bien, tras la ejecución del módulo se han obtenido inmensas listas con miles y
miles de ID de usuarios que, por sí solas, son de interés prácticamente nulo. Así se subraya
de nuevo lo ya mencionado al inicio del resumen en cuanto a que la exclusiva obtención
de información no aporta valor alguno, sino que es su posterior análisis e investigación
lo que genera inteligencia.
De esta manera, se llega al tercer bloque, también desarrollado en Python, que tiene
como propósito plasmar esa red de contactos almacenada en listas de difícil interpretación
en Neo4j, un software para el tratamiento de datos mediante grafos. Así, se generan los
grafos con esas redes de contactos para cada Objetivo, y con las denominadas Cypher
queries o consultas, se pueden extraer conclusiones de interés. Algunos ejemplos de las
mismas son: averiguar el nodo con mayor número de relaciones, encontrar el camino más
corto entre dos nodos de interés, etc. De hecho, en el caso tratado, se logró extraer una
cuenta adicional a las ya obtenidas mediante Maltego, y con los módulos vistos en el
segundo bloque se pudo identificar al sujeto vinculado a ese ID. Por tanto, la utilidad de
los dos bloques anteriores radica en obtener Objetivos adicionales a los ya encontrados
en el primer bloque mediante Maltego, ya que estos Objetivos adicionales pueden ser
sujetos externos a la compañía, pero relacionados con la misma luego su interés puede
ser notable.
Finalmente, la investigación conduce al cuarto bloque, el estudio de la actividad en
WhatsApp de los Objetivos extraídos en los tres primeros bloques. Para ello, la empresa
colaboradora Tarlogic Security cuenta con un tracker de WhatsApp que monitoriza la
RESUMEN DEL PROYECTO
8 Escuela Técnica Superior de Ingenieros Industriales (UPM)
actividad de los sujetos cuyos números se introducen en la herramienta. A partir de este
tracker, se ha desarrollado un módulo en Python para optimizar la búsqueda de
información relevante. Cabe preguntarse cuál podría ser el interés de conocer los
intervalos de conexiones o desconexiones de un determinado sujeto, y la realidad es que
cuenta con una infinidad de aplicaciones. Algunas de las mismas son: deducción de un
posible viaje del Objetivo al notar un periodo grande de desconexión seguido de un
cambio en el huso horario de actividad, identificación de usuarios en contacto a partir de
la coincidencia de franjas de conexión pudiendo deberse a llamadas vía WhatsApp, etc.
Cabe destacar que este último módulo no se ha aplicado en el caso práctico realizado
hacia la empresa Atos, puesto que no hay un fin claro en torno al cual centrar la
investigación de esa compañía, debido a que el fin de la investigación de Atos era mostrar
un posible manejo de las herramientas propuestas en el presente TFG. Sin embargo, para
reflejar el verdadero valor de ese último módulo, se han incluido varios casos reales en
los que se ha visto inmersa la empresa colaboradora Tarlogic Security, y en los que ha
sido vital el uso de la herramienta analizada en el cuarto módulo para su resolución. De
hecho, los diferentes casos incluidos muestran diversas posibles aplicaciones de este
módulo.
Para concluir la aplicación práctica y los casos reales analizados, se han detallado los
principales impactos potenciales de este TFG y de su utilización empresarial. Para ello,
se han analizado dichos impactos en cuatro ámbitos: ético y profesional, económico,
social y medioambiental.
Adicionalmente, se debe subrayar el cumplimiento en la totalidad del desarrollo del
presente proyecto de la normativa vigente en relación a la Protección de Datos Personales
y Garantía de Derechos Digitales [2] y al Reglamento General de Protección de Datos
[3], reglamento europeo que entró en vigor en mayo de 2016 y es aplicable desde el 25
de mayo de 2018, momento en que derogó la directiva 94/46/CE. De hecho, el artículo
segundo de este último reglamento, en relación con el ámbito de aplicación material del
tratamiento de datos, indica expresamente la exclusión de este proyecto de la aplicación
de la normativa. En cambio, el uso comercial de este TFG sí se encontraría dentro del
ámbito del RGPD, convirtiéndose el aspecto legal en un impacto relevante a considerar.
Palabras clave: Inteligencia, Ciberinteligencia, Inteligencia competitiva, Inteligencia
empresarial, Inteligencia económica, OSINT, Red Social, Twitter, WhatsApp, Python,
tracker, grafo, Maltego, Neo4j, ID, seguidores, seguidos, Objetivo.
Códigos UNESCO:
Tabla 1. Códigos UNESCO.
Código UNESCO Campo asociado
120323 Lenguajes de Programación
120312 Bancos de Datos
120903 Análisis de Datos
630201 Recogida de Datos de Campo
630204 Métodos de Investigación Social
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 9
ÍNDICE DE CONTENIDO
1. INTRODUCCIÓN ................................................................................................ 11
1.1. MARCO DEL PROYECTO ........................................................................ 16
1.2. MOTIVACIÓN ............................................................................................. 17
1.3. ESTRUCTURA DE LA MEMORIA .......................................................... 18
2. METAS DEL PROYECTO ................................................................................. 19
3. METODOLOGÍA ................................................................................................. 20
3.1. OBTENCIÓN DEL OBJETIVO ................................................................. 21
3.2. APLICACIÓN PARA TWITTER ............................................................... 28
3.2.1 Requisitos de la aplicación ................................................................................ 28 3.2.2 Bases del desarrollo........................................................................................... 30 3.2.3 Obtención de red del Objetivo .......................................................................... 30 3.2.4 Otros módulos desarrollados ............................................................................. 40
3.3. EL SOFTWARE NEO4J ............................................................................... 46
3.4. APLICACIÓN PARA WHATSAPP ............................................................ 53
3.4.1 Descripción técnica ........................................................................................... 53 3.4.2 Módulos adicionales.......................................................................................... 56 3.4.3 Caso ejemplo ..................................................................................................... 60
4. RESULTADOS ..................................................................................................... 64
4.1. RESULTADOS EN CASO PRÁCTICO .................................................... 64
4.1.1 Introducción al caso práctico ............................................................................ 64 4.1.2 Maltego en caso práctico ................................................................................... 67 4.1.3 Aplicación Twitter en caso práctico .................................................................. 75
4.1.3.1 Objetivo 1 ............................................................................................................. 76 4.1.3.2 Objetivo 2 ............................................................................................................. 78 4.1.3.3 Objetivo 3 ............................................................................................................. 80 4.1.3.4 Objetivo 4 ............................................................................................................. 81
4.1.4 Neo4J en caso práctico ...................................................................................... 83 4.1.4.1 Objetivo 1 ............................................................................................................. 83 4.1.4.2 Objetivo 2 ............................................................................................................. 86
4.1.5 Resultados y líneas futuras ................................................................................ 88
4.2. ANÁLISIS DE CASOS REALES ............................................................... 89
4.2.1 Caso 1 ................................................................................................................ 89 4.2.2 Caso 2 ................................................................................................................ 89 4.2.3 Caso 3 ................................................................................................................ 90 4.2.4 Caso 4 ................................................................................................................ 91 4.2.5 Caso 5 ................................................................................................................ 91
4.3. VALORACIÓN DE IMPACTOS ............................................................... 92
4.3.1 Responsabilidad Social ..................................................................................... 92 4.3.1.1 Contexto del proyecto .......................................................................................... 92
4.3.1.1.1. Ámbito Legislativo .......................................................................................... 93 4.3.1.2 Principales impactos ............................................................................................. 93
ÍNDICE DE CONTENIDO
10 Escuela Técnica Superior de Ingenieros Industriales (UPM)
4.3.1.2.1. Impacto Ético y Profesional ............................................................................ 94 4.3.1.2.2. Impacto Económico ......................................................................................... 95 4.3.1.2.3. Impacto Social ................................................................................................. 95 4.3.1.2.4. Impacto Medioambiental ................................................................................. 95
5. CONCLUSIONES Y LÍNEAS DE FUTURO DESARROLLO ....................... 96
5.1. CONCLUSIONES ........................................................................................ 96
5.2. LINEAS DE FUTURO DESARROLLO .................................................... 97
6. REFERENCIAS ................................................................................................... 98
7. PLANIFICACIÓN TEMPORAL ..................................................................... 102
7.1. ESTRUCTURA DE DESCOMPOSICIÓN DEL PROYECTO ............. 103
7.2. DIAGRAMA DE GANTT.......................................................................... 104
8. PRESUPUESTO ................................................................................................. 105
8.1. MATERIAL INFORMÁTICO ................................................................. 105
8.2. INFRAESTRUCTURA .............................................................................. 106
8.3. MANO DE OBRA ...................................................................................... 107
8.4. TOTALES ................................................................................................... 107
9. ÍNDICE DE FIGURAS ...................................................................................... 108
10. ÍNDICE DE TABLAS ........................................................................................ 111
11. ACRÓNIMOS ..................................................................................................... 112
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 11
1. INTRODUCCIÓN
A continuación, se llevará a cabo un análisis de la presente era de la información, y el
surgimiento de ese tan relevante concepto, la inteligencia.
La información supone una inmensa fuente de poder, y en la era digital actual, esta
afirmación cobra mucho más protagonismo. Sin embargo, la magnitud de la esfera de
datos digital es complicada de asimilar, así como de predecir su futura evolución. De
hecho, las predicciones llevadas a cabo pocos años atrás por numerosos expertos en la
materia distan mucho de las predicciones que se efectúan hoy en día. Esto se plasma en
los diversos artículos e informes que se citan a continuación.
El artículo del diario El Mundo [4] titulado “¿Cuántos datos se crean al día en Internet?”
de febrero de 2011, expone que en agosto de 2010, el por aquel entonces director ejecutivo
de Google Eric Schmidt afirmó que la humanidad había creado hasta 2003 una cantidad
de 5 exabytes de información. Además añadió que, en 2011, esa cifra se generaría cada
dos días. Gordon Moore [5], cofundador de Intel y autor de la Ley de Moore, se percató
de que los datos mencionados no eran correctos. Así lo demostró un informe [6] de 2010
de IDC, por sus siglas en inglés International Data Corporation, llamado The Digital
Universe Decade – Are You Ready? en el que se obtenía un dato algo inferior al doble del
estimado por Schmidt, tal y como refleja la Figura 1.
En cambio, atendiendo a fuentes más recientes, se muestran datos muy superiores a los
estimados en 2011. Dichas fuentes son, por ejemplo, el libro blanco de IDC [7],
patrocinado por la empresa centrada en la innovación del almacenamiento, uso y
compartición de datos Seagate, titulado Data Age 2025 The Digitization of the World
from Edge to Core. La Figura 2, proveniente de este informe, escrito en noviembre de
2018 ilustra que la esfera de datos global crecerá de 33 zettabytes en 2018 a 175 zettabytes
en 2025, estimaciones que, en efecto, son muy superiores a los 35 zettabytes predichos
por el informe elaborado por la misma compañía en 2010. Dichas estimaciones vienen
Figura 1. The Digital Universe 2009-2020. Fuente: [6]
INTRODUCCIÓN
12 Escuela Técnica Superior de Ingenieros Industriales (UPM)
reflejadas en la Figura 2. Para cuantificar lo visto con anterioridad, un zettabyte equivale
a 1.000 exabytes, que equivalen a 1.000.000.000.000 gigabytes.
En adición con lo anterior, la multinacional Cisco Systems, dedicada a la fabricación,
venta, mantenimiento y consultoría de equipos de telecomunicaciones, plasma en la
Figura 3 y la Tabla 2 la evolución del tráfico IP global como parte de un informe [8]
realizado en febrero de 2019, llegando a una tasa de crecimiento anual compuesto
(compound annual growth rate por sus siglas en inglés CAGR) del 26%.
Figura 2. Crecimiento anual de la esfera de datos global. Fuente: [7]
Figura 3. Tráfico IP global anual. Fuente: [8]
Tabla 2. Trafico IP global varios años. Fuente: [8]
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 13
Una vez vistas las estimaciones actuales sobre el actual tamaño de la esfera de datos
digital, y su posible tamaño futuro, así como su disparidad frente a las estimaciones
llevadas a cabo pocos años atrás, cabe preguntarse si dichas estimaciones actuales son
realmente fiables o si, en cambio, la futura magnitud de la información disponible online
volverá a superar con creces a las estimaciones de los actuales expertos en la materia.
Adicionalmente, se hace hincapié en cómo esta magnitud de datos se ve reflejada en las
redes sociales, que supondrán una parte considerable del presente proyecto. De hecho,
según Marketing Digital [1], en 2018 y cada 60 segundos en el mundo se envían 473.400
mensajes en Twitter, se publican 2.083.333 mensajes en Snapchat, Skype registra 176.220
llamadas y Google ofrece 3.877.140 búsquedas en Internet.
En definitiva, la información de la que se dispone en la actualidad es masiva, pero
información no implica conocimiento, pues pese a tener semejante cantidad de datos al
alcance de la mano, es elemental contar con las herramientas para extraer utilidad de ellos.
Es aquí cuando aparece el concepto de inteligencia.
La inteligencia consiste en la recolección, evaluación, análisis e interpretación de la
información disponible con el fin de transformarla en conocimiento útil para la toma de
decisiones con el menor nivel de incertidumbre posible, o para modificar decisiones
tomadas con anterioridad.
En este ámbito, destaca la figura de Sherman Kent [9], conocido comúnmente como el
padre de la inteligencia. Este profesor de historia en la universidad estadounidense de
Yale, con amplia experiencia en el campo militar debida a su participación en la Segunda
Guerra Mundial y a sus 17 años de servicio en la C.I.A., introdujo el Ciclo de
Inteligencia.
Se entiende por Ciclo de Inteligencia la secuencia mediante la cual se lleva a cabo esta
obtención y tratamiento de la información y su posterior puesta a disposición de los
usuarios. Consta de 4 fases [10], tal y como refleja la Figura 4.
Figura 4. Ciclo de Inteligencia. Fuente: [53]
INTRODUCCIÓN
14 Escuela Técnica Superior de Ingenieros Industriales (UPM)
1. Dirección: se establecen las necesidades de inteligencia, diseñando un plan para
su obtención y estableciendo tanto los medios como su coordinación, mando y
control.
2. Obtención: se efectúa la explotación de las fuentes de información y su entrega
al equipo destinado a la elaboración de la misma.
3. Análisis y elaboración: se produce la transformación de la información en
inteligencia, mediante un análisis exhaustivo de lo recopilado en la segunda fase
evaluando su exactitud, fiabilidad y pertinencia, y su posterior integración con la
inteligencia disponible e interpretación del conjunto.
4. Difusión: se distribuye la inteligencia de manera segura.
Una vez abordado el concepto de inteligencia, se entiende la ciberinteligencia como la
aplicación de la inteligencia en el ciberespacio.
La enorme extensión del ciberespacio, así como de otras posibles fuentes de información,
lleva a la distinción de diversas disciplinas de recolección de inteligencia. A continuación,
se describen algunas de las más relevantes:
a. Open Source Intelligence: por sus siglas en inglés, OSINT, hace referencia al
conocimiento y explotación de fuentes de acceso público para generar
inteligencia.
b. Signals Intelligence: por sus siglas en inglés, SIGINT, obtiene información
mediante la interceptación de señales. En este tipo de señales se distinguen varias
versiones, pasando a hablar de Inteligencia de Comunicaciones o por sus siglas en
inglés, COMINT, Communications Intelligence, o señales electrónicas no usadas
directamente en comunicaciones, en lo que sería la Inteligencia Electrónica o por
sus siglas en inglés, ELINT, Electronic Intelligence. También es posible una
combinación de las dos anteriores.
c. Human Intelligence: por sus siglas en inglés, HUMINT, consiste en el análisis
de las interacciones entre seres humanos.
Otras formas actuales de inteligencia son: MASINT (Measurement and Signature
Intelligence), IMINT (Image Intelligence), GEOINT (Geospacial Intelligence), etc.
La relevancia de la inteligencia se refleja en diversos campos, como se verá a
continuación con algunos ejemplos de inversiones multimillonarias orientadas a la
inteligencia llevadas a cabo por determinados gobiernos.
Un ejemplo lo recoge el diario Aviation International News en su artículo [11] “France
Launches New Sigint Aircraft Program” de marzo de 2018, en el cual anuncia la
adquisición al fabricante de aeronaves civiles y militares Dassault Aviation, de 3 aviones
Epicure Falcon como los mostrados en la Figura 5, para la interceptación de señales
(SIGINT) y de comunicaciones (COMINT).
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 15
Otro ejemplo, en este caso de Measurement and Signature Intelligence (MASINT) es el
Boeing WS-135 Constant Phoenix de la Figura 6, avión derivado del Boeing C-135 y
empleado por la Fuerza Aérea de los Estados Unidos para recolectar muestras de cara a
detectar e identificar explosiones nucleares. Actualmente hay 2 aeronaves de este tipo en
servicio activo, pero como refleja el artículo [12] “Air Force to start transforming tankers
into WC-135 ‘nuke sniffers’ in FY19 “ del diario Defense News de abril de 2018, la flota
se verá incrementada.
Para reafirmar la importancia actual de la inteligencia, se menciona la entrevista [13]
llevada a cabo por el diario The Harvard Gazette en febrero de 2018 a Sir John Sawers,
oficial de inteligencia, diplomático y funcionario inglés que fue jefe del Servicio de
Inteligencia Secreto M16, cargo que ocupó desde noviembre de 2009 hasta noviembre de
2014. En dicha entrevista, Sawers afirma que ‘el modelo de Bond, si en algún momento
fue cierto, está completamente acabado. Ahora, la persona más importante en cualquier
servicio de inteligencia es el analista de datos, pues es él quien te dirá de dónde vienen
las amenazas, y donde están surgiendo las oportunidades que tú, como un agente de
inteligencia, puedes explotar’.
Por último, para facilitar la comprensión del presente proyecto conviene definir qué se
entiende por Objetivo, siendo éste una persona de especial interés dada su posición en la
organización, o su posible influencia sobre la misma.
Figura 5. Dassault Epicure Falcon. Fuente: [54]
Figura 6. WC-135 en base aérea de Eielson, Alaska, tras recoger niveles de contaminación
elevados en espacio aéreo internacional. Fuente: [55]
INTRODUCCIÓN
16 Escuela Técnica Superior de Ingenieros Industriales (UPM)
1.1. MARCO DEL PROYECTO
Antes de enmarcar el presente proyecto en un ámbito de inteligencia, conviene introducir
los tipos en los que se puede clasificar la misma.
Este Trabajo de Fin de Grado está basado en la INTELIGENCIA COMPETITIVA, es
decir, en la aplicación de las actividades de la inteligencia en el ámbito de la empresa para
obtener ventajas estudiando el mercado, evaluando a los competidores y su
competitividad, encontrando nuevos proveedores potenciales o nuevas oportunidades
empresariales. Sin embargo, no es de exclusiva aplicación a un tipo de empresa, pues
como dice Gustavo Díaz Matey [14], gestor de inteligencia de negocios en ICEX España
Exportaciones e Inversiones y Doctor en Ciencias Políticas por la Universidad
Complutense de Madrid: ‘La inteligencia debería ayudar a reducir la incertidumbre
inherente en cualquier proceso de toma de decisiones, con independencia de la
organización en la que se aplique’.
A su vez, Diaz Matey, junto con otros autores, hace una distinción en su libro ‘La
Inteligencia Empresarial en España’ [14] la cual se matiza a continuación.
Por una parte se encuentra la inteligencia económica, que tiene carácter estatal y por tanto
tendrá como fin facilitar el proceso de toma de decisiones de la política económica del
Estado. Una definición más detallada de lo anterior es la dada por Garth Hancock, del
Instituto de Estudios Internacionales de Monterrey, el cual define inteligencia económica
como ‘Información económica estructurada y relevante para el encargado de tomar
decisiones políticas o comerciales, incluyendo datos tecnológicos, financieros y
económicos, a través de los cuales se pueda mejorar la posición relativa de la economía
de un Estado’.
Por otra parte, se tiene la inteligencia empresarial o inteligencia estratégica en la empresa,
la cual profundiza en el concepto de inteligencia competitiva, no sólo limitando dicha
inteligencia a ayudar a las empresas a evaluar amenazas provenientes de los competidores
sino también buscando la reducción del riesgo, minimizar la incertidumbre y una correcta
comprensión del entorno.
Una vez definidos los diversos tipos de inteligencia, se determina el marco de este
proyecto. El presente TFG se ha incluido dentro de un caso llevado a cabo por la empresa
Tarlogic Security. Por motivos de privacidad, no se pueden desvelar nombres, ni de
personas ni de empresas, vinculadas al mismo.
En el caso en cuestión, una empresa a la cual se denominará ‘A’ para clarificar la
situación, contactó con Tarlogic Security pues tenía serias sospechas de la existencia de
una fuga de información por parte de alguno o algunos de sus empleados.
Estas sospechas eran debidas a que varios socios actuales de una nueva empresa, que se
designa como ‘B’, habían trabajado durante años para A, con lo que podían existir
vínculos con empleados actuales de A y los fundadores de B provenientes de A. Las
sospechas se consolidaron pues B se había introducido con fuerza en el mercado, y a pesar
de su reciente creación licitaba proyectos de gran envergadura para lo que aplicaba
conocimientos de gestión y procedimientos muy similares a los de A.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 17
Así, se inició una investigación para identificar posibles relaciones, haciendo hincapié en
la trayectoria de los fundadores de B y sujetos de especial relevancia que aún eran
trabajadores en A. Se emplearon diversas fuentes, así como redes sociales importantes a
nivel laboral, como son LinkedIn, Twitter, Facebook, etc.
Es en este punto donde se hizo notable la necesidad de una cierta automatización de este
proceso de búsqueda a través de redes sociales, para lo cual se requería del diseño de un
programa que facilitase la labor, siendo aquí donde se ubica el presente TFG.
1.2. MOTIVACIÓN
Hoy en día, la globalización ha hecho que el mundo sea mucho más pequeño, creando un
único mercado global acompañado de una compleja situación económica centrada en la
competitividad. Por ello, las empresas han centrado sus metas en no sólo competir, sino
en competir mejor. Así lo recoge el ICEX España Exportación e Inversiónes en su Plan
Estratégico 2017-2018 [15] en el cual define como su misión ‘Impulsar de forma eficiente
la proyección internacional de las empresas españolas para contribuir a su
competitividad’.
Por tanto, el uso de la inteligencia competitiva para una empresa supone una considerable
ventaja pues permite:
a. Identificar potenciales amenazas del entorno.
b. Aprovechar las oportunidades que brinda el mercado.
c. Anticiparse a cambios, y por consiguiente desarrollar productos que den respuesta
a necesidades futuras. En definitiva mejorar la capacidad de reacción.
d. Conocer las necesidades de los clientes.
e. Aliarse con socios estratégicos.
f. Minimizar la incertidumbre en la toma de decisiones.
g. Vigilar a los competidores.
h. Etc.
Por todo ello, supone una motivación poder realizar este Trabajo de Fin de Grado sobre
una realidad de vital importancia que en España es relativamente pionera, y que, sin
embargo, hay constancia histórica de que la inteligencia en el ámbito de la empresa ya se
realizaba incluso en el siglo XVI.
INTRODUCCIÓN
18 Escuela Técnica Superior de Ingenieros Industriales (UPM)
1.3. ESTRUCTURA DE LA MEMORIA
El contenido de la memoria se ha dividido en las siguientes secciones:
1. Introducción
Se introducen los conceptos de inteligencia y sus tipos, así como el marco del proyecto
y la motivación para su realización.
2. Metas del Proyecto
Se reflejan las metas generales, así como un listado de metas específicas para el proyecto.
3. Metodología
Descripción técnica y teórica de los cuatro bloques en los que se divide la investigación:
Maltego, Twitter, Neo4j, WhatsApp.
4. Resultados
Aplicación de los tres primeros bloques anteriores a un caso real, centrándolo en la
organización multinacional Atos y en su participación en los Juegos Olímpicos.
Exposición de la utilidad del cuarto bloque aún no llevado a un plano práctico, con varias
aplicaciones reales facilitadas por la empresa colaboradora Tarlogic Security. Análisis
de los principales impactos, en los ámbitos ético y profesional, económico, social y
medioambiental del proyecto.
5. Conclusiones y Líneas de Futuro Desarrollo
Evaluación del cumplimiento de cada una de las metas establecidas para el proyecto.
Análisis de Líneas de Futuro Desarrollo incluyendo algunas limitaciones halladas en la
elaboración del proyecto, así como posibles ampliaciones a realizar.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 19
2. METAS DEL PROYECTO
La meta general, que ha sido también la principal motivación para realizar el presente
Trabajo de Fin de Grado, es la aplicación práctica de un concepto relativamente nuevo y
novedoso como es la inteligencia, puesto que no se ha encontrado constancia en la Escuela
de la existencia de otros proyectos sobre el tema, pero que a su vez es un concepto de
vital importancia y cada vez más empleado por no solo empresas u organizaciones, sino
también gobiernos de multitud de naciones.
Por supuesto, la consecución de una herramienta exhaustiva de investigación debe
hacerse siempre desde el cumplimiento de la normativa vigente en relación a la Protección
de Datos Personales y Garantía de Derechos Digitales [2] y al Reglamento General de
Protección de Datos [3], reglamento europeo que entró en vigor en mayo de 2016 y es
aplicable desde el 25 de mayo de 2018, momento en que se derogó la directiva 94/46/CE.
Las metas específicas de este trabajo son las siguientes:
1. El análisis de los conceptos de Inteligencia e Inteligencia Competitiva, así como
las principales ventajas y ejemplos de su aplicación. En particular para este
proyecto, orientado a la Inteligencia Empresarial.
2. El estudio de cómo llevar a a cabo el análisis de una empresa para la obtención,
en este caso, de personas de especial interés. Para éste propósito, se usará el
software Maltego CE de Paterva.
3. El desarrollo de una aplicación basada en el lenguaje de programación Python
para obtener mediante la API de la red social Twitter usuarios relacionados con
las personas de interés obtenidas.
4. La obtención de un grafo con los datos obtenidos anteriormente mediante la
aplicación Neo4j para determinar la red de contactos de las personas de interés y
así poder extraer otras potenciales personas de interés.
5. El desarrollo y uso de una aplicación para monitorizar la actividad de Whatsapp
de las personas de interés obtenidas, así como el tratamiento de los datos sobre
conexiones registradas.
6. La aplicación del procedimiento visto en las metas 2, 3 y 4 a un caso real para
poder definir una serie de lineas de actuación basadas en la información adquirida.
7. La aplicación en casos reales de la herramienta indicada en la meta 5.
METODOLOGÍA
20 Escuela Técnica Superior de Ingenieros Industriales (UPM)
3. METODOLOGÍA
Se subraya de nuevo el cumplimiento en la totalidad del desarrollo del presente proyecto
de la normativa vigente en relación a la Protección de Datos Personales y Garantía de
Derechos Digitales [2] y al Reglamento General de Protección de Datos [3], reglamento
europeo que entró en vigor en mayo de 2016 y es aplicable desde el 25 de mayo de 2018,
momento en que derogó la directiva 94/46/CE.
Sin embargo, se destaca que el RGPD no ha derogado la anterior LOPD (Ley Orgánica
de Protección de Datos) y su reglamento de desarrollo. Simplemente va desplazando esta
en la medida en que resulte incompatible con él. Siempre que dicha incompatibilidad no
se produzca, ambas normativas coexisten, lo que hace compleja su interpretación y
aplicación práctica sin el asesoramiento jurídico correspondiente. No obstante, la
actividad desarrollada en el presente TFG está dentro de los límites establecidos en dicha
norma.
El incumplimiento de la norma puede dar lugar a importantes sanciones, pudiendo llegar
a los 20 millones de euros, o el 4% de la facturación global anual [16].
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 21
3.1. OBTENCIÓN DEL OBJETIVO
En esta sección, una vez definida la empresa u organización de interés, se analiza su
estructura interna, utilizando la mayor de las fuentes de información de la que se dispone
en la actualidad para generar inteligencia, y más aún con el masivo crecimiento que sufre
internet día a día ya visto en la introducción, OSINT (Open Source Intelligence).
Así, se analizarán las redes sociales, páginas webs vinculadas con la empresa en cuestión
u otras webs para acotar el estudio y obtener un grafo que permita identificar las
principales personas de interés ligadas a la compañía.
Para ello, se empleará el software Maltego (a partir de ahora referido como Maltego),
software de Paterva orientado a OSINT, es decir, a la explotación de información de
fuentes abiertas. Permite analizar personas, cuentas de la red social Twitter (a partir de
ahora referida como Twitter), compañías o dominios, entre otros, gráficamente, lo cual
facilita su posterior tratamiento.
La razón de utilizar la mencionada herramienta es la simplicidad de su uso, además de las
numerosas transformaciones automatizadas con las que cuenta, que se muestran a
continuación. Sin embargo, se estudió el uso de software alternativo, como el software de
visualización y manejo de grandes grafos de redes Gephi, pero se decidió el uso de la
primera por el motivo ya comentado, así como la recomendación por parte del equipo de
ciberinteligencia de Tarlogic Security en base a la experiencia en su uso.
Para ejemplificar lo anterior, y mostrar el potencial de la seleccionada aplicación, se verán
algunas transformaciones de especial interés. Las transformaciones en que se basa
Maltego son aplicables a numerosos tipos de entidad.
En primer lugar, se pueden aplicar transformaciones a personas bajo seguimiento,
introduciendo por tanto en el actual proyecto una entidad tipo persona. Además, entrando
en dicha entidad es posible definir su nombre y apellidos, o incluso añadir alguna
fotografía del Objetivo en cuestión o notas sobre el mismo, como refleja la Figura 7.
METODOLOGÍA
22 Escuela Técnica Superior de Ingenieros Industriales (UPM)
La entidad por tanto ya ha sido definida, para la cual se ha tomado, por motivos de
privacidad obvios, un nombre genérico y relativamente común como es John Smith.
Una vez definida, se puede acceder a las transformaciones asociadas a dicha entidad, y
en el caso de una entidad tipo persona, son las mostradas en la Figura 8.
Figura 7. Definición de la entidad en Maltego.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 23
Algunas transformaciones que facilita Maltego están reservadas para la versión de pago
de la misma. Sin embargo, proporcionando las credenciales de autenticación como
desarrollador de Twitter, la transformación To Twitter Affiliation de la Figura 9 es
gratuita. Si se efectúa dicha transformación, la aplicación devuelve cuentas de Twitter
asociadas al nombre de la entidad, lo cual será de gran utilidad para el presente proyecto.
Figura 8. Transformaciones de la entidad tipo persona.
Figura 9. Transformación de To Twitter Affiliation.
METODOLOGÍA
24 Escuela Técnica Superior de Ingenieros Industriales (UPM)
En efecto, se obtienen las 12 primeras cuentas asociadas al nombre John Smith, debido a
la limitación con la que cuenta la Community Edition de Maltego.
Así pues, el análisis de la compañía que se llevará a cabo, como se ha mencionado al
inicio de la sección, se obtendrá a partir de una primera parte de investigación y obtención
de información de la empresa, buscando relaciones entre empleados de tipo académico o
laboral, tanto en el momento presente como en algún momento pasado. Estas relaciones
se introducirán en Maltego de manera manual, obteniendo una primera aproximación, la
cual permite localizar personas de especial interés, o con un numero considerable de
conexiones en la empresa. Posteriormente, se llevará a cabo la transformación To Twitter
Affiliation ya vista, con la cual, con un posterior filtrado de los resultados mostrados, se
procede a la segunda parte de la investigación, con la aplicación basada en Twitter.
Se ejemplifica lo anterior en la Figura 10 con un caso ficticio, introduciendo una nueva
entidad de tipo compañía, e implementando entidades tipo persona con las relaciones
encontradas a través de, por ejemplo, LinkedIn, noticias, o la web de la empresa.
Figura 10. Grafo de compañía ficticia.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 25
Como muestra el grafo, se ha diseñado una compañía ejemplo con un esquema
relativamente común, con un CEO llamado John Smith, el cual está a la cabeza de un
comité de dirección formado por tres directivos, Álvaro, Jason y Ana. A su vez, tienen a
su cargo a tres, dos y un empleado, respectivamente. Además, se ha descubierto que
Álvaro y John, el CEO, estudiaron en la Escuela Técnica Superior de Ingenieros
Industriales durante la misma época. Por otra parte, tanto John, como dos empleados a
cargo de Jason, trabajaron en una empresa ficticia la cual ha sido designada como
EmpFic, también en la misma época, con lo que probablemente tuvieron cierta relación
en ese momento.
Maltego permite además una gran variedad de opciones de visualización, para facilitar el
manejo de datos. A continuación, la Figura 11 muestra las principales disposiciones
posibles.
Figura 11. Opciones de visualización.
METODOLOGÍA
26 Escuela Técnica Superior de Ingenieros Industriales (UPM)
A la hora de analizar el grafo para identificar a las principales personas de interés, que
serán los Objetivos, no es necesario ``a ojo´´ o contando relaciones, pues Maltego
incorpora varias opciones de visualización. La primera de ellas, es la denominada en la
documentación de Paterva [17] como diverse decent, mostrada en la Figura 12. Esta
visualización asigna un tamaño a los nodos directamente proporcional al número de
relaciones entrantes de los mismos. Sin embargo, otorga un mayor peso a aquellos nodos
que provengan de antecesores distintos.
Este tipo de visualización supone una aproximación notablemente interesante a la
organización, al no centrarse solo en un número de relaciones sino también en la
diversidad de la procedencia de esas relaciones. Así, se pueden evitar interpretaciones
erróneas, pues a simple vista en la visualización inicial podría parecer que Álvaro López
cuenta con numerosas relaciones, cuando la realidad es que los principales nodos son
John Smith, Javier Rodríguez y Jorge Sánchez. Otras opciones más básicas de
Figura 12. Visualización con diverse decent representativos.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 27
visualización que no se analizarán son las basadas estrictamente en número de relaciones,
ya sean entrantes o salientes.
Por último, una vez identificados los Objetivos, se ejecuta la transformación para obtener
los perfiles de Twitter asociados a dichos nombres, resultando así el grafo de la Figura
13.
Finalmente, será necesario filtrar los resultados obtenidos para determinar el perfil real
de cada Objetivo, que es indispensable para el siguiente bloque de investigación.
Figura 13. Ejecución de transformación a grafo final.
METODOLOGÍA
28 Escuela Técnica Superior de Ingenieros Industriales (UPM)
3.2. APLICACIÓN PARA TWITTER
En esta sección, se analizará en detalle el desarrollo en el lenguaje de programación
Python (a partir de ahora referido como Python) vinculado a la red social Twitter, así
como los requisitos que requerirá dicho desarrollo.
3.2.1 Requisitos de la aplicación
En las tablas del 3 al 9 se resumen los principales requisitos de la aplicación, que se han
dividido en cuatro subgrupos: de usuario, hardware, de portabilidad y funcionales.
Tabla 3. Requisito de Interfaz de Usuario 1.
Tabla 4. Requisito de Interfaz Hardware 1.
Tabla 5. Requisito de Interfaz Hardware 2.
Tabla 6. Requisito de Portabilidad 1.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 29
Tabla 8. Requisito de Portabilidad 3.
Tabla 7. Requisito de Portabilidad 2.
Tabla 9. Requisito Funcional 1.
METODOLOGÍA
30 Escuela Técnica Superior de Ingenieros Industriales (UPM)
3.2.2 Bases del desarrollo
La aplicación orientada a Twitter se ha basado en el uso de la API de Twitter, la cual
ofrece tres niveles de uso [18], según las necesidades de la aplicación:
1. Standard API: permite un uso relativamente amplio, pero con notables
limitaciones. Es gratuito.
2. Premium API: aumenta los horizontes del anterior nivel permitiendo acceso a
mayores bases de datos.
3. Enterprise API: el máximo nivel posible de acceso. Ofrece además account
managers dedicados y soporte técnico.
Para el presente proyecto, se ha empleado el nivel básico y gratuito, la Standard API.
Por otra parte, Twitter requiere para el uso de la API unas credenciales de acceso que se
proporcionan únicamente a perfiles acreditados como de desarrollador, para lo cual se
solicitó dicha acreditación indicando los fines de la aplicación que se iba a desarrollar,
que estaría enfocada a investigación.
Contando ya con las credenciales de acceso para la autentificación necesaria para el uso
de la API, se ha empleado la librería de Python Tweepy [19] para el acceso a la API de
Twitter.
Una vez vista la base sobre la cual se construirá el desarrollo orientado a Twitter, se
subraya que dicho desarrollo se centra en dos pilares fundamentales. Por una parte, se
encuentra el desarrollo puramente basado en Twitter, con la extracción de datos de interés
siguiendo varios desarrollos en Python por medio de la librería Tweepy. Por otra parte,
destaca la vinculación de estos datos con Neo4j [20], una base de datos orientada a grafos.
3.2.3 Obtención de red del Objetivo
El script de Twitter se basa en un módulo principal, el cual se encarga de extraer la red
completa de relaciones del perfil facilitado. Es decir, extrae los seguidores, seguidores y
seguidos de esos seguidores, seguidos, seguidores y seguidos de esos seguidos, de la
cuenta del Objetivo, resultando la red mostrada en la Figura 14.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 31
Sin embargo, la API de Twitter no permite acceso sin límites a los datos de la red social
[21], pues establece un Rate Limiting, el cual divide en dos bloques: solicitudes POST,
relacionadas con publicar en la red social, o solicitudes GET, relacionadas con extraer
información de esta red social. El presente caso está vinculado al segundo grupo de
solicitudes, las solicitudes GET, las cuales Twitter limita en una ventana de 15 minutos a
entre 15 y 900 solicitudes o requests por ventana temporal, en función de la solicitud en
cuestión. Como consecuencia de lo anterior, se ha tenido que modificar el código para de
alguna manera ‘evitar’ este límite y conseguir extraer todos los datos requeridos de la red
social, como se plasma en extractos de código a continuación.
En primer lugar, es vital la autenticación de la Figura 15 que permite el acceso a la API
de Twitter. Para ello, se importa la librería ya mencionada Tweepy, y las credenciales de
acceso, las cuales no se reflejan en el extracto mostrado por motivos de privacidad. Así,
llamando a la clase TwitterClient(), la cual comprueba las credenciales de acceso
mediante la clase TwitterAuthenticator(), devuelve a su vez con la llamada a la función
get_twitter_client_api() el cliente necesario para el acceso a la API.
Figura 14. Esquema red a extraer del Objetivo.
METODOLOGÍA
32 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Una vez realizada la autenticación, se ha llevado a cabo la definición de dos grandes
funciones, para obtener todos los seguidores y seguidos de un perfil dado. Para este
propósito, Tweepy ofrece dos funciones [22], que son followers_ids y friends_ids. Ambas
funciones reciben un parámetro para identificar el perfil del Objetivo, al cual se le puede
facilitar tanto el ID vinculado a la cuenta, como el screen_name o nombre de usuario, y
devuelven una lista que contiene los ID de los usuarios que siguen o seguidos por la
cuenta del Objetivo, respectivamente.
En la elaboración del código relacionado con las mencionadas funciones, han surgido
diversos problemas que se describen a continuación:
1. Obtención de tweepy.TweepError: excepción llevada a cabo por la librería
Tweepy por diversas razones, pero que debido al código de error 179 obtenido
[23], se trata de una solicitud no autorizada debido a que el dueño de la cuenta ha
protegido sus tweets. Así, tal y como se muestra en la Figura 16 y Figura 17, se
ha evitado dicha excepción asignando a cuentas protegidas un único seguidor o
seguido con ID no existente en la red social 0000. De esta manera, las cuentas a
las que no se permite el acceso están identificadas con ese ID.
2. Retorno de máximo de seguidores o seguidos en 5.000: tras considerar las
excepciones del rate limit y la excepción vista en el punto 1, se logró que el código
operase con normalidad, llegando a su finalización. Sin embargo, en el posterior
análisis de los resultados obtenidos, se observó que ninguna cuenta contaba con
más de 5.000 seguidores ni seguidos, hecho cuanto menos sospechoso. Así, se
descubrió que no solo hay un rate limit como límite de solicitudes cada 15
Figura 15. Código de autenticación.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 33
minutos, sino que también figura un límite para una misma solicitud, que en el
caso de las funciones followers_ids y friends_ids es de 5.000 resultados por
solicitud. Por ello, cuando un usuario tenía más de 5.000 seguidores o seguidos,
se llegaba a este límite con lo que el script finalizaba el análisis del usuario en
cuestión, ignorando un gran número de perfiles de manera errónea. Esto se
corrigió con la implementación de otro parámetro con el que cuentan las funciones
usadas, Cursor, el cual permite la paginación y así recorrer perfiles completos sin
ninguna complicación.
Tras solucionar la primera limitación, se planteó el código de la Figura 16 y Figura 17.
En dicho código, se inicializan las funciones de autenticación ya comentadas, teniendo el
Objetivo una cuenta personal con nombre de usuario @angelvergarata1. Se buscará pues,
la extracción de cuatro listas, dos de las cuales contienen los seguidores y seguidos de la
cuenta Objetivo, y las dos restantes contienen a su vez, en el índice correspondiente a
cada seguidor y seguido, una lista con todos los seguidores o seguidos de los mismos. En
esta primera aproximación, se ejecuta el script hasta que salta el rate limit por parte de la
API de Twitter, momento a partir del cual se para la ejecución durante 15 minutos y 15
segundos, de manera que ya se habría entrado en la próxima ventana de solicitudes.
Figura 16. Primera aproximación de extracción de seguidores.
METODOLOGÍA
34 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Finalmente, se crean a su vez cuatro archivos en formato json con el código de la Figura
18, para que en la futura utilización de los datos obtenidos no se requiera una petición a
la API de Twitter con el retraso considerable que esto supone al tener que ‘evitar’ el rate
limit, y se puedan obtener desde local de manera inmediata.
Es en el posterior análisis de los mencionados archivos cuando se hizo notable el fallo
oculto que se estaba arrastrando comentado en el punto 2, pues un gran número de
seguidores y/o seguidos contaban con exactamente esos 5.000 seguidores. Así, se hizo
uso de ese elemento de paginación facilitado por la librería Tweepy, incorporándolo al
código ya existente como muestra la Figura 19.
Figura 17. Primera aproximación de extracción de seguidos.
Figura 18. Volcado de datos en ficheros.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 35
Sin embargo, esto no supuso la solución definitiva:
3. En esos casos de cuentas de tamaños intermedios de aproximadamente 5.000-
75.000 seguidores o seguidos, daba un resultado adecuado, pero en cuentas de
tamaño superior, con alrededor de 100.000 seguidores, esa estructura de código
planteada es errónea. Esto se debe a una tercera limitación de Twitter, en la cual,
a partir de 15 páginas recorridas, es decir, 15*5.000 usuarios por página, 75.000
usuarios devueltos, Twitter devolvía de nuevo un Rate Limit Error. Así, para
solucionar este supuesto, se planteó el código definitivo de la Figura 20 y la
Figura 21. En estos extractos, se pausa la ejecución del script después de la
obtención de cada página de resultados durante 61s, logrando así que nunca se
alcance ese nuevo rate limit que se estaba obteniendo, debido que a esos 75.000
seguidores se llegaría tras 15 páginas de resultados, es decir tras 15*61s = 15
minutos y 15 segundos, luego ya figuraría dentro de la siguiente ventana de
solicitudes.
Figura 19. Segunda aproximación de extracción de seguidos.
METODOLOGÍA
36 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Finalmente, tras comprobar la correcta ejecución del anterior código con algunas cuentas
de Objetivos, se hizo notable el tiempo requerido para algunas cuentas. A modo de
ejemplo, en el análisis de una de las cuentas vinculadas al Objetivo que se obtendrán en
el epígrafe 4.1.2, @gillesat, se observó que pese a ser una cuenta relativamente pequeña,
con 32 seguidos y 7 seguidores, el tiempo de ejecución para la extracción de los seguidos,
seguidores, seguidos de seguidos y seguidores de seguidores superaba la semana con
alrededor de 200 horas de ejecución. Se inspeccionó el código en busca de fallos, pero se
descubrió que el único fallo era la limitación impuesta por Twitter, pues pese a haber
implementado métodos al codificar para burlar dicha limitación, para una cuenta como
Figura 20. Código definitivo de obtención de seguidos.
Figura 21. Código definitivo de obtención de seguidores.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 37
@BBCWorld a la cual seguía el Objetivo mencionado, con 25.2 millones de seguidores,
el tiempo de extracción de únicamente esos seguidores es:
𝑇 = 25.200.000 (𝑠𝑒𝑔𝑢𝑖𝑑𝑜𝑟𝑒𝑠) 𝑥1𝑣𝑒𝑛𝑡𝑎𝑛𝑎𝑅𝑎𝑡𝑒𝐿𝑖𝑚𝑖𝑡
75.000 𝑢𝑠𝑢𝑎𝑟𝑖𝑜𝑠(15 𝑝á𝑔𝑖𝑛𝑎𝑠 𝐶𝑢𝑟𝑠𝑜𝑟)𝑥
15 𝑚𝑖𝑛𝑢𝑡𝑜𝑠
1 𝑣𝑒𝑛𝑡𝑎𝑛𝑎𝑅𝑎𝑡𝑒𝐿𝑖𝑚𝑖𝑡𝑥
1ℎ𝑜𝑟𝑎
60𝑚𝑖𝑛𝑢𝑡𝑜𝑠
El cálculo previo equivale a 84 horas, es decir, 3 días y 12 horas de ejecución de código
para obtener los seguidores de un único perfil, lo cual es claramente inviable. Así pues,
se ha decidido limitar la obtención de información mediante Cursor a una página de
resultados, con la modificación mostrada en la Figura 22.
De esta manera, se obtienen como máximo 5.000 seguidores o 5.000 seguidos, lo cual
permite extraer los seguidores o seguidos de varias cuentas en una misma ventana
temporal de solicitudes.
En referencia al efecto que puede tener esta decisión sobre los resultados prácticos
buscados en el análisis de Objetivos es mínima. Esto se debe a que el fin principal del
desarrollo de la API de Twitter que se ha efectuado en el presente proyecto es obtener
potenciales perfiles con conexiones interesantes o destacadas con el Objetivo (se verá
más adelante cuanto se introduzca el software Neo4j). Por ello, como los perfiles con
grandes números de seguidores y seguidos suelen pertenecer a grandes organizaciones o
famosos, no son el principal enfoque de la investigación con lo que no se necesita analizar
la totalidad de su red de conexiones en Twitter.
En adición a la limitación anterior, esta reducción temporal en el tiempo de ejecución
conduce a la posibilidad de hacer algo más exhaustiva la investigación, obteniendo de
cada seguidor del Objetivo no solo sus seguidores, sino también sus seguidos, y de cada
seguido por el Objetivo, no solo sus seguidos, sino también sus seguidores. Esta extensión
de la aplicación se muestra en la Figura 23.
Figura 22. Limitación voluntaria cursor.
METODOLOGÍA
38 Escuela Técnica Superior de Ingenieros Industriales (UPM)
En el código mostrado, se introduce manualmente el usuario asociado al Objetivo, y se
hacen llamadas a las funciones ya vistas para la obtención de seguidores y seguidos. Se
hace uso de seis listas para un mismo Objetivo, que hacen referencia a:
1. Seguidores_id: lista con los ID de Twitter de todos los seguidores del Objetivo.
2. Seguidores_sub_seguidores_id: lista que tiene en cada posición una lista con los
ID de los seguidores de cada seguidor del Objetivo.
3. Seguidores_sub_seguidos_id: lista que tiene en cada posición una lista con los
ID de los seguidos por cada seguidor del Objetivo.
4. Seguidos_id: lista con los ID de Twitter de todos los seguidos del Objetivo.
5. Seguidos_sub_seguidores_id: lista que tiene en cada posición una lista con los
ID de los seguidores de cada seguido por el Objetivo.
6. Seguidos_sub_seguidos_id: lista que tiene en cada posición una lista con los ID
de los seguidos por cada seguido por el Objetivo.
Por último, se efectuará el volcado a ficheros json que ya se ha visto anteriormente, tal y
como refleja la Figura 24.
Figura 23. Extensión para obtener red completa.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 39
Se ejemplifica el contenido de las listas anteriormente mencionadas con un ejemplo con
un total de 15 cuentas, con un Objetivo con nombre A que cuenta con dos seguidores (C
y E) y tres seguidos (B, C y D). A su vez, estas cuentas asociadas a letras tendrán sus
respectivos seguidos y seguidores, también mostrados en el grafo ficticio de la Figura 25.
Siguiendo con el esquema anterior, la declaración de las listas sería la codificada en la
Figura 26.
Una vista más clara de la codificación anterior es la que refleja la Tabla 10.
Figura 24. Volcado de datos en ficheros.
Figura 25. Relaciones Twitter caso ficticio.
Figura 26. Codificación de listas de datos en caso ficticio.
METODOLOGÍA
40 Escuela Técnica Superior de Ingenieros Industriales (UPM)
3.2.4 Otros módulos desarrollados
Más allá del desarrollo principal ya visto, se han desarrollado diferentes módulos para
obtener determinados datos o visualizaciones de cuentas particulares. La utilidad de esto
es notoria cuando, tras el análisis en Neo4j que figurará a continuación, se obtiene algún
ID relevante del cual se desconoce absolutamente todo salvo ese ID.
Puesto que los mencionados desarrollos se basan en manejos de dataframe, así como
opciones de visualización, será necesario introducir tres librerías disponibles en Python
para el correcto funcionamiento del código:
1. MatplotLib: se trata de una librería de trazado 2D de Python [24] que permite la
generación de gráficos, así como su edición.
2. Numpy: es un paquete descrito por los desarrolladores de éste [25] como
‘fundamental para la computación científica con Python’. El uso particular en el
presente proyecto será de generación de vectores para su posterior introducción
en dataframes.
3. Pandas: es una importante librería introducida en su documentación [26] como
‘Python Data Analysis Library’, la cual facilita la implementación de estructuras
de datos y su análisis con el lenguaje de programación Python.
El primero de estos módulos Python supone una visualización parcial de datos
relacionados con la cuenta proporcionada, además de la generación de una gráfica que
refleja temporalmente los likes obtenidos por la cuenta del Objetivo, lo cual puede ser de
interés para registrar periodos de mayor o menor actividad.
Por tanto, tras la necesaria definición de las funciones de autenticación de las credenciales
de desarrollador para el acceso a la API de Twitter vistas en la Figura 15, se implementan
tres funciones principales.
Tabla 10. Representación esquemática de la codificación de listas de datos.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 41
La primera función, Figura 27, extrae los principales datos del usuario indicado. La
segunda función, Figura 28, extrae los últimos 200 tweets de dicho usuario. Ambas
funciones realizan la correspondiente llamada a las funciones de autenticación
mencionadas.
La tercera función, Figura 29, permite la introducción de los datos a un dataframe para
su posterior manejo, obteniendo diversos datos del perfil vinculado al Objetivo.
Por último, la Figura 30 genera el grafo que muestra por pantalla la evolución de los likes
asociados a la cuenta con la componente temporal en el eje de abscisas.
Figura 28. Función para la extracción de tweets.
Figura 27. Extracción de datos de cuenta del Objetivo.
Figura 29. Creación de dataframe.
METODOLOGÍA
42 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Pese a la simplicidad del código mostrado, se ha decidido crear una interfaz adecuada
para la visualización del mismo, para lo cual se ha empleado una herramienta de diseño
de interfaces gráficas de usuario incluida en el software de desarrollo Qt [27] llamada
QtDesigner [28]. El resultado es el mostrado en la Figura 31, y permite la búsqueda de
un determinado perfil a través de su número ID o de su nombre de usuario.
Así, la interfaz se ha codificado de manera que la introducción de una cuenta no existente
genera un error legible impidiendo la selección del botón para mostrar los resultados,
como en la Figura 32, o la introducción de una cuenta válida como en la Figura 33,
permite la opción de mostrar los resultados.
Figura 30. Creación del grafo.
Figura 31. Interfaz gráfica 1.
Figura 32. Búsqueda de usuario no válido en Interfaz Gráfica 1.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 43
En el caso de la Figura 33, el botón mostrar se encuentra en estado activo, con lo que si
se pulsa, se mostrarán los datos de la cuenta como refleja la Figura 34, y se generará el
gráfico de la Figura 35 con la evolución temporal de los likes de los últimos 200 tweets
de la cuenta del Objetivo.
Figura 33. Búsqueda de usuario válido en Interfaz Gráfica 1.
Figura 35. Gráfico generado por Interfaz Gráfica 1.
Figura 34. Muestra de datos de Interfaz Gráfica 1.
METODOLOGÍA
44 Escuela Técnica Superior de Ingenieros Industriales (UPM)
La segunda interfaz creada es una adición a la ya comentada, pues se centra en la
obtención de datos de los usuarios y muestra además un listado de los últimos tweets. Por
ello, se ha creado una función adicional definida en la Figura 36, que crea un nuevo
dataframe que aparece en la interfaz, reflejando no solo los últimos tweets, sino además
su fecha de publicación y el dispositivo desde el que se realizó dicha publicación.
Así, se genera la interfaz gráfica de la Figura 37, que resulta similar a la ya evaluada de
la Figura 31, con la adición de ese cuadro que recoge los tweets junto con sus datos.
Cuenta, al igual que la Interfaz Gráfica 1, con esa seguridad de inhabilitar la opción de
mostrar resultados en caso de que el usuario no sea válido, y en caso de que el usuario
introducido sea válido, el pulsado del botón ‘mostrar’ generaría lo que refleja la Figura
38.
Figura 36. Función para extracción de tweets y datos vinculados.
Figura 37. Interfaz Gráfica 2.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 45
El último módulo adicional creado tiene una orientación bastante distinta a los ya vistos.
Se trata de un streaming de tweets, el cual a partir de una o varias palabras clave, recoge
los tweets que contienen dicha palabra y que son publicados en tiempo real. Se basa en
una primera función, en la Figura 39, la cual lleva a cabo la autenticación de la Figura 15
además de inicializar la segunda clase y la palabra clave sobre la que se obtendrá
actividad.
Esta primera clase hace uso de la extensión de la ya mencionada librería de Tweepy, la
cual incorpora [22] una extensión para la creación del streamer de tweets llamada
StreamListener, que se configura en la Figura 40.
Figura 39. Clase inicializadora del stream de tweets.
Figura 38. Muestra de datos de Interfaz Gráfica 2.
METODOLOGÍA
46 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Así, inicializando el stream con las palabras clave mostradas en la Figura 41 se obtienen
en tiempo real los tweets publicados, la fecha de dicha publicación, y el nombre de usuario
e ID responsable de dicha publicación, como muestra la Figura 42.
3.3. EL SOFTWARE NEO4J
El siguiente paso a la anterior obtención de la red de Twitter de un Objetivo será plasmar
dicha red en un grafo de tamaño notable, para posteriormente identificar posibles nodos
adicionales con relaciones destacadas con el Objetivo. Para este propósito, se empleará el
Figura 40. Configuración del streamer.
Figura 42. Tweets en tiempo real obtenidos tras ejecución.
Figura 41. Inicialización streamer.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 47
software Neo4j [20] (a partir de ahora referido como Neo4j), centrado en bases de datos
orientadas a grafos. Este software incorpora varias opciones, como son Neo4j Desktop, o
la usada en el presente proyecto, Neo4j Browser.
El motivo de elección de este software ha sido la necesidad de utilizar una base de datos
basada en grafos, que facilita enormemente la búsqueda de relaciones y permite consultas
más amplias. Dentro de este espectro, una de las bases de datos basadas en grafos más
reconocidas es Neo4j, que incorpora un lenguaje de programación propio, Cypher, muy
intuitivo y similar al lenguaje hablado, describiéndose a continuación.
La creación del grafo se puede llevar a cabo en el mismo Neo4j Browser empleando
directamente el simple pero potente lenguaje de programación Cypher [29], con las
denominadas consultas o, por su nombre inglés, Cypher Queries, las cuales permiten la
creación o manejo de nodos, relaciones, propiedades, etc. Sin embargo, la gran magnitud
del grafo a crear lleva a buscar una alternativa más viable para su elaboración, para lo
cual se ha utilizado el lenguaje de programación Python. La vinculación de Neo4j con
Python se lleva a cabo con la librería Py2Neo [30], que permite la creación del grafo desde
un entorno de programación en Python.
El primer paso será importar la mencionada librería, e introducir las credenciales de
acceso a Neo4j Browser, como refleja la Figura 43.
Una vez se tiene acceso a la base de datos de Neo4j Browser, se codifican las dos
funciones de la Figura 44 y la Figura 45, que crean la red de seguidores y la red de
seguidos del Objetivo respectivamente. Por red de seguidores, se entiende la creación del
nodo asociado al Objetivo, además de la creación de todos sus seguidores y, para cada
uno de ellos la creación de sus seguidores y seguidos, siguiendo el mismo razonamiento
para la red de seguidos.
Figura 43. Acceso a grafo.
METODOLOGÍA
48 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Se observa que, pese a la posibilidad de utilizar un comando graph.create no solo para
las relaciones, sino también para los nodos, se descarta esta opción pues se caería en la
duplicidad de numerosos nodos. Por ello, para la creación de los nodos y evitar la
Figura 44. Función para la creación de la red de seguidores.
Figura 45. Función para la creación de la red de seguidos.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 49
aparición de distintos nodos asociados a un mismo ID de Twitter, se emplea el comando
graph.merge, el cual comprueba previamente la existencia del nodo que se pretende crear,
efectuando esa creación sólo en el caso de que no exista ya dicho nodo en el grafo.
Para comprobar la validez del código, se retoma el caso ficticio de la Figura 25, e
inicializan las listas requeridas como muestra la Figura 26. Por tanto, haciendo una
llamada a las funciones previamente creadas como muestra la Figura 46, con alguna
pequeña modificación para que se adapte al caso de ejemplo que se maneja, se obtiene la
salida de ejecución que se incluye parcialmente en la Figura 47.
Para verificar la correcta codificación de lo anterior, se accede al Neo4j Browser, y
efectuando la adecuada consulta en Cypher, resulta el grafo completo creado en la Figura
48.
Figura 46. Llamada a funciones de caso ficticio.
Figura 47. Salida de la ejecución de caso ficticio.
METODOLOGÍA
50 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Sin embargo, la visualización no permite la evaluación de la correcta creación del grafo,
con lo que, gracias a las facilidades de manejo de grafo que incorpora Neo4j, se organiza
el grafo obtenido resultando la Figura 49, la cual es exactamente igual al grafo teórico
creado de la Figura 25, probando así que el código creado es correcto.
Figura 48. Grafo obtenido en Neo4j caso ficticio.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 51
La utilidad del grafo obtenido radica en las conclusiones que se pueden extraer a
posteriori mediante el uso de determinadas consultas de Cypher aplicadas al grafo tratado.
En el caso ficticio, se puede por ejemplo extraer los nodos con mayor número de
relaciones con el comando mostrado en la Figura 50, a partir del cual Neo4j devuelve el
listado de la Figura 51 ordenado de mayor a menor con los nodos presentes en el grafo y
su número de relaciones, tanto entrantes como salientes en este caso, es decir, de ambos
seguidores y seguidos.
Figura 49. Grafo ordenado obtenido en Neo4j caso ficticio.
Figura 50. Consulta en Cypher para extracción de nodos con más relaciones.
METODOLOGÍA
52 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Figura 51. Resultado de la consulta.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 53
3.4. APLICACIÓN PARA WHATSAPP
En el presente epígrafe se analiza el tracker de WhatsApp facilitado por Tarlogic Security,
así como la aplicación desarrollada a partir del mismo.
3.4.1 Descripción técnica
Por motivos de privacidad de la empresa colaboradora Tarlogic Security, se aborda a
continuación el desarrollo del tracker de la aplicación de mensajería instantánea
WhatsApp (a partir de ahora referida como WhatsApp) empleado de manera global.
Así, el funcionamiento de éste consiste en la comunicación con los servidores de
WhatsApp para descargar información en tiempo real de actualizaciones de presencia de
distintos usuarios. Estos datos extraídos se procesan en una base de datos basada en un
servidor interno de MySQL. MySQL [31] es un sistema para el tratamiento de bases de
datos que cuenta con numerosas instalaciones a nivel mundial, y es extensamente usado
en aplicaciones web por la rapidez de lectura que permite. El acceso al mencionado
servidor se realiza a través de una API web propia de la empresa.
La interfaz web ha sido desarrollada en los lenguajes de programación JavaScript y
HTML, y se muestra en la Figura 52.
Los teléfonos móviles que se encuentran en estado de trackeo en el momento de
elaboración del presente proyecto se encuentran censurados en el recuadro gris por
motivos de privacidad. Sin embargo, la Figura 52 muestra la facilidad de manejo que
permite la interfaz creada, mostrando la franja semanal de conexiones, así como un
despliegue horario en la sección inferior para obtener presencias de manera más precisa.
Figura 52. Interfaz web tracker WhatsApp.
METODOLOGÍA
54 Escuela Técnica Superior de Ingenieros Industriales (UPM)
En la Figura 53 se ha seleccionado la opción ‘mostrar todos’, con lo que aparecen en el
display semanal las presencias de todos los Objetivos que se encuentran en estado de
trackeo actualmente.
Sin embargo, en caso de querer centrar el estudio en un único Objetivo, la interfaz permite
a su vez la selección manual de los Objetivos que se quieren visualizar, como se refleja
en la Figura 54 con los tres primeros Objetivos seleccionados.
En cuanto a la selección horaria, en la Figura 52, Figura 53 y Figura 54. Se ha
seleccionado el lunes, que aparece en un tono oscurecido, de la semana del 17 al 23 de
junio de 2019, con lo que en el segmento inferior del display se muestran las presencias
en esa franja horaria. Adicionalmente, como indica la Figura 55, se puede reducir la franja
horaria de interés para hacer más exhaustiva la investigación. En dicha figura, el intervalo
Figura 53. Seguimiento de todos los Objetivos con tracker de WhatsApp.
Figura 54. Seguimiento de Objetivos seleccionados con tracker de WhatsApp.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 55
horario tomado es de 8 a 12 de la mañana del martes 18 de junio de 2019, de los tres
Objetivos tomados en la Figura 54.
Así, se obtiene en esa franja horaria reducida las conexiones mostradas en la Figura 56,
de las cuales se pueden obtener interpretaciones interesantes. Por una parte, atendiendo a
periodos de conexión o presencia como los del tercer Objetivo, se puede deducir una
llamada vía WhatsApp con otro Objetivo trackeado del cual se obtengan intervalos de
conexión similares. Por otra parte, se puede prestar atención a intervalos de desconexión
notables, como los del segundo Objetivo, el cual no muestra actividad alguna desde las
09:30 hasta las 10:30 aproximadamente, pudiendo en este caso tratarse de una posible
reunión al inicio de la jornada. En adición a lo anterior, si se registra un intervalo de
desconexión como el mencionado en varios Objetivos de una misma empresa, o de dichos
Objetivos con un potencial cliente que se encuentre trackeado también, se podrían intuir
posibles encuentros entre los mismos.
Figura 55. Selección de nueva franja horaria para Objetivos seleccionados en tracker WhatsApp.
Figura 56. Conexiones en franja horaria reducida de Objetivos seleccionados en tracker WhatsApp.
METODOLOGÍA
56 Escuela Técnica Superior de Ingenieros Industriales (UPM)
3.4.2 Módulos adicionales
Previo a cualquier tratamiento de datos, será necesaria su extracción para lo cual se han
desarrollado las funciones de la Figura 57, que extraen dichos datos a un diccionario, y
permiten la obtención de una lista de objetos a partir de dicho diccionario,
respectivamente.
A partir de los datos recogidos en formato json, se ha decidido desarrollar la interfaz
gráfica de la Figura 58 para su análisis. Mostrará, además del nombre y número del
Objetivo, datos de especial interés como el inicio y final de todas sus conexiones a la
aplicación de mensajería instantánea, así como la duración de cada conexión y de cada
desconexión, tomando como tiempo de desconexión el transcurrido entre la desconexión
previa a la conexión registrada y su inicio.
Como se ha explicado en el análisis técnico, el registro de las presencias no se recoge en
el método tradicional de horas, minutos y segundos, sino en el denominado tiempo Unix
o tiempo Posix [32]. Este sistema de descripción de instantes temporales se contabiliza
Figura 58. Interfaz de módulo de WhatsApp para visualización de datos.
Figura 57. Extracción de datos.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 57
como el tiempo transcurrido, en segundos, desde la medianoche del 1 de enero de 1970
según el estándar de tiempo UTC o Tiempo Universal Coordinado, que es
considerablemente más cómodo y preciso para la medición de intervalos temporales. Sin
embargo, para el posterior análisis se han codificado varias funciones para la conversión
al sistema horario tradicional.
En primer lugar, la función de la Figura 59 hace uso de la librería Time [33], basada en el
manejo de fechas y horas. Dicha función convierte un tiempo Unix en milisegundos en el
formato horario tradicional, tal y como muestra la ejecución de la Figura 60.
La labor de esta función es importante, pues al introducir la función de la librería Time
llamada localtime, traduce esa hora Unix al huso horario en el que se encuentre el equipo
que ejecuta el código. Así, para la ubicación del presente equipo estará tomando como
huso horario UTC+1 en horario de invierno o UTC+2 en horario de verano.
En segundo lugar, la función de la Figura 61 recibe un tiempo Unix y devuelve una lista
de 3 componentes, con las horas, minutos y segundos vinculados a ese tiempo, y se
empleará para medir intervalos de conexiones, con lo que dichos tiempos Unix serán
bastante reducidos.
Figura 59. Conversión tiempo Unix a representación horaria tradicional.
Figura 60. Ejecución de función de conversión temporal.
METODOLOGÍA
58 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Es importante destacar el uso de esta función únicamente para intervalos temporales, pues
en caso de emplearla para extraer instantes temporales concretos, se estarían calculando
respecto a UTC y no a UTC+1 o UTC+2, que es el huso horario correcto en el que se
encuentra el equipo de desarrollo.
Por otra parte, la Figura 62 recoge la codificación que, recibiendo la lista de Objetos
obtenida en la Figura 57, junto con el teléfono móvil del Objetivo de interés, filtra dicha
lista de Objetivos obteniendo dos listas, inicio y final, con todos los inicios y finales de
conexión respectivamente del Objetivo especificado.
La siguiente implementación, llevada a cabo en la Figura 63, extrae la duración de una
conexión, facilitándole el inicio y final de dicha conexión, o la duración de la
desconexión, facilitándole el final de la anterior conexión y el inicio de la nueva conexión.
Figura 61. Descomposición tiempo Unix.
Figura 62. Extracción de inicios y finales de presencias.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 59
Por último, se ha codificado la obtención del dataframe que se implementará en la
interfaz, para el cual se ha requerido de nuevo el uso de la ya vista librería Pandas [26].
Sin embargo, se detectó un fallo, posiblemente en la extracción de los datos. Dicho fallo
consistía en la obtención de un enorme número de conexiones las cuales tenían un tiempo
de inicio de conexión anterior al tiempo de finalización de la conexión previa, lo cual para
un mismo número no tiene sentido. Así, se implementó la función de la Figura 64, que
filtra la lista de Objetos obtenida en la Figura 57 para un Objetivo determinado,
eliminando los Objetos de la lista que se correspondan con lecturas erróneas.
Figura 63. Cálculo de duraciones de conexiones o desconexiones.
Figura 64. Filtrado de lecturas erróneas.
METODOLOGÍA
60 Escuela Técnica Superior de Ingenieros Industriales (UPM)
3.4.3 Caso ejemplo
Para ejemplificar el desarrollo anterior, se llevará a cabo la investigación de un número
de teléfono personal entre los días, por ejemplo, 10 y 15 de junio de 2019. Para ello, se
obtienen los datos recogidos entre los tiempos Unix asociados al 10 de junio de 2019 a
las 00:00h y al 15 de junio de 2019 a las 00:00h, almacenándolos como un fichero tipo
json el cual recibirá el programa. Tras especificar el número del Objetivo, que será ese
número personal +34 638 466 *** tal y como muestra la Figura 65, del cual se ha
eliminado parte de la información por motivos evidentes de privacidad, se obtiene la
salida reflejada en la Figura 66 tras presionar el botón ‘Buscar’.
Figura 66. Salida de interfaz gráfica con Objetivo dado.
Figura 65. Introducción de número del Objetivo en interfaz gráfica.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 61
Se observa un primer resultado con un tiempo de desconexión de valor ‘—No Data—’,
lo cual es lógico pues, siendo este tiempo de desconexión el intervalo temporal entre el
final de la conexión previa y el inicio de la siguiente conexión, esta comparación con la
primera conexión registrada no será posible debido a la inexistencia de una conexión
previa.
De los datos obtenidos, debido a la manejabilidad de la interfaz desarrollada, se puede
extraer información de especial interés.
En primer lugar, con lo mostrado en la Figura 67 se puede concluir que el Objetivo
comienza su jornada de actividad considerablemente temprano, registrando esa primera
conexión del día, la conexión n.º 29, el 12 de junio a las 6 horas y 38 minutos de la
mañana.
Otro dato de interés podría ser el mostrado por el intervalo de desconexión, al reflejar en
esta misma conexión una aproximación de las horas de sueño del sujeto, mostrando en el
presente caso 6 horas y 3 minutos de desconexión. Puede además revelar trastornos del
sueño, si se encontrasen conexiones puntuales en la franja de las últimas conexiones de
un día y las siguientes conexiones del día siguiente, que reflejarían una clara interrupción
del intervalo de sueño del Objetivo. Este dato puede ser de interés en determinadas
investigaciones.
Otras relaciones relevantes se pueden extraer de cambios notables en las horas de inicio
de actividad y las horas de final de actividad, lo cual puede reflejar un cambio de zona
horaria, es decir, un posible viaje o desplazamiento considerable del Objetivo. Para ello,
será necesario conocer los diferentes husos horarios mostrados en la Figura 68.
Figura 67. 1ª Conclusión de la visualización obtenida.
METODOLOGÍA
62 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Así pues, la Figura 69 refleja en la conexión número 47 una hora de conexión y
desconexión relativamente normal en torno al final de la jornada, pero la conexión 48
ocurre 14 horas y 29 minutos después, lo cual es definitivamente anómalo. Una posible
interpretación sería un viaje nocturno de gran duración llevado a cabo por el Objetivo, lo
cual sí sería de interés para la inteligencia económica discutida.
Sin embargo, se descarta esta hipótesis en la Figura 70 al ver las conexiones de antes y
después de un largo periodo de desconexión, que supone el periodo de sueño, y se ve que
dichas conexiones son a las 00 horas y 36 minutos, y de nuevo vuelve a la actividad a las
08 horas 50 minutos, con lo que no ha habido un cambio notable en la zona horaria del
Objetivo que mantenga relación con las 14 horas de desconexión de un hipotético
desplazamiento, puesto que supondría un cambio horario más brusco. Así, ese registro
puede deberse a un fallo de colección de conexiones, u otros posibles supuestos no
contemplados.
Un resultado que podría haber confirmado la hipótesis de un desplazamiento o viaje a
otra región, acorde a las numerosas horas de desconexión registradas, sería un cambio
notorio en las horas de inicio de actividad y final de actividad del Objetivo. En otras
Figura 68. Husos horarios.
Figura 69. 2ª Conclusión de la visualización obtenida.
Figura 70. 3ª Conclusión de la visualización obtenida.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 63
palabras, si tras ese intervalo de desconexión de la Figura 69 se observasen unos finales
de actividad de en torno a las 05:00 o 06:00 horas, y unos inicios de actividad de en torno
a las 12:00 a 13:00 horas, se podría confirmar que ha habido un cambio en el huso horario
del Objetivo. Esto se debe a que, como se veía en la Figura 67, el usuario finalizaba su
actividad alrededor de las 00:00 horas y retornaba a la actividad en torno a las 06:00 a
07:00 horas, con lo que su horario ha sufrido un retraso de 5 o 6 horas respecto a UTC+2
que es el huso horario en el cual se están llevando a cabo las mediciones. Esto supondría
haberse desplazado a las regiones designadas en la Figura 68 con un -3 o -4, lo cual
incluye ciudades como Nueva York, Washington D.C. o Toronto. De hecho, el tiempo de
duración de vuelos desde la península a cualquiera de las mencionadas ciudades ronda las
8 horas, lo cual sería acorde con el tiempo de desconexión ya visto en la Figura 69, que
fue de 14 horas.
RESULTADOS
64 Escuela Técnica Superior de Ingenieros Industriales (UPM)
4. RESULTADOS
En este epígrafe se aborda la aplicación práctica de las herramientas descritas hasta el
momento. Está constituido por tres bloques principales:
El primer apartado es un caso particular, tras la selección de la compañía a investigar, y
se desarrolla el uso de la mayoría de las herramientas vistas hasta el momento.
El segundo apartado lo constituyen una serie de casos reales llevados a cabo por la
empresa colaboradora Tarlogic Security, que muestran el enorme valor de algunas de las
herramientas descritas hasta ahora.
Finalmente, en el tercer apartado se abordan los principales impactos que pueden deberse
a este TFG, haciendo hincapié en algunos de ellos según el ámbito a considerar.
4.1. RESULTADOS EN CASO PRÁCTICO
En este primer caso, se analiza una enorme y conocida multinacional, Atos, aplicando las
dos primeras herramientas vistas en el presente proyecto. Éstas son, el análisis de su
estructura mediante Maltego, y la profundización en Objetivos determinados mediante la
aplicación de Twitter. La tercera herramienta, el tracker de WhatsApp no se ejecuta en
este primer caso por motivos obvios de privacidad, al no disponer de los teléfonos móviles
de determinados cargos de la empresa analizada. Sin embargo, se subraya que una
empresa de la competencia de Atos tendría acceso completo a dichos datos, además de
los teléfonos móviles de los clientes implicados, con lo que el procedimiento en ese caso
iría un paso más allá y se completaría la obtención de inteligencia.
4.1.1 Introducción al caso práctico
El caso práctico para plasmar la utilidad de los métodos explicados anteriormente se
centra en la multinacional Atos. Esta empresa [34], formada en 1997 a través de la fusión
de dos compañías francesas de IT, por sus siglas en inglés, Information Technology, tiene
su cuartel general en Bezons, Francia. Se dedica a los servicios IT, y se especializa en
servicios altamente tecnológicos de servicios de transacciones, comunicaciones
unificadas, cloud, big data y ciberseguridad. Según datos de su página web, la sección
titulada ‘Company Profile’ [35] indica que Atos cuenta con cerca de 120.000 empleados
distribuidos en 73 países, y con más de 12 billones americanos de euros de ingresos
anuales. Dichos ingresos se fragmentan por áreas y regiones geográficas en la Tabla 11 y
la Tabla 12, respectivamente. Así pues, no es posible realizar un grafo de la totalidad de
la empresa como se llevó a cabo en la empresa ejemplo plasmada en secciones anteriores,
y por ello el estudio se centra en el entorno del proyecto que se esté tratando.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 65
Tabla 11. Ingresos Atos por áreas 2017-2018. Fuente: [43]
Tabla 12. Ingresos Atos por unidades geográficas 2017-2018. Fuente: [43]
RESULTADOS
66 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Las operaciones en las que participa Atos son de notables magnitudes, y para ilustrar lo
anterior y así clarificar la relevancia de contar con mecanismos que permitan obtener una
ventaja competitiva frente a la compañía estudiada, se analizan algunas de las últimas
transacciones en las cuales se ha visto inmersa Atos. En primer lugar, un contrato en
territorio nacional lo refleja en enero de 2019, el diario Zona Movilidad, en su artículo
[36] “Atos se lleva un contrato para el mantenimiento de las apps relacionadas con Sebc”,
muestra la consecución del mencionado contrato por parte de Atos España por 25,52
millones de euros. En segundo lugar, el periódico digital Computer World, cita en su
artículo [37] de julio de 2018 “Atos compra la estadounidense Syntel”, la adquisición por
parte de Atos de la compañía estadounidense especializada en aplicaciones, por 2.896
millones de euros. En tercer lugar, El Economista publicó [38] en junio de 2018 “Atos
impulsará la tranformación digital de Siemens por 200 millones”, cantidad por la cual
Atos firmó dos contratos con Siemens. Por último, la plataforma Estrella Digital refleja,
en su publicación [39] de marzo de 2019 “El Departamento de salud de Australia
occidental selecciona a Atos para liderar su tranformación digital” la adquisición de dicho
contrato por 78,2 millones de euros.
Antes de definir el sector en particular que se analiza en esta sección, y tras observar
varios contratos y adquisiciones multimillonarias llevadas a cabo por Atos, se cita un
artículo de especial interés. Expansión [40], en diciembre de 2017, publicó “Thales se
impone a Atos y compra Gemalto por 4.760 millones”. En este artículo, Expansión refleja
que Atos lanzó una opa de 4.300 millones por Gemalto, la cual fue rechazada. A los pocos
días, Thales anunció una oferta de compra de 4.760 millones de euros, la cual fue
aprobada por el consejo de la empresa holandesa. Atos había mostrado además su especial
interés por Gemalto, declarando que ‘intentaría por todos los medios hacerse con
Gemalto, tras el rechazo de su oferta’. Sin embargo, el rápido movimiento de Thales con
su oferta un 11% superior a la propuesta por la compañía francesa logró la adjudicación.
Esto es un sencillo ejemplo de la importancia de tener información veraz, de interés
económico y competitivo, y en un tiempo adecuado; en definitiva, la relevancia de la
inteligencia empresarial.
Tras esta breve introducción a la empresa analizada, se expone a continuación el contrato
sobre el cual se ha centrado la presente investigación.
Según cita el diario online Computing [41], Atos comenzó una importante relación
comercial con el COI (Comité Olímpico Internacional) en los J.J.O.O. de Barcelona 1992,
como socio global del mencionado COI. Así, los futuros Juegos Olímpicos de Tokio en
2020 supondrán los décimos consecutivos con la participación de Atos. Esta particpación
se fundamenta en servicios IT, como figura en la página web [42] de la propia empresa
con Atos como socio global en servicios IT de los J.J.O.O. desde 2001. Además, el
proyecto estudiado para los futuros Juegos Olímpicos de Tokio supondrá una notoria
inversión, pues se trata de una importante innovación, como comenta Patrick Adiba [41],
vicepresidente ejecutivo de Atos y CEO (Chief Executive Officer) de Olympic Games &
Major Events, ‘Estamos muy satisfechos por crear un entorno más seguro para todos los
participantes en los Juegos Olímpicos de Tokio 2020. Con la colaboración de NEC y
Panasonic, ofrecemos un novedoso sistema de acreditación y acceso basado en el
tratamiento facial que mejorará los niveles de seguridad y reducirá los tiempos de espera
en los puntos de entrada’.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 67
Por tanto, el primer análisis por medio de Maltego se fundamentará en la obtención de
los responsables del citado proyecto, como se expone en el siguiente apartado.
4.1.2 Maltego en caso práctico
Centrando la investigación en el sector seleccionado, se emplean los datos que figuran en
la página web de la compañía analizada.
En primer lugar, de la gobernanza global de Atos [43] se extraen diez Objetivos, siendo
Patrick Adiba y Herbert Leung los más relevantes. El primero, ya citado en el
proyecto, ocupa el cargo de CEO de la división de Olympic Games & Major Events, y es
además el actual CEO de la división Unified Communication & Collaboration, como
muestra en su perfil de LinkedIn [44]. El segundo, Herbert Leung, es el actual CEO de la
división geográfica denominada por Atos como APAC, Asia-Pacific. El resto de
directivos del comité ejecutivo de la compañía tendrán una relación menor con el proyecto
analizado, tal y como muestran los resultados obtenidos con Maltego, y son los siguientes:
1. Thierry Breton: CEO principal.
2. Ellie Girard: Vicepresidente Ejecutivo.
3. Eric Grall: Vicepresidente Ejecutivo.
4. Robert Vassoyan: Vicepresidente Ejecutivo.
5. Adrian Gregory: Vicepresidente Ejecutivo.
6. Pierre Barnabé: Vicepresidente Ejecutivo.
7. Philippe Mareine: Vicepresidente Ejecutivo.
8. Sean Narayanan: Vicepresidente Ejecutivo.
9. Gilles Arditti: miembro del Comité Ejecutivo.
10. Jean-Maire Simon: CEO Francia.
En segundo lugar, de la gobernanza APAC de Atos [45] se obtienen el resto de las
personas que gozan de cargos directivos y están íntimamente relacionados con el proyecto
tratado, que son los siguientes:
1. Magnus Alvarsson: Director de Negocio y Platform Solution.
2. Wong Kwok Wah: Director de Infraestructuras y Data Management.
3. Neville Smith: Director de Big Data, Ciberseguridad y Unified Communication
and Collaboration.
4. Jeffery Hoffman: Director de Servicios Financieros e Insurance.
RESULTADOS
68 Escuela Técnica Superior de Ingenieros Industriales (UPM)
5. Kevin Yau: CFO (Chief Financial Officer).
6. Ha Xuan Truong: Director de Compras de APAC excluyendo la India.
7. Amy Loo: CIO (Chief Information Officer).
8. Violet Chua: Vicepresidente de Recursos Humanos.
Además de las relaciones meramente laborales, es importante considerar otro tipo de
relaciones para obtener nodos de especial interés sin cometer demasiado error. Así, a
partir de los perfiles de LinkedIn [46] de algunos de los directivos mencionados
anteriormente, se han obtenido varias relaciones a tener en cuenta:
a. Ha Xuan Truong ( 6 ) ocupó el cargo de Corporate Buyer entre 2009 y 2012 en la
empresa Orange, periodo en el que coincidió con Wong Kwok Wah ( 2 ), Director
de Desarrollo de Negocio, Comunicación y colaboración entre 2011 y 2013
también en Orange.
b. Ha Xuan Truong ( 6 ) estudió entre 2006 y 2009, puedo coincidir con Gilles Arditti
( 9 ) en el master en HEC Paris, aunque se desconocen las fechas en las que el
segundo cursó dicho master.
c. Un nexo común entre diversos cargos de relevancia en Atos es Schlumberger,
pues su filial tecnológica SchlumbergerSema fue adquirida por Atos Origin por
1.300 millones entre 2003 y 2004 [47]. Herbert Leung (CEO APAC), Patrick
Adiba (CEO Olympic Games & Mayor Events), Magnus Alvarsson ( 1 ), Neville
Smith ( 3 ) y Jean-Maire Simon (CEO Francia) coincidieron entre los años 2000
y 2004 en dicha compañía.
A la vista de lo analizado, con las numerosas relaciones laborales tanto presentes como
pasadas y académicas, la magnitud del grafo es considerablemente mayor que la obtenida
con la organización ficticia en la metodología del epígrafe 3, y por tanto las
visualizaciones de Maltego serán de gran ayuda para extraer conclusiones relevantes.
Así pues, se ha procedido a la realización del grafo en Maltego incorporando todas las
relaciones, utilizando el color gris para relaciones laborales en Atos, el color negro para
indicar relaciones laborales ligadas con el proyecto de los J.J.O.O., y otros colores para
relaciones no actuales laborales y relaciones actuales, resultando el grafo de la Figura 71
sin añadir ninguna opción de visualización.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 69
En la vista mostrada, resulta difícil extraer los principales nodos debido al gran número
de relaciones existente. Así, se implementa la opción de visualización explicada en el
epígrafe Metodología en la página 21, diverse decent, cómo muestra la Figura 72.
Figura 71. Grafo Atos Maltego. Sin opción de visualización.
RESULTADOS
70 Escuela Técnica Superior de Ingenieros Industriales (UPM)
A partir de la visualización mostrada en la Figura 72, se pueden obtener claramente los
principales nodos (personas) de la organización, destacando en orden decreciente de
tamaño, Patrick Adiba, Herbert Leung, Ha Xuan Truong, Jean-Maire Simon, Gilles
Arditti, Magnus Alvarsson y Neville Smith.
A continuación, la labor se fundamenta en correr la transformación vista en el apartado
3.1 de To Twitter Affiliation, y posteriormente filtrar los resultados obtenidos para extraer
cuentas de Twitter vinculadas a los Objetivos mencionados.
Figura 72. Grafo Atos Maltego. Visualización diverse decent.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 71
Tras efectuar la transformación indicada a los siete Objetivos extraídos inicialmente del
grafo, Maltego reorganiza el mismo como muestra la Figura 73. Se procede a
continuación a analizar y filtrar los resultados:
1. Patrick Adiba: La herramienta Maltego proporciona en la Figura 74 un único
resultado, con un ID de Twitter 3589081883 y un usuario @PatrickAdiba,
resultado el cual se verifica tanto su autenticidad (cuenta verificada por Twitter)
como su actividad, con publicaciones hasta la fecha de elaboración del presente
documento.
Figura 73. Dirección Atos con transformación Maltego.
RESULTADOS
72 Escuela Técnica Superior de Ingenieros Industriales (UPM)
2. Herbert Leung: se obtienen siete posibles perfiles vinculados al nombre del
Objetivo en la Figura 75, y tras verificar todos ellos vía Twitter se concluye que
ninguno se corresponde con la cuenta verídica del directivo.
3. Ha Xuan Truong: se obtienen doce posibles perfiles en la Figura 76, recordando
que al ser este el límite de obtención de resultados de Maltego, puede haber más
perfiles asociados al nombre analizado. Sin embargo, no se ha logrado encontrar
un perfil ligado al directivo ni analizando los datos facilitados por Maltego, ni
buscando en la propia red social.
Figura 75. Transformación Twitter Maltego H.L.
Figura 74. Transformación Twitter Maltego P.A.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 73
4. Jean-Maire Simon: la herramienta devuelve exclusivamente un perfil en la
Figura 77, que no se corresponde con el Objetivo en cuestión. Sin embargo, la
búsqueda manual de dicho directivo junto con tweets relacionados con la
compañía obtiene como resultado el perfil @jeanmarie_simon, del cual se verifica
tanto su autenticidad como su actividad hasta la fecha.
5. Gilles Arditti: se extrae un único perfil en la Figura 78, con ID 1266681386 y
nombre de usuario @gillesat, del cual se encuentran indicios de su posible
autenticidad pues entre sus seguidos figuran varios directivos franceses y la cuenta
de la propia compañía Atos, aunque su actividad es considerablemente reducida.
Figura 76. Transformación Twitter Maltego H.X.T.
Figura 77. Transformación Twitter Maltego J.M.S.
RESULTADOS
74 Escuela Técnica Superior de Ingenieros Industriales (UPM)
6. Magnus Alvarsson: se obtienen dos cuentas relacionadas con ese nombre, como
muestra la Figura 79. Sin embargo, se deduce que la cuenta con nombre de usuario
@theeBGP es la auténtica debido a que está relacionada bidireccionalmente con
varias cuentas vinculadas a Atos. Sin embargo, la actividad es prácticamente nula
desde el año 2009.
7. Neville Smith: la herramienta devuelve los perfiles mostrados en la Figura 80.
Tras analizar los mismos, se concluye que el Objetivo no tiene una cuenta
actualmente operativa.
Figura 79. Transformación Twitter Maltego M.A.
Figura 80. Transformación Twitter Maltego N.S.
Figura 78. Transformación Twitter Maltego G.A.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 75
En definitiva, tras el exhaustivo análisis interno de la compañía, se han extraído un total
de cuatro perfiles asociados a personalidades de la entidad, los cuales se analizarán en el
epígrafe 4.1.3.
4.1.3 Aplicación Twitter en caso práctico
Los Objetivos a investigar vistos en el epígrafe 4.1.2 son los citados a continuación:
1. @PatrickAdiba
2. @jeanmarie_simon
3. @gillesat
4. @theeBGP
De dichos Objetivos, en primer lugar se extraen los ficheros que representan la red de
contactos en la plataforma de Twitter vistos en la Figura 18 y la Figura 24, con la
ejecución del código de la Figura 23. Así, se obtiene un código por pantalla desarrollado
Figura 81. Salida de ejecución para la obtención de red de Twitter.
RESULTADOS
76 Escuela Técnica Superior de Ingenieros Industriales (UPM)
para facilitar el seguimiento de la ejecución, del cual se muestra una parte en la Figura
81.
Una vez extraída la red de contactos de cada Objetivo, se procede al uso del resto de
módulos desarrollados que interactúan con la API Twitter para la extracción de
información de valor.
4.1.3.1 Objetivo 1
En primer lugar, se usará la interfaz mostrada en la Figura 31, para la cual introduciendo
el nombre del primer Objetivo (1), se obtiene en la Figura 82 que en efecto será posible
la obtención de sus datos, y se extrae el grafo de la Figura 83. Este grafo muestra que,
pese a no ser una cuenta con numerosas publicaciones, sí cuenta con una red de
seguimiento constante por los likes obtenidos en las publicaciones del Objetivo, y que por
tanto no es una red de contactos inactiva o con cuentas en desuso. Esto conduce a que las
conclusiones extraídas a partir del análisis de dicha red de Twitter serán a priori de interés.
Figura 83. Evolución temporal de likes de Objetivo 1.
Figura 82. Interfaz gráfica 1 aplicada a Objetivo 1.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 77
En segundo y último lugar, se analizará la interfaz de la Figura 37, la cual de nuevo, tras
la introducción del Objetivo, indica en la Figura 84 que ha sido posible la extracción de
sus datos, que se muestran en la Figura 85.
De los datos obtenidos, se ven algunos de los últimos tweets del Objetivo, así como su
fecha de publicación, lo cual indica la actividad de la cuenta, pero además se extraen dos
datos de especial interés.
Figura 85. Datos obtenidos de Objetivo 1.
Figura 84. Interfaz gráfica 2 aplicada a Objetivo 1.
RESULTADOS
78 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Por una parte, se encuentra la fecha de creación de la cuenta el 8 de septiembre de 2015.
Este dato es de interés puesto que, contrastándolo con el comienzo del Objetivo en Atos,
en 2004, y viendo que ambas fechas no coinciden, se puede concluir que la cuenta no está
relacionada o vinculada exclusivamente al ámbito laboral del Objetivo, sino que se trata
en efecto de su cuenta personal. Este hecho es relevante, pues incluirá contactos en su red
no solo vinculados a Atos, lo cual puede permitir el descubrimiento de nuevos Objetivos
críticos de su ámbito extralaboral, como se verá en el posterior análisis en Neo4j en el
epígrafe 0.
Por otra parte, la Figura 85 refleja que el dispositivo empleado por el Objetivo es un
iPhone.
4.1.3.2 Objetivo 2
Empleando la interfaz de la Figura 31, e introduciendo el Objetivo (2) muestra la correcta
obtención de datos de la Figura 86. Los datos reflejados en la Figura 87 indican, al igual
que en el primer caso, un seguimiento notable en las fechas de publicación de tweets por
parte del segundo Objetivo.
Por otra parte, se emplea la interfaz de la Figura 37, y mostrando los datos obtenidos
correctamente en la Figura 88, se obtiene la Figura 89. Al igual que en el caso anterior, la
Figura 86. Interfaz Gráfica 1 aplicada a Objetivo 2.
Figura 87. Evolución temporal de likes de Objetivo 2.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 79
fecha de creación de la cuenta en abril de 2015 no concuerda con la iniciación del Objetivo
en la compañía, en julio de 2007, con lo que se extrae la misma conclusión que la citada
previamente. Además, el dispositivo del Objetivo es de nuevo un iPhone.
Figura 88. Interfaz Gráfica 2 aplicada a Objetivo 2.
Figura 89. Datos obtenidos de Objetivo 2.
RESULTADOS
80 Escuela Técnica Superior de Ingenieros Industriales (UPM)
4.1.3.3 Objetivo 3
Se emplea la interfaz de la Figura 31, e introduciendo el Objetivo (3) muestra la correcta
obtención de datos de la Figura 90. Sin embargo, el grafo obtenido no muestra actividad
alguna desde la creación de la cuenta, mostrando la clara inactividad en Twitter del
presente Objetivo.
Por otra parte, se emplea la interfaz de la Figura 37, y mostrando los datos obtenidos
correctamente en la Figura 91, se obtiene la Figura 92. Al igual que en los casos
anteriores, la fecha de creación de la cuenta en marzo de 2013 no concuerda con la
iniciación del Objetivo en la compañía, en diciembre de 2006, con lo que se extrae la
misma conclusión. No se puede obtener el dispositivo de uso del Objetivo al no presentar
actividad.
Figura 90. Interfaz Gráfico 1 aplicada a Objetivo 3.
Figura 91. Interfaz Gráfico 2 aplicada a Objetivo 3.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 81
4.1.3.4 Objetivo 4
Se emplea la interfaz de la Figura 31, e introduciendo el Objetivo (4) muestra la correcta
obtención de datos de la Figura 93. Este Objetivo sí presenta una mínima actividad
coincidente con la creación de la cuenta, pero como en el caso anterior, el grafo obtenido
no muestra actividad reciente reflejando así su actual inactividad en Twitter.
Por otra parte, se emplea la interfaz de la Figura 37, y mostrando los datos obtenidos
correctamente en la Figura 94, se obtiene la Figura 95. Al igual que en los casos
anteriores, la fecha de creación de la cuenta en agosto de 2009 no concuerda con la
iniciación del Objetivo en la compañía, en abril de 2002, con lo que se extrae la misma
Figura 92. Datos obtenidos de Objetivo 3.
Figura 93. Interfaz Gráfica 1 aplicada a Objetivo 4.
RESULTADOS
82 Escuela Técnica Superior de Ingenieros Industriales (UPM)
conclusión. No se puede obtener el dispositivo de uso del Objetivo al no presentar
actividad.
Figura 94. Interfaz Gráfica 2 aplicada a Objetivo 4.
Figura 95. Datos obtenidos de Objetivo 4.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 83
4.1.4 Neo4J en caso práctico
Tras los resultados obtenidos en el punto anterior, y dada la inactividad notable mostrada
por parte de los dos últimos Objetivos analizados bajo los subtítulos Objetivo 3 y Objetivo
4 del punto 4.1.3, se procede a analizar el grafo de la red de contactos de los dos primeros
Objetivos, vistos en los subtítulos Objetivo 1 y Objetivo 2 del punto 4.1.3. De dichos
Objetivos, se analizarán diversas cypher queries con el fin de extraer relaciones de interés
para la obtención de perfiles adicionales relevantes.
4.1.4.1 Objetivo 1
El grafo del primer Objetivo, con nombre de usuario @PatrickAdiba e ID 3589081883,
considerando tanto los seguidos como los seguidores, junto con los seguidores y seguidos
de cada uno de los dos anteriores, supone un total de 739.517 nodos y 1.205.979
relaciones.
Se subraya el uso del comando graph.merge visto en el apartado 3.3 para evitar la
creación de un nuevo nodo en el caso de que dicho nodo ya existiese. Esto es de vital
importancia para evitar la duplicidad de nodos, pues en este mismo caso, se habrían
obtenido un total de 1.205.979-739.517 = 466.462 nodos ya existentes, lo cual
entorpecería notablemente su posterior análisis.
En primer lugar, se ejecuta la query de la Figura 96, con la que se extrae una lista en orden
descendiente de nodos con el máximo número de relaciones.
Tras 5.688 ms de ejecución, se obtiene un display de los 100 nodos con más relaciones
en el grafo del Objetivo 1. En la Figura 97, se reflejan los 5 nodos con más relaciones
obteniendo tanto sus ID como el número de relaciones con el que cuentan.
En segundo lugar, se analizan las cuentas seguidas por ambos, el Objetivo 1 y el Objetivo
2, con la query de la Figura 98.
Figura 96. Cypher query para la obtención de nodos con más relaciones.
Figura 97. Nodos con mayor número de relaciones en el grafo del Objetivo 1.
RESULTADOS
84 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Así, tras 491 ms se obtienen 226 resultados que responden ante la query anterior, de los
cuales se reflejan algunos en Figura 99.
Para restringir algo más el resultado anterior, se pueden analizar los nodos a los que
siguen no solo los dos Objetivos actualmente investigados, sino también los dos Objetivos
descartados por inactividad. Para ello, se obtienen los ID de los Objetivos 3 y 4, que son
1266681386 y 68091683 respectivamente, y se realiza la query de la Figura 100.
En este caso, no se obtiene ningún resultado que cumpla con los criterios de la query
empleada.
En tercer lugar, se analiza el camino más corto para llegar del primer Objetivo al segundo,
y se analizan los nodos por los que se debe pasar para llegar de uno a otro con la query
de la Figura 101.
Como muestra la Figura 102, y como era de esperar, existe la relación directa entre ambos
nodos Objetivo y ese será por tanto el camino más corto entre ambos. Por tanto, esta query
no proporciona información de interés más allá de confirmar la relación entre ambos
Objetivos.
Figura 98. Cypher query para la obtención de nodos con relación con los dos Objetivos analizados.
Figura 99. Nodos con relación con ambos Objetivos en el grafo del Objetivo 1.
Figura 100. Cypher query para obtención de nodos relacionados con los Objetivos iniciales.
Figura 101. Cypher query del camino más corto entre los Objetivos en grafo de Objetivo 1.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 85
En adición a lo anterior se podría ejecutar la query de la Figura 103, para encontrar otros
caminos alternativos entre ambos Objetivos. Sin embargo, Neo4j Browser no tiene
memoria suficiente para procesar dicha petición con lo que no es posible su ejecución.
Para extraer las conclusiones pertinentes, se hace uso de una tabla de Excel en la cual se
incluyen todos los resultados obtenidos según los diferentes métodos ya vistos, y filtrando
dichos resultados buscando celdas repetidas, se deducen varios usuarios de interés.
Concretamente, se han obtenido 12 duplicidades de ID de distintos usuarios que han sido
resultado de las diferentes queries propuestas. Sin embargo, uno capta especialmente la
atención, pues el usuario con ID 52055276 no solo es seguido por los dos Objetivos
analizados, sino que además es la cuenta obtenida en la Figura 97 con más relaciones en
el grafo del Objetivo 1, con 10.221 relaciones.
Utilizando la interfaz desarrollada en la Figura 37, se obtienen los principales datos de
este ID, así como el nombre vinculado a esa cuenta, con el cual se podría iniciar una futura
investigación o trackeo tras la obtención de su teléfono móvil.
Figura 102. Resultado de camino más corto en grafo de Objetivo 1.
Figura 103. Cypher query para obtención de caminos adicionales entre los dos Objetivos.
RESULTADOS
86 Escuela Técnica Superior de Ingenieros Industriales (UPM)
4.1.4.2 Objetivo 2
El grafo del segundo Objetivo, con nombre de usuario @jeanmarie_simon e ID
3131116444, considerando tanto los seguidos como los seguidores, junto con los
seguidores y seguidos de cada uno de los dos anteriores, supone un total de 703.392 nodos
y 1.437.186 relaciones.
En primer lugar, con la query de la Figura 96, se obtienen los nodos con más relaciones
ahora en el grafo de la red de contactos del Objetivo 2. Se muestran, tras 6.261 ms de
ejecución, en la Figura 105 los 5 primeros resultados de dicha query, así como el número
de relaciones de cada nodo obtenido.
En segundo lugar, con la query de la Figura 98 se analizan de nuevo los nodos seguidos
por ambos usuarios, pero ahora en la red del objetivo 2. Así, se obtienen tras 1.501 ms de
ejecución, 226 resultados de los cuales se muestran algunos en la Figura 106.
Figura 104. Nodo adicional extraído de grafo de Objetivo 1.
Figura 105. Nodos con mayor número de relaciones de Objetivo 2.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 87
De nuevo, al ejecutar la query de la Figura 100 no se obtiene ningún resultado, y se
procede a no ejecutar la query de la Figura 101 puesto que a partir del resultado visto en
el análisis del primer Objetivo, no será de interés.
Se concluye de nuevo con el análisis de duplicidades en Excel con los resultados
obtenidos, y al igual que en el caso anterior, se vuelve a encontrar de especial interés el
perfil de ID 52055276 el cual ya se analizó en la Figura 104, pues de nuevo figura entre
los seguidos por ambos Objetivos y entre los perfiles con más relaciones de la Figura 105,
ahora en segunda posición con 10.131 relaciones.
Sin embargo, destaca otro usuario el cual también se obtuvo en el análisis del grafo del
Objetivo 1 pero no se subrayó. Se trata del perfil con ID 52422878, el cual figura en
ambos grafos como el 14 en número de relaciones y cuenta además con la relación con
ambos Objetivos.
Cotejando dicho perfil con la interfaz de la Figura 37, se obtiene el resultado de la Figura
107, y se comprueba que se trata del perfil oficial de los J.J.O.O posiblemente relacionado
con los proyectos de colaboración entre Atos y los mismos, con lo que se descarta el
interés en investigar tal usuario.
Figura 106. Nodos con relación con ambos Objetivos en grafo de Objetivo 2.
RESULTADOS
88 Escuela Técnica Superior de Ingenieros Industriales (UPM)
4.1.5 Resultados y líneas futuras
En el epígrafe 4 se ha abordado un caso práctico de aplicación de las herramientas
desarrolladas hasta el momento. Este desarrollo se ha centrado en los epígrafes 3.1, 3.2,
y 3.3, basados en el análisis de la compañía, la extracción de Objetivos, su investigación
vía Twitter y su análisis en profundidad mediante grafos con Neo4j.
Para plasmar la relevancia del desarrollo realizado, tomando una compañía masiva como
es Atos, y viendo la notable extensión de su plantilla en el epígrafe 4.1.1, se ha logrado
extraer una lista de Objetivos de interés, en el epígrafe 4.1.2, en relación al proyecto que
se buscaba estudiar. Adicionalmente, se ha empleado el desarrollo en Python relacionado
con Twitter para obtener información de interés de los Objetivos, así como la extracción
de su red de contactos, todo ello visto en el epígrafe 4.1.3. Por último, en el epígrafe 0 se
ha abordado el análisis de la mencionada red de contactos con la herramienta Neo4j, a
partir de lo cual se ha extraído un potencial Objetivo adicional.
Sin embargo, se ha decidido no abordar la investigación basada en el epígrafe 3.4, en
relación al tracker de WhatsApp, por la ambigüedad que supondría un análisis tan
exhaustivo de un aspecto que requeriría de información adicional para obtener
conclusiones coherentes.
A pesar de lo anterior, y con el fin de plasmar la relevancia del módulo vinculado a
WhatsApp en un caso real, se incluye el epígrafe 4.2 en el que se estudian, grosso modo,
varios casos reales de uso del mismo por parte de la compañía colaboradora Tarlogic
Security.
Figura 107. Nodo adicional extraído de grafo de Objetivo 2.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 89
4.2. ANÁLISIS DE CASOS REALES
Como se ha mencionado en el apartado 4.1.5, se describirán brevemente diversos casos
reales de uso de la herramienta desarrollada para realizar el trackeo de WhatsApp y las
conclusiones que del mismo se pueden extraer. Por motivos de privacidad, no se
desvelarán los nombres de las empresas implicadas, así como los nombres de los
Objetivos o empresas investigadas.
4.2.1 Caso 1
En el presente caso, Tarlogic Security fue contratada por una empresa para una operación
ubicada en la capital de un país Latinoamericano. Los antecedentes a dicho caso
consistían en una importante obra de infraestructura en esa ciudad, en la cual se vio
implicada dicha empresa. Sin embargo, un giro de acontecimientos llevó a numerosas
organizaciones sindicales a volverse en contra del proyecto y entorpecer el desarrollo.
Así, se facilitaron a Tarlogic Security cinco teléfonos móviles de los líderes de las
principales organizaciones sindicales presentes, de las cuales se inició el seguimiento o
trackeo. Adicionalmente, se comenzó el trackeo del CEO de la compañía interesada, del
cual se supo cuando dicho directivo realizaba viajes al país en que se desarrollaba el
proyecto. Estas deducciones tuvieron lugar debido a lo visto en el epígrafe 3.4, al aparecer
una desconexión prolongada (de 12h) del Objetivo, y de nuevo iniciar su rutina de
conexiones en otro huso horario en concordancia con el del país. Así, contrastando el
horario del potencial vuelo con las salidas existentes ese mismo día en el aeropuerto de
Madrid Barajas, se pudo hacer sólida la conclusión obtenida.
Tras dos semanas de análisis del comportamiento de los cinco teléfonos trackeados, se
pudo observar cómo había dos números que parecían estar notablemente más en contacto
que el resto, pese a que las cinco organizaciones sindicales participaban en los disturbios.
Así, la compañía obtuvo información de un enorme valor, en relación a cuáles eran las
organizaciones que realmente estaban dirigiendo aquella situación, y por tanto la empresa
pudo conocer a qué líderes sindicales debía dirigirse para gestionar la situación.
Adicionalmente, se dedujo otra conclusión que distaba mucho de lo que verdaderamente
se perseguía con la investigación. La unidad de ciberinteligencia de Tarlogic Security se
percató de que durante las jornadas o periodos horarios en los que había una huelga, los
Objetivos trackeados no tenían actividad alguna, lo cual reveló el uso de terminales
adicionales que estaban seguramente relacionados con actividades clandestinas.
4.2.2 Caso 2
Otro caso en el que Tarlogic Security tuvo especial participación consistió en la solicitud
por parte de una compañía que estaba interesada en encontrar las principales relaciones
que existían en su comité de dirección.
Dicha compañía facilitó los teléfonos de todos los integrantes del comité de dirección,
pese a que todos ellos se pudieron comprobar a posteriori que se encontraban disponibles
en la red a través de sus perfiles de LinkedIn.
RESULTADOS
90 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Tras iniciar el trackeo, y tras dos semanas de análisis de los resultados obtenidos, la
unidad de ciberinteligencia de Tarlogic Security dedujo que había una notable relación
entre el CEO, COO y CSO, debido a la considerable coincidencia en los registros de
conexiones de dichos Objetivos. De hecho, en ocasiones se registraban largos periodos
de conexión simultáneamente, lo que indudablemente se trataba de llamadas vía
WhatsApp, las cuales son también registradas por el tracker.
En adición a lo anterior, en este caso se estuvo pendiente de la influencia que la prensa
tenía sobre la actividad de estos directivos. Así, cuando se daban noticias de cierto tipo,
como determinadas reuniones de la compañía con algunas organizaciones, o el inicio de
proyectos, la actividad de determinados Objetivos se disparaba.
Es lógico plantearse el interés que puede tener para una compañía el conocimiento de las
relaciones que existen entre los miembros de su plantilla, y es aquí cuando se introduce
el concepto de acción de influencia. En otras palabras, la compañía solicitó el presente
estudio para conocer qué perfiles de su comité de dirección tenían una relación más
notoria o una predominancia mayor sobre el resto. Así, se tomarían unos planes de
actuación u otros en caso de que se pretendiera que el comité adoptara una determinada
postura acorde a los intereses de la compañía por medio de esos perfiles con un mayor
poder o influencia sobre el resto.
4.2.3 Caso 3
Otro caso en el que se plasma el factor determinante que supone el uso de herramientas
como la estudiada es el siguiente. Una compañía contactó con Tarlogic Security, puesto
que se encontraba en plena guerra comercial con otra compañía de la competencia. El
conflicto económico se centraba en un proyecto localizado en Argentina, en torno al cual
las dos empresas, ambas con sede en Europa, tenían grandes intereses.
Por este motivo, una de las dos compañías, a la cual se denominará para clarificar la
explicación como ‘A’, facilitó el teléfono móvil del comercial de la empresa de la
competencia encargado del proyecto de interés. A dicha empresa se designará como ‘B’.
Así, se inició el trackeo del dispositivo facilitado, y a los pocos días del comienzo de la
operación, se descubrió en efecto que el Objetivo de la compañía B tuvo un parón de
conexión que no se correspondía con horas de sueño. Tras reconocer una nueva presencia
del Objetivo tras el parón, las horas hasta la misma cuadraban con un vuelo que, cotejado
con la información del aeropuerto de Madrid Barajas, eran coherentes con un vuelo con
destino Argentina. Por ello, se dio aviso a la compañía A de que, en efecto, se había
producido el desplazamiento del Objetivo.
Tras este hecho, y durante los próximos días, se confirmó el supuesto al haberse
modificado notablemente el horario de actividad en WhatsApp del Objetivo, siendo
acorde ese horario con el huso horario argentino.
El interés de la compañía A en conocer este desplazamiento se debe a un nuevo término
que se introduce a continuación, el control de competencia. Esto es, tras ocurrir un
determinado hecho relevante a nivel comercial, como es este desplazamiento de un
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 91
comercial importante en el proyecto por parte de la compañía B, se provoca un cambio
en la línea de acción de la compañía A para hacer frente a esa acción detonante.
En el caso tratado, la compañía A actuó desplazando también a su grupo de comerciales
a Argentina con el fin de reunirse con el cliente, y según la situación encontrada tomar
acciones agresivas para la consecución del proyecto de interés.
Como apunte para este caso, se debe subrayar que, pese a que se efectuó con resultados
correctos el trackeo, no se trata del método más adecuado al requerir de tiempo para
registrar y evaluar las presencias del Objetivo en WhatsApp, siendo el tiempo la principal
variable que da valor a una información en lo que a inteligencia se refiere.
4.2.4 Caso 4
Un caso que refleja sin duda la variedad de aplicaciones posibles para la herramienta es
el llevado a cabo por parte de Tarlogic Security de la mano de una entidad bancaria. Dicha
entidad contactó con Tarlogic Security pues en su plantilla había varios sujetos llevando
a cabo tareas fraudulentas. Estas tareas consistían en fugas de información de cuentas
bancarías de clientes de la entidad.
En este caso, la entidad tenía varios sospechosos, con lo que proporcionó varios teléfonos
de los mismos, a partir de los cuales se inició el trackeo.
La finalidad de este trackeo, pues a priori parece complicado encontrar al responsable de
una fuga de información, residía en descubrir quiénes estaban en contacto de los
Objetivos, para destapar qué sospechosos eran en realidad los coordinadores de la
presente actividad delictiva.
Así, tras varias semanas de detección de presencias se logró en efecto averiguar quiénes
eran los Objetivos implicados.
4.2.5 Caso 5
Como cabe esperar, no siempre se puede contar con esta herramienta para la correcta
obtención de resultados o conclusiones. Un ejemplo de lo anterior se dio en el caso de
una revuelta nacional.
En este caso, similarmente al caso visto en el punto 4.2.1, se inició el trackeo de varios
líderes sindicales con notable influencia política. Sin embargo, poco después del inicio
de la operación, dejó repentinamente de existir actividad en los teléfonos habituales de
los Objetivos, habiéndose dado por tanto un cambio de terminal en todos ellos.
Así, se tuvo que continuar la investigación por otros medios.
RESULTADOS
92 Escuela Técnica Superior de Ingenieros Industriales (UPM)
4.3. VALORACIÓN DE IMPACTOS
Una de las principales motivaciones personales de elección del tema planteado es la
vinculación de un aspecto tan técnico como es la programación en conjunción con la
generosa información facilitada por las redes sociales con el mundo empresarial real,
viéndose para ello numerosos casos prácticos de gran interés.
Más allá de las aplicaciones reales estudiadas, es primordial analizar el impacto de los
resultados obtenidos en el presente TFG en diversos ámbitos, y para ello se ha seguido
una metodología basada en la Guía para la Reflexión sobre los Aspectos Éticos,
Económicos, Sociales y Ambientales relacionados con el Trabajo de Fin de Titulación
[48].
4.3.1 Responsabilidad Social
La mencionada guía incluye un análisis estructurado en una primera fase de introducción
al contexto del proyecto y una segunda fase de descripción y análisis de los principales
impactos ligados al proyecto.
Así, en los epígrafes siguientes se abordan las fases indicadas.
4.3.1.1 Contexto del proyecto
La guía empleada aborda el contexto del proyecto con cinco cuestiones principales:
1. Sector tecnológico: el TFG está asociado a las Tecnologías de la Información.
2. Ámbito organizativo y estratégico en que se enmarca el TFG: el proyecto
surge de un caso de la empresa colaboradora Tarlogic Security. Supone la
aplicación de software ya existente, así como el desarrollo de otras herramientas
que faciliten el análisis de la información extraída de diferentes fuentes. En el
epígrafe 1.1. se detalla el caso del que nace el proyecto, así como la necesidad real
que cubre la herramienta creada.
3. Ciclo de vida del proyecto en que se enmarca el TFG: El contenido de este
proyecto se puede aplicar en prácticamente todas las etapas del proceso
productivo en el que haya que tomar decisiones, bien sea por la propia
organización o por terceros vinculados de alguna forma al proceso, al aportar
información sobre posibles influencias que puedan afectar a esas decisiones
4. Contexto socioeconómico, geográfico y cultural: Habitualmente este tipo de
servicios es requerido por empresas con elevados niveles de facturación y número
de empleados que desarrollan actividad con amplia cobertura geográfica, que les
permite asignar presupuesto suficiente a la actividad y además ven valor en la
misma.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 93
5. Grupos de interés relativos al proyecto: Habitualmente esta actividad tiene
especial importancia en el soporte a la venta y negociaciones en general. En
consecuencia, es el colectivo de mayor interés. No obstante, también tiene
aplicaciones en otras áreas de la empresa como RR.HH. y Dirección Financiera.
4.3.1.1.1. Ámbito Legislativo
En el epígrafe 3 se indica la normativa vigente en referencia a la Protección de Datos, y
se subraya su vigilancia y cumplimiento en la totalidad del proyecto. Sin embargo, se
profundiza en dicha normativa a continuación.
El ámbito de aplicación del proyecto afecta en exclusividad a personas físicas, que son
las únicas contempladas en los reglamentos de protección de datos evaluados, como cita
la consideración decimocuarta del Reglamento General de Protección de Datos [3], que
excluye de su aplicación a toda persona jurídica.
Adicionalmente, se considera que el tratamiento de datos personales en este TFG ha sido
desarrollado por una persona física en el ejercicio de una actividad exclusivamente
personal en el ámbito académico. Por este motivo, el artículo segundo sobre el ámbito de
aplicación material del Reglamento General de Protección de Datos [3] excluye a este
proyecto de su aplicación.
No obstante, la extensión de este TFG a actividades fuera del ámbito personal sí estaría
considerada como dentro del alcance de la normativa vigente, y sería por ello considerado
un impacto relevante del proyecto.
4.3.1.2 Principales impactos
La totalidad del proyecto, debido a su finalidad de obtención de inteligencia, se encuentra
estrechamente ligada al Ciclo de Inteligencia analizado con más detalle en el epígrafe 1.
Por ello, y a modo introductorio, se analizan en la Tabla 13 los principales impactos
potenciales que la actividad recogida en el TFG puede tener en las distintas fases del Ciclo
de Inteligencia en los ámbitos ético y profesional, económico, social y ambiental.
RESULTADOS
94 Escuela Técnica Superior de Ingenieros Industriales (UPM)
A continuación, se analizan algunos de los principales impactos, según los ámbitos
citados, que se consideran de mayor relevancia.
4.3.1.2.1. Impacto Ético y Profesional
Los principales impactos en el ámbito ético y profesional que pueden derivar de este TFG
son de una importancia notable. Esto se debe a que los descubrimientos surgidos con las
técnicas y herramientas vistas pueden atentar contra derechos éticos fundamentales de
cada individuo, como son la libertad de reunión, la libertad de movimientos, o incluso la
dignidad de las personas.
En referencia al primer derecho citado, la libertad de reunión, o, en otras palabras, la
libertad de cada individuo de reunirse con cualquier otro individuo ya sea física o
virtualmente, supone un punto de impacto a considerar. Esto se debe a que diversos
descubrimientos vistos en los casos reales del epígrafe 4.2 suponían una violación de la
libertad de reunión, al destapar posibles encuentros entre individuos bajo seguimiento.
En cuanto a la libertad de movimientos, o, en otras palabras, la libertad de cada individuo
de desplazarse libremente supone de nuevo un punto de impacto evidente debido a que
nuevamente en los casos reales del epígrafe 4.2 se desvelaban numerosos
desplazamientos de individuos bajo investigación.
Finalmente, el derecho de no atentar contra la dignidad de las personas puede verse
afectado de diversas maneras. Algunas de ellas se han visto en el epígrafe 3.4, con la
posibilidad de descubrir un trastorno del sueño de un Objetivo, o hallar una posible
relación sentimental entre empleados de compañías enfrentadas, siendo este último el
caso del que surgió el presente proyecto, como se indica en el epígrafe 1.1. De hecho, este
Tabla 13. Impactos en el Ciclo de Inteligencia.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 95
último supuesto se incluye en el ámbito profesional, pues dicho descubrimiento puede
tener graves consecuencias a nivel laboral, e incluso personal.
4.3.1.2.2. Impacto Económico
El impacto económico del presente proyecto radica en la relevancia que supone la
inteligencia en el ámbito económico hoy en día.
Este hecho lo reflejan varios de los casos reales vistos en el epígrafe 4.2, pues tomar
decisiones a tiempo por parte de una empresa u organización, adelantándose a la
competencia puede determinar la consecución o no de un contrato, manifestándose aquí
el impacto económico que puede tener la actividad desarrollada en este proyecto.
4.3.1.2.3. Impacto Social
El impacto social se puede abordar desde dos perspectivas.
Por una parte, se ha visto en el caso real del epígrafe 4.2.1 como el uso de la inteligencia
puede tener una influencia notable sobre una manifestación o huelga, al poder determinar
quiénes son los responsables u organizadores de la misma y así poder llevar a cabo
acciones de influencia sobre esos Objetivos.
Por otra parte, el conocimiento de la existencia de herramientas como la presentada en el
proyecto por parte de la población puede llevar a un cambio en su mentalidad. Este hecho
se debería a que, al comprender los usuarios de las plataformas sociales el fácil acceso
que se tiene a sus datos o relaciones por medio de estas plataformas, podrían evitar su uso
o encubrir parcial o totalmente relaciones o contactos que no tienen intención de que
salgan a la luz. Así, se podría incluso llegar a casos de engaño por parte de los Objetivos.
Esto es, al conocer el Objetivo el método de investigación en cuestión podría crear
relaciones en las plataformas sociales que no fuesen verídicas, para así desorientar y dar
pie a conclusiones erróneas por parte de los investigadores.
4.3.1.2.4. Impacto Medioambiental
Pese a no tener excesiva influencia el presente proyecto en el sector medioambiental, si
puede tener alguna aplicación.
Por ejemplo, se podría estar investigando la contaminación presente en un proyecto
llevado a cabo por una empresa determinada, y se podría plantear la participación en esa
contaminación de otras empresas asociadas o encubiertas. Así, analizando la red de
contactos de determinados Objetivos de la empresa inicial, se podrían deducir Objetivos
adicionales pertenecientes a otras entidades que puedan tener cierta relación con el caso,
y en consecuencia actuar para mejorar las condiciones de contaminación existentes.
CONCLUSIONES Y LÍNEAS DE FUTURO DESARROLLO
96 Escuela Técnica Superior de Ingenieros Industriales (UPM)
5. CONCLUSIONES Y LÍNEAS DE FUTURO
DESARROLLO
El presente epígrafe se divide en dos secciones: En la primera, Conclusiones, se evalúa
el cumplimiento de cada una de las metas establecidas para el proyecto, y en la segunda,
Líneas de Futuro Desarrollo, se analizan algunas limitaciones halladas en la elaboración
del proyecto, así como posibles ampliaciones a realizar.
5.1. CONCLUSIONES
Una vez vistos los desarrollos y posibles aplicaciones de los procesos realizados durante
este TFG, se puede afirmar que se han cumplido la meta general de este proyecto y las
siete metas específicas expuestas en el epígrafe 2.
En primer lugar, se ha estudiado la situación actual y relevancia del ámbito en que se
ubica el proyecto, la inteligencia. Así mismo, se ha hecho hincapié en disciplinas algo
más particulares, como son la inteligencia competitiva, la inteligencia empresarial y la
inteligencia económica, analizando sus principales similitudes y diferencias.
En segundo lugar, se ha analizado el software Maltego, ampliamente utilizado en
inteligencia, viendo su funcionamiento a nivel teórico, y aplicando dichos conocimientos
en el caso real vinculado a Atos.
En tercer lugar, se han desarrollado diversos módulos en el lenguaje de programación
Python con los que, tras acceder a la API de Twitter, se ha logrado automatizar el proceso
de extracción de datos de posible interés como el dispositivo de uso del Objetivo, sus
periodos de actividad, o la red de contactos completa, incluyendo tanto seguidos como
seguidores del Objetivo.
En cuarto lugar, se han creado varios módulos en el lenguaje de programación Python
con el fin de, accediendo al servidor de Neo4j, crear un grafo con la red de contactos de
los Objetivos, así como extraer relaciones relevantes que conduzcan a la extracción de
conclusiones de interés competitivo.
En quinto lugar, se ha analizado la herramienta desarrollada por Tarlogic Security para
monitorizar la actividad de Objetivos en la aplicación de mensajería instantánea
WhatsApp. Adicionalmente, se ha desarrollado un módulo en Python para facilitar el
manejo de los datos a partir de los cuales se lleva a cabo la monitorización. Así mismo,
se han analizado casos teórico-prácticos de lo anterior.
En sexto lugar, se ha mostrado la aplicación real de lo visto anteriormente, centrando la
investigación en una empresa de tamaño considerable como es Atos, y extrayendo a partir
de esa organización tan masiva y genérica, conclusiones y Objetivos determinados.
Por último, en séptimo lugar, se han incluido diversos casos reales llevados a cabo por
Tarlogic Security, mostrando la relevancia de las herramientas y técnicas tratadas en el
presente proyecto.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 97
5.2. LINEAS DE FUTURO DESARROLLO
Tras la realización de los diferentes puntos vistos en este TFG y su utilización en un caso
real, se han identificado ciertas limitaciones y las posibles líneas futuras que se detallan
a continuación.
La principal limitación identificada es el tiempo, inconveniente que ya se comentó en el
epígrafe 3.2 con la extracción de la red de contactos de cada Objetivo. Esta limitación se
logró evitar reduciendo la magnitud de la red que se buscaba extraer. Esta reducción se
podría evitar si se adquiriese una licencia de desarrollador de Twitter de pago, la cual
incorpora limitaciones contra la extracción de datos mucho más permisivas que las
encontradas en el presente proyecto, con lo que ésta podría ser una de las principales
líneas de mejora a realizar.
Sin embargo, ésta no es la única limitación temporal encontrada, pues Neo4j también ha
supuesto un retraso considerable al requerir para uno de los Objetivos vistos en el caso
real, hasta 7 días de ejecución para la creación del grafo. Al contrario que la primera
limitación vista, que tenía origen en el rate limit impuesto por Twitter, la limitación
temporal de Neo4j no tenía un origen claro, pudiendo deberse a una limitación no salvable
debida al ritmo que requiere el software empleado. Aun así, conviene estudiar posibles
opciones para la creación de grafos que proporcionen alguna alternativa temporalmente
viable.
En definitiva, las dos limitaciones vistas son críticas, al ser el tiempo un factor
determinante en el ámbito de la inteligencia, y retrasarían considerablemente cualquier
investigación, con lo que deben priorizarse para futuras mejoras.
Por otra parte, una clara ampliación que supondría una gran mejora sería incluir otras
redes sociales, como LinkedIn o Facebook, y por tanto poder realizar la extracción de la
red de contactos del Objetivo en otras redes sociales y así tener varios grafos de varias
redes sociales, o incluso fusionar las redes obtenidas en las distintas redes sociales para
la creación de un único grafo. Así, se lograría la investigación de los Objetivos con una
profundidad enorme, aunque sería necesario mejorar esa limitación temporal de Neo4j si
se busca crear un grafo de semejante tamaño al planteado incorporando los resultados de
varias redes sociales a la vez.
REFERENCIAS
98 Escuela Técnica Superior de Ingenieros Industriales (UPM)
6. REFERENCIAS
[1] Marketing Digital Redacción, «Marketing Digital,» [En línea]. Disponible en:
http://marketingactual.es/internet/tecnologia/internet/big-data-cuantos-datos-se-
generan-cada-minuto-en-el-mundo. [Último acceso: Agosto 2019].
[2] F. X. R. d. España, «Ley Orgánica 3/2018, de 5 de diciembre, de Protección de
Datos Personales y garantía de los derechos digitales.,» 2018.
[3] Parlamento Europeo y Consejo de la Unión Europea, «RGPD,» 2016.
[4] R. J. Moore, «¿Cuántos datos se crean al día en Internet?,» El Mundo , 8 Febrero
2011.
[5] S. Contreras, «Gordon Moore: Biografía y Ley,» Lifeder, 2019.
[6] J. Gantz y D. Reinsel , «The Digital Universe Decade -- Are You Ready?,» 2010.
[7] D. Reinsel, J. Gantz y J. Rydning, «The Digitization of the World From Edge to
Core,» 2018.
[8] Cisco, «Cisco Visual Networking Index: Forecast and Trends, 2017-2022 White
Paper,» 2019.
[9] «Wikipedia,» 20 Junio 2018. [En línea]. Disponible en:
https://en.wikipedia.org/wiki/Sherman_Kent. [Último acceso: Abril 2019].
[10] «CNI,» [En línea]. Disponible en: https://www.cni.es/es/queescni/ciclo/. [Último
acceso: Abril 2019].
[11] D. Donald, «France Launches New Sigint Aircraft Program,» AIN Aviation
International News, 1 Marzo 2018.
[12] D. Cenciotti, «The Aviationist,» 19 Febrero 2017. [En línea]. Disponible en:
https://theaviationist.com/2017/02/19/u-s-air-force-deploys-wc-135-nuclear-
sniffer-aircraft-to-uk-after-spike-of-radioactive-iodine-levels-detected-in-europe/.
[Último acceso: Abril 2019].
[13] C. Pazzanese, «Goodbye James Bond, hello big data,» The Harvard Gazette, 28
Febrero 2018.
[14] J. Del Toro Jiménez, M. Bernardino González , J. Villena Romera y G. Díaz Matey,
La Inteligencia Empresarial en España, madrid: Borrmart S.A., 2018, p. 243.
[15] ICEX España Exportaciones e Inversiones, «Plan Estratégico 2017-2018,» 2017.
[16] Asociación de Empresas de Protección de Datos, «RGPD,» [En línea]. Disponible
en: https://rgpd.es. [Último acceso: Agosto 2019].
[17] Maltego Docs, «Paterva,» [En línea]. Disponible en:
https://docs.paterva.com/en/user-guide/getting-started/. [Último acceso: Mayo
2019].
[18] Twitter, «Developer Twitter,» [En línea]. Disponible en:
https://developer.twitter.com/en/pricing.html. [Último acceso: 27 Mayo 2019].
[19] Tweepy, «Tweepy Documentation,» [En línea]. Disponible en:
https://tweepy.readthedocs.io/en/latest/. [Último acceso: Marzo 2019].
[20] Neo4j, [En línea]. Disponible en: https://neo4j.com/. [Último acceso: Abril 2019].
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 99
[21] Twitter, «Developer Twitter Rate Limiting,» [En línea]. Disponible en:
https://developer.twitter.com/en/docs/basics/rate-limiting.html. [Último acceso:
Abril 2019].
[22] Tweepy, «API Reference,» [En línea]. Disponible en:
https://tweepy.readthedocs.io/en/latest/api.html. [Último acceso: 27 Mayo 2019].
[23] Twitter, «Developer Twitter Response Codes,» [En línea]. Disponible en:
https://developer.twitter.com/en/docs/basics/response-codes.html. [Último
acceso: Abril 2019].
[24] MatplotLib, «matplotlib,» [En línea]. Disponible en: https://matplotlib.org/.
[Último acceso: 10 Junio 2019].
[25] NumPy, «numpy,» [En línea]. Disponible en: https://www.numpy.org/. [Último
acceso: 10 Junio 2019].
[26] Pandas, «Pandas,» [En línea]. Disponible en: https://pandas.pydata.org/. [Último
acceso: 10 Junio 2019].
[27] Qt, «Qt,» [En línea]. Disponible en: https://www.qt.io/. [Último acceso: 10 Junio
2019].
[28] Qt, «Qt Designer Manual,» [En línea]. Disponible en: https://doc.qt.io/qt-
5/qtdesigner-manual.html. [Último acceso: 10 Junio 2019].
[29] Wikipedia, «Wikipedia,» [En línea]. Disponible en:
https://en.wikipedia.org/wiki/Cypher_Query_Language. [Último acceso: 11 Junio
2019].
[30] Py2Neo, «Py2Neo,» [En línea]. Disponible en: https://py2neo.org/v4/. [Último
acceso: 10 Junio 2019].
[31] Hostinet, «¿Qué son las bases de datos MySQL?,» [En línea]. Disponible en:
https://www.hostinet.com/formacion/panel-alojamiento/que-son-bases-de-datos-
mysql/. [Último acceso: 7 Julio 2019].
[32] Wikipedia, «Tiempo Unix,» [En línea]. Disponible en:
https://es.wikipedia.org/wiki/Tiempo_Unix. [Último acceso: 17 Junio 2019].
[33] Programiz, [En línea]. Disponible en: https://www.programiz.com/python-
programming/datetime/strftime. [Último acceso: 18 Junio 2019].
[34] «Wikipedia,» 26 Abril 2019. [En línea]. Disponible en:
https://en.wikipedia.org/wiki/Atos. [Último acceso: Abril 2019].
[35] Atos, «Atos,» 2019. [En línea]. Disponible en: https://atos.net/en/about-
us/company-profile. [Último acceso: Abril 2019].
[36] «Atos se lleva un contrato para el mantenimiento de las apps relacionadas con el
Sebc,» Zona Movilidad, 3 Enero 2019.
[37] «Atos compra la estadounidense Syntel,» Computer World, 23 Julio 2018.
[38] «Atos impulsará la transformación digital de Siemens por 200 millones,» El
Economista, 7 junio 2018.
[39] «El Departamento de salud de Australia occidental selecciona a Atos para liderar
su tranformación digital,» Estrella Digital, 21 Marzo 2019.
REFERENCIAS
100 Escuela Técnica Superior de Ingenieros Industriales (UPM)
[40] A. Fernández, «Thales se impone a Atos y compra Gemalto por 4.760 millones,»
Expansión, 17 Diciembre 2017.
[41] Redacción Computing, «El reconocimiento facial reforzará la seguridad de los
JJOO de Tokio,» Computing, 21 Marzo 2019.
[42] Atos, «Atos,» [En línea]. Disponible en: https://atos.net/en/olympic-games.
[Último acceso: 14 Mayo 2019].
[43] Atos, «Atos,» 2019. [En línea]. Disponible en: https://atos.net/en/2019/press-
release/general-press-releases_2019_02_21/2018-annual-results. [Último acceso:
Abril 2019].
[44] P. Adiba, «LinkedIn,» [En línea]. Disponible en:
https://www.linkedin.com/in/patrickadiba/. [Último acceso: 14 Mayo 2019].
[45] Atos, «Atos,» [En línea]. Disponible en: https://atos.net/en/asia-pacific. [Último
acceso: Abril 2019].
[46] «LinkedIn,» [En línea]. Disponible en: https://www.linkedin.com/. [Último
acceso: Abril 2019].
[47] P. Torralba, «Atos Origin compra Schlumberger Sema por 1.300 millones,»
Computer World, 23 Septiembre 2003.
[48] ETSIT UPM, «Guía para la Reflexión sobre los Aspectos Éticos, Económicos,
Sociales y Ambientales relacionados con el Trabajo de Fin de Titulación,» [En
línea]. Disponible en:
https://www.etsit.upm.es/fileadmin/documentos/servicios/secretaria/archivos/Imp
resos/GUIA_ReflexionAspectosSocialesEconomicosyAmbientalesTFT.pdf.
[Último acceso: Agosto 2019].
[49] Y. Valery, «4 consejos para prolongar la vida de tu laptop,» BBC news, 2 Mayo
2016.
[50] J. D. d. Usera, «Hardzone,» 13 Enero 2019. [En línea]. Disponible en:
https://hardzone.es/2019/01/13/vida-util-monitor-antes-rompa/. [Último acceso: 2
Julio 2019].
[51] Agencia Tributaria, «Agencia Tributaria,» [En línea]. Disponible en:
https://www.agenciatributaria.es/AEAT.internet/Inicio/_Segmentos_/Empresas_y
_profesionales/Empresas/Impuesto_sobre_Sociedades/Periodos_impositivos_a_p
artir_de_1_1_2015/Base_imponible/Amortizacion/Tabla_de_coeficientes_de_am
ortizacion_lineal_.shtml. [Último acceso: Agosto 2019].
[52] Comisiones Obreras, «C.C.O.O,» [En línea]. Disponible en: https://www.ccoo-
servicios.es/ilunioncontactcenter/pagweb/2872.html. [Último acceso: Agosto
2019].
[53] «Tarlogic,» 2018. [En línea]. Disponible en:
https://www.tarlogic.com/servicios/ciberinteligencia/el-ciclo-de-inteligencia/.
[Último acceso: Marzo 2019].
[54] Dassault Aviation, «Dssault Aviation,» 01 Marzo 2018. [En línea]. Disponible en:
https://www.dassault-aviation.com/en/group/press/press-kits/falcon-epicure-
serve-french-air-force/. [Último acceso: Abril 2019].
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 101
[55] C. Boitz, «Personnel from the 55th Aerospace Medicine Squadron and 55th
Aircraft Maintenance Squadron report a "thumbs down," which indicates the WC-
135 Constant Phoenix aircraft is above acceptable levels of contamination and
needs be parked in an isolated location,» Eielson Air Force Base.
[56] Atos, «Atos,» [En línea]. Disponible en: https://atos.net/en/about-us/governance.
[Último acceso: Abril 2019].
[57] Python Software Foundation, [En línea]. Disponible en:
https://docs.python.org/2/library/datetime.html. [Último acceso: 17 Junio 2019].
PLANIFICACIÓN TEMPORAL
102 Escuela Técnica Superior de Ingenieros Industriales (UPM)
7. PLANIFICACIÓN TEMPORAL
En este capítulo se muestra la programación seguida en la elaboración del Trabajo de Fin
de Grado.
Como se ha mencionado en la sección de agradecimientos, la realización del proyecto se
ha basado en las labores desarrolladas en la empresa Tarlogic Security. Así, la dedicación
ha sido de 5 meses de trabajo en dicha empresa realizando 20 horas semanales, 2 días a
jornada completa y 1 día a media jornada, lo que ha supuesto un total de 400 horas. Por
otra parte, se deben incluir horas adicionales a las desarrolladas en la empresa, siendo un
cálculo aproximado de las mismas 4 horas semanales durante los 5 meses de permanencia
en la compañía, sumando un total de 480 horas.
Se dividirá en los siguientes apartados:
1. Estructura de Descomposición del Proyecto (EDP).
2. Diagrama de Gantt.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 103
7.1. ESTRUCTURA DE DESCOMPOSICIÓN DEL PROYECTO
Figura 108. EDP.
PLANIFICACIÓN TEMPORAL
104 Escuela Técnica Superior de Ingenieros Industriales (UPM)
7.2. DIAGRAMA DE GANTT
Figura 109. Diagrama de Gantt.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 105
8. PRESUPUESTO
El análisis de coste se ha dividido en 3 subgrupos: material informático, infraestructura y
mano de obra.
8.1. MATERIAL INFORMÁTICO
En cuanto al material informático, los recursos empleados para la realización del presente
proyecto son considerablemente reducidos, como se muestran en la Tabla 14.
Por otra parte, el artículo escrito en BBC news titulado “4 consejos para prolongar la vida
de tu laptop” [49] estima la vida útil de un ordenador portátil de 3 a 5 años de uso, con lo
que se tomará el caso más desfavorable de 3 años de duración. En cuanto al monitor
adicional, el artículo publicado en el sitio web de tecnología HardZone titulado “¿Cuál
es la vida útil de un monitor antes de que se rompa?” [50] estima en 5 años de uso dicha
vida útil. En cuanto al paquete office, cuenta con una duración de 1 año. Dichas
estimaciones están en línea con los coeficientes de amortización lineal establecidos en la
Agencia Tributaria Española [51]. Por otra parte, el número de horas laborables
establecidas en el convenio del sector servicios es de 1.764 horas/año [52].
Así, la Tabla 15 refleja la amortización vinculada a cada recurso empleado.
Tabla 14. Material informático imputable.
Tabla 15. Amortización de material informático.
PRESUPUESTO
106 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Tomando las horas reales de uso de cada recurso mostrado en la Tabla 15, se llega al
precio total vinculado a cada recurso, que se refleja en la Tabla 16.
8.2. INFRAESTRUCTURA
En cuanto a los costes en infraestructura, se han tenido en cuenta tres aspectos, los cuales
se han dividido en dos tablas según se trate de infraestructura física o no física.
Así, la Tabla 17 muestra la infraestructura no física imputable al proyecto, mientras que
la Tabla 18 muestra la infraestructura física imputable.
De nuevo, al igual que en el epígrafe anterior, se utiliza el valor de 1.764 como las horas
laborables anuales, resultando, para la infraestructura no física y física respectivamente,
los totales mostrados en la Tabla 19 y en la Tabla 20.
Tabla 16. Costes totales de material informático.
Tabla 17. Infraestructura no física imputable.
Tabla 18. Infraestructura física imputable.
Tabla 19. Costes totales de infraestructuras no físicas.
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 107
8.3. MANO DE OBRA
Por último, para la mano de obra se ha tenido en cuenta la dedicación de parte del equipo
de la empresa colaboradora, así como la bolsa de ayuda dedicada a la realización de las
prácticas en la misma.
Así, la Tabla 21 recoge una estimación de los salarios del personal con una dedicación
horaria imputable, así como esa bolsa de ayuda mencionada.
8.4. TOTALES
En definitiva, el coste total del presente TFG es el mostrado en la Tabla 22, que supone
la suma de los costes determinados en los 3 apartados previos. Al no tratarse de una
operación comercial, no se ha incluido el IVA.
Tabla 20. Costes totales de infraestructuras físicas.
Tabla 21. Costes totales de mano de obra.
Tabla 22. Coste total del proyecto.
ÍNDICE DE FIGURAS
108 Escuela Técnica Superior de Ingenieros Industriales (UPM)
9. ÍNDICE DE FIGURAS
Figura 1. The Digital Universe 2009-2020. Fuente: [6] ................................................ 11
Figura 2. Crecimiento anual de la esfera de datos global. Fuente: [7] ........................... 12
Figura 3. Tráfico IP global anual. Fuente: [8] ................................................................ 12
Figura 4. Ciclo de Inteligencia. Fuente: [53] .................................................................. 13
Figura 5. Dassault Epicure Falcon. Fuente: [54] ........................................................... 15
Figura 6. WC-135 en base aérea de Eielson, Alaska, tras recoger niveles de contaminación
elevados en espacio aéreo internacional. Fuente: [55] ................................................... 15
Figura 7. Definición de la entidad en Maltego. .............................................................. 22
Figura 8. Transformaciones de la entidad tipo persona. ................................................. 23
Figura 9. Transformación de To Twitter Affiliation. ...................................................... 23
Figura 10. Grafo de compañía ficticia. ........................................................................... 24
Figura 11. Opciones de visualización. ............................................................................ 25
Figura 12. Visualización con diverse decent representativos. ........................................ 26
Figura 13. Ejecución de transformación a grafo final. ................................................... 27
Figura 14. Esquema red a extraer del Objetivo. ............................................................. 31
Figura 15. Código de autenticación. ............................................................................... 32
Figura 16. Primera aproximación de extracción de seguidores. ..................................... 33
Figura 17. Primera aproximación de extracción de seguidos. ........................................ 34
Figura 18. Volcado de datos en ficheros. ....................................................................... 34
Figura 19. Segunda aproximación de extracción de seguidos. ....................................... 35
Figura 20. Código definitivo de obtención de seguidos. ................................................ 36
Figura 21. Código definitivo de obtención de seguidores. ............................................. 36
Figura 22. Limitación voluntaria cursor. ....................................................................... 37
Figura 23. Extensión para obtener red completa. ........................................................... 38
Figura 24. Volcado de datos en ficheros. ....................................................................... 39
Figura 25. Relaciones Twitter caso ficticio. ................................................................... 39
Figura 26. Codificación de listas de datos en caso ficticio. ............................................ 39
Figura 27. Extracción de datos de cuenta del Objetivo. ................................................. 41
Figura 28. Función para la extracción de tweets. ........................................................... 41
Figura 29. Creación de dataframe. ................................................................................. 41
Figura 30. Creación del grafo. ........................................................................................ 42
Figura 31. Interfaz gráfica 1. .......................................................................................... 42
Figura 32. Búsqueda de usuario no válido en Interfaz Gráfica 1. .................................. 42
Figura 33. Búsqueda de usuario válido en Interfaz Gráfica 1. ....................................... 43
Figura 34. Muestra de datos de Interfaz Gráfica 1. ........................................................ 43
Figura 35. Gráfico generado por Interfaz Gráfica 1. ...................................................... 43
Figura 36. Función para extracción de tweets y datos vinculados.................................. 44
Figura 37. Interfaz Gráfica 2. ......................................................................................... 44
Figura 38. Muestra de datos de Interfaz Gráfica 2. ........................................................ 45
Figura 39. Clase inicializadora del stream de tweets...................................................... 45
Figura 40. Configuración del streamer. ......................................................................... 46
Figura 41. Inicialización streamer. ................................................................................. 46
Figura 42. Tweets en tiempo real obtenidos tras ejecución. ........................................... 46
Figura 43. Acceso a grafo. .............................................................................................. 47
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 109
Figura 44. Función para la creación de la red de seguidores. ......................................... 48
Figura 45. Función para la creación de la red de seguidos. ............................................ 48
Figura 46. Llamada a funciones de caso ficticio. ........................................................... 49
Figura 47. Salida de la ejecución de caso ficticio........................................................... 49
Figura 48. Grafo obtenido en Neo4j caso ficticio. .......................................................... 50
Figura 49. Grafo ordenado obtenido en Neo4j caso ficticio. .......................................... 51
Figura 50. Consulta en Cypher para extracción de nodos con más relaciones. .............. 51
Figura 51. Resultado de la consulta. ............................................................................... 52
Figura 52. Interfaz web tracker WhatsApp. .................................................................... 53
Figura 53. Seguimiento de todos los Objetivos con tracker de WhatsApp. ................... 54
Figura 54. Seguimiento de Objetivos seleccionados con tracker de WhatsApp. ........... 54
Figura 55. Selección de nueva franja horaria para Objetivos seleccionados en tracker
WhatsApp. ....................................................................................................................... 55
Figura 56. Conexiones en franja horaria reducida de Objetivos seleccionados en tracker
WhatsApp. ....................................................................................................................... 55
Figura 57. Extracción de datos. ...................................................................................... 56
Figura 58. Interfaz de módulo de WhatsApp para visualización de datos. ..................... 56
Figura 59. Conversión tiempo Unix a representación horaria tradicional. ..................... 57
Figura 60. Ejecución de función de conversión temporal. ............................................. 57
Figura 61. Descomposición tiempo Unix. ...................................................................... 58
Figura 62. Extracción de inicios y finales de presencias. ............................................... 58
Figura 63. Cálculo de duraciones de conexiones o desconexiones. ............................... 59
Figura 64. Filtrado de lecturas erróneas. ........................................................................ 59
Figura 65. Introducción de número del Objetivo en interfaz gráfica. ............................ 60
Figura 66. Salida de interfaz gráfica con Objetivo dado. ............................................... 60
Figura 67. 1ª Conclusión de la visualización obtenida. .................................................. 61
Figura 68. Husos horarios. .............................................................................................. 62
Figura 69. 2ª Conclusión de la visualización obtenida. .................................................. 62
Figura 70. 3ª Conclusión de la visualización obtenida. .................................................. 62
Figura 71. Grafo Atos Maltego. Sin opción de visualización. ....................................... 69
Figura 72. Grafo Atos Maltego. Visualización diverse decent. ..................................... 70
Figura 73. Dirección Atos con transformación Maltego. ............................................... 71
Figura 74. Transformación Twitter Maltego P.A. .......................................................... 72
Figura 75. Transformación Twitter Maltego H.L. .......................................................... 72
Figura 76. Transformación Twitter Maltego H.X.T. ...................................................... 73
Figura 77. Transformación Twitter Maltego J.M.S. ....................................................... 73
Figura 78. Transformación Twitter Maltego G.A. ......................................................... 74
Figura 79. Transformación Twitter Maltego M.A. ......................................................... 74
Figura 80. Transformación Twitter Maltego N.S. .......................................................... 74
Figura 81. Salida de ejecución para la obtención de red de Twitter. .............................. 75
Figura 82. Interfaz gráfica 1 aplicada a Objetivo 1. ....................................................... 76
Figura 83. Evolución temporal de likes de Objetivo 1. .................................................. 76
Figura 84. Interfaz gráfica 2 aplicada a Objetivo 1. ....................................................... 77
Figura 85. Datos obtenidos de Objetivo 1. ..................................................................... 77
Figura 86. Interfaz Gráfica 1 aplicada a Objetivo 2. ...................................................... 78
Figura 87. Evolución temporal de likes de Objetivo 2. .................................................. 78
Figura 88. Interfaz Gráfica 2 aplicada a Objetivo 2. ...................................................... 79
ÍNDICE DE FIGURAS
110 Escuela Técnica Superior de Ingenieros Industriales (UPM)
Figura 89. Datos obtenidos de Objetivo 2. ..................................................................... 79
Figura 90. Interfaz Gráfico 1 aplicada a Objetivo 3. ...................................................... 80
Figura 91. Interfaz Gráfico 2 aplicada a Objetivo 3. ...................................................... 80
Figura 92. Datos obtenidos de Objetivo 3. ..................................................................... 81
Figura 93. Interfaz Gráfica 1 aplicada a Objetivo 4. ...................................................... 81
Figura 94. Interfaz Gráfica 2 aplicada a Objetivo 4. ...................................................... 82
Figura 95. Datos obtenidos de Objetivo 4. ..................................................................... 82
Figura 96. Cypher query para la obtención de nodos con más relaciones...................... 83
Figura 97. Nodos con mayor número de relaciones en el grafo del Objetivo 1. ............ 83
Figura 98. Cypher query para la obtención de nodos con relación con los dos Objetivos
analizados. ...................................................................................................................... 84
Figura 99. Nodos con relación con ambos Objetivos en el grafo del Objetivo 1. .......... 84
Figura 100. Cypher query para obtención de nodos relacionados con los Objetivos
iniciales. .......................................................................................................................... 84
Figura 101. Cypher query del camino más corto entre los Objetivos en grafo de Objetivo
1. ..................................................................................................................................... 84
Figura 102. Resultado de camino más corto en grafo de Objetivo 1.............................. 85
Figura 103. Cypher query para obtención de caminos adicionales entre los dos Objetivos.
........................................................................................................................................ 85
Figura 104. Nodo adicional extraído de grafo de Objetivo 1. ........................................ 86
Figura 105. Nodos con mayor número de relaciones de Objetivo 2. ............................. 86
Figura 106. Nodos con relación con ambos Objetivos en grafo de Objetivo 2. ............. 87
Figura 107. Nodo adicional extraído de grafo de Objetivo 2. ........................................ 88
Figura 108. EDP. .......................................................................................................... 103
Figura 109. Diagrama de Gantt. ................................................................................... 104
Herramientas de Ciberinteligencia Competitiva
Ángel Vergara García 111
10. ÍNDICE DE TABLAS
Tabla 1. Códigos UNESCO. ............................................................................................. 8
Tabla 2. Trafico IP global varios años. Fuente: [8] ........................................................ 12
Tabla 3. Requisito de Interfaz de Usuario 1. .................................................................. 28
Tabla 4. Requisito de Interfaz Hardware 1. ................................................................... 28
Tabla 5. Requisito de Interfaz Hardware 2. ................................................................... 28
Tabla 6. Requisito de Portabilidad 1. ............................................................................. 28
Tabla 7. Requisito de Portabilidad 2. ............................................................................. 29
Tabla 8. Requisito de Portabilidad 3. ............................................................................. 29
Tabla 9. Requisito Funcional 1. ...................................................................................... 29
Tabla 10. Representación esquemática de la codificación de listas de datos. ................ 40
Tabla 11. Ingresos Atos por áreas 2017-2018. Fuente: [43] .......................................... 65
Tabla 12. Ingresos Atos por unidades geográficas 2017-2018. Fuente: [43] ................. 65
Tabla 13. Impactos en el Ciclo de Inteligencia. ............................................................. 94
Tabla 14. Material informático imputable. ................................................................... 105
Tabla 15. Amortización de material informático. ........................................................ 105
Tabla 16. Costes totales de material informático. ........................................................ 106
Tabla 17. Infraestructura no física imputable. .............................................................. 106
Tabla 18. Infraestructura física imputable. ................................................................... 106
Tabla 19. Costes totales de infraestructuras no físicas. ................................................ 106
Tabla 20. Costes totales de infraestructuras físicas. ..................................................... 107
Tabla 21. Costes totales de mano de obra. ................................................................... 107
Tabla 22. Coste total del proyecto. ............................................................................... 107
Tabla 23. Acrónimos. ................................................................................................... 112
ACRÓNIMOS
112 Escuela Técnica Superior de Ingenieros Industriales (UPM)
11. ACRÓNIMOS
Tabla 23. Acrónimos.
Símbolo Significado
API Application Programming Interface
CAGR Compound Annual Growth Rate
CEO Chief Executive Officer
CFO Chief Financial Officer
CIA Central Intelligence Agency
CIO Chief Information Officer
COMINT Communication Intelligence
COO Chief Operating Officer
CSO Chief Security Officer
GEOINT Geospacial Intelligence
HUMINT Human Intelligence
ID Identification
IDC International Data Corporation
IMINT Image Intelligence
IT Information Technology
MASINT Measurement and Signature Intelligence
OSINT Open Source Intelligence
SIGINT Signals Intelligence
UTC Universal Time Coordinated