Fairyproof: 2023년 제3분기 블록체인 생태계 보안 보고서
저자: Fairyproof
개요
2023년 3분기, 암호화폐 시장은 여전히 큰 변화 없이 안정적인 모습을 보였습니다. 그러나 생태계 내에서의 보안 사고 발생 빈도는 이전 두 분기를 초과했습니다. 이번 분기에는 약 5.72억 달러의 암호 자산이 각종 보안 사고로 손실을 입었습니다.
Fairyproof는 3분기 동안 공개된 198건의 전형적인 사례를 연구하고, 사례에 대한 통계 및 분석을 진행하며, 이러한 사건들이 반영하는 보안 생태계의 특성과 사용자가 취할 수 있는 관련 예방 조치를 논의했습니다.
배경 소개 상세하게 Fairyproof의 연구 결과를 제시하기 전에, 본 보고서에 포함된 관련 용어에 대한 설명이 필요합니다.
CCBS
CCBS는 "중앙화된 암호 자산 또는 블록체인 서비스 기관"을 의미합니다. 이는 일반적으로 인위적으로 운영 관리되는 비체인 서비스 플랫폼을 지칭하며, 핵심 기술은 주로 전통적인 중앙화 기술에 의존하고, 일상 운영 활동은 주로 체인 외 활동입니다. 전통적인 암호 자산 거래소(예: Binance), 암호 자산 발행 및 수용 플랫폼(예: Tether) 등이 이러한 전형적인 예입니다.
플래시 론(FLASHLOAN)
플래시 론은 해커가 이더리움 가상 머신 플랫폼에서 스마트 계약을 공격하는 일반적이고 인기 있는 방법입니다. 플래시 론은 유명한 DeFi 애플리케이션 AAVE[1] 팀이 발명한 계약 호출 방식입니다. 이 계약 호출을 통해 사용자는 어떤 담보 없이도 이러한 기능을 지원하는 DeFi 애플리케이션에서 직접 암호 자산을 빌릴 수 있으며, 사용자가 하나의 블록 거래 내에서 해당 자산을 반환하면 거래가 유효해집니다[2]. 처음 이 기능은 DeFi 사용자에게 더 유연하고 편리한 수단을 제공하기 위해 발명되었습니다. 그러나 나중에 플래시 론은 그 유연성 덕분에 해커가 ERC-20[3] 토큰을 빌려 공격하는 가장 많이 사용되는 시나리오가 되었습니다. 플래시 론을 시작하기 전에 사용자는 대출(자산)과 반환(자산, 이자 및 관련 수수료)의 논리를 명확하게 하나의 계약에 설명한 후 해당 계약을 호출하여 플래시 론을 시작해야 합니다.
크로스 체인 브리지(CROSS-CHAIN BRIDGE)
크로스 체인 브리지는 여러 독립 블록체인을 연결하는 인프라로, 서로 다른 블록체인에 배포된 토큰이 각 블록체인 간에 상호 유통될 수 있게 합니다.
점점 더 많은 블록체인이 자체 생태계, 애플리케이션 및 암호 자산을 갖추게 되면서, 이러한 애플리케이션과 자산의 크로스 블록체인 통신 및 거래에 대한 수요가 크게 증가했습니다. 이는 크로스 체인 브리지를 해커들이 주목하는 인기 있는 공격 대상이 되게 했습니다.
보고서 주요 내용
Fairyproof는 2023년 3분기 발생한 198건의 전형적인 보안 사건을 상세히 연구하였으며, 본 보고서에서는 이러한 사건으로 인한 손실 금액, 원인 등 다양한 요소에 대한 통계 분석을 제공하고, 이에 대한 예방 권고 및 조치를 제시합니다.
2023년 3분기 보안 사건의 통계 및 분석
Fairyproof 연구팀은 2023년 3분기 동안 두드러진 198건의 보안 사건을 상세히 연구하였으며, 공격을 받은 대상과 공격의 근원 두 가지 측면에서 통계 결과를 나열하고 분석했습니다.
이 198건의 보안 사건으로 인한 암호 자산 손실 총액은 5.72억 달러이며, Tradingview에 표시된 주요 암호 자산 총 가치는 10560억 달러입니다. 손실 자산은 총 시가총액의 0.05%를 차지합니다.
피해 대상에 따른 보안 사고 분류
Fairyproof가 연구한 보안 사건은 피해 대상에 따라 다음 네 가지로 분류할 수 있습니다:
- 중앙화된 암호 자산 또는 블록체인 서비스 기관(CCBS, 이하 CCBS로 지칭)
- 블록체인(Blockchains)
- 탈중앙화 애플리케이션(dApps)
- 크로스 체인 브리지(Cross-chain Bridges)
본 보고서에서 언급하는 CCBS 보안 사건은 공격이나 피해를 입은 대상이 CCBS 시스템인 사건을 의미합니다. 이러한 사건에서 CCBS가 보관하는 자산이 도난당하거나 운영 서비스가 중단됩니다. 블록체인 보안 사건은 블록체인 메인넷, 사이드체인 또는 블록체인 메인넷에 부착된 2차 확장 시스템이 공격이나 피해를 입은 사건을 의미합니다. 일반적으로 이러한 사건에서 해커는 시스템 내부, 외부 또는 양쪽 모두에서 공격을 감행하여 시스템 소프트웨어나 하드웨어에 이상을 초래하고 자산 손실을 발생시킵니다.
dApp 보안 사건은 dApp이 공격을 받아 정상적으로 작동하지 못하게 되어 해커가 dApp에서 관리하는 암호 자산을 도난할 수 있는 기회를 제공하는 사건을 의미합니다.
크로스 체인 브리지 보안 사건은 크로스 체인 브리가 공격을 받아 정상적으로 작동하지 못하게 되어, 심지어 거래 중인 암호 자산이 도난당하는 사건을 의미합니다.
Fairyproof는 총 198건의 사건을 위의 네 가지로 분류하였으며, 그 비율 분포도는 다음과 같습니다:
그림에서 알 수 있듯이, dApp 보안 사건의 수는 총 수의 86.87%를 차지하며, 다른 어떤 카테고리보다도 많습니다. 이 중 198건은 dApp 보안 사건, 4건은 CCBS 보안 사건, 14건은 블록체인 보안 사건, 4건은 크로스 체인 브리지 보안 사건, 172건은 dApp 보안 사건입니다.
블록체인 보안 사건
블록체인과 관련된 보안 사건은 다음 세 가지로 세분화할 수 있습니다:
i. 블록체인 메인넷(Blockchain mainnets) ii. 사이드체인(Side chains)
iii. 2차 확장 시스템(Layer 2 solutions)
블록체인 메인넷은 Layer 1이라고도 하며, 독립적인 블록체인으로, 자체 네트워크, 프로토콜, 합의 및 검증자를 가지고 있습니다. 블록체인 메인넷은 거래, 데이터 및 블록을 검증할 수 있으며, 모든 검증 작업은 자체 검증자에 의해 수행되어 최종적으로 일관성을 확보합니다. 비트코인과 이더리움이 전형적인 블록체인 메인넷입니다.
사이드체인은 블록체인 메인넷과 병행하여 운영되는 별도의 블록체인입니다. 자체 합의 및 검증자를 가지고 있지만, 어떤 방식(예: 양방향 고정[4])으로 블록체인 메인넷과 연결됩니다. 2차 확장 시스템은 블록체인 메인넷에 의존하는 시스템으로, 블록체인 메인넷이 보안과 최종 일관성을 제공해야 합니다[5]. 이는 블록체인 메인넷의 확장성을 해결하기 위해 설계되었으며, 더 낮은 비용과 더 낮은 가격으로 거래를 처리할 수 있습니다. 2021년 이후, 이더리움에 의존하는 2차 확장 시스템은 빠른 발전을 이루었습니다.
사이드체인과 2차 확장 시스템은 모두 블록체인 메인넷의 확장성을 해결하기 위해 존재합니다. 두 가지의 주요 차이점은 사이드체인이 블록체인 메인넷의 보안성과 일관성에 의존하지 않지만, 2차 확장 시스템은 의존한다는 점입니다.
2023년 3분기 동안 총 14건의 블록체인 관련 보안 사건이 발생했습니다. 아래 그림은 블록체인 메인넷, 사이드체인 및 2차 확장 시스템의 비율을 보여줍니다.
위 그림에서 알 수 있듯이, 블록체인 메인넷 관련 보안 사건과 2차 확장 시스템 관련 보안 사건의 수는 각각 92.86%(13건)과 7.14%(1건)를 차지합니다. 전형적인 사이드체인 보안 사건은 없습니다. 2차 확장 시스템 보안 사건에 관련된 시스템은 Metis[6]이며, 블록체인 메인넷 보안 사건에 관련된 메인넷은 Mixin[7], Quai Network[8], Swisstronik[9], SwapDex Blockchain[10], Aptos[11] 등이 있습니다.
DAPP 보안 사건
172건의 dApps와 관련된 보안 사건 중 16건은 잠적 사건, 1건은 연루 사건, 155건은 직접 공격 사건입니다. dApp에 대한 직접 공격은 일반적으로 세 가지 측면을 포함합니다:
dApp의 프론트엔드, 백엔드 및 스마트 계약. 따라서 우리는 155건의 직접 공격 사건을 다음 세 가지로 분류합니다: i. dApp 프론트엔드 ii. dApp 백엔드 iii. dApp 계약
dApp 프론트엔드가 공격받은 사건에서 해커는 주로 프론트엔드 취약점을 통해 공격하여 자산을 도난하거나 서비스를 마비시킵니다.
dApp 백엔드가 공격받은 사건에서 해커는 주로 백엔드 취약점을 통해 공격하며, 예를 들어 백엔드와 계약 간의 통신을 탈취하거나 자산을 탈취하거나 서비스를 마비시킵니다.
dApp 계약이 공격받은 사건에서 해커는 주로 계약 취약점을 통해 공격하여 자산을 도난하거나 서비스를 마비시킵니다. 아래 그림은 이 세 가지 범주에서의 공격 사건 비율을 보여줍니다:
위 그림에서 보듯이, 계약, 백엔드 및 프론트엔드 공격 사건의 비율은 각각 19.35%, 0% 및 80.65%입니다. 총 155건의 사건 중 125건은 프론트엔드 공격, 30건은 계약 공격입니다.
우리는 각 사건이 초래한 암호 자산 손실 금액을 추가로 연구했습니다. 계약 공격으로 인한 손실과 프론트엔드 공격으로 인한 손실은 각각 2.1억 달러와 3980만 달러이며, 두 손실이 차지하는 비율은 각각 84.03%와 15.97%입니다. 아래 그림과 같습니다:
많은 계약 취약점 중에서, 논리적 결함, 개인 키 유출, 플래시 론 공격, 재진입 공격이 전형적인 취약점입니다.
우리는 계약이 직접 공격받은 30건의 보안 사건을 연구하여 다음과 같은 비율 도표를 얻었습니다:
위 그림에서 보듯이, 논리적 결함이 계약 보안 사건에서 가장 높은 비율을 차지합니다. 논리적 결함에는 일반적으로 매개변수 검증 부족, 권한 검증 부족 등이 포함됩니다. 논리적 결함으로 인한 보안 사건 수는 13건입니다.
아래 그림은 각 취약점이 초래한 손실 금액 비율을 보여줍니다:
개인 키 유출로 인한 손실 금액 비율이 가장 높습니다. 4건의 개인 키 유출 사건은 총 1.73억 달러의 손실을 초래했으며, 이는 총 손실 금액의 82.56%를 차지합니다.
원인에 따른 보안 사고 분류
블록체인 보안 사고의 원인에 따라 우리는 사고를 세 가지로 분류합니다: i. 해커 공격으로 인한 사고
ii. 잠적 iii. 기타
우리의 연구 결과는 아래 그림과 같습니다:
위 그림에서 보듯이, 해커 공격과 잠적이 초래한 보안 사고는 각각 91.92%(182건)와 8.08%(16건)를 차지합니다.
우리는 이러한 원인으로 인한 손실을 연구했으며, 아래 그림과 같습니다:
위 그림에서 보듯이, 해커 공격과 잠적이 초래한 손실 금액은 각각 94.69%와 5.31%를 차지하며, 전자는 5.41억 달러의 손실을 초래하고, 후자는 3035만 달러의 손실을 초래했습니다. 이는 2023년 3분기 동안 해커 공격이 여전히 산업 보안이 직면한 주요 위협임을 나타냅니다.
해커 공격 사건 우리는 해커 공격 사건을 연구하였으며, 아래 그림과 같습니다:
위 그림에서 보듯이, 해커가 dApp, 블록체인, CCBS 및 크로스 체인 브리지를 공격한 사건의 비율은 각각 87.64%(156건), 7.87%(14건), 2.25%(4건) 및 2.25%(4건)입니다.
우리는 각 사건이 초래한 손실 금액을 연구하였으며, 아래 그림과 같습니다:
해커가 블록체인, dApp, 크로스 체인 브리지 및 CCBS를 공격하여 초래한 자산 손실 비율은 각각 36.97%, 46.25%, 0.79% 및 15.99%이며, 구체적인 손실 금액은 각각 2억 달러, 2.5억 달러, 8650만 달러 및 430만 달러입니다. 기타 보안 사건은 명확한 손실 금액을 초래하지 않았습니다.
잠적 사건
2023년 3분기에 발생한 전형적인 잠적 사건은 모두 dApp 프로젝트에서 발생했습니다. 총 16건의 잠적 사건으로 인한 손실 금액은 3035만 달러에 달합니다. 이 손실 금액은 해커 공격으로 인한 손실 금액에 비해 훨씬 적습니다.
연구 결과
우리의 통계 데이터에 따르면, 2023년 3분기 동안 해커가 가장 선호하는 공격 대상은 여전히 dApp 프로젝트이며, dApp에 대한 공격 사건 수는 다른 어떤 대상보다도 많아 총 수의 87.64%를 차지하고, 손실 금액은 총 손실 금액의 46.25%를 차지합니다. 모든 공격 사건 중 가장 심각한 것은 Multichain[12]에 대한 공격입니다.
전체 블록체인 생태계에 대해 해커는 여전히 가장 큰 보안 위협이며, 이는 초래한 보안 사건 수와 자산 손실 모두에서 그러합니다. 해커 공격으로 인한 보안 사건 수는 전체 보안 사건 수의 91.92%를 초과하며, 이는 잠적 사건이 생태계에 미치는 위협을 훨씬 초과합니다.
전형적인 dApp은 세 부분으로 구성됩니다: 프론트엔드, 백엔드 및 스마트 계약. 해커가 dApp을 공격할 때, 그 중 한 부분을 공격하거나 여러 부분을 동시에 공격합니다. 우리의 통계 데이터에 따르면, dApp 프론트엔드에 대한 공격 수는 계약에 대한 공격 수를 훨씬 초과하지만, 스마트 계약에 대한 공격이 초래한 손실 금액은 프론트엔드 공격에 비해 훨씬 많습니다.
이는 스마트 계약의 위험이 여전히 dApp 보안에서 가장 큰 위험임을 나타냅니다.
2023년 3분기 전형적인 잠적 사건은 모두 dApp 프로젝트에서 발생했습니다.
스마트 계약이 해커 공격을 받은 사건에서, 다음 세 가지 범주의 원인으로 인한 공격 사건 수가 가장 많습니다: 첫 번째: 논리적 결함 두 번째: 플래시 론
그러나 손실 금액 기준으로 보면, 개인 키 유출로 인한 공격이 초래한 자산 손실 금액이 가장 높으며, 다른 범주를 훨씬 초과합니다.
보안 사고 예방을 위한 실천 방안 및 조치
본 절에서는 2023년 3분기에 발생한 보안 사고의 특징에 따라 블록체인 개발자와 사용자가 블록체인 위험을 관리하고 예방하는 데 도움이 되는 방안과 조치를 요약합니다. 우리는 블록체인 개발자와 사용자 모두가 평소의 작업 및 운영에서 이러한 방안과 조치를 최대한 실천하고 적용하여 프로젝트와 암호 자산의 안전을 최대한 보호할 것을 권장합니다.
주: "블록체인 개발자"는 블록체인 프로젝트 자체의 개발 엔지니어를 지칭할 뿐만 아니라 블록체인 시스템과 관련된 또는 그 파생 시스템(예: 암호 자산 등)의 개발자를 포함합니다. "블록체인 사용자"는 블록체인 시스템 활동(예: 관리, 운영, 유지보수 등) 또는 암호 자산 거래 등에 참여하는 모든 사용자를 의미합니다.
블록체인 개발자
비록 3분기 동안 2차 확장 시스템과 관련된 전형적인 보안 사건은 없었지만, 2차 확장 시스템의 보안은 여전히 주목할 필요가 있습니다. 앞으로 2차 확장 솔루션의 발전과 실현은 전체 생태계의 핫이슈와 초점이 될 것이며, 그 솔루션의 안전성 연구는 업계가 직면한 중대한 도전이 될 것입니다.
블록체인 애플리케이션에서 프로젝트가 배포되고 안정적으로 운영된 후, 프로젝트에서 핵심 작업을 제어하는 권한을 다중 서명 지갑 또는 DAO 조직으로 이전하여 관리하는 것은 매우 필요한 단계입니다.
해커가 스마트 계약의 취약점을 발견했을 때, 종종 플래시 론을 이용해 계약을 공격합니다. 이러한 취약점은 일반적으로 재진입 취약점, 논리적 결함(예: 권한 검증 부족, 잘못된 가격 알고리즘 등)을 포함합니다. 이러한 취약점을 철저히 예방하고 처리하는 것은 스마트 계약 개발자에게 항상 높은 주의를 요구하며, 심지어 가장 중요한 사항으로 우선시되어야 합니다.
우리의 통계 데이터는 점점 더 많은 해커가 소셜 미디어 소프트웨어(예: Discord, Twitter 등)를 통해 피싱 공격을 감행하고 있음을 보여줍니다. 이 현상은 2022년 내내 지속되었고 2023년 3분기까지 계속되었습니다. 많은 사용자가 이로 인해 손실을 입었습니다. 프로젝트 측은 운영하는 소셜 미디어에 대해 엄격하고 철저한 관리를 시행하고, 해당 소셜 미디어 운영의 안전성과 안정성을 보장하기 위해 적절한 보안 솔루션을 배포해야 합니다.
블록체인 사용자
점점 더 많은 사용자가 다양한 블록체인 생태계의 활동에 참여하고 있으며, 다양한 블록체인 생태계의 자산을 보유하고 있습니다. 이 과정에서 크로스 체인 거래 활동도 급증하고 있습니다. 사용자가 크로스 체인 거래에 참여할 때, 사용자는 크로스 체인 브리지와 상호작용해야 하며, 크로스 체인 브리지는 해커들이 자주 주목하는 공격 대상입니다. 따라서 사용자가 크로스 체인 거래를 시작하기 전에, 사용자가 사용하는 크로스 체인 브리지의 보안 상태와 운영 상태를 자세히 조사하고 이해하여 크로스 체인 브리지가 안전하고 안정적이며 신뢰할 수 있는지 확인해야 합니다.
사용자가 dApp과 상호작용할 때, 반드시 스마트 계약의 품질과 안전성에 높은 주의를 기울여야 하며, dApp 프론트엔드의 안전성도 주의해야 합니다. 프론트엔드에 나타나는 불명확한 출처의 의심스러운 정보, 알림, 대화 등을 신중하게 처리하고, 함부로 클릭하거나 지시를 따르지 않도록 해야 합니다.
우리는 사용자가 어떤 블록체인 프로젝트와 상호작용하기 전이나 블록체인 프로젝트에 투자하기 전에, 해당 프로젝트의 감사 보고서를 꼼꼼히 확인하고 읽을 것을 강력히 권장합니다. 감사 보고서가 없거나 보고서가 의심스러운 프로젝트에는 신중하게 참여해야 합니다.
우리는 사용자가 대규모 자산이나 빈번한 거래에 사용하지 않는 자산을 관리하기 위해 가능한 한 콜드 월렛이나 다중 서명 지갑을 사용할 것을 권장합니다. 항상 핫 월렛의 운영 안전성에 주의하고, 핫 월렛을 설치한 하드웨어 플랫폼이 안전하고 신뢰할 수 있으며 안정적인지 확인해야 합니다.
사용자는 블록체인 프로젝트 팀의 배경에 대해 어느 정도 조사하고 이해해야 합니다. 팀 배경이 불분명하거나 신뢰가 결여된 팀에 대해서는 주의해야 합니다. 이러한 프로젝트는 잠적 위험이 발생할 수 있습니다. 자주 사용하는 중앙화 거래소에 대해서는 더욱 그 배경과 신뢰를 주의 깊게 살펴보고, 가능한 한 여러 제3자 데이터 출처를 통해 이러한 거래소의 배경, 정보 및 데이터를 확인하여 거래소가 지속적으로 안전하게 운영될 수 있도록 해야 합니다.
참고 자료
[1] Aave. https://aave.com/
[2] Flash-loans.. https://aave.com/flash-loans/
[3] ERC-20 TOKEN STANDARD. https://ethereum.org/en/developers/docs/standards/tokens/erc-20/
[4] Sidechains. https://ethereum.org/en/developers/docs/scaling/sidechains/
[5] Layer-2. https://academy.binance.com/en/glossary/layer-2
[6] Metis. https://www.metis.io/
[7] Mixin. https://mixin.one/
[8] Quai Network. https://qu.ai/
[9] Swisstronik. https://www.swisstronik.com/
[10] SwapDex Blockchain. https://swapdex.network/
[11] Aptos. https://aptoslabs.com/
[12] Multichain. https://multichain.xyz/