בזמן האחרון יוצא לי להשתמש לפעמים ברכיב SSL-VPN של Juniper, באמצעות רכיב One Time Password. למי שלא מכיר, רכיבים מסוג זה נועדו לאפשר גישה מאובטחת לתוך הארגון, מכל מקום, תוך שמירה על רמת אבטחה גבוהה (בין היתר, שימוש ב-SSL, אך בעיקר בדיקה של רמת האבטחה בתחנת הקצה המתחברת).
בכל מקרה, גיליתי לאחרונה שברכיב אליו אני גולש יש בעיית אבטחה קלה, הקשורה (אולי) למאפיינים החדשים של IE7 ובעיקר לנושא הטאבים. כאשר המשתמש הגולש ל-SSL-VPN סוגר את הטאב בו גלש, אך ללא ביצוע יציאה מסודרת וללא סגירת הדפדפן כולו, המשתמש שיגיע אחריו יוכל לפתוח טאב חדש ובהזנת כתובת הגישה של ה-SSL-VPN ייכנס במקום המשתמש שגלש שם קודם. כלומר, רכיב ה-SSL-VPN יעביר אותו אל מעבר למסך ההזדהות ואף מעבר לכך לתוך היישומים הרלוונטיים. התופעה אגב חמורה יותר בשועל אש, שם אם יש עותק נוסף של הדפדפן פתוח, גם אם סוגרים את הדפדפן בו משתמשים כרגע, המשתמש הבא בתור יכול לפתוח לשונית בדפדפן שהיה פתוח ברקע ולהכנס במקום המשתמש הקודם.
תרחיש האיום הנו כמובן משתמש הגולש מתחנה שיתופית ואשר לאחריו מתיישב בעמדה גורם עוין או סתם סקרן הרואה בדפי ההיסטוריה לאן גלש המשתמש ומחליט לגלוש גם הוא לאתר המאובטח. מאחר וכל המטרה של רכיבים כאלה הוא לאפשר גישה מאובטחת מכל מקום, מדובר בתרחיש איום סביר לדעתי.
הבעיה המהותית כאן אינה שה-Session לא נסגר על ידי האתר כאשר הלשונית נסגרת בצד המשתמש, אלא שכאשר אתה גולש לאחר מכן לדף הכניסה של רכיב ה-SSL-VPN הוא מעביר אותך ביוזמתו הלאה. להבדיל ממצב רגיל בו על מנת לעשות טריק כזה עליך להעתיק את שורת ה-URL המכילה כתובת ספציפית כדי לדלג מעבר לדף ההזדהות, במקרה הזה כאשר אתה מגיע לדף ההזדהות הרכיב עצמו מעביר אותך הלאה. מעבר לזה כמובן ניתן היה לצפות שברכיב אבטחה מסוג זה, המוריד יישום אבטחה לתחנת הקצה ושכל מטרתו לאפשר גישה של משתמשים מכל מקום בעולם, כולל מתחנות שיתופיות, רמת האבטחה תהיה גבוהה יותר, כך שגם סגירה של טאב אחד ולא של כל הדפדפן תספיק כדי לנתק את ה-Session של המשתמש.
אגב, שלחתי מייל על זה לפני כשלושה שבועות ל-Juniper, אך הם לא החזירו לי תשובה, אז נותר לי רק לקוות שהם מטפלים בזה.