무차별 암호 대입 공격(Brute Force)란?
무차별 암호 대입 공격이란
무차별 암호 대입 공격은 여러 시도를 통해서 비밀번호나 암호화 키를 알아내는 공격이다. API 키와 SSH 로그인 정보를 해킹하는 데 무차별 암호 대입 공격이 사용된다. 무차별 암호 대입 공격은 웹사이트의 로그인 정보를 노리는 봇이지뭐.
마치 비밀번호를 돌려서 사용하는 자물쇠처럼, 0000부터 9999까지 모든 경우의 수를 대입하는 것과 같다. 지능적이 아닌 무식하게 올바른 비밀번호 조합을 찾을 때까지 다양한 문자 조합을 시도한다.
무차별 암호 대입 공격의 장점과 단점
무차별 암호 대입 공격의 가장 큰 장점은 시간이 충분하다면 무조건 효과가 있다는 것이다. 전 세계에 존재하는 모든 비밀번호 기반 시스템과 암호화 키는 무차별 암호 대입 공격으로 해킹할 수 있다.
반면에 무차별 암호 대입 공격은 목표를 달성하기 위해 가능한 문자 조합을 모두 시도해야 하는 경우도 있기 때문에 속도가 매우 느리다 이러한 단점은 문자 개수가 증가할수록(비밀번호가 길어질수록) 커진다. 예를 들어, 4자리 자물쇠의 경우의 수는 0000부터 9999까지 총 1000개인 반면, 3자리 자물쇠는 1000개, 2자리 자물쇠는 100개이다. 만약 초당 1500만 개의 키를 무차별 대입할 때, 아래 이미지와 같이 해킹하는 데 시간을 알 수 있다. 영어 대소문자(a-Z), 숫자(0-9), 특수문자(~!@#$%^&*()_+|`-=\;':",./<>?[]{})를 모두 사용한다면 각 문자당 존재할 수 있는 경우의 수는 52+10+32 = 94이다. 비밀번호가 8글자라면 948 개 (6.1 X 1010개 정도), 13글자라면 9413개 (4.7 X 1025개 정도)로 커진다.

문자열의 길이가 충분히 길다면 무차별 대입 공격자가 비밀번호를 알아내는 데 오랜 시간이 걸린다.
무차별 암호 대입 공격을 막는 방법
인증 시스템을 개발할 때, 한 IP에서 너무 많은 로그인 실패가 발생하는 경우, fail2ban과 같은 비밀번호를 확인하는 프로그램에 지연 기능을 사용하는 등의 조치를 취할 수 있다. 우리가 웹 사이트에 로그인을 여러 번 실패할 때 10분 정도 로그인을 제한당하는 것처럼 말이다. 굳이 10분까지가 아니라 몇 초 정도만 지연시켜도 공격의 효과를 크게 떨어뜨릴 수 있다.
서비스 사용자는 더 길고 더 복잡한 비밀번호를 선택함으로써 무차별 암호 대입 공격에 대한 취약성을 줄일 수 있다. 또한 2단계 인증을 사용하고 웹 사이트마다 고유한 비밀번호를 사용할 것도 권장된다.(다른 서비스의 암호가 유출되었을 때 연쇄적인 비밀번호 유출이 발생할 수 있기 때문이다.)
댓글
댓글 쓰기