Analyzing hacker activities in honey pots יייייי יייייייייי ייייי ייי יייי: ייייי ייייי יייייי יייייי יייי( 236349 ) 03/09/2012
Feb 08, 2016
Analyzing hacker activities in honey pots
אלכסיי גורבטובסקישמעון קמה
מנחה: עמיחי שולמן
(236349)פרויקט באבטחת מידע
03/09/2012
Honey pots
•Honeypotהינו שרת שנועד למשוך תוקפים במטרה ללמוד את טכניקות הפעולה שלהם. 2
Secretו- TOR רשת
הינה רשת שנועדה לספק אנונימיות ואבטחה •באינטרנט.
כלשהו. שרת זה Torמשתמש מתחבר לשרת •מתחבר
נוסף באופן רנדומלי, וכן הלאה.Torבתורו לשרת התעבורה מנותבת במסלול אקראי ומוצפן.• Exit הינה תוכנה היושבת ב-Secretמערכת ה-•
node העוברות Http ואוספת בקשות Torבשרשרת
בשרת:3 בקשות ביממה.60,000כ-
בסיסית HTTP טרמינולגיית
www.example.com/pages/login.php?user=John12
host url http parameters
HTTP headers
(.name, valueקבוצה של זוגות )•
.HTTP request/resonseנשלחים עם כל •
4
Secret
5
מטרות
למידת דרכי הפעולה של תוקפים▪יעדים איכותיים?–התקפות נפוצות?–
זיהוי אפקטיבי של תעבורה זדוניתאבחנה בין תעבורה זדונית ללגיטימיתזיהוי מטרת ההתקפהמכנה משותףמידת ההצלחה
6
SQL Injection
לשדה קלט SQLמתבצעת על-ידי הכנסת שאילתת •מהמשתמש.
התקפה מוצלחת עשויה:•(.SELECT)למשל ע"י לחשוף מידע רגיש –(.DELETE ו-UPDATE, INSERT)לגרום לשינויים במסד הנתונים –
7
דוגמא לקוד לא בטוח
באופן דינמי:SQLהקוד בונה שאילתת •Query = "SELECT * FROM users WHERE name = '" + username + "';"
SQL Injection
:usernameהמשתמש מכניס ל-•
a'; DROP TABLE users; SELECT * FROM users WHERE '1'='1
:השאילתא שתתקבל•
SELECT * FROM users WHERE name='a'; DROP TABLE users; SELECT * FROM users WHERE '1'='1';
8
.http://www.vvocm.nl/client/contactאתר הולנדי- •
User שהוזרקו לשדה ה-SQL שאילתות 10•
Agent 5.4 שניות )אירוע כל 54בפרק זמן של
שניות(.
9
השאילתא sqlmap/1.0-dev (r4766) (http://www.sqlmap.org)' AND 4585=IF((ORD(MID((SELECT DISTINCT(IFNULL(CAST(schema_name AS CHAR),0x20)) FROM INFORMATION_SCHEMA.SCHEMATA LIMIT 0,1),6,1))>96),SLEEP(11),4585) AND 'Cjeo'='Cjeo
ההבדל מאירוע לאירוע- במספר המסומן )מימין •לשמאל(:
112 ,120 ,116 ,114 ,113 ,114 ,!=64 ,96 ,112 ,104 .
10 מה ניתן ללמוד מהשאילתא? •
ולא כערך של User Agentזו מופיעה ב- SQLמדוע הזרקת , כמו ברוב המתקפות מסוג זה?HTTPפרמטר
של משתמשים User Agents האתר עשוי לשמור •במסד
הנתונים שלו.
זדונית שהושתלה במסד הנתונים של SQL שאילתת •האתר
עלולה להוציא ממנו מידע רגיש )לקוחות, חשבונות בנק...(.
11
Directory Traversal
מתקפה בה גורם זדוני מנצל פרצה במערכת הרשאות
הקבצים באתר מסויים:
האתר מצפה לקבל קלט המהווה נתיב לקובץ.•התוקף מזין נתיב לקובץ בשרת, שלמשתמש לא •
אמורה להיות גישה אליו.
עם קצת מזל- הגישה מתאפשרת.•
12
דוגמא לקוד לא בטוח
קוד שרת: <?php$template = 'red.php';if (isset($_COOKIE['TEMPLATE'])) $template = $_COOKIE['TEMPLATE'];include ("/home/users/phpguru/templates/". $template);?>
Directory Traversal
קוד משתמש: GET /vulnerable.php HTTP/1.0Cookie: TEMPLATE=../../../../../../../../../etc/passwd
13
produkte.embedded-projects.net/index.phpאתר גרמני- •
.
שניות 53 אירועים בפרק זמן של דקה ו-79•
שניות.1.4אירוע כל •
14
Eu6EPhgd
/etc/passwd
/etc/passwd
%00
/../etc/passwd/../etc/passwd%00
/../../etc/passwd
/../../etc/passwd
%00
moduleהשם הראשון נראה •
לגיטימי.
השאר- מרמזים על פניה •
.Unixלקובץ הסיסמאות ב-
מבדיקה שלנו- מוצג עמוד•
שגיאה עבור הקלט הנ"ל.
15
null byteטכניקת ה-ברוב המקרים, בעל האתר יעדיף להוסיף סיומת בעצמו:•
www.example.com/index.php?p=newswww.example.com/index.php?p=news.php
.0\המתפרש ל-, %00ניתן לעקוף את המגבלה על-ידי •
נזרק: 0\כמו במחרוזת רגילה- כל הקטע אחרי •
/../../etc/passwd%00.php
16
דרכי התגוננות
שמירת כל הדפים בתיקיה אחת, הרשאות רק אליה.•
•Parser ,/ :%00-ים למחיקת תווים בעייתים מהקלט
:dynamic includeלא להשתמש ב-•
<?php include($_GET['page']);?>
קוד חלופי: if ($_GET['page']==“news”) {include(“news.php”);}
else {include (“main.php”);}
17
1 Eu6EPhgd
2 /etc/passwd
3 /etc/passwd%00
4 /../etc/passwd
…
43 ..//etc/passwd
44 ..//etc/passwd%00
45 ../..//etc/passwd
46 ../..//etc/passwd%00
, אך Unix כפולים מותרים ב-// •
Unix.מתעלמת מהם
/home////user//desktop /home/user/desktop שקול :ל
/ כפול, מכשיל במקרים •מסוימים פילטרים לזיהוי
המתקפה:
)/..(+{word{/(}word*)}18
מסקנותמחרוזות ארוכות - התוקף לא מצליח במתקפה.•
ההתקפה מדגישה את החשיבות של בדיקת קלט •
מהמשתמש.לא מסתמכים על שכבת הגנה אחת.•
str_replace("../", '', ($_GET['page']))
צמצום שטח ההתקפה- מתן הרשאות מינימאליות.•
מנגנון לניטור קצב הגעת חבילות- פתרון?•
19
חיפוש דומיינים
התקפה משולבת באמצעות•שלושה אתרים:
–Web Archive.–Yahoo Site Explorer.–Google.
אירועים 2435מעל •המתפרשים על פני חודש.
20
Web Archive
21
Yahoo Site Explorer
השירות אינו פעיל כמעט שנה.•
מדוע לבצע גישות לאתר שאינו פעיל כבר זמן ממושך?•
22
תיאור המתקפה
שלושה סוגי אירועים סמוכים שנקלטו במערכת:•site:xn--sklepdziecicy-s0b.plחיפוש בגוגל על הערך – עם הערךYahoo Site Explorerגישה ל-–
http://xn--sklepdziecicy-s0b.pl.כפרמטר :URL ל-web.archive.orgגישה ל-–
/web/*/www.xn--sklepdziecicy-s0b.pl .
רוב הדומיינים שזיהינו פנויים ועומדים למכירה.•
23
השערה ראשונה
מניפולציה על מנועי חיפוש:•.PageRankמנוע החיפוש של גוגל עובד בשיטת –נרצה שהאתר שלנו יוצבע ע"י אתר אחר בעל דירוג גבוה.– נעריך כמה זמן האתר פעיל.Web Archiveבעזרת – נקבל הערכה לדירוג שלו.Yahoo Site Explorerבעזרת –בעזרת גוגל נדע כמה דפים מהאתר מאונדקסים.–
ברגע שנמצא דומיין "אטרקטיבי" נקנה אותו ונפרסם בו –לינקים לדומיין שלנו.
24
השערה שנייה
:Phishingחיפוש דומיינים ל-•התחזות לאתר כדי לגנוב פרטים מהמשתמש.–
התהליך:• לדומיין visual similarityהתוקף קונה דומיין בעל –
המקורי.•evample.com-דומה ל example.com.
התוקף מקים אתר בעל ממשק זהה לאתר המקורי.–התוקף מפיץ את האתר שלו, ומתיימר להיות האתר –
האמיתי.
25
מסקנות ותוצאות
:SQL Injectionההתקפה הנפוצה ביותר היא •
26
מסקנות ותוצאות
יעד התקיפה הנפוץ ביותר הוא ארה"ב.•בעיקר אתרים•
חברתיים ואתרי עסקים פרטיים.
27
מסקנות ותוצאות
המערכת מספקת כלי טוב להתבוננות בתעבורה.•המערכת אפשרה לנו למצוא מספר רב של התקפות אך •
עדיין חלק גדול מהתעבורה לא נותח.אוטומאציה של התהליך•
הגדרת פילטרים למציאת התקפות נפוצות.–בניית רשימה שחורה של אתרים המהווים חממה –
לתוקפים.טוב בתור סינון ראשוני של תעבורה.–יזהה רק בהתקפות מוכרות ותבניתיות.–
28