TL;DR
- 보안은 DeFi에서 여전히 중요하고 지속적인 과제이며, 매년 수십억 달러의 손실이 발생하고 있습니다.
- DeFi 프로토콜의 보안 조치는 출시 전부터 출시 후까지 전체 수명 주기에 걸쳐 이루어져야 하며, 내재적 측면과 운영적 측면 모두를 보호해야 합니다. 잠재적인 공격을 완화하기 위한 예방 전략과 비상 계획을 구현하는 것이 중요합니다.
- 코드 감사를 중심으로 한 출시 전 보안은 커뮤니티의 공통된 합의가 되었습니다. 그러나 출시 후 보안 솔루션(예: 공격 모니터링 및 차단)이 등장했음에도 불구하고, 그 중요성은 아직 커뮤니티에서 충분히 인식되지 않고 있습니다.
- 보안 관행의 지속적인 개선과 보안 우선 문화로의 전환은 사용자 자산을 보호하고 생태계에 대한 신뢰를 높이는 데 필수적입니다.

소개
DeFi가 금융 환경을 혁신하는 가운데, 보안은 생태계 내에서 여전히 중요한 우려 사항으로 남아 있으며 매년 수십억 달러의 손실이 발생하고 있습니다.
Chainalysis의 데이터에 따르면, 2023년 DeFi 해킹으로 인한 손실은 11억 달러를 초과했습니다. 이 수치는 2022년과 비교해 감소했지만, 2023년 DeFi 해킹에서는 여러 새로운 트렌드가 나타났습니다. 예를 들어, 수년간 안전하게 운영되어 온 Curve나 KyberSwap 같은 저명한 프로토콜들이 해킹을 당했습니다. 또한, Flashbots relay와 같은 인프라 취약점을 노린 정교한 해킹도 노출되었습니다.
Security Incident Dashboard에 따르면, 2024년 상반기에는 10만 달러 이상의 손실을 초래한 해킹이 50건 이상 발생했습니다.

보안은 DeFi 애플리케이션의 번영과 대중적 채택을 위한 핵심 요소입니다. DeFi 프로토콜은 수십억 달러에 달하는 사용자 자산을 관리하며, 이러한 프로토콜을 대상으로 한 해킹은 피해 사용자들에게 막대한 손실을 초래할 수 있습니다. Euler 보안 사고처럼 일부 경우에는 해킹된 자금을 (부분적으로) 회수할 수 있지만, 매번 이를 기대할 수는 없습니다. 각각의 공격은 DeFi에 대한 사람들의 신뢰를 잠식합니다.
DeFi 보안을 강화하기 위한 여러 방법이 제안되었지만, 여전히 개선의 여지가 많습니다.
- 긍정적인 측면으로는, 코드 감사가 보안을 보장하기 위한 커뮤니티의 공통된 합의가 되었습니다. 대부분의 프로토콜은 출시 전에 코드 감사를 받으며, 이는 스마트 컨트랙트 취약점으로 인한 공격 표면을 줄이는 데 도움이 됩니다.
- 그러나 코드 감사만으로는 모든 보안 문제를 해결하기에 충분하지 않습니다. 스마트 컨트랙트 업그레이드, 구성 변경, 그리고 다양한 프로토콜 간의 런타임 의존성으로 인해 발생하는 취약점으로 인한 해킹을 방지할 수 없습니다.
이러한 한계로 인해, 운영 모니터링이나 공격 탐지 시스템과 같은 보다 능동적인 솔루션이 등장하여 일부 프로토콜에서 채택되고 있습니다.
이 블로그에서는 프로토콜의 출시 전 단계부터 운영 단계, 그리고 공격 대응에 이르기까지 각 단계별 보안 여정을 추적함으로써 DeFi 보안 환경을 탐구할 것입니다. 다양한 유형의 보안 조치를 상세히 설명하고 각 단계의 주요 벤더(제품)를 소개하며 장단점을 논의합니다. 저희의 인사이트가 커뮤니티가 현재의 기술 수준을 더 잘 이해하는 데 도움이 되고, 더 나아가 미래의 혁신적인 솔루션에 영감을 줄 수 있기를 바랍니다.
DeFi 보안 환경
DeFi 프로토콜의 보안 조치는 프로토콜의 내재적 보안과 운영적 보안을 모두 보장하면서 출시 전 단계부터 출시 후 단계까지 전체 수명 주기를 포괄해야 합니다. 또한 잠재적인 공격에 대응하기 위한 예방 조치와 비상 계획을 마련하는 것이 필수적입니다. 독자들이 이용 가능한 솔루션을 이해할 수 있도록, 저희는 DeFi 보안 벤더(제품)를 다음 카테고리로 분류합니다.
출시 전 보안
이 카테고리는 프로토콜 출시 전에 수행되는 보안 조치로, 코드 감사, 형식 검증, 보안 테스팅을 포함합니다.

코드 감사 서비스 및 콘테스트
코드 감사는 프로토콜을 보호하기 위해 커뮤니티에서 널리 인정받는 보안 관행입니다. 이 과정에서 코드는 보안 회사에 의해 반자동 방식으로 검토됩니다. 즉, 일반적인 취약점은 자동으로 스캔하고 복잡한 취약점은 수동으로 검토합니다. 대표적인 회사로는 OpenZeppelin, ChainSecurity, BlockSec 등이 있습니다.
또한, 감사 방식에서 보안 감사 회사와 차별화된 감사 콘테스트 플랫폼도 있습니다. 이러한 플랫폼은 감사 콘테스트를 주도하고, 커뮤니티의 보안 연구원들을 참여시켜 감사를 진행하며, 프로토콜에서 문제를 발견한 사람에게 보상을 분배합니다. 물론, 플랫폼마다 심각도 평가 방식, 보상 분배 알고리즘, 보안 연구원 참여 기준에서 미묘한 차이가 있을 수 있습니다. 이러한 플랫폼으로는 Code4rena, SHERLOCK, Cantina, Secure3 등이 있습니다.
코드 감사(및 콘테스트)는 프로토콜 보안을 위한 1차 방어선입니다. 그러나 실질적인 한계가 있으며, 이것이 저명한 회사의 감사를 받은 많은 프로토콜들이 여전히 해킹당하는 이유를 설명합니다.
- 첫째, 정적 코드 감사는 프로토콜 의존성, 특히 DeFi 프로토콜의 조합 가능성으로 인한 보안 문제를 완전히 평가할 수 없습니다.
- 둘째, 일부 문제의 보안 영향이 코드 감사 중에 과소평가될 수 있습니다. 예를 들어, 정밀도 손실은 일반적인 문제로 감사자와 프로토콜 모두에 의해 간과될 수 있습니다. 그 보안 영향은 Hundred Finance와 Channels Finance 사고 이전까지는 커뮤니티에서 충분히 인식되지 않았습니다.
- 마지막으로, 고품질 코드 감사는 여전히 희소하고 권위 있는 자원으로, 보안, 금융, 컴퓨터 과학에 능통한 다학제적 인재를 필요로 합니다. 현재 이러한 인재를 지속적으로 대규모로 양성할 수 있는 대학은 거의 없습니다. 따라서 프로토콜이 해당 분야에 적합하지 않은 회사에 의해 감사를 받을 수 있습니다.
형식 검증
"형식 검증은 수학의 형식적 방법을 사용하여 특정 형식 명세나 속성에 대한 시스템의 정확성을 증명하거나 반증하는 행위입니다." 형식 검증은 시스템의 정확성을 증명할 수 있기 때문에 DeFi 프로토콜에 적용되어 왔습니다. 구체적으로, DeFi 프로토콜의 동작이 형식 명세를 만족하는지 보장할 수 있습니다. DeFi 프로토콜을 위한 형식 검증 제품의 대표적인 예는 Certora가 개발한 Prover입니다. 개발자가 규칙(명세)을 제공하면 Prover는 모든 가능한 프로그램 상태를 탐색하여 결과를 규칙과 비교함으로써 버그를 식별합니다.
형식 검증의 가장 유망한 측면은 DeFi 프로토콜의 정확성을 수학적으로 증명한다는 점입니다. 그러나 실제로는 광범위한 채택을 방해하는 몇 가지 한계가 있습니다.
- 첫째, 명세는 개발자가 제공해야 하므로, 개발자가 프로토콜의 예상 동작에 대한 잘 문서화된 명세를 갖추고 있어야 합니다. 대부분의 개발자가 이 분야의 전문가가 아니라는 점을 고려하면 쉬운 일이 아닙니다.
- 둘째, 프로토콜의 잦은 업그레이드로 인해 명세의 업데이트와 프로토콜의 재평가가 필요할 수 있습니다. 일부 프로토콜은 그에 필요한 시간과 노력을 감당하지 못할 수 있습니다.
그럼에도 불구하고, 형식 검증은 특히 아직 실전 테스트를 거치지 않았고 상당한 사용자 자산을 관리하는 신규 프로토콜의 경우 반드시 수행되어야 합니다. 그러나 형식 검증의 사용성을 높이고 채택률을 높이는 것은 지속적인 과제로 남아 있습니다.
보안 테스팅
보안 테스팅은 테스트 케이스를 사용하여 프로토콜의 버그를 찾는 프로세스를 말합니다. 프로토콜의 정확성을 수학적으로 증명하는 형식 검증과 비교하여, 보안 테스팅은 일반적으로 형식 검증의 기호 입력 대신 구체적인 입력을 사용하므로 훨씬 효율적이지만 완전성은 낮습니다.
- Foundry는 스마트 컨트랙트를 위한 인기 있는 개발 및 테스팅 프레임워크 중 하나입니다. 개발자는 Foundry에서 테스트를 실행할 수 있습니다. 또한 DeFi 프로토콜에 대한 퍼즈 테스팅, 불변성 테스팅, 차이 테스팅을 수행하는 기능도 제공합니다.
- 기타 보안 테스팅 도구로는 Tenderly와 Hardhat이 있습니다.
출시 후 보안
이 카테고리는 프로토콜이 출시된 후(또는 메인넷에서 운영 중인 상태) 수행되는 보안 조치로, 버그 바운티, 공격 탐지 및 운영 모니터링을 포함합니다.

버그 바운티
버그 바운티 프로그램은 프로토콜과 보안 연구원 사이의 다리를 만들어줍니다. 기본 개념은 연구원들이 제로데이 취약점을 보고하는 대가로 보상을 받도록 인센티브를 제공하는 것입니다. 구체적으로, 프로토콜은 버그 바운티 플랫폼에 바운티를 등록하고 바운티 범위와 보고된 버그에 대한 보상 금액을 명시할 수 있습니다. Immunefi는 대표적인 Web3 버그 바운티 플랫폼 중 하나입니다.
공격 탐지
공격 탐지 플랫폼은 트랜잭션을 스캔하여 악성 트랜잭션을 찾아냅니다. 구체적으로, 이러한 플랫폼은 프로토콜과 상호작용하는 트랜잭션에서 악성 동작을 검사합니다. 그러한 트랜잭션이 발생하면 경보가 트리거됩니다.
- 예를 들어, BlockSec Phalcon은 트랜잭션을 스캔하고 행동 기반 탐지 엔진을 사용하여 악성 활동(예: 악성 컨트랙트나 제안)을 탐지합니다. 금융 거래의 모든 단계를 관찰하며 수상한 행동을 찾는 가상 보안 경비원과 같다고 생각하면 됩니다. 마치 탐정이 단서를 분석하듯 이러한 트랜잭션에서 행동 패턴을 추출하고, 은행이 사기를 탐지하는 데 사용하는 것과 유사한 금융 모델을 사용하여 잠재적인 공격을 식별합니다.
- 유사한 시스템으로는 Hypernative와 Hexagate가 제공하는 제품이 있습니다.
- 또한, Ironblocks의 Venn Security network는 여러 소스의 탐지 결과를 통합하는 분산 인프라를 제공합니다.
운영 모니터링
운영 모니터링 프레임워크는 DeFi 프로토콜에 대한 운영 보안을 구현하는 방법을 제공합니다. 예를 들어, DeFi 프로토콜은 관리자 키 변경을 파악하고, 스마트 컨트랙트 배포 및 업그레이드를 수행하며, 풀 리퀘스트의 보안 취약점을 자동으로 스캔해야 합니다.
- OpenZeppelin Defender는 개발자가 스마트 컨트랙트를 안전하게 코딩, 배포 및 운영할 수 있는 플랫폼을 제공합니다.
- BlockSec Phalcon은 컨트랙트 업그레이드, Safe 지갑 트랜잭션 생성, 새 서명 및 실행, 접근 제어, 거버넌스와 관련된 위험을 모니터링할 수 있습니다.
- Forta Network는 사용자가 자체 봇을 구축하여 프로토콜을 모니터링하거나 피싱 또는 위협 알림을 위한 기존 봇을 구독할 수 있는 인프라를 갖추고 있습니다.
공격 대응
이 카테고리는 공격이 발생했을 때 트리거되는 보안 조치로, 공격 차단, 자동 조치, 워룸, 근본 원인 분석, 공격자의 자금 흐름 추적을 포함합니다.

공격 대응의 다섯 가지 조치 중 공격 차단은 특히 주목할 만한데, 이는 프로젝트 팀이 사전에 예방 조치를 배포하여 실행 전에 공격을 성공적으로 차단하고 손실을 제로로 최소화할 수 있게 해주기 때문입니다. 자동 대응 플랫폼도 공격으로 인한 피해를 줄이는 데 도움이 됩니다.
워룸 설치, 근본 원인 분석 수행, 도난 자금 추적은 공격이 발생한 후에 취하는 사후 조치입니다. 이러한 전략은 일부 피해를 완화하고 향후 유사한 공격을 예방하는 데 도움이 될 수 있지만, 손실이 이미 발생했을 수 있으며 회복이 어려울 수 있습니다. 또한 프로젝트 평판에 대한 피해와 그로 인한 사용자 신뢰 상실은 매우 심각할 수 있습니다.
위험은 어디에나 존재하며 종종 통제하기 어렵지만, 선제적 방어 조치를 배포하는 것은 충분히 가능하며 적극 권장됩니다.
공격 차단
실제로 해킹에 대응하는 데 있어 공격 탐지만으로는 충분하지 않습니다. 해킹을 자동으로 차단하는 능력 없이는 수동 대응이 충분히 빠르지 않기 때문입니다. 일부 경우(KyberSwap, Gamma Strategies, 아래 표의 Telcoin)에서는 프로토콜이 수동으로 조치를 취하는 데 몇 분에서 몇 시간이 걸렸으며, 이는 프로토콜의 자산을 구하기에 너무 늦었습니다. 최근 Velocore와 Rho 해킹에서는 각각 Linea와 Scroll 체인 전체가 일시 중지되었으며, 이는 L2 체인의 중앙화에 대한 우려를 제기했습니다.

공격 차단은 해킹을 자동으로 방지하는 능력으로, 조기 탐지와 해킹의 자동 프론트러닝이라는 두 가지 핵심 기술이 필요합니다.
- 조기 탐지는 시스템이 공격 트랜잭션이 블록체인에서 최종 확정되기 전, 구체적으로 아직 멤풀에서 대기 중인 동안 이를 식별할 수 있음을 의미합니다.
- 공격 프론트러닝은 공격 트랜잭션보다 먼저 체인에 트랜잭션을 배치하여 프로토콜을 일시 중지함으로써 공격이 실행되기 전에 효과적으로 차단하는 것입니다.
이 카테고리에서 BlockSec Phalcon은 이러한 핵심 기술을 갖춘 유일한 제품입니다. 해커가 공격 트랜잭션을 시작하면, Phalcon의 공격 모니터링 엔진은 즉시 이 트랜잭션을 감지하고, 사용자에게 공격 알림을 보내며, 자동으로 프론트런하여 프로토콜을 일시 중지함으로써 손실을 제로로 줄입니다. 그 핵심 기술은 2,000만 달러 이상을 구한 20건 이상의 구조 작전을 통해 실전에서 검증되었습니다.
자동 조치
Phalcon, Hexagate, Hypernative와 같은 플랫폼은 공격이 발생했을 때 자동으로 대응할 수도 있습니다.
이러한 플랫폼을 구독한 후, 사용자는 다양한 프로토콜 위험에 대한 모니터링 및 대응 조치를 설정할 수 있습니다. 트랜잭션이 모니터링 규칙을 충족하면, 시스템은 사용자가 사전에 설정한 대응 조치(예: 프로토콜 일시 중지)를 자동으로 시작하여 손실을 줄입니다.
그러나 일부 플랫폼은 공격 탐지 엔진이 없어 시스템이 공격 트랜잭션을 직접 인식하고 사용자에게 알릴 수 없습니다. 대신, 어떤 조건에서 트랜잭션이 공격으로 간주될 수 있는지 사용자가 직접 커스터마이징해야 합니다. 공격 트랜잭션의 특성은 매우 복잡하고 사용자(주로 컨트랙트 개발자)가 충분한 보안 지식을 갖추지 못할 수 있어, 이는 상당히 어려운 과제가 될 수 있습니다.
워룸
프로토콜이 공격을 받을 때 워룸을 설치하는 것이 필요합니다. 이를 통해 프로토콜은 현재 상황을 파악하고, 커뮤니티에서 정보를 공유하며, 추가 조치를 위한 자원을 활용할 수 있습니다. 이는 일반적으로 다양한 관점의 전문가들이 참여합니다.
SEAL 911은 "사용자, 개발자, 보안 연구원에게 긴급 상황 시 소수의 고도로 신뢰할 수 있는 보안 전문가들과 접촉할 수 있는 접근 가능한 방법을 제공하기 위한" 프로젝트입니다. SEAL 911 텔레그램 봇을 통해 연락할 수 있습니다. 프로젝트가 해킹을 당한 경우, 프로토콜을 지원하기 위한 워룸이 설치될 수 있습니다.
근본 원인 분석
공격이 발생하면 프로토콜은 스마트 컨트랙트 내의 취약점과 그것이 어떻게 악용되었는지와 같은 근본 원인을 파악해야 합니다. 이를 위해서는 공격 트랜잭션을 분석하기 위한 유용한 도구가 필요합니다. Phalcon Explorer, OpenChain, Tenderly가 이 목적으로 사용될 수 있습니다.
자금 흐름 추적
자금 흐름 추적은 블록체인에서 공격자의 초기 자금과 공격 수익을 추적하여 관련 주소와 엔티티를 찾아내는 것입니다. 자산이 중앙화된 엔티티(예: 중앙화 거래소 및 기타 기관급 엔티티)로 유입되는 경우, 법 집행 기관에 연락하여 자금 동결을 도움받을 수 있습니다.
이 카테고리에는 Chainalysis, TRM Labs, ARKHAM, ELLIPTIC, MetaSleuth 등 여러 회사와 도구가 있습니다.
- 예를 들어, BlockSec이 개발한 MetaSleuth는 지갑 주소의 풍부한 레이블을 통해 다양한 체인에 걸쳐 자금을 자동으로 추적할 수 있습니다.
- ARKHAM은 프로토콜이 조사에 현상금을 걸 수 있는 커뮤니티를 보유하고 있어, 커뮤니티가 공격자의 자금을 추적하는 데 도움을 주도록 인센티브를 제공합니다.
보안 교육 자료
정보를 갖춘 사람들이 더 강력한 방어를 구축합니다. 위에서 언급한 보안 벤더와 제품 외에도 DeFi 보안의 또 다른 중요한 구성 요소가 있습니다: 교육 플랫폼.

이러한 플랫폼은 DeFi 실무자와 사용자가 보안 인사이트를 이해하고, 인식을 높이며, 보안 기술을 개발하는 데 필수적인 자원을 제공합니다. 이들은 DeFi 보안의 발전에 중요한 역할을 합니다. 저희는 이러한 교육 플랫폼에 감사를 드리며 몇 가지 주목할 만한 예시를 소개합니다.
- SΞCURΞUM: 이더리움 보안에 초점을 맞춘 디스코드 커뮤니티입니다. 또한 매월 스마트 컨트랙트 보안 퀴즈인 "Secureum RACE"를 개최합니다.
- 보안 사고 대시보드: 이 플랫폼은 10만 달러 이상의 손실을 초래한 모든 공격 사고를 수집하며, 손실, 피해 체인, 취약점, 근본 원인 및 PoC를 상세히 설명합니다.
- Rekt: DeFi 저널리즘의 다크 웹으로 알려진 Rekt는 생태계 내 익스플로잇, 해킹, 스캠에 대한 심층 분석을 제공합니다.
- RugDoc: 프로젝트 위험을 평가하는 DeFi 안전 및 교육 커뮤니티입니다. DeFi 생태계와 기술을 소개하는 RugDocWiKi라는 플랫폼도 운영합니다.
- DeFiHackLabs: 2,600명 이상의 회원과 약 200명의 화이트햇 해커를 보유한 Web3 보안 커뮤니티로, Web2와 Web3 보안 전문성을 연결하는 것을 목표로 합니다.
- Solodit: 다양한 Web3 감사 회사의 과거 보고서를 모아 스마트 컨트랙트 감사인에게 유용한 자료를 제공하는 플랫폼입니다.
- Ethernaut: CTF 도전과 유사하게 플레이어가 이더리움 컨트랙트 취약점을 찾는 Web3/Solidity 기반 게임입니다.
결론
보안은 여전히 DeFi 생태계에 지속적이고 심각한 위협으로 남아 있으며, 매년 수십억 달러의 손실을 야기하고 있습니다. 현재 대부분의 보안 조치는 출시 전 단계에서 수행됩니다. 그러나 보안에는 만능 해결책이 없으며, DeFi 프로토콜의 전체 수명 주기에 걸쳐 다양한 방법이 수행되어야 합니다. 저희는 업계가 출시 후 보안 솔루션을 채택하여 공격을 모니터링하고, 더 나아가 자동으로 차단하기를 기대합니다. 사용자의 자산을 완전히 보호하기 위해 생태계 내에 보안 우선 문화가 정착되기를 기대합니다.



