13
הההההה ההההה הההההה ההההה רררר: ררר ררררר רררר: ררר ררררר ררררר ר' ררר"ר ררררר ר' ררר"ר ההההה ההההה13 13 הההה הההההה הההה הההההה)הההה( )הההה( 1

מערכות הפעלה מרצה: ערן טרומר סמסטר א' תשע"ב

  • Upload
    thu

  • View
    79

  • Download
    0

Embed Size (px)

DESCRIPTION

מערכות הפעלה מרצה: ערן טרומר סמסטר א' תשע"ב. הרצאה 13 הגנה ואבטחה (המשך). בשיעור הקודם. הגנה ואבטחה – הקדמה נזקים דרכי פריצה מינוח ושלבי פריצה הקטנת החשיפה לקוד זדוני מניעת שירות מנגנוני אימות זהות סיסמאות ביומטרי. הרשאות. - PowerPoint PPT Presentation

Citation preview

Page 1: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

מערכות הפעלהמערכות הפעלהמרצה: ערן טרומרמרצה: ערן טרומרסמסטר א' תשע"בסמסטר א' תשע"ב

1313הרצאה הרצאה )המשך( )המשך( הגנה ואבטחההגנה ואבטחה

1

Page 2: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

בשיעור הקודםבשיעור הקודם

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

סיסמאותביומטרי

2

Page 3: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

הרשאותהרשאות ,עצמים ברי הגנה: קבצים, מדריכים, שקעים, התקנים

תהליכים )בחלונות גם מנעולים ואירועים(לכל סוג עצם יש פעולות שניתן לאסור או להתיר למשתמשים

קריאה, כתיבה והרצה של קובץ, קריאה וכתיבה מהתקן או שקעלהרוג תהליך או לשלוח לו איתות)להודיע על אירוע, לחכות לו, לנעול ולשחרר מנעול )בחלונות

( למשתמש הכל-יכולroot, administratorמותר הכל )

חזיסיוןערןread, write

executeread,

executea.out

readreadread,write

intro.doc

kill תהליך213

מטריצת גישה:

3

Page 4: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

ייצוג מטריצת הגישהייצוג מטריצת הגישה

במערכת ההפעלה מבנה נתונים אחד שמייצג את אין המטריצה

הרשאות מיוצגות באופן מפוזר שורותבעיקר: יצוג עפ"ייחד עם כל עצם נשמרת רשימת בקרת הגישה שלו

(access control list)כלומר שורה במטריצה ,תהליכים עשויים להחזיק הרשאות נוספות שנקראות יכולותהמטריצה היא איחוד רשימות בקרת הגישה והיכולות

רשימות בקרת גישה שמורות בצורה דחוסה מכיוון שהןעלולות להתארך מאוד במערכות מרובות משתמשים

4

Page 5: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

דחיסת רשימות בקרת גישהדחיסת רשימות בקרת גישהקבוצות משתמשים

,'ניתן להגדיר קבוצות שרירותיות של משתמשים )תלמידי שנה בלמשל(

איבר אחד ברשימה מתיר גישה עבור כל המשתמשים בקבוצהרשימות הרשה/סרב

רשימת בקרת הגישה מכילה רשומות הרשאה ורשומות סירוב לפעולותהרשימה נסרקת לפי סדר בזמן בדיקת הרשאות האיבר הראשון שתקף לגבי המשתמש והפעולה קובע הרשאה או

סירוב רשומות מאוחרות קובעות כללים )להרשאה/סירוב(, רשומות מוקדמות

קובעות יוצאים מן הכלל שיתוף רשימות זהות בין עצמים )במערכת הקבצים של חלונות

2000 )

5

Page 6: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

בקרת גישה במערכות ספציפיות בקרת גישה במערכות ספציפיות בחלונותNT/2000-אבל לא ב( FAT רשימות הרשה/סרב :)

כלליות ,ביוניקס ולינוקס רשימות הרשה/סרב עם שלוש קבוצות בדיוק

ושלוש פעולות מותרות או אסורות לכל קבוצהממופה בעזרת קבוצת כל המשתמשים, קבוצה שרירותית(

/etc/groupוקבוצת המשתמש בעל הקובץ ,)קריאה ,כתיבה, והרצה של קובץ כתוכנית או פענוח דרך מדריך( ניתן לקבוע ברירת מחדל שאוסרת כל אחת מתשע הגישותumask) :דוגמהrw----r-- קריאה/כתיבה, אוסרת גישה בעל הקובץמתירה ל

המשתמשים האחרים, ומתירה קריאה לכל חברי הקבוצהל:דוגמהdrwx--x--x tromer math /home/tromer

drwxr-xr-x tromer math /home/tromer/public_html

6

Page 7: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

((capabilitiescapabilities))יכולות יכולות יצוג על פי עמודים במטריצת הגישהמזהה משאב בחלונות ובלינוקס/יוניקס

(handle, file descriptor ) הוא למעשה מצביע ליכולת שמתירה פעולות מסוימות על עצם מסוים

ההרשאות נבדקות בזמן פתיחת העצם והיכולת נשמרת במבנהנתונים של מערכת ההפעלה; התהליך מקבל מזהה ליכולת

היכולת ממשיכה להיות תקפה גם אם ההרשאות של העצםמשתנות

ניתן להעביר יכולות מתהליך לתהליך: ממילא תהליך יכול לבצעעבור תהליך אחר גישה לקובץ וכדומה

ביוניקס/לינוקס העברה של מזהי קובץ פתוח דרך שקע

7

Page 8: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

דוגמה ליכולות: הרשאות דוגמה ליכולות: הרשאות באנדרואידבאנדרואיד

( כל משאב רגיש מוגן ע"י יכולתpermission)במינוח אנדרואיד לכל אפליקציה יש רשימת יכולות אשר אושרו ע"י המשתמש בעת

ההתקנה יכולות נפוצות

INTERNETREAD_CONTACTSACCESS_NETWORK_STATEWAKE_LOCKACCESS_FINE_LOCATIONWRITE_SETTINGSMODIFY_AUDIO_SETTINGSACCESS_COARSE_LOCATIONCHANGE_WIFI_STATE

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

8

Page 9: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

מדיניות הרשאותמדיניות הרשאות

כללים שקובעים מה מותר למיאת המדיניות צריך לממש בעזרת

( ברירות מחדל ליצירת קבצים חדשיםumask)מנגנון ירושת ההרשאות בין מדריכים בחלונות סיבית( מנגנון קביעת בעלות על קבצים חדשיםsetgid)במדריכים בקרה על הרשאות של קבצים קיימים

דוגמה: קבצים חדשים במדיכים של פרוייקטים נגישים לכלחברי הפרוייקט, קבצים חדשים במדריכי הבית נגישים רק

למשתמשהמימוש ביוניקס ולינוקס מתואר בספר

9

Page 10: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

SELinuxSELinuxמנגנון הרשאות מנגנון הרשאות תוספת ללינוקס )ליבה+תוכניות( שנכתבה ע"יNSA ,ונתרמה כקוד פתוח

כיום חלק סטנדרטי מלינוקס אשר מופעל כבבירת מחדל בהפצות רבות לכל משאב מוצמדת תווית אבטחה(security context ) מחרוזת ,

extendedשמשמעותה תלויה במדיניות. עבור קבצים, התווית מאוכסנת כ-attribute-ב inode.

.גם לכל תהליך מוצמדת תווית בכל גישה של תהליך למשאב, התוויות נשלחות לבדיקה ע"יsecurity

serverמודול ייעודי בליבה( אשר מחליט האם לאשר גישה( -מדיניות האישור נקבעת ע"י מנהל המערכת ונטענת לתוך הsecurity

server.)בעזרת תוכנית משתמש )דרך ממשק קריאות מערכת :המדיניות לא ניתנת לשינוי על ידי משתמשים מזדמנים

mandatory access controlלעומת המנגנונים הקודמים שהם discretionary access control.

10

Page 11: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

((logginglogging))מנגנוני רישום מנגנוני רישום )מי עשה מה )או אפילו רק ניסה מצביע על ניסיונות גישה לא לגיטימיים ומאפשר לדעת מי קרא או

שינה קבצים ומתי בחלונות ניתן לצרף לעצמים רשימת רישום גישה שמורה איזה

פעולות של איזה משתמשים יש לרשום )עלול לייצר כמויות מידע גדולות!(

אין מנגנון דומה בלינוקס ויוניקס אבל יש תוכנות שמזהות שינויים(TripWire)בקבצים חשובים

יש בלינוקס/יוניקס מנגנון רישום לאירועים חשובים )לא נסיונות/...var/log/, אל rootגישה( כמו נסיונות התחברות של

כיצד לאפשר לכל המשתמשים לדווח ארועים בלי להסתכן בשיבושקובץ יומן הארועים?

11

Page 12: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

התחזות מותרתהתחזות מותרת לעיתים צריך לבצע מטלה מסוימת עם הרשאות של תהליך

אחר תוכנת שרת שמריצה תוכניות במועדים קבועים עבור משתמשים

צריכה להריץ כל תכנית עם ההרשאות של המשתמש שביקש להריץ (crond )ביוניקס, אותה

( הרצה של תסריטים דרך שרת אינטרנטCGI, ASP)( תוכנות שרת שמאפשרות התחברות למחשבlogin, ssh, telnet)( תוכנות להעברת קבציםftp) הרצת פקודות בעזרתsudo

לתהליך של המשתמש הכל יכול מותר להתחזות לכל משתמשבחלונות ניתן להעניק יכולת התחזות לתהליכים של משתמשים אחריםביוניקס אפשר להתיר לתהליך שמריץ תוכנית להתחזות לבעל התוכנית

12

Page 13: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

הגברההגברהלעיתים צריך לעדן את מנגנון ההרשאות

להתיר למשתמשים לקרוא/לשנות קובץ, אבל רק בדרכים מסוימותלהציב ולהסיר מערכת קבצים מתקליטור אבל לא מערכות קב' אחרותלהפעיל שירותי מערכת , לדוגמה מנהל הדפסה או מנהל יומן ארועים

הגברה ביוניקס/לינוקס משתמש בעל משאב שרוצה לפקח על הגישות אליו משתמש בתוכנית

שמשתמשים אחרים מריצים על מנת לגשת למשאב התוכנית בבעלות המשתמש ושמורה עם סיביתsetuidדולקת התהליך שמריץ את התוכנית יכול לעבור בין זהות המשתמש המריץ ובין

המשתמש בעל התוכנית, שהוא גם בעל המשאב; הרשאות המריץ הוגברו

סכנות לבעלי התוכנית: שגיאות תכנות, הפתעות במערכת הקבצים(, משתני סביבה, הפסקה פתאומית finger~/. מ-symbolic link)לדוגמה

(SIGHUP)

13