
רינג ריפר היא משפחת תוכנות זדוניות חדשה המכוונת למערכות לינוקס, הבולטת ביכולתה להתחמק מהגנות קונבנציונליות של נקודות קצה. באמצעות טכניקות קלט/פלט אסינכרוניות, סוכן פוסט-פריצה זה מבצע משימות חשאיות עם טביעת רגל מינימלית עבור מערכות ניטור.
המפתח לחשאיותו טמון ב שימוש ב-io_uring, ממשק ליבה מודרני המאפשר לך להחליף קריאות מערכת קונבנציונליות בפעולות אסינכרוניות בעלות ביצועים גבוהים, ומשאיר פתרונות EDR מבוססי-Hook וסינון Syscall בחשיכה.
מה זה RingReaper ולמה זה חשוב
זוהה על ידי אנליסטים של Picus Security כסוכן לאחר ניצול, RingReaper אינו מתמקד בפלישה הראשונית, אלא בעבודה השקטה שבאה לאחר מכן: זיהוי, איסוף נתונים והתמדה, כולם בגישה שיטתית שמסבכת את הגילוי.
ההשפעה חורגת מעבר למקרה בודד של תוכנה זדונית: הצלחתה מדגימה פער מערכתי באסטרטגיות המסתמכות על יירוט קריאות סיסטמיות, מכיוון שפעילויות המתועלות דרך io_uring הן במידה רבה מחוץ לתחום הטלמטריה המסורתית.
כיצד RingReaper מתחמק מגילוי באמצעות io_uring
במקום להפעיל פונקציות טיפוסיות כמו read, write, recv, send o connect, רינגריפר פונה ל פרימיטיבים של io_uring (למשל, io_uring_prep_*()), הפחתת רעשי syscall והימנעות מ-EDR hooks.
החלפה זו של נתיבי ביצוע יוצר אזור מת לכלים המצפים לדפוסים סינכרוניים ומשאיר פחות עקבות פורנזיות, במיוחד כאשר פעולות משפיעות על מבני הליבה או על מערכת הקבצים הווירטואלית /proc.
קיבולות שנצפו בשלב שלאחר הניצול
במהלך סיור תהליך (MITRE ATT&CK T1057), RingReaper מפרט תהליכים ופרטי בעלות באמצעות שאילתות אסינכרוניות ל /proc, אמולציה של כלי עזר כגון ps מבלי להפעיל התראות נפוצות.
למיפוי משתמשים פעילים ופעילויות (ATT&CK T1033), ניתוחים /dev/pts וכרטיסים מ /proc על מנת לזהות פעילות סופנית ומשטחים פוטנציאליים לתנועה צידית או טיפוס.
במלאי החיבורים (ATT&CK T1049), חוקר טבלאות רשת ליבה ושקעים באופן אסינכרוני, משכפל פונקציות של netstat/ss מבלי להזדקק לשיחות סינכרוניות, מה שמפחית את הנראות שלהן.
לאיסוף נתונים (ATT&CK T1005), יכול לחלץ מידע רגיש מקבצים כגון /etc/passwd ללא שימוש בכלים גלויים (cat, getent), ולהעלות הרשאות (ATT&CK T1068) הופך את החיפוש אחר קבצים בינאריים של SUID ופגיעויות הניתנות לניצול לאוטומטי.
מטענים ומצב פעולה
האופרטור מגדיר ספריית עבודה ($WORKDIR) שממנו אתה בורח מודולים ייעודיים אשר מכילות משימות נפרדות, מתעלות את כל הפעולות דרך io_uring כדי להישאר מתחת לרדאר.
"$WORKDIR"/cmdMey"$WORKDIR"/executePs: ספירה של תהליכים ומטא-נתונים של המערכת באמצעות שאילתות אל/proc."$WORKDIR"/netstatConnections: מלאי של חיבורים ושקעים מטבלאות רשת הליבה, אלטרנטיבה חמקנית anetstat."$WORKDIR"/loggedUsers: מתאם של מפגשי PTS y משתמשים פעילים דרך/dev/ptsy/proc."$WORKDIR"/fileRead: קריאה אסינכרונית של קבצים רגישים כגון/etc/passwd."$WORKDIR"/privescChecker: בדיקת SUID בינארית ותנאי קנה מידה."$WORKDIR"/selfDestruct: מחיקה אסינכרונית של החפצים שלהם כדי להקשות על כך ניתוח משפטי.
יש לציין במיוחד את מנגנון ה- שימור עצמימחיקת קבצים בינאריים ועקבות אסינכרוניים מונעת את הצורך במעקב אחר פעולות קבצים קונבנציונליות ומאמתת את ניקיון הקבצים כדי למזער את טביעת הרגל.
השלכות על ההגנה
ארכיטקטורות שמסתמכות על יירוט סיסקרול ודפוסי כלים סטנדרטיים נתקלים בפערים ניכרים: אם הפעילות זורמת דרך io_uring, חלק ניכר מהאות הצפוי אינו מגיע לטלמטריה של ה-EDR.
גישה זו מסמנת נקודת הטיה בשימוש בממשקי ליבה לגיטימיים כדי להתחמק משליטה, וצופה אימוץ נוסף על ידי גורמים בעלי תושייה בסביבות שרתים לינוקס ומעלה לענן.
אינדיקטורים של פשרה ואסטרטגיות גילוי
צוותי אבטחה צריכים לתעדף ביקורת io_uring: קורא כמו io_uring_setup או דפוסים של io_uring_prep_*() בקבצים בינאריים לא סטנדרטיים, במיוחד אם הם נמצאים בספריות משתמשים או בנתיבים זמניים.
כדאי להתריע על כך קריאות חריגות de /proc, /dev/pts o /etc/passwd מבוצע על ידי תהליכים שאינם מפעילים תוכניות שירות נפוצות (ps, who, netstat) אך מציגים תוצאות דומות.
רמזים נוספים כוללים ספירת רשת עם רעש syscall נמוך, קבצי הרצה המחיקה את עצמם ורצפים חוזרים של מודולים מאותו $WORKDIR, בקורלציה בחלונות זמן קטנים.
כאמצעי הפחתה, מומלץ לחזק את הניטור בזמן ריצת הליבה, יש לתאם התנהגויות ברמת התהליך, ובמידת האפשר, להגביל או להשבית io_uring במערכות בהן זה אינו חיוני.
הופעתו של RingReaper מאשרת כי ניצול לרעה של io_uring עבר מתיאוריה למעשה: סוכן לאחר ניצול המסוגל לזהות, לאסוף ולהסתיר באמצעות פעולות אסינכרוניות, מה שדורש סקירת נראות EDR, הרחבת יכולת התצפית של הליבה והתאמת בקרות בלינוקס כדי לסגור את הפערים שהוא מנצל כיום.