نام پژوهشگر: حسین زمانی سیاهکل

ارائه یک مدل پویا سلسله مراتبی برای تحلیل امنیتی سیستم های scada
پایان نامه وزارت علوم، تحقیقات و فناوری - دانشگاه فردوسی مشهد - دانشکده مهندسی 1392
  حسین زمانی سیاهکل   سعید عربان

مقدمه و انگیزه: سیستم های scada سیستم هایی هستند که امکان جمع آوری داده از عناصر یک سیستم و/ یا امکان ارسال دستورات کنترلی به آن عناصر را برای کاربران فراهم می کنند[1]. امروزه سیستم های scada به طور گسترده و همه جانبه ای در اتوماسیون صنعتی و کنترل فرآیندهای خاص مورد استفاده قرار می گیرند و بطور ویژه برای خودکار کردن سیستم هایی نظیر کنترل تبادلات انرژی، مدیریت شبکه برق و پردازش تلفات طراحی شده اند.[2] این سیستم ها برای برآورده ساختن نیازهایی مانند افزایش بازده، قابلیت اطمینان، ایمنی و انعطاف پذیری طراحی شده اند. نمونه های اولیه سیستم های کنترل صنعتی نسبت به اتصالات خارج از شبکه خود ایزوله بودند اما با توجه به پیشرفت های سال های اخیر و نیاز به ارتباطات برون شبکه ایی، این سیستم ها با چالش های جدیدی در زمینه امنیتی روبرو هستند. سیستم های موجود بر پایه سخت افزار، نرم افزار و پروتکل های ارتباطی که دارای قابلیت تشخیص و اصلاح خطا هستند، استوار می باشند ولی قابلیت ارتباطات امن که امروزه برای اتصال سیستم ها و شبکه های مختلف موردنیاز می باشد را دارا نمی باشند[1]. به دلیل اهمیت زمینه های بکار گیری این سیستم ها و ارتقای پیچیدگی و تعداد حملات به این سیستم ها، ضرورت بحث امنیت در سیستم های scada را به وضوح مشخص است. یکی از موضوعات پر اهمیت در امنیت سیستم های scada تحلیل امنیتی سیستم است؛ که به منظور ارائه راهکار های پیش گیرانه، ارتقای اقدامات متقابل و در نتیجه ارتقای امنیت سیستم بکار می رود. تحلیل امنیتی می تواند در مراحل طراحی، پیاده سازی و استقرار سیستم حتی در مورد سیستم های موجود و عملیاتی انجام گیرد[3]. اهمیت ساخت و تحلیل مدل های امنیتی از آن جهت است که: • در مرحله طراحی و پیاده سازی سیستم های scada جدید ، که هنوز در مرحله طراحی است یا پیاده سازی انجام نشده و سیستم عملیاتی موجود نیست، تحلیل امنیتی با استفاده از مدل سازی امنیتی انجام می گیرد. • همچنین در مورد سیستم های عملیاتی با توجه به حساسیت این سیستم ها امکان تست امنیتی وجود ندارد. به علاوه خروج سیستم از مدار تنها بری تحلیل امنیتی توجیح اقتصادی ندارد [4]. 1-2- طرح مسئله: مدل های امنیتی عموما شامل اجزای امنیتی، شرط ها وسوء استفاده های هستند[3]. به کمک این مدل ها می توان مسیر حملات و تهدیدات را مشخص و نتایج آنها را بر روی سیستم تحلیل کرد[5]. به طور کلی مدل های امنیتی در روش بیان به دو دسته متنی و گرافیکی تقسیم می شوند[1]، در سال های اخیر مدل های گرافیکی بدلیل خوانایی بیشتر مورد توجه بوده اند[1]. کارهایی که در این زمینه انجام شده عموما مدل هایی هستند که با هدف ارزیابی صفت امنیتی خاصی مانند دسترس پذیری، ارزیابی محرمانگی، ارزیابی آسیب پذیری یا مدیریت ریسک ارائه شده اند. اغلب در مدل سازی باتوجه به هدف طراحی بین مولفه های مدل سازی مانند خوانایی و مقیاس پذیری، توانایی کمی کردن مدل و پویایی مصالحه انجام می شود[6]. برای مثال مدل هایی که به منظور ارزیابی ریسک ارائه شده اند مانند گراف های حمله عموما با اولویت تحلیل های کمی طراحی می شوند از این رو دارای خوانایی و مقیاس پذیری پایینی هستند[7]. در سیستم های scada صفات امنیتی مانند دسترس پذیری، محرمانگی در کنار ارزیابی های آسیب پذیری و ریسک از اولویت بسیار بالایی برخوردارند، لذا مدل های ارائه شده برای این سیستم ها بایستی تا حد ممکن توان بررسی و تحلیل صفات مذکور را دارا باشد[8]. به علاوه معیار های خوانایی و قابلیت کمی سازی و مقیاس پذیری از اولویت بسیار بالایی برخوردار هستند، زیرا تولید گان این سیستم ها و مشتریان آنها تاکید فراوانی بر خوانایی مدل ها دارند[8]. از آنجا که حملات امروزی به سیستم های scada حملاتی چند مرحله ای و ترکیبی از توالی آسیب پذیری ‎ها و موتور های تولید حمله هوشمند هستند، مدل های امنیتی آنها نیز بایستی دارای قابلیت پویایی باشند[4]. اما متاسفانه مدل های فعلی اغلب تک هدفه هستند و تمامی معیار های مذکور را برآورده نمی کنند. بنابراین مسئله در این پایان نامه ارائه مدلی استم که امکان مصالحه مناسب را بین مولفه های مدل سازی و نیاز های یک سیستم scada برقرار کند. 1-3- اهداف: در این پایان نامه مدلی امنیتی از سیستم های اسکادا برای تحلیل امنیتی این سیستم ها با مشخصات زیر ارائه شده است: • دست یابی به مصالحه مناسبی بین مولفه های خوانایی، مقیاس پذیری و قابلیت کمی سازی • ارائه یک مدل پویا به منظور بررسی حملات چند مرحله ای و هوشمند، که قابلیت به روز رسانی مقادیر پارامتر ها و عناصر مدل در آن وجود دارد. 1-4- روش پیشنهادی: اهداف مشخص شده در بخش 1-3 با دستیابی به ریز اهداف زیر ممکن است: • نزدیکی به معماری سیستم (حفظ عناصر سیستم و روابط بین آنها) • ارائه روش های پویای اعمال و بررسی سناریو حملات و مقدار دهی عناصر امنیتی. یک مدل باید علاوه بر رعایت مولفه های ذکر شده بتواند این امکان را فراهم آورد که با دقت مناسب ارزیابی مورد نظر را روی آن انجام دهد[9]. یعنی به نوعی تمامی مولفه های امنیتی که در بخش 1-3 به آنها اشاره شد باید در مدل امنیتی یک سیستم scada در بهینه ترین حالت ممکن ارائه شود. البته حفظ دقت از ضروریات مدل امنیتی است. از این رو ما بر آن شدیم در این پایان نامه با مطالعه کار های که تا امروز در این زمینه انجام شده است و تحلیل آنها به مدلی دست یابیم که تا حد ممکن این نیاز ها را برطرف سازد. برای دست یابی به این اهداف باید الگویی را در پیاده سازی مدل رعایت کنیم که در کنار ارائه مدل امنیتی از سیستم که تا حد ممکن به معماری امنیتی سیستم نزدیک باشدو قابلیت نمایش و پی گیری مسیر حملات بر روی سیستم را شامل می شود بخش های اعمال حمله و انتخاب جنس تحلیل امنیتی مورد نظر را نیز شامل شود به علاوه امکانات تحلیل های کمی و کیفی را نیز برآورده سازد. از این رو در الگوی مدل سازی، ما در ابتدا در بالاترین لایه برای اعمال شرایط و محدودیت های اولیه و انتخاب زمینه تحلیل امنیتی بخشی به نام صاحبان سیستم را در نظر خواهیم گرفت. برای اعمال مقداردهی های اولیه و جنس پارامتر های مورد بررسی و نیز جمع آوری و تحلیل نتایج، واحدی به نام واحد تحلیل و ارزیابی امنیتی خواهیم داشت. در این مدل واحد اقدامات متقابل را خواهیم داشت که مسئولیت آن اعمال اقدامات متقابل بر اساس تصمیم گیری های صاحبان سیستم و نتایج حاصل از بخش تحلیل و ارزیابی امنیتی خواهد بود در ادامه برای اعمال حملات چند مرحله ایی و هوشمند واحد عامل تهدید را خواهیم داشت. در نهایت مدل رابطه ایی عناصر امنیتی سیستم scada را خواهیم داشت که الگوی اعمال حملات را بر روی آن اعمال می کنیم برای ساخت مدل ها همانطور که پیش از این شرح داده شد از الگو های رابطه ایی استفاده خواهیم کرد زیرا به دلیل نزدیکی این مدل ها به معماری سیستم و نیز ثابت بودن تعداد عناصر مدل قابلیت خوانایی و مقیاس پذیری افزایش می یابد[10]. تمامی این عناصر در درون خود شامل مجموعه ای دیگر از عناصر و روابط بین آنها می باشند. از این رو این روش یک روش سلسله مراتبی بر اساس ارتباط عناصر در لایه های مدل است. برای دست یابی به قابلیت پویایی در اعمال حملات و بررسی عناصر و به روز رسانی پارامتر ها از الگو های مبتنی بر درخت های حمله پویا در اعمال و تحلیل سناریو های حمله بهره خواهیم برد. برای ارزیابی مدل پیشنهادی، ما نتایج حاصل از مدل ارائه شده را در مولفه های ارزیابی مدل مانند خوانایی، مقیاس پذیری، دقت عملکرد مدل، حافظه مصرفی و مرتبه زمانی با مدل های دیگر که در این زمینه برای سیستم های scada ارائه شده است مقایسه می کنیم. 1-5- ساختار این پایان نامه: این نوشتار شامل پنج فصل دیگر به شرح زیر می باشد: فصل دوم (امنیت وسیستم های scada): در این فصل در ابتدا گزیده کوتاهی از مفهوم امنیت در سیستم های کامپیوتری را ارائه می کنیم و جایگاه امنیت سیستم را در بین مفاهیم متبطی مانند قابلیت اعتماد و تحمل پذیری خطا و مفاهیمی از این دست بررسی می کنیم. در ادامه تعریفی از سیستم های scada عنوان خواهیم کرد و مروری بر تاریخچه این سیستم ها و بحث امنیت در آنها خواهیم داشت و جایگاه مدل سازی امنیتی را در آن بررسی می کنیم. فصل سوم (مدل سازی امنیتی در سیستم های اسکادا): در ادامه مباحث فصل گذشته در این فصل به بررسی کار هایی که در زمینه مدل سازی امنیتی سیستم های scada تا امروز انجام شده است می پردازیم و نقاط ضعف و قوت آنها را بررسی می کنیم و چالش های پیش رو را در این زمینه مطرح می کنیم فصل چهارم (روش پیشنهادی): در این فصل سعی خواهیم کرد راه حل هایی برای برخی چالش های طرح شده عنوان کنیم و در نهایت مدلی را به منظور تحلیل امنیتی بر اساس راه حل های طرح شده ارائه دهیم و ابزار و بستر و چگونگی پیاده سازی مدل را معرفی خواهیم کرد. در نهایت توانایی های مدل را در برخی تحلیل های امنیتی خواهیم سنجید. فصل پنجم (پیاده سازی و ارزیابی): در این فصل معیار ها و روش های ارزیابی صحت عملکرد مدل را معرفی می کنیم و عملکرد مدل را بر اساس نتایج حاصل در بستر های معرفی شده مورد مطالعه قرار می دهیم و با مدل های مشهور دیگر در این زمینه که بر روی بستر مورد نظر پیاده سازی کرده ایم مقایسه خواهیم کرد. فصل ششم (نتیجه گیری): در این فصل به نتیجه گیری روش های پیشنهادی، پرداخته شده و پیشنهادهایی برای کارهای آتی ارائه شده است.