☢️🧑🏻💻OT Sentinel | ICS/OT Security🧑🏻💻☢️
یه چیزی که این روزا درباره هوش مصنوعی و رباتها خیلی جالبه اینه که دیگه قضیه فقط این نیست که یه ربات بسازیم که راه بره یا یه هوش مصنوعی داشته باشیم که باهامون حرف بزنه. اتفاقی که واقعاً داره میفته اینه که AI کمکم داره از حالت «فقط جواب دادن» میاد سمت «انجام…
مثلاً به جای اینکه بگی «این صفحه رو باز کن»، میتونی بگی «این اطلاعات رو پیدا کن و داخل این فایل قرار بده» و سیستم سعی میکنه خودش مسیر انجام کار رو پیدا کنه. البته ممکنه اشتباه هم بکنه و دقیقاً همینجا بحث امنیت و کنترل خیلی مهم میشه.
جالبتر اینکه Anthropic روی میلیونها تعامل واقعی انسان و AI بررسی انجام داده و گفته طولانیترین sessionهای Claude Code طی چند ماه تقریباً دو برابر شده؛ یعنی در بالاترین بخش استفاده، مدت زمانی که مدل بدون توقف کار میکرد از کمتر از ۲۵ دقیقه به بیشتر از ۴۵ دقیقه رسیده. این به معنی «۴۵ دقیقه هوش مستقل مثل انسان» نیست، ولی نشون میده مردم دارن کارهای طولانیتر و پیچیدهتر رو به Agentها میسپارن.
حالا ربات رو بذار کنار این قضیه. ربات خودش یه بدنهست؛ دوربین داره، سنسور داره، دست و پا داره و میتونه توی محیط واقعی حرکت کنه. وقتی یه مدل هوش مصنوعی رو به چنین سیستمی وصل کنی، AI دیگه فقط روی صفحه کامپیوتر نیست؛ میتونه محیط رو از طریق دوربین ببینه، اطلاعات رو تحلیل کنه و به ربات بگه چه حرکتی انجام بده. این حوزه رو معمولاً embodied AI میگن.
ولی اینجا هم نباید جوگیر بشیم و بگیم «رباتها الان مثل انسان شدن». هنوز فاصله خیلی زیاده. رباتهای انساننما هنوز در خیلی از کارهای روزمره و محیطهای ناشناخته محدودیت جدی دارن و حتی Agentهای کامپیوتری فعلی هم اشتباه زیاد دارن.
چیزی که واقعاً داره تغییر میکنه اینه که کامپیوتر داره از یه ابزار منفعل تبدیل میشه به یه ابزار فعال؛ یعنی قبلاً ما میرفتیم پشت کامپیوتر و همه کارها رو خودمون انجام میدادیم، الان داریم به سیستمهایی میرسیم که میتونن بخشی از اون کارها رو خودشون انجام بدن.
به نظرم قسمت عجیب ماجرا هم دقیقاً همینجاست. نه اینکه فردا رباتها بیان انسانها رو نابود کنن؛ این حرفا بیشتر فیلمه. چیز واقعی اینه که هرچی AI توانایی بیشتری برای استفاده از کامپیوتر، اینترنت، نرمافزارها و در آینده رباتهای فیزیکی پیدا کنه، نقش انسان از «انجامدهنده مستقیم کار» بیشتر میره سمت «تعیین هدف، دادن دسترسی و نظارت کردن».
و این تغییر، همین الان شروع شده؛ فقط هنوز به اون مرحلهای که تو فیلمها میبینیم نرسیدیم.
جالبتر اینکه Anthropic روی میلیونها تعامل واقعی انسان و AI بررسی انجام داده و گفته طولانیترین sessionهای Claude Code طی چند ماه تقریباً دو برابر شده؛ یعنی در بالاترین بخش استفاده، مدت زمانی که مدل بدون توقف کار میکرد از کمتر از ۲۵ دقیقه به بیشتر از ۴۵ دقیقه رسیده. این به معنی «۴۵ دقیقه هوش مستقل مثل انسان» نیست، ولی نشون میده مردم دارن کارهای طولانیتر و پیچیدهتر رو به Agentها میسپارن.
حالا ربات رو بذار کنار این قضیه. ربات خودش یه بدنهست؛ دوربین داره، سنسور داره، دست و پا داره و میتونه توی محیط واقعی حرکت کنه. وقتی یه مدل هوش مصنوعی رو به چنین سیستمی وصل کنی، AI دیگه فقط روی صفحه کامپیوتر نیست؛ میتونه محیط رو از طریق دوربین ببینه، اطلاعات رو تحلیل کنه و به ربات بگه چه حرکتی انجام بده. این حوزه رو معمولاً embodied AI میگن.
ولی اینجا هم نباید جوگیر بشیم و بگیم «رباتها الان مثل انسان شدن». هنوز فاصله خیلی زیاده. رباتهای انساننما هنوز در خیلی از کارهای روزمره و محیطهای ناشناخته محدودیت جدی دارن و حتی Agentهای کامپیوتری فعلی هم اشتباه زیاد دارن.
چیزی که واقعاً داره تغییر میکنه اینه که کامپیوتر داره از یه ابزار منفعل تبدیل میشه به یه ابزار فعال؛ یعنی قبلاً ما میرفتیم پشت کامپیوتر و همه کارها رو خودمون انجام میدادیم، الان داریم به سیستمهایی میرسیم که میتونن بخشی از اون کارها رو خودشون انجام بدن.
به نظرم قسمت عجیب ماجرا هم دقیقاً همینجاست. نه اینکه فردا رباتها بیان انسانها رو نابود کنن؛ این حرفا بیشتر فیلمه. چیز واقعی اینه که هرچی AI توانایی بیشتری برای استفاده از کامپیوتر، اینترنت، نرمافزارها و در آینده رباتهای فیزیکی پیدا کنه، نقش انسان از «انجامدهنده مستقیم کار» بیشتر میره سمت «تعیین هدف، دادن دسترسی و نظارت کردن».
و این تغییر، همین الان شروع شده؛ فقط هنوز به اون مرحلهای که تو فیلمها میبینیم نرسیدیم.
⚡3
چند روز پیش داشتم یه فایل خیلی فنی خوندم راجع به یه پردازنده مخفی که توی تمام چیپستهای اینتل کار گذاشتن، اسمش اینتل منیجمنت انجینه یا همون ME که از سال ۲۰۰۸ به بعد توی تمام کامپیوترهایی که پردازنده اینتل دارن وجود داره، این پردازنده کاملاً مستقل از سیپییوی اصلیه و حتی وقتی کامپیوتر رو خاموش میکنی بازم روشن میمونه، به شرطی که به برق وصل باشه، یعنی میتونه توی خواب یا خاموشی هم کار کنه، جالبتر اینکه دسترسی مستقیم به کارت شبکه داره، پس میتونه اطلاعات رو بدون اینکه سیستمعامل یا شما متوجه بشید بفرسته یا دریافت کنه، در واقع یه راه پشتی سختافزاریه که هیچ آنتیویروسی نمیتونه بفهمه، تازه بدتر اینکه این پردازنده قابلیت اجرای کد از راه دور داره، یعنی یه نفر میتونه از اون طرف دنیا بیاد به سیستمت وصل بشه و هر کاری دوست داره بکنه، حتی اگه ویندوزت کلاً هنگ کرده باشه، قابلیت دیگهش اینه که میتونه سیستم رو قفل کنه یا اطلاعات رو پاک کنه، اگه مثلاً شرکتت یه لپتاپ گم کنه و بخوای جلوی دسترسی به اطلاعاتو بگیری، ولی خوب این یه شمشیر دو لبهست، چون ممکنه خودشون هم ازش استفاده کنن
💯7
☢️🧑🏻💻OT Sentinel | ICS/OT Security🧑🏻💻☢️
چند روز پیش داشتم یه فایل خیلی فنی خوندم راجع به یه پردازنده مخفی که توی تمام چیپستهای اینتل کار گذاشتن، اسمش اینتل منیجمنت انجینه یا همون ME که از سال ۲۰۰۸ به بعد توی تمام کامپیوترهایی که پردازنده اینتل دارن وجود داره، این پردازنده کاملاً مستقل از سیپییوی…
حالا بریم سر اصل ماجرا، چیزی که منو بیشتر از همه بیشتر تو فکر فرو برد این بود که کدهای این پردازنده رو شرکت اینتل امضا کرده، یعنی هیچکس نمیتونه ببینه داخلش چیه، یه جعبه سیاه کامل، و بدتر اینکه از نسخه ۷ به بعد یه قابلیت جدید به اسم داینامیک اپلیکیشن لودر گذاشتن که یعنی هر اپلیکیشنی که امضای معتبر داشته باشه میتونه توی این پردازنده اجرا بشه، مثلاً الان از این قابلیت برای احرازهویت دو مرحلهای استفاده میکنن، ولی خب اگه یه هکر بتونه یه راهی پیدا کنه میتونه کد خودش رو هم روش اجرا کنه و این دقیقاً همون چیزیه که سال ۲۰۱۷ اتفاق افتاد و اینتل یه باگ بزرگ رو تأیید کرد که میشد ازش سوءاستفاده کرد، حالا بیایم اینجا توی ایران، ما با یه مشکل بزرگتر مواجهیم، چون عملاً تمام سیستمهامون خارجی هست و کنترلش دست خودمون نیست، ما نمیتونیم این پردازنده رو غیرفعال کنیم یا حتی بررسی کنیم که داره چیکار میکنه، تازه تلاشایی هم که محققا کردن برای نفوذ بهش اکثراً شکست خورده، مثلاً یه محقق سعی کرد قفل حافظهاش رو بشکنه که باعث شد برد کاملاً بسوزه، یکی دیگه سعی کرد با جا به جا کردن رم توی حالت سرد اطلاعاتش رو بخونه که نشد، چون رم scramble شده، پس عملاً این پردازنده یه موجودیت جداست، و اگه سازمان حساسی باشی، مثلاً نظامی، هستهای، بانکی یا هر جای دیگهای که اطلاعات محرمانه داری، این یعنی یه تهدید دائمی، راستش راه حل زیادی هم نداریم، چندتا پیشنهاد هست، یکی اینکه اگه میتونی از پردازندههای بدون این قابلیت استفاده کنی، مثل بعضی مدلهای AMD یا پردازندههای جدید RISC-V، دوم اینکه سیستمهای حساست رو از اینترنت جدا کنی فیزیکی، سوم اینکه از ابزارهای مثل me_cleaner استفاده کنی که بتونه تا حدی این ماژول رو غیرفعال کنه ولی کامل نیست، و در نهایت اینکه به فکر تولید سختافزار بومی باشیم که خب میدونم خیلی سخته ولی چارهای نیست، خلاصه اینکه این قضیه رو جدی بگیرید، فقط یه تئوری نیست، یه واقعیت اثباتشدهست و توی کنفرانسهای امنیتی دنیا دارن روش کار میکنن، منبعش رو هم براتون میذارم اگه خواستید دقیق تر بخونید، فعلاً همین، مراقب خودتون باشین
💯3🔥1
AR-2014-001RU.pdf
723 KB
📢 سیاست انتشار محتوای این کانال:
این مطلب و تحلیل ارائهشده، حاصل گردآوری، ترجمه و تحلیل تخصصی توسط کانال OT Sentinel است و برای اولین بار در اینجا منتشر میشود.
✅ بازنشر (فوروارد) در سایر کانالها و گروهها کاملاً آزاد است، اما صرفاً با شرایط زیر:
🔹 ذکر نام کامل کانال: OT Sentinel | ICS/OT Security
🔹 درج لینک مستقیم کانال: https://t.me/pythonwithmedev
❌ هرگونه انتشار، کپیبرداری یا استفاده از محتوای این پست بدون ذکر منبع، نقض حق نشر محسوب شده و از طریق مراجع قانونی و امنیتی پیگیری خواهد شد.
ما بر انتشار محتوا در فضای مجازی نظارت داشته و حق پیگیری قانونی را برای خود محفوظ میداریم.
با تشکر از همراهی شما در جهت ارتقاء امنیت زیرساختهای حیاتی کشور 🔐⚡
@pythonwithmedev
این مطلب و تحلیل ارائهشده، حاصل گردآوری، ترجمه و تحلیل تخصصی توسط کانال OT Sentinel است و برای اولین بار در اینجا منتشر میشود.
✅ بازنشر (فوروارد) در سایر کانالها و گروهها کاملاً آزاد است، اما صرفاً با شرایط زیر:
🔹 ذکر نام کامل کانال: OT Sentinel | ICS/OT Security
🔹 درج لینک مستقیم کانال: https://t.me/pythonwithmedev
❌ هرگونه انتشار، کپیبرداری یا استفاده از محتوای این پست بدون ذکر منبع، نقض حق نشر محسوب شده و از طریق مراجع قانونی و امنیتی پیگیری خواهد شد.
ما بر انتشار محتوا در فضای مجازی نظارت داشته و حق پیگیری قانونی را برای خود محفوظ میداریم.
با تشکر از همراهی شما در جهت ارتقاء امنیت زیرساختهای حیاتی کشور 🔐⚡
@pythonwithmedev
⚡2
Forwarded from امنیت سایبری | Cyber Security
- آژانس امنیت ملی آمریکا، آژانس امنیت سایبری و امنیت زیرساخت، پلیس فدرال، وزارت انرژی و آژانس حفاظت از محیطزیست آمریکا در هشداری مشترک درباره حملات سایبری فعال به زیرساختهای حیاتی این کشور اعلام خطر کردند؛ حملاتی که در آنها از ابزارهای تولیدشده با کمک هوش مصنوعی استفاده میشود.
- هدف این حملات، کنترلگرهای صنعتی سری «اس۷» شرکت زیمنس است که در بخشهایی مانند انرژی، آب و فاضلاب، صنایع شیمیایی و تولیدات حیاتی کاربرد دارند. مهاجمان با شناسایی سامانههای آسیبپذیر و متصل به اینترنت، تلاش میکنند به آنها نفوذ کنند.
- مقامهای آمریکایی میگویند استفاده از هوش مصنوعی برای تولید ابزارهای حمله، موانع فنی برای مهاجمان را کاهش داده و میتواند اجرای حملات به سامانههای صنعتی را سریعتر و آسانتر کند. تاکنون عامل مشخصی برای این حملات معرفی نشده است.
- این نهادها به سازمانها توصیه کردهاند کنترلگرهای صنعتی خود را بهروز کنند، آنها را از اینترنت عمومی جدا نگه دارند و با تقویت کنترل دسترسی و نظارت مستمر، فعالیتهای مشکوک را شناسایی کنند.
Please open Telegram to view this post
VIEW IN TELEGRAM
💯3
سال ۹۸، پروژهی مانیتورینگ و کنترل یه شبکهی توزیع آب شهری رو داشتم. سیستم بر پایهی WinCC و PLCهای زیمنس S7-300 پیاده شده بود. همه چی طبق اسناد طراحی پیش میرفت تا اینکه یه روز عادی، هنگام بررسی لاگهای روزانه، یه اتفاق عجیب دیدم. یه تابع کاربردی تو PLC که کارش محاسبهی دبی خروجی بود، بدون هیچ دستوری از سمت HMI یا اپراتور، مقدارش عوض شده بود. مقدارش از ۴۵۰ به ۷۸۰۰ تغییر کرده بود. عددی خارج از رنج سنسور. لاگ WinCC هیچ دستوری نشون نمیداد. اما لاگ Diagnostic Buffer PLC نشون میداد که یه درخواست نوشتن روی DB مرتبط با اون تابع، از یه آدرس آیپی خارج از محدودهی شبکهی صنعتی اومده. یعنی یه نفر از بیرون، بدون اینکه از HMI رد بشه، مستقیم رفته بود تو بلوکهای دادهی PLC و مقدار رو عوض کرده بود. این یعنی سطح دسترسی مستقیم به حافظهی PLC. این یعنی پروتکل S7Comm بدون هیچ لایهی امنیتی، در معرض دید بود. اون روز برام روشن شد که سه تا باور غلط رو باید یکبار برای همیشه کنار بذارم.
💯8
☢️🧑🏻💻OT Sentinel | ICS/OT Security🧑🏻💻☢️
سال ۹۸، پروژهی مانیتورینگ و کنترل یه شبکهی توزیع آب شهری رو داشتم. سیستم بر پایهی WinCC و PLCهای زیمنس S7-300 پیاده شده بود. همه چی طبق اسناد طراحی پیش میرفت تا اینکه یه روز عادی، هنگام بررسی لاگهای روزانه، یه اتفاق عجیب دیدم. یه تابع کاربردی تو PLC که…
باور اول اینکه سیستم ما ایزولهست. نه، نیست. هر پورت ۱۰۲ باز روی یه PLC، یعنی هر کسی که به شبکهی شما دسترسی داشته باشه، میتونه بنویسه تو حافظهاش. مگر اینکه لایهی شبکه رو با ACL و VLAN جدا کرده باشید و دسترسی به پورتهای OT رو فقط از مسیرهای مشخص و با احراز هویت قوی مجاز بدونید. باور دوم اینکه مهاجم باید خیلی حرفهای باشه. نه، نیست. ابزارهایی مثل متاسپلویت ماژول مستقیم برای S7 دارن. یه بچهی دورهدیدهی امنیت، در کمتر از ۵ دقیقه میتونه یه S7-1200 رو شناسایی کنه، بستهی استارت/استاپ بفرسته و منطق رو تغییر بده. حرفهای بودن مهاجم نیست که خطرناکه، دسترسپذیر بودن سیستمه که خطرناکه. باور سوم اینکه فایروال اداری کافیه. نه، کافی نیست. فایروالهای IT، پروتکلهای صنعتی رو نمیشناسن. فایروال صنعتی باید لایهی ۷ رو ببینه، نه فقط پورت و آیپی. یه فایروال صنعتی خوب باید پیلود بستههای مادباس یا DNP3 یا S7Comm رو بررسی کنه و دستورات غیرمجاز مثل رایت به رجیسترهای حیاتی رو مسدود کنه
👍3
☢️🧑🏻💻OT Sentinel | ICS/OT Security🧑🏻💻☢️
باور اول اینکه سیستم ما ایزولهست. نه، نیست. هر پورت ۱۰۲ باز روی یه PLC، یعنی هر کسی که به شبکهی شما دسترسی داشته باشه، میتونه بنویسه تو حافظهاش. مگر اینکه لایهی شبکه رو با ACL و VLAN جدا کرده باشید و دسترسی به پورتهای OT رو فقط از مسیرهای مشخص و با احراز…
از اون روز، من یه چارچوب امنیتی ۷ مرحلهای رو برای همهی پروژههام الزامی کردم. این چارچوب رو بر اساس تجربهی مستقیم و استاندارد IEC 62443 تدوین کردم. مرحلهی اول، شناسایی دقیق داراییهاست. همهی PLCها، RTUها، IEDها، HMIها، سرورهای تاریخچه و ایستگاههای مهندسی رو با جزئیات کامل شناسایی کنید. نه فقط آیپی، بلکه نسخهی فریمور، ماژولهای نصبشده، پورتهای باز و سرویسهای فعال. هر دستگاهی که توی لیست نباشه، خطر محسوب میشه. مرحلهی دوم، بخشبندی شبکه بر اساس مدل پاردو هست. شبکه رو به ۵ سطح تقسیم کنید. سطح صفر، فرآیند که سنسورها و عملگرها هستن. سطح یک، کنترل محلی که PLCها و RTUها هستن. سطح دو، کنترل ناحیهای که ایستگاههای اپراتوری هستن. سطح سه، مدیریت عملیات که سرورهای تاریخچه و مهندسی هستن. سطح چهار، شبکهی سازمانی که IT هست. بین هر سطح، یه فایروال صنعتی بذارید که فقط ترافیک مجاز رو عبور بده. هیچ ارتباطی بین سطح سه و چهار بدون بازرسی عمیق بسته مجاز نیست. مرحلهی سوم، پیادهسازی سیاست انکار پیشفرض هست. همهی قوانین فایروال بهصورت Deny-All تعریف بشن. بعد یکبهیک ارتباطات ضروری رو Allow کنید. این کار جلوی حرکت جانبی رو میگیره. اگه یه مهاجم بتونه یه دستگاه رو آلوده کنه، بدون قوانین Allow صریح، نمیتونه به دستگاه دیگهای دسترسی پیدا کنه. مرحلهی چهارم، احراز هویت قوی و متمرکز هست. همهی دسترسیها به تجهیزات صنعتی باید از طریق یه دایرکتوری فعال با احراز هویت دو مرحلهای انجام بشه. رمزهای محلی تجهیزات رو غیرفعال کنید. اگه تجهیز از MFA پشتیبانی نمیکنه، دسترسی بهش رو از طریق یه جامپ باکس با MFA انجام بدید. مرحلهی پنجم، مانیتورینگ پیوسته و تحلیل لاگ هست. یه SIEM صنعتی راهاندازی کنید که لاگهای PLC، فایروال، HMI و سرورها رو جمعآوری کنه
💯4
☢️🧑🏻💻OT Sentinel | ICS/OT Security🧑🏻💻☢️
از اون روز، من یه چارچوب امنیتی ۷ مرحلهای رو برای همهی پروژههام الزامی کردم. این چارچوب رو بر اساس تجربهی مستقیم و استاندارد IEC 62443 تدوین کردم. مرحلهی اول، شناسایی دقیق داراییهاست. همهی PLCها، RTUها، IEDها، HMIها، سرورهای تاریخچه و ایستگاههای مهندسی…
حداقل این رویدادها رو پایش کنید: تلاشهای ناموفق احراز هویت، تغییرات در منطق PLC، نوشتن روی رجیسترهای حیاتی، راهاندازی مجدد تجهیزات، ارتباطات از آیپیهای ناشناس. مرحلهی ششم، مدیریت آسیبپذیری و وصلهنگاری هست. سیستمهای صنعتی رو نمیشه هر ماه وصله کرد. ولی حداقل یه برنامهی منظم برای بررسی آسیبپذیریهای بحرانی با امتیاز CVSS بالای ۹ داشته باشید. وصلهها رو اول تو محیط تست که شبیه محیط عملیاته اجرا کنید، بعد تو یه پنجرهی نگهداری برنامهریزیشده روی سیستم اصلی اعمال کنید. مرحلهی هفتم، برنامهی پاسخ به حادثه هست. یه تیم مشخص با نقشهای شفاف تعیین کنید. سناریوهای حمله رو شبیهسازی کنید مثل قطع ارتباط با PLC یا تغییر ناگهانی یه مقدار فرآیندی. تمرین کنید که چطور سریع تشخیص بدید، ایزوله کنید، بازیابی کنید و گزارش بدید. بدون تمرین، توی لحظهی بحران هیچ کس نمیدونه چکار کنه. اون روز که دیدم یه مقدار فشار از راه دور تغییر کرده، میتونستم بگم اشکال از سنسوره و بگذرم. ولی اگه گذشتم بود، ممکن بود امروز تو خبرها میخوندیم که یه شهر بیآب مونده. امنیت توی سیستمهای صنعتی، شوخی نیست. یه تغییر کوچیک تو منطق یه PLC، میتونه یه سد رو باز کنه، یه توربین رو از مدار خارج کنه، یا یه خط تولید رو متوقف کنه. امنیت SCADA از شناخت شروع میشه، با کنترل ادامه پیدا میکنه و با پایش پایدار میمونه. نه آنتیویروس، نه فایروال اداری و نه رمزهای پیچیده به تنهایی کار نمیکنن. باید همهی لایهها رو با هم بچینید. از فیزیک فرآیند تا بستههای شبکه، همهچیز باید تحت کنترل باشه. سیستمهای صنعتی برای ۲۰ سال کار طراحی شدن. امنیتشون رو برای ۲۰ سال هم برنامهریزی کنید. نه برای یه پروژه، نه برای یه دوره، برای کل چرخهی حیات.
⚡4
مرکز کنترل (Control Center): اینجا مغز متفکر سیستمه. اپراتورها پشت مانیتورهای HMI یا همون صفحههای مانیتورینگ گرافیکی نشستن و وضعیت کل شبکه رو رصد میکنن. اون بالا سمت چپ، «Data Historian» رو میبینین که نقش جعبه سیاه یا همون دیتابیس تاریخچه رو داره؛ یعنی تمام مقادیر فشار، دما، ولتاژ، وضعیت شیرها و هزاران پارامتر دیگه رو با یه بازه زمانی مشخص (مثلاً هر چند ثانیه) ذخیره میکنه تا بعداً برای تحلیل و عیبیابی استفاده بشه. SCADA Server (MTU): اینجا واحد اصلی ارتباطاته. بهش میگن Master Terminal Unit. وظیفهاش اینه که مرتباً با تمام ایستگاههای دور دست (Remote Stations) ارتباط برقرار کنه، دادههاشون رو درخواست کنه و دستورات اپراتور رو مثل افزایش فشار یا باز کردن یه شیر، براشون بفرسته. این سرور، قلب تپنده مرکز کنترل محسوب میشه. فایروال (Firewall): دقیقاً بین SCADA Server و شبکه WAN قرار گرفته. اینجا اولین خط دفاعیه. ترافیک ورودی و خروجی رو فیلتر میکنه و اجازه نمیده هر کسی از هر دری وارد بشه. معمولاً این فایروال طوری تنظیم میشه که فقط پورتها و آدرسهای مشخصی اجازه تردد داشته باشن و بقیه ترافیک رو ببنده.
🔥4
☢️🧑🏻💻OT Sentinel | ICS/OT Security🧑🏻💻☢️
مرکز کنترل (Control Center): اینجا مغز متفکر سیستمه. اپراتورها پشت مانیتورهای HMI یا همون صفحههای مانیتورینگ گرافیکی نشستن و وضعیت کل شبکه رو رصد میکنن. اون بالا سمت چپ، «Data Historian» رو میبینین که نقش جعبه سیاه یا همون دیتابیس تاریخچه رو داره؛ یعنی…
ایستگاههای دور دست (Field Sites / Remote Stations): اینجاها معمولاً توی پستهای برق، چاههای نفت، ایستگاههای پمپاژ آب یا حتی خطوط لوله گاز قرار دارن. هر کدوم شامل چندین تجهیز هستن:
RTU (Remote Terminal Unit): مغز متفکر هر ایستگاه دور دسته. این دستگاه، تمام سیگنالهای ورودی از سنسورها و تجهیزات رو دریافت میکنه، پردازش اولیه روشون انجام میده و برای مرکز کنترل ارسال میکنه. همچنین دستورات دریافتی از مرکز رو اجرا میکنه. RTUها معمولاً قدرت پردازش پایینی دارن و با زبانهای قدیمی مثل منطق یا پروتکلهای سادهای مثل Modbus یا DNP3 کار میکنن.
IED (Intelligent Electronic Device): این دستگاههای هوشمند، یه نسل بالاتر از RTU هستن. معمولاً برای محافظت از تجهیزات الکتریکی مثل ترانسفورماتورها و خطوط انتقال طراحی شدن. میتونن خطاهایی مثل اتصال کوتاه رو تشخیص بدن و سریعاً مدار رو قطع کنن. خیلی از IEDها از پروتکل IEC 61850 پشتیبانی میکنن که پیشرفتهتره ولی بازم آسیبپذیریهای خاص خودش رو داره.
RTU (Remote Terminal Unit): مغز متفکر هر ایستگاه دور دسته. این دستگاه، تمام سیگنالهای ورودی از سنسورها و تجهیزات رو دریافت میکنه، پردازش اولیه روشون انجام میده و برای مرکز کنترل ارسال میکنه. همچنین دستورات دریافتی از مرکز رو اجرا میکنه. RTUها معمولاً قدرت پردازش پایینی دارن و با زبانهای قدیمی مثل منطق یا پروتکلهای سادهای مثل Modbus یا DNP3 کار میکنن.
IED (Intelligent Electronic Device): این دستگاههای هوشمند، یه نسل بالاتر از RTU هستن. معمولاً برای محافظت از تجهیزات الکتریکی مثل ترانسفورماتورها و خطوط انتقال طراحی شدن. میتونن خطاهایی مثل اتصال کوتاه رو تشخیص بدن و سریعاً مدار رو قطع کنن. خیلی از IEDها از پروتکل IEC 61850 پشتیبانی میکنن که پیشرفتهتره ولی بازم آسیبپذیریهای خاص خودش رو داره.
💯2
☢️🧑🏻💻OT Sentinel | ICS/OT Security🧑🏻💻☢️
ایستگاههای دور دست (Field Sites / Remote Stations): اینجاها معمولاً توی پستهای برق، چاههای نفت، ایستگاههای پمپاژ آب یا حتی خطوط لوله گاز قرار دارن. هر کدوم شامل چندین تجهیز هستن: RTU (Remote Terminal Unit): مغز متفکر هر ایستگاه دور دسته. این دستگاه، تمام…
حالا از منظر امنیت، کدوم نقاط حساسترن؟
اولاً، ارتباط بین WAN-Cardها و مودمها، جایی که دادهها از مرکز کنترل به سمت ایستگاههای دور میرن، اگر رمزنگاری نشه، هر هکری با یه اسنیفر ساده میتونه همه چیز رو بخونه یا حتی دستورات جعلی بفرسته. متأسفانه خیلی از سیستمهای اسکادا هنوز از رمزنگاری استفاده نمیکنن و به پروتکلهای خام مثل Modbus TCP بسنده میکنن.
دوماً، خود RTUها و IEDها معمولاً قابلیت بهروزرسانی امنیتی ندارن یا اگر هم داشته باشن، آفلاین بهروز میشن. یعنی اگر یه باگ امنیتی توی پروتکل DNP3 پیدا بشه، ممکنه ماهها یا سالها طول بکشه تا برطرف بشه.
سوماً، فایروال مرکز کنترل فقط در صورتی کارآمد هست که بهدرستی پیکربندی شده باشه. خیلی وقتا مهندسین پروژه برای راحتی کار، تمام پورتها رو باز میذارن یا از NAT استفاده میکنن که خودش یه سوراخ امنیتیه.
چهارماً، Data Historian چون حاوی اطلاعات حیاتی و تاریخچه عملیاتیه، میتونه هدف حملات باجافزاری یا جاسوسی صنعتی قرار بگیره. پس باید دسترسی بهش کاملاً محدود باشه و ازش بکاپهای منظم گرفته بشه.
نکته آخر: این معماری قدیمیترین و رایجترین مدل در صنایع کشورمونه. برای ارتقای امنیت، باید لایههایی مثل VPN، احراز هویت دو مرحلهای، سیستمهای IDS/IPS و مانیتورینگ مداوم ترافیک شبکه بهش اضافه بشه. همچنین جداسازی فیزیکی یا منطقی بین شبکه صنعتی و شبکه اداری یه اصل حیاتیه که متأسفانه خیلی جاها رعایت نمیشه.
اولاً، ارتباط بین WAN-Cardها و مودمها، جایی که دادهها از مرکز کنترل به سمت ایستگاههای دور میرن، اگر رمزنگاری نشه، هر هکری با یه اسنیفر ساده میتونه همه چیز رو بخونه یا حتی دستورات جعلی بفرسته. متأسفانه خیلی از سیستمهای اسکادا هنوز از رمزنگاری استفاده نمیکنن و به پروتکلهای خام مثل Modbus TCP بسنده میکنن.
دوماً، خود RTUها و IEDها معمولاً قابلیت بهروزرسانی امنیتی ندارن یا اگر هم داشته باشن، آفلاین بهروز میشن. یعنی اگر یه باگ امنیتی توی پروتکل DNP3 پیدا بشه، ممکنه ماهها یا سالها طول بکشه تا برطرف بشه.
سوماً، فایروال مرکز کنترل فقط در صورتی کارآمد هست که بهدرستی پیکربندی شده باشه. خیلی وقتا مهندسین پروژه برای راحتی کار، تمام پورتها رو باز میذارن یا از NAT استفاده میکنن که خودش یه سوراخ امنیتیه.
چهارماً، Data Historian چون حاوی اطلاعات حیاتی و تاریخچه عملیاتیه، میتونه هدف حملات باجافزاری یا جاسوسی صنعتی قرار بگیره. پس باید دسترسی بهش کاملاً محدود باشه و ازش بکاپهای منظم گرفته بشه.
نکته آخر: این معماری قدیمیترین و رایجترین مدل در صنایع کشورمونه. برای ارتقای امنیت، باید لایههایی مثل VPN، احراز هویت دو مرحلهای، سیستمهای IDS/IPS و مانیتورینگ مداوم ترافیک شبکه بهش اضافه بشه. همچنین جداسازی فیزیکی یا منطقی بین شبکه صنعتی و شبکه اداری یه اصل حیاتیه که متأسفانه خیلی جاها رعایت نمیشه.
⚡4
اگر تا به حال با ابزارهای شناسایی سیستمعامل مانند sinfp3 کار کرده باشید، میدانید که این ابزارها با ارسال پروبهای خاص به یک میزبان و تحلیل پاسخهای TCP/IP، به راحتی نوع سیستمعامل را تشخیص میدهند. اما تصور کنید بتوانیم درست درون هسته لینوکس، یک ماژول بنویسیم که پیش از ارسال پاسخ به سمت مهاجم یا ابزار شناسایی، بسته را به گونهای تغییر دهد که انگار یک سیستمعامل کاملاً متفاوت در حال پاسخگویی است. دقیقاً همین کار در قطعه کدی که مشاهده میکنید، انجام شده است. این ماژول کرنلی با دقت بالایی به بررسی بسته های دریافتی می پردازد و دو نوع پاسخ پروب مخصوص sinfp3 را تشخیص میدهد. نوع اول، بستهای با پروتکل TCP، طول ۴۴ بایت، و پرچم های SYN=1 و ACK=1 است و نوع دوم نیز مشابه اما با طول ۶۰ بایت است که در آن یک فیلد Timestamp نیز وجود دارد. وقتی ماژول چنین بستهای را مشاهده کند، دست به کار میشود و ابتدا با توابعی مانند set_id، set_df_bit، set_tl یا set_itl، و همچنین set_tcp_window، set_tcp_flags، set_tcp_sequence و set_tcp_ack، تمام فیلدهای کلیدی هدر IP و TCP را بازنویسی میکند
💯5
☢️🧑🏻💻OT Sentinel | ICS/OT Security🧑🏻💻☢️
اگر تا به حال با ابزارهای شناسایی سیستمعامل مانند sinfp3 کار کرده باشید، میدانید که این ابزارها با ارسال پروبهای خاص به یک میزبان و تحلیل پاسخهای TCP/IP، به راحتی نوع سیستمعامل را تشخیص میدهند. اما تصور کنید بتوانیم درست درون هسته لینوکس، یک ماژول بنویسیم…
تا به جای اطلاعات سیستم واقعی، مقادیر دلخواه ما جایگزین شوند. اما کار به اینجا ختم نمیشود، زیرا یکی از مهمترین بخش های شناسایی سیستم عامل، آپشن های TCP مانند MSS، WScale و حتی خود Timestamp هستند. به همین دلیل، ماژول بررسی میکند که آیا طول آپشن های جدید با طول آپشن های موجود در بسته اصلی تفاوت دارد یا خیر؛ اگر تفاوت وجود داشته باشد، تابع
اندازه بسته را تغییر داده و فیلدهای Length و Offset را در هدر IP به روزرسانی میکند. در مرحله بعد، برای پاسخ اول، آپشن های MSS، WScale و Option_Layout تنظیم میشوند، اما در پاسخ دوم، ابتدا با تابع
مقدار Timestamp واقعی از بسته استخراج شده و سپس همان مقدار به همراه سایر آپشنها در بسته ی جعلی قرار میگیرد تا پاسخ نهایی کاملاً طبیعی و شبیه به سیستم عاملی دیگر به نظر برسد. البته تمام این تغییرات اگر بدون محاسبه ی مجدد چکسوم انجام شوند، بی نتیجه خواهند بود، چون ابزار شناسایی بلافاصله بسته ی دارای چکسوم اشتباه را دور می ریزد. به همین دلیل، در انتها اگر هرگونه تغییری در هدر TCP اعمال شده باشد، فیلد چکسوم TCP صفر شده و دوباره توسط تابع
محاسبه میشود و همین کار نیز برای هدر IP با تابع
انجام میگیرد. در نهایت، ماژول بسته ی تغییر یافته را به جای پاسخ اصلی به سمت فرستنده ارسال میکند و بدین ترتیب، ابزار
یک سیستم عامل کاملاً ساختگی را مشاهده خواهد کرد. این تکنیک که در حوزه ی پنهانسازی و فریب شبکه کاربرد گسترده ای دارد، نه تنها برای تست نفوذ و ارزیابی امنیتی مفید است، بلکه به مدیران شبکه کمک میکند تا هویت واقعی سرورهای خود را در برابر اسکن های مخفیانه پنهان کنند. البته لازم به ذکر است که پیاده سازی چنین ماژول هایی نیازمند دسترسی سطح کرنل و دانش پیشرفته از پروتکلهای شبکه و برنامه نویسی هسته است و استفاده از آن باید همواره با رعایت قوانین و مجوزهای امنیتی همراه باشد.
modify_packet_size
اندازه بسته را تغییر داده و فیلدهای Length و Offset را در هدر IP به روزرسانی میکند. در مرحله بعد، برای پاسخ اول، آپشن های MSS، WScale و Option_Layout تنظیم میشوند، اما در پاسخ دوم، ابتدا با تابع
get_tcp_timestamp
مقدار Timestamp واقعی از بسته استخراج شده و سپس همان مقدار به همراه سایر آپشنها در بسته ی جعلی قرار میگیرد تا پاسخ نهایی کاملاً طبیعی و شبیه به سیستم عاملی دیگر به نظر برسد. البته تمام این تغییرات اگر بدون محاسبه ی مجدد چکسوم انجام شوند، بی نتیجه خواهند بود، چون ابزار شناسایی بلافاصله بسته ی دارای چکسوم اشتباه را دور می ریزد. به همین دلیل، در انتها اگر هرگونه تغییری در هدر TCP اعمال شده باشد، فیلد چکسوم TCP صفر شده و دوباره توسط تابع
tcp_csum
محاسبه میشود و همین کار نیز برای هدر IP با تابع
ip_csum
انجام میگیرد. در نهایت، ماژول بسته ی تغییر یافته را به جای پاسخ اصلی به سمت فرستنده ارسال میکند و بدین ترتیب، ابزار
sinfp3
یک سیستم عامل کاملاً ساختگی را مشاهده خواهد کرد. این تکنیک که در حوزه ی پنهانسازی و فریب شبکه کاربرد گسترده ای دارد، نه تنها برای تست نفوذ و ارزیابی امنیتی مفید است، بلکه به مدیران شبکه کمک میکند تا هویت واقعی سرورهای خود را در برابر اسکن های مخفیانه پنهان کنند. البته لازم به ذکر است که پیاده سازی چنین ماژول هایی نیازمند دسترسی سطح کرنل و دانش پیشرفته از پروتکلهای شبکه و برنامه نویسی هسته است و استفاده از آن باید همواره با رعایت قوانین و مجوزهای امنیتی همراه باشد.
🔥1
🔴 هشدار امنیتی: اسکن SNMP روی یک سوئیچ صنعتی
این تصویر، خروجی یک اسکن امنیتی با ابزار متاسپلویت (Metasploit) را نشان میدهد که پروتکل SNMP را روی یک دستگاه شبکهی صنعتی هدف قرار داده است. پروتکل SNMP مخفف Simple Network Management Protocol است و در شبکههای صنعتی (اتوماسیون، برق، آب و فاضلاب، نفت و گاز) برای مانیتورینگ تجهیزاتی مثل سوئیچها، روترها، پیالسیها و RTUها استفاده میشود.
همانطور که در خروجی مشخص است، مهاجم با موفقیت به آیپی 192.168.1.1 متصل شده و بدون نیاز به رمز یا با استفاده از community string پیشفرض (مثل public یا private) توانسته اطلاعات حیاتی دستگاه را استخراج کند. این اطلاعات شامل موارد زیر است:
این تصویر، خروجی یک اسکن امنیتی با ابزار متاسپلویت (Metasploit) را نشان میدهد که پروتکل SNMP را روی یک دستگاه شبکهی صنعتی هدف قرار داده است. پروتکل SNMP مخفف Simple Network Management Protocol است و در شبکههای صنعتی (اتوماسیون، برق، آب و فاضلاب، نفت و گاز) برای مانیتورینگ تجهیزاتی مثل سوئیچها، روترها، پیالسیها و RTUها استفاده میشود.
همانطور که در خروجی مشخص است، مهاجم با موفقیت به آیپی 192.168.1.1 متصل شده و بدون نیاز به رمز یا با استفاده از community string پیشفرض (مثل public یا private) توانسته اطلاعات حیاتی دستگاه را استخراج کند. این اطلاعات شامل موارد زیر است:
👍4
☢️🧑🏻💻OT Sentinel | ICS/OT Security🧑🏻💻☢️
🔴 هشدار امنیتی: اسکن SNMP روی یک سوئیچ صنعتی این تصویر، خروجی یک اسکن امنیتی با ابزار متاسپلویت (Metasploit) را نشان میدهد که پروتکل SNMP را روی یک دستگاه شبکهی صنعتی هدف قرار داده است. پروتکل SNMP مخفف Simple Network Management Protocol است و در شبکههای…
مکآدرسهای اختصاصی برای هر پورت (که امکان ردیابی فیزیکی تجهیزات را فراهم میکند)
· سرعت و پهنای باند هر اینترفیس (که برای شناسایی ترافیک عادی و غیرعادی استفاده میشود)
· حجم دادههای ورودی و خروجی (که میتواند الگوی حمله یا نشت اطلاعات را نشان دهد)
· نامگذاری پورتها مانند my switch Port 1 که ساختار داخلی شبکه را افشا میکند
نکتهی بسیار مهم: فیلدهای مربوط به اطلاعات مدیر سیستم (Contact، Location و Uptime) همگی خالی هستند. این موضوع نشاندهندهی پیکربندی بسیار ضعیف امنیتی است؛ چراکه نه تنها از community string پیشفرض استفاده شده، بلکه حتی اطلاعات پایهای برای شناسایی و پاسخگویی به حوادث ثبت نشده است.
در دنیای امنیت سایبری صنعتی، چنین اسکنی به عنوان گام نخست حمله (Reconnaissance) طبقهبندی میشود. مهاجم با این اطلاعات میتواند نقشهی شبکه را ترسیم کند، نقاط آسیبپذیر را شناسایی کند و برای مراحل بعدی حمله (مثلاً تغییر تنظیمات، قطع ارتباط یا نصب بدافزار) آماده شود.
اقدام اصلاحی فوری: دسترسی به SNMP روی تمام تجهیزات صنعتی باید محدود شود. استفاده از community stringهای قوی و غیرقابل حدس، اعمال ACL (لیست کنترل دسترسی) برای محدود کردن آیپیهای مجاز، و در صورت امکان مهاجرت به نسخهی امنتر SNMPv3 با رمزنگاری، الزامی است. همچنین ثبت و مانیتورینگ تمام درخواستهای SNMP باید فعال شود تا هر گونه اسکن غیرمجاز بلافاصله شناسایی و پاسخ داده شود.
· سرعت و پهنای باند هر اینترفیس (که برای شناسایی ترافیک عادی و غیرعادی استفاده میشود)
· حجم دادههای ورودی و خروجی (که میتواند الگوی حمله یا نشت اطلاعات را نشان دهد)
· نامگذاری پورتها مانند my switch Port 1 که ساختار داخلی شبکه را افشا میکند
نکتهی بسیار مهم: فیلدهای مربوط به اطلاعات مدیر سیستم (Contact، Location و Uptime) همگی خالی هستند. این موضوع نشاندهندهی پیکربندی بسیار ضعیف امنیتی است؛ چراکه نه تنها از community string پیشفرض استفاده شده، بلکه حتی اطلاعات پایهای برای شناسایی و پاسخگویی به حوادث ثبت نشده است.
در دنیای امنیت سایبری صنعتی، چنین اسکنی به عنوان گام نخست حمله (Reconnaissance) طبقهبندی میشود. مهاجم با این اطلاعات میتواند نقشهی شبکه را ترسیم کند، نقاط آسیبپذیر را شناسایی کند و برای مراحل بعدی حمله (مثلاً تغییر تنظیمات، قطع ارتباط یا نصب بدافزار) آماده شود.
اقدام اصلاحی فوری: دسترسی به SNMP روی تمام تجهیزات صنعتی باید محدود شود. استفاده از community stringهای قوی و غیرقابل حدس، اعمال ACL (لیست کنترل دسترسی) برای محدود کردن آیپیهای مجاز، و در صورت امکان مهاجرت به نسخهی امنتر SNMPv3 با رمزنگاری، الزامی است. همچنین ثبت و مانیتورینگ تمام درخواستهای SNMP باید فعال شود تا هر گونه اسکن غیرمجاز بلافاصله شناسایی و پاسخ داده شود.
🔥3
امروز میخوام ساختار قاب پروتکل DNP3 رو که یکی از حیاتیترین پروتکلهای شبکههای برق و اتوماسیون صنعتیه، با هم ورق بزنیم. اگه به شکل استانداردش نگاه کنیم، میبینیم که DNP3 چجوری داده رو لایهبندی میکنه تا توی محیطهای پرنویز صنعتی هم قابل اعتماد باشه. خب، بیایم از بالا به پایین تصویر نگاه کنیم. اول از همه با لایه فیزیکی و پیوند داده شروع میکنه، اونجا یه هدر HDLC داریم که توش آدرس MAC مبدأ و مقصد درج شده، البته اگه روی اترنت سوار باشه، و همچنین آدرس IP مبدأ و مقصد که نشون میده بسته داره توی شبکه لایهبندی میشه. بعد از این سرآیندها، به بسته IP میرسیم که خودش یه هدر و یه محموله داره و توی محمولهاش، داده اصلی DNP3 قرار گرفته.
حالا بریم سراغ قلب قاب، یعنی همون DNP3 LPDU. اینجا با یه فیلد ۲ بایتی Start شروع میشه که مقدار ثابت 0x05 و 0x64 هست و کارش همگامسازی گیرنده با شروع فریمه. بلافاصله بعدش یه فیلد ۱ بایتی Length میاد که طول باقیمونده قاب رو به ما میگه
حالا بریم سراغ قلب قاب، یعنی همون DNP3 LPDU. اینجا با یه فیلد ۲ بایتی Start شروع میشه که مقدار ثابت 0x05 و 0x64 هست و کارش همگامسازی گیرنده با شروع فریمه. بلافاصله بعدش یه فیلد ۱ بایتی Length میاد که طول باقیمونده قاب رو به ما میگه
1🔥2
☢️🧑🏻💻OT Sentinel | ICS/OT Security🧑🏻💻☢️
امروز میخوام ساختار قاب پروتکل DNP3 رو که یکی از حیاتیترین پروتکلهای شبکههای برق و اتوماسیون صنعتیه، با هم ورق بزنیم. اگه به شکل استانداردش نگاه کنیم، میبینیم که DNP3 چجوری داده رو لایهبندی میکنه تا توی محیطهای پرنویز صنعتی هم قابل اعتماد باشه. خب، بیایم…
البته به جز خود اون ۲ بایت شروع و این یه بایت طول. بعد نوبت به فیلد ۱ بایتی Control میرسه که خیلی مهمه چون نوع فریم رو مشخص میکنه که فریم اطلاعاتیه، نظارتیه یا بدون شماره، و همچنین شماره دنباله ارسال و دریافت و پرچمهای کنترلی توش هست. بعدش دو فیلد ۲ بایتی برای آدرس مقصد و آدرس مبدأ در لایه پیوند داریم که آدرسهای ۱۶ بیتی ایستگاههای صنعتی رو مشخص میکنن. در نهایت برای اینکه مطمئن بشیم هدر سالم رسیده، یه CRC ۲ بایتی روش انداختیم که بهش میگن CRC-16 و کل هدر رو پوشش میده.
بعد از این هدر، نوبت به محموله اصلی یا همون Payload میرسه که در واقع همون لایه کاربرد DNP3 هست. اینجا قضیه جالبتر میشه، چون دادههای کاربردی که قراره منتقل بشن، مثلاً مقادیر آنالوگ، وضعیت کلیدها، یا فرمانهای کنترلی، به صورت بلوکهای داده با حداکثر طول ۲۵۰ بایت سازماندهی میشن. یعنی هر بلوک شامل خود داده تا سقف ۲۵۰ بایت هست و بلافاصله بعد از هر بلوک، یه CRC ۲ بایتی مجزا قرار داره که یکپارچگی همون بلوک رو تضمین میکنه. این بلوکها پشت سر هم قرار میگیرن و مجموعشون میتونه تا ۲۹۲ بایت داده خالص رو پوشش بده. جالبه که هر بلوک مستقل از بقیه CRC خودش رو داره، پس اگه یه بلوک خراب بشه، بقیه بلوکها قابل استفاده هستن و نیازی به کل دیتاگرام نیست، این خیلی برای کانالهای مخابراتی نویزدار صنعتی ارزشمنده
بعد از این هدر، نوبت به محموله اصلی یا همون Payload میرسه که در واقع همون لایه کاربرد DNP3 هست. اینجا قضیه جالبتر میشه، چون دادههای کاربردی که قراره منتقل بشن، مثلاً مقادیر آنالوگ، وضعیت کلیدها، یا فرمانهای کنترلی، به صورت بلوکهای داده با حداکثر طول ۲۵۰ بایت سازماندهی میشن. یعنی هر بلوک شامل خود داده تا سقف ۲۵۰ بایت هست و بلافاصله بعد از هر بلوک، یه CRC ۲ بایتی مجزا قرار داره که یکپارچگی همون بلوک رو تضمین میکنه. این بلوکها پشت سر هم قرار میگیرن و مجموعشون میتونه تا ۲۹۲ بایت داده خالص رو پوشش بده. جالبه که هر بلوک مستقل از بقیه CRC خودش رو داره، پس اگه یه بلوک خراب بشه، بقیه بلوکها قابل استفاده هستن و نیازی به کل دیتاگرام نیست، این خیلی برای کانالهای مخابراتی نویزدار صنعتی ارزشمنده
☢️🧑🏻💻OT Sentinel | ICS/OT Security🧑🏻💻☢️
البته به جز خود اون ۲ بایت شروع و این یه بایت طول. بعد نوبت به فیلد ۱ بایتی Control میرسه که خیلی مهمه چون نوع فریم رو مشخص میکنه که فریم اطلاعاتیه، نظارتیه یا بدون شماره، و همچنین شماره دنباله ارسال و دریافت و پرچمهای کنترلی توش هست. بعدش دو فیلد ۲ بایتی…
حالا از دید امنیتی، این ساختار یه سری نکات حسابه که به عنوان کسی که تو حوزه امنیت ICS کار میکنه، نباید ازش غافل بشیم. اول اینکه DNP3 به صورت پیشفرض اصلاً رمزنگاری نداره، یعنی هر کی بتونه به شبکه دسترسی داشته باشه، کل دادهها رو به صورت متن واضح میبینه و میتونه مقادیر فرایندی رو استخراج کنه. دوم اینکه CRC که اینجا استفاده شده فقط برای تشخیص خطاهای تصادفیه و هیچ مقاومتی در برابر حملات عمدی نداره، یعنی یه مهاجم به راحتی میتونه داده رو عوض کنه و CRC جدید حساب کنه و بسته رو بفرسته. سوم اینکه آدرسهای ۱۶ بیتی ثابت، امکان جعل آدرس و حملات اسپوفینگ رو خیلی راحت میکنه. چهارم اینکه چون شماره دنبالههای امن و زمانمهر معتبر در همه فریمها وجود نداره، حمله تکرار یا Replay Attack یکی از تهدیدات جدی محسوب میشه. در نتیجه، توی پیادهسازیهای واقعی، ما چارهای نداریم جز اینکه DNP3 رو یا با پسوند امنیتیاش یعنی DNP3-SA که احراز هویت و امضای دیجیتال پیام رو اضافه میکنه، استفاده کنیم، یا اینکه کل ترافیک رو توی یه تونل امن مثل TLS یا IPsec کپسوله کنیم. همچنین تفکیک شبکه با فایروالهای صنعتی و قرار دادن این پروتکل در یک VLAN جداگانه، یکی از الزامات پایهایه.
در نهایت، این ساختار رو باید به عنوان یه پروتکل کارا و سبک دید که برای مخابرات سریال و شبکههای داخلی صنعتی طراحی شده، اما به هیچ وجه نباید بدون لایه امنیتی تکمیلی در معرض دنیای خارج قرار بگیره. پس همیشه به یاد داشته باشیم که امنیت در DNP3 یک امر افزودنیه و باید لایهبهلایه بهش اضافه بشه، نه اینکه به خود پروتکل اعتماد کنیم. این رو بدونید که بیشتر حملات سایبری به پستهای برق و تصفیهخانهها، دقیقاً از همین نقاط کور پروتکلهایی مثل DNP3 سوءاستفاده کردن. پس بهترین کار، پیادهسازی مکانیزمهای احراز هویت قوی، پایش مداوم ترافیک با IDS/IPS مخصوص پروتکلهای صنعتی و بهروزرسانی منظم دستگاههای RTU و IED هست. امیدوارم این توضیح براتون مفید بوده باشه و بتونیم با درک عمیق تر این ساختارها، گام موثرتری در جهت ایمنسازی زیرساختهای حیاتی مون برداریم. اگه سوالی بود حتماً بپرسید.
در نهایت، این ساختار رو باید به عنوان یه پروتکل کارا و سبک دید که برای مخابرات سریال و شبکههای داخلی صنعتی طراحی شده، اما به هیچ وجه نباید بدون لایه امنیتی تکمیلی در معرض دنیای خارج قرار بگیره. پس همیشه به یاد داشته باشیم که امنیت در DNP3 یک امر افزودنیه و باید لایهبهلایه بهش اضافه بشه، نه اینکه به خود پروتکل اعتماد کنیم. این رو بدونید که بیشتر حملات سایبری به پستهای برق و تصفیهخانهها، دقیقاً از همین نقاط کور پروتکلهایی مثل DNP3 سوءاستفاده کردن. پس بهترین کار، پیادهسازی مکانیزمهای احراز هویت قوی، پایش مداوم ترافیک با IDS/IPS مخصوص پروتکلهای صنعتی و بهروزرسانی منظم دستگاههای RTU و IED هست. امیدوارم این توضیح براتون مفید بوده باشه و بتونیم با درک عمیق تر این ساختارها، گام موثرتری در جهت ایمنسازی زیرساختهای حیاتی مون برداریم. اگه سوالی بود حتماً بپرسید.