آسیبپذیری در زیرسیستم VLAN Trunking Protocol یا VTP متعلق به زیرمجموعه ی Cisco IOS و Cisco IOS XE ممکن است به یک مهاجم بدون احراز هویت، توانایی آلودهسازی دیتابیس VTP داخلی روی یک دستگاه را تحت تاثیر قرار داده و موجب حملات Denial of Service یا DoS گردد.
این آسیبپذیری به سبب خطایی منطقی در این مورد که نرمافزار تحت تاثیر چگونه به یک Subset از Packetهای VTP رسیدگی مینماید، رخ میدهد. مهاجم میتواند با ارسال Packetهای VTP در یک توالی که موجب بروز Timeout در کد پردازش پیام VTP متعلق به نرمافزار تحت تاثیر میگردد، از این آسیبپذیری سوءاستفاده نماید. یک نفوذ با این آسیبپذیری میتواند به مهاجم توانایی تاثیر گذاشتن روی قابلیت ایجاد، اصلاح و یا حذف VLANها را بدهد و سبب ایجاد شرایط DoS گردد و راهکارهایی برای رسیدگی به این آسیبپذیری وجود دارد.
این آسیبپذیری روی دستگاههای سیسکوی تاثیرگذار است که نسخهی آسیبپذیری از نرمافزار Cisco IOS و یا Cisco IOS XE را اجرا میکنند و در دو Mode مربوط بهVTP Client یاVTP Server عمل میکنند که نام دامین VTP روی آن تنظیم نشده باشد. تنظیمات پیشفرض برای تجهیزات سیسکو که نرمافزار Cisco IOS یا Cisco IOS XE را اجرا میکنند و از VTP پشتیبانی مینمایند، این است که بدون نام دامین پیکربندیشدهای در VTP server mode عمل کنند.
تعیین پیکربندی VTP
برای تعیین حالت عملیاتی VTP و اینکه آیا یک نام دامین VTP برای یک دستگاه تنظیم شده است یا خیر، مدیران میتوانند به دستگاه Log in کنند، در CLI از دستور «show vtp status» استفاده کرده و نتیجهی دستور را مشاهده نمایند.
مثال زیر نتیجهی دستور «show vtp status» را برای دستگاهی نشان میدهد که از پیکربندی پیشفرضی استفاده مینماید که هدفش عمل کردن در حالت سرور VTP بدون نام دامین پیکربندیشده میباشد. اگر دستگاه در حال اجرای نسخهی آسیبپذیری از Cisco IOS یا Cisco IOS XE نیز باشد، آن دستگاه تحت تاثیر این آسیبپذیری قرار خواهد گرفت.
Switch# show vtp status
VTP Version capable : 1 to 3
VTP version running : 1
VTP Domain Name :
VTP Pruning Mode : Disabled
VTP Traps Generation : Disabled
Device ID : 0cd9.9675.dd80
Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00
Local updater ID is 192.168.88.1 on interface Vl1 (lowest numbered VLAN interface found)
Feature VLAN:
————–
VTP Operating Mode : Server
Maximum VLANs supported locally : 1005
Number of existing VLANs : 5
Configuration Revision : 0
MD5 digest : 0x57 0xCD 0x40 0x65 0x63 0x59 0x47 0xBD
0x56 0x9D 0x4A 0x3E 0xA5 0x69 0x35 0xBC
Switch#
مثال زیر نتیجهی دستور «show vtp status» را برای دستگاهی نشان میدهد که در حالت سرور VTP عمل میکند و دارای نام دامین MYVTPDOMAIN میباشد. دستگاه تحتتاثیر این آسیبپذیری قرار نمیگیرد، زیرا نام دامین VTP برای این دستگاه پیکربندی شده است.
Switch# show vtp status
VTP Version capable : 1 to 3
VTP version running : 1
VTP Domain Name : MYVTPDOMAIN
VTP Pruning Mode : Disabled
VTP Traps Generation : Disabled
Device ID : 0cd9.9675.dd80
Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00
(Local updater ID is 192.168.88.1 on interface Vl1 (lowest numbered VLAN interface found
Feature VLAN:
————–
VTP Operating Mode : Server
Maximum VLANs supported locally : 1005
Number of existing VLANs : 5
Configuration Revision : 0
MD5 digest : 0xFE 0x33 0x43 0x04 0x9D 0x91 0x37 0x58
0x66 0xA0 0x68 0x3F 0x74 0x6A 0x22 0x5B
Switch#
تعیین نسخهی نرمافزار Cisco IOS
مدیران شبکه میتوانند برای تعیین اینکه کدام نسخهی Cisco IOS روی دستگاه در حال اجراست، در دستگاه Log in کرده، در CLI از دستور Show Version استفاده کنند و سپس به Banner سیستم که مشاهده میشود، رجوع نمایند. اگر دستگاه در حال اجرای Cisco IOS باشد، Banner سیستم متنی شبیه به «Cisco Internetwork Operating System Software» یا «Cisco IOS Software» را نمایش میدهد. Banner همچنین نام Image نصب شده را در پرانتز نشان میدهد و در ادامه، شمارهی نسخه و نام نسخهی Cisco IOS نمایش داده میشود. بعضی از دستگاههای سیسکو از دستور Show Version پشتیبانی نمیکنند و ممکن است خروجی متفاوتی را ارائه دهند.
مثال زیر خروجی دستور را برای دستگاهی نشان میدهد که در حال اجرای Cisco IOS نسخهی15.5(2)T1 است و دارای نام Image نصب شدهی C2951-UNIVERSALK9-M میباشد:
Router> show version
(Cisco IOS Software, C2951 Software (C2951-UNIVERSALK9-M), Version 15.5(2)T1, RELEASE SOFTWARE (fc1
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2015 by Cisco Systems, Inc.
Compiled Mon 22-Jun-15 09:32 by prod_rel_team
.
.
.
تعیین نسخهی نرمافزار Cisco IOS XE
برای تعیین اینکه کدام نسخهی Cisco IOS XE روی دستگاه در حال اجرا است، مدیران میتوانند در دستگاه Log In کرده، در CLI از دستور Show Version استفاده کنند و سپس به Banner رجوع نمایند. اگر دستگاه در حال اجرای Cisco IOS XE باشد، Banner سیستم «Cisco IOS Software» یا «Cisco IOS XE Software» یا متنی مشابه را نمایش میدهد.
مثال زیر خروجی دستور را برای دستگاهی نشان میدهد که در حال اجرای Cisco IOS XE نسخهی 16.2.1 است و دارای نام Image نصبشدهی CAT3K_CAA-UNIVERSALK9-M میباشد:
ios-xe-device# show version
Cisco IOS Software, Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), Version Denali 16.2.1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2016 by Cisco Systems, Inc.
Compiled Sun 27-Mar-16 21:47 by mcpre
.
.
.
محصولاتی که آسیبپذیر نبودنشان تایید شده است
تنها محصولاتی که در بخش «محصولات آسیبپذیر» فهرست شدهاند تحت تاثیر این آسیبپذیری قرار گرفتهاند و سیسکو تایید کرده است که این آسیبپذیری روی Cisco IOS XR یا Cisco NX-OS تاثیرگذار نیست.
جزئیات
- این آسیبپذیری به سبب خطایی منطقی در این مورد که IOS تحت تاثیر چگونه به یک Subset از Packetهای VTP رسیدگی مینماید رخ میدهد. مهاجم میتواند با ارسال Packetهای VTP در یک توالی (Sequence) که موجب بروز یک Timeout در کد پردازش پیام VTP متعلق به نرمافزار تحت تاثیر میگردد، از این آسیبپذیری سوءاستفاده کند.
برای اینکه بتوان از این آسیبپذیری سوءاستفاده نمود، دستگاه باید Packetهای VTP را از طریق پورتی که به عنوان یک پورت Trunk عمل میکند، دریافت نماید. اگر Packetهای VTP روی پورتی دریافت گردند که به عنوان یک پورت دسترسی فعالیت میکند، دستگاه آنها را پردازش نمینماید.
روی اکثر دستگاههای سیسکو که Cisco IOS یا Cisco IOS XE را اجرا میکنند و از VTP پشتیبانی مینمایند، پیکربندی پورت پیشفرض برای یک پورت سوئیچ Dynamic Auto است. یک پورت در پیکربندی Dynamic Auto را میتوان با استفاده از دستگاهی که به آن متصل است، به یک پورت Trunk تبدیل نمود. مدیرانی که در پورتهای سوئیچ خود، از این تنظیمات استفاده مینمایند باید تعیین کنند که آیا چنین کاری موردنیاز یا مطلوب است یا خیر. اگر چنین نیست و تنها انتظار میرود که از پورتها برای فراهم کردن دسترسی شبکه برای Hostها استفاده گردد، ممکن است مدیران پیکربندی مجدد پورتها را مد نظر قرار دهند تا به پورتهایStatic Access تبدیل گردند.
نشانههای تهدیدات امنیتی
سوءاستفاده از این آسیبپذیری میتواند پیامهای Logging زیر را ایجاد کند:
Aug 29 2018 13:02:57.434 EST: %SW_VLAN-4-VTP_INTERNAL_ERROR: VLAN manager received an internal error 4 from vtp function vtp_get_domain_info: No such domain
-Traceback= 463F74z 1DE5DE4z 2253E40z 2257D14z 2254C88z 22593C8z 2B0A128z 2B0A194z 225AA28z 225827Cz 2255540z 297DD08z 297A088z
Aug 29 2018 13:03:27.445 EST: %SW_VLAN-4-VTP_INTERNAL_ERROR: VLAN manager received an internal error 4 from vtp function vtp_get_domain_info: No such domain
-Traceback= 463F74z 1DE5DE4z 2253E40z 2257D14z 2254C88z 22593C8z 2B0A128z 2B0A194z 225AA28z 225827Cz 2255540z 297DD08z 297A088z
Aug 29 2018 13:03:57.444 EST: %SW_VLAN-4-VTP_INTERNAL_ERROR: VLAN manager received an internal error 4 from vtp function vtp_get_domain_info: No such domain
-Traceback= 463F74z 1DE5DE4z 2253E40z 2257D14z 2254C88z 22593C8z 2B0A128z 2B0A194z 225AA28z 225827Cz 2255540z 297DD08z 297A088z
Aug 29 2018 13:04:27.449 EST: %SW_VLAN-4-VTP_INTERNAL_ERROR: VLAN manager received an internal error 4 from vtp function vtp_get_domain_info: No such domain
-Traceback= 463F74z 1DE5DE4z 2253E40z 2257D14z 2254C88z 22593C8z 2B0A128z 2B0A194z 225AA28z 225827Cz 2255540z 297DD08z 297A088z
این پیام تقریبا هر 30 ثانیه یک بار رخ میدهد. مقادیری که بعد از Traceback= نوشته شدهاند، نسخهی مربوطه هستند.
راهکارها
برای جلوگیری از سوءاستفاده از این آسیبپذیری، مدیران میتوانند با استفاده از دستور پیکربندی «vtp domain» در CLI، یک نام دامین VTP را برای دستگاهی پیکربندی نمایند.
IOS اصلاحشده
زمانی که مشتریان قصد بروزرسانی دارند، پیشنهاد میشود که بطور مرتب به مطالب مشاورهای برای محصولات سیسکو مراجعه نمایند تا بتوانند Exposure و راهکار ارتقای کاملی را بیابند.
در تمام موارد، مشتریان باید اطمینان حاصل کنند که دستگاههایی که قرار است ارتقا داده شوند، حاوی حافظهی کافی هستند و تایید کنند که پیکربندیهای سختافزاری و نرمافزاری کنونی به طور مناسب توسط نسخههای جدید پشتیبانی خواهند شد.
Cisco IOS و IOS XE
برای اینکه مشتریان بتوانند تعیین کنند که در Cisco IOS و IOS XE تا چه اندازه در معرض آسیبپذیری هستند، سیسکو ابزاری را به نام Cisco IOS Software Checker فراهم کرده است که هر مطلب مشاورهای متعلق به سیسکو که روی نسخهی نرمافزاری خاصی تاثیر میگذارد را شناسایی کرده و همچنین آخرین نسخهای را مییابد که آسیبپذیریهایی را که در هر مطلب مشاورهای شرح داده شده است اصلاح مینماید. این ابزار همچنین تازهترین نسخهای که تمام آسیبپذیریهایی که در مطالب مشاورهای شناسایی شده شرح دادهشدهاند را بازمیگرداند.
مشتریان میتوانند از این ابزار برای انجام Taskهای زیر استفاده نمایند:
- آغاز یک جستجو با انتخاب یک یا چند نسخه از یک لیست Drop-Down یا آپلود یک فایل از سیستمی Local برای اینکه ابزار مجزا گردد.
- وارد کردن خروجی دستور Show Version برای اینکه ابزار آن را تجزیه کند.
- ایجاد یک جستجوی سفارشی شامل تمام مطالب مشاورهای امنیتی سیسکو، یک مطالب مشاورهای خاص، یا تمام مطالب مشاورهای در تازهترین بستهی منتشر شده.
برای تعیین اینکه آیا یک نسخه تحت تاثیر یک یا چند مطلب مشاورهای امنیتی سیسکو بوده است یا خیر، باید ازCisco IOS Software Checker روی سایت Cisco.com استفاده نمود.
Cisco IOS Software Checker به طور پیشفرض شامل نتایجی است که محدود به آسیبپذیریهایی هستند که دارایSecurity Impact Rating یا به اختصار SIR حیاتی یا بالا باشند. برای اینکه نتایج شامل آسیبپذیریهای SIR متوسط هم بشوند، باید از Cisco IOS Software Checker روی سایت Cisco.com استفاده نمود و در لیست Impact Rating گزینهی Medium را نیز علامتگذاری کرد.