IEC104

بستر آزمایش و ارزیابی امنیت پروتکل IEC 60870-5-104 (بخش پنجم) و نتیجه گیری

این خبر، بخش پنجم و نهایی  مقاله مربوط به امنیت پروتکل IEC 60870-5-104  است که توسط واحد تخصصی آگاهی‌بخشی سایبر صنعتی شرکت پیشگامان امن آرمان(امان) ارائه شده است.جهت دسترسی به بخش‌های قبلی این مقاله به انتهای همین صفحه مراجعه نمایید. مراجع این مقاله فنی در انتهای این خبر درج شده اند و در صورت استفاده از مطالب این مقاله لازم است به مراجع مذکور ارجاع داده شود.

جهت بررسی آسیب‌پذیری‌های پروتکل  IEC 60870-5-104، مبتنی بر سناریو حمله محور، ابتدا رویکرد موردنظر را موردبررسی قرار می‌دهیم. در ادامه سه‌گام تحقق حمله برای بهره‌‌جویی از آسیب‌پذیری‌های پروتکل  IEC 60870-5-104 موردبررسی قرار می‌گیرند.

 1- شناسایی: دو روش فعال و غیرفعال برای شناسایی یا تشخیص تجهیزات بهره‌بردار از پروتکل  IEC 60870-5-104 متصل به شبکه TCP/IP وجود دارد. درروش غیرفعال که به شکل منفعلانه انجام می‌گیرد هیچ عملی بر روی شبکه هدف انجام نمی‌شود؛ یک واسط بر روی مد بی‌قاعده[1] تنظیم می‌شود تا تمامی بسته‌های روی خط را بپذیرد. بسته‌ها می‌توانند از طریق نرم‌افزارهایی مانند TCP dump یا وایرشارک موردبررسی قرار گیرند. زمانی که ترافیک پروتکل  IEC 60870-5-104 شناسایی شد می‌تواند برای مصارف آینده از قبیل حمله ارسال مجدد یا شناسایی اهداف حمله با تحلیل ترافیک ذخیره شود.

روش شناسایی فعال روندی است که بسته‌هایی برای برقراری ارتباط و دریافت پاسخ توسط یک دستگاه ارسال می‌شود. برای مثال در منبع [14] اسکریپت پایتونی نوشته است که فهرستی از آدرس‌های IP تجهیزات بسته‌های پروتکل  IEC 60870-5-104 را در صورت وجود کشف می‌کند و آدرس مشترک آن‌ها را برمی‌گرداند. به این طریق که دستگاه موردنظر یک بسته APDU ارسال می‌کند و هدف با یک بسته تصدیق پاسخ می‌دهد. سپس یک بسته شروع انتقال داده ([2]STARTDT) ارسال می‌کند. بسته پاسخ برای تشخیص آدرس مشترک بررسی‌شده و اگر آدرس مشترک پیدا نشد از روش دیگری که در ادامه توضیح داده می‌شود استفاده می‌شود. روش دیگر برای به دست آوردن آدرس تجهیزات  IEC 60870-5-104 این است که اسکریپت یک بسته C_IC_NA_1 در شبکه پخش کند. این بسته حاوی یک دستور جست‌وجوی تشخیص  IEC 60870-5-104 است. روش غیرفعال ممکن است توسط یک هکر مبتدی کسی که مطمئن نیست درون سیستم  چه می‌گذرد یا برای جلوگیری از شناسایی توسط یک مهاجم ماهرتر استفاده شود. در صورت امکان حالت فعال به‌احتمال‌زیاد برای اطمینان از وجود دستگاه  IEC 60870-5-104 و به دست آوردن اطلاعات دقیق بیشتر از حالت غیر‌فعال استفاده می‌شود [16].

2- گردآوری: در این مرحله پس از شناسایی اهداف، اطلاعاتی که می‌تواند برای حمله استفاده شود، جمع‌آوری می‌گردد. این امکان وجود دارد که در زمان انجام حمله، اطلاعات از طریق نظارت بر داده‌ها جمع‌آوری شود. در یک سوییچ شبکه عموماً یک کپی از تمام بسته‌ها به یک درگاه خاص با نام درگاه span که درگاه آینه نیز نامیده می‌شود، ارسال‌شده و جمع‌آوری می‌گردد. اگر یک مهاجم قادر شود به ماشینی دسترسی پیدا کند که متصل به یک درگاه span است یا بتواند با به دست آوردن کنترل مدیریت یک سوییچ، یک درگاه span روی آن فعال کند، قادر خواهد بود کلیه ترافیک عبوری شامل داده‌هایی که توسط اهداف منتقل می‌شود را جمع‌آوری کند [16].

راه دیگر جمع‌آوری اطلاعات ترافیکی شبکه، قرار گرفتن در بین اهداف و جمع‌آوری داده‌ها است. یکی از راه‌های انجام این کار حمله از جعل بسته‌های ARP است؛ به‌عنوان‌مثال در منبع [10] و [12] در این زمینه کارکرده شده است. شکل (8) یک حمله جعل ARP موفق را نشان می‌دهد. حمله جعل ARP از این نکته بهره می‌برد که پروتکل  IEC 60870-5-104 به‌طور ذاتی از تائید و احراز اصالت پشتیبانی نمی‌کند. یک مهاجم می‌تواند پیام‌های ARP جعلی را با MAC آدرس خود و IP آدرس هدف موردنظر ارسال کند؛ بنابراین هر بسته‌ای که حاوی IP آدرس هدف باشد به ماشین مهاجم ارسال خواهد شد. درنتیجه مهاجم می‌تواند تمامی بسته‌هایی که بین اهداف در حال ارسال است را ببیند و ویرایش کند.

راه‌های جایگزین حمله جعل ARP، مسموم کردن DNS[3] و حمله سرریز جدول CAM[4] است که مهاجم به‌وسیله اقداماتی حافظه سوئیچ را سرریز و آن را به یک تکرارکننده[5] یا یک هاب تبدیل می‌کند (در بعضی موارد این حمله می‌تواند باعث ازکارافتادن سوئیچ و به‌نوعی حمله ممانعت از خدمات شود)، البته این حملات نیاز به آسیب‌پذیری‌های دیگری دارد که خارج از ماهیت اصلی خود پروتکل  IEC 60870-5-104 است [16].

(شكل-8): حمله جعل ARP موفق

3- حمله نهایی: مرحله نهایی که تمامی مراحل دیگر به آن ختم می‌شود، در این دسته‌بندی «حمله نهایی» نام دارد. در حمله ارسال مجدد داده‌های معتبر در زمان ارسال جمع‌آوری‌شده و توسط مهاجم مجدداً ارسال می‌گردند. بسته‌ها را می‌توان از محل منبع یا استراق سمع به‌وسیله روش حمله مردی در میان در قلب سناریوهای حملات چندمرحله‌ای[6] جمع‌آوری کرد. داده‌ها ممکن است بدون هیچ تغییری یا با تغییر، مجدداً ارسال شوند. اگر داده‌ها بدون تغییر ارسال شوند، به معنی خواندن و ارسال به ایستگاه نظارت به‌منظور خواندن دستورات کنترلی است. این کار می‌تواند موجب اختلال در شبکه یا حتی خسارت شود؛ چنین حملاتی می‌تواند توسط یک مهاجم بی‌تجربه یا فردی که سیستم  را به‌درستی نمی‌شناسد (سطوح حمله 1 و 2)، انجام شود.

با توجه به شناسایی آسیب‌پذیری‌ها و حملات مطرح‌شده در قسمت سوم، در این قسمت یکی از حملات پیاده‌سازی شده در بستر آزمایش تحت عنوان حمله ارسال مجدد بر روی پروتکل  IEC 60870-5-104 شرح داده می‌شود. بستر آزمایش هدف «پلنت کنترل صنعتی شبیه‌سازی‌شده مخازن انتقال مایع» نام دارد و از تجهيزات ابزار دقيق و کنترلی مختلفی که در فرآيندهای صنعتی، ازجمله مخازن انتقال مایع صنایع پتروشیمی، استفاده می‌شوند طراحی و ساخته‌شده است. بر اساس شماره‌های شکل (9) این بستر دارای تجهیزات ذیل است:

  • دو مخزن مایع (1 و 2)
  • پمپ آب و درایور (3 و 4)
  • جریان‌سنج[7] (5)
  • شیر کنترلی به همراه فرستنده‌ی فشار صفر تا شش‌صد میلی بار (6)
  • حسگر التراسونیک[8] سطح مایع (7)
  • دماسنج (8)
  • دماسنج غیر بازخوردی (9)
  • بخاری[9] (10)
  • فشارسنج صفر تا شش غیر بازخوردی (11)
  • سه دریچه کنترل مایع (12-14)
(شكل-9): نمایی از بستر آزمایش

 در این آزمایش حمله ارسال مجدد با بسته‌های جمع‌آوری‌شده از سیستم مانیتورینگ انجام‌شده است. این‌یک فرم نسبتاً ساده از حمله است؛ هدف از حمله، گردآوری بسته‌های  IEC 60870-5-104 و ارسال مجدد آن‌ها در زمان مناسب به مقصد موردنظر است؛ بنابراین هدف شبیه‌سازی رفتار یک مهاجم بی‌تجربه در اتصال به شبکه است.

شکل (10) جزئیات شبکه آزمون را نشان می‌دهد که متشکل از یک دستگاه فرمانده و فرمانبر  IEC 60870-5-104 و بستر حمله لینوکس کالی[10] است؛ از نرم‌افزار ClearSCADA شرکت اشنایدر جهت مانیتورینگ و کنترل مقادیر و به‌عنوان دستگاه فرمانده  IEC 60870-5-104 استفاده می‌شود.

(شكل-10): معماری شبکه بستر آزمایش

همچنین از RTU شرکت اشنایدر مدل ScadaPack 334E به‌عنوان دستگاه فرمانبر استفاده‌شده است. از این دستگاه جهت اندازه‌گیری، کنترل مقادیر دما و سطح مخزن، دبی و فشار لوله‌ها، پاسخ به دستورات و درنهایت ارسال آن‌ها تحت شبکه با پروتکل  IEC 60870-5-104 به سیستم فرمانده استفاده‌شده است.

این ویژگی‌ها برای تائید و توسعۀ یک حمله جزو نیازهای اولیه است. شکل (11) یک نما از نرم‌افزار در حال اجرای ClearScada را نشان می‌دهد. نوار منو در بالای صفحه طراحی‌شده سه حالت کنترل سطح، دبی، فشار و دما را به ما می‌دهد. در ستون سمت چپ امکان شروع و توقف فرآیند به همراه وضعیت و مقادیر متغیرها را نشان داده می‌شود. در قسمت وسط، نمودار لحظه‌ای متغیر در حال کنترل به همراه مقدار حد مطلوب و مقدار خروجی نمایش داده‌شده است.

(شكل-11): نمای اجرایی نرم‌افزار ClearScada

در این آزمایش از RTU اشنایدر استفاده‌شده است تا بتوان یک بستر واقعی جهت انجام حمله ارسال مجدد پیاده‌سازی کرد. مقادیر فرکانس ارسالی بسته‌ها و فیلد شناسه نوع در RTU تنظیم می‌شود. در این نمونه این فیلد دارای شماره 30 از نوع اطلاعات single-point با برچسب زمانی است. برچسب زمانی می‌تواند کمتر از نصف دیالوگ تنظیم شود. فیلد علت انتقال (COT) می‌تواند همانند فرمانده تنظیم شود. در این نمونه آدرس‌های مشترک صفر است. درنهایت وضعیت اطلاعات و توصیف‌کننده‌ها می‌تواند تنظیم شود.

شکل (12) ترافیک  IEC 60870-5-104 بین فرمانبر و فرمانده را نشان می‌دهد؛ بسته‌های استفاده‌نشده برای حمله ارسال مجدد، از درگاه span سوئیچ جمع‌آوری‌شده‌اند. بعد از جمع‌آوری مجموعه‌ای از بسته‌ها در بازه زمانی مشخص، از نرم‌افزار وایرشارک جهت فیلتر بسته‌های غیر  IEC 60870-5-104 از مجموعه موردنظر استفاده می‌شود. این امر باعث می‌شود که فقط بسته‌های موردنظر از ماشین هدف جمع‌آوری شود که شامل TCP/IP، بسته‌های اولیه  IEC 60870-5-104، بسته‌های STARTDT، شکل خواندنی بسته M_SP_TB_1 از فرمانبر، تعدادی بسته‌های TESTFR از فرمانده که برای بررسی کردن فعالیت پیوند و ارتباط به کار گرفته می‌شود، است.

بستر حمله کالی محلی است که بسته‌ها مجدداً از آن ارسال می‌گردند. نرم‌افزار TCP Replay برای ارسال مجدد بسته‌های جمع‌آوری‌شده مناسب است. بسته‌های مجدد ارسال‌شده اگر به شکل هوشمندانه‌ای تغییر داده نشوند در لایۀ کاربرد قابل‌قبول نیستند، زیرا بسته‌ها توسط پشته کرنل TCP/IP دور ریخته می‌شوند؛ این بسته‌ها به دلیل اینکه در TCP Replay مقادیر فیلدهای ACK، SYN و دنباله اعداد (Seq#) را قبل از ارسال مجدد تغییر نمی‌دهد، دور ریخته می‌شوند.

(شكل-12): ترافیک مابین فرمانده و فرمان‌بر در وایرشارک

این امکان وجود دارد که بررسی رفتار مخرب حمله ارسال مجدد با استفاده از قوانین یک سیستم  تشخیص نفوذ صنعتی مانند Snort و تحلیل آماری ترافیک شبکه و گزارش‌ها تشخیص داده شود. علاوه بر این ازآنجایی‌که بسته‌های مجدد ارسال‌شده در لایه کاربرد بیشتر سیستم ‌ها پذیرفته نخواهند شد، این سطح از حمله نباید به‌طور مستقیم عملیات فرآیند سیستم  کنترل را تحت تأثیر قرار دهد. این حمله به دلیل اینکه به‌عنوان ترافیک مجاز به نظر می‌رسد توسط دیواره آتش شبکه تشخیص داده ‌نمی‌شود؛ مگر اینکه یک دیوار آتش/سیستم  تشخیص نفوذ حالتمند برای ردیابی جریان‌های TCP استفاده شود. در یک شبکه با پهنای باند کم یا یک شبکه با حساسیت پایین، این دسته از حملات می‌تواند موجب اختلال در عملکرد شبکه و افزایش احتمالی زمان Time out تجهیزات شود.

 با تلاش بیشتر می‌توان این امکان را به وجود آورد که بسته‌های جمع‌آوری‌شده مجدداً ارسال شوند؛ بنابراین آن‌ها توسط کرنل دور ریخته نمی‌شوند و در لایه کاربرد پذیرفته می‌شوند. این عمل می‌تواند با یک اسکریپت پایتون انجام شود که شرایط اولیه TCP Hand shake را انجام داده و seq# را به‌درستی مدیریت می‌کند؛ برنامه‌هایی نظیر WirePlay و tcplivereplay که بخشی از پروژه TCP Replay است برای این منظور طراحی‌شده‌اند. قابل‌توجه است که ‌در نوع حمله با سطح باتجربه یا پیشرفته، مهاجم با سطح اطلاعات بالا و بر اساس شناختی که از فرایند کنترل صنعتی هدف و پروتکل ارتباطی دارد، می‌تواند بسته‌های ضبط‌شده را به شکل حرفه‌ای و هدفمند تغییر دهد؛ این تغییر می‌تواند بر روی مقادیر حد مطلوب به شکل حمله تخریب غیر فیزیکی صورت گیرد که منجر به سرریز مایع مخزن شود و در فرایند کنترلی ایجاد خلل نماید.

در ادامه این پروژه قصد داریم  در شرکت پیشگامان امن آرمان(امان)، ضمن پیاده‌سازی عملی راهکارهای مقاله کنونی، بروی امن سازی پروتکل‌های پرکاربرد کنترل صنعتی نظیر DNP3 و IEC 61850 فعالیت‌هایی را انجام دهیم و تلاش نماییم بر روی تجهیزات موجود صنعتی، مخاطرات امنیتی این پروتکل‌های را کاهش دهیم. با امان همراه باشید تا خروجی این پروژه‌های را با شما به اشتراک بگذاریم.

نتيجه‌گیری

در این مجموعه مقاله در قالب پنج بخش تلاش شد تا ضمن معرفی مختصری از  IEC 60870-5-104 فرآیند شناخت جوانب امنیتی مختلف در رابطه با این پروتکل حاصل شود. بر اساس ساختار استاندارد  IEC 60870-5-104 مرجع و برخی محصولات پیاده‌سازی شده، آسیب‌پذیری‌ها (مراحل طراحی، پیکربندی و پیاده‌سازی) و تهدیدات این پروتکل استخراج و معرفی گردید؛ اهم حملات شناسایی‌شده تخریب غیر فیزیکی، استراق سمع منفعل، ممانعت از کیفیت خدمات، دست‌کاری غیرمجاز، حملات داده‌ای، تزریق بسته، ربایش جریان کنترلی، مردی در میان غیرفعال، مردی در میان فعال و جعل هویت است. فرایند شناسایی آسیب‌پذیری‌ها و تهدیدات با بهره‌گیری از محیط آزمایشی مناسبی انجام‌گرفته است.

در این مقاله برخی راهکارهای امن سازی مرحله طراحی  IEC 60870-5-104 و چالش‌های درگیر در آن بررسی شد تا حداقل بتوان با شناخت این مسائل امنیتی در اتخاذ راهکارهای امنیتی در سیستم ‌های کنترل صنعتی که از این پروتکل استفاده می‌کنند دقت بیشتری نمود و از سویی در طراحی پروتکل‌های مشابه بومی چالش‌های امنیتی بیان‌شده را موردتوجه قرارداد.

شایان‌ذکر است پروتکل‌های دیگری نظیر IEC 61850 در صنایع، در محدوده‌های مشابه با  IEC 60870-5-104،  به کار می‌روند که مقالات متعددی  به تحلیل چالش‌های امنیتی آن پرداخته‌اند.

جهت مشاهده بخش های دیگر این مقاله بر روی بخش مورد نظر کلیک نمایید:

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


[1] Promiscuous

[2] Start Data Transfer

[3] DNS Poisoning

[4] Content Addressable Memory

[5] Repeater

[6] Multi-Step Attack

[7] Flow meter

[8] Ultrasonic

[9] Heater

[10] Kali

IEC104

شناسایی اجمالی تهدیدات و آسیب‌پذیری‌ها پروتکل IEC 60870-5-104 (بخش سوم)

این خبر، بخش سوم  مقاله مربوط به امنیت پروتکل IEC 60870-5-104  است که توسط واحد تخصصی آگاهی‌بخشی سایبر صنعتی شرکت پیشگامان امن آرمان(امان) ارائه شده است.جهت دسترسی به بخش‌های قبلی این مقاله به انتهای همین صفحه مراجعه نمایید. مراجع این مقاله فنی در انتهای این خبر درج شده اند و در صورت استفاده از مطالب این مقاله لازم است به مراجع مذکور ارجاع داده شود.

به‌منظور شناسایی آسیب‌پذیری‌ها در  IEC 60870-5-104 ما از دو سناریو بهره برده‌ایم. نخست به بررسی و کالبدشکافی اسناد منتشرشده از استاندارد و پروتکل هدف پرداخته‌ایم تا بتوانیم آسیب‌پذیری‌های مرحله طراحی را استخراج نماییم. در سناریو دوم با پیاده‌سازی بستر آزمایشی و بررسی اسنادی که این نوع سناریو را انجام داده‌اند تلاش کردیم در عمل آسیب‌پذیری‌ها و حملات به این پروتکل را بررسی کنیم؛ در ادامه در بخش‏3-1- به شکل تلفیقی از این دو سناریو آسیب‌پذیری‌های مرحله طراحی این پروتکل را تبیین می‌کنیم. در بخش ‏3-2- به بررسی آسیب‌پذیری‌های امنیتی مرحله‌ی پیاده‌سازی و عملیاتی  IEC 60870-5-104 و تجهیزات مرتبط با آن می‌پردازیم.

حملات می‌توانند به سطوح مشخصی با توجه به نیازمندی اطلاعاتی و مهارت یک مهاجم طبقه‌بندی شوند؛ جدول (1) چهار سطح حملات را نشان می‌دهد که ما در ادامه مقاله بر اساس آن حملات را معرفی کرده‌ایم.

سطح حملهشماره تهدید
پیشرفته4
باتجربه3
عادی2
تصادفی1
(جدول-1): سطوح حمله

1-1- آسیب‌پذیری‌های طراحی

 در این بخش قصد داریم به بررسی آسیب‌پذیری‌های امنیتی مرحله طراحی استاندارد (پروتکل)  IEC 60870-5-104 بپردازیم؛ اگرچه مشخص است که برخی از مواردی که در این بخش عنوان خواهد شد از چشم طراحان  IEC 60870-5-104 به دور نمانده‌اند اما به دلیل نبود دغدغه امنیتی در  IEC 60870-5-104، این موارد در طراحی و قاعدتاً در پیاده‌سازی پروتکل لحاظ نشد‌ه‌اند. این نکته قابل‌توجه است که حل این نوع از آسیب‌پذیری‌ها بدون دست بردن در طراحی و پیاده‌سازی پروتکل غیرممکن است. به دلیل محدودیت تعداد صفحات مقاله در جدول (2) حملات فنی ناشی از آسیب‌پذیری‌های طراحی  IEC 60870-5-104 به شکل تجمیع شده و بر اساس شماره آسیب‌پذیری (V6-V1) آورده شده است.

1-1-1- فقدان مکانیزم تصدیق هویت (V1)

طبق استاندارد طراحی  IEC 60870-5-104 هیچ‌گونه تدبیری برای تصدیق هویت موجودیت‌هایی که از این پروتکل استفاده می‌کنند دیده نشده است؛ یعنی هر موجودیتی در شبکه که بسته‌ای را در قالب پروتکل  IEC 60870-5-104 ارسال می‌کند صحت منبع ارسال‌کننده آن بررسی نشده و بنابراین امکان حملاتی ازجمله ارسال بسته از منبع غیر معتبر یا حتی انکار مبدأ وجود دارد. به دلیل فقدان مکانیزم تصدیق هویت در  IEC 60870-5-104 در صورت دسترسی مهاجم به بستر شبکه و امکان وصل نمودن تجهیز خود در شبکه ارتباطی (در محل مناسب، بعد از مرحله جمع‌آوری اطلاعات از شبکه به شکل منفعل) قادر خواهد بود خود را به‌جای هر یک از تجهیزات معتبر شبکه درگیر با پروتکل  IEC 60870-5-104 جا بزند.

در سناریو دیگر مهاجم می‌تواند با غصب نمودن هر یک از تجهیزات معتبر درون شبکه اقدام به ارسال دستورات جعلی که به‌ظاهر از سوی تجهیزات دیگر فرستاده‌شده‌اند نماید. این تغییرات می‌تواند منجر به حملات متعددی شود که در جدول (2) آورده شده است.

فیلدنوع حمله
بایت آغاز (0x68)تخریب غیر فیزیکی[1] (V4)، ممانعت از کیفیت خدمات[2] (V1,V4)، دست‌کاری غیرمجاز (V1,V4)
طول APDUتخریب غیر فیزیکی (V4)، استراق سمع منفعل[3] (V2)، ممانعت از کیفیت خدمات (V1,V4)، دست‌کاری غیرمجاز (V1,V4)، داده‌ای[4] (V1,V4)، می‌تواند پیش‌زمینه‌ی حمله‌ی تزریق بسته شود (V1,V4)، می‌تواند پیش‌زمینه‌ی حمله‌ی ربایش جریان کنترلی شود (V1,V4)، مردی در میان غیرفعال (V1)، مردی در میان فعال (V1)، جعل هویت (V1)
فیلد کنترلی 1استراق سمع منفعل (V2)، تخریب غیر فیزیکی (V4)، ممانعت از کیفیت خدمات (V1,V4)، دست‌کاری غیرمجاز (V1,V4)
فیلد کنترلی 2استراق سمع منفعل (V2)، تخریب غیر فیزیکی (V4)، ممانعت از کیفیت خدمات (V1,V4)، دست‌کاری غیرمجاز (V1,V4)
فیلد کنترلی 3استراق سمع منفعل (V2)، تخریب غیر فیزیکی (V4)، ممانعت از کیفیت خدمات (V1,V4)، دست‌کاری غیرمجاز (V1, V4)
فیلد کنترلی 4استراق سمع منفعل (V2)، تخریب غیر فیزیکی (V4)، ممانعت از کیفیت خدمات (V1,V4)، دست‌کاری غیرمجاز (V1,V4)
شناسه نوع (TypeID)استراق سمع منفعل (V2)، تخریب غیر فیزیکی (V4)، ممانعت از کیفیت خدمات (V1,V4)، دست‌کاری غیرمجاز (V1,V4)، تزریق بسته (V1,V4)، می‌تواند پیش‌زمینه‌ی حمله‌ی ربایش جریان کنترلی (V1,V4)، مردی در میان غیرفعال (V1)، مردی در میان فعال (V1)
تعداد اشیا (NumIX)تخریب غیر فیزیکی (V4)، ممانعت از کیفیت خدمات (V1,V4)، دست‌کاری غیرمجاز (V1,V4)، تزریق بسته (V1,V4)، می‌تواند پیش‌زمینه‌ی حمله‌ی ربایش جریان کنترلی (V1,V4)
SQتخریب غیر فیزیکی (V4)، ممانعت از کیفیت خدمات (V1,V4)، دست‌کاری غیرمجاز (V1,V4)، می‌تواند پیش‌زمینه‌ی حمله تزریق بسته (V1,V4)، می‌تواند پیش‌زمینه‌ی حمله‌ی ربایش جریان کنترلی (V1,V4)
علت انتقال (COT)استراق سمع منفعل (V2)، تخریب غیر فیزیکی (V4)، ممانعت از کیفیت خدمات (V1,V4)، دست‌کاری غیرمجاز (V1,V4)، می‌تواند پیش‌زمینه‌ی حمله تزریق بسته (V1,V4)، می‌تواند پیش‌زمینه‌ی حمله‌ی ربایش جریان کنترلی (V1,V4)
P/Nتخریب غیر فیزیکی (V4)، ممانعت از کیفیت خدمات (V1,V4)، دست‌کاری غیرمجاز (V1,V4)
Tتخریب غیر فیزیکی (V4)، دست‌کاری غیرمجاز (V1,V4)
آدرس منبع (ORG)استراق سمع منفعل (V2)، تخریب غیر فیزیکی (V4)، ممانعت از کیفیت خدمات (V1,V4)، دست‌کاری غیرمجاز (V1,V4)، مردی در میان غیرفعال (V1,V4)، شنود فعال (V1,V4)، مردی در میان فعال (V1,V4)، جعل هویت (V1,V4)، ارسال مجدد پیام[5] (V1, V3)
فیلدهای آدرس مشترک ASDU (CA)استراق سمع منفعل (V2)، تخریب غیر فیزیکی (V4)، ممانعت از کیفیت خدمات (V1,V4)، دست‌کاری غیرمجاز (V1,V4)، مردی در میان غیرفعال (V1,V4)، شنود فعال (V1,V4)، مردی در میان فعال (V1,V4)، جعل هویت (V1,V4)، ارسال مجدد پیام (V1,V3)
فیلدهای آدرس اشیا اطلاعاتی (IOA)استراق سمع منفعل (V2)، تخریب غیر فیزیکی (V4)، ممانعت از کیفیت خدمات (V1,V4)، دست‌کاری غیرمجاز (V1,V4)، مردی در میان غیرفعال (V1,V4)، شنود فعال (V1,V4)، مردی در میان فعال (V1,V4)، جعل هویت (V1,V4)، ارسال مجدد پیام (V1,V3)
سایر فیلدهاتخریب غیر فیزیکی (V4)، دست‌کاری غیرمجاز (V1,V4)
(جدول-2): کل حملات فنی به فیلدهای  IEC 60870-5-104

1-1-2- فقدان مکانیزم‌های رمزنگاری (V2)

در  IEC 60870-5-104 هیچ‌گونه تدبیری برای رمزنگاری پیام‌ها دیده نشده است؛ ازاین‌رو بسته‌های نظارتی و کنترلی به شکل واضح ارسال‌شده و هر موجودیتی که بسته‌های عبوری را مشاهده کند می‌تواند از محتوای کنترلی و نظارتی اطلاع کامل پیدا کند. حملات مبتنی بر این آسیب‌پذیری در جدول (2) آورده شده است.

1-1-3- فقدان برچسب زمانی (V3)

 در  IEC 60870-5-104 هیچ‌گونه مکانیزمی برای اعمال برچسب زمانی دیده نشده است؛ ازاین‌رو بسته‌های ارسالی ازلحاظ زمانی اعتبار زمانی معتبری ندارند. حملات پیرو این آسیب‌پذیری در جدول (1) آورده شده است. در ادامه با ذکر یک مثال یک نمونه حمله ارسال مجدد پیام حاصل از فقدان برچسب زمانی را خواهیم دید.

در شکل (2) شاهد یک سناریو پیاده‌سازی از ایستگاه‌های مختلف هستیم؛ در این سناریو RTU B وظیفه کنترل و متمرکز نمودن داده‌های مختلف را دارد. در لایه پایینی این RTU دو RTU بانام‌های D و C را مشاهده می‌کنیم که ایستگاه‌های کنترل شونده هستند. RTU D قصد تولید و ارسال یک ASDU کنترلی به RTU C را دارد. این ASDU توسط RTU B بر اساس فیلد CA مسیریابی می‌شود.

(شكل-2): ارسال دستور کنترلی از RTU حالت دوگانه

در شکل (3) مشاهده می‌کنیم که پیام‌های ASDU تائید عمل توسط ایستگاه RTU C در جهت نظارت تولیدشده و فیلد ORG آن به مقدار D تنظیم می‌گردد. RTU B فیلد ORG در این بسته که برابر D است را تشخیص داده و بر این اساس مسیریابی می‌نماید. حال مهاجم در این سناریو می‌تواند در صورت قراردادن خود در شبکه (اگرچه کار دشواری است) ASDU کنترلی ارسالی از سمت RTU D را ضبط نموده و بارها و بارها همین پیام را ارسال کند، این رفتار مخرب ضمن اشغال رسانه ارتباطی منجر می‌شود که RTU C به شکل مکرر ASDU تائید عمل ارسال کند و پهنای باند شبکه به شکل حجیمی اشغال‌شده و تجهیزات دو طرف درگیر این ارتباطات بدخواهانه باشند.

(شكل-3): ارسال ASDU تائید عمل به RTU

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

1-1-4- فقدان مکانیزم تضمین صحت داده و فیلد چکسام (V4)

در طراحی  IEC 60870-5-104 هیچ فیلدی به‌منظور محاسبه و ذخیره‌سازی چکسام[6] در نظر گرفته نشده است؛ این در حالی است که در  IEC 60870-5-101 یک بایت فضا برای ذخیره‌سازی چکسام در نظر گرفته‌شده بود. عدم وجود این چکسام در  IEC 60870-5-104 این پروتکل را در برابر حملات تغییر یا دست‌کاری داده بسیار آسیب‌پذیرتر می‌کند در نگاه اول بر اساس آنچه بیان شد و بر اساس منابعی که به آن‌ها استناد شد این‌گونه به ذهن متبادر می‌شود که امکان تغییر بسته‌های عبوری در پروتکل  IEC 60870-5-104 به‌راحتی توسط هر مهاجمی با حداقل سطح حمله یک قابل انجام است؛ اما باید اذعان کرد که این‌گونه نیست.

یکی از دلایلی که طراحان  IEC 60870-5-104 فیلد چکسام را از این پروتکل حذف کرده‌اند این است که این پروتکل در لایه انتقال و شبکه از پروتکل TCP/IP استفاده می‌کند و فیلد چکسام داده درون پروتکل TCP در لایه انتقال وجود دارد؛ بنابراین علیرغم وجود نداشتن چکسام در  IEC 60870-5-104 مهاجم فاقد دانش کافی قادر به پیاده‌سازی یک حمله سطح یک برای دست‌کاری داده ارسالی توسط پروتکل  IEC 60870-5-104 نخواهد بود و باید از دانش بالایی برای پیاده‌سازی یک حمله سطح بالاتر برای محاسبه مجدد چکسام TCP در صورت تغییر داده  IEC 60870-5-104 باشد. حملات پیرو این آسیب‌پذیری در جدول (2) آورده شده است.

1-1-5- فقدان مکانیزم‌های امنیتی توکار در لایه کاربرد و پیوند داده (V5)

در  IEC 60870-5-104 مکانیزم‌های امنیتی توکار در لایه کاربرد و پیوند داده وجود ندارد و این مسئله در لایه کاربرد به‌نوعی می‌تواند درگیر با هر یک از آسیب‌پذیری‌های استخراج‌شده قبلی باشد (در برخی منابع نظیر [17] به‌عنوان آسیب‌پذیری جداگانه‌ای مطرح‌شده است).

1-1-6- محدودیت پهنای باند ارتباطی (V6)

پهنای باند محدود در  IEC 60870-5-104 منجر به محدودیت طول بسته ارسالی در این استاندارد می‌شود، به‌نحوی‌که حجم ارسالی قابل‌انتقال توسط  IEC 60870-5-104 و  IEC 60870-5-101 تنها 255 اکتت در واحد زمان خواهد بود. این مسئله باعث خواهد شد که حتی علیرغم داشتن ایده‌هایی برای تقویت  IEC 60870-5-104 در مقابل برخی آسیب‌پذیری‌های شناخته‌شده نتوان از به‌کارگیری بیت یا بیت‌هایی اضافه برای اعمال مکانیزم‌های امنیتی در طول انتقال داده بهره برد [18].

1-2- آسیب‌پذیری‌های پیاده‌سازی و عملیاتی

 در این بخش قصد داریم به بررسی آسیب‌پذیری‌های امنیتی مرحله‌ی پیاده‌سازی و عملیات  IEC 60870-5-104 و تجهیزات مرتبط با آن بپردازیم. به دلیل محدودیت در منابع منتشرشده در این حوزه و محدودیت در برآورد تجهیزاتی که از پروتکل  IEC 60870-5-104 استفاده می‌کنند با تعدادی معدود از آسیب‌پذیری‌های شناخته‌شده در این مورد، در زمان تدوین این مقاله، روبه‌رو بودیم. حل این نوع از آسیب‌پذیری‌ها با تغییر در پیاده‌سازی و پیکربندی محصولات مورداستفاده از طریق وصله‌های ارائه‌شده توسط سازندگان محصولات ممکن خواهد شد.

1-2-1- آسیب‌پذیری CVE-2008-2474

سرریز بافر در واحد پردازنده ارتباطی ABB PCU 400 به مهاجمان امکان اجرای کد دلخواه را از طریق بسته‌های دست‌کاری شده می‌دهد. میزان تأثیر این آسیب‌پذیری روی سازمان‌های مختلف به پارامترهای مختلفی بستگی دارد که برای هر سازمان متفاوت می‌باشند. مهاجم می‌تواند با ارسال بسته‌هایی که به‌طور خاص دست‌کاری شده‌اند به‌واسطه وب x87 و با استفاده از پروتکل‌های ارتباطی  IEC 60870-5-101 یا  IEC 60870-5-104 کدهای دلخواهی را اجرا نماید. نمره پایه CVSS نسخه دو این آسیب‌پذیری برابر با 10 می‌باشد.

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

1-2-2- آسیب‌پذیری CVE-2015-3939

مهاجم می‌تواند با استفاده از این آسیب‌پذیری به گواهینامه‌هایی دست یابد که برای ارتقا سطوح دسترسی موردنیاز است. نمره پایه CVSS نسخه دو این آسیب‌پذیری برابر با 5/8 می‌باشد. با استفاده از این آسیب‌پذیری، مهاجم می‌تواند به بعضی از فایل‌ها از طریق واسط سرویس داخلی ماژول ارتباطی دسترسی پیدا کند.

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

1-2-3- آسیب‌پذیری‌های ارتباطی در به‌کارگیری رسانه غیرقابل اطمینان

درصورتی‌که رسانه‌های ارتباطی بکار گرفته‌شده برای انتقال داده‌های در  IEC 60870-5-104 امواج رادیویی یا کابل‌های زوج سیم به هم تابیده باشد و این رسانه‌های در برابر تداخل امواج و فرکانس‌ها ایمن نشده باشند چالش‌‌های امنیتی در این حوزه به وجود می‌آید و می‌بایست امکان تداخل فرکانس توسط عوامل عمدی و غیرعمدی در آن‌ها بررسی شود.

1-2-4- آسیب‌پذیری‌های پیکربندی تجهیزات

راه‌اندازی و پیکربندی تجهیزات مختلف صنعتی فارغ از نوع پروتکل مورداستفاده نیازمند در نظر گرفتن اصول و ملاحظاتی است که شاید در اصل استانداردهای مربوط به پروتکل‌ها به‌صراحت در مورد عدم استفاده و بکار گیری نادرست آن‌ها و پیامدهای ممکن در مورد آن‌ها صحبتی نشده باشد. به‌عنوان‌مثال پروتکل  IEC 60870-5-104 دارای فیلد‌های متعددی نظیر شناسه، نوع، SQ، NumIX و غیره بوده که چنانچه مانند مثالی که در ادامه ذکر می‌گردد هرکدام به شکل صحیح مورداستفاده قرار نگیرند می‌تواند امکان سوءاستفاده برای مهاجم را فراهم سازد.

به‌عنوان‌مثال در شکل (2) و شکل (3) شاهد یک سناریو پیاده‌سازی از ایستگاه‌های مختلف بودیم. همان‌طور که در شکل (4) مشاهده می‌کنیم تغییرات در حالت برگشت در اثر یک دستور منجر به بازگردانی ASDU اطلاعاتی به ایستگاه فرمانده می‌شود؛ این بسته ارسالی دارای آدرس ORG برابر صفر و نوع RETREM در جهت نظارت بوده همین باعث می‌شود که RTU B آن را به ایستگاه فرمانده بفرستد که در صورت عدم دقت در استفاده صحیح از این مقادیر امکان سوءاستفاده برای مهاجم می‌تواند فراهم شود.

اگرچه آسیب‌پذیری‌های پیکربندی یا عملیاتی یک دسته مجزا از آسیب‌پذیری‌های امنیتی هستند که به علت پیکربندی و گسترش نادرست یک سیستم  در محیطی خاص به وجود می‌آیند اما با توجه به اینکه استخراج این آسیب‌پذیری‌های در هر فرایند کنترل صنعتی و زیرساخت پیاده‌سازی شده آن (با توجه به تنوع تجهیزات و تولیدکنندگان تجهیزات) متفاوت می‌باشد و نیازمند استخراج و ارزیابی دارایی‌های واحد صنعتی هدف است، شناسایی و احصاء آسیب‌پذیری‌های این نوع است، ازاین‌رو این نوع آسیب‌پذیری‌های باید در محیط عملیاتی و توسط گروه امنیت سیستم ‌های سایبر-فیزیکی انجام پذیرد.

 قابل‌توجه است که چنانچه شرکت‌های تولیدکننده تجهیزات هدف و شرکت‌های پیاده‌سازی این تجهیزات و زیرساخت‌های لازم الزامات امنیتی نصب و بهره‌برداری را تهیه‌کرده باشند رعایت این الزامات در این مرحله می‌توان آسیب‌پذیری‌های این مرحله را تا حد مناسبی مرتفع سازد؛ چنانچه این امر توسط این شرکت‌ها در نظر گرفته نشده باشد توصیه می‌کنیم که با در نظر گرفتن مصالحه‌های اقتصادی و در نظر گرفته نقشه راه امنیت سایبری واحد هدف از شرکت‌های متولی درخواست ارائه الزامات نصب و بهره‌برداری تجهیزات درگیر با  IEC 60870-5-104 صورت گیرد.

جهت مشاهده بخش های دیگر این مقاله بر روی بخش مورد نظر کلیک نمایید:

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


[1] نوعی حمله ممانعت از خدمات یا Denial Of Service است.

[2] Denial of Quality of Service

[3] Passive Wiretapping

[4] Data-Only Attack

[5] Replay Attack

[6] checksum