سادگی زیباست...

بررسی انواع معماری های سیستم عامل و برنامه های سیستمی و روشهای توسعه آنها

سادگی زیباست...

بررسی انواع معماری های سیستم عامل و برنامه های سیستمی و روشهای توسعه آنها

سادگی زیباست...

۲ مطلب با کلمه‌ی کلیدی «scada» ثبت شده است

در این مقالات قصد دارم درباره SCADA و امنیت اون مطلب بنویسم.
کلمه SCADA مخفف Supervisory Control and Data Acqusition میباشد. شبکه اسکادا وظیفه کنترل و مونیتور کردن کاربردهای حیاتی و پروسه های کنترلی را در کارخانه ها، خطوط تولید و همچنین ژنراتورهای انرژی مانند الکترونیک، گاز طبیعی، نفت، آب و همچنین کنترل خطوط راه آهن و کارهای مشابه را بر عهده دارد.
توسعه اسکادای اولیه مربوط میشود به دهه 19، زمانی که ابزارهای اندازه گیری و کنترل معرفی شدند. با استفاده از این ابزارهای امکان انتقال و مونیتوز کردن داده های بدست آمده از حسگرهای زمان حقیقی بوجود آمد. اسکادا برای کنترل این ابزارهای الکترونیکی موجود، مورد استفاده قرار گرفت.
اجزای اصلی یک شبکه اسکادا شامل موارد زیر است:
  • RTU-Remote terminal unit: یک ابزار مورد استفاده برای تبدیل داده های آنولوگ و اندازه گیریهای دوره ای به اطلاعات دیجیتال، برای مثال دستورات مربوط به با کردن یک سویچ.
  • IED-Intelligent electronic device: یک کنترلر بر پایه ریزپردازنده که توانایی صادر کردن دستورات کنترلی را دارد. برای مثال قابلیت تغییر ولتاژ برای کی دستگاه در صورتی که یک تغییر غیر ناخواسته در ولتای دستگاه احساس شود.
  • PLC-Programmable logic controller: مشابه قسمت RTU در کاری که انجام میدهد. این قسمت میتواند از طریق یک سیستم عمال بلادرنگ مدیریت شود.
  • HMI-Human machine interface: نمایش گرافیکی محیط کنترلی به مدیر را انجام میدهد.

اسکادا از چه پروتکل هایی استفاده میکند؟

اسکادا از پروتکل های زیادی استفاده میکند که عمومی ترین آنها شامل موارد زیر است:
  • OPC-object linking and Embedding for process control
  • ICCP-Inter-Control Center Protocol
  • Modbus
  • DNP3-Distributed Network Protocol version 3

OPC

پروتکل OLE برای Process Control که به آن OPC گفته میشود، یک استاندارد رابط نرم افزاری که برنامه های ویندوزی را قادر به ارتباط با ابزارهای سخت افزاری تجاری میکند. پروتکل OPC به صورت client/server پیاده سازی میشود. قسمت سرور OPC، یک نرمافزار است که کار تبدیل پروتکل ارتباطی سخت افزاری را به پروتکل OPC را انجام میدهد. قسمت کلاینت، شامل هر برنامه ای است که قصد اتصال به سخت افزار را دارد، مانند HMI. قسمت کلاینت از داده های سرور برای دریافت یا ارسال اطلاعات به سرور استفاده میکند.

ICCP

یک پروتکل لایه کاربرد است.این پروتکل اجازه انتقال اطلاعات به صورت بلادرنگ در یک شبکه گسترده(WAN) بین مراکز کنترل را میدهد. این پروتکل، اجازه انتقال اطلاعات query، اطلاعات monitoring، انتقال داده و زمانبندی بین کلاینت و طرور را میدهد.

Modbus

یک مجموعه خصوصیات پروتکل طراحی شده برای ساخت ابزارهای اتوماسیون استفاده شده با چندین ابزار دیگر و مرتبط با یکدیگر بر اساس رابط سریال RS485 و TCP/IP است. این پروتکل امروزه گسترده ترین استفاده را دارد و چندین پیاده سازی از آن وجود دارد.
  • Modbus RTU: در ارتباطات سریالی استفاده میشود. از یک CRC برای حفظ یکپارچکی پیغام استفاده میکند. عمومی ترین پروتکل پیاده سازی شده modbus است.
  • Modbus ASCII: در ارتباطات سریالی استفاده میشود و از کاراکترهای ASCII برای به منظور ارتباط پروتکلی استفاده میکند. دستورات این پروتکل با کولن (:) و یک (CR/LF) بعد از آن جدا میشود.
  • Modbus TCP/IP or Modbus TCP: از پروتکل TCP/IP برای ارتباط استفاده میکند و نیاز به checksum ندارد و این عمل توسط لایه پایین انجام میشود.
  • Modbus over TCP/IP or Modbus over TCP: مشابه Modbus TCP است، اما باید Checksum درون داده نیز قرار داده شود.
  • Modbus Plus: یک نسخه توسعه داده شده که نسخه هاس قبلی را نیز پشتیبانی میکند. این پروتکل نیازمند یک پردازنده کمکی برای پردازش سریع HDLC است. از یک زوج سیم با سرعت 1Mbps استفاده میکند.
توابع اصلی modbus را میتوان در جدول زیر مشاهده کرد:
01 Read coil status
02 Read input status
03 Read holding registers
04 Read input registers
05 Force single coil
06 Preset single register
07 Read exception status
15 Force multiple coils
16 Preset multiple registers
17 Report slave ID

DNP3

این پروتکل یک سیستم کنترلی Master/Slave است و برای نیازمندیهای صنایع الکترونیک و آب طراحی شده است. این پروتکل برای سهولت ارتباط بین چندین نوع داده دریافتی و ابزار کنترلی استفاده میشود.
در مطلب بعدی به بررسی حمله SCADA fuzzing میپردازیم.


۱ موافقین ۰ مخالفین ۰ ۱۴ فروردين ۹۳ ، ۱۷:۲۶
حامد شیخلو

Stuxnet چیست؟

بد افزار Stuxnet یک روتکیت مخصوص سیستم‌های صنعتی است. مجموعه‌ای از نرم‌افزارهاست که کنترل یک سیستم رایانه‌ای را به دست می‌گیرد. در این نوع حمله، کاربر سیستم متوجه حضور روت‌کیت نخواهد شد و هکر رایانه توانایی تغییر تمامی تنظیمات رایانه را دارد. رایانه‌ای که تحت سلطه روت‌کیت و نهایتاً هکر قرار می‌گیرد را زامبی (Zombie) می‌نامند. اگر ضایعه‌ای در شبکه رایانه‌ها پیدا شود، با پیگیری آن به زامبی می‌رسیم و هکر نمی‌تواند ردیابی شود.

stuxnet به عنوان یک اسلحه جدید در جنگ سایبری مطرح شد. اولین مشاهده این بد افزار در سال 2010 صورت گرفت. تمام مجموعه دانش‌ها و یافته‌ها با وجود آمدن این حمله بسیار پیشرفته، کنار گذاشته شد. در مقایسه با حملات دیگر، این بد افزار یک سلاح هسته ای به شمار می‌رود.

هرچند stuxnet برای اولین بار در ژوئن 2009 مشاهده شد، تا تابستان 2010 که سازمان ICS-CERT درباره آن هشدار دهد، در مقابل آن مقابله جدید انجام نشده بود. این ویروس از چهار نوع حمله zero-day برای آلوده کردن و پخش شدن استفاده می‌کند. این ویروس ابتدا به دنبال برنامه های simatic WINCC و PCS7 که توسط شرکت simens توسعه پیدا کرده‌اند می‌گردد، سپس از مجوز اکانت پیش فرض sql برای سرایت کردن به plc های مرتبط با آن، به روش تزریق کد استفاده می‌کند. این تزریق کد از طریق پروتکل fieldbus شرکت simens انجام می‌گیرد. در مرحله بعد، stuxnet به دنبال ابزارهای اتوماسیون که وظیفه کنترل سرعت موتورها را دارند می‌گردد. اگر کنترلی پیدا شد که در محدوده 800-1200hz باشد، تلاش می‌کند تا خرابکاری انجام دهد.

هرچند در ابتدا، اطلاعاتی که از این بد افزار بسیار کم بود، اما شرکت simens سریعاً عمل کرد و یک برنامه برای یافتن و پاک کردن این بد افزار عرضه کرد.

stuxnet در اواخر سال 2010 توجه رسانه‌ها را به خود جلب کرد. در رسانه‌ها این بد افزار به عنوان یک عامل با گسترش سریع و بسیار پیچیده مطرح شد. این مسئله توجه بسیاری به یک مسئله خاص معطوف کرد: «صنایع باید با سرعت زیاد نسبت به افزایش سطح امنیت خود عمل کنند».

کالبد شکافی stuxnet

این بدافزار بسیار پیچیده است، در شکل زیر میتوان ساختار آن را مشاهده کرد. 

Stuxnet

این بد افزار اولین روتکیت شناخته شده برای دستگاه‌های کنترل صنعتی می‌باشد. این روتکیت می‌توانست خود را به صورت خودکار بروز رسانی کند. توانایی تزریق کد در منطق بار کننده یک plc را دارا بود و بعد از این مرحله فعالیت یک plc به خوبی ادامه پیدا می‌کرد، و این بد افزار خود را کاملاً مخفی میکند، فقط در مواقع خاصی داده های اشتباه به HMI ارسال می‌شد.

این بد افزار برای محیط‌های مختلف، خود را هماهنگ می‌کرد، از مجموعه مجوزهای توکار سیستم‌ها استفاده می‌کرد و در مواقعی از کلیدهای دسترسی ابزارهای دیگر که جعل میکند، برای نفوذ استفاده می‌کرد.

در مطلب بعدی به روند کارهایی که این بد افزار انجام می‌داد، پرداخته خواهد شد.
۰ موافقین ۱ مخالفین ۱ ۱۱ مرداد ۹۲ ، ۱۰:۴۱
حامد شیخلو