무차별 대입 공격이란 무엇인가요?
무차별 대입 공격은 시행착오를 통해 로그인 정보, 암호화 키를 추측하거나 숨겨진 웹페이지를 찾아냅니다. 해커는 맞는 정보를 추측할 수 있기를 바라며 가능한 모든 조합을 시도해 봅니다.
이러한 공격은 "무차별 대입"으로 이루어지는데, 엄청난 횟수를 시도하여 비공개 계정을 '무차별적으로' 뚫는다는 의미입니다.
오래된 공격 수법이지만 여전히 유효하며 해커들이 많이 사용하는 방식입니다. 비밀번호의 길이와 복잡성에 따라 알아내는 데 몇 초에서 몇 년까지 걸릴 수 있기 때문입니다.
해커는 무차별 대입 공격에서 무엇을 얻나요?
이 수법이 성공을 거두기 위해 무차별 대입 공격자는 약간의 노력을 들여야 합니다. 기술로 인해 이러한 공격이 더 쉬워지는 가운데, 여전히 질문이 남습니다. 누군가 이런 공격을 하는 이유는 무엇일까요?
해커가 무차별 대입 공격에서 이득을 얻는 방식은 다음과 같습니다.
- 광고 수익 창출 또는 활동 데이터 수집
- 개인 정보 및 중요한 항목 탈취
- 중단을 발생시키기 위한 맬웨어 전파
- 악의적인 활동을 위한 시스템 하이재킹
- 웹사이트의 평판 손상
광고 수익 창출 또는 활동 데이터 수집.
해커는 다른 사람과 함께 웹사이트를 이용하여 광고 수수료를 벌 수 있습니다. 다음과 같은 방법이 자주 사용됩니다.
- 이용량이 많은 사이트에 스팸 광고를 게재하여 고아고를 클릭하거나 방문자가 광고를 조회할 때마다 수익을 창출합니다.
- 수수료를 받는 광고 사이트로 웹사이트 트래픽을 다시 라우팅합니다.
- 사이트나 방문자를 보통 스파이웨어라고 하는 활동 추적 맬웨어로 감염시킵니다. 데이터는 마케팅 개선을 위해 사용자의 동의 없이 광고주에게 판매됩니다.
개인 정보 및 중요한 항목 탈취.
온라인 계좌를 뚫고 들어가는 일은 은행 금고를 터는 것과 비슷할 수 잇습니다. 은행 계좌부터 세금 정보까지 모든 것을 온라인에서 찾을 수 있습니다. 제대로 침입하기만 하면 범죄자는 신원과 금전을 훔치거나 비공개 자격 증명을 팔아서 이익을 얻을 수 있습니다. 조직 전체의 민감한 데이터베이스가 기업 수준의 데이터 침해에 노출되는 경우도 있습니다.
중단을 유발할 목적으로 맬웨어 전파.
해커가 문제를 일으키거나 기술을 연마하고자 하면 웹사이트의 트래픽을 악성 사이트로 리디렉션할 수 있습니다. 아니면 방문자의 컴퓨터에 설치되도록 맬웨어를 숨겨서 사이트를 직접적으로 감염시킬 수도 있습니다.
악의적인 활동을 위한 시스템 하이재킹.
하나의 시스템으로는 충분하지 않을 경우 해커는 봇넷이라는 이름의 의심하지 않는 장치 군단을 모집해 속도를 높이고자 합니다. 맬웨어는 스팸 피싱, 강화된 무차별 대입 공격 등을 위해 컴퓨터, 모바일 장치 또는 온라인 계정에 침투할 수 있습니다. 안티 바이러스 시스템을 갖추고 있지 않다면 감염의 위험이 더 높아질 수 있습니다.
웹사이트의 평판 손상.
웹사이트를 실행하다가 공격의 표적이 되면 사이버 범죄자는 외설적인 콘텐츠로 사이트를 감염시키려고 할 수도 있습니다. 여기에는 폭력, 포르노 또는 인종을 공격하는 성질의 텍스트, 이미지, 오디오가 포함될 수 있습니다.
무차별 대입 공격의 유형
무차별 대입 공격은 민감한 데이터를 가져가기 위해 저마다 다른 수법을 사용할 수 있습니다. 다음과 같은 유명한 무차별 대입 공격 수법 중 하나에 노출될 수 있습니다.
- 단순 무차별 대입 공격
- 사전 공격
- 하이브리드 무차별 대입 공격
- 역 무차별 대입 공격
- 자격 증명 스터핑
단순 무차별 대입 공격: 해커는 소프트웨어 도구나 다른 수단의 도움을 전혀 받지 않고 자격 증명을 논리적으로 추론하려고 시도합니다. 이렇게 하면 매우 단순한 비밀번호와 PIN을 알아낼 수 있습니다. “guest12345”와 같이 설정된 비밀번호를 예로 들 수 있습니다.
사전 공격: 표준적인 공격에서 해커는 표적을 고르고 해당 사용자 이름에 대해 가능한 비밀번호를 대입해 봅니다. 이는 사전 공격으로 알려져 있습니다. 사전 공격은 무차별 대입 공격의 가장 기본적인 도구입니다. 그 자체가 반드시 무차별 대입 공격인 것은 아니며, 비밀번호 노출을 위한 중요한 구성 요소로 사용되는 경우가 많습니다. 일부 해커는 원문 그대로의 사전을 실행하고 특수 문자와 숫자로 단어를 조합하거나 특수한 단어 사전을 사용하기도 하는데, 이러한 유형의 순차적 공격은 번거롭습니다.
하이브리드 무차별 대입 공격: 이러한 해커는 외부 수단과 논리적 추론을 섞어서 침입을 시도합니다. 하이브리드 공격은 보통 사전 공격과 무차별 대입 공격을 섞는 경우가 많습니다. 이러한 공격은 일반적인 단어에 무작위 문자를 섞은 콤보 비밀번호를 알아내는 데 사용됩니다. 이러한 성질을 가진 무차별 대입 공격의 예로는 NewYork1993 또는 Spike1234와 같은 비밀번호가 있습니다.
역 무차별 대입 공격: 이름에서도 알 수 있듯 역 무차별 대입 공격은 공격 전략을 반대로 뒤집어서 알려진 비밀번호에서 시작하는 것입니다. 그런 다음 해커는 일치하는 것을 찾을 때까지 수백만 개의 사용자 이름을 검색합니다. 이러한 범죄자들은 기존의 데이터 침해를 통해 이미 온라인상으로 유출된 비밀번호를 가지고 시작하는 경우가 많습니다.
자격 증명 스터핑: 해커가 하나의 사이트에 통하는 사용자 이름과 비밀번호의 조합을 확보한다면 다른 사이트에서도 이 조합을 시도해 볼 것입니다. 사용자들은 로그인 정보를 여러 웹사이트에서 재사용하는 것으로 알려져 있으므로 이와 같은 공격에 적합한 표적입니다.
무차별 대입 공격 시도에 도움이 되는 도구
특정 사용자 또는 사이트의 비밀번호를 추정하는 데는 시간이 오래 걸릴 수 있으므로 해커들은 이 작업을 빠르게 진행하기 위한 도구를 개발했습니다.
자동화된 도구는 무차별 대입 공격에 도움이 됩니다. 여기에는 가능한 모든 비밀번호를 생성해 속사포와 같이 시도하는 추정 방식이 사용됩니다. 무차별 대입 해킹 소프트웨어는 단일 사전 단어 비밀번호를 1초 이내에 찾을 수 있습니다.
이와 같은 도구에는 다음을 위한 방편이 프로그래밍되어 있습니다.
- 다양한 컴퓨터 프로토콜(예: FTP, MySQL, SMPT, Telnet)에 대한 작동
- 해커가 무선 모뎀을 뚫을 수 있도록 지원
- 약한 비밀번호 파악
- 암호화된 스토리지의 비밀번호 복호화
- 단어 변형(예: "don'thackme"는 "d0n7H4cKm3"이 될 수 있음)
- 가능한 모든 문자 조합 대입
- 사전 공격 실행
일부 도구는 사전 컴퓨팅 레인보우 테이블을 검사하여 알려진 해시 함수의 입력과 출력을 얻습니다. 이러한 “해시 함수”는 알고리즘 기반 암호화 방식으로, 비밀번호를 길이가 길고 고정된 일련의 문자와 숫자로 변환하는 데 사용됩니다. 다시 말해, 레인보우 테이블은 무차별 대입 공격에서 가장 어려운 부분을 없애 이 공격 과정의 속도를 높여 줍니다.
무차별 대입 공격의 속도를 높여주는 GPU
비밀번호 무차별 대입 소프트웨어를 실행하려면 엄청난 컴퓨터 처리 능력이 필요합니다. 하지만 해커에게는 이 문제를 훨씬 쉽게 풀 수 있는 하드웨어 솔루션이 있습니다.
CPU와 그래픽 처리 유닛(GPU)을 결합하면 컴퓨팅 성능이 가속화됩니다. GPU에 수천 개의 컴퓨팅 코어를 추가해서 처리하면 시스템에서는 여러 작업을 한 번에 해낼 수 있습니다. GPU 프로세싱은 분석, 엔지니어링, 기타 컴퓨팅 집약적인 용도로 사용됩니다. 이 방식을 사용하는 해커는 CPU만 사용할 때보다 약 250배 더 빠른 속도로 비밀번호를 알아낼 수 있습니다.
그렇다면 비밀번호를 알아내는 데는 시간이 얼마나 걸릴까요? 이해하기 쉽게 설명하자면 숫자가 포함된 6자리 비밀번호의 경우 가능한 조합이 약 20억 개입니다. 초당 비밀번호 30개를 대입해 볼 수 있는 강력한 CPU로 이 비밀번호를 알아내기 위해서는 2년 이상의 시간이 걸립니다. 하지만 하나의 강력한 GPU 카드를 추가하면 같은 컴퓨터로 초당 7,100개의 비밀번호를 테스트할 수 있어, 3.5일이면 비밀번호를 알아낼 수 있게 됩니다.
전문가를 위한 비밀번호 보호 단계
자신과 네트워크의 안전을 지키기 위해서는 충분히 주의를 기울이고 남들도 그렇게 하도록 지원해야 합니다. 사용자 행동과 네트워크 보안 시스템을 모두 강화해야 합니다.
IT 전문가와 사용자 모두는 다음과 같은 일반적인 조언을 명심하는 것이 좋습니다.
- 강한 사용자 이름과 비밀번호를 사용합니다. 공격자가 접근하지 못하도록 admin과 password1234 보다는 강력한 자격 증명을 사용하여 스스로를 보호하십시오. 이러한 조합이 강력할수록 누구도 침입하기 어려워집니다.
- 높은 수준의 권한으로 사용하지 않는 계정은 제거합니다. 이는 쉽게 깰 수 있는 약한 자물쇠를 채운 사이버 대문이나 마찬가지입니다. 관리하지 않는 계정은 감당할 수 없는 취약점입니다. 최대한 빨리 버리십시오.
기본적인 사항은 갖췄으니 이제 보안을 강화하고 사용자를 참여시킬 차례입니다.
백엔드에서 할 수 있는 일부터 시작해 안전한 습관을 뒷받침하는 팁까지 제공해 드리겠습니다.
수동적 백엔드 비밀번호 보호
높은 암호화율: 무차별 대입 공격이 성공을 거두기 어렵게 만들려면 시스템 관리자는 256비트 암호화와 같이 가능한 최고 수준의 암호화율로 시스템을 암호화해야 합니다. 암호화 기법에 사용되는 비트가 많을수록 비밀번호를 알아내기가 어려워집니다.
해시 솔트: 관리자는 임의의 문자와 숫자로 이루어진 문자열(솔트라고 함)을 비밀번호 자체에 추가하여 비밀번호 해시를 무작위로 만들기도 합니다. 이러한 문자열은 별도의 데이터베이스에 저장해 두었다가, 해시하기 전에 가져와서 비밀번호에 추가합니다. 해시를 솔트하면 비밀번호가 동일한 사용자라도 해시는 달라집니다.
2단계 인증(2FA): 추가로 관리자는 2단계 인증을 요구할 수 있으며, 무차별 대입 공격을 감지하는 침입 감지 시스템을 설치할 수 있습니다. 이렇게 하면 사용자는 로그인 시도 시에 물리적 USB 키나 지문 생체 스캔과 같은 두 번째 요소를 사용해야 합니다.
로그인 재시도 횟수 제한: 시도 횟수를 제한하면 무차별 대입 공격에 노출될 가능성이 낮아집니다. 예를 들어, 비밀번호를 세 번까지 입력해 보고 나서 몇 분 동안 사용자가 잠기게 하면 상당한 지연이 발생하므로 해커는 더 쉬운 표적으로 옮겨갈 수 있습니다.
과도한 로그인 시도 이후 계정 잠금: 일시적인 잠금 이후에도 끊임없이 비밀번호 재입력을 시도할 수 있다면 해커는 다시 돌아와 시도할 것입니다. 계정이 잠긴 후 IT에 연락해야 잠금을 풀 수 있다면 이러한 활동을 막을 수 있을 것입니다. 잠기는 시간이 짧으면 사용자에게는 더 편리하겠지만 편의성은 곧 취약성이 될 수 있습니다. 둘 사이의 균형을 잡기 위해 짧은 잠금 이후에도 과도한 로그인 시도 실패가 있다면 장시간 잠금을 사용하는 방안을 고려해 볼 수 있습니다.
반복적 로그인 속도 제한: 로그인 시도마다 사이에 간격을 두면 공격자의 노력을 더욱 늦출 수 있습니다. 로그인에 실패하면 타이머가 있어 정해진 짧은 시간이 지나기 전까지는 로그인 할 수 없습니다. 이렇게 하면 실시간 모니터링 팀이 이러한 위협을 발견하고 저지할 시간을 확보할 수 있게 됩니다. 기다릴 가치가 없다면 시도를 중단하는 해커도 있을지 모릅니다.
반복적인 로그인 실패 이후 Captcha 요구: 수동 인증은 데이터를 무차별 대입하는 로봇을 저지할 수 있습니다. Captcha는 이미지에 있는 텍스트 입력, 확인란 선택, 사진의 사물 고르기 등 다양한 유형으로 제공됩니다. 사용하는 유형과 관계없이 첫 로그인 전, 시도 실패 이후에 이 방식을 사용하면 보호를 강화할 수 있습니다.
IP 거부 목록을 사용하여 알려진 공격자를 차단합니다. 이 목록은 관리자가 꾸준히 업데이트해야 합니다.
적극적 IT 지원 비밀번호 보호
비밀번호 교육: 사용자 행동은 비밀번호 보안에 있어 매우 중요합니다. 비밀번호를 꾸준히 관리하는 데 도움이 되는 안전한 관행과 도구를 사용자에게 교육하십시오. Kaspersky Password Manager와 같은 서비스를 통해 사용자는 복잡하고 기억하기 어려운 비밀번호를 안전하지 않게 메모지에 적어두는 대신 암호화된 "금고"에 보관해 둘 수 있습니다. 사용자는 편의성을 위해 안전을 포기하는 경향이 있으므로 안전을 지켜주는 편리한 도구를 손에 쥐어주면 도움이 됩니다.
계정에서 실시간으로 이상 활동 감시: 이상한 로그인 위치, 과도한 로그인 시도 등이 여기에 해당합니다. 이상 활동의 추세를 찾아보고 실시간으로 잠재적 공격자를 차단하는 조치를 취하십시오. IP 주소를 차단하거나 계정을 잠그거나 사용자에게 계정 활동이 정당한지 확인하도록 연락(의심스러워 보이는 경우)하는 방안을 고려해 볼 수 있습니다.
사용자가 무차별 대입 공격에 대비해 비밀번호를 강화하는 방법
디지털 세상에서 보호를 지원하기 위해 사용자가 할 수 있는 일이 많습니다. 비밀번호 공격에 대한 최선의 방어는 비밀번호를 최대한 길게 만드는 것입니다.
무차별 대입 공격에서는 비밀번호를 알아내는 데 걸리는 시간이 중요합니다. 그러므로 여기에서 목표는 비밀번호로 공격의 속도를 최대한 늦추는 것입니다. 침해에 너무 오랜 시간이 걸려 그럴 만한 가치가 없다고 생각하면 대부분의 해커는 공격을 포기할 것이기 때문입니다.
무차별 대입 공격에 대비해 비밀번호를 강화하는 몇 가지 방법은 다음과 같습니다.
문자 유형을 다양하게 사용하여 비밀번호를 길게 만듭니다. 가능하면 기호나 숫자가 포함된 10자 길이의 비밀번호를 선택하십시오. 이렇게 하면 1해 7130경(1.71 x 1020)가지 가능성이 생깁니다. 초당 103억 개 해시를 시도하는 GPU 프로세서를 사용해도 이 비밀번호를 알아내기까지 약 526년이 걸립니다. 물론 슈퍼컴퓨터를 사용하면 몇 주 이내에 알아낼 수 있기는 합니다. 하지만 이 논리에 따라 더 많은 문자를 포함하면 비밀번호를 풀기가 훨씬 어려워집니다.
암호문을 정교하게 만듭니다. 모든 사이트에서 긴 비밀번호를 사용할 수 있는 것은 아니지만, 하나의 단어보다는 복잡한 암호문을 선택하는 것이 좋습니다. 사전 공격은 특히 단일 단어에 맞춰 만들어졌으며, 거의 힘을 들이지 않고도 성공을 거둘 수 있습니다. 여러 단어나 세그먼트로 이루어진 비밀번호인 암호문에는 더 많은 문자와 특수 문자 유형이 더해져 있습니다.
비밀번호 생성 규칙을 만듭니다. 기억할 수 있는 비밀번호가 가장 좋지만, 누구나 읽을 수 있는 것은 안 됩니다. 암호문의 경우와 마찬가지로 “wood”를 “wd”로 대체하는 것처럼 잘린 단어를 사용하여 혼자만 알 수 있는 문자열을 만드는 것이 좋습니다. 다른 예로는 모음을 빼거나 각 단어의 첫 두 글자만 사용하는 것 등이 있습니다.
자주 사용하는 비밀번호는 멀리합니다. 가장 흔히 사용되는 비밀번호는 지양하고 자주 변경해야 합니다.
사용하는 사이트마다 고유한 비밀번호를 사용합니다. 자격 증명 스터핑의 피해를 입지 않으려면 비밀번호를 절대 재사용해서는 안 됩니다. 보안을 한층 강화하고 싶다면 사이트마다 다른 사용자 이름을 사용하십시오. 하나가 침해 당해도 다른 계정은 안전하게 지킬 수 있습니다.
비밀번호 관리자를 사용합니다. 비밀번호 관리자를 설치하면 온라인 로그인 정보 생성과 추적이 자동화됩니다. 비밀번호 관리자에 일단 로그인하면 모든 계정에 액세스할 수 있습니다. 이후에는 방문하는 모든 사이트에 매우 길고 복잡한 비밀번호를 만들어 안전하게 저장할 수 있으며, 사용자는 기본 비밀번호 하나만 기억하면 됩니다.
“비밀번호를 알아내는 데 걸리는 시간”이 궁금하다면 에서 암호문의 강도를 테스트해 볼 수 있습니다.
Kaspersky Internet Security는 2021년 AV-TEST의 인터넷 보안 제품 부문에서 최고 성능 및 최우수 보호 제품을 수상했습니다. 모든 테스트에서 Kaspersky Internet Security는 사이버 위협에 대한 뛰어난 성능과 보호 기능을 보여주었습니다.