소개합니다, DART — Digital Asset Risk Tracker

ChainLight의 DART(Digital Asset Risk Tracker)는 웹3 보안 통합 위험 관리 플랫폼으로, 스마트 컨트랙트 감사부터 실시간 보안 모니터링까지 제공합니다. 중앙화 리스크, 금융 위협, 코드 취약점 등 다양한 Latent Risk를 탐지하고 대응하세요. 웹3 프로젝트의 안전을 위한 새로운 기준을 경험해 보세요.
ChainLight's avatar
Sep 17, 2023
소개합니다, DART — Digital Asset Risk Tracker

ChainLight는 웹3 개척자들의 건전한 성공을 돕습니다. 우리는 개척자들의 앞에 놓인 장애물들을 한발 앞서 식별하고 제거하여, 그들이 혁신에만 집중할 수 있게 지원합니다. 그들의 성공을 돕고, 나아가 개척자들이 발견한 새로운 토양에 발을 내딛고자 하는 모든 이들의 안정과 안전을 도모합니다.

우리는, 우리의 사명을 이루기 위해 스마트 컨트랙트 감사 서비스를 시작했고, 이제는 개척자를 포함한 모든 이들의 안전망이 되어줄 수 있는 웹3 보안 통합 위험 관리 플랫폼을 통해 생태계에 새로운 기준을 제시하고자 합니다.

ChainLight는 웹3상에 산재하는 다양한 취약점과 위협으로부터 이용자 및 거래소, 프로젝트 빌더를 보호하는 통합 보안 플랫폼인 DART(Digital Asset Risk Tracker)를 런칭했습니다.


배경

Immunefi의 리포트에 따르면, 웹3 시장은 2023년 1월부터 8월까지 해킹(hacking), 피싱 사기(phishing fraud), 그리고 러그풀(rug pull)로 인해 총 1조 6천억 원에 육박하는 손실을 입었습니다. 디파이(DeFi)에서는 8월 한 달간 총 300억 원 규모의 손실을 기록했고, 무려 17개의 사건이 발생했습니다. 웹3 생태계 참여자들은 다양한 취약점과 금융 위협에 취약한 상태입니다.

ChainLight는 무분별하게 발생하고 있는 웹3 위협들을 DART로 해결하고자 합니다.


What is DART?

DART는 각종 사기 및 범법 행위, 그리고 예기치 못한 보안 문제까지 한눈에 알아보고 위험을 관리할 수 있는 플랫폼입니다. DART의 핵심 기능은 하기와 같이 나눌 수 있습니다.

  • 고도화된 위험 관리 모델: DART는 웹3 디지털 자산에 산재하는 보안 위협에 대한 전문가급 통찰을 제공합니다. ChainLight의 보안 전문가들이 설계한 위험 관리 모델을 통해, 디지털 자산별 맞춤 위험 관리 전략을 수립하고 보안을 강화할 수 있습니다.

  • 심층 위험 식별: DART는 최신 정적 분석(Static Analysis) 기술과 실시간 블록체인 모니터링 기술을 결합해 다른 플랫폼에서는 확인할 수 없는 심층적인 위험 정보까지 식별할 수 있습니다. DART를 통해 스마트 컨트랙트 감사 혹은 트랜잭션 감시 등 기존의 위험 관리 방법에서 고려하지 못한 위험 지표(Risk Factor)까지 추적하고 관리할 수 있습니다.

  • 실시간 잠재 위험 추적: DART는 웹3 시장 변동성으로 인한 프로젝트 및 서비스의 잠재 위험을 철저하게 분석, 추적합니다.

  • 개인화된 실시간 알림: DART는 웹 알림 및 서드파티 훅을 통해 위험 지표의 수치 변동이 발생할 때 분석 및 추적 결과를 알림 받을 수 있는 기능을 제공합니다(2023년 4분기 예정). 사용자는 위험의 종류와 알림을 받을 임계 위험 수준을 설정할 수 있으며, 위험 지표의 변동 발생 시 알림 기능을 통해 변동 사항을 실시간으로 파악할 수 있습니다.

DART는 노출된 위험에 대한 지표뿐만 아니라 수면 아래 숨어있는 위험까지 전방위적으로 탐지해 사용자와 빌더를 보호합니다.

우리는 웹3 생태계의 보안 수준을 한층 끌어올리기 위해 ‘잠재 위험 식별을 통한 대응 지원’이라는 핵심 키워드를 정의하고 보안 위협이 도달하기 전, 한발 앞선 대응을 위해 이를 파악하는 데에 집중했습니다.

ChainLight는 선제 대응을 위해 기존의 불분명했던 ‘잠재 위험’의 기준을 바로 세우고, 용어를 정의하고자 했습니다. 그래서 우리는 우리가 정한 기준에 부합하는 잠재 위험을 “Latent Risk”라고 명명했습니다.


웹3 Latent Risk의 기준을 세우다

Latent Risk는 회계감사 법인에서 리스크 평가를 할 때 많이 쓰이는 용어입니다. PwC는 Latent risk를 “발생 가능성은 낮은 편이지만 발생 시 사업에 심각한 부정적 결과를 초래할 수 있는 위험 요소”로 정의했습니다.

웹3 프로젝트는 그동안 “체인 내에서 발생하는 취약점”에 초점을 맞춰왔습니다. 예를 들어, 보안 감사를 의뢰하거나 온체인 모니터링을 통해 이상 트랜잭션을 탐지하는 방식으로 위험 요소를 파악해 왔습니다. 하지만, 이러한 방식만으로는 프로젝트 전체의 위험 파악과 대응에 어려움이 있습니다. 스마트 컨트랙트에 버그가 없거나, 프로젝트의 자금을 탈취하려고 하는 공격자가 없더라도 외부 상황과 인재(人災)로 발생할 수 있는 위험이 충분히 존재하고 있기 때문입니다.

Latent Risk는 평화로워 보이는 공원에 묻혀있는 지뢰와도 같습니다.

DART는 프로젝트 내에 숨어있는 지뢰를 탐지하고, 웹3 서비스 사업자 및 사용자가 밟기 전에 이를 미리 알려 이에 대비할 수 있도록 만들어 줄 것입니다.

이어지는 섹션에서는 DART가 현재 목표로 하는 Latent Risk의 종류와 실제 사례에 관해 설명드리겠습니다.


중앙화 위험(Centralization Risk)

중앙화된 권한에 의한 러그풀은 웹3 생태계에서 심심치 않게 들려오는 사고 중 하나입니다. 대표적으로 4월에 발생한 탈중앙화 거래소인 멀린(Merlin DEX)의 러그풀 사고를 예로 들 수 있습니다. zkSync의 DEX였던 멀린은, 새로운 토큰 MAGE를 민팅하기 위한 자금을 예치하는 풀에 대한 중앙 집중화된 권한을 악용해 사용자의 자금 총 24억 원을 탈취했습니다.

이 지점에서 가장 중요한 문제점은 이들이 사전에 보안 감사를 받았고, 중앙화 위험을 지적받았다는 점입니다. 보안 감사를 맡은 팀은 MAGE 토큰의 권한이 중앙화되어 있다는 점을 지적했으나, 이를 이미 “해결된” 문제로 취급해 버렸고, 한때 이로 인한 책임 소재의 논란이 벌어졌습니다.

출처: https://www.binance.com/en/feed/post/462694

검열(Censorship)

일부 토큰은 컨트랙트 오너(owner)가 특정 사용자의 토큰에 대해 임의의 수량을 임의의 시간만큼 동결(혹은 잠금)할 수 있도록 구현되어 있습니다. 하기 엔터버튼(EnterButton) 토큰의 코드가 그 예시입니다.

function lock(address _holder, uint256 _amount, uint256 _releaseTime) public onlyOwner {
  require(super.balanceOf(_holder) >= _amount, "Balance is too small.");
  require(block.timestamp <= _releaseTime, "TokenTimelock: release time is before current time");
  _balances[_holder] = _balances[_holder].sub(_amount);
  lockInfo[_holder].push(
    LockInfo(_releaseTime, _amount)
  );
  emit Lock(_holder, _amount, _releaseTime);
}

이외에도 다수의 상장된 토큰에 대해 이러한 기능이 포함되어 있음을 확인했습니다. 검열이 자금 세탁과 테러 방지 등 선한 기능을 위해 구현되었다고 하더라도, 사용자 혹은 투자자는 토큰을 매수하기 전에 이러한 리스크에 대해서 충분히 안내받을 권리가 있습니다. DART는 특정 토큰에 검열을 수행할 수 있는지를 자동으로 탐지하고, 이를 사용자에게 안내합니다.

코드 품질(Code Maturity) 관리

개발팀의 수준 또한 간접적으로 코드의 위험성을 판단할 수 있는 지표가 될 수 있습니다. 코드의 품질을 정량적으로 판단하는 것은 매우 어려운 일이지만, 이미 많은 보안 감사 회사에서 코딩 컨벤션(Coding Conventions)을 지키지 않거나, 불필요한 테스트 코드의 포함 여부, ACL(Access Control List)을 구성하는 방법의 안전 준수 여부 등의 기준으로 코드 품질을 확인하고 있습니다. 저희는 DART를 통해 몇몇 컨트랙트나 프로토콜에 기본적인 실수가 포함된 경우를 확인할 수 있었습니다. 단적인 예로, 고머니2(GoMoney2) 토큰의 컨트랙트에는 솔리디티 프로젝트 생성 시 기본적으로 포함되는 Counter.sol이 포함되어 있습니다. 이 경우 코드 내에 아직 확인되지 않은 취약점이 남아있을 가능성이 높음을 시사합니다.

발견되지 않은 취약점

보안 감사를 거친 프로젝트라고 하더라도 아직 발견되지 않은 취약점이 존재할 가능성이 있습니다. 또한 이전에 보안 감사를 통해 낮은 위험도로 안내된 취약점이라고 하더라도, 컨트랙트 업그레이드 또는 외부 상황에 의해 발생 가능성과 심각도가 높아지는 경우도 존재합니다. DART는 자체 정적 분석기를 통해 코드 내 위험 요소를 재점검하고, 보안 감사 보고서 제공, 컨트랙트 업그레이드 안내 등을 통해 사용자가 스스로 판단할 수 있는 최대한의 정보를 제공하고, 기준을 마련하고자 합니다.

금융 위험(Financial Risk)

2022년 10월, 솔라나(Solana)의 가장 큰 마진 트레이딩 프로토콜이었던 망고 마켓(Mango Market)의 몰락의 계기가 되는 사고가 발생했습니다. 그들은 자체 토큰인 MNGO를 담보로 하는 대출을 제공했는데, 공격자가 MNGO의 부족한 유동성을 악용해 거대한 규모의 자본으로 MNGO의 가격을 30배가량 급등시켰습니다. 공격자는 급등한 MNGO 가격을 담보로 대출을 받아 대출 풀(lending pool)의 자금 약 1500억 원 가량을 탈취했습니다.

해당 유형의 사고는 코드 내의 취약점으로 벌어지는 것이 아닌, 담보 토큰의 유동성과 프로토콜의 급격한 청산에 대한 대비 상태 등 복잡한 경제적 상황에 따라 유발될 수 있습니다. DART는 이러한 상황을 실시간으로 모니터링하여 사용자와 프로토콜이 특정 상황에 대비할 수 있도록 합니다.

원데이(1-Day) 취약점 분석

웹3의 많은 프로젝트는 여러 가지 요인으로 인해 기존 리딩 프로젝트를 포크해서 변형하는 형태로 구현됩니다. 하지만 이러한 구조가 오히려 연쇄적인 리스크를 초래하는 경우도 있습니다. 근간이 되는 프로젝트에 존재했던 잠재적 취약점이, 포크 프로젝트를 구축하는 과정에서 코드의 수정을 통해 재발하는 경우가 이에 해당합니다.

대표적인 사례로 컴파운드(Compound Finance) V2 포크 프로젝트들의 해킹 사례를 들 수 있습니다. 컴파운드 V2의 코드에는 풀의 유동성이 없을 때 토큰 교환비의 조작이 일어날 수 있는 문제가 존재합니다. 컴파운드 V2는 이러한 문제를 사전에 인지하고 배포 시 소량의 유동성을 공급해 이를 방지했습니다. 컴파운드팀은 이후에도 꾸준한 모니터링을 통해 해당 조건의 발생을 막았고, 지금까지 해당 사유로 인한 사고의 발생을 방지해 왔습니다. 그러나 이후 이를 포크한 헌드레드 파이낸스(Hundred Finance)는 이를 인지하지 못한 채 서비스를 운영하여 약 100억 원 규모의 자금을 탈취당하는 사고가 발생했습니다.

DART는 자체적인 분석기를 통해 이미 알려진 취약점의 패턴을 탐지하고, 포크 프로젝트 등 연관 깊은 프로젝트에 동일한 문제의 발생 가능성이 있는지 탐지합니다.


ChainLight 사용자 여정(User Journey)

ChainLight는 웹3 생태계가 진정한 의미의 보안을 실현할 수 있도록 다음과 같은 사용자 여정(User Journey)을 제공합니다.

  • 프리미엄 보안 감사: 데프콘(DEF CON) 31 우승, 패러다임(Paradigm) CTF 2022 우승 등 세계 최고의 실력을 갖춘 보안 전문가들이 프로젝트의 종합적인 보안을 검토합니다.

  • DART: 보안 감사 이후 외부 요인에 의해 발생할 수 있는 잠재적인 위험 요소들을 실시간으로 탐지해 알려줍니다. DART가 제공하는 위험 평가(Risk Assessment)를 통해 추후 발생할 수 있는 위험에 사전에 대비할 수 있습니다.

  • Relic Protocol: 영지식 증명(Zero-knowledge proof)을 통해 이더리움의 모든 과거 데이터에 접근하고, 이를 기반으로 특정 계정의 과거 행적을 통해 신뢰도를 평가할 수 있습니다. 당신의 프로젝트에 신뢰할 수 없는 사용자가 접근, 악용하는 것을 탐지하고 대비하세요.

ChainLight는 DART를 통해 더욱 안전한 웹3 세상을 꿈꾸고 있습니다. 더 나은 미래를 위해, 어디선가 저희와 같은 꿈을 꾸고 계신다면 링크를 통해 저희에게 연락해 주세요. DART에 여러분과 함께할 공간을 마련해두겠습니다.

✨ We are ChainLight!

ChainLight 팀은 풍부한 실전 경험과 깊은 기술 이해를 바탕으로 새롭고 효과적인 블록체인 보안 기술을 연구합니다. 연구 결과를 바탕으로 웹3 생태계의 각종 보안 위험 요소와 취약점을 사전 파악하여 제거하는 혁신적인 보안 감사 서비스를 제공합니다. 보안 감사 이후에도 온체인 데이터 모니터링 및 취약점 탐지 자동화 서비스를 이용한 지속적인 디지털 자산 위험 관리 솔루션을 제공합니다.

ChainLight 팀은 사용자들이 탈중앙화 서비스를 안전하게 활용할 수 있도록 웹3 생태계 위협으로부터의 보호에 힘쓰고 있습니다.

  • ChainLight의 더 다양한 정보를 보고 싶으시다면? 👉 Twitter 계정도 방문해 주세요.


🌐 Website: chainlight.io | 📩 TG: @chainlight | 📧 chainlight@theori.io


Originally published at https://blog.theori.io on September 18, 2023.

Share article

관련 콘텐츠

See more posts

Theori © 2025 All rights reserved.