Same Origin Policy, פלאש והאתרים הישראליים

האמת שאת הפוסט הראשון בבלוג רציתי לכתוב על משהו אחר (או לפחות להציג את עצמי). אבל אחרי שראיתי את זה לא יכולתי להתאפק.

עברתי על המצגות של BlackHat הקרוב, והסתכלתי על המצגת של מייק בייליי על חורי האבטחה שהוא מצא.

קודם כל, מה זה Same origin policy?

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

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

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

ומה הבעיה?

לפי מה שמייק מרצה במצגת שלו ישנו קומץ אתרים שמכל מיני סיבות מאפשרים לכל אתר לגשת למידע שלו (הכוונה היא שכל קובץ Flash, לא משנה מאיזה אתר הוא הגיע אליכם יוכל לקרוא את אתר עם ההרשאות שלכם).

זאת ע"י כך שהוא יכתוב את השורה

<allow-access-from domain="*" />

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

אז מה קורה באתרים בארץ?

אני חייב להגיד שלא ניסיתי הרבה אתרים, אבל אלה התוצאות שמצאתי:

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

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

אבל מה שבאמת הצחיק אותי – אלה וואלה. למרות שהקובץ שלהם מאפשר גישה לאתרים מסוימים, אצלהם זה לא אתרים שלהם או אתרי פרסומות, אלה אתרים כמו icq.com ו sex-party.co.il. לי זה נשמע מטריד שכל מי שישלח לי קובץ פלאש באתר הכרויות דיסקרטי יוכל לראות את כתובת המייל שלי בוואלה ואת הפרטים שלי.

12 תגובות לפוסט “Same Origin Policy, פלאש והאתרים הישראליים”

  1. [...] מה ל-WALLA ולאתר סקס? לכו תקראו.. [...]

  2. זה דפוק לאאלה :)
    לוואלה תמיד יש הפתעות , רואה מה זה?

  3. ישראל בתאריך 3 בפברואר, 2010 בשעה 16:18

    גם לי יצא בדיוק להתקל לאחרונה בקובץ הזה של וואלה (http://yes.walla.co.il/crossdomain.xml), ונראה לי שהאתרים ברשימה הם אתרים שקיימו או אף עדיין מקיימים שיתוף פעולה כלשהי עם וואלה, לא נראה לי הגיוני שאתר שמאפשר גישה מסויימת באופן פרטני מכוון (ולא מתוך חוסר שימת לב והשארת ברירת המחדל), לא יספק הרשאות לסתם אתרים אקראיים ללא סיבה וקשר.

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

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

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

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

  5. בהצלחה בבלוג!

    נ.ב. אם המייל שלך בוואלה, זה גם כן מטריד.
    תלמד מגיא מזרחי איך נותנים כותרות…
    אם אתה יכול, תמרכז את הכותרת למרכז הפוסט.
    בכתיבת תגובה, שוב, אם יש לך כח לחטט בקבצים של WP, תחליף את המילה דואל ב- דוא"ל.
    ואולי מישהו יסביר לי למה דוא"ל זה חובה??? הרי מילא אי אפשר לדעת שהמייל שלי הוא לא admin@gmail.com
    סליחה על הכמות ההערות… אל תדאג, נכנסת אלי ל-RSS :)

  6. בהצלחה בבלוג!

  7. joe ו Sro – תודה.
    Sro – לקחתי לתשומת ליבי. זה הפוסט הראשון שלי, ויש לי עוד הרבה דברים ללמוד מגיא :)

  8. ישראל בתאריך 4 בפברואר, 2010 בשעה 12:35

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

    יש דברים שלא מובנים לי ואני בטוח שלעוד כמה קוראים.
    כיצד מתבצעת "גניבת" המידע הזו?
    תן למשל דוגמה יותר מפורטת, ממש צעד אחר צעד.
    למשל יש את אתר X שבקובץ ה – XML הנ"ל מופיע כתובת אתר Y.
    מכאן ואילך אין לי מושג מה קורה. הרי גם אם מופיע בשרת של וואלה מס הכרטיס אשראי – זה לבטח מידע מוצפן וגם עם אבטחת גישה (ז"א המידע מוצפן והגישה גם היא מצריכה סיסמא) ככה שממש אני לא מבין כיצד הקובץ הזה מאפשר גישה לכל המידע הזה.
    כמו כן, אני מניח שבקבצי העוגיות לא נשמר מספר האשראי.

    בהצלחה בבלוג, ותזכור – בלוג עם הרבה קוראים הוא בלוג שכתוב בצורה בהירה (אני מבין שיתכן ועלית ארצה)

    קח את דברי כביקורת בונה בלבד.
    בהצלחה!

  9. בוריס,

    אם אני משתמש ב NoScript Add-on בFirefox זה מונע מאתרים אחרים לגנוב מידע?

    דני.

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

  11. הבעיה היא מוכרת.
    הרבה מאלה שכותבים בפלאש, לא מכירים שום דבר סביבו, ולפעמים לא כותבים את צד השרת, ככה שהידע שלהם באבטחה די נמוך לצערנו, ומשם מתחילות הצרות.
    לכן הדבר הכי קל שעושים פשוט שמים ב crossdomain.xml , רואים שעובד להם ויופי משיכים הלאה בלי לחשוב לאחור.
    http://www.flashoo.co.il/community/index.php?s=98d4f95b278749ce6deef945c3af3710&act=ST&f=4&t=28613

  12. מעניין!

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

    יש גם את הנושא של AllowScriptAccess (מחדל: Always) וסכנותיו, ורכיבים שונים ובעייתיים נוספים.

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

השארת תגובה