שיווק דיגיטלי

זיוף בקשות בין אתרים (CSRF): איך לזהות ולהגן על האתר שלך

  • 15 Mart 2025
  • 24 min read
  • צוות הוסטרגונים
זיוף בקשות בין אתרים (CSRF): איך לזהות ולהגן על האתר שלך

פוסט זה בבלוג עוסק בהיבט קריטי של אבטחת אתרים: התקפות CSRF (Cross-Site Request Forgery) — זיוף בקשות בין אתרים. כאן תמצאו הסבר מהן התקפות CSRF, כיצד הן פועלות, מה ההשלכות שלהן, ואילו שיטות הגנה מומלצות לאתרי אינטרנט. בנוסף, תמצאו טיפים מעשיים להגנה על מערכות, סטטיסטיקות עדכניות, ותוכנית פעולה ליישום הגנות אפקטיביות. המאמר נועד לשמש מדריך מקיף לכל מפתח, בעל אתר או משתמש המעוניין להבין ולמנוע איומים מסוג CSRF.

מהו CSRF (זיוף בקשות בין אתרים)?

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

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

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

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

מידע בסיסי על CSRF

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

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

סקירה כללית על התקפות CSRF

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

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

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

סוג התקפה הסבר שיטות מניעה
CSRF מבוסס GET הבקשה נשלחת דרך קישור שימוש בטוקן הגנה, בדיקת Referer
CSRF מבוסס POST הבקשה נשלחת דרך טופס טוקן הגנה, CAPTCHA
CSRF מבוסס JSON הבקשה נשלחת כ-API עם JSON בדיקת כותרות, CORS
CSRF דרך Flash הבקשה נשלחת דרך אפליקציית Flash השבת Flash, עדכוני אבטחה

השיטות המרכזיות למניעת CSRF: שימוש בטוקן AntiForgery המייצר מזהה ייחודי לכל בקשה (לרוב כחלק מהטופס), עוגיות SameSite (שמספקות הגנה ברמת הדפדפן), ובדיקת כותרת Referer. שילוב מנגנונים אלו מפחית משמעותית את הסיכון להצלחה של התקפה.

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

איך מתבצעות התקפות CSRF?

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

שורש הבעיה הוא חוסר אימות מספיק של בקשות HTTP מצד האתר. כך התוקף יכול ליצור בקשה "מזויפת", שתיראה כאילו היא הגיעה מהמשתמש עצמו — ולבצע שינוי סיסמה, העברת כספים, עדכון פרופיל וכד'. התקפות מסוג זה מסוכנות הן ליחידים והן לארגונים.

סוג התקפה הסבר דוגמה
CSRF מבוסס קישור התוקף שולח URL זדוני לקורבן <a href=http://example.com/transfer?to=attacker&amount=1000>זכית בפרס!</a>
CSRF דרך טופס טופס נשלח אוטומטית בשם המשתמש <form action=http://example.com/transfer method=POST><input type=hidden name=to value=attacker><input type=hidden name=amount value=1000><input type=submit value=שלח></form>
CSRF דרך JSON בקשת API זדונית fetch('http://example.com/api/transfer', { method: 'POST', body: JSON.stringify({ to: 'attacker', amount: 1000 ) )
CSRF דרך תגית תמונה הבקשה נשלחת דרך תג img <img src=http://example.com/transfer?to=attacker&amount=1000>

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

תסריטי התקפה

תוקפי CSRF משתמשים בתסריטים מגוונים: קישור זדוני באימייל, שגורם לקורבן לבצע פעולה ברקע; קוד JavaScript באתר אמין שמוזרק ע"י התוקף; או תמונה/קובץ שמעודד את המשתמש ללחוץ ולבצע פעולה.

כלים הדרושים

בדיקות או התקפות CSRF נעשות באמצעות כלים כגון Burp Suite, OWASP ZAP, או סקריפטים מותאמים. כלים אלו מסייעים לייצר בקשות מזויפות, לנתח תעבורת HTTP, ולאתר חולשות. גם מומחי אבטחה משתמשים בהם לאיתור בעיות באתר.

שלבי התקפת CSRF

  1. איתור חולשה באתר היעד.
  2. יצירת בקשה זדונית באתר/קוד.
  3. שימוש בהנדסה חברתית להנעת המשתמש.
  4. שליחת הבקשה מהדפדפן של הקורבן.
  5. האתר יעד מבצע את הפעולה בשם המשתמש.
  6. התוקף מקבל גישה/ביצוע לפעולות בלתי מורשות.

איך מונעים?

הגנה מפני CSRF מתבצעת באמצעות טוקנים ייחודיים לכל בקשה (CSRF Token), עוגיות SameSite (מגבילות שליחת עוגיות רק לאתר המקורי), ושיטת Double Submit Cookie (שליחת ערך זהה גם בעוגיה וגם בטופס). כלים אלו מקשים על התוקף לייצר בקשת זיוף מוצלחת.

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

אמצעי מניעה נגד CSRF

הגנה אפקטיבית מפני CSRF מתבססת על שילוב שיטות בצד השרת והלקוח. בצד השרת — שימוש בטוקן CSRF, עוגיות SameSite, Double Submit Cookie, ובדיקת מקור הבקשה. בצד הלקוח — חינוך משתמשים להימנע מהקלקה על קישורים חשודים והגדרות אבטחה נכונות בדפדפן.

אמצעים מרכזיים

  • טוקן CSRF: יצירת מזהה ייחודי לכל סשן ובקשה.
  • עוגיות SameSite: הגבלת שליחת עוגיות רק לאתר המקורי.
  • Double Submit Cookie: שליחת ערך זהה גם בעוגיה וגם בטופס/בקשה.
  • בדיקת Origin Header: אימות מקור הבקשה.
  • חינוך משתמשים: מודעות לסכנות קישורים ומיילים חשודים.
  • כותרות אבטחה: שימוש ב-X-Frame-Options ו-Content-Security-Policy.

טבלת סיכום אמצעי ההגנה:

אמצעי הסבר סוג התקפה שמנוטר
טוקן CSRF מזהה ייחודי לכל בקשה התקפות CSRF בסיסיות
עוגיות SameSite שליחת עוגיה רק לבקשות מהאתר המקורי בקשות מזויפות חוצות אתרים
Double Submit Cookie דרישה לערך זהה בעוגיה ובבקשה גניבת טוקן או מניפולציה
בדיקת Origin אימות מקור הבקשה התחזות שם הדומיין

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

השפעות ותוצאות של CSRF

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

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

השפעות שליליות של CSRF

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

טבלת תוצאות אפשריות:

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

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

כלי הגנה ושיטות למניעת CSRF

כלי הגנה ושיטות למניעת CSRF

פיתוח אסטרטגיית הגנה אפקטיבית נגד CSRF מחייב גישה רב-שכבתית. כלי ההגנה המרכזיים הם: דפוס טוקן מסונכרן (Synchronizer Token Pattern), Double Submit Cookie, עוגיות SameSite, ספריות CSRF מוכנות, ובדיקת כותרות HTTP (Referer/Origin).

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

כלי הגנה מרכזיים

  • Synchronizer Token Pattern: טוקן ייחודי לכל טופס/בקשה.
  • Double Submit Cookie: ערך אקראי נשלח בעוגיה ובבקשה.
  • SameSite Cookies: עוגיות נשלחות רק לבקשות מהאתר המקורי.
  • ספריות CSRF: פתרונות מוכנים למסגרות פיתוח.
  • בדיקת כותרות: אימות מקור הבקשה (Referer/Origin).

טבלת השוואת שיטות:

שיטה הסבר יתרונות חסרונות
Synchronizer Token Pattern טוקן ייחודי לכל טופס מאובטח, נפוץ עומס על השרת, ניהול טוקנים
Double Submit Cookie ערך זהה בעוגיה ובבקשה פשוט, עובד גם באפליקציות ללא סשן בעיות סאב-דומיין, דפדפנים מסוימים
SameSite Cookies עוגיות רק לבקשות מהאתר המקורי קל ליישום, הגנה ברמת הדפדפן לא נתמך בדפדפנים ישנים, עשוי להשפיע על פונקציונליות
בדיקת כותרות בדיקת Referer/Origin פשוט, אין עומס על השרת ניתן למניפולציה, לא תמיד אמין

Double Submit Cookie מועיל במיוחד לאפליקציות סטטיות, שאינן מנהלות סשן. SameSite Cookie מומלץ, אך לא נתמך בכל הדפדפנים — ולכן יש לשלב אותו עם שיטות נוספות.

טיפים להגנה מפני CSRF

הגנה מפני CSRF חיונית לכל אתר ומערכת. השיטות המרכזיות: Synchronizer Token Pattern (טוקן מסונכרן לכל סשן), Double Submit Cookie (ערך אקראי בעוגיה ובבקשה), SameSite Cookie (הגבלת עוגיות), בדיקות Referer ו-Origin, וסינון קלט/פלט.

Synchronizer Token Pattern — טוקן ייחודי לכל סשן ולכל טופס, נבדק ע"י השרת. Double Submit Cookie — טוקן נשלח בעוגיה ובטופס, והשרת בודק התאמה. SameSite Cookie — מגביל שליחת עוגיות, מתווסף בקלות.

טבלת שיטות הגנה:

שיטה הסבר יתרונות חסרונות
Synchronizer Token Pattern טוקן ייחודי לכל סשן מאובטח, נפוץ ניהול טוקנים, מורכבות
Double Submit Cookie בדיקת ערך בעוגיה ובבקשה פשוט, מתאים ל-API דורש JavaScript, תלוי בעוגיות
SameSite Cookie מגביל שליחת עוגיות קל ליישום, שכבת הגנה נוספת לא נתמך בדפדפנים ישנים
בדיקת Referer אימות מקור הבקשה פשוט ומהיר ניתן למניפולציה, לא תמיד אמין

טיפים קלים ליישום:

  1. הטמיע Synchronizer Token Pattern בכל טופס ופעולה קריטית.
  2. השתמש ב-Double Submit Cookie ב-API ואפליקציות AJAX.
  3. הפעל SameSite Cookie (Strict/Lax) בהתאם לצרכים.
  4. הוסף כותרות HTTP (X-Frame-Options) נגד Clickjacking.
  5. בדוק Referer — אך אל תסתמך רק עליו.
  6. סנן ואמת קלטים — הגנה גם נגד XSS.
  7. בצע בדיקות אבטחה סדירות.

חינוך משתמשים חיוני: להימנע מקישורים חשודים, להעדיף אתרים מאובטחים, ולשנות סיסמאות תדיר. אבטחה היא גישה רב-שכבתית — כל מנגנון מחזק את ההגנה הכוללת.

סטטיסטיקות עדכניות על תקיפות CSRF

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

נתונים עדכניים

  • ב-2023, כ-15% מהתקיפות על אתרים היו CSRF.
  • עלייה של 20% בהתקפות CSRF על אתרי מסחר.
  • בפיננסים, גידול של 12% באירועי CSRF.
  • במובייל, זוהו 18% יותר חולשות CSRF.
  • עלות ממוצעת לנזק CSRF עלתה ב-10% משנה קודמת.
  • סקטורים עיקריים: פיננסים, מסחר, בריאות.

טבלת נתונים לפי סקטור:

תחום שיעור תקיפה (%) עלות ממוצעת (₪) מס' אירועי דלף
פיננסים 25 500,000 15
מסחר 20 350,000 12
בריאות 15 250,000 8
רשתות חברתיות 10 150,000 5

הגנה אפקטיבית מחייבת בדיקות אבטחה תדירות, עדכוני מערכת, וחינוך משתמשים. שימוש נכון ב-Synchronizer Token וב-Double Submit Cookie מפחית משמעותית את הסיכון. מומלץ לאמץ גישה פרואקטיבית ולבצע התאמות מתמידות למדיניות האבטחה.

חשיבות CSRF ותוכנית פעולה

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

רמת סיכון השפעות אפשריות אמצעי מניעה
גבוהה השתלטות על חשבונות, דלף מידע, הפסדים כספיים טוקן CSRF, SameSite, אימות דו-שלבי
בינונית שינוי פרופיל, פרסום לא מורשה בדיקת Referer, דרישת פעולה מהמשתמש
נמוכה שינויים קטנים, פעולות מטרידות אימות בסיסי, הגבלת בקשות
לא ידוע השפעות משתנות לפי חולשה בדיקות אבטחה, ביקורת קוד

תוכנית פעולה כוללת: זיהוי סיכונים, הטמעת טוקן CSRF בכל טופס/בקשה קריטית, הגדרת SameSite לעוגיות, בדיקת מקור הבקשה, חינוך משתמשים, בדיקות חדירה תקופתיות, וניטור פעילויות חשודות.

  1. בצע זיהוי סיכונים ומיפוי חולשות.
  2. הטמע טוקן CSRF בכל טופס ו-API.
  3. הגדר SameSite לכל עוגיה.
  4. בדוק מקור הבקשה (Referer/Origin).
  5. חנך משתמשים לזהות התחזות והנדסה חברתית.
  6. בצע בדיקות חדירה וניטור.
  7. ניטור מתמשך לכל פעילות חריגה.

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

הדרכים האפקטיביות ביותר להתמודד עם CSRF

הגנה מפני CSRF דורשת שילוב שיטות: Synchronizer Token Pattern (טוקן ייחודי לכל סשן/בקשה), Double Submit Cookie, SameSite Cookie, בדיקת Referer, סינון קלט/פלט, והוספת שכבות כגון CAPTCHA. יישום נכון של שיטות אלו מגביר את אבטחת האתר.

שיטה הסבר מורכבות יישום
Synchronizer Token Pattern טוקן ייחודי לכל משתמש ולכל בקשה בינונית
Double Submit Cookie ערך זהה בעוגיה ובטופס קלה
SameSite Cookie שליחת עוגיות רק לאתר המקורי קלה
בדיקת Referer אימות מקור הבקשה בינונית

Synchronizer Token

Bu yazıyı paylaş:

צוות הוסטרגונים

Hosting, sunucu ve alan adı konularında uzman ekibimizden güncel rehberler. Projeniz için doğru çözümü birlikte bulalım.

צור קשר