Notional Finance, 정수 오버플로 취약점으로 이더리움(ETH) 173만 달러 피해

공격자가 Notional Finance 에스크로에서 정수 오버플로 버그로 173만 달러를 인출, 689 ETH로 스왑해 Tornado Cash로 이동시켰다.

(오후 12:06 UTC)
3분 읽기
AI 요약AI
  • Notional Finance 에스크로에서 173만 달러 규모 자금이 정수 오버플로 공격으로 유출됐다
  • 공격자는 69,257 DAI와 165만 8,524 USDC를 인출했다
  • 탈취 자금은 약 689 ETH로 스왑된 뒤 Tornado Cash를 통해 이동했다
  • 공격 트랜잭션은 목요일 23시 58분(UTC)에 기록됐고 인출은 3분 뒤 이뤄졌다
k7rq2fdm

정수 오버플로가 부채를 0으로 바꾸다

공격자는 금요일 새벽, Notional Finance의 레거시 에스크로 컨트랙트에서 약 173만 달러를 인출해 갔다. 핵심 수법은 정수 오버플로(integer overflow) 버그로, 조작된 거대한 부채 값을 시스템이 0으로 인식하게 만든 것이다. Notional Finance는 이더리움 위의 고정금리 대출 프로토콜로, 1세대 버전에서는 미래 현금 의무를 fCash라는 토큰으로 기록했다. 대출자가 부채를 추가하기 전 시스템은 담보를 검증하는데, 이 검증 과정에서 의무를 이더 환산값으로 바꿀 때 원시(raw) uint128 변환이 사용됐다. 사건을 추적한 연구자들에 따르면, 두 번의 민팅 합계가 정확히 2의 128제곱에 도달했고, 이 단 하나의 값만이 해당 변환에서 0으로 평탄화된다. 검사형(checked) 변환이었다면 이 수치를 조용히 잘라버리는 대신 거부했을 것이다. 아이러니하게도 같은 파일의 다른 위치에서는 프로토콜이 더 안전한 검사형 방식을 사용하고 있었다. 오버플로가 성공하자 공격자의 계좌는 무부채 상태로 표시됐다. 온체인 기록에 따르면 세팅 트랜잭션은 목요일 23시 58분(UTC)에 블록에 기록됐고, 불과 3분 뒤 인출이 이어졌다. 이 2단계 시퀀스는 Etherscan에서 직접 확인할 수 있다. 두 번째 트랜잭션은 에스크로에서 69,257 DAI와 165만 8,524 USDC를 빼냈다. 두 스테이블코인은 모두 달러 페그 자산으로, DeFi 이용자들이 수익형 스테이블코인 담보로 널리 활용하는 자산이다. 공격자는 트랜잭션을 비공개로 라우팅하기 위해 블록 빌더 Titan에게 0.07 ETH를 팁으로 지급했고, 이 소액 브라이브 덕분에 해당 거래는 공개 멤풀에 노출되지 않았으며 프로토콜은 대응할 시간조차 얻지 못했다. 계산 결과는 냉정하다. 수년간 손대지 않은 코드 속 단 한 번의 미검사 캐스트가, 조작된 숫자를 일곱 자리 달러 규모의 수익으로 바꿔주기에 충분했다. 에스크로 컨트랙트가 잔여 잔액을 수거(sweep)하지 않은 탓에 자금은 금요일의 트랜잭션이 도래할 때까지 그대로 방치돼 있었다.

689 ETH, Tornado Cash로 유입

탈취된 DAI와 USDC는 약 689 이더리움(ETH)으로 스왑된 뒤 Tornado Cash를 통해 이동했다. Tornado Cash는 지갑 간 추적을 끊어버리는 믹싱 서비스로, Aztec Network 같은 프로토콜이 컴플라이언스 방식으로 추구하는 영지식 프라이버시 레이어와 인접한 생태계의 구석에 자리한다. 보안 업체 PeckShield는 자금 인출 직후 온체인 모니터 Specter의 경고를 중계했으며, 현재 온체인 데이터는 에스크로에 약 6만 600달러 상당의 잔여 토큰이 남아 있음을 보여준다. 표적 자체가 더 깊은 이야기를 담고 있다. Notional은 2025년 11월 Balancer 익스플로잇이 볼트까지 연쇄된 이후 3세대 버전을 정리했지만, V1 컨트랙트는 여전히 살아 있고 자금도 들어 있는 채 아무도 수거하지 않았다. 그 결과 실제 자금이 담긴 휴면 장부가 방치됐다. 이는 지난 6월 공격자가 Raydium의 레거시 솔라나 풀을 배출했을 때와 동일한 패턴이다. 교훈은 누적된다. 독립적으로 감사를 받은 프로토콜이 여전히 암호화폐 해킹 피해의 대부분을 차지하며, 결국 오래된 감사 보고서는 여기서 아무 보호도 되지 못했다. 이 규모의 Tornado Cash 입금은 통상 며칠에 걸쳐 수백 개 주소로 분산되기 때문에 회복 가능성은 희박하다. 시장 반응은 무관심 수준으로 잠잠하다. 프로토콜 토큰 NOTE는 0.0065달러 근처에서 거래되며 24시간 기준 3.5% 상승했고, 시가총액은 약 40만 700달러에 불과하다. 이는 브랜드에 남아 있는 경제 활동이 얼마나 적은지를 그대로 반영하는 평가다. 발행 시점 기준 Notional은 어떤 성명도, 확정된 피해 금액도, 포스트모템도 발표하지 않았으며 인출된 자금이 사용자, 금고, 아니면 제3자의 것인지도 확인되지 않았다. 예치자들에게 이번 사건은 아무도 관리하지 않는 컨트랙트에 자금을 두기보다 콜드 월렛으로 보유하라는 또 하나의 근거가 된다. 시장을 실시간으로 추적하려는 독자는 Gate에서 현물·선물 가격을 실시간으로 확인할 수 있다.

풀리지 않은 소유권 문제

1차 증거에 대한 우리의 판단은 명확하다. 공격자의 인출은 Etherscan 장부상 공개 기록으로 남아 있고, 유출 금액 약 173만 달러는 온체인에서 검증 가능하며, 근본 원인 역시 오버플로 연산 자체에 문서화돼 있다. 즉 검사형 변환이라면 거부했 값을 조용히 지워버린 원시 uint128 캐스트가 범인이다. 대응 방안 역시 분명하다. 모든 연산에 검사형 수학을 적용하고, 레거시 컨트랙트가 채무로 성숙하기 전에 잔액을 수거하는 것이다. 남은 것은 팀 자체의 포스트모템이다. Notional이 이를 발표하기 전까지 소유권 문제는 열린 채로 머물며, 현재 ETH로 바뀐 자금이 컴플라이언스를 갖춘 암호화폐 거래소에 다시 모습을 드러낼 가능성은 낮다.

COINOTAG News Desk

COINOTAG News Desk

COINOTAG의 편집 및 리서치 데스크입니다.

News Desk 운영 방식
AI 지원

이 콘텐츠는 인공지능으로 생성되어 AI 검토를 거쳤으며 COINOTAG 편집 감독 하에 게시되었습니다.