האם גרסת ה-Linux kernel שאתם משתמשים בה עמידה בפני 10 הפרצות האלה?

מערכת הקוד הפתוח הפופולרית נהנית מקהילה עצומה ומעורבת, אך סובלת בשל כך גם מלא מעט חולשות – למה הן עלולות לגרום ואיך מתקנים אותן?

צילום / תמונה: Pixabay

מאת גבריאל אבנר

Linux Kernel היא ללא ספק אחת מעמודי התווך של מערכות הקוד הפתוח ובין המשפיעות שבהן. המערכת, שפותחה בשנות ה-90 על ידי לינוס טורבאלדס שעל שמו היא קרויה, זמינה לשימוש בפרויקטי קוד פתוח תחת רישיונות GNU ו-GPL.

עם למעלה מ-823 אלף תורמים (commits) ו-25,215 פיצולים (forks) הרשומים בעמוד ה-GitHub שלה, Linux kernel מתפארת בקהילה פעילה ומעורבת של למעלה מ-12,000 מפתחים, ביניהם כישרונות מענקי טכנולוגיה כמו מיקרוסופט, גוגל, אינטל ורד האט.

משתמשים? העדכון עליכם

בהינתן קהילה חזקה ומגוונת שכזו, ניתן לצפות למגוון רחב של חולשות ב-Linux kernel שעלולות לעלות במסגרת סקירות הקוד ואפילו במהלכי הדגימה והקידום של פרוייקט פופולרי זה. ואכן, במהלך השנים, נמצאו מספר רב של vulnerabilties ב-Linux kernel.

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

שלא כמו Windows ו-MacOS שדוחפות עדכוני תוכנה למשתמשים באופן אוטומטי, ב-Linux kernel על המפתחים לחפש עדכונים בעצמם. המשמעות היא שעל המפתחים לדעת באילו רכיבי קוד פתוח הם משתמשים במוצריהם ולעקוב אחר נקודות התורפה עם חשיפתן.

אם אתם משתמשים של Linux kernel אבל מסיבה כלשהי לא עוקבים אחרי הפרויקט ומחפשים גרסאות חדשות עם תיקונים לנקודות תורפה, גיבשנו עבורכם רשימת vulnerabilities אשר משפיעות על קהל המשתמשים הגדול ביותר. החולשות דורגו כ-10 לפי CVSS v2. אנו משתמשים ב-CVSS v2 משום שרוב ה-CVE המוזכרים כאן מתוארכים מלפני ההשקה של CVSS v3.

CVE-2017-18017
Linux Kernel netfilter:xt_TCPMSS

CVSS v2: 10 High

גרסאות מושפעות: לפני 4.11 ו-4.9x לפני 4.9.36

נקודת התורפה הייחודית הזאת הגיעה לראש הרשימה שלנו ל-Linux Kernel CVEs לשנת 2018, למרות שמופיע 2017 ב-ID שלה. זאת משום שהיא דווחה לראשונה וקיבלה את ה-ID בשנת 2017, לפני שהיא התפרסמה במאגר נקודות התורפה הלאומי בינואר 2018.

לפני התיאור, פונקציית ה-tcpmss_mangle_packet ב-net/netfilter/xt_TCPMSS.c עלולה לאפשר להאקרים לבצע מרחוק מתקפה של מניעת שירות והשחתת זיכרון. דיווחים מראים שתוקפים יכולים למנף את נוכחות xt_TCPMSS בפעולת iptables כדי לבצע מגוון לא מוגדר של פעילויות אחרות המשפיעות על התוכנה שלכם.

נקודת תורפה זו של Linux kernel היא בעייתית במיוחד, בהתחשב בתפקיד החשוב שהיא משחקת בסינון תקשורת ברשת על ידי הגדרת גודל המקטע המקסימלי המותר לקבלת כותרות TCP. ללא פקדים חשובים אלה, המשתמשים מסתכנים בבעיות הצפה.

עניין נפוץ שאנו רואים בכל נקודות התורפה של Linux kernel ברשימה זו, הוא היכולת לבצע את ההתקפות מרחוק, ללא כל פעילות מצד היעד. התקפות אלה הן בבחינת איום גדול יותר מאשר התקפות המחייבות את ההאקרים לעבוד באופן מקומי.

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

CVE-2015-8812
drivers/infiniband/hw/cxgb3/iwch_cm.c

CVSS v2: 10 High

גרסאות מושפעות: לפני גרסה 4.5

פגם חמור נמצא ב-drivers/infiniband/hw/cxgb3/iwch_sm.c של Linux kernel, שלא מזהה כראוי את תנאי השגיאה. נקודת תורפה זו מאפשרת לתוקפים מרחוק להריץ קוד שרירותי או לגרום למניעת שירות (use-after-free) באמצעות מנות מעוצבות (crafted packets).

מידע על התיקון ל-CVE זה ניתן למצוא כאן.

CVE-2016-10229
udp.c

CVSS v2: 10 High

גרסאות מושפעות: לפני גרסה 4.5

נקודת התורפה הזו של Linux שבה udp.c מאפשרת לתוקפים מרחוק להריץ קוד שרירותי באמצעות תעבורת UDP שמפעילה בדיקה שנייה לא מאובטחת (unsafe second checksum) במהלך הרצת קריאת מערכת recv עם דגל MSG_PEEK.

קראו כאן על התיקון.

CVE-2014-2523
net/netfilter/nf_conntrack_proto_dccp.c

CVSS v2: 10 High

גרסאות מושפעות: דרך 3.13.6

נקודת תורפה חמורה נוספת ל-netfilter ב-Linux kernel שהרימה את ראשה, הפעם בשימוש לא נכון של ה-DCCP header pointer. פגם זה מאפשר לתוקפים מרחוק לגרום לשלילת שירות (התרסקות מערכת) או להריץ קוד שרירותי דרך חבילת DCCP שמעוררת קריאה של פונקציות dccp_new, dccp_packet או dccp_error.

קראו כאן על התיקון.

CVE-2016-10150
virt/kvm/kvm_main.c

CVSS v2: 10 High

גרסאות מושפעות: לפני 4.8.13

נקודת תורפה מסוג use-after-free זו ב-Linux kernel הנמצאת בפונקציית virt/kvm/kvm_main.c’s kvm_ioctl_dreate_device, מאפשרת למשתמשי מערכת ההפעלה לגרום למתקפת שלילת שירותים.

פרטים על התיקון אפשר למצוא כאן.

CVE-2010-2521
fs/nfsd/nfs4xdr.c

CVSS v2: 10 High

גרסאות מושפעות: לפני 2.6.34-rc6

הצפות מרובות של ה-buffer ב-fs/nfsd/nfs4xdr.c בהטמעת ה-XDR בשרת NFS ב-Linux kernel, מאפשרות לתוקפים מרחוק לגרום לשלילה של שירותים. קיימת גם האפשרות שתוקפים יריצו קוד שרירותי דרך crafted NFSv4 – בקשת WRITE מורכבת (compound WRITE request), הקשורה לפונקציות של read_buf ו-nfsd4_decode_compund.

בהערות שלהם, החוקרים ציינו, ״כש-read_buf נקרא לעבור לעמוד הבא ברשימת העמודים (pagelist) של בקשת NFSv4, הוא מגדיר argp->end למספר אקראי, בהחלט לא כתובת בתוך העמוד ש-argp->p מכוון אליו עכשיו”.

הם מצאו את זה מעניין משום שהם אמרו שקריאות עוקבות ל-READ_BUF ייחשבו כשיש הרבה יותר מאשר עמוד של שטח פנוי, אז אפשר לצפות לנפילה בסוף העמוד השני. הם מציינים כי הם מעולם לא נתקלו במצב זה בבדיקות כי “בדרך כלל הפעולות היחידות המשתמשות ביותר משני עמודים הן פעולות כמו כתיבה, שיש להן לוגיקת פענוח משלהן”.

צפו בפרטי התיקון ובשאר הניתוח שלהם כאן.

CVE-2017-13715
net/core.flow_dissector.c

CVSS v2: 10 High

גרסאות מושפעות: לפני 4.3

פונקציית ה-_skb_flow_dissect ב-net/core.flow_dissector.c לא מבטיחה n_proto, ip_proto ו-thoff מאותחלים. הדבר יכול לאפשר לתוקפים לגרום לשלילת שירותים ואף להריץ קוד שרירותי דרך single crafted MPLS packet.

כנסו לתיקון הקטן והיעיל כאן.

CVE-2016-7117
CVSS v2: 10 High

גרסאות מושפעות: לפני 4.5.2

net/socket.c

כאן אנחנו מוצאים את עצמנו עם עוד נקודת תורפה מסוג use-after-free בפונקציית ה-_sys_recvnnsg ב-net/socket.c שפותחת את הדלת לתוקפים מרחוק, ומאפשרת להם להריץ קוד שרירותי דרך וקטורים שכוללים קריאת מערכת recvmmsg שכושלת במהלך עיבוד הקריאה.

קראו על הממצאים והתיקון כאן.

CVE-2009-0065
net/sctp/sm_statefuns.c

CVSS v2: 10 High

גרסאות מושפעות: לפני 2.6.28-git8

זהו ה-CVE הישן ביותר של Linux kernel אשר נכנס לרשימה שלנו. הצפת ה-buffer ב-net/sctp/sm_statefuns.c בהטמעת פרוטוקול Stream Control Transmission (מוכר גם כ-sctp), עלולה לאפשר לתוקפים מבחוץ השפעה בלתי מוגדרת דרך נתח FWD-TSN עם Stream ID גדול.

בעיקרון, זהו כשל בביצוע בדיקת תקפות אשר עלול לגרום להצפת זיכרון.

קראו מה צריך לעשות כדי להטמיע את התיקון כאן.

CVE-2015-8787
net/netfilter/nf_nat_redirect.c

CVSS v2: 10 High

גרסאות מושפעות: לפני 4.4

אי אפשר לסיים את הרשימה הזאת ללא נקודת תורפה אחרונה של netfilter. ככל הנראה, פונקציית nf_nat_redirect_ipv4 ב-net/netfilter/nf_nat_redirect.c עלולה לאפשר לתוקפים מרחוק שלילת שירותים או סוג אחר של השפעה לא ידועה, על ידי שליחת IPv4 packets מסוימים לממשק שאינו מוגדר לחלוטין.

מצאו את התיקון כאן.

אז, הישארו מעודכנים כדי לוודא שאתם נמנעים מנקודות תורפה כאלה ואחרות, והקפידו להשתמש בגרסה העדכנית ביותר ובמוצרים מאובטחים.

הכתבה בחסות WhiteSource

WhiteSource מציעה לצוותי פיתוח ואבטחה כלי אוטומטי לניהול יעיל של רכיבי הקוד הפתוח שלהם. המוצר של WhiteSource משתלב בקלות עם כלי הפיתוח של הארגון, כדי לטפל ברכיבים פגיעים או כאלה העלולים להפר רישיונות שימוש, מבלי להפריע או להאט את תהליכי הפיתוח של הארגון.
מאז הקמתה ב-2011, הצליחה WhiteSource לבסס עצמה כמובילה בתחום ניהול רכיבי קוד פתוח, עם למעלה מ-700 לקוחות מחברות ענק כמו Microsoft, GE, ו-Comcast, וסטארט-אפים, הודות ליכולת הייחודית שלה להציע פתרון שעונה על הצרכים העסקיים של הארגון עם טכנולוגיה שמשתלבת בקלות עם תהליכי הפיתוח השוטפים של צוותי התוכנה. למשרות הפתוחות שלנו, לחצו כאן.

Avatar

כתב אורח

אנחנו מארחים מפעם לפעם כותבים טכנולוגים אורחים, המפרסמים כתבות בתחומי התמחות שלהם. במידה ואתם מעוניינים לפרסם פוסט בשמכם, פנו אלינו באמצעות טופס יצירת קשר באתר.

הגב

7 תגובות על "האם גרסת ה-Linux kernel שאתם משתמשים בה עמידה בפני 10 הפרצות האלה?"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

* היי, אנחנו אוהבים תגובות!
תיקונים, תגובות קוטלות וכמובן תגובות מפרגנות - בכיף.
חופש הביטוי הוא ערך עליון, אבל לא נוכל להשלים עם תגובות שכוללות הסתה, הוצאת דיבה, תגובות שכוללות מידע המפר את תנאי השימוש של Geektime, תגובות שחורגות מהטעם הטוב ותגובות שהן בניגוד לדין. תגובות כאלו יימחקו מייד.

סידור לפי:   חדש | ישן | הכי מדורגים
אני
Guest

כתבת “אם אתם משתמשים של לינוקס קרנל”,
יש אפשרות לעבוד על לינוקס בלי להיות משתמש של לינוקס קרנל ?
זו ליבת המערכת, אף פעם לא נתקלתי בלינוקס שאין לו קרנל.

בנוסף ברוב ההפצות עדכוני הקרנל מתבצעים אוטומטית כברירת מחדל
yum zypper apt

האקר
Guest

תשתה חלב ועוגיות

בננה
Guest

יש ארגונים שלא עוברים לכל קרנל חדש שיוצא אלא רק שעושים עדכון גרסה או שבודקים את הקרנל לפני.
במחשבים הרגילים ולא שרתים או תחנות עבודה רוב המערכות למעט ARCH מעדכנות את הקרנל לגרסת LTS באופן אוטומטי.

האקר
Guest

בארגונים גדולים,
אלה תהליכים מסודרים עם מבחני קבלה לגרסאות חדשות, לא אוטומטי.
אולי בארץ רצים לעדכן גרסאות ככה חופשי

משתמש אובונטו
Guest

האקר שמאקר, לך תישן על האף. “מבחני קבלה” לקרנל? פשש… כי בטח איזה איש IT מצ’קמק יודע בכלל לקמפל קרנל ועל הדרך לבחון את הקוד ולכתוב גם טסטים. עשה לי טובה…

קהילת האופן סורס ומפתחי לינוקס הם פי מליון יותר מקצועיים מכל אנשי הIT והפיתוח בארגונים הגדולים. אז כולם מסתמכים עליהם ומקווים לטוב.

זוהר
Guest

כתבה חשובה, תודה.

שוויצר
Guest

מי שבarch linux תמיד בגרסה הכי הכי עדכנית של קרנל (ושל כל שאר החבילות)
מומלץ לאמיצים

wpDiscuz

תגיות לכתבה: