> For the complete documentation index, see [llms.txt](https://docs.panther.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.panther.com/ko/enrichment/traildiscover.md).

# TrailDiscover

## 개요

다음을 사용할 수 있습니다 [TrailDiscover](https://github.com/adanalvarez/TrailDiscover) Panther의 enrichment 소스로 사용됩니다. TrailDiscover는 자세한 설명, MITRE ATT\&CK 인사이트, 실제 사고 참조, 연구 링크, 보안 영향에 대한 정보를 포함하는 CloudTrail 이벤트의 지속적으로 발전하는 저장소입니다.

방법 알아보기 [저장된 enrichment 데이터를 여기에서 보기](/ko/enrichment.md#viewing-and-managing-enrichments), 그리고 방법 [보강 데이터가 포함된 로그 이벤트를 여기에서 확인하세요](/ko/enrichment.md#viewing-log-events-with-enrichment-data).

## TrailDiscover 작동 방식

TrailDiscover는 로그의 `eventName` 키를 사용하여 TrailDiscover의 관련 정보로 CloudTrail 이벤트를 enrichment합니다.  [Amazon Security Lake](/ko/data-onboarding/supported-logs/aws/security-lake.md), TrailDiscover는  `api.operation` 필드를 enrichment하며, 이 필드에는 CloudTrail 이벤트 이름이 포함됩니다.

## TrailDiscover enrichment 설정

{% tabs %}
{% tab title="콘솔" %}
**Panther Console에서 TrailDiscover enrichment를 설정하는 방법**

1. Panther Console의 왼쪽 탐색 모음에서 다음을 클릭합니다 **디택션**.
2. 다음을 클릭합니다: **디택션 팩** 탭.
3. "TrailDiscover"를 검색한 다음,  **TrailDiscover Lookup Tables** 타일에서, **활성화** 토글 `켬`.
4. 팝업 확인 모달에서  **계속**.
5. Enrichment가 활성화되었는지 확인하려면 왼쪽 사이드바 메뉴에서  **구성** > **보강.**
   * 이 페이지에서 모든 보강 소스와 각 소스의 현재 활성화/비활성화 상태, 그리고 소스 데이터가 마지막으로 새로 고침된 시점을 확인할 수 있습니다.
     {% endtab %}

{% tab title="CLI" %}
**CLI 워크플로에서 TrailDiscover enrichment를 설정하는 방법**

* CLI 워크플로에서 TrailDiscover를 설정하려면  [Panther Analysis Tool로 Lookup Tables 및 Enrichment Providers 관리하기](/ko/panther/detections-repo/pat/managing-enrichment.md)의 Panther 관리형 enrichment 지침을 따르세요. Panther Console에서의 설정은 현재 사용할 수 없습니다.

다음 고려 사항을 참고하세요:

* CI/CD 사용자는 TrailDiscover enrichment 테이블을 가져오기 위해 디택션 팩을 사용할 필요가 없습니다. TrailDiscover enrichment 테이블을 업로드하려면 최신 릴리스를 가져올 수 있습니다. [`panther-analysis`](https://github.com/panther-labs/panther-analysis) 을 가져와 `panther_analysis_tool` (PAT)
  * TrailDiscover 테이블을 활성화하려면  [`panther-analysis`](https://github.com/panther-labs/panther-analysis) repo를 사용하고, 각 해당 YAML 구성 파일을 열어  `enabled: true`.
* CI/CD 사용자는 PAT를 사용해 TrailDiscover 테이블을 사용자 지정하지 않는 한, 디택션 팩을 통해 TrailDiscover enrichment를 활성화할 수 있습니다.
  * Panther Console에서 TrailDiscover를 활성화한 후 PAT를 통해 이를 관리하기로 선택한 경우, 먼저 Panther Console에서 디택션 팩을 비활성화해야 합니다. Panther Console과 PAT를 동시에 사용하여 TrailDiscover를 관리하는 것은 지원되지 않습니다.
* TrailDiscover enrichment 관리 방법에 대한 자세한 내용은  [Panther GitHub 리포지토리의 TrailDiscover 파일](https://github.com/panther-labs/panther-analysis/tree/main/lookup_tables/traildiscover).
  {% endtab %}
  {% endtabs %}

## TrailDiscover로 enrichment된 예시 이벤트

아래는 TrailDiscover 데이터로 enrichment된 CloudTrail 로그입니다.  `TrailDiscover` 내의 객체에는 `p_enrichment` 에 대한 추가 정보가 포함되어 있습니다. `AssumeRole` 이벤트(예: 관련 사고, 연구, MITRE ATT\&CK 전술 및 기술에 대한 링크).

```json
{
  "awsRegion": "us-east-1",
  "correlation_룰_matches": {},
  "database_name": "panther_logs",
  "eventCategory": "관리",
  "eventID": "5d0ee1aa-cac2-3876-9808-aecdc2b720ab",
  "eventName": "AssumeRole",
  "eventSource": "sts.amazonaws.com",
  "eventTime": "2024-04-24 19:23:36.000000000",
  "eventType": "AwsApiCall",
  "eventVersion": "1.08",
  "managementEvent": true,
  "p_enrichment": {
    "TrailDiscover": {
      "eventName": {
        "awsService": "STS",
        "description": "AWS 리소스에 액세스하는 데 사용할 수 있는 임시 보안 자격 증명 세트를 반환합니다.",
        "eventName": "AssumeRole",
        "eventSource": "sts.amazonaws.com",
        "incidents": [
          {
            "description": "DangerDev@protonmail.me의 흥미로운 사례",
            "link": "https://www.invictus-ir.com/news/the-curious-case-of-dangerdev-protonmail-me"
          },
          {
            "description": "낙원의 문제",
            "link": "https://blog.darklab.hk/2021/07/06/trouble-in-paradise/"
          }
        ],
        "mitreAttackTactics": [
          "TA0001 - 초기 액세스",
          "TA0003 - 지속성",
          "TA0004 - 권한 상승"
        ],
        "mitreAttackTechniques": [
          "T1199 - 신뢰 관계",
          "T1078 - 유효한 계정"
        ],
        "p_match": "AssumeRole",
        "permissions": "https://aws.permissions.cloud/iam/sts#sts-AssumeRole",
        "researchLinks": [
          {
            "description": "역할 체인 저글링",
            "link": "https://hackingthe.cloud/aws/post_exploitation/role-chain-juggling/"
          },
          {
            "description": "IAM 보안 정책에서 위험한 작업을 디택션하고 제거하기",
            "link": "https://www.solvo.cloud/blog/detecting-and-removing-risky-actions-out-of-your-iam-security-policies/"
          }
        ],
        "securityImplications": "공격자는 AWS 역할에 무단으로 액세스하기 위해 AssumeRole을 사용할 수 있습니다. 이로 인해 초기 액세스를 획득하거나, 권한을 상승시키거나, 특정 시나리오에서는 지속성을 확보할 수 있습니다.",
        "simulation": [
          {
            "type": "commandLine",
            "value": "aws sts assume-role --role-arn arn:aws:iam::123456789012:role/TrailDiscover --role-session-name TrailDiscover"
          }
        ],
        "usedInWild": true
      }
    }
  },
  "readOnly": true,
  "recipientAccountId": "123456789012",
  "requestID": "ddcb3c89-b762-43a1-a2b7-33f6f1afac53",
  "requestParameters": {
    "roleArn": "arn:aws:iam::123456789012:role/some-role",
    "roleSessionName": "SOME_SESSION"
  },
  "resources": [
    {
      "accountId": "123456789012",
      "arn": "arn:aws:iam::123456789012:role/some-role",
      "type": "AWS::IAM::Role"
    }
  ],
  "responseElements": {
    "assumedRoleUser": {
      "arn": "arn:aws:sts::123456789012:assumed-role/some-role/SOME_SESSION",
      "assumedRoleId": "AROASXP6SDABCDEFGL:SOME_SESSION"
    },
    "credentials": {
      "accessKeyId": "ASIASXABCDEFGRGZ",
      "expiration": "2024년 4월 24일 오후 8:23:36",
      "sessionToken": "token"
    }
  },
  "sharedEventID": "a077320f-2184-482c-8e6d-e1e9ddfde08f",
  "sourceIPAddress": "cloudtrail.amazonaws.com",
  "table_name": "aws_cloudtrail",
  "userAgent": "cloudtrail.amazonaws.com",
  "userIdentity": {
    "invokedBy": "cloudtrail.amazonaws.com",
    "type": "AWSService"
  }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.panther.com/ko/enrichment/traildiscover.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
