לפני מספר חודשים היינו עדים לאחת מחולשות האבטחה הגדולות והמשמעותיות ביותר בשנים האחרונות, ה-Log4J. ושוב, ב-29 במרץ 2022, התגלתה חולשה שעלולה להשפיע על רוב יישומי Java הארגוניים, בכל רחבי העולם. מחקר סביב הנושא הראה שהסיבה העיקרית הייתה פגיעות ב-Framework קוד-פתוח בעלת שימוש נרחב שנקראת Spring Core. גם הפעם, מדובר ב-ניצול של חולשה מסוג Software Dependency. החולשה אומנם התגלתה לאחרונה אבל מסתבר שהיא קיימת כבר משנת 2017.
מאת: טל מלמד, דירקטור בכיר למחקר בקונטרסט סקיוריטי
מהי "Spring-Core"?
Spring Framework היא הבסיס לרוב היישומים הארגוניים שנכתבו בשפת התכנות Java. הנתונים האחרונים שלנו הראו ש-Spring Core נמצא בשימוש על ידי כמעט שלושה מכל 4 יישומי Java. באופן ספציפי, Spring מספקת את ה"צנרת" של יישומים ארגוניים כך שהמפתחים יכולים להתמקד בפיתוח הלוגיקה העסקית ברמת האפליקציה ולא בהקמת ופריסה לסביבות השונות.
האם ניתן לראות הדגמה של החולשה הזו?
פחות מיממה לאחר פרסום החולשה, צוות המחקר של קונטרסט סקיוריטי (Contrast Security) המספקת פתרונות לאבטחת יישומים בענן בתהליכי פיתוח, הצליח לחקור את החולשה ולהדגים את פעולתה. לאור המחקר וההדגמה הזו נראה כי החולשה הזו, Spring4Shell, עשויה להיות המקור להרצת קוד מרוחק (RCE).
בנוסף, צוות ה- Cloud Native של קונטרסט סקיוריטי אשר מכיל חוקרים ומפתחים בארץ ובאיטליה, הצליח להוכיח את הפגיעות הזו אף בסביבות ענן, וספציפית ב- AWS Lambdsa Function. הפגיעות הזו מאפשרת לתוקפים לנצל את החולשה להשתלטות מרוחקת על הלמבדה וממנה לכלל המערכת. בהמשך, פיתח הצוות יכולת זיהוי וגילוי של החולשה הזו שתוטמע בימים הקרובים במוצר ה- Serverless Security של קונטרסט ויאפשר למפתחים לזהות את החולשה כבר בסביבת הפיתוח.
האם כל ארגון שמשתמש ב- Spring Framework פגיע?
ישנן מספר "דרישות מקדימות" כדי שאפליקציה תהיה פגיעה:
● אתם משתמשים באפליקציית Spring (עד וכולל גרסה 5.3.17)
● האפליקציה שלך פועלת על Java 9+
● אינכם משתמשים בהמרת ההודעות הפופולרית יותר של JSON/XML של Spring
● אינכם משתמשים ברשימת היתרים -OR- אין לך רשימת מניעה שחוסמת שדות כמו "class", "module", "classLoader"
כיצד ניתן להתגונן מפני החולשה הזו?
1. שדרגו את Spring Framework ל-5.3.18 או 5.2.20 אשר מפחית את הפגיעות.
2. אם אינכם יכולים לשדרג, עבור כל מי שמשתמש בליבת Spring ומחייב לסוגים לא בסיסיים כגון POJOs, הגדר.י את השדות המותרים כדי לציין את הקבצים היחידים שבהם אתה רוצה שהאפליקציה שלך תשתמש.
3. עבור לקוחות קונטרסט סקיוריטי, הפלטפורמה של קונטרסט וספציפית מוצר Protect הוכח כיעיל בעצירת התקפות של החולשה המוכרת לנו כרגע. עם זאת, כמו בכל התקפה משמעותית, האקרים מקצועיים יפתחו גרסאות חדשות ושונות של ניצול החולשה ובהתאם גם אנחנו נמשיך לחזק את הבקרות וההגנות שלנו.
למידע עדכני ושוטף מומלץ לעקוב אחר הבלוג.
כדי ללמוד עוד על קונטרסט סקיוריטי לחצו כאן.
אודות Security Contrast:
חברת קונטרסט סקיוריטי (Security Contrast) מספקת את פלטפורמת אבטחת היישומים החדשנית והמקיפה ביותר בתעשייה כיום, תוך הסרה של מחסומי אבטחה והעצמת היכולת של ארגונים לכתוב ולשחרר קוד מאובטח מהר יותר.
באמצעות שימוש בקוד מוטמע (Code instrumentation) , הפלטפורמה של קונטרסט מזהה אוטומטית חולשות ונקודות תורפה כבר בשלבי כתיבת הקוד, מבטלת התראות שווא ומספקת הנחיה מוכוונת-הקשר לתיקון קל ומהיר של הפגיעויות שנמצאו. פעולה זו מאפשרת לצוותי היישום והפיתוח לשתף פעולה ביעילות רבה יותר, תוך האצת פעילויות של טרנספורמציה דיגיטלית. זו הסיבה לכך שיותר ויותר ארגונים מובילים מהמגזר הפרטי והציבורי הגדולים ביותר בעולם סומכים על קונטרסט בנוגע להרחבת ההגנה בייצור ולאבטחת היישומים שלהם שנמצאים בתהליכי הפיתוח. קונטרסט סקיוריטי רכשה בסוף שנת 2020 את חברת Cloudessence אשר פיתחה פתרון בדיקות אבטחה בסביבת ענן ובעקבות רכישה זו החל לפעול בישראל מרכז פיתוח. החברה פועלת בימים אלו להקים גם פעילות מכירות בישראל.