7강 / 20강

무차별 대입 — 문을 두드려 여는 공격

약한 비밀번호가 왜 '몇 초'짜리인가

무차별 대입 — 문을 두드려 여는 공격
공격자는 사람처럼 세 번 틀리고 포기하지 않습니다. 초당 수백 번 두드립니다.

2강에서 우리 서버의 22번(SSH) 포트가 인터넷에 열려 있는 걸 봤습니다. 방화벽(3강)으로 필요한 포트만 남겼지만, SSH 는 관리에 필요하니 열어 뒀죠. 그럼 공격자는 그 열린 문에 무엇을 할까요? 비밀번호를 맞힐 때까지 두드립니다.

이번 강의는 공격자 입장이 되어 봅니다. 셀 관점을 🥷 공격자로 두세요.

공격자의 사전에는 무엇이 들어 있나

공격자는 아무 문자열이나 무작위로 넣지 않습니다. 실제 유출 사고에서 나온 가장 흔한 비밀번호 목록부터 씁니다. rockyou.txt 가 유명하죠 — 수천만 개가 들어 있고, 사람들이 실제로 쓰는 비번의 상당수가 여기 있습니다.

사람들이 '안전하다'고 착각하는 비번들이 사전 맨 앞에 있습니다.
Python 브라우저 안에서 실행 (계산용)

직접 뚫어 봅시다

우리 서버의 deploy 계정은 앞 관리자가 P@ssw0rd 로 만들어 뒀습니다. 공격자가 이걸 얼마 만에 알아내는지 봅시다.

몇 번째 시도에서 뚫리는지 보세요.
🥷 공격자 브라우저 안에서 실행 (계산용)

이제 방어해 봅시다. deploy 의 비밀번호를 길고 무작위한 값으로 바꾼 뒤, 공격자가 다시 사전을 돌리면 어떻게 되는지 봅니다.

비밀번호를 사전에 없는 값으로 바꿉니다.
🖥️ 내 가상 서버 브라우저 안에서 실행 (계산용)
사전에 없으면 이 공격은 실패합니다.
🥷 공격자 브라우저 안에서 실행 (계산용)
무차별 대입 실험실 — 비번을 바꿔 가며 공격이 걸리는 시간을 재 본다
불러오는 중…
🤔 확인 문제
P@ssw0rd 가 위험한 비밀번호인 이유는?
🤔 확인 문제
무차별 대입 공격을 막는 방법으로 옳지 않은 것은?