חלק ב\': מדריך העברה למרצה – שיעור 3¶
1. הגן הסגור: מנגנון ה-Gatekeeper, חתימות ונוטריון (Notarization)¶
Objective: להבין כיצד macOS מוודאת שכל תוכנה שרצה על המחשב היא בטוחה, לא שונתה, ומגיעה ממקור מהימן דרך ממשק המשתמש (GUI).
Discussion - Script:
- הורדת אפליקציות ב-macOS:
- באייפון יש App Store סגור. במק ניתן להוריד מכל מקום.
- החופש הזה הוא פתח לצרות.
- תפקיד ה-Gatekeeper (שומר הסף):
- בודק כל אפליקציה שמגיעה מהאינטרנט לפני הרצתה.
- שתי בדיקות עיקריות:
- Code Signing: האם האפליקציה חתומה על ידי מפתח מוכר של אפל? האם שונתה בדרך?
- Notarization: האם המפתח שלח את האפליקציה לסריקת וירוסים אוטומטית של אפל טרם ההפצה?
- אישור או חסימה:
- אפליקציה תקינה מקבלת 'כרטיס' אוטומטי שמאשר אותה.
- אם משהו חסר בבדיקות, Gatekeeper לא יאפשר לה לרוץ ויציג שגיאה.
- שינויים באבטחה:
- פעם היה כפתור קל לעקיפת החסימה.
- אפל החביאה אותו כדי להגן על משתמשים.
- היום השליטה מתבצעת ישירות ובאופן ויזואלי מההגדרות.
- 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. - מקורות להורדה: הראה את שתי האפשרויות:
App Storeו-App Store and known developers. - עקיפת חסימה (אישור מותאם):
- הדגם לחיצה על "Open Anyway" בהגדרות (אם מופיע).
- הדגם את החלופה ב-Finder: קליק ימני >
Open.
Instructor Deep-Dive (Technical Reference)
* **Gatekeeper Quarantine:** * דפדפן (כמו Safari או Chrome) שומר קובץ ומוסיף לו Extended Attribute. * התגית נקראת: `com.apple.quarantine`. * בניסיון פתיחה, `LaunchServices` מזהה את התגית ומעביר בדיקה ל-Gatekeeper. * **Notarization Ticket:** * כרטיס Notarization (Stapled Ticket) מוצמד לקובץ. * לעיתים Gatekeeper מוודא אונליין מול `ocsp.apple.com` שהרישיון לא בוטל (Revoked). * **CLI Control:** * התהליך נשלט טכנית על ידי `syspolicyd`. * ביטול המנגנון: `sudo spctl --master-disable` (מחזיר את אפשרות "Anywhere"). * בדיקת חתימת אפליקציה: `spctl -a -v /Path/To/App.app`.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. - עבור אל הנתיב:
/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` (כמו `com.apple.xprotect.remediator.*`). * **Logging (רישום דיווחים):** * לא קופצות התראות. הדיווחים נרשמים לתוך ה-Unified Logging System. * לשליפת דיווחים מה-Terminal של 24 שעות אחרונות: `log show --predicate 'subsystem == "com.apple.XProtectFramework.PluginAPI"' --info --last 24h`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 ומשתנה דרך GUI או MDM. * **tccd Daemon:** * תהליך הרקע שאוכף את החוקים בפועל. * איפוס הרשאות דרך Terminal מתבצע עם: `tccutil reset [Service] [BundleID]`. * דוגמה: `tccutil reset Camera com.zoom.us`.4. תיבול ארגוני: שימוש בפרופיל PPPC (Privacy Preferences Policy Control) לאישור אוטומטי של כלי IT¶
Objective: להבין כיצד ניתן לנהל מראש את חוויית ה-TCC וסביבת האפליקציות בארגון מנוהל (MDM) כדי למנוע קריאות תמיכה, באמצעות Profiles בממשק הגרפי.
Discussion - Script:
- TCC בסביבה ארגונית:
- מהווה אתגר לניהול.
- הפצת אנטי-וירוס דורשת
Full Disk Access. - משתמשים שיתעלמו מההודעה יגרמו לכלי לא לתפקד.
- הפיתרון: פרופיל PPPC:
- Privacy Preferences Policy Control.
- ה-MDM שולח פרופיל המאשר את האפליקציה מראש ללא Prompt למשתמש.
- הגבלות וקווים אדומים:
- לא ניתן לאשר מרחוק מצלמה או מיקרופון (כדי למנוע חדירה לפרטיות).
- ניתן לאשר רק גישה לדיסק, או לדחות אישורים מסוימים (Deny).
- פרופילים גם מאפשרים חסימת הפעלה של אפליקציות ספציפיות דרך Blocklist.
Demonstration:
- הצגת הפרופיל:
- ב-
System Settings>Privacy & Security, גלול ל-Profiles. - אם קיים פרופיל, הצג אותו.
- ב-
- מראה מנוהל:
- חזור ל-
Privacy & Securityוהיכנס ל-Full Disk Access. - הראה כיצד נראית אפליקציה מנוהלת: המתג אפור ובלתי ניתן לשינוי.
- בדרך כלל מופיע הכיתוב "Managed by your organization".
- חזור ל-
- מערכת ה-MDM (אופציונלי):
- הדגם במערכת MDM אמיתית (Jamf, Intune) היכן ה-IT מקנפג את ההרשאות.
- הצג את תפריט ה-PPPC Utility אם ישים.