Bruteforce공격이란 우리말로 무차별 대입 공격이라고도 부르며 이 말의 뜻 그대로 비밀번호같은 특정 암호를 알아내기 위해서 가능한 모든 값을 대입하는 방법이며 하나하나 대입하기 때문에 실용적이지 못하지만 이론적으로 대부분의 암호화 방식은 이러한 무차별 대입 공격을 방어하는 것이 불가능하다.
방어할 수 없는 공격
흔히들 왼손의 법칙이라고 들어봤을 것이다. 미로에서 벽에 왼손을 대고 가다보면 미로의 출구를 찾을 수 있다는 법칙인데 Bruteforce공격도 이와 같다. 암호를 넣고 틀리면 되돌아가 다시 대입하고를 반복하면 반드시 뚫린다. 게다가 컴퓨터는인간에 비해서 연산이 빠르기 때문에 영국 보안 전문 사이트 '록다운'에서는 숫자로만 만든 8자리 비밀번호 해독을 단 10초만에 끝낼수 있다고 말한다. 다만 이것은 매우 단순한 비밀번호가 예시이고 현재시점에서 무차별 대입 공격만을 이용해서 치명적인 공격을하기는 힘들다.
치명적인 단점: 현대의 너무 많은 비밀번호의 경우의 수와 횟수제한
예를들어서 구글의 비밀번호 조건은 문자, 숫자, 기호를 이용한 8자 이상이 되는 것이므로 가장적은 8자 비밀번호를알아내기 위해서 대입해야하는 경우의 수는 11,969,016,345이고 숫자로된 비밀번호 8자리의 경우의 수가 100000000임을 생각하면 약 120배나 되고 영국 보안 전문 사이트 '록다운'에서는 이러한 암호를 해독하는데 23년이 소유될것이라 말한다. 때문에 반드시 다른 공격과 함께 이용되여야 효과를 발휘할 수 있다. 뿐만 아니라 현대의 대부분의 로그인 시스템은 특정 횟수동안 로그인 실패시 로그인을 다시 하기까지 몇 십초를 기다리는 등의 패널티를 주는 시스템이 주를 이루기 때문에 실질적인 암호해독에 걸리는 소유시간은 더욱 기하급수적으로 늘어난다.
사람들이 비밀번호를 정할 때 외우기 쉽도록 특정단어나 개인정보 연관해 짓거나 규칙성을 만들어서 비밀번호를 짓는 것을 이용한 방법으로, 초당 수 백 개의 단어를 추측해서 대입한다. 이를 이용하면 단순히 단어만으로 된 비밀번호는 몇 분안에 알아낼 수 있다.
이 또한 사람들이 특정 단어와 연관된 비밀번호를 쓴다는 것을 이용한 방법으로 본래는 사전에 있는 일반적인 단어와 구의 조합이나 숫자를 대입하는 방식이지만 최근에는 사람들이 같은 비밀번호를 여러 곳에서 동시에 사용한다는 것으 이용해서 이전에 유출된 비밀번호또한 사용된다.
사람들이 로그인과 비밀번호를 반복적으로 사용하기 때문에 해킹을 할 사람들의 ID와 비밀번호를 보합해서 다른 서비스에 로그인싣도를 하는방법으로 금융계열에서 많이 사용되지만 사실상 대부분의 영역에서 사용되며 2020년 한 해 동안 전세계 금융 업계를대상으로 일어난 총 41억 건의 보안 공격 중 34억건이나 될 정도로 많이 이용된다.
일반적으로 공격할 대상의 이름이나 계정을 알고 암호를 알아내는 방식이라면 역방향 무차별 대입 공격은 사용자의 암호를 이용해서 대상의 이름이나 계정을 알아내는 방식이다.