AWS

다운로드 365
업데이트 2025. 4. 30.

AWS 보안 그룹 B클래스 이하 대역 인바운드 허용

AWS 보안 그룹의 Ingress 규칙 목록에 B 클래스 이하 인바운드를 허용하는 규칙 추가 시 탐지합니다.

쿼리

AWS CloudTrail은 보안그룹 Ingress 규칙 추가 시 AuthorizeSecurityGroupIngress 이벤트를 기록합니다. 요청 매개변수(req_params)는 아래와 같은 형식으로 구성되어 있습니다.

{
    "groupId": "sg-00112233445566778",
    "ipPermissions": {
        "items": [
            {
                "ipRanges": {
                    "items": [
                        {
                            "description": "Allow traffic",
                            "cidrIp": "100.100.0.0/16"
                        }
                    ]
                },
                "prefixListIds": {},
                "fromPort": 3306,
                "toPort": 3306,
                "groups": {},
                "ipProtocol": "tcp",
                "ipv6Ranges": {}
            }
        ]
    }
}

따라서 ipPermissions.items.ipRanges.items.cidrIp 항목을 valueof()와 explode 명령어를 이용하여 cidrIp 항목을 추출하고, 슬래시를 기준으로 마스크 값 파싱 후 정수로 변환한 다음, 이 값이 16 이하인 경우에 탐지하도록 쿼리를 구성합니다.

| search event_name == "AuthorizeSecurityGroupIngress"
| eval group_id = valueof(req_params, "groupId"), items = valueof(valueof(req_params, "ipPermissions"), "items")
| explode items
| eval ip_ranges = valueof(valueof(items, "ipRanges"), "items"), from_port = valueof(items, "fromPort"), to_port = valueof(items, "toPort"), protocol = upper(valueof(items, "ipProtocol")) 
| explode ip_ranges 
| parsemap field=ip_ranges overlay=t 
| fields - items, ip_ranges  
| rename cidrIp as cidr 
| eval mask = int(valueof(split(cidr, "/"), 1)) 
| search mask <= 16

메시지

  • AWS 보안 그룹 B클래스 이하 대역 인바운드 허용: 사용자 $user, 보안그룹 $group_id, 허용 대역 $cidr, 포트 $from_port-$to_port, 설명 $description

출력 필드 순서

  • _log_time, event_id, src_ip, account_id, aws_region, user_type, user, event_name, group_id, cidr, mask, protocol, from_port, to_port, description, user_agent

위협 분석

  • AWS 보안 그룹에 B 클래스 이하(/16 이상) CIDR을 인바운드로 과도하게 허용하면 공격자가 서비스 포트(예: SSH, RDP, DB 포트 등)에 직접 접근할 수 있도록 노출되어 무차별 대입(brute force), 취약점 스캐닝, 익스플로잇 공격의 표적이 될 수 있습니다.
  • 보안 그룹 설정 변경은 정상적인 운영 작업일 수 있으나, 공격자가 침투 후 권한을 확보한 뒤 보안 그룹을 고의로 완화하여 백도어 통신 경로를 확보하는 경우도 빈번하게 보고됩니다.
  • 따라서 이러한 이벤트는 초기 접근(Initial Access), 방어 회피(Defense Evasion), 지속성(Persistence) 전술과 관련된 보안 위협으로 볼 수 있습니다.

오탐 유형

  • 관리자가 특정 상황(예: 테스트 환경 오픈, 일시적 유지보수, 파트너사 접속 허용 등)을 위해 임시로 넓은 대역을 개방하는 경우에도 탐지될 수 있습니다.
  • 자동화된 IaC(Infrastructure as Code) 도구(Terraform, CloudFormation 등)에서 일괄적으로 보안 그룹을 정의할 때 넓은 CIDR이 포함될 수 있습니다.

대응 방안

  • 보안 그룹 규칙 추가가 의도한 변경인지, 업무 목적상 불가피하게 넓은 IP 주소 대역을 허용할 수 밖에 없는지 운영팀/보안팀과 즉시 확인합니다.
  • 의도하지 않은 보안 규칙 변경이 발생했다면, 규칙을 즉시 제거하고 관련된 IAM 계정의 암호를 변경합니다. 이후 해당 계정에 대해 감사 기록을 확인하고 계정 유출 원인을 제거합니다.
  • 의도된 정책 변경이라면 최소 권한 원칙(Least Privilege)에 따라 특정 출발지 IP 주소 또는 제한된 IP 주소 범위만 허용하도록 보안 그룹을 수정합니다.

MITRE ATT&CK

  • 전술
    • Defense Evasion
  • 기법
    • 이름: Impair Defenses: Disable or Modify Cloud Firewall
    • ID: T1562.007
    • 참조 URL: https://attack.mitre.org/techniques/T1562/007/