
Detección de secuestro BGP
Este ejemplo demuestra cómo usar el módulo tabi para detectar todos los posibles secuestros BGP vistos desde un recolector BGP.
ADVERTENCIA: Antes de probar este ejemplo, asegúrate de tener al menos 2 GB de memoria libre en tu computadora.
El procedimiento de instalación se describe en el README principal.
Este ejemplo es compatible con mabo y bgpreader.
python detect_hijacks.py -c rrc01 -i mabo \
--rpki-roa-file roa.csv \
--irr-ro-file routes.csv \
--irr-mnt-file maintainers.csv \
--irr-org-file organisations.csv \
../../{bview,updates}.*.gz
Este script de ejemplo imprime los eventos anormales que fueron detectados por el módulo tabi. Además, intenta filtrar los conflictos que son más probablemente legítimos utilizando los siguientes métodos:
AS_PATH del secuestrador contiene el ASN del secuestradoEstas heurísticas están documentadas en el módulo tabi.annotate.
En este ejemplo, el anuncio que actualiza la ruta de 2403:8600:ea89::/48 originado desde AS55441 lleva a la probable redirección del tráfico que inicialmente estaba dirigido hacia AS131317. Esto es sospechoso porque hay objetos de ruta y ROA válidos para la ruta original pero no para la última actualización de ruta.
{
"timestamp" : 1451609472,
"collector" : "rrc01",
"peer_ip" : "2001:7f8:4::7992:1",
"peer_as" : 31122,
"announce" : {
"prefix" : "2403:8600:ea89::/48",
"asn" : 55441,
"as_path" : "31122 6939 6453 4755 45820 55441",
"type" : "U"
},
"conflict_with" : {
"prefix" : "2403:8600:ea89::/48",
"asn" : 131317,
"valid" : [
"apnic",
"roa"
]
},
"type" : "ABNORMAL"
}
U si el anuncio se recibió de una actualización BGP o F si fue de una vista completa BGPprefix & asnEn este ejemplo, el anuncio que retira la ruta 23.192.176.0/20 de AS5570 lleva a la probable redirección del tráfico hacia AS35889, que está anunciando una ruta al prefijo menos específico 23.192.0.0/11.
{
"timestamp" : 1451609643,
"collector" : "rrc01",
"peer_ip" : "195.66.224.138",
"peer_as" : 2914,
"withdraw" : {
"asn" : 55740,
"prefix" : "23.192.176.0/20",
"type" : "W"
},
"conflict_with" : {
"prefix" : "23.192.0.0/11",
"asn" : 35994
},
"type" : "ABNORMAL"
}