무차별 대입 공격이란?
무차별 대입(Brute Force) 공격은 인증 정보(사용자 이름과 비밀번호)를 알아내기 위해 공격자가 반복적으로, 체계적으로 매번 다른 사용자 이름과 비밀번호를 입력하는 방식의 공격이다. 단순하지만 리소스를 많이 소비하는 시행착오 기반의 접근 방식으로, 보통 자동화된 툴이나 스크립트 또는 봇을 사용해 액세스 권한을 회득할 때 까지 가능한 모든 조합을 대입한다.
이 방법은 오래된 공격 방법이지만 여전히 효과적이며 해커들 사이에서 인기가 있다. 무차별 대입 공격은 원격 네트워크의 디바이스를 대상으로 비밀번호 , 비밀 문구, 사용자 이름, 개별 식별 번호(PIN)과 같은 개인 정보를 회득하기 위한 공격에 자주 사용된다.
그러나 저장된 인증 정보의 비밀번호가 길고 암호화 수준이 높을수록 이 공격이 성공하기 위해 필요한 시간과 컴퓨팅 성능도 높아진다. 따라서 이런 방법으로 공격이 사실상 불가능한 수준까지 무차별 대입 공격의 효과를 낮출 수 있다.
무차별 대입 공격의 원리
무차별 대입 공격은 웹사이트 또는 애플리케이션의 로그인 페이지를 노리는 스크립트 또는 봇을 통해 실행되는 경우가 많다. 스크립트와 봇은 가능한 모든 키 또는 비밀번호의 조합을 돌아가면서 시도한다. 무차별 대입 공격은 보통 웹사이트 또는 애플리케이션, 암호화 또는 API 키 및 SSH 로그인의 비밀번호 크랙에 활용된다.
SaaS 계정에 대한 액세스 권한을 획득하거나 API 또는 기타 로그인 및 인증 정보가 필요한 서비스에 침입할 수 있다.
무차별 대입 공격의 성공을 판단하는 기준은 비밀번호를 크랙하는 데 소요되는 시간이다. 비밀번호의 길이가 길수록 이를 크랙하는 데 필요한 시간이 기하급수적으로 늘어난다. 클라우드플레어(Cloudflare)에 따르면 초당 1,500만 회의 키 입력 시도를 사용할 경우 7자로 된 비밀번호는 9분 만에 크랙된다. 그러나 같은 방식으로 13자 비밀번호를 크랙하는 데는 35만 년이 걸린다.
무차별 대입 공격의 유형
일반적인 무차별 대입 공격: 가능한 모든 조합을 시도한다.
- 역 무차별 대입 공격: 많은 계정을 대상으로 소수의 흔한 비밀번호를 반복 시도한다.
- 인증 정보 스터핑: 사이트 또는 서비스에서 훔친 사용자 이름과 비밀번호를 사용해 다른 서비스와 애플리케이션의 계정을 하이재킹한다.
- 사전 공격: 사전의 단어 또는 다른 데이터 침해에서 얻은 일반적인 비밀번호를 돌아가면서 시도한다.
- 레인보우 테이블 공격: 공격자는 평문 비밀번호와 각 비밀번호의 해시값이 저장된 사전 계산된 사전을 사용해 해싱 함수를 반대로 되돌려 비밀번호를 알아낸다.
무차별 대입 공격을 방어하는 방법
어느 한 가지 방법으로 무차별 대입 공격을 간단히 막을 수는 없지만, 기업은 공격에 필요한 시간과 컴퓨팅 리소스를 늘림으로써 공격 대상으로 매력을 낮출 수 있다. 구체적인 방법은 다음과 같다.
- 길고 복잡하며 암호화된 비밀번호를 사용한다(256비트 암호화가 이상적).
- 비밀번호 해시에 솔트(salt)를 넣는다. 엠은 "문자열을 별도의 데이터베이스에 저장하고 비밀번호를 해시하기 전에 불러와 추가하는 방법으로 같은 비밀번호를 사용하는 직원이 서로 다른 해시를 갖도록 해야 한다"라고 말했다.
- 비밀번호 복잡성과 여러 계정에서의 비밀번호 재사용에 관한 정책을 직원에게 명확하게 전달한다.
- 특정 시간 내의 로그인 시도 횟수를 제한하거나 특정 횟수의 부정확한 시도 이후 비밀번호 재설정을 의무화한다
- 비밀번호 인증에 속도 제한을 적용한다.
- 캡차(captcha)를 활성화한다.
- 가능한 경우 다중 요소 인증을 활성화한다.
- 가급적 비밀번호 관리자를 사용한다.
*참고
'IT > IT 기초 지식' 카테고리의 다른 글
RFP(Request For Proposal)란? (0) | 2021.10.06 |
---|---|
[IT용어] 개발 서버(Dev), 스테이징 서버(Stg), 운영 서버(Prod) (1) | 2021.09.14 |
[IT용어] Poc (Proof of concept , 개념증명) 란? (0) | 2021.09.03 |
[IT/통계 용어] 오탐,정탐,미탐 이란?(분류성능평가지표) (0) | 2021.09.03 |
Web Server와 WAS의 차이 (0) | 2021.09.01 |