14
אוק
12

עבודה בשיטת White List והפרשנות המקומית של אנשי הפיתוח והתשתיות

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

במקרים רבים, אנו מגדירים סינון תכנים, סריקות, בדיקות ועוד. הגדרות אלה מחולקות לשתי קטגוריות עיקריות: White List, Black List.

מה ההבדל בין רשימה שחורה ללבנה?
ברשימה שחורה מגדירים מה אסור. למשל, בלי כתום, ירוק וכחול. עוד דוגמא מעולם חסימת התקני זכרון: לחסום (כלומר, בלי) Disk-on-Key, CD-ROM, Floppy.
ברשימה לבנה מגדירים מה מותר. למשל, מותר (רק) לבן קרם, או מותר (רק) מדפסות רשת ומקלדת אלחוטית (ואף התקן אחר).

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

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

דוגמא לתכנות על בסיס רשימה לבנה: בדיקת קלטים באתרי Web. לאפשר קליטת תווים מותרים לפי סוג הקלט בלבד – למשל [0-9] עבור שדה תעודת זהות, וכמובן מותר אורך השדה רק בן 9 תווים. אם היינו עובדים כאן לפי רשימת שחורה (למשל ללא אותיות [a-z] [א-ת]) לא היינו מטפלים (חוסמים) תווים מסוכנים להתקפות SQL Injection כגון: ' -.

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

מספר דוגמאות:

  • הגדירו ששדה ת.ז. לא יכול להכיל אותיות, אך לא מנעו קליטת תווים מיוחדים (סכנה…).
  • חסמו העלאת קבצים דרך האתר מסוג exe, אך לא הגבילו סוגים אחרים הנחשבים מסוכנים, למרות שבמקור הגדרתי שמותר לעלות רק jpg, png, gif. התוכניתן תירץ זאת בכך שהוא חשב שהסכנה היא רק מקבצי exe (למרות שהיה מונח לו על השולחן האפיון הפתוח בעמוד שהגדיר את ה – White List.
  • ביקשתי סריקה ברשת של כל המחשבים מבוססי Windows לגילוי מחשבים ללא AV. קיבלתי רשימה של תחנות עבודה בלבד ללא שרתים. 

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

לכן, המלצתי היא לא רק להגדיר דרישות כתובות ל – White List אלא גם להסביר לצד השני למה הכוונה ברשימה לבנה ומה לא לעשות (רשימה שחורה) ובמהלך העבודה לוודא איתם שהם מקודדים או עובדים כפי שדרשתם. אל תמתינו לשלב המסירה שלפעמים מתגלה כמאוחר מידי לתקן.

מודעות פרסומת

1 Response to “עבודה בשיטת White List והפרשנות המקומית של אנשי הפיתוח והתשתיות”


  1. 1 דודו
    14/10/2012 ב- 19:11

    עלית על נקודה חשובה ומעניינת. אני מסכים רק חלקית עם הממסקנות שלך.

    1) קודם כל, אפרש את הנקודה שלך בצורה פחות "politically correct". הרבה פעמים אנשי תשתיות לא מבינים את ההבדל ולכן הם מפרשים את ההנחיה בדרך שהיא ברורה וקלה להם ליישום. יש גם מקרים בהם אנשי תשתיות מבינים את הדרישה ואת משמעותה ולכן מחליטים להגדיר שיטה שמתאימה יותר כדי לפשט את העבודה (בהמשך לדוגמא שלך, הרבה יותר קל להגדיר AV לתחנות עבודה מאשר להתעסק עם שרתים ו-Exclusions)

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


להשאיר תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת /  לשנות )

תמונת גוגל

אתה מגיב באמצעות חשבון Google שלך. לצאת מהמערכת /  לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת /  לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת /  לשנות )

מתחבר ל-%s


אוקטובר 2012
א ב ג ד ה ו ש
« ספט   נוב »
 123456
78910111213
14151617181920
21222324252627
28293031  
מודעות פרסומת

%d בלוגרים אהבו את זה: