NFV به مجازیسازی توابع شبکه گفته میشود. در یک سیستم NFV تجهیزات سختافزاری در واقع سرورها، ذخیرهسازها و حافظههای با دسترسی تصادفی رمها هستند که توان پردازشی، حافظه ذخیرهسازی و ارتباطات شبکهای برای NFVها را از طریق یک لایه مجازیسازی فراهم میآورند. معماری NFV از چهار لایه مجزا تشکیل شده است. از ریسکهای امنیتی مرتبط با NFV میتوان ریسک شکست در تفکیک، شکست در پیادهسازی صحیح توپولوژی شبکه، حملات رد سرویس و … را نام برد. از نمونههای بهترین شیوههای تضمین امنیت در NFV نیز میتوان استفاده از ماژول پلتفرم قابل اعتماد و امنیت کرنل لینوکس، نام برد.
کلمات کلیدی: مجازیسازی توابع، امنیت، NFV ،SDN.
NFV به مجازیسازی توابع شبکه گفته میشود و به عبارت دیگر یعنی ارائه سرویسهای مختلف شبکه بدون نیاز به سخت افزار و این به معنی عدم وابستگی به سختافزار خاص است. NFV به عنوان یکی از زیرساختهای پایهای نوین در 5G برای تحقق بسیاری از سرویسهای جدید در 5G ضروری است. NFV ابزاری فراهم میکند تا بتوان عملکردهای شبکه را بدون نیاز به تجهیزات سختافزاری جدید پیادهسازی کرد. این قابلیت به صورت خاص امکان شبکهسازی چابک[1] و پیادهسازی مقرونبهصرفه توابع شبکه را میسر میسازد. در یک سیستم NFV تجهیزات سختافزاری در واقع سرورها، ذخیرهسازها و رمها هستند که توان پردازشی، حافظه ذخیرهسازی و ارتباطات شبکهای برای NFVها را از طریق یک لایه مجازیسازی[2] فراهم میآورند. NFV زمان عرضه به بازار توابع شبکه را کاهش داده و قابلیت برقراری سرویسهای نرمافزاری بر اساس نیاز مشتری در کوتاهترین زمان ممکن را میسر میسازد. با این وجود امنیت در NFV نگرانیهای مهمی درباره قابلیت انطباق آن با زیرساختهای مخابراتی به همراه دارد.
معماری NFV
معماری NFV از چهار لایه مجزا تشکیل شده است:
لایه مجازیسازی توابع شبکه[3]: این لایه شامل دو زیربخش [4]VNF و [5]EMS است. بخش VNF از جمله بلاکهای ابتدایی معماری NFV است که توابع شبکه را مجازی سازی میکند و این VNFها بر روی ماشینهای مجازی اجرا میشوند. بخش EMS وظیفه مدیریت VNF را بر عهده دارد. توابع مدیریت شامل مدیریت خطا ، پیکربندی ، حسابداری ، عملکرد و امنیت است.
لایه NFVi[6]: این لایه زیرساخت مورد نیاز برای اجرای اجزای سخت افزاری و نرم افزاری را فراهم میکند. به عبارت دیگر محیطی را برای استقرار، مدیریت و اجرای VNFها ایجاد میکند.
لایه OSS[7]/BSS[8]: بخش OSS با مدیریت شبکه ، مدیریت خطا ، مدیریت پیکربندی و مدیریت خدمات سروکار دارد و BSS مسئول مدیریت مشتری ، مدیریت محصول و مدیریت سفارشات است.
لایه MANO[9]: لایه MANO با هر دو لایه NFVI و VNF تعامل دارد. لایه MANO تمام منابع موجود در لایه زیرساخت را مدیریت میکند، همچنین توانایی حذف و ایجاد منابع را دارد و و مدیریت تخصیص VNFها نیز از وظایف آن است.

شکل 1: معماری NFV
ریسکهای امنیتی NFV
ریسک شکست در تفکیک: سناریویی را در نظر بگیرید که در آن مهاجم با حمله به یک NFV که بر روی یک Hypervisor اجرا میشود میکوشد تا به آن نفوذ کند. با در دست گرفتن کنترل سیستم عامل یک NFV و به کارگیری ارتباط با شبکه مدیریت ابری و استفاده از ابزارهای کمکی، مهاجم به API مدیریت Hypervisor دست خواهد یافت و از این طریق کنترل Hypervisor را بهدست خواهد گرفت که این میتواند نتایج مخربی به دنبال داشته باشد. این حملات به جهت تفکیک نامناسب بین NFVها و Hypervisor میتوانند اتفاق بیفتند. این حمله ، VM Scape نامیده میشود.
شکست در پیادهسازی صحیح توپولوژی شبکه: با به کارگیری NFV ، المانهای شبکه مجازی مانند روترها مجازی میتوانند به سرعت پیادهسازی و به کار گرفته شوند. افزایش سرعت توسعه و پیاده سازی شبکه ممکن است سبب شود که ما نظارت کافی را از دست داده و در برخی نقاط پروتکلهای امنیتی را در نظر نگیریم، برای نمونه فایروال مورد نیاز را نصب نکنیم. این امر یک نقطه ضعف امنیتی بوده و ممکن است به سرعت موجب نفوذ مهاجمان به شبکه گردد. در مقایسه با پیادهسازی تجهیزات شبکه فیزیکی پویایی تجهیزات شبکه مجازی و ارتباطات آن میتواند منجر به تفکیک نامناسب بین شبکه و زیرشبکههای آن گردد. مهاجم در صورت نبود تجهیزات حفاظت امنیتی کافی مانند دیوار آتش قوی، IPS/IDS و DPI قادر خواهد بود اطلاعات کافی در مورد زیرساخت شبکه چندسایتی را بهدست بیاورد.
شکست در انطباق با قوانین رگولاتوری: در گذشته با توجه به حضور المانهای فیزیکی توابع شبکه مانند سوئیچها و روترها امکان تغییر موقعیت فیزیکی آنها وجود نداشت اما با توسعه SDN و ایجاد NFVها امکان حملات تغییر موقعیت قرارگیری یک NFV از یک نقطه به نقطه دیگر وجود خواهد داشت. چنانچه در
شکل 2 نیز نشان داده شده است تغییر موقعیت به نحوی که با قوانین رگولاتوری انطباق نداشته باشد ممکن است منجر به توقف کامل سرویس گردد که احتمال دارد هدف اصلی مهاجم برای آسیب به اپراتور باشد.
حملات رد سرویس: حملات رد سرویس به شبکه مجازی یا واسطهای عمومی NFVها انجام میشود تا بتوانند منابع شبکه را به طور کامل مصرف و معطل نمایند و دسترسی به سرویس را متوقف کنند. یک حجم زیاد از ترافیک میتواند از یک NFV آسیب دیده تولید شده و به دیگر NFVها ارسال شود. برای نمونه یک حالت از این حملات که به DNS Amplification نیز معروف است در شکل 3 ارائه شده است. در این تصویر فرد مهاجم پس از حمله و بهدست گرفتن کنترل چندین قربانی، مرتب اقدام به تولید تعداد زیادی درخواست ARP مینماید. این درخواستها به سمت سرور DNS هدایت میشوند. Orchestrator مخصوص این سیستم قادر خواهد بود در صورت افزایش حجم درخواستها یک نسخه جدید از این سرور vDNS را بارگذاری نماید و این فرآیند تکراری تا زمانی که ظرفیت سیستم برای توسعه بیشتر به پایان برسد ادامه خواهد یافت و پس از آن تبعا سیستم قادر به پاسخگویی به درخواستهای بیشتر نخواهد بود.

شکل 2: حمله تغییر موقعیت قرارگیری NFV
مهاجمان مزاحم داخلی: گاهی اوقات ممکن است که حملات از داخل شبکه و توسط مهاجمان بدخواه داخلی باشد. در این سناریو یک کاربر مدیر سیستم[10] ممکن است که کپی از حافظه سیستم دریافت کرده و با استخراج شناسه کاربری کاربران و کلمات کلیدی SSH امنیت سیستم را به خطر بیندازد. در چنین سناریویی وجود یک سیستم مدیریت شناسه کاربران و کنترل دسترسی یا همان IAM میتواند مفید باشد.
علیرغم خطرات امنیتی معرفی شده توسط NFV و اقدامات امنیتی ذکر شده که باید در نظر گرفته شوند، این واقعیت را باید در نظر گرفت که NFV فرصتهای امنیتی جدیدی فراهم میکند درحالی که از راهکارهای تحقق امنیت از زمان طراحی و امنیت بعنوان یکسرویس پشتیبانی میکند. مزیتی که NFV به ارمغان میآورد ایناست که نمونهسازی خودکار و مدیریت چرخه عمر منابع و خدمات مجازی را از طریق چارچوب NFV MANO ترویج میکند. در نهایت، شایان ذکر است که پیاده سازی طراحی خوب کنترلهای امنیتی، نظارت مستمر، پیشگیری، شناسایی و کاهش حملات در معماری NFV را تضمین میکند که برای یک محیط امن NFV ضروری است [1].

شکل 3: یک نمونه از حمله DNS Amplification با هدف ایجاد شرایط رد سرویس
نمونههای از بهترین شیوههای تضمین امنیت در NFV
استفاده از ماژول پلتفرم قابل اعتماد([11]TPM): با استفاده از یک TPM به عنوان یک سختافزار قابل اعتماد، اجزای حساس سیستم از قبیل سختافزار پلتفرم، BIOS، OS Kernel و دیگر اجزای حساس سیستم به صورتی امن ذخیرهسازی و نگهداری میشوند. اطلاعات داخل پلتفرم صرفا زمانی که سیستم مجددا راهاندازی میشود بازخوانی میشوند و هیچ راهی برای نوشتن اطلاعات جدید بر روی TPM در حالتی که سیستم روشن و در حال اجرا باشد وجود ندارد. تایید صحت و اعتبار اطلاعات داخل آن نیز صرفا توسط رویه کنترل راهاندازی TPM (LCP[12]) و یا توسط سرور راه دور Attestation قابل انجام خواهد بود.
امنیت کرنل لینوکس: در پلتفرمهای مجازی کرنل سیستمهای میزبان یک جزء بسیاری حیاتی است که تجزیه بین کاربرها را فراهم میکند. SELinux ماژولیاست که توسط آژانس امنیت ملی آمریکا توسعه یافته است و این ماژول در داخل کرنل ایجاد شده و تفکیک قوی بین کاربران موقت بخشهای مختلف ماشین مجازی ایجاد مینماید. مجازیسازی امن (sVirt[13]) یک فرم جدید از SELinux است که به منظور یکپارچهسازی اجباری بین امنیت کنترل دسترسی با Hypervisorهای مبتنی بر لینوکس توسعه یافته است. فرای این ابزارها، ابزارهای ایمنسازی کرنل دیگری نیز وجود دارند که Hidepd یکی از آنها است. این نرمافزار به این منظور ایجاد شده است که کاربران غیرمجاز یک سیستم نتوانند به اطلاعات فرآیندهای کاربران دیگر دسترسی یابند.

شکل 4: خلاصهای از ریسکهای امنیتی و اهداف آنها و راهکارهای کاهش احتمال وقوع آنها
بررسی و نظارت بر Hypervisor: با بررسی و نظارت بر Hypervisor میتواند با دقت بالا نرمافزارهای نصب شده داخل ماشینهای مجازی را بررسی کند تا بتواند رفتارهای غیرعادی را شناسایی و گزارش نماید. این سامانه ناظر بر Hypervisor به عنوان یک IDS داخلی عمل میکند که به اطلاعات وضعیت کلیه VMهای سیستم دسترسی دارد به گونهای که Root Kit و Boot Kit داخل ماشینهای مجازی به سادگی قابل پنهان کردن نخواهند بود.
رمزنگاری حافظه NFVها: دیسکهای حافظه که مرتبط با NFVها هستند ممکن است که شامل دادههای حساس باشند. لذا یکی از راه های حفاطت از آنها رمزنگاری آنها و ذخیرهسازی کلیدهای رمزنگاری در نقاطی ایمن مانند ماژول TPM است. علاوه بر این Hypervisor باید به گونهای برنامهریزی نماید که بتواند به صورت امن دیسکهای مجازی را در صورت Crashکردن NFVها کاملا پاک نموده و اطلاعات روی آن را از بین ببرد. VM Swapping یک تکنیک مدیریت حافظه است که به کمک آن میتوان بخشهای حافظه را از حافظه اصلی به دیسکهایی انتقال داد که به عنوان حافظه ثانویه به کار میروند تا بتوان بازدهی عملکرد سیستم را افزایش داد.
Remote Attestation: تکنیک تایید از راه دور میتواند به منظور ارزیابی قابلیت اعتماد یک پلتفرم NFV به کار رود. این مفهوم مبتنی بر boot integrity measurement leveraging TPM است. تایید از راه دور میتواند به عنوان یک سرویس ارائه شود و میتواند توسط مالک یک پلتفرم و یا مصرفکننده آن به منظور اثبات آنکه آیا پلتفرم به شکلی قابل اعتماد Boot شده است مورد استفاده قرار بگیرد. نمونههایی از پیادهسازی عملیاتی و موجود کنونی برای سرویس تایید از راه دور شامل ابزار یکپارچگی ابر باز (OpenCIT[14]) است که یک نرمافزار Open Source بوده و در Github میزبانی می شود.
در جدول زیر خلاصهای از ریسکهای امنیتی که معرفی گردید و در مورد آنها صحبت شد، اهداف مهاجمان ایجاد کننده این ریسکها و راهکارهایی به منظور کاهش احتمال وقوع این ریسکها به صورت خلاصه ارائه شده است [2].
نتیجهگیری
در این مقاله به صورت مختصر به معرفی ساختارهای جدید شبکه مبتنی بر نرمافزار و بررسی چالشهای امنیتی پیشروی استقرار ساختارهای SDN/NFV پرداختیم. دیدیم که نرمافزاری شدن ساختار با وجود مزایای شگرف و انعطاف زیادی که با خود به همراه دارد چالشهای امنیتی جدیدی به وجود میآورد که تحقق آنها را مستلزم در نظر گرفتن ملاحظات امنیتی خواهد کرد. در واقع نرمافزاری شدن شبکه در عین چالشهای امنیتی فرصتها، محافظت امنیتی جدیدی نیز فراهم میکند. انواع مختلفی از حملات از جمله حملات ردسرویس، عدم انطباق با قوانین رگولاتوری و تغییرات ناخواسته معماری شبکه تنها برخی از چالشهای پیشروی تحقق این معماری بودند که معرفی شدند. دیدیم که با نمونهسازی خودکار و مدیریت چرخه عمرمنابع و خدمات مجازی از طریق چارچوب NFV MANO تحقق امنیت در این ساختار تسهیل خواهد شد.در نهایت نیز چند راهکار نوین برای حفاظت امنیتی در سیستم شامل استفاده و امنسازی کرنل لینوکس، رمزنگاری NVFها و نظارت بر hypervisorها معرفی گردید. به طو خلاصه تضمین امنیت ساختار جدید شبکه نرمافزاری نیازمند دقت کافی در طرحریزی و استقرار امن آن خواهد بود.
منابع
[1] T. AssemAlameddine1MakanPourzandiAmineBoukhtouta, “NFV security survey in 5G networks: A three-dimensional threat taxonomy,” Computer Networks, vol. 197, pp. 1-29, Oct 2021.
[2] S. Lal, T. Taleb and A. Dutta, “NFV: Security Threats and Best Practices,” IEEE Communications Magazine, vol. 55, no. 8, pp. 211 – 217, 2017.
پینوشت
[1] Agile Networking
[2] Virtualization Layer
[3] VNF
[4] Virtual Network Function
[5] Element Management System
[6] NFV infrastructure
[7] Operation Support Subsystem
[8] Business Support System
[9] Management and Orchestration
[10] System Administrator
[11] trusted platform module (TPM)
[12] launch control policy
[13] Secure Virtualization
[14] open cloud integrity tool


