대시레인, 해커의 암호화 금고 탈취 과정 설명
대시레인(비밀번호 관리자)에 대규모 자동화 공격이 발생하여, 공격자가 기기 등록 API를 악용해 20개 미만의 사용자 암호화 금고를 다운로드하는 데 성공했습니다. 공격자는 '스프레이 공격(Spray Attack)' 기법을 통해 다수의 계정에 무차별 대입 공격을 시도했으며, 서버 측 자동 보안 시스템에 의해 차단되기 전까지 이 시도가 지속되었습니다. 탈취된 금고 데이터는 마스터 비밀번호를 해독해야만 열람 가능하므로, 2FA 인증을 활성화하고 강력한 비밀번호를 유지하는 것이 안전에 매우 중요합니다.
대시레인(Dashlane)이 공격자들이 가능한 한 많은 암호화된 비밀번호 금고를 탈취하기 위해 대규모 사용자를 대상으로 조직적인 해킹 캠페인을 전개했다고 밝혔습니다. 해당 비밀번호 관리자 제공 업체에 따르면, 이 공격이 차단되기 전까지 20개 미만의 개인 사용자 금고가 다운로드된 것으로 확인되었습니다.
지난 일요일에 시작된 이 캠페인에서 알려지지 않은 위협 행위자(Threat actor)는 대시레인 사용자가 컴퓨터나 휴대전화와 같은 새로운 기기를 계정에 추가하는 메커니즘을 악용했습니다. 기기 등록을 위한 대시레인의 프로그래밍 인터페이스(API)를 남용하여, 공격자들은 기존 사용자의 등록된 이메일 주소 대량으로 요청을 보냈습니다.
목요일에 게시된 업데이트에서 대시레인은 다음과 같이 설명했습니다. "위협 행위자는 기기 등록 API 엔드포인트를 표적으로 삼고 무차별 대입 공격(Brute force attack)을 통해 해당 엔드포인트에 대량의 자동화된 요청을 보냈습니다. 이에 대시레인의 자동화된 보안 시스템은 의도한 대로 작동하여 대상 계정을 자동으로 잠금 처리함으로써 사용자를 보호했습니다. 공격이 완전히 차단되기 전에, 위협 행위자는 20명 미만의 개인 플랜 고객에 대해 무차별 대입 공격으로 유효한 토큰을 생성할 수 있었습니다. 이를 통해 해당 계정에 새 기기를 등록하고 사용자의 암호화된 금고 사본을 다운로드할 수 있었습니다."
공격의 흐름과 전략
사용자가 새 기기에 대시레인 앱을 설치하고 기존 계정에 등록하려고 하면, 대시레인은 먼저 계정 소유자의 신원을 확인합니다. 이 확인은 사용자의 등록된 이메일 주소로 일회성 6자리 토큰을 전송하여 완료됩니다. 이중 인증(2FA)을 활성화한 사용자의 경우에는 인증 앱에서 생성된 6자리 코드를 확인하는 방식으로 진행됩니다.
등록이 성공하려면 사용자는 이 코드를 대시레인 애플리케이션에 입력해야 합니다. 이 시점에서 대시레인은 등록을 승인하고 해당 기기로 암호화된 금고의 사본을 전송합니다. 사용자가 복호화 키 역할을 하는 마스터 비밀번호를 입력하기 전까지는 금고의 내용을 읽을 수 없습니다.
대시레인이 보안 문서에서 설명하듯이, 등록이 성공하려면 새로운 기기에 일회성 비밀번호를 입력해야 합니다. 코드가 유효한 3시간의 시간 내에 단일 계정에 대해 일회성 코드를 무차별 대입(올바른 코드가 입력될 때까지 가능한 모든 조합을 반복하는 방식)하는 것은 어리석은 짓에 불과합니다. 유효한 코드의 조합이 100만 가지(000000~999999)가 가능하기 때문에, 공격자는 이 기간 내에 통계적으로 유의미한 비율의 조합을 시도해야만 합니다. 특정 계정당 일정数量的의 요청만 허용하는 속도 제한(Rate limiting) 또한 해당 계정을 잠그게 됩니다.
성공 확률을 높이기 위해 공격자는 대량의 계정에 새 기기를 등록하기 위한 요청을 보냈습니다. 그런 다음 각각의 계정에 일회성 코드를 동시에 입력했습니다. 이론적으로 이 방식으로 두 개의 계정을 공격하면 각 시도의 성공 확률이 50만 분의 1로 증가합니다. 1,000개의 계정을 공격하면 확률은 1,000분의 1로 높아집니다. 즉, 표적으로 삼은 계정이 많을수록 공격이 성공할 확률이 높아집니다. 이는 '비밀번호 스프레이 공격(Password spraying)'의 경제학과 유사하게 작동합니다. 또한 이 기술은 시도 횟수가 분산되어 단일 계정에 가해지는 시도를 제한하기 때문에 속도 제한(Rate limiting)의 효과를 약화시킵니다.
궁극적으로 대시레인에 따르면, 이 2FA 스프레이 공격은 차단되기 전까지 20개 미만의 사용자 계정에서 정확한 조합을 찾아내는 데 그쳤습니다. 회사 측은 해당 사용자들에게 이미 연락을 취했으며, 알림을 받지 못한 사용자는 영향을 받지 않았다고 밝혔습니다.
공격자가 이 계정들의 복호화된 금고 내용을 얻으려면 여전히 마스터 비밀번호를 크래킹(Cracking)해야만 합니다. 대시레인은 '아르곤2(Argon2)'라는 알고리즘을 사용하여 이 과정을 어렵게 만듭니다. 이 알고리즘은 일반 텍스트 마스터 비밀번호를 암호화된 데이터로 변환하는 과정의 속도를 극적으로 늦추고 복잡도를 크게 높입니다.