☢🧑🏻💻OT Sentinel | ICS/OT Security🧑🏻💻☢
Replyامروز میخوام ساختار قاب پروتکل DNP3 رو که یکی از حیاتیترین پروتکلهای شبکههای برق و اتوماسیون صنعتیه، با هم ورق بزنیم. اگه به شکل استانداردش نگاه کنیم، میبینیم که DNP3 چجوری داده رو لایهبندی میکنه تا توی محیطهای پرنویز صنعتی هم قابل اعتماد باشه. خب، بیایم از بالا به پایین تصویر نگاه کنیم. اول ازالبته به جز خود اون ۲ بایت شروع و این یه بایت طول. بعد نوبت به فیلد ۱ بایتی Control میرسه که خیلی مهمه چون نوع فریم رو مشخص میکنه که فریم اطلاعاتیه، نظارتیه یا بدون شماره، و همچنین شماره دنباله ارسال و دریافت و پرچمهای کنترلی توش هست. بعدش دو فیلد ۲ بایتی برای آدرس مقصد و آدرس مبدأ در لایه پیوند داریم که آدرسهای ۱۶ بیتی ایستگاههای صنعتی رو مشخص میکنن. در نهایت برای اینکه مطمئن بشیم هدر سالم رسیده، یه CRC ۲ بایتی روش انداختیم که بهش میگن CRC-16 و کل هدر رو پوشش میده.
بعد از این هدر، نوبت به محموله اصلی یا همون Payload میرسه که در واقع همون لایه کاربرد DNP3 هست. اینجا قضیه جالبتر میشه، چون دادههای کاربردی که قراره منتقل بشن، مثلاً مقادیر آنالوگ، وضعیت کلیدها، یا فرمانهای کنترلی، به صورت بلوکهای داده با حداکثر طول ۲۵۰ بایت سازماندهی میشن. یعنی هر بلوک شامل خود داده تا سقف ۲۵۰ بایت هست و بلافاصله بعد از هر بلوک، یه CRC ۲ بایتی مجزا قرار داره که یکپارچگی همون بلوک رو تضمین میکنه. این بلوکها پشت سر هم قرار میگیرن و مجموعشون میتونه تا ۲۹۲ بایت داده خالص رو پوشش بده. جالبه که هر بلوک مستقل از بقیه CRC خودش رو داره، پس اگه یه بلوک خراب بشه، بقیه بلوکها قابل استفاده هستن و نیازی به کل دیتاگرام نیست، این خیلی برای کانالهای مخابراتی نویزدار صنعتی ارزشمنده
2 · 440 ·