scieee Open visual document viewer

Implementación en un dispositivo hardware de un sistema de detección de intrusos basado en red

Lagartera Peña, Rodrigo; Acosta Rodríguez, Álvaro

Abstract

La seguridad informática es un tema importante, que tiene como objetivo proteger la información, de forma que los datos puedan ser accedidos solo por personas autorizadas. La protección se consigue mediante el uso de uno o varios sistemas que previenen, detectan y/o actúan contra diversos tipos de amenazas. La seguridad informática abarca la protección de los sistemas contra intrusiones, la seguridad de las comunicaciones y el diseño de aplicaciones y dispositivos libres de vulnerabilidades que puedan ser aprovechadas para entrar en el sistema. Existen distintos sistemas que previenen o alertan de posibles ataques contra la red interna de una organización o empresa. Uno de estos sistemas son los IDS (Intruders Detection System) que se situarían en una segunda línea de defensa de una red. Estos sistemas no pueden impedir un ataque, si no que su función es detectar el ataque lo más pronto posible para minimizar los posibles daños producidos. En este trabajo se propone la implementación de un Sistema de Detección de Intrusos (IDS) en un dispositivo hardware conectado entre una red interna (perteneciente a una organización) y el exterior (internet). Este sistema funciona de forma pasiva, es decir, alerta de los ataques una vez producidos en base a un conjunto de reglas predefinidas, no es capaz de detectar ataques si no existe una regla que lo identifique ni tampoco puede evitar que estos se produzcan.

Full text

IMPLEMENTACIÓN EN UN DISPOSITIVO HARDWARE DE UN SISTEMA DE DETECCIÓN DE INTRUSOS BASADO EN RED Memo ia de T abajo de Fin de G ado Rod igo Laga e a Peña Ál a o Acos a Rod íguez Di igido po : Ma ía Inmaculada Pa dines Lence y Ma cos Sánchez-Élez Ma ín. G ado en Ingenie ía In o má ica Facul ad de In o má ica Uni e sidad Complu ense de Mad id 2019 i IMPLEMENTACIÓN EN UN DISPOSITIVO HARDWARE DE UN SISTEMA DE DETECCIÓN DE INTRUSOS BASADO EN RED Memo ia de T abajo de Fin de G ado Rod igo Laga e a Peña Ál a o Acos a Rod íguez Di igido po : Ma ía Inmaculada Pa dines Lence y Ma cos Sánchez-Élez Ma ín. G ado en Ingenie ía In o má ica Facul ad de In o má ica Uni e sidad Complu ense de Mad id 2019 ii “La descon ianza es la mad e de la segu idad” - A is ó anes iii Ag adecimien os En p ime luga , que emos ag adece a los di ec o es de es e T abajo de Fin de G ado, Inmaculada Pa dines Lence y Ma cos Sánchez-Élez Ma ín, la paciencia y dedicación apo ada pa a saca es e abajo adelan e. No podemos ol ida nos ampoco de odos nues os amilia es, cuyo apoyo cons an e y iempo nos ha dado la con ianza pa a pode hace lo que siemp e quisimos hace . G acias po odo ues o apoyo. También que emos da las g acias a odos los compañe os y compañe as que han compa ido clase y ho as de abajo y es udio con noso os. Todo ues o apoyo, ues a capacidad de ayuda nos en los malos momen os y ues os consejos han sido muy impo an es. G acias. Po úl imo, que emos ag adece a odos esos amigos y amigas que siemp e nos han dado su apoyo, sus ases de: “Tú puedes hace lo” o “Sé que ú e es capaz” han sido más impo an es de lo que pueda pa ece . G acias. i Resumen La segu idad in o má ica es un ema impo an e, que iene como obje i o p o ege la in o mación, de o ma que los da os puedan se accedidos solo po pe sonas au o izadas. La p o ección se consigue median e el uso de uno o a ios sis emas que p e ienen, de ec an y/o ac úan con a di e sos ipos de amenazas. La segu idad in o má ica aba ca la p o ección de los sis emas con a in usiones, la segu idad de las comunicaciones y el diseño de aplicaciones y disposi i os lib es de ulne abilidades que puedan se ap o echadas pa a en a en el sis ema. Exis en dis in os sis emas que p e ienen o ale an de posibles a aques con a la ed in e na de una o ganización o emp esa. Uno de es os sis emas son los IDS (In ude s De ec ion Sys em) que se si ua ían en una segunda línea de de ensa de una ed. Es os sis emas no pueden impedi un a aque, si no que su unción es de ec a el a aque lo más p on o posible pa a minimiza los posibles daños p oducidos. En es e abajo se p opone la implemen ación de un Sis ema de De ección de In usos (IDS) en un disposi i o ha dwa e conec ado en e una ed in e na (pe enecien e a una o ganización) y el ex e io (in e ne ). Es e sis ema unciona de o ma pasi a, es deci , ale a de los a aques una ez p oducidos en base a un conjun o de eglas p ede inidas, no es capaz de de ec a a aques si no exis e una egla que lo iden i ique ni ampoco puede e i a que es os se p oduzcan. Palab as cla e: Ha dwa e, IDS, ale a, egla, p o ocolo, paque e, da ag ama, disposi i o, máquina i ual. i ii Abs ac Compu e secu i y is an impo an issue, ha has he goal o p o ec he in o ma ion, so ha da a only can be accessed by au ho ized s a . P o ec ion is gi en by one o some sys ems ha p e en , de ec o ac agains di e en ypes o h ea s. Compu e secu i y co e s sys em p o ec ion agains in usions, communica ion secu i y and he design o applica ions and de ices ee o ulne abili ies ha can be exploi ed o en e in he sys em. The e a e di e en ypes o sys ems ha p e en o ale abou possible a acks agains a company o en e p ise in e nal ne wo k. One o hese sys ems a e IDS (In ude s De ec ion Sys em) ha a e in he second de ense line. These sys ems canno a oid an a ack; howe e , hei unc ion is o de ec he a ack as soon as possible o minimize he damage p oduced. This p ojec p oposes he implemen a ion o an In ude s De ec ion Sys em (IDS) in a ha dwa e de ice connec ed be ween an in e nal ne wo k (belonging o an o ganiza ion) and he ou side (in e ne ). This sys em wo ks in a passi e way, ha is, i ale s o he a acks once p oduced on he basis o a se o p ede ined ules. I is no capable o de ec ing a acks i he e is no ule ha iden i ies i , no can i p e en hem om happening. Keywo ds: Ha dwa e, IDS, ale , ule, p o ocol, package, da ag am, de ice, i ual machine. 2 analizando odo el á ico que en a o sale, mien as que los IDS se si úan a con inuación, den o de la ed in e na. En caso de que un in uso consiga bu la el co a uegos, se á misión del IDS de ec a lo. Lo que se p opone en es e T abajo de Fin de G ado es la implemen ación en un disposi i o ha dwa e de un Sis ema de De ección de In usos basado en ed (NIDS). El sis ema diseñado cap u a y analiza paque es de ed con la inalidad de de ec a si la ed es á siendo a acada, y en caso a i ma i o, se gene a án y en ia án ale as a isando de la si uación. Nues o sis ema IDS ha dwa e es a á conec ado a la ed in e na a a és de un conmu ado , igual que a los equipos que es á p o egiendo, de o ma que odo paque e que en a po un pue o del conmu ado es edi igido al pue o del IDS pa a que pueda se analizado. El mo i o po el que se implemen a en un disposi i o ha dwa e es que es e ipo de disposi i os ienen un sis ema ope a i o educido y no ienen ins aladas o o ipo de aplicaciones, lo que implica que es menos suscep ible de ene ulne abilidades que puedan se explo adas po un a acan e. Además, es más e icien e que un IDS so wa e co igiendo sob e un se ido , ya que libe amos a es e de la ca ga de abajo que supone el análisis del á ico de la ed. 1.3. Obje i os del abajo Pa a pode lle a a cabo la cap u a y el análisis de paque es en una ed, en p ime luga , ue necesa io es udia y comp ende el uncionamien o de aplicaciones que ealizan un abajo simila , como Sno o Su ica a. Es a a ea incluyó el es udio de las eglas de Sno , cuya sin axis si e an o pa a Sno como pa a Su ica a y ambién pa a nues o IDS. Es as eglas con ienen i mas de a aques, es deci , con ienen unos a ibu os que iden i ican el con enido que apa ece en cie os campos de un paque e cuando se p oduce un de e minado a aque. Pos e io men e, se ealiza on simulaciones de cap u a de paque es pa a pode analiza su con enido. Los paque es se descomponen en campos y se o ganizan según el p o ocolo usado. Una ez descompues os los paque es y o ganizados po campos, se diseñó un p og ama de análisis de paque es. Pa a ello, p ime o, ue necesa io incula cada uno de los campos de un paque e con un a ibu o de egla. Después, compa a los campos de los paque es cap u ados con los co espondien es a ibu os de las eglas en busca de una posible coincidencia y, po úl imo, gene a una ale a. Po úl imo, se ins aló el IDS en el disposi i o ha dwa e y se ealiza on p uebas y simulaciones de a aques pa a comp oba su co ec o uncionamien o. 1.4. Plan de abajo Pa a alcanza es os obje i os, se han lle ado a cabo las siguien es a eas: 1. Simulación de a aques y lujo de paque es u ilizando máquinas i uales. 2. Es udio y clasi icación de los dis in os ipos de p o ocolos jun o con los campos empleados. 3. Ap endizaje de Py hon como lenguaje pa a el p ocesamien o de paque es. 3 4. Desa ollo de una p ime a e sión del p og ama que cap u aba paque es, los descomponía y clasi icaba según sus campos y según el ipo de p o ocolo. 5. Es udio y comp ensión de las eglas Sno . 6. C eación de eglas p opias basadas en la sin axis de las eglas Sno . 7. Desa ollo del p og ama de análisis de paque es, capaz de lee eglas, compa a las p emisas de es as con el con enido del paque e y gene a ale as cuando se p oduce una coincidencia. 8. E aluación de los esul ados ob enidos en una simulación a a és de máquinas i uales. 9. Ins alación de los p og amas diseñados en el disposi i o ha dwa e y e aluación de los esul ados ob enidos en dicho disposi i o. El plan de abajo es o ien a i o y desc ibe los pasos que se han lle ado a cabo pa a la ealización de es e p oyec o. Du an e el desa ollo del mismo, ha sido necesa io p o undiza en los aspec os eó icos de los p o ocolos y en el desa ollo del código del p og ama pa a analiza los paque es. La Figu a 1 mues a el po cen aje de iempo empleado en cada a ea espec o al iempo o al empleado, cada a ea es á di idida en el po cen aje que ha empleado en ella cada componen e del p oyec o. Figu a 1. Po cen aje del iempo empleado en cada a ea. 1.5. O ganización de la memo ia Los capí ulos en los que hemos o ganizado la memo ia se co esponden con las dis in as e apas po las que ha ido pasando nues o abajo. En cada uno de ellos se desc iben de alladamen e cada una de las a eas que hemos ealizado. Las secciones de cada capí ulo explican en de alle los p ocedimien os u ilizados pa a desa olla cada e apa. A con inuación, se p esen a b e emen e el con enido de es os capí ulos: 0 5 10 15 20 25 30 Redacción de la memo ia P uebas en en o no ísico P uebas en en o no i ual Análisis de paque es Cap u a de paque es C eación de eglas p opias P uebas con Sno Gene ación de a aques y á ico Po cen aje del iempo de ealización del p oyec o empleado Ta eas ealizadas Rod igo Ál a o 4 • En el Capí ulo 2 se explica cuál es el uncionamien o de un sis ema de de ección de in usos, los dis in os ipos de disposi i os IDS que hay y ejemplos de o os sis emas simila es en los que se ha basado nues o T abajo de Fin de G ado. • En el Capí ulo 3 se desc iben los p o ocolos de ed, se explican sus ca ac e ís icas y cuáles son los campos en los que se di ide cada paque e. También se hace e e encia al a amien o de es a in o mación pa a pode usa la en es e abajo. • En el Capí ulo 4 se enume an los p ocedimien os y las he amien as que se han u ilizado pa a el desa ollo e implemen ación de los p og amas que se han desa ollado en es e abajo. • En el Capí ulo 5 se desc iben las p uebas ealizadas y se e alúan los esul ados de la implemen ación de nues o disposi i o IDS. • Po úl imo, en el Capí ulo 6, se apo an las p incipales conclusiones de es e abajo y se p opone una se ie de a eas como posible abajo u u o. • La no ma i a del T abajo Fin de G ado de la Facul ad de In o má ica de la Uni e sidad Complu ense de Mad id obliga además a que se ealice una aducción al inglés del capí ulo de in oducción y del capí ulo de conclusiones, dichas aducciones se p esen an en o ma de Apéndice. 5 Capí ulo 2 Sis ema de De ección de In usos 2.1. De inición de IDS Un Sis ema de De ección de In usos [2] (IDS po sus siglas en inglés) es el p oceso de de ección de un uso no au o izado de, o a aque sob e, un o denado , una ed o una in aes uc u a de elecomunicaciones. La in ención básica de un IDS es de ec a cualquie e en o sospechoso que ocu a en una ed, en iando una ale a y mos ándola como mensaje en una pan alla, median e el en ío de un e-mail, o median e la econ igu ación de la con igu ación del Fi ewall. No es necesa io que sea una in usión pa a ale a , cualquie ipo de compo amien o conside ado ue a de lo no mal pod ía se de ec ado. Todos los IDS ienen es componen es comunes: senso es, analizado es e in e aces de adminis ado . Los senso es colec an á ico y los da os de ac i idad del usua io y lo en ían al analizado , que busca ac i idades sospechosas. Si el analizado de ec a una ac i idad que es á p og amada de una mane a conside ada sospechosa, és e en ía una ale a al adminis ado de la in e az. Los IDS se pueden di idi en dos ipos: basados en ed, que moni o izan comunicaciones de ed, y basados en hos , que canalizan la ac i idad de un sis ema en pa icula . Los IDS pueden se con igu ados pa a busca a aques, analiza egis os de audi o ías, e mina una conexión, ale a a los adminis ado es de que un a aque es á ocu iendo, expone écnicas hacke , ilus a qué ulne abilidades deben se di igidas, y as ea posibles hacke s indi iduales. 2.1.1. IDS basado en ed Un IDS basado en ed [2] (NIDS po sus siglas en inglés) usa senso es, los cuales es án dis ibuidos po odos los hos s de la ed. Cada uno de ellos posee su a je a de in e az de ed (NIC) en modo p omiscuo, lo que pe mi e que cada NIC igila el á ico que iene la di ección de ed de su hos , su b oadcas e incluso su mul icas . Los NIC cap u an odo el á ico en modo p omiscuo, hacen una copia de odos los paque es, y pasan una copia al TCP sack y o a al analizado pa a busca ipos especí icos de pa ones. 2.1.2. IDS basado en hos Un IDS basado en hos [2] (HIDS) puede es a ins alado en pues os indi iduales y/o se ido es pa a busca ac i idades anómalas o inap opiadas. Los HIDS comp enden y moni o ean el á ico de ed de un disposi i o, po lo que son usados pa a e i a que los usua ios eliminen a chi os del sis ema, econ igu en ajus es impo an es o pongan el sis ema en iesgo de alguna o a mane a. 6 2.1.3. IDS basado en i mas Se a an de IDS [2] que acumulan a aques especí icos y cómo son lle ados a cabo. Los modelos sob e cómo son lle ados a cabo son desa ollados y llamados “ i mas”. Cada a aque iden i icado iene una i ma, que es usada pa a de ec a un a aque en p oceso o de e mina si ha ocu ido alguno en la ed. Sin emba go, cualquie acción no econocida como a aque, es conside ada acep able. 2.1.4. IDS basado en anomalías Es e ipo de IDS [2] es un sis ema basado en el compo amien o en el á ico de ed o en la ac i idad de los usua ios. Es e ipo de sis ema no usa i mas p ede inidas, si no que u iliza un modo de ap endizaje pa a cons ui un pe il del en o no de ac i idades comunes. Es o pe mi e que, si se de ec a una anomalía en alguna ac i idad del en o no, se en ía una ale a. 2.2. Reglas El uncionamien o de los NIDS basados en i mas consis e en cap u a el á ico de la ed y comp oba si los a ibu os de los paque es cap u ados coinciden con la i ma de algún a aque, en es e caso, se á necesa io gene a una ale a. Las i mas es án de inidas en eglas y consis en en cie os pa ones que apa ecen en dis in os campos del paque e cuando hay un a aque. Exis en conjun os de eglas que se pueden desca ga de la ed o bien el adminis ado de la ed puede de ini sus p opias eglas. Es con enien e que el pe sonal de segu idad e ise y comple e las eglas o ecidas, cen ándose en las ulne abilidades del sis ema. Algunas de las eglas que se han u ilizado pa a la ealización de es e abajo son eglas incluidas en el IDS Sno pa a p o ocolos como IP, ICMP, UDP y TCP, o as han sido diseñadas po noso os usando pa ones de a aques y es eo conocidos, como de ección de a aques Ping Flood, de ección de escaneo de pue os y TCP DoS, en e o os. 2.3. Ale as La uncionalidad de un IDS no es de ene un a aque, si no in o ma de su de ección cuando se cumplen las p emisas de una i ma p ede inida. Cuando, en el análisis de paque es, un paque e cap u ado iene a ibu os que coinciden con es as p emisas, se emi e una ale a. Las ale as in o man de que se ha de ec ado un posible a aque y apo an de alles del mismo. Las ale as emi idas en es e abajo apa ecen en la consola de ejecución del p og ama cuando se de ec an coincidencias. El mensaje que apa ece apo a in o mación ace ca del posible a aque, pe o no apo a de alles como di ecciones IP, MAC, pue os, iempo de ida o amaño del paque e. 7 2.4. Ejemplos de NIDS El sis ema de de ección de in usos implemen ado en es e abajo, con las eglas u ilizadas y los p og amas de cap u a y análisis de paque es es á inspi ado en el uncionamien o de los IDS Sno [3] y Su ica a [4]. 2.4.1. Sno Sno es un NIDS open sou ce que cuen a con un lenguaje de c eación de eglas en el que se pueden de ini los pa ones que se u iliza án a la ho a de moni o iza un sis ema. Además, o ece una se ie de eglas y il os p ede inidos que se pueden ajus a . Sno puede unciona como sni e , egis o de paque es o como un NIDS. Cuando un paque e coincide con algún pa ón de las eglas de con igu ación, se logea pa a egis a el luga y el momen o en el que se p odujo el a aque. La a qui ec u a en la que es á basado Sno [5] consis e en un sis ema compues o po un sni e , p ep ocesado es, el mo o de de ección y la salida. El sni e colec a el á ico e iden i ica cada es uc u a de paque e. T as pasa po el sni e , los paque es son en iados al p ep ocesado , que de e mina qué ipo de paque es o compo amien o se es á a ando, pa a ello, posee p o ocolos de inidos que ayudan a clasi ica la in o mación. Pos e io men e, es a in o mación pasa el mo o de de ección, que compa a cada paque e con cada egla p ede inida, y, si exis e coincidencia con el con enido de es a, son en iadas a la salida. En la salida, se egis an y/o en ían ale as basadas en las acciones de las eglas. En la Figu a 2 [6], se puede obse a es a a qui ec u a: Figu a 2. A qui ec u a de Sno . 2.4.2. Su ica a Su ica a es un IDS open sou ce ápido y obus o. Puede unciona como IPS, moni o de segu idad de una ed (NSM) y p ocesado o line de paque es cap u ados. Su ica a inspecciona el á ico de ed usando ex ensas eglas y un lenguaje de i ma, jun o con un po en e sc ip de ec o de amenazas. 8 Una de las ca ac e ís icas más impo an es de Su ica a [7] es que pe mi e la ejecución de a ios p ocesos o subp ocesos de o ma simul ánea, siendo posible p ocesa una g an can idad de paque es de o ma simul ánea, aumen ando así el endimien o. Es e IDS u iliza, ambién, eglas que son independien es del pue o que use un p o ocolo, ya que és e es au omá icamen e de ec ado, po esa azón las eglasSno son compa ibles con Su ica a. 9 Capí ulo 3 P o ocolos Pa a la ealización de es e abajo se han usado dis in os p o ocolos comunes en paque es de ed. Es os p o ocolos juegan un papel muy impo an e en el á ico de ed, así como en los sis emas de segu idad, po lo que la mayo ía de los a aques explo an ulne abilidades exis en es en los p o ocolos, pa a ello u ilizan los campos de los p o ocolos más comunes, y es necesa io analiza es os campos. Una g an pa e del á ico en in e ne es á ico TCP/IP, que pe enece al modelo OSI [8], y es uno de los p o ocolos más usados. OSI es un modelo o mado po 7 capas cuya inalidad es acili a la comunicación en e sis emas. En cada capa, el paque e se encapsula con un de e minado p o ocolo, de modo que el nue o paque e end á una cabece a, p opia del p o ocolo, y un campo da os, que se co esponde con el paque e que le pasa la capa de a iba. En la igu a 3 [9] explica i o de los p o ocolos empleados en TCP/IP y el modelo OSI: Figu a 3. Modelo OSI y TCP/IP. Es os p o ocolos de ed ienen ulne abilidades que pueden se explo adas po un a acan e. Los a aques que se basan en explo a las debilidades de un de e minado p o ocolo ienen unas ca ac e ís icas comunes, que se aducen po la u ilización de de e minados alo es en campos conc e os del paque e. Cada paque e con iene a ios p o ocolos encapsulados, es o es debido a que, en el modelo OSI, cada capa añade la cabece a al campo da os y lo pasa a la capa de abajo, que añade a la ez cabece a y lo pasa a la de abajo. 3.1. De inición de p o ocolo y a qui ec u a TCP/IP Un p o ocolo [10] de ed es un g upo es ánda de eglas que de e mina como se comunican los sis emas median e edes. Dos sis emas pueden usa el mismo p o ocolo pa a comunica se y en ende se en e ellos a pesa de las di e encias. Un p o ocolo de ine qué in o mación es comunicada, cómo y cuándo es comunicada. 10 El p o ocolo TCP/IP [11] es un p o ocolo je á quico, del modelo OSI, o mado de módulos in e ac i os, los cuales p opo cionan una uncionalidad especí ica. Sin emba go, es os módulos no son necesa iamen e independien es. Mien as que el modelo OSI especi ica qué unciones pe enecen a cada una de sus capas, las capas del p o ocolo TCP/IP con ienen p o ocolos ela i amen e independien es que pueden se mezclados y empa ejados dependiendo de las necesidades del sis ema. En la capa de ed TCP/IP, el p incipal p o ocolo de inido es el IP y en la capa de anspo e se de inen p o ocolos como el UDP y el TCP. En es e p oyec o se a an ambos p o ocolos. 3.2. P o ocolo IP El p o ocolo IP [12] es pa e de la capa de In e ne del conjun o de p o ocolos TCP/IP. Es un p o ocolo de con ianza y no o ien ado a conexión, cuyo obje i o es ealiza las en egas con la mayo e ec i idad posible, pe o sin ga an ías. Es e p o ocolo u iliza di ecciones numé icas denominadas di ecciones IP 4 compues as po cua o núme os en e os (4 by es) en e 0 y 255, y esc i os en el o ma o xxx.xxx.xxx.xxx. En IP 6, el p o ocolo de In e ne ue modi icado ex ensamen e pa a acomoda el c ecimien o imp e is o de In e ne . El o ma o y la longi ud de la di ección IP ue on cambiados jun o con el o ma o del paque e. El o ganismo a ca go de asigna di ecciones públicas de IP, es deci , di ecciones IP pa a los equipos conec ados di ec amen e a la ed pública de In e ne , es el ICANN. El p o ocolo IP p opo ciona un se icio básico de en ega de paque es sob e el que se cons uyen las edes TCP/IP, no es un p o ocolo o ien ado a conexión, ampoco ealiza de ección ni ecupe ación de paque es pe dido o e óneos. Es e p o ocolo no ga an iza que los paque es lleguen en o den ni la de ección de paque es duplicados. Se de e mina el des ina a io del mensaje median e la di ección IP del equipo, la másca a de sub ed y la pasa ela de e minada, que pe mi e al p o ocolo sabe a qué equipo en ia un da ag ama, si el equipo de des ino no se encuen a en la ed de á ea local. Las unciones básicas que p esen a el p o ocolo IP son, el di eccionamien o, la agmen ación y eensamblaje de paque es, es deci , di isión del paque e en agmen os de un amaño acep able po la ed pa a luego ol e a jun a lo, encaminamien o de da ag amas, encaminado de paque es a endiendo a in o mación de ablas de u as y po úl imo la cons ucción de ablas de u as median e dos mecanismos, manual, llamado ou ing es á ico, o ambién po ou ing dinámico, po medio de RIP, OSPF, BGP. 3.2.1. Fo ma o del da ag ama IP 4 A con inuación, la igu a 4 mues a el o ma o del da ag ama IP 4 [13]: 11 Figu a 4. Da ag ama IP. ▪ Ve sión: Los p o ocolos e olucionan y cambian con el iempo. Po es o, es con enien e sabe con qué e sión se ha gene ado un da ag ama. ▪ Longi ud: Es la longi ud de la cabece a medida en palab as de 32 bi s. Pues o que es e campo iene 4 bi s la longi ud máxima de la cabece a es de 64 oc e os. ▪ Se icio: Lo ellena quien en ía el da ag ama. Su u ilidad ac ual es muy escasa, pe o i á aumen ando en la medida en que se empleen di e en es ipos de á ico. Su o ma o es: • PRIO: Se u iliza en casos de conges ión. • D: Da p io idad al e a do. • T: Da p io idad al h oughpu . • R: Da p io idad a la iabilidad. • C: Da p io idad al cos e. ▪ Longi ud o al: Longi ud del da ag ama (cabece a + da os) en by es. ▪ Longi ud máxima del da ag ama: 64 Kby es. ▪ Iden i icado : Núme o de 16 bi s que iden i ica al da ag ama. ▪ Flags: • MF (Mo e F agmen s): si es  a 1 indica que no es el úl imo agmen o. • DF (Don’ F agmen ): si es 1 p ohíbe la agmen ación. ▪ Desplazamien o del agmen o: Núme o secuencia del agmen o (8 by es) ▪ Tiempo de ida (TTL, Time To Li e): Núme o de encaminado es que puede a a esa el paque e. Cuando TTL = 0 el paque e debe se desca ado. ▪ P o ocolo P o ocolo de la capa supe io al que deben en ega se los da os: • 1: In e ne Con ol Message P o ocol (ICMP) 18 El P o ocolo de esolución de di ecciones u iliza un o ma o simple de mensaje que con iene una solici ud de esolución de di ección o una espues a ARP. ▪ Tipo de ha dwa e (HTYPE): Es e campo especi ica el ipo de p o ocolo de ed. ▪ Tipo de p o ocolo (PTYPE): Es e campo especi ica el p o ocolo de in e conexión de las edes pa a las que se des ina la pe ición ARP. (IP 4 o IP 6) ▪ Longi ud Ha dwa e (HLEN): Longi ud (en oc e os) de una di ección ha dwa e. El amaño de las di ecciones E he ne es 6 by es. ▪ Longi ud del P o ocolo (PLEN): Longi ud (en oc e os) de las di ecciones u ilizadas en el p o ocolo de capa supe io . (El p o ocolo de capa supe io especi icado en PTYPE.) ▪ Ope ación Especi ica (la ope ación que el emiso es á ealizando): 1 pa a la pe ición, 2 pa a la espues a. ▪ Di ección de ha dwa e del emi en e (SHA): Di ección ísica de la máquina emiso a. ▪ Remi en e di ección de p o ocolo (SPA): Di ección IP de la máquina. ▪ Di ección de ha dwa e de des ino (THA): Di ección MAC de la máquina ecep o a. Es e campo es á a ce o en las solici udes, ya que co esponde a la in o mación buscada. ▪ Ta ge di ección de p o ocolo (TPA): Di ección IP de la máquina ecep o a. 3.5.2. Vulne abilidades del p o ocolo ARP ARP [24] es un p o ocolo que no p opo ciona in eg idad ni au en icidad de o igen, po an o, se pueden en ia mensajes alsos pa a inse a en adas maliciosas en la cache ARP, dando luga a a aques como ARP spoo ing o ARP cache poisoning. 3.5.3. Posibles a aques Teniendo en cuen a las ulne abilidades de dicho p o ocolo los posibles a aques [18] a los que es á expues o pod ían se : ▪ En enenamien o de cache, po medio de mensajes ARP alsos en iados po el a acan e en una LAN. ▪ Man in he Middle, el cual iene que e con un a aque ARP Spoo ing, en es e ipo de a aques, se en ían paque es ARP alsos, con el in de in il a se en la comunicación en e dos sis emas con el obje i o de espia o manipula el á ico de da os, median e la asociación de la di ección MAC del a acan e con la di ección IP de la íc ima. ▪ Denegación de se icio (DoS), llegando a impedi el no mal uncionamien o de la ed, median e la asociación de la di ección IP íc ima a una di ección MAC inexis en e. Como medidas de p e ención an e posibles a aques pod ían se , ablas ARP es á icas, segu idad MAC, escucha DHCP o incluso un IDS. 19 3.6. P o ocolo ICMP El p o ocolo ICMP [25], In e ne Con ol Messaging P o ocol (P o ocolo de Mensajes de Con ol de In e ne ), es un p o ocolo de la capa de ed que si e pa a in o ma de sucesos que han ocu ido en la ed. Pe mi e a los nodos in e medios en ia mensajes de con ol a los equipos que en ia on la in o mación. 3.6.1. Funciones básicas del p o ocolo ICMP Solo in o ma de e o es a la máquina o igen del da ag ama, ya que es la única uen e iable conocida, pues el des ino puede exis i o es a apagado en cie os momen os; de es e modo se e i a sob eca ga las edes con á ico innecesa io. El p o ocolo ICMP sólo in o ma, no co ige e o es. Los mensajes ICMP que se pueden en ia pueden se : ▪ Con i mación de hos (Echo Reques / Echo Response) Los mensajes de eco de ICMP se pueden u iliza pa a de e mina si un nodo es á uncionando. El equipo local en ía una pe ición de eco (Echo Reques ) de ICMP a un nodo. El nodo que ecibe el mensaje de eco esponde median e la espues a de eco (Echo Response) de ICMP. Es os mensajes de eco son la base del uncionamien o de los comandos ping y ace ou e. ▪ Des ino inalcanzable (Des ina ion Un eachable): Se puede usa el mensaje de des ino inalcanzable de ICMP pa a no i ica a un equipo que el des ino o se icio es inalcanzable. Cuando un equipo ecibe un paque e que no puede encamina , puede en ia un mensaje ICMP de des ino inalcanzable al equipo que o igina el paque e. Es e mensaje de des ino inalcanzable end á asociado un código que indica el mo i o po el cual el paque e no pudo se en egado. En e los códigos de des ino inalcanzable se encuen an: • 0 -> ed inalcanzable. • 1 -> hos inalcanzable. • 2 -> p o ocolo inalcanzable. • 3 -> pue o inalcanzable. ▪ Tiempo excedido (Time Exceeded): En la cabece a IP exis e el campo TTL (Time To Li e) que pe mi e limi a el núme o de encaminado es que a a esa á un paque e pa a llega a su des ino. Cuando un ou e ecibe un paque e, disminuye el alo del campo TTL del paque e en una unidad. Si el nue o alo del campo TTL es ce o, el ou e desca a el paque e. El ou e puede en ia un mensaje ICMP de iempo excedido pa a indica a la máquina de o igen que no se ha podido en ia un paque e debido a que el campo TTL del paque e ha expi ado. ▪ Redi eccionamien o de u a (Redi ec ): Un encaminado puede usa un mensaje de edi eccionamien o de ICMP pa a no i ica a los equipos de una ed que exis e una mejo u a disponible pa a alcanza un de e minado des ino. Cuando un ou e ecibe un paque e pa a el cual iene una u a cuyo p óximo 20 sal o es á conec ado a la misma in e az po la que ha ecibido el paque e, el ou e puede en ia un mensaje de edi eccionamien o de ICMP al equipo o igen in o mándole ace ca del p óximo sal o en una u a de la abla de encaminamien o. ▪ Disminución de elocidad en o igen (Sou ce Quench): Es e mensaje es ú il pa a implemen a un mecanismo básico de con ol de lujo. El mensaje de disminución de elocidad en o igen de ICMP puede usa se pa a in o ma al o igen que deje de en ia paque es po un iempo. Cuando un equipo ecibe un mensaje de disminución de elocidad en o igen de ICMP, lo in o ma a la capa de anspo e. El hos de o igen puede u iliza el mecanismo de con ol de lujo de TCP pa a adap a la ansmisión. 3.6.2. Fo ma o del da ag ama ICMP En la igu a 8 se mues a el o ma o del da ag ama ICMP [26]: Figu a 8. Da ag ama ICMP. ▪ Tipo: De e mina el ipo de mensaje ICMP. ▪ Código: Especi ica un sub ipo den o de un ipo dado, en caso de habe lo. ▪ Checksum: Mecanismo de comp obación de e o es. Calculado a pa i de la cabece a ICMP más el campo da os, con un alo de ce o pa a es e campo. El algo i mo de suma de comp obación iene especi icado po los es ánda es (RFC 1071). ▪ Res o de la cabece a: Puede a ia en unción del ipo y código del mensaje ICMP. Posee dos campos impo an es pa a el análisis, como son el id y la secuencia ICMP. Tipo ICMP Nomb e del ipo Código Desc ipción 1 Echo Reply Respues a a un ping de ed pa a comp oba la accesibilidad. 3 Des ina ion Un eachable 0–15 Mensaje ICMP que in o ma ace ca de que el mensaje no ha podido se en egado. 5 Redi ec Message 0–3 Mensaje en el que se indica que un paque e debe se di eccionado pa a la ed indicada (0), pa a la máquina escogida (1), pa a el se icio especi icado y pa a la 21 3.6.3. Vulne abilidades del p o ocolo Es un p o ocolo [27] que no p opo ciona in eg idad ni au en icidad de o igen, po an o, se pueden gene a mensajes de con ol alsos, como ICMP edi ec , ICMP Time Exceeded. También enemos que ene en cuen a que las espues as ICMP consumen ecu sos de nues os sis emas, po an o, consumen ancho de banda en an e y salien e, al no p opo ciona au en icidad se puede da la posibilidad de esponde a pe iciones maliciosas. 3.6.4. Posibles a aques Teniendo en cuen a las ulne abilidades de es e p o ocolo los posibles a aques [18] a los que es á expues o pod ían se : ▪ ICMP Ping Flooding, es deci , un a acan e en ía mul i ud de paque es ICMP Echo Reques a la íc ima, usando la opción – del comando ping, el a acan e consigue en ia mayo núme o de paque es sin espe a espues a. ▪ Denegación de se icio (DoS), inundando la ed de mensajes e impidiendo el no mal uncionamien o de la misma, iene éxi o si el a acan e iene un mayo ancho de banda que la íc ima, el a acan e espe a a que la íc ima esponda con mensajes ICMP Echo Reply, consumiendo ancho de banda salien e y en an e. ed (2) o pa a la máquina y el se icio especi icados (3). 8 Echo Reques Ping de ed. 9 Rou e Ad e isemen Lo u ilizan los encaminado es pa a comunica se con sus encaminado es ecinos y pode cons ui ablas de encaminamien o . 11 Time Exceeded 0 o 1 In o me de es ado que o bien indica que el iempo de ida (Time o Li e, TTL) de un paque e (0) o el iempo de espe a pa a el ensamblaje de paque es IP (1) ha expi ado. 13 Times amp Do a al paque e IP de una ma ca de iempo que se co esponde con el momen o del en ío y que es de u ilidad pa a la sinc onización de dos o denado es. 14 Times amp Reply Mensaje de espues a a una pe ición de ma ca de iempo en iado po el des ina a io as la ecepción de es a. 30 T ace ou e Se u iliza pa a el seguimien o de la u a de un paque e de da os en la ed. 22 Como posibles medidas pa a hace en e a es e ipo de a aques pueden se , el uso de IP Tables, il ando así el acceso a nues a solo a á ico deseado, un buen Fi ewall, limi a la capacidad de ancho de banda de nues a ed, el uso de un IDS. 23 Capí ulo 4 Implemen ación En es e capí ulo se desc iben los pasos y p ocedimien os que se han seguido pa a la ealización de es e p oyec o, así como la es uc u a que ienen las unciones del p og ama y cómo se han implemen ado. La implemen ación de nues o p oyec o se puede cali ica de es á ica, ya que, en p ime luga , se gene a á ico en an e en la ed, que es cap u ado con la he amien a Wi esha k. Cuando se ob iene una aza de á ico lo su icien emen e ex ensa pa a se p ocesada, esos da os se expo an en o ma o by e y se almacenan en un a chi o. Pos e io men e, el IDS desa ollado lee es e a chi o, ob iene los paque es, los descompone según los p o ocolos que u ilice y los analiza compa ando los campos del paque e con las eglas p ees ablecidas. Po úl imo, el sis ema gene a una ale a si se p oduce una coincidencia como esul ado de es a compa ación. En las siguien es secciones se explica cómo se ha seleccionado el componen e ha dwa e u ilizado, cómo se ha ealizado la ins alación del sis ema ope a i o y con igu ación del en o no, cómo se ha desa ollado el código del p og ama u ilizado y, la de inición de las eglas que de e minan un posible a aque. Finalmen e, se desc ibe el uncionamien o e implemen ación del sis ema IDS p opues o. 4.1. Elección del componen e ha dwa e Se han analizado di e en es pla a o mas ha dwa e pa a selecciona aquella que más se ajus e a las necesidades eque idas en la implemen ación de es e p oyec o. La p incipal ca ac e ís ica analizada ha sido la capacidad de p ocesamien o. Se necesi a un disposi i o que pueda p ocesa a una elocidad adecuada la cap u a, la descomposición y el análisis de odo el á ico de la ed a la que es é conec ado. Pa a ealiza es e es udio, se selecciona on es disposi i os que se ajus a ban a los eque imien os exigidos. Los componen es mencionados son: ▪ Od oid XU4 [28] ▪ A duino Uno [29] ▪ Raspbe y Pi 3 B+ [30] A con inuación, se p ocede a desc ibi las ca ac e ís icas más impo an es de cada uno de ellos: 4.1.1. Od oid XU4 Od oid o ma pa e de una amilia de o denado es monop ocesado c eados po HandKe nel. Su p incipal ca ac e ís ica es que es un componen e que unciona con so wa e lib e. En cuan o a sis emas ope a i os, es compa ible con cualquie dis ibución de Linux y ambién And oid. Teó icamen e, ambién es compa ible con Windows 10, pe o no es á con i mado. 24 Las ca ac e ís icas de Od oid XU4 son: ▪ P ocesado Samsung Exynos 5224 de 8 núcleos. ▪ F ecuencia de eloj de 2GHz. ▪ GPU Mali-T628 MP6. ▪ RAM de 2 GB del ipo DDR3. ▪ Almacenamien o Flash in eg ado en la placa con opción de inco po a una a je a de almacenamien o ex e no Mic oSD. ▪ Dos pue os USB 3.0 y un pue o USB 2.0. ▪ Ta je a de ed Gigabi E he ne 10/100/1000. ▪ Salida HDMI. ▪ Bo ón de encendido de la placa. ▪ P ecio: al ededo de 100€ 4.1.2. A duino Uno A duino es una pla a o ma de desa ollo de código abie o, basada en ha dwa e y so wa e lib e y c eada pa a el desa ollo de disposi i os digi ales y elec ónicos que puedan de ec a y con ola obje os del mundo eal. Se enca ga de acili a el uso de la elec ónica y p og amación de sis emas. Las placas de A duino cuen an con di e sos mic op ocesado es y mic ocon olado es. En cuan o al sis ema ope a i o en mul ipla a o ma es compa ible con Windows, MacOs y GNU/Linux. Las ca ac e ís icas de A duino Uno son: ▪ Mic ocon olado ATmega328. ▪ Velocidad de eloj de 16 MHz. ▪ SRAM de 2 KB. ▪ Memo ia Flash de 32 KB. ▪ EEPROM de 1 KB. ▪ 14 pines de en ada/salida digi al y 6 salidas PWM. ▪ Vol aje ope a i o de 5V y en ada de 7-12V. ▪ P ecio: Al ededo de 20€. 4.1.3. Raspbe y Pi 3 B+ Raspbe y Pi es un o denado de placa única, ambién llamado o denado de placa simple, de bajo cos e desa ollado en el Reino Unido po la emp esa Raspbe y Pi. Tiene un so wa e de código abie o y su sis ema ope a i o o icial es una e sión adap ada de Debian llamada Raspbian. A pesa de se mul ipla a o ma, sus dimensiones de placa son muy educidas, al ededo de 85 x 54 mm. Se selecciona el modelo B+, ya que, a di e encia de o os modelos, posee conexión E he ne , Wi i y dos pue os USB. Las ca ac e ís icas de Raspbe y Pi 3 modelo B+ son: ▪ P ocesado B oadcom BCM2837B0, Co ex-A53 (ARM 8) 64-bi SoC. ▪ F ecuencia de eloj de 1,4 GHz. 25 ▪ GPU una VideoCo e IV de 400 MHz. ▪ SDRAM de 1GB. ▪ Conec i idad de ed Wi i de ipo IEEE 802.11.b/g/n/ac y Blue oo h 4.2, BLE. ▪ Capacidad de memo ia de almacenamien o ex e na Mic oSD de al menos 4GB. ▪ Salida HDMI, salida RCA, en ada ipo Jack y ideo compues o. ▪ 40 pines GPIO y 4 pue os USB 2.0. ▪ Alimen ación ipo mic o USB. ▪ P ecio: 36,50€. 4.1.4. Conclusiones A duino no es un disposi i o que pueda encaja en nues o abajo, ya que, aunque se puede u iliza pa a la implemen ación de mul i ud de pequeños sis emas, sus especi icaciones écnicas no son su icien es pa a hace en e a la en e gadu a de es e p oyec o, ya que la memo ia RAM no es lo bas an e g ande, la elocidad de eloj no es la idónea pa a p ocesa odos los da os y el espacio de almacenamien o es insu icien e pa a albe ga el sis ema ope a i o. Po el con a io, ODROID XU4 cumple con c eces las expec a i as pa a implemen a el IDS. Además, ha sido u ilizado p e iamen e con éxi o en un sis ema simila . Sin emba go, su p ecio es ele ado. Po úl imo, Raspbe y Pi 3 modelo B+ iene las ca ac e ís icas écnicas eque idas: ecuencia de eloj, memo ia RAM, posibilidad de albe ga almacenamien o ex e no, g an capacidad de conec i idad y compa ibilidad del sis ema ope a i o con o os equipos y p og amas. El p oduc o ambién iene un p ecio asequible. Po odas es as azones Raspbe y Pi 3 modelo B+ pa ece la mejo opción pa a se u ilizado como el disposi i o ha dwa e que albe ga á el IDS que amos a implemen a en es e T abajo de Fin de G ado. 4.2. Ins alación del Sis ema Ope a i o Disponemos de un equipo que cons a de una Raspbe y Pi 3 modelo B+ y una a je a mic oSD con una capacidad de almacenamien o de 8Gb en el que es necesa io ins ala un sis ema ope a i o. Nos decan amos po Raspbian, un sis ema ope a i o que consis e en una dis ibución de la e sión 9 de Debian [31] que dispone de un ke nel de Linux [32], e sión 4.14, de ipo monolí ico. El p ime paso en su ins alación es inse a la a je a ex e na mic oSD en un o denado , en nues o caso un MacBook P o, y después u iliza una he amien a na i a de la que dispone es e o denado , que pe mi e o ma ea a je as de memo ias ex e na, discos, e c. Se selecciona la a je a de memo ia en cues ión y se o ma ea con un o ma o NTFS. Una ez o ma eada, es á lis a pa a se usada. Pos e io men e, desde la página o icial de Raspbe y Pi [33], se desca ga la úl ima e sión de Raspbian [34] pa a se u ilizada como el sis ema ope a i o de nues o disposi i o ha dwa e, en es e caso se selecciona la e sión Debian S e ch wi h Raspbe y Pi Desk op. 26 Una ez desca gada la imagen .iso es necesa io ins ala es a imagen en la a je a de memo ia. T as in es iga sob e posibles p og amas compa ibles con el sis ema ope a i o MacOS Moja e, que nos pe mi iesen hace es o, decidimos u iliza BalenaE che [35], una aplicación pa a mon a la imagen .iso en la a je a con una in e az muy sencilla, que indica de o ma guiada los pasos a segui . El p oceso inaliza con la ins alación del sis ema ope a i o en la Raspbe y Pi. Pa a ello, se inse a la a je a de almacenamien o, se conec a el a ón, el eclado y la pan alla y se enciende el disposi i o, conec ándolo la uen e de alimen ación. La p ime a ez que se usa el sis ema ope a i o, se inicia una ins alación g á ica y guiada, donde se con igu a el idioma, eclado, wi i, el nomb e de usua io y con aseña (en nues o caso, no hemos ellenado el campo con aseña). T as comple a la con igu ación, au omá icamen e se e mina la ins alación. 4.3. Ins alación de p og amas usados A con inuación, se desc iben los p og amas que hemos ins alado y su u ilidad en es e abajo. ▪ Wi esha k [36]: Es un analizado de p o ocolos open-sou ce. Su p incipal obje i o es el análisis de á ico, pe o además es una excelen e aplicación pa a el es udio de las comunicaciones y pa a la esolución de p oblemas de ed. Wi esha k implemen a una amplia gama de il os que acili an la de inición de c i e ios de búsqueda pa a los p o ocolos sopo ados ac ualmen e y odo ello po medio de una in e az sencilla e in ui i a que pe mi e desglosa po capas cada uno de los paque es cap u ados. G acias a que Wi esha k comp ende la es uc u a de los p o ocolos, podemos isualiza los campos de cada una de las cabece as y capas que componen los paque es moni o izados, haciendo así más ácil el análisis del á ico en la ed. La ins alación de Wi esha k en nues o componen e ha dwa e con sis ema ope a i o Raspbian, se ha ealizado desde un e minal u ilizando una se ie de comandos básicos: $sudo ap -ge upda e $sudo ap -ge ins all wi esha k Con es o ya end íamos nues a he amien a lis a pa a unciona y escucha en cualquie in e az de ed. En nues o caso, siemp e escucha emos po la in e az de ed 0 (e h0). ▪ Jupy e -No ebook [37]: Es un en o no in e ac i o web de ejecución de código, que en es e abajo es usado pa a desa olla un p og ama capaz de a a los da os ob enidos y expo ados desde la he amien a Wi esha k. Jupy e -no ebook se lanza desde un e minal de nues o sis ema ope a i o Raspbian. Al esc ibi el comando jupy e -no ebook au omá icamen e se ab e una pes aña en el na egado en la que se mues a el di ec o io donde es án los a chi os a a a . Pa a ins ala es a he amien a ha sido necesa io desca ga los componen es de py hon3: ma plo lib, scipy y pip, ejecu ando los siguien es comandos: 27 $sudo ap -ge upda e $sudo ap -ge ins all py hon3-ma plo lib, py hon3-scipy $sudo ins all --upg ade pip Una ez ins aladas las an e io es he amien as, es necesa io einicia el sis ema. Pos e io men e, pa a inaliza la ejecución de la he amien a se ejecu a: $sudo pip ins all jupy e 4.4. T a amien o de los mensajes cap u ados En es e apa ado se explica el uncionamien o del p og ama que hemos desa ollado en Py hon [38] pa a implemen a un NIDS. Es e IDS se enca ga de lee y descompone los paque es cap u ados en un a chi o. En pa icula , se cen a en la pa e de las cabece as de los di e en es p o ocolos de in e ne , pa a así pode analiza en p o undidad oda la in o mación ansmi ida. El análisis es á diseñado pa a a a cinco p o ocolos de ed: TCP, IP, ARP, ICMP, y UDP. Pa a pode ealiza co ec amen e es a a ea ue necesa io: cap u a los paque es, u ilizando las uncionalidades de Wi esha k, y descompone y analiza esos paque es median e el IDS, desa ollado en Py hon en es e TFG. Los paque es gene ados po Wi esha k con ienen, además del paque e que es ansmi ido, in o mación ace ca del núme o de by es que ocupa y el núme o de paque e gene ado po es e p og ama. La clase paque e iene a ibu os como el iden i icado , donde se gua da el núme o que p opo ciona Wi esha k, el núme o de by es, el iempo de llegada, di ecciones MAC de o igen y des ino y cada uno de los campos de los p o ocolos que se a an en es e p oyec o. Es necesa io indica que se ha c eado una clase, llamada paque e, con su co espondien e cons uc o , que con iene los elemen os que se ob ienen al descompone el paque e. Además, pa a pode ealiza odo es e a amien o, se ha diseñado la es uc u a de da os y unciones que se mues an en la igu a 9. Según es a es uc u a, una ez leído el paque e, el con enido del campo da os y de los dis in os campos de la cabece a, se almacena en una lis a llamada ma iz. Pa a eco e es a lis a se u iliza un con ado , (llamado con ado ) que se inc emen a con cada campo que se asigna a una a iable, es deci , las posiciones que ocupe un campo de e minado en ma iz son las unidades que se suma án al alo de con ado . 34 4.4.2.6. Mensaje DNS La unción que descompone los mensajes DNS es p o ocolodns (con ado , m, numDNS). Los campos que se descomponen en a iables son: el id del mensaje, los lags DNS, con ado de p egun as, con ado de espues as, la au o idad, el campo adicional, el nomb e de consul a, el ipo de consul a y la clase de consul a. La igu a 18 con iene el esquema de la unción. Figu a 18. Función p o ocolodns. Respec o al análisis, a pesa de que Sno iene eglas pa a de ec a a aques DNS, po cues iones de iempo, es os no han sido es udiados en es e abajo. Se ha dejado p epa ado el IDS pa a que en un abajo u u o la inco po ación de la iden i icación de es e ipo de mensajes sea inmedia a. 4.5. Reglas Sno Después de la e apa de descomposición, se p ocede a la lec u a de odas las eglas p ede inidas median e la unción eglas (). Es a unción lee el con enido de los a chi os de eglas p opo cionados (en las p uebas ealizadas hemos usado el a chi o “local. ules”) y gua da las eglas en lis as, en unción del p o ocolo al que a di igido el a aque que de ec an. Exis en cua o p o ocolos en las eglas que se han u ilizado: IP, ICMP, TCP y UDP. En el p og ama IDS, las lis as apo adas pa a almacena es as eglas ienen los nomb es de cp ules, udp ules, ip ules e icmp ules. Una ez e minada la lec u a, se p ocede al análisis de paque es. La igu a 19 con iene el esquema de la unción. 35 Figu a 19. Función eglas. Las eglas u ilizadas en es e p oyec o han sido u ilizadas con el mismo o ma o que las eglas que p opo ciona Sno . El o ma o [39] de es as cons a de una cabece a y del campo opciones. En la cabece a, se especi ica la acción que ealizan (ale , log, d op o sd op), el p o ocolo usado, las di ecciones IP, los pue os y el sen ido de la egla (unidi eccional o bidi eccional). En el campo opciones, se p opo ciona in o mación de la egla con msg (ale a que se emi e), sid (iden i icación de egla) y e (núme o de e isión), se busca en las cabece as de los p o ocolos con ipop s, icmp_id, icmp_seq y lags. A con inuación, se mues an algunas de las eglas u ilizadas: • ale icmp any any -> $HOME_NET any (msg:"ICMP es de ec ed"; sid:10000001; e :001; class ype:icmp-e en ;) • ale icmp any any -> 192.168.1.1/24 any (msg:"PING Flooding"; l:100; dsize: > 200; sid:10000001; e :1;) • ale icmp any any -> $HOME_NET any (msg:"Possible Nmap ping sweep"; sid:10000002; e :001; class ype:web-applica ion-a ack; dsize:0;) • ale cp any any -> $HOME_NET any (msg:"TCP Po Scanning"; sid:10000003; e :001; class ype:web-applica ion-a ack; de ec ion_ il e : ack by_s c, coun 30, seconds 60;) • ale cp any any -> $HOME_NET any (msg:"Nmap XMAS T ee Scan"; sid:10000005; e :001; lags:FPU;class ype:web-applica ion-a ack;) • ale udp any any -> 192.168.1.3 any (msg:"UDP lood a ack de ec ed"; h eshold: ype h eshold, ack by_ds , coun 10, seconds 60; sid: 5000003; e :1;) 4.6. Análisis y gene ación de ale as Una ez e minada la descomposición del paque e y la lec u a de eglas se p ocede al análisis, median e la unción análisis (). Es a unción eco e la lis a donde es án odos los paque es y llama a las unciones co espondien es pa a analiza cada uno de ellos, dependiendo del p o ocolo que se use. El análisis consis e en la compa ación de los campos de un da ag ama con las p emisas es ablecidas en cada una de las eglas 36 p ede inidas, po lo que es necesa io compa a cada da ag ama con cada egla. La igu a 20 con iene el esquema de la unción. Figu a 20. Función analisis. En odas las unciones de análisis, el pa áme o de en ada m es el paque e a analiza y se eco e en un bucle pa a compa a su con enido con odas las eglas del p o ocolo. En cada i e ación del bucle, se descompone la egla co espondien e y se ex aen sus a ibu os, como el mensaje de ale a, que se gua da en la a iable msg. Además, independien emen e del p o ocolo, se almacenan las a iables di o igen, pue oo igen, di des y pue odes , que se co esponden con las di ecciones y pue os de o igen y de des ino. Pa a el análisis de da ag amas IP, las a iables ob enidas de las eglas son lip ( iempo de ida), dsizeip ( amaño del da ag ama) y p o ocoloip, lis ap o ocolos y ope ado p o ip (co espondien e al p o ocolo o p o ocolos usados en el campo da os del da ag ama y al ope ado en caso de que exis a). Pos e io men e, se compa an es as a iables con las que hay en el paque e y, si coinciden, se en ía un mensaje de ale a. La igu a 21 mues a la es uc u a de la unción analisisip(m). Figu a 21. Función analisisip. En el análisis ICMP se oman las a iables l ( iempo de ida), dsize y dsizeope a o ( amaño del paque e y ope ado , en caso de exis i ), i ype ( ipo ICMP), icode e icodeope a o (código ICMP y ope ado , en caso de exis i ), idicmp (iden i icado ICMP) y seqicmp (secuencia ICMP). De igual mane a, se gene a una ale a cuando 37 es as a iables coinciden con los alo es co espondien es del paque e. La igu a 22 mues a la es uc u a de la unción analisisicmp(m). Figu a 22. Función analisisicmp. Respec o al análisis TCP, se apo an las a iables lags, coun y seg pa a los lags TCP, el núme o de paque es lími e y núme o de segundos mínimo pa a impedi a aques SYN lood. Es a unción cuen a con una se ie de booleanos que ienen en cuen a si hay ope ado es en los pue os y di ecciones, si hay a ios pue os y si hay coincidencia en las di ecciones de o igen y des ino. Además, se usan o os booleanos pa a ale a sob e la posibilidad de que se es é p oduciendo un a aque TCP SYN lood. La igu a 23 mues a la es uc u a de la unción analisis cp(m). Figu a 23. Función analisis cp. 38 En el análisis UDP, exis en las a iables coun y seg pa a es ablece un mínimo de paque es ecibidos den o de un de e minado pe iodo de iempo pa a dispa a una ale a sob e a aques UDP lood. También posee unos booleanos pa a ale a sob e es e úl imo a aque. La igu a 24 mues a la es uc u a de la unción analisisudp(m). Figu a 24. Función analisisudp. 39 Capí ulo 5 Resul ados Una ez explicada la implemen ación, se p ocede a p esen a los esul ados de es e p oyec o. El obje i o de es e capí ulo es mos a el co ec o uncionamien o de nues o IDS. Es a pa e del p oyec o la hemos ealizado en dos ases: ▪ P uebas en un en o no i ual: P uebas ealizadas en máquinas i uales (MVs) simulando el disposi i o ha dwa e, pa a p e eni posibles complicaciones y daños en el disposi i o. Explica emos cómo hemos simulado los a aques y las posibles ale as gene adas. ▪ P uebas en un en o no ísico: Se han lle ado a cabo de la misma o ma que las ealizadas en un en o no i ual, pe o haciendo uso del disposi i o ha dwa e. El código desa ollado es á expues o, jun o con las eglas usadas, en un eposi o io público de Gi hub [40], al que se puede accede a a és del siguien e enlace: h ps://gi hub.com/ od igolaga e a/TFG-Py hon Es as dos ases de p uebas se án explicadas a con inuación, exponiendo los pun os más ele an es de cada una de ellas. 5.1. P uebas en un en o no i ual Pa a pode lle a a cabo el p oceso de expe imen ación y análisis de esul ados, se ealizan las p uebas pe inen es en máquinas i uales que simulen el compo amien o del disposi i o ha dwa e empleado. En es a sección se desc iben los pasos ealizados pa a lle a a cabo las p uebas, como la ins alación y con igu ación de las máquinas i uales, el ipo de á ico gene ado en la ed i ual, la cap u a de es e á ico y las p uebas ealizadas con Sno y con nues o IDS. 5.1.1. C eación e ins alación de la máquina i ual Raspbian Raspbian es la dis ibución de Debian especí icamen e diseñada pa a la Raspbe y Pi y u ilizada en es e p oyec o. Pa a es a pa e del p oyec o, se ha u ilizado Vi ual Box [41], un p og ama diseñado pa a la c eación y emulación de sis emas ope a i os a pa i de una imagen. Hemos u ilizado la e sión 6.0, la más ac ual. Pa a pode ec ea el sis ema ope a i o Raspbian en Vi ual Box, ue necesa io desca ga una imagen .iso de Raspbian de la página web o icial de Raspbe y. Fue 40 seleccionada la e sión 4.9, que es una dis ibución de no iemb e de 2018, la más ac ualizada y es able que se puede u iliza . 5.1.2. Con igu ación de la máquina i ual En la opción de “Con igu ación”, se seleccionan las siguien es ca ac e ís icas: ▪ En el apa ado Gene al, en la pes aña “A anzado”, se indica la ca pe a donde se almacena án las cap u as de pan alla que ealicemos (se gua da án en esa ca pe a del o denado ísico). En las opciones de copia en el po apapeles y a as a y sol a , se selecciona “Bidi eccional”, con lo que consegui emos copia y pega elemen os desde el o denado ísico a la máquina i ual y ice e sa, acciones que nos acili a án en cie o modo el abajo. ▪ En el apa ado Almacenamien o, en la sección de “Con olado : IDE”, se selecciona la imagen iso desca gada. Es e se á nues o disco du o i ual en el cual almacena emos odos los p og amas y uncionalidades de nues o p oyec o. ▪ En el apa ado Red, habili amos el Adap ado 1, seleccionamos la opción de “Adap ado puen e” en “Conec ado a”. En los dems adap ado es se con igu an las edes in e nas que se han es ablecido pa a conec a las MVs. Es e apa ado es muy impo an e ya que debemos hace una buena elección de con igu ación de ed. No malmen e el p ime adap ado , es á conec ado a la p opia ed del o denado ísico, los demás adap ado es se usan en nues o caso pa a pode conec a la máquina i ual a dis in as edes. Una ez ealizada oda la con igu ación y a ancada la máquina i ual, lo p ime o, que enemos que hace es ins ala el sis ema ope a i o Raspbian, pa a lo que elegimos una ins alación g á ica. En la sección de pa ición del disco seleccionamos la opción “All iles in one pa i ion”, que nos pe mi i  ene odos los a chi os en una única pa ición, una ez aplicados los cambios se p ocede á a la ins alación del G ub de a anque. Po úl imo, la ins alación se ha á de o ma au omá ica y una ez e minada apa ece á la in e az de Raspbian, en la que podemos usa un asis en e de con igu ación del sis ema con ajus es básicos. Pa a e mina , el sis ema ope a i o se ac ualiza a la úl ima e sión. 5.1.3. A qui ec u a del en o no i ual La a qui ec u a usada pa a ec ea el modelo se basa en una opología de ed mul ipun o, que cons a de es máquinas conec adas median e un cable, odas ellas den o de la misma ed ( e igu a 25). En p ime luga , hay una máquina a acan e (Kalilinux) que se á la enca gada de gene a á ico malicioso y en ia lo a la máquina Víc ima. O a ha á el papel de íc ima, y, po úl imo, la e ce a máquina end á desplegado el NIDS, po lo que escucha á odo el á ico de la ed y ha á uso de un 41 conjun o de eglas p ede e minadas, así como de eglas c eadas po noso os (como adminis ado es de la ed que se quie e p o ege ), pa a gene a una ale a en el sis ema cuando el hos a acan e en íe á ico malicioso a la máquina íc ima (el o denado gi ado). Figu a 25. A qui ec u a del en o no i ual Las máquinas Víc ima e IDS u ilizan los sis emas ope a i os Debian y Raspbian, espec i amen e. Las máquinas es a án conec adas a in e ne y a la ed in e na 192.168.1.0/24. Sus di ecciones IP, se án, 192.168.1.2 y 192.1681.3, espec i amen e. Como máquina a acan e o emiso a, u ilizamos una máquina i ual con sis ema ope a i o Kali Linux [42], conec ada a la misma ed y a in e ne y con di ección IP 192.168.1.1. En cada una de las máquinas se le an an las in e aces de ed e h1, pa a pode conec a las máquinas a la ed in e na. Median e un comando ping se comp ueba la conexión en e ellas. 5.1.4. Máquina i ual de Raspbian Pa a esa pa e, ha sido necesa ia la p ác ica 4.3 de la asigna u a de Redes y Segu idad [43], en la que se hace uso del IDS Sno pa a ale a sob e la p esencia de paque es anómalos que pudie an ene elación con algún ipo de a aque en la ed. Pa a pode gene a las ale as, que se mos a án po pan alla, desde la máquina a acan e ealizamos una se ie de a aques a la máquina Víc ima que pueden se de ec ados con el conjun o de eglas u ilizado. Si se p oduce alguna coincidencia en e el con enido de los paque es de ed cap u ados y los a ibu os de las eglas se mos a á una ale a po la pan alla del sis ema, ale ando así, que la ed es á siendo a acada. Víc ima IDS Kalilinux 42 A con inuación, se de alla cómo se ha gene ado ese á ico malicioso, u ilizando comandos y he amien as conocidas: • Escaneo de pue os [43]: El escaneo de pue os se ealiza pa a de ec a qué pue os es án abie os buscando ulne abilidades del sis ema pa a pode a aca lo. El o ma o del comando es nmap –“opción” “di .ip des ino”. Cuando enemos disponemos p i ilegios de súpe usua io ( oo ), podemos ealiza ambién los siguien es escaneos, jugando con los lags de TCP, la opción –sN, escaneo Null, no ija ningún bi de la cabece a po an o es ce o, la opción –sF, conseguimos ija el lag TCP FIN, po úl imo la opción –sX, ijando los bi s de los lags FIN, PSH URG. Realizando un escaneo de pue os con Nmap, se pueden obse a odas las solici udes de mensajes en iados que se enca gan de comp oba uno a uno los pue os. Si se ealiza un a aque de escaneo de pue os con el lag TCP FIN ac i o, nues o IDS lo de ec a á y gene a á el siguien e mensaje: • A aque ICMP Ping Flooding [43]: consis e en en ia una g an can idad de paque es ICMP Echo Reques en un in e alo muy pequeño de iempo consiguiendo así consumi muchos ecu sos de la máquina íc ima y p oduciendo ano malidades en el co ec o uncionamien o del sis ema. Pa a ep oduci es e a aque desde la máquina a acan e Kali Linux ejecu amos el comando ping 192.168.1.2 – –l 6550, de es e modo se en ían 6550 by es a la máquina íc ima cada ez que se manda un ICMP Echo Reques . Un ping no mal iene un amaño de 32 by es, el obje i o al aumen a el amaño del paque e es colapsa la máquina y consegui una denegación de se icio, en un de e minado momen o los mensajes no son espondidos debido a la g an can idad de solici udes que se en ían. En un a aque ICMP Ping Flooding apa ece un mensaje del ipo: • A aques ICMP Ping Flooding [43] con IP spoo ing: es simila al a aque an e io , pe o u ilizando di ecciones IP o igen alea o ias. Pa a ep oduci lo amos a usa la he amien a hping3. En la máquina Kali Linux (a acan e) ejecu amos el comando hping3 –icmp – lood – and-sou ce 192.168.1.2, Paque e 1 : Ale as IP: Ale as ICMP: ICMP Ping Flooding de ec ed 192.168.1.1 -> 192.168.1.2 Paque e 1 : Ale as IP: Ale as TCP: ! - TCP scan de ec ed 192.168.1.1 -> 192.168.1.2 43 donde la di ección IP 192.168.1.2 es la di ección de la máquina Víc ima, consegui emos así inunda de á ico es a máquina. En un a aque de es e ipo el mensaje gene ado es muy pa ecido al an e io : • TCP SYN Flooding [43]: es o o a aque de denegación de se icio, pe o que explo a las ulne abilidades del p o ocolo TCP. Solo unciona si la máquina a acada iene desac i ado el mecanismo de SYN cookies. Pa a pode ep oduci lo desde la máquina a acan e de Kali Linux ejecu amos el comando hping3 –S – lood –p 80 – and-sou ce 192.168.1.2, donde la opción –S si e pa a ac i a el lag TCP SYN, 80 es el pue o TCP des ino y 192.168.1.2 la di ección IP de la máquina íc ima. En un a aque TCP SYN Flooding apa ece el siguien e mensaje: La cap u a de los paque es gene ados po los a aques an e io es ha sido posible g acias a la he amien a Wi esha k ins alada en una de las máquinas de la ed, que ha es ado escuchando odo el á ico po la in e az e h1. Pa a cada a aque se ha cap u ado una can idad de paque es lo su icien emen e g ande pa a que se pueda econoce el a aque, con unos ein e o ein a paque es ha sido su icien e. En esumen, desde la máquina i ual a acan e se lanzan a aques Ping Flooding, TCP SYN Flood y de escaneo de pue os, en e o os. Los paque es gene ados se cap u an y se u ilizan como en ada al IDS, pa a se analizados en busca de i mas de posibles a aques con enidas en el conjun o de eglas usado. En ese caso, se gene a á una ale a que se á mos ada po pan alla. 5.1.5. C eación de eglas p opias Nues o IDS de ec a la p esencia de posibles in usos en la ed median e el uso de unas eglas p ede e minadas ( eglas Sno ) que ienen la siguien e es uc u a ( e igu a 26): Paque e 1 : Ale as IP: IP Spoo ing de ec ed Ale as ICMP: ICMP Ping Floo ind de ec ed 192.168.1.1 -> 192.168.1.2 Paque e 1 : Ale as IP: IP Spoo ing de ec ed Ale as TCP: TCP DoS de ec ed 192.168.1.1 -> 192.168.1.2 50 undamen ales pa a el en endimien o de los p o ocolos de ed, el uncionamien o de los sis emas de segu idad, el análisis y la cap u a del á ico de ed. 6.2. T abajo u u o El obje i o de es e abajo e a desa olla un NIDS basado en eglas simila a Sno . La can idad de eglas que iene es a he amien a es muy amplia, el abajo que implica c ea una he amien a simila , que de ec e los mismos a aques que de ec a Sno , implica una can idad de iempo del que no se dispone en un TFG. Po lo an o, hemos desa ollado un p og ama capaz de de ec a cie os ipos de a aques, pe o hemos c eado una es uc u a pa a que es e p oyec o se aya ampliando de o ma ela i amen e sencilla has a con e i se en un IDS capaz de de ec a cualquie a aque conocido. A lo la go del desa ollo de es e p oyec o, se ha podido obse a que exis en dis in as o mas de cap u a los paque es que llegan al disposi i o, así como es posible ealiza un análisis más p o undo de los paque es. Se p opone, po an o, como abajo u u o una o ma más dinámica de cap u a mensajes y en ia los al p og ama de análisis que pe mi a una mayo elocidad a la ho a de analiza los paque es de la ed. Lo que implica ía la implemen ación de un p og ama demonio que pe mi a la cap u a y en ío au omá ico de paque es al p og ama IDS. De es e modo, se e i a gua da el á ico en un a chi o y su pos e io lec u a, lo que ga an iza ía su uncionamien o en iempo eal. El p og ama de análisis de paque es de nues o IDS pe manece ía en un bucle a la espe a de la ecepción de los paque es en iados po el p og ama demonio. O a p opues a de abajo u u o es ealiza un análisis más exhaus i o de los paque es, añadiendo, po ejemplo, el es udio del con enido del campo “da os”, que, jun o al análisis de la cabece a, pe mi i ía de ec a un mayo núme o de a aques. Así mismo, es in e esan e la opción de inco po a más p o ocolos pa a analiza . Es necesa io des aca que las ale as gene adas se emi en po consola du an e la ejecución del p og ama de análisis, una implemen ación posible pa a mejo a la comunicación con el usua io se ía clasi ica las ale as según su g ado de impo ancia y emi i es os mensajes de una mane a más dis inguible. Po úl imo, aunque la uncionalidad de un IDS es ale a , es in e esan e la posibilidad de implemen a un sis ema que pe mi a de ene un paque e que haya sido clasi icado como a aque. 51 Appendix A - In oduc ion His o y o a The eno mous a acks [1] o m he In e ne as i uses, spam, and so wa e ulne abili ies exploi a ion make p o ec ion me hods impo an elemen s o p e en and o a oid in o ma ion and da a om being de enseless agains a acks. These me hods a e: c yp og aphy, secu i y poli ics, i ewalls, IDS and IPS. Abou in usion de ec ion and p e en ion sys ems, IPS (In usion P e en ion Sys em) de ec , ale and s op suspicious in usions, whe eas IDS (In usion De ec ion Sys em) only de ec and ale . These sys ems can be so wa e implemen ed, in his case, hey a e ins alled and con igu ed in a ne wo k hos , o ha dwa e implemen ed, whe e a de ice in specialized o wo k connec ed in a ne wo k, and ha dwa e implemen ed, whe e a de ice is specialized o wo k exclusi ely as an IDS. Abou hei pe o mance, hese sys ems gene a e ale s when hey de ec ne wo k anomalies ha can be classi ied as a possible a ack. The e a e some ypes o IDS, as HIDS, hos based, o NIDS, ne wo k based. Mo i a ion Nowadays, o ganiza ions, companies and pa icula s ha e ne wo k connec ed de ices. The momen a de ice is connec ed, i is exposed o all ypes o a acks h ough his connec ion. Da a used and s o ed mus be p o ec ed o m no au ho ized access and, a he same way, i is necessa y o p o ec he de ices o , in case hey o e any kind o se ice, being always a ailable o use s. To p o ec a ne wo k he maximum possible, e icien secu i y measu emen mus be implan ed, bo h p e en ion and de ec ion. These measu emen s mus be able o ensu e all de ices connec ed o his ne wo k. P e en ion and de ec ion sys ems can a oid po en ials a acks i hey a e ound on ime. These measu emen s can ac agains he p oblem, a oiding o s opping he a ack, o wa n he ne wo k adminis a o . The common ools used o de ec an a ack in a ne wo k a e IDS, whe eas i ewalls a e used o p e en hem. Fi ewalls p e en ac i ely om incoming and ou going om de ice packages, de ec ing hose ha a e conside ed as h ea s and sending ale s. Based on a secu i y policy, hey can le a ic pass o no . Simila ly, IDS analyze incoming and ou going ne wo k packages om he de ice, de ec ing hose conside ed as a possible a ack and gene a ing ale s. The di e ence wi h i ewalls is ha hese a e usually loca ed in he ne wo k o ganiza ion pe ime e , analyzing all he a ic ha goes in and ou , meanwhile IDS a e loca ed a e i ewalls on he in e nal ne wo k. In case o an in ude ge s h ough he i ewall, he IDS mus de ec i and wa n he ne wo k adminis a o . The main objec i e o his Final Deg ee P ojec is he ha dwa e implemen a ion o a Ne wo k In ude s De ec ion Sys em (NIDS). The designed sys em cap u es and analyzes ne wo k packages wi h he goal o de ec i he ne wo k is being a acked, and 52 i an a ack is de ec ed, ale s will be gene a ed and deli e ed wa ning abou he si ua ion. Ou IDS ha dwa e sys em will be connec ed h ough a swi ch in e nal ne wo k, same as he de ices i is p o ec ing, so ha e e y package ha en e s h ough a po o he swi ch is edi ec ed o he IDS o be analyzed. The eason o being implemen ed in a ha dwa e de ice is ha his ype o de ices has a educed ope a i e sys em and hey do no ha e ins alled ano he ype o applica ions, wha i means o be less suscep ible o ha ing ulne abili ies ha can be exploded o an a acke . Addi ionally, i is mo e e icien o ha e an IDS so wa e co ec ing on a se e , as i is eleased o m wo kload ha is he analysis o he ne wo k a ic. P ojec goals To be able o ca y ou he cap u e and he analysis o he ne wo k packages, a i s , i was necessa y o wa ch and o unde s and he pe o mance o applica ions ha make simila jobs, like Sno o Su ica a. This ask included he Sno ules s udy, whose syn ax is used by Su ica a and also by ou IDS. These ules con ain a ack signa u es, i means, hey ha e a ibu es ha iden i y he con en ha appea s in ce ain ields o a package when a speci ic a ack occu s. Subsequen ly, package cap u e simula ions we e ca ied ou o analyze he con en and dis ibu ion o he di e en package ields. The packages a e decomposed in ields and o ganized acco ding o he p o ocol used. Once packages a e decomposed and o ganized by ields, a package analysis p og am was designed. Fo ha , a i s , i was necessa y o link each package ield wi h a ule a ibu e. La e , hese package ields we e compa ed o hei co esponden ule a ibu e o sea ch o ma ches and, ul ima ely, o gene a e an ale . Finally, he IDS we e ins alled in he ha dwa e de ice and es s and simula ions we e made o check i s co ec pe o mance. Wo k plan In o de o each hese objec i es, he nex asks ha e been made: 1. A acks and package s eaming simula ion using i ual machines. 2. S udy and classi ica ion o he di e en ypes o p o ocols and a ibu es used. 3. Py hon lea ning as a package p ocessing language. 4. De elopmen o a i s p og am e sion ha cap u ed and decomposed packages and, a e his, i classi ied hem acco ding o hei ields and p o ocols. 5. Reading and unde s anding o Sno ules. 6. C ea ion o own ules based on Sno ules syn ax. 7. De elopmen o he analysis p og am allowing o ead ules, compa e hei p emises wi h he package con en and gene a e ale s when a ma ch is p oduced. 8. Resul s ob ained e alua ion in a simula ion h ough he i ual machines. 9. Ins alla ion and e alua ion o he esul s ob ained in he ha dwa e de ice. 53 The wo k plan is indica i e and desc ibes he s eps aken o he p ojec ealiza ion. Du ing he de elopmen o his p ojec , i has been necessa y o del e in o he heo e ical aspec s o he p o ocols and in he code de elopmen o he IDS p og am. The Figu e 1 shows he pe cen age o he o al ime spen o each ask, di ided in he espec i e pe cen age o each componen o he p ojec . Figu e 1. Pe cen age o ime employed on he p ojec Memo y o ganiza ion The chap e s in which we ha e o ganized he memo y co espond o he di e en s ages ou wo k has passed. In each one o hem i is desc ibed in de ail each ask done. The sec ions o each chap e explain in de ail he di e en p ocedu es used o de elop each s age. Coming up nex , i is b ie ly p esen ed he ollowing chap e s con en : • Chap e 2 is abou wha is he ope a ion o an in usion de ec ion sys em, he di e en ypes o IDS de ices and examples o o he simila sys ems on which ou Final Deg ee P ojec is based. • Chap e 3 desc ibe ne wo k p o ocols used, wi h hei p ope ies explana ion and he ields in which each package is di ided. I is also e e enced he ea men o his in o ma ion o use i in his P ojec . • Chap e 4 explain p ocedu es and ools used o he p og ams de elopmen and implemen a ion o hem. • Chap e 5 e iews he p og am implemen a ion esul s and he es s made. • Chap e 6 b ings he conclusions o he p ojec membe s a e con ibu ed and p oposes a se ies o asks as a possible u u e wo k. 0 5 10 15 20 25 30 Memo y d a ing Physical en i onmen es s Vi ual en i onmen es s Packages analysis Packages cap u e Own ules c ea ion Sno ules T a ic and a acks gene a ion Pe cen aje o wo k employed Done asks Rod igo Ál a o 54 • Final Deg ee P ojec egula ion o he IT Facul y o he Complu ense Uni e si y o Mad id obliges also o make a ansla ion o English o in oduc ion chap e and conclusions chap e , hese ansla ions a e p esen ed as Appendix. 55 Appendix B – Conclusions and u u e wo k In his sec ion, i is exposed he ob ained conclusions a e pe o ming he p ojec , he esul s a e also explained. As well, i is p o ided he u u e wo k, whe e is exposed a se ies o op ions o ex end his p ojec and p o ide i wi h mo e ea u es. En es e apa ado, se p opo cionan las conclusiones ob enidas as ealiza el p oyec o, así como las explicaciones de los esul ados. También, se apo a el abajo u u o, en el que se exponen una se ie de opciones pa a amplia es e p oyec o y do a lo de más uncionalidades. Conclusions The main objec i e o his p ojec is o emula e he pe o mance o a Ne wo k In usion De ec ion Sys em (NIDS) wi h a egula ne wo k s eam and capable o de ec ing common a acks. Fo his, o he NIDS known as Sno and Su ica a ha e been aken as e e ence. Du ing he de elopmen o his wo k, we ha e been able o s udy and unde s and how a NIDS wo ks, which is a sys em capable o de ec ing a possible a ack on a ne wo k depending on he packe s ha en e ha ne wo k. In he pe o mance o his ype o sys ems, di e en s ages a e dis inguished: he cap u e o packe s ha ci cula e h ough he ne wo k, hei decomposi ion in ields, he analysis o hese packe s ha implies he compa ison o hei ields wi h he a ibu es o a se ies o ules ha a e capable o de ec ing known a acks; and, inally, he gene a ion o ale s in he case ha he con en o he analyzed packe s coincides wi h some ule. In his Final Deg ee P ojec , we ha e cap u ed ne wo k a ic using, a i s , he Wi esha k ool; hen, he cap u ed packages ha e been expo ed in a eadable o ma and eco ded in a ile, which has been sen o he IDS o analysis. We ha e also de eloped a p og am capable o analyzing he packe s cap u ed in a ne wo k. I has been essen ial o decompose he packages and de ec he ype o ne wo k p o ocol anspo ed in hem. We ha e c ea ed a ew ules, based on he syn ax o Sno ules, ha allow us o de ec a se ies o basic a acks. These a acks ake ad an age o ulne abili ies in p o ocols such as IP, ICMP, TCP o UDP, so o de ec hem i is only necessa y o check he con en o he heade s o each p o ocol. Finally, we ha e de ined he message ha is displayed when an ale is gene a ed on de ec ion o a possible a ack. We ha e ca ied ou es s o check he iabili y o ou sys em in a i ual en i onmen and in a physical en i onmen . A e he es s ca ied ou , he esul s we e sa is ac o y, as he p og am was able o ale o he a acks ha we e being ca ied ou . I is ema kable o men ion ha subjec s o he Deg ee in Compu e Enginee ing such as Ne wo ks, Ne wo ks and Secu i y and Expansion o Ope a ing Sys ems and Ne wo ks we e undamen al o he unde s anding o ne wo k p o ocols, he unc ioning o secu i y sys ems, he analysis and cap u e o ne wo k a ic. 56 Fu u e wo k The aim o his wo k was o de elop a ule-based NIDS simila o Sno . The numbe o ules ha his ool has is e y ex ensi e, he wo k ha in ol es c ea ing a simila ool, which de ec s he same a acks ha Sno de ec s, implies an amoun o ime ha is no a ailable in a TFG. The e o e, we ha e de eloped a p og am capable o de ec ing ce ain ypes o a acks, bu we ha e c ea ed a s uc u e o his p ojec o expand ela i ely easily o become an IDS capable o de ec ing any known a ack. Du ing he de elopmen o his p ojec , i has been obse ed ha he e a e di e en ways o cap u e he packe s ha a i e a he de ice, as well as i is possible o ca y ou a deepe analysis o he packe s. The e o e, a mo e dynamic way o cap u ing messages and sending hem o he analysis p og am is p oposed as a u u e wo k, allowing a highe speed when analyzing ne wo k packe s. This would imply he implemen a ion o a daemon p og am ha allows he au oma ic cap u e and sending o packe s o he IDS p og am. In his way, i is a oided o sa e he a ic in a ile and i s la e eading, which would gua an ee i s ope a ion in eal ime. The package analysis p og am o ou IDS would emain in a loop wai ing o he ecep ion o he packages sen by he daemon p og am. Ano he p oposal o u u e wo k is o ca y ou a mo e exhaus i e analysis o he packages, adding, o example, he s udy o he con en o he "da a" ield, which, oge he wi h he analysis o he heade , would make i possible o de ec a g ea e numbe o a acks. The op ion o inco po a ing mo e p o ocols o analysis is also in e es ing. I is necessa y o emphasize ha he gene a ed ale s a e emi ed by console du ing he execu ion o he analysis p og am, a possible implemen a ion o imp o e he communica ion wi h he use would be o classi y he ale s acco ding o hei deg ee o impo ance and emi hese messages in a mo e dis inguishable way. Finally, al hough he unc ionali y o an IDS is o ale , i is in e es ing he possibili y o implemen ing a sys em ha allows o s op a package ha has been classi ied as an a ack. 57 Bibliog a ía [1] Tame AbuHmed, Abedelaziz Mohaisen y DaeHun Nyang, <<In oduc ion>>, en Deep Packe Inspec ion o In usion De ec ion Sys ems: A Su ey. In o ma ion Secu i y Resea ch Labo a o y, Inha Uni e si y, Incheon 402-751, Ko ea. [2]: Shon Ha is y Fe nando Maymí, <<In usion De ec ion Sys ems>>, en CISSP. All- in-One Examn Guide. Mc G aw Hill, (2016). P.822-824. [3]: OpenWebina s.ne . (2019). <<Qué es Sno >>. [online] A ailable a h ps://openwebina s.ne /blog/que-es-sno / [4]: Su ica a. (2019). <<Su ica a>>. [online] A ailable a : h ps://su ica a-ids.o g/ [5]: Vic o T uica. (2019). <<Unde s anding he Sno a chi ec u e>> [online] A ailable a : h ps:// uica- ic o .com/sno -a chi ec u e/ [6]: Vic o T uica. (2019). <<Sno a chi ec u e image>> [online] A ailable a : h ps:// uica- ic o .com/wp-con en /uploads/2014/03/sno -a ch-.png [7]: Segu idad y Redes. (2019). <<En endiendo y con igu ando Su ica a. Pa e I>> [online] A ailable a : h ps://segu idady edes.wo dp ess.com/2011/02/22/ids-ips- su ica a-en endiendo-y-con igu ando-su ica a-pa e-i/ [8]: Beh ouz A. Fo ouzan, <<The OSI model>>, en Da a communica ions and Ne wo king. Fou h Edi ion. Mc G aw Hill, (2007). P.29 [9]: Inmaculada Pa dines Lence, << A qui ec u a de p o ocolos TCP/IP>>, en 3.1. Vulne abilidades en p o ocolos de ed y a aques. T anspa encias de la asigna u a “Redes y Segu idad” del cu so (2018/2019). P.5 [10]: Beh ouz A. Fo ouzan, <<P o ocols and S anda ds>>, en Da a communica ions and Ne wo king. Fou h Edi ion. Mc G aw Hill, (2007). P.19 [11]: Beh ouz A. Fo ouzan, <<TCP/IP P o ocol Sui e>>, en Da a communica ions and Ne wo king. Fou h Edi ion. Mc G aw Hill, (2007). P.42 [12]: Beh ouz A. Fo ouzan, <<IP 4>>, en Da a communica ions and Ne wo king. Fou h Edi ion. Mc G aw Hill, (2007). P.582-597 [13]: Inmaculada Pa dines Lence, << In e ne P o ocol (IP)>>, en 3.1. Vulne abilidades en p o ocolos de ed y a aques. T anspa encias de la asigna u a “Redes y Segu idad” del cu so (2018/2019). P.9 [14]: Inmaculada Pa dines Lence, << Vulne abilidades en IP>>, en 3.1. Vulne abilidades en p o ocolos de ed y a aques. T anspa encias de la asigna u a “Redes y Segu idad” del cu so (2018/2019). P.21 [15]: Beh ouz A. Fo ouzan, << TCP >>, en Da a communica ions and Ne wo king. Fou h Edi ion. Mc G aw Hill, (2007). P.715 58 [16]: Inmaculada Pa dines Lence, << T ansmission Con ol P o ocol (TCP)>>, en 3.1. Vulne abilidades en p o ocolos de ed y a aques. T anspa encias de la asigna u a “Redes y Segu idad” del cu so (2018/2019). P.17 [17]: Inmaculada Pa dines Lence, << Vulne abilidades en TCP>>, en 3.1. Vulne abilidades en p o ocolos de ed y a aques. T anspa encias de la asigna u a “Redes y Segu idad” del cu so (2018/2019). P.25 [18]: Inmaculada Pa dines Lence, << A aques a p o ocolos de ed>>, en 3.1. Vulne abilidades en p o ocolos de ed y a aques. T anspa encias de la asigna u a “Redes y Segu idad” del cu so (2018/2019). P.27-41 [19]: Ra ael Mo eno Vozmediano, Inmaculada Pa dines Lence, Ca los González Cal o, Julio Sep ién del Cas illo, Edua do Huedo Cues a, Albe o del Ba io Ga cía, Rubén San iago Mon e o y Juan Ca los Fabe o Jiménez. <<El p o ocolo UDP>>, en Tema 5. La capa de anspo e. P o ocolos TCP y UDP. T anspa encias de la asigna u a “Redes” del cu so (2017/2018). P. 4,11-14. [20]: Inmaculada Pa dines Lence, << Use Da ag am P o ocol (UDP)>>, en 3.1. Vulne abilidades en p o ocolos de ed y a aques. T anspa encias de la asigna u a “Redes y Segu idad” del cu so (2018/2019). P.15 [21]: Inmaculada Pa dines Lence, << Vulne abilidades en UDP>>, en 3.1. Vulne abilidades en p o ocolos de ed y a aques. T anspa encias de la asigna u a “Redes y Segu idad” del cu so (2018/2019). P.25 [22]: Ra ael Mo eno Vozmediano, Inmaculada Pa dines Lence, Ca los González Cal o, Julio Sep ién del Cas illo, Edua do Huedo Cues a, Albe o del Ba io Ga cía, Rubén San iago Mon e o y Juan Ca los Fabe o Jiménez. <<El p o ocolo ARP >>, en Tema 4. La capa de ed. P o ocolo IP. T anspa encias de la asigna u a “Redes” del cu so (2017/2018). P. 32-40. [23]: Inmaculada Pa dines Lence, << Add ess Resolu ion P o ocol (ARP)>>, en 3.1. Vulne abilidades en p o ocolos de ed y a aques. T anspa encias de la asigna u a “Redes y Segu idad” del cu so (2018/2019). P.11 [24]: Inmaculada Pa dines Lence, << Vulne abilidades en ARP>>, en 3.1. Vulne abilidades en p o ocolos de ed y a aques. T anspa encias de la asigna u a “Redes y Segu idad” del cu so (2018/2019). P.21 [25]: Ra ael Mo eno Vozmediano, Inmaculada Pa dines Lence, Ca los González Cal o, Julio Sep ién del Cas illo, Edua do Huedo Cues a, Albe o del Ba io Ga cía, Rubén San iago Mon e o y Juan Ca los Fabe o Jiménez. <<El p o ocolo ICMP >>, en Tema 4. La capa de ed. P o ocolo IP. T anspa encias de la asigna u a “Redes” del cu so (2017/2018). P. 54-63 59 [26]: Inmaculada Pa dines Lence, << In e ne Con ol Message P o ocol (ICMP) >>, en 3.1. Vulne abilidades en p o ocolos de ed y a aques. T anspa encias de la asigna u a “Redes y Segu idad” del cu so (2018/2019). P.13 [27]: Inmaculada Pa dines Lence, << Vulne abilidades en ICMP>>, en 3.1. Vulne abilidades en p o ocolos de ed y a aques. T anspa encias de la asigna u a “Redes y Segu idad” del cu so (2018/2019). P.23 [28]: RedesZone. (2019). <<Od oid-XU4, un mini-o denado compa ible con Linux y And oid>>. [online] A ailable a : h ps://www. edeszone.ne /2015/07/18/od oid-xu4-un- mini-o denado -compa ible-con-linux-y-and oid/ [29]: PlusElec ic. (2019). <<A duino Uno: Especi icaciones y ca ac e ís icas>>. [online] A ailable a : h ps://pluselec ic.wo dp ess.com/2014/09/21/a duino-uno- especi icaciones-y-ca ac e is icas/ [30]: Pas o , J. (2019). <<Raspbe y Pi 3 Model B+, análisis: más po encia y mejo WiFi pa a un miniPC que sigue asomb ando>>. [online] Xa aka.com. A ailable a : h ps://www.xa aka.com/o denado es/ aspbe y-pi-3-model-b-analisis-mas-po encia-y- mejo -wi i-pa a-un-minipc-que-sigue-asomb ando [31]: Debian. (2019). [online] A ailable a : Debian h ps://www.debian.o g/index.es.h ml [32]: linux.o g. (2019). [online] A ailable a : h ps://www.linux.o g/ [33]: Raspbe ypi.o g. (2019). [online] A ailable a : h ps://www. aspbe ypi.o g [34]: Raspbian. (2019). <<Raspbian>>. [online] A ailable a : h ps://www. aspbe ypi.o g/downloads/ aspbian/ [35]: BalenaE che . (2019). [online] A ailable a : h ps://www.balena.io/e che / [36]: Wi esha k.o g. (2019). <<Wi esha k Go Deep>>. [online] A ailable a : h ps://www.wi esha k.com. [37]: Jupy e .o g. (2019). P ojec Jupy e . [online] A ailable a : h ps://jupy e .o g. [38]: Py hon. (2019). [online] A ailable a : h ps://www.py hon.o g/ [39] Inmaculada Pa dines Lence, <<Reglas>>, en 3.3.IDS. T anspa encias de la asigna u a “Redes y Segu idad” del cu so (2018/2019). P.23-25. [40]: Gi Hub. (2019). Build so wa e be e , oge he . [online] A ailable a : h ps://gi hub.com/. [41] Segu idad y Redes. (2019). Sno . Búsqueda de pa ones. Reglas de con enido. [online] A ailable a : h ps://segu idady edes.wo dp ess.com/2008/06/12/sno - busqueda-de-pa ones- eglas-de-con enido/ [42] Kali.o g. (2019). [online] A ailable a : h ps://www.kali.o g/downloads/.