1. 개요


1.1. Bruteforce 공격이란?

무차별 대입 공격이라고도 하며 암호를 풀기 위해 가능한 모든 경우를 대입하는 공격 방법을 의미한다. 이론적으로 모든 암호를 뚫어낼 수 있지만 컴퓨터 성능에 비해 암호가 길고 복잡해질수록 암호를 맞힐 때까지 걸리는 시간이 오래 걸린다. 병렬 작업이 가능하여 여러 대의 컴퓨터를 연결해 사용하더라도 각 컴퓨터의 자원을 활용하고 속도를 향상시킬 수 있는 것도 특징이다.

1.2. 공격 방법 및 종류

무작위 순차 대입

가능한 모든 문자열을 순차적으로 성공할 때까지 모두 대입해보는 방법이다. 브루트 포스 공격의 특징을 그대로 살렸으므로 그 장단점 또한 공유하여, 이론상 모든 암호를 풀 수 있지만 암호의 복잡도에 따라서는 현실적으로 굉장히 긴 시간이 걸려 실제로 이 방법만으로 해킹에 성공하기는 어렵다.

사전 대입

통계적으로 많이 사용되거나 사람들이 자주 사용할 법한 암호 목록을 사전처럼 만들어 먼저 대입해보는 방법이다. 가능한 경우를 대입한다는 브루트 포스의 특징은 가지지만 무작위 순차 대입의 단점을 보완하여 훨씬 빠르고 성공적으로 공격할 수 있다. 사전 대입에서 사용되는 사전 중 하나로는 레인보우 테이블이 있는데 해시 함수를 사용해서 만들 수 있는 해시값을 저장한 표이다.

역 무차별 대입

계정 하나의 비밀번호를 풀기 위해 많은 경우를 대입하기보다 많은 계정을 대상으로 사전에 들어갈 만한 흔한 비밀번호만을 시도하는 것이다. 어떤 계정에서 실패하더라도 다른 계정에서 성공한다면 성과를 거둘 수 있을 것이다.

크리덴셜 스터핑

이미 알고 있는 특정 사용자의 비밀번호를 다른 사이트나 애플리케이션에서도 시도하는 것이다. 그 사용자의 비밀번호가 여러 서비스에서 똑같다면 한 사이트에서만 비밀번호가 유출되더라도 훨씬 치명적으로 작용할 것이다.

1.3. 공격 사례

우리은행 개인정보 유출 사건

이미 유출된 개인정보를 바탕으로 우리은행이 브루트 포스 공격을 받아 약 5만 6천 건의 개인정보가 유출되었다. 크리덴셜 스터핑을 이용한 해킹 사례라고 볼 수 있다.

출처: https://www.boannews.com/media/view.asp?idx=70843

암호화폐 채굴 멀웨어 유포