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/