לדלג לתוכן

שיעור 03: אבטחת מידע

חלק ב': מדריך העברה למרצה

1. הגן הסגור: מנגנון ה-Gatekeeper, חתימות ונוטריון (Notarization)

מטרת השיעור (Objective): להבין כיצד macOS מוודאת שכל תוכנה שרצה על המחשב היא בטוחה, לא שונתה, ומגיעה ממקור מהימן דרך ממשק המשתמש (GUI).

תסריט שיחה (Discussion - Script):

  • הורדת אפליקציות ב-macOS:
    • באייפון יש App Store סגור. במק ניתן להוריד מכל מקום.
    • החופש הזה הוא פתח לצרות.
  • תפקיד ה-Gatekeeper (שומר הסף):
    • בודק כל אפליקציה שמגיעה מהאינטרנט לפני הרצתה.
  • שתי בדיקות עיקריות:
    1. Code Signing (חתימת קוד): האם האפליקציה חתומה על ידי מפתח מוכר של אפל? האם שונתה בדרך?
    2. Notarization (נוטריון): האם המפתח שלח את האפליקציה לסריקת וירוסים אוטומטית של אפל טרם ההפצה?
  • אישור או חסימה:
    • אפליקציה תקינה מקבלת 'כרטיס' אוטומטי שמאשר אותה.
    • אם משהו חסר בבדיקות, Gatekeeper לא יאפשר לה לרוץ ויציג שגיאה.
  • שינויים באבטחה:
    • פעם היה כפתור קל לעקיפת החסימה.
    • אפל החביאה אותו כדי להגן על משתמשים.
    • היום השליטה מתבצעת ישירות ובאופן ויזואלי מההגדרות (לעיתים תחת Advanced).
    • Fun Fact: חתימות קוד במק הוצגו לראשונה רק ב-2007 (ביחד עם האייפון הראשון). המהנדס שפיתח אותן אמר אז בצחוק שאם המהלך יביא ל"פשיזם של מערכת ההפעלה", כולם מוזמנים להאשים אותו.

הדגמה מעשית (Demonstration):

  1. הדגמת הורדה: הראה לסטודנטים הורדה של אפליקציה צד שלישי (למשל Google Chrome).
  2. אזהרת פתיחה:
    • פתח את הקובץ דרך ה-Finder.
    • הסב את תשומת הלב לאזהרה: "This app was downloaded from the internet. Are you sure you want to open it?".
    • הסבר שזו פונקציה חזותית של Gatekeeper.
  3. הגדרות אבטחה: פתח System Settings > Privacy & Security וגלול לאזור Security. (ב-Tahoe לעיתים נדרש להרחיב ל-Advanced).
  4. מקורות להורדה: הראה את שתי האפשרויות: App Store ו-App Store and known developers.
  5. עקיפת חסימה (אישור מותאם):
    • הדגם לחיצה על "Open Anyway" בהגדרות (אם מופיע).
    • הדגם את החלופה ב-Finder: קליק ימני > Open.
Instructor Deep-Dive (Technical Reference)
  • Gatekeeper Quarantine:
    • דפדפן שומר קובץ ומוסיף לו Extended Attribute הנקרא: com.apple.quarantine.
    • בניסיון פתיחה, LaunchServices מזהה את התגית ומעביר בדיקה ל-Gatekeeper.
  • 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):

  1. בדיקת עדכונים:
    • פתח System Information (החזק Option + קליק על תפריט התפוח > System Information).
    • נווט אל Software > Installations.
    • מיין לפי Software Name.
    • חפש XProtectPlistConfigData או XProtectPayloads והראה את תאריך העדכון האחרון.
  2. צפייה בלוגים:
    • פתח את אפליקציית ה-Console (מתוך Utilities).
    • בחר ב-Log Reports או התחל חיפוש.
    • הסבר ש-XProtect כותב את דיווחי הסריקה שלו לשם.
  3. הצגת קבצי המערכת:
    • פתח Finder ולחץ Cmd+Shift+G.
    • עבור אל הנתיב (ב-Tahoe): /var/protected/xprotect/XProtect.bundle (או הנתיב המשני /Library/Apple/System/Library/CoreServices/XProtect.bundle).
    • הצג את תוכן התיקייה להמחשת קיומו הפיזי של המנוע במערכת.
Instructor Deep-Dive (Technical Reference)
  • YARA Rules:
    • מנוע XProtect מבוסס על שפת YARA.
    • זהו סטנדרט תעשייתי להגדרת כללי זיהוי Malware.
  • XProtect Remediator:
    • אוסף קבצי Executable קטנים (סורקים ייעודיים למשפחות Malware כגון Adload או DubRobber).
    • הם מופעלים ברקע על ידי LaunchDaemons.
  • 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).

3. ניהול פרטיות (TCC): איך מערכת TCC פועלת ומגבילה גישה למצלמה/מיקרופון/דיסק

מטרת השיעור (Objective): הבנת המנגנון שמונע מאפליקציות לגשת לנתונים רגישים של המשתמש, ושימוש בממשק המערכת כדי להעניק או להסיר הרשאות (TCC).

תסריט שיחה (Discussion - Script):

  • שינויים בגישה לפרטיות:
    • בעבר אפליקציות ניגשו למיקרופון בחופשיות.
    • כיום פועל מנגנון TCC (Transparency, Consent, and Control).
  • איך זה עובד?
    • המנגנון אחראי על הודעות קופצות (למשל: "האפליקציה מבקשת גישה למיקום").
    • המטרה היא להחזיר את השליטה למשתמש.
    • המשתמש מאשר מפורשות גישה למצלמה, למיקרופון, לאנשי קשר ולדיסק.
  • השפעת בחירת המשתמש:
    • סירוב ב-Prompt יחסום את האפליקציה לתמיד. היא לא תשאל שוב.
    • עבור IT: אם אפליקציה "שבורה" (למשל, זום בלי מצלמה), מתחילים בבדיקת TCC בהגדרות המערכת.
    • Fun Fact: ב-15 השנים הראשונות של המק, פרטיות כלל לא הייתה נושא - המחשבים נועדו למשתמש יחיד. רק ב-2018 (Mojave) מנגנון ה-TCC הוצג במלואו עם עשרות קטגוריות.

הדגמה מעשית (Demonstration):

  1. הגדרות פרטיות: פתח System Settings ונווט ל-Privacy & Security.
  2. קטגוריות TCC: הראה את הרשימה (Camera, Microphone, Full Disk Access, Screen Recording).
  3. מתן הרשאות (Full Disk Access):
    • היכנס ל-Full Disk Access (נפוץ באנטי וירוסים וכלי IT).
    • הראה כיצד להוסיף אפליקציה ידנית (לחיצה על + ובחירה מה-Finder).
  4. הסבר ההבדלים:
    • Files and Folders: גישה נקודתית (מסמכים/הורדות/דסקטופ).
    • Full Disk Access: גישה רוחבית (קבצי מערכת ומשתמשים אחרים).
  5. הסרת הרשאה: הדגם לחיצה על - כדי לאפס או להסיר הרשאת 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.
  • 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):

  1. הצגת הפרופיל:
    • ב-System Settings > Privacy & Security, גלול ל-Profiles או Device Management.
    • אם קיים פרופיל, הצג אותו.
  2. מראה מנוהל:
    • חזור ל-Privacy & Security והיכנס ל-Full Disk Access.
    • הראה כיצד נראית אפליקציה מנוהלת: המתג אפור ובלתי ניתן לשינוי.
    • בדרך כלל מופיע הכיתוב "Managed by your organization".
  3. מערכת ה-MDM (אופציונלי):
    • הדגם במערכת MDM אמיתית (Jamf, Intune) היכן ה-IT מקנפג את ההרשאות.
    • הצג את תפריט ה-PPPC Utility אם ישים.
Instructor Deep-Dive (Technical Reference)
  • Bundle ID and Code Requirement:
    • פרופיל PPPC חייב Code Requirement מעבר לשם האפליקציה בלבד.
    • זוהי מחרוזת קריפטוגרפית המוודאת את חתימת המפתח, כדי למנוע מנוזקה להתחזות.
  • Screen Recording Limitation:
    • לא ניתן לאישור שקט מרחוק.
    • אפשר להתיר למשתמש רגיל (Standard User) ללחוץ Allow בחלון ולהפעיל.
    • ללא סיסמת Admin, על ידי Payload בשם: AllowStandardUserToSetSystemService.
  • Blocklists - App Restrictions:
    • פרופילי com.apple.applicationaccess יוצרים חסימות לאפליקציות.
    • המערכת חוסמת את ההרצה בשלב LaunchServices.