
tabi — Updated!
إطار عمل لكشف وتصنيف أحداث اختطاف بادئات IP الخاصة ببروتوكول BGP من خلال معالجة ملفات تفريغ MRT، مع دعم لعدة محللات إدخال وتحليل تلقائي للتعارضات.
مثال متقدم
يوضح هذا المثال كيفية استخدام وحدة tabi من أجل اكتشاف جميع اختطافات BGP المحتملة التي تُرى من مجمع BGP.
المتطلبات
تحذير: قبل تجربة هذا المثال، تأكد من أن لديك على الأقل 2 جيجابايت من الذاكرة الحرة على جهاز الكمبيوتر الخاص بك.
تم وصف إجراء التثبيت في ملف README الرئيسي.
محلل MRT
هذا المثال متوافق مع mabo و 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
يطبع هذا البرنامج النصي للأمثلة الأحداث غير الطبيعية التي تم اكتشافها بواسطة وحدة tabi. بالإضافة إلى ذلك، يحاول تصفية التعارضات التي من المرجح أن تكون مشروعة باستخدام الطرق التالية:
- الإعلان المتعارض مشمول بـ ROA
- الإعلان المتعارض مشمول بكائن مسار
- هناك علاقة إدارية بين AS المتعارضين
- يحتوي
AS_PATHللمختطف على ASN الخاص بالمختطف
هذه الاستدلالات موثقة في وحدة tabi.annotate.
تفسير النتائج
مثال التحديث
في هذا المثال، يؤدي الإعلان الذي يقوم بتحديث مسار 2403:8600:ea89::/48 القادم من AS55441 إلى إعادة توجيه محتملة لحركة المرور التي كانت موجهة في البداية نحو AS131317. هذا مشبوه نظرًا لوجود كائن مسار صالح و ROA للمسار الأصلي ولكن ليس لأحدث تحديث للمسار.
{
"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: عندما تم استلام الإعلان (طابع زمني UTC)
- collector: أي مجمع BGP استلم الإعلان
- peer_ip و peer_as: أي نظير BGP استلم الإعلان
- announce: معلومات حول الإعلان
- type: إما
Uإذا تم استلام الإعلان من تحديث BGP أوFإذا كان من عرض كامل لـ BGP
- type: إما
- conflict_with: معلومات حول إدخال RIB المتعارض مع الإعلان
- valid: كائنات المسار أو ROA على الزوج
prefixوasn
- valid: كائنات المسار أو ROA على الزوج
مثال السحب
في هذا المثال، يؤدي الإعلان الذي يسحب المسار 23.192.176.0/20 من AS5570 إلى إعادة توجيه محتملة لحركة المرور نحو AS35889 الذي يُعلن عن مسار إلى البادئة الأقل تحديدًا 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: عندما تم استلام الإعلان (طابع زمني UTC)
- collector: أي مجمع BGP استلم الإعلان
- peer_ip و peer_as: أي نظير BGP استلم الإعلان
- withdraw: معلومات حول السحب
- conflict_with: معلومات حول إدخال RIB المتعارض مع الإعلان