במקליטי הווידאו של MVPower, הקופסאות שמחברים אליהן מצלמות אבטחה, יש כתובת אחת בשרת הפנימי שנקראת /shell. מי שפונה אליה מהרשת יכול להריץ פקודות על המכשיר בהרשאות root, ההרשאות הגבוהות ביותר במערכת, בלי שם משתמש ובלי סיסמה. החולשה קיבלה 9.8 מתוך 10, ולפי הרשומה היא נוצלה בשטח בין 2017 ל-2022.

מה החולשה?

מקליט וידאו לאבטחה, DVR, הוא מחשב קטן עם דיסק שמקבל את השידור מהמצלמות ושומר אותו. כדי שאפשר יהיה לצפות בהקלטות מהדפדפן רץ עליו שרת אינטרנט קטן, ובדגמים של MVPower השרת הזה חושף את הכתובת /shell.

מה שנמצא מעבר לכתובת הזאת אינו טעות בקוד אלא רכיב שנכלל בקושחה: ממשק שמקבל פקודה ומריץ אותה על מערכת ההפעלה של המכשיר. כלי כזה נקרא web shell, ממשק שליטה דרך הדפדפן. בדרך כלל web shell הוא מה שתוקף משתיל בעצמו אחרי שהצליח להיכנס למכשיר. כאן הוא הגיע מהמפעל.

ההרצה מתבצעת בהרשאות root, כלומר אין שום הגבלה על מה שהפקודה יכולה לעשות. לחולשה קוראים גם JAWS webserver RCE, על שם שרת האינטרנט JAWS שרץ על המכשירים האלה ושמזדהה בשמו בתשובות ה-HTTP שהוא שולח. בזיהוי של המכשירים האלה ברשת אין שום קושי.

מי מושפע?

הרשומה מונה את הדגם TV-7104HE, ובמיוחד את גרסת הקושחה 1.8.4_115215b9, ואת הדגם TV7108HE. היא מוסיפה שגם גרסאות קושחה אחרות, לפחות מ-2014 ועד 2019, יכולות להיות חשופות. במילים אחרות, זאת אינה חולשה שתוקנה בגרסה מסוימת שאפשר להתעדכן אליה.

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

יש גם סימן מעשי אחד: אם ממשק הצפייה בהקלטות שלכם נגיש מהאינטרנט דרך פורט שהמתקין פתח בנתב, המכשיר נמצא בטווח של כל מי שסורק את האינטרנט.

האם מנוצלת בפועל?

החולשה אינה רשומה בקטלוג ה-KEV של CISA. למרות זאת, התיאור ב-NVD קובע במפורש שהיא נוצלה בשטח בין 2017 ל-2022, פרק זמן של חמש שנים.

בין המקורות שהרשומה מפנה אליהם נמצאים מחקר של Netlab 360 על רשת מכשירים נגועים בשם IoT Reaper, מאמר של Pen Test Partners על פריצה למצלמות אבטחה וקוד ניצול פומבי ב-Exploit-DB משנת 2017. ההצטברות הזאת היא התשובה האמיתית לשאלה: הכתובת ידועה, הקוד לנצל אותה פומבי, והמכשירים מזדהים בעצמם בתשובות שהם שולחים.

מה שאין כאן הוא אלמנט ההפתעה.

מה עושים?

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

היכנסו לממשק הניהול של הנתב בבית או בעסק וחפשו הפניית פורטים (port forwarding) שמכוונת אל כתובת ה-DVR, או הגדרת DMZ שחושפת אותו במלואו. בטלו אותה. אם יש צורך לצפות בהקלטות מרחוק, עשו זאת דרך VPN אל הרשת המקומית במקום דרך פורט פתוח לאינטרנט. בדקו גם בממשק ה-DVR עצמו אם מופעלת בו אפשרות שפותחת לו פורט בנתב לבד, בשם UPnP, וכבו אותה.

אחר כך בררו איזה מכשיר יש לכם. הדגם רשום לרוב במדבקה בגב הקופסה או בתפריט המערכת שבממשק. אם מופיע שם TV-7104HE, TV7108HE או MVPower, אתם ברשימה. מכשיר שמזדהה כ-JAWS בתשובות ה-HTTP שלו הוא סימן נוסף, ומי שמתחזק את מערכת המצלמות יכול לבדוק זאת בקלות.

והחלטה שאין ממנה מנוס: מקליט שהממשק שלו מריץ פקודות root לכל מי שפונה אליו, ושאין לו קושחה שמסירה את הרכיב הזה, צריך להתחלף. עד שזה יקרה הוא צריך להיות מנותק לגמרי מגישה ישירה מהאינטרנט.