21 יולי 2015 | ליאור מזור
כיצד לשלב אבטחת מידע באפליקציות מובייל?

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

שנת 2014 הייתה שנת המפנה עבור אפליקציות מובייל, שבה הן עקפו את כל התוכנות האחרות שניגשו לאינטרנט מהמחשב האישי או מהדפדפן הקונבנציונלי. לצד זאת גם עלו בצורה משמעותית מספר הפגיעויות באפליקציות, שגרמו לעלייה חדה במספר התקיפות ובפעילות הפלילית באפליקציות השונות. לפי פרסומי חברת האבטחה FireEye הייתה עלייה חדה של כ- 188% אחוזים בפגיעויות באפליקציות במכשירי אנדרואיד בהשוואה לשנת 2011 ועד 262% במכשירי iOS.

 

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

 

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

 

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

 

1. TTM קצר (Time to Market)– שימוש במתודולוגיות פיתוח כגון Agile Development, גורם לכך שבממוצע TTM לאפליקציות מובייל מקוריות הוא בין 14-20 שבועות, נתון שתלוי גם במורכבות וגורמים אחרים של היישום. פיתוח מהיר שכזה מקשה על שילוב אלמנטים של אבטחת מידע.

 

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

 

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

 

 

אז כיצד ניתן לשלב אבטחת מידע בפיתוח אפליקציות למובייל?

 

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

 

2. פיתוח בצורה מאובטחת לפי עקרונות ידועים (כגון: OWASP) והטמעת ליווי בפיתוח מאובטח(SDL- Security development lifecycle)כחלק משלבי הפיתוח והבדיקות.

 

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

 

4. ביצוע בדיקות אבטחת קוד אוטומטיות (Automated Code Analysis) לקבלת תמונה של מצב אבטחת המידע בתוך קוד האפליקציה והימנעות משגיאות אבטחה נפוצות ברמת התוכנה. המערכת סורקת בצורה אוטומטית את הקוד ומאתרת חורי אבטחה, על מנת לאתרם לפני התממשות הפריצה (מערכות לסריקת קוד כגון: Seeker, AppScan, Checkmarks, ו- Fortify).

 

5. שילוב בדיקות אבטחת קוד אוטומטיות כחלק מתהליך הפיתוח (Secure Development Life Cycle)– יש לשלב מערכות בדיקת קוד אוטומטיות כחלק אינטגרלי מתהליך הפיתוח (כחלק מתהליך ה-Build) ואף מומלץ לשלבן במערכת מעקב הבאגים כדי למנוע "זניחה/התעלמות" מפתחים מליקויי אבטחת מידע שאותרו.

 

6. הגנה על תשתית האפליקציה ע"י תשתית WAF- Web Application Firewall כחיץ בין האפליקציה לשרתי המערכת. מוצרי WAF נועדו להתמודד עם פרצות אפליקטיביות וכוללים מנגנון לזיהוי התקפות על המבוסס על למידת האפליקציה ועל חתימות.

 

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

תגובות

1. נאור ל | 25 יולי 2015

מאמר יפה ומעניין


2. שימי נ | 22 יולי 2015

טכני

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


3. אורן ר | 22 יולי 2015

מאמר מעניין מאוד...


הוסף תגובה

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