בנק לאומי מציג: כשלון של אבטחת מידע

לפני ארבע שנים כתבתי על HTTPS ואפילו העברתי את האתר שלי ל-HTTPS. למה זה חשוב? טוב, מדובר בפרוטוקול הצפנה שמצפין את התנועה בין המשתמש לאתר. למה זה חשוב? אם למשל אני יושב בבית קפה שבעלי הרשת שבו מאזין לתנועה שלי, או בבית אבל השכן הצליח לפרוץ לראוטר (או שטכנאי תקשורת של הספק עשה זאת), או שבמחשב שלי מותקנת תוכנה זדונית שמאזינה לתקשורת – הם לא יוכלו לעולם “להאזין” לתקשורת או להחליף את האתר באתר שלהם. למשל אני אראה בשורת ה-URL כתובת כמו bank.com אבל בפועל זה יהיה evil-bank.com בלי שאדע על כך. התקפה כזו נקראת MITM או ‘אדם באמצע’ ובזמנו היא היתה מאוד פופולרית. HTTPS מבטיח כמעט בוודאות שמה שאני רואה זה מה שנשלח. בגלל זה הרשת עוברת לפרוטוקול הזה.

רגע, אמרתי שהרשת עוברת? כי אתר בנק פפר (אל תקרא לי בנק) לא בדיוק עבר ל-HTTPS. הכל החל כשחבר שלח לי קישור לבנק קקמייקה הזה, נכנסתי ובוא ונגיד שחשכו עיני. גרסת ה-HTTPS של האתר היתה שבורה לחלוטין. כלומר מי שרוצה לעשות MITM לאתר הבנק יכול. אז נכון, זה אתר תדמיתי – אבל נניח שאני אנצליח לעשות MITM ללקוח של הבנק ואשלח לו סמס בסגנון הבא:

לקוח יקר של בנק לאומי! מגיע לך 1,000 ש"ח מתנה במזומן! אנא הכנס ל pepper.co.il, הכנס את פרטי כרטיס האשראי שלך, חשבון הבנק שלך, הסיסמה הסודית ותמונה שלך בעירום ותוכל לקבל את הכסף שלך במזומן!

לקוח יקר של בנק לאומי! מגיע לך 1,000 ש”ח מתנה במזומן! אנא הכנס ל pepper.co.il, הכנס את פרטי כרטיס האשראי שלך, חשבון הבנק שלך, הסיסמה הסודית ותמונה שלך בעירום ותוכל לקבל את הכסף שלך במזומן!

הוא ייכנס מייד ל pepper, אתר לגיטימי לכל הדעות ומה שהוא יראה זה את התוכן שלי. מדובר בפרצות ובסיכון אמיתי. גם באתר תדמיתי. לפיכך כשנכנסתי לאתר ‘פפר’ וראיתי שה-HTTPS שלו שבור, פניתי לעודד ירון ויאיר בריל מהארץ ושחררנו אייטם.

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

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

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

The SSL certificate used to load resources from https://pepper.co.il will be distrusted in M70. Once distrusted, users will be prevented from loading these resources. See https://g.co/chrome/symantecpkicerts for more information. 5Mixed Content: The page at '<URL>' was loaded over HTTPS, but requested an insecure stylesheet '<URL>'. This request has been blocked; the content must be served over HTTPS. 7Mixed Content: The page at '<URL>' was loaded over HTTPS, but requested an insecure script '<URL>'. This request has been blocked; the content must be served over HTTPS. (index):1 Mixed Content: The page at 'https://pepper.co.il/' was loaded over HTTPS, but requested an insecure script 'http://pepper.co.il/wp-includes/js/jquery/jquery.js?ver=1.12.4'. This request has been blocked; the content must be served over HTTPS. (index):1 Mixed Content: The page at 'https://pepper.co.il/' was loaded over HTTPS, but requested an insecure script 'http://pepper.co.il/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1'. This request has been blocked; the content must be served over HTTPS. (index):59 Mixed Content: The page at 'https://pepper.co.il/' was loaded over HTTPS, but requested an insecure script 'http://www.googletagmanager.com/gtm.js?id=GTM-WL7Z75'. This request has been blocked; the content must be served over HTTPS. (anonymous) @ (index):59 (anonymous) @ (index):60 (index):1 Mixed Content: The page at 'https://pepper.co.il/' was loaded over HTTPS, but requested an insecure script 'http://pepper.co.il/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=4.8.1'. This request has been blocked; the content must be served over HTTPS. (index):1 Mixed Content: The page at 'https://pepper.co.il/' was loaded over HTTPS, but requested an insecure script 'http://pepper.co.il/wp-content/themes/orion/script/plugins.min.js?ver=4.8.1'. This request has been blocked; the content must be served over HTTPS. (index):1 Mixed Content: The page at 'https://pepper.co.il/' was loaded over HTTPS, but requested an insecure script 'http://pepper.co.il/wp-content/themes/orion/script/general.min.js?ver=4.8.1'. This request has been blocked; the content must be served over HTTPS. (index):1 Mixed Content: The page at 'https://pepper.co.il/' was loaded over HTTPS, but requested an insecure script 'http://pepper.co.il/wp-content/themes/orion/script/front-page.js?ver=4.8.1'. This request has been blocked; the content must be served over HTTPS. 11Mixed Content: The page at '<URL>' was loaded over HTTPS, but requested an insecure image '<URL>'. This content should also be served over HTTPS.

אתר פפר שבור ללא גרפיקה בשל מנגנון הגנה אוטומטי של כרום

למה זה נראה ככה? כאשר אתר מאפשר תקשורת של https, אסור לו בתכלית האיסור לנסות לטעון משאבים בפרוטוקול לא מאובטח http. מה זאת אומרת? אם למשל יש לי תמונות בדף, אני חייב להגיש אותן לגולש גם כן בפרוטוקול https. ברגע שיש https – כל התנועה והמשאבים בין הגולש לאתר חייבים להיות בפרוטוקול מאובטח. אני לא יכול לערבב בין המשאבים. ברגע שהתחייבתי לפרוטוקול המאובטח – כל דבר שנשלח לגולש חייב להיות מאובטח. במידה ולא, זה ייחשב כהפרה של פרוטוקול האבטחה. כיוון שפורץ המאזין לתקשורת יכול לגלות את המשאבים האלו ולהחליף אותם במשאבים משלו ואז לגנוב את הפרטים במתקפה שידועה כ-Man In The Middle.

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

האתר ב-HTTP נראה טוב מן הסתם, אבל גם זה הדהים אותי – ייתכן שאתר של בנק (פפר זה בנק לאומי) יהיה זמין ללא פרוטוקול HTTPS

אבל כפי שאומרים בכל קליקבייט נלוז – התגובה שהארץ קיבלו מבנק לאומי היממה אותי. ממש כך. שופופו:

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

ראשית, צריך להיות חסר מושג לחלוטין כדי לומר שחוסר שימוש ב-HTTPS הוא לא מסוכן ושנית “בימים אלו עובדים על גרסת ‘HTTPS’?!? האתר של פפר, ייאמר לזכותו, הוא אתר מבוסס וורדפרס. אתר כזה לוקח פחות מעשר דקות להפוך לאתר מבוסס HTTPS. פחות-מעשר-דקות.

כלומר אנשי אבטחת המידע של הבנק הם או חסרי מושג מוחלטים (מה שקשה לי להאמין) או שיש להם כל כך מעט כוח שהם לא יכולים לומר למחלקת השיווק ללחוץ על הספק שבנה להם את האתר ולהשקיע עשר דקות בהפיכת האתר למבוסס HTTPS – מה שסביר יותר להניח וזה כבר מדאיג.

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

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

ליצור תעודת אבטחה באתר שלכם

יש לספק שלכם אינטגרציה עם let’s encrypt? זה עניין של שלוש דקות. נכנסים ל-Cpanel, בוחרים את let’s encrypt ומפעילים את תעודת האבטחה על הדומיין שלכם. אין לספק האחסון שלכם אינטגרציה כזו? החליפו אותו עוד היום.

לבדוק את האתר שלכם עם HTTPS

הכנסו לאתר שלכם עם https. עובד ויש אייקון ירוק של https? הרווחתם. דלגו על השלב הבא. יש לכם אייקון אפור ואזהרת mixed content? עיברו לשלב הבא.

פיתרו את בעיות ה-mixed content

אזהרת mixed content מתרחשת כאשר אתר בפרוטוקול HTTPS מנסה לטעון משאבים (סקריפטים, פונטים, קבצי CSS או תמונות) בפרוטוקול HTTP. כלומר יש קריאות ל-HTTP. עשו view source וגלו מאיפה הקריאות. אם מדובר באתר קטן – עברו על התוכן, במיוחד בוידג’טים ובקוד שאתם כתבתם. אם מדובר באתר גדול, יש סיכוי שתצטרכו קצת שאילתות SQL כדי לאתר את כל המקומות שבהם יש קריאות ל-HTTP. המירו את הקריאות לנתיבים יחסיים (למשל image.png/ במקום http://example.com/image.png).

וודאו שאף אחד לא יכול להכנס לאתר עם HTTP

הכניסו את הקוד הבא ל-htaccess שלכם. מעל החלק של וורדפרס.


RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

נסו להכנס לאתר שלכם עם פרוטוקול HTTP ו-ודאו שאתם מועברים לגרסת ה-HTTPS.

החליפו את כתובת האתר

זהירות! זה החלק הכי מסוכן וחובה לוודא שהשלבים הקודמים עברו בהצלחה. ב’הגדרות’ -> ‘פרטים כלליים’, יש את כתובת האתר. צריך להחליפה מ-HTTP ל-HTTPS. מייד אחר כך תצטרכו לעשות כניסה מחדש לאתר. הצלחתם? מעולה. המעבר הושלם.

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

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

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

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

אהבתם? לא אהבתם? דרגו!

לא אהבתי בכלללא אהבתיבסדראהבתיאהבתי מאוד (12 הצבעות, ממוצע: 4.58 מתוך 5)


יאללה, שתפו :)

אל תשארו מאחור! יש עוד מה ללמוד!

16 comments on “בנק לאומי מציג: כשלון של אבטחת מידע
  1. עידו הגיב:

    רן, אני מאוד אוהב את הכתבות שלך, ובאמת שאין אף סיבה הגיונית בעולם היום שאתר לא יוגש בhttps, אבל –

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

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

    • רן בר-זיק הגיב:

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

  2. קובי הגיב:

    לא יצא לי “להתלונן” על הרבה אתרים לא מאובטחים, אבל לדעתי התוצאות טובות יותר כשאני מזכיר שממש עוד מעט כרום ופיירפוקס יציגו כל אתר http כ”לא בטוח”.
    https://www.theregister.co.uk/2018/02/08/google_chrome_http_shame/
    https://www.ghacks.net/2017/12/14/firefox-59-mark-http-as-insecure/

    מאוד לא סביר שנראה אתרי http חדשים אחרי שהשינוי הקטן הזה יכנס.

  3. עומרי הגיב:

    היי רן,
    תודה על המאמרים הנהדרים שלך! תענוג לקרוא!
    תוכל לדבר גם על SSL באתרים שאינם מבוססי WORDPRESS?
    אני כרגע עובד עם SSL for free שדורשים חידוש כל 3 חודשים..
    יש לך פתרונות אחרים, נוחים יותר?

    תודה!

  4. אבישי כהן הגיב:

    היי. יש למישהו פיתרון חינמי שיאפשר לשים על אתר שיושב על איחסון משותף (בתוכנית של biz.nf)?

  5. שומר הגלקסיה הגיב:

    כול הכבוד.
    אתר של בנק לא צריך
    לקבל פניות לא מאובטחות.
    בלי קשר בכלל מה הוא מכיל, כולה ssl לא מדובר פה בwaf יצירתי.

  6. דן הגיב:

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

  7. משתמש אנונימי (לא מזוהה) הגיב:

    ששש

  8. מישהו שסתם בדק הגיב:

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

    • רן בר-זיק הגיב:

      אכן, כשכתבתי את אותו עמוד, אי אז ב-2010 לפני שמונה שנים, השתמשתי בכתובות http כדי להכניס תמונות 🙂 תפיסה נאה ואכן תיקנתי את זה. תוך כמה שניות, יש לציין. לא ארבעה ימים.

  9. צביקה הגיב:

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

  10. דייגו דה לה וגה הגיב:

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

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

כתיבת תגובה

האימייל לא יוצג באתר.

רישום