31-12-2004, 09:53
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
אבל מה חדש כאן? הכל התחיל מנסיונו של פותח האשכול לעשות מה שאמרתי שצריך לעשות
נכון לעכשיו, שרתיה של מיקרוסופט אינם יכולים לרוץ כלא-פריוולגיים, והאפשרות להריץ שירות על משתמש אחר הייתה קיימת מאז המצאת ה NT, אני חושב, אבל היא לא עוזרת לנו כשהשרת עדיין חייב הרשאות מלאות כדי לבצע כל דבר - וזו נקודת חוסר האבטחה המוחלטת שעליה דיברתי.
למה מיקרוסופט עשו את זה ככה? אני לא יודע. הרבה מתפיסות הרשת (כולל חלק ניכר מקוד ה TCP/IP ממה שאני יודע), "הושאל" אחר כבוד מ UNIX/BSD - וזו כנראה הסיבה שהדבר היחיד שעובד יציב יחסית בחלונות NT ומעלה - זו הרשת - אך לא בתפיסת האבטחה. הרי כבר ש NT נכתבה היה ידוע על פריצות למחשבים ואיך הן נעשו, אז זה לא ברור למה המערכת לא תוכננה נגד זה (אני מוכן לקבל את הטענה ש NT נרכשה מחברה מסויימת שראשי התיבות שלה הם "NT", אבל זה לא מסביר למה זה לא תוקן ב 2000, או ב XP, או ב 2003). בדקתי הרגע, והמדריך לפקודה setuid() ב C הנובעת מ UNIX שנמצא על הלינוקס שלי הוא מ 29/07/1994, מה שאומר שאז היה העדכון האחרון למדריך הזה, מה שמראה כמה שאר העולם היה מודע לבעייה הזו (ב UNIX יש רק משתמש פריווילגי אחד, זה עם מזהה 0, שנקרא גם "root", מה שאומר שכל שימוש ב setuid נועד למטרה אחת - מעבר למשתמש לא פריווילגי).
אם למישהו כאן יש קשרים עם אנשי פיתוח של מיקרוסופט, אני בהחלט אשמח לשמוע את הטענות שלהם לסיבה שבגללה נכתבו התוכנות כפי שנכתבו, כי באמת לא קראתי טקסטים מבדרים לאחרונה
|