← 최신 논문
💻 computer science

Insecurity Through Obscurity: Veiled Vulnerabilities in Closed-Source Contracts

이 논문은 폐쇄형 소스 스마트 계약의 코드 난독화가 취약점을 방지하기보다는 오히려 은폐한다는 점을 입증하며, 1,000개 이상의 실제 MEV 봇에서 결함을 성공적으로 탐지하고 잠재적 가치가 1,050만 달러에 달하는 익스플로잇을 생성해 내는 새로운 EVM 바이트코드 분석 도구인 SKANF를 소개한다.

원저자: Sen Yang, Kaihua Qin, Aviv Yaish, Fan Zhang

게시일 2026-06-11
📖 4 분 읽기☕ 가벼운 읽기

원저자: Sen Yang, Kaihua Qin, Aviv Yaish, Fan Zhang

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

블록체인(이더리움과 같은)을 거대하고 공개된 유리 집이라고 상상해 보세요. 이 집 안에서는 누구나 그곳에서 돌아가는 모든 기계(스마트 컨트랙트)의 설계도를 볼 수 있습니다. 보통 이것은 아무도 함정을 숨길 수 없다는 것을 의미하기 때문에 좋은 일입니다. 하지만, 일부 기계 제작자들은 자신들의 설계도를 안개로 감싸거나, 도면에 페인트를 칠하거나, 오직 자신들만이 길을 찾을 수 있는 비밀 통로를 만드는 결정을 내립니다. 그들은 자신들의 사업 비밀을 지키거나 아이디어를 도난당하는 것을 막기 위해 이렇게 합니다.

**"불투명성을 통한 불투명성(Insecurity Through Obscurity)"**이라는 논문은, 이 제작자들이 설계를 숨김으로써 기계를 더 안전하게 만들고 있다고 생각하지만, 실제로는 기계를 더 위험하게 만들고 있다고 주장합니다. 설계를 숨김으로써, 그들은 실수로 고장 난 자물쇠와 열려 있는 창문까지도 함께 숨겨버리게 됩니다.

다음은 연구진들이 수행한 작업과 발견한 내용에 대한 간단한 요약입니다.

1. 문제점: "열쇠를 숨기기"

연구진들은 이 유리 집 안에서 가장 활발하게 움직이는 많은 기계가 "소스가 공개되지 않았고(closed-source)", "난독화되어(obfuscated)" 있다는 점에 주목했습니다.

  • 비유: 은행 금고의 보안 요원이 눈가리개를 쓰고 있고, 경보 시스템이 비밀 코드로 작성되어 있다고 상상해 보세요. 은행 주인은 "아무도 코드를 읽을 수 없다면, 아무도 해킹할 수 없을 거야!"라고 생각합니다.
  • 현실: 코드가 너무 엉망이기 때문에, 은행의 보안 전문가들조차 금고 문이 실제로 활짝 열려 있다는 사실을 보지 못합니다. 이러한 "불투명성(obscurity)"은 "불안전함(insecurity)"을 초래합니다.

2. 도구: "안개를 걷어내는 로봇" (skanf)

저자들은 skanf(연구원 네 명인 Sen, Kai, Aviv, Fan의 이름을 따서 명명됨)라는 새로운 도구를 만들었습니다. skanf를 특수 손전등과 해독기를 갖춘 고성능 로봇이라고 생각하세요.

  • 1단계: 안개 걷어내기 (역난독화/Deobfuscation): 로봇은 뒤섞인 코드를 스캔합니다. 로봇은 이 특정 유형의 기계(EVM)에서 모든 비밀 문에는 반드시 특정 "출입 금지" 표지판(JUMPDEST)이 있어야 한다는 것을 알고 있습니다. 로봇은 이 표지판들을 찾아내어 지도를 다시 그려, 비밀스럽고 구불구불한 경로를 명확하고 곧은 선으로 바꿉니다. 갑자기 숨겨진 문들이 눈에 보이게 됩니다.
  • 2단계: 역사를 가이드로 사용하기 (시드 실행/Seeded Execution): 로봇은 단순히 기계가 어떻게 작동하는지 추측하지 않습니다. 로봇은 기계의 과거 행동(역사적 트랜잭션)을 살펴보고 기계가 보통 어디로 가는지 확인합니다. 로봇은 이 과거의 여정들을 "시드(seed)"로 사용하여 탐색을 유도하며, 이를 통해 어둠 속에서 추측하는 것보다 훨씬 빠르게 위험한 경로를 찾아냅니다.
  • 3단계: 테스트 드라이브 (익스플로잇 생성/Exploit Generation): 로봇은 고장 난 자물쇠(취약점)를 발견하면 단순히 보고만 하는 것이 아닙니다. 로봇은 실제로 문을 열기 위한 "열쇠(익스플로잇)"를 만듭니다. 만약 이 열쇠가 작동한다면, 이는 해당 기계가 정말로 취약하다는 것을 증명합니다.

3. 테스트 베드: MEV 봇

연구진은 자신들의 로봇을 테스트하기 위해 MEV 봇을 조사했습니다.

  • 비유: 레이싱 카 부대(봇)가 트랙(블록체인)을 달리며 빠른 수익을 내기 위해 교통 흐름 사이의 아주 작은 틈을 찾아 파고드는 모습을 상상해 보세요. 이 차들은 매우 빠르고 엄청난 양의 돈을 다루며, 운전자(검색자)들은 엔진이 어떻게 작동하는지에 대해 매우 비밀스럽습니다.
  • 선택 이유: 이 봇들은 종종 소스가 공개되지 않고 암호화되어 있어, 안개를 꿰뚫어 보기 위해 설계된 도구의 완벽한 테스트 대상이 됩니다.

4. 발견 사항: 수많은 열린 문들

결과는 놀라웠습니다.

  • 스캔: 로봇은 이 레이싱 카 6,554대를 스캔했습니다.
  • 발견: 그중 1,030대가 도둑들이 연료(크립토 자산)를 훔쳐갈 수 있는 고장 난 자물쇠(취약점)를 가지고 있었습니다.
  • 증명: 로봇은 394대의 차량에 대해 실제로 작동하는 열쇠를 만드는 데 성공했습니다.
  • 비용: 만약 도둑이 이 열쇠들을 사용했다면, 그들은 1,060만 달러 이상의 금액을 훔칠 수 있었을 것입니다.

5. 실제 사례 증거: "피싱(Phishing)" 함정

연구진은 또한 이미 누군가 이 레이싱 카들로부터 물건을 훔쳤는지 확인하기 위해 역사를 되짚어 보았습니다.

  • 공격: 그들은 104건의 실제 절도 사건을 발견했습니다. 도둑들은 **"MEV 피싱"**이라 불리는 교묘한 기술을 사용했습니다.
  • 작동 방식: 도로 위에 도둑이 가짜 황금 덩어리(가짜 기회)를 놓아두었다고 상상해 보세요. 레이싱 카 운전자는 그것을 보고 큰 수익이 될 것이라 생각하여 그 위로 달려갑니다. 하지만 그 황금 덩은 사실 함정입니다. 차가 그 위를 지나가는 순간 함정이 열리고, 도둑은 차의 연료를 훔쳐 갑니다.
  • 손실: 이러한 실제 절도 사건들로 인해 운전자들은 이미 약 276만 달러를 잃었습니다.
  • 놓친 기회: 연구진은 자신들의 로봇(skanf)이 절도가 일어나기 전에 대부분의 도난당한 차량들에 있는 고장 난 자물쇠를 포착할 수 있었을 것이라는 점을 발견했습니다.

6. 결론

논문은 코드를 숨기는 것이 당신을 안전하게 만드는 것이 아니라, 단지 당신 자신의 실수를 보는 것을 더 어렵게 만들 뿐이라고 결론짓습니다.

  • 제작자들을 위하여: 돈을 담고 있는 기계를 만들고 있다면, 당신은 자신의 설계도를 명확하게 볼 수 있어야 합니다. 설계를 숨기는 것이 비밀을 보호할 수는 있겠지만, 당신의 돈을 노출된 상태로 남겨둘 수도 있습니다.
  • 핵-포인트: 연구진은 적절한 도구(skanf와 같은)가 있다면, 우리는 안개를 걷어내고, 고장 난 자물쇠를 찾아내고, 도둑들이 도착하기 전에 그것을 고칠 수 있다는 것을 보여주었습니다.

요약하자면: 당신의 보안 결함을 어둠 속에 숨기지 마세요. 그것들을 고칠 수 있도록 빛을 비추어 밝히십시오.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →