대조학습 기반 입자구 클러스터링으로 스마트 계약 취약점 탐지 강화
본 논문은 라벨 노이즈가 존재하는 스마트 계약 데이터셋에서 취약점 탐지 모델의 견고성을 높이기 위해, 컨트라스트 학습으로 사전 학습한 임베딩을 입자구(Granular‑Ball) 클러스터링 레이어와 결합한 CGBC 프레임워크를 제안한다. 입자구는 유사 계약을 자동으로 군집화하고, 군집 중심과 라벨을 새로운 거친 표현으로 사용해 노이즈 라벨을 보정한다. 인터‑GB 압축 손실과 인트라‑GB 이완 손실을 통해 군집 품질을 최적화하고, 대칭 교차 엔트로…
저자: Zeli Wang, Qingxuan Yang, Shuyin Xia
스마트 계약은 블록체인 기반 애플리케이션의 핵심 로직을 자동화하지만, 코드 결함이 직접적인 금전 손실로 이어질 위험이 크다. 기존 정적·동적 분석 도구들은 규칙 기반 혹은 심볼릭 실행을 활용해 취약점을 탐지하지만, 복잡한 로직과 다양한 변수 선언으로 인해 한계가 있다. 최근에는 대규모 계약 데이터와 딥러닝 기술의 발전으로, 자동으로 취약점 패턴을 학습하는 모델들이 등장했으며, 특히 그래프 신경망(GNN)이나 Transformer 기반 인코더가 주류를 이루고 있다. 그러나 이러한 모델들은 **라벨 노이즈**에 매우 민감하다. 대부분의 학습 데이터는 오픈소스 스캐너나 휴리스틱 툴을 통해 자동 라벨링되며, 실제 연구에 따르면 40 % 이상이 잘못 라벨링될 가능성이 있다. 라벨이 부정확하면 모델이 잘못된 패턴을 학습해 검출 정확도가 급격히 떨어진다.
본 논문은 이러한 문제를 해결하기 위해 **Contrastive learning‑enhanced Granular‑Ball training (CGBC)** 라는 새로운 프레임워크를 제안한다. CGBC는 크게 네 단계로 구성된다.
1. **스마트 계약 임베딩 사전 학습**
- 계약 코드를 토큰화하고, Transformer‑기반 인코더에 입력한다.
- ‘Semantic‑consistent augmentation’ 기법을 사용해, 변수명 교체, 코드 순서 재배열, 주석 삽입·삭제 등 의미를 보존하면서도 형태를 변형한 두 버전을 생성한다.
- 대조학습(Contrastive Learning) 목표로, 동일 계약의 두 변형은 임베딩을 가깝게, 서로 다른 라벨을 가진 계약은 멀게 만든다. 이 과정은 라벨에 의존하지 않으므로, 노이즈가 있는 데이터에서도 의미 있는 표현을 학습할 수 있다.
2. **Granular‑Ball 클러스터링 레이어 삽입**
- 인코더 출력 임베딩 위에 Granular‑Ball 레이어를 두어, 데이터 분포에 따라 자동으로 다중‑Granularity 구를 형성한다.
- 각 구는 중심 벡터와 구에 속한 샘플들의 다수결 라벨을 새로운 ‘거친’ 표현으로 정의한다. 이때 구 내부에 존재하는 노이즈 라벨은 다수결에 의해 자연스럽게 억제된다.
- **Inter‑GB compactness loss**는 서로 다른 구 사이의 중심 거리를 늘려 구 간 경계를 명확히 하고, **Intra‑GB looseness loss**는 구 내부 샘플들을 중심에 가깝게 모아 군집 응집력을 강화한다.
3. **노이즈‑강인 손실 함수 적용**
- 기존 교차 엔트로피는 라벨 노이즈에 취약하므로, 대칭 교차 엔트로피(Symmetric Cross‑Entropy)를 사용한다. 이는 정방향 교차 엔트로피와 역방향 교차 엔트로피를 평균해, 라벨이 잘못된 경우에도 그래디언트가 과도하게 왜곡되지 않도록 설계되었다.
4. **전체 모델 파인튜닝 및 평가**
- 사전 학습된 인코더와 Granular‑Ball 레이어를 결합한 뒤, 위 손실들을 동시에 최적화한다.
- 실험은 이더리움 스마트 계약 데이터셋을 기반으로 재진입(Reentrancy), 타임스탬프 의존(Timestamp Dependency), 정수 오버플로(Integer Overflow) 세 가지 취약점 유형을 대상으로 수행했다. 라벨 노이즈 비율을 0 %에서 40 %까지 단계별로 주입해, 기존 GNN‑기반 모델(ContractGNN, MTVHunter 등), Transformer‑기반 모델(CLEAR, ContractWard), 그리고 최신 대조학습 기반 모델(CLEAR)과 비교했다.
**주요 결과**
- 40 % 노이즈 상황에서도 CGBC는 평균 F1‑score 76.59 %를 기록, 가장 높은 성능을 보였다.
- 라벨 노이즈가 10 % 이하일 때는 기존 모델과 비슷했지만, 노이즈가 20 %를 넘어가면 성능 격차가 급격히 확대돼, CGBC의 군집‑보정 메커니즘이 효과적임을 확인했다.
- Ablation study에서는 대조학습 사전 학습을 제외하면 군집 품질이 저하되고, Granular‑Ball 레이어 없이 대칭 교차 엔트로피만 적용해도 노이즈에 대한 강인성이 크게 감소함을 보여, 두 요소가 상호 보완적임을 입증했다.
**기술적 의의**
- **Granular‑Ball**은 기존 K‑means나 DBSCAN과 달리 사전 클러스터 수를 지정할 필요 없이 데이터 분포에 따라 자동으로 구의 크기와 개수를 조정한다. 이는 스마트 계약처럼 코드 길이와 복잡도가 크게 변동하는 도메인에 적합하다.
- **Semantic‑consistent augmentation**은 코드 수준에서 의미 보존을 보장하면서도 다양한 변형을 생성함으로써, 대조학습이 코드 구조의 미세 차이를 학습하도록 돕는다. 이는 자연어 처리에서 흔히 쓰이는 텍스트 증강과는 달리, 컴파일러 수준의 의미 보존을 고려한 독창적인 접근이다.
- **대칭 교차 엔트로피**는 라벨 노이즈에 대한 이론적 분석이 활발히 진행되는 분야에서, 스마트 계약 취약점 탐지에 처음 적용된 사례이며, 실제 실험을 통해 노이즈 비율이 높은 상황에서도 안정적인 학습을 가능하게 함을 보여준다.
**한계 및 향후 연구**
- Granular‑Ball 클러스터링은 현재 Euclidean 거리 기반으로 구현돼, 임베딩 공간의 비선형 구조를 완전히 포착하지 못한다. 향후 거리 함수나 커널 기반 확장을 검토할 필요가 있다.
- 증강 방법은 현재 변수명 교체와 코드 순서 재배열에 국한돼 있다. 보다 복잡한 변형(예: 함수 인라인/아웃라인, 제어 흐름 변형)도 탐색하면 대조학습 효과를 더욱 증대시킬 수 있다.
- 현재 실험은 세 가지 취약점에 한정돼 있으므로, 다른 유형(예: 권한 상승, 무한 루프)에도 적용해 일반화 능력을 검증해야 한다.
종합하면, CGBC는 라벨 노이즈가 심각한 스마트 계약 취약점 데이터셋에서도 강인한 탐지 성능을 달성할 수 있는 **대조학습 + 다중‑Granularity 군집**이라는 새로운 학습 패러다임을 제시한다. 이는 향후 자동화된 보안 분석 파이프라인에 라벨 품질 보정 모듈로 통합될 가능성을 열어준다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기