این خبر، بخش سوم مقاله مربوط به امنیت پروتکل IEC 60870-5-104 است که توسط واحد تخصصی آگاهیبخشی سایبر صنعتی شرکت پیشگامان امن آرمان(امان) ارائه شده است.جهت دسترسی به بخشهای قبلی این مقاله به انتهای همین صفحه مراجعه نمایید. مراجع این مقاله فنی در انتهای این خبر درج شده اند و در صورت استفاده از مطالب این مقاله لازم است به مراجع مذکور ارجاع داده شود.
بهمنظور شناسایی آسیبپذیریها در IEC 60870-5-104 ما از دو سناریو بهره بردهایم. نخست به بررسی و کالبدشکافی اسناد منتشرشده از استاندارد و پروتکل هدف پرداختهایم تا بتوانیم آسیبپذیریهای مرحله طراحی را استخراج نماییم. در سناریو دوم با پیادهسازی بستر آزمایشی و بررسی اسنادی که این نوع سناریو را انجام دادهاند تلاش کردیم در عمل آسیبپذیریها و حملات به این پروتکل را بررسی کنیم؛ در ادامه در بخش3-1- به شکل تلفیقی از این دو سناریو آسیبپذیریهای مرحله طراحی این پروتکل را تبیین میکنیم. در بخش 3-2- به بررسی آسیبپذیریهای امنیتی مرحلهی پیادهسازی و عملیاتی IEC 60870-5-104 و تجهیزات مرتبط با آن میپردازیم.
حملات میتوانند به سطوح مشخصی با توجه به نیازمندی اطلاعاتی و مهارت یک مهاجم طبقهبندی شوند؛ جدول (1) چهار سطح حملات را نشان میدهد که ما در ادامه مقاله بر اساس آن حملات را معرفی کردهایم.
سطح حمله | شماره تهدید |
پیشرفته | 4 |
باتجربه | 3 |
عادی | 2 |
تصادفی | 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) |
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 مسیریابی میشود.
در شکل (3) مشاهده میکنیم که پیامهای ASDU تائید عمل توسط ایستگاه RTU C در جهت نظارت تولیدشده و فیلد ORG آن به مقدار D تنظیم میگردد. RTU B فیلد ORG در این بسته که برابر D است را تشخیص داده و بر این اساس مسیریابی مینماید. حال مهاجم در این سناریو میتواند در صورت قراردادن خود در شبکه (اگرچه کار دشواری است) ASDU کنترلی ارسالی از سمت RTU D را ضبط نموده و بارها و بارها همین پیام را ارسال کند، این رفتار مخرب ضمن اشغال رسانه ارتباطی منجر میشود که RTU C به شکل مکرر ASDU تائید عمل ارسال کند و پهنای باند شبکه به شکل حجیمی اشغالشده و تجهیزات دو طرف درگیر این ارتباطات بدخواهانه باشند.
سناریو دیگر حمله این است که مهاجم در صورت دسترسی به 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: معرفی اجمالی پروتکل IEC 60870-5-104
- بخش 2: برخی کارهای انجام شده در حوزه امنیت پروتکل IEC 60870-5-104
- بخش 3: شناسایی اجمالی تهدیدات و آسیبپذیریها پروتکل IEC 60870-5-104
- بخش 4: راهکارهای امن سازی در مرحله طراحی پروتکل IEC 60870-5-104
- بخش 5: بستر آزمایش و ارزیابی امنیت پروتکل IEC 60870-5-104 و نتیجه گیری
جهت مشاهده منابع معرفی شده در این بخش، به مقاله اصلی این خبر که توسط یکی از متخصصین شرکت پیشگامان امن آرمان(امان) در مجله معتبر منادی امنیت فضای تولید و تبادل اطلاعات(افتا) به چاپ رسیده است مراجعه نمایید. همچنین میتوان به کتاب مرجع این مقاله نیز مراجعه نمود.
- شناسایی چالشهای امنیتی پروتکل IEC ۶۰۸۷۰-۵-۱۰۴ و بررسی راهکارهای موجود. مجله منادی امنیت فضای تولید و تبادل اطلاعات(افتا). ۱. ۱۳۹۷; ۷ (۲) :۱۵-۳۰
- کتاب پروتکل کنترل صنعتی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