الهجمات الإلكترونية المدعومة بالذكاء الاصطناعي: كيفية الكشف عن التهديدات الذكية ومنعها والدفاع ضدها

اقرأ الآن
نستخدمُ الذكاء الاصطناعي في ترجمات الموقع، ومع أننا نسعى جاهدين لبلوغ الدقة قد لا تكون هذه الترجمات دقيقةً بنسبة 100% دائمًا. تفهّمك لهذا الأمر هو موضع تقدير لدينا.

حماية أنظمة التقنيات التشغيلية من الهجمات عن بُعد: كيف يقوم MetaDefender OT Security™ بحماية وحدة التحكم Micrologix™ 1400 من CVE-2021-22659

ب OPSWAT
شارك هذا المنشور
المشاركون في برنامج زمالة OPSWAT

يعد تأمين أنظمة التحكم الصناعية وبيئات التكنولوجيا التشغيلية من الهجمات عن بُعد أكثر أهمية من أي وقت مضى، خاصةً مع وجود ثغرات مثل CVE-2017-14469 والآن CVE-2021-22659 التي تستهدف وحدة التحكم Micrologix 1400 المستخدمة على نطاق واسع من Rockwell Automation. قام طلاب من برنامج زمالة OPSWAT باختبار هذه الثغرة في بيئة خاضعة للرقابة، مما يسلط الضوء على الحاجة إلى الأمن. 

في هذه المدونة، نستكشف كيف أوضح الطلاب كيف يمكن للمهاجمين استغلال الثغرة للتسبب في تعطل الأنظمة وكيف يمكن الاستفادة من عدم التحقق من صحة المدخلات بشكل صحيح لتعطيل عمليات المجلس التشريعي الفلسطيني. 

ما هو PLC؟ شرح ميكرولوجيكس 1400 من روكويل أتمتة روكويل 1400

وحدة التحكم المنطقي القابلة للبرمجة (PLC) هي كمبيوتر صناعي مصمم لأتمتة العمليات من خلال التحكم في الآلات والعمليات الصناعية الأخرى. تعمل في البيئات القاسية وتتم برمجتها لأداء مهام محددة بناءً على مدخلات المستشعرات. إن وحدة التحكم MicroLogix 1400 من Rockwell Automation هي وحدة تحكم منطقية قابلة للبرمجة مدمجة ومعيارية تُستخدم عادةً في التطبيقات الصغيرة والمتوسطة الحجم. وهي معروفة بفعاليتها من حيث التكلفة ومرونتها، وتدعم العديد من بروتوكولات الاتصال وتوفر خيارات الإدخال/الإخراج الرقمية والتناظرية للربط مع الأجهزة.

صورة لجهاز OPSWAT المستخدم لمراقبة نظام التحكم الصناعي

تتم البرمجة عادةً باستخدام برنامج Rockwell Automation من خلال منطق السلم، مما يسمح للمستخدمين بإنشاء تسلسلات تحكم. نظام MicroLogix 1400 متعدد الاستخدامات ومناسب لمهام مثل التحكم في الماكينات وأتمتة العمليات. وتسمح وحداته النمطية للمستخدمين بتوسيع النظام وتخصيصه بناءً على متطلبات تطبيقات محددة.

مقدمة في CVE-2021-22659

في يناير 2021، تلقت Rockwell Automation تقريراً من Parul Sindhwad والدكتور فاروق كازي من مركز مكافحة التهديدات الأمنية في معهد فيرماتا جيجاي التكنولوجي (VJTI) في الهند، بشأن ثغرة أمنية في وحدة التحكم MicroLogix™ 1400. وقد حددوا وجود ثغرة أمنية في الإصدار 21.6 والإصدارات الأقدم تسمح لمهاجم غير مصادق عن بعد بإرسال حزمة Modbus مصممة خصيصًا مما يتيح للمهاجم استرداد أو تعديل قيم عشوائية في السجل. إذا تم استغلالها بنجاح، فقد يؤدي ذلك إلى تجاوز سعة المخزن المؤقت، مما يؤدي إلى حالة رفض الخدمة. سيومض مؤشر LED FAULT باللون الأحمر وقد تنقطع الاتصالات. يتطلب التعافي من حالة رفض الخدمة إزالة الخطأ من قبل المستخدم. 

قيّمت NVD هذه الثغرة الأمنية على أنها عالية الخطورة. 

تُظهر مقاييس CVSS 3.x درجة خطورة عالية تبلغ 8.6 من NIST NVD

مراحل الهجوم

رسم تخطيطي يوضح مراحل الهجوم السيبراني على وحدة التحكم المنطقية المنطقية المنطقية المنطقية الدقيقة (PLC MicroLogix)

يمكن لمهاجم عن بعد غير مصادق لديه إمكانية الوصول إلى الشبكة إلى جهاز MicroLogix 1400 PLC الضعيف إرسال حزمة مصممة خصيصاً لتعديل القيم الموجودة في السجل. من المحتمل أن يتسبب ذلك في حدوث حالة رفض الخدمة للجهاز، مما يؤدي إلى تلف النظام وتعطله. يمكن لمثل هذا الحادث أن يعطل عمليات التصنيع والأنشطة التجارية الأخرى للمؤسسة بشكل كبير.

بروتوكول مودبوس

تم تطوير بروتوكول Modbus من قبل شركة Modicon في عام 1979، وهو عبارة عن بنية مراسلة مصممة لإنشاء اتصال بين العميل والخادم بين الأجهزة الذكية. تم تصميمه في الأصل للاستخدام مع وحدات التحكم المنطقي القابلة للبرمجة (PLCs) الخاصة بشركة موديكون، ومنذ ذلك الحين أصبح بروتوكول اتصال قياسي للاتصال بين الأجهزة الإلكترونية الصناعية. 

هناك بروتوكولات مودبوس للإيثرنت (Modbus TCP) والخطوط التسلسلية (Modbus RTU و Modbus ASCII). تنقل Modbus RTU (الوحدة الطرفية البعيدة) البيانات مباشرةً في شكل ثنائي من خلال الاتصال التسلسلي، ويقوم بروتوكول Modbus TCP (بروتوكول التحكم في الإرسال) بتضمين بيانات بروتوكول مودبوس في حزم TCP لنقلها عبر شبكات TCP/IP. 

مخطط المقارنة بين مكدس مودبوس وطبقات OSI لبروتوكولات الاتصال

بنية رسالة مودبوس

مودبوس هو بروتوكول طلب واستجابة حيث يقوم العميل بإرسال طلب إلى جهاز مودبوس، ويقوم الجهاز بعد ذلك بتقديم استجابة.

رسم تخطيطي يوضح اتصال معاملات مودبوس بين العميل والخادم

تحتوي رسالة مودبوس المرسلة من الابتدائي إلى الثانوي على عنوان الثانوي، و "الأمر" (مثل "سجل القراءة" أو "سجل الكتابة")، والبيانات، ومجموع التحقق (LRC أو CRC).

هيكل رسالة Modbus RTU مع الرؤوس ورموز الوظائف

تُستخدم عناوين البيانات في رسائل استعلام مودبوس عند قراءة البيانات أو تعديلها. يحدد مودبوس أربعة أنواع للبيانات: الملفات، وحالة الإدخال، وسجل الإدخال، وسجل الإدخال، وسجل الانتظار. اثنان منهم يخزنان قيم تشغيل وإيقاف (1 بت) تسمى الملفات والمدخلات المنفصلة، واثنان يخزنان قيمًا رقمية ككلمات 16 بت تسمى السجلات. كل منها إما للقراءة فقط أو للقراءة/الكتابة.

نوع البياناتالوصولوصف
لفائفالقراءة والكتابةمخرجات أحادية البت.
المدخلات المنفصلةالقراءة فحسبمدخلات أحادية البت.
سجل الإدخالالقراءة فحسبسجلات الإدخال 16 بت.
سجل الحجزالقراءة والكتابةسجلات إخراج 16 بت.

هناك ثلاث فئات من رموز وظائف مودبوس:

  • رموز الوظائف العامة - من 1 إلى 127 باستثناء الرموز المحددة من قبل المستخدم. 
  • رموز الوظائف المحددة من قِبل المستخدم - في نطاقين من 65 إلى 72 ومن 100 إلى 110. 
  • رموز الوظائف المحجوزة - تستخدمها بعض الشركات للمنتجات القديمة وغير متاحة للاستخدام العام.
نوع الوظيفةاسم الوظيفةرمز الوظيفة
الوصول إلى البياناتالوصول إلى البتالمدخلات المادية المنفصلةقراءة المدخلات المنفصلة2
البتات الداخلية أو الملفات المادية

قراءة اللفائف

اكتب ملف واحد

كتابة ملفات متعددة الكتابة

1

5

15

وصول 16 بتسجلات الإدخال الفعليقراءة سجلات الإدخال4
السجلات الداخلية أو سجلات الإخراج الفعلي

قراءة سجلات الحجز المتعددة

كتابة سجل الانتظار الفردي

كتابة سجلات الحجز المتعددة

قراءة/كتابة سجلات متعددة

سجل كتابة القناع

قراءة قائمة انتظار FIFO

3

6

16

23

22

24

الوصول إلى سجل الملفات

قراءة سجل الملفات

كتابة سجل الملفات

20

21

التشخيص

قراءة حالة الاستثناء

التشخيص

الحصول على عداد أحداث كوم 

الحصول على سجل أحداث كوم 

الإبلاغ عن هوية العبد 

قراءة تعريف الجهاز 

7

8

11

12

17

43

آخرنقل الواجهة المغلفة43
نوع الوظيفة: الوصول إلى البيانات
النوع الفرعي: وصول بت
الفئة: المدخلات المادية المنفصلة
اسم الدالة: قراءة المدخلات المنفصلة
رمز الدالة: 2
نوع الوظيفة: الوصول إلى البيانات
النوع الفرعي: الوصول إلى البتات
الفئة: البتات الداخلية أو الملفات المادية
اسم الدالة: قراءة اللفائف
رمز الدالة: 1
نوع الوظيفة: الوصول إلى البيانات
النوع الفرعي: وصول البتات
الفئة: البتات الداخلية أو الملفات المادية
اسم الدالة: كتابة ملف واحد
رمز الدالة: 5
نوع الوظيفة: الوصول إلى البيانات
النوع الفرعي: وصول البتات
الفئة: البتات الداخلية أو الملفات المادية
اسم الدالة: كتابة ملفات متعددة
رمز الدالة: 15
نوع الوظيفة: الوصول إلى البيانات
النوع الفرعي: وصول 16 بت
الفئة: سجلات الإدخال المادية
اسم الدالة: قراءة سجلات الإدخال
رمز الدالة: 4
نوع الوظيفة: الوصول إلى البيانات
النوع الفرعي: وصول 16 بت
الفئة: السجلات الداخلية أو سجلات الإخراج الفعلي
اسم الدالة: قراءة سجلات الحجز المتعددة
رمز الدالة: 3
نوع الوظيفة: الوصول إلى البيانات
النوع الفرعي: وصول 16 بت
الفئة: السجلات الداخلية أو سجلات الإخراج الفعلية
اسم الدالة: كتابة سجل احتجاز واحد
رمز الدالة: 6
نوع الوظيفة: الوصول إلى البيانات
النوع الفرعي: وصول 16 بت
الفئة: السجلات الداخلية أو سجلات الإخراج الفعلية
اسم الدالة: كتابة سجلات احتجاز متعددة
رمز الدالة: 16
نوع الوظيفة: الوصول إلى البيانات
النوع الفرعي: وصول 16 بت
الفئة: السجلات الداخلية أو سجلات الإخراج الفعلي
اسم الدالة: قراءة/كتابة سجلات متعددة
رمز الدالة: 23
نوع الوظيفة: الوصول إلى البيانات
النوع الفرعي: وصول 16 بت
الفئة: السجلات الداخلية أو سجلات الإخراج الفعلي
اسم الدالة: قناع كتابة السجل
رمز الدالة: 22
نوع الوظيفة: الوصول إلى البيانات
النوع الفرعي: وصول 16 بت
الفئة: السجلات الداخلية أو سجلات الإخراج الفعلي
اسم الدالة: قراءة قائمة انتظار FIFO
رمز الدالة: 24
نوع الوظيفة: الوصول إلى البيانات
النوع الفرعي: الوصول إلى سجل الملف
اسم الدالة: قراءة سجل الملف
رمز الدالة: 20
نوع الوظيفة: الوصول إلى البيانات
النوع الفرعي: الوصول إلى سجل الملف
اسم الدالة: كتابة سجل الملف
رمز الدالة: 21
نوع الوظيفة: التشخيص
اسم الدالة: قراءة حالة الاستثناءات
رمز الدالة: 7
نوع الوظيفة: التشخيصات
اسم الوظيفة: التشخيص
رمز الوظيفة رمز الوظيفة: 8
نوع الوظيفة: التشخيص
اسم الدالة: الحصول على عداد أحداث الاتصال
رمز الدالة: 11
نوع الوظيفة: التشخيص
اسم الوظيفة: الحصول على سجل أحداث الاتصال
رمز الوظيفة: 12
نوع الوظيفة: التشخيص
اسم الوظيفة: الإبلاغ عن معرف الرقيق
رمز الوظيفة: 17
نوع الوظيفة: التشخيص
اسم الوظيفة: قراءة تعريف الجهاز
رمز الوظيفة رمز الوظيفة: 43
نوع الوظيفة: أخرى
اسم الدالة: نقل الواجهة المغلفة
رمز الدالة: 43

الاستغلال

تحليل نقاط الضعف

من خلال التحليل، اكتشف زملاؤنا الخريجون في OPSWAT أنه أثناء اتصال Modbus TCP، يفتقر البروتوكول إلى المصادقة والتشفير للحزم المرسلة. بالإضافة إلى ذلك، لا يتم تنفيذ التحقق من صحة المدخلات في MicroLogix 1400 PLC بشكل صحيح. وبالتالي، يمكن للمهاجم عن بعد تحليل حزمة Modbus TCP عبر استنشاق الحزم وإرسال أي طلب إلى PLC دون مصادقة عبر بروتوكول Modbus TCP. نظرًا لافتقار جهاز MicroLogix 1400 PLC إلى التحقق من صحة المدخلات، يمكن لمهاجم مصادق عن بعد إرسال عدد كبير من الحزم بقيم عشوائية، مما قد يتسبب في تعطل PLC.

تسجيل الكتابة فوق السجل

في البداية، حاولنا التقاط حزم Modbus TCP المستخدمة لقراءة أو كتابة السجلات على PLC. ولتحقيق ذلك، قمنا بفحص الحزم التي تم إنشاؤها بواسطة تطبيق يسمى Modbus Poll، والذي يسهل قراءة وكتابة السجلات على جهاز التحكم المنطقي القابل للبرمجة MicroLogix 1400.

لقطة شاشة تُظهر واجهة أداة استطلاع مودبوس لكتابة السجلات المفردة

وباستخدام Wireshark لالتقاط جميع الحزم من واجهة الشبكة، يمكننا تحديد حزمة Modbus TCP لكتابة سجل واحد:

التقاط حزمة تظهر معاملة مودبوس مع رمز دالة لكتابة سجل واحد
تحليل مفصل لحمولة Modbus TCP، بما في ذلك معرّفات المعاملات والبروتوكول

استنادًا إلى بنية الحزم المستنشقة، قمنا بتطوير برنامج Python نصي بسيط لإرسال حزم TCP تطلب كتابة سجل على PLC الهدف. في هذا السيناريو، عنوان IP الخاص بـ PLC هو 192.168.93.89.

مثال على كود بايثون لبدء اتصال Modbus TCP وإرسال حمولة

تم تغيير سجل PLC بعد تلقي الحزمة الخبيثة غير المصادق عليها. 

التقاط حزمة تُظهر بروتوكول Modbus/TCP مع رمز دالة كتابة سجلات متعددة
لقطة شاشة لمخطط السلم المنطقي مع كتلة دالة ADD لإضافة قيم مصدرية

في Micro Logix 1400، تستخدم معظم تعليمات الرياضيات في Micro Logix 1400 ثلاث معلمات: المصدر أ، والمصدر ب، والوجهة

يمكن أن تأتي قيم المصدر (أ) والمصدر (ب) من سجلين من 16 بت باسم N13:3 و N13:4. علاوةً على ذلك، فإن القيم الموجودة في هذين السجلين المكونين من 16 بت، مثل N13:3 و N13:4، مقيدة في نطاق -32,768 إلى +32,767. إذا كانت قيم N13:3 و N13:4 كبيرة، فقد تتجاوز نتيجة تعليمات المطابقة النطاق الأقصى لنوع البيانات، مما قد يتسبب في تعطل PLC. وبالتالي، من أجل إحداث عطل في PLC، من الضروري كتابة قيم عشوائية كبيرة إلى جميع السجلات، بما في ذلك N13:3 و N13:4. لتحقيق ذلك، قمنا بتعديل برنامج Python النصي على النحو التالي: 

برنامج Python النصي الذي يعرض إنشاء حمولة Modbus TCP لكتابة سجلات متعددة

محاكاة الهجوم

لمحاكاة هجوم في العالم الحقيقي، حاول زملاؤنا الخريجون من OPSWAT OPSWAT إحداث عطل في جهاز التحكم المنطقي القابل للبرمجة MicroLogix 1400 الموجود في مختبرات OPSWAT CIP، على افتراض أن المهاجم وجهاز التحكم المنطقي القابل للبرمجة على نفس الشبكة وقادران على التواصل مع بعضهما البعض. 

في الحالة التشغيلية العادية للبرنامج القابل للبرمجة القابلة للبرمجة MicroLogix 1400 في مختبرات OPSWAT مع وجود البرنامج القابل للبرمجة القابلة للبرمجة في وضع REMOTE RUN، تكون جميع قيم السجلات صالحة وتقع ضمن النطاق المحدد لأنواع البيانات الخاصة بها، مما يشير إلى أن برنامج المستخدم يعمل بشكل صحيح. 

لقطة شاشة لملف بيانات RSLogix 500 تُظهر قيم بيانات N13 بتنسيق عشري

عند تنفيذ برنامج Python النصي الخاص بنا، سيتم إرسال العديد من حزم Modbus TCP إلى PLC، طالبًا كتابة قيم عشوائية كبيرة إلى جميع السجلات دون مصادقة:

التقاط حزمة تُظهر طلبات كتابة سجلات متعددة متكررة لـ Modbus TCP

بعد تلقي طلبات الحزمة الخبيثة هذه، يتم تعيين قيم جميع السجلات، بما في ذلك N13:3 و N13:4، إلى 16,990. تتجاوز نتيجة عملية الإضافة على السجلين N13:3 و N13:4 النطاق الصالح لسجل 16 بت. تتسبب هذه المشكلة في تجاوز عدد صحيح، مما يؤدي إلى حدوث خطأ ومقاطعة تشغيل PLC، كما هو مبين في حالة FAULTED.

يعرض RSLogix 500 حالة خطأ وقيم بيانات لعناوين N13

لقد نجح زملاؤنا الخريجون في OPSWAT في تعطيل جهاز MicroLogix 1400 PLC من خلال استغلال CVE-2021-22659.

الاصلاح

لقطة شاشة للوحة معلومات عن الثغرات الأمنية في جهاز التحكم المنطقي القابل للبرمجة (PLC) تظهر تفاصيل مكافحة التطرف العنيف والثغرات الأمنية الحرجة في Rockwell Automation MicroLogix

في مواجهة الثغرات الأمنية مثل CVE-2021-22659، فإن المعالجة الشاملة أمر بالغ الأهمية لحماية أنظمة التكنولوجيا التشغيلية والفيزيائية الإلكترونية. فيما يلي بعض الاستراتيجيات الرئيسية التي يمكن استخدامها لمنع انتشار الهجمات:

  1. الكشف عن الثغرات المعروفة CVEs: فحص الشبكات بانتظام بحثًا عن الثغرات الأمنية مثل CVE-2021-22659.
  2. مراقبة السلوكيات الشاذة: الإبلاغ عن الزيادات غير المعتادة في تواتر الاتصال بـ Micrologix 1400 PLC، والتي قد تشير إلى وجود هجوم مستمر لنقل البيانات غير المصرح به.
  3. تحديد توصيلات الأجهزة الجديدة: يجب أن يكتشف النظام عند اتصال جهاز جديد بـ PLC. 
  4. تجزئة الشبكة: يمكن أن يساعد عزل الأجهزة المتأثرة في منع الانتشار الجانبي للهجمات، وبالتالي تقليل التأثير.

يلبي MetaDefender OPSWAT's MetaDefender OT Security هذه الاحتياجات من خلال الكشف عن مكافحات التطرف العنيف، والمراقبة المستمرة للشبكة بحثًا عن السلوكيات غير الاعتيادية، وتحديد الاتصالات غير المصرح بها. وباستخدام الذكاء الاصطناعي، يتعلم البرنامج أنماط حركة المرور العادية، ويحدد السلوك الأساسي، وينفذ سياسات لتنبيه الحالات الشاذة. يتيح ذلك استجابات فورية ومستنيرة للتهديدات المحتملة. 

في حالة وجود هجوم يستغل CVE-2021-22659، يتكاملOT Security MetaDefender OT Security معFirewall Industrial MetaDefender لحظر الاتصالات المشبوهة بناءً على قواعد محددة. يستخدم جدار الحماية الذكاء الاصطناعي لتعلم أنماط حركة المرور العادية وفرض سياسات لمنع الاتصالات غير المصرح بها. 

من خلال الجمع بين قدرات الكشف والتنبيه وتجزئة الشبكة، يصبح MetaDefender OT Security آلية الدفاع المثالية للبيئات الصناعية، مما يقلل بشكل كبير من مخاطر التهديدات الإلكترونية وتأثيرها في بيئات التكنولوجيا التشغيلية.

استكشف كيف يمكن لمنصة OPSWATللأمن السيبراني الدفاعي المتعمق أن تعزز وضعك وتنميته. تحدث إلى أحد الخبراء اليوم للحصول على عرض تجريبي مجاني.

ابق على اطلاع دائم OPSWAT!

اشترك اليوم لتلقي آخر تحديثات الشركة, والقصص ومعلومات عن الفعاليات والمزيد.