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