Solana CPI 기반의 스마트 컨트랙트 보안 취약점 및 경량 보안 기법에 관한 연구
A Study on Security Vulnerabilities and Lightweight Protection Mechanisms in Solana CPI-Based Smart Contracts
0
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
본 논문은 Solana 스마트 컨트랙트에서 Cross-Program Invocation(CPI) 구조가 갖는 보안 취약점을 실험적으로 분석하고, 이를 방지하기 위한 경량 보안 알고리즘 SecureCPIGuard를 제안한다. VRust 연구에서 제시된 8가지 Solana 취약점 유형 중 Anchor 프레임워크로 구조적으로 방어하기 어려운 4가지를 중심으로 공격 시나리오를 구현하였다. 그 결과, Missing Signer Check와 Missing Owner Check는 Anchor만으로는 차단되지 않고 상태 변경이 가능함을 확인하였다. 반면, Unauthorized Writable Access와 Account Reinitialization은 Anchor 구조 내에서 방지 가능하였다. 이를 바탕으로 실행 시점에서 context 기반 계정 속성 검증을 수행하는 SecureCPIGuard를 설계하고, 트랜잭션 처리 시간과 보안성 차이를 실험적으로 분석하였다. 본 제안 기법은 Anchor 기반 검증의 한계를 보완하며, 성능을 유지하면서 실효성 있는 보안을 구현할 수 있음을 확인하였다.
Abstract
This paper presents an empirical analysis of security vulnerabilities in Solana smart contracts, focusing on the Cross-Program Invocation (CPI) mechanism. VRust, a vulnerability detection framework for Solana, identifies issues related to missing runtime account checks. Based on this, we selected four critical vulnerabilities that cannot be fully prevented by the Anchor framework. Our experiments show that two of these—Missing Signer Check and Missing Owner Check—remain exploitable even with Anchor declarations, allowing unauthorized state changes. In contrast, Unauthorized Writable Access and Account Reinitialization were successfully mitigated by Anchor’s checks. To address this gap, we propose SecureCPIGuard, a lightweight module that performs context-based account verification before CPI execution. Our results demonstrate that SecureCPIGuard effectively blocks unauthorized access with minimal performance impact. This highlights the need for runtime verification and offers a practical method to secure CPI-based smart contracts.
