שילוב של Mandiant Digital Threat Monitoring עם Google SecOps

במאמר הזה מוסבר איך לשלב את Mandiant Digital Threat Monitoring עם Google Security Operations ‏ (Google SecOps).

תרחישים לדוגמה

השילוב של Mandiant Digital Threat Monitoring משתמש ביכולות של Google SecOps כדי לתמוך בתרחישים הבאים:

  • הטמעת התראות: שליפה וניהול של התראות על איומים חיצוניים ישירות ב-Google SecOps.

  • מעקב אחרי פרטי כניסה שנחשפו: מעקב אחרי פרטי חשבון שדלפו ודומיינים שזוהו על ידי Mandiant.

  • עדכון סטטוס ההתראה: סנכרון הטיפול בהתראה על ידי עדכון סטטוס ההתראה של DTM מהפלטפורמה.

  • אימות הקישוריות: בודקים את החיבור של השילוב לשרת Mandiant DTM.

לפני שמתחילים

השילוב הזה מספק יכולות מובנות בפלטפורמה, ולא נדרשים מפתחות API או פרטי כניסה של צד שלישי חיצוני לצורך אימות. לפני שמתחילים, צריך לוודא שהשילוב מותקן מ-Content Hub במופע של Google SecOps.

פרמטרים של שילוב

כדי לשלב את Mandiant Digital Threat Monitoring, צריך להגדיר את הפרמטרים הבאים:

פרמטרים תיאור
API Root חובה

שורש ה-API של המכונה ב-Mandiant.

ערך ברירת המחדל הוא https://api.intelligence.mandiant.com.

כדי לבצע אימות באמצעות פרטי הכניסה של Google Threat Intelligence, מזינים את הערך הבא: https://www.virustotal.com.

Client ID אופציונלי

מזהה הלקוח של החשבון ב-Mandiant Digital Threat Monitoring.

Client Secret אופציונלי

סוד הלקוח של החשבון ב-Mandiant Digital Threat Monitoring.

GTI API Key אופציונלי

מפתח ה-API של Google Threat Intelligence.

כדי לבצע אימות באמצעות Google Threat Intelligence, מגדירים את ערך הפרמטר API Root כ-https://www.virustotal.com.

לאימות באמצעות מפתח Google Threat Intelligence API יש עדיפות על פני שיטות אימות אחרות.

Verify SSL חובה

אם בוחרים באפשרות הזו, השילוב מאמת שאישור ה-SSL לחיבור לשרת של Mandiant תקף.

האפשרות הזו מסומנת כברירת מחדל.

איך מגדירים שילובים ב-Google SecOps

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

פעולות

מידע נוסף על פעולות זמין במאמרים מענה לפעולות בהמתנה משולחן העבודה והפעלה ידנית של פעולה בבקשת התמיכה.

פינג

משתמשים בפעולה Ping כדי לבדוק את הקישוריות לשרת של Mandiant Digital Threat Monitoring.

קלט של הפעולה

אין.

ערכי פלט של פעולות

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

סוג הפלט של הפעולה זמינות
חיבור לקיר של המארז לא זמין
קישור ללוח הפניות לא זמין
שולחן קונסולה צמוד לקיר לא זמין
טבלת העשרה לא זמין
תוצאת JSON לא זמין
הודעות פלט יש גישה
תוצאת הסקריפט יש גישה
הודעות פלט

הפעולה Ping יכולה להחזיר את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully connected to the Mandiant DTM server with the provided connection parameters! הפעולה בוצעה בהצלחה.
Failed to connect to the Mandiant DTM server! Error is: ERROR_REASON

הפעולה נכשלה.

צריך לבדוק את החיבור לשרת, את הפרמטרים של הקלט או את פרטי הכניסה.

תוצאת הסקריפט

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

שם תוצאת הסקריפט ערך
is_success True או False

התראה על עדכון

משתמשים בפעולה Update Alert כדי לעדכן התראה ב-Mandiant Digital Threat Monitoring.

קלט של הפעולה

הפעולה עדכון התראה דורשת את הפרמטרים הבאים:

פרמטרים תיאור
Alert ID חובה

המזהה של ההתראה שרוצים לעדכן.

Status אופציונלי

סטטוס ההתראה.

הערכים האפשריים הם:

  • New
  • Read
  • Resolved
  • Escalated
  • In Progress
  • No Action Required
  • Duplicate
  • Not Relevant
  • Tracked Externally

ערכי פלט של פעולות

הפעולה Update Alert מספקת את הפלטים הבאים:

סוג הפלט של הפעולה זמינות
חיבור לקיר של המארז לא זמין
קישור ללוח הפניות לא זמין
שולחן קונסולה צמוד לקיר לא זמין
טבלת העשרה לא זמין
תוצאת JSON יש גישה
הודעות פלט יש גישה
תוצאת הסקריפט יש גישה
תוצאת JSON

הדוגמה הבאה מראה את פלט התוצאה ב-JSON שמתקבל כשמשתמשים בפעולה Update Alert:

{
   "id": "ID",
   "monitor_id": "MONITOR_ID",
   "topic_matches": [
       {
           "topic_id": "4a6ffb0f-e90d-46ce-b10a-3a1e24fbe70d",
           "value": "ap-southeast-1.example.com",
           "term": "lwd",
           "offsets": [
               26,
               29
           ]
       },
       {
           "topic_id": "doc_type:domain_discovery",
           "value": "domain_discovery"
       }
   ],
   "label_matches": [],
   "doc_matches": [],
   "tags": [],
   "created_at": "2024-05-31T12:27:43.475Z",
   "updated_at": "2024-05-31T12:43:20.399Z",
   "labels_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/domain_discovery/ID/labels",
   "topics_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/domain_discovery/ID/topics",
   "doc_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/domain_discovery/ID",
   "status": "closed",
   "alert_type": "Domain Discovery",
   "alert_summary": "See alert content for details",
   "title": "Suspicious domain \"ap-southeast-1.example.com\" similar to \"lwd\"",
   "email_sent_at": "",
   "severity": "medium",
   "confidence": 0.5,
   "has_analysis": false,
   "monitor_version": 2
}
הודעות פלט

הפעולה עדכון התראה יכולה להחזיר את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully updated alert with ID INCIDENT_ID in Mandiant DTM. הפעולה בוצעה בהצלחה.
Error executing action "Update Alert". Reason: ERROR_REASON

הפעולה נכשלה.

צריך לבדוק את החיבור לשרת, את הפרמטרים של הקלט או את פרטי הכניסה.

תוצאת הסקריפט

בטבלה הבאה מפורטים הערכים של פלט תוצאת הסקריפט כשמשתמשים בפעולה Update Alert:

שם תוצאת הסקריפט ערך
is_success True או False

מחברים

הוראות מפורטות להגדרת מחבר ב-Google SecOps מופיעות במאמר הטמעת הנתונים (מחברים).

‫Mandiant DTM – מחבר התראות

משתמשים ב-Mandiant DTM – Alerts Connector כדי לשלוף התראות מ-Mandiant Digital Threat Monitoring. כדי לעבוד עם רשימה דינמית, משתמשים בפרמטר alert_type.

המחבר Mandiant DTM – Alerts Connector דורש את הפרמטרים הבאים:

פרמטר תיאור
Product Field Name חובה

שם השדה שבו מאוחסן שם המוצר.

ערך ברירת המחדל הוא Product Name.

Event Field Name חובה

שם השדה שמשמש לקביעת שם האירוע (סוג המשנה).

ערך ברירת המחדל הוא event_type.

Environment Field Name אופציונלי

שם השדה שבו מאוחסן שם הסביבה.

אם השדה environment לא נמצא, הסביבה מוגדרת לערך ברירת המחדל.

ערך ברירת המחדל הוא "".

Environment Regex Pattern אופציונלי

תבנית של ביטוי רגולרי להפעלה על הערך שנמצא בשדה Environment Field Name. הפרמטר הזה מאפשר לשנות את שדה הסביבה באמצעות הלוגיקה של הביטוי הרגולרי.

משתמשים בערך ברירת המחדל .* כדי לאחזר את הערך הגולמי הנדרש של Environment Field Name.

אם התבנית של הביטוי הרגולרי היא null או ריקה, או אם ערך הסביבה הוא null, התוצאה הסופית של הסביבה היא "".

Script Timeout חובה

מגבלת הזמן הקצוב לתפוגה בשניות לתהליך Python שמריץ את הסקריפט הנוכחי.

ערך ברירת המחדל הוא 180.

API Root חובה

שורש ה-API של המכונה ב-Mandiant.

ערך ברירת המחדל הוא https://api.intelligence.mandiant.com.

כדי לבצע אימות באמצעות פרטי הכניסה של Google Threat Intelligence, מזינים את הערך הבא: https://www.virustotal.com.

Client ID אופציונלי

מזהה הלקוח של החשבון ב-Mandiant Digital Threat Monitoring.

Client Secret אופציונלי

סוד הלקוח של החשבון ב-Mandiant Digital Threat Monitoring.

GTI API Key אופציונלי

מפתח ה-API של Google Threat Intelligence.

כדי לבצע אימות באמצעות Google Threat Intelligence, מגדירים את ערך הפרמטר API Root כ-https://www.virustotal.com.

כשאתם מבצעים אימות באמצעות מפתח Google Threat Intelligence API, הוא מקבל עדיפות על פני שיטות אימות אחרות.

Lowest Severity To Fetch אופציונלי

ציון החומרה הנמוך ביותר של ההתראות שרוצים לאחזר.

אם לא מגדירים את הפרמטר הזה, המחבר מטמיע התראות בכל רמות החומרה.

הפרמטר מקבל את ערכי החומרה הבאים:

  • Low
  • Medium
  • High
Monitor ID Filter אופציונלי

רשימה מופרדת בפסיקים של מזהי מעקב כדי לאחזר את ההתראות.

Max Hours Backwards חובה

מספר השעות שחלפו מאז שליפת ההתראות.

ערך ברירת המחדל הוא שעה אחת.

Max Alerts To Fetch חובה

מספר ההתראות שצריך לעבד בכל איטרציה של המחבר.

ערך ברירת המחדל הוא 25.

Disable Overflow אופציונלי

אם בוחרים באפשרות הזו, המחבר מתעלם ממנגנון ההצפה.

האפשרות הזו לא מסומנת כברירת מחדל.

Use dynamic list as a blocklist חובה

אם בוחרים באפשרות הזו, השילוב משתמש ברשימה הדינמית כרשימת חסימה.

האפשרות הזו לא מסומנת כברירת מחדל.

Verify SSL חובה

אם האפשרות הזו נבחרת, המערכת מאמתת שאישור ה-SSL לחיבור לשרת Mandiant תקין.

האפשרות הזו מסומנת כברירת מחדל.

Proxy Server Address אופציונלי

כתובת שרת ה-Proxy שבו רוצים להשתמש.

Proxy Username אופציונלי

שם המשתמש של שרת ה-proxy לאימות.

Proxy Password אופציונלי

הסיסמה לאימות מול שרת ה-proxy.

כללי מחברים

המחבר תומך בשרתי proxy.

אירועי מחברים

יש שני סוגים של אירועים ב-Mandiant DTM – Alerts Connector: אירוע שמבוסס על ההתראה הראשית ואירוע שמבוסס על נושא.

דוגמה לאירוע של מחבר שמבוסס על ההתראה הראשית:

{
   "id": "ID",
   "event_type": "Main Alert",
   "monitor_id": "MONITOR_ID",
   "doc": {
       "__id": "6ed37932-b74e-4253-aa69-3eb4b00d0ea2",
       "__type": "account_discovery",
       "ingested": "2024-05-20T16:15:53Z",
       "service_account": {
           "login": "user@example.com",
           "password": {
               "plain_text": "********"
           },
           "profile": {
               "contact": {
                   "email": "user@example.com",
                   "email_domain": "example.com"
               }
           },
           "service": {
               "inet_location": {
                   "domain": "www.example-service.com",
                   "path": "/signin/app",
                   "protocol": "https",
                   "url": "https://www.example-service.com/signin/app"
               },
               "name": "www.example-service.com"
           }
       },
       "source": "ccmp",
       "source_file": {
           "filename": "[1.145.094.680] urlloginpass ap.txt",
           "hashes": {
               "md5": "c401baa01fbe311753b26334b559d945",
               "sha1": "bf700f18b6ab562afb6128b42a34ae088f9c7434",
               "sha256": "5e6302d95a7e7edb28d68926cede0c44babded720ad1cc9a72c12d8c6d66153f"
           },
           "size": 84161521407
       },
       "source_url": "https://cymbalgroup.com",
       "timestamp": "2023-11-14T20:09:04Z"
   },
   "labels": "Label",
   "topic_matches": [
       {
           "topic_id": "doc_type:account_discovery",
           "value": "account_discovery"
       }
   ],
   "label_matches": [],
   "doc_matches": [
       {
           "match_path": "service_account.profile.contact.email_domain",
           "locations": [
               {
                   "offsets": [
                       0,
                       9
                   ],
                   "value": "example.com"
               }
           ]
       }
   ],
   "tags": [],
   "created_at": "2024-05-20T16:16:52.439Z",
   "updated_at": "2024-05-30T12:10:56.691Z",
   "labels_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/account_discovery/ID/labels",
   "topics_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/account_discovery/ID/topics",
   "doc_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/account_discovery/ID",
   "status": "read",
   "alert_type": "Compromised Credentials",
   "alert_summary": "ccmp",
   "title": "Leaked Credentials found for domain \"example.com\"",
   "email_sent_at": "",
   "indicator_mscore": 60,
   "severity": "high",
   "confidence": 0.9999995147741939,
   "aggregated_under_id": "ID",
   "monitor_name": "Compromised Credentials - Example",
   "has_analysis": false,
   "meets_password_policy": "policy_unset",
   "monitor_version": 1
}

דוגמה לאירוע של מחבר שמבוסס על נושא:

{
   "id": "ID",
   "event_type": "location_name",
   "location_name": "LOCATION_NAME",
   "timestamp": "2024-05-25T10:56:17.201Z",
   "type": "location_name",
   "value": "LOCATION_NAME",
   "extractor": "analysis-pipeline.nerprocessor-nerenglish-gpu",
   "extractor_version": "4-0-2",
   "confidence": 100,
   "entity_locations": [
       {
           "element_path": "body",
           "offsets": [
               227,
               229
           ]
       }
   ]
}

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.