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 را بررسی کنیم؛ قاعدتاً شناخت مسائل درگیر در این بخش به ما کمک می‌کند تا برخی راه‌حل‌های امن سازی  IEC 60870-5-104 و پروتکل‌های مشابه را در مرحله طراحی بهتر بیاموزیم و چنانچه قصد داشته باشیم در آینده درزمینه‌ی امن سازی پروتکل‌های کنترل صنعتی، بومی‌سازی امن آن‌ها و ارائه پروتکل کنترل صنعتی جدید امن فعالیت کنیم بتوانیم الگوهای مناسبی برای این حوزه پژوهشی و صنعتی داشته باشیم.

با توجه به اسناد انتشاریافته کنونی در این حوزه راه‌حل‌هایی برای پیشگیری از حملات فنی جعل هویت، دست‌کاری غیرمجاز، ارسال مجدد پیام، شنود (صرفاً در مورد مبادله کلیدهای رمزنگاری) و ممانعت از خدمات ارائه‌شده است که در ادامه به‌اختصار به آن‌ها می‌پردازیم. در حوزه استاندارد‌ها و الزامات امنیتی مرتبط با پروتکل‌های مبتنی بر استانداردهای IEC 60870 یکی از مراکز فعال، کمیسیون IEC است. کارگروه 15 IEC مجموعه‌ای از استاندارد‌های امنیتی را به‌منظور ارتقاء اطمینان‌پذیری و امنیت زیرسا‌خت‌های اطلاعاتی منتشر کرده است [19]. عمده الزامات و ملاحظات امن سازی این بخش که با در نظر گرفتن پارامترهای عملکردی و پایداری گردآوری و تهیه‌شده است مبتنی بر استاندارد IEC/TS 62351 است که یک سند مشخصات فنی می‌باشد و از سوی کمیته فنی 57 تهیه‌شده است.

از میان مجموعه استانداردهای منتشرشده در قالب IEC/TS 62351 دو استاندارد خاص از این مجموعه با شماره‌های 62351-5 [20] و 62351-3 [21] در ارتباط با پروتکل  IEC 60870-5-104 می‌باشند؛ البته این بدین معنا نیست که این دو استاندارد خاص صرفاً برای  IEC 60870-5-104 ارائه‌شده باشند. استاندارد IEC/ST 62351 تنها بر احراز اصالت لایه کاربرد و مسائل امنیتی ناشی از این استناد تمرکز دارد. سایر دغدغه‌های امنیتی، خصوصاً حفاظت در برابر حملات صورت گرفته به‌واسطه انسان با به‌کارگیری تکنیک‌های رمزنگاری، خارج از قلمرو این استاندارد می‌باشند.

1-1- مسائل درگیر در طراحی مکانیزم احراز اصالت

در این استاندارد با مبنا قراردادن مکانیزم احراز اصالت، مسائل درگیر در طراحی مکانیزم را موارد مطرح می‌نماید که ذیلاً به اهم آن‌ها اشاره می‌کنیم:

1-1-1- ارتباطات نامتقارن[1]

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

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

1-1-2- مبتنی بر پیام بودن[2]

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

1-1-3- دنباله‌ی اعداد ضعیف یا فقدان دنباله اعداد

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

1-1-4- توان پردازش محدود

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

1-1-5- پهنای باند محدود

میزان محدود پهنای باند موجود در شبکه‌های کنترل صنعتی یکی دیگر از نگرانی‌های اصلی طراحی پروتکل‌هایی نظیر  IEC 60870-5-104 می‌باشد؛ بنابراین، مکانیزم احراز اصالت نباید سربار زیادی را به پروتکل‌های تحت تأثیر اضافه نماید. اندازه چالش[3] و داده‌های احراز اصالت ازاین‌رو محدودشده و تا جای ممکن در حالی انتقال داده می‌شود که سطحی مناسب از امنیت را در برمی‌گیرد.

1-1-6- عدم دسترسی به سرور احراز اصالت

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

1-1-7- چکسام محدود

همان‌طور که در بخش ‏3-1-4- توضیح داده شد راهکارهای کنترل صحت مورد انتخاب برای  IEC 60870-5-104 به‌منظور حفاظت در برابر نویز تصادفی طراحی‌شده است، نه حملات موردنظر؛ صحت  IEC 60870-5-104 به راهکارهای تأمین صحت لایه‌های پایین در EPA بستگی دارد. ازآنجایی‌که  IEC 60870-5-104 یک پروتکل لایه کاربرد و لایه فرآیند کاربر می‌باشد و از سویی استاندارد منبع [20] صرفاً به بحث در مورد مکانیزم لایه کاربردی می‌پردازد، نمی‌تواند به اندازه‌های کافی تضمین‌کننده صحت حداقل در لایه کاربرد باشد.

1-1-8- سایت‌های از راه دور[7]

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

1-1-9- رسانه غیرقابل اطمینان[8]

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

1-2- مکانیزم طراحی امن

مکانیزم احراز اصالت بر اساس دو مفهوم طراحی می‌شود:

  • پروتکل چالش و پاسخ.
  • مفهوم MAC[9] که هر دو ایستگاه کنترل‌کننده و کنترل شونده بر اساس ASDU یا پیام پروتکل محاسبه می‌شود، باید احراز اصالت شوند.

مکانیزم احراز اصالتی که در استاندارد [20] شرح داده‌شده است بر اساس مفهوم چالش و پاسخ طراحی‌شده است؛ این مفهوم به دلایل زیر اعمال‌شده است:

  • این مفهوم مسئولیت امنیت در دستگاهی را که نیاز به احراز اصالت دارد فراهم می‌کند و در شبکه‌های متنوعی مانند شبکه‌های کنترل صنعتی شرایط کاربردی مناسبی را فراهم می‌سازد.
  • این مفهوم امکان داشتن ارتباط غیر امن را در صورت لزوم ممکن می‌نماید و پهنای باند و نیازهای پردازشی را در این شرایط کاهش می‌دهد.

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

(شكل-5): نمونه چالش موفق ASDU حیاتی[20]

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

در زمان دریافت پاسخ، چالشگر محاسبات مشابه را روی‌داده‌های مورداستفاده از سوی پاسخگو اعمال می‌نماید. درصورتی‌که نتیجه مطابقت داشته باشد، چالشگر ادامه ارتباط را اجازه می‌دهد برای کاهش استفاده از پهنای باند یک مد تهاجمی[10] نیز می‌توان طراحی کرد، پاسخگو یک عملیات حیاتی[11]را امتحان می‌نماید و ممکن است به‌صورت اختیاری چالش را پیش‌بینی کرده و مقدار MAC را در ASDU مشابه که حفاظت‌شده است ارسال نماید. شکل (6) نشانگر احراز اصالت ASDU کلیدی با بهره‌گیری از مد تهاجمی موفق می‌باشد.

(شكل-6): نمونه‌ای از درخواست مد تهاجمی موفق[20]

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

استاندارد [20] از اصول امنیتی محرمانگی پیشرو عالی[12] تبعیت می‌نماید که در IEC/ST 62351-2 [22] تعریف‌شده است. استفاده از کلیدهای رمزنگاری و نحوه به‌روزرسانی آن‌ها در مکانیزم احراز اصالت اهمیت ویژه‌ای دارد که در استانداردهای مرجع کلیدهای نشست مسیر نظارت، نشست مسیر کنترل، به‌روزرسانی، گواهی مرجع[13] (اختیاری)، خصوصی مرجع، عمومی مرجع، خصوصی کاربر، عمومی کاربر، خصوصی ایستگاه تحت کنترل، عمومی ایستگاه تحت کنترل در طراحی در نظر گرفته‌شده‌اند. در کمترین سطح، کلیدها به‌وسیله ایستگاه کنترل‌شده و کنترل‌کننده مدیریت می‌شوند. فرآیند مدیریت کلید به‌صورت اختیاری می‌تواند به کمک شخص ثالث مورد اعتماد صورت گیرد. جهت مطالعه اطلاعات تکمیلی در مورد مدیریت و متعلقات آن‌ها می‌توان به [20] و IEC-62351-9 [23] مراجعه کرد. به‌عنوان‌مثال در شکل (7) نمایی سطح بالا از تعامل بین مرجع و ایستگاه‌ها در فرآیند توزیع کلید را مشاهده می‌کنیم.

(شكل-7): تعامل بین مرجع و ایستگاه‌ها در مدیریت کلید[20]

به‌منظور پیاده‌سازی مکانیزم‌های ارائه‌شده نیاز به‌اضافه کردن مواردی به استاندارد [24] هستیم. در ادامه بر اساس استاندارد [25] اقدام به معرفی برخی از این موارد می‌کنیم. مقادیری که باید در فیلد علت انتقال (COT) اضافه شود و شرح مختصری از هر یک در جدول (3) آورده شده است. هدف از اضافه کردن سه مقدار جدید 14، 15 و 16، تجهیز پروتکل هدف به مکانیزم‌های احراز اصالت است چراکه به دلیل اهمیت این مقوله، استفاده از کلیدهای رمزنگاری و نحوه به‌روزرسانی آن‌ها در استاندارد [25] مورد توجه ویژه‌ای قرار گرفته است. مقادیر یادشده در فیلد علت انتقال به گیرنده پیام وضعیت احراز اصالت، نگه‌داری کلید نشست و نگه‌داری کلید نقش کاربر را مشخص می‌کند.

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

مقدار جدیدعلت انتقال
14احراز اصالت
15نگه‌داری کلید نشست احراز اصالت
16نگه‌داری نقش کاربر و کلید به‌روزرسانی
(جدول-3): مقادیری که باید به فیلد COT اضافه شوند

 شایان‌ذکر است که استاندارد IEC62351 اگرچه مکانیزم‌های امنیتی مطلوبی برای ارتقاء امنیت فراهم می‌کند اما این استاندارد جهت ارتقاء امنیت تمرکز ویژه‌ای بر روی لایه کاربرد دارد، ازاین‌رو باید به این نکته توجه داشت که در صورت پیاده‌سازی کامل استاندارد IEC62351 نمی‌توان امنیت بالایی در همه لایه‌ها توقع داشت [26]. باید به این نکته توجه کرد که به‌منظور تقویت مکانیزم‌های امنیتی مرجع [20] می‌توان از سایر استانداردهای خانواده IEC62351 مانند استاندارد [21] جهت افزایش مکانیزم‌های محرمانگی یا صحت در ASDU‌های استفاده کرد.

(جدول-4): مقادیری که باید به فیلد شناسه نوع اضافه شوند

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

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

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

 


[1] Asymmetric

[2] Message-Oriented

[3] Challenge

[4] Verification

[5] Online

[6] Third Party

[7] Remote Sites

[8] Unreliable

[9] Message Authentication Code

[10] Aggressive Mode

[11] Critical

[12] Perfect Forward Secrecy

[13] Authority Certification Key

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