1 / 36

פרוייקט באבטחת מידע 236349 חורף 2011

פרוייקט באבטחת מידע 236349 חורף 2011. Who’s been stealing my honey – analyzing hacker activities in honeypots. אנסטסיה שציוקין ליאור קשת בהנחיית עמיחי שולמן. תזכורת - Honeypots. Honeypot הינו שרת המיועד למשוך אליו האקרים על מנת לנטר ולנתח את אופי פעילותם.

argyle
Download Presentation

פרוייקט באבטחת מידע 236349 חורף 2011

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. פרוייקט באבטחת מידע 236349 חורף 2011 Who’s been stealing my honey – analyzing hacker activities in honeypots אנסטסיה שציוקין ליאור קשת בהנחיית עמיחי שולמן

  2. תזכורת - Honeypots • Honeypot הינו שרת המיועד למשוך אליו האקרים על מנת לנטר ולנתח את אופי פעילותם. http://www.syshacks.com/showthread.php/11338-Honey-Pots

  3. תזכורת - רשת TOR • TOR הינה רשת המאפשרת גלישה אנונימית באינטרנט. כל אדם יכול להתחבר דרך רשת TOR ובכך להסתיר את זהותו. • איך זה עובד: משתמש הקצה מתחבר לשרת TOR כלשהו באופן רנדומלי. שרת זה מתחבר לשרת TOR נוסף (שוב באופן רנדומלי), וכך הלאה דרך שרשרת שרתים. לבסוף התעבורה עוברת מהשרת האחרון בשרשרת הנ"ל אל מחשב היעד. • אנונימיות המשתמשים מוסתרת כך: בכל מעבר מ – Node ל – Node (שרתים בשרשרת), ה – header של החבילה מוצפן ע"י מפתחות שונים, כך שכל Node המשתתף בשרשרת מכיר רק את ה – Node לפניו ואחריו, ולא יכול לפענח את המידע. • השרת היחיד שרואה את התעוברה היוצאת (כולל היעד שלה, אך לא המקור שלה) הוא השרת האחרון בשרשרת. • בכל פרק זמן קצר (כ – 10 דקות) השרשרת משתנה, והתעבורה תנותב בצורה חדשה.

  4. ה – honeypot שלנו: • אנחנו משתמשים בשרת TOR, אשר כפי שהוסבר קודם עוברת דרכו תעבורה מרשת TOR. עבור חלק מתעבורה זו, השרת מהווה node בתוך השרשרת, ולכן לא מסוגל לדעת מה יעד התעבורה. • עבור חלק אחר של התעבורה, השרת שלנו נבחר כשרת קצה בשרשרת, וכך ניתן לראות את היעד של המידע. • את המידע אנחנו מנתחים בעזרת מערכת SECRET

  5. תזכורת - מערכת ה - SECRET

  6. תזכורת - מערכת ה - SECRET • SECRET – SECurity Research EnviornmenT • מערכת זו פותחה ע"י חברת Imperva • המידע המתקבל במערכת הינו בקשות HTTP • המערכת מיועדת לנתח כמות גדולה של מידע העובר בשרת קצה של TOR, ע"י סינון בקשות ה - HTTP על פי כללים הניתנים להגדרה מראש.

  7. מטרות הפרוייקט • זיהוי אפקטיבי של התעבורה הזדונית (נשים לב שלא כל התעבורה זדונית בהכרח, חלק מהמשתמשים ברשת TOR עושים זאת למטרות שמירה על פרטיותם בלבד), תוך מזעור כמות התעבורה הלגיטימית הנאספת במערכת. • ניתוח פעילות זדונית באמצעות מנועי חיפוש. • גילוי וניתוח של מספר התקפות המכוונת כלפי יעד מסוים (או בעלות מטרה משותפת). • זיהוי התקפות בעלות מכנה משותף (יעד, סוג וכו' ).

  8. ניתוח הנתונים • במהלך הפרוייקט עבדנו עם סה"כ 4,143,030 חבילות שונות שעברו בשרת TOR ואותן ניתחנו באמצעות מערכת SECRET. • הנתונים נאספו החל מ – 17.10.2011 ועד ה – 25.1.2012 (תקופה קצת מעל 3 חודשים). סה"כ האירועים שמצאנו וניתחנו מהווים חלק מאוד קטן מכלל בקשות ה-HTTP שהתקבלו במערכת:

  9. רובה הגדול של התעבורה שהתקבלה במערכת מיועד לאתרים בארה"ב.

  10. צורת העבודה • על מנת למצוא תעבורה זדונית, עבדנו בשתי דרכים עיקריות: 1.חיפוש התקפות "מוכרות" שעברו בשרת שלנו ע"י סינון של תעבורה בהתאם להתקפה אותה חיפשנו. לדוגמא עבור SQL Injection, חיפשנו חבילות המכילות מחרוזות עם פקודות SQL. 2. ניתוח התעבורה אשר עברה בשרת. בין היתר חיפשנו כמות גדולה של חבילות אשר נשלחו לאותו יעד בפרק זמן קצר (כלומר נוצרו על ידי כלי אוטומטי), חבילות שנשלחו ע"י User Agents חשודים, ועוד. צורה זו דורשת לא מעט יצירתיות וזמן, וכן - קצת מזל. מצד שני, בדרך זו ניתן להתקל בהתקפות פחות מוכרות ולעיתים יותר מעניינות.

  11. התקפה על סוכנות ממשלתית ברזילאית המנהלת מיסים http://www.receita.fazenda.gov.br/ Receita Federal זוהי סוכנות ממשלתית שמרכזת את כל המידע הקשור למיסים: הצהרות הכנסה של חברות ושכירים, מילוי טפסים, ובדיקת הוצאות. כמו כן, ניתן לגשת למסד הנתונים שלה לצורך בדיקה ואימות תעודות זהות, פרטי תשלומי מיסים וכו'. באתר, ניתן לגשת בין השאר לנתונים הבאים: CPF- Social Security Number CNPJ- a company’s social security number הדרכים היחידות לבדוק סטטוס של CPF וCNPJ הם באמצעות האתר, ולפני הצפייה בנתונים יש למלא Captcha (רגילה או ווקאלית). חברות ברזיליות, כגון בנקים, משרדי עו"ד, אשראי וכו', צריכות לבדוק את פרטי הלקוחות בצורה ידנית באתר, מכיוון שהממשלה אינה מספקת API לצורך בדיקת פרטים. כך, נוצר מצב בו לצורך חסכון בכסף ובכח אדם, חברות אלה רוכשות תוכנות לא חוקיות לפריצות של captchas.Receita Federalמודעת למצב, ומוסיפה בכל פעם הגבלות חדשות.

  12. CNPJ from Santander Bank in Brazil

  13. שרת ה- TOR תפס 101,250 אירועים בטווח התאריכים:17/10/11-25/01/12 • עפ"י ניתוח של שדה User agent ,עולה כי הגישות כנראה נעשו משתי מערכות הפעלה: windows 7 64-bit version ו- linuxUbuntu v.7.10. (יש לשים לב כי נראה ששדה ה- user agent השני לא מעודכן (או לא נכון), כיוון שגרסת הלינוקס ישנה מאוד וכך גם גרסת הפיירפוקס.)

  14. הגישות מהווינדוס נעשות רק לצורך פתירת captchaשל CPF ואילו המשתמש השני ניגש גם ל- CNPJ.

  15. אחרי קיבוץ עפ"י URL, ניתן לראות כי רוב הגישות שהתקבלו במערכת פונות לCNPJ-. כלומר, לנתוני חברות.

  16. התקפה של אתר בלוגים יפני • Ameba הוא אתר בלוגים יפני פופולרי, שרשומים אליו כ-20 מיליון משתמשים. • שרת הTOR- תפס 46,886 אירועים בטווח התאריכים: 17/10/11-25/01/12. • במהלך ההתקפה נעשתה גישה רציפה בפרקים ל- 964 דפי משתמשים של האתר ע"י כלים אוטומטיים.

  17. עפ"י בדיקה של שדהHttp Headers: Accept-Language מקבלים את הנתונים הבאים: ניתן לראות כי רק 11% מהגישות הכילו בשדה הנ"ל את השפה היפנית, וכל השאר הכילו רק אנגלית. לכן מקור ההתקפה כנראה אינו יפן.

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

  19. התקפה של אתר בלוגים יפני ב- 18/12/11 בשעות הבוקר ,שרת ה-TOR הפסיק לקבל חבילות שמיועדות לAmeba, וישנו פער בין האירועים עד ל28/12/11. בחיפוש ברשת, מצאנו כי היתה התקפה על Ameba שפגעה ב- 50,000 משתמשים , ובין היתר מליל ה- 24/12/11 משתמשים רבים לא הצליחו להתחבר. כאמור, בשרת TOR לא נקלטו אירועים סביב מועד זה, אך אנו חושבים שיש קשר בין האירועים. בנוסף, בכתבה לא מצוין מה היתה ההתקפה,אך מהנתונים שקיבלנו מהשרת- כנראה זו היתה התקפת DoS.

  20. ניתוח SQL Injection • SQL injection: התקפה המנצלת פירצות בגישה אל מסדי נתונים על מנת לבצע בו פעולות שלתוקף אין גישה לבצע במצב רגיל. • על מנת למצוא חבילות השייכות להתקפות מסוג זה, חיפשנו חבילות המכילות את הביטוי הרגולרי הבא - select.*(from|where|union|set|drop)|from.*(where|union|set|drop)|where.*(union|set|drop)|union.*(set|drop)|set.*(union|drop)| • .*UNION.*ALL.* • הביטוי נבנה במטרה למצוא כמה שיותר התקפות אמיתיות (לפספס כמה שפחות התקפות שכן אירעו, ולקבל כמה שפחות אירועים שאינם התקפות). • באמצעות חוק זה הגענו לכ – 10,000 חבילות, אשר משוייכות למעשה לכ – 15 התקפות SQL injection שונות.

  21. התקפת SQL Injection על www.filesonic.com

  22. ניווט בחבילות שנמצאו מציאת החבילות הרלוונטיות

  23. מבט על חבילה אחת ספציפית מתוך ההתקפה הקוד הזדוני

  24. SQL Injection על filesonic • ההתקפה נפרשה על פני 212 חבילות, לאורך כ – 8 דקות. כלומר, נשלחה חבילה כל כ – 2 שניות כלי אוטומטי. הקוד הזדוני שניסו להזריק למסד הנתונים (בחבילה אחת ספציפית): -2068 UNION ALL SELECT NULL, NULL, NULL, NULL, CONCAT(0x3a676b743a,IFNULL(CAST(COUNT(*) AS CHAR),0x20),0x3a736f6f3a), NULL, NULL, NULL, NULL, NULL, NULL, NULL FROM information_schema.COLUMNS WHERE table_name=0x646f776e6c6f6164735f636f756e746572735f313534 AND table_schema=0x66696c65736f6e69635f646f776e6c6f616473#

  25. ניתוח התקפת SQLi על www.lumen.com.mx • מדובר ברשת מקסיקנית בעלת כ – 50 סניפים, המוכרת מוצרים שונים.

  26. סה"כ חבילות שנמצאו הגדרת החוק חבילה לדוגמא:

  27. ניתוח ההתקפה • בסה"כ נשלחו 2,907 חבילות תחת מתקפה זו, במשך כ – 8 דקות. כלומר ממוצע של 6 חבילות לשניה (שוב, כלי אוטומטי). • הזרקת הקוד התבצעה לשדה IDSEC (מסומן בשקף הקודם). שדה זה מסמן את קטגוריית המוצרים שנבחרו באתר (קל להבין דרך ה – View Source באתר עצמו).

  28. ניתוח ההתקפה 1 AND (SELECT 3169 FROM(SELECT COUNT(*),CONCAT(0x3a6e686d3a,(SELECT MID((IFNULL(CAST(RESPUESTA AS CHAR),0x20)),601,50) FROM lumen_lumen.COMETrespuesta ORDER BY ID LIMIT 8688,1),0x3a73646c3a,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) • ברוב המקרים, התוקף צריך לזהות מול איזה Database הוא עובד. במקרה זה, כנראה שלתוקף יש מידע מוקדם על מסד הנתונים, מכיוון שרואים שהוא משתמש בשמות של שדות במסד. יכול להיות שהוא גילה זאת באמצעות התקפה מוקדמת. • ההתקפה בנויה ממחרוזות רבות, אשר ההבדלים ביניהן קטנים. כנראה שהכלי האוטומטי ששימש להתקפה מקבל תשובה מה – Database, ובונה שאילתה נוספת על פי התשובה. • שאילתה נוספת לדוגמא (גם שאר השאילתות דומות מאד): 1 AND (SELECT 4589 FROM(SELECT COUNT(*),CONCAT(0x3a6e686d3a,(SELECT MID((IFNULL(CAST(RESPUESTA AS CHAR),0x20)),4051,50) FROM lumen_lumen.COMETrespuesta ORDER BY ID LIMIT 8699,1),0x3a73646c3a,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)

  29. ניתוח Google hacking • ההתקפה משתמשת ביכולות המתקדמות של חיפוש באמצעות google על מנת להגיע לעמודים מאד ספציפיים שאותם התוקף מחפש. • פקודות לדוגמא שניתן להשתמש בהן – inurl: - חיפוש בתוך כתובת של אתרים. Intitle: - חיפוש בכותרת העמוד. Filetype: חיפוש סוג קובץ מסויים. • השתמשנו בפקודות כגון אלו על מנת לזהות התקפות מסוג זה. • דוגמא לחוק רלוונטי: חבילות המכילות בשדה ה – HTTP Parameters את הביטוי .*intitle:.*inurl:.* • בסה"כ התקבלו 1,315 חבילות מחוקים כאלו. • דוגמא לחבילה שנתקלנו בה: • intitle:"Index of..etc" passwdsite:www.megsonfitzpa.trick.com

  30. Google hacking • מניתוח האירועים שמצאנו, ניתן להבין כי כל החבילות הנ"ל (1,315) שייכות למתקפה אחת, שאירעה ב – 30.11.2011, בין השעות 19:02 ל – 19:06 בערב (כ – 5.5 חבילות שונות בשנייה). • סביר מאד להניח שהתוקפים השתמשו בכלי אוטומטי אשר מחפש עמודים החשופים למתקפה כזו, עבור אתרים ספציפיים אשר אותם ניסו להתקיף.

  31. דוגמאות מתוך ההתקפה: • רוב החיפושים התמקדו בשליפת סיסמאות מקבצים מסויימים (קבצי DAT, אקסל, SQL): • filetype:dat "password.dat" site:figbug.com • "login: *" "password= *" filetype:xlssite:spin-centre.ca • filetype:sql ("values * MD5" | "values * password" | "values * encrypt") site:figbug.com • ניסיון שליפת סיסמא מלוגים של אתר: • "your password is" filetype:logsite:qa1.ironlab.org • תוצאות עבור התקפה זו – בשקף הבא

  32. עבור החיפוש (תוך השמטת הדרישה על האתר) - "login: *" "password= *" filetype:xls התקבלו תוצאות מעניינות האתר שנמצא: תוכן קובץ האקסל (שניתן להוריד ישירות)

  33. תוצאה נוספת – הזמנה מאתר המספק שרותיSearch Engine Optimization, כולל פרטי המזמין בסה"כ, התקבלו 483,000 תוצאות לחיפוש הנ"ל

  34. סיכום ומסקנות • אחת המטרות של פרוייקט זה היתה לנסח חוקים למציאת התקפות שונות. עבור התקפות נפוצות כגון SQL Injection , Path traversal , וgoogle hacking ניתן היה לנסח חוקים ברורים למציאת האירועים. אך עדיין נדרש מעבר על סך האירועים לצורך מציאת התקפות מסוג אחר וכדי למצוא כיוונים חדשים לניסוח חוקים שונים. לדוגמא, ההתקפה על אתר הבלוגים היפני נמצאה ע"י מעבר על כלל האירועים ומציאת כמות גדולה ותדירה יחסית של בקשות מאותו סוג. • רוב ההתקפות שמצאנו היו בשיטה GET . הן ניצלו נקודת חולשה של אתר כלשהו, או שהעמיסו בכמות הבקשות. • קושי גדול בניתוח התעבורה נובע מכך שאנו לא יודעים דבר על כתובת המקור. ניתן למצוא רמזים למיקום התוקפים ע"י מאפיינים של הפרמטרים כגון Accept Language (שפות שהשולח יקבל כתגובה), User Agent (שפת מערכת ההפעלה)- אך גם הם לא תמיד אמינים, כיוון שניתן לשנות אותם בקלות.

  35. סיכום ומסקנות- המשך • בנוסף, לא ניתן תמיד לקבל את כל המידע שנרצה מאירוע, מכיוון שלרוב אנו מקבלים רק את החבילה הראשונה של בקשת ה-HTTP. • מערכת הSECRET מאוד הקלה על עבודתנו. זהו ממשק נח בו ניתן לנתח את החבילות המתקבלות בשרת ה-TOR. כדי למצוא התקפות נוספות וכלים למציאת חוקים מתאימים חשוב לנתח את המידע בצורה מדגמית. כמו כן, ניתן לחפש התקפות מכיוונים אחרים כגון חולשות של אתרים, התקפות מפורסמות קודמות וכו'.

More Related