220 likes | 370 Views
פרויקט באבטחת מידע מלכודת דבש ברמת הלקוח client side honey pot דו"ח סופי מקסים סעודה תמיר גפן. התוכנית הכללית. רשת. VMware. ניתוח אוטומטי. ניתוח ידני. התוכנית הכללית. המטרה-לחזות התקפות עתידיות של botnets באמצעות מעקב אחרי הפעילות שלהם ברשת נפעיל על המחשב מספר סביבות וירטואליות
E N D
פרויקט באבטחת מידעמלכודת דבש ברמת הלקוחclient side honey potדו"ח סופימקסים סעודהתמיר גפן
התוכנית הכללית רשת VMware ניתוח אוטומטי ניתוח ידני
התוכנית הכללית • המטרה-לחזות התקפות עתידיות של botnets באמצעות מעקב אחרי הפעילות שלהם ברשת • נפעיל על המחשב מספר סביבות וירטואליות • כל סביבה תודבק בbotnet • ה botnet יתקשר דרך הרשת • במערכת ההפעלה החיצונית נעקוב אחרי התעבורה ברשת, ובמידת הצורך נגביל אותה • מערכת ההפעלה החיצונית מוגנת מפני פעולת ה botnet • באמצעות ניתוח ההתקפות נגלה כיצד botnets מסוגים שונים עובדים
VMware • מאפשרת להפעיל מערכת הפעלה פנימית בתוך מערכת הפעלה חיצונית • יוצרת הפרדה ברמת החומרה בין מערכות ההפעלה: תוכנה שמותקנת במערכת הפנימית לא יכולה להשפיע על המערכת החיצונית-גם לא botnet • נותנת כתובת IP נפרדת למערכת ההפעלה הפנימית • מאפשרת לשמור מצב של מערכת ההפעלה (screenshot) ולשחזר אותו (revert)
WireShark • מאפשר לעקוב אחרי התעבורה ברשת • מאפשר לסנן תעבורה לפי IP: כיוון שיש IP שונה למערכת הפנימית, נוכל לבודד את פעולת ה botnet • מעקב אחרי TCP stream-כל המידע שעבר בתקשורת בsocket מסוים (אבל לא מפרט תקשורת שחוזרת על עצמה) • מפריד בין סוגי פרוטוקול שונים-אנחנו לא מתעניינים בDHCP,NBNS,IGMP ועוד
דרך ההדבקה הדבקה ישירה: • http://www.malwaredomainlist.com/mdl.php • טוב: הרבה אפשרויות להורדה. • טוב: יש באתר מידע קצר על סוג הווירוס • רע: לעיתים קרובות האתרים לא זמינים או שהקבצים פגומים הדבקה ישירה למחצה: • חיפוש שמות של botnets "ידועים לשמצה" ברשת, וניסיון למצוא קבצים בינאריים שלהם • טוב: אפשר לדעת מה הם עושים • טוב: קל למצוא עליהם מידע • רע: לרוב מוצאים רק גרסאות ישנות שלהם, כיוון שמנהלי האתרים נזהרים מהם
דרך ההדבקה-המשך הדבקה ספונטנית: • הדרך בה רוב המשתמשים נדבקים בוירוסים, בוטנטים ויתר התוכנות הזדוניות • למשל, חיפוש בגוגל של מחרוזות חיפוש פופולאריות, וכניסה לאתרים חשודים • טוב: וירוסים חדשים יחסית • טוב: קל למצוא עליהם מידע באינטרנט • רע: האתרים האלה מסוננים באופן קבוע ע"י גוגל, ולעיתים אי-אפשר למצוא כאלה. • רע: נוטים לחזור על עצמם
אלגוריתם לזיהוי פעילות זדונית ברשת • הרעיון הכללי: בדיקת הבדלים בין קבצי WireShark שהוקלטו על מחשב נקי ומחשב נבדק בעת גישה לרשימת אתרים • פתרון 1: diff? • בעיה 1: WireShark עוקב אחרי כל סוגי התקשורת, כולל תקשורת של חומרה שמשתנה בין מחשב למחשב • פתרון 2: לעקוב רק אחרי תקשורת מעניינת: http get, http post, DNS • בעיה 2: מה אם יש IP שונים בין מחשב למחשב, אך ההבדל נובע רק מתשובות שונות של הDNS? • פתרון 3: שמירת רשימת domain "לגיטימיים" שכל IP שמתקבל כתוצאה מבקשת DNS אליהם נחשב "חוקי"
אלגוריתם לזיהוי פעילות זדונית ברשת-המשך • בעיה 3: מה אם IP שמתקבלים בדרכים שונות, אך לא דרך בקשות DNS, למשל פרסומות? • פתרון 4: ספירת מספר בקשות הGET והPOST בקובץ הנקי ובקובץ הנבדק-אם בקובץ הנבדק יש עודף בקשות כאלה-נתריע על כך. אם ההבדל הוא רק בגישות לפרסומות, יש בערך אותה כמות של גישות כאלה ב2 הקבצים (לא פתרון מושלם) • בעיה 4: לעיתים וירוסים לא מוסיפים גישות, אלא משנים גישות-בעיקר גישות שהיו מכווצות יהפכו ללא מכווצות כדי שלווירוס יהיה קל לקרוא אותן • פתרון 5: לכל גישה נבדוק אם היא מכווצת או לא מכווצת, ונתריע על הבדלים ביחס לקובץ הנקי • ישנן בעיות נוספות...
myspace.com.exe דרך הדבקה: • גילינו אותו דרך קישור שמצאנו ב MDL רקע: • ircbot משתמש בפרוטוקול צ'אט לצורך תקשורת עם הC&C. חדש יחסית-מידע זמין רק מאפריל • נטען עליו שהוא פוגע במערכת המקומית ומוריד תוכנות זדוניות התנהגות נצפית: • כשהוא נפתח פותח דף MySpace רגיל, אך כשאנו עוברים לדף אחר מוציא הודעת אזהרה
myspace.com.exe-המשך התנהגות נצפית • בזמן אתחול המחשב ה bot שולח לC&C מידע על המחשב עליו הוא יושב • הC&C שולח באופן מחזורי הודעות לווירוס כדי לבדוק שהוא חי, וגם שולח לינק לקובץ שממנו הורדנו אותו (שאינו פעיל כעת) • הווירוס מזדהה בתור infocard, הידוע כתהליך של מערכת ההפעלה • לא הבחנו בהתנהגות נוספת
-ZeuSדרך הדבקה ורקע דרך הדבקה: • גילינו אותו דרך קישור שמצאנו ב MDL • מיליוני מחשבים מודבקים בווירוס גם כעת, אבל חברות האנטי-וירוס למדו כיצד לזהות אותו ולנטרל אותו • גם אנחנו לא הצלחנו להידבק בו תקופה ארוכה, כיוון שהאנטי-וירוס של הטכניון ידע לזהות ולחסום אותו • הפתרון שמצאנו היה להשתמש בתקשורת באמצעות tunnel-דרך ספקיות אינטרנט פרטיות רקע: • הbotnet הפעיל ביותר ברשת האינטרנט
ZeuS- המשך רקע • סוס טרויאני, מנסה לגנוב פרטים אישיים ע"י מעקב אחרי ההקשות במקלדת (Key Logging) • לבוט אין יכולת מובנת להפיץ את עצמו למחשבים אחרים. ברוב המקרים הבוט מופץ באמצעות spam • מחסור זה ביכולת הפצה עצמית גורמת לכך שהסיכוי לגלות את הבוט קטן יותר • קובץ קונפיגורציה סטטי מקומפל לתוך הבוט, קובץ זה מכיל אינפורמציה שהבוט יצטרך כדי לבצע את ההרצה הראשונית • אחת היכולות היותר מעניינות של הבוט היא האפשרות "להזריק" מידע חדש באופן דינמי לאתרים ברשת שהמחשב המודבק גולש בהם set_url http://www.bank.com/login.html GP data_before name="password"*</tr> data_end data_inject <tr><td>PIN:</td><td><input type="text" name="pinnumber" id="pinnumber" /></td></tr>
ZeuS-התנהגות נצפית • הבוט מבצע תחילה בקשת GET ל C&C שלו על מנת לקבל את קובץ הקונפיגורציה הדינמי האחרון • הבוט אוסף אינפורמציה מהמחשב המודבק, קובץ הקונפיגורציה קובע איזו אינפורמציה הבוט יאסוף • הבוט שולח פקודת POST ל C&C שלו, שמכיל את המידע שהבוט אסף • הבוט מאתחל שלושה טיימרים לפי הערכים שנקבעים לו בקובץ הקונפיגורציה הסטטי, כל טיימר מפעיל פונקציה אחרת: • קבלת קובץ קונפיגורציה חדש מהסרבר (ברירת המחדל היא 60 דקות) • שליחת המידע שהבוט אסף לסרבר (ברירת המחדל היא דקה) • שליחת סטטיסטיקה לסרבר (ברירת המחדל היא 20 דקות)
Ultimate codes דרך ההדבקה: • גילינו אותו דרך קישור שמצאנו ב MDL רקע: • ידוע גם בתור הבוטנט Rustock C,שמכיל טכניקות מתוחכמות לפריצה למחשב וגרימת נזק • וירוס שעוסק בעיקר בspam, חדש יחסית ברשת • בתוכו נשתלה תוכנה המאפשרת גישה מרחוק למחשב המודבק התנהגות נצפית: • מייצר תקשורת, שולח בקשות לשרת אי-מייל • מוריד קבצים מהרשת, אך אלו אינם קובצי קונפיגורציה. אחד מהקבצים שהוא מוריד הוא 2 סוסים טרויאניים מסוג cryptic (לפי תוכנת האנטי-וירוס שלנו)
Ultimate codes-המשך • מרבית הגישות לרשת הן לאתר שאינו פעיל • הבוט מנסה לקבל דואר באמצעות פרוטוקול SMTP מחשבונות פייסבוק, אולם לא מקבל תשובה • הבוט מקבל IP של האתר go-thailand-now.com, הידוע כאתר בעייתי שתוכנות זדוניות רבות יושבות בו. אם זאת, לא זיהינו גישה לכתובת הIP • אבל יש דבר אחד שאינו צפוי בו...
Ultimate codes וויקיפדיה • בשלב כלשהו הווירוס פונה לויקיפדיה ומבקש דף אקראי, וניגש אליו • לאחר מכן הוא גולש לדף הראשי של ויקיפדיה, ואז לערך של רוסיה, ועוד מספר ערכים, כולל software ו binary tree • האתר www.m86security.com טוען שזוהי שיטה של הוירוס לקבל מידע רנדומלי שאינו ניתן לחיזוי על-ידי תוכנות אנטי-וירוס ואנטי-spam • הוירוס לוקח מחרוזות מתוך הדף האקראי שקיבל, מוסיף אותם לאי-מיילים מוכנים מראש ושולח אותם כדואר זבל, אך בעקבות התוספת של המחרוזות מויקיפדיה מסנני הspam אינם מזהים אותם • אולם בכך אין הסבר לגישות הלא אקראיות לויקיפדיה
בעיות • לא מצאנו בוטנטים רבים, כי מנהלי האתרים לא מעוניינים לפרסם אותם • החיבור בו אנו משתמשים חוסם את רוב הפורטים הזמינים, ומפעיל אנטי-וירוס שחוסם גישה לכתובות http חשודות • בדרך כלל כשמצאנו בוטנט פעיל יחסית, עד שניתחנו מה צריך לעשות איתו וניסינו להריץ אותו שוב-שרת הC&C שלו כבר נסגר והוא לא היה פעיל • ברשתות אחרות (למשל הרשת האלחוטית בטכניון) אי-אפשר להתחבר לאינטרנט במערכת ההפעלה הפנימית.
עבודות לעתיד • פיתוח נוסף של האלגוריתם-ניסיון לאגור רשימות של כתובות IP חשודות ולנסות להשוות אותן לרשימות שחורות של כתובות IP ברשת • ניסיון למצוא שרת C&C של ZeuS שיישאר פעיל לאורך זמן • להידבק ספונטנית בוירוס (להחליט באופן ספונטני שבא לך להדבק בוירוס וללכת ל MDL לא נחשב), בתקווה שהוא יישאר פעיל ברשת • להשתמש בקוד שפיחתנו לגילוי פעילות זדונית ברשת-בעיקר עבור גילוי מקרים של הדבקות ספונטניות