slide1
Download
Skip this Video
Download Presentation
פרויקט באבטחת מידע

Loading in 2 Seconds...

play fullscreen
1 / 18

פרויקט באבטחת מידע - PowerPoint PPT Presentation


  • 95 Views
  • Uploaded on

בס"ד. אביב התשס"ט 236349. COVERT CHANNELS. פרויקט באבטחת מידע. מגישים: קופרמן יוסי בוכריס זוהר. COVERT CHANNEL "Communication channel that can be exploited by a process to transfer information in a manner that violates a system\'s security policy". מטרת הפרויקט

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' פרויקט באבטחת מידע' - bevis-powers


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

בס"ד

אביב התשס"ט

236349

COVERT CHANNELS

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

מגישים:

קופרמן יוסי

בוכריס זוהר

slide2

COVERT CHANNEL"Communication channel that can be exploited by a process to transfer information in a manner that violates a system\'s security policy"

  • מטרת הפרויקט
    • יצירת ערוץ תקשורת סמוי והעברת מידע מסווג
  • דגשים שלנו לפרויקט
    • מניעת הגילוי
    • תעבורה תקינה של מידע (Correctness)
    • כמות קיבול התקשורת (Throughput)
slide3
תוכן ענינים:
  • סקר ספרות
  • השיטה שלנו
    • שלבי התקדמות הרעיון
    • הסבר כללי + דוגמת הרצה
    • תוספות
    • יתרונות
    • צורת מימוש
  • האתגר ותוצאותיו
    • הגלאיים – הסבר קצר
    • תוצאות
  • ניתוח תוצאות ורעיונות להמשך
slide4
סקר ספרות
  • Timing channels using page fault
  • TCP/IP Timing Channels
  • Model-Based Covert Timing Channels:

Automated Modeling and Evasion

  • Correlating Packet Timing with Memory Content Detects IP Covert Timing Channels
  • Steganography
correlating packet timing with memory content detects ip covert timing channels

1

0

Correlating Packet Timing with Memory Content Detects IP Covert Timing Channels
  • אֶנְטְרוֹפְּיָה-"מדד לאי סדר של מערכת חומרית המורכבת

מחלקיקים רבים"

  • שיטה זו מבוססת על:
    • מדידת זמני הגעת החבילות
    • מניחים שהתשדורת מתפלגת נורמאלית (תוחלת וסטיית תקן )
    • מתקבל פעמון גאוס כלשהו
  • זמן שליחת החבילות יקבע לפי ההודעה הרצויה
    • לפי הביט הרצוי נקבע צד
  • ההיסטוגרמה נשמרת
slide6
השיטה שלנו - התחלה

התחלנו לחשוב איך אפשר לשפר את השיטה הנפוצה,

ניתוח לפי היסטוגרמה של זמני הגעת החבילות

נמנה חלק מיתרונותיה וחסרונותיה:

  • יתרונות
    • שומרת על ההיסטוגרמה הכללית
    • לא מעכבת חבילות יותר מדי
    • קלה לתכנון וביצוע
  • חסרונות
    • קלה לזיהוי ע"י בדיקת רצפי זמנים
    • בגלל היותה נפוצה, כל גלאי פשוט מסוגל להתחקות אחריה
    • לא מקיימת היסטוגרמות פרטניות יותר (עבור כל טווחי זמן או גודל שונים )
    • לא שומרת על יחס של גודל-זמן
    • לא מאפשרת שמירה על יחסי זהות בין רצפים של חבילות

NEXT

slide7
השיטה שלנו - המשך
  • ניצור טבלת זמני חבילות כפונקציה של גודל
  • נמיין לפי גדלי החבילות, לכל טווח גדלים נבנה היסטורגמה
  • בהינתן הגודל והביט שרוצים לשלוח נקבע זמן החבילה
  • יתרונות
    • שומר על היחס בין זמן לגודל
    • היסטוגרמה פר גודל נשמרת
  • חסרונות
    • ההיסטוגרמה הכללית לא נשמרת
    • לא נשמר היחס בין רצפים של חבילות
    • ניסיון לשלב בין שיטות שונות לא צלח

NEXT

slide8
השיטה שלנו – דה פקטו
  • מצאנו שיטה שמתגברת על רוב החסרונות ומקיימת את היתרונות
  • ניצור טבלה של גדלי החבילות כפונקציה של זמן
  • נחשב התפלגות וסטיית תקן של הגדלים עבור כל יחידת זמן
  • בהינתן הזמן הרצוי והביט הרצוי נקבע את גודל החבילה שנשלח
  • זמני החבילות ישלחו בדיוק כפי שהם הגיעו
  • גודלי החבילות יהיו כמעט זהות לתעבורה התקינה לפי FIFO

במילה אחת: פרמוטציה_על_גדלי_החבילות

slide9
שלבי התהליך
  • שלב הלמידה - Filter
    • כל חבילה שתתקבל תשמר במטריצה לפי הזמן והגודל שלה
    • מטריצה זו נותנת לנו היסטוגרמה מדויקת לגבי הקורולציה שבין זמן לגודל
  • שלב הניתוח - Analyzer
    • חישוב תוחלת גדלי החבילות
    • יצירת מקרא, זמן – גודל ממוצע
  • שני שלבים אלו מבוצעים ע"י שני הצדדים

על מנת שהם יהיו מתואמים ביניהם

Peer & Trojan

slide10
שלבי התהליך
  • שלב השידור – Encoder & Transmitter
    • נאגור לנו את החבילות במחסנית (למשך שניה)
    • השליחה תתבצע לפי הזמן שבראש התור
    • החבילה שתשלח תקיים:
      • זמן ההגעה יהיה אותו הזמן
      • המוקדמת מבין החבילות שגודלה מתאים להודעה

( כך שלא יהיה עיכוב גדול מדי של החבילה)

    • המאזין שיקבל את החבילה יקבע מהו הביט שהתקבל באותו האופן, לפי זמן הגעת החבילה והמקרא
slide11

651

דוגמת הרצה

742

  • נניח שההודעה הסמויה הינה : 01011
  • אחרי שבשלב הלמידה יצרנו לנו מקרא
  • ואירגנו לנו קצת נתונים התחלתיים כדי לרוץ
  • נסתכל על הראשון במחסנית :
    • זמן : 90 גודל : 1375
  • נבדוק מול המקרא שלו מה התוחלת של 90
  • התוחלת היא : 742
  • אנחנו מעונינים לשלוח את הביט "0" ולכן נרצה לשלוח חבילה שגודלה קטן מ 742 , נחפש חבילה אחרת בזמן 90 רק עם גודל קטן מ 742
  • מצאנו חבילה שגודלה 455 . נחליף ביניהם ונשלח אותה
  • וחוזר חלילה ... עבור זמן 0 התוחלת היא 651
  • אנחנו מעוניינים לשלוח את הביט "1" ואכן החבילה הבאה בתור גודלה גדול מ651 ולכן נשלח אותה !

כלומר כל חבילה שגודלה מעל 742

תחשב כ- "1" ואחרת "0"

חבילה נשלחה:

גודל 455

זמן 90

חבילה נשלחה:

גודל 1235

זמן 0

כלומר כל חבילה שגודלה מעל 651

תחשב כ- "1" ואחרת "0"

slide12
דוגמת הרצה
  • נניח שההודעה הסמויה הינה : 01011
  • כעת המאזין בצד השני מחזיק אף הוא את אותו המקרא
  • החבילה הראשונה הגיעה
    • זמן 90 גודל 455
    • תוחלת עבור זמן 90 היא 742
    • הגודל קטן מהתוחלת ולכן "0" לוגי
  • החבילה השניה הגיעה
    • זמן 0 גודל 1235
    • תוחלת עבור זמן 0 היא 651
    • הגודל גדול מהתוחלת ולכן "1" לוגי
  • וכך הלאה ...

חבילה התקבלה:

גודל 455

זמן 90

חבילה התקבלה:

גודל 1235

זמן 0

0

1

0 1 1

SECRET MESSAGE :

slide13
השיטה שלנו - תוספות
  • מניעת רצף ביטים זהה
    • לא נרצה רצף של אחדים/אפסים, שלא נסטה מההתפלגות ושלא יתרוקן לנו המאגר
    • כל רצף של 5 ביטים למשל "11111" נשלח אחריו "0" בתור חבילות דמה לאיזון, וה Peer יתעלם מהן
  • לא לעכב חבילות יותר מדי
    • נשמור את זמן ההגעה של כל חבילה ושעון כללי כך שאם אנחנו חורגים ממסגרת הזמן נשלח אותה כאחת מחבילות הדמה והמאזין יתעלם ממנה
  • Bit stream – אמניות תשדורת הנתונים
    • כל ביט שנרצה לשלוח נשלח אותו 3 פעמים
    • יתרון:
      • אפשר לדעת בוודאות שמה שקיבלנו הוא אכן מה שהתכוונו לשלוח, גם אם נפגם ביט כלשהו בדרך
    • חסרונות:
      • פוגם בהיסטוגרמה
      • אנחנו לא שומרים על היחס בין הזמן לגודל המקוריים של התעבורה התקינה
      • אנחנו לא שומרים על יחס של רצפי חבילות
  • מנגנון Injection – הזרקת חבילות "דמה"
    • במידת הצורך נשלח חבילות דמה עבור ביטים שלא מצאנו חבילות מתאימות עבורם
    • בהסתברות נמוכה מאוד נשתמש במנגנון זה על מנת שלא נפר את האיזון הקיים
slide14
השיטה שלנו-יתרונות
  • אין שינוי בזמני החבילות בכלל!!!
    • יתרונות השיטה שלנו בולטים בעיקר בזכות זה שרוב הטכניקות לזיהוי פירצות וסוסים טרויאנים מתבססות על זמני החבילות, בין אם זה ההתפלגות הרגילה של הזמנים או התפלגות של רצפי זמנים.
    • ישנן גם שיטות מעטות שמסתמכות על היחס בין זמן לגודל וגם הם יתקשו לזהות תעבורת רשת לא תקינה, שכן אנחנו כמעט ומקיימים יחס זו במלואו
  • שמירה על האנטרופיה הנכונה של זמני החבילות
    • החבילות נשלחות בדיוק באותו סדר של זמנים שקיבלנו אותם, כך שכל גלאי שמנסה לזהות תוכנה זדונית שמעבירה מידע סמוי יכשל
  • שמירה על רצפי זמנים בין חבילות
    • שוב כל גלאי שינסה לזהות תעבורה לא תקינה על בסיס הזמנים של רצפי חבילות ( כל 3,5 חבילות ) יכשל
  • שמירה על היחס בין גודל-זמן תקין של התעבורה
    • אנחנו מחשבים את התוחלת של כל יחידת זמן ועל פי זה מחליטים איזה חבילה לשלוח ולכן היחס בין גודל לזמן נשמר אף הוא עד כמה שאפשר
  • שמירה על התפלגות גודלי החבילות ביחס לזמן
    • שמירה על עיקרון FIFO, עוזר לנו לשמור על ההתפלגות של גודלי החבילות, החבילות נשלחות הלאה בסדר שהם הגיעו עד כדי השהייה קלה
slide15
השיטה שלנו - מימוש
  • מבנה נתונים:
    • מטריצה זמן x גודל
    • מקרא (מערך), תוחלת עבור כל יחידת זמן
    • תור FIFO
  • פלטפורמת עבודה:
    • סביבת פיתוח Microsoft Windows XP
    • שפת תכנות:C++
  • צורת מימוש:
    • שלושה תהליכים , לכל אחד מהרכיבים השונים
    • Windows Sockets – using UDP protocol
slide16
השיטה שלנו – רכיבי התוכנה

הפרויקט בנוי מארבעה רכיבי תוכנה

  • Traffic Generator
    • תפקידו הוא לשדר חבילות לTrojan לפי דרישה מקובץ נתון
    • נשתמש בפרוטוקול UDP מעל port שנבחר
  • Trojan
    • לסוס הטרויאני יש שני מצבים
      • מצב למידה – בו הוא בוחן את התעבורה הנורמאלית ולומר את מאפיניה, במצב זה הוא שקוף ומעביר הכל כמו שמגיע אליו
      • מצב פעיל – משדר את ההודעה הסמויה באמצעות הנתונים שהוא אסף דרך הערוץ הסמוי
  • Detector
    • ממומש על ידי הצוות שמגן
  • Peer
    • גם כאן יש שני מצבים
      • מצב למידה בדומה ללמידה שמבצע ה Trojan
      • מצב פעיל – בו הוא מפענח את התשדורת הסמויה שהוא מקבל
slide17
תוצאות הניסוי
  • אתגר ראשון
    • טעות קוד גרמה גם לשיטה מבוססת זמן לזהות אותנו
    • בנוסף ה BitStream פעל, כך שזוהינו גם ע"י שיטות נוספות
    • 100% נכונות מידע
  • אתגר שני
    • BitStream פעיל
      • נפלנו די מהר על השיטות שמסתמכות על רצפים של גדלי חבילות (שיטה 1,2)

מכיוון שה BS מאלץ שליחה של כל ביט 3 פעמים

      • 100% נכונות מהמידע שהתקבל אצל ה PEER
    • BitStream כבוי
      • לא היה זיהוי של תעבורת רשת לא חוקית(למעט גלאי אחד , וזאת אחרי 3642 חבילות!)
      • יותר מ 98% נכונות מידע שהתקבל אצל ה PEER

אתגר שני – ניסוי שלישי

פעילBitStream

לא זוהינו (רק שיטה 3 פעילה)

7646 324

אתגר שני – ניסוי חמישי

כבויBitStream

לא זוהינו (שיטה 1 כבויה)

7646 478

אתגר שני – ניסוי רביעי

כבויBitStream

זוהינו ע"י שיטה 1

3642 228

אתגר שני – ניסוי ראשון

פעילBitStream

זוהינו ע"י שיטה 2

550 49

אתגר שני – ניסוי שני

פעילBitStream

זוהינו ע"י שיטה 1

2913 135

slide18
ניתוח תוצאות , שיפורים ורעיונות להמשך
  • מסקנות מהאתגר:
    • אכן שיטות שהסתמכו על זמני חבילות לא זיהו שום תוכנה זדונית או תעבורה לא תקינה ברשת
    • השימוש בוידוא הגעת החבילות בעזרת מנגנון ה BitStream אולי שיפר במעט את איכות ההודעה שהתקבלה אבל פגם משמעותית בזה שה Trojan שלנו נהיה קל לזיהוי
    • בכך שאילצנו את עצמנו לשלוח כל ביט 3 פעמים ( BS ) יצרנו לנו פערים הן ביחסים בין גודל לזמן והן בשמירה על רצפי החבילות
  • רעיונות לשיפור:
    • ניתן לבצע קוד לתיקון שגיאות פשוט יחסית שיתקן את אותם ביטים בודדים שהתקבלו לא נכון
    • עקב שגיאת קוד שהתגלתה אחרי האתגר השני, אחרי כל ביט של ההודעה נשלח ביט דמה נוסף, היינו צריכים להמעיט יותר במספר חבילות הדמה ששלחנו אולי כך היינו פחות חשופים
  • סיכום:
    • נחשפנו לחומר חדש ומעניין ולתחום שלא היה מוכר לנו
    • גילינו שיש הרבה מאוד מאמרים וכתבי עט בנושא
ad