איסוף יומנים של Halcyon Anti-Ransomware

נתמך ב:

במאמר הזה מוסבר איך להטמיע יומני רישום של Halcyon Anti-Ransomware ב-Google Security Operations באמצעות Google Cloud Storage V2.

‫Halcyon היא פלטפורמה למניעת תוכנות כופר שמשתמשת ב-AI כדי לזהות מתקפות של תוכנות כופר, למנוע אותן ולשחזר קבצים שנפגעו. הוא יוצר התראות לגבי אירועים של זיהוי תוכנות כופר, ניסיונות הצפנה ופעולות שחזור. הכלי לניתוח נתונים ממפה שדות ביומן בפורמט JSON למודל נתונים מאוחד (UDM), ומטפל בסוגי אירועים כמו פעולות על קבצים, פעילות משתמשים ותוצאות אבטחה.

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

חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:

  • מופע של Google SecOps
  • פרויקט ב-GCP עם Cloud Storage API מופעל
  • הרשאות ליצירה ולניהול של קטגוריות GCS ומדיניות IAM
  • גישה עם הרשאות למסוף Halcyon עם אפשרויות לייצוא יומנים

יצירת קטגוריה של Google Cloud Storage

  1. נכנסים אל מסוף Google Cloud.
  2. בוחרים פרויקט או יוצרים פרויקט חדש.
  3. בתפריט הניווט, עוברים אל Cloud Storage > Buckets.
  4. לוחצים על Create bucket.
  5. מזינים את פרטי ההגדרה הבאים:

    הגדרה ערך
    Name your bucket (שם הקטגוריה) מזינים שם ייחודי גלובלית (לדוגמה, halcyon-logs)
    סוג מיקום בוחרים לפי הצרכים (אזור, שני אזורים, מספר אזורים)
    Location בוחרים את המיקום (לדוגמה, us-central1).
    סוג אחסון (storage class) רגיל (מומלץ ליומנים שמתבצעת אליהם גישה לעיתים קרובות)
    בקרת גישה אחיד (מומלץ)
    כלים להגנה אופציונלי: הפעלת ניהול גרסאות של אובייקטים או מדיניות שמירת נתונים
  6. לוחצים על יצירה.

ייצוא יומנים של Halcyon אל Google Cloud Storage

‫Halcyon תומך בייצוא של נתוני יומן בפורמט JSON. אפשר להשתמש באחת מהגישות הבאות כדי להעביר יומנים ל-GCS.

אפשרות א': ייצוא יומנים באמצעות Halcyon API והעלאה ל-GCS

  1. נכנסים למסוף הניהול של Halcyon.
  2. עוברים אל הגדרות > גישת API ויוצרים מפתח API עם הרשאות קריאה.
  3. מעתיקים ושומרים את מפתח ה-API.
  4. משתמשים בסקריפט מתוזמן או בפונקציית Cloud Run כדי לקרוא ל-Halcyon API בארכיטקטורת REST, לאחזר יומני אירועים ולכתוב אותם ב-GCS בפורמט JSON.

אפשרות ב': הגדרת שילוב SIEM והעברה ל-GCS

  1. נכנסים למסוף הניהול של Halcyon.
  2. עוברים אל הגדרות > שילובים > SIEM.
  3. מגדירים את יעד ייצוא היומן כדי לכתוב אירועים בפורמט JSON לספרייה מקומית או לאחסון ביניים.
  4. משתמשים בפונקציית Cloud Run כדי להעלות יומנים לקטגוריית GCS באופן תקופתי.

    • מוודאים שהקבצים המיוצאים הם בפורמט JSON.
    • כל קובץ צריך להכיל רשומת אירוע אחת או יותר.

אחזור חשבון השירות של Google SecOps

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
  3. לוחצים על הוספת פיד חדש.
  4. לוחצים על הגדרת פיד יחיד.
  5. בוחרים באפשרות Google Cloud Storage V2 בתור סוג המקור.
  6. בוחרים באפשרות Halcyon Anti Ransomware בתור סוג היומן.
  7. לוחצים על Get Service Account (קבלת חשבון שירות). תוצג כתובת האימייל בחשבון שירות ייחודי, לדוגמה:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  8. מעתיקים את כתובת האימייל הזו. תשתמשו בו בשלב הבא.

הענקת הרשאות IAM לחשבון השירות של Google SecOps

  1. נכנסים אל Cloud Storage > Buckets (קטגוריות).
  2. לוחצים על שם הקטגוריה.
  3. עוברים לכרטיסייה Permissions.
  4. לוחצים על הענקת גישה.
  5. מספקים את פרטי ההגדרה הבאים:
    • Add principals (הוספת ישויות מורשות): מדביקים את כתובת האימייל בחשבון של חשבון השירות של Google SecOps.
    • הקצאת תפקידים: בוחרים באפשרות צפייה באובייקט אחסון.
  6. לוחצים על Save.

    • אם אתם מתכננים להשתמש באפשרות המחיקה (מחיקת קבצים שהועברו), צריך להעניק את התפקיד Storage Object Admin במקום Storage Object Viewer.

הגדרת פיד ב-Google SecOps להטמעה של יומנים של Halcyon Anti-Ransomware

  1. עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
  2. לוחצים על הוספת פיד חדש.
  3. לוחצים על הגדרת פיד יחיד.
  4. בשדה שם הפיד, מזינים שם לפיד (לדוגמה, Halcyon Anti-Ransomware logs).
  5. בוחרים באפשרות Google Cloud Storage V2 בתור סוג המקור.
  6. בוחרים באפשרות Halcyon Anti Ransomware בתור סוג היומן.
  7. לוחצים על הבא.
  8. מציינים ערכים לפרמטרים הבאים של הקלט:

    שדה ערך
    URI של קטגוריית אחסון gs://halcyon-logs/halcyon/events/
    אפשרות למחיקת מקור בוחרים את אפשרות המחיקה המועדפת
    הגיל המקסימלי של הקובץ (ימים) ברירת המחדל היא 180 ימים
    מרחב שמות של נכס מרחב השמות של הנכס
    תוויות הטמעה התווית שתתווסף לאירועים מהפיד הזה
    • מחליפים את halcyon-logs בשם הקטגוריה שלכם ב-GCS.
    • תמיד צריך לכלול את הקו הנטוי (/) בסוף ה-URI.
  9. לוחצים על הבא.

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

טבלת מיפוי UDM

שדה היומן מיפוי UDM לוגיקה
sshd, ‏ tty, ‏ euid, ‏ dataType, ‏ filterName, ‏ totalOccurrences, ‏ occurredAt, ‏ count, ‏ occurrences.IncorrectPasswords, ‏ occurrences.FailedPassword, ‏ occurrences.AuthFailure, ‏ policyMode, ‏ action additional.fields אם יש תוויות שנוצרו מכל שדה, הן ימוזגו עם התוויות האלה. השדות totalOccurrences, ‏ count ו-occurrences יומרו למחרוזת.
dnsArtifact.uri network.dns.questions מוזג עם מערך השאלות שמכיל את השם
asset.id principal.asset.asset_id המחרוזת שנוצרת היא 'ASSET:' + asset.id
asset.kind principal.asset.attribute.labels הנכס מוזג עם asset_kind_label שנוצר מ-asset.kind
asset.name principal.asset.hostname הערך הועתק ישירות
ipArtifact.ipAddress principal.asset.ip הערך הועתק ישירות
summary.applicationName principal.application הערך הועתק ישירות
phost, asset.name principal.hostname ערך מ-phost אם קיים, מוחלף על ידי asset.name אם קיים
ipArtifact.ipAddress principal.ip הערך הועתק ישירות
process.commandLine principal.process.command_line הערך הועתק ישירות
modifiedFilePath, artifact.filePath, process.artifact.filePath, processes.artifact.filePath principal.process.file.full_path הערך שמוגדר ל-modifiedFilePath אם הוא קיים, מוחלף על ידי artifact.filePath אם הוא קיים, מוחלף על ידי process.artifact.filePath אם הוא קיים, מוחלף על ידי processes.artifact.filePath אם הוא קיים (המרכאות מוסרות עבור processes.artifact.filePath)
lastOccurredAt principal.process.file.last_seen_time הומר באמצעות מסנן תאריכים בפורמט ISO8601
process.artifact.kind, artifact.kind, primaryProcess.artifact.kind principal.process.file.mime_type הערך מ-process.artifact.kind אם הוא קיים, מוחלף ב-artifact.kind אם הוא קיים, מוחלף ב-primaryProcess.artifact.kind אם הוא קיים
‫artifact.sha256, ‏ process.artifact.sha256, ‏ processes.artifact.sha256 principal.process.file.sha256 הערך מ-artifact.sha256 אם הוא קיים, מוחלף על ידי process.artifact.sha256 אם הוא קיים, מוחלף על ידי processes.artifact.sha256 אם הוא קיים
process.parentPid principal.process.parent_pid הערך הועתק ישירות
process.pid principal.process.pid הערך הועתק ישירות
user_displayname principal.user.user_display_name הערך הועתק ישירות
משתמש principal.user.userid הערך הועתק ישירות
summary.artifact.filePath target.file.full_path הערך הועתק ישירות
summary.artifact.sha256 target.file.sha256 הערך הועתק ישירות
primaryProcess.commandLine target.process.command_line הערך הועתק ישירות אחרי הסרת המירכאות
primaryProcess.kind target.process.file.mime_type הערך הועתק ישירות
primaryProcess.parentPid target.process.parent_process.pid הערך הועתק ישירות
primaryProcess.pid target.process.pid הערך הועתק ישירות
uid target.user.userid הערך הועתק ישירות
id target.asset_id מחובר כמחרוזת בתבנית 'ASSET:‎' + מזהה
פעולה security_result.action באותיות רישיות אם הפעולה היא 'חסימה' או 'אישור'
reason.exitCode security_result.action_details הערך הועתק ישירות
dxpRule, ‏ monitoringReason, ‏ tenantId security_result.detection_fields אם יש תוויות שנוצרו מכל שדה, הן ימוזגו עם התוויות האלה. אם יש תוויות שנוצרו מ-dxpRule, הן ימוזגו עם התוויות האלה, והלוכסנים ההפוכים יוסרו.
dxpRuleType security_result.rule_type הערך הועתק ישירות
ipArtifact.version security_result.rule_version הערך הועתק ישירות
msg, reason.cause security_result.summary הערך מההודעה אם קיים, מוחלף על ידי הסיבה.הגורם אם קיים
חותמת זמן metadata.event_timestamp הנתונים הומרו באמצעות מסנן תאריכים עם הפורמטים MMM dd HH:mm:ss או MMM d HH:mm:ss
phost, ipArtifact.ipAddress, asset.name, user, uid, summary.artifact.sha256, summary.artifact.filePath metadata.event_type הערך שמוגדר הוא FILE_UNCATEGORIZED אם יש has_principal ו-has_target_file; הערך שמוגדר הוא USER_UNCATEGORIZED אם יש has_principal ו-has_target; הערך שמוגדר הוא STATUS_UPDATE אם יש has_principal; אחרת הערך שמוגדר הוא GENERIC_EVENT (הסימונים נגזרים ממקורות)
סיווג metadata.product_event_type הערך הועתק ישירות
gupid, guid metadata.product_log_id הערך מ-gupid אם הוא קיים, מוחלף על ידי guid אם הוא קיים
metadata.product_name ההגדרה היא Halcyon Anti Ransomware
metadata.vendor_name הגדרה כ-Halcyon
primaryProcess.kind event.idm.read_only_udm.target.process.file.mime_type מופה מיומן השינויים
primaryProcess.artifact.kind event.idm.read_only_udm.principal.process.file.mime_type מופה מיומן השינויים
processes.artifact.filePath event.idm.read_only_udm.principal.process.file.full_path מופה מיומן השינויים
processes.artifact.sha256 event.idm.read_only_udm.principal.process.file.sha256 מופה מיומן השינויים
action event.idm.read_only_udm.additional.fields מופה מיומן השינויים
filterName event.idm.read_only_udm.additional.fields מופה מיומן השינויים
policyMode event.idm.read_only_udm.additional.fields מופה מיומן השינויים
euid event.idm.read_only_udm.additional.fields מופה מיומן השינויים
occurrences.AuthFailure event.idm.read_only_udm.additional.fields מופה מיומן השינויים
occurrences.FailedPassword event.idm.read_only_udm.additional.fields מופה מיומן השינויים
occurredAt event.idm.read_only_udm.additional.fields מופה מיומן השינויים
occurrences.IncorrectPasswords event.idm.read_only_udm.additional.fields מופה מיומן השינויים
guid event.idm.read_only_udm.metadata.product_log_id מופה מיומן השינויים
gupid event.idm.read_only_udm.metadata.product_log_id מופה מיומן השינויים
count event.idm.read_only_udm.additional.fields מופה מיומן השינויים
artifact.filePath event.idm.read_only_udm.principal.process.file.full_path מופה מיומן השינויים
artifact.sha256 event.idm.read_only_udm.principal.process.file.sha256 מופה מיומן השינויים
artifact.kind event.idm.read_only_udm.principal.process.file.mime_type מופה מיומן השינויים
monitoringReason event.idm.read_only_udm.security_result.detection_fields מופה מיומן השינויים
dxpRule event.idm.read_only_udm.security_result.detection_fields מופה מיומן השינויים
modifiedFilePath event.idm.read_only_udm.principal.process.file.full_path מופה מיומן השינויים
ipArtifact.version event.idm.read_only_udm.security_result.rule_version מופה מיומן השינויים
ipArtifact.ipAddress event.idm.read_only_udm.principal.ip מופה מיומן השינויים
ipArtifact.ipAddress event.idm.read_only_udm.principal.asset.ip מופה מיומן השינויים
process.parentPid event.idm.read_only_udm.principal.process.parent_pid מופה מיומן השינויים
dxpRuleType event.idm.read_only_udm.security_result.rule_type מופה מיומן השינויים
summary.applicationName event.idm.read_only_udm.principal.application מופה מיומן השינויים
process.pid event.idm.read_only_udm.principal.process.pid מופה מיומן השינויים
reason.exitCode event.idm.read_only_udm.security_result.action_details מופה מיומן השינויים
reason.cause event.idm.read_only_udm.security_result.summary מופה מיומן השינויים
dnsArtifact_uri event.idm.read_only_udm.network.dns.questions מופה מיומן השינויים
uid event.idm.read_only_udm.target.user.userid מופה מיומן השינויים
tty event.idm.read_only_udm.additional.fields מופה מיומן השינויים
sshd event.idm.read_only_udm.additional.fields מופה מיומן השינויים
phost event.idm.read_only_udm.principal.hostname מופה מיומן השינויים
user_displayname event.idm.read_only_udm.principal.user.user_display_name מופה מיומן השינויים
msg event.idm.read_only_udm.security_result.summary מופה מיומן השינויים
timestamp event.idm.read_only_udm.metadata.event_timestamp מופה מיומן השינויים
user event.idm.read_only_udm.principal.user.userid מופה מיומן השינויים

שנה רישום

צפייה ביומן השינויים של כלי הניתוח הזה

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