בדף יש תוכן מעורב בזמן טעינת ה-HTML הראשוני שלו דרך חיבור HTTPS מאובטח, אבל משאבים אחרים (כמו תמונות, סרטונים, גיליונות סגנונות וסקריפטים) נטענים בחיבור HTTP לא מאובטח. השם מתייחס לשילוב של תוכן HTTP ו-HTTPS בדף אחד.
בקשה למשאבי משנה באמצעות פרוטוקול HTTP לא מאובטח מחלישה את האבטחה של הדף, כי הבקשות האלה חשופות להתקפות בנתיב, שבהן תוקף מצותת לחיבור לרשת ולמציג או משנה את התקשורת בין שני צדדים. בעזרת המשאבים האלה, תוקפים יכולים לעקוב אחרי משתמשים ולהחליף תוכן באתר. במקרה של תוכן מעורב פעיל, יש להם שליטה מלאה בדף, ולא רק במשאבים הלא מאובטחים.
דפדפנים רבים מדווחים למשתמש על אזהרות מעורבות לגבי תוכן, אבל בדרך כלל הדוח מאוחר מדי: הבקשות הלא מאובטחות כבר בוצעו ואבטחת הדף נפגעה.
רוב הדפדפנים חוסמים כעת תוכן מעורב מטעמי אבטחה. כדי להבטיח שהדף ימשיך להיטען בצורה תקינה, צריך לשנות בקשות תוכן לא מאובטח לתוכן מאובטח.
שני הסוגים של תוכן מעורב
יש שני סוגים של תוכן מעורב: פעיל וסביל.
תוכן מעורב פסיבי, כולל תמונות, סרטונים ואודיו, לא מתקשר עם שאר הדף, ולכן התקפת אדם בתווך מוגבלת מבחינת הפעולות שהיא יכולה לעשות אם היא מיירטת את התוכן הזה או משנה אותו.
תוכן מעורב פעיל מקיים אינטראקציה עם הדף כולו. זה כולל סקריפטים, גיליונות סגנונות, iframes וכל קוד אחר שהדפדפן יכול להוריד ולהפעיל. התקפות על תוכן מעורב פעיל מאפשרות לתוקף לעשות כמעט כל דבר בדף.
תוכן מעורב פסיבי
תוכן מעורב פסיבי הוא פחות סיכון מאשר תוכן מעורב פעיל, אבל הסיכון הזה עדיין קיים. לדוגמה, תוקף עלול:
- אתם יכולים ליירט בקשות HTTP לתמונות באתר ולהחליף או להחליף את התמונות האלה.
- החלפת התמונות בלחצנים כך שהמשתמשים יתבלבלו, למשל מחקו תוכן שהם התכוונו לשמור.
- אתם יכולים להשחית את האתר על ידי החלפת התמונות בתוכן פורנוגרפי.
- אתם יכולים להחליף את תמונות המוצרים במודעות שמקדמות משהו אחר.
גם אם התוקף לא משנה את תוכן האתר, הוא יכול לעקוב אחרי משתמשים באמצעות בקשות לתוכן מעורב. הם יכולים גם לדעת באילו דפים משתמש נכנס ובאילו מוצרים הוא צופה, על סמך תמונות או משאבים אחרים שהדפדפן טוען.
אם קיים תוכן מעורב פסיבי, רוב הדפדפנים מציינים בסרגל הכתובות שהדף לא מאובטח, גם אם הדף עצמו נטען ב-HTTPS. אפשר לראות את ההתנהגות הזו בהדגמה הזו.
עד לאחרונה, תוכן מעורב פסיבי נטען בכל הדפדפנים, מפני שחסימה שלו הייתה גורמת לשיבושים באתרים רבים. המצב הזה מתחיל להשתנות, ולכן חשוב לעדכן את כל המופעים של תוכן מעורב באתר.
במקרים מסוימים, ב-Chrome מתבצע שדרוג אוטומטי של תוכן מעורב פסיבי. כלומר, אם הנכס קודד בתוך הקוד כ-HTTP, אבל הוא זמין ב-HTTPS, הדפדפן יטען את גרסת ה-HTTPS. אם אין גרסה מאובטחת, הנכס לא ייטען.
בכל פעם ש-Chrome מזהה תוכן מעורב או משדרג באופן אוטומטי תוכן מעורב פסיבי, הוא רושם את ההודעות המפורטות בכרטיסייה Issues בכלי הפיתוח כדי לייעץ לכם לפתור את הבעיה הספציפית שלכם.
![בכרטיסייה 'בעיות' בכלי הפיתוח ל-Chrome מוצג מידע מפורט על הבעיה הספציפית בתוכן מעורב ואיך לפתור אותה](https://web.dev/static/articles/what-is-mixed-content/image/issues-tab-chrome.jpg?authuser=5&hl=he)
תוכן מעורב פעיל
תוכן מעורב פעיל מהווה איום גדול יותר מאשר תוכן מעורב פסיבי. התוקפים עלולים ליירט תוכן פעיל ולשכתב אותו, ולהשתמש בו כדי לשלוט באופן מלא בדף או אפילו באתר כולו. כך הם יכולים לשנות כל היבט של הדף, כולל הצגת תוכן שונה, גניבת סיסמאות של משתמשים או פרטי כניסה אחרים, גניבת קובצי cookie של הפעלת משתמשים או הפניית המשתמשים מחדש לאתר אחר לגמרי.
מכיוון שהסיכון לתוכן מעורב פעיל הוא כל כך גבוה, רוב הדפדפנים כבר חוסמים תוכן מהסוג הזה כברירת מחדל כדי להגן על המשתמשים, אבל ההתנהגות משתנה בין הספקים והגרסאות של הדפדפנים.
בהדגמה הזו מוצגות דוגמאות של תוכן מעורב פעיל. טוענים את הדוגמה ב-HTTP כדי לראות את התוכן שנחסם כשטוענים את הדוגמה ב-HTTPS. התוכן החסום מפורט גם בכרטיסייה בעיות בכלי הפיתוח.
![בכרטיסייה 'בעיות' בכלי הפיתוח ל-Chrome מוצג מידע מפורט על הבעיה הספציפית בתוכן מעורב ואיך לפתור אותה](https://web.dev/static/articles/what-is-mixed-content/image/the-issues-tab-chrome-de-0eea9d1e99f11.jpg?authuser=5&hl=he)
מפרט התוכן המעורב
הדפדפנים פועלים בהתאם למפרט התוכן המעורב, שמגדיר את הקטגוריות תוכן שניתן לחסום באופן אופציונלי ותוכן שניתן לחסום.
משאב נחשב לתוכן שניתן לחסום באופן אופציונלי "כאשר הסיכון לשימוש בו מאחר שתוכן מעורב גבוה מהסיכון לפריצה של חלקים משמעותיים באינטרנט". זו קבוצת משנה של תוכן מעורב פסיבי.
כל תוכן מעורב שאי אפשר לחסום אותו נחשב כניתן לחסימה, וצריך לחסום אותו בדפדפן.
בשנים האחרונות התרחש השימוש ב-HTTPS באופן דרמטי, והוא הפך לברירת המחדל הברורה באינטרנט. עכשיו, כדי לאפשר לדפדפנים לחסום את כל התוכן המעורב, כולל הסוגים של משאבי המשנה שמוגדרים במפרט התוכן המעורב כניתן לחסום אותם באופן אופציונלי.
דפדפנים ישנים יותר
חלק מהמבקרים עשויים להשתמש בדפדפנים ישנים יותר. גרסאות דפדפן שונות מספקים שונים מתייחסות באופן שונה לתוכן מעורב. במקרה גרוע, גרסאות ודפדפנים ישנים יותר לא חוסמים בכלל תוכן מעורב, מה שלא בטוח למשתמש.
כשאתם טוענים את כל המשאבים באופן מאובטח ומתקנים את הבעיות בתוכן המעורב, אתם יכולים לוודא שהתוכן שלכם גלוי ולהגן על המשתמשים מפני תוכן מסוכן שייתכן שדפדפנים ישנים יותר לא יחסמו.