למה להתקין פלדלת בבית שהקירות שלו עשויים נייר

6 בינואר 2007

תגובה אחת

המשפט הזה אינו מקורי שלי, רפאל לקוביצקי השתמש בו בהרצאה על נושא אבטחה שהוא נתן בזמנו בטק-אד באילת. והסיבה שנזכרתי בו היא שאחד הנושאים שעלו בהרצאה שלי על "תכנית הלוגו (שם דפוק)" שהעברתי בקבוצת המשתמשים של VB, משך כמו תמיד הרבה אש ותגובות סוערות. אני מדבר כמובן על הדרישה המופיעה במפרט התכנה של חלונות, הדרישה שהתכנה שאתה כותב, לא תדרוש הרשאות מנהל על מנת לתפקד (פרט כמובן לזמן ההתקנה). הדרישה הזו היא המימוש הבסיסי ביותר של עקרון ההרשאות הנדרשות הקטנות ביותר(בלע"ז Least Privilege). הדיון גלש מיד לשאלה האם המשתמש הארגוני בארגון שלכם רץ תחת סמכויות מנהל או כמשתמש רגיל, מיד עברנו לשאלה האם אתה רץ בבית כמשתמש מנהל או כמשתמש רגיל וכמובן הגענו לשאלת השאלות האם מפתח צריך הרשאות מנהל על מנת לפתח בכלל ועל מנת לעבוד עם Visual Studio בפרט.


למנהל המערכת יש כמה סמכויות שאין למשתמש רגיל, אחת מהם היא שהוא הגורם במחשב, שמגדיר מה זה תכנה בטוחה ומה זה תכנה לא בטוחה. כמה דוגמאות: לא ניתן להכניס Device Driver למחשב ללא אישור של המנהל, לא ניתן לאפשר לתכנה להגיע לאזורים המסוכנים בדיסק כמו תיקית ה Windows, תיקית Program Files ואזורים מסוכנים במחשב כמו השורש של הכונן, ששם נמצאים קבצי הטעינה של מערכת ההפעלה, מבלי הרשאת המנהל. כמו כן מוגנים באותה צורה האזורים ב Registry שמערכת ההפעלה משתמשת בהם. 


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


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


התרחיש הבסיסי ביותר (ויש עוד המון תרחישים, כולל איך לתקוף רשת שמנותקת לחלוטין מהאינטרנט) הוא שאתה גולש לאתר תקני וחוקי, שמישהו שם בו לצורך העניין פרסומת, שמפנה אותך לאתר של הפורץ. הפורץ הנ"ל מוודא שאתה רץ תחת סמכויות מנהל, מבקש ממערכת ההפעלה בנימוס שלא תטריד אותך בקטנות כמו דיווח על התקנת Device Driver לא חתום ובכלל שלא לבקש אישור על התקנות. ולפני שאתה מספיק להגיד רות סוף יש לך RootKit מותקן במחשב שלך. בשלב הבא הפורץ יוריד לך תולעת חכמה שמתקשרת אל האתר שלו כאילו היא אקספלורר (דרך Port 80 כמובן) ומבקשת הנחיות. התולעת מקבלת תכנית עבודה ומתחילה לסרוק את הארגון שלך לחפש חורים. התולעת הנ"ל תעשה את זה בשלב ראשון כמנהל מערכת לוקאלי על המחשב שלך ובהמשך היא כבר תמצא את החור המתאים בארגון על מנת לקבל הרשאות על ב Domain. והבעיה העיקרית היא שהיא תוקפת מבפנים, מתוך חומת האש ולא מבחוץ ולכן יש לה סיכוי הרבה יותר גבוה למצוא פרצה בהגנה הפנים ארגונית.


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


אתה לא צריך סמכויות מנהל על מנת לגלוש באינטרנט ולא על מנת לקבל דואר אלקטרוני ולא כדי לפתח תכנה ולא כדי לעשות 99% ממה שאתה עושה כל יום במחשב. מה שאומר שברירת המחדל שלך צריכה להיות משתמש רגיל גם את אתה מנהל IT (ובעיקר אם אתה מנהל IT). לקטעים שאתה באמת צריך הרשאות מנהל, יש את Run As. ואם אתה לא עובד כך, אל תתפלא למצוא שכבר שנים מישהו מחטט לך בארגון באזורים הרגישים ביותר. ואני לא מדבר על תוכנות שמקצועיותן מוטלת בספק, כמו הסוס הטרויאני המפורסם כל כך, שאפילו לא טרח להסתיר את עצמו (למה להסתיר אם אף אחד לא בודק מה רץ אצלו).


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


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


למי שסקרן לדעת (ולפחות אחד בקבוצה היה סקרן והקבוצה כולה עדה), אני עובד כבר שנים על מחשב העבודה הראשי שלי, כמשתמש רגיל, כולל פיתוח ב VS וכולל Production Time Debugging.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

תגובה אחת

  1. alikl6 בינואר 2007 ב 23:19

    גדי!!
    תודה על הפוסט הנהדר!!
    עוד בבקשה עוד!
    שוב תודה
    אליק

    הגב