인증 브루트포스 공격은 모든 가능한 인증 조합을 시도하여 맞는 조합을 찾아낼때까지 반복하는 공격입니다
인증수행 제한이 없다면 공격자는 브루트포스 공격을 하기 쉬운 환경이라고 할 수 있습니다
가장 기본적인 인증 브루트포스 방법은 모든 조합을 시도하는 방법입니다
하지만 공격자의 입장에서 해당 인증 브루트포스 공격은 시간이 매우 많이 걸린다는 단점이 있습니다
따라서 인증 브루트포스 공격은 일반적으로 사전에 있는 단어나 약간 변형된 단어와 같이 사람들이 많이 쓰는 단어를 사용해서
속도를 높이는 방법을 선택하고 있습니다
또한 반복적인 작업을 빠른 시간내에 행해야하기 봇과 같은 자동화 도구를 주로 사용합니다
인증 브루트포스 공격은 아이디/비밀번호의 유출 뿐만 아니라 불필요한 트래픽을 유발해서 서비스에 장애를 발생시킵니다
따라서 데이터 유출과 운영 비용 손실 피해를 모두 줄 수 있는 공격입니다
따라서 이러한 인증 브루트포스 공격을 방어하기 위해, 대응 전략으로 인증 수행 횟수를 제한할 필요가 있습니다
일반적으로 반복해서 3~5회 인증 수행을 틀릴 경우, 추가조치를 취하도록 하여 인증 브루트포스 공격에
Delay를 주거나 차단할 수 있습니다. 추가 조치 전략으로는 다음과 같이 구상할 수 있습니다
3~5회 인증 수행에 실패할 경우, 해당 계정을 잠근 뒤 2차 인증 또는 담당자에게
직접 연락을 통해 잠긴 계정을 해제하는 방법입니다
하지만 B2C 모델에서 계정을 잠금하는 것은 제약사항이 많습니다
계정잠금 해제 요청의 수가 많고, 정당한 요청인지 확인하는 과정 또한 복잡해집니다
따라서 계정잠금의 방법이 아닌 다른 방법을 통해 인증 수행 횟수 제한에 따른 방어 전략을 구상해야합니다
그렇기 때문에, CAPTCHA를 통해 인증 실패 횟수 임계치에 도달했을 때,
추가 확인 조건으로 CAPTCHA를 통과하도록 인증 조건을 추가하는 방식을 적용할 수 있습니다
CAPTCHA를 도입하면 인증 브루트포스에 대한 공격자의 공격 비용을 늘릴 수 있습니다
하지만 CAPTCHA만으로는 완벽한 보안이 되기 어렵기 떄문에,
2차인증 방식을 사용하거나 시나리오별로 대응하는 다계층 보안 방식을 적용해
인증 수행 횟수 제한에 따른 추가 조치 전략으로 선택할 수 있습니다