alterno logo 2021-02

היבטי אבטחת מידע בפיתוח UI5 – חלק ב

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

החומר מבוסס על ה-TOP10 משנת 2017 המפורטים במניפסט של ארגון ששמו OWASP, העוסק באבטחת המידע ודרכי הגנה מפני תקיפות נפוצות. להלן חמשת הנושאים הקריטיים הראשונים והסבר קצר אודות דרך ההתמודדות בפיתוח SAP UI5 עם הסיכון.

A6: Security Misconfiguration (הגדרות אבטחה לקויות)

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

איך תשתיות SAP מתמודדות עם הגדרות אבטחה לקויה

נדרש לתחזק את סביבת ה-SAP לפי ההנחיות שמתפרסמות על ידי SAP לעיתים קרובות (security notes), להתקין patches לסביבות הרגישות, במיוחד הסביבות שניתן לגשת אליהן מחוץ לארגון. מעבר לזה, תפקידו של קצין אבטחת המידע לוודא כי נהלי תחזוקת מערכת המידע מעודכנים והעבודה של צוות אבטחת המידע נעשית בזמן.

A7: Cross-Site Scripting או Cross-Site Request Forgery

זהו אחד הסיכונים הנפוצים ביותר הקיימים במימוש יישומי WEB בפלטפורמות שונות. מדובר בתהליך בו אתם ניגשים ליישום SAPUI5 ויש לכם session מאובטח מול שרת האפליקציה SAP NetWeaver, ואז אתם ניגשים (באותו דפדפן) לאתר בו יש קוד שמבצע קריאות לשרת האפליקציה בשמכם כי ישנו session פתוח – לאתר כזה קוראים בשפה המקצועית malicious website.

איך תשתיות SAP מתמודדות עם CSRF

שכבת האפליקציה של SAP NetWeaver Gateway כוללת רמת אבטחה נוספת בה ממומש מנגנון של CSRF Token. כל בקשה לשרת האפליקציה שמהותה יצירה או שינוי של מידע – מלווה ב-token נוסף במהווה מפתח סודי אשר רק המשתמש והשרת יודעים אותו. בדיקת ה-token נעשית במהלך עיבוד הבקשה בשרת, המנגנון הזה מובנה ואין צורך בידע נוסף על מנת לממש אותו – אתם מקבלים את זה out of the box.

A8: Insecure Deserialization (לא הצלחנו לתרגם את זה)

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

 

איך תשתיות SAP מתמודדות עם Insecure Deserialization

מנוע עיבוד הבקשות REST של SAP NetWeaver Gateway מבצע בדיקה של מבנה הנתונים אשר מגיעים בקריאות של יצירה ועדכון. המבנה של הנתונים הצפויים להגיע מוגדר במסגרת פיתוח שירותי ODATA ולכן לא ניתן להוסיף למבנה שהוגדר ב-ODATA נתונים שלא תואמים את המבנה. מעבר חזה, כל השדות אשר קיימים במבנה הם שדות המבוססים על EDM של ODATA.

A9: Using Components with Known Vulnerabilities (מימוש ספריות ורכיבים עם סיכונים ידועים)

זהו אחד הסיכונים הקשים יוצר לזיהוי, ומחייב אותנו להיות "עם יד על הדופק" בכל הקשור לספריות אשר אנחנו משתמשים בהן באפליקציות UI5, וגם בכל הקשור לרכיבים הנמצאים בצד השרת. במקרה והיישום שלכם עושה שימוש בספריות JS נוספות מעבר ל-UI5 נדרש לוודא שהספריות לא מכילות קוד שעלול להזיק ליישום \ ארגון שלכם – דוגמא קלאסית של ספריות צד שלישי היא מימוש ספריות \ שירותי REST נוספים שנמצאים בארגון. זה חשוב אף יותר כאשר מדובר בספריות מסוג open source אשר מאוחסנות בענן ולא נמצאות בשליטתנו.

 

איך תשתיות SAP מתמודדות עם Known Vulnerabilities

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

  • ספריות UI5 מקומיות – המשמעות היא שהן נטענות מהשרת SAP NetWeaver Gateway המקומי. כאן הטיפול המונע הוא עדכון של גרסאות UI בתדירות גבוהה, בהתאם לשחרור הגרסאות על ידי SAP. כמובן מומלץ לממש את הגרסה הכי עדכנית ביישום, אבל לפעמים בדיקות רגרסיה ותלויות יכולים לגזור די הרבה זמן בבדיקות.
  • ספריות UI5 המאוחסנות בענן של SAP – זאת האופציה המומלצת על ידי SAP כי זמני התגובה של bootstrap מהסוג הזה יותר טובים בזכות פריסה גיאוגרפית ומנגנוני caching של רשת akamai. כאן לא נדרש לשדרג שום דבר – אלא פשוט להשתמש בגרסה הכי עדכנית שמתאימה לכם לפי בחירה.

 

A10: Insufficient Logging & Monitoring (ניטור לקוי)

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

 

איך תשתיות SAP מתמודדות עם צורך בניטור

שכבת SAP NetWeaver Gateway מאפשרת ניטור של HTTP בכמה רמות:

  • ניטור תקשורת HTTP ברמת שרת ה-ICM המובנה
  • ניטור של קריאות ODATA כוללת שמירה של כלל תוכן הבקשה
  • ניטור של לוג שרת מובנה של סביבת SAP NetWeaver Gateway
  • ניטור של לוג שרת מובנה של סביבת ה-backend שהיא בדרך כלל ECC

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

אתם מוזמנים לפנות אלינו עם שאלות.

נתראה בחומר קצת יותר קל לעיכול 🙂

Any questions?

Just write us a message!

Fill out the form and we will be in touch as soon as possible!