무차별 암호 대입 공격은 비밀번호를 모두 조합하여 금고를 열려는 도둑처럼 가용한 모든 조합을 시도하여 데이터를 해킹합니다.
이 글을 읽은 후에 다음을 할 수 있습니다:
관련 콘텐츠
인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!
글 링크 복사
무차별 암호 대입 공격은 시행착오를 통해 민감한 데이터를 해킹하기 위한 방법입니다. 무차별 암호 대입 공격에 대하여 가장 널리 사용되는 앱은 비밀번호 및 암호화 키 해킹입니다(암호화 키에 대한 자세한 내용은 아래에서 설명합니다). 이외에, API 키와 SSH 로그인 정보를 해킹하는 데 무차별 암호 대입 공격이 사용됩니다. 무차별 암호 대입 공격은 웹사이트의 로그인 페이지를 노리는 스크립트나 봇에 의해 이루어지는 경우가 많습니다.
무차별 암호 대입 공격이 다른 해킹 방법과 다른 점은 지능형 전략을 사용하지 않는다는 점입니다. 즉 올바른 조합을 찾을 때까지 다양한 문자 조합을 시도할 뿐입니다. 이는 비밀번호를 모두 조합하여 금고를 열려는 도둑과 같은 방법입니다.
무차별 암호 대입 공격의 가장 큰 장점은 비교적 실행이 간단하고, 시간이 충분하고 대상에 완화 전략이 부족한 경우에는 언제나 효과가 있다는 것입니다. 모든 비밀번호 기반 시스템과 암호화 키는 무차별 암호 대입 공격으로 해킹할 수 있습니다. 사실 상, 무차별 암호 대입 공격이 시스템을 해킹하는 데 걸리는 시간은 시스템의 보안 수준을 측정하는 유용한 지표가 됩니다.
반면에 무차별 암호 대입 공격은 목표를 달성하기 위해 가능한 문자 조합을 모두 시도해야 하는 경우도 있기 때문에 매우 느립니다. 이러한 단점은 대상 스트링(문자의 조합)의 문자 개수가 증가할수록 커집니다. 예를 들어, 무차별 암호 대입 공격이 해킹하는 데 걸리는 시간은 4자리 비밀번호가 3자리 비밀번호보다 매우 길어지며 5자리 비밀번호가 4자리 비밀번호보다 매우 길어집니다. 문자 개수가 특정한 수 이상이면, 무차별 암호 대입 공격의 해킹 가능성은 현실성이 없습니다.
대상 스트링이 충분히 길다면, 무차별 암호 대입 공격자가 비밀번호를 알아내는 데 며칠, 몇 달, 심지어는 몇 년이 걸릴 수도 있습니다. 더 긴 비밀번호와 암호화 키를 요구하는 현재의 추세로 인해, 무차별 암호 대입 공격은 조금 더 어려워졌습니다. 양호한 비밀번호와 암호화가 사용되는 경우, 공격자는 일반적으로 소셜 엔지니어링이나 온패스(on-path) 공격 등 다른 해킹 방법을 사용합니다.
인증 시스템을 관리하는 개발자는 로그인 실패가 너무 많은 IP 주소를 차단하거나 비밀번호 확인 소프트웨어에 지연 기능을 추가하는 등의 조치를 취할 수 있습니다. 몇 초만 지연시켜도, 무차별 암호 대입 공격의 효과를 크게 떨어뜨릴 수 있습니다.
웹 서비스 사용자는 더 길고 더 복잡한 비밀번호를 선택함으로써 무차별 암호 대입 공격에 대한 취약성을 줄일 수 있습니다. 또한, 2단계 인증을 사용하고 서비스마다 고유한 비밀번호를 사용할 것도 권장합니다. 공격자가 무차별 암호 대입 공격으로 하나의 서비스에 대한 사용자의 비밀번호를 알아내면, 동일한 로그인 정보와 비밀번호를 다른 많은 인기 서비스에 재사용할 수 있습니다. 이것이 바로 자격 증명 스터핑입니다.
사용자는 또한 강력한 암호화 키로 데이터를 보호하지 않는 웹 서비스에 비밀번호와 신용 카드 번호 또는 은행 정보 등의 개인 정보를 입력하지 말아야 합니다.
암호화 키는 데이터를 암호화하고 해제하기 위해 생성된 무작위 비트 스트링입니다. 데이터가 암호화되면, 올바른 암호화 키로 해제하기 전까지는, 무작위 문자 조합처럼 보입니다. 비밀번호와 마찬가지로, 암호화 키도 무작위 대입 로그인 공격으로 해킹할 수는 있지만, 현재 사용되고 있는 암호화 키는 너무 길어서 최신 컴퓨터를 사용해도 해킹할 수 없는 것으로 여겨집니다.
긴 암호화 키는 짧은 키보다 훨씬 더 안전합니다. 예를 들어, 무차별 암호 대입 공격으로 128비트 암호화 키를 해킹하려면, 2128개의 조합을 시도해야 하지만, 256비트 암호화 키의 경우는 2256개의 조합을 시도해야 합니다. 즉 128비트 키를 해킹하는 것보다 2128배 더 많은 컴퓨팅 파워가 필요합니다! (2128 = 340,282,366,920,938,463,463,374,607,431,768,211,456개 조합).
이 수치가 어떤 의미인지 실감할 수 있도록 예를 들어보겠습니다. 초당 수조 개의 조합을 확인할 수 있는 컴퓨터도 256비트 암호화 키를 해킹하는 데 1,000의 17제곱 년 이상이 걸릴 수 있습니다(1,000의 17제곱은 0이 96개 붙는 숫자입니다).
고비트 암호화 키는 현실적으로 현재의 무차별 암호 대입 공격으로 해킹할 수 없기 때문에, 사용자 정보를 수집하는 모든 웹 서비스에 256비트 암호화 키를 사용하여 데이터와 통신을 암호화하는 것을 권장합니다. Cloudflare는 동급 최고의 TLS 암호화를 사용하여, 무차별 암호 대입 공격을 차단하며 향후 퀀텀 컴퓨팅도 준비하고 있습니다.