Back to Blog

피싱 웹사이트가 지갑 보안 경고를 우회하는 방법: 전략 공개

May 10, 2024
3 min read

개요

최근 Web3 피싱 웹사이트로 인해 수많은 사용자들이 수백만 달러에 달하는 피해를 입었습니다. 이러한 피싱 웹사이트에서 사용자들은 자신도 모르게 토큰을 사기꾼이 통제하는 계정으로 전송하도록 승인하는 트랜잭션에 서명하게 됩니다. 피싱 공격으로부터 사용자를 보호하기 위해, 많은 Web3 지갑들은 알려진 피싱 계정과 관련된 트랜잭션을 선제적으로 차단하는 블랙리스트 메커니즘을 구현했습니다.

그러나 저희의 관찰에 따르면, 이 전략은 피싱 계정을 차단하는 데 효과적이지 않은 것으로 판명되었습니다. 사기꾼들은 이 보안 메커니즘을 우회하는 여러 방법을 개발했습니다. 첫 번째 방법은 Create2 함수를 사용하여 피싱 컨트랙트의 주소를 예측한 후, 토큰 탈취에 성공한 뒤 피싱 컨트랙트를 배포하는 것입니다. 두 번째 방법은 블랙리스트 업데이트 속도를 앞지르는 속도로 매일 새로운 피싱 컨트랙트를 배포하는 것입니다.

기존 지갑 보안 경고 메커니즘

피싱 웹사이트에 관한 경고
피싱 웹사이트에 관한 경고

지갑 내 보안 경고 메커니즘에는 웹사이트와 계정 모두에 대한 검사가 포함됩니다. 현재 모든 시스템은 웹사이트 도메인과 계정에 대한 블랙리스트를 유지하고 있습니다. 사용자가 웹사이트를 방문하면, 지갑은 해당 도메인이 블랙리스트에 있는지 확인합니다. 만약 그렇다면, 해당 웹사이트에 대한 접근이 차단됩니다. 마찬가지로, 사용자가 트랜잭션에 서명하기 전에, 지갑은 트랜잭션에 관련된 계정이 블랙리스트에 있는지 확인합니다. 만약 그렇다면, 사용자가 진행하지 못하도록 트랜잭션이 차단됩니다. 이러한 보안 기능은 MetaMask와 같은 시스템에서 잘 나타납니다.

Create2를 활용한 보안 경고 우회

이더리움의 Create2 옵코드는 실제 배포 전에 컨트랙트 주소를 예측할 수 있게 해줍니다. 이는 다음 공식을 사용하여 수행됩니다:

address = hash(deployer address, bytecode, salt)

배포자의 주소, 컨트랙트의 바이트코드, 그리고 지정된 솔트 값을 사용하면 컨트랙트 주소를 사전에 결정하는 것이 가능해집니다.

분명히, 배포자 주소, 바이트코드, 그리고 솔트 값을 통해 배포 전에 컨트랙트 주소를 예측할 수 있습니다. 피싱 웹사이트에서는 사용자들이 Create2를 통해 예측된, 블랙리스트에 없는 외부 소유 계정(EOA)으로 ETH를 전송하거나 토큰을 승인하도록 유도됩니다. 이후 토큰 탈취에 성공하면, 피싱 컨트랙트가 배포되고 피해자의 토큰은 추가 처리를 위해 다른 계정으로 전송됩니다. 전체 과정은 자동으로 이루어집니다.

다음은 Phalcon Explorer에서 보여주는 예시입니다:

피싱 웹사이트는 처음에 사용자들에게 0x0ddb로 토큰을 승인하도록 요청합니다. 그런 다음, 사기꾼은 두 개의 내부 트랜잭션으로 구성된 피싱 트랜잭션을 실행합니다. 첫 번째 내부 트랜잭션은 Create2를 사용하여 피싱 컨트랙트를 배포합니다. 두 번째 내부 트랜잭션은 피싱 컨트랙트를 호출하여 피해자의 토큰을 전송합니다.

보안 경고를 우회하기 위한 빈번한 피싱 컨트랙트 배포

피싱 컨트랙트 배포와 블랙리스트 업데이트 사이의 짧은 기간으로 인해, 사기꾼들은 이 간격을 이용하여 보안 경고를 우회할 수 있습니다. 그들은 매일 새로운 피싱 컨트랙트를 배포함으로써 이를 달성합니다. 결과적으로, 사용자들이 피싱 웹사이트를 방문할 때, 이러한 컨트랙트들은 아직 블랙리스트에 올라있지 않아 특정 지갑의 경고를 회피하게 됩니다.

다음은 Phalcon Explorer에서 설명하는 Pink Drainer의 사례 예시입니다. 0x5d77의 Deploy 함수가 매일 새로운 피싱 컨트랙트를 배포하기 위해 호출됩니다.

요약

피싱 웹사이트 개발자들은 Web3 지갑이 사용하는 보안 탐지 메커니즘을 회피하기 위한 새로운 전략을 지속적으로 만들어내고 있습니다. 저희는 경계를 늦추지 않고 그들의 최신 전술을 지속적으로 모니터링하고 있습니다. 사용자들께서는 트랜잭션에 서명하기 전에 주의를 기울이고 트랜잭션 세부 사항을 꼼꼼히 검토하시기를 권고드립니다.

관련 읽을거리


BlockSec 소개

BlockSec은 2021년 전 세계적으로 저명한 보안 전문가 그룹에 의해 설립된 선구적인 블록체인 보안 회사입니다. 이 회사는 대중화를 촉진하기 위해 새롭게 떠오르는 Web3 세계의 보안과 사용성을 향상시키는 데 전념하고 있습니다. 이를 위해 BlockSec은 스마트 컨트랙트 및 EVM 체인 보안 감사 서비스, 보안 개발 및 위협을 선제적으로 차단하기 위한 Phalcon 플랫폼, 자금 추적 및 조사를 위한 MetaSleuth 플랫폼, 그리고 암호화폐 세계를 효율적으로 탐색하는 web3 빌더들을 위한 MetaSuites 확장 프로그램을 제공합니다.

현재까지 이 회사는 MetaMask, Uniswap Foundation, Compound, Forta, PancakeSwap 등 300개 이상의 저명한 고객사에 서비스를 제공했으며, Matrix Partners, Vitalbridge Capital, Fenbushi Capital을 포함한 저명한 투자자들로부터 두 차례의 투자 라운드에서 수천만 달러의 미국 달러를 투자받았습니다.

공식 웹사이트: https://blocksec.com/

공식 트위터 계정: https://twitter.com/BlockSecTeam

Sign up for the latest updates
~$160만 손실: Moke 토큰, LpdFi 익스플로잇 | BlockSec 위클리
Security Insights

~$160만 손실: Moke 토큰, LpdFi 익스플로잇 | BlockSec 위클리

2026년 8월 3~9일, BNB 체인에서 2건의 보안 사고가 발생해 총 약 160만 달러의 손실이 발생했으며, 모두 가격 조작이 원인이었습니다. LpdFi(약 69.7만 달러)는 PancakeSwap 유동성 풀을 주문 평가와 이자 정산에 동시 사용해 공격자가 원금을 부풀리고 과도한 이자를 탈취했습니다. Moke Token(약 90.6만 달러)은 조작 가능한 현물 가격과 중복 LP 배당 회계를 결합해 MOKE를 부풀려 BNB 배당을 반복 수령했습니다.

COLDCARD 사건: 지갑의 "무작위" 시드가 무작위가 아니었을 때
Security Insights

COLDCARD 사건: 지갑의 "무작위" 시드가 무작위가 아니었을 때

COLDCARD 펌웨어의 빌드 통합 버그로 비트코인 시드 생성이 취약한 소프트웨어 RNG로 라우팅되어 지갑 시드가 오프라인 복구 가능해졌습니다. 시드 자체의 취약점이므로 펌웨어 업데이트로 해결 불가하며, 2026년 8월 7일 기준 확인된 피해는 1,405 BTC(~9,100만 달러), 비공개 추정치는 최대 2,055 BTC입니다.

~$88M 손실: COLDCARD 및 LULA 익스플로잇 | BlockSec 위클리
Security Insights

~$88M 손실: COLDCARD 및 LULA 익스플로잇 | BlockSec 위클리

2026년 7월 27일~8월 2일, 비트코인과 BNB 체인에서 약 8,800만 달러 손실을 유발한 두 건의 보안 사고가 발생했습니다. COLDCARD 사고는 하드웨어 지갑 펌웨어의 엔트로피 오류로, RNG 매크로 활성화 여부 미확인으로 결정론적 폴백이 실행되어 약 1,370 BTC(~8,800만 달러)가 탈취됐습니다. BNB 체인의 LULA 토큰은 비즈니스 로직 취약점으로 `recycle()` 함수가 악용되어 PancakeSwap V2 유동성에서 약 57만 8천 달러가 유출됐습니다.

피싱 웹사이트가 지갑 보안 경고를 우회하는 방법: 전략 공개