بخشی از مقاله
چکیده
پروتکل مدباس به طور متداول برای ارتباط بین واسط کاربری انسان و ماشین - HMI - و کنترلکنندههای منطقی قابل برنامهریزی - - PLC در سیستمهای اسکادا استفاده میشود. این مقاله یک سیستم تشخیص نفوذ ترکیبی که برای شبکههای مدباس طراحی شده است را ارائه میدهد. سیستم تشخیص نفوذ معرفیشده از دو مدل سیستمهای تشخیص نفوذ بر پایهی حالت و سیستمهای تشخیص نفوذ بر پایهی مدل، بهره میبرد.
راهکار مورد استفاده برای طراحی سیستم تشخیص نفوذ متناوب بودن جریان عبوری بین واسط کاربری انسان و ماشین و کنترلکنندههای منطقی قابل برنامهریزی میباشد. هر کانال HMI-PLC توسط یک آتاماتای قطعی محدود که هر یال آن دارای احتمال رخداد میباشد، مدل میشود . خاصیت این کار ذخیره با جزئیات مدل ترافیک بستههای مدباس میباشد که میتوان توالی درست بستههای آتی را بررسی نمود. همچنین هر حالت از آتاماتا میتواند نمایشدهنده حالت سیستم برای یک PLC خاص باشد و با ترکیب حالت آتاماتاها در هر لحظه، میتوان حالت کلی سیستم را استخراج نمود و قرار گرفتن وضعیت سیستم در حالت بحرانی را بررسی کرد.
-1 مقدمه
در سالهای اخیر با حملات سایبری متعددی به مراکز حساس و زیرساختهای سختافزاری و نرمافزاری کشور اعم از ویروس مخرب استاکس نت، Flame و Gas مواجه بودهایم. حملات همهجانبهی اخیر به سیستمهای اسکادا، موجب دو چندان شدن نیاز به بررسی مقابلهی امنیتی این سیستمها در برابر حملات مختلف شده است، تا بدین طریق راهکارهای مناسبی جهت امن کردن سیستم های اسکادا ارائه شود.
ضرورت شناخت راههای مقابله با تهدیدهای گوناگون در حوزهی سیستمهای اسکادا بر کسی پوشیده نیست، بدین جهت بر آن شدیم تا با ارائهی یک سیستم تشخیص نفوذ مبتنی بر مدل - حالت با خطای بسیار کم حملات احتمالی را در پروتکل مدباس شناسایی کنیم. این نوع سیستم تشخیص نفوذی که در ادامه معرفی میگردد، دارای دقت بسیار بالا در تشخیص هر نوع حملهی شناسایی نشدهی احتمالی دارد و امکان خود تنظیمی دوباره و خودکار بودن این روش از دیگر مزایای با بازدهی بالای این مدل میباشد.
-2 اسکادا
اسکادا به سامانههای کنترل و اندازهگیری در مقیاس بزرگ اطلاق میشود. همان طور که در شکل 1 نشان داده شده است، یک سیستم اسکادا شامل جمعآوری اطلاعات از طریق RTU1 ، انتقال آنها به سایت مرکزی ، اعمال هر گونه تحلیل مورد نیاز ، کنترل و نمایش اطلاعات روی تعدادی از نمایشگرها است. از اجزا اصلی اسکادا میتوان به موارد زیر اشاره نمود
· اپراتور:7 اپراتور فردی است که سیستم اسکادا را مانیتور کرده و دستورالعملهای کنترل نظارتی را برای بهرهبرداری از تأسیسات راه دور اجرا میکند.
· واسط کاربری انسان و ماشین :2 - HMI - دادهها را به اپراتور ارائه کرده و ورودیهای کنترلی را در فرمتهای مختلف، ازجمله تصاویر گرافیکی، نموداری، صفحه نمایش لمسی و غیره، در دسترس قرار میدهد.
· واحد پایانه اصلی :3 - MTU - مشابه واحد ارباب4 در معماری ارباب/برده5 است. MTU داده را از طریق HMI به اپراتور میرساند. در واقع، دادهها را از تأسیسات مستقر در دوردست جمعآوری کرده و سیگنالهای کنترلی را به آنها، انتقال میدهد.
· وسایل ارتباطی:8 راه ارتباطی بین MTU و کنترلکنندههای راه دور، است. ارتباطات میتوانند از طریق اینترنت، شبکههای بیسیم یا باسیم و سوئیچ شبکه تلفن عمومی برقرار شوند.
· واحد پایانه راه دور :6 - RTU - وظیفه این بخش مانند یک برده در معماری ارباب/برده است. سیگنال های کنترلی را به دستگاههای تحت کنترل ارسال میکند، دادهها را از این دستگاهها دریافت نموده و به MTU میرساند. یک RTU ممکن است یک PLC باشد.
شکل :1 معماری سیستم اسکادا.
-3 پروتکل مدباس
پروتکل مدباس در لایه 7 - لایه کاربردی مدل - OSI قرارگرفته و از ارتباطات سرویسگیرنده سرویسدهنده، پشتیبانی میکند. اطلاعات درون پیام شامل آدرس گیرنده مورد نظر، گیرنده چه کاری باید انجام دهد، دادههایی که برای انجام عمل نیاز است و بررسی خطا، میباشد. برده پیام را دریافت میکند و اگر خطایی رخ نداده باشد کار را انجام میدهد و پاسخ را به ارباب بر میگرداند. اطلاعات درون پیام پاسخ شامل آدرس برده، کاری که انجامشده، نتیجه عمل و بررسی خطا میباشد.
تراکنش شامل تقاضایی از میزبان به دستگاه ثانویه خاص و برگشت پاسخی از آن دستگاه به میزبان است. این پیامها به فرمت قابهای پیام مدباس هستند. هر قاب پیام شامل مجموعهای از بایتهای چهارگانه است
شکل :2 قالب پیام مدباس
· : Additional address فیلد اول در هر پیام، فیلد آدرس است که شامل یک بایت اطلاعات است. در قابهای تقاضا این بایت مشخصکننده این است که تقاضا به کجا برود. قاب پاسخ با آدرس دستگاه پاسخدهنده شروع میشود. اگر چه محدودیتهای عملی تعداد حداکثر بردهها را محدود کرده است، ولی هر برده میتواند فیلد آدرس بین 1 تا 247 داشته باشد.
· :Function code فیلد دوم در هر پیام فیلد تابع است که شامل یک بایت اطلاعات میباشد. در تقاضای میزبان، این بایت مشخص میکند که PLC مقصد، چه کاری را باید انجام دهد.اگر PLC مقصد بتواند آن کار را انجام دهد، فیلد تابع در پاسخ، تقاضای اصلی را برگشت میدهد. در غیر این صورت فیلد تابع تقاضا با تنظیم کردن باارزشترین بیت آن به یک، منعکس میگردد، بنابراین به استثنا پاسخ داده میشود.
· :Data فیلد سوم قاب پیام، فیلد داده است که مطابق با تابعی که در فیلد تابع مشخصشده، دارای طول متفاوتی است. در تقاضای میزبان این فیلد شامل اطلاعاتی است که PLC ممکن است برای انجام تابع تقاضا نیاز داشته باشد. در پاسخ PLC این فیلد شامل همان داده در تقاضای میزبان است.
· :Error check دو بایت آخر قاب پیام شامل فیلد بررسی خطا است. مقدار عددی این فیلد توسط قاب پیام با محاسبه و بررسی افزونگی چرخشی - CRC-16 - انجام میشود. این بررسی خطا تضمین میکند که دستگاهها با پیامهایی که بین مسیر انتقال تغییر میکنند، برخورد ندارند.
-4 سیستمهای تشخیص نفوذ
سیستم تشخیص نفوذ شامل سختافزار یا نرمافزار یا ترکیبی از آنها است که برای پایش و تحلیل فعالیتهای رایانه میزبان یا شبکه طراحیشده است تا تعیین نماید که آیا رویداد مخربی رخ داده یا در حال رخ دادن است. رویداد مخرب، هر نوع فعالیتی است که قصد به خطر انداختن رایانه میزبان یا شبکه را دارد.
سیستم های تشخیص نفوذ میتوانند بر اساس موقعیت مکانی و منابع داده جمعآوری و تحلیلشده از طریق ابزارهای تحلیل داده و پاسخهایی به نفوذ گرهای شناختهشده، توصیف شوند. نوع اصلی سیستم های تشخیص نفوذهایی که بر اساس موقعیت و منبع داده جمعآوری شدهاند، مبتنی بر شبکه و مبتنی بر میزبان میباشند. سیستم های تشخیص نفوذ مبتنی بر سوءاستفاده ، مبتنی بر ناهنجاری به وسیله روشهای تحلیل اطلاعات مربوط به حملات مشکوک، مشخص میشوند.
سیستم تشخیص نفوذ مبتنی بر سوءاستفاده یا امضا، فعالیتهای سیستم را پایش کرده و ویژگی فعالیتها را با ویژگیها یا الگوهای حملات ذخیرهشده در پایگاه داده، مقایسه میکنند. از آنجایی که اساس این نوع سیستم تشخیص نفوذها، هشدار به علت تطبیق با الگوی حمله شناخته شده است، پس میتواند اطلاعات خاصی در مورد نوع حمله را ارائه داده و اشتباهات عملی کمتری نسبت به سیستم تشخیص نفوذ مبتنی بر ناهنجاری، تولید کند. از اشکالات سیستم تشخیص نفوذ مبتنی بر امضا این است که نمیتواند انواع حملات جدیدی را که در پایگاه داده ذخیره نشدند، تشخیص دهد. همچنین اینکه امضاها ناگزیر خواهند بود که با پروتکلهای اسکادا از قبیل فیلد باس، مدباس، پروفیباس و ... همبستگی داشته باشند.
سیستم تشخیص نفوذ مبتنی بر ناهنجاری، نمونههای آماری اطلاعات عامل میزبان یا شبکه را برای توسعه پروفایلی از فعالیتهای عادی یک سیستم جمعآوری میکند؛ اما با به وجود آمدن آمارهای منحرف از هنجار شبکه یا میزبان، معمولاً تشخیص داده میشود که حملهای در حال راهاندازی است.
فایده این نوع سیستم تشخیص نفوذ این است که میتواند حملات جدید را تشخیص دهد، اما توسط حملاتی که تغییر قابلتوجهی نسبت به پارامترهای اندازهگیری شده ندارند، فریب میخورد. علاوه بر این، اگر فعالیتهای قانونی روی میزبان یا شبکه، باعث شود که پارامترهای آماری، تغییرات کافی برای راهاندازی آلارم حمله را به همراه داشته باشد، سیستم تشخیص نفوذ مبتنی بر ناهنجاری میتواند آلارمهای نادرستی را تولید کند.
-5 معماری سیستم تشخیص نفوذ مبتنی بر مدل-حالت
طراحی شبکههای اسکادا با شبکههای اترنت متداول متفاوت است. پروتکلهای استفادهشده در شبکههای اترنت عملکرد متفاوتی با یک سیستم اسکادا دارد. بنابراین اگر سیستم های تشخیص نفوذ متداول در شبکههای اسکادا مورد استفاده قرار گیرد دارای دقت تشخیص بالایی نمیباشد. تفاوتهایی بین ویژگیهای ارتباطات اسکادا با ارتباطات اترنت وجود دارد که به شرح زیر است:
· ارتباطات اسکادا را میتوان با الگوهای متوالی یا یک تعداد محدود از رخدادهای متوالی نمایش داد.
· تعداد محدودی از انواع بستهها برای حصول یک فرآیند کنترل صنعتی خاص جابجا میشود.
· بعضی از حملات شناختهشده ممکن است پیامدهای ویرانکنندهایی در سیستم های اسکادا داشته باشدمثلاً. حمله-ایی را در نظر بگیرید که با ارسال بسته قانونی پمپ آب را درحالیکه سطح آب بالا است، باز میکند.
ایده ما ساخت مدلی از توالی بستههای قانونی با استفاده از آتاماتای محدود قطعی و زنجیره مارکوف است. همچنین علاوه بر مدل کردن ارتباطات سیستم، ذخیره حالت کلی سیستم و بررسی نقاط بحرانی میباشد.
-1-5 سیستم تشخیص نفوذ مبتنی بر مدل
ارتباطات بین HMI و PLC در سیستم های اسکادا دارای تناوب تکرار در بستهها و همچنین توالی یکسان میباشند به همین دلیل میتوان جریان عبوری هر HMI و PLC را با یک DFA نمایش داد.
هر DFA شامل پنجتایی - , ∑ , , 0, - است که مجموعه محدودی از حالات Q ، مجموعه محدودی از نمادهای ورودی ∑ ، یک تابع انتقال δ: × ∑ → ، یک حالت شروع 0 ∈ و مجموعهای از حالات مورد قبول ⊆ است. با دو تغییر میتوان از DFA برای مدل کردن دادههای مدباس استفاده کرد
· برای مدل کردن جریان مدباس به خاطر بررسی مستمر بستههای عبوری، در DFA طراحیشده نیازی به حالت پایانی نداریم. در عوض هر یال DFA دارای یک احتمال وقوع میباشد که این احتمال بر اساس زنجیره مارکوف محاسبه میشود و در صورتی که احتمال از مقدار معینی کمتر بود خطایی به نشان ایجاد حمله ، نمایش داده میشود.
· برای الفبا آتاماتا از ویژگیهای پروتکل مدباس که شامل ترکیبی از شناسه تراکنش - T.ID - ، کد تابع - FC - ، طول پیام و غیره میباشد استفاده میکنیم.
برای محاسبه احتمال هر رخداد در DFA از زنجیره مارکوف استفاده شده است. هر فرآیند مارکوف یک نوع فرآیند تصادفی است که هر متغیر تصادفی فقط به متغیر قبلی وابسته است و از بقیه متغیرها مستقل است. زنجیرههای مارکوف حالت خاصی از فرایند مارکوف است که در آن پارامتر T و حالت سیستم فقط مقادیر گسسته را انتخاب میکند. بر این اساس یک رشته متغیرهای تصادفی X1,X2,X3'…';n را زنجیره مارکوف می-نامند اگر به ازای تمام مقادیرN و تمام حالتهای i وj رابطهی یک برقرار باشد :
زنجیره مارکوف زمان ثابت9 یک نوع دیگر از این فرآیند است. فرآیندی زمان ثابت است که احتمال شرطی P - xn+1|xn - وابستگی به n نداشته باشد.