לדלג לתוכן

Asset C: סיכום שיעור - פרק 3 (Security & TCC)

1. נושאי השיעור

  • 1. הגן הסגור (Gatekeeper): הבנה כיצד macOS מוודאת שתוכנות בטוחות להפעלה (Notarization).
  • 2. האנטי-וירוס השקט (XProtect): היכרות עם סורק הקוד הזדוני המובנה במערכת.
  • 3. ניהול פרטיות (TCC): הבנת המנגנון שמגביל גישת אפליקציות למצלמה ולמידע רגיש.
  • 4. תיבול ארגוני: ניהול TCC ומתן אישורים אוטומטיים דרך פרופילים של ה-IT.

מסמך זה מרכז את כל הפקודות, המושגים, הנתיבים וכלי האבחון שנלמדו בפרק השלישי, העוסק באבטחת המערכת, מנגנוני הגנה מובנים (Gatekeeper, XProtect) ומערכת ה-TCC.

2. מושגי יסוד (Terminology)

  • Gatekeeper: מנגנון האבטחה של macOS שמוודא שרק תוכנות ממקור מהימן (App Store או מפתחים מזוהים) מורשות לרוץ על המק. הוא בודק את חתימת המפתח ואת ה-Notarization.
  • Notarization: תהליך אוטומטי של Apple שבו אפליקציות נסרקות לאיתור קוד זדוני ידוע לפני הפצתן, עוד בטרם הגיעו למשתמש. Gatekeeper דורש אישור זה עבור כל תוכנה המורדת מהאינטרנט.
  • XProtect: מערכת ה-Anti-Virus השקטה והמובנית של macOS. פועלת ברקע, מבוססת חתימות (YARA) וחוסמת הפעלה של תוכנות זדוניות מוכרות בעת ניסיון ההרצה הראשון.
  • XProtect Remediator: מנגנון סריקה אקטיבי שרץ ברקע (על ידי LaunchDaemons) ומבצע סריקות תקופתיות לאיתור והסרת נוזקות שכבר הצליחו לחדור למערכת.
  • Transparency, Consent, and Control (TCC): מנגנון הפרטיות של macOS, הדורש מהמשתמש לאשר באופן אקטיבי בקשות גישה של אפליקציות למשאבים רגישים (כגון מצלמה, מיקרופון, מיקום, תיקיית מסמכים או דיסק מלא).
  • Privacy Preferences Policy Control - PPPC: Configuration Profile (Payload) ארגוני המופץ על ידי מערכת ה-MDM ומאפשר למנהלי ה-IT להעניק מראש (או למנוע) הרשאות TCC עבור אפליקציות, ובכך למנוע מהמשתמשים לקבל חלוניות קופצות (Pop-ups) הדורשות אישור מנהל.
  • System Integrity Protection - SIP: מנגנון אבטחה ב-macOS המונע אפילו ממשתמש root לשנות קבצי מערכת רגישים, כולל את מסדי הנתונים של ה-TCC.
  • Quarantine: תגית (Extended Attribute) המוצמדת לקבצים שהורדו מהאינטרנט על ידי אפליקציות כמו ספארי, דואר או תוכנות מסרים. תגית זו מפעילה את הבדיקה של Gatekeeper עם פתיחת הקובץ.

3. פקודות טרמינל (CLI Commands)

חקירה וניהול של Gatekeeper (spctl)

הכלי spctl (SecAssessment system policy security) משמש לניהול ובדיקת מערכת ה-Gatekeeper.

  • בדיקת הסטטוס של Gatekeeper (האם הוא פעיל):
    spctl --status
    
  • בדיקת אפליקציה - הערכת Gatekeeper (האם היא מאושרת ותרוץ):

    spctl -a -vv /Applications/AppName.app
    
    (הדגל -a מבצע Assessment, -vv מציג פלט מפורט כולל מידע על ה-Notarization וזהות המפתח).

  • עקיפה נקודתית של Gatekeeper עבור אפליקציה ספציפית:

    sudo spctl --add /path/to/AppName.app
    

  • הסרת תגית ההסגר (Quarantine) מקובץ שהורד מהאינטרנט (עוקף את אזהרת ההפעלה הראשונית):

    xattr -d com.apple.quarantine /path/to/AppName.app
    

ניהול ואיפוס הרשאות TCC (tccutil)

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

  • איפוס כל הרשאות ה-TCC עבור כל האפליקציות (חזרה למצב "מפעל" מבחינת פרטיות):
    tccutil reset All
    
  • איפוס הרשאת מצלמה בלבד (לכל האפליקציות שביקשו עד כה):
    tccutil reset Camera
    
  • איפוס הרשאת מיקרופון בלבד:
    tccutil reset Microphone
    
  • איפוס הרשאת גישה לכל הדיסק (Full Disk Access):
    tccutil reset SystemPolicyAllFiles
    
  • איפוס הרשאת צפייה במסך (Screen Recording):
    tccutil reset ScreenCapture
    
  • איפוס הרשאת מצלמה עבור אפליקציה ספציפית (לדוגמה, Terminal או Zoom), על ידי Bundle ID:
    tccutil reset Camera com.apple.Terminal
    tccutil reset Camera us.zoom.xos
    

4. נתיבים קריטיים, לוגים ומסדי נתונים (Paths & Plists)

מיקומי מסדי הנתונים של TCC

מערכת ה-TCC שומרת את ההרשאות בתוך מסדי נתונים מסוג SQLite. מסדים אלו מוגנים על ידי System Integrity Protection (SIP) ולא ניתן לערוך או למחוק אותם ידנית, אלא אם מבטלים SIP.

  • מסד הנתונים ברמת המשתמש (ניהול הרשאות כמו מצלמה, מיקרופון, אנשי קשר ותיקיות מקומיות):
    ~/Library/Application Support/com.apple.TCC/TCC.db
    
  • מסד הנתונים ברמת המערכת (ניהול הרשאות קריטיות כמו Full Disk Access):
    /Library/Application Support/com.apple.TCC/TCC.db
    

XProtect & Remediator

מיקומי קבצי החתימות וכלי הסריקה של המנגנון השקט:

  • קובץ החתימות המסורתי של XProtect (רשימת ה-YARA/Blocklist שמתעדכנת ברקע):
    /Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Resources/XProtect.plist
    
  • האפליקציה המריצה את ה-XProtect Remediator (כלי הסריקות התקופתיות והרמדיאציה):
    /Library/Apple/System/Library/CoreServices/XProtect.app
    

שאילתות לוגים (Unified Logging) דרך הטרמינל

למעקב אחר פעילות של המנגנונים בסביבת הטרמינל:

  • מעקב אחר פעילות Gatekeeper (חקירת חסימות אפליקציות):
    log show --predicate 'subsystem == "com.apple.syspolicy"' --info --last 1h
    
  • מעקב אחר חסימות של מערכת ה-TCC (מי ניסה לגשת למה ומתי נחסם):
    log show --predicate 'subsystem == "com.apple.TCC"' --info --last 1h
    
  • צפייה בתוצאות הסריקה של XProtect Remediator (האם זוהתה נוזקה במערכת):
    log show --predicate 'subsystem == "com.apple.XProtectFramework.PluginAPI"' --info
    

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