לדלג לתוכן

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

מדריך עזר לתלמיד

מטרות השיעור

  • Gatekeeper
  • XProtect
  • TCC
  • PPPC

סקירה

מושגי יסוד (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 עם פתיחת הקובץ.

אבני דרך היסטוריות באבטחת macOS

שנה טכנולוגיה הערה היסטורית / אנקדוטה
2007 Code Signing הוצג לראשונה ב-Mac OS X 10.5 Leopard, במקביל ליציאת ה-iPhone הראשון. המהנדס הראשי טען בהלצה שהוא אחראי ל"פשיזם של מערכת ההפעלה".
2012 Gatekeeper נכנס לפעולה במלואו כהמשך טבעי של חתימות הקוד, כדי לחסום הרצת קוד זדוני ללא ידיעת המשתמש.
2018 TCC (Privacy) ב-15 השנים הראשונות של המק, פרטיות כלל לא הייתה אישיו. רק ב-Mojave צמחה המערכת ל-15 קטגוריות והיום מגינה על עשרות משאבים אישיים.
כללי YARA Rules מנוע ה-XProtect מבוסס על שפת YARA, שנוצרה לפני כ-12 שנים. השם הוא הלצה על ראשי תיבות: "YARA: Another Recursive Acronym".

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

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

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

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

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

  • הסרת תגית ההסגר (Quarantine) מקובץ שהורד מהאינטרנט (עוקף את אזהרת ההפעלה הראשונית):
xattr -d com.apple.quarantine /path/to/AppName.app

חקירה וניהול של XProtect (xprotect)

הכלי xprotect מאפשר בדיקה ושליטה על עדכוני החתימות.

  • בדיקת הגרסה המותקנת כעת של XProtect:
xprotect version
  • כפיית התקנה של העדכון האחרון מ-iCloud:
sudo xprotect update

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

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

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

נתיבים קריטיים, לוגים ומסדי נתונים (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 (החל מ-Tahoe):
/var/protected/xprotect/XProtect.bundle
  • האפליקציה המריצה את ה-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 במהלך 24 השעות האחרונות (האם זוהתה נוזקה במערכת):
log show --predicate 'subsystem == "com.apple.XProtectFramework.PluginAPI"' --info --last 24h

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

סרטון סיכום

המחשה ויזואלית (עזר לתלמיד)

תמונות אלו ממחישות את הממשק או המנגנון הרלוונטי לנושא השיעור.

What_is_a_Background_Security_Improvement__and_how_p1_21 26-Tahoe-Passwords-scaled 26-Tahoe-Settings-Privacy-scaled