פיתוח מאובטח "זמיש"
כתב: עמי סויסה, מנהל טכני למוצרי אבטחת המידע במיקרו פוקוס ישראל ומזרח אירופה.
אחת המילים הבולטות כיום בעולם המחשוב הארגוני היא "זמיש". למי שלא יודע מה זה "זמיש", אסביר שזוהי מילה שמאחדת את המילים זריז וגמיש, ומגיעה מהמילה הלועזית Agile .
מחזור פיתוח התוכנה (SDLC) בעולם החדש הוא מכוון מהירות. אם בעבר נהגו לשחרר גרסאות אחת למספר חודשים, בעולם החדש נהוג לשחרר גרסאות על בסיס יומי או שבועי – במיוחד בעקבות המעבר לענן. חברות שנותנות שירות דרך הענן מספקות עדכונים שוטפים ותיקונים במהירות שיא, ללא צורך בהתערבות הלקוח בשדרוג.
כמות האפליקציות המפותחות בארגונים עולה באופן אקספוננציאלי, כך שכל רעיון שעולה מתממש די מהר בדמות אפליקציה, ומשם לפרודקטביות של העובדים והתהליכים הארגוניים.
תהליכי הפיתוח המהירים דורשים מאנשי אבטחת המידע בארגון להיות גמישים ויצירתיים, ולהתאים את עצמם לקצב הפיתוח, כי עם כל הכבוד לאבטחת המידע (ויש כבוד), הפן העסקי הוא מה שמוביל את מקבלי ההחלטות בארגון ומשמש כמצפן עבורם.
מנהל אבטחת המידע דורש פיתוח מאובטח, SSDLC (ר"ת Secured Software Development Lifecycle). כדי להתמודד עם המהירות וצרכי אבטחת המידע, יש צורך למצוא את החולשות תוך כדי תהליך הפיתוח, מה שנקרא SecureDevops.
מה עושים? איך מתמודדים מצד אחד עם דרישות הארגון לפיתוח מהיר ומצד שני עומדים בדרישות אבטחת המידע ולעתים הרגולציה (PCI ,HIPAA ,ISO 27001 וכדומה)?
הפתרון לכך הוא אינטגרציה של כלים בסביבת הפיתוח הטבעית של המפתח, מה שנקרא בשפה המקצועית IDE (ר"ת Integrated Development Environment). בעזרת IDE, המפתח יכול לקבל פידבק באופן מיידי אם בקוד שנכתב יש פגיעות מסוימת, לדוגמה SQL Injection או XSS. ניתן ללמוד על כל הקטגוריות כאן.
כפי שרואים בתמונה, המפתח עובד בסביבה הרגילה שלו – במקרה זה Eclipse וקוד ג'אווה (Java). בעזרת פלאג אין של Fortify התווספו יכולות של ניתוח הקוד למציאת פגיעויות בזמן אמת. המפתח כתב שורה המכילה פגיעות מסוג SQL Injection וקיבל מידית הודעה עם הסבר והמלצות לתיקון.
זוהי הדרך המאפשרת למפתחים לפתח באופן מאובטח: אם בפעם הראשונה המפתח טעה וכתב לא נכון, בפעם השנייה או השלישית הוא כבר ידע לכתוב בצורה הנכונה מבחינת אבטחת המידע.
כיוון שהממצא זוהה על ידי המפתח עוד בשלבי הפיתוח הראשוניים, זמן רב נחסך מלא מעט פונקציות בארגון, כגון: מנהל אבטחת המידע, מנהל ה-QA ומנהל הפיתוח. ללא יכולות הזיהוי המוקדם, הבאג היה עובר דרך כל התהליכים, ובאם מתגלה היה חוזר למפתח ולאחר מכן שוב עובר תהליך בדיקות.
בעזרת סוויטה של מערכות בדיקה בשלבי הפיתוח, הבדיקות והייצור, ניתן לבקר ולאתר, ואף למנוע פגיעויות.
השלבים מורכבים מ:
– הדרכת מפתחים ללא רקע באבטחת מידע בנושא פיתוח מאובטח.
– שילוב פלאג אין בסביבת הפיתוח הטבעית.
– סריקת קוד המקור – סריקה סטטית לאחר יצירת הבילד.
– סריקה דינמית או אינטראקטיבית – סריקה שבדרך כלל מבוצעת בשלב הבדיקות ומאתרת פגיעויות נוספות, שלא תמיד מזוהות בסריקה הסטטית.
– הפעלת מודול RASP (ר"ת Runtime App Self Protection), שמאפשר ניטור וחסימה של פגיעויות בסביבת הייצור.
– מערכת ניהול מרכזית המאפשרת קבלת ממצאים מכלל הסריקות ואינטגרציה עם כלים נוספים.
סוויטת המוצרים של Fortify מאפשרת לקבל את כל הפתרונות ממקום אחד, עם מערכת ניהול מרכזית, תוך השתלבות במערך ה-Continuous Integration וה-Continuous Deployment.