
tabi — Mis à jour !
Détection de détournement BGP
Exemple avancé
Cet exemple montre comment utiliser le module tabi afin de détecter
tous les détournements BGP possibles observés depuis un collecteur BGP.
Prérequis
AVERTISSEMENT : Avant d'essayer cet exemple, assurez-vous d'avoir au moins 2 Go de mémoire libre sur votre ordinateur
La procédure d'installation est décrite dans le README principal.
Analyseur MRT
Cet exemple est compatible avec mabo et bgpreader.
Détecter les détournements
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
Ce script d'exemple affiche les événements anormaux détectés par le
module tabi. De plus, il tente de filtrer les conflits qui sont très
probablement légitimes à l'aide des méthodes suivantes :
- l'annonce en conflit est couverte par une ROA
- l'annonce en conflit est couverte par un objet route
- il existe une relation administrative entre les deux AS en conflit
- le
AS_PATHdu détourneur contient l'ASN de l'AS détourné
Ces heuristiques sont documentées dans le module tabi.annotate.
Interpréter les résultats
Exemple de mise à jour
Dans cet exemple, l'annonce qui met à jour la route de 2403:8600:ea89::/48
provenant de l'AS55441 entraîne probablement la redirection du trafic qui
était initialement destiné à l'AS131317. C'est suspect car il existe des
objets route et des ROA valides pour la route d'origine, mais pas pour la
dernière mise à jour de route.
{
"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"
}
- timestamp : moment où l'annonce a été reçue (horodatage UTC)
- collector : quel collecteur BGP a reçu l'annonce
- peer_ip & peer_as : quel pair BGP a reçu l'annonce
- announce : informations sur l'annonce
- type :
Usi l'annonce a été reçue d'une mise à jour BGP, ouFsi elle provient d'une vue complète BGP
- type :
- conflict_with : informations sur l'entrée RIB en conflit avec l'annonce
- valid : objets route ou ROA sur le couple
prefix&asn
- valid : objets route ou ROA sur le couple
Exemple de retrait
Dans cet exemple, l'annonce qui retire la route 23.192.176.0/20 de l'AS5570
entraîne probablement la redirection du trafic vers l'AS35889, lequel annonce
une route vers le préfixe moins spécifique 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"
}
- timestamp : moment où l'annonce a été reçue (horodatage UTC)
- collector : quel collecteur BGP a reçu l'annonce
- peer_ip & peer_as : quel pair BGP a reçu l'annonce
- withdraw : informations sur le retrait
- conflict_with : informations sur l'entrée RIB en conflit avec l'annonce