לעתים קרובות נשאלת השאלה האם תוכנות קוד פתוח הן בעלות מאפייני אבטחה טובים יותר או טובים פחות מתוכנות קנייניות בעלות קוד סגור.
דורון אופק נוהג לספר את משל הכספת בהקשר זה (*). שני ספקים מציעים למכירה כספות. האחד לא משחרר את מפרט הכספת וטוען שהיא הכי מאובטחת בעולם למרות הצלחות חוזרות ונשנות של גורמים עויינים לפרוץ לתוכה. היצרן השני משחרר את מפרט הכספת וקורא לכל מי שירצה בכך לעיין במפרט ולנסות לפרוץ לכספת, אך לא רבים מצליחים בכך. ממי הייתם מעדיפים לקנות?
אבל מתברר שלא רק הקוד הפתוח עצמו תורם לאבטחה, ויש מאפיינים נוספים המשפרים את מאפייני האבטחה של תוכנות הקוד הפתוח שאנו משתמשים בהן כיום:
תשומת לב מפתחי קוד פתוח מקפידים הרבה יותר על נושאי אבטחה, ביודעם שהקוד יהיה נגיש לכל. זה תורם לא רק לרמת האבטחה, אלא גם לאיכות התוכנה בכלל (ויש לציין בהקשר זה את
המאמר של ג'ון דבורק). אין הדבר אומר שתוכנת קוד סגור היא בהכרח נחותה יותר, אבל טבע האדם הוא עצלן מיסודו ואותו מפתח קוד סגור עלול להשקיע פחות באיכות הקוד מעמיתו המפתח קוד שיהיה גלוי לכל. יותר מכך, חשיפת קוד מקור כמו שארע לאחרונה למיקרוסופט עלול לחשוף פרצות שהיו קיימות בקוד ושלא קיבלו תשומת לב מתוך אמונה שהקוד יהיה חסוי לנצח. עוד היבט של קוד פתוח, הוא אמון המשתמש, שיכול להיות בטוח שלא הושתלו בקוד תוכניות ריגול, דלתות אחוריות וסוסים טרויאניים למיניהם.
מודולריות מערכות קוד פתוח המבוססות על עקרונות יוניקס הן הרבה יותר מודולריות מחלונות. מערכות כאלו מכילות פחות תלויות בין מרכיביהן והממשקים פשוטים ומובנים למפעיל. רבות מבעיות ההגנה הקשות ביותר שהתגלו בחלונות ושאפשרו גרימת נזקים נבעו מהקשר ההדוק והאינטימי בין המרכיבים השונים של חלונות. המודולריות של מערכות הקוד הפתוח מאפשרת לתקן בעיות במרכיב אחד מבלי לשנות מרכיב אחר ומונעת ממרכיב אחד פגום להקרין על מרכיבים אחרים.
שרותים אחד מעקרונות האבטחה הוא לא לאפשר לשרותים מיותרים לפעול. עקרון זה שיישומו במערכות קוד פתוח הוא פשוט למדי, מהווה אתגר כמעט בלתי ניתן לפיצוח בחלונות, ולראיה התולעים שניצלו פרצות במנגנון ה RPC כדי להשתלט על מערכות חלונות. שרות זה, שאינו ניתן לניטרול ושחלונות מתבססת עליו, פעיל גם אם אין בו שום צורך ליישומים מסויימים של המחשב. קיימים מעל 15 שרותים של חלונות שבלתי ניתנים לנטרול, ושמהווים פרצה קוראת לגנב.
הפרדה חלונות XP המיועדת לשימוש ביתי, מאפשרת למשתמש להפעילה בתור Administrator. רבות מההתקנות הלא-מקצועיות לא שמות דגש על בידוד המשתמשים, ובכך פותחים פרצת אבטחה משמעותית במערכת המיועדת לפעול באופן של ריבוי-משתמשים. יותר מכך, קוד בעל פוטנציאל הרסני כמו ActiveX יכול לקבל שליטה מלאה על המערכת כשהיא מופעלת מחשבון משתמש בעל הרשאות מנהל מערכת. בנוסף, האופי "החלונאי" של חלונות מעודד משתמשים להכנס למערכת בתור מנהל מערכת כדי לבצע פעולות שונות, מה שמעודד משתמשים להשמשיך לעבוד באופן זה בקביעות. זאת בניגוד מוחלט למערכות קוד פתוח בהן ניתן לבצע פעולות תחזוקה שונות תחת הרשאות מוגבלות ואפילו מבלי להפעיל את השרת הגרפי.
שקיפות מערכות קוד פתוח ויוניקס מעניקות למנהל המערכת שקיפות בכל מה שמתרחש בה, החל מניטור תהליכים, קבצי רישום (לוגים) ותלויות בין תהליכים שונים הפועלים במערכת. בחלונות מופעלים שרותים רבים שהתלויות ביניהם לא תמיד חשופות למשתמש. בנוסף, מידע רגיש נשמר בכל מיני מקומות גלויים לכל, כמו ב Registry והגדרות המערכת חבויות ו/או קשות לאיתור. גם אם מאתרים את המידע הנדרש, לרוב המידע נשמר באופן שאינו מובן ואינו מתועד. להבדיל, במערכות קוד פתוח, קבצי ההגדרות נשמרים כקבצי טקסט שקל להבינם וקל לערוך אותם. מערכות אלו קל לאבטח, לנהל ולנטר.
לסיכום, למרות שהקוד הפתוח לכשעצמו הוא בעל יתרונות רבים בכל מה שקשור לאבטחה, זה אינו היתרון המכריע.
היתרון המכריע שבעטיו מערכות מבוססות Linux ו BSD מאובטחות יותר, הוא בגלל שהן לא חלונות.
מקור: The Register,
Does open source software enhance security?
קישורים
ווטסאפ,
גרטנר: עלות בעיות האבטחה של חלונות בלתי נסבלת, ממליצה לא לחבר שרתי חלונות 2003 לאינטרנט
ווטסאפ,
ג'ון דבורק מבקר בבזאר
מדריך ווטסאפ,
אבירם חניק על יתרונות האבטחה בלינוקס מול חלונות
הערה: הטקסט מביא את עיקרי הנקודות המובאו במאמר המקורי בניסוח חופשי, ואינו מהווה תרגום של המקור. למידע ודוגמאות נוספות יש לפנות למקור.
(*) המשל המתואר אינו ציטוט ישיר של דורון אלא ניסוח חופשי לפי מיטב זכרוני...