Microsoft PowerShell והגבולות החדשים של תוכנות זדוניות

(של דייוויד מאיורקה)
16/06/21

רוב משתמשי Microsoft Windows (בפרט מנהלי מערכות) ישמעו לפחות פעם אחת על Windows PowerShell, מתורגמן לפקודה ("מעטפת" מוגדרת יותר נכון, דומה מאוד למתורגמנים כמו Bash בלינוקס) דרכו ניתן "להניע" פונקציות שונות של מערכת ההפעלה. תכונות אלה כוללות, למשל, אפשרות להעתיק ולהעביר קבצים, להוריד יישומים מרחוק, אך גם לבדוק את רשימת השירותים הפועלים כעת. הפקודות PowerShell הם נקראים גם cmdlets, ומייצגים שילוב של פונקציות הכלולות בדרך כלל בפקודה אחת. לדוגמה, ה- cmdlet המר ל-XML יוצר ייצוג XML של אובייקט.

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

PowerShell זה משמש לעתים קרובות בעקיפין באמצעות וקטורי זיהום, המיוצגים לעתים קרובות על ידי קבצי Word ו- Excel. למעשה, קבצים אלה מכילים פקודות מאקרו, או פרוצדורות אוטומטיות שבדרך כלל אמורות להקל על כתיבת מסמכים או גיליונות אלקטרוניים (למשל, מילוי אוטומטי של תאים מסוימים או ביצוע חישובים מסוימים במספר תאים). גם במקרה זה, מקרו אלה משמשים לעיתים קרובות בהקשרים "שפירים" לחלוטין, אך הם יכולים ליישם פונקציות ליצירת קודים. PowerShell. בנוסף ל, PowerShell ניתן להשתמש בו ישירות גם על ידי יצירת מעטפת הפוכה שיכולה לאפשר לתוקף להשתמש בפונקציונליות המלאה שלה.

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

כדי להתמודד וניתוח תוכנות זדוניות PowerShell מחקר מדעי מעונן, עשה בשנים האחרונות צעדים גדולים. בפרט, שני מחקרים מאוניברסיטת קליארי [1,2] פיתחו טכניקות יעילות כדי להצליח לטשטש את ההתקפות הללו. בפרט, כלי קוד פתוח הנקרא PowerDecode, המסוגל להשיג את הקוד PowerShell מקורי מגרסתו המטושטשת. ניתן להוריד את PowerDecode באופן חופשי [3].

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

ריפרימינטי

[1] Fr Ugarte, D. Majorca, F. Cara and G. Giacinto. PowerDrive: דה-ערפול מדויק וניתוח של תוכנות זדוניות של PowerShell, ועידה 16 לגילוי חדירות והערכת תוכנות זדוניות ופגיעות (DIMVA). ספרינגר, גטבורג, שבדיה, עמ ' 240-259, 2019.

[2] GM Malandrone, G. Virdis, G. Giacinto ו- D. Maiorca. PowerDecode: מפענח סקריפט של PowerShell המוקדש לניתוח תוכנות זדוניות. בכנס האיטלקי החמישי בנושא אבטחת סייבר (ITASEC), 5.

[3] PowerDecode. https://github.com/Malandrone/PowerDecode