피드로 돌아가기
Dev.toSecurity
원문 읽기
CREATE2와 Proxy 취약점 기반의 Stealth Drain 설계
Chapter 5: The Honeypot Gambit
AI 요약
Context
Ethereum Mainnet 상의 Honeypot 컨트랙트에서 자금을 추출해야 하는 상황. 공개적인 claimAllFunds() 함수 호출 시 Gas War 발생으로 인한 신원 노출 및 모니터링 시스템 탐지 위험이 존재함.
Technical Solution
- CREATE2 Factory 패턴을 통한 Deterministic Address 생성으로 배포 주소의 익명성 확보
- Block Hash 기반 Salt 설계를 통해 블록 채굴 전까지 배포 주소 예측을 방지하는 Anti-forensics 적용
- Proxy Upgrade 패턴의 delegatecall 컨텍스트 보존 취약점을 이용한 권한 우회 경로 식별
- 공개 이벤트 로그를 생성하지 않는 Undocumented function인 emergencyWithdraw()를 통한 Stealth Drain 구현
- Flash Loan을 통한 자금 조달로 공격자의 초기 자본 유입 흔적 제거 및 3단계 Intermediate Hops를 통한 자금 세탁 경로 설계
실천 포인트
- Proxy 패턴 도입 시 delegatecall을 통한 msg.sender 컨텍스트 변조 가능성 검토 - 비즈니스 로직 외에 관리자용 Backdoor 함수가 bytecode 수준에서 노출되어 있는지 정기적 감사 수행 - CREATE2 등을 이용한 예측 가능한 주소 배포 시 Salt 값의 엔트로피 확보 여부 확인