Google Analytics Cookie Jar
לאלו מכם שעוסקים בתחום אבטחת אפליקציות , או אלו מכם שעוסקים בפיתוח אפליקציות WEB שונות וודאי נתקלתם לא פעם בשאלות לגבי COOKIES שונים אשר קיימים באתרים השונים אליהם אתם ניגשים או מפתחים.
אני מקבל לא מעט שאלות לגבי עוגיות מאוד ספציפיות -עוגיות ה utm שמופיעות תמיד כ :
__utma , __utmb , __utmc , __utmv , __utmz
מדובר למעשה בעוגיות של מנגנון ה Google Analytics של גוגל. למי שאינו מכיר - מנגנון זה הינו מנגנון סטטיסטיקות ומעקב אחרי התנהגות גולשים באתרי אינטרנט אשר ניתן על ידי גוגל.
בכדי להבין את משמעות העוגיות הללו , אפרט את תפקידיהן :
utma
עוגיה זו הינה עוגיה מזן Persistant עם תאריך תפוגה של 2038 . מטרתה היא בעצם לספור את מספר החזרות של משתמש מסויים לאתר, ולכן בפעם הראשונה שניכנס לאתר נקבל SET לעוגיה , ומשם ואילך תמיד יגדל הערך בכל חזרה לאתר.
utmb + utmc
עוגיות אלו עובדות במשותף בכדי לדגום זמן שהיה באתר - כאשר utmb לוקחת SIMESTAMP של זמן הכניסה , וutmc מקבלת TIMESTAMP של זמן סיום הSESSION , או EXPIRATION. ולמעשה משמשות לשם אותן פונקציות ניתוח.
utmv
משמש עבור מערכת הדוחות של Google Analytics , למעשה אם הוגדרו סגמנטציות מסויימות או כל מבנה של חלוקת הדוח על פי התפלחות מסויימת של המשתמשים , המידע הסטטיסטי נאסף באמצעות עוגיה זו.
utmz
עוגיה זו שומרת על REFERRER ועל SOURCE URL שהפנה לאתר , עוגיה זו חיה במשך עד 6 חודשים. מטרתה בעצם לעזור לגוגל לדעת מי המקורות המפנים לאתר, ומקושרת למנגנון הניתוח שלהם לתעבורה ולהבנה ליעילות של KEYWORDS או כל קטגוריה אחרת.
נעבור לסיכונים
מה שחשוב להבין בסופו של יום , הוא שמבחינת פונקציונליות של האתר , אין כל קשר בין העוגיות הללו לבין המנגנון מאחורי האתר , כי הן משמשות מנגנון אשר אינו קשור לאופן הפעולה של האתר... לצורך העניין אם ב Web Application Firewall עסקינן , ניתן בהחלט להכניס את העוגיות הללו ל Ignore משכבת ההגנה , מבלי לחשוש לפגיעה באתר עצמו, ושימו לב - אני מתכוון רק לאתר עצמו..
יש להבין שהמידע בעוגיות אלו יכול להשפיע אם מישהו יבצע TAMPERING או INJECTION על מנגנון הURCHIN של גוגל , ובעצם הנזק הפוטנציאלי הקיים למנגנון ניתוח האתר יכול לעלות לנו בכסף. כי אם למשל אני מזריק לUTMC ערך הגדול ב10 ימים מUTMB , וכמו כן מכניס לUTMZ קישורים לגוגל עם מילות חיפוש לא נכונת .. ואני מבצע זאת על ידי מניפולציה על גבי מספר רב של מחשבים - אפשר פוטנציאלית לפגוע באמינות המידע שאנו מקבלים מהמערכת ולגרום לבעל האתר להשקיע משאבים וכסף במקום לא רלוונטי.
אם למשל הזרקתי לאלפי עוגיות ( גם בשימוש מקומי SPOOFED ) מילת חיפוש , נניח XYZ ... בעל האתר יבחין שהמילה XYZ כביכול מביאה אליו יותר נפח תעבורה - ואולי יבחר לשלם עבור השימוש בה לגוגל כדי להופיע בראש רשימות החיפוש וכדומה ... כמו גם למפרסמים באותו אתר. כנגזרת מכך אפשר להבין שהמניפולציה הפוטנציאלית לעוגיות אלו עלולה לפגוע בבעל האתר בצורה עקיפה.
דרך אחת למנוע התקפות כאלה היא על ידי הגנה כנגד COOKIE INJECTION. הגנה מסוג זה בנויה בעצם על מעקב אחרי פקודות SET של COOKIE בדרך כלל. הכוונה היא שמערכת שאמורה לשבת בין המשתמש לבין האתר מצפה לראות קודם SET לCOOKIE על ידי השרת, אם לא היה כזה SET - העוגיה הוכנסה באופן מלאכותי.
דרך שניה, על ידי COOKIE SIGNING ניתן לוודא שאכן העוגיה מכילה מה שהSETTER התכוון כאשר בנה אותה , ולא שובשו ערכים ( יעיל יותר מANTI-TAMPERING למיניהם , לפי דעתי ).
עוד מידע לגבי מנגנון הGoogle Analytics ניתן לקרוא בספרות הבאה :
Advanced Web Metrics With Google Analytics - Bryan Clifton
Google Analytics 2.0 - Jerri L. Ledford and Mary E. Tyler
Google Analytics Shortcuts - Justin Cutroni
Labels: architecture, code, cookies, imperva, privacy