איפה עובר הגבול בין נתון להוראה
יישום עשוי להשתמש בערך שהתקבל מטופס, קישור או מערכת חיצונית כדי לבנות בקשה למסד. הבעיה אינה עצם קבלת הטקסט, אלא שימוש לא בטוח בו בהקשר השאילתה. אין צורך שהקלט יגיע דווקא משדה שמוצג למשתמש כדי שיהיה לא מהימן.
המושג מתאר סוג חולשה, לא הוכחת תקיפה באתר מסוים. כדי לקבוע חשיפה צריך להבין את הקוד, הגרסה והמסלול. אין לבדוק אתר ללא הרשאה או להקליד מחרוזות תקיפה בחנות פעילה כדי לראות אם תתרחש שגיאה.
עקרונות הגנה ומה כל אחד מוסיף
OWASP ממליצה להפריד מבנה SQL מערכים באמצעות פרמטרים וכלים מתאימים. גם הגבלת ערכים במקומות נדרשים והרשאות מצומצמות תורמות להגנה. הכנת שאילתה אחרי שכבר שולב בה קלט בצורה לא בטוחה אינה מתקנת את ההפרדה בדיעבד.
| שכבה | תרומה | מה אינה מחליפה |
|---|---|---|
| פרמטרים לשאילתה | ערכים מטופלים כנתונים במנגנון הנתמך | טיפול בכל מבנה דינמי אחר |
| בדיקת ערכים | התאמה לכללים שהיישום צריך | בנייה בטוחה של השאילתה |
| הרשאות מסד | צמצום היכולת הזמינה ליישום | תיקון החולשה בקוד |
| WAF | בקרה משלימה על בקשות | הוכחה שכל השאילתות בטוחות |
מה בעל אתר צריך לברר לגבי תוסף או קוד
אם פורסם דיווח, זהו את המוצר והגרסה, את הפונקציה המושפעת ואת התיקון או ההנחיה הרשמית. מזהה CVE או כותרת חמורה אינם לבדם הוכחה שהאתר הותקף. גם היעדר הודעה בכלי סריקה אינו אישור שאין מסלול פגיע.
מפתח או בודק מורשה צריכים להבחין בין המלצת קוד כללית לבין תיקון שנבדק במערכת. אסור להסתפק בהוספת escaping אקראי או בסינון תו אחד בלי להבין את ההקשר. בהתקנה עסקית נדרש גם תהליך עדכון ובדיקת תפקוד.
דוגמה להסבר הממצא בלי לפרסם דרך תקיפה
התרחיש להמחשה. בדיקה מורשית מזהה שקלט במנגנון חיפוש משולב בשאילתה לא בטוחה. הדוח יכול לתאר רכיב, היקף, ראיה ומסלול תיקון בלי לפרסם פרטי ניצול או נתוני לקוחות. לאחר שינוי בודקים גם תפקוד רגיל וגם את בקרת ההפרדה בהיקף שאושר.
אם נמצאה ראיה לגישה לא מורשית, עבודת התיקון אינה מחליפה בירור היקף ושימור ראיות. יש לתאם מי רשאי לטפל בנתונים ואילו פעולות מאושרות לפני ניקוי, מחיקה או שחזור.
איך SQL Injection שונה מ-XSS ומ-CSRF
SQL Injection נוגע לפרשנות שאילתה במסד. XSS נוגע להרצת תוכן לא רצוי בדפדפן, ו-CSRF לפעולה לא רצויה דרך הקשר מאומת של משתמש. ההגנות אינן אותו מנגנון, ולכן תיקון בשכבה אחת אינו הוכחה שהאחרות מוגנות.
להחלטה מעשית על אתר קיים כדאי לבקש היקף בדיקה, מקורות, מגבלות ושיטת retest. אין להשתמש בכותרת החולשה כהבטחה לבדיקה מקיפה או כמדד יחיד למצב אבטחת העסק.