1. 개요
1.1. Bruteforce 공격이란?
암호를 풀기 위해 임의의 문자, 숫자 등을 조합해 무작위 대입하는 공격이다.
1.2. 공격 방법 및 종류
1.2.1 단순 무차별 대입 공격
- 정의 : 자동으로 암호를 무작위 대입하는 프로그램을 만들어 공격하는 방법이다. 우리가 어렸을 때, 친구 자물쇠를 풀려고 할 때, 0000부터 9999까지 시도해본 것이 단순 무작위 대입 공격의 예이다.
- 특징
- 암호의 길이와 복잡도의 영향을 많이 받는다. 암호의 길이가 늘어나면 대입하는 경우의 수가 많아지고, 암호에서 사용할 수 있는 것(문자, 숫자 등)이 많아지면 무차별 대입 공격의 시간이 기하급수적으로 증가한다는 것은 직관적으로 와 닿는 사실이다. 예를 들어, 숫자와 문자를 사용하여 8자리의 암호를 만든다면 경우의 수가 260^8이다.
- 예방 방법
- 비밀번호 설정 시 나오는 권장 비밀번호 형식을 따른다.
- 해당 공격은 틀리는 횟수가 클 수 밖에 없기에 일정 횟수를 넘어서면 로그인 하지 못하도록 한다.
1.2.2 사전 대입
- 정의 : 사전에서 흔히 쓰이는 단어를 대입하는 공격 유형이다. 단어 뿐만 아니라 숫자도 이용하며, 오늘날에는 다크 웹과 같은 사이트에서 유출된 적이 있는 비밀번호를 얻어 대입한다.
- 특징
- 단순 무차별 대입 공격의 특징(1)을 보완한 방법이다. 많이 사용된 단어를 대입하면 암호를 푸는 데에 걸리는 시간을 획기적으로 줄일 수 있다.
- 사례 : 영화 이미테이션 게임에서 수학자들이 컴퓨터를 이용해 에니그마 암호를 해독할 때, 독일군이 많이 사용할 만한 단어들을 유추하고 그것들을 고정적인 값으로 취함으로써 해독할 때의 경우의 수와 걸리는 시간을 획기적으로 줄여 전쟁을 승리로 이끌었다.
1.2.3 크리덴셜 스터핑
- 정의 : 같은 비밀번호를 여러 사이트에서 사용하는 사람들의 경향을 이용해 유출된 아이디와 패스워드를 여러 사이트에 무작정 대입하는 공격 유형이다.
- 특징
- 사람들이 주로 비밀번호를 관리하는 습관을 역이용한 방법이다.
- 예방 방법
- 같은 비밀번호를 여러 사이트에서 사용하지 않도록 한다. 각 사이트의 특징을 이용하여 비밀번호에 약간의 변형을 가하는 간단한 방법이 있다. 예를 들어, 기본 비밀번호는 'ghdgurwo'일 때, 메가스터디 사이트에선 Mghdgurwo, 대성마이맥 사이트에선 Dghdgurwo 이런 식으로 약간의 변형을 가한다.
1.2.4 역 무차별 대입 공격