שיעור 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
קישורים מומלצים ולקריאה נוספת¶
- Gatekeeper and runtime protection in macOS - מאמר שחופר לעומק על מנגנון Gatekeeper וחתימת אפליקציות.
- Protecting against malware in macOS - סקירה טכנית של אפל על מערכות האנטי-וירוס הפנימיות במק (XProtect).
- Control access to your camera on Mac - מדריך פשוט על ניהול הרשאות פרטיות (TCC) למצלמה ולמיקרופון.
- Safely open apps on your Mac - הסבר למשתמש הקצה על הודעות האזהרה כשפותחים אפליקציות חדשות.
- Privacy Preferences Policy Control payloads for MDM - תיעוד למנהלי מערכת על איך לנהל הרשאות TCC מרחוק.
סרטון סיכום¶
המחשה ויזואלית (עזר לתלמיד)
תמונות אלו ממחישות את הממשק או המנגנון הרלוונטי לנושא השיעור.
