Internet parece ser una estructura fuerte, independiente e indestructible. En teoría, la fuerza de la red es suficiente para sobrevivir a una explosión nuclear. En realidad, Internet puede dejar caer un pequeño enrutador. Todo debido al hecho de que Internet es un montón de contradicciones, vulnerabilidades, errores y videos sobre gatos. La base de Internet, BGP, contiene muchos problemas. Es sorprendente que todavía esté respirando. Además de los errores en Internet, todos los demás lo están rompiendo: grandes proveedores de Internet, corporaciones, estados y ataques DDoS. ¿Qué hacer con él y cómo vivir con él?
Alexey Uchakin (
Night_Snake ), el líder del equipo de ingenieros de redes de IQ Option, conoce la respuesta. Su tarea principal es la accesibilidad de la plataforma para los usuarios. Al descifrar el informe de Alexey en
Saint HighLoad ++ 2019, hablaremos sobre BGP, ataques DDOS, desconexión de Internet, errores de proveedor, descentralización y casos en los que un pequeño enrutador envió a Internet a dormir. Al final, un par de consejos sobre cómo sobrevivir a todo esto.
El día que internet se ha roto
Daré solo unos pocos incidentes cuando la conectividad se rompió en Internet. Esto será suficiente para la imagen completa.
"Incidente con AS7007" . La primera vez que Internet falló en abril de 1997. Hubo un error en el software de un enrutador del sistema autónomo 7007. En algún momento, el enrutador anunció a los vecinos su tabla de enrutamiento interno y envió la mitad de la red al agujero negro.
Pakistán vs. YouTube . En 2008, los valientes de Pakistán decidieron bloquear YouTube. Lo hicieron tan bien que la mitad del mundo quedó sin sellos.
"Captura de los prefijos VISA, MasterCard y Symantec por Rostelecom" . En 2017, Rostelecom anunció por error los prefijos VISA, MasterCard y Symantec. Como resultado, el tráfico financiero pasó por canales que controla el proveedor. La filtración no duró mucho, pero las compañías financieras fueron desagradables.
Google v. Japón . En agosto de 2017, Google comenzó a anunciar los prefijos de los grandes proveedores japoneses NTT y KDDI en parte de sus enlaces ascendentes. El tráfico fue a Google como tránsito, muy probablemente por error. Como Google no es un proveedor y no permite el tráfico de tránsito, una parte importante de Japón se queda sin Internet.
"DV LINK ha capturado los prefijos de Google, Apple, Facebook, Microsoft" . En el mismo 2017, el proveedor ruso DV LINK, por alguna razón, comenzó a anunciar la red de Google, Apple, Facebook, Microsoft y algunos otros jugadores importantes.
"US eNet ha tomado los prefijos AWS Route53 y MyEtherwallet" . En 2018, un proveedor de Ohio o uno de sus clientes anunció la red Amazon Route53 y la billetera criptográfica MyEtherwallet. El ataque fue exitoso: incluso a pesar del certificado autofirmado, una advertencia sobre lo que le apareció al usuario cuando ingresó al sitio web MyEtherwallet, muchas billeteras secuestraron y robaron parte de la criptomoneda.
¡Hubo más de 14,000 incidentes de este tipo solo en 2017! La red todavía está descentralizada, por lo que no todos y no todos se descomponen. Pero los incidentes ocurren por miles, y todos están conectados con el protocolo BGP, en el que funciona Internet.
BGP y sus problemas
El
protocolo BGP - Border Gateway Protocol , fue descrito por primera vez en 1989 por dos ingenieros de IBM y Cisco Systems en tres "servilletas" - hojas A4. Estas
"servilletas" todavía se encuentran en la sede de Cisco Systems en San Francisco como una reliquia del mundo de las redes.
El protocolo se basa en la interacción de sistemas autónomos - Sistemas autónomos o en forma abreviada - AS. Un sistema autónomo es solo una identificación a la que se asignan las redes IP en el registro público. Un enrutador con esta ID puede anunciar estas redes al mundo. En consecuencia, cualquier ruta en Internet se puede representar como un vector llamado
AS Path . Un vector consta de números de sistema autónomo que deben completarse para llegar a una red de destino.
Por ejemplo, hay una red de varios sistemas autónomos. Debe pasar del sistema AS65001 al sistema AS65003. La ruta de un sistema está representada por AS Path en el diagrama. Consiste en dos autonomías: 65002 y 65003. Para cada dirección de destino hay un vector AS Path, que consiste en la cantidad de sistemas autónomos por los que tenemos que pasar.

¿Cuáles son los problemas con BGP?
BGP es un protocolo de confianza
Protocolo BGP: basado en la confianza. Esto significa que, por defecto, confiamos en nuestro vecino. Esta es una característica de muchos protocolos que se desarrollaron en los albores de Internet. Veamos qué significa "confianza".
Sin autenticación de vecino . Formalmente, hay MD5, pero MD5 en 2019, bueno, eso es ...
Sin filtrado BGP tiene filtros y se describen, pero no se usan o se usan incorrectamente. Explicaré por qué más tarde.
Es muy simple establecer un vecindario . Configuración de vecindario en el protocolo BGP en casi cualquier enrutador: un par de líneas de configuración.
No se requieren derechos de gestión de BGP . No es necesario realizar exámenes para confirmar sus calificaciones. Nadie le quitará los derechos para configurar BGP mientras está borracho.
Dos problemas principales
Secuestro de prefijo: secuestro de prefijo . El secuestro de prefijo es el anuncio de una red que no le pertenece, como es el caso de MyEtherwallet. Tomamos algunos prefijos, acordamos con el proveedor o lo pirateamos, y a través de él anunciamos estas redes.
Ruta de fugas - ruta de fugas . Las fugas son un poco más complicadas.
La fuga es un cambio en AS Path . En el mejor de los casos, el cambio dará lugar a un mayor retraso, ya que debe seguir la ruta por un enlace más largo o con menos capacidad. En el peor de los casos con Google y Japón.
Google en sí no es un operador ni un sistema autónomo de tránsito. Pero cuando anunció a su proveedor una red de operadores japoneses, el tráfico a través de Google a través de AS Path fue visto como una prioridad. El tráfico fue allí y cayó solo porque la configuración de enrutamiento dentro de Google es más complicada que solo los filtros en la frontera.
¿Por qué no funcionan los filtros?
A nadie le importa Esta es la razón principal: a todos no les importa. El administrador de un pequeño proveedor o compañía que se conectó al proveedor a través de BGP tomó MikroTik, configuró BGP en él y ni siquiera sabe que allí puede configurar filtros.
Errores de configuración Debutaron algo, cometieron un error en la máscara, colocaron la malla incorrecta y ahora, nuevamente, un error.
No hay posibilidad técnica . Por ejemplo, los proveedores de comunicación tienen muchos clientes. De manera inteligente, debe actualizar automáticamente los filtros para cada cliente: asegúrese de que tenga una nueva red, que haya arrendado su red a alguien. Hacer un seguimiento de esto es difícil; con tus manos es aún más difícil. Por lo tanto, simplemente ponen filtros relajados o no ponen filtros en absoluto.
Excepciones Hay excepciones para clientes queridos y grandes. Especialmente en el caso de juntas entre operadores. Por ejemplo, TransTeleCom y Rostelecom tienen un montón de redes y una unión entre ellas. Si la articulación se coloca, no será buena para nadie, por lo que los filtros se relajan o se quitan por completo.
Información desactualizada o irrelevante en la TIR . Los filtros se crean sobre la base de la información registrada en el
IRR - Registro de enrutamiento de Internet . Estos son registros de registradores regionales de Internet. A menudo en los registros información desactualizada o irrelevante, o todos juntos.
¿Quiénes son estos registradores?

Todas las direcciones de Internet son propiedad de
IANA - Autoridad de Números Asignados de Internet . Cuando compra una red IP de alguien, no compra direcciones, sino el derecho de usarlas. Las direcciones son un recurso intangible y, de común acuerdo, todas pertenecen a la agencia IANA.
El sistema funciona así. IANA delega la administración de direcciones IP y números de sistemas autónomos a cinco registradores regionales. Esos emiten sistemas autónomos a
LIR - registradores locales de Internet . A continuación, los LIR asignan direcciones IP a los usuarios finales.
La desventaja del sistema es que cada uno de los registradores regionales mantiene sus propios registros a su manera. Todos tienen sus propios puntos de vista sobre qué información debe estar contenida en los registros, quién debe o no verificarla. El resultado es un desastre, que es ahora.
¿De qué otra forma puedes lidiar con estos problemas?
La TIR es de calidad mediocre . Con la TIR está claro: todo está mal allí.
BGP-comunidades . Este es un atributo que se describe en el protocolo. Por ejemplo, podemos adjuntar una comunidad especial a nuestro anuncio para que un vecino no envíe nuestras redes a sus vecinos. Cuando tenemos un enlace P2P, solo intercambiamos nuestras redes. Para que la ruta no vaya accidentalmente a otras redes, colgamos la comunidad.
La comunidad no es transitiva . Este es siempre un contrato para dos, y este es su inconveniente. No podemos colgar ninguna comunidad, excepto una, que todos aceptan de manera predeterminada. No podemos estar seguros de que esta comunidad sea aceptada e interpretada correctamente por todos. Por lo tanto, en el mejor de los casos, si está de acuerdo con su enlace ascendente, él comprenderá lo que quiere de él en la comunidad. Pero su vecino puede no entender, o el operador simplemente restablecerá su marca, y no logrará lo que deseaba.
RPKI + ROA resuelve solo una pequeña parte de los problemas . RPKI es una
infraestructura de clave pública de recursos : un marco especial para firmar información de enrutamiento. Es una buena idea hacer que los LIR y sus clientes mantengan una base de datos de espacio de direcciones actualizada. Pero hay un problema con él.
RPKI es también un sistema jerárquico de clave pública. ¿IANA tiene una clave a partir de la cual se generan las claves RIR, y de ellas claves LIR? con el que firman su espacio de direcciones mediante ROA - Autorizaciones de origen de ruta:
"Les aseguro que este prefijo se anunciará en nombre de esta autonomía".Además del ROA, hay otros objetos, pero sobre ellos de alguna manera más tarde. Parece que la cosa es buena y útil. Pero no nos protege de las filtraciones de la palabra "completamente" y no resuelve todos los problemas con los prefijos de secuestro. Por lo tanto, los jugadores no tienen prisa por implementarlo. Aunque ya hay garantías de jugadores grandes como AT&T y IXs grandes que prefijos con un registro de ROA inválido caerán.
Tal vez lo harán, pero hasta ahora tenemos una gran cantidad de prefijos que no están firmados en absoluto. Por un lado, no está claro si se anuncian válidamente. Por otro lado, no podemos descartarlos de forma predeterminada, porque no estamos seguros de si esto es correcto o no.
Que mas hay
BGPSec . Esto es algo genial que los académicos inventaron para la red Pink Pony. Ellos dijeron:
- Tenemos RPKI + ROA: un mecanismo para la certificación de la firma del espacio de direcciones. Consigamos un atributo BGP separado y llamémosle BGPSec Path. Cada enrutador firmará con su firma los anuncios que anuncia a sus vecinos. Entonces obtenemos el camino confiable de la cadena de anuncios firmados y podemos verificarlo.En teoría, es bueno, pero en la práctica hay muchos problemas. BGPSec rompe muchos mecanismos BGP existentes al elegir el siguiente salto y administrar el tráfico entrante / saliente directamente en el enrutador. BGPSec no funciona hasta que el 95% de todos los participantes del mercado lo presentan, lo que en sí mismo es una utopía.
BGPSec tiene grandes problemas de rendimiento. En el hardware actual, la velocidad de verificación de anuncios es de aproximadamente 50 prefijos por segundo. A modo de comparación: la tabla actual de Internet de 700,000 prefijos se completará durante 5 horas, por lo que cambiará otras 10 veces.
Política abierta de BGP (BGP basada en roles) . Nueva oferta basada en el modelo
Gao Rexford . Estos son dos científicos que participan en la investigación de BGP.
El modelo de Gao Rexford es el siguiente. Para simplificar, en el caso de BGP hay una pequeña cantidad de tipos de interacciones:
- Proveedor Cliente;
- P2P;
- interacción interna, por ejemplo, iBGP.
Según la función del enrutador, ya es posible establecer ciertas políticas de importación / exportación de forma predeterminada. El administrador no necesita configurar listas de prefijos. Según el rol que los enrutadores acuerdan y que se puede configurar, ya tenemos algunos filtros predeterminados. Ahora, este es un borrador que se está discutiendo en el IETF. Espero que pronto veamos esto en forma de RFC e implementación en hardware.
Grandes proveedores de servicios de Internet
Considere el ejemplo de un proveedor de
CenturyLink . Este es el tercer mayor proveedor de EE. UU., Que atiende a 37 estados y tiene 15 centros de datos.
En diciembre de 2018, CenturyLink estuvo en el mercado estadounidense durante 50 horas. Durante el incidente, hubo problemas con la operación de cajeros automáticos en dos estados; el 911 no funcionó durante varias horas en cinco estados. La lotería de Idaho fue hecha pedazos. La Comisión de Telecomunicaciones de los Estados Unidos está investigando el incidente.
La razón de la tragedia está en una tarjeta de red en un centro de datos. La tarjeta falló, envió paquetes incorrectos y los 15 centros de datos del proveedor cayeron.

Para este proveedor, la idea de
"demasiado grande para caer" no funcionó. Esta idea no funciona en absoluto. Puedes tomar cualquier jugador importante y poner algo de bagatela. En los Estados Unidos, todo sigue siendo bueno con la conexión. Los clientes de CenturyLink que tenían una reserva entraron en masa. Luego, los operadores alternativos se quejaron de la sobrecarga de sus enlaces.
Si el kazajo condicional miente, todo el país se quedará sin Internet.
Corporaciones
¿Es probable que Google, Amazon, FaceBook y otras corporaciones estén conectadas a Internet? No, ellos también lo rompen.
En 2017 en San Petersburgo en la conferencia ENOG13,
Jeff Houston de
APNIC presentó el
informe "Muerte de tránsito" . Dice que estamos acostumbrados al hecho de que la interacción, los flujos de efectivo y el tráfico de Internet son verticales. Tenemos pequeños proveedores que pagan por la conectividad a los más grandes, y aquellos que ya pagan por la conectividad al tránsito global.

Ahora tenemos una estructura orientada verticalmente. Todo estaría bien, pero el mundo está cambiando: los grandes jugadores están construyendo sus cables transoceánicos para construir su propia columna vertebral.
Noticias sobre el cable CDN.En 2018, TeleGeography lanzó un estudio de que más de la mitad del tráfico en Internet ya no es Internet, sino la columna vertebral de los principales actores. Este es el tráfico relacionado con Internet, pero no es la misma red de la que hablamos.

Internet se está dividiendo en una amplia gama de redes poco acopladas.
Microsoft tiene su propia red, Google tiene la suya y se superponen débilmente entre sí. El tráfico que se originó en algún lugar de los EE. UU. Pasa por los canales de Microsoft a través del océano hacia Europa en algún lugar en un CDN, luego se conecta a su proveedor a través de CDN o IX y llega a su enrutador.
La descentralización desaparece.
Esta fuerza de Internet, que lo ayudará a sobrevivir a la explosión nuclear, se pierde. Hay lugares de concentración de usuarios y tráfico. Si el Google Cloud condicional miente, habrá muchas víctimas a la vez. En parte, sentimos esto cuando Roskomnadzor bloqueó AWS. Y con el ejemplo de CenturyLink, está claro que hay suficientes detalles para esto.
Anteriormente, no todo y no todo se rompió. En el futuro, podemos llegar a la conclusión de que al influir en un jugador importante, puedes romper muchas cosas, muchas dónde y muchas con quién.
Estados
Los estados siguientes en línea, y generalmente les sucede a ellos.

Aquí, nuestro Roskomnadzor nunca es pionero. Una práctica similar de cierre de Internet es en Irán, India, Pakistán. En Inglaterra hay un proyecto de ley sobre la posibilidad de desconectar Internet.
Cualquier estado grande quiere obtener un interruptor para apagar Internet, ya sea en su totalidad o en partes: Twitter, Telegram, Facebook. No entienden que nunca tendrán éxito, pero realmente lo quieren. Un interruptor de cuchilla se usa, por regla general, con fines políticos: para eliminar competidores políticos, o elecciones en la nariz, o los hackers rusos nuevamente rompieron algo.
Ataques DDoS
No tomaré el pan de los camaradas de Qrator Labs, lo hacen mucho mejor que yo. Tienen un
informe anual sobre la estabilidad de internet. Y aquí está lo que escribieron en el informe para 2018.
La duración promedio de los ataques DDoS se reduce a 2.5 horas . Los atacantes también comienzan a contar dinero, y si el recurso no se redujo de inmediato, se deja solo rápidamente.
La intensidad de los ataques está creciendo . En 2018, vimos 1.7 Tb / s en la red Akamai, y este no es el límite.
Aparecen nuevos vectores de ataque y los antiguos se amplifican . Aparecen nuevos protocolos que están sujetos a amplificación, aparecen nuevos ataques en protocolos existentes, especialmente TLS y similares.
La mayor parte del tráfico es de dispositivos móviles . Al mismo tiempo, el tráfico de Internet se transfiere a clientes móviles. Con esto necesitas poder trabajar tanto para quienes atacan como para quienes se defienden.
Invulnerable - no . Esta es la idea principal: no existe una protección universal que no proteja exactamente contra cualquier DDoS.
El sistema no puede instalarse solo si no está conectado a Internet.
Espero haberte asustado lo suficiente. Ahora pensemos qué hacer con él.
¿Qué hacer?
Si tiene tiempo libre, deseo y conocimiento de inglés, participe en grupos de trabajo: IETF, RIPE WG. Estas son listas de correo abiertas, suscribirse a boletines, participar en discusiones, venir a conferencias. Si tiene el estado LIR, puede votar, por ejemplo, en RIPE para varias iniciativas.
Para los simples mortales, esto es
monitoreo . Para saber lo que está roto.
Monitoreo: ¿qué verificar?
Ping normal , y no solo una comprobación binaria, funciona o no. Escriba RTT en el historial para observar anomalías más tarde.
Traceroute Este es un programa de utilidad para determinar rutas de datos en redes TCP / IP. Ayuda a detectar anormalidades y bloqueos.
HTTP verifica las URL personalizadas y los certificados TLS ayudarán a detectar el bloqueo o la falsificación de DNS para un ataque, que es casi lo mismo. Los bloqueos a menudo se realizan falsificando DNS y ajustando el tráfico en una página auxiliar.
Si es posible, consulte con sus clientes la resolución de su origen desde diferentes lugares, si tiene una aplicación. Por lo tanto, encontrará anomalías de intercepción de DNS, que los proveedores a veces pecan.
Monitoreo: ¿dónde verificar?
No hay una respuesta universal. Comprueba de dónde viene el usuario. Si los usuarios están en Rusia, verifique desde Rusia, pero no se limite a ello. Si sus usuarios viven en diferentes regiones, consulte desde estas regiones. Pero mejor de todo el mundo.
Monitoreo: ¿cómo verificar?
Se me ocurrieron tres formas. Si sabes más, escribe en los comentarios.
- RIPE Atlas.
- Monitoreo comercial.
- Red propia de virtualoks.
Hablemos de cada uno de ellos.
RIPE Atlas es una caja tan pequeña. Para aquellos que conocen al "Inspector" nacional, esta es la misma caja, pero con una etiqueta diferente.
RIPE Atlas es un programa gratuito . Usted se registra, recibe un enrutador por correo y lo conecta a la red. Por el hecho de que alguien más se aprovecha de su desglose, se le otorgarán algunos préstamos. Para estos préstamos, puede realizar algunas investigaciones usted mismo. Puede probar de diferentes maneras: ping, traceroute, verificar certificados. La cobertura es bastante grande, muchos nodos. Pero hay matices.
El sistema de crédito no permite construir soluciones de producción . Los préstamos para investigación continua o monitoreo comercial no son suficientes. Los créditos son suficientes para un estudio corto o un cheque único. La tasa diaria de una muestra se consume en 1-2 controles.
La cobertura es desigual . Dado que el programa es gratuito en ambas direcciones, la cobertura es buena en Europa, en la parte europea de Rusia y en algunas regiones. Pero si necesita Indonesia o Nueva Zelanda, entonces todo es mucho peor: 50 muestras por país pueden no ser recolectadas.
No puede verificar http de la muestra . Esto se debe a matices técnicos. , http . . - http check RIPE Atlas, Anchor.
— . , ? , « ». , , .
, . , http- . — .
. — , , . .
custom- . - , «» url, .
— . : « !»
, . , , — , ? . , . , -, .
BGP- DDoS-
.
BGP- QRadar, BGPmon . full view- . , , , . — , , .
DDoS- . ,
NetFlow-based .
FastNetMon ,
Splunk . DDoS-. NetFlow .
— . , 14 2017 , .
— . , , . , , « ».
— , , : , , CDN. — -, . , , .
Eso es todo. .
, HighLoad++ Siberia 2019 . , , . , , . 24 25 . !