tag:blogger.com,1999:blog-23782849976937050852024-03-14T00:34:32.693-07:00Articulos sobre Redesdanihttp://www.blogger.com/profile/13195633447011789597noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-2378284997693705085.post-41417012354006503762012-01-29T20:26:00.000-08:002012-01-29T20:26:18.159-08:00Protocolo BGP<span style="font-family: Times, "Times New Roman", serif;"><strong>¿Que es?</strong></span><br />
<br />
<span style="font-family: Times, "Times New Roman", serif;">BGP(Border Gateway Protocol) es un protocolo de <em>Enrutamiento</em> exterior utilizado principalmente por los proveedores de servicios Internet (<em>ISP</em>). Es un protocolo mediante el cual se intercambia informacion de enrutamiento entre sistemas autonomos.</span><br />
<br />
<span style="font-family: Times, "Times New Roman", serif;">El Border Gateway Protocol juega un papel crítico en las comunicaciones en Internet. Facilita el intercambio de información sobre redes IP, la comunicación entre sistemas autónomos (AS). Por tanto BGP es un protocolo interdominio (entre sistemas autónomos) e intradominio (dentro del mismo sistema autónomo).</span><br />
<span style="font-family: Times, "Times New Roman", serif;">El protocolo BGP se utiliza para intercambiar información. El intercambio de información en la red se realiza mediante el establecimiento de una sesión de comunicación entre los routers de borde de los sistemas autónomos. Para conseguir una entrega fiable de la información, se hace uso de una sesión de comunicación basada en TCP en el puerto número 179. Esta sesión debe mantenerse conectada debido a que ambos extremos de la comunicación periódicamente se intercambian y actualizan información. De modo que al principio, cada router envía al vecino toda su información de encaminamiento y después únicamente se enviarán las nuevas rutas, las actualizaciones o la eliminación de rutas transmitidas con anterioridad. Además periódicamente se envían mensajes para garantizar la conectividad. Cuando una conexión TCP se interrumpe por alguna razón, cada extremo de la comunicación está obligado a dejar de utilizar la información que ha aprendido por el otro lado. En otras palabras, la sesión TCP sirve como un enlace virtual entre dos sistemas autónomos vecinos, y la falta de medios de comunicación indica que el enlace virtual se ha caído. Cabe destacar que esa unión virtual tendrá mas de un enlace físico que conecte a los dos routers frontera, pero si una conexión virtual se cae no indica necesariamente que la conexión física se haya caído.</span><br />
<br />
<span style="font-family: Times, "Times New Roman", serif;"><strong>¿Donde se utiliza?</strong></span><br />
<br />
<span style="font-family: Times, "Times New Roman", serif;">En realidad, los proveedores de servicio(ISP), son los que utilizan el protocolo BGP, para el intercambio de informacion de ruta entre sistemas autonomos(SA); esto lo hace a traves de los routers externos de cada sistema autonomo.</span><br />
<br />
<span style="font-family: Times, "Times New Roman", serif;"><strong>¿Como funciona?</strong></span><br />
<br />
<div align="left"><span style="font-family: Times, "Times New Roman", serif;">La función principal de un sistema BGP es una red de intercambio de información de accesibilidad con otros</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">sistemas BGP. Esta información de accesibilidad de red incluye información sobre la ruta completa de los Sistemas Autónomos (AS’s) que el tráfico debe recorrer para llegar a estas redes. Esta información es suficiente para construir un gráfico de Conectividad de los AS y de los bucles de enrutamiento que pueden ser eliminados y algunas políticas de decisión de enrutamiento a nivel de AS que</span></div><span style="font-family: Times, "Times New Roman", serif;">pueden ser implementadas.</span><br />
<br />
<div align="left"><span style="font-family: Times, "Times New Roman", serif;">BGP corre sobre un protocolo de transporte fiable (TCP). Esto elimina la necesidad de aplicar la</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">actualización de fragmentación explícita, la retransmisión, el reconocimiento y el secuenciamiento. Se puede utilizar cualquier esquema de autenticación utilizado por el protocolo de transporte además de los propios mecanismos de autenticación de BGP. El mecanismo de notificación de error utilizado por BGP asume que el protocolo de transporte soporta un cierre agradable ("graceful"), es decir, que todos los datos pendientes se entregarán antes de que se cierre la conexión.</span></div><div align="left"><br />
</div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">Un AS es un conjunto de redes administradas por una misma organización que tiene definida una única política de encaminamiento, la cual decide las rutas admitidas desde los sistemas autónomos vecinos y las rutas que se envían hacia estos sistemas autónomos. Cada AS tiene un identificador (AS Number), formado por 16 bits, lo cual permitiría tener hasta 65,536 sistemas autónomos diferentes desde un punto de vista teórico. Los AS anuncian las rutas que ellos mismos pueden alcanzar a sus vecinos, y estos, a su vez, las reenvían a sus vecinos próximos añadiendo además las rutas alcanzables por ellos mismos. Estos anuncios se realizan mediante un mensaje BGP UPDATE, el cual contiene una serie de atributos, dentro de los cuales el más importante es el AS_PATH.</span></div><div align="left"><br />
</div><div align="left"><strong><span style="font-family: Times, "Times New Roman", serif;">PROBLEMAS DEL PROTOCOLO BGP</span></strong></div><div align="left"><br />
</div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">En principio, BGP se diseñó con un modelo basado en la confianza, para permitir el enrutamiento interdominio a través de todo Internet entre redes confiables. Sin embargo, han surgido intereses comerciales y nuevas comunidades de usuarios, los cuales, sumados al crecimiento de Internet, producen que el modelo no sea el mismo planteado originalmente. Siempre que se cambian los modelos de confianza se llegan a problemas, y esto es algo que ha ocurrido en otros casos en Internet, como es el caso del <i>spam </i>en el correo electrónico.</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">1.- <strong>Ataques que pueden producirse entre Peers</strong></span></div><div align="left"><br />
</div><div style="text-align: justify;"><span style="font-family: Times, "Times New Roman", serif;">Se ha desarrollado lo que se denomina un modelo de amenazas (<i>threat model</i>), para considerar aquellos ataques que son deseables de contrarrestar, el cual ha sido planteado en [4], y cuyas ideas abordamos a continuación. Se asume una operación BGP mínima, una comunicación entre dos <i>peers</i>, es decir, dos routers que se comunican sobre un canal compartido, el cual puede tener entidades maliciosas sobre él. Considerando esto, pueden darse los siguientes ataques:</span></div><div style="text-align: justify;"><span style="font-family: Times, "Times New Roman", serif;">• <i>Contra la confidencialidad</i>: Los mensajes entre ambos routers pueden ser observados por un atacante, lo que se denomina <i>eavesdropping </i>(escuchar detrás de la puerta). Se puede decir que este es un ataque <i>pasivo</i>. Muchos ISP’s y grandes organizaciones tienen relaciones de negocios, arreglos confidenciales de aprovisionamiento del 3 servicio. El ataque consiste en que el atacante observa los mensajes e infiere las políticas y el enrutamiento. Esto supone un grave problema dado que para muchas organizaciones sus políticas de enrutamiento son secretas.</span></div><div style="text-align: justify;"><span style="font-family: Times, "Times New Roman", serif;">• <i>Contra la integridad de los mensajes: </i>Consiste en que el atacante modifica los mensajes y los subvierte, de esta forma pueden darse los siguientes ataques:</span></div><div style="text-align: justify;"><span style="font-family: Times, "Times New Roman", serif;">i) <i>Inserción de mensaje</i>, el cual consiste en insertar mensajes con información de enrutamiento incorrecta,</span></div><div style="text-align: justify;"><span style="font-family: Times, "Times New Roman", serif;">podría forzar también a que se cierre la conexión, dado que cuando hay mensajes erróneos, BGP aborta la</span></div><div style="text-align: justify;"><span style="font-family: Times, "Times New Roman", serif;">sesión.</span></div><div style="text-align: justify;"><span style="font-family: Times, "Times New Roman", serif;">ii) <i>Borrado de mensaje</i>, con sisten en quitar los mensajes, y dado que BGP utiliza mensajes keep-alive</span></div><div style="text-align: justify;"><span style="font-family: Times, "Times New Roman", serif;">periódicamente enviados, si estos no se reciben, la sesión será cerrada.</span></div><div style="text-align: justify;"><span style="font-family: Times, "Times New Roman", serif;">iii) <i>Modificación de mensaje</i>, en este caso, se captura un mensaje durante su envío y se altera su contenido</span></div><div style="text-align: justify;"><span style="font-family: Times, "Times New Roman", serif;">antes de reenviarlo.</span></div><div style="text-align: justify;"><span style="font-family: Times, "Times New Roman", serif;">iv) <i>Ataque de repetición </i>(<i>reply attack</i>), en que el atacante intercepta los mensajes, los almacena y luego los envía al origen nuevamente. Se usa para producir que se reafirmen rutas que habían sido quitadas o quitar</span></div><div style="text-align: justify;"><span style="font-family: Times, "Times New Roman", serif;">las válidas, forzando que el router colapse.</span></div><div style="text-align: justify;"><span style="font-family: Times, "Times New Roman", serif;">• <i>Terminación no deseada de las sesiones: </i>El atacante puede aprovecharse del modelo de máquina de estados del protocolo BGP. Por ejemplo, si dos routers están configurando una sesión BGP, el router A le envía al B un mensaje OPEN y pasa al estado <i>OpenSent</i>. B recibe el mensaje y responde con otro mensaje OPEN, lo que hace que A pase al estado <i>OpenConfirm</i>. Cuando se ha completado la configuración de la sesión, A y B están en estado <i>Established</i>, en el que BGP regularmente opera. Si en este punto el atacante inserta un mensaje OPEN, la sesión se cerrará porque viola la respuesta esperada. Y si en este punto ambos reciben un mensaje falso de NOTIFICATION, la sesión se cerrará, porque dicho mensaje se envía para indicar que ha ocurrido un error.</span></div><div align="left"><br />
</div><div align="left"><strong><span style="font-family: Times, "Times New Roman", serif;">2.- Ataques a mayor escala</span></strong></div><div align="left"><br />
</div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">Debido a que hay cientos de miles de <i>routers </i>en Internet y que cada AS indirectamente está conectado a todos los demás mediante BGP, los ataques pueden afectar también a routers y a los AS’s lejanos.</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">• <i>Origen fraudulento: </i>Un AS puede anunciar información incorrecta con el mensaje UPDATE pasado a sus vecinos. Se pueden dar los siguientes casos:</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">i) <i>Secuestro de prefijo</i>: Un AS malicioso puede anunciar un prefijo que no es el suyo como propio, los vecinos reciben este anuncio y pueden enrutarle paquetes destinados a ese prefijo. El originador real del prefijo no recibirá dicho tráfico. Ante esta situación se puede dar lo siguiente: 1) <i>Black hole</i>, lo cual ocurre si el AS malicioso decide descartar dichos paquetes que eran destinados al verdadero origen, lo cual produce que las direcciones “secuestradas” no estén disponibles; dsde fuera esto se ve como una simple caída y no se detecta; y 2) Si el AS malicioso decide falsear todas las direcciones de su bloque (y no hay algún sistema de autenticación), puede apersonarse de los recursos e información del espacio de direcciones “secuestrado”; puede, por ejemplo, recibir contraseñas e información sensible.</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">ii) <i>Desagregación de prefijo</i>: Esto ocurre cuando el anuncio de un prefijo grande (por ejemplo, 12.0.0.0/8) se fragmenta o duplica en un conjunto de anuncios para prefijos más pequeños (por ejemplo 12.0.0.0/16). Como BGP realiza el <i>longest prefix matching</i>, en que se escoge el prefijo más pequeño para enrutar (el de la máscara más grande), escogería entonces el prefijo 12.0.0.0/16. Esto daña el rendimiento de BGP y de la red, incrementando el tamaño de las tablas de rutas y llenando la red con actualizaciones redundantes y muchas veces incorrectas. Si un AS reclama falsamente ser el origen de un prefijo y la actualización tiene un prefijo más largo que los otros actualmente en la tabla de enrutamiento global, entonces tendrá completamente secuestrado a ese prefijo, lo cual se propagará a sus vecinos y a toda la red.</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">• <i>Modificación intencional de la información de camino: </i>En este caso, se dan los siguientes problemas:</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">i) <i>Modificación del atributo AS_PATH</i>: Un AS malicioso puede falsear los atributos de camino (AS_PATH) de un mensaje UPDATE, modificando, quitando o insertando AS’s en él, o cambiando el orden de los AS’s (creando retardos, modificando patrones de tráfico).</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">ii) <i>Modificación del atributo MED (Multi-Exit Discriminator): </i>Este atributo se utiliza para sugerir una ruta preferida dentro de un AS hacia un AS externo. Esto puede producir que se vea disminuida la ingeniería de tráfico y las políticas de enrutamiento.</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">iii) <i>Modificación del atributo community: </i>Este atributo se usa para agrupar rutas con políticas comunes de</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">enrutamiento. Produce un efecto similar al anterior.</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">iv) Puede darse la alteración de caminos para transitar AS maliciosos, los cuales podrían recibir datos sensibles y enormes cantidades de información que no debería.</span></div><div align="left"><br />
</div><div align="left"><strong><span style="font-family: Times, "Times New Roman", serif;">3.- Otros ataques</span></strong></div><div align="left"><br />
</div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">• <i>Ataques a TCP</i>: i) <i>TCP RST attack</i>, que consiste en que si el atacante envía un paquete TCP RST, la conexión TCP se reiniciará; ii) <i>SYN flood attack</i>, en el cual el <i>hand-shake </i>de 3 vías se inicia (por el atacante) pero nunca es completado (ya que el atacante nunca envía el paquete de reconocimiento ante el handshake abierto); así la víctima saldrá de conexión, ya que debido a esto se puede reiniciar el dispositivo, o este será incapaz de cualquier otra transacción TCP.</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">• <i>Ataques a ICMP</i>: Un atacante puede modificar paquetes ping, poniéndoles la dirección del router víctima y enviarlos en broadcast. Así, las respuestas (ecos) saturarán al router, no permitiendo cualquier otro tráfico,</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">incluyendo los mensajes keep-alive de BGP, forzando la terminación de la sesión.</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">• <i>Ataques físicos</i>: Se pueden retirar los enlaces, lo cual altera todo el tráfico de enrutamiento. Sus consecuencias son:</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">- <i>Table reset</i>: Cuando un router queda fuera de línea, su tabla de enrutamiento necesita ser recreada y</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">reanuncia todos los prefijos que está originando, este proceso se conoce como reinicio de tabla (<i>table reset</i>). Los vecinos vierten sus tablas BGP y entonces tiene que tomar una serie de decisiones de enrutamiento, lo cual tiene una gran carga computacional y retrasa el tráfico.</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">- <i>Route flapping</i>: Esto ocurre si el router continuamente sale de línea, entonces las rutas que anuncia</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">desaparecerán y reaparecerán en las tablas de rutas de los peers, produciendo un daño en los demás routers</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">(carga computacional).</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">- <i>Route dampening</i>: Ocurre cuando, con el fin de minimizar el <i>route flapping</i>, las rutas inestables son</span></div><div align="left"><span style="font-family: Times, "Times New Roman", serif;">penalizadas. Así, los routers vecinos ignorarán los anuncios del router inestable (el tiempo de esto depende de la frecuencia de la inestabilidad). Esta supresión de rutas es un ataque altamente efectivo de negación del</span></div><span style="font-family: Times, "Times New Roman", serif;">servicio.</span><br />
<div align="left"><br />
</div><i><br />
<br />
<span style="font-family: Times, "Times New Roman", serif;">BGP es complicado de configurar. En un estudio [MAHAJAN 2002] se encontro que entre el 0.2 - 1 % de todos los prefijos en la tabla global, estan erroneamente configurados. Hay dos tipos de estos errores: 1) <em>configuracion erronea de exportacion, </em>que se produce cuando un AS exporta una ruta que debio haber filtrado; 2) <em>Configuracion erronea de origen,</em> que es cuando un AS accidentalmente inyecta un prefijo en las tablas BGP globales.</span><br />
<br />
<br />
<strong><span style="font-family: Times, "Times New Roman", serif;">CASO PAKISTAN</span></strong><br />
<br />
<span style="font-family: Times, "Times New Roman", serif;">El problema se originó por la manera en la que los ISPs comparten la información de ruta con los Border Gateway Protocol (BGP). El BGP es el estándar utilizado por los routers para encontrar los ordenadores en Internet, pero hay mucha información sobre direcciones BGP disponible. Para simplificar las cosas, los ISP comparten esta información entre ellos. Y esto puede provocar problemas cuando un ISP comparte datos erróneos con el resto de la red.<br />
<br />
Esto fue lo que pasó el domingo con YouTube. Los datos del BGP para bloquear el acceso a YouTube en Pakistán se emitieron por error a otros proveedores de servicio, haciendo que la avería se extendiera a los servidores de todo el mundo.<br />
<br />
Los proveedores de servicio normalmente validan la información BGP de sus clientes para asegurarse de que la información de ruta es acertada, pero en este caso, la Autoridad Pakistaní de Telecomunicaciones no lo hizo. Cuando el ISP pakistaní mandó los datos erróneos, este organismo terminó por compartirlos con ISPs de todo el mundo.<br />
<br />
<strong>CASO EGIPTO</strong></span><br />
<br />
<span style="font-family: Times, "Times New Roman", serif;">El cierre de Internet en Egipto por parte del gobierno Mubarak como reacción a la oleada de insurgencia coordinada a través de sitios sociales como blogs, Facebook o Twitter ha dejado clara la excesivamente elevada vulnerabilidad de la red al control gubernamental.</span><br />
<span style="font-family: Times, "Times New Roman", serif;">Un interesante artículo en GigaOM, “<em><strong>How Egypt switched off the Internet</strong>“</em>, basado en un <strong>detallado informe de Renesys</strong> explica cómo un gobierno ejecuta la decisión de desconectar completamente Internet tanto para sus ciudadanos en el interior, como para todos aquellos que desde el exterior pretendan acceder a recursos situados en el país. Un bloqueo total, algo que hemos presenciado en muy pocas ocasiones anteriormente, muy distinto de los cortes de acceso a determinados servicios como Twitter o Facebook llevados a cabo anteriormente por gobiernos como Irán o Túnez.</span><br />
<span style="font-family: Times, "Times New Roman", serif;">La caída de la red en Egipto se llevó a cabo de manera instantánea y con una certera efectividad: un 90% de las conexiones dejaron de funcionar al mismo tiempo, lo que equivale en la práctica a un “botón mágico” en manos de un dictador capaz de “apagar” de golpe Internet si estima que supone una amenaza. Una acción realizada a través de un control directo de todos los proveedores de acceso que operan en el país, que pasan a tener una importancia verdaderamente estratégica desde un punto de vista político.</span><br />
<span style="font-family: Times, "Times New Roman", serif;">Básicamente, la acción tiene lugar a dos niveles: en primer lugar, a nivel de DNS, que permite un control total del dominio .eg a todo aquel que pretenda acceder a recursos mediante el nombre de dominio. Pero dado que esto podría provocar una difusión inmediata de las direcciones IP numéricas de los servicios para poder acceder a través de éstas, utilizaron también el Border Gateway Protocol (BGP), el sistema a través del cual los proveedores de acceso a Internet publican dichas direcciones IP en la red: de manera simultánea, todos los proveedores de acceso del país dejaron de tener disponibles sus tablas de rutas. De repente, nadie sabe donde está nada ni puede acceder a nada: los usuarios desde fuera del país no pueden acceder a ningún recurso situado en un servidor dentro del país, y los usuarios desde dentro del país no pueden acceder a nada. Sin embargo, el bloqueo se puede establecer de manera selectiva: el mercado bursátil egipcio y algunas páginas web más siguieron funcionando sin problemas.</span></i><strong><span style="font-family: Times, "Times New Roman", serif;">4.- Problemas por configuraciones erroneas</span></strong>danihttp://www.blogger.com/profile/13195633447011789597noreply@blogger.com0