אנו נרגשים להציג סדרה של בלוגים על ניתוח טכני המתמקדים במגוון פגיעויות וחשיפות נפוצות (CVE) שניתן לזהות ולתקן באמצעות טכנולוגיות זיהוי איומים מתקדמות שלנו. כל המחקרים מבוצעים על ידי סטודנטים לתארים מתקדמים שהשתתפו בתוכנית המלגות OPSWAT לסייבר-אבטחה , שהושקה בדצמבר 2023.

בבלוג זה, נסביר את קוד ה-CVE-2017-14469 של Rockwell Micrologix וכיצד ארגונים יכולים להתגונן מפני מתקפות ניצול לרעה של CVE-2017-14469.
בקר MicroLogix 1400 של Rockwell Automation
בקר לוגי ניתנת לתכנות (PLC) הוא מחשב שתוכנן במיוחד לשליטה בתהליכי ייצור תעשייתיים. הוא משמש במגזרי תשתית קריטיים, כגון קווי הרכבה, ניטור מכונות, בקרת תהליכים וכו'. בקר Rockwell Automation MicroLogix 1400 הוא בקר PLC מודולרי וניתן להרחבה הכולל ספירת קלט/פלט גבוהה, מונה מהיר ותמיכה משופרת ברשת, מה שהופך אותו למתאים למגוון רחב של יישומים.

CVE-2017-14469
פגיעות ב-Rockwell Automation MicroLogix 1400 Series B FRN 21.2 ובגרסאות קודמות מאפשרת לתוקף לקרוא ולכתוב/לדרוס נתונים רגישים במכשיר. חבילה לא מאומתת, בעלת מבנה מיוחד, המכילה פקודה, תוביל לשינוי מספר שגרת התקלה המוגדר על ידי המשתמש, מה שמוביל לעצירה בלתי צפויה של ביצוע המכשיר.

מסד הנתונים הלאומי של פגיעויות (NVD) סיווג פגיעות זו כ"קריטית" עם ציון מקסימלי של CVSS (מערכת ניקוד פגיעויות משותפת). השפעתה יכולה להשפיע באופן משמעותי על סודיות, שלמות וזמינות של מכשיר מבלי לדרוש אימותים נוספים. זמינות המערכת היא קריטית, במיוחד במערכות תשתית קריטיות, שבהן כל שיבוש או השבתה עלולים להוביל להפסדים כספיים עצומים או אפילו נזק פיזי. CVE זה יכול להוביל לעצירה של תפקודי ה-PLC על ידי גרימת "תקלת מערכת" בתוך הבקר, ובכך להוות סיכון לשיבוש מערכות תשתית קריטיות.

ניתוח פגיעויות
מושג התקלה דומה מאוד למושג חריגה בתכנות. כאשר מתרחשת תקלה, ביצוע ההוראה נעצר, מה שמוביל את ההתקן למצב תקלה. ניתן לסווג תקלות לשני סוגים: תקלות משתמש ותקלות שאינן של משתמש.
ישנם שני מנגנונים לניקוי תקלות: על ידי ניקוי אוטומטי על ידי חיבור חשמל לבקר, או על ידי ניקוי ידני באמצעות שגרת תקלות משתמש, שהיא הליך שניתן להגדיר לביצוע אוטומטי בתגובה לתקלת משתמש. CVE-2017-14469 מתייחס למנגנון השני. כדי למנוע מהמערכת להיכבות או לעצור את הביצוע באופן בלתי צפוי עקב תקלת משתמש, שגרת תקלות משתמש מוגדרת לטיפול בתקלות שהוקצו על סמך מספרי התקלות שלהן, והיא מבוצעת כאשר התקלה המתאימה מתרחשת. אם אין שגרה לטיפול בתקלה, ההתקן עוצר את הביצוע ומציג את מספר התקלה. הערך עבור שגרת תקלות המשתמש מוגדר ל-0x00 כאשר ההתקן פועל כרגיל, ויש להגדיר אותה רק בטווח של 0x03 עד 0xFF לטיפול בתקלות.

ישנם שלושה מצבי מתג ב-Rockwell Automation MicroLogix 1400: PROGRAM (תוכנית), REMOTE (שליטה מרחוק) ו-RUN (הפעלה). גם מצבי PROGRAM (תוכנית) וגם מצב REMOTE (הפעלה מרחוק) מאפשרים הורדות תוכניות למכשיר, תוך קבלה וטיפול בבקשות נכנסות. עם זאת, במצב RUN (הפעלה), המכשיר מקבל רק בקשות מוגבלות. בהקשר של פגיעות זו, ניצול אינו אפשרי אם המכשיר נמצא במצב RUN.
המכשיר מתקשר דרך CIP (Common Industrial פרוטוקול) עם סיומת PCCC. פרוטוקול CIP בנוי על גבי Ethernet/IP ( Industrial פרוטוקול). מבנה החבילה מוצג באיור שלהלן:

כפי שניתן לראות בתמונה למעלה, אין שדה המיועד לאימות. זה מהווה אתגר משמעותי, מכיוון שהמכשיר חסר את היכולת להבחין בין בקשות של תוקף לבין תעבורה רגילה של משתמש.
בדרך כלל, מפעיל יכול לנטר ולעדכן את תצורת המכשיר באמצעות תוכנת בקרה. כדי לתקשר עם המכשיר, מערכת הבקרה Software שולח בקשה מתאימה עם פקודת כתיבה או קריאה לוגית מוגנת, וממלאת את אובייקט CIP PCCC. בפורמט פרוטוקול CIP PCCC, פקודה מזוהה על ידי קוד הפקודה וקוד הפונקציה שלה.
קוד פקודה | קוד פונקציה | תֵאוּר |
| 0x0F | 0x80 | שינוי מצב |
| 0x0F | 0xAA | כתיבה לוגית מוקלדת מוגנת עם שלושה שדות כתובת |
| 0x0F | 0xA2 | קריאה לוגית מוקלדת מוגנת עם שלושה שדות כתובת |
פקודת הכתיבה הלוגית המוגנת (protected typed logic writing) משמשת לכתיבה לקבצים רגישים, כגון קובץ הסטטוס, קובץ הסיביות, קובץ המונה ותצורות אחרות של ההתקן.
ההתקן משתמש בשלושה שדות כתובת בחבילת CIP כדי לזהות את המיקום לקריאה וכתיבה: סוג קובץ, מספר קובץ ומספרי אלמנטים. להלן מספר ערכים לדוגמה לזיהוי מיקומי קבצי התצורה שיושפעו מהפקודה:
סוג קובץ | מספר קובץ | מספרי אלמנטים | תֵאוּר |
| 0x84 | 0x02 | 0x1d | קובץ סטטוס – מספר שגרת תקלות משתמש |
| 0x84 | 0x02 | 0x06 | קובץ סטטוס - קוד שגיאה עיקרי |
| 0x84 | 0x02 | 0x05 | קובץ סטטוס - קוד שגיאה עיקרי |
עם זאת, קיים חוסר באימות קלט כאשר ההתקן מטפל בבקשה; הנתונים הנשלחים בפקודת הכתיבה אינם מאומתים ומאפשרים הגדרה לערכים לא חוקיים.
הפגיעות נגרמת משתי סיבות עיקריות. ראשית, המכשיר אינו יכול לאמת בקשות נכנסות, מה שמאפשר לתוקף לשלוח בקשה לא מאומתת לשינוי הגדרות רגישות. שנית, המכשיר מאמת באופן שגוי נתונים נכנסים, מה שמוביל לשינוי ההגדרות למצב לא חוקי.
כדי לנצל בהצלחה את הפגיעות, תוקף שולח בקשה זדונית, תוך ניצול לרעה של פקודת הכתיבה הלוגית המוגנת (protected typed logical write) כדי להחליף את מספר שגרת התקלה בקובץ המצב בערך לא חוקי, כגון 0x01 או 0x02. כאשר מספר שגרת התקלה מוחלף בערך לא חוקי וההתקן עובר למצב RUN דרך חבילת CIP אחרת, הדבר מפעיל תקלה ועוצר את הביצוע.
ניצול פגיעויות
ניתן לחלק את ההתקפה ל-4 שלבים.
- צור חיבור למכשיר דרך Ethernet/IP כדי לקבל את מזהה הסשן.
- שלח את הבקשה הזדונית להחלפת מספר שגרת התקלה.
- צור חבילת CIP זדונית כדי להחזיר את ה-PLC למצב הפעלה כדי להפעיל את התקלה.
- המכשיר נתקל בתקלה ועוצר את הביצוע.

כדי לתקשר עם המכשיר, תוקף חייב ליזום חיבור על ידי רישום הפעלה (session) עם המכשיר כדי לקבל את מזהה ההפעלה (session handle) ולהשתמש בו לתקשורת מתמשכת. הקוד הבא מדגים בקשת רישום הפעלה סטנדרטית:

לאחר מכן, תוקף יוצר בקשה באמצעות מזהה ההפעלה שהושג קודם לכן וכולל מטען עם פקודת כתיבה לוגית מסוג protected כדי להחליף את מספר שגרת התקלה, הכלול במחבילת CIP.

בשלב האחרון, נשלחת חבילת CIP נוספת כדי להעביר את המכשיר למצב הפעלה ולהפעיל את התקלה.

כפי שמוצג בתמונה, ביצוע ה-PLC נעצר, והפגיעות מנוצלת בהצלחה.


תיקון
OPSWAT מוצרי אבטחת ICS של חברת MetaDefender נועדו לעמוד בפני סוגים אלה של התקפות. MetaDefender OT Security הוא כלי לגילוי ומודיעין איומים המופעל על ידי בינה מלאכותית, המזהה כל בקשה חריגה מצד תוקפים, ומאפשר למנהלי מערכת לזהות איומים פוטנציאליים.
MetaDefender OT Security בעל היכולות הבאות לשיפור מצב האבטחה של סביבות OT:
- גילוי ובניית מלאי נכסים במהירות בעזרת יצירת פרופיל נכסים חכם
- ניטור אקטיבי ופסיבי של איומים ואנומליות
- ניהול טלאים מרחוק עם יכולות טלאים אוטומטיות ומרכזיות
- זרימת עבודה מובנית ויעילה של התראות סיכונים המנוהלת על ידי לוח מחוונים מקיף וניתן להתאמה אישית
- דיווח על תאימות רגולטורית גלובלית, אזורית ותעשייתית

בְּנוֹסַף, MetaDefender OT Security ניתן לשלב אותו גם עם Firewall Industrial MetaDefender כדי למנוע מבקשות זדוניות להשפיע על מכשירים כפי שזוהו על ידי OT Security ה- MetaDefender Industrial Firewall הוא קו ההגנה האחרון המגן על בקרים, מתקני VFD, RTU ונכסים תעשייתיים אחרים קריטיים למשימה. הוא מיישם מדיניות גישה למכשירים מפורטות ביותר ואוכף אזורי גישה למכשירים, ומבטיח שגישה או שינויים לא מורשים לא ישפיעו על החומרה הקריטית.
שניהם יחד יוצרים מערכת IDPS (מערכת לגילוי ומניעת חדירות) חלקה שמזהה ומונעת ביעילות מכל חיבור רשת חריג, בקשות, תקשורת וכו' להשפיע על הרשת.
MetaDefender OT Security מספק הגנה חיונית לתשתיות קריטיות באמצעות נראות הנכסים וזיהוי איומים חזק. מעבר ליכולות הטכנולוגיות שלו, OPSWAT מציע הזדמנויות קריירה מרגשות לאנשים בעלי תשוקה לאבטחת סייבר. הצטרפו אלינו לעיצוב עתיד האבטחה והגנה על מה שחשוב ביותר. גלו תפקידים מגוונים ופרויקטים בעלי השפעה ב OPSWAT , שבו המומחיות שלך יכולה לעשות שינוי מוחשי. יחד, בואו נשמור על המערכות החיוניות ביותר בעולם.
