ממשק API או ספרייה לא מאובטחים

קטגוריה ב-OWASP: MASVS-CODE: איכות הקוד

סקירה כללית

שימוש בממשקי API או בספריות לא מאובטחים מפחית באופן משמעותי את רמת האבטחה של האפליקציה. פרצת אבטחה באחד מהתלויות האלה תאפשר לתוקף להשתמש במספר וקטורים כדי לבצע מגוון רחב של התקפות, כמו התקפות מסוג Man-in-the-middle‏ (MitM) והרצת קוד מרחוק (RCE).

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

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

השפעה

ניצול מוצלח של תלות לא מאובטחת עלול להוביל למגוון רחב של תקיפות, כמו ביצוע קוד מרחוק (RCE), הזרקת SQL‏ (SQLi) או פרצת אבטחה XSS‏ (cross-site scripting). לכן, ההשפעה הכוללת קשורה ישירות לסוג הפגיעות שתוכנת הצד השלישי יוצרת, ושעליה יכולים להסתמך התוקפים. ההשלכות האפשריות של ניצול מוצלח של תלות פגיעה הן פרצות אבטחה או חוסר זמינות של שירותים, שעלולות להוביל לפגיעה משמעותית במוניטין ובמחזור הכלכלי.

אמצעי צמצום סיכונים

הגנה לעומק

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

הערכות של פגיעויות בתלות

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

עדכון רציף של יחסי התלות

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

ביצוע בדיקות חדירה לאפליקציות

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

משאבים