배경
최근 사고를 경험한 사용자로부터 도움 요청을 받았습니다. ltr" style="text-align: 왼쪽;">최근 같은 날 피싱 공격을 당한 사용자로부터 도움 요청을 받았습니다. 해당 사용자는 지갑에서 비정상적인 인증 기록을 발견하고 인증 취소를 시도했지만 취소할 수 없었으며, 영향을 받은 지갑의 주소인 9w2e3kpt5XUQXLdGb51nRWZoh4JFs6FL7TdEYsvKq6Wb를 제공했습니다. 온체인 분석을 통해 사용자의 계정 소유자 권한이 주소로 이전되었음을 확인했습니다. GKJBELftW5Rjg24wP88NRaKGsEBtrPLgMiv3DhbJwbzQ. 또한 이 사용자는 300만 달러 이상의 자산을 도난당했으며, 전송할 수 없는 200만 달러 상당의 자산이 디파이 프로토콜에 저장되어 있었습니다(현재 약 2백만 달러 상당의 자산은 관련 DeFi의 도움으로 성공적으로 구출되었습니다).

(https://solscan.io/tx/ 524t8LW1PFWd4DLYDgvtKxCX6HmxLFy2Ho9YSGzuo9mX4iiGDhtBTejx7z7bK4C9RocL8hfeuKF1QaYMnK3itMVJ)
피해자는 권한 확인을 위해 계정에서 자신의 주소로 이체를 시도했지만 모든 거래가 실패했습니다. 이 시나리오는 트론 생태계에서 빈번하게 발생하는 "악성 다중 서명" 공격과 매우 유사합니다. 즉, 이 공격은 기존의 "권한 도용"이 아니라 핵심 권한(소유자 권한)이 공격자에 의해 대체되어 피해자가 자금을 이체하거나, 승인을 취소하거나, 탈중앙 금융 자산을 조작할 수 없게 된 것입니다. 자금은 "볼 수 있지만" 통제할 수는 없습니다.
솔라나 소유자 변경 메커니즘
Solana 소유자 변경 메커니즘 strong>
공격자는 두 가지 반직관적인 시나리오를 악용하여 사용자가 클릭하도록 속이는 데 성공했습니다.
1. 일반적으로 거래가 서명되면 지갑은 거래 실행 결과를 시뮬레이션하고 자금에 변화가 있는 경우 대화형 인터페이스에 표시되는 반면 공격자가 신중하게 구성한 거래에서는 자금에 변화가 없습니다.
2. 기존 이더리움 EOA 계정은 소유권을 제어하기 위해 프라이빗 키가 사용되며, 솔라나가 계정 소유권을 수정할 수 있다는 것은 주관적으로 명확하지 않습니다.. span>
다음S를 분석해 봅시다로 이동합니다. span>올라나 소유자 수정은 실제로 작업입니다.
계정 소유권
일반적으로 지갑으로 계정을 만들 때 소유자는 솔라나 계정 명령을 사용하여 기본 계정 정보를 확인합니다:

PDA 계정이라는 또 다른 유형의 계정이 있는데, 이는 스마트 컨트랙트에서 파생된 계정으로 주로 스마트 컨트랙트를 저장하는 데 사용됩니다. 스마트 컨트랙트 데이터를 저장하는 데 주로 사용되며, 그 소유자는 해당 계정이 파생된 스마트 컨트랙트입니다. 예를 들어 토큰의 발행과 보유에 대한 정보를 저장하는 데 사용되는 계정은 일종의 PDA 계정이며, 솔라나 계정으로 계정의 기본 정보를 확인하면 그 소유자가 토큰 스마트 컨트랙트라는 것을 알 수 있습니다. TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA:

이 두 계정 모두 소유자를 수정할 수 있지만 서로 다른 규칙 및 제한 사항이 다릅니다.
일반 계정
커맨드나 스크립트를 통해 외부에서 직접 소유자를 수정할 수는 없지만, 다음 키 지침을 사용하여 스마트 컨트랙트 호출을 통해 수정할 수 있습니다.

assign 지시어는 계정의 소유자를 현재 값에서 새로운 소유자로 변경하며, 애플리케이션이 배포된 후 Solana CLI 또는 클라이언트(예: Solana Web3.js)를 사용하여 호출됩니다. 이 피싱 사고에서는 이 기능을 사용하여 피해자가 자발적으로 할당 명령이 포함된 거래에 서명하도록 유도하여 피해자의 지갑 주소 소유자를 조용히 이전했습니다.
PDA 계정
단순히 말해, PDA 계정에서 소유자를 수정할 수 있지만 계정 데이터가 null이어야 하며, 이는 assign 지시어로도 수행되며 몇 가지 시나리오에 대해 소유자 수정 피드백을 간단히 테스트해 보았습니다:
1. 새로 생성된 PDA 계정, 소유자를 임의로 지정할 수 있으며 소유자가 계정을 생성한 프로그램이 아닌 경우 해당 프로그램은 쓰기 권한이 없습니다. 소유자가 해당 계정을 생성한 프로그램이 아닌 경우 해당 프로그램에는 쓰기 권한이 없습니다.
2. 완료된 PDA 계정이 소유자를 수정하려고 할 때 오류: 명령이 불법적으로 수정되었습니다. 계정의 프로그램 ID를 수정했습니다.
3. PDA 계정이 데이터 쓰기를 시도하기 전에 결국 할당: instruction 오류가 발생합니다. 데이터 쓰기 시도: 명령어가 소유하지 않은 계정의 데이터를 수정했습니다.
소유자가 변경된 후 사용자는 계정에 대한 통제권을 잃게 되며, 공격자는 CPI 호출을 통해 계정 자산을 이전할 수 있습니다.
또 다른 일반적인 소유권 변경 유형은 토큰 계정 소유권이며, 이는 본질적으로 스마트 컨트랙트 내 로직에 의해 제어되는 소유권입니다. 이는 본질적으로 솔라나의 기본 로직이 아닌 스마트 컨트랙트 내의 로직에 의해 제어되는 소유권이지만 피싱 공격에도 자주 사용되므로 사용자는 이러한 유형의 피싱 공격에 유의해야 합니다.
미스트트랙 애널리틱스
체인 추적 및 자금 세탁 금지에 따르면 미스트트랙이 피해자의 주소 9w2e3kpt5XUQXLdGb51nRWZoh4JFs6FL7TdEYsvKq6Wb를 분석한 결과, 이 공격의 송금 경로가 복잡하며 공격자는 주로 BaBcXDg... (흐름 1), 7pSj1R... (흐름 1), 7pSj1R... (흐름 1), 7pSj1R... (흐름 1), 7pSj1R... (흐름 1), 7pSj1R... (흐름 1.), 그리고 7pSj1R... (흐름 1. ...(흐름 2).
흐름 방향 1: BaBcXDgbPgn85XtEQK7TZV8kZuFpT4iWVAs4QJoyNSmd span>
첫 번째 주요 경로는 약 238만 달러의 자산 등가물을 포함하며 "다계층 확산 + 탈중앙화된 CEX 예금 + 다중 주소 전송"이라는 핵심 특징을 가지고 있습니다. + 다중 주소 전송"입니다. 공격자는 이 주소에서 받은 여러 토큰(PAYAI, CASH, CARDS, JitoSOL, POLYFACTS, PUMP, PYUSD, CAP 포함)을 SOL로 변환했으며, 7E4eNkK로 전송된 후 PUMP를 SOL로 변환했습니다...

변환 후 SOL의 주요 흐름은 다음과 같습니다:
1) 717.5 SOL이 YDrMfsB...로 전송되었고, 일부 SOL이 바이낸스 플랫폼으로 전송되었으며, 나머지 자금은 분산되어 약 4개의 트랜짓 주소에 머물러 있었습니다.

2) 7,556.89 SOL + 2,218 SOL (Letsexchange에서) 7E4eNkK...로 통합 및 집계된 후 SOL의 일부가 의 일부인 5,050.93 SOL이 Letsexchange 플랫폼으로 이체되었고, 나머지 자금은 분산되어 약 13개의 환승 주소에 남아있었습니다.

3) 2,161.88 SOL + 앞서 언급한 5,050.93 SOL in FyB2jD... 더 파편화되어 여러 플랫폼(HTX , 바이낸스, 쿠코인, 체인지나우, 체인질리) 및 일부는 알 수 없는 주소(25nULbv...)로 이동했으며, 나머지 자금은 분산되어 약 25개의 환승 주소에 머물러 있습니다.

4) 2,053 SOL이 6qdtH5D...로 이체, SOL의 일부가 Letsexchange 플랫폼으로 이체되고 나머지 자금은 분산되어 약 15개의 환승 주소에 머물렀습니다. 나머지 자금은 분산되어 약 15개의 환승 주소에 남아 있습니다.


5) 20 SOL이 5rJdvkp...로 전송된 후 2etvjZH 주소로 전송 및 체류....
> p>
6) 2,142 SOL이 2xFzAda...로 전송, 352 SOL이 바이낸스 플랫폼으로 전송, 200 SOL이 Letsexchange 플랫폼으로 전송되었습니다. 나머지 자금은 분산되어 약 11개의 환승 주소에 머물러 있는 렛섹스체인지 플랫폼.

스트림 2: 7pSj1RxHf77G3XeisvnNAtbyx5AFjYPcChswWhZe9bM8 p>
두 번째 주요 경로에는 약 79만 달러 상당의 자산이 포함되며, "크로스 체인 및 멀티 체인 재활용"이 핵심적인 특징입니다. 공격자들은 또한 여러 개의 수신 토큰을 SOL로 전환했으며, 그 중 JitoSOL, PUMP, POLYFACTS가 높은 비율을 차지했습니다.


5,742 SOL이 FiywJZ2Z...로 전송되었으며, MistTrack에서 '피싱'으로 플래그 지정된 다른 피싱 이벤트 주소로부터도 2,772.8 SOL을 수신했습니다. 2772.8 SOL.

이 경우 공격자는 Relay.link를 통해 8,579.92 SOL을 ETH로 변환하고 이를 Arbitrum 주소로 교차 링크합니다. 0xDCFa6f...로 전환한 다음, 1inch를 통해 자금을 SOL로 전환하고 여러 솔라나 주소로 교차 체인화한 다음, 여기에 설명된 대로 1inch를 사용하여 다시 교차 체인화하는 과정을 반복했습니다.


FiywJZ2Z... 나머지 215.89 SOL을 Ah5Rs916...로 전송하여 29로 변환했습니다. 5000, 5000, 5000, 5000, 5000, 5000, 19,875.38의 값으로 Relay.link를 통해 USDC가 DAI로 변환되어 체인을 통해 베이스 및 이더리움 주소 0xd2c1c2A...로 전송되었으며, 이 중 5000 USDC 2개가 반환되었고 아직 DAI는 전송되지 않았습니다. 아직 DAI가 전송되지 않았습니다.



DeFi 자산 구조
또한 여러 당사자의 도움으로 피해자의 DeFi 잔여 자산이 성공적으로 인출되었으며, 약 217만 PYUSD와 4548 USDC로 구성된 주소 fgR5PJF...를 통해 이체가 완료되었습니다:

이번 자금 흐름은 공격자의 행동 패턴을 명확하게 보여줍니다: 빠른 분산, 다중 주소 호핑, 다중 플랫폼 혼합, 크로스 체인 재활용, CEX 예금 및 DeFi 자산 재사용을 동시에 수행하여 다층적이고 교차 생태 자금 세탁 네트워크를 구축하여 추적의 어려움을 크게 증가시켰습니다. 현재 미스트트랙은 모든 관련 주소에 플래그를 지정했습니다.
유사한 공격을 어떻게 방지할 수 있나요?
일반 사용자에게는 이러한 유형의 공격은 본질적으로 피싱 공격입니다! ". 공격자는 에어드랍, 보상, 작업, 조기 테스트 자격, 심지어 공식 발표인 것처럼 위장하는 등 다양한 방법으로 링크를 포장하여 사람들이 단순한 작업이라고 생각하도록 하지만 실제로는 팝업 서명에 소유자 수정과 같은 고위험 권한이 숨겨져 있습니다. 일단 서명이 완료되면 지갑은 기본적으로 인계됩니다. 따라서 가장 중요한 예방 방법은 링크와 '서명'을 클릭하기 전에 출처가 신뢰할 수 있는 곳인지 더 많이 생각하는 것입니다. 이 페이지는 공식적인 것인가요? 서명은 실제로 어떤 기능을 하나요? 지갑 팝업의 내용을 읽을 수 없거나, 이상한 권한, 낯선 주소 또는 설명할 수 없는 권한이 필요한 곳이 갑자기 나타나면 확인 버튼을 클릭하지 말고 멈춰서 확인해야 합니다.
대량의 자산이 보관되어 있는 지갑과도 상호작용하지 마세요. 작업을 수행하고, 프로젝트를 플레이하고, 에어드랍을 받기 위해 "낮은 잔고, 상호작용 전용" 트럼펫을 준비하고, 정말 중요한 자산은 별도의 지갑이나 콜드월렛에 넣어두면 실수로 가입하더라도 손실을 최소화할 수 있습니다. 또한 무제한 인증의 범위와 금액을 최대한 제한하여 장기적으로 공격자가 악용할 수 있는 여지를 줄일 수 있습니다.
요약하면, 한 번 더 살펴보고, 한 번 더 확인하고, 가리키지 말고, 서명하지 말고, 스스로 보호막을 남겨두는 것입니다. 가장 먼저 해야 할 일은 돈을 많이 버는 것입니다. 이렇게만 하면 이런 종류의 피싱 공격을 받을 위험을 크게 줄일 수 있습니다. 마지막으로, 블록체인 다크 포레스트 자가 진단 매뉴얼(https://darkhandbook.io/)을 읽어보실 것을 적극 권장합니다.