podcast

קוד פתוח, קוד בטוח?

אילן שביט תוהה האם תכנה פתוחה1 היא בטוחה יותר יותר או מתכנה קניינית.

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

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

לתכנה מבוססת על קוד פתוח יתרון בתחום אבטחת המידע המצבים שתהליך הפיתוח הוא הוא פתוח:

  • קבוצות דיון או רשימות תפוצה גלויות הדנות בתכנה
  • ניהול באגים  גלוי לקהל הרחב
  • גילוי נאות

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

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

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

  1. אני כאן מערבב מעט בין המושגים של קוד פתוח ותכנה חופשית []
  2. ויש לא מעט חברות מסחריות התבססות על קוד פתוח []
  3. דהיינו כאלו שזוכות לעידכוני אבטחה []
marketing

כתיבת תגובה

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