[브루트 포스]

브루트 포스 일명 무차별 대입 공격은 공격자가 공격 대상에게 무수하게 많은 요청을 보내 하나 맞아 떨어지는 것을 찾아내는 공격 기법이다. 가능한 모든 경우의 수를 검색해 보는 것이기에 이론적으로는 정확도가 굉장히 높다.

여기서 눈 여겨봐야 될 것은 공격자의 컴퓨터 자원이다. 브루트 포스의 경우 병렬 작업이 가능하여 여러대의 컴퓨터 혹은 병렬 프로그래밍 기법을 사용하여 공격에 걸리는 시간을 단축 시킬 수 있다. 

 

브루트 포스 공격은 크게 두가지로 구분 할 수 있다.

1. 자동 부루트 포스 : 무식하게 모든 경우의 수를 전부 대입하는 방법이다.

 

문자열은 0~9 a~z A~Z 그리고 특수 문자들까지 경우의 수를 따져보면 자릿수가 늘어날때마다 기하급수적으로 증가한다.

ex)48^n (n은 자릿수)

 

그렇기에 많은 회원가입 서비스들이 몇자리 이상, 대소문자, 특수문자를 섞어 쓰는 것을 권장한다.

 

이는 단순히 문자열의 복잡성을 증가시켜 브루트 포스의 공격을 완화시키는 방법이지만 효과는 확실하다.

http://howsecureismypassword.net/를 통해 재미삼아 자신의 비밀번호가 얼마나 안전한지 확인 해볼 수 있다.

 

2. 딕셔너리 어택 : 사전에 있는 단어를 순차적으로 대입하는 방법이다.

 

사전에 적힌 문자열을 참조하여 사람들이 많이 사용하는 단어들을 공격에 사용한다.

 

*만약 딕셔너리에서 자신이 사용하는 비밀 번호를 발견한다면 교체하는 것을 권장한다.

 

대응 방법

 

무차별 적인 대입 공격을 컴퓨터는 순식간에 처리해 줌으로 이를 뒷바침해준다. 그렇다면 처리 속도를 의도적으로 늦춰주는 방법은 어떨까?

 

속도를 늦출 수야 있지만 언젠가는 풀리기 때문에 근본적인 해결책은 되지 못한다.

처리 지연 시간이 길면 일반적인 사용자는 피해를 보며 공격자는 공격 성공까지의 시간이 늦춰질 뿐이다.

 

그렇기에 n회 인증 내에 성공하지 못하면 locking이 되는 방식이 도입되었다.

여러 웹 사이트에서 사용 되고 있으면 휴대용 단말기에서도 사용 되고 있다.

Lociking

 

또한 브루트 포스에 한정하여 캡챠도 좋은 방안중에 하나이다.(캡챠도 완벽하지는 않다 우회가 가능 하기 때문이다.)

현재는 많은 대응 방법이 나와있다.

CAPTCHA

갭챠의 새로운 버젼인 리캡챠도 대응 방안의 하나이다.

 ReCAPTCHA

브루트 포스 공격에 대한 대응 방안이기에 완벽히 안전하지는 않다.

 

추후에 이 방법들의 우회도 다루어 보도록 하겠다.

'Basic Concepts > Web' 카테고리의 다른 글

생각날때마다 끄적이는 웹 공격 대응방법  (0) 2020.03.05
XSS (Cross Site Script)  (0) 2020.02.26
meta 태그(meta tag)  (0) 2020.02.25
CSRF(Cross-Site Request Forgery)  (0) 2020.02.25
커맨드 인젝션(Command Injection)  (0) 2020.02.19

+ Recent posts