Google Cloud Armor Adaptive Protection은 HTTP 플러드 및 기타 빈번하게 발생하는 레이어 7(애플리케이션 레벨) 악의적인 활동과 같은 L7 DDoS 공격으로부터 Google Cloud 애플리케이션, 웹사이트, 서비스를 보호할 수 있게 해줍니다. Adaptive Protection은 다음을 수행하는 머신러닝 모델을 빌드합니다.
- 이상 활동 감지 및 알림
- 잠재적 공격을 기술하는 서명 생성
- 서명 차단을 위한 커스텀 Google Cloud Armor WAF 규칙 생성
보안 정책별 기준으로 Adaptive Protection을 사용 설정 또는 중지합니다.
공격 서명을 포함하는 이상 트래픽(잠재적인 공격)에 대한 알림이 Adaptive Protection 이벤트 대시보드에 표시되고, 이벤트 로그가 Cloud Logging으로 전송됩니다. 여기에서 로그를 직접 분석하거나 다운스트림 로그 또는 보안 관련 활동 모니터링 워크플로로 전달할 수 있습니다. 잠재적 공격 알림은 또한 Security Command Center에서 발견 항목으로 생성됩니다.
Adaptive Protection 사용 가능 여부
전체 Adaptive Protection 알림은 Google Cloud Armor Enterprise를 구독한 경우에만 사용할 수 있습니다. 그렇지 않으면 공격 서명 또는 추천 규칙을 배포할 수 있는 기능이 없는 기본 알림만 수신됩니다.
프로젝트가 아직 Cloud Armor Enterprise에 등록되지 않았으면 Cloud Armor Enterprise 사용을 읽고 등록 방법을 확인할 수 있습니다.
Cloud Logging 및 Cloud Monitoring
Adaptive Protection을 사용하려면 실제로 Google Cloud에서 로깅 및 알림의 작동 방법을 이해할 필요가 있기 때문에 Cloud Logging, 알림, 알림 정책을 숙지하는 것이 좋습니다.
- 일반적인 로깅 정보는 Cloud Logging 문서를 참조하세요.
- 알림에 대한 자세한 내용은 Cloud Monitoring 문서를 참조하세요.
- Google Cloud Armor 관련 로깅 정보는 요청 로깅 사용을 참조하세요.
알림 구성 및 조정
이미 Google Cloud Armor 보안 정책으로 애플리케이션이 보호되는 프로젝트에서 Adaptive Protection을 사용 설정할 수 있습니다. 특정 보안 정책에 Adaptive Protection을 사용 설정하면 실제로 해당 보안 정책이 연결된 모든 백엔드 서비스에 Adaptive Protection이 적용됩니다.
Adaptive Protection을 사용 설정한 후에는 Adaptive Protection이 신뢰할 수 있는 기준선을 개발하고 트래픽 모니터링 및 알림 생성을 시작하기 전까지 최소 한 시간 이상의 학습 기간이 필요합니다. 학습 기간 중 Adaptive Protection은 각 백엔드 서비스의 기준선을 개발할 수 있도록 수신 트래픽 및 각 백엔드 서비스에 해당하는 사용 패턴을 모델링합니다. 학습 기간이 지나면 Adaptive Protection에서 해당 보안 정책과 연관된 백엔드 서비스로 전송되는 트래픽에서 빈도 또는 볼륨이 높은 이상치가 식별되었을 때 사용자에게 실시간 알림이 표시됩니다.
Adaptive Protection 알림은 여러 측정항목을 기준으로 조정할 수 있습니다. Cloud Logging으로 전송되는 알림에는 신뢰도 수준, 공격 서명, 제안 규칙, 제안 규칙과 연관된 예상되는 영향 기준선 평점이 포함됩니다.
- 신뢰도 수준은 Adaptive Protection 모델에서 관측된 트래픽 패턴 변경이 이상치라고 예측할 수 있는 신뢰도를 나타냅니다.
- 제안 규칙과 연관된 영향 기준선 평점은 기존의 기준선 트래픽 중 제안 규칙에 걸리는 부분의 백분율을 나타냅니다. 두 가지 평점이 제공됩니다. 첫 번째는 공격을 받는 특정 백엔드 서비스로 전달되는 트래픽의 상대 백분율입니다. 두 번째는 구성된 모든 백엔드 서비스 대상(공격을 받는 대상뿐만 아니라)을 포함하여 보안 정책을 통과하는 모든 트래픽의 상대 백분율입니다.
신뢰도 수준이나 영향을 받는 기준점 평점 또는 둘 다를 기준으로 Cloud Logging에서 알림을 필터링할 수 있습니다. 알림 조정에 대한 자세한 내용은 알림 정책 관리를 참조하세요.
Adaptive Protection은 대용량 레이어 7 DDoS 공격으로부터 백엔드 서비스를 보호하는 것을 목표로 합니다. 다음 시나리오에서는 요청이 Adaptive Protection에서 계산되지 않습니다.
- Cloud CDN에서 직접 제공된 요청
- Google Cloud Armor 보안 정책에서 거부된 요청
세분화된 모델
기본적으로 Adaptive Protection은 각 백엔드 서비스로 전달되는 일반적인 트래픽을 기준으로 공격을 감지하고 완화 조치를 제안합니다. 즉, 백엔드 서비스 뒤에 있는 백엔드가 과부하될 수 있지만 공격 트래픽이 백엔드 서비스에 대한 비정상적인 트래픽이 아니므로 Adaptive Protection은 아무런 조치를 취하지 않습니다.
세분화된 모델 기능을 사용하면 특정 호스트 또는 경로를 Adaptive Protection에서 분석하는 세분화된 단위로 구성할 수 있습니다. 세분화된 모델을 사용할 경우 Adaptive Protection에서 제안한 완화 조치는 일치하는 호스트 또는 URL 경로 프리픽스를 기준으로 트래픽을 필터링하므로 거짓양성을 줄이는 데 도움이 됩니다. 이러한 호스트 또는 경로를 각각 세분화된 트래픽 단위라고 합니다.
식별된 공격 서명은 세분화된 트래픽 단위로 들어오는 공격 트래픽만 대상으로 합니다. 그러나 세분화된 구성을 사용하지 않는 것처럼 필터링은 배포된 규칙과 일치하는 모든 요청에 계속 적용됩니다. 예를 들어 자동 배포된 규칙이 세분화된 특정 트래픽 단위만 일치하도록 하려면 evaluateAdaptiveProtectionAutoDeploy() && request.headers['host'] == ... && request.path == ...
과 같은 일치 조건을 사용하는 것이 좋습니다.
호스트 및 URL 경로 프리픽스 외에도 다음 옵션 중 일부 또는 전부를 기준으로 알림 기준을 구성할 수 있습니다. 이러한 기준은 백엔드 서비스에만 적용할 수 있는 부하 기준을 제외하고 세분화된 트래픽 단위 또는 백엔드 서비스 전체에 적용할 수 있습니다.
- 부하: 구성된 애플리케이션 부하 분산기에 따른 백엔드 서비스의 최대 부하입니다. 이 옵션은 세분화된 트래픽 단위에는 사용할 수 없으며 Cloud Run, Cloud Functions, 외부 원본 백엔드와 같은 서버리스 백엔드에도 사용할 수 없습니다.
- 절대 초당 쿼리 수(QPS): 백엔드 서비스 또는 트래픽 단위가 수신하는 최대 트래픽 양(초당 쿼리 수)입니다.
- 기준 QPS와 비교: 평균 장기 기준 트래픽 볼륨의 배수입니다. 예를 들어
2
값은 기준 트래픽 볼륨의 두 배에 해당하는 QPS를 나타냅니다.
세분화된 모델 구성에 대한 자세한 내용은 Google Cloud Armor Adaptive Protection 구성을 참조하세요.
알림 사용 및 해석
Adaptive Protection에서 의심스러운 공격이 감지되면 즉시 Adaptive Protection 이벤트 대시보드에서 이벤트가 생성되고 Cloud Logging에 로그 항목이 생성됩니다. 알림은 로그 항목의 JSON 페이로드에 있습니다. 로그 항목은 Cloud Logging의 네트워크 보안 정책 리소스에 생성됩니다. 로그 메시지에는 공격을 받는 백엔드 서비스와 Adaptive Protection에서 식별된 트래픽 패턴 변경이 이상치로 평가되는 정도를 나타내는 신뢰도 점수가 포함됩니다. 로그 메시지에는 또한 공격 트래픽의 특성을 설명하는 공격 서명과 공격을 완화하기 위해 적용할 수 있는 제안되는 Google Cloud Armor 규칙이 포함되어 있습니다.
공격 서명 이해
Adaptive Protection 알림에는 잠재적인 공격의 트래픽 속성을 설명하는 공격 서명이 포함되어 있습니다. 서명을 사용하여 공격을 식별하고 잠재적으로 차단할 수 있습니다. 서명에는 두 가지 형식이 사용됩니다. 하나는 사용자가 읽을 수 있는 테이블의 형식이고, 다른 하나는 관련 보안 정책에서 배포할 수 있는 사전 구성된 Google Cloud Armor WAF 규칙입니다. Cloud Armor Enterprise를 구독하지 않은 경우 공격 서명이 기본 알림에 포함되지 않습니다.
서명은 소스 IP 주소, 지리적 리전, 쿠키, 사용자 에이전트, 리퍼러, 기타 HTTP 요청 헤더와 같은 속성 집합과 잠재적인 공격 트래픽과 연관되었다고 생각되는 해당 속성의 값 집합으로 구성됩니다. 속성 집합은 사용자가 구성할 수 없습니다. 속성 값은 백엔드 서비스에 대한 수신 트래픽의 값에 따라 달라집니다.
Adaptive Protection에서 잠재적인 공격으로 인식되는 각 속성 값에 대해 Adaptive Protection은 다음을 나열합니다.
- 공격 가능성
- 공격이 감지된 시간에 이 값을 가진 잠재적인 공격 트래픽의 백분율을 나타내는 공격에서의 속성 비율입니다.
- 공격이 감지된 시간에 이 속성 값을 처리한 기준선 트래픽의 백분율을 나타내는 기준선에서의 속성 비율입니다.
Cloud Logging 항목 사양에는 각 알림의 정보에 대한 세부정보가 포함됩니다.
다음은 잠재적인 공격의 서명이 포함된 사용자가 읽을 수 있는 테이블 예시입니다.
속성 이름 | 값 | 검색 유형 | 공격 가능성 | 공격에서의 비율 | 기준선에서의 비율 |
---|---|---|---|---|---|
UserAgent |
'foo' | 일치검색 | 0.7 | 0.85 | 0.12 |
UserAgent |
'bar' | 일치검색 | 0.6 | 0.7 | 0.4 |
소스 IP | 'a.b.c.d' | 일치검색 | 0.95 | 0.1 | 0.01 |
소스 IP | a.b.c.e | 일치검색 | 0.95 | 0.1 | 0.01 |
소스 IP | a.b.c.f | 일치검색 | 0.05 | 0.1 | 0.1 |
RegionCode |
UK | 일치검색 | 0.64 | 0.3 | 0.1 |
RegionCode |
IN | 일치검색 | 0.25 | 0.2 | 0.3 |
RequestUri |
/urlpart | 하위 문자열 | 0.7 | 0.85 | 0.12 |
Adaptive Protection 알림 및 관련 Cloud Logging 이벤트 로그에는 다음이 포함됩니다.
- 사용자 피드백을 보고할 때 특정 알림을 참조하기 위해 사용되는 고유한 알림 ID 또는
alertID
- 공격 대상인 백엔드 서비스 또는
backendService
- Adaptive Protection 시스템에서 감지된 이벤트가 악의적인 공격으로 평가되는 정도를 나타내는 0~1 사이의 숫자인 신뢰도 점수 또는
confidence
감지된 공격의 특성을 규정하는 서명 및 규칙 집합도 수신됩니다. 특히 이 집합은 하나의 HTTP 헤더에 해당하고 특정 헤더에 대한 significantValues
목록이 포함된 headerSignatures
목록을 제공합니다. 각 중요 값은 관찰된 헤더 값 또는 그 하위 문자열입니다.
다음은 예시 서명입니다.
... headerSignatures: [ 0: { name: "Referer" significantValues: [ 0: { attackLikelihood: 0.95 matchType: "MATCH_TYPE_EQUALS" proportionInAttack: 0.6 proportionInBaseline: 0.01 value: "foo.attacker.com" } ] } ...
이 알림은 Referer
헤더의 foo.attacker.com
값이 공격의 특성을 규정하는 데 중요함을 나타냅니다. 구체적으로, 공격 트래픽(proportionInAttack
)의 60%에 이 Referer
값이 포함되지만, 모든 트래픽 간의 기준선 트래픽(proportionInBaseline
)은 1%에만 동일한 Referer
값이 포함됩니다. 또한 이 Referer
값과 일치하는 모든 트래픽 중 95%가 공격 트래픽(attackLikelihood
)에 해당합니다.
이러한 값은 Referer
헤더 필드에 foo.attacker.com
이 있는 모든 요청을 차단한다면 공격의 60%를 성공적으로 차단하게 되고 기준선 트래픽의 1%도 차단한다는 것을 나타냅니다.
matchType
속성은 공격 트래픽의 속성과 유효 값 간의 관계를 지정합니다. MATCH_TYPE_CONTAINS
또는 MATCH_TYPE_EQUALS
일 수 있습니다.
다음 서명은 요청 URI의 하위 문자열 /api?
와 일치하는 트래픽을 찾습니다.
... headerSignatures: [ 0: { name: "RequestUri" significantValues: [ 0: { attackLikelihood: 0.95 matchType: "MATCH_TYPE_CONTAINS" proportionInAttack: 0.9 proportionInBaseline: 0.01 value: "/api?" } ] } ...
추천 규칙 배포
Adaptive Protection 알림은 또한 커스텀 규칙 언어로 표시되는 제안되는 Google Cloud Armor 규칙을 제공합니다. 이 규칙을 사용하여 Google Cloud Armor 보안 정책에서 공격을 완화하기 위한 규칙을 만들 수 있습니다. 서명 외에도 알림에는 해당 규칙을 배포할 때의 영향을 평가하는 데 도움이 되는 영향 기준선 트래픽 점수가 포함됩니다. 영향 기준선 트래픽 점수는 Adaptive Protection에서 식별된 공격 서명과 일치하는 기준선 트래픽의 예상 부분입니다. Cloud Armor Enterprise를 구독하지 않는 경우 Adaptive Protection에서 보낸 기본 알림에는 적용할 수 있는 추천 Google Cloud Armor 규칙이 포함되지 않습니다.
Cloud Logging으로 전송된 로그 메시지에서 영향 기준선 점수뿐만 아니라 알림 서명을 찾을 수 있습니다. 다음 예시는 로그를 필터링할 수 있는 리소스 라벨이 함께 있는 샘플 경고의 JSON 페이로드입니다.
... jsonPayload: { alertId: "11275630857957031521" backendService: "test-service" confidence: 0.71828485 headerSignatures: [ 0: { name: "RequestUri" significantValues: [ 0: { attackLikelihood: 0.88 matchType: "MATCH_TYPE_EQUALS" proportionInAttack: 0.85 proportionInBaseline: 0.01 value: "/" } ] } 1: { name: "RegionCode" significantValues: [ 0: { attackLikelihood: 0.08 matchType: "MATCH_TYPE_EQUALS" proportionInAttack: 0.17 proportionInBaseline: 0.28 value: "US" } 1: { attackLikelihood: 0.68 matchType: "MATCH_TYPE_EQUALS" proportionInAttack: 0.09 proportionInBaseline: 0.01 value: "DE" } 2: { attackLikelihood: 0.74 matchType: "MATCH_TYPE_EQUALS" proportionInAttack: 0.05 proportionInBaseline: 0 value: "MD" } ] } 2: { name: "UserAgent" significantValues: [ 0: { attackLikelihood: 0.92 matchType: "MATCH_TYPE_EQUALS" proportionInAttack: 0.85 proportionInBaseline: 0 value: "Unusual browser" } 1: { attackLikelihood: 0.87 proportionInAttack: 0.7 proportionInBaseline: 0.1 missing: true } ] } ] suggestedRule: [ 0: { action: "DENY" evaluation: { impactedAttackProportion: 0.95 impactedBaselineProportion: 0.001 impactedBaselinePolicyProportion: 0.001 } expression: "evaluateAdaptiveProtection('11275630857957031521')" } ] ruleStatus: RULE_GENERATED attackSize: 5000 } resource: { type: "network_security_policy", labels: { project_id: "your-project", policy_name: "your-security-policy-name" } }, } } ...
규칙 서명에서 CEL 표현식을 복사하고 이 표현식을 새로 생성된 규칙의 일치 조건에 붙여넣거나 Google Cloud Armor UI의 Adaptive Protection 대시보드에서 적용 버튼을 클릭하여 제안 규칙을 배포할 수 있습니다.
규칙을 배포하려면 Google Cloud Armor 보안 정책에서 알림으로 식별된 대상 백엔드 서비스를 보호하는 새 규칙을 만듭니다.
그런 후 규칙을 구성하는 동안 알림에서 규칙의 일치 조건 필드로 CEL 표현식을 복사하여 붙여넣고 규칙 작업을 deny
로 설정합니다. 위 예시에서는 알림의 suggestedRule
섹션에서 evaluateAdaptiveProtection('11275630857957031521')
표현식을 복사합니다.
규칙이 프로덕션 트래픽에 미치는 영향을 평가할 수 있도록 처음에 미리보기 모드로 규칙을 배포하는 것이 가장 좋습니다. 이렇게 하면 규칙이 트리거될 때마다 Google Cloud Armor가 작업 및 연관된 트래픽을 로깅하지만, 일치하는 트래픽에 대해 작업이 수행되지 않습니다.
또한 보안 정책이 여러 백엔드 서비스에 연결된 경우 새 규칙이 백엔드 서비스에 원치 않는 효과를 주는지 확인해야 합니다. 이 경우에는 원치 않는 효과를 완화할 수 있는 새 보안 정책을 구성하고 이를 올바른 백엔드 서비스에 연결합니다.
새 규칙의 우선순위는 작업을 허용하도록 설정된 규칙보다 높게 설정하는 것이 좋습니다. 예상된 영향을 주고 공격을 완화하는 데 최대한의 효과를 주기 위해서는 모든 일치 트래픽이 규칙에 의해 차단되도록 가장 높은 논리적 우선순위 위치에 규칙을 배포해야 하기 때문입니다. Google Cloud Armor 보안 정책의 규칙은 첫 번째 일치 규칙이 트리거되고 연관된 규칙 작업이 수행된 후 평가가 종료되는 우선순위에 따라 평가됩니다. 일부 트래픽 또는 특정 클라이언트에 이 규칙의 예외를 부여하기 위해서는 높은 우선순위 즉, 더 낮은 숫자 값을 사용하여 '허용' 규칙을 만들면 됩니다. 규칙 우선순위에 대한 자세한 내용은 규칙 평가 순서를 참조하세요.
추천 규칙 자동 배포
Adaptive Protection을 구성하여 추천 규칙을 자동으로 배포할 수도 있습니다. 자동 규칙 배포를 사용 설정하려면 일치 조건에서 evaluateAdaptiveProtectionAutoDeploy()
표현식을 사용하여 원하는 우선순위와 작업으로 자리표시자 규칙을 만듭니다. 이 규칙은 Adaptive Protection에서 공격 트래픽으로 식별한 요청을 true
로 평가하며 Google Cloud Armor는 공격 요청에 작업을 적용합니다. allow
, deny
, throttle
, redirect
와 같은 모든 Google Cloud Armor 작업 유형이 지원됩니다. 또한 미리보기 모드를 사용하면 구성된 작업을 수행하지 않고도 규칙이 트리거된 것을 로깅할 수 있습니다.
외부 애플리케이션 부하 분산기 앞에 타사 CDN과 같은 업스트림 프록시를 사용하는 경우 userIpRequestHeaders
필드을 구성하여 제공업체의 IP 주소(또는 IP 주소 범위)를 허용 목록에 추가하는 것이 좋습니다. 이렇게 하면 Adaptive Protection에서 프록시의 소스 IP 주소가 공격에 참여한 것으로 잘못 식별되지 않습니다. 대신 사용자가 구성한 필드에서 프록시에 도착하기 전에 트래픽의 소스 IP 주소를 확인합니다.
자동 규칙 배포 구성에 대한 자세한 내용은 Adaptive Protection 추천 규칙 자동 배포를 참조하세요.
규칙 상태
제안된 규칙을 배포하려고 시도할 때 규칙이 제공되지 않았으면 ruleStatus
필드를 사용하여 원인을 확인할 수 있습니다.
] ruleStatus: RULE_GENERATED attackSize: 5000 }
다음 표에서는 이 필드의 가능한 값과 그 의미를 설명합니다.
규칙 상태 | 설명 |
---|---|
RULE_GENERATED | 사용 가능한 규칙이 일반적으로 생성되었습니다. |
BASELINE_TOO_RECENT | 신뢰할 수 있는 기준선 트래픽을 누적하기 위한 시간이 충분하지 않습니다. 규칙을 생성하려면 최대 1시간이 필요합니다. |
NO_SIGNIFICANT_VALUE_DETECTED | 공격 트래픽과 연관된 상당한 값을 갖는 헤더가 없으므로, 규칙을 생성할 수 없습니다. |
NO_USABLE_RULE_FOUND | 사용 가능한 규칙을 만들 수 없습니다. |
오류 | 규칙을 만들 때 지정되지 않은 오류가 발생했습니다. |
모니터링, 피드백, 이벤트 오류 보고
Adaptive Protection 대시보드를 보거나 사용하기 위해서는 다음 권한이 필요합니다.
compute.securityPolicies.list
compute.backendServices.list
logging.logEntries.list
Google Cloud Armor 보안 정책에서 Adaptive Protection을 사용 설정한 후에는 네트워크 보안 > Google Cloud Armor 패널 아래에 다음 페이지가 표시될 수 있습니다. 여기에는 선택한 보안 정책 및 백엔드 서비스에 대한 시간별 트래픽 시간과 선택한 기간이 표시됩니다. Adaptive Protection에서 알림이 표시되는 모든 잠재적 공격이 그래프에 주석으로 표시되고 그래프 아래에 나열됩니다. 특정 공격 이벤트를 클릭하면 테이블 형식의 공격 서명 및 제안 규칙이 포함된 측면 창이 표시됩니다. 이 정보는 Cloud Logging 항목 사양에 설명된 Cloud Logging 로그 항목에 있는 정보와 동일합니다. 동일한 보안 정책에 제안 규칙을 추가하려면 적용 버튼을 클릭합니다.
보호되는 백엔드 서비스의 고유한 컨텍스트 및 환경 요소에 따라 모든 Adaptive Protection 발견 항목이 공격으로 간주되지는 않습니다. 알림에 기술된 잠재적인 공격이 일반적이거나 허용되는 동작으로 확인된 경우에는 Adaptive Protection 모델의 학습을 돕기 위해 이벤트 오류를 보고할 수 있습니다. 그래프에 나열된 각 공격 이벤트 옆에 있는 버튼을 사용하면 이벤트 오류를 보고하고 선택적으로 컨텍스트를 제공할 수 있는 대화형 팝업 창이 표시됩니다. 이벤트 오류를 보고하면 이후에 비슷한 오류가 보고될 가능성이 줄어듭니다. 이렇게 하면 시간이 지날수록 Adaptive Protection의 정확도가 향상됩니다.
모니터링, 알림, 로깅
Adaptive Protection 원격 분석은 Security Command Center 뿐만 아니라 Cloud Logging으로도 전송됩니다. Cloud Logging으로 전송된 Adaptive Protection 로그 메시지는 이 문서의 이전 섹션에 기술되어 있습니다. Adaptive Protection에서 잠재적인 공격이 감지될 때마다 로그 항목이 생성되고, 각 항목에는 모델에서 이상치를 포함하는 것으로 관측된 트래픽에 대한 신뢰도 점수가 포함됩니다. 알림을 미세 조정하기 위해서는 Adaptive Protection 로그 메시지의 신뢰도 점수가 사용자가 지정한 임곗값보다 높을 때만 알림을 트리거하도록 Cloud Logging에서 알림 정책을 구성할 수 있습니다. 잠재적인 공격 경고가 누락되지 않도록 낮은 임곗값과 0.5를 초과하는 신뢰도로 시작하는 것이 좋습니다. 알림 정책의 신뢰도 임곗값은 시간 경과에 따라 알림이 허용할 수 없는 영향 기준선 평점을 갖는 경우에 늘어날 수 있습니다.
Security Command Center 대시보드에는 또한 Adaptive Protection의 발견 항목이 포함됩니다. 이러한 발견 항목은 Google Cloud Armor 카드에서 애플리케이션 DDoS 공격 카테고리에서 찾을 수 있습니다. 각 발견 항목에는 서비스 세부정보, 공격 신뢰도, 공격과 연관된 서명, Adaptive Protection 대시보드에서 특정 알림에 대한 링크가 포함됩니다. 다음 스크린샷은 애플리케이션 DDoS 공격 시도 발견 항목의 예시입니다.
Cloud Logging 항목 사양
Cloud Logging으로 전송되는 Adaptive Protection 알림은 다음 요소가 포함된 로그 항목으로 구성됩니다.
- 알림 신뢰도: Adaptive Protection에서 관측된 이벤트가 공격임을 나타내는 신뢰도입니다.
- 자동 배포: 자동 방어가 트리거되었는지 여부를 나타내는 불리언입니다.
- 공격 서명
- 속성 이름: 특정 요청 헤더 이름 또는 지리적 출처와 같이 아래
Value
와 일치하는 속성의 이름입니다. - 값: 악성 트래픽의 속성이 일치하는 값입니다.
- 일치 유형:
Value
와 공격 트래픽의 속성 간의 관계입니다. 이 값은 공격 트래픽에 있는 속성과 동일하거나 속성의 하위 문자열입니다. - 공격 가능성: 이 요청의 관련 속성이
Value
와 일치하는 정도에 따라 해당 요청이 악의적인 요청일 가능성입니다. - 공격 비율:
Value
와 일치하는 잠재적 공격 트래픽의 비율입니다. - 기준 비율:
Value
와 일치하는 일반적인 기준 트래픽의 비율입니다.
- 속성 이름: 특정 요청 헤더 이름 또는 지리적 출처와 같이 아래
- 제안 규칙
- 일치 조건: 악의적인 트래픽을 식별하기 위해 규칙 일치 조건에 사용할 표현식입니다.
- 영향 기준선 평점: 제안된 규칙으로 캡처되는 공격을 받고 있는 특정 백엔드 서비스에 대한 정상 트래픽의 예상 백분율입니다.
- 정책 간 영향 기준선 평점: 제안된 규칙으로 캡처되는 동일한 보안 정책의 모든 백엔드 서비스에 대한 정상 트래픽의 예상 백분율입니다.
- 영향 공격 평점: 제안된 규칙으로 캡처되는 공격 트래픽의 예상 백분율입니다.
- 규칙 상태: 규칙 생성에 대한 추가적인 세부정보입니다.
머신러닝 개요 및 개인정보 보호
- 학습 데이터 및 감지 데이터
- Adaptive Protection은 잠재적인 공격을 감지하고 해당 서명을 식별하기 위해 여러 모델을 빌드합니다. 공격이 진행 중인지 확인하기 위해 이러한 모델에서 사용되는 신호는 프로젝트의 수신 요청 트래픽의 관측된 메타데이터에서 파생됩니다. 이러한 메타데이터에는 소스 IP 주소, 소스 지역, 일부 HTTP 요청 헤더의 값이 포함됩니다.
- 모델에서 사용되는 실제 기능은 위에 언급한 서명의 파생된 통계적 속성입니다. 즉, 모델의 학습 데이터에는 IP 주소 또는 요청 헤더 값과 같은 메타데이터의 실제 값이 포함되지 않습니다.
- Adaptive Protection을 처음 사용 설정하면 공격이 진행되고 있는지 여부를 확인하기 위해 인공 데이터만 사용하여 학습된 공통적인 감지 모델 집합이 모든 고객들 간에 공유됩니다. 허위 공격 이벤트를 보고하고 모델이 사용자 프로젝트의 특정 트래픽 신호를 사용하여 업데이트된 경우, 이러한 모델은 사용자 프로젝트에만 적용되고 다른 고객에 사용되지 않습니다.
- 서명 생성 데이터
- Adaptive Protection에서 잠재적인 공격이 발생 중인 것으로 확인된 후에는 해당 공격을 빠르게 완화할 수 있도록 공격 서명이 생성됩니다. 이러한 목표를 달성하기 위해 보안 정책에서 Adaptive Protection을 사용 설정한 후 백엔드 서비스에 대한 트래픽 측정항목 및 요청 메타데이터(보안 정책과 연관됨)가 기준선 트래픽 특성을 학습하기 위해 지속적으로 기록됩니다.
- Adaptive Protection은 기준 트래픽을 학습해야 하므로 Adaptive Protection은 잠재적인 공격을 완화하기 위한 규칙을 생성하기 전에 최대 1시간이 필요할 수 있습니다.
다음 단계
- Adaptive Protection의 일반적인 사용 사례 알아보기
- Cloud Armor Enterprise 등급의 기능 알아보기
- Cloud Armor Enterprise를 사용 설정하는 방법 알아보기