במחקר חדש של אוניברסיטת פרינסטון (דיווח בבלוג של אד פלטן) הם בדקו מערכות חלונות שונות, ובדקו את האבטחה של המערכת. במחקר הם בנו מודל של מערכת ההרשאות של המערכת, ובדקו אם יש חריגות. חריגות פירושן, למשל, שמשתמש בהרשאה מסויימת יכול קבל הרשאות גבוהות יותר.
ACL זהו כינוי למערכת הרשאות שמאפשרת שליטה מדוייקת על מי יכול לעשות מה. הבעיה איתו, למי שאין לו כוח לקרוא לא את המחקר, לא את פוסט ההפניה למחקר בבלוג של פלטן, ואפילו לא את ההתייחסות שלי לנושא בפוסט שלי בעבר, היא ש-ACL היא מערכת מסובכת מידי. הפירוט הרב שבו אפשר להגדיר את ההרשאות המדוייקות גורם לעודף אפשרויות, שבתורן גורמות לכך שרוב האנשים לא טורחים.
ייתכן שהיינו מוכנים לקבל את זה, בעיקרון. מה שהמחקר מראה הוא שאפילו יצרני התוכנות לא עושים את עבודתם מספיק טוב. התגלו תוכנות של Adobe, AOL, Macromedia ואפילו מיקרוסופט שמחלישות את האבטחה של המערכת מעצם זה שמתקינים אותן, עקב חוסר התייחסות נכונה למערכת ההרשאות.
כבר הרבה זמן שאני טוען שמערכת אבטחה צריכה להיות פשוטה בראש ובראשונה. זה רק עוד חיזוק.
שחר
נ.ב.
כמה קל להגיד “אמרתי לכם”?
מסכים איתך ב100%.
ככל שמערכת מסובכת יותר, כך יש סיכוי גדול יותר לבעיות וטעויות.
שחר, ככה אתה הולך ו"מפחיד" ידידים של אחותך הקטנה בליל יום שישי? לא יפה 🙂
זה היית אתה, או שהסיפור כבר מסתובב?
שחר
הוא מסתובב ולא רק בעיגולים אלא גם באליפסות ומרובעים ארבע-מימדיים.
סתם, זה הייתי אני. בכבודי ובעצמי.
באיזה מייל אפשר לפנות אלייך?
כל אחד מהם 🙂
שלחתי אליך מייל, אבל גם ללחוץ על השם שלי מצד שמאל למעלה בבלוג עובד.
שחר
אז איזה מערכת קיימת אתה מציע?
לרוב השימושים, זו של יוניקס הקלאסית עובדת הרבה יותר טוב.
שחר
ואי אפשר לסמלץ את המערכת של UNIX עם ACL?
כי אם אפשר (ואני משער שאפשר), אז הבעיה היא יותר הPOLICY בהגדרת ההרשאות. ואז כל שנותר הוא לנצל את ה ACL למילוי הנישות שחסר בUNIX.
כמובן שאפשר. הבעיה היא לא זו בכלל.
הבעיה היא שאין דרך פשוטה להסתכל במבט מהיר על מערכת ההרשאות ולהגיד מהם. זה אומר שאנשים לא כל כך נוגעים בהרשאות, וזה, בתורו, אומר שההרשאות נותרות לא בטוחות.
אתה יכול לכפות על עצמך הרשאות פשוטות יותר, אבל כל עוד אתה לא מקבל במבט אחד את כל המידע, לא עשית שום דבר.
שחר
למיטב הבנתי במערכת ACL ניתן להגדיר מה שנקרא ירושת הרשאות בDEFAULT וגם ההרשאות יהיו שוות או מגבילות יותר, כלומר,
נגיד כל התת סיפריות של HOME הם לקבוצת USERS ואז נגיד למשתמש FOO יש ספריה שרק לו ניתן להיכנס (מוגדרת ע"י הSYSADMIN) (לכתוב…) ואז בא הקטע של הACL בו הוא יכול בעצמו להוסיף לקובץ שלו רק את BAR1 ו BAR2 במקום רק קבוצה אחת (כמו בUNIX) שהגדירו לו.
לי זה נראה בסדר, במבט מהיר ניתן לראות בדיוק מה שUNIX רואה וגם לאפשר למשתמש להגביל אף יותר את הגישה לקבציו עם יותר גמישות למי לתת את הגישה.
זה נראה לי יותר עניין של POLICY.
כמובן שאם יש השתוללות בלי הורשה וכד’ אז כמובן אי אפשר לסמוך בגרוש על מערכת כזאת.
אני חושב שהכי פשוט לענות על זה בדוגמא. הנה הצורה שבה אתה רואה את הפרטים על קובץ ביוניקס:
השורה הנ"ל מכילה את כל המידע שצריך על הקובץ, החל בשם, גודל, בעלים, הרשאות, סוג… הכל.
מה שיותר טוב, בגלל שמדובר בשורה אחת קומפקטית, אתה מקבל את כל הפרטים האלה בכל פעם שאתה מבקש את רשימת הקבצים. ההרשאות נמצאות קרוב לעין וקרוב ללב. זה לא קשור למדיניות של מערכת, או לשאלה אם משתמש בחר ללכת לפיה או לא.
המקבילה החלונאית דורשת, במקרה הטוב, שלוש לחיצות עכבר מעבר למה שאתה עושה בצורה יום-יומית.
שחר
יש בזה משהו. הפשטות של העניין ואתה בהחלט צודק זה יותר מאובטח.
למרות זאת, כמשתמש, הרבה פעמים רציתי לאפשר לקבוצת אנשים ספציפית לצפות בקבצים בחשבוני מבלי הצורך ללכת לSYSADMIN בשביל להגדיר קבוצה חדשה (דבר מיותר).
בשורה שהצגתה, אין סתירה שאני אישית אוסיף קבוצת משתמשים שאני בוחר מקבוצת SUN לצפות בקובץ כי הקובץ הוא כבר קריא ע"י העולם. לעומת זאת, אין לי דרך לחסום את שאר המשתמשים בקבוצת SUN. כלומר, אין כאן הרעה ברמת האבטחה ואם הרשאות ACL תמיד יהיו תחת הUNIX אז אין מה לדאוג.
אז בוא נסכם:
1. השיטה היוניקסית הרבה יותר פשוטה, ובהתאם גם משאירה פחות מקום לטעויות שגורמות לחורי אבטחה.
2. יש מקרים מסויימים שבהם הרבה יותר קל להגדיר את מדיניות האבטחה הרצויה באמצעות ACL, בזכות המורכבות הנוספת שלהם.
כל טענתי היא שאותם מקרים שבהם 2 גורם ל-ACL להיות עדיפים לא מספיק נפוצים כדי לעשות אותם שווים את המחיר הדיי כבד שאתה צריך לשלם עליהם בגלל 1. המחקר שציטטתי בפוסט עצמו בא לחזק את הנקודה.
שחר
אם כך אנו מסכימים. 🙂