

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon GuardDuty 조사 결과 이해 및 생성하기
<a name="guardduty_findings"></a>

GuardDuty 결과는 AWS 계정워크로드 및 데이터 내에서 탐지된 잠재적 보안 문제를 나타냅니다. GuardDuty는 AWS 환경에서 예기치 않고 잠재적으로 악의적인 활동을 감지할 때마다 결과를 생성합니다.

GuardDuty 콘솔의 **조사 결과** 페이지에서 또는 AWS CLI API 작업을 사용하여 GuardDuty 조사 결과를 보고 관리할 수 있습니다. GuardDuty 조사 결과를 관리하는 방법에 대한 자세한 내용은 [Amazon GuardDuty 결과 관리](findings_management.md)을 참조하세요.

**주제:**

[GuardDuty 결과 형식](guardduty_finding-format.md)  
GuardDuty가 찾는 유형과 GuardDuty가 추적하는 다양한 위협 목적의 형식을 이해합니다.

[샘플 조사 결과](sample_findings.md)  
GuardDuty 콘솔에서 또는 GuardDuty API 또는 AWS CLI 명령을 사용하여 샘플 조사 결과를 생성합니다. 생성된 샘플 조사 결과에는 각 GuardDuty 조사 결과와 관련된 조사 결과 세부 정보를 이해하는 데 도움이 되는 가상의 세부 정보가 포함되어 있습니다. 이러한 조사 결과는 접두사 **[SAMPLE]**로 표시됩니다.

[전용 계정에서 GuardDuty 조사 결과 테스트](guardduty_findings-scripts.md)  
사용자 환경에서 특정 GuardDuty 조사 결과를 테스트할 수 있습니다. 전용 비프로덕션 AWS 계정에서 `guardduty-tester`스크립트를 실행합니다. GuardDuty가 발견 사항을 감지하고 시뮬레이션하기 위해 사용자 환경에 특정 리소스를 배포합니다. 이 경험은 샘플 조사 결과를 생성하는 것과는 다릅니다.

[GuardDuty 콘솔에서 생성된 조사 결과 보기](guardduty_working-with-findings.md)  
GuardDuty 콘솔에서 생성된 조사 결과를 검토하는 방법에 대해 알아보세요.

[GuardDuty 조사 결과의 심각도 수준](guardduty_findings-severity.md)  
각 GuardDuty 결과에는 AWS 환경의 잠재적 위험을 반영하는 관련 심각도 수준이 있습니다. 이 섹션에서는 각 심각도 수준이 무엇을 의미하는지 설명합니다.

[결과 세부 정보](guardduty_findings-summary.md)  
계정에서 생성되는 GuardDuty 조사 결과와 관련된 세부 정보에 대해 자세히 알아보세요. 이 항목에는 GuardDuty의 기본 위협 탐지, Extended Threat Detection 및 전용 보호 플랜과 관련된 세부 정보가 포함되어 있습니다.

[GuardDuty 결과 집계](finding-aggregation.md)  
GuardDuty가 동일한 발견 유형이 여러 번 발생하는 경우 어떻게 처리하는지 알아보세요. GuardDuty는 탐지된 동일한 발견 유형을 집계하여 원래의 발견 유형을 최신 세부 정보로 업데이트합니다.

[GuardDuty 결과 유형](guardduty_finding-types-active.md)  
이 섹션에서는 연결된 [기본 데이터 소스](guardduty_data-sources.md) 또는 [매핑된 GuardDuty 기능](guardduty-feature-object-api-changes-march2023.md#guardduty-feature-enablement-datasource-relation)를 기준으로 GuardDuty 결과 유형을 나열합니다. 각 발견 유형에 대해 자세히 알아보려면 해당 발견을 선택하여 해당 설명 및 발견을 해결하기 위한 잠재적 단계 등 자세한 내용을 확인하세요.

# GuardDuty 결과 형식
<a name="guardduty_finding-format"></a>

GuardDuty는 AWS 환경에서 의심스럽거나 예상치 못한 동작을 감지하면 결과를 생성합니다. 결과는 GuardDuty에서 발견한 잠재적 보안 문제에 대한 세부 정보를 포함한 알림입니다. 에는 발생한 일, 의심스러운 활동에 관여한 AWS 리소스,이 활동이 발생한 시간 및 근본 원인을 이해하는 데 도움이 될 수 있는 관련 정보가 [GuardDuty 콘솔에서 생성된 조사 결과 보기](guardduty_working-with-findings.md) 포함됩니다.

조사 결과 세부 정보의 가장 유용한 정보 중 하나는 **조사 결과 유형**입니다. 조사 결과 유형의 용도는 잠재적인 보안 문제에 대한 간결하면서도 읽기 쉬운 설명을 제공하는 것입니다. 예를 들어, GuardDuty *Recon:EC2/PortProbeUnprotectedPort* 조사 결과 유형은 AWS 환경의 어딘가에 잠재적 공격자가 탐색 중인 보호되지 않은 포트가 EC2 인스턴스에 있음을 빠르게 알려줍니다.

GuardDuty는 생성한 다양한 결과 유형에 다음 형식을 사용합니다.

**ThreatPurpose:ResourceTypeAffected/ThreatFamilyName.DetectionMechanism\$1Artifact**

이 형식의 각 부분은 결과 유형의 한 측면을 나타냅니다. 이러한 측면에는 다음과 같은 설명이 있습니다.
+ **ThreatPurpose** - 위협, 공격 유형 또는 잠재적 공격 단계의 주요 목적을 설명합니다. GuardDuty 위협 목적의 전체 목록은 다음 섹션을 참조하세요.
+ **ResourceTypeAffected** - 이 결과에서 공격의 잠재적인 대상으로 식별된 AWS 리소스를 설명합니다. 현재 GuardDuty는 [GuardDuty 활성 조사 결과 유형](guardduty_finding-types-active.md#findings-table)에 나열된 리소스 유형에 대한 조사 결과를 생성할 수 있습니다.
+ **ThreatFamilyName** - GuardDuty가 탐지하는 전반적인 위협 또는 잠재적인 악성 활동을 설명합니다. 예를 들어 **NetworkPortUnusual**의 값은 GuardDuty 결과에서 식별된 EC2 인스턴스에 해당 결과에서 식별된 특정 원격 포트에 대한 이전 통신 내역이 없음을 나타냅니다.
+ **DetectionMechanism** - GuardDuty가 결과를 탐지한 방법을 설명합니다. 이는 일반적인 결과 유형의 변형 또는 GuardDuty가 특정 메커니즘을 사용하여 탐지한 결과를 나타내는 데 사용할 수 있습니다. 예를 들어 **Backdoor:EC2/DenialOfService.Tcp**는 TCP를 통해 서비스 거부(DoS)가 탐지되었음을 나타냅니다. UDP 변형은 **Backdoor:EC2/DenialOfService.Udp**입니다.

  **.Custom** 값은 GuardDuty가 사용자 지정 위협 목록을 기반으로 탐지했음을 나타냅니다. 자세한 내용은 [엔터티 목록 및 IP 주소 목록](guardduty_upload-lists.md) 단원을 참조하십시오.

  **.Reputation** 값은 GuardDuty가 도메인 평판 점수 모델을 사용하여 검색을 감지했음을 나타냅니다. 자세한 내용은 [가 클라우드의 가장 큰 보안 위협을 AWS 추적하고 종료하는 방법을 참조하세요](https://aws.amazon.com/blogs/security/how-aws-tracks-the-clouds-biggest-security-threats-and-helps-shut-them-down/).
+ **Artifact** - 악성 활동에 사용된 도구가 소유한 특정 리소스를 설명합니다. 예를 들어, 검색 유형 [CryptoCurrency:EC2/BitcoinTool.B\$1DNS](guardduty_finding-types-ec2.md#cryptocurrency-ec2-bitcointoolbdns)의 **DNS**는 Amazon EC2 인스턴스가 알려진 비트코인 관련 도메인과 통신하고 있음을 나타냅니다.
**참고**  
아티팩트는 선택 사항이며 모든 GuardDuty 찾기 유형에서 사용할 수 없는 경우도 있습니다.

## Threat Purposes
<a name="guardduty_threat_purposes"></a>

GuardDuty에서 위협 목적**은 위협, 공격 유형 또는 잠재적 공격 단계의 주요 목적을 설명합니다. 예를 들어 **Backdoor**와 같은 일부 위협 목적은 공격 유형을 나타냅니다. 그러나 **Impact**와 같은 일부 위협 목적은 [MITRE ATT&CK 전략](https://attack.mitre.org/tactics/TA0010/)과 연계되어 있습니다. MITRE ATT&CK 전략은 적의 공격 주기에서 서로 다른 단계를 나타냅니다. 현재 GuardDuty 릴리스에서 ThreatPurpose는 다음 값을 가질 수 있습니다.

**Backdoor**  
이 값은 공격자가 AWS 리소스를 손상시키고 리소스를 변경하여 홈 명령 및 제어(C&C) 서버에 연락하여 악의적인 활동에 대한 추가 지침을 받을 수 있음을 나타냅니다.

**동작**  
이 값은 GuardDuty에서 관련 AWS 리소스에 대해 설정된 기준과 다른 활동 또는 활동 패턴을 탐지했음을 나타냅니다.

**CredentialAccess**  
이 값은 공격자가 사용자 환경에서 비밀번호, 사용자 이름 및 액세스 키와 같은 자격 증명을 훔치는 데 사용할 수 있는 활동 패턴을 GuardDuty가 감지했음을 나타냅니다. 이 위협 목적은 [MITRE ATT&CK 전략](https://attack.mitre.org/matrices/enterprise/cloud/aws/)을 기반으로 합니다.

**Cryptocurrency**  
이 값은 GuardDuty가 환경의 AWS 리소스가 암호화폐(예: Bitcoin)와 연결된 소프트웨어를 호스팅하고 있음을 감지했음을 나타냅니다.

**DefenseEvasion**  
이 값은 GuardDuty가 공격자가 환경에 침투하는 동안 탐지를 피하기 위해 사용할 수 있는 활동 또는 활동 패턴을 탐지했음을 나타냅니다. 이 위협 목적은 [MITRE ATT&CK 전략](https://attack.mitre.org/matrices/enterprise/cloud/aws/)을 기반으로 합니다.

**Discovery**  
이 값은 GuardDuty에서 공격자가 시스템 및 내부 네트워크에 대한 지식을 넓히는 데 사용할 수 있는 활동 또는 활동 패턴을 탐지했음을 나타냅니다. 이 위협 목적은 [MITRE ATT&CK 전략](https://attack.mitre.org/matrices/enterprise/cloud/aws/)을 기반으로 합니다.

**Execution**  
이 값은 GuardDuty가 공격자가 환경을 탐색하거나 데이터를 도용하기 위해를 실행하려고 AWS 하거나 이미 악성 코드를 실행했음을 감지했음을 나타냅니다. 이 위협 목적은 [MITRE ATT&CK 전략](https://attack.mitre.org/tactics/TA0002/)을 기반으로 합니다.

**Exfiltration**  
이 값은 GuardDuty에서 공격자가 환경에서 데이터를 훔치려고 할 때 사용할 수 있는 활동 또는 활동 패턴을 탐지했음을 나타냅니다. 이 위협 목적은 [MITRE ATT&CK 전략](https://attack.mitre.org/tactics/TA0010/)을 기반으로 합니다.

**Impact**  
이 값은 GuardDuty에서 공격자가 시스템 및 데이터를 조작, 방해 또는 파괴하려고 시도하는 중임을 보여주는 활동 또는 활동 패턴을 탐지했음을 나타냅니다. 이 위협 목적은 [MITRE ATT&CK 전략](https://attack.mitre.org/matrices/enterprise/cloud/aws/)을 기반으로 합니다.

**InitialAccess**  
이 값은 일반적으로 공격자가 사용자 환경에 대한 액세스를 시도할 때 공격의 초기 액세스 단계와 연관됩니다. 이 위협 목적은 [MITRE ATT&CK 전략](https://attack.mitre.org/matrices/enterprise/cloud/aws/)을 기반으로 합니다.

**Pentest**  
 AWS 리소스 소유자 또는 권한 있는 대리인이 의도적으로 AWS 애플리케이션에 대한 테스트를 실행하여 과도하게 허용되는 열린 보안 그룹 또는 액세스 키와 같은 취약성을 찾는 경우가 있습니다. 이러한 침투 테스트는 공격자가 취약한 리소스를 찾아내기 전에 해당 리소스를 파악하여 제재하기 위해 수행됩니다. 하지만 권한이 있는 침투 테스터가 사용하는 일부 도구는 무료로 사용할 수 있으므로 무단 사용자 또는 공격자가 탐색 테스트를 실행할 수 있습니다. GuardDuty는 이러한 활동 이면의 진정한 의도까지는 파악할 수 없지만 **Pentest** 값은 GuardDuty에서 이러한 활동을 탐지했고 알려진 침투 테스트에서 생성한 활동과 유사하므로 잠재적인 공격일 수 있음을 나타내며, 네트워크의 악의적인 탐색을 나타낼 수 있습니다.

**Persistence**  
이 값은 GuardDuty에서 공격자가 초기 액세스 경로가 차단된 경우에도 시스템에 대한 액세스를 시도하고 유지하기 위해 사용할 수 있는 활동 또는 활동 패턴을 탐지했음을 나타냅니다. 기존 사용자의 손상된 보안 인증 정보를 통해 액세스 권한을 획득한 후 새 IAM 사용자를 생성하는 것이 여기에 포함될 수 있습니다. 기존 사용자의 보안 인증 정보가 삭제되면 공격자는 기존 이벤트의 일부로 탐지되지 않은 새 사용자에 대한 액세스를 유지하게 됩니다. 이 위협 목적은 [MITRE ATT&CK 전략](https://attack.mitre.org/matrices/enterprise/cloud/aws/)을 기반으로 합니다.

**정책**  
이 값은이 권장 보안 모범 사례에 반하는 동작을 AWS 계정 보이고 있음을 나타냅니다. 예를 들어 AWS 리소스 또는 환경과 관련된 권한 정책을 의도치 않게 수정하거나 사용량이 거의 또는 전혀 없어야 하는 권한 있는 계정을 사용하는 경우 등이 있습니다.

**PrivilegeEscalation**  
이 값은 AWS 환경 내의 관련 주체가 공격자가 네트워크에 대해 더 높은 수준의 권한을 얻기 위해 활용할 수 있는 행동을 보이고 있음을 알려줍니다. 이 위협 목적은 [MITRE ATT&CK 전략](https://attack.mitre.org/matrices/enterprise/cloud/aws/)을 기반으로 합니다.

**Recon**  
이 값은 환경 정찰을 수행할 때 공격자가 액세스 범위를 넓히거나 리소스를 활용하는 방법을 결정하는 데 사용할 수 있는 활동 또는 활동 패턴을 GuardDuty에서 탐지했음을 나타냅니다. 예를 들어, 이 활동에는 포트 프로브, API 호출, 사용자 목록, 데이터베이스 테이블 목록 등을 통해 AWS 환경의 취약점을 찾아내는 작업이 포함될 수 있습니다.

**Stealth**  
이 값은 공격자가 행동을 적극적으로 숨기려고 함을 나타냅니다. 예를 들어 익명화 프록시 서버를 사용하면 활동의 실제 특성을 파악하는 것이 무척 어려울 수 있습니다.

**Trojan**  
이 값은 공격이 조용히 악의적인 활동을 수행하는 트로이 목마 프로그램을 사용 중임을 의미합니다. 때때로 이 소프트웨어는 일반적인 프로그램으로 보이기도 합니다. 사용자가 실수로 이 소프트웨어를 실행할 때도 있고, 취약성을 악용하여 이 소프트웨어가 자동으로 실행될 수도 있습니다.

**UnauthorizedAccess**  
이 값은 권한 없는 개인의 의심되는 활동 또는 의심되는 활동 패턴을 GuardDuty에서 탐지했음을 나타냅니다.

# GuardDuty 맬웨어 탐지 스캔 엔진
<a name="guardduty-malware-detection-scan-engine"></a>

Amazon GuardDuty에는 내부적으로 구축되고 관리되는 스캔 엔진과 [타사 공급업체](https://www.bitdefender.com/blog/businessinsights/bitdefender-and-amazon-web-services-strengthen-cloud-security/)가 있습니다. 두 가지 모두 AWS를 대상으로 할 수 있는 다양한 종류의 맬웨어에 대한 가시성을 가진 다양한 내부 피드에서 가져온 침해 지표(IoCs)를 사용합니다. 또한 GuardDuty에는 보안 엔지니어가 추가한 YARA 규칙을 기반으로 한 탐지 정의와 휴리스틱 및 머신 러닝(ML) 모델을 기반으로 한 탐지 기능이 있습니다. Amazon S3 객체를 스캔할 때 GuardDuty 맬웨어 보호는 동일한 스캔 정의 및 엔진을 사용하여 동일한 객체를 여러 번 스캔할 때 일관된 결과를 생성합니다. 서명 기반 탐지에는 바이트의 일치뿐만 아니라 잠재적으로 복잡한 코드 조각도 포함되며, 스캐너는 콘텐츠를 구문 분석하고 결정을 내릴 수 있습니다.

멀웨어 검사 엔진은 실제 시스템에서 실행되는 샘플을 모니터링하는 실시간 행동 분석을 수행하지 않습니다. GuardDuty 솔루션은 주로 파일 기반 탐지입니다. 파일 없는 멀웨어 탐지를 위해 GuardDuty는 Amazon EKS, Amazon EC2 및 Amazon ECS( AWS Fargate포함)용 [런타임 모니터링](runtime-monitoring.md)와 같은 에이전트 기반 솔루션을 제공합니다.

GuardDuty가 멀웨어를 검사하는 파일 형식에 제한이 없기 때문에 사용하는 검사 엔진은 크립토마이너, 랜섬웨어, 웹쉘과 같은 다양한 유형의 멀웨어를 탐지할 수 있습니다. 완전 관리형 GuardDuty 스캔 엔진은 15분마다 멀웨어 시그니처 목록을 지속적으로 업데이트합니다.

스캔 엔진은 내부 멀웨어 폭발 구성 요소를 사용하는 GuardDuty 위협 인텔리전스 시스템의 일부입니다. 이는 여러 소스에서 멀웨어와 양성 샘플을 독립적으로 수집하여 새로운 위협 인텔리전스를 생성합니다. 위협 인텔리전스 시스템의 파일 해시 IoC 유형은 멀웨어 스캔 엔진에 추가로 제공되어 알려진 악성 파일 해시를 기반으로 멀웨어를 탐지합니다.

# GuardDuty에서 샘플 결과 생성
<a name="sample_findings"></a>

Amazon GuardDuty를 통해 샘플 조사 결과를 생성하면 생성할 수 있는 다양한 조사 결과 유형을 시각화하고 파악하는 데 도움이 됩니다. 샘플 조사 결과를 생성하면 GuardDuty가 공격 시퀀스 조사 결과 유형을 포함해 현재의 조사 결과 목록에 지원되는 조사 결과 유형별로 샘플 조사 결과를 하나씩 채웁니다.

생성된 샘플은 자리표시자 값으로 채워진 근삿값입니다. 이러한 샘플은 사용자 환경의 실제 조사 결과와 다를 수 있지만 이벤트 브리지 이벤트 또는 필터와 같은 GuardDuty의 다양한 구성을 테스트하는 데 사용할 수 있습니다. 유형 찾기에 사용할 수 있는 값 목록은 [GuardDuty 결과 유형](guardduty_finding-types-active.md) 표를 참조하세요.

## GuardDuty 콘솔 또는 API를 통해 샘플 결과 생성
<a name="sample_console"></a>

선호하는 액세스 방법을 선택하여 샘플 결과를 생성합니다.

**참고**  
GuardDuty 콘솔을 사용하면 각 조사 결과 유형 중 하나를 생성할 수 있습니다. 하나 이상의 특정 조사 결과 유형을 생성하려면 연결된 API/CLI 단계를 수행합니다.

------
#### [ Console ]

다음 절차를 수행하여 샘플 조사 결과를 생성합니다. 이 프로세스는 각 GuardDuty 결과 유형에 대해 하나의 샘플 결과를 생성합니다.

****

1. [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/)에서 GuardDuty 콘솔을 엽니다.

1. 탐색 창에서 **설정**을 선택합니다.

1. [**Settings**] 페이지의 [**Sample findings**] 아래에서 [**Generate sample findings**]를 선택합니다.

1. 탐색 창에서 **조사 결과**를 선택합니다. 샘플 결과는 **현재 결과** 페이지에 접두사 **[SAMPLE]**과 함께 표시됩니다.

------
#### [ API/CLI ]

[https://docs.aws.amazon.com/guardduty/latest/APIReference/API_CreateSampleFindings.html](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_CreateSampleFindings.html) API를 통해 모든 GuardDuty 결과 유형과 일치하는 단일 샘플 결과를 생성할 수 있습니다. 결과 유형에 대해 제공되는 값은 [GuardDuty 결과 유형](guardduty_finding-types-active.md) 표에 나열되어 있습니다.

이는 CloudWatch Events 규칙을 테스트하거나 결과 기반 자동화에 유용합니다. 다음 예시에서는 AWS CLI를 사용하여 `Backdoor:EC2/DenialOfService.Tcp` 유형에 대한 단일 샘플 결과를 만드는 방법을 보여줍니다.

계정 및 현재 리전에 대한 `detectorId`를 찾으려면 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/)콘솔의 **설정** 페이지를 참조하거나 [https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API를 실행합니다.

```
aws guardduty create-sample-findings --detector-id 12abc34d567e8fa901bc2d34e56789f0 --finding-types Backdoor:EC2/DenialOfService.Tcp
```

------

이러한 방법을 통해 생성된 샘플 결과의 제목은 콘솔에서 항상 **[SAMPLE]**로 시작합니다. 샘플 결과의 경우 결과 JSON 세부 정보의 **additionalInfo** 섹션에 `"sample": true` 값이 있습니다.

생성된 조사 결과와 관련된 조사 결과 심각도 및 잠재적으로 손상된 리소스와 같은 조사 결과 세부 정보를 이해하려면 [GuardDuty 조사 결과의 심각도 수준](guardduty_findings-severity.md) 및 [결과 세부 정보](guardduty_findings-summary.md) 섹션을 참조하세요.

환경 AWS 계정 내에서 격리된 전용에서 시뮬레이션된 활동을 기반으로 몇 가지 일반적인 결과를 생성하려면 섹션을 참조하세요[전용 계정에서 GuardDuty 조사 결과 테스트](guardduty_findings-scripts.md).

# 전용 계정에서 GuardDuty 조사 결과 테스트
<a name="guardduty_findings-scripts"></a>

이 문서를 사용하여 AWS 계정에 배포될 테스트 리소스에 대해 GuardDuty 조사 결과를 생성하는 테스터 스크립트를 실행합니다. 특정 GuardDuty 검색 유형과 검색 세부 정보가 계정의 실제 리소스를 찾는 방법을 이해하고 학습하려는 경우 이 단계를 수행할 수 있습니다. 이 경험은 [샘플 조사 결과](sample_findings.md) 생성과 다릅니다. GuardDuty 조사 결과 테스트 경험에 대한 자세한 내용은 [고려 사항](#considerations-generate-gdu-findings-tester)을 참조하세요.

**Topics**
+ [고려 사항](#considerations-generate-gdu-findings-tester)
+ [테스터 스크립트가 생성할 수 있는 GuardDuty 조사 결과](#gdu-findings-tester-generates)
+ [1단계 - 사전 조건](#prerequisites-gdu-tester-script)
+ [2단계 - AWS 리소스 배포](#deploy-gdu-tester-script)
+ [3단계 - 테스터 스크립트 실행](#run-gdu-tester-script)
+ [4단계 - AWS 테스트 리소스 정리](#clean-gdu-tester-script-resources)
+ [일반적인 문제 해결](#troubleshooting-gdu-tester-script-issues)

## 고려 사항
<a name="considerations-generate-gdu-findings-tester"></a>

계속 진행하기 전에 다음 사항을 고려하세요.
+ GuardDuty는 전용 비프로덕션 AWS 계정에 테스터를 배포할 것을 권장합니다. 이 접근 방식을 사용하면 테스터가 생성한 GuardDuty 조사 결과를 올바르게 식별할 수 있습니다. 또한 GuardDuty 테스터는 다른 계정에서 허용되는 것 이상의 IAM 권한이 필요할 수 있는 다양한 리소스를 배포합니다. 전용 계정을 사용하면 명확한 계정 경계로 권한 범위를 적절히 설정할 수 있습니다.
+ 테스터 스크립트는 다양한 AWS 리소스 조합으로 100개 이상의 GuardDuty 조사 결과를 생성합니다. 현재 이 [GuardDuty 결과 유형](guardduty_finding-types-active.md)에는 모든 가 포함되지 않습니다. 이 테스터 스크립트로 생성할 수 있는 결과 유형 목록은 [테스터 스크립트가 생성할 수 있는 GuardDuty 조사 결과](#gdu-findings-tester-generates)을 참조하세요.
**Note**  
*공격 시퀀스 조사 결과 유형*을 시각화하기 위해, 테스터 스크립트는 [AttackSequence:EKS/CompromisedCluster](guardduty-attack-sequence-finding-types.md#attack-sequence-eks-compromised-cluster)와 [AttackSequence:S3/CompromisedData](guardduty-attack-sequence-finding-types.md#attack-sequence-s3-compromised-data)만 생성합니다. [AttackSequence:IAM/CompromisedCredentials](guardduty-attack-sequence-finding-types.md#attack-sequence-iam-compromised-credentials)을 시각화하고 이해하기 위해 계정에서 [샘플 조사 결과](sample_findings.md)를 생성할수 있습니다.
+ GuardDuty 테스터가 예상대로 작동하려면 테스터 리소스가 배포된 계정에서 GuardDuty를 사용 설정해야 합니다. 테스터는 실행할 테스트에 따라 적절한 GuardDuty 보호 계획이 활성화되어 있는지 여부를 평가합니다. 활성화되지 않은 보호 계획의 경우 GuardDuty가 조사 결과를 생성하는 테스트를 수행할 수 있을 만큼 필요한 보호 계획을 활성화할 수 있는 권한을 요청합니다. 나중에 테스트가 완료되면 GuardDuty가 보호 계획을 비활성화합니다.  
**GuardDuty를 처음 활성화**  
특정 리전에서 처음으로 전용 계정에서 GuardDuty를 활성화하면 계정이 자동으로 30일 무료 체험에 등록됩니다.  
GuardDuty는 선택적 보호 계획을 제공합니다. GuardDuty를 활성화하면 특정 보호 플랜도 활성화되며 GuardDuty 30일 무료 체험판에 포함되어 있습니다. 자세한 내용은 [GuardDuty 30일 무료 평가판 사용](guardduty-pricing.md#using-guardduty-30-day-free-trial) 단원을 참조하십시오.  
**테스터 스크립트를 실행하기 전에 계정에서 GuardDuty가 이미 활성화되었습니다.**  
GuardDuty가 이미 사용 설정되어 있는 경우, 테스터 스크립트는 매개변수를 기반으로 특정 보호 계획의 구성 상태와 조사 결과를 생성하는 데 필요한 기타 계정 수준 설정을 확인합니다.  
이 테스터 스크립트를 실행하면 리전의 전용 계정에서 특정 보호 요금제가 처음으로 활성화될 수 있습니다. 그러면 해당 보호 요금제에 대한 30일 무료 체험이 시작됩니다. 각 보호 계획과 관련된 무료 평가판에 대한 자세한 내용은 [GuardDuty 30일 무료 평가판 사용](guardduty-pricing.md#using-guardduty-30-day-free-trial)을 참조하세요.
+ GuardDuty 테스터 인프라가 배포되는 한 PenTest 인스턴스에서 [UnauthorizedAccess:EC2/TorClient](guardduty_finding-types-ec2.md#unauthorizedaccess-ec2-torclient) 조사 결과를 받을 수 있습니다.

## 테스터 스크립트가 생성할 수 있는 GuardDuty 조사 결과
<a name="gdu-findings-tester-generates"></a>

현재 테스터 스크립트는 Amazon EC2, Amazon EKS, Amazon S3, IAM 및 EKS 감사 로그와 관련된 다음과 같은 찾기 유형을 생성합니다.
+ [AttackSequence:EKS/CompromisedCluster](guardduty-attack-sequence-finding-types.md#attack-sequence-eks-compromised-cluster)
+ [AttackSequence:S3/CompromisedData](guardduty-attack-sequence-finding-types.md#attack-sequence-s3-compromised-data)
+ [Backdoor:EC2/C&CActivity.B\$1DNS](guardduty_finding-types-ec2.md#backdoor-ec2-ccactivitybdns)
+ [Backdoor:EC2/DenialOfService.Dns](guardduty_finding-types-ec2.md#backdoor-ec2-denialofservicedns)
+ [Backdoor:EC2/DenialOfService.Udp](guardduty_finding-types-ec2.md#backdoor-ec2-denialofserviceudp)
+ [CryptoCurrency:EC2/BitcoinTool.B\$1DNS](guardduty_finding-types-ec2.md#cryptocurrency-ec2-bitcointoolbdns)
+ [Impact:EC2/AbusedDomainRequest.Reputation](guardduty_finding-types-ec2.md#impact-ec2-abuseddomainrequestreputation)
+ [Impact:EC2/BitcoinDomainRequest.Reputation](guardduty_finding-types-ec2.md#impact-ec2-bitcoindomainrequestreputation)
+ [Impact:EC2/MaliciousDomainRequest.Reputation](guardduty_finding-types-ec2.md#impact-ec2-maliciousdomainrequestreputation)
+ [Impact:EC2/SuspiciousDomainRequest.Reputation](guardduty_finding-types-ec2.md#impact-ec2-suspiciousdomainrequestreputation)
+ [Recon:EC2/Portscan](guardduty_finding-types-ec2.md#recon-ec2-portscan)
+ [Trojan:EC2/BlackholeTraffic\$1DNS](guardduty_finding-types-ec2.md#trojan-ec2-blackholetrafficdns)
+ [Trojan:EC2/DGADomainRequest.C\$1DNS](guardduty_finding-types-ec2.md#trojan-ec2-dgadomainrequestcdns)
+ [Trojan:EC2/DNSDataExfiltration](guardduty_finding-types-ec2.md#trojan-ec2-dnsdataexfiltration)
+ [Trojan:EC2/DriveBySourceTraffic\$1DNS](guardduty_finding-types-ec2.md#trojan-ec2-drivebysourcetrafficdns)
+ [Trojan:EC2/DropPoint\$1DNS](guardduty_finding-types-ec2.md#trojan-ec2-droppointdns)
+ [Trojan:EC2/PhishingDomainRequest\$1DNS](guardduty_finding-types-ec2.md#trojan-ec2-phishingdomainrequestdns)
+ [UnauthorizedAccess:EC2/MaliciousIPCaller.Custom](guardduty_finding-types-ec2.md#unauthorizedaccess-ec2-maliciousipcallercustom)
+ [UnauthorizedAccess:EC2/RDPBruteForce](guardduty_finding-types-ec2.md#unauthorizedaccess-ec2-rdpbruteforce) 
+ [UnauthorizedAccess:EC2/SSHBruteForce](guardduty_finding-types-ec2.md#unauthorizedaccess-ec2-sshbruteforce) 
+ [PenTest:IAMUser/KaliLinux](guardduty_finding-types-iam.md#pentest-iam-kalilinux) 
+ [Recon:IAMUser/MaliciousIPCaller.Custom](guardduty_finding-types-iam.md#recon-iam-maliciousipcallercustom) 
+ [Recon:IAMUser/TorIPCaller](guardduty_finding-types-iam.md#recon-iam-toripcaller) 
+ [Stealth:IAMUser/CloudTrailLoggingDisabled](guardduty_finding-types-iam.md#stealth-iam-cloudtrailloggingdisabled) 
+ [Stealth:IAMUser/PasswordPolicyChange](guardduty_finding-types-iam.md#stealth-iam-passwordpolicychange) 
+ [UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS](guardduty_finding-types-iam.md#unauthorizedaccess-iam-instancecredentialexfiltrationoutsideaws) 
+ [UnauthorizedAccess:IAMUser/MaliciousIPCaller.Custom](guardduty_finding-types-iam.md#unauthorizedaccess-iam-maliciousipcallercustom) 
+ [UnauthorizedAccess:IAMUser/TorIPCaller](guardduty_finding-types-iam.md#unauthorizedaccess-iam-toripcaller) 
+ [Discovery:Kubernetes/MaliciousIPCaller.Custom](guardduty-finding-types-eks-audit-logs.md#discovery-kubernetes-maliciousipcallercustom) 
+ [Discovery:Kubernetes/SuccessfulAnonymousAccess](guardduty-finding-types-eks-audit-logs.md#discovery-kubernetes-successfulanonymousaccess) 
+ [Discovery:Kubernetes/TorIPCaller](guardduty-finding-types-eks-audit-logs.md#discovery-kubernetes-toripcaller)
+ [Execution:Kubernetes/ExecInKubeSystemPod](guardduty-finding-types-eks-audit-logs.md#execution-kubernetes-execinkubesystempod)
+ [Impact:Kubernetes/MaliciousIPCaller.Custom](guardduty-finding-types-eks-audit-logs.md#impact-kubernetes-maliciousipcallercustom)
+ [Persistence:Kubernetes/ContainerWithSensitiveMount](guardduty-finding-types-eks-audit-logs.md#persistence-kubernetes-containerwithsensitivemount)
+ [Policy:Kubernetes/AdminAccessToDefaultServiceAccount](guardduty-finding-types-eks-audit-logs.md#policy-kubernetes-adminaccesstodefaultserviceaccount) 
+ [Policy:Kubernetes/AnonymousAccessGranted](guardduty-finding-types-eks-audit-logs.md#policy-kubernetes-anonymousaccessgranted) 
+ [PrivilegeEscalation:Kubernetes/PrivilegedContainer](guardduty-finding-types-eks-audit-logs.md#privilegeescalation-kubernetes-privilegedcontainer) 
+ [UnauthorizedAccess:Lambda/MaliciousIPCaller.Custom](lambda-protection-finding-types.md#unauthorized-access-lambda-maliciousIPcaller-custom) 
+ [Discovery:S3/MaliciousIPCaller.Custom](guardduty_finding-types-s3.md#discovery-s3-maliciousipcallercustom)
+ [Discovery:S3/TorIPCaller](guardduty_finding-types-s3.md#discovery-s3-toripcaller)
+ [PenTest:S3/KaliLinux](guardduty_finding-types-s3.md#pentest-s3-kalilinux)
+ [Policy:S3/AccountBlockPublicAccessDisabled](guardduty_finding-types-s3.md#policy-s3-accountblockpublicaccessdisabled)
+ [Policy:S3/BucketAnonymousAccessGranted](guardduty_finding-types-s3.md#policy-s3-bucketanonymousaccessgranted)
+ [Policy:S3/BucketBlockPublicAccessDisabled](guardduty_finding-types-s3.md#policy-s3-bucketblockpublicaccessdisabled)
+ [Policy:S3/BucketPublicAccessGranted](guardduty_finding-types-s3.md#policy-s3-bucketpublicaccessgranted)
+ [Stealth:S3/ServerAccessLoggingDisabled](guardduty_finding-types-s3.md#stealth-s3-serveraccessloggingdisabled)
+ [UnauthorizedAccess:S3/MaliciousIPCaller.Custom](guardduty_finding-types-s3.md#unauthorizedaccess-s3-maliciousipcallercustom)
+ [UnauthorizedAccess:S3/TorIPCaller](guardduty_finding-types-s3.md#unauthorizedaccess-s3-toripcaller)
+ [Backdoor:Runtime/C&CActivity.B\$1DNS](findings-runtime-monitoring.md#backdoor-runtime-ccactivitybdns)
+ [CryptoCurrency:Runtime/BitcoinTool.B\$1DNS](findings-runtime-monitoring.md#cryptocurrency-runtime-bitcointoolbdns)
+ [DefenseEvasion:Runtime/ProcessInjection.Ptrace](findings-runtime-monitoring.md#defenseeva-runtime-processinjectionptrace)
+ [DefenseEvasion:Runtime/ProcessInjection.VirtualMemoryWrite](findings-runtime-monitoring.md#defenseeva-runtime-processinjectionvirtualmemw)
+ [Execution:Runtime/ReverseShell](findings-runtime-monitoring.md#execution-runtime-reverseshell)
+ [Impact:Runtime/AbusedDomainRequest.Reputation](findings-runtime-monitoring.md#impact-runtime-abuseddomainrequestreputation)
+ [Impact:Runtime/BitcoinDomainRequest.Reputation](findings-runtime-monitoring.md#impact-runtime-bitcoindomainrequestreputation)
+ [Impact:Runtime/MaliciousDomainRequest.Reputation](findings-runtime-monitoring.md#impact-runtime-maliciousdomainrequestreputation)
+ [Impact:Runtime/SuspiciousDomainRequest.Reputation](findings-runtime-monitoring.md#impact-runtime-suspiciousdomainrequestreputation)
+ [PrivilegeEscalation:Runtime/ContainerMountsHostDirectory](findings-runtime-monitoring.md#privilegeescalation-runtime-containermountshostdirectory)
+ [PrivilegeEscalation:Runtime/DockerSocketAccessed](findings-runtime-monitoring.md#privilegeesc-runtime-dockersocketaccessed)
+ [Trojan:Runtime/BlackholeTraffic\$1DNS](findings-runtime-monitoring.md#trojan-runtime-blackholetrafficdns)
+ [Trojan:Runtime/DGADomainRequest.C\$1DNS](findings-runtime-monitoring.md#trojan-runtime-dgadomainrequestcdns)
+ [Trojan:Runtime/DriveBySourceTraffic\$1DNS](findings-runtime-monitoring.md#trojan-runtime-drivebysourcetrafficdns)
+ [Trojan:Runtime/DropPoint\$1DNS](findings-runtime-monitoring.md#trojan-runtime-droppointdns)
+ [Trojan:Runtime/PhishingDomainRequest\$1DNS](findings-runtime-monitoring.md#trojan-runtime-phishingdomainrequestdns)

## 1단계 - 사전 조건
<a name="prerequisites-gdu-tester-script"></a>

테스트 환경을 준비하려면 다음 항목이 필요합니다.
+ **Git** - 사용하는 운영 체제를 기반으로 git 명령줄 도구를 설치합니다.

  이는 [`amazon-guardduty-tester` 리포지토리를](https://github.com/awslabs/amazon-guardduty-tester) 복제하는 데 필요합니다.
+ **AWS Command Line Interface** - 명령줄 셸에서 명령을 AWS 서비스 사용하여와 상호 작용할 수 있는 오픈 소스 도구입니다. 자세한 내용은 *AWS Command Line Interface 사용 설명서*의 [AWS CLI시작하기](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)를 참조하세요.
+ **AWS Systems Manager** -를 사용하여 관리형 노드로 세션 관리자 세션을 시작하려면 로컬 시스템에 세션 관리자 플러그인을 설치 AWS CLI 해야 합니다. 자세한 내용은 *AWS Systems Manager 사용 설명서*에서 [AWS CLI용 세션 관리자 플러그인 설치](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)를 참조하세요.
+ **노드 패키지 관리자(NPM)** - NPM을 설치하여 모든 종속성을 설치합니다.
+ **Docker** - 도커가 설치되어 있어야 합니다. 설치 지침은 [도커 웹 사이트](https://docs.docker.com/get-docker/)를 참조하세요.

  Docker가 설치되었는지 확인하려면 다음 명령을 실행하여 다음 출력과 유사한 출력이 나오는지 확인합니다.

  ```
  $ docker --version
  Docker version 19.03.1
  ```
+ *AWS Marketplace*에서 [Kali Linux](https://aws.amazon.com/marketplace/pp/prodview-fznsw3f7mq7to) 이미지를 구독합니다.

## 2단계 - AWS 리소스 배포
<a name="deploy-gdu-tester-script"></a>

이 섹션에서는 주요 개념 목록과 전용 계정에 특정 AWS 리소스를 배포하는 단계를 제공합니다.

### 개념
<a name="concepts-deploy-resource-test-guardduty-findings"></a>

다음 목록은 리소스를 배포하는 데 도움이 되는 명령과 관련된 주요 개념을 제공합니다.
+ **AWS Cloud Development Kit (AWS CDK)** - CDK는 코드에서 클라우드 인프라를 정의하고 이를 프로비저닝하기 위한 오픈 소스 소프트웨어 개발 프레임워크입니다 CloudFormation. CDK는 컨스트럭트라고 하는 재사용 가능한 클라우드 구성 요소를 정의하기 위해 몇 가지 프로그래밍 언어를 지원합니다. 이를 스택과 앱으로 함께 구성할 수 있습니다. 그런 다음에 CDK 애플리케이션을 배포 CloudFormation 하여 리소스를 프로비저닝하거나 업데이트할 수 있습니다. 자세한 내용은 *AWS Cloud Development Kit (AWS CDK) 개발자 안내서*의 [란 무엇입니까 AWS CDK?](https://docs.aws.amazon.com/cdk/v2/guide/home.html)를 참조하세요.
+ **부트스트래핑** - AWS 사용할 환경을 준비하는 프로세스입니다 AWS CDK. CDK 스택을 AWS 환경에 배포하기 전에 먼저 환경을 부트스트래핑해야 합니다. 에서 사용하는 환경에서 특정 AWS 리소스를 프로비저닝하는이 프로세스는 다음 섹션 -에서 수행할 단계의 일부 AWS CDK 입니다[AWS 리소스 배포 단계](#steps-deploy-resource-test-guardduty-findings).

  부트스트래핑의 작동 방식에 대한 자세한 내용은 *AWS Cloud Development Kit (AWS CDK) 개발자 안내서*의 [부트스트래핑](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html)을 참조하세요.

### AWS 리소스 배포 단계
<a name="steps-deploy-resource-test-guardduty-findings"></a>

다음 단계를 수행하여 리소스 배포를 시작합니다.

1. 전용 계정 리전 변수를 `bin/cdk-gd-tester.ts` 파일에 수동으로 설정하지 않는 한 AWS CLI 기본 계정 및 리전을 설정합니다. 자세한 내용을 알아보려면 *AWS Cloud Development Kit (AWS CDK) 개발자 안내서*의 [환경](https://docs.aws.amazon.com/cdk/v2/guide/environments.html)을 참조하세요.

1. 다음 명령을 실행하여 리소스를 배포합니다.

   ```
   git clone https://github.com/awslabs/amazon-guardduty-tester && cd amazon-guardduty-tester
   npm install
   cdk bootstrap
   cdk deploy
   ```

   마지막 명령(`cdk deploy`)은 사용자를 대신하여 CloudFormation 스택을 생성합니다. 이 스택의 이름은 **GuardDutyTesterStack**입니다.

   이 스크립트의 일부로 GuardDuty는 계정에서 GuardDuty 조사 결과를 생성하기 위해 새로운 리소스를 생성합니다. 또한 Amazon EC2 인스턴스에 다음 태그 키:값 페어를 추가합니다.

   `CreatedBy`:`GuardDuty Test Script`

   Amazon EC2 인스턴스에는 EKS 노드 및 ECS 클러스터를 호스팅하는 EC2 인스턴스도 포함됩니다.
**인스턴스 유형**  
GuardDuty는 테스트를 성공적으로 수행하는 데 필요한 최소 성능을 제공하는 비용 효율적인 인스턴스 유형을 사용하도록 설계되었습니다. vCPU 요구 사항으로 인해 Amazon EKS 노드 그룹에는 `t3.medium`이 필요하고, DenialOfService 조사 결과 테스트에 필요한 네트워크 용량 증가로 인해 드라이버 노드에는`m6i.large`가 필요합니다. 다른 모든 테스트의 경우 GuardDuty는 `t3.micro` 인스턴스 유형을 사용합니다. 인스턴스 유형에 대한 자세한 내용은 *Amazon EC2 인스턴스 유형 가이드*에서 [사용 가능한 크기](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html#gp_sizes)를 참조하세요.

## 3단계 - 테스터 스크립트 실행
<a name="run-gdu-tester-script"></a>

이 프로세스는 먼저 테스트 드라이버로 세션을 시작한 다음 스크립트를 실행하여 특정 리소스 조합으로 GuardDuty 조사 결과를 생성하는 2단계 프로세스입니다.

### 파트 A - 테스트 드라이버로 세션 시작
<a name="tester-script-start-session-guardduty"></a>

1. 리소스를 배포한 후 현재 터미널 세션의 변수에 리전 코드를 저장합니다. 다음 명령을 사용하고 *us-east-1*을 리소스를 배포한 리전 코드로 바꿉니다.

   ```
   $ REGION=us-east-1
   ```

1. 테스터 스크립트는 AWS Systems Manager (SSM)을 통해서만 사용할 수 있습니다. 테스터 호스트 인스턴스에서 대화형 쉘을 시작하려면 호스트 **InstanceId** 쿼리합니다.

1. 다음 명령을 사용하여 테스터 스크립트에 대한 세션을 시작합니다.

   ```
   aws ssm start-session 
     --region $REGION 
     --document-name AWS-StartInteractiveCommand 
     --parameters command="cd /home/ssm-user/py_tester && bash -l" 
     --target $(aws ec2 describe-instances 
       --region $REGION 
       --filters "Name=tag:Name,Values=Driver-GuardDutyTester" 
       --query "Reservations[].Instances[?State.Name=='running'].InstanceId" 
       --output text)
   ```

### 파트 B - 조사 결과 생성
<a name="tester-script-generate-findings-guardduty"></a>

테스터 스크립트는 파이썬 기반 프로그램으로, 입력에 따라 조사 결과를 생성하기 위해 동적으로 배시 스크립트를 빌드합니다. 하나 이상의 AWS 리소스 유형, GuardDuty 보호 계획, [Threat Purposes](guardduty_finding-format.md#guardduty_threat_purposes) (전술), [기본 데이터 소스](guardduty_data-sources.md)또는를 기반으로 결과를 유연하게 생성할 수 있습니다[테스터 스크립트가 생성할 수 있는 GuardDuty 조사 결과](#gdu-findings-tester-generates).

다음 명령 예제를 참조하여 하나 이상의 명령을 실행하여 탐색하려는 조사 결과를 생성하세요.

```
python3 guardduty_tester.py 
python3 guardduty_tester.py --all 
python3 guardduty_tester.py --s3 
python3 guardduty_tester.py --tactics discovery 
python3 guardduty_tester.py --ec2 --eks --tactics backdoor policy execution 
python3 guardduty_tester.py --eks --runtime only 
python3 guardduty_tester.py --ec2 --runtime only --tactics impact 
python3 guardduty_tester.py --log-source dns vpc-flowlogs 
python3 guardduty_tester.py --finding 'CryptoCurrency:EC2/BitcoinTool.B!DNS'
```

계정에서 생성된 결과를 보려면 선호하는 방법을 선택하세요.

```
python3 guardduty_tester.py --help
```

### 파트 C - 생성된 조사 결과 검토
<a name="tester-script-review-findings-guardduty"></a>

계정에서 생성된 조사 결과를 보려면 선호하는 방법을 선택하세요.

------
#### [ GuardDuty console ]

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) GuardDuty 콘솔을 엽니다.

1. 탐색 창에서 **조사 결과**를 선택합니다.

1. 조사 결과 표에서 세부 정보를 보려는 조사 결과를 선택합니다. 그러면 결과 세부 정보 패널이 열립니다. 자세한 내용은 [Amazon GuardDuty 조사 결과 이해 및 생성하기](guardduty_findings.md) 단원을 참조하세요.

1. 이러한 검색 조사 결과를 필터링하려면 리소스 태그 키와 값을 사용하세요. 예를 들어 Amazon EC2 인스턴스에 대해 생성된 조사 결과를 필터링하려면 **인스턴스 태그 키** 및 **인스턴스 태그 키**에 대해 `CreatedBy`:`GuardDuty Test Script` 태그 키:값 페어를 사용합니다.

------
#### [ API ]
+ [ListFindings](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListFindings.html)를 실행하여 특정 탐지기 ID에 대한 조사 결과를 봅니다. 매개변수를 지정하여 검색 조사 결과를 필터링할 수 있습니다.

  계정 및 현재 리전에 대한 `detectorId`를 찾으려면 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) 콘솔의 **설정** 페이지를 참조하거나 [https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API를 실행합니다.

------
#### [ AWS CLI ]
+ 다음 AWS CLI 명령을 실행하여 생성된 결과를 보고 *us-east-1* 및 *12abc34d567e8fa901bc2d34EXAMPLE*을 적절한 값으로 바꿉니다.

  ```
  aws guardduty list-findings --region us-east-1 --detector-id 12abc34d567e8fa901bc2d34EXAMPLE
  ```

  계정 및 현재 리전에 대한 `detectorId`를 찾으려면 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) 콘솔의 **설정** 페이지를 참조하거나 [https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API를 실행합니다.

  조사 결과를 필터링하는 데 사용할 수 있는 파라미터에 대한 자세한 내용은 *AWS CLI 명령 참조*의 [list-findings](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/guardduty/list-findings.html)를 참조하세요.

------

## 4단계 - AWS 테스트 리소스 정리
<a name="clean-gdu-tester-script-resources"></a>

[3단계 - 테스터 스크립트 실행](#run-gdu-tester-script) 중에 수행한 계정 수준 설정 및 기타 구성 상태 업데이트는 테스터 스크립트가 종료되면 원래 상태로 돌아갑니다.

테스터 스크립트를 실행한 후 AWS 테스트 리소스를 정리하도록 선택할 수 있습니다. 다음 방법 중 하나를 사용하여 이 작업을 수행할 수 있습니다.
+ 다음 명령을 실행합니다.

  ```
  cdk destroy
  ```
+ 이름이 **GuardDutyTesterStack**인 CloudFormation 스택을 삭제합니다. 단계에 대한 자세한 내용은 [CloudFormation 콘솔에서 스택 삭제를 참조하세요](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html).

## 일반적인 문제 해결
<a name="troubleshooting-gdu-tester-script-issues"></a>

GuardDuty에서 일반적인 문제를 파악하고 문제 해결 단계를 권장합니다.
+ `Cloud assembly schema version mismatch` - AWS CDK CLI를 필요한 클라우드 어셈블리 버전과 호환되는 버전 또는 사용 가능한 최신 버전으로 업데이트합니다. 자세한 내용은 [AWS CDK CLI 호환성](https://docs.aws.amazon.com/cdk/v2/guide/versioning.html#cdk_toolkit_versioning)을 참조하세요.
+ `Docker permission denied` - 전용 계정이 명령을 실행할 수 있도록 전용 계정 사용자를 **도커** 또는 **도커-사용자**에 추가합니다. 단계에 대한 자세한 내용은 [Daemon socket option](https://docs.docker.com/reference/cli/dockerd/#daemon-socket-option)을 참조하세요.
+ `Your requested instance type is not supported in your requested Availability Zone` - 일부 가용 영역은 특정 인스턴스 유형을 지원하지 않습니다. 선호하는 인스턴스 유형을 지원하는 가용 영역을 식별하고 AWS 리소스 배포를 다시 시도하려면 다음 단계를 수행합니다.

  1. 선호하는 방법을 선택하여 인스턴스 유형을 지원하는 가용성 영역을 결정합니다.

------
#### [ Console ]

**기본 인스턴스 유형을 지원하는 가용 영역을 식별하려면**

     1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) Amazon EC2 콘솔을 엽니다.

     1. 페이지 오른쪽 상단의 AWS 리전 선택기를 사용하여 인스턴스를 시작할 리전을 선택합니다.

     1. 탐색 창의 **인스턴스**에서 **인스턴스 유형**를 선택합니다.

     1. **인스턴스 유형** 테이블에서 선호하는 인스턴스 유형을 선택합니다.

     1. **네트워킹**에서 **가용 영역** 아래에 나열된 리전을 확인합니다.

        이 정보를 바탕으로 리소스를 배포할 수 있는 새 리전을 선택해야 할 수도 있습니다.

------
#### [ AWS CLI ]

     다음 명령을 실행하여 사용 가능 영역 목록을 확인합니다. 선호하는 인스턴스 유형과 리전(*us-east-1*)을 지정해야 합니다.

     ```
     aws ec2 describe-instance-type-offerings --location-type availability-zone  --filters Name=instance-type,Values=Preferred instance type --region us-east-1 --output table
     ```

     이 명령에 대한 자세한 내용은 *AWS CLI 명령 참조*의 [설명 인스턴스 유형 오퍼링](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-instance-type-offerings.html)을 참조하세요.

     이 명령을 실행할 때 오류가 발생하면 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요. 자세한 내용은 **AWS Command Line Interface 사용 설명서의 [문제 해결](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-troubleshooting.html)을 참조하세요.

------

  1.  AWS 리소스 배포를 다시 시도하고 원하는 인스턴스 유형을 지원하는 가용 영역을 지정합니다.

**AWS 리소스 배포를 다시 시도하려면**

     1. `bin/cdk-gd-tester.ts` 파일에서 기본 리전을 설정합니다.

     1. 가용성 영역을 지정하려면 `amazon-guardduty-tester/lib/common/network/vpc.ts` 파일을 엽니다.

     1. 이 파일에서 인스턴스 유형의 가용 영역을 지정해야 하는 `availabilityZones: ['us-east-1a', 'us-east-1c'],`를 `maxAzs: 2,`로 바꿉니다.

     1. [AWS 리소스 배포 단계](#steps-deploy-resource-test-guardduty-findings) 아래의 나머지 단계를 계속 진행합니다.

# GuardDuty 콘솔에서 생성된 조사 결과 보기
<a name="guardduty_working-with-findings"></a>

GuardDuty가 보안 문제의 패턴과 일치하는 활동을 감지하면 GuardDuty가 조사 결과를 생성합니다. 이 조사 결과는 이 활동 중에 손상되었을 수 있는 리소스 유형과 연관되어 있습니다. GuardDuty가 생성하는 각 조사 결과와 관련된 세부 정보를 볼 수 있습니다.

GuardDuty 관리자 계정을 사용하는 경우 멤버 계정을 대신하여 생성된 조사 결과를 볼 수 있습니다. 그러나 멤버 계정은 자신의 계정에서 생성된 조사 결과를 볼 수 있습니다. 멤버 계정에서는 다른 멤버 계정에서 생성된 검색 조사 결과를 볼 수 없습니다.

**GuardDuty 콘솔에서 조사 결과를 보는 단계**

1. [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/)에서 GuardDuty 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **조사 결과**를 선택합니다.

   GuardDuty는 조사 결과를 표 형식으로 표시합니다. 기본적으로이 테이블은 **마지막으로 본** 열 값을 기준으로 내림차순으로 정렬되며 맨 위에 가장 최근 조사 결과가 표시됩니다.

   칼 아이콘(![\[Sword icon that represents attack sequence finding in GuardDuty console.\]](http://docs.aws.amazon.com/ko_kr/guardduty/latest/ug/images/attack-sequences-icon.PNG))이 있는 조사 결과는 공격 시퀀스 조사 결과를 나타냅니다.

1. 조사 결과와 관련된 세부 정보를 보려면 **제목**을 선택합니다. 그러면 조사 결과 세부 정보 측면 패널이 열립니다. 공격 시퀀스 조사 결과의 경우이 사이드 패널에는 공격 시퀀스의 *요약 버전*이 포함되어 있으며,이 보기를 확장하려면 **세부 정보 보기**를 선택합니다.

   이 사이드 패널에 나열된 필드에 대한 자세한 내용은 [결과 세부 정보](guardduty_findings-summary.md) 섹션을 참조하세요.

1. 

**(선택 사항) 조사 결과 JSON을 다운로드하려면**

   1. 조사 결과를 선택한 다음 **작업** 메뉴를 선택합니다.

   1. **작업** 메뉴에서 **JSON 보기와 내보내기**를 선택합니다.

   1. **조사 결과 JSON** 창에서 **다운로드**를 선택합니다.
**참고**  
GuardDuty는 특정 결과가 생성된 후 오탐지라는 사실을 인지하는 경우도 있습니다. GuardDuty는 검색 결과의 JSON에 **신뢰도** 필드를 제공하고 해당 값을 0으로 설정합니다. 이렇게 하면 GuardDuty를 통해 이러한 결과를 무시해도 된다는 사실을 알립니다.  
**신뢰도** 필드가 없는 조사 결과는 거짓 긍정으로 간주되지 않습니다.

## 조사 결과 페이지 탐색
<a name="guardduty-navigating-findings-page"></a>

이 섹션에서는 **조사 결과** 페이지의 다양한 요소에 대한 주요 정보를 제공합니다. 이렇게 하면 위협 분석 및 대응을 위해 생성된 조사 결과를 분석하는 데 도움이 됩니다.

다음 목록은 생성된 **조사 결과**를 더 잘 이해하는 데 도움이 되는 조사 결과 페이지 요소를 설명합니다.
+ **위협 유형**:

  위협 유형에는 개별 GuardDuty 조사 결과 및 공격 시퀀스 조사 결과가 포함됩니다. 기본적으로 페이지에는 **모든 조사 결과**가 표시됩니다.

  조사 결과 테이블 보기를 필터링하려면 **위협 유형** 메뉴에서 **공격 시퀀스 조사 결과만** 또는 **개별 조사 결과**만 옵션 중 하나를 선택합니다.
+ **리소스 및 개수 열**: 

  조사 결과 테이블의 **리소스** 열에는 잠재적으로 손상된 AWS 리소스의 이름이 표시됩니다. 공격 시퀀스 조사 결과의 경우이 열에는 잠재적으로 손상된 AWS 리소스 수가 표시됩니다. 리소스 이름을 보려면 **리소스** 열에서 *번호*를 선택합니다.

  **개수** 열은 GuardDuty가 특정 조사 결과를 관찰한 횟수를 나타냅니다. GuardDuty가 이전에 식별된 보안 문제와 일치하는 활동을 감지하면 해당 특정 조사 결과의 수가 증가합니다. 공격 시퀀스 조사 결과의 경우이 열 값은 조사 결과 생성과 관련된 총 신호 및 조사 결과 수를 나타냅니다.
+ **테이블 열을 기준으로 조사 결과 정렬**:

  열 헤더 옆에 *화살표*가 있는 경우 열을 기반으로 조사 결과 테이블을 정렬할 수 있습니다. 열 헤더를 선택하여 조사 결과를 해당 열의 값 증가 또는 감소 순서로 정렬합니다.
+ **조사 결과 필터링**

  `Account ID` 및 `Resource type`와 같은 특정 속성 속성을 기반으로 조사 결과 테이블을 추가로 필터링할 수 있습니다. 사용할 수 있는 필터 유형에 대한 자세한 내용은 [GuardDuty 조사 결과 필터링](guardduty_filter-findings.md) 섹션을 참조하세요.
+ **상태 및 저장된 규칙**:

  **상태** 메뉴에는 **현재** 및 **아카이브됨**이라는 두 가지 값이 포함되어 있습니다. 기본 보기는 테이블의 **현재** 조사 결과입니다.

  GuardDuty가 특정 기준과 일치하는 조사 결과를 더 이상 생성하지 않도록 하려면 해당 조사 결과를 숨길 수 있습니다. GuardDuty는 해당 조사 결과를 아카이브합니다. GuardDuty가 이 조사 결과를 다시 감지하면 이 관찰에 대한 알림을 받지 않습니다. 아카이브된 조사 결과를 구체적으로 보려면 **상태** 메뉴에서 **아카이브됨**을 선택합니다.

  **저장된 규칙**은 지정된 기준과 일치하는 조사 결과를 자동으로 필터링하고 조치를 취하는 데 도움이 되는 기능입니다. 작업에는 조사 결과를 아카이빙하거나 향후 알림에서 제외하는 것이 포함될 수 있습니다.

  자세한 내용은 [억제 규칙](findings_suppression-rule.md) 단원을 참조하십시오.

# GuardDuty 조사 결과의 심각도 수준
<a name="guardduty_findings-severity"></a>

각 GuardDuty 조사 결과에는 보안 엔지니어가 결정한 바에 따라 해당 조사 결과가 환경에 미칠 수 있는 잠재적 위험을 반영하는 심각도 수준 및 값이 할당되어 있습니다. 심각도 값은 1.0\$110.0 범위 내에 속할 수 있으며, 값이 높을수록 보안 위험이 커집니다. 조사 결과에서 강조된 잠재적 보안 문제에 대한 대응을 확인할 수 있도록 GuardDuty는 이 범위를 *심각*, *높음*, *중간*, *낮음* 심각도 수준으로 분류합니다.

특정 유형의 조사 결과는 해당 조사 결과와 관련된 컨텍스트에 따라 심각도가 다를 수 있습니다. 모든 GuardDuty 조사 결과 유형에 대한 기본 심각도 수준의 통합 목록을 보려면 [GuardDuty 활성 조사 결과 유형](guardduty_finding-types-active.md#findings-table) 섹션을 참조하세요.

다음 섹션에서는 GuardDuty 조사 결과에 대해 정의된 심각도 수준을 설명합니다.

**Topics**
+ [심각한 심각도](#guardduty-finding-severity-level-critical)
+ [심각도 높음](#guardduty-finding-severity-level-high)
+ [중간 심각도](#guardduty-finding-severity-level-medium)
+ [심각도 낮음](#guardduty-finding-severity-level-low)

## 심각한 심각도
<a name="guardduty-finding-severity-level-critical"></a>

**값 범위**: 9.0\$110.0

**설명**: 심각 심각도 수준은 공격 시퀀스가 진행 중이거나 최근에 발생했을 수 있음을 나타냅니다. IAM 사용자 로그인 자격 증명 및 Amazon S3 버킷과 같은 하나 이상의 AWS 리소스가 잠재적으로 손상되었거나 이미 손상되었을 수 있습니다.

**권장 사항**: GuardDuty는 모든 중요 심각도 조사 결과를 분류하고 해결하는 데 우선순위를 두는 것이 좋습니다. 이러한 문제는 랜섬웨어 공격의 일부일 수 있으며 언제든지 에스컬레이션할 수 있기 때문입니다. 관련 리소스에 대한 세부 정보를 보고 보안 문제 해결을 시작합니다. 자세한 내용은 [결과 해결](guardduty_remediate.md) 단원을 참조하십시오.

## 심각도 높음
<a name="guardduty-finding-severity-level-high"></a>

**값 범위**: 7.0\$18.9

**설명**: 높음 심각도 수준은 문제의 리소스(Amazon EC2 인스턴스 또는 IAM 사용자 로그인 자격 증명)가 손상되었고 무단 액세스에 적극적으로 사용되고 있음을 나타냅니다.

**권장사항**: GuardDuty는 조사 결과에서 높음 심각도 조사 결과 보안 문제를 우선적으로 처리하고 즉시 해결 단계를 수행하여 더 이상 리소스가 무단으로 사용되지 못하도록 권장합니다. 예를 들어 Amazon EC2 인스턴스를 정리 또는 종료하거나 IAM 자격 증명을 교체합니다. [결과 해결](guardduty_remediate.md)의 단계에 따라 조사 결과를 수정합니다.

## 중간 심각도
<a name="guardduty-finding-severity-level-medium"></a>

**값 범위**: 4.0\$16.9

**설명**: 중간 심각도 수준은 일반적으로 관찰된 동작에서 벗어나는 의심스러운 활동을 나타내며 사용 사례에 따라 리소스가 손상되었을 수 있습니다.

**권장 사항**: GuardDuty는 최대한 빨리 영향을 받을 수 있는 리소스를 조사할 것을 권장합니다. 해결 단계는 리소스 및 조사 결과 패밀리에 따라 다릅니다. 설정 접근 방식은 활동이 승인되었고 사용 사례와 일치하는지 확인하는 것입니다. 원인을 파악할 수 없거나 해당 활동이 승인된 것임을 확인할 수 없는 경우, 해당 리소스가 침해된 것으로 간주해야 합니다. [결과 해결](guardduty_remediate.md)의 단계에 따라 조사 결과를 수정합니다.

다음은 중간 수준 조사 결과를 검토할 때 고려해야 할 몇 가지 사항입니다.
+ 권한이 있는 사용자가 리소스의 동작을 변경한(예: 정상 트래픽보다 높은 트래픽 허용 또는 새로운 포트에서의 통신 활성화) 새 소프트웨어를 설치했는지 확인합니다.
+ 권한이 있는 사용자가 제어 영역 설정을 변경했는지(예: 보안 그룹 설정 수정) 확인합니다.
+ 관련된 리소스에 대해 바이러스 백신 스캔을 실행해 권한이 없는 소프트웨어를 감지합니다.
+ 관련된 IAM 역할, 사용자, 그룹 또는 자격 증명 세트에 연결된 권한을 확인합니다. 이러한 권한이 변경 또는 교체되었을 수 있습니다.

## 심각도 낮음
<a name="guardduty-finding-severity-level-low"></a>

**값 범위**: 1.0\$13.9

**설명**: 낮음 심각도 수준은 환경이 손상되지 않은 의심스러운 활동(예: 포트 검색 또는 침입 시도 실패)이 시도되었음을 나타냅니다.

**권장사항**: 즉각적인 권장 조치는 없지만 누군가가 환경의 취약점을 찾고 있음을 나타낼 수 있으므로 이 정보를 기록해 두는 것이 좋습니다.

# 결과 세부 정보
<a name="guardduty_findings-summary"></a>

Amazon GuardDuty 콘솔의 결과 요약 섹션에서 결과 세부 정보를 볼 수 있습니다. 결과 세부 정보는 결과 유형에 따라 달라집니다.

결과에 사용할 수 있는 정보의 종류를 결정하는 두 가지 기본 세부 정보가 있습니다. 첫 번째는 리소스 유형으로 `Instance`, `AccessKey`, `S3Bucket`, `S3Object`, `Kubernetes cluster`, `ECS cluster`, `Container`, `RDSDBInstance`, `RDSLimitlessDB` 또는 `Lambda`일 수 있습니다. 결과 정보를 결정하는 두 번째 세부 정보는 **리소스 역할**입니다. 리소스 역할은 `Target`일 수 있으며, 이는 해당 리소스가 의심스러운 활동의 대상이 되었음을 의미합니다. 인스턴스 유형 결과의 경우 리소스 역할은 `Actor`일 수 있으며, 해당 리소스가 의심스러운 활동을 수행하는 작업자였음을 의미합니다. 이 주제에서는 결과에 대해 일반적으로 제공되는 몇 가지 세부 정보에 대해 설명합니다. [GuardDuty 런타임 모니터링 조사 결과 유형](findings-runtime-monitoring.md) 및 [S3용 맬웨어 보호 결과 유형](gdu-malware-protection-s3-finding-types.md)의 경우 리소스 역할이 채워지지 않습니다.

**Topics**
+ [결과 개요](#findings-summary-section)
+ [Resource](#findings-resource-affected)
+ [공격 시퀀스 조사 결과 세부 정보](#guardduty-extended-threat-detection-attack-sequence-finding-details)
+ [RDS 데이터베이스(DB) 사용자 세부 정보](#rds-pro-db-user-details)
+ [런타임 모니터링 결과 세부 정보](#runtime-monitoring-runtime-details)
+ [EBS 볼륨 스캔 세부 정보](#mp-ebs-volumes-scan-details)
+ [EC2용 맬웨어 보호 결과 세부 정보](#malware-protection-scan-details)
+ [S3용 맬웨어 보호 결과 세부 정보](#gdu-malware-protection-for-s3-finding-details)
+ [작업](#finding-action-section)
+ [작업자 또는 대상](#finding-actor-target)
+ [지리적 위치 세부 정보](#guardduty-finding-details-geolocation)
+ [추가 정보](#finding-additional-info)
+ [증거](#finding-evidence)
+ [변칙적 동작](#finding-anomalous)

## 결과 개요
<a name="findings-summary-section"></a>

결과의 **개요** 섹션에는 다음 정보를 포함하여 결과의 가장 기본적으로 식별 가능한 특징이 포함되어 있습니다.
+ **계정 ID** - GuardDuty가 이 결과를 생성하도록 유도한 활동이 발생한 AWS 계정의 ID입니다.
+ **개수** - GuardDuty가 이 패턴과 일치하는 활동을 이 결과 ID와 집계한 개수입니다.
+ **생성 날짜** - 이 결과가 처음 생성된 날짜와 시간입니다. 이 값이 **업데이트된 시간**과 다른 경우 활동이 여러 번 발생했으며 진행 중인 문제임을 나타냅니다.
**참고**  
GuardDuty 콘솔에 있는 결과의 타임스탬프는 현지 시간대로 표시됩니다. 반면, JSON 내보내기 및 CLI 출력은 UTC 타임스탬프로 표시됩니다.
+ **결과 ID** - 이 결과 유형 및 파라미터 집합에 대한 고유한 식별자입니다. 이 패턴과 일치하는 새로운 활동 발생은 동일한 ID로 집계됩니다.
+ **결과 유형** - 결과를 트리거한 활동 유형을 나타내는 서식이 지정된 문자열입니다. 자세한 내용은 [GuardDuty 결과 형식](guardduty_finding-format.md) 단원을 참조하십시오.
+ **리전** - 결과가 생성된 AWS 리전입니다. 지원되는 리전에 대한 자세한 내용은 [리전 및 엔드포인트](guardduty_regions.md) 단원을 참조하십시오.
+ **리소스 ID** - GuardDuty에서 결과를 생성하도록 유도한 활동이 발생한 AWS 리소스의 ID입니다.
+ **스캔 ID** - EC2용 GuardDuty 맬웨어 보호가 활성화된 경우 조사 결과에 적용되며, 손상되었을 가능성이 있는 EC2 인스턴스 또는 컨테이너 워크로드에 연결된 EBS 볼륨에서 실행되는 맬웨어 스캔의 식별자입니다. 자세한 내용은 [EC2용 맬웨어 보호 결과 세부 정보](#malware-protection-scan-details) 단원을 참조하십시오.
+ **심각도** - 조사 결과에 할당된 심각도 수준(심각, 높음, 중간 또는 낮음)입니다. 자세한 내용은 [검색 조사 결과 심각도 수준](guardduty_findings-severity.md) 단원을 참조하십시오.
+ **업데이트된 시간** - 마지막으로 GuardDuty에서 이 결과를 생성하도록 유도한 패턴과 일치하는 새 활동으로 이 결과가 업데이트된 시기입니다.

## Resource
<a name="findings-resource-affected"></a>

**영향을 받는 리소스**는 시작 활동의 대상이 된 AWS 리소스에 대한 세부 정보를 제공합니다. 제공되는 정보는 리소스 유형과 작업 유형에 따라 달라집니다.

**리소스 역할** - 결과를 시작한 AWS 리소스의 역할입니다. 이 값은 **TARGET** 또는 **ACTOR**일 수 있으며, 리소스가 의심스러운 활동의 대상인지 아니면 의심스러운 활동을 수행한 작업자인지 여부를 나타냅니다.

**리소스 유형** - 영향을 받은 리소스의 유형입니다. 여러 리소스가 관련된 경우 결과에는 여러 리소스 유형이 포함될 수 있습니다. 리소스 유형은 **Instance**, **AccessKey**, **S3Bucket**, **S3Object**, **KubernetesCluster**, **ECSCluster**, **Container**, **RDSDBInstance**, **RDSLimitlessDB**, **Lambda**.입니다. 리소스 유형에 따라 다른 결과 세부 정보가 제공됩니다. 리소스 옵션 탭을 선택하여 해당 리소스에 제공되는 세부 정보를 알아보세요.

------
#### [ Instance ]

**인스턴스 세부 정보:**

**참고**  
인스턴스가 이미 중지되었거나 교차 리전 API 호출 시 기본 API 호출이 다른 리전의 EC2 인스턴스에서 시작된 경우 일부 인스턴스 세부 정보가 누락될 수 있습니다.
+ **인스턴스 ID** - GuardDuty에서 결과를 생성하도록 유도한 활동에 관여한 EC2 인스턴스의 ID입니다.
+ **인스턴스 유형** - 결과와 관련이 있는 EC2 인스턴스의 유형입니다.
+ **시작 시간** - 인스턴스가 시작된 날짜와 시간입니다.
+ **Outpost ARN** -의 Amazon 리소스 이름(ARN)입니다 AWS Outposts. AWS Outposts 인스턴스에만 적용됩니다. 자세한 내용은 *Outposts 랙 사용 설명서*의 [What is AWS Outposts](https://docs.aws.amazon.com/outposts/latest/userguide/what-is-outposts.html) 섹션을 참조하세요.
+ **보안 그룹 이름** - 관련 인스턴스에 연결된 보안 그룹의 이름입니다.
+ **보안 그룹 ID** – 관련 인스턴스에 연결된 보안 그룹의 ID입니다.
+ **인스턴스 상태** – 대상 인스턴스의 현재 상태입니다.
+ **가용 영역** – 관련 인스턴스가 위치한 AWS 리전 가용 영역입니다.
+ **이미지 ID** – 활동에 관여한 인스턴스를 빌드하는 데 사용되는 Amazon Machine Image의 ID입니다.
+ **이미지 설명** – 활동에 관여한 인스턴스를 빌드하는 데 사용되는 Amazon Machine Image의 ID에 대한 설명입니다.
+ **태그** - 이 리소스에 연결된 태그 목록(`key`:`value` 형식으로 나열됨)입니다.

------
#### [ AccessKey ]

**액세스 키 세부 정보:**
+ **액세스 키 ID** - GuardDuty에서 결과를 생성하도록 유도한 활동에 관여한 사용자의 액세스 키 ID입니다.
+ **Principal ID** - GuardDuty에서 결과를 생성하도록 유도한 활동에 관여한 사용자의 보안 주체 ID입니다.
+ **사용자 유형** – GuardDuty에서 결과를 생성하도록 유도한 활동에 관여한 사용자의 유형입니다. 자세한 내용은 [CloudTrail userIdentity 요소](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html#cloudtrail-event-reference-user-identity-fields)를 참조하십시오.
+ **사용자 이름** – GuardDuty에서 결과를 생성하도록 유도한 활동에 관여한 사용자의 이름입니다.

------
#### [ S3Bucket ]

**Amazon S3 버킷 세부 정보:**
+ **이름** – 결과에 관여한 버킷의 이름입니다.
+ **ARN** - 결과에 관여한 버킷의 ARN입니다.
+ **소유자** – 결과에 관여한 버킷을 소유한 사용자의 정식 사용자 ID입니다. 정식 사용자 ID에 대한 자세한 내용은 [AWS account identifiers](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html)를 참조하세요.
+ **유형** – 버킷 결과 유형으로, **대상** 또는 **소스**가 될 수 있습니다.
+ **기본 서버측 암호화** - 버킷에 대한 암호화 세부 정보입니다.
+ **버킷 태그** - 이 리소스에 연결된 태그 목록(`key`:`value` 형식으로 나열됨)입니다.
+ **유효한 권한** – 관여한 버킷이 공개적으로 노출되는지 여부를 나타내는 버킷에 대한 모든 유효한 권한 및 정책의 평가입니다. 값은 **퍼블릭** 또는 **퍼블릭 아님**이 될 수 있습니다.

------
#### [ S3Object ]
+ **S3 객체 세부 정보** - 스캔한 S3 객체에 대한 다음 정보를 포함합니다.
  + **ARN** - 스캔한 S3 객체의 Amazon 리소스 이름(ARN)입니다.
  + **키** - S3 버킷에서 파일을 만들 때 파일에 할당된 이름입니다.
  + **버전 ID **- 버킷 버전 관리를 사용 설정한 경우 이 필드에는 스캔한 S3 객체의 최신 버전과 연결된 버전 ID가 표시됩니다. 자세한 내용은 *Amazon S3 사용자 설명*에서 [S3 버킷에서 버전 관리 사용](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html)을 참조하세요.
  + **eTag** - 스캔한 S3 객체의 특정 버전을 나타냅니다.
  + **해시** - 이 결과에서 탐지된 위협의 해시입니다.
+ **S3 버킷 세부 정보** - 스캔된 Amazon S3 S3 버킷에 대한 다음 정보를 포함합니다.
  + **이름** - 객체가 포함된 S3 버킷의 이름을 나타냅니다.
  + **ARN** - S3 버킷의 Amazon 리소스 이름(ARN).
+ **소유자** - S3 버킷 소유자의 정식 ID입니다.

------
#### [ EKSCluster ]

**Kubernetes 클러스터 세부 정보:**
+ **이름** – Kubernetes 클러스터의 이름입니다.
+ **ARN** - 클라이언트를 식별하는 ARN입니다.
+ **생성 날짜** – 이 클러스터가 생성된 날짜와 시간입니다.
**참고**  
GuardDuty 콘솔에 있는 결과의 타임스탬프는 현지 시간대로 표시됩니다. 반면, JSON 내보내기 및 CLI 출력은 UTC 타임스탬프로 표시됩니다.
+ **VPC ID** - 클러스터와 연결되는 VPC의 ID입니다.
+ **상태** – 클러스터의 현재 상태입니다.
+ **태그** – 클러스터를 분류하고 구성하는 데 도움이 되도록 클러스터에 적용하는 메타데이터입니다. 각 태그는 키와 값(선택 사항)으로 구성되며, `key`:`value` 형식으로 나열됩니다. 키와 값을 모두 정의해야 합니다.

  클러스터 태그는 클러스터에 연결된 다른 리소스로 전파되지 않습니다.

**Kubernetes 워크로드 세부 정보:**
+ **유형** – Kubernetes 워크로드의 유형(예: 포드, 배포, 작업)입니다.
+ **이름** - Kubernetes 워크로드의 이름입니다.
+ **Uid** - Kubernetes 워크로드의 고유 ID입니다.
+ **생성 날짜** - 이 워크로드가 생성된 날짜와 시간입니다.
+ **레이블** - Kubernetes 워크로드에 연결된 키-값 쌍입니다.
+ **컨테이너** - Kubernetes 워크로드의 일부로 실행되는 컨테이너의 세부 정보입니다.
+ **네임스페이스** – 이 Kubernetes 네임스페이스에 속하는 워크로드입니다.
+ **볼륨** – Kubernetes 워크로드에서 사용하는 볼륨입니다.
  + **호스트 경로** – 볼륨이 매핑되는 호스트 머신의 기존 파일 또는 디렉터리를 나타냅니다.
  + **이름** - 볼륨의 이름입니다.
+ **포드 보안 컨텍스트** – 포드의 모든 컨테이너에 대한 권한 및 액세스 제어 설정을 정의합니다.
+ **호스트 네트워크** – 포드가 Kubernetes 워크로드에 포함되는 경우 `true`로 설정됩니다.

**Kubernetes 사용자 세부 정보:**
+ **그룹** - 결과를 생성한 활동에 관련된 사용자의 Kubernetes 역할 액세스 기반 제어(RBAC) 그룹입니다.
+ **ID** - Kubernetes 사용자의 고유 ID입니다.
+ **사용자 이름** - 결과를 생성한 활동에 관련된 Kubernetes 사용자의 이름입니다.
+ **세션 이름** - Kubernetes RBAC 권한을 가진 IAM 역할을 맡은 엔터티입니다.

------
#### [ ECSCluster ]

**ECS 클러스터 세부 정보:**
+ **ARN** - 클라이언트를 식별하는 ARN입니다.
+ **이름** - 클러스터의 이름입니다.
+ **상태** – 클러스터의 현재 상태입니다.
+ **활성 서비스 개수** – `ACTIVE` 상태의 클러스터에서 실행 중인 서비스의 수입니다. [ListServices](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListServices.html)를 사용하여 이러한 서비스를 볼 수 있습니다.
+ **등록된 컨테이너 인스턴스 개수** – 클러스터에 등록된 컨테이너 인스턴스의 수입니다. 여기에는 `ACTIVE` 및 `DRAINING` 상태의 컨테이너 인스턴스가 모두 포함됩니다.
+ **실행 중인 작업 개수** – `RUNNING` 상태인 클러스터의 작업 수입니다.
+ **태그** – 클러스터를 분류하고 구성하는 데 도움이 되도록 클러스터에 적용하는 메타데이터입니다. 각 태그는 키와 값(선택 사항)으로 구성되며, `key`:`value` 형식으로 나열됩니다. 키와 값을 모두 정의해야 합니다.
+ **컨테이너** - 작업과 관련된 컨테이너에 대한 세부 정보:
  + **컨테이너 이름** - 컨테이너의 이름입니다.
  + **컨테이너 이미지** - 컨테이너의 이미지입니다.
+ **태스크 세부 정보** - 클러스터 내 태스크의 세부 정보입니다.
  + **ARN** - 작업의 Amazon 리소스 이름(ARN)입니다.
  + **정의 ARN** - 태스크를 생성한 태스크 정의의 Amazon 리소스 이름(ARN)입니다.
  + **버전** - 작업의 버전 카운터입니다.
  + **태스크 생성 날짜** – 태스크가 생성되었을 때의 Unix 타임스탬프입니다.
  + **태스크 시작 시간** – 태스크가 시작되었을 때의 Unix 타임스탬프입니다.
  + **태스크 시작** – 태스크가 시작되었을 때 지정된 태그입니다.

------
#### [ Container ]

**컨테이너 세부 정보:**
+ **컨테이너 런타임** – 컨테이너 실행에 사용되는 컨테이너 런타임(예: `docker` 또는 `containerd`)입니다.
+ **ID** - 컨테이너 인스턴스 ID 또는 컨테이너 인스턴스의 전체 ARN 항목입니다.
+ **이름** - 컨테이너의 이름입니다.
+ **이미지** - 컨테이너 인스턴스의 이미지입니다.
+ **볼륨 마운트** – 컨테이너 볼륨 마운트 목록입니다. 컨테이너는 파일 시스템 아래에 볼륨을 탑재할 수 있습니다.
+ **보안 컨텍스트** – 컨테이너 보안 컨텍스트는 컨테이너의 권한 및 액세스 제어 설정을 정의합니다.
+ **프로세스 세부 정보** – 결과와 관련된 프로세스의 세부 정보를 설명합니다.

------
#### [ RDSDBInstance ]

**RDSDBInstance 세부 정보:**

**참고**  
이 리소스는 데이터베이스 인스턴스와 관련된 RDS 보호 결과에 제공됩니다.
+ **데이터베이스 인스턴스 ID** – GuardDuty 결과에 관여한 데이터베이스 인스턴스와 관련된 식별자입니다.
+ **엔진** - 결과에 관여한 데이터베이스 인스턴스의 데이터베이스 엔진 이름입니다. 가능한 값은 Aurora MySQL-Compatible 또는 Aurora PostgreSQL-Compatible입니다.
+ **엔진 버전** – GuardDuty 결과에 관여한 데이터베이스 엔진의 버전입니다.
+ **데이터베이스 클러스터 ID** – GuardDuty 결과에 관여한 데이터베이스 인스턴스 ID를 포함하는 데이터베이스 클러스터의 식별자입니다.
+ **데이터베이스 인스턴스 ARN** – GuardDuty 결과에 관여한 데이터베이스 인스턴스를 식별하는 ARN입니다.

------
#### [ RDSLimitlessDB ]

**RDSLimitlessDB 세부 정보:**

이 리소스는 Limitless Database의 지원 엔진 버전과 관련된 RDS 보호 조사 결과에서 확인할 수 있습니다.
+ **DB 샤드 그룹 식별자** - Limitless DB 샤드 그룹과 연결된 이름입니다.
+ **DB 샤드 그룹 리소스 ID** - Limitless DB 내 DB 샤드 그룹의 리소스 식별자입니다.
+ **DB 샤드 그룹 ARN** - DB 샤드 그룹을 식별하는 Amazon 리소스 이름(ARN)입니다.
+ **엔진** - 조사 결과와 관련된 Limitless DB의 식별자입니다.
+ **엔진 버전** - Limitless DB 엔진의 버전입니다.
+ **DB 클러스터 식별자** - Limitless DB의 일부인 데이터베이스 클러스터의 이름입니다.

잠재적으로 영향을 받을 수 있는 데이터베이스의 사용자 및 인증 세부 정보에 대한 자세한 내용은 [RDS 데이터베이스(DB) 사용자 세부 정보](#rds-pro-db-user-details) 섹션을 참조하세요.

------
#### [ Lambda ]

**Lambda 함수 세부 정보**
+ **함수 이름** – 결과와 관련된 Lambda 함수의 이름입니다.
+ **함수 버전** – 결과와 관련된 Lambda 함수의 버전입니다.
+ **함수 설명** – 결과와 관련된 Lambda 함수의 설명입니다.
+ **함수 ARN** – 결과와 관련된 Lambda 함수의 Amazon 리소스 이름(ARN)입니다.
+ **개정 ID** – Lambda 함수 버전의 개정 ID입니다.
+ **역할** - 결과와 관련된 Lambda 함수의 실행 역할입니다.
+ **VPC 구성** - Lambda 함수와 연결된 VPC ID, 보안 그룹 및 서브넷 ID를 포함한 Amazon VPC 구성입니다.
  + **VPC ID** - 결과와 관련된 Lambda 함수와 연결된 Amazon VPC의 ID입니다.
  + **서브넷 ID** - Lambda 함수와 관련된 서브넷의 ID입니다.
  + **보안 그룹** – 관련 Lambda 함수에 연결된 보안 그룹입니다. 여기에는 보안 그룹 이름과 그룹 ID가 포함됩니다.
+ **태그** - 이 리소스에 연결된 태그 목록(`key`:`value` 형식으로 나열됨)입니다.

------

## 공격 시퀀스 조사 결과 세부 정보
<a name="guardduty-extended-threat-detection-attack-sequence-finding-details"></a>

GuardDuty는 계정에서 생성하는 각 조사 결과에 대한 세부 정보를 제공합니다. 이러한 세부 정보는 조사 결과의 이유를 이해하는 데 도움이 됩니다. 이 섹션에서는 [공격 시퀀스 조사 결과 유형](guardduty-attack-sequence-finding-types.md)와 관련된 세부 정보에 중점을 둡니다. 여기에는 잠재적으로 영향을 받을 수 있는 리소스, 이벤트 타임라인, 지표, 신호 및 조사 결과와 관련된 엔드포인트와 같은 인사이트가 포함됩니다.

GuardDuty 조사 결과인 신호와 관련된 세부 정보를 보려면 이 페이지의 관련 섹션을 참조하세요.

GuardDuty 콘솔에서 공격 시퀀스 조사 결과를 선택하면 세부 정보 사이드 패널이 다음 탭으로 나뉩니다.
+ **개요** - 신호, MITRE 전술 및 잠재적으로 영향을 받을 수 있는 리소스를 포함하여 공격 시퀀스 세부 정보를 간결하게 제공합니다.
+ **신호** - 공격 시퀀스와 관련된 이벤트의 타임라인을 표시합니다.
+ **리소스** - 잠재적으로 영향을 받는 리소스 또는 잠재적으로 위험한 리소스에 대한 정보를 제공합니다.

다음 목록은 공격 시퀀스 조사 결과 세부 정보와 관련된 설명을 제공합니다.

**신호**  
신호는 GuardDuty가 공격 시퀀스 결과를 탐지하는 데 사용하는 API 활동 또는 조사 결과일 수 있습니다. GuardDuty는 명확한 위협으로 드러나지 않는 미약한 신호를 고려하여 이를 하나로 묶고 개별적으로 생성된 조사 결과와의 상관관계를 분석합니다. 더 많은 컨텍스트를 위해 **신호** 탭은 GuardDuty에서 관찰한 신호의 타임라인을 제공합니다.  
GuardDuty 조사 결과인 각 신호에는 고유한 심각도와 값이 할당되어 있습니다. GuardDuty 콘솔에서 각 신호를 선택하여 관련 세부 정보를 볼 수 있습니다.

**액터**  
공격 시퀀스의 위협 행위자에 대한 세부 정보를 제공합니다. 자세한 내용은 *Amazon GuardDuty API 참조*의 [Actor](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_Actor.html)를 참조하세요.

**엔드포인트**  
이 공격 시퀀스에서 사용된 네트워크 엔드포인트에 대한 세부 정보를 제공합니다. 자세한 내용은 *Amazon GuardDuty API 참조*의 [NetworkEndpoint](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_NetworkEndpoint.html)를 참조하세요. GuardDuty가 위치를 결정하는 방법에 대한 자세한 내용은 [지리적 위치 세부 정보](#guardduty-finding-details-geolocation) 섹션을 참조하세요.

**지표**  
보안 문제의 패턴과 일치하는 관찰된 데이터를 포함합니다. 이 데이터는 GuardDuty가 잠재적으로 의심스러운 활동을 나타내는 이유를 지정합니다. 예를 들어 지표 이름이 인 경우 위협 행위자가 일반적으로 사용하는 작업 또는 자격 증명 액세스 또는 리소스 수정 AWS 계정과 같이에 잠재적 영향을 미칠 수 있는 민감한 작업을 `HIGH_RISK_API`나타냅니다.  
다음 표에는 잠재적 지표 목록과 해당 설명이 나와 있습니다.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/guardduty/latest/ug/guardduty_findings-summary.html)
**MITRE 전술**  
이 필드는 위협 행위자가 공격 시퀀스를 통해 시도하는 MITRE ATT&CK 전술을 지정합니다. GuardDuty는 전체 공격 시퀀스에 컨텍스트를 추가하는 [MITRE ATT&ACK](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-format.html#guardduty_threat_purposes) 프레임워크를 사용합니다. GuardDuty 콘솔에서 위협 행위자가 사용한 위협 목적을 지정하는 데 사용하는 색상은 심각, 높음, 중간, 낮음 등 [검색 조사 결과 심각도 수준](guardduty_findings-severity.md)을 나타내는 색상과 일치합니다.

**네트워크 지표**  
지표에는 네트워크가 의심스러운 행동을 나타내는 이유를 설명하는 네트워크 지표 값들의 조합이 포함됩니다. 이 섹션은 **표시기**에 `SUSPICIOUS_NETWORK` 또는 `MALICIOUS_IP`가 포함된 경우에만 적용됩니다. 다음 예제에서는 네트워크 지표를 지표와 연결하는 방법을 보여줍니다.  
+ *AnyCompany*는 자율 시스템(AS)입니다.
+  `TUNNEL_VPN`, `IS_ANONYMOUS`, `ALLOWS_FREE_ACCESS`는 네트워크 지표입니다.

```
...{
    "key": "SUSPICIOUS_NETWORK",
    "values": [{
        "AnyCompany": [
            "TUNNEL_VPN",
            "IS_ANONYMOUS",
            "ALLOWS_FREE_ACCESS"
        ]
    }]
}
...
```
다음 표에는 네트워크 지표 값과 해당 설명이 나와 있습니다. 이러한 태그는 GuardDuty가 Spur와 같은 소스에서 수집하는 위협 인텔리전스를 기반으로 추가됩니다.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/guardduty/latest/ug/guardduty_findings-summary.html)

## RDS 데이터베이스(DB) 사용자 세부 정보
<a name="rds-pro-db-user-details"></a>

**참고**  
이 섹션은 GuardDuty에서 RDS 보호 기능을 활성화한 경우의 결과에 적용됩니다. 자세한 내용은 [GuardDuty RDS 보호](rds-protection.md) 단원을 참조하십시오.

GuardDuty 조사 결과는 다음과 같은 잠재적으로 손상된 데이터베이스의 사용자 및 인증 세부 정보를 제공합니다.
+ **사용자** - 변칙적인 로그인 시도에 사용된 사용자 이름입니다.
+ **애플리케이션** - 변칙적인 로그인 시도에 사용되는 애플리케이션 이름입니다.
+ **데이터베이스** - 변칙적인 로그인 시도와 관련된 데이터베이스 인스턴스의 이름입니다.
+ **SSL** - 네트워크에 사용되는 보안 소켓 계층(SSL)의 버전입니다.
+ **인증 방법** – 결과와 관련된 사용자가 사용하는 인증 방법입니다.

잠재적으로 손상된 리소스에 대한 자세한 내용은 [Resource](#findings-resource-affected) 섹션을 참조하세요.

## 런타임 모니터링 결과 세부 정보
<a name="runtime-monitoring-runtime-details"></a>

**참고**  
이러한 세부 정보는 GuardDuty가 [GuardDuty 런타임 모니터링 조사 결과 유형](findings-runtime-monitoring.md) 중 하나를 생성하는 경우에만 제공될 수 있습니다.

이 섹션에는 프로세스 세부 정보 및 필요한 컨텍스트와 같은 런타임 세부 정보가 포함되어 있습니다. 프로세스 세부 정보는 관찰된 프로세스에 관한 정보를 설명하고 런타임 컨텍스트는 잠재적으로 의심스러운 활동에 관한 추가 정보를 설명합니다.

**프로세스 세부 정보**
+ **이름** - 프로세스의 이름입니다.
+ **실행 파일 경로** – 프로세스 실행 파일의 절대 경로입니다.
+ **실행 파일 SHA-256** – 프로세스 실행 파일의 `SHA256` 해시입니다.
+ **네임스페이스 PID** – 호스트 수준 PID 네임스페이스가 아닌 보조 PID 네임스페이스에 있는 프로세스의 ID입니다. 컨테이너 내부 프로세스의 경우 컨테이너 내부에서 관찰된 프로세스 ID입니다.
+ **현재 작업 디렉터리** – 프로세스의 현재 작업 디렉터리입니다.
+ **프로세스 ID** – 운영 체제에서 프로세스에 할당한 ID입니다.
+ **시작 시간** – 프로세스가 시작된 시간입니다. UTC 날짜 문자열 형식(`2023-03-22T19:37:20.168Z`)입니다.
+ **UUID** - GuardDuty에서 프로세스에 할당한 고유 ID입니다.
+ **상위 UUID** – 상위 프로세스의 고유 ID입니다. 이 ID는 GuardDuty에서 상위 프로세스에 할당합니다.
+ **사용자** - 프로세스를 실행한 사용자입니다.
+ **사용자 ID** – 프로세스를 실행한 사용자의 ID입니다.
+ **유효한 사용자 ID** – 이벤트 시점에서 프로세스의 유효 사용자 ID입니다.
+ **계보** - 프로세스의 상위 항목에 관한 정보입니다.
  + **프로세스 ID** – 운영 체제에서 프로세스에 할당한 ID입니다.
  + **UUID** - GuardDuty에서 프로세스에 할당한 고유 ID입니다.
  + **실행 파일 경로** – 프로세스 실행 파일의 절대 경로입니다.
  + **유효한 사용자 ID** – 이벤트 시점에서 프로세스의 유효 사용자 ID입니다.
  + **상위 UUID** – 상위 프로세스의 고유 ID입니다. 이 ID는 GuardDuty에서 상위 프로세스에 할당합니다.
  + **시작 시간** – 프로세스가 시작된 시간입니다.
  + **네임스페이스 PID** – 호스트 수준 PID 네임스페이스가 아닌 보조 PID 네임스페이스에 있는 프로세스의 ID입니다. 컨테이너 내부 프로세스의 경우 컨테이너 내부에서 관찰된 프로세스 ID입니다.
  + **사용자 ID** – 프로세스를 실행한 사용자의 사용자 ID입니다.
  + **이름** – 프로세스의 이름입니다.

**런타임 컨텍스트**

다음 필드에서 생성된 결과에는 해당 결과 유형과 관련된 필드만 포함될 수 있습니다.
+ **탑재 소스** – 컨테이너에 탑재된 호스트의 경로입니다.
+ **탑재 대상** – 호스트 디렉터리에 매핑되는 컨테이너의 경로입니다.
+ **파일 시스템 유형** – 탑재된 파일 시스템의 유형을 나타냅니다.
+ **플래그** - 이 결과와 관련된 이벤트의 동작을 제어하는 옵션을 나타냅니다.
+ **수정 프로세스** – 런타임에 컨테이너 내에서 바이너리, 스크립트 또는 라이브러리를 만들거나 수정한 프로세스에 관한 정보입니다.
+ **수정 날짜** – 프로세스가 런타임에 컨테이너 내에서 바이너리, 스크립트 또는 라이브러리를 만들거나 수정한 타임스탬프입니다. 이 필드는 UTC 날짜 문자열 형식(`2023-03-22T19:37:20.168Z`)입니다.
+ **라이브러리 경로** – 로드된 새 라이브러리의 경로입니다.
+ **LD 로드 이전 값** – `LD_PRELOAD` 환경 변수의 값입니다.
+ **소켓 경로** – 액세스된 Docker 소켓의 경로입니다.
+ **runC 바이너리 경로** – `runc` 바이너리의 경로입니다.
+ **릴리스 에이전트 경로** - `cgroup` 릴리스 에이전트 파일의 경로입니다.
+ **명령줄 예제** - 잠재적으로 의심스러운 활동과 관련된 명령줄의 예시입니다.
+ **도구 범주** - 도구가 속한 범주입니다. 몇 가지 예는 백도어 도구, Pentest 도구, 네트워크 스캐너 및 네트워크 스니퍼입니다.
+ **도구 이름** - 잠재적으로 의심스러운 도구의 이름입니다.
+ **스크립트 경로** - 결과를 생성한 실행된 스크립트의 경로입니다.
+ **위협 파일 경로** - 위협 인텔리전스 세부 정보가 발견된 의심스러운 경로입니다.
+ **서비스 이름** - 비활성화된 보안 서비스의 이름입니다.
+ **모듈 이름** - 커널에 로드되는 모듈의 이름입니다.
+ **모듈 SHA256** - 해당 모듈의 SHA256 해시입니다.
+ **모듈 파일 경로** - 커널에 로드된 모듈의 경로입니다.

## EBS 볼륨 스캔 세부 정보
<a name="mp-ebs-volumes-scan-details"></a>

**참고**  
이 섹션은 [EC2에 대한 맬웨어 방지](malware-protection.md)에서 GuardDuty에서 시작한 맬웨어 스캔을 활성화했을 때의 결과에 적용됩니다.

EBS 볼륨 스캔은 잠재적으로 손상된 EC2 인스턴스 또는 컨테이너 워크로드에 연결된 EBS 볼륨에 관한 세부 정보를 제공합니다.
+ **스캔 ID** – 맬웨어 스캔의 식별자입니다.
+ **스캔 시작 시간** – 맬웨어 스캔이 시작된 날짜와 시간입니다.
+ **스캔 완료 시간** – 맬웨어 스캔이 완료된 날짜와 시간입니다.
+ **트리거 결과 ID** – 이 맬웨어 스캔을 시작한 GuardDuty 결과의 ID입니다.
+ **소스** - 잠재적 값은 `Bitdefender` 및 `Amazon`입니다.

  맬웨어를 감지하는 데 사용되는 스캔 엔진에 대한 자세한 내용은 [GuardDuty 맬웨어 탐지 스캔 엔진](guardduty-malware-detection-scan-engine.md)을 참조하세요.
+ **스캔 탐지** – 각 맬웨어 스캔의 세부 정보 및 결과를 전체적으로 볼 수 있습니다.
  + **스캔한 항목 수** - 스캔한 파일의 총 수입니다. `totalGb`, `files` 및 `volumes` 등의 세부 정보를 제공합니다.
  + **위협이 탐지된 항목 수** – 스캔 중에 탐지된 악성 `files`의 총 수입니다.
  + **최고 심각도 위협 세부 정보** – 스캔 중에 탐지된 최고 심각도 위협의 세부 정보 및 악성 파일 수입니다. `severity`, `threatName` 및 `count` 등의 세부 정보를 제공합니다.
  + **이름 기준 탐지된 위협** – 모든 심각도 수준으로 위협이 그룹화된 컨테이너 요소입니다. `itemCount`, `uniqueThreatNameCount`, `shortened` 및 `threatNames` 등의 세부 정보를 제공합니다.

## EC2용 맬웨어 보호 결과 세부 정보
<a name="malware-protection-scan-details"></a>

**참고**  
이 섹션은 [EC2에 대한 맬웨어 방지](malware-protection.md)에서 GuardDuty에서 시작한 맬웨어 스캔을 활성화했을 때의 조사 결과에 적용됩니다.

EC2용 맬웨어 보호 스캔에서 맬웨어를 탐지하면 콘솔([https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/))의 **조사 결과** 페이지에서 해당 조사 결과를 선택하여 스캔 세부 정보를 볼 수 있습니다. EC2용 맬웨어 보호 결과의 심각도는 GuardDuty 결과의 심각도에 따라 달라집니다.

세부 정보 패널의 **탐지된 위협** 섹션에서 다음 정보가 제공됩니다.
+ **이름** - 탐지별로 파일을 그룹화하여 얻은 위협의 이름입니다.
+ **심각도** - 탐지된 위협의 심각도입니다.
+ **해시** - 파일의 SHA-256 해시입니다.
+ **파일 경로** – EBS 볼륨에서 악성 파일의 위치입니다.
+ **파일 이름** – 위협이 탐지된 파일의 이름입니다.
+ **볼륨 ARN** – 스캔한 EBS 볼륨의 ARN입니다.

세부 정보 패널의 **맬웨어 스캔 세부 정보** 섹션에서 다음 정보가 제공됩니다.
+ **스캔 ID** – 맬웨어 스캔의 스캔 ID입니다.
+ **스캔 시작 시간** - 스캔이 시작된 날짜와 시간입니다.
+ **스캔 완료 시간** – 스캔이 완료된 날짜와 시간입니다.
+ **스캔된 파일** – 스캔한 파일 및 디렉터리의 총 수입니다.
+ **스캔한 총 GB** – 프로세스 중 스캔한 스토리지의 양입니다.
+ **트리거 결과 ID** – 이 맬웨어 스캔을 시작한 GuardDuty 결과의 ID입니다.
+ 세부 정보 패널의 **볼륨 세부 정보** 섹션에서 다음 정보가 제공됩니다.
  + **볼륨 ARN** – 볼륨의 Amazon 리소스 이름(ARN)입니다.
  + **스냅샷 ARN** - EBS 볼륨 스냅샷의 ARN입니다.
  + **상태** - 볼륨의 스캔 상태(예: `Running`, `Skipped`, `Completed`)입니다.
  + **암호화 유형** – 볼륨을 암호화하는 데 사용된 암호화 유형입니다. 예를 들어 `CMCMK`입니다.
  + **디바이스 이름** – 디바이스의 이름입니다. 예를 들어 `/dev/xvda`입니다.

## S3용 맬웨어 보호 결과 세부 정보
<a name="gdu-malware-protection-for-s3-finding-details"></a>

 AWS 계정에서 S3에 대한 GuardDuty 및 맬웨어 방지를 모두 활성화하면 다음 맬웨어 스캔 세부 정보를 사용할 수 있습니다.
+ **위협** - 맬웨어 스캔 중에 탐지된 위협 목록입니다.
**아카이브 파일의 여러 잠재적 위협**  
잠재적으로 여러 위협이 포함된 아카이브 파일이 있는 경우, S3용 멀웨어 방지은 처음 탐지된 위협만 보고합니다. 그런 다음 스캔 상태가 완료로 표시됩니다. GuardDuty는 연관된 검색 유형을 생성하고 생성한 EventBridge 이벤트도 전송합니다. EventBridge 이벤트를 사용하여 Amazon S3 객체 스캔을 모니터링하는 방법에 대한 자세한 내용은 [S3 객체 스캔 결과](monitor-with-eventbridge-s3-malware-protection.md#s3-object-scan-status-malware-protection-s3-ev)의 **THREATS\$1FOUND**에 대한 샘플 알림 스키마를 참조하세요.
+ **항목 경로** - 스캔한 S3 객체의 중첩된 항목 경로 및 해시 세부 정보 목록입니다.
  + **중첩 항목 경로** - 위협이 감지된 스캔된 S3 객체의 항목 경로입니다.

    이 필드의 값은 최상위 객체가 아카이브이고 아카이브 내부에서 위협이 탐지된 경우에만 사용할 수 있습니다.
  + **해시** - 이 결과에서 탐지된 위협의 해시입니다.
+ **소스** - 잠재적 값은 `Bitdefender` 및 `Amazon`입니다.

  맬웨어를 감지하는 데 사용되는 스캔 엔진에 대한 자세한 내용은 [GuardDuty 맬웨어 탐지 스캔 엔진](guardduty-malware-detection-scan-engine.md)을 참조하세요.

## 작업
<a name="finding-action-section"></a>

결과의 **작업**은 결과를 트리거한 활동 유형에 대한 세부 정보를 제공합니다. 사용 가능한 정보는 작업 유형에 따라 다릅니다.

**작업 유형** – 결과 활동 유형입니다. 이 값은 **NETWORK\$1CONNECTION**, **PORT\$1PROBE**, **DNS\$1REQUEST**, **AWS\$1API\$1CALL** 또는 **RDS\$1LOGIN\$1ATTEMPT**일 수 있습니다. 사용 가능한 정보는 작업 유형에 따라 다릅니다.
+ **NETWORK\$1CONNECTION** - 확인된 EC2 인스턴스와 원격 호스트 사이에 네트워크 트래픽을 교환했음을 나타냅니다. 이 작업 유형은 다음과 같은 추가 정보를 보유합니다.
  + **연결 방향** – GuardDuty에 결과를 생성하도록 유도한 활동에서 관찰된 네트워크 연결 방향입니다. 다음 값 중 하나일 수 있습니다.
    + **INBOUND** - 원격 호스트가 사용자 계정에서 확인된 EC2 인스턴스의 로컬 포트에 대한 연결을 시작했다는 의미입니다.
    + **OUTBOUND** - 확인된 EC2 인스턴스가 원격 호스트에 대한 연결을 시작했음을 나타냅니다.
    + **알 수 없음** - GuardDuty가 연결 방향을 판단할 수 없음을 나타냅니다.
  + **프로토콜** - GuardDuty에 결과를 생성하도록 유도한 활동에서 관찰된 네트워크 연결 프로토콜입니다.
  + **로컬 IP** – 결과를 트리거한 트래픽의 기존 소스 IP 주소입니다. 이 정보는 트래픽이 흐르는 중간 계층의 IP 주소와 결과를 트리거한 트래픽의 원래 소스 IP 주소를 구별하는 데 사용할 수 있습니다. 예를 들어 EKS 포드가 실행 중인 인스턴스의 IP 주소가 아닌 EKS 포드의 IP 주소입니다.
  + **차단됨** - 대상 포트가 차단되었는지 여부를 나타냅니다.
+ **PORT\$1PROBE** - 원격 호스트가 확인된 EC2 인스턴스를 여러 곳의 열린 포트에서 탐색했음을 나타냅니다. 이 작업 유형은 다음과 같은 추가 정보를 보유합니다.
  + **로컬 IP** – 결과를 트리거한 트래픽의 기존 소스 IP 주소입니다. 이 정보는 트래픽이 흐르는 중간 계층의 IP 주소와 결과를 트리거한 트래픽의 원래 소스 IP 주소를 구별하는 데 사용할 수 있습니다. 예를 들어 EKS 포드가 실행 중인 인스턴스의 IP 주소가 아닌 EKS 포드의 IP 주소입니다.
  + **차단됨** - 대상 포트가 차단되었는지 여부를 나타냅니다.
+ **DNS\$1REQUEST** - 식별된 EC2 인스턴스에서 도메인 이름을 쿼리했다는 의미입니다. 이 작업 유형은 다음과 같은 추가 정보를 보유합니다.
  + **프로토콜** - GuardDuty에 결과를 생성하도록 유도한 활동에서 관찰된 네트워크 연결 프로토콜입니다.
  + **차단됨** - 대상 포트가 차단되었는지 여부를 나타냅니다.
+ **AWS\$1API\$1CALL** - AWS API가 간접적으로 호출되었음을 나타냅니다. 이 작업 유형은 다음과 같은 추가 정보를 보유합니다.
  + **API** - 간접적으로 호출되어 GuardDuty가 이 결과를 생성하도록 유도한 API 작업의 이름입니다.
**참고**  
이러한 작업에는 AWS CloudTrail로 캡처한 비 API 이벤트도 포함될 수 있습니다. 자세한 내용은 [CloudTrail에서 캡처한 비API 이벤트](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-non-api-events.html)를 참조하세요.
  + **사용자 에이전트** - API 요청한 사용자 에이전트입니다. 이 값은 호출이 AWS Management Console, AWS 서비스, AWS SDKs 또는에서 이루어졌는지 여부를 알려줍니다 AWS CLI.
  + **오류 코드** – API 호출 실패로 인해 결과가 트리거된 경우 해당 호출에 대한 오류 코드가 표시됩니다.
  + **서비스 이름** - 결과를 트리거한 API 호출을 시도한 서비스의 DNS 이름입니다.
+ **RDS\$1LOGIN\$1ATTEMPT** - 원격 IP 주소에서 잠재적으로 손상된 데이터베이스에 대해 로그인 시도가 이루어졌음을 나타냅니다.
  + **IP 주소** – 잠재적으로 의심스러운 로그인 시도에 사용된 원격 IP 주소입니다.

## 작업자 또는 대상
<a name="finding-actor-target"></a>

**Resource role**이 `TARGET`인 경우 결과에 **작업자** 섹션이 있습니다. 이는 리소스가 의심스러운 활동의 대상이 되었음을 나타내며 **작업자** 섹션에는 리소스를 대상으로 한 엔터티에 대한 세부 정보가 포함됩니다.

**Resource role**이 `ACTOR`인 경우 결과에 **대상** 섹션이 있습니다. 이는 리소스가 원격 호스트에 대한 의심스러운 활동에 관여했음을 나타내며, 이 섹션에는 리소스가 대상으로 한 IP 또는 도메인에 대한 정보가 포함됩니다.

**작업자** 또는 **대상** 섹션에서 제공되는 정보는 다음과 같습니다.
+ **관련성** - 원격 API 호출자의 AWS 계정이 GuardDuty 환경과 관련이 있는지 여부에 관한 세부 정보입니다. 이 값이 `true`인 경우 API 호출자가 어떤 방식으로 계정과 연결되어 있으며, `false`인 경우 API 호출자가 환경 외부에 있습니다.
+ **원격 계정 ID** – 최종 네트워크에서 리소스에 액세스하는 데 사용된 아웃바운드 IP 주소를 소유한 계정 ID입니다.
+ **IP 주소** – GuardDuty에서 결과를 생성하도록 유도한 활동에 관여한 IP 주소입니다.
+ **위치** – GuardDuty에서 결과를 생성하도록 유도한 활동에 관여한 IP 주소의 위치 정보입니다.
+ **조직** – GuardDuty에서 결과를 생성하도록 유도한 활동에 관여한 IP 주소의 ISP 조직 정보입니다.
+ **포트** – GuardDuty에서 결과를 생성하도록 유도한 활동에 관여한 포트 번호입니다.
+ **도메인** – GuardDuty에서 결과를 생성하도록 유도한 활동에 관여한 도메인입니다.
+ **접미사가 포함된 도메인** – GuardDuty에서 결과를 생성하도록 유도한 활동에 관여한 두 번째 및 최상위 도메인입니다. 최상위 및 2단계 도메인 목록은 [퍼블릭 접미사 목록](https://publicsuffix.org/)을 참조하세요.

## 지리적 위치 세부 정보
<a name="guardduty-finding-details-geolocation"></a>

GuardDuty는 MaxMind GeoIP 데이터베이스를 사용하여 요청의 위치 및 네트워크를 확인합니다. MaxMind는 국가 수준에서 매우 높은 데이터 정확도를 보고하지만, 정확도는 국가 및 IP 주소의 유형과 같은 요인에 따라 다릅니다.

MaxMind에 대한 자세한 내용은 [MaxMind IP 지리적 위치](https://support.maxmind.com/hc/en-us/sections/4407519834267-IP-Geolocation)를 참조하세요. GeoIP 데이터가 잘못되었다고 생각되면 MaxMind([MaxMind Correct GeoIP2 Data](https://support.maxmind.com/hc/en-us/articles/4408252036123-GeoIP-Correction))에 정정 요청을 제출하세요.

## 추가 정보
<a name="finding-additional-info"></a>

모든 결과의 **추가 정보** 섹션에는 다음 정보가 포함될 수 있습니다.
+ **위협 목록 이름** – GuardDuty에서 결과를 생성하도록 유도한 활동에 관여한 IP 주소 또는 도메인 이름이 포함된 위협 목록의 이름입니다.
+ **샘플** - 샘플 결과인지 여부를 나타내는 true 또는 false 값입니다.
+ **보관됨** - 결과가 보관되었는지 여부를 나타내는 true 또는 false 값입니다.
+ **비정상** - 기록상 관찰된 적 없는 활동의 세부 정보입니다. 여기에는 비정상(이전까지 관찰되지 않은) 사용자, 위치, 시간, 버킷, 로그인 동작 또는 ASN 조직이 포함될 수 있습니다.
+ **비정상적인 프로토콜** – GuardDuty에 결과를 생성하도록 유도한 활동에 관여한 네트워크 연결 프로토콜입니다.
+ **에이전트 세부 정보** – AWS 계정의 EKS 클러스터에 현재 배포되어 있는 보안 에이전트에 관한 세부 정보입니다. 이는 EKS 런타임 모니터링 결과 유형에만 적용됩니다.
  + **에이전트 버전** – GuardDuty 보안 에이전트의 버전입니다.
  + **에이전트 ID** – GuardDuty 보안 에이전트의 고유 식별자입니다.

## 증거
<a name="finding-evidence"></a>

위협 인텔리전스에 기반한 결과에는 다음 정보가 포함된 **증거** 섹션이 있습니다.
+ **위협 인텔리전스 세부 정보** - 인식된 `Threat name`가 표시되는 위협 목록의 이름입니다.
+ **위협 이름** – 위협과 관련된 맬웨어 계열의 이름 또는 기타 식별자입니다.
+ **위협 파일 SHA256** – 결과를 생성한 파일의 SHA256입니다.

## 변칙적 동작
<a name="finding-anomalous"></a>

**AnomalousBehavior**로 끝나는 결과 유형은 GuardDuty 변칙 탐지 기계 학습(ML) 모델에 의해 결과가 생성되었음을 나타냅니다. ML 모델은 계정에 대한 모든 API 요청을 평가하고 공격자가 사용한 전략과 관련된 변칙 이벤트를 식별합니다. ML 모델은 요청한 사용자, 요청이 이루어진 위치, 요청된 특정 API 등 API 요청의 다양한 요소를 추적합니다.

요청을 간접적으로 호출한 CloudTrail 사용자 ID에서 API 요청의 어떤 요소가 비정상적인지에 관한 세부 정보는 결과 세부 정보에서 확인할 수 있습니다. ID는 [CloudTrail userIdentity 요소](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)에 의해 정의되며, 가능한 값은 `Root`, `IAMUser`, `AssumedRole`, `FederatedUser`, `AWSAccount` 또는 `AWSService`입니다.

**AnomalousBehavior** 결과에는 API 활동과 관련된 모든 GuardDuty 결과에 제공되는 세부 정보 외에도 다음 섹션에 요약된 추가 세부 정보가 있습니다. 이러한 세부 정보는 콘솔에서 볼 수 있으며 검색 결과의 JSON에서도 제공됩니다.
+ **비정상 API** - 결과와 관련된 주요 API 요청과 가까운 사용자 ID에 의해 간접적으로 호출된 API 요청 목록입니다. 이 창은 API 이벤트의 세부 정보를 다음 방식으로 추가 세분화합니다.
  + 첫 번째 나열된 API는 위험이 가장 높은 것으로 관찰된 활동과 관련된 API 요청인 주요 API입니다. 이 API는 결과를 트리거한 API로, 결과 유형의 공격 단계와 관련이 있습니다. 이 API는 콘솔의 **작업** 섹션과 결과의 JSON에 자세히 설명되어 있는 API이기도 합니다.
  + 나열된 다른 모든 API는 주요 API 근처에서 관찰되어 나열된 사용자 ID에서의 추가 변칙 API입니다. 목록에서 API가 하나뿐인 경우 ML 모델은 해당 사용자 ID의 추가 API 요청을 변칙으로 식별하지 않았습니다.
  + API 목록은 API **호출 완료** 여부 또는 API 호출 실패(오류 응답 수신) 여부에 따라 구분됩니다. 수신된 오류 응답 유형은 호출에 실패한 각 API 위에 나열됩니다. 가능한 오류 응답 유형은 `access denied`, `access denied exception`, `auth failure`, `instance limit exceeded`, `invalid permission - duplicate`, `invalid permission - not found` 및 `operation not permitted`입니다.
  + API는 관련 서비스에 따라 분류됩니다.
  + 보다 많은 컨텍스트를 위해 **API 기록**을 선택하여 최상위 API에 대한 세부 정보를 최대 20개까지 볼 수 있으며, 주로 사용자 ID와 계정 내 모든 사용자 모두에게 표시됩니다. API는 계정 내에서 사용되는 빈도에 따라 **드문(한 달에 1회 미만)**, **이따금씩(한 달에 몇 회)** 또는 **자주(매일에서 매주 사용)**로 표시됩니다.
+ **비정상적인 동작(계정)** - 이 섹션에서는 계정에서 프로파일링된 동작에 대한 추가 세부 정보를 제공합니다.
**프로파일링된 동작**  
GuardDuty는 전달된 이벤트를 기반으로 계정 내 활동에 대해 지속적으로 학습합니다. 이러한 활동과 그 관찰 빈도를 프로파일링된 행동이라고 합니다.

  이 패널에서 추적되는 정보는 다음과 같습니다.
  + **ASN 조직** - 비정상적인 API 호출이 이루어진 ASN(자율 시스템 번호) 조직입니다.
  + **사용자 이름** - 변칙적인 API 호출을 한 사용자의 이름입니다.
  + **User Agent** - 변칙적인 API 호출을 하는 데 사용된 사용자 에이전트입니다. 사용자 에이전트는 호출에 사용된 메서드입니다(예: `aws-cli` 또는 `Botocore`).
  + **사용자 유형** - 변칙적인 API 호출을 한 사용자의 유형입니다. 가능한 값은 `AWS_SERVICE`, `ASSUMED_ROLE`, `IAM_USER` 또는 `ROLE`입니다.
  + **버킷** - 액세스 중인 S3 버킷의 이름입니다.
+ **비정상적인 동작(사용자 ID)** - 이 섹션에서는 결과와 관련된 **사용자 ID**의 프로파일링된 동작에 대한 추가 세부 정보를 제공합니다. 동작이 과거에 있었던 것으로 식별되지 않는 경우 이는 GuardDuty ML 모델에서 훈련 기간 내에 이 사용자 ID가 이러한 방식으로 이 API를 호출하는 것을 이전에 관찰한 적이 없음을 의미합니다. **사용자 ID**에 관하여 다음 추가 세부 정보가 제공됩니다.
  + **ASN 조직** - 변칙적인 API 호출이 이루어진 ASN 조직입니다.
  + **User Agent** - 변칙적인 API 호출을 하는 데 사용된 사용자 에이전트입니다. 사용자 에이전트는 호출에 사용된 메서드입니다(예: `aws-cli` 또는 `Botocore`).
  + **버킷** - 액세스 중인 S3 버킷의 이름입니다.
+ **비정상적인 동작(버킷)** - 이 섹션에서는 결과와 관련된 S3 버킷의 프로파일링된 동작에 관한 추가 세부 정보를 제공합니다. 동작이 과거에 있었던 것으로 식별되지 않는 경우 이는 GuardDuty ML 모델에서 훈련 기간 내에 이 버킷에 대해 이러한 방식으로 이 API를 호출하는 것을 이전에 관찰한 적이 없음을 의미합니다. 이 섹션에서 추적되는 정보는 다음과 같습니다.
  + **ASN 조직** - 변칙적인 API 호출이 이루어진 ASN 조직입니다.
  + **사용자 이름** - 변칙적인 API 호출을 한 사용자의 이름입니다.
  + **User Agent** - 변칙적인 API 호출을 하는 데 사용된 사용자 에이전트입니다. 사용자 에이전트는 호출에 사용된 메서드입니다(예: `aws-cli` 또는 `Botocore`).
  + **사용자 유형** - 변칙적인 API 호출을 한 사용자의 유형입니다. 가능한 값은 `AWS_SERVICE`, `ASSUMED_ROLE`, `IAM_USER` 또는 `ROLE`입니다.
**참고**  
동작 기록에 대한 추가 컨텍스트의 경우 **비정상적인 동작(계정)**, **사용자 ID** 또는 **버킷** 섹션에서 **동작 기록**을 선택하여 계정 내에서 사용되는 빈도에 따라 **드문(한 달에 1회 미만)**, **이따끔씩(한 달에 몇 회)** 또는 **자주(매일에서 매주 사용)** 범주 각각에 대해 계정에서 예상되는 동작에 관한 세부 정보를 확인합니다.
+ **비정상적인 동작(데이터베이스)** - 이 섹션에서는 결과와 관련된 데이터베이스 인스턴스의 프로파일링된 동작에 관한 추가 세부 정보를 제공합니다. 동작이 과거에 있었던 것으로 식별되지 않는 경우 이는 GuardDuty ML 모델에서 훈련 기간 내에 이 데이터베이스 인스턴스에 대해 이러한 방식으로 로그인 시도가 이루어진 것을 이전에 관찰한 적이 없음을 의미합니다. 결과 패널의 이 섹션에서 추적되는 정보는 다음과 같습니다.
  + **사용자 이름** - 변칙적인 로그인 시도에 사용된 사용자 이름입니다.
  + **ASN Org** - 변칙적인 로그인 시도가 이루어진 ASN 조직입니다.
  + **애플리케이션 이름** - 변칙적인 로그인 시도에 사용되는 애플리케이션 이름입니다.
  + **데이터베이스 이름** - 변칙적인 로그인 시도와 관련된 데이터베이스 인스턴스의 이름입니다.

  **동작 기록** 섹션은 연결된 데이터베이스에 대해 이전에 관찰된 **사용자 이름**, **ASN Orgs**, **애플리케이션 이름** 및 **데이터베이스 이름**에 관한 추가 컨텍스트를 제공합니다. 각 고유 값에는 로그인 성공 이벤트에서 이 값이 관찰된 횟수를 나타내는 관련 카운트가 있습니다.
+ **비정상적인 동작(계정 Kubernetes 클러스터, Kubernetes 네임스페이스 및 Kubernetes 사용자 이름)** - 이 섹션에서는 해당 결과와 관련된 Kubernetes 클러스터 및 네임스페이스의 프로파일링된 동작에 관한 추가 세부 정보를 제공합니다. 특정 동작이 과거에 있었던 것으로 식별되지 않으면 GuardDuty ML 모델이 이전에 이 계정, 클러스터, 네임스페이스 또는 사용자 이름을 이러한 방식으로 관찰한 적이 없음을 의미합니다. 결과 패널의 이 섹션에서 추적되는 정보는 다음과 같습니다.
  + **사용자 이름** - 결과와 관련된 Kubernetes API를 호출한 사용자입니다.
  + **가장한 사용자** – `username`으로 가장한 사용자입니다.
  + **네임스페이스** - 작업이 발생한 Amazon EKS 클러스터 내의 Kubernetes 네임스페이스입니다.
  + **사용자 에이전트** – Kubernetes API 호출과 관련된 사용자 에이전트입니다. 사용자 에이전트는 호출에 사용된 메서드입니다(예: `kubectl`).
  + **API** - Amazon EKS 클러스터 내에서 `username`에 의해 호출된 Kubernetes API입니다.
  + **ASN 정보** - 호출한 사용자의 IP 주소와 관련된 ASN 정보(예: 조직 및 ISP)입니다.
  + **요일** - Kubernetes API 호출이 이루어진 요일입니다.
  + **권한** – `username`이 Kubernetes API를 사용할 수 있는지 여부를 나타내기 위해 액세스 여부를 확인하는 Kubernetes 동사 및 리소스입니다.
  + **서비스 계정 이름** – 워크로드에 ID를 제공하는 Kubernetes 워크로드와 관련된 서비스 계정입니다.
  + **레지스트리** – Kubernetes 워크로드에 배포된 컨테이너 이미지와 관련된 컨테이너 레지스트리입니다.
  + **이미지** – 관련 태그 및 다이제스트 없이 Kubernetes 워크로드에 배포된 컨테이너 이미지입니다.
  + **이미지 접두사 구성** – 이미지를 사용하는 컨테이너에 대해 컨테이너 및 워크로드 보안 구성이 활성화된 이미지 접두사입니다(예: `hostNetwork` 또는 `privileged`).
  + **주체 이름** – `RoleBinding` 또는 `ClusterRoleBinding`의 참조 역할에 바인딩된 주체(예: `group`, `serviceAccountName` 또는 `user`)입니다.
  + **역할 이름** – 역할 또는 `roleBinding` API의 생성 또는 수정과 관련된 역할의 이름입니다.

### S3 볼륨 기반 이상
<a name="s3-volume-based-anomalies"></a>

이 섹션에서는 S3 볼륨 기반 이상에 관한 컨텍스트 정보를 자세히 설명합니다. 볼륨 기반 결과([Exfiltration:S3/AnomalousBehavior](guardduty_finding-types-s3.md#exfiltration-s3-anomalousbehavior))는 사용자가 S3 버킷에 대해 수행한 비정상적인 수의 S3 API 호출을 모니터링하며, 이는 잠재적 데이터 유출 가능성을 나타냅니다. 볼륨 기반 이상 결과에 대해 다음 S3 API 호출이 모니터링됩니다.
+ `GetObject`
+ `CopyObject.Read`
+ `SelectObjectContent`

다음 지표는 IAM 엔터티가 S3 버킷에 액세스할 때 일반적인 동작의 기준을 세우는 데 도움이 됩니다. 데이터 유출을 탐지하기 위해 볼륨 기반 이상 탐지 결과는 일반적인 동작 기준과 비교하여 모든 활동을 평가합니다. **비정상적인 동작(사용자 ID)**, **관찰된 볼륨(사용자 ID)** 및 **관찰된 볼륨(버킷)** 섹션에서 **동작 기록**을 선택하여 다음 지표를 확인합니다.
+ 지난 24시간 동안 영향을 받는 S3 버킷과 연결된 IAM 사용자 또는 IAM 역할(무엇이 호출되었는지에 따라 다름)에 의해 간접적으로 호출된 `s3-api-name` API 호출 수입니다.
+ 지난 24시간 동안 모든 S3 버킷과 연결된 IAM 사용자 또는 IAM 역할(무엇이 호출되었는지에 따라 다름)에 의해 간접적으로 호출된 `s3-api-name` API 호출 수입니다.
+ 지난 24시간 동안 영향을 받는 S3 버킷과 연결된 모든 IAM 사용자 또는 IAM 역할(무엇이 호출되었는지에 따라 다름)의 `s3-api-name` API 호출 수입니다.

### RDS 로그인 활동 기반 이상
<a name="rds-pro-login-anomaly"></a>

이 섹션서는 비정상적 작업자의 로그인 시도 횟수를 자세히 설명하고 로그인 시도 결과에 따라 그룹화됩니다. [RDS 보호 결과 유형](findings-rds-protection.md)에서 로그인 이벤트에서 비정상적인 `successfulLoginCount`, `failedLoginCount` 및 `incompleteConnectionCount` 패턴을 모니터링하여 변칙적인 동작을 식별합니다.
+ **successfulLoginCount** - 이 카운터는 비정상적인 작업자가 데이터베이스 인스턴스에 성공적으로 연결한 횟수(로그인 속성의 올바른 조합)의 합계를 나타냅니다. 로그인 속성에는 사용자 이름, 암호 및 데이터베이스 이름이 포함됩니다.
+ **failedLoginCount** - 이 카운터는 데이터베이스 인스턴스 연결과 관련하여 실패한 로그인 시도의 합계를 나타냅니다. 이는 사용자 이름, 암호 또는 데이터베이스 이름과 같은 로그인 조합의 속성 중 하나 이상이 잘못되었음을 나타냅니다.
+ **incompleteConnectionCount** - 이 카운터는 성공 또는 실패로 분류할 수 없는 연결 시도 횟수를 나타냅니다. 데이터베이스가 응답을 제공하기 전에 이러한 연결은 닫힙니다. 데이터베이스 포트가 연결되어 있지만 데이터베이스로 정보가 전송되지 않는 포트 스캔, 로그인 시도 성공 또는 실패 전에 연결이 중단된 경우를 예로 들 수 있습니다.

# GuardDuty 결과 집계
<a name="finding-aggregation"></a>

GuardDuty는 생성된 조사 결과를 동적으로 업데이트합니다. GuardDuty가 동일한 보안 문제와 관련된 새 활동을 감지하면 새 조사 결과를 생성하는 대신 GuardDuty는 원래 조사 결과를 최신 세부 정보로 업데이트합니다. 이 동작을 통해 여러 유사한 보고서를 일일이 검토하지 않고도 진행 중인 문제를 식별할 수 있으며, 알려진 보안 문제에 대한 조사 결과의 전체 양이 줄어듭니다.

예를 들어 UnauthorizedAccess:EC2/SSHBruteForce 조사 결과의 경우 인스턴스를 대상으로 한 여러 번의 액세스 시도가 동일한 조사 결과 ID로 집계되며 조사 결과의 세부 정보에서 **Count** 값이 증가합니다. 이는 결과가 인스턴스(즉, 인스턴스의 SSH 포트가 이러한 유형의 활동에 대해 제대로 보호되지 않음을 나타내는 경우)와 관련한 단일 보안 문제를 나타내기 때문입니다. 그러나 GuardDuty가 새 인스턴스를 대상으로 하는 SSH 액세스 활동을 환경에서 탐지하면 고유한 결과 ID를 이용해 새 결과를 생성하여 새 리소스와 연관된 보안 문제가 있음을 사용자에게 알립니다.

조사 결과 집계 시, 해당 ㅂ활동에서 가장 최근에 발생한 정보로 업데이트됩니다. 즉, 위의 예에서 인스턴스가 새로운 작업자의 무차별 암호 대입 시도 대상인 경우 검색 세부 정보는 가장 최근 소스에 대한 원격 IP를 반영하기 위해 업데이트되며 이전 정보가 교체됩니다. 개별 활동 시도에 관한 전체 정보는 CloudTrail 또는 VPC 흐름 로그에서 여전히 확인할 수 있습니다.

기존 결과를 집계하는 대신 새 검색 결과를 생성하도록 GuardDuty에 알리는 조건은 결과 유형에 따라 다릅니다. 각 조사 결과 유형의 집계 기준은 계정 내의 고유한 보안 문제를 가장 잘 파악할 수 있도록 보안 엔지니어가 결정합니다.

GuardDuty가 계정에서 공격 시퀀스 조사 결과 유형을 생성하면 GuardDuty가 계정의 동일한 시퀀스에서 유사한 신호를 식별하는 경우에만 조사 결과가 집계됩니다. 그렇지 않으면 GuardDuty가 다른 공격 시퀀스를 생성합니다.