איסוף יומני IOC של Proofpoint Emerging Threats Pro
גרסת מנתח הנתונים: 2.0
במאמר הזה מוסבר איך להטמיע יומני IOC של Proofpoint Emerging Threats Pro ב-Google Security Operations באמצעות Google Cloud Storage. Emerging Threats Intelligence מפרסמת רשימות מוניטין של כתובות IP ודומיינים בפורמט CSV מדי שעה, עם נתוני מודיעין איומי סייבר שכוללים קטגוריות, ציונים ומידע זמני. קוד הניתוח מעבד נתוני מודיעין איומי סייבר של ET_PRO בפורמט CSV. הוא מחלץ כתובות IP, דומיינים, קטגוריות, ציונים ומידע רלוונטי אחר, ממפה אותם לפורמט IOC סטנדרטי ולסכימת UDM של Chronicle לצורך ניתוח נוסף ושימוש ב-Google SecOps.
לפני שמתחילים
חשוב לוודא שמתקיימות דרישות הסף הבאות:
- מופע של Google SecOps
- פרויקט ב-GCP עם Cloud Storage API מופעל
- הרשאות ליצירה ולניהול של קטגוריות GCS
- הרשאות לניהול מדיניות IAM בקטגוריות GCS
- הרשאות ליצירת שירותי Cloud Run, נושאי Pub/Sub ומשימות Cloud Scheduler
- מינוי ל-Proofpoint ET Intelligence עם גישה לרשימות מוניטין
- מפתח ET Intelligence API מכתובת https://etadmin.proofpoint.com/api-access
איסוף הדרישות המוקדמות של Emerging Threats Pro
- נכנסים ל-ET Intelligence Admin Portal בכתובת https://etadmin.proofpoint.com.
- עוברים אל גישה באמצעות API.
- מעתיקים ושומרים את מפתח ה-API.
- פונים לנציג Proofpoint כדי לקבל:
- כתובת URL של רשימת מוניטין מפורטת של כתובות IP
- כתובת URL של רשימת מוניטין מפורטת של דומיינים
ET Intelligence מספק קובצי CSV נפרדים לרשימות של מוניטין כתובות IP ודומיינים, שמתעדכנים מדי שעה. משתמשים בפורמט 'מפורט' שכולל את העמודות הבאות:
- רשימת הדומיינים: שם הדומיין, קטגוריה, ניקוד, הפעם הראשונה שהדומיין נצפה, הפעם האחרונה שהדומיין נצפה, יציאות
- רשימת IP: כתובת IP, קטגוריה, ניקוד, הפעם הראשונה שהכתובת נראתה, הפעם האחרונה שהכתובת נראתה, יציאות
בדרך כלל כתובות ה-URL המפורטות בנויות לפי התבנית הבאה:
- רשימת כתובות IP:
https://rules.emergingthreatspro.com/[your-code]/reputation/detailed-iprepdata.txt - רשימת הדומיינים:
https://rules.emergingthreatspro.com/[your-code]/reputation/detailed-domainrepdata.txt
כותרת ההרשאה חייבת להכיל את הערך הגולמי של מפתח ה-API ללא הקידומת Bearer, בהתאם לדרישות של Emerging Threats API.
יצירת קטגוריה של Google Cloud Storage
- נכנסים אל מסוף Google Cloud.
- בוחרים פרויקט או יוצרים פרויקט חדש.
- בתפריט הניווט, עוברים אל Cloud Storage > Buckets.
- לוחצים על Create bucket.
מזינים את פרטי ההגדרה הבאים:
הגדרה ערך Name your bucket (שם הקטגוריה) מזינים שם ייחודי גלובלית (לדוגמה, et-pro-ioc-bucket)סוג מיקום בוחרים לפי הצרכים שלכם (אזור, בשני אזורים, במספר אזורים) Location בוחרים את המיקום (לדוגמה, us-central1).סוג אחסון (storage class) רגיל (מומלץ ליומנים שמתבצעת אליהם גישה לעיתים קרובות) בקרת גישה אחיד (מומלץ) כלים להגנה אופציונלי: הפעלת ניהול גרסאות של אובייקטים או מדיניות שמירת נתונים לוחצים על יצירה.
יצירת חשבון שירות לפונקציית Cloud Run
פונקציית Cloud Run צריכה חשבון שירות עם הרשאות כתיבה לקטגוריית GCS והרשאה להפעלה על ידי Pub/Sub.
יצירת חשבון שירות
- במסוף GCP, נכנסים אל IAM & Admin > Service Accounts.
- לוחצים על יצירת חשבון שירות.
- מזינים את פרטי ההגדרה הבאים:
- שם חשבון השירות: מזינים
et-pro-ioc-fetcher-sa. - תיאור חשבון השירות: מזינים
Service account for Cloud Run function to collect Proofpoint ET Pro IOC logs.
- שם חשבון השירות: מזינים
- לוחצים על יצירה והמשך.
- בקטע Grant this service account access to project (מתן גישה של חשבון השירות הזה לפרויקט), מוסיפים את התפקידים הבאים:
- לוחצים על בחירת תפקיד.
- מחפשים את Storage Object Admin ובוחרים בו.
- לוחצים על + הוספת תפקיד נוסף.
- מחפשים את התפקיד Cloud Run Invoker (הפעלת שירותים ב-Cloud Run) ולוחצים עליו.
- לוחצים על + הוספת תפקיד נוסף.
- מחפשים את האפשרות Cloud Functions Invoker (הפעלת פונקציות של Cloud Functions) ולוחצים עליה.
- לוחצים על Continue.
- לוחצים על סיום.
התפקידים האלה נדרשים כדי:
- אדמין של אובייקט אחסון: כתיבת יומנים לקטגוריית GCS וניהול קובצי מצב
- Cloud Run Invoker: מתן הרשאה ל-Pub/Sub להפעיל את הפונקציה
- Cloud Functions Invoker: מאפשר הפעלה של פונקציות
מתן הרשאות IAM בקטגוריית GCS
נותנים לחשבון השירות הרשאות כתיבה בקטגוריית GCS:
- נכנסים אל Cloud Storage > Buckets (קטגוריות).
- לוחצים על שם הקטגוריה.
- עוברים לכרטיסייה Permissions.
- לוחצים על הענקת גישה.
- מזינים את פרטי ההגדרה הבאים:
- Add principals (הוספת ישויות מורשות): מזינים את כתובת האימייל בחשבון השירות (לדוגמה,
et-pro-ioc-fetcher-sa@PROJECT_ID.iam.gserviceaccount.com). - הקצאת תפקידים: בוחרים באפשרות אדמין של אובייקטים באחסון.
- Add principals (הוספת ישויות מורשות): מזינים את כתובת האימייל בחשבון השירות (לדוגמה,
- לוחצים על Save.
יצירת נושא Pub/Sub
יוצרים נושא Pub/Sub ש-Cloud Scheduler יפרסם בו ופונקציית Cloud Run תירשם אליו.
- במסוף GCP, עוברים אל Pub/Sub > Topics.
- לוחצים על יצירת נושא.
- מזינים את פרטי ההגדרה הבאים:
- מזהה הנושא: מזינים
et-pro-ioc-trigger. - משאירים את שאר ההגדרות כברירת מחדל.
- מזהה הנושא: מזינים
- לוחצים על יצירה.
יצירת פונקציית Cloud Run לאיסוף יומנים
הפונקציה של Cloud Run מופעלת על ידי הודעות Pub/Sub מ-Cloud Scheduler כדי לאחזר יומנים מ-Proofpoint ET Intelligence API ולכתוב אותם ב-GCS.
- במסוף GCP, עוברים אל Cloud Run.
- לוחצים על יצירת שירות.
- בוחרים באפשרות Function (שימוש בעורך מוטבע ליצירת פונקציה).
בקטע Configure (הגדרה), מזינים את פרטי ההגדרה הבאים:
הגדרה ערך שם השירות et-pro-ioc-fetcherאזור בוחרים אזור שתואם ל-GCS Bucket (לדוגמה, us-central1)זמן ריצה בוחרים באפשרות Python 3.12 ואילך בקטע Trigger (optional) (טריגר (אופציונלי)):
- לוחצים על + הוספת טריגר.
- בוחרים באפשרות Cloud Pub/Sub.
- בקטע Select a Cloud Pub/Sub topic, בוחרים באפשרות
et-pro-ioc-trigger. - לוחצים על Save.
בקטע אימות:
- לוחצים על דרישת אימות.
- בודקים את ניהול זהויות והרשאות גישה (IAM).
גוללים למטה ומרחיבים את Containers, Networking, Security.
עוברים לכרטיסייה אבטחה:
- חשבון שירות: לוחצים על
et-pro-ioc-fetcher-sa.
- חשבון שירות: לוחצים על
עוברים לכרטיסייה מאגרי תגים:
- לוחצים על Variables & Secrets (משתנים וסודות).
- לוחצים על + הוספת משתנה לכל משתנה סביבתי:
שם המשתנה ערך לדוגמה תיאור GCS_BUCKETet-pro-ioc-bucketשם קטגוריית GCS GCS_PREFIXet-pro-iocקידומת לקובצי יומן STATE_KEYet-pro-ioc/state.jsonנתיב קובץ המצב ET_API_KEYyour-et-api-keyמפתח ET Intelligence API ET_IP_LIST_URLhttps://rules.emergingthreatspro.com/[your-code]/reputation/detailed-iprepdata.txtכתובת URL של רשימת מוניטין מפורטת של כתובות IP ET_DOMAIN_LIST_URLhttps://rules.emergingthreatspro.com/[your-code]/reputation/detailed-domainrepdata.txtכתובת URL של רשימת מוניטין מפורטת של דומיינים TIMEOUT120פסק-זמן לבקשת HTTP בשניות גוללים למטה בכרטיסייה Variables & Secrets (משתנים וסודות) אל Requests (בקשות):
- זמן קצוב לתפוגת בקשה: מזינים
600שניות (10 דקות).
- זמן קצוב לתפוגת בקשה: מזינים
עוברים לכרטיסייה הגדרות במאגרי תגים:
- בקטע מקורות מידע:
- זיכרון: בוחרים באפשרות 512 MiB או יותר.
- מעבד: בוחרים באפשרות 1.
- לוחצים על סיום.
- בקטע מקורות מידע:
גוללים אל סביבת הפעלה:
- בוחרים באפשרות ברירת מחדל (מומלץ).
בקטע Revision scaling:
- מספר מינימלי של מופעים: מזינים
0. - מספר מקסימלי של מופעים: מזינים
100(או משנים בהתאם לעומס הצפוי).
- מספר מינימלי של מופעים: מזינים
לוחצים על יצירה.
ממתינים ליצירת השירות (דקה או שתיים).
אחרי שיוצרים את השירות, עורך הקוד המוטבע נפתח באופן אוטומטי.
הוספת קוד פונקציה
- מזינים main בFunction entry point (נקודת הכניסה לפונקציה).
בעורך הקוד המוטבע, יוצרים שני קבצים:
- הקובץ הראשון: main.py:
import functions_framework from google.cloud import storage import json import os import urllib3 from datetime import datetime, timezone import time # Initialize HTTP client with timeouts http = urllib3.PoolManager( timeout=urllib3.Timeout(connect=5.0, read=30.0), retries=False, ) # Initialize Storage client storage_client = storage.Client() @functions_framework.cloud_event def main(cloud_event): """ Cloud Run function triggered by Pub/Sub to fetch ET Pro IOC reputation lists and write to GCS. Args: cloud_event: CloudEvent object containing Pub/Sub message """ # Get environment variables bucket_name = os.environ.get('GCS_BUCKET') prefix = os.environ.get('GCS_PREFIX', 'et-pro-ioc').strip('/') state_key = os.environ.get('STATE_KEY', f'{prefix}/state.json') et_api_key = os.environ.get('ET_API_KEY') et_ip_list_url = os.environ.get('ET_IP_LIST_URL') et_domain_list_url = os.environ.get('ET_DOMAIN_LIST_URL') timeout = int(os.environ.get('TIMEOUT', '120')) if not all([bucket_name, et_api_key, et_ip_list_url, et_domain_list_url]): print('Error: Missing required environment variables') return try: # Get GCS bucket bucket = storage_client.bucket(bucket_name) # Generate timestamp for file naming now = datetime.now(timezone.utc) timestamp = now.strftime('%Y/%m/%d/%H%M%S') results = [] errors = [] # Fetch IP reputation list try: print('Fetching IP reputation list...') ip_data = fetch_with_retry(et_ip_list_url, et_api_key, timeout) ip_key = f'{prefix}/ip/{timestamp}.csv' save_to_gcs(bucket, ip_key, ip_data) results.append({'type': 'ip', 'key': ip_key, 'size': len(ip_data)}) print(f'Successfully fetched IP list: {len(ip_data)} bytes') except Exception as e: error_msg = f'Failed to fetch IP list: {str(e)}' print(error_msg) errors.append(error_msg) # Fetch Domain reputation list try: print('Fetching Domain reputation list...') domain_data = fetch_with_retry(et_domain_list_url, et_api_key, timeout) domain_key = f'{prefix}/domain/{timestamp}.csv' save_to_gcs(bucket, domain_key, domain_data) results.append({'type': 'domain', 'key': domain_key, 'size': len(domain_data)}) print(f'Successfully fetched Domain list: {len(domain_data)} bytes') except Exception as e: error_msg = f'Failed to fetch Domain list: {str(e)}' print(error_msg) errors.append(error_msg) # Save state state = { 'last_fetch': now.isoformat(), 'results': results, 'errors': errors } save_state(bucket, state_key, state) if errors: print(f'Completed with {len(errors)} error(s)') else: print('Successfully completed all fetches') except Exception as e: print(f'Error processing logs: {str(e)}') raise def fetch_with_retry(url, api_key, timeout, max_retries=3): """Fetch URL with retry logic for rate limits.""" if not url.lower().startswith('https://'): raise ValueError('Only HTTPS URLs are allowed') headers = {'Authorization': api_key} for attempt in range(max_retries): try: response = http.request('GET', url, headers=headers, timeout=timeout) if response.status == 200: return response.data elif response.status == 429: # Rate limited, wait and retry wait_time = min(30 * (2 ** attempt), 300) print(f'Rate limited, waiting {wait_time}s...') time.sleep(wait_time) else: raise Exception(f'HTTP {response.status}: {response.reason}') except Exception as e: if attempt == max_retries - 1: raise time.sleep(5 * (attempt + 1)) raise Exception(f'Failed to fetch {url} after {max_retries} attempts') def save_to_gcs(bucket, key, content): """Save content to GCS with appropriate content type.""" blob = bucket.blob(key) blob.upload_from_string(content, content_type='text/csv') print(f'Saved {len(content)} bytes to gs://{bucket.name}/{key}') def save_state(bucket, key, state): """Save state to GCS.""" try: blob = bucket.blob(key) blob.upload_from_string( json.dumps(state, indent=2), content_type='application/json' ) except Exception as e: print(f'Warning: Could not save state: {str(e)}')- הקובץ השני: requirements.txt:
functions-framework==3.* google-cloud-storage==2.* urllib3>=2.0.0לוחצים על Deploy (פריסה) כדי לשמור ולפרוס את הפונקציה.
ממתינים עד שהפריסה תושלם (2-3 דקות).
יצירת משימה ב-Cloud Scheduler
Cloud Scheduler מפרסם הודעות בנושא Pub/Sub במרווחי זמן קבועים, וכך מפעיל את הפונקציה של Cloud Run.
- במסוף GCP, עוברים אל Cloud Scheduler.
- לוחצים על יצירת משימה.
מזינים את פרטי ההגדרה הבאים:
הגדרה ערך שם et-pro-ioc-fetcher-hourlyאזור בחירה באותו אזור כמו פונקציית Cloud Run תדירות 0 * * * *(כל שעה, בדיוק בשעה)אזור זמן בחירת אזור זמן (מומלץ להשתמש ב-UTC) סוג הטירגוט Pub/Sub נושא בחירת et-pro-ioc-triggerגוף ההודעה {}(אובייקט JSON ריק)לוחצים על יצירה.
אפשרויות לתדירות התזמון
בחירת התדירות בהתאם לנפח היומן ולדרישות זמן האחזור:
תדירות ביטוי Cron תרחיש לדוגמה כל שעה 0 * * * *רגיל (מומלץ ל-ET Pro IOC) כל שעתיים 0 */2 * * *תדר נמוך יותר כל 6 שעות 0 */6 * * *עדכונים מינימליים
בדיקת השילוב
- במסוף Cloud Scheduler, מאתרים את העבודה.
- לוחצים על הפעלה בכוח כדי להפעיל את המשימה באופן ידני.
- ממתינים כמה שניות.
- עוברים אל Cloud Run > Services (שירותים).
- לוחצים על שם הפונקציה (
et-pro-ioc-fetcher). - לוחצים על הכרטיסייה יומנים.
מוודאים שהפונקציה בוצעה בהצלחה. מחפשים את הדברים הבאים:
Fetching IP reputation list... Successfully fetched IP list: X bytes Fetching Domain reputation list... Successfully fetched Domain list: X bytes Successfully completed all fetchesנכנסים אל Cloud Storage > Buckets (קטגוריות).
לוחצים על שם הקטגוריה.
עוברים לתיקיות עם הקידומות (
et-pro-ioc/ip/ו-et-pro-ioc/domain/).מוודאים שנוצרו קובצי
.csvחדשים עם חותמת הזמן הנוכחית.
אם מופיעות שגיאות ביומנים:
- HTTP 401: צריך לבדוק את ET_API_KEY במשתני הסביבה
- HTTP 403: מוודאים שלמפתח ה-API יש את ההרשאות הנדרשות
- HTTP 429: הגבלת קצב – הפונקציה תנסה שוב באופן אוטומטי עם השהיה לפני ניסיון חוזר (backoff)
- חסרים משתני סביבה: צריך לוודא שכל המשתנים הנדרשים מוגדרים
אחזור חשבון השירות של Google SecOps
Google SecOps משתמש בחשבון שירות ייחודי כדי לקרוא נתונים ממאגר GCS שלכם. צריך להעניק לחשבון השירות הזה גישה לדלי.
קבלת כתובת האימייל בחשבון השירות
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספת פיד חדש.
- לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
ET Pro IOC - IP Reputation). - בוחרים באפשרות Google Cloud Storage V2 בתור סוג המקור.
- בוחרים באפשרות Emerging Threats Pro בתור סוג היומן.
לוחצים על Get Service Account (קבלת חשבון שירות). מוצגת כתובת אימייל ייחודית של חשבון השירות, לדוגמה:
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.comמעתיקים את כתובת האימייל הזו לשימוש בשלב הבא.
הענקת הרשאות IAM לחשבון השירות של Google SecOps
לחשבון השירות של Google SecOps צריך להיות התפקיד צפייה באובייקט אחסון בקטגוריית GCS.
- נכנסים אל Cloud Storage > Buckets (קטגוריות).
- לוחצים על שם הקטגוריה.
- עוברים לכרטיסייה Permissions.
- לוחצים על הענקת גישה.
- מזינים את פרטי ההגדרה הבאים:
- Add principals (הוספת ישויות מורשות): מדביקים את כתובת האימייל בחשבון של חשבון השירות של Google SecOps.
- הקצאת תפקידים: בוחרים באפשרות צפייה באובייקט אחסון.
לוחצים על Save.
הגדרת פידים ב-Google SecOps להטמעה של יומני IOC של Proofpoint Emerging Threats Pro
צריך ליצור שני פידים נפרדים – אחד למוניטין של כתובת IP ואחד למוניטין של דומיין.
יצירת פיד של מוניטין כתובות IP
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספת פיד חדש.
- לוחצים על הגדרת פיד יחיד.
- בשדה Feed name, מזינים
ET Pro IOC - IP Reputation. - בוחרים באפשרות Google Cloud Storage V2 בתור סוג המקור.
- בוחרים באפשרות Emerging Threats Pro בתור סוג היומן.
- לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
כתובת ה-URL של קטגוריית האחסון: מזינים את ה-URI של קטגוריית GCS עם נתיב הקידומת:
gs://et-pro-ioc-bucket/et-pro-ioc/ip/- מחליפים את
et-pro-ioc-bucketבשם הקטגוריה שלכם ב-GCS.
- מחליפים את
אפשרות למחיקת המקור: בוחרים את אפשרות המחיקה לפי ההעדפה שלכם:
- אף פעם: לא נמחקים קבצים אחרי ההעברה (מומלץ לבדיקות).
- מחיקת קבצים שהועברו: הקבצים נמחקים אחרי שההעברה מסתיימת בהצלחה.
מחיקת קבצים שהועברו וספריות ריקות: מחיקת קבצים וספריות ריקות אחרי שההעברה מסתיימת בהצלחה.
הגיל המקסימלי של הקובץ: כולל קבצים שעברו שינוי במספר הימים האחרון. ברירת המחדל היא 180 ימים.
מרחב השמות של הנכס: מרחב השמות של הנכס.
תוויות להעברה: התווית שמוחלת על האירועים מהפיד הזה.
לוחצים על הבא.
בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.
יצירת פיד של מוניטין הדומיין
חוזרים על תהליך יצירת הפיד:
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספת פיד חדש.
- לוחצים על הגדרת פיד יחיד.
- בשדה Feed name, מזינים
ET Pro IOC - Domain Reputation. - בוחרים באפשרות Google Cloud Storage V2 בתור סוג המקור.
- בוחרים באפשרות Emerging Threats Pro בתור סוג היומן.
- לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
- כתובת ה-URL של קטגוריית האחסון: מזינים את ה-URI של קטגוריית GCS עם נתיב הקידומת:
gs://et-pro-ioc-bucket/et-pro-ioc/domain/מחליפים את
et-pro-ioc-bucketבשם הקטגוריה שלכם ב-GCS.- אפשרות למחיקת מקור: בוחרים לפי ההעדפה.
- הגיל המקסימלי של הקובץ: כולל קבצים שעברו שינוי במספר הימים האחרון. ברירת המחדל היא 180 ימים.
- מרחב השמות של הנכס: מרחב השמות של הנכס.
- תוויות להעברה: התווית שמוחלת על האירועים מהפיד הזה.
לוחצים על הבא.
בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | לוגיקה |
|---|---|---|
| קטגוריה | השדה הזה נמצא בשימוש בלוגיקה של מנתח התוכן, אבל הוא לא ממופה ישירות ל-UDM. | הוא קובע את הערך של event.ioc.categorization באמצעות טבלת מיפוי. |
| collection_time.nanos | event.idm.entity.metadata.collected_timestamp.nanos | ממופה ישירות מהיומן הגולמי. |
| collection_time.seconds | event.idm.entity.metadata.collected_timestamp.seconds | ממופה ישירות מהיומן הגולמי. |
| נתונים | השדה הזה מנותח לכמה שדות UDM על סמך התוכן שלו. | |
| first_seen | event.idm.entity.metadata.interval.start_time | הניתוח מתבצע כתאריך ומיפוי ל-UDM. |
| first_seen | event.ioc.active_timerange.start | הניתוח מתבצע כתאריך ומיפוי ל-UDM. |
| ip_or_domain | event.idm.entity.entity.hostname | ממופה ל-UDM אם תבנית ה-grok מחלצת מארח מהשדה. |
| ip_or_domain | event.idm.entity.entity.ip | משויך ל-UDM אם תבנית ה-grok לא מחלצת מארח מהשדה. |
| ip_or_domain | event.ioc.domain_and_ports.domain | ממופה ל-UDM אם תבנית ה-grok מחלצת מארח מהשדה. |
| ip_or_domain | event.ioc.ip_and_ports.ip_address | משויך ל-UDM אם תבנית ה-grok לא מחלצת מארח מהשדה. |
| last_seen | event.idm.entity.metadata.interval.end_time | הניתוח מתבצע כתאריך ומיפוי ל-UDM. |
| last_seen | event.ioc.active_timerange.end | הניתוח מתבצע כתאריך ומתבצע מיפוי ל-UDM. |
| ports | event.idm.entity.entity.labels.value | אם יש כמה יציאות, המערכת מנתחת אותן, מאחדת אותן באמצעות פסיק כתו מפריד וממפה אותן ל-UDM. |
| ports | event.idm.entity.entity.port | הנתונים מנותחים וממופים ל-UDM אם יש רק יציאה אחת. |
| ports | event.ioc.domain_and_ports.ports | הניתוח והמיפוי מתבצעים ל-UDM אם תבנית ה-grok מחלצת מארח מהשדה. |
| ports | event.ioc.ip_and_ports.ports | מנותח וממופה ל-UDM אם תבנית ה-grok לא מחלצת מארח מהשדה. |
| score | event.ioc.confidence_score | ממופה ישירות מהיומן הגולמי. |
| event.idm.entity.entity.labels.key | אם יש כמה יציאות, צריך להגדיר את הערך כ-ports. | |
| event.idm.entity.metadata.entity_type | מגדירים את הערך 'DOMAIN_NAME' אם תבנית ה-grok מחלצת מארח מהשדה ip_or_domain, אחרת מגדירים את הערך 'IP_ADDRESS'. | |
| event.idm.entity.metadata.threat.category | הערך שמוגדר הוא SOFTWARE_MALICIOUS. | |
| event.idm.entity.metadata.threat.category_details | הערך נגזר מהשדה 'קטגוריה' באמצעות טבלת מיפוי. | |
| event.idm.entity.metadata.threat.threat_name | מגדירים את האפשרות 'רשימת נציגים של ET Intelligence'. | |
| event.idm.entity.metadata.vendor_name | הערך שמוגדר הוא ET_PRO_IOC. | |
| event.ioc.feed_name | מגדירים את האפשרות 'רשימת נציגים של ET Intelligence'. | |
| event.ioc.raw_severity | הוגדר כ'זדוני'. | |
| timestamp.nanos | הועתק מ-collection_time.nanos. | |
| timestamp.seconds | הועתק מ-collection_time.seconds. |
שנה רישום
צפייה ביומן השינויים של כלי הניתוח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.