Presentation is loading. Please wait.

Presentation is loading. Please wait.

Locating malicious botnets using traffic analysis

Similar presentations


Presentation on theme: "Locating malicious botnets using traffic analysis"— Presentation transcript:

1 Locating malicious botnets using traffic analysis
Moty Zaltsman Supervisior: Dr. Rachel Ben-Eliyahu

2 What is a malicious botnet
A group of attacked computers that are controlled by a botnet controller Botnets are today’s most fast evolving threat in the internet. Botnets have many network topologies, we will study the Centralized C&C Server This field is a hot research topic in many universities מה זה בעצם רשת BOTNET, רשת כזו היא בעצם רשת של מחשבים שהותקפו ללא ידיעתם וכעת הם חלק מרשת גדולה של מחשבים שמנוהלת על ידי התוקף לביצוע של פעולות מתואמות. לדוגמא (ובהמשך נראה אנימציה קצרה על כך): אם תוקף השתלט על כמות גדולה מאוד של מחשבים הם יכול לתת לכולם פקודה לבצע תקיפת DDOS על שרת מסוים במועד מסויים וכך בעצם להשבית את אותו השרת. לרשתות אלו יש מספר טופולוגיות, בפרוייקט זה התמקדתי בטופולוגית שרת ריכוזי בודד ובהמשך אפרט יותר על כך. נושא זה נחקר במספר אוניברסיטאות רב, בארץ מתבצעים מחקרים גם באוניברסיטת תא וחיפה. הערות לשקף: מעכשיו בכל פעם שאתייחס לרשת BOTNET הכוונה היא רשת של BOTNET זדוניים קיימות מספר טופולוגיות של רשתות BOTNET, אם יהיה זמן יש לי שקף בסוף על הטופולוגיות בהרחבה. בעיקרון אנו נתייחס רק לטופולוגיה של שרת יחיד ריכוזי אל מול קבוצה גדולה של רשת BOTNET רשת כזו יכולה להכיל עד כ מיליון מחשבים! בשקף הבא נראה קצת מהאיומים שמציגות רשתות בוטנט.

3 Botnet threats Distributed Denial of Service Personal Identity Information (Password etc..) Sending SPAM Victim itself act as a Proxy Server רשתות BOTNET יכולות לבצע מספר רב של התקפות ואיומים שאנחנו שומעים עליהם מידי יום. . רוב שליחת דואר ה SPAM כיום באינטרנט מבצע בעזרת רשתות כאלו וזאת מכיוון שמחשב בודד לא יכול לשלוח כמות גדולה של דואר לקבוצה גדולה של אנשים (הוא יחסם על ידי שרת הדואר) הפעולה מבוצעת בעזרת שליחה מבוזרת על הודעות דואל כאלו על ידי רשת של נניח חצי מיליון מחשבים מודבקים שכל אחד מהם שולח 10 הודעות וכך בקלות ניתן להגיע למסות אדירות של SPAM. כמובן שגם קיימת תעשיה שלמה (לא חוקית כמובן) מאחורי דברים אלו. אין צורך לציין שהאינטרס הכלכלי כאן הוא גדול ביותר.

4 Building a botnet Botnet controller Command & Control Server
יש להדגיש מספר דברים: המחשבים שהפכו לזומביים לא מודעים לעובדה זוף פעולת השימוש במחשבם כמחשב זומבי נעשית בצורה סמויה. נעשים מאמצים רבים על ידי יוצרי רשת ה BOTNET להסתיר את פעולת ה BOT במחשב הנתקף. (אפרט בהמשך) כמו כן כאן אנו רואים טופולוגיה שבה שרת בודד שולט על כל קבוצת המחשבים. טופולוגיה שכיחה יחסית.

5 Centerliazed C&C Server
זוהי דוגמא לרשת BOTNET של מספר אלפי מחשבים בצפון מזרח אמריקה. כל נקודה אדומה על המסך היא מחשב ZOMBIE שהותקף ואינו יודע שהוא חלק מרשת BOTNET בשקף הבא נראה בעצם איך כל המחשבים כאשר נפזר אותם בצורת כוכב סביב שרת השליטה נראים המחשבים לא נמצאים בים הם רק מפוזרים בצורה שווה.

6 Project Goals Understand and learn the network behavior of botnets
Develop network detection algorithms to detect unknown botnets Detection based signatures is obsolete

7 Project Steps Status Step in project Completed Get many botnet samples
Create a virtual environment to run the botnets Record botnet network traffic Learn network traffic characteristic of botnets Partially Completed Develop detection algorithms T.B.D Test Algorithms in an enterprise environment כאן לתאר בעצם את מהלך הפרוייקט ומה המטרה הסופית של התהליך (יצירת מכונה) אז מה בעצם עשיתי בפרוייקט. מטרת הפרוייקט היתה בעצם ללמוד מאפיינים תקשורתיים של רשתות בוטנטים כאלו כאשר לצורך כך אספתי דגימות של רשתות כאלו, לאחר מכן הייתי צריך ליצור סביבה מאובטחת על מנת להריץ את הדגימות האלו וזאת לצורך הקלטה של ההתנהגות התקשורתית של הכלים. (גם כאן נתקלתי במספר קשיים שאפשרט בהמשך). בסוף של תהליך לאחר שהיו לי הקלטות של התנהגות תקשורתית של כל רשת בוטנט כזו (אני הקלטתי למעשה) מחשב יחיד מתוך כלל הרשת) הייתי צריך להפוך את הנתונים האלו לכאלו שאפשר להשתמש בהם על מנת לנתח אותם ולהגיע למאפיינים תקשרותיים של רשתות כאלו. בסופו של תהליך לאחר שהצלחתי לאפיין התנהגויות תקשורתיות של הסוסים, המטרה היתה לפתח מכונה שתבצע תהליך של איתור רשתות בוטנטים כאלו בתוך ארגונים בצורה אוטומטית אך ב OFFLINE. כלומר מכונה שתאזין לתעבורה, יגיע מנהל רשת או מנהל אבטחת מידע יפעיל את האפליקציה שתתחיל לנתח את ההקלטות שהיא ביצעה ותתן למנהל הרשת רשימה של שרתים חשודים שהארגון שלו פנה אליהם. נראה פירוט של הכל בשקפים הבאים.

8 Get many botnet samples
Create a safe environment to test the botnets Capture botnet network traffic Learn network traffic characteristic Develop detection algorithms Test Algorithms in an enterprise environment Step1 We have collected botnet samples from many sources: Hackers websites Botnet developers forums Researcher’s websites In order to find 100 different botnets we needed to collected about 60,000 Malwares עד השלב הזה עובדים ב SA ועכשיו צריך סביבה מאובטחת. בעצם בשלב הראשון היה צורך לאסוף כמות מספיק גדולה של תוכנות זדוניות ומתוכם לסנן רק את אלו שמתאימים לפרופיל שלנו. בעולם זה קיימות משפחות רבות של תוכנות זדוניות וגם במשפחה שעבדתי איתה בפרוייקט הייתי צריך קבוצה ספציפית מאוד. לכן כתבתי אפליקציה בשלב זה שבדקה בצורה חצי אוטומטית והעבירה סינון ראשוני את הכלים על מנת להעביר אלי כמות קטנה יותר של כלים.

9 Create a safe environment to test the botnets
Get many botnet samples Create a safe environment to test the botnets Capture botnet network traffic Learn network traffic characteristic Develop detection algorithms Test Algorithms in an enterprise environment Step 2 We needed to setup an environment that will be safe to run these botnets We also needed to overcome protection methods used by botnets בשלב זה בעצם הייתי צריך להריץ את רשתות אלו על סביבות מאובטחות שמכילות תחנות וירטואליות ומקליטות את התעבורה של רשתות הבוטנט האלו כאשר בכל פעם אני מריץ רשת בוטנט אחרת. אספר ממש בקצרה על שלב זה על מנת להגיע ללב הפרוייקט. אבל צריך להבין שתוכנות זדוניות בכלל ורשתות בוטנטים בפרט מגנות על עצמן מפני זיהוי של משתמשים, חלק מהסיבות הם מכיוון שהן רצות ללא ידיעת המשתמש ועליהן לשמור על חשאיות לצורך המשך הפעלתן ולכן לדוגמא רשתות כאלו מזהות שמנטרים אותם ומבצעות פעולות התנגונות והסתרה. חלק משלב זה בפרוייקט היה להתמודד עם הגנות אלו. בעצם רואים שביצעתי הקלטות מהמחשב החיצוני של התעבורה

10 Capture botnet network traffic
Get many botnet samples Create a safe environment to test the botnets Capture botnet network traffic Learn network traffic characteristic Develop detection algorithms Test Algorithms in an enterprise environment Step 3 Here we ran each botnet and sniffed his network traffic for a few hours. A software to extract the metadata from the traffic was written for this purpose. בניתוח משתמשים באינפוגציה שיש ב HEADER

11 Learn network traffic characteristic
Get many botnet samples Create a safe environment to test the botnets Capture botnet network traffic Learn network traffic characteristic Develop detection algorithms Test Algorithms in an enterprise environment Step 4 Network characteristics Outbound bandwidth usage Request interval variance Individual request size Unique URL repeats Request time of the day URL based Dictionary Automated request vs. Human behavior Header statistical analysis Intervals instead of anomiles

12 Learn network traffic characteristic
Get many botnet samples Create a safe environment to test the botnets Capture botnet network traffic Learn network traffic characteristic Develop detection algorithms Test Algorithms in an enterprise environment Network analysis Outbound bandwidth usage Because bots are stealing information we saw that a lot of information is being send outbound to the C&C server Request interval variance We saw that automated network behavior can be characterize (e.g. constant request intervals) לעבור על האנגלית!!!!

13 Learn network traffic characteristic
Get many botnet samples Create a safe environment to test the botnets Capture botnet network traffic Learn network traffic characteristic Develop detection algorithms Test Algorithms in an enterprise environment Network analysis Individual request size We saw that automated network behavior can be characterize (e.g. constant request intervals)

14 Develop detection algorithms
Get many botnet samples Create a safe environment to test the botnets Capture botnet network traffic Learn network traffic characteristic Develop detection algorithms Test Algorithms in an enterprise environment K-MEANs Clustering An algorithm for partitioning (or clustering) data points into disjoint subsets containing data points so as to minimize the sum-of-squares criterion Assignment step: Some of my characteristics is based on clustering. I've used the K-Means clustering to do that. זיהוי האלגוריתם לא לציין. Update step:

15 Develop detection algorithms
Get many botnet samples Create a safe environment to test the botnets Capture botnet network traffic Learn network traffic characteristic Develop detection algorithms Test Algorithms in an enterprise environment Step 5 - Results Some of my characteristics is based on clustering. I've used the K-Means clustering to do that. זיהוי האלגוריתם לא לציין.

16 Develop detection algorithms
Get many botnet samples Create a safe environment to test the botnets Capture botnet network traffic Learn network traffic characteristic Develop detection algorithms Test Algorithms in an enterprise environment Step 5 - Results Some of my characteristics is based on clustering. I've used the K-Means clustering to do that. זיהוי האלגוריתם לא לציין.

17 Step 5 - Individual request
Get many botnet samples Create a safe environment to test the botnets Capture botnet network traffic Learn network traffic characteristic Develop detection algorithms Test Algorithms in an enterprise environment Step 5 - Individual request

18 Test Algorithms in an enterprise environment
Get many botnet samples Create a safe environment to test the botnets Capture botnet network traffic Learn network traffic characteristic Develop detection algorithms Test Algorithms in an enterprise environment Step 6 – Final Design Suspicious Servers 75 64 33 9 5 לשנות את הצבע ב STEP 5 לשנות, לציין שמציירים רשימת שרתים חשודים על ציון. בסופו של דבר מה שייהה זה מכונה שעושה את כל התהליך בצורה אוטומטית. לצייר מנהלי רשתות, שמשתמשים במוצר. אנימציה בסוף של המוצר!

19 Questions?

20 What left to do? Finish developing heuristic detection algorithms
Test detection algorithms in an enterprise environment

21 Botnet topology Communication topology Network topology Push mode
Pull mode

22 Learn network traffic characteristic
Get many botnet samples Create a safe environment to test the botnets Capture botnet network traffic Learn network traffic characteristic Develop detection algorithms Test Algorithms in an enterprise environment Network analysis (4/4) Unique URL repeats Bots requests usually sends the same requests Normal surf to website is to many different URLs Examples: /index.php;article1.php;article2.php etc… /command.php Unusual network traffic anomalies

23 Network characteristics
C&C Server Listening as: standard web server Bots are communicating using standard HTTP channels. Bot address the C&C server and asks for instructions Coordinate an DDoS at16:31 1/2/2009 HTTP/ OK Date: Sat, 13 Jun :21:48 GMT Server: Apache Expires: Thu, 19 Nov :52:00 GMT Content-Length: 12 Connection: close Command=0x1a Date=1/2/2009 Time=16:31:00 IP= Achilles' heel is the communication with the C&C Server Do I need to do something master? GET /status/q.php?id=f5e0eb&i=21 HTTP/1.0 Accept: */* User-Agent: Mozilla/4.0 Host: malwarecontrol.org


Download ppt "Locating malicious botnets using traffic analysis"

Similar presentations


Ads by Google