Mostrando entradas con la etiqueta analytics. Mostrar todas las entradas
Mostrando entradas con la etiqueta analytics. Mostrar todas las entradas

sábado, 10 de junio de 2023

Análisis de 7 variables BGP en la región durante el 2022

Contexto de este análisis: Un poco de historia

Internet es un ambiente que cambia, incluso minuto a minuto, segundo a segundo. Cambian las rutas, cambian los sistemas autónomos. Todo esto hace al ecosistema de Internet más divertido e interesante.

Muchos de los que leemos diferentes listas de correo probablemente estemos acostumbrados a recibir un email los viernes llamado: “Weekly Global IPv4 Routing Table Report”, generado por Phillips Smith de NSRC (Network Startup Research Center). Lo cierto es que en ese correo envían datos muy valiosos sobre BGP y el mundo IPv4. Desde LACNIC nos preguntamos ¿qué podemos hacer con esa información? Y la respuesta fue: ¡vamos a procesarla!

Con todo esto en mente, construimos un parser para rescatar diferentes variables en el mundo de BGP de la lista de correo de LACNOG [1] con la intención de construir un histórico de diferentes variables en el mundo BGP que abarque varios años. Con esta información nos preguntamos ¿Cuánto cambiaron las estadísticas de BGP en nuestra región durante el 2022? Aquí te damos la respuesta.


Los datos utilizados

Los datos utilizados para el presente análisis son tomados exclusivamente de la lista de correo de LACNOG en: https://mail.lacnic.net/mailman/listinfo/lacnog, filtrado por los emails con el título: “Weekly Global IPv4 Routing Table Report”


Alcance

Este análisis abarca únicamente el área de cobertura de LACNIC durante el periodo que comprende desde el 1 de enero al 31 de diciembre de 2022. Es importante destacar que los datos son exclusivamente en el ámbito de IPv4.


Las variables estudiadas fueron:

  •     Prefijo anunciado por los AS de la región de LACNIC
  •     AS de origen de la región de LACNIC presentes en la tabla de enrutamiento de Internet
  •     AS de origen de la región de LACNIC que anuncian un solo prefijo
  •     AS de la región de LACNIC que brindan tránsito y que están presentes en la tabla de enrutamiento de Internet
  •     Número de direcciones de LACNIC anunciadas a Internet
  •     Factor de desagregación de LACNIC
  •     Prefijos de LACNIC por ASN


¿Por qué estas variables?

Las variables expresadas anteriormente son las que consideramos principales debido a que representan el estado de BGP en algún momento determinado, con las mismas y colocándolas en una línea de tiempo podemos conocer con precisión cambios importantes en nuestra región y a su vez, muchas de las otras variables mencionadas en el informe semanal son una sencilla matemática de las que ya tenemos.


Ejemplo de los datos procesados (tomado [2])

Resumen de datos de la región de LACNIC

——————————

Prefixes being announced by LACNIC Region ASes: 117404

Total LACNIC prefixes after maximum aggregation: 28499

LACNIC Deaggregation factor: 4.12

Prefixes being announced from the LACNIC address blocks: 116794

Unique aggregates announced from the LACNIC address blocks: 48887

LACNIC Region origin ASes present in the Internet Routing Table:  10986

LACNIC Prefixes per ASN: 10.63

LACNIC Region origin ASes announcing only one prefix: 2672

LACNIC Region transit ASes present in the Internet Routing Table:  2278

Average LACNIC Region AS path length visible: 4.9

Max LACNIC Region AS path length visible: 55

Number of LACNIC region 32-bit ASNs visible in the Routing Table:  8784

Number of LACNIC addresses announced to Internet: 176436224

Equivalent to 10 /8s, 132 /16s and 52 /24s

LACNIC AS Blocks 26592-26623, 27648-28671, 52224-53247, 61440-61951, 64099-64197, 262144-273820 + ERX transfers

LACNIC Address Blocks  177/8, 179/8, 181/8, 186/8, 187/8, 189/8, 190/8, 191/8, 200/8, 201/8,


Procesamiento de los datos 

Los datos fueron procesados en su totalidad utilizando Python3 sobre Linux. Particularmente la librería beautifulsoup [3] fue muy útil para realizar el scraping de la lista de correo. Las gráficas son generadas por Google Charts a través de su API.


Resultados:

  •     Prefijo anunciado por los AS de la región de LACNIC












Este indicador expresa el número de prefijos anunciados a Internet por sistemas autónomos de LACNIC. Muestra un crecimiento ligero pero constante, el mismo tuvo un alza de 5%, aumentando 5.857 prefijos en un periodo de 364 días, comenzando el 1 de enero de 2022 con 111.641 y finalizando el 31 de diciembre del mismo año en 117.498 prefijos.

  • AS de origen de la región de LACNIC presentes en la tabla de enrutamiento de Internet



Este indicador representa la cantidad de sistemas autónomos asignados por LACNIC que son visibles en la tabla global de Internet (DFZ – Default Free Zone). Se aprecia una gráfica muy constante, con un muy leve crecimiento de apenas 1%, aumentando 117 ASs en un periodo de 364 días, comenzando el 1 de enero de 2022 con 10.893 y finalizando el 31 de diciembre del mismo año en 11.010.


  • AS de origen de la región de LACNIC que anuncian un solo prefijo


Esta variable indica la cantidad de sistemas autónomos asignados por LACNIC que anuncian sólo un prefijo a la tabla global de Internet (DFZ – Default Free Zone). A pesar de parecer senoidal, las variaciones en esta gráfica tampoco son tan marcadas (se puede apreciar observando el eje de las Y y su escala). Fue un valor muy estable durante todo el año y al final tuvo una pequeña alza de 0,2%, aumentando 6 ASs que anuncian sólo un prefijo en un periodo de 364 días, comenzando el 1 de enero de 2022 con 2662 y finalizando el 31 de diciembre del mismo año en 2668.

  • AS de la región de LACNIC que brindan tránsito y que están presentes en la tabla de enrutamiento de Internet





Esta interesante variable expresa la cantidad de ASs en la región de LACNIC que realizan tránsito a otro AS;la misma tuvo un crecimiento de 4,2%, con una añadidura de 92 ASs de LACNIC que realizan tránsito a otro AS en un periodo de 364 días, comenzando el 1 de enero de 2022 con 2188 y finalizando el 31 de diciembre del mismo año en 2280.

  • Número de direcciones de LACNIC anunciadas a Internet


Este valor indica la cantidad de direcciones IPv4 únicas asignadas por LACNIC que son visibles en la tabla global de enrutamiento (DFZ – Default Free Zone). La cantidad de direcciones IPv4 visibles tuvo un decrecimiento de 0,3% disminuyendo en 447488 direcciones. Para el 1 de enero de 2022 fueron visibles 176521472 direcciones y para el 31 de diciembre del mismo año 176073984.

  • Factor de desagregación de LACNIC


El factor de desagregación puede sonar complicado, pero a su vez es un valor a tener muy en cuenta. Este es el típico caso donde menos quiere decir más.  En esta oportunidad la región de LACNIC termina el año (31/Dic/2022) con un factor de desagregación de 4.13 comenzando con 4.09 (1/Enero/2022), lo que significa que ocurrió un aumento de 0,04. Un factor de desagregación más alto implica que se están anunciando más prefijos específicos para la dirección de destino/padre, lo que puede proporcionar una granularidad y precisión mayores en las decisiones de enrutamiento. Sin embargo, un factor de desagregación más alto también puede llevar a un aumento en los requisitos de memoria y procesamiento para los routers. Lo ideal en este caso es que los operadores de red revisen sus anuncios y que no realizar anuncios sin necesidad, por ejemplo, minimizar el subnetting en el anuncio.


Para que veamos el impacto, una red con 10.000 anuncios y con un factor de 4 de desagregación, en el caso utópico que lleven el factor 1, tan solo tendría 2.500 anuncios.


  • Prefijos de LACNIC por ASN




Este valor representa la cantidad de prefijos promedios que realizan los AS de la región de LACNIC, una variable sin mayores variaciones durante todo el año.  Tuvo un crecimiento de 0,48% aumentando de 10,32 a 10,8 prefijos promedio por ASs.

Conclusiones:

A continuación, se presentan las conclusiones principales:
  •     Se observa un crecimiento constante de un 5% de los prefijos anunciados a Internet por sistemas autónomos de LACNIC durante 2022 (de 111.641 a 117.498)
  •     El número de sistemas autónomos asignados por LACNIC que son visibles en la tabla global de Internet muestra una gráfica constante con un leve crecimiento del 1%. Durante el año, se incrementaron en 117, pasando de 10,893 a 11,010 ASes.
  •     Estabilidad en los ASes de origen de LACNIC que anuncian solo un prefijo: La cantidad de sistemas autónomos asignados por LACNIC que anuncian únicamente un prefijo a la tabla global de Internet se mantuvo relativamente estable a lo largo del año. Hubo un aumento del 0.2%, pasando de 2,662 a 2,668 ASes que anuncian solo un prefijo.
  •     Se aprecia un crecimiento del 4.2% en la cantidad de sistemas autónomos que realizan tránsito a otros sistemas autónomos. Durante el año, se agregaron 92 ASes de LACNIC que realizan tránsito, pasando de 2,188 a 2,280.
  •     En cuanto a la cantidad de direcciones IP visibles en la DFZ y teniendo en cuenta que no son prefijos sino números de IP podríamos decir que se mantiene estable. La disminución es despreciable. Quizás la conclusión principal es que no han aumentado pese al agotamiento, lo que daría a entender que no hay nuevos bloques que se hayan comenzado a anunciar
  •     El factor de desagregación se mantuvo sin casi variaciones, pero tuvimos al final un aumento pequeño, como se mencionó anteriormente esto no es positivo para el ecosistema de Internet.

Referencias:

[1] https://mail.lacnic.net/mailman/listinfo/lacnog

[2] https://mail.lacnic.net/pipermail/lacnog/2023-March/009429.html

[3] https://pypi.org/project/beautifulsoup4/

[4] https://stats.labs.lacnic.net/BGP/ParserWeeklyBGPUpdate/ParserWeeklyBGPUpdate.html

[5} Github del parser: https://github.com/LACNIC/WeeklyParserForBGPStats


martes, 23 de junio de 2020

Panorámica sobre secuestro de redes. Un mal que nos agobia

Introducción
  El objetivo del presente post es exponer de una manera sencilla la realidad en
cuanto al secuestro de redes. Se verán  estadísticas de lo que sucede en las
regiones de todos los RIRs, sin embargo siempre se brindará más detalle de lo
que acontece en la región de LAC.


Terminología
Secuestro de red o Hijack
  Es el apoderamiento ilegítimo de una red IP manipulando las tablas BGP


Evento
Para este documento, “evento” corresponde a cualquier actividad en torno al
secuestro de redes (pe, secuestrar / ser secuestrado)


Secuestrador
  El actor que realiza el secuestro de una red.


Secuestrado
  Es la organización dueña de los recursos que son víctima del secuestro.


Los datos 
  El origen de los datos corresponde a la cuenta de twitter @bgpstream ubicada
en: https://twitter.com/bgpstream la cual es mantenida por bgpmon (ahora parte
de Cisco). Se aprecia que incluso es un CSV donde podemos extraer mucha
información valiosa. 


Un ejemplo de la información contenida en un tweet es:


BGP,HJ,hijacked prefix AS58065 196.196.120.0/24, PACKETEXCHANGE,
SE,-,By AS57858 AS57858, EU, http://bgpstream.com/event/240117


Veamos en detalle la información de los datos del ejemplo:
HJ = La info contentiva de este tweet que corresponde a un Hijack, un
secuestro de red  (estos son los tipos de tweets que precisamos)
AS58065 = AS Origen del prefijo de la red
SE = Código del país correspondiente al prefijo de la red
196.196.120.0/24 = Prefijo de red secuestrado
AS57858 = AS del secuestrador
http://bgpstream.com/event/240117 URL para obtener más detalles del
evento. Es importante destacar que luego de entrar al link, @bgpstream
define estos eventos como: “Possible BGP hijack”.  En este sentido se
presume que en algunas oportunidades existirán falsos positivos.


Para la geolocalización de los recursos de Sistemas Autónomos (AS) se utilizó el
API de RIPE NCC ubicado en:
https://www.ripe.net/manage-ips-and-asns/db/support/documentation/ripe-database-
documentation/how-to-query-the-ripe-database/14-3-restful-api-queries


Universo del estudio
Todos los tweets desde el 1 de Enero de 2016 al 31 de Mayo de 2020 de la
cuenta twitter @bgpstream siendo un total de 45.000 (todos los eventos)


Muestra utilizada para el estudio 


La muestra para el estudio se obtuvo mediante la selección de  los tweets que
contenían en el texto siglas HJ (indicando Hijack). Resultaron un total de 6573
tweets que constituyen la muestra del estudio.


Procedimiento para el procesamiento de los datos
TweeterScraper fue la herramienta utilizada para extraer los tweets de la cuenta
@bgpstream y luego con scripts propios se procedió a filtrar solo aquellos
correspondientes a secuestro de prefijos (Hijacks).


 Las herramientas utilizadas fueron:


  • TweetScraper
  • Python3
  • Adicionalmente se utilizó el API de RIPE NCC para geolocalización de varios
recursos:
https://www.ripe.net/manage-ips-and-asns/db/support/documentation/ripe-
database-documentation/how-to-query-the-ripe-database/14-3-restful-api-queries


Resultados obtenidos 


Cantidad  de secuestros por año (1 de Enero 2016 hasta 31 de Mayo 2020)


En la tabla y gráfica siguientes se aprecian la cantidad de secuestros conseguidos
desde el 2016 a la fecha. 
Si se realiza la matemática para un cálculo diario se puede apreciar que son
números alarmantes.


Año
Total Secuestros
IPv4
IPv6
2016
2065
1825
240
2017
1880
1595
285
2018
1879
1693
186
2019
577
539
38
2020
172
148
24

6573
5800
773




¿Cómo es el comportamiento por mes? 


Se quiso determinar si este comportamiento estaba más o menos acentuado
según el mes del año.  
Colocando la lupa al gráfico anterior quisimos averiguar cual mes del año es el que
más eventos posee. Para conseguir este valor se tomó la data desde el año 2016 al
2019 (6383 registros), no se procesó el año 2020 debido a ser el año en curso. Se
agruparon los eventos por mes y se hizo un desglose adicional según IPv4 e IPv6.
A continuación se muestran las gráficas con los resultados.


Se puede distinguir para los totales que el mes con más actividad es Noviembre
y el mes con menos movimiento es Marzo. Sin embargo, es interesante destacar que
IPv6 aparece como segundo mayor cantidad de secuestros durante el mes de Marzo.


¿Alguna hora del día donde exista mayor cantidad de secuestros?
Adicionalmente tuvimos la curiosidad de conocer si quizás existían algunas horas del
día más propensas a observar secuestros de red. Para este estudio se utilizaron
todos los registros disponibles y se tomó únicamente el entero de la hora del
reporte (indicadas en UTC -4). Por ejemplo, un reporte donde el horario indica
14:23 se procesó únicamente el número 14. 


Las horas de más pico son las 11 y 16 (UTC -4) y las horas menos ocupadas fueron
desde las 21 hasta la 01 (UTC -4). Una vez más se puede aprovechar el desglose
adicional de IPv4 e IPv6.


Cantidad de secuestro de rutas diferenciada por RIR
En la tabla inferior se muestra por día de la semana cuál es el RIR que más secuestros
recibe (según Sistema Autónomo del secuestrado)



RIPE
APNIC
LACNIC
ARIN
AFRINIC
Friday 
393
307
115
328
24
Monday 
411
284
81
280
16
Saturday 
264
130
46
140
16
Sunday 
140
90
31
77
3
Thursday 
517
280
127
372
21
Tuesday 
411
183
66
282
27
Wednesday 
375
240
131
284
53


Particularmente los prefijos correspondientes a LACNIC tienen su día de mayor
movimiento los Miércoles con 131 registros.


¿Desde cuál RIR se generan más secuestros de rutas?
La siguiente tabla muestra según el día de la semana cual es el RIR que realiza más
secuestros (según Sistema Autónomo del secuestrador)



RIPE
APNIC
LACNIC
ARIN
AFRINIC
Friday 
416
213
150
341
24
Monday 
362
194
168
326
14
Saturday 
220
123
49
167
24
Sunday 
121
87
36
86
6
Thursday 
462
183
200
349
108
Tuesday 
388
181
117
257
12
Wednesday 
333
159
152
387
32


Y específicamente LACNIC comparte el mismo día Jueves como su mayor
movimiento en este rubro.


¿Cuál es el día de la semana con menos secuestros por RIR?
Sin sorpresa podemos darnos cuenta que el día de menos actividad en cuanto a los
secuestros de red son los días de Domingo.


AFRINIC
Sunday
LACNIC
Sunday
APNIC
Sunday
ARIN
Sunday
RIPE
Sunday


¿Cuáles prefijos son los más secuestrados? 
Para esta sección creamos la siguiente tabla de frecuencias. 
Mostramos únicamente los bloques secuestrados 4 o más veces.


Prefijo
Nro de veces
150.150.150.0/24
4
192.5.59.0/24
4
2a04:c007::/32
4
78.24.184.0/21
4
79.143.84.0/24
4
87.236.213.0/24
4
91.209.131.0/24
4
91.220.21.0/24
4
121.52.203.0/24
5
185.76.17.0/24
5
5.5.5.0/24
5
103.15.168.0/24
7
185.58.128.0/24
7
187.16.216.0/21
7
2.2.2.0/24
7
2001:bf7:170::/44
8
80.249.208.0/21
18


En la tabla anterior es muy llamativo el valor de la moda, corresponde al prefijo
80.249.208.0/21, curiosamente supera en más del doble la frecuencia inmediata
anterior. En otro orden de ideas, en lo personal esperábamos observar los prefijo
1.1.1.0/24 o 1.0.0.0/24 sin embargo los mismos no aparecen. 
Por otro lado es llamativo que el prefijo 2.2.2.0/24 que no posee ROA si se
encuentra en la lista, ¿se deberá a la magia de RPKI?


¿Cuál máscara de red se utiliza más frecuentemente para secuestrar prefijos?
Luego de obtener los prefijos con mayor frecuencia de secuestro se nos ocurrió
identificar qué máscara/longitud de prefijo eran los más utilizados. Para obtener este
valor utilizamos toda la muestra. Aquí la respuesta tanto para v4 como para v6.


En el mundo IPv4


En el mundo IPv6


  Lo anterior indiscutiblemente me recordó un antiguo post llamado: “BGP: Filtrar
por tamaño de la red en BGP, he ahí el dilema” que se puede conseguir en
https://blog.acostasite.com/2017/03/bgp-filtrar-por-tamano-de-la-red-en-bgp.htmlEn ese documento se realiza una recomendación
para aprender cierto tamaño de prefijos en caso de no poder recibir la tabla
completa BGP.


TOP 10 de países más afectados por secuestro de prefijos
La siguiente tabla muestra el código de país y la cantidad de veces que fue afectado
por eventos.


Posición
Country
Times
1
US
859
2
BR
702
3
IN
350
4
CN
319
5
GB
277
6
DE
264
7
RU
208
8
NL
199
9
IR
177
10
HK
172


Se puede observar que en la región de LACNIC, Brasil es el país que sufre la
mayor cantidad de secuestros de prefijos (y segundo en el mundo). Por otro lado,
no se aprecia en la tabla pero para la región de LAC le seguirían Argentina con 80,
Colombia con 59 y Chile con 58, secuestros de red respectivamente.


¿Y cuales son los países que realizan más secuestros de red?


La siguiente tabla muestra el código de país desde el cual se han realizado más
secuestros de rutas y la cantidad de eventos detectados.


Ranking
Eventos
CC
1
1034
US
2
703
BR
3
307
RU
4
226
IN
5
181
DE
6
172
HK
7
172
GB
8
153
PL
9
148
IR
10
146
CH


Una vez más observamos a nuestros amigos de Brasil en segundo lugar. Ahora bien,
si seguimos en la lista, en nuestra región tenemos a Argentina en el puesto 17 con 85,
Colombia en el 28 con 42 y Venezuela en el 38 con 25 secuestros.


¿Alguna curiosidad?


Revisando ASs que hayan realizado secuestros conseguimos el AS2147483647 el
cual es reservado, el mismo realizó un total de 36 secuestros entre el año 2016 y el
2018, siendo el último evento el día 2 de Junio del 2018. 


¿Algunas sumas no te cuadran?
  • Nuestras disculpas, en algunas pocas oportunidades no ha sido posible obtener
el RIR y/o país de algún prefijo y/o AS.


Conclusiones
  • Se puede apreciar que el secuestro de redes es una realidad y ninguna región
se escapa de ellos.
  • Existe una disminución marcada de secuestros por año, gran parte debido a la
mejora de las buenas prácticas buscando redes más resilientes, implementación y
uso de RPKI e IRR. Lastimosamente  igualmente creemos que será sempiterno.
  • La región de LACNIC no escapa de esta problemática y por ello se hace
necesario un arduo trabajo de concientización en torno a este tema
  • A pesar de que la fuente de datos pueda tener algún margen de error pensamos
que como información referencial es suficientemente convincente.


Futuros pasos
  • Identificar la duración de un secuestro
  • Obtener más fuentes de información
  • Conocer el margen de error de los datos mostrados (recordemos que los datos
publicados por @bgpstream son “possible hijacks” )


Referencias:



BGP Multipath tradicional y AS Multipath Relax en una red IPv6

En el video se describe, explica y muestra paso a paso como es el comportamiento por defecto en una red BGP, luego con el BGP Multipath trad...