time based identification of web attackers המעבדה לאבטחת מידע המעבדה...
Post on 15-Jan-2016
234 views
TRANSCRIPT
Time Based Identification of
Web Attackers
המעבדה לאבטחת מידעהמעבדה לאבטחת מידע סמסטר חורף תשס"טסמסטר חורף תשס"ט
הטכניוןהטכניון
עמיחי שולמןמנחים:
אלדד שי
גליה סימנובסקימבצעים:
אדוארד סינלניקוב
TCP/IPTCP/IPמבוא מבוא
לחיצת יד משולשת
:מודל השכבות
לחיצת יד משולשת
לפרויקטלפרויקטמוטיבציה מוטיבציה
האם ההתקפה עברה דרךהאם ההתקפה עברה דרך proxyproxy??
WebWeb התקפה נגד אפליקצייתהתקפה נגד אפליקציית
??מי עומד מאחורי ההתקפהמי עומד מאחורי ההתקפה
להעלמת להעלמת Proxy ServerProxy Server Anonymous Anonymous בדר"כ נעשה שימושבדר"כ נעשה שימוש .IP. -IP-כתובת הכתובת ה
– – כדי לגלות את התוקף האמיתיכדי לגלות את התוקף האמיתי
..או לאאו לא Proxy Proxy עלינו לדעת להגיד האם הבקשה הגיעה דרךעלינו לדעת להגיד האם הבקשה הגיעה דרך
הגדרת הפרויקט ומטרותיוהגדרת הפרויקט ומטרותיו
נושא הפרויקטנושא הפרויקט:: Time Based Identification of Web AttackersTime Based Identification of Web Attackers..
מטרות הפרויקטמטרות הפרויקט:: איסוף מידע של בקשות לדפי איסוף מידע של בקשות לדפיHTMLHTML לפי גרסת לפי גרסת HTTPHTTP עבר /עבר/ProxyProxy גודל ?/גודל/?
דף.דף. יצירת כלי גנרי שנוח לעבד איתו את המידע ולמדוד את זמני הבקשה יצירת כלי גנרי שנוח לעבד איתו את המידע ולמדוד את זמני הבקשה
והתגובה.והתגובה. אלגוריתם לזיהוי האם הבקשה עברה דרך אלגוריתם לזיהוי האם הבקשה עברה דרךProxyProxy.על-סמך מדידות הזמנים. על-סמך מדידות הזמנים
מתודולוגיהמתודולוגיה:: C#C#, , .NET Frame 2.NET Frame 2שפת שפת
שלבי הפרויקטשלבי הפרויקט'הקמת סביבת הניסוי. הקמת סביבת הניסוי.::שלב א'שלב א
'איסוף נתונים. איסוף נתונים.::שלב ב'שלב ב
:'אנליזה של המידע. אנליזה של המידע.שלב ג':שלב ג
'ם לזיהוי האם עבר דרך ם לזיהוי האם עבר דרך מימי אלגורית אלגורית::שלב ד'שלב דProxyProxy??
אואו
? ?
שלב א' – הקמת סביבת ניסוי שלב א' – הקמת סביבת ניסוי
יצירת דף יצירת דףHTMLHTML תמונות. תמונות.22 ) עם פרמטר לגודל( שמכיל ) עם פרמטר לגודל( שמכיל
על מכונה א' - הקמת על מכונה א' - הקמתweb serverweb server בלי( בלי(cachingcaching)) + + התקנת התקנת
WireSharkWireShark . .
הקמת - הקמת ' ' על מכונה בעל מכונה ב -ClientClient..
איתור כתובות איתור כתובותIPIP של של ProxyProxy--ים ממדינות ברחבי בעולםים ממדינות ברחבי בעולם..
הבאים הבאיםסידרה של עשרות בקשות לפי הפרמטרים סידרה של עשרות בקשות לפי הפרמטרים ::
-גודל דף ה-גודל דף הHTMLHTML.המבוקש. המבוקש
:גירסת הפרוטוקול: גירסת הפרוטוקולhttp 1.0, http 1.1http 1.0, http 1.1..
-תקשורת ישירה בין ה-תקשורת ישירה בין הClientClient-ל- ל ServerServer..
-תקשורת עקיפה בין ה-תקשורת עקיפה בין הClientClient-ל- ל ServerServer-דרך ה- דרך ה ProxyProxy..
-מיקום ה-מיקום הProxyProxy.לפי המדינה בה נמצא. לפי המדינה בה נמצא
שלב ב' – איסוף נתונים שלב ב' – איסוף נתונים
בדיקות: בדיקות:33ניתוח הנתונים שאספנו כולל ניתוח הנתונים שאספנו כולל
first SYNהזמן שלוקח מה-1.
(.2 ל- 1)הזמן מ- first data from server ל-
first data from serverהזמן שלוקח מה –2.
(.3 ל- 2)הזמן מ- first data second request from Client ל-
first data from serverהזמן שלוקח מה -1.
(.4 ל- 2)הזמן מ- first data third request from Client ל-
שלב ג' – אנליזה של המידע שלב ג' – אנליזה של המידע
Client
Proxy
Server
SYNSYN + ACK ACK +
data Request
Response With Html page
1
2
Request for image1.jpg
Request for image2.jpg
image1.jpg Image2.jpg
3 4
לגוריתמים לזיהוי האם עבר לגוריתמים לזיהוי האם עבר אא' – ' – דד שלב שלב ??ProxyProxyדרך דרך
מבוסס על מדידות הזמנים: – מבוסס על מדידות הזמנים:אלגוריתם ראשוןאלגוריתם ראשון – מתקיניםSniffer על השרת + שמים תמונה בדף HTML.– מודדים זמני הגישה
הזמן מה- 1מדידה :SYNלבין שליחת הדף מהשרת. הראשון הזמן משליחת הדף מהשרת לבקשת התמונה.2מדידה :
יש מעבר דרך 2 מדידה >> 1אם מדידה Proxy .
הרעיון מאחורי האלגוריתם : - 2 קרובה למדידה ה-1המדידה ה-בתעבורה ישירה. - 2 קטנה משמעותית מהמדידה ה-1המדידה ה-בתעבורה עקיפה .
למה?
לשרת.Proxy ומה-Client ל-proxyבמדידה השנייה ישנו מעבר נוסף מה-
.Proxy על-ידי השוואת זמנים בין מדידות נדע – האם היה מעבר דרך
המשך המשך' –' –דדשלב שלב אלגוריתם שני:
יצירת סקריפט שמבצע פעמיים פתיחה וסגירה של חלוןWEB,
כך שמתבצעת פתיחת קשר כל פעם מחדש.
.HTML מורץ באופן שקוף ללקוח בכל פעם שמבקש דף האם היה פתיחת קשר עבור כל בקשת דףHTML ? יש מעבר דרך ה- אם לאProxy .
הרעיון מאחורי האלגוריתם : session בתחילת כל Server-פותח קשר פעם אחת בלבד מול ה Proxy ה-
אין יכולת שליטה על כך. Client של מס' בקשות, ל-
בקשה לדף נדע בוודאות:כלאם היו פתיחות קשר ב
.Proxy ישירות ולא דרך Clientמדובר בבקשה שהגיעה מה-
מבנה התוכנה - מבנה התוכנה - Proxy_detectorProxy_detector
התוכנה משמשת לזיהוי משתמשים דרך התוכנה משמשת לזיהוי משתמשים דרך : :כלליכללי proxyproxy . .
התוכנה מקבלת כקלט קובץ מסוג התוכנה מקבלת כקלט קובץ מסוג ::קלטקלט .*.*pcappcap ..
פלטפלט::
המכיל זמני מדידות וכן את סוג הבדיקה . המכיל זמני מדידות וכן את סוג הבדיקה .CSVCSV. קובץ . קובץ 11
.. של כמה עשרות פניות של כמה עשרות פניותsessionsessionממוצע זמני מדידות ל-ממוצע זמני מדידות ל-. . 22
הרצת האלגוריתמים ובדיקת נכונותם.הרצת האלגוריתמים ובדיקת נכונותם.. . 33
:התוכנה מחולקת לשישה חלקים:התוכנה מחולקת לשישה חלקים-קריאת הקובץ וניתוח ה-קריאת הקובץ וניתוח הheaderheader .הראשי.הראשי
קריאת מידע מהקובץ, ניתוח מידע זה ויצירת קריאת מידע מהקובץ, ניתוח מידע זה ויצירתpacketpacket--.ים.ים
-ניתוח הזמנים של ה-ניתוח הזמנים של הpacketpacket--יםים..
כתיבת הסטטיסטיקה לקובץ כתיבת הסטטיסטיקה לקובץcsvcsv..
חישוב ממוצעים של הבדיקות לפי חישוב ממוצעים של הבדיקות לפיsessionsession..
'הרצת האלגורתמים שהוצגו בשלב ד'הרצת האלגורתמים שהוצגו בשלב ד..
GUIGUI מבט על ה- מבט על ה-
ממוצע הזמנים של המדידה האחרונה
האם הלקוח עבר ?Proxyדרך
–כפתור הפעלה בחירת קובץ ההרצה
מה מנבא כל אלגוריתם
האם אלגוריתם ?צדק
פלט לדוגמאפלט לדוגמא
שאלות?שאלות?
תודה.תודה.