☢️🧑🏻‍💻OT Sentinel | ICS/OT Security🧑🏻‍💻☢️
1.22K subscribers
339 photos
23 videos
30 files
174 links
☢️🧑🏻‍💻 OT Sentinel | ICS/OT Security ☢️ Industrial Control Systems • SCADA • PLC • OT Networks Python for OT | Modbus • DNP3 • S7 • IEC‑61850 Threat Hunting • Network Forensics • Critical Infrastructure
OWNER:@MrCriticalNode
Download Telegram
☢️🧑🏻‍💻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 و مانیتورینگ مداوم ترافیک شبکه بهش اضافه بشه. همچنین جداسازی فیزیکی یا منطقی بین شبکه صنعتی و شبکه اداری یه اصل حیاتیه که متأسفانه خیلی جاها رعایت نمیشه.
⚡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 هستند. به همین دلیل، ماژول بررسی میکند که آیا طول آپشن های جدید با طول آپشن های موجود در بسته اصلی تفاوت دارد یا خیر؛ اگر تفاوت وجود داشته باشد، تابع 
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) توانسته اطلاعات حیاتی دستگاه را استخراج کند. این اطلاعات شامل موارد زیر است:
👍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 باید فعال شود تا هر گونه اسکن غیرمجاز بلافاصله شناسایی و پاسخ داده شود.
🔥3
امروز میخوام ساختار قاب پروتکل DNP3 رو که یکی از حیاتی‌ترین پروتکل‌های شبکه‌های برق و اتوماسیون صنعتیه، با هم ورق بزنیم. اگه به شکل استانداردش نگاه کنیم، میبینیم که DNP3 چجوری داده رو لایه‌بندی میکنه تا توی محیط‌های پرنویز صنعتی هم قابل اعتماد باشه. خب، بیایم از بالا به پایین تصویر نگاه کنیم. اول از همه با لایه فیزیکی و پیوند داده شروع میکنه، اونجا یه هدر HDLC داریم که توش آدرس MAC مبدأ و مقصد درج شده، البته اگه روی اترنت سوار باشه، و همچنین آدرس IP مبدأ و مقصد که نشون میده بسته داره توی شبکه لایه‌بندی میشه. بعد از این سرآیندها، به بسته IP میرسیم که خودش یه هدر و یه محموله داره و توی محموله‌اش، داده اصلی DNP3 قرار گرفته.
حالا بریم سراغ قلب قاب، یعنی همون DNP3 LPDU. اینجا با یه فیلد ۲ بایتی Start شروع میشه که مقدار ثابت 0x05 و 0x64 هست و کارش همگام‌سازی گیرنده با شروع فریمه. بلافاصله بعدش یه فیلد ۱ بایتی Length میاد که طول باقیمونده قاب رو به ما میگه
1🔥2
☢️🧑🏻‍💻OT Sentinel | ICS/OT Security🧑🏻‍💻☢️
امروز میخوام ساختار قاب پروتکل DNP3 رو که یکی از حیاتی‌ترین پروتکل‌های شبکه‌های برق و اتوماسیون صنعتیه، با هم ورق بزنیم. اگه به شکل استانداردش نگاه کنیم، میبینیم که DNP3 چجوری داده رو لایه‌بندی میکنه تا توی محیط‌های پرنویز صنعتی هم قابل اعتماد باشه. خب، بیایم…
البته به جز خود اون ۲ بایت شروع و این یه بایت طول. بعد نوبت به فیلد ۱ بایتی Control میرسه که خیلی مهمه چون نوع فریم رو مشخص میکنه که فریم اطلاعاتیه، نظارتیه یا بدون شماره، و همچنین شماره دنباله ارسال و دریافت و پرچم‌های کنترلی توش هست. بعدش دو فیلد ۲ بایتی برای آدرس مقصد و آدرس مبدأ در لایه پیوند داریم که آدرس‌های ۱۶ بیتی ایستگاه‌های صنعتی رو مشخص میکنن. در نهایت برای اینکه مطمئن بشیم هدر سالم رسیده، یه CRC ۲ بایتی روش انداختیم که بهش میگن CRC-16 و کل هدر رو پوشش میده.
بعد از این هدر، نوبت به محموله اصلی یا همون 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 هست. امیدوارم این توضیح براتون مفید بوده باشه و بتونیم با درک عمیق تر این ساختارها، گام موثرتری در جهت ایمن‌سازی زیرساخت‌های حیاتی مون برداریم. اگه سوالی بود حتماً بپرسید.
امروز یه دیاگرام باحال از معماری شبکه‌های صنعتی و اتوماسیون آوردم که ببینیم داده‌ها چطوری تو یه کارخونه یا سیستم کنترل رد و بدل میشن. بذارید قدم‌به‌قدم بگم قضیه چیه.

تو این تصویر، یه سوییچ مرکزی داریم که حکم قلب تپنده شبکه رو داره و همه چیز بهش وصله.

بریم سمت چپ: یه HMI Client داریم با آی‌پی 172.16.0.1/24. این همون صفحه‌ای هستش که اپراتور پشتش میشینه و داره سیستم رو مانیتور می‌کنه. این کلاینت با خط شماره 1 مستقیم وصله به اون سوییچ مرکزی.

حالا بریم سمت راست: سه تا سرور خفن داریم که همه‌شون تو یه ساب‌نت با آی‌پی 172.16.1.1/24 قرار دارن.
اولی سرور HMI هستش (خط 4 و 5)، دومی سرور دیتای HMI (خط 6 و 7) و سومی هم یه گیت‌وی برای پروتکل‌های کنترلیه (خط 8 و 9). این سه تا با خطوط 4 تا 9 به سوییچ مرکزی وصل شدن و اطلاعات رو رد و بدل می‌کنن.
🔥4
☢️🧑🏻‍💻OT Sentinel | ICS/OT Security🧑🏻‍💻☢️
امروز یه دیاگرام باحال از معماری شبکه‌های صنعتی و اتوماسیون آوردم که ببینیم داده‌ها چطوری تو یه کارخونه یا سیستم کنترل رد و بدل میشن. بذارید قدم‌به‌قدم بگم قضیه چیه. تو این تصویر، یه سوییچ مرکزی داریم که حکم قلب تپنده شبکه رو داره و همه چیز بهش وصله. بریم…
اما بریم سراغ پایین تصویر که یه دنیای دیگه‌ست!
اینجا یه Data Concentrator داریم با آی‌پی 172.16.4.1/24. این وسیله کارش جمع کردن دیتا از چند تا منبع مختلفه. این با خطوط 13 و 14 وصل شده به یه سوییچ دیگه که پایین‌تر قرار داره.
آخر خط هم یه Controller (کنترلر) داریم با آی‌پی 172.16.5.1/24. این همون مغز متفکر سیستمه که فرمان‌ها رو اجرا می‌کنه و با خط شماره 20 به اون سوییچ پایینی وصله.

یه سری خط‌چین هم می‌بینید مثل خطوط 2 و 3 که سوییچ مرکزی رو به یه روتر بالایی وصل می‌کنه، یا خطوط 15 و 18 که ارتباط بین دو تا سوییچ رو نشون میده. این خط‌چینا معمولاً یا مسیرهای منطقی (Logical) هستن یا مسیرهای رزرو برای مواقع اضطراری که اگه خط اصلی قطع شد، شبکه بخوابه.

خلاصه بخوام بگم، این دیاگرام کل مسیر جریان داده رو نشون میده؛ از لحظه‌ای که اپراتور (HMI Client) یه درخواست می‌فرسته، این درخواست میره به سوییچ مرکزی، از اونجا به سرورها میره، بعد میره سمت Data Concentrator و در نهایت به دست Controller می‌رسه تا فرمان اجرا بشه. اون شماره‌ها هم دقیقاً برای اینه که ترتیب و اولویت این ارتباطات مشخص باشه.
🔥3
معماری شبکه صنعتی و جایگاه پروتکل Modbus

این تصویری که می‌بینید، یه نمای کامل از اینه که پروتکل Modbus چطور توی سلسله‌مراتب شبکه‌های صنعتی جا می‌گیره. بذارید از پایین به بالا یه دوری بزنیم.

اول از همه، بریم سراغ لایه فیلد (Field System). اینجا جاییه که Modbus RTU داره کار می‌کنه. یه PLC به عنوان Master روی بستر RS-485 نشسته و یه سری دستگاه دیگه مثل پنل‌های اپراتور، درایوها یا PLC/IDs به عنوان Slave بهش وصلن. توی این لایه، ارتباط سریال و نسبتاً ساده‌ست ولی به شدت پایدار و مقرون‌به‌صرفه برای فواصل کوتاه تا متوسط. همه چی روی همون دو سیم می‌چرخه و Master تصمیم می‌گیره کی با کی حرف بزنه.

حالا اگه از این لایه فیلد بیایم بالاتر، می‌رسیم به لایه کنترل (Control Network). اینجا یه گیت‌وی یا همون RTU وارد می‌شه. کارش چیه؟ دقیقاً نقش مترجم رو بازی می‌کنه. داده‌های خام و سریال لایه پایین رو می‌گیره و به زبون اترنت ترجمه می‌کنه. یعنی Modbus RTU رو تبدیل می‌کنه به Modbus TCP. این نقطه، همون نقطه‌ی وصله بین دنیای OT (تکنولوژی عملیاتی) و IT (فناوری اطلاعات)
🔥5
☢️🧑🏻‍💻OT Sentinel | ICS/OT Security🧑🏻‍💻☢️
معماری شبکه صنعتی و جایگاه پروتکل Modbus این تصویری که می‌بینید، یه نمای کامل از اینه که پروتکل Modbus چطور توی سلسله‌مراتب شبکه‌های صنعتی جا می‌گیره. بذارید از پایین به بالا یه دوری بزنیم. اول از همه، بریم سراغ لایه فیلد (Field System). اینجا جاییه که Modbus…
بعد از این گیت‌وی، وارد لایه بالایی یعنی Supervisory و Business Network می‌شیم. اینجا دیگه خبری از کابل‌های سریال و RS-485 نیست. همه چی روی بستر Ethernet و TCP/IP بالا می‌ره. دستگاه‌ها و کامپیوترهای موجود توی این لایه، از طریق همون Modbus TCP با داده‌ها ارتباط برقرار می‌کنن و می‌تونن همه چیز رو مانیتور کنن و مدیریت کنن. HMI هم دقیقاً همین‌جا به شبکه وصله.

نکته‌ی جالب این معماری اینه که یه پروتکل قدیمی اما طلایی مثل Modbus، هنوز هم می‌تونه از سطح یه سنسور ساده تا سطح مدیریت کل کارخانه، یکپارچگی داده رو حفظ کنه. ترکیب Modbus RTU/RS-485 توی لایه فیلد برای سرعت و پایداری، و Modbus TCP توی لایه‌های بالایی برای یکپارچگی با شبکه‌های اترنت، هنوز هم یکی از رایج‌ترین و پرکاربردترین الگوهای پیاده‌سازی توی پروژه‌های اتوماسیون صنعتیه.

#Industrial_Automation #Modbus #PLC #SCADA #Network_Architecture@pythonwithmedev
🔥5
نقشه_راه_امنیت_سیستم_های_کنترل_و_شبکه_های_صنعتی_.txt
16.5 KB
⚡️ Roadmap: امنیت سیستم‌های کنترل صنعتی و زیرساخت‌های حیاتی (OT/ICS)
تست نفوذ و امن‌سازی در دنیای اسکادا، جایی که قطع شدن ارتباط مساوی با توقف خط تولید یا خطرات جانی است!
در این نقشه راه تخصصی، مسیر گذار از مهندسی شبکه به امنیت عملیاتی (OT) در ۱۰ گام کلیدی تدوین شده است:
▫️ پایه‌ها: ذهنیت ایمنی و استانداردهای SIS (فاز ۰ و ۱)
▫️ شبکه و سگمنتیشن: مدل پردو، زون‌ها و معماری لایه ۳.۵ IDMZ (فاز ۲)
▫️ پروتکل‌ها: آنالیز بسته‌های Modbus، S7comm، DNP3، IEC 104 و OPC UA (فاز ۳)
▫️ استانداردها: تسلط بر ISA/IEC 62443 و MITRE ATT&CK for ICS (فاز ۴)
▫️ دفاع و شکار تهدید: مانیتورینگ غیرفعال (Passive)، دیود داده و IDS صنعتی (فاز ۵)
▫️ تحلیل پرونده‌ها: کالبدشکافی Stuxnet تا TRITON و Industroyer2 (فاز ۶)
▫️ توسعه و مهارت عملی: پایتون صنعتی (Snap7/Scapy)، لب‌های شبیه‌ساز (OpenPLC + Factory I/O) و مدارک SANS/ISA (فاز ۷ تا ۹)
📥 جزئیات هر فاز را در فایل متنی پیوست بخوانید.
🆔 @pythonwithmedev
#ICS_Security #SCADA #OTSecurity #IEC62443 #PythonForOT
❤‍🔥1🔥1
وقتی در مورد هوش تهدیدات سایبری (CTI) صحبت می‌کنیم، خیلی از بچه‌ها فکر می‌کنند ماجرا صرفاً جمع‌آوری یک مشت IP و هش بدافزار (IoC) و ریختن آن‌ها داخل فایروال یا SIEM است؛ اما این اسلاید از دوره FOR589 موسسه SANS دقیقاً انگشت می‌گذارد روی نقطه اتصال واقعی مفاهیم پدافندی و نشان می‌دهد چطور چارچوب‌های استاندارد، تصویر کامل یک حمله را کنار هم می‌چینند.
در هسته این تصویر، مدل کلاسیک Cyber Kill Chain شرکت لاکهید مارتین را می‌بینید که چرخه حیات یک حمله هدفمند را در هفت فاز متوالی تعریف می‌کند: از فازهای مقدماتی مثل شناسایی (Reconnaissance) و سلاح‌سازی (Weaponization) گرفته تا تحویل (Deliver)، اکسپلویت (Exploit)، نصب پی‌لود (Install)، برقراری ارتباط با سرور کنترل و فرمان (C2) و در نهایت اجرای هدف نهایی (Actions on Objective).
☢️🧑🏻‍💻OT Sentinel | ICS/OT Security🧑🏻‍💻☢️
وقتی در مورد هوش تهدیدات سایبری (CTI) صحبت می‌کنیم، خیلی از بچه‌ها فکر می‌کنند ماجرا صرفاً جمع‌آوری یک مشت IP و هش بدافزار (IoC) و ریختن آن‌ها داخل فایروال یا SIEM است؛ اما این اسلاید از دوره FOR589 موسسه SANS دقیقاً انگشت می‌گذارد روی نقطه اتصال واقعی مفاهیم…
نکته فنی و زیبای اسلاید در نگاشت (Mapping) این چرخه با ساختار MITRE ATT&CK است؛ دو فاز اول یعنی شناسایی و آماده‌سازی، در قلمرو PRE-ATT&CK قرار می‌گیرند، یعنی جایی که مهاجم خارج از مرزهای سازمانی ما پرسه می‌زند، اطلاعات جمع می‌کند و زیرساخت حمله را می‌سازد. از لحظه تحویل پکت یا ایمیل مخرب به بعد (Deliver تا پایانی‌ترین مرحله)، ما وارد محدوده ATT&CK for Enterprise می‌شویم، یعنی محیطی که تاکتیک‌ها، تکنیک‌ها و رویه‌های عملیاتی مهاجم (TTPs) داخل شبکه ما قابل رصد، لاگ‌گیری و کشف هستند.
حالا این تفکیک چه کاربردی در لایه عملیات دارد؟ بخش اول حمله، یعنی شناسایی و سلاح‌سازی، قلمرو اصلی برنامه‌های رصد ریسک و اطلاعات دیجیتال مانند DR&I (Digital Risk and Intelligence) است؛ تیم‌های CTI با رصد منابع خارجی، تلگرام، دارک‌وب و نشتی‌های سازمانی متوجه می‌شوند چه کمپین‌هایی ممکن است علیه دارایی‌های ما شکل بگیرد. اما از لحظه تلاش برای تحویل و نفوذ، شیفت پارادایم اتفاق می‌افتد و ما وارد فاز Threat Hunting می‌شویم؛ جایی که شکارچی تهدید بر اساس فرضیه‌های مبتنی بر هوش سایبری، به سراغ داده‌های ترافیک شبکه، رویدادهای EDR و رفتارهای مشکوک در سیستم‌ها می‌رود تا قبل از اینکه مهاجم به مرحله فاجعه‌بار Actions on Objective برسد، خط حمله را قطع کند.
چتر بالاسری کل این اکوسیستم، Cyber Threat Intelligence (CTI) است. سی‌تی‌آی همان لایه‌ای است که به تیم شکار تهدید، تحلیل‌گران سوک و تیم‌های فارنزیک دید می‌دهد که چه کسی، با چه انگیزه‌ای و با چه ابزارهایی در حال پیشروی در این مراحل است. اگر در محیط‌های زیرساختی و حیاتی فرآیندها را بر اساس این زنجیره تحلیل نکنیم، دفاع ما همیشه منفعل، دیرهنگام و بدون دید استراتژیک باقی خواهد ماند.
══════════════════════════════════════════════ Threat Hunting • Cyber Threat Intelligence • MITRE ATT&CK SANS DFIR • Cybercrime Investigations • Incident Response 🛡 @pythonwithmedev
1🔥1
توی پروژه‌های نفت و گاز یکی از اولین کارهایی که واقعاً باید انجام بشه بررسی داکیومنت‌هاست. قبل از اینکه بخوایم دست به PLC، HMI یا ساختار کنترل بزنیم باید دقیق بدونیم این پلنت چطور طراحی شده، چه تجهیزاتی داره، هر Tag مربوط به کجاست و منطق کنترلی هر قسمت چطوری پیاده شده. این پلنتی که دارم روش کار می‌کنم از نظر کنترل بر پایه زیمنس بسته شده ولی مانیتورینگ و اپراتوری رو با اشنایدر انجام دادن و الان قراره ساختار رو به Siemens PCS 7 منتقل کنیم. چیزی که توی تصویر می‌بینید در واقع فقط ظاهر قضیه‌ست؛ پشت همین صفحه HMI کلی منطق کنترلی، Loop، Interlock، Permissive، Alarm، Sequence و I/O Mapping وجود داره که باید قبل از Migration دقیق بررسی بشن. برای همین فقط برداشتن Graphicهای فعلی و ساختنشون داخل PCS 7 اصلاً Migration واقعی محسوب نمیشه. اول باید P&ID، I/O List، Instrument Index، Loop Diagram، Control Narrative، Cause & Effect، لیست Valve و Motor، Alarm و Trip List و همینطور مستندات PLC و شبکه بررسی بشن و بعد با وضعیت واقعی Field تطبیق داده بشن
1🔥2
☢️🧑🏻‍💻OT Sentinel | ICS/OT Security🧑🏻‍💻☢️
توی پروژه‌های نفت و گاز یکی از اولین کارهایی که واقعاً باید انجام بشه بررسی داکیومنت‌هاست. قبل از اینکه بخوایم دست به PLC، HMI یا ساختار کنترل بزنیم باید دقیق بدونیم این پلنت چطور طراحی شده، چه تجهیزاتی داره، هر Tag مربوط به کجاست و منطق کنترلی هر قسمت چطوری…
مخصوصاً توی پروژه‌های قدیمی خیلی وقت‌ها چیزی که توی داکیومنت نوشته شده با چیزی که واقعاً توی سایت اجرا شده یکی نیست و همین اختلاف‌ها موقع Commissioning خودشون رو نشون میدن. بعد از اینکه این مرحله کامل شد، میشه رفت سراغ ساختار PCS 7، تعریف AS و OS، Mapping کردن I/Oها، ساخت Control Moduleها و بازسازی منطق‌های کنترلی در CFC/SFC و در نهایت طراحی دوباره صفحات Operator Station. هدف این نیست که فقط HMI رو از اشنایدر ببریم روی PCS 7؛ هدف اینه که منطق واقعی فرایند، Alarmها، Interlockها، Permissiveها و Sequenceها رو درست بشناسیم و بدون ایجاد تغییر ناخواسته توی رفتار سیستم، معماری جدید رو روی PCS 7 پیاده کنیم. خلاصه اینکه توی همچین پروژه‌ای قبل از هر چیزی باید داکیومنت رو باز کرد، خط به خط خوند، با Field مقایسه کرد و بعد رفت سراغ Engineering؛ چون توی پروژه صنعتی، چیزی که مستند نشده یا درست فهمیده نشده، موقع راه‌اندازی می‌تونه تبدیل به دردسر خیلی بزرگی بشه
🔥1
اون پروژه‌ای که توی اراک داشتم، به جرئت یکی از اون تجربه‌هایی بود که نگاهم رو به کل زیرساخت‌های صنعتی برای همیشه عوض کرد. راستش قبل از اون، مثل خیلی‌های دیگه، فکر می‌کردم امنیت شبکه و سیستم‌های کنترل یعنی چند تا فایروال، یه سری تنظیمات و کلی نرم‌افزار. ولی وقتی رفتم وسط میدون و از نزدیک با اون تجهیزات، خطوط انتقال و سیستم‌های کنترلی کار کردم، تازه فهمیدم قضیه چیز دیگه‌ایه.

اینجا دیگه شبکه و امنیت فقط چند تا عدد و کد نیست. باید بفهمی هر تجهیز دقیقاً کجای این پازل بزرگ قرار گرفته. از یه سنسور کوچیک و یه شیر کنترل ساده گرفته تا ترانس‌های بزرگ و سیستم‌های اسکادا. وقتی اینو بفهمی، دیگه یه اختلال کوچیک توی یه بخش رو دست کم نمی‌گیری. چون مثل دومینو، می‌تونه کل زنجیره تولید و انتقال رو با خودش ببره. همین وابستگی متقابل بود که حس دقت و مسئولیت‌پذیری رو تو آدم می‌بره بالا.
1🔥5