מהו IAST (בדיקות אבטחת יישומים אינטראקטיביות)?
בדיקות אבטחת יישומים אינטראקטיביות (IAST) הן שיטה שמשלבת בדיקות אבטחת יישומים סטטיות (SAST) ו-בדיקות אבטחת יישומים דינמיות (DAST) כדי למצוא פגיעויות ביישומים בצורה יעילה יותר.
המאפיינים של IAST כוללים:
- כלי IAST עובדים על ידי הוספת חיישנים או רכיבי ניטור בתוך היישום בזמן שהוא פועל. כלים אלה צופים כיצד היישום מתנהג במהלך הבדיקות, בין אם הבדיקות אוטומטיות או נעשות על ידי אנשים. גישה זו מאפשרת ל-IAST לבדוק ביצוע קוד, קלטי משתמשים וכיצד היישום מטפל בנתונים בזמן אמת.
- IAST אינו סורק את כל בסיס הקוד באופן אוטומטי; הכיסוי שלו נקבע על פי רוחב היישום שנבדק במהלך הבדיקות. ככל שפעילות הבדיקה רחבה יותר, כך כיסוי הפגיעויות עמוק יותר.
- IAST בדרך כלל מופעל בסביבות QA או שלב שבו מתבצעות בדיקות פונקציונליות אוטומטיות או ידניות.
מדוע IAST חשוב באבטחת סייבר
SAST מנתח קוד מקור, קוד ביניים או בינארי ללא הפעלת היישום והוא יעיל מאוד בגילוי שגיאות קוד, אך הוא יכול לייצר חיוביות שגויות ולפספס בעיות ספציפיות לזמן ריצה.
DAST בודק יישומים מבחוץ בזמן שהם פועלים ויכול לחשוף בעיות שמופיעות רק בזמן ריצה, אך חסר לו ראייה עמוקה לתוך הלוגיקה הפנימית או מבנה הקוד. IAST מגשר על הפער על ידי שילוב החוזקות של טכניקות אלו, ומספק:
- תובנות עמוקות יותר למקורות ופני פגיעות.
- דיוק משופר בזיהוי בהשוואה ל-SAST או DAST בלבד.
- הפחתת חיוביות שגויות על ידי קישור פעילות בזמן ריצה עם ניתוח קוד.
איך IAST עובד
- הטמעה: IAST משתמש בהטמעה, כלומר חיישנים או קוד ניטור מוטמעים ביישום (לעיתים בסביבת QA או שלב) כדי לצפות בהתנהגותו במהלך בדיקות.
- ניטור: הוא צופה בזרימת נתונים, קלט משתמש והתנהגות קוד בזמן אמת כאשר היישום מופעל על ידי בדיקות או פעולות ידניות.
- זיהוי: הוא מסמן פגיעויות כמו תצורה לא בטוחה, זרימות נתונים לא מסוננות או סיכוני הזרקה.
- דיווח: ממצאים ניתנים לפעולה והנחיות תיקון מסופקים למפתחים כדי לטפל בבעיות שהתגלו.
דוגמה
במהלך בדיקות פונקציונליות, צוות QA מתקשר עם טופס ההתחברות. כלי IAST מזהה שזרימת קלט משתמש נכנסת לשאילתת בסיס נתונים ללא סינון, מה שמעיד על סיכון פוטנציאלי להזרקת SQL. הצוות מקבל דוח פגיעות ושלבים ניתנים לפעולה לתיקון בעיות האבטחה.