ANÁLISIS Y DISEÑO DE UNA HERRAMIENTA PROACTIVA DE SEGURIDAD EN REDES WAN Autor: Blanco Torrente, Francisco. Director: Javier Jarauta Sánchez y Rafael Palacios Hielscher. Entidad Colaboradora: ICAI- Universidad Pontificia Comillas y Sistemas Informáticos Abiertos, S.A. (SIA). RESUMEN DEL PROYECTO El propósito de este proyecto es estudiar, analizar y diseñar una herramienta de utilidad para las empresas/personas en el ámbito de la seguridad informática. Se trata de una herramienta que ayude antes de que el ataque se haga efectivo, es decir, que sea proactiva, para que permita una rápida detección de ataques y, así, poder minimizar los tiempos de análisis y de respuesta evitando, en la mayor medida posible, los falsos positivos. Palabras clave: Proactiva, Seguridad, Ataque, Twitter, Logs, ElasticSearch, Kibana. 1. Introducción En la actualidad, la seguridad informática se centra, principalmente, en herramientas y estrategias reactivas, que sirven para recuperarse y eliminar una amenaza o vulnerabilidad. Con este proyecto, se pretende crear una herramienta que sirva para poder prevenir amenazas y complementar la seguridad que ofrecen las herramientas reactivas. Además, se trata de una herramienta automática, la cual sólo necesitará la intervención humana a la hora de incluir los términos que se desean buscar para obtener información acerca de un tema (o temas) que puedan ser útiles para analizar, si se cree que puede haber amenazas relacionados con ellos. 2. Definición del proyecto Para abordar el proyecto, primero se estudiará y analizará qué es lo que existe hoy en día en este ámbito, con objeto de saber por dónde se puede dirigir y que su utilidad sea mayor, es decir, un estado de la cuestión, en el que se verán las diferentes estrategias que se pueden seguir (reactiva y proactiva). También se analizan las herramientas reactivas más útiles en la actualidad y cómo está evolucionando la seguridad informática. Posteriormente al estudio inicial, se ha de establecer un diseño, basándose en lo que se quiere ofrecer y conseguir para que esta herramienta pueda ser de utilidad. En ese diseño, se selecciona un conjunto de herramientas y programas que ayudarán a poder implementar las funcionalidades a realizar. La última gran etapa será la de implementación de la herramienta como tal, en la que se usarán los programas seleccionados y se programará lo necesario para poder tratar la información, y conseguir los resultados esperados de una herramienta de seguridad, es decir, si se considera que hay una posible amenaza o no. Finalmente, se procederá a una fase de continuo desarrollo, ya que se ha de tener la herramienta lo mejor actualizada y afinada posible. Se pasa a una fase de continuas pruebas para incluir o quitar reglas para el análisis de la información, en función de cómo se esté desarrollando y evolucionando el tema de los ataques y las vulnerabilidades en ese momento. 3. Desarrollo de la herramienta El desarrollo de la herramienta como tal se dividirá en módulos. Habrá un primer módulo llamado “Sondas”, un segundo llamado “Registro de evidencias” y un tercer “Módulo de análisis”. A continuación se comenta brevemente cada uno, teniendo en cuenta que se explican con mayor detalle en la memoria. Sondas: aquí se encuentran los programas que recopilarán y tratarán la información. Se utilizan los programas ElasticSearch y Kibana. El primero es un buscador en tiempo real, y el segundo una interfaz gráfica para ese buscador que permite tratar grandes volúmenes de datos, filtrarlos y realizar gráficos. Registro de evidencias: este módulo se compone del fichero con la información recopilada de ElasticSearch, así como información proveniente de logs de la empresa SIA. Todos estos datos, serán analizados y tratados en el siguiente módulo, para obtener información útil de ellos. Además, se dispondrá de un fichero con palabras clave de seguridad, además de uno con software y hardware de la empresa, para buscar información acerca de ellos en relación a vulnerabilidades. Módulo de análisis: aquí se programarán unas reglas para analizar la información de ElasticSearch y la de los logs, para poder tener una primera idea de si se han encontrado posibles amenazas o no. A continuación, se muestra la Ilustración 1, en la que se puede ver un esquema de cómo es la herramienta: Ilustración 1: Esquema resumen del funcionamiento 4. Resultados Los resultados se obtendrán una vez recopilada la información, y analizada con unas reglas programadas. Esas reglas se basan en agrupar la información por horas, y analizar tanto el número de veces que aparecen ciertas palabras cada hora, o de ver cuántas direcciones IP aparecen cada hora, así como contar el número de tweets de cada intervalo, para ver si se puede obtener información útil. Dicha información, será recopilada en ficheros de texto (uno por cada día), y tendrá el formato: "hora" "cantidad", es decir, la primera columna será las horas, y la segunda la cantidad de direcciones, palabras, número de tweets... Finalmente, esos ficheros serán dibujados en gráficos para analizarlo de forma más sencilla. A continuación se adjunta un ejemplo de la Ilustración 2, referente a la información de un día específico (26/06/2014) y la cantidad de direcciones IP por hora: Ilustración 2: Cantidad de direcciones IP por hora el día 26 (Nota: el eje X muestra la hora más uno) Se puede ver cómo, para ciertas horas, el volumen de direcciones IP aumenta de forma considerable, por lo que puede ser un indicio de que algo puede estar pasando, y se generará una alerta de forma automática por superarse el umbral. ANALYSIS AND DESIGN OF A PROACTIVE SECURITY TOOL IN WAN NETWORKS Author: Blanco Torrente, Francisco. Supervisor: Javier Jarauta Sánchez and Rafael Palacios Hielscher. Collaborating Entity: ICAI – Universidad Pontificia Comillas and Sistemas Informáticos Abiertos, S.A. (hereafter, SIA) ABSTRACT The aim of this project is to study, analyze and design a helpful tool for companies/individuals in the field of security. It will be a tool useful to help before the attack being effective, that is, a proactive tool, to allow early detection of attacks and minimize the time of analysis and response, and to avoid as much as possible, the false positives. Keywords: Proactive, Security, Attack, Twitter, Logs, ElasticSearch, Kibana. 1. Introduction Today, computer security focuses primarily on tools and strategies which are reactive, what means they are useful to recover or eliminate a threat or vulnerability. The aim of this project is to create a tool that is good to prevent security threats and complement the security that reactive tools offer, and the most important, it will be an automatic tool, which only needs human intervention at the moment of inserting the terms that you want to search for information about a topic (or topics) that may be useful to analyze, if you believe that there may be threats associated with them. 2. Proyect definition To address the project, the first thing is to study and analyze what exists nowadays in this area, so you know what you can do to create a tool with a high utility, that is, a state of the art, in which you will see the different strategies that can be followed (reactive and proactive), the most useful reactive tools today and how computer security is evolving, which is important to see the continued development, so every day you have to take more into account the issue of security. After initial study, it is the time to think of a design, based on what you want to offer to make this tool serviceable. In this design, a set of tools and programs that help to implement the functionalities designed is selected. The last major step will be the implementation of the tool, wherein the selected programs will be used and program what will be needed to treat information that you have, and then, get the expected results of a security tool, that is, consider whether there is a potential threat or not. Finally, we will proceed to a stage of continuous development, because you must have the tool well updated and refined as possible, that is, a phase of continuous testing to include or remove rules for the analysis of information, depending on how are threads and vulnerabilities at that time evolving. 3. Tool description The development of the tool is divided into modules. There will be a first module called Probes, a second one called "Evidence record" and a third named "Analysis module". Below each will be commented briefly, considering that it will be explained in greater detail in the statement. Probes: here you can find programs that collect and process the information. Those programs are ElasticSearch and Kibana. The first is a real-time search engine, and the second one a graphical interface for the first one, which allows to treat large volumes of data, filter and make graphics with them. Evidence record: this module consists of the file with the information gathered from EasticSearch and logs information from the company SIA. All these data will be analyzed and processed in the following module to obtain useful information from them. In addition, there will be files with security keywords as well as another with hardware and software of the company to find information about them related to vulnerabilities. Analysis Module: here, rules are programmed to analyze the information from ElasticSearch, and the logs from SIA in order to have a first idea of whether potential threats are found or not.. Here, Ilustración 3 is shown, and it shows an outline of the tool: Ilustración 3: Schematic overview of the operation 4. Results The results will be obtained once the information is collected, and analyzed with some programmed rules. These rules are based on dividing the information gathered for hours, and see how many times a certain word appears each hour, or see how many IP addresses appeared, and count the number of tweets published during each interval to see if you can get some useful information. Such information will be collected in text files (one per day), and will have the format: "time", "quantity", that is, the first column will be the hours and the second the number of addresses, words, number of tweets... Finally, these files will be drawn on graphics to be viewed more easily. An example is the Ilustración 4, which information concerning the day 26th and the number of IP addresses per hour is showed: Ilustración 4: Hourly amount of IP addresses at day 26 (NOTE: the X axis shows the time plus one) You can see how, for some hours, the volume of IP addresses increases considerably, so it may be an indication that something is happening, and an alert will be automatically generated because of exceeded the threshold.