FixVibe
Covered by FixVibemedium

תצורת כותרת אבטחה לא מספקת

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

CWE-693

השפעה

היעדר כותרות אבטחה מאפשר לתוקפים לבצע גניבת קליקים, לגנוב קובצי Cookie של הפעלה או לבצע סקריפטים חוצי אתרים (XSS) [S1]. ללא הוראות אלה, דפדפנים אינם יכולים לאכוף גבולות אבטחה, מה שיוביל לגלישה פוטנציאלית של נתונים ופעולות משתמש לא מורשות [S2].

סיבת שורש

הבעיה נובעת מכישלון בהגדרת שרתי אינטרנט או מסגרות יישומים לכלול כותרות אבטחה סטנדרטיות של HTTP. בעוד שפיתוח מעניק לרוב עדיפות ל-HTML ו-CSS פונקציונליים [S1], תצורות אבטחה מושמטות לעתים קרובות. כלי ביקורת כמו MDN Observatory נועדו לזהות שכבות הגנה חסרות אלו ולהבטיח שהאינטראקציה בין הדפדפן לשרת מאובטחת [S2].

פרטים טכניים

כותרות אבטחה מספקות לדפדפן הנחיות אבטחה ספציפיות כדי לצמצם נקודות תורפה נפוצות:

  • מדיניות אבטחת תוכן (CSP): שולטת באילו משאבים ניתן לטעון, ומונעת ביצוע סקריפט בלתי מורשה והחדרת נתונים [S1].
  • קפדנית-תחבורה-אבטחה (HSTS): מבטיח שהדפדפן מתקשר רק באמצעות חיבורי HTTPS מאובטחים [S2].
  • אפשרויות X-Frame: מונעת מהאפליקציה להופיע ב-iframe, המהווה הגנה ראשונית מפני חטיפת קליקים [S1].
  • X-Content-Type-Options: מונע מהדפדפן לפרש קבצים כסוג MIME שונה ממה שצוין, עצירת התקפות מריחת MIME [S2].

כיצד FixVibe בודק את זה

FixVibe יכול לזהות זאת על ידי ניתוח כותרות תגובת ה-HTTP של יישום אינטרנט. על ידי השוואת התוצאות מול תקני מצפה הכוכבים של MDN [S2], FixVibe יכולים לסמן כותרות חסרות או מוגדרות שגויות כגון CSP, HSTS ו-X-Frame-Options.

תקן

עדכן את שרת האינטרנט (למשל, Nginx, Apache) או תוכנת התווך של היישום כך שיכלול את הכותרות הבאות בכל התגובות כחלק מתנוחת אבטחה סטנדרטית [S1]:

  • מדיניות-תוכן-אבטחה: הגבל מקורות משאבים לדומיינים מהימנים.
  • קפדנית-תחבורה-אבטחה: אכיפת HTTPS עם max-age ארוך.
  • X-Content-Type-Options: הגדר ל-nosniff [S2].
  • אפשרויות X-Frame: הגדר ל-DENY או SAMEORIGIN כדי למנוע חטיפת קליקים [S1].