X

Ghost

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

GHOST היא בעצם פרצה מסוג "buffer overflow" ("הצפת מאגר" לפי Google translate), הרעיון ב-Buffer overflow הוא פשוט יחסית:
כל משתנה בכל שפת תכנות ממופה לאזור מסויים בזכרון בו נשמר המידע שהכנסו למשתנה, השגיאה מתרחשת כאשר תוכנה כלשהי כותבת לאותו אזור בזכרון יותר מידע מאשר הוא מסוגל להכיל ו"גולש" לאיזורים אחרים בזכרון (מה שאומר שהוא משנה נתונים בזכרון שהוא לא אמור לגעת בהם).
"Buffer overflow" יכול להתבטא בקריסה של התוכנה או (כמו במקרה זהו) – לפרצת אבטחה.

הפרצה עצמה ארעה בתוכנה בשם Glibc (בגרסאות ישנו יותר מגרסה 2.17), תוכנה זו הינה בעצם יישום של שפת התכנות C (אשר חלקנו עוד למדנו בתיכון) ולמעשה – נמצאת ביישום כמעט בכל תוכנה / פעולה במערכת ה-Linux (אשר מבוססת ברובה על שפת C).

אם לדייק, GLIBC עצמה לא נפרצה לחלוטין- חוקרי אבטחה מצאו באג בפונקציה בשם gethostbyname*() אשר נמצא בשימוש נרחב במספר רב של שירותי Linux שונים (דוגמאת Exim, php ועוד).
מכיוון שגם חבילת ה-php בשרתים משתמשת בפונקציה זו, הדבר גרם למעשה שתוקף יוכל לשלוח בקשה מסויימת לשרת (לדוגמא: pingback למערכת wordpress באמצעות אפשרות ה-xmlrpc) ובבקשה אחת לגרום לקריסה ה-php בשרת! (או בשפה הטכנית: segmentation fault).

מקורות:
https://www.trustwave.com/Resources/SpiderLabs-Blog/GHOST-gethostbyname%28%29-heap-overflow-in-glibc-%28CVE-2015-0235%29/
https://blog.sucuri.net/2015/01/critical-ghost-vulnerability-released.html

מנהל מערכת: חלק מחברת SPD Hosting החל משנת 2006. כחלק מהתפקידים שלי בחברה, אני אחראי על תוכניות ההכשרה של עובדים חדשים. חי ונושם Hosting, קוד פתוח ו-Linux (ויש גם מילה טובה ל-Windows)
Related Post