התמדה: סוכן משתמש חדש

במסמך הזה מתואר סוג של ממצא איום ב-Security Command Center. ממצאי האיומים נוצרים על ידי מזהי איומים כשהם מזהים איום פוטנציאלי במשאבי הענן שלכם. רשימה מלאה של ממצאי האיומים הזמינים מופיעה באינדקס של ממצאי האיומים.

סקירה כללית

הממצא הזה לא זמין להפעלות ברמת הפרויקט.

חשבון שירות של IAM ניגש אל Google Cloud באמצעות תוכנה חשודה, כפי שמצוין על ידי סוכן משתמש חריג.

המקור של הממצא הזה הוא Event Threat Detection.

איך מגיבים

כדי להגיב לממצא הזה:

שלב 1: בדיקת פרטי הממצא

  1. פותחים ממצא של Persistence: New User Agent כמו שמתואר בקטע בדיקת פרטי הממצא שבהמשך הדף. חלונית הפרטים של הממצא נפתחת בכרטיסייה סיכום.

  2. בכרטיסייה סיכום, בודקים את המידע בקטעים הבאים:

    • מה זוהה, במיוחד השדות הבאים:
      • Principal email: חשבון השירות שייתכן שנפרץ.
    • מקור המידע שהושפע, במיוחד השדות הבאים:
      • השם המלא של הפרויקט: הפרויקט שמכיל את חשבון השירות שייתכן שנפרץ.
    • קישורים רלוונטיים, במיוחד השדות הבאים:
      • ‫Cloud Logging URI: קישור לרשומות ב-Logging.
      • שיטת MITRE ATT&CK: קישור למסמכי התיעוד של MITRE ATT&CK.
      • ממצאים קשורים: קישורים לממצאים קשורים.
    1. בתצוגת הפרטים של הממצא, לוחצים על הכרטיסייה JSON.
    2. שימו לב לשדות הבאים ב-JSON.
    • ‫projectId: הפרויקט שמכיל את חשבון השירות שייתכן שנפרץ.
    • ‫callerUserAgent: סוכן המשתמש החריג.
    • ‫anomalousSoftwareClassification: סוג התוכנה.
    • ‫notSeenInLast: תקופת הזמן שמשמשת ליצירת בסיס להשוואה של התנהגות רגילה.

שלב 2: בודקים את ההרשאות ברמת הפרויקט והחשבון

  1. נכנסים לדף IAM במסוף Google Cloud .

    כניסה לדף IAM

  2. אם צריך, בוחרים את הפרויקט שמופיע ב-projectId.

  3. בדף שמופיע, בתיבה Filter, מזינים את שם החשבון שמופיע בשורה Principal email בכרטיסייה Summary בפרטי הממצא, ומסמנים את התפקידים שהוקצו.

  4. נכנסים לדף Service Accounts במסוף Google Cloud .

    כניסה לדף Service Accounts

  5. בדף שמופיע, בתיבה Filter, מזינים את שם החשבון שמופיע בשורה Principal email בכרטיסייה Summary בפרטי הממצא.

  6. בודקים את המפתחות של חשבון השירות ואת תאריכי היצירה של המפתחות.

שלב 3: בדיקת היומנים

  1. בכרטיסיית הסיכום של חלונית פרטי הממצא, לוחצים על הקישור Cloud Logging URI כדי לפתוח את Logs Explorer.
  2. אם צריך, בוחרים את הפרויקט.
  3. בדף שנטען, בודקים ביומנים פעילות ממשאבי IAM חדשים או מעודכנים באמצעות המסננים הבאים:
    • proto_payload.method_name="google.iam.admin.v1.CreateServiceAccount"
    • protoPayload.methodName="SetIamPolicy"
    • protoPayload.methodName="google.iam.admin.v1.UpdateRole"
    • protoPayload.methodName="google.iam.admin.v1.CreateRole"
    • protoPayload.authenticationInfo.principalEmail="principalEmail"

שלב 4: מחקר על שיטות תקיפה ותגובה

  1. מעיינים בערך של מסגרת MITRE ATT&CK לגבי סוג הממצא הזה: חשבונות תקפים: חשבונות בענן.
  2. כדי לפתח תוכנית תגובה, משלבים את תוצאות החקירה עם מחקר של MITRE.

שלב 5: הטמעת התגובה

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

  • פונים לבעלים של הפרויקט עם החשבון שנפרץ.
  • בודקים את השדות anomalousSoftwareClassification, callerUserAgent ו-behaviorPeriod כדי לוודא שהגישה לא חריגה ושלא הייתה פריצה לחשבון.
  • מחיקת משאבי פרויקט שנוצרו על ידי חשבונות לא מורשים, כמו מופעי Compute Engine, תמונות מצב, חשבונות שירות ומשתמשי IAM לא מוכרים.
  • כדי להגביל את יצירת המשאבים החדשים לאזורים ספציפיים, אפשר לעיין במאמר בנושא הגבלת מיקומי משאבים.
  • כדי לזהות ולתקן תפקידים עם יותר מדי הרשאות, אפשר להשתמש בשירות המלצות של IAM.

דוגמה למציאת JSON

הנה דוגמה ל-JSON של הממצא.

{
  "finding": {
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
    "resourceName": "//monitoring.googleapis.com/projects/PROJECT_ID",
    "state": "ACTIVE",
    "category": "Persistence: New User Agent",
    "sourceProperties": {
      "sourceId": {
        "projectNumber": "PROJECT_NUMBER",
        "customerOrganizationNumber": "ORGANIZATION_ID"
      },
      "detectionCategory": {
        "technique": "persistence",
        "indicator": "audit_log",
        "ruleName": "iam_anomalous_behavior",
        "subRuleName": "user_agent"
      },
      "detectionPriority": "LOW",
      "affectedResources": [{
        "gcpResourceName": "//monitoring.googleapis.com/projects/PROJECT_ID"
      }, {
        "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"
      }],
      "evidence": [{
        "sourceLogId": {
          "projectId": "PROJECT_ID",
          "resourceContainer": "projects/PROJECT_ID",
          "timestamp": {
            "seconds": "1614736482",
            "nanos": 9.76209552E8
          },
          "insertId": "INSERT_ID"
        }
      }],
      "properties": {
        "anomalousSoftware": {
          "anomalousSoftwareClassification": ["USER_AGENT"],
          "behaviorPeriod": "2592000s",
          "callerUserAgent": "USER_AGENT",
          "principalEmail": "USER_EMAIL@PROJECT_ID.iam.gserviceaccount.com"
        }
      },
      "findingId": "FINDING_ID",
      "contextUris": {
        "cloudLoggingQueryUri": [{
          "displayName": "Cloud Logging Query Link",
          "url": "https://console.cloud.google.com/logs/query;query\u003dtimestamp%3D%222021-03-03T01:54:42.976209552Z%22%0AinsertId%3D%22INSERT_ID%22%0Aresource.labels.project_id%3D%22PROJECT_ID%22?project\u003dPROJECT_ID"
        }]
      }
    },
    "securityMarks": {
      "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
    },
    "eventTime": "2021-03-03T01:54:47.681Z",
    "createTime": "2021-03-03T01:54:49.154Z",
    "severity": "HIGH",
    "workflowState": "NEW",
    "canonicalName": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID"
  },
  "resource": {
    "name": "//monitoring.googleapis.com/projects/PROJECT_ID"
  }
}

המאמרים הבאים