AWS 보안 그룹의 Ingress 규칙 목록에 B 클래스 이하 인바운드를 허용하는 규칙 추가 시 탐지합니다.
개요
| 유형 | 실시간 탐지 |
|---|---|
| MITRE 기술 | T1562.007 Impair Defenses: Disable or Modify Cloud Firewall |
| MITRE 전술 | TA0005 Defense Evasion |
쿼리
1| search event_name == "AuthorizeSecurityGroupIngress"
2| eval group_id = valueof(req_params, "groupId"), items = valueof(valueof(req_params, "ipPermissions"), "items")
3| explode items
4| eval ip_ranges = valueof(valueof(items, "ipRanges"), "items"), from_port = valueof(items, "fromPort"), to_port = valueof(items, "toPort"), protocol = upper(valueof(items, "ipProtocol"))
5| explode ip_ranges
6| parsemap field=ip_ranges overlay=t
7| fields - items, ip_ranges
8| rename cidrIp as cidr
9| eval mask = int(valueof(split(cidr, "/"), 1))
10| search mask <= 16
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 이하인 경우에 탐지하도록 쿼리를 구성합니다.
위협 분석
- 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 주소 범위만 허용하도록 보안 그룹을 수정합니다.