פירצת אבטחה קריטית בלינוקס Ghost CVE-2015-0235
השבוע פורסמה פירצת אבטחה קריטית במערכות הפעלה מבוססות לינוקס המאפשרת השתלטות ברחוק על המערכת הפעלה מבלי שיהיה לו גישה מוקדמת כלשהי!
מה הפגיעות?
חוקרי האבטחה של חברת Qualys גילו בשהפונקציה __nss_hostname_digits_dots שב glibc פגיעה ל Buffer Overflow. ניתן לנצל את הבאג גם מקומית על השרת וגם מרחוק על ידי שימוש בפונקציות gethostbyname*. הסבר טכני של הפגיעות ניתן לקרוא ב advisory שפורסם על ידי Qualys.
איזה גירסאות ומערכות הפעלה פגיעות?
הפגיעות נמצאת ב glibc-2.2 שיצאה בנובמבר 2000. הפגיעות תוקנה (במקרה) במאי 2013 אך לא זוהתה באותו זמן כבעיית אבטחה. לכן הפצות מערכות ההפעלה המוכרות לא הטמיעו את העידכון בגירסאות ששוחררו מאז ולכן עדיין Centos 5 & 6 & 7, Ubuntu 12.04, Debian 7 פגיעות לפירצה הזו.
האם אני פגיע?
ייתכן שכן, מכיוון שגם במידה ומערכת ההפעלה מוגדרת לבצע עידכונים באופן אוטומטי הרבה תהליכים פתוחים משתמשים ב glibc ומכיוון שהם לא הופעלו מחדש גם לאחר העידכון הם ישתמשו בגירסא הישנה מכיוון שזו הגירסא שנטענה לזיכרון בזמן שהתהליך התחיל לרוץ.
חשוב לעשות את הבדיקות הבאות.
בדיקה אם הגירסא המותקנת במערכת הפעלה פגיעה להתקפה. ניתן להוריד סקריפט (ל Centos) אותו מריצים על השרת שבודק את הגירסא של ה glibc המותקן על השרת ומתריע אם הגירסא פגיעה או לא.
wget -O GHOST-test.sh https://www.cyberciti.biz/files/scripts/GHOST-test.sh.txt bash GHOST-test.sh
במידה והגירסא מעודכנת הסקריפט ידפיס
שוב עדיין זה לא מספיק מכיוון שישנם תהליכים רבים שמשתמשים ב glibc שצריך לעשות להם ריסטרט או לעשות ריסטרט לשרת. ניתן לבדוק אילו תהליכים משתמשים בתוכנה זו באמצעות הפקודה הבאה:
lsof | grep libc | awk '{print $1}' | sort | uniq
דוגמא לפלט של הפקודה:
לא מעט כפי שניתן לראות, בקיצור לעשות ריבוט.
מה עושים?
התשובה הקצרה, מעדכנים את glibc ומפעילים מחדש את המחשב.
מערכות הפעלה מבוססות Centos / RedHat
התיקון נכנס מגירסא glibc-2.12-1.149.el6
יש להריץ את הפקודה הבאה על מנת לבצע עידכון
yum clean all && yum update "glibc*"
לאחר מכן יש לבצע ריבוט למערכת הפעלה
reboot
מערכות הפעלה מבוססות Debian Ubuntu
ניתן לבצע עידכון לכל התוכנות המותקנות על ידי ביצוע הפקודות הבאות
sudo apt-get clean sudo apt-get update sudo apt-get upgrade
לאחר מכן יש לבצע איתחול למערכת הפעלה על ידי הפקודה הבאה
sudo reboot
נשמח לענות לשאלות

