250 likes | 391 Views
Ultra-anonymity networkS. Roni Licher Ofir Brezner. Tor Project – רשת אנונימית.
E N D
Ultra-anonymity networkS Roni Licher OfirBrezner
Tor Project – רשת אנונימית Tor הינו פרויקט המספק תוכנה ורשת שרתים המפוזרים ברחבי העולם אשר משמשים כפרוקסי בין הלקוח המעוניין להיות אנונימי לבין אתר היעד. התעבורה של הלקוח מנותבת דרך שרשת של פרוקסים (ברירת מחדל 3) לפני שהיא מועברת ליעד.
הבעיה קיימת התקפה המסוגלת להחליש את האנונימיות המסופקת ע"י Tor. בהתקפה זו תוקף יכול להאזין בסתר על תעבורת ה-ISP של אחד משרת הפרוקסי בשרשרת ולקשר בין 2 השרתים איתם הוא מדבר.
הפתרון שימוש בטלפון חכם המסוגל לתקשר אל האינטרנט גם דרך WiFi וגם דרך הרשת הסלולרית. אפליקציה המקבלת מידע מספקית אינטרנט אחת דרך קישוריות WiFi ושליחת המידע דרך ספקית האינטרנט הסלולרי. לחלופין שימוש בהחלפת רשתות WiFi הזמינות בסביבת המכשיר בהינתן דגש על החלפת ISP. בפרויקט, אפליקציה מאפשרת העברת קבצים בין מחשב לקוח לשרת דרך הטלפון כאשר קבלת המידע מתבצעת דרך ספקית A ושליחת המידע דרך ספקית B.
הפתרון ISP B ISP A File server client
החלפת ISP ISP A ISP B ISP A
החלפת ISP – סדר עדיפויות ISP A ISP B ISP C ISPA החלפת ISP ע"י מעבר בין WiFi ותקשורת סלולרית. החלפת ISP ע"י מעבר בין רשתות WiFi שונות. בהיעדר חלופות, התחברות לכל רשת ולאחר המתנה ניסיון חוזר. בהיעדר כל רשת, המתנה קצרה ללא אינטרנט וניסיון חוזר.
יצירת קישור מלקוח לאפליקציה בין אם הטלפון נמצא ברשת הסלולרית ובין אם נמצא ב-WiFi מרבית הסיכויים שהינו מאחורי NAT. בפתרון שלנו יצירת החיבור הראשוני מתבצעת באמצעות שירות Google Cloud Messagingאשר מאפשר לשלוח הודעות אל הפלאפון ע"ג חיבור המתוחזק ע"י מערכת ההפעלה לשרתים של גוגל. שירות ה-GCM אחראי לאגור את הבקשות וכשהפלאפון זמין מעביר אליו אותם. האפליקציה "תתפוס" את הבקשות הנ"ל ותיצור חיבור ישיר אל הלקוח. NAT client Client-IP 192.168.1.2
מבט על - קצה לקצה File server client
אפליקציית הלקוח על מנת להשתמש באפליקציה על הלקוח לבצע את הפעולות הבאות: הלקוח יוצר קשר עם שרת הבקרה ומודיע לו על רצונו להשתמש באפליקציה. הלקוח שולח הודעה המכילה בקשת התחברות ואת ה-IP וה-Port עליו הוא מאזין. הלקוח ממתין לאפליקציה עד אשר היא תיצור איתו קשר. כאשר החיבור בינו לבין האפליקציה מתבצע הלקוח ישלח את המידע בצירוף עם ה-IP וה-Port של שרת היעד. הלקוח ימתין לדיווח על הצלחת הפעולה. חיווי זה ישלח על אותו . client
אפליקציית הלקוח Registration ID – מזהה יחודי של הטלפון המשויך לאפליקציה ב-GCM. למעשה משמש ככתובת של הטלפון באינטרנט. המזהה נוצר בהפעלה הראשונה של האפליקציה.
שרת קבצים שרת הקבצים יהווה את היעד אליו הלקוחות ישלחו את המידע. השרת מאזין לבקשות אחסון נתונים. לאחר אחסון הנתונים שולח חיווי הצלחה.
פרוטוקול העברת הקבצים Android – Client : OK status Android – Client : Get file Android – Server: Send file Server Android Android Client Android Client \ Failed
בסיס נתונים באפליקציית האנדרואיד עבור כל קובץ נשמרים הנתונים הבאים: ID ייחודי. IP, Port של הלקוח ששלח את הקובץ. שם הקובץ. IP, Port של שרת היעד. ה-ISP עמו תקשרנו עם הלקוח. ה-ISPעמו תקשרנו עם השרת היעד. מצב הפעולה: Waiting to send, Waiting to ACK sent מימוש ע"י SQLitefor android
אפליקציית האנדרואיד - אלגוריתם בדיקת קיום התקשרות לאינטרנט ובמידה ואין הקמת חיבור דרך האופציות הקיימות. המתנה להגעת בקשות ב-Push משרת ה-.GCM עבור כל בקשה: התחברות אל הלקוח ע"פ נתוני הבקשה. קבלת הקובץ ומידע על יעדו. שמירתו במאגר הנתונים. עבור כל קובץ הנמצא ב-DBמתבצעת בדיקה האם ה-ISP הנוכחי שונה מה-ISP ממנו התקבל הקובץ ואם כן הקמת התקשרות אל שרת היעד והעברת הקובץ. עבור כל קובץ שנשלח בהצלחה, מתבצעת בדיקה האם ה-ISP הנוכחי שונה מה-ISP ממנו נשלח הקובץ ואם כן הקמת התקשרות אל הלקוח והודעה על הצלחה/כישלון. המתנה לסיום כל החיבורים הפעילים. בהינתן פעולות שאינן מותרות על ה-ISP הנוכחי, החלפת ISP בהתאם לאלגוריתם שהוצג.
החלפת רשתות - המשך (WiFi) התחברות לAccess Points שאינם דורשים סיסמא או שדרושה סיסמא וכבר בוצעה אליהם התחברות מהמכשיר קודם. (WiFi) עדיפות בבחירת רשת אלחוטית על פי עוצמת האות של הרשתות. (WiFi) סינון כפילויות של נתבים שונים בעלי אותו SSID. (3G) הפעלה וכיבוי של האינטרנט הסלולרי ע"י הפעלת פיצ'ר מוסתר במערכת ההפעלה. הפעלתו ע"י .REFLECTION בדיקת חיבור לאינטרנט ע"י ניסיונות הבאת שם ה-ISP מאתר אינטרנט. מספר ניסיונות בהפרש של שניה בין ניסיון לניסיון ע"מ להתמודד עם זמני התייצבות החיבור לאינטרנט.
אפליקציית האנדרואיד - מבנה Main Thread אחראי על ה-GUI, על ניהול ההתחברות לאינטרנט ועל הפעלת שאר הThreadים. Handle GCM message מורץ בעת קבלת הודעה מה-GCM. אחראי על פתיחת קישור ללקוח וקבלת המידע. Handle Stored Files אחראי על שליחת קבצים שנאגרו וניתנים לשליחה על ה-ISP הנוכחי. ‘Sent status’ Sender אחראי על שליחת הודעת הצלחה ללקוח בהינתן ISP שונה מה-ISP באמצעותו נשלח הקובץ. Main Thread (GUI) Handle GCM message Handle Stored Files ‘Sent status’ Sender . . . . . . . . . . . . . . . ‘Sent status’ Sender Handle GCM message Handle Stored Files
מציאת ה-ISP דרכו המכשיר מחובר לאינטרנט שימוש באתר האינטרנט http://whoismyisp.org/
מסך ראשי - מוניטור סוג החיבור פרטי התקשורת מספר המשימות שבמאגר לוגים: בקשות שהתקבלו. קבצים שהובאו מהלקוח. קבצים שנשלחו לשרת. אישורי ביצוע שנשלחו ללקוח.
הרחבות אפשריות לעתיד המערכת מאפשרת הוספה של פעולות היכולות להתבצע בצורה א-סינכרונית. הפעולות יכולות להתבצע באמצעות העברת קובץ המכיל את כל המידע הנחוץ והוספת Class לאפליקציית המובייל היודע לקרוא את הקובץ ולפעול על פיו (לדוגמא, שליחת המייל דרך Gmail). הוספת אופציה לשרשר מספר אפליקציות לשיפור האנונימיות. הוספת שרת אינטרנט המנהל את כל הטלפונים שמריצים את האפליקציה. בעת בקשת שימוש על ידי משתמש קצה, המשתמש מתשאל את האתר ומקבל RegID של פלאפון דרכו הוא יכול לתקשר בצורה אנונימית. הצפנת הקובץ וכל התקשורת שעוברת באינטרנט. הוספת התממשקות לרשת TOR.