

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

# 봇 제어 기법
<a name="techniques"></a>

봇 완화의 주요 목표는 자동화된 봇 활동이 조직의 웹 사이트, 서비스 및 애플리케이션에 미치는 부정적인 영향을 제한하는 것입니다. 사용되는 기술과 기법은 방어하려는 트래픽 또는 활동의 유형에 따라 다릅니다. 이를 위해서는 애플리케이션과 트래픽을 이해하는 것이 중요합니다. 시작할 위치에 대한 자세한 내용은이 가이드의 [봇 제어 전략 모니터링 지침](monitoring.md) 섹션을 참조하세요.

일반적으로 봇 완화 솔루션이 제공하는 제어는 정적, 클라이언트 식별 및 고급 분석과 같은 상위 수준 범주로 그룹화할 수 있습니다. 다음 그림은 사용 가능한 다양한 기법과 봇 활동 복잡성에 따라 사용할 수 있는 방법을 보여줍니다. 이는 허용 목록 및 내장 검사와 같은 정적 제어를 사용하여 기본 또는 가장 광범위한 완화를 얻을 수 있는 방법을 강조합니다. 봇의 가장 작은 부분은 항상 가장 고급이며 이러한 봇을 완화하려면 고급 기술과 제어 조합이 필요합니다.



![\[봇 복잡성이 증가함에 따라 완화 기법의 복잡성과 복잡성도 커져야 합니다.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/bot-control/images/bot-mitigation-techniques.png)


다음으로이 가이드에서는 각 범주와 해당 기술을 살펴봅니다. 또한에서 이러한 제어를 구현하는 [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) 데 사용할 수 있는 옵션에 대해서도 설명합니다.
+ [봇 관리를 위한 정적 제어](static-controls.md)
+ [봇 관리를 위한 클라이언트 식별 제어](client-identification-controls.md)
+ [봇 관리를 위한 고급 분석 제어](advanced-analysis-controls.md)

# 봇 관리를 위한 정적 제어
<a name="static-controls"></a>

작업을 수행하기 위해* 정적 제어*는 IP 주소 또는 헤더와 같은 HTTP(S) 요청의 정적 정보를 평가합니다. 이러한 제어는 세분화가 낮은 잘못된 봇 활동이나 확인 및 관리가 필요한 유용한 예상 봇 트래픽에 유용할 수 있습니다. 정적 제어 기법에는 허용 목록, IP 기반 제어 및 내장 검사가 포함됩니다.

## 목록 허용
<a name="allow-listing"></a>

허용 목록은 기존 봇 완화 제어를 통해 식별된 친숙한 트래픽을 허용하는 제어입니다. 이를 수행하는 방법에는 여러 가지가 있습니다. 가장 간단한 방법은 [IP 주소 집합 또는 유사한 일치 조건과 일치하는](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-forwarded-ip-address.html) 규칙을 사용하는 것입니다. 요청이 `Allow` 작업으로 설정된 규칙과 일치하면 후속 규칙에 의해 평가되지 않습니다. 경우에 따라 특정 규칙만 실행되지 않도록 해야 합니다. 즉, 모든 규칙이 아닌 한 규칙에 대한 목록을 허용해야 합니다. 이는 규칙에 대한 거짓 긍정을 처리하는 일반적인 시나리오입니다. 허용 목록은 광범위한 규칙으로 간주됩니다. 거짓 부정의 가능성을 줄이려면 경로 또는 헤더 일치와 같이 더 세분화된 다른 옵션과 페어링하는 것이 좋습니다.

## IP 기반 제어
<a name="ip-based-controls"></a>

### 단일 IP 주소 블록
<a name="ip-address-blocks"></a>

봇의 영향을 완화하는 데 일반적으로 사용되는 도구는 단일 요청자의 요청을 제한하는 것입니다. 가장 간단한 예는 요청이 악성이거나 볼륨이 많은 경우 트래픽의 소스 IP 주소를 차단하는 것입니다. IP [세트 일치 규칙을](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-ipset-match.html) 사용하여 AWS WAF IP 기반 블록을 구현합니다. 이러한 규칙은 IP 주소와 일치하며 `Block`, `Challenge`또는 작업을 적용합니다`CAPTCHA`. 콘텐츠 전송 네트워크(CDN), 웹 애플리케이션 방화벽 또는 애플리케이션 및 서비스 로그를 확인하여 IP 주소에서 너무 많은 요청이 들어오는 시기를 확인할 수 있습니다. 그러나 대부분의 경우이 제어는 자동화 없이는 실용적이지 않습니다.

에서 IP 주소 블록 목록 자동화 AWS WAF 는 일반적으로 속도 기반 규칙을 사용하여 수행됩니다. 자세한 내용은 이 안내서의 [속도 기반 규칙](#rate-based-rules) 섹션을 참조하세요. 솔루션을 [위한 보안 자동화 AWS WAF](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/welcome.html)를 구현할 수도 있습니다. 이 솔루션은 차단할 IP 주소 목록을 자동으로 업데이트하고 AWS WAF 규칙은 해당 IP 주소와 일치하는 요청을 거부합니다.

봇 공격을 인식하는 한 가지 방법은 동일한 IP 주소의 여러 요청이 소수의 웹 페이지에 초점을 맞추는 경우입니다. 이는 봇이 가격을 스크레이핑하거나 높은 비율로 실패하는 로그인을 반복적으로 시도하고 있음을 나타냅니다. 이 패턴을 즉시 인식하는 자동화를 생성할 수 있습니다. 자동화는 IP 주소를 차단하여 공격을 신속하게 식별하고 완화하여 공격의 효율성을 줄입니다. 공격자가 공격을 시작할 IP 주소 모음이 많거나 공격 동작을 인식하고 일반 트래픽과 분리하기 어려운 경우 특정 IP 주소를 차단하는 것은 덜 효과적입니다. 

### IP 주소 평판
<a name="ip-address-reputation"></a>

*IP 평판 서비스는* IP 주소의 신뢰성을 평가하는 데 도움이 되는 인텔리전스를 제공합니다. 이 인텔리전스는 일반적으로 해당 IP 주소의 과거 활동에서 IP 관련 정보를 집계하여 파생됩니다. 이전 활동은 IP 주소가 악의적인 요청을 생성할 가능성을 나타내는 데 도움이 됩니다. 데이터는 IP 주소 동작을 추적하는 관리형 목록에 추가됩니다.

익명 IP 주소는 IP 주소 평판의 특수한 사례입니다. 소스 IP 주소는 클라우드 기반 가상 머신과 같이 쉽게 획득할 수 있는 IP 주소의 알려진 소스 또는 알려진 VPN 공급자 또는 Tor 노드와 같은 프록시에서 비롯됩니다. AWS WAF [Amazon IP 평판 목록](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html#aws-managed-rule-groups-ip-rep-amazon) 및 [익명 IP 목록 관리형](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html#aws-managed-rule-groups-ip-rep-anonymous) 규칙 그룹은 Amazon 내부 위협 인텔리전스를 사용하여 이러한 IP 주소를 식별하는 데 도움이 됩니다.

이러한 관리형 목록에서 제공하는 인텔리전스는 이러한 소스에서 식별된 활동에 대해 조치를 취하는 데 도움이 될 수 있습니다. 이 인텔리전스를 기반으로 트래픽을 직접 차단하는 규칙 또는 요청 수를 제한하는 규칙(예: 속도 기반 규칙)을 생성할 수 있습니다. 또한이 인텔리전스를 사용하여 `COUNT` 모드의 규칙을 사용하여 트래픽 소스를 평가할 수 있습니다. 그러면 일치 기준이 검사되고 사용자 지정 규칙을 생성하는 데 사용할 수 있는 레이블이 적용됩니다.

### 속도 기반 규칙
<a name="rate-based-rules"></a>

속도 기반 규칙은 특정 시나리오에 유용한 도구일 수 있습니다. 예를 들어, 속도 기반 규칙은 민감한 URIs(Uniform Resource Identifier)의 사용자와 비교하여 봇 트래픽이 대량에 도달하거나 트래픽 볼륨이 정상 작업에 영향을 미치기 시작할 때 유효합니다. 속도 제한은 요청을 관리 가능한 수준으로 유지하고 액세스를 제한 및 제어할 수 있습니다. AWS WAF 는 속도 기반 규칙 문을 사용하여 [웹 액세스 제어 목록(웹 ACL)](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl.html)에서 속도 제한 규칙을 구현할 수 있습니다. [https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-rate-based.html](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-rate-based.html) 속도 기반 규칙을 사용할 때 권장되는 접근 방식은 전체 사이트, URI별 규칙 및 IP 평판 속도 기반 규칙을 포함하는 포괄적 규칙을 포함하는 것입니다. IP 평판 속도 기반 규칙은 IP 주소 평판의 인텔리전스와 속도 제한 기능을 결합합니다.

전체 사이트의 경우 포괄적인 IP 평판 비율 기반 규칙은 정교한 봇이 적은 수의 IPs에서 사이트를 플러딩하지 못하도록 하는 상한을 생성합니다. 속도 제한은 로그인 또는 계정 생성 페이지와 같이 비용이나 영향이 높은 URIs를 보호하는 데 특히 권장됩니다.

속도 제한 규칙은 비용 효율적인 첫 번째 방어 계층을 제공할 수 있습니다. 고급 규칙을 사용하여 민감한 URIs. URI별 속도 기반 규칙은 데이터베이스 액세스와 같이 백엔드에 APIs에 미치는 영향을 제한할 수 있습니다. 이 가이드의 뒷부분에서 설명하는 특정 URIs를 보호하기 위한 고급 완화 조치에는 종종 추가 비용이 발생하며 이러한 URI별 속도 기반 규칙은 비용을 제어하는 데 도움이 될 수 있습니다. 일반적으로 권장되는 속도 기반 규칙에 대한 자세한 내용은 AWS 보안 블로그의 [가장 중요한 세 가지 AWS WAF 속도 기반 규칙을](https://aws.amazon.com/blogs/security/three-most-important-aws-waf-rate-based-rules/) 참조하세요. 경우에 따라 속도 기반 규칙으로 평가되는 요청 유형을 제한하는 것이 유용합니다. [범위 축소 문](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-scope-down-statements.html)을 사용하여 예를 들어 소스 IP 주소의 지리적 영역별로 비율 기반 규칙을 제한할 수 있습니다.

AWS WAF 는 [집계 키를](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-rate-based-aggregation-instances.html) 사용하여 속도 기반 규칙에 대한 고급 기능을 제공합니다. 이 기능을 사용하면 소스 IP 주소 외에 다른 다양한 집계 키와 키 조합을 사용하도록 속도 기반 규칙을 구성할 수 있습니다. 예를 들어 단일 조합으로 전달된 IP 주소, HTTP 메서드 및 쿼리 인수를 기반으로 요청을 집계할 수 있습니다. 이를 통해 정교한 볼륨 측정 트래픽 완화를 위해 보다 세분화된 규칙을 구성할 수 있습니다.

## 내장 검사
<a name="intrinsic-checks"></a>

*내장 검사는* 시스템 또는 프로세스 내에서 다양한 유형의 내부 또는 내재적 검증 또는 확인입니다. 봇 제어 AWS WAF 의 경우는 요청에 전송된 정보가 시스템 신호와 일치하는지 확인하여 내장 검사를 수행합니다. 예를 들어 역방향 DNS 조회 및 기타 시스템 확인을 수행합니다. SEO 관련 요청과 같은 일부 자동 요청이 필요합니다. 허용 목록은 양호하고 예상되는 봇을 허용하는 방법입니다. 그러나 악의적인 봇이 좋은 봇을 에뮬레이션하는 경우가 있으며, 이를 분리하는 것은 어려울 수 있습니다.는 관리형 [AWS WAF Bot Control 규칙 그룹을](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html) 통해 이를 수행하는 방법을 AWS WAF 제공합니다. 이 그룹의 규칙은 자체 식별 봇이 누구인지 확인합니다.는 요청의 세부 정보를 해당 봇의 알려진 패턴과 비교하여 AWS WAF 확인하고 역방향 DNS 조회 및 기타 목표 확인도 수행합니다.

# 봇 관리를 위한 클라이언트 식별 제어
<a name="client-identification-controls"></a>

정적 속성을 통해 공격 관련 트래픽을 쉽게 인식할 수 없는 경우, 탐지를 통해 요청을 하는 클라이언트를 정확하게 식별할 수 있어야 합니다. 예를 들어 속도 제한 속성이 쿠키 또는 토큰과 같은 애플리케이션별로 다르면 속도 기반 규칙이 더 효과적이고 회피하기 어려운 경우가 많습니다. 세션에 연결된 쿠키를 사용하면 봇넷 운영자가 여러 봇에서 유사한 요청 흐름을 복제할 수 없습니다.

토큰 획득은 일반적으로 클라이언트 식별에 사용됩니다. 토큰 획득을 위해 JavaScript 코드는 정보를 수집하여 서버 측에서 평가되는 토큰을 생성합니다. 평가는 클라이언트에서 JavaScript가 실행 중인지 확인하는 것부터 지문을 위한 디바이스 정보를 수집하는 것까지 다양할 수 있습니다. 토큰을 획득하려면 JavaScript SDK를 사이트 또는 애플리케이션에 통합하거나 서비스 공급자가 동적으로 삽입을 수행해야 합니다.

JavaScript 지원을 요구하면 브라우저를 에뮬레이션하려는 봇에 대한 추가 장애물이 추가됩니다. 모바일 애플리케이션과 같이 SDK가 관련된 경우 토큰 획득은 SDK 구현을 확인하고 봇이 애플리케이션의 요청을 모방하지 못하도록 합니다.

토큰을 획득하려면 연결의 클라이언트 측에서 구현된 SDKs를 사용해야 합니다. 다음 AWS WAF 기능은 브라우저용 JavaScript 기반 SDK와 모바일 디바이스용 애플리케이션 기반 SDK를 제공합니다. [Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html), [Fraud Control 계정 탈취 방지(ATP)](https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html) 및 [Fraud Control 계정 생성 사기 방지(ACFP)](https://docs.aws.amazon.com/waf/latest/developerguide/waf-acfp.html).

클라이언트 식별 기법에는 CAPTCHA, 브라우저 프로파일링, 디바이스 지문 및 TLS 지문이 포함됩니다.

## CAPTCHA
<a name="captcha"></a>

컴퓨터와 인간을 구분하는 완전 자동화된 퍼블릭 Turing 테스트([CAPTCHA](https://docs.aws.amazon.com/waf/latest/developerguide/waf-captcha.html))는 로봇 방문자와 인간 방문자를 구분하고 웹 스크레이핑, 자격 증명 스터핑 및 스팸을 방지하는 데 사용됩니다. 구현은 다양하지만 사람이 해결할 수 있는 퍼즐이 포함되는 경우가 많습니다. CAPTCHAs 일반적인 봇에 대한 추가 방어 계층을 제공하며 봇 탐지의 오탐을 줄일 수 있습니다.

AWS WAF 를 사용하면 규칙이 규칙의 검사 기준과 일치하는 웹 요청에 대해 CAPTCHA 작업을 실행할 수 있습니다. 이 작업은 서비스에서 수집한 클라이언트 식별 정보를 평가한 결과입니다. AWS WAF 규칙은 로그인, 검색 및 양식 제출과 같이 봇이 자주 대상으로 하는 특정 리소스에 대해 CAPTCHA 문제를 해결해야 할 수 있습니다.는 중간 수단을 통해 또는 SDK를 사용하여 클라이언트 측에서 처리함으로써 CAPTCHA를 직접 제공할 AWS WAF 수 있습니다. 자세한 내용은 [CAPTCHA 및 Challenge in AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-captcha-and-challenge.html)을 참조하세요.

## 브라우저 프로파일링
<a name="browser-profiling"></a>

*브라우저 프로파일링*은 대화형 브라우저를 사용하여 실제 인간을 분산된 봇 활동과 구별하기 위해 토큰 획득의 일부로 브라우저 특성을 수집하고 평가하는 방법입니다. 브라우저 작동 방식에 고유한 헤더, 헤더 순서 및 기타 요청 특성을 통해 브라우저 프로파일링을 수동적으로 수행할 수 있습니다.

토큰 획득을 사용하여 코드에서 브라우저 프로파일링을 수행할 수도 있습니다. 브라우저 프로파일링에 JavaScript를 사용하면 클라이언트가 JavaScript를 지원하는지 빠르게 확인할 수 있습니다. 이를 통해 이를 지원하지 않는 간단한 봇을 감지할 수 있습니다. 브라우저 프로파일링은 HTTP 헤더 및 JavaScript 지원 이상의 검사를 수행합니다. 브라우저 프로파일링은 봇이 웹 브라우저를 완전히 에뮬레이션하기 어렵게 만듭니다. 두 브라우저 프로파일링 옵션 모두 동일한 목표가 있습니다. 즉, 브라우저 프로파일에서 실제 브라우저의 동작 방식과 불일치를 나타내는 패턴을 찾는 것입니다.

AWS WAF 대상 봇에 대한 봇 제어는 토큰 평가의 일부로 브라우저가 자동화 또는 일관되지 않은 신호의 증거를 표시하는지 여부를 나타냅니다.는 규칙에 지정된 작업을 수행하기 위해 요청을 AWS WAF 지연시킵니다. 자세한 내용은 AWS 보안 블로그의 [고급 봇 트래픽 감지 및 차단](https://aws.amazon.com/blogs/security/detect-and-block-advanced-bot-traffic/)을 참조하세요.

## 디바이스 지문
<a name="device-fingerprinting"></a>

디바이스 지문은 브라우저 프로파일링과 유사하지만 브라우저에만 국한되지 않습니다. 디바이스(모바일 디바이스 또는 웹 브라우저일 수 있음)에서 실행되는 코드는 디바이스의 세부 정보를 수집하여 백엔드 서버에 보고합니다. 세부 정보에는 메모리, CPU 유형, 운영 체제(OS) 커널 유형, OS 버전 및 가상화와 같은 시스템 속성이 포함될 수 있습니다.

디바이스 지문을 사용하여 봇이 환경을 에뮬레이션하는지 또는 자동화가 사용 중이라는 직접적인 징후가 있는지 확인할 수 있습니다. 이 외에도 디바이스 지문을 사용하여 동일한 디바이스에서 반복되는 요청을 인식할 수도 있습니다.

디바이스가 요청의 일부 특성을 변경하려고 하더라도 동일한 디바이스에서 반복된 요청을 인식하면 백엔드 시스템이 속도 제한 규칙을 적용할 수 있습니다. 디바이스 지문을 기반으로 하는 속도 제한 규칙은 일반적으로 IP 주소를 기반으로 하는 속도 제한 규칙보다 더 효과적입니다. 이를 통해 VPNs 또는 프록시 간에 순환하지만 소수의 디바이스에서 소싱되는 봇 트래픽을 완화할 수 있습니다.

애플리케이션 통합 SDKs와 함께 사용하면 대상 AWS WAF 봇에 대한 봇 제어가 클라이언트 세션 요청 동작을 집계할 수 있습니다. 이렇게 하면 둘 다 동일한 IP 주소에서 시작되더라도 합법적인 클라이언트 세션을 감지하고 악성 클라이언트 세션과 분리할 수 있습니다. 대상 AWS WAF 봇의 봇 제어에 대한 자세한 내용은 AWS 보안 블로그의 [고급 봇 트래픽 감지 및 차단](https://aws.amazon.com/blogs/security/detect-and-block-advanced-bot-traffic/)을 참조하세요.

## TLS 지문
<a name="tls-fingerprinting"></a>

*서명 기반 규칙*이라고도 하는 TLS 지문은 봇이 많은 IP 주소에서 시작되지만 유사한 특성을 보일 때 일반적으로 사용됩니다. HTTPS를 사용하는 경우 클라이언트와 서버 측은 메시지를 교환하여 서로를 확인하고 확인합니다. 암호화 알고리즘과 세션 키를 설정합니다. 이를 *TLS 핸드셰이크*라고 합니다. TLS 핸드셰이크를 구현하는 방법은 많은 IP 주소에 분산된 대규모 공격을 인식하는 데 유용한 서명입니다.

TLS 지문을 사용하면 웹 서버가 높은 정확도로 웹 클라이언트의 ID를 확인할 수 있습니다. 애플리케이션 데이터 교환이 발생하기 전에 첫 번째 패킷 연결에 파라미터만 필요합니다. 이 경우 *웹 클라이언트*는 요청을 시작하는 애플리케이션을 나타내며, 브라우저, CLI 도구, 스크립트(봇), 기본 애플리케이션 또는 기타 클라이언트일 수 있습니다.

SSL 및 TLS 지문 접근 방식 중 하나는 [JA3 지문](https://github.com/salesforce/ja3)입니다. JA3는 SSL 또는 TLS 핸드셰이크의 클라이언트 Hello 메시지에 있는 필드를 기반으로 클라이언트 연결을 지문으로 만듭니다. 이를 통해 다양한 소스 IP 주소, 포트 및 X.509 인증서에서 특정 SSL 및 TLS 클라이언트를 프로파일링할 수 있습니다.

Amazon CloudFront는 요청에 [JA3 헤더 추가를](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/adding-cloudfront-headers.html) 지원합니다. `CloudFront-Viewer-JA3-Fingerprint` 헤더에는 수신되는 최종 사용자 요청의 TLS Client Hello 패킷의 32자 해시 지문이 포함되어 있습니다. 지문은 클라이언트가 통신하는 방법에 대한 정보를 캡슐화합니다. 이 정보는 동일한 패턴을 공유하는 클라이언트를 프로파일링하는 데 사용할 수 있습니다. 오리진 요청 정책에 `CloudFront-Viewer-JA3-Fingerprint` 헤더를 추가하고 정책을 CloudFront 배포에 연결할 수 있습니다. 그런 다음 오리진 애플리케이션 또는 Lambda@Edge 및 CloudFront 함수에서 헤더 값을 검사할 수 있습니다. 헤더 값을 알려진 멀웨어 지문 목록과 비교하여 악성 클라이언트를 차단할 수 있습니다. 또한 헤더 값을 예상 지문 목록과 비교하여 알려진 클라이언트의 요청만 허용할 수 있습니다.

# 봇 관리를 위한 고급 분석 제어
<a name="advanced-analysis-controls"></a>

일부 봇은 고급 기만 도구를 사용하여 탐지를 적극적으로 회피합니다. 이러한 봇은 머리카락과 같은 특정 활동을 수행하기 위해 사람의 행동을 모방합니다. 이러한 봇은 목적이 있으며 일반적으로 큰 금전적 보상과 연결됩니다.

이러한 고급 영구 봇은 다양한 기술을 사용하여 탐지를 회피하거나 정기적인 트래픽과 혼합합니다. 따라서 악성 트래픽을 정확하게 식별하고 완화하려면 다양한 탐지 기술을 혼합해야 합니다.

## 대상 사용 사례
<a name="targeted-use-cases"></a>

사용 사례 데이터는 봇 감지 기회를 제공할 수 있습니다. *사기 탐지*는 특별한 완화 조치가 필요한 특별한 사용 사례입니다. 예를 들어 계정 탈취를 방지하기 위해 손상된 계정 사용자 이름 및 암호 목록을 로그인 또는 계정 생성 요청과 비교할 수 있습니다. 이렇게 하면 웹 사이트 소유자가 손상된 자격 증명을 사용하는 로그인 시도를 감지할 수 있습니다. 손상된 자격 증명을 사용하면 봇이 계정을 맡으려고 하거나 자격 증명이 손상되었음을 알지 못하는 사용자일 수 있습니다. 이 사용 사례에서 웹 사이트 소유자는 추가 단계를 수행하여 사용자를 확인한 다음 암호를 변경하도록 도울 수 있습니다.는이 사용 사례에 대한 [사기 제어 계정 탈취 방지(ATP)](https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html) 관리형 규칙을 AWS WAF 제공합니다.

## 애플리케이션 수준 또는 집계된 봇 감지
<a name="aggregated-bot-detection"></a>

일부 사용 사례에서는 콘텐츠 전송 네트워크(CDN)의 요청 AWS WAF과 애플리케이션 또는 서비스의 백엔드에 대한 데이터를 결합해야 합니다. 봇에 대해 높은 신뢰도의 결정을 내릴 수 있도록 타사 인텔리전스를 통합해야 하는 경우가 있습니다.

[Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) 및의 기능은 백엔드 인프라에 신호를 AWS WAF 보내거나 이후에 헤더와 [레이블](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html)을 통해 규칙을 집계할 수 있습니다. CloudFront는 앞서 언급한 대로 JA3 지문 헤더를 노출합니다. 다음은 헤더를 통해 이러한 데이터를 제공하는 CloudFront의 예입니다.는 규칙과 일치할 때 레이블을 전송할 AWS WAF 수 있습니다. 후속 규칙은 이러한 레이블을 사용하여 봇에 대한 더 나은 결정을 내릴 수 있습니다. 여러 규칙을 결합하면 매우 세분화된 제어를 구현할 수 있습니다. 일반적인 사용 사례는 레이블을 통해 관리형 규칙의 일부와 일치시킨 다음 다른 요청 데이터와 결합하는 것입니다. 자세한 내용은 AWS WAF 설명서의 [레이블 일치 예제](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-label-match-examples.html)를 참조하세요.

## 기계 학습 분석
<a name="machine-learning-analysis"></a>

머신 린닝(ML)은 봇을 처리하는 강력한 기술입니다. ML은 변화하는 세부 정보에 적응할 수 있으며, 다른 도구와 결합하면 오탐을 최소화하면서 봇을 완화할 수 있는 가장 강력하고 완전한 방법을 제공합니다. 가장 일반적인 두 가지 ML 기법은 *동작 분석*과 *이상 탐지*입니다. 동작 분석을 통해 시스템(클라이언트, 서버 또는 둘 다)은 사용자가 애플리케이션 또는 웹 사이트와 상호 작용하는 방식을 모니터링합니다. 마우스 이동 패턴 또는 클릭 및 터치 상호 작용 빈도를 모니터링합니다. 그런 다음 ML 모델로 동작을 분석하여 봇을 인식합니다. 이상 탐지는 비슷합니다. 애플리케이션 또는 웹 사이트에 정의된 기준과 크게 다른 동작 또는 패턴을 감지하는 데 중점을 둡니다.

AWS WAF 봇의 대상 제어는 예측 ML 기술을 제공합니다. 이 기술은 탐지를 회피하도록 설계된 봇이 수행하는 분산된 프록시 기반 공격으로부터 보호하는 데 도움이 됩니다. 관리형 [AWS WAF Bot Control 규칙 그룹은](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html) 웹 사이트 트래픽 통계에 대한 자동화된 ML 분석을 사용하여 분산되고 조정된 봇 활동을 나타내는 변칙적인 동작을 감지합니다.