BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

CertiK 보안 분석: 8월 디지털 화폐 관련 공격 분석 및 요약

CertiK
特邀专栏作者
2020-09-19 02:58
이 기사는 약 2954자로, 전체를 읽는 데 약 5분이 소요됩니다
8월에는 유동성 채굴의 인기가 급상승하면서 DeFi 분야에서 공격이 빈번하게 발생했으며, CertiK 보안팀은 8월에 발생한 블록체인 관련 공격을 파악했습니다. 자세한 분석은 기사를 참조하십시오
AI 요약
펼치기
8월에는 유동성 채굴의 인기가 급상승하면서 DeFi 분야에서 공격이 빈번하게 발생했으며, CertiK 보안팀은 8월에 발생한 블록체인 관련 공격을 파악했습니다. 자세한 분석은 기사를 참조하십시오

"통화권의 하루, 세계의 1년", "DeFi의 하루, 통화권의 1년".

최근 블록체인 및 통화계에서 거의 모든 인기가 DeFi에 의해 강탈당했습니다.

프로젝트의 지속적인 출현과 많은 사용자의 유입으로 DeFi 프로토콜의 총 고정 포지션은 미화 103억 8천만 달러에 도달했습니다.

극도로 높은 투자 수익률은 많은 통화 보유자들을 끌어모았고, 8월은 유동성 채굴 프로젝트가 본격화되는 달입니다.

실험적인 유동성 채굴 프로젝트인 Yam에서 여전히 화제가 되고 있는 SushiSwap에 이르기까지 전체 블록체인 커뮤니티는 막대한 이익과 숨겨진 보안 위험에 대해 계속해서 논의하고 있습니다.

이 달 동안 많은 수의 새로운 채굴 프로젝트가 등장했으며, 대부분은 다른 유사한 프로젝트의 코드를 직접 복사하고 보안 감사 없이 서둘러 온라인에 접속했습니다. 그 결과, 발견된 스마트 컨트랙트 보안 취약점은 수없이 많고 본질적으로 유사합니다. 요즘 프로젝트 투자 여부를 결정하는 첫 번째 조건은 프로젝트와 해당 계약이 잘 알려진 보안 팀에 의해 전문적으로 감사되고 높은 보안 등급을 획득했는지 여부를 확인하는 것입니다.

CertiK 보안기술팀의 통계에 따르면, 8월 블록체인 관련 보안 사고 인벤토리는 다음과 같습니다.

  • 8월 11일, 이더리움 기반 토큰 프로젝트인 NUGS는 스마트 계약에 보안 허점이 있어 토큰 시스템에 엄청난 인플레이션을 초래하는 보안 문제가 발생했습니다. 스마트 계약의 보안 허점을 고칠 수 없었기 때문에 NUGS 프로젝트는 프로젝트를 포기하기로 결정했으며 그 안에 예치된 토큰을 인출할 수 없다고 공식 발표했습니다.

  • 8월 12일, 액체 채굴 프로젝트인 Yam은 스마트 계약 허점을 터뜨려 막대한 양의 토큰을 보유하게 되어 프로젝트 거버넌스에 필요한 토큰의 수가 증가했습니다.결국 커뮤니티에는 충분한 토큰이 없었습니다. 통화, 거버넌스 행위를 수행할 수 없습니다.

  • 8월 14일 유동성 채굴 프로젝트인 Based는 스마트 컨트랙트 보안 취약점이 있어 공격자에게 공격을 받았고, 프로젝트 1번 풀의 스마트 컨트랙트에 있는 기능이 외부에서 임의로 호출되도록 잘못 설정되어 외부 공격자에 의해 선점될 수 있음 초기화로 인해 풀 1에서 어떤 서약도 완료할 수 없습니다.

  • 8월 28일 Sushiswap 스마트 계약에서 스마트 계약 소유자가 커뮤니티 승인 없이 임의로 돈을 인출할 수 있는 여러 보안 허점이 발견되었습니다. 동시에 계약에는 잠재적인 악성 코드가 여러 번 실행될 수 있는 재진입 공격 취약성이 있습니다.

  • 8월 31일, 취약점이 있는 이전 버전의 일렉트럼 지갑 애플리케이션을 사용하는 사용자로 인해 1,400개의 비트코인이 도난당했습니다.

  • 8월 31일과 9월 1일에 Sushiswap 모조 디스크 유노와 김치의 스마트 컨트랙트에 모두 보안 취약점이 발견되었습니다.

보조 제목

이벤트 세부정보

다음은 8월의 일반적인 보안 사고에 대한 구체적인 분석입니다.

1번 사건은 논리 구현의 실수로 인해 발생하는 매우 일반적인 취약점입니다. NUGS 프로젝트의 상업적 구현 모델은 복권 추첨 시스템입니다.복권 추첨은 라운드를 기반으로 하며, 각 라운드의 복권 추첨에서 투자자는 라운드 상금 풀에 자금을 입금할 수 있습니다.

일정 시간이 지나면 NUGS 스마트 계약의 복권 기능을 외부에서 호출하여 이번 복권 추첨의 승자를 결정할 수 있습니다. 당첨자는 상금 풀 상금을 받고, 외부에서 추첨 기능을 호출한 사람도 보상의 일부를 받습니다. 이 복권 추첨이 종료되면 상금 풀의 금액은 0으로 정리되므로 각 회차의 복권 추첨이 시작되면 초기 상금 금액은 "0"이어야 합니다.

그러나 상금 풀 보너스의 초기 금액과 관련하여 NUGS 스마트 계약에는 논리적 구현 허점이 있습니다. 복권 추첨이 종료되면 상금 풀의 금액이 삭제되지 않아 상금 풀의 초기 금액이 됩니다. 다음 라운드 추첨이 시작된 후 이전 라운드인 경우 총 상금. 따라서 상금 풀에 점점 더 많은 보너스가 있을 것이며 결국 인플레이션과 통화 가치의 급격한 감가 상각으로 이어질 것입니다.

2호 사건은 Yam 유동성 채굴 프로젝트에서 발생했으며 로직 구현 오류로 인한 보안 허점이기도 했습니다.

Yam 스마트 컨트랙트에는 리베이스 기능이 있는데, 그 목적은 토큰의 가격 안정성을 확보하는 것인데, 코드 레벨의 부주의로 인해 각 리베이스가 실행될 때마다 토큰의 총 공급량의 가치가 계산됩니다. totalSupply의 수는 계속해서 증가할 수 있으며 결국 인플레이션으로 이어집니다.

위 두 사건의 허점은 논리 구현 수준의 허점에 속합니다. 논리 구현의 허점은 매우 직관적이지만 기존의 자동 탐지 도구로는 확인할 수 없으며 이러한 허점을 피하기 위해서는 전문적인 보안 감사 및/또는 엄격한 수학적 증명을 사용해야 합니다.

3번 사건은 유동성 채굴 프로젝트 기반에서 발생했습니다. 스마트 컨트랙트를 배포할 때 Based는 스마트 컨트랙트에서 renounceOwnership 함수를 호출하여 공식적으로 소유자를 선언했을 뿐 스마트 컨트랙트를 초기화하지 않았습니다. 그리고 외부 공격자는 공식 기반 이전에 스마트 계약을 초기화하기 위해 초기화 기능을 호출했습니다.

이로 인해 스마트 계약 소유자와 초기화 운영자가 일치하지 않게 되고 결국 어떤 서약도 완료할 수 없습니다.

이 보안 취약점은 "스마트 계약 자체를 호출하는 보안 위험"과 "스마트 계약을 배포하는 위험"의 동시 영향으로 인해 발생합니다. 이러한 종류의 스마트 계약의 배포는 스마트 계약 전송 및 배포의 원자성을 보장하고 스마트 계약 및 기타 운영 트랜잭션의 초기화를 보장해야 합니다(원자 작업은 한 단계 또는 여러 작업 단계일 수 있지만 순서는 깨질 수 없음). , 일부만 실행하도록 잘라낼 수 없음) 즉, 제3자가 악의적인 공격을 수행하기 위해 시차를 이용하지 않도록 두 트랜잭션이 서로 관련되어야 합니다.

4번과 6번 사건은 동일합니다: 다수의 스마트 계약 취약점이 있고 출시 전에 보안 감사가 수행되지 않았으며 프로젝트 소유자의 과도한 권한 문제에 대한 해당 커뮤니티 감독 메커니즘이 없습니다.

이 두 이벤트의 주인공 프로젝트는 SushiSwap(4번 이벤트)과 그 모조품인 Yuno와 Kimchi(6번 이벤트)입니다. SushiSwap 프로젝트의 스마트 컨트랙트에서 스마트 컨트랙트 소유자는 setMigrator 함수를 사용하여 감독 없이 migrator의 값을 임의로 수정한 다음 migrator.migrate를 호출하여 스마트 컨트랙트의 외부 코드를 호출할 수 있는 권한이 있습니다. 이 외부 코드는 스마트 컨트랙트 자체에 알려지지 않았기 때문에 스마트 컨트랙트 소유자는 이 작업을 통해 악성 코드를 실행할 수 있습니다.

유사한 허점이 유노와 김치 프로젝트에도 존재합니다. 스마트 계약 소유자는 민트 기능을 통해 코인 채굴 작업을 무제한으로 수행할 권리가 있습니다.

초기에 이러한 유형의 취약점에 대한 해결책은 타임록 스마트 계약을 사용하여 스마트 계약 소유자의 모든 작업에 지연 잠금을 추가하는 것이었습니다. SushiSwap, Yuno 및 Kimchi는 모두 이 방법을 통해 48시간의 작업 지연을 추가했습니다. 원래 의도는 스마트 계약 소유자의 악의적인 거래가 의심되는 경우 투자자에게 48시간의 창구를 제공하고 인출 및 기타 작업을 위한 충분한 시간을 제공하는 것입니다. SushiSwap 프로젝트의 Chef Nomi는 성공적으로 많은 양의 토큰을 전송하고 나중에 반환했지만 결국 SushiSwap 프로젝트는 프로젝트의 탈중앙화를 보장하기 위해 다중 서명 지갑을 채택했습니다. 지연 잠금은 스마트 계약 자체의 허점을 근본적으로 해결할 방법이 없다고 할 수 있습니다.

5번 사건은 피해자가 일렉트럼 지갑의 구 버전을 사용했고, 공격자는 구 버전의 소프트웨어 취약점을 이용해 피싱 공격을 했기 때문이다.

이 소프트웨어 취약점은 Electrum 노드 서버에서 반환된 트랜잭션 오류 메시지의 HTML 렌더링을 렌더링합니다. 공격자는 악의적인 노드를 구축할 수 있으며 노드가 사용자로부터 트랜잭션 요청을 받으면 사용자의 지갑에 피싱 정보가 포함된 창이 팝업되어 사용자가 소위 "지갑 업데이트"를 다운로드할 수 있습니다.

안전 조언

안전 조언

정리하자면 8월에 보안 사고가 자주 발생했고 CertiK 보안 팀은 다음과 같은 제안을 했습니다.

  • 블록체인 프로젝트의 보안 위험은 코드 취약성 수준에서 관찰해야 할 뿐만 아니라 프로젝트의 논리적 구현이 논리적 설계와 일치하는지 신중하게 이해해야 합니다.

  • 블록체인 프로젝트는 배포 작업의 원자성을 보장하기 위해 전체 배포 프로세스에 대한 세부적인 설계 및 구현 프로세스를 계획해야 합니다.

  • 블록체인 프로젝트 스마트 계약 소유자의 과도한 권한 문제에 직면하여 우리는 외부 강제 메커니즘에 의존하여 제한할 뿐만 아니라 스마트 계약 코드 구현 및 커뮤니티 관리와 같은 여러 관점에서 통합하여 프로젝트는 어떤 당사자도 사용하지 않습니다.

DeFi의 인기는 계속 높아지고 있으며 블록체인은 시대의 파괴적 핵심 기술로서 다양한 분야에서 널리 사용되고 있습니다.

CertiK는 블록체인 및 스마트 계약의 보안 문제를 해결하기 위해 업계 최고의 기술을 사용하여 블록체인 건강 및 안전 생태계를 구축하기 위해 최선을 다하고 있습니다.

安全
投资
Odaily 공식 커뮤니티에 가입하세요