פירצת אבטחה קריטית בלינוקס 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

במידה והגירסא מעודכנת הסקריפט ידפיס

patched example

שוב עדיין זה לא מספיק מכיוון שישנם תהליכים רבים שמשתמשים ב glibc שצריך לעשות להם ריסטרט או לעשות ריסטרט לשרת. ניתן לבדוק אילו תהליכים משתמשים בתוכנה זו באמצעות הפקודה הבאה:

lsof | grep libc | awk '{print $1}' | sort | uniq

דוגמא לפלט של הפקודה:

דוגמא לסרביסים שמשתמשים ב glibc

דוגמא לסרביסים שמשתמשים ב glibc

לא מעט כפי שניתן לראות, בקיצור לעשות ריבוט.

מה עושים?

התשובה הקצרה, מעדכנים את 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

נשמח לענות לשאלות

Comments

comments