שיעור 03: אבטחת מידע¶
חלק ב': מדריך העברה למרצה
1. הגן הסגור: מנגנון ה-Gatekeeper, חתימות ונוטריון (Notarization)¶
מטרת השיעור (Objective): להבין כיצד macOS מוודאת שכל תוכנה שרצה על המחשב היא בטוחה, לא שונתה, ומגיעה ממקור מהימן דרך ממשק המשתמש (GUI).
תסריט שיחה (Discussion - Script):
- הורדת אפליקציות ב-macOS:
- באייפון יש App Store סגור. במק ניתן להוריד מכל מקום.
- החופש הזה הוא פתח לצרות.
- תפקיד ה-Gatekeeper (שומר הסף):
- בודק כל אפליקציה שמגיעה מהאינטרנט לפני הרצתה.
- שתי בדיקות עיקריות:
- Code Signing (חתימת קוד): האם האפליקציה חתומה על ידי מפתח מוכר של אפל? האם שונתה בדרך?
- Notarization (נוטריון): האם המפתח שלח את האפליקציה לסריקת וירוסים אוטומטית של אפל טרם ההפצה?
- אישור או חסימה:
- אפליקציה תקינה מקבלת 'כרטיס' אוטומטי שמאשר אותה.
- אם משהו חסר בבדיקות, Gatekeeper לא יאפשר לה לרוץ ויציג שגיאה.
- שינויים באבטחה:
- פעם היה כפתור קל לעקיפת החסימה.
- אפל החביאה אותו כדי להגן על משתמשים.
- היום השליטה מתבצעת ישירות ובאופן ויזואלי מההגדרות (לעיתים תחת Advanced).
- Fun Fact: חתימות קוד במק הוצגו לראשונה רק ב-2007 (ביחד עם האייפון הראשון). המהנדס שפיתח אותן אמר אז בצחוק שאם המהלך יביא ל"פשיזם של מערכת ההפעלה", כולם מוזמנים להאשים אותו.
הדגמה מעשית (Demonstration):
- הדגמת הורדה: הראה לסטודנטים הורדה של אפליקציה צד שלישי (למשל Google Chrome).
- אזהרת פתיחה:
- פתח את הקובץ דרך ה-Finder.
- הסב את תשומת הלב לאזהרה: "This app was downloaded from the internet. Are you sure you want to open it?".
- הסבר שזו פונקציה חזותית של Gatekeeper.
- הגדרות אבטחה: פתח
System Settings > Privacy & Securityוגלול לאזורSecurity. (ב-Tahoe לעיתים נדרש להרחיב ל-Advanced). - מקורות להורדה: הראה את שתי האפשרויות:
App Storeו-App Store and known developers. - עקיפת חסימה (אישור מותאם):
- הדגם לחיצה על "Open Anyway" בהגדרות (אם מופיע).
- הדגם את החלופה ב-Finder: קליק ימני >
Open.
Instructor Deep-Dive (Technical Reference)
- Gatekeeper Quarantine:
- דפדפן שומר קובץ ומוסיף לו Extended Attribute הנקרא:
com.apple.quarantine. - בניסיון פתיחה,
LaunchServicesמזהה את התגית ומעביר בדיקה ל-Gatekeeper.
- דפדפן שומר קובץ ומוסיף לו Extended Attribute הנקרא:
- Notarization Ticket:
- כרטיס Notarization (Stapled Ticket) מוצמד לקובץ.
- לעיתים Gatekeeper מוודא אונליין מול
ocsp.apple.comשהרישיון לא בוטל.
- CLI Control:
- התהליך נשלט טכנית על ידי
syspolicyd. - ביטול המנגנון:
sudo spctl --master-disable(מחזיר את אפשרות "Anywhere"). - בדיקת חתימת אפליקציה:
spctl -a -v /Path/To/App.app.
- התהליך נשלט טכנית על ידי
- App Translocation:
- מעלה את האפליקציה בנתיב זמני (Read-Only) כדי למנוע טעינת ספריות זדוניות במקום שבו ירדה.
2. האנטי-וירוס השקט: איך XProtect ו-XProtect Remediator עובדים ברקע¶
מטרת השיעור (Objective): להציג את יכולות הסריקה וההגנה המובנות של macOS שמונעות הרצת קוד זדוני מבלי להפריע לחוויית המשתמש, תוך שימוש בכלים גרפיים מובנים.
תסריט שיחה (Discussion - Script):
- האם מק צריך אנטי-וירוס?
- התשובה הקלאסית: macOS מגיעה עם אחד מובנה ושמו XProtect.
- מהו XProtect?
- לא אנטי-וירוס רגיל עם חלון של "סרוק עכשיו".
- מנגנון שקט שעובד ברקע.
- פועל עם Gatekeeper לחפש חתימות מוכרות של וירוסים.
- אפל מעדכנת את החתימות בשקט מאחורי הקלעים (Background Security Updates).
- הכירו את XProtect Remediator:
- שכבת הגנה חדשה ומתקדמת יותר.
- סורק ברקע באופן יזום וירוסים שכבר יושבים במערכת, ואף מנקה אותם.
- איך עוקבים אחריו?
- אין ממשק משתמש מסורתי.
- ניתן לראות את הפעילות שלו דרך כלי מערכת כמו
System InformationאוConsole. - Fun Fact: חוקי YARA שעליהם מבוסס המנגנון נקראים כך כבדיחה פנימית על ראשי תיבות מיותרים: "YARA: Another Recursive Acronym".
הדגמה מעשית (Demonstration):
- בדיקת עדכונים:
- פתח
System Information(החזקOption+ קליק על תפריט התפוח >System Information). - נווט אל
Software > Installations. - מיין לפי
Software Name. - חפש
XProtectPlistConfigDataאוXProtectPayloadsוהראה את תאריך העדכון האחרון.
- פתח
- צפייה בלוגים:
- פתח את אפליקציית ה-
Console(מתוך Utilities). - בחר ב-
Log Reportsאו התחל חיפוש. - הסבר ש-XProtect כותב את דיווחי הסריקה שלו לשם.
- פתח את אפליקציית ה-
- הצגת קבצי המערכת:
- פתח Finder ולחץ
Cmd+Shift+G. - עבור אל הנתיב (ב-Tahoe):
/var/protected/xprotect/XProtect.bundle(או הנתיב המשני/Library/Apple/System/Library/CoreServices/XProtect.bundle). - הצג את תוכן התיקייה להמחשת קיומו הפיזי של המנוע במערכת.
- פתח Finder ולחץ
Instructor Deep-Dive (Technical Reference)
- YARA Rules:
- מנוע XProtect מבוסס על שפת YARA.
- זהו סטנדרט תעשייתי להגדרת כללי זיהוי Malware.
- XProtect Remediator:
- אוסף קבצי Executable קטנים (סורקים ייעודיים למשפחות Malware כגון
AdloadאוDubRobber). - הם מופעלים ברקע על ידי
LaunchDaemons.
- אוסף קבצי Executable קטנים (סורקים ייעודיים למשפחות Malware כגון
-
Logging (רישום דיווחים):
- לא קופצות התראות. הדיווחים נרשמים לתוך ה-Unified Logging System.
- לשליפת דיווחים מה-Terminal של 24 שעות אחרונות:
log show --predicate 'subsystem == "com.apple.XProtectFramework.PluginAPI"' --info --last 24h
-
Update Engine (מנוע העדכונים):
- ב-Tahoe העדכונים מתרחשים לעיתים קרובות מאוד (מול CloudKit) לנתיב
/var/protected/xprotect/. - ניתן לנהל את המנגנון באמצעות הפקודה
xprotect(לדוגמהsudo xprotect update).
- ב-Tahoe העדכונים מתרחשים לעיתים קרובות מאוד (מול CloudKit) לנתיב
3. ניהול פרטיות (TCC): איך מערכת TCC פועלת ומגבילה גישה למצלמה/מיקרופון/דיסק¶
מטרת השיעור (Objective): הבנת המנגנון שמונע מאפליקציות לגשת לנתונים רגישים של המשתמש, ושימוש בממשק המערכת כדי להעניק או להסיר הרשאות (TCC).
תסריט שיחה (Discussion - Script):
- שינויים בגישה לפרטיות:
- בעבר אפליקציות ניגשו למיקרופון בחופשיות.
- כיום פועל מנגנון TCC (Transparency, Consent, and Control).
- איך זה עובד?
- המנגנון אחראי על הודעות קופצות (למשל: "האפליקציה מבקשת גישה למיקום").
- המטרה היא להחזיר את השליטה למשתמש.
- המשתמש מאשר מפורשות גישה למצלמה, למיקרופון, לאנשי קשר ולדיסק.
- השפעת בחירת המשתמש:
- סירוב ב-Prompt יחסום את האפליקציה לתמיד. היא לא תשאל שוב.
- עבור IT: אם אפליקציה "שבורה" (למשל, זום בלי מצלמה), מתחילים בבדיקת TCC בהגדרות המערכת.
- Fun Fact: ב-15 השנים הראשונות של המק, פרטיות כלל לא הייתה נושא - המחשבים נועדו למשתמש יחיד. רק ב-2018 (Mojave) מנגנון ה-TCC הוצג במלואו עם עשרות קטגוריות.
הדגמה מעשית (Demonstration):
- הגדרות פרטיות: פתח
System Settingsונווט ל-Privacy & Security. - קטגוריות TCC: הראה את הרשימה (Camera, Microphone, Full Disk Access, Screen Recording).
- מתן הרשאות (Full Disk Access):
- היכנס ל-
Full Disk Access(נפוץ באנטי וירוסים וכלי IT). - הראה כיצד להוסיף אפליקציה ידנית (לחיצה על
+ובחירה מה-Finder).
- היכנס ל-
- הסבר ההבדלים:
Files and Folders: גישה נקודתית (מסמכים/הורדות/דסקטופ).Full Disk Access: גישה רוחבית (קבצי מערכת ומשתמשים אחרים).
- הסרת הרשאה: הדגם לחיצה על
-כדי לאפס או להסיר הרשאת TCC לאפליקציה.
Instructor Deep-Dive (Technical Reference)
- TCC Databases: הבחירות נשמרות במסד נתונים SQLite מוצפן.
- User TCC: רמת משתמש. נשמר ב-
~/Library/Application Support/com.apple.TCC/TCC.db. - System TCC: רמת מערכת. נשמר ב-
/Library/Application Support/com.apple.TCC/TCC.db. מוגן ב-SIP.
- User TCC: רמת משתמש. נשמר ב-
- tccd Daemon:
- תהליך הרקע שאוכף את החוקים בפועל באמצעות "שרשרת ייחוס" (Attribution Chain).
- איפוס הרשאות דרך Terminal מתבצע עם:
tccutil reset [Service] [BundleID]. - דוגמה:
tccutil reset Camera us.zoom.xos.
- SIP (System Integrity Protection):
- מגן על מסדי הנתונים. אפילו ה-root לא יכול לגשת אליהם ולשנותם ישירות.
4. תיבול ארגוני: שימוש בפרופיל PPPC (Privacy Preferences Policy Control) לאישור אוטומטי של כלי IT¶
מטרת השיעור (Objective): להבין כיצד ניתן לנהל מראש את חוויית ה-TCC וסביבת האפליקציות בארגון מנוהל (MDM) כדי למנוע קריאות תמיכה, באמצעות Profiles בממשק הגרפי.
תסריט שיחה (Discussion - Script):
- TCC בסביבה ארגונית:
- מהווה אתגר לניהול (Prompt Fatigue).
- הפצת אנטי-וירוס דורשת
Full Disk Access. - משתמשים שיתעלמו מההודעה יגרמו לכלי לא לתפקד.
- הפיתרון: פרופיל PPPC:
- Privacy Preferences Policy Control.
- ה-MDM שולח פרופיל המאשר את האפליקציה מראש ללא Prompt למשתמש.
- הגבלות וקווים אדומים:
- לא ניתן לאשר מרחוק מצלמה או מיקרופון (כדי למנוע חדירה לפרטיות).
- ניתן לאשר רק גישה לדיסק, או לדחות אישורים מסוימים (Deny).
- פרופילים גם מאפשרים חסימת הפעלה של אפליקציות ספציפיות דרך Blocklist.
הדגמה מעשית (Demonstration):
- הצגת הפרופיל:
- ב-
System Settings>Privacy & Security, גלול ל-ProfilesאוDevice Management. - אם קיים פרופיל, הצג אותו.
- ב-
- מראה מנוהל:
- חזור ל-
Privacy & Securityוהיכנס ל-Full Disk Access. - הראה כיצד נראית אפליקציה מנוהלת: המתג אפור ובלתי ניתן לשינוי.
- בדרך כלל מופיע הכיתוב "Managed by your organization".
- חזור ל-
- מערכת ה-MDM (אופציונלי):
- הדגם במערכת MDM אמיתית (Jamf, Intune) היכן ה-IT מקנפג את ההרשאות.
- הצג את תפריט ה-PPPC Utility אם ישים.
Instructor Deep-Dive (Technical Reference)
- Bundle ID and Code Requirement:
- פרופיל PPPC חייב
Code Requirementמעבר לשם האפליקציה בלבד. - זוהי מחרוזת קריפטוגרפית המוודאת את חתימת המפתח, כדי למנוע מנוזקה להתחזות.
- פרופיל PPPC חייב
- Screen Recording Limitation:
- לא ניתן לאישור שקט מרחוק.
- אפשר להתיר למשתמש רגיל (Standard User) ללחוץ
Allowבחלון ולהפעיל. - ללא סיסמת Admin, על ידי Payload בשם:
AllowStandardUserToSetSystemService.
- Blocklists - App Restrictions:
- פרופילי
com.apple.applicationaccessיוצרים חסימות לאפליקציות. - המערכת חוסמת את ההרצה בשלב
LaunchServices.
- פרופילי