디파이는 확실히 사용자에게 상당한 수익을 가져다줄 수 있지만, 자금의 안전성은 자산의 꾸준한 성장의 핵심입니다. 코브 보안팀은 일반적인 보안 위험과 그에 따른 보안 조치의 디파이 상호작용을 살펴보고, 강세인 디파이 보안 상호작용에 도움이 될 수 있기를 희망합니다. 상호 작용은 영감과 도움을 줄 수 있습니다.
2019년 디파이 서머가 시작된 이후 이더를 필두로 점점 더 많은 창의적인 탈중앙화 금융 프로토콜(디파이 프로토콜)이 등장하여 온체인 자산의 가용성이 크게 풍부해지고 블록체인 사용자들이 온체인 자산을 더 다양하게 활용하고 금융 활동과 수익성 있는 수익을 창출할 수 있게 되었습니다. 하지만 점점 더 많은 디파이 프로토콜이 등장함에 따라 보안 문제도 증가하고 있습니다. 불완전한 통계에 따르면, 블록체인 공격으로 인한 자산 손실은 2023년에만 26억 1,000만 달러에 달했습니다. 디파이 프로토콜에 참여하는 과정에서 해당 수익 기대치를 평가하는 것 외에도 프로토콜의 보안 측면에 대한 평가를 무시해서는 안 되며, 그렇지 않으면 사용자에게 큰 손실을 가져올 수 있다는 것은 분명합니다.
일반적으로 프로토콜 보안 평가의 주류 정의는 코드의 보안 평가이며, 이 정의의 차원은 상대적으로 일차원적입니다. 여기서 문제는 평가 자체가 정적인 프로세스에서 프로토콜의 보안만을 고려하는 반면, DeFi 상호 작용 과정에서 보안은 종종 다음을 포함하여 동적이라는 것입니다. 계정 관리, 프로토콜 상호작용 전 준비, 상호작용 완료 후 자산 관리, 데이터 모니터링, 극단적인 경우 자산 손실 후 자구책 등 동적으로 이루어집니다.
새로운 디파이 마을에 진입하려는 사용자로서 수익을 올리면서 자금의 안전을 극대화하는 방법, 코보의 보안팀은 상승장에서 디파이와 안전하게 상호작용하는 데 영감을 주고 도움을 드리고자 디파이 상호작용의 일반적인 보안 위험과 그에 따른 보안 예방책을 정리했습니다. 상승장에서의 상호작용
DeF이 상호작용의 일반적인 보안 위험 및 예방 조치
개인 계정 키 유출은 신규 사용자에게 가장 쉬운 문제 중 하나입니다. 시중에 다양한 지갑이 존재하고 신규 사용자가 지갑의 보안을 스스로 판단할 수 없기 때문에, 많은 신규 사용자가 안전하지 않은 지갑을 다운로드하여 자신의 개인 데이터를 생성하는 데 사용하고, 이를 통해 자신의 개인 데이터를 생성하는 데 사용하는 경우가 많습니다. 많은 초보 사용자가 안전하지 않은 지갑을 다운로드하여 개인키를 생성하는 데 사용하며, 이로 인해 개인키가 공격자에게 악의적으로 전송되어 개인키가 유출되는 경우가 많습니다. 많은 경험자들이 특정 날짜에 메인 계정의 모든 자산이 이체된 것을 발견하고 반나절 동안 모든 동작을 분석한 결과 정상적인 것으로 확인되었으며, 이 경우 대부분의 경우 초기에 안전하지 않은 지갑을 사용하여 개인키를 생성하여 오래 전에 개인키가 유출된 것으로 확인되었습니다.
동시에 블록체인 에어드랍으로 인한 부의 효과로 인해 많은 초보 사용자가 매우 진지한 프로젝트 웹 페이지로 포장하고 사용자에게 미수령 토큰이 많다고 말하는 소위 에어드랍 사이트를 맹목적으로 클릭하게 됩니다. 관심에 이끌려 많은 초보 사용자가 웹페이지에서 계정 개인키를 입력하도록 유도하여 개인키가 유출될 수 있습니다.
개인키 유출을 방지하기 위해 사용자는 다음과 같은 조치를 취해야 합니다:
유명 블록체인 지갑을 사용하고 해당 공식 웹사이트에서 지갑을 다운로드하세요. 지갑을 사용할 수 있는 위치에 있는 사용자는 하드웨어 지갑을 사용하는 것이 좋습니다.
개인키를 일반 텍스트로 인터넷에 노출하지 마시고, 웹 페이지에 개인키를 입력하지 마세요.
서명 피싱
서명 피싱은 개인키 탈취와 동일합니다. 개인키 유출과 마찬가지로 초보 사용자를 노린다는 점도 동일합니다. 이러한 유형의 피싱 공격은 사용자에게 직접 개인키를 입력하도록 요청하는 대신 사용자가 거래 또는 서명을 시작하도록 유도하여 사용자의 관련 자산에 대한 권한을 획득하는데, 이는 매우 은밀하고 분석이 쉽지 않으며 탐지하기 어렵다는 특징이 있습니다.
대부분 공격자는 먼저 피싱 페이지로 사용자를 유인한 후 에어드랍, 로그인 확인 등의 명목으로 서명을 시작하도록 요청합니다. 이때 사용자의 브라우저 지갑은 사용자에게 서명을 완료하라는 메시지를 표시합니다.
피싱 거래에는 몇 가지 유형이 있습니다:
직접 이체 유형. ETH를 직접 이체하거나 ERC20 전송 호출을 통해 지갑 자산을 공격자의 주소로 이체합니다.
승인 유형. 공격자 지갑을 승인하기 위해 ERC20 승인 메서드를 호출합니다. 사용자가 서명할 때 자산 전송은 발생하지 않습니다. 그러나 공격자 지갑은 transferFrom을 호출하여 사용자 자산을 전송할 수 있습니다.
EIP712 메시지 서명. 예: ERC20 허가 방식, 허가2 승인, NFT 대기 주문 서명. 이러한 서명은 일반적으로 지갑에 Json 데이터 또는 잘 포맷된 트리 데이터로 표시됩니다. 사용자가 서명할 때 트랜잭션이 시작되지 않으며 가스도 소비되지 않습니다. 그러나 서명 결과는 피싱 웹사이트에 기록되며, 공격자는 서명 결과를 사용하여 피해자의 ERC20 또는 NFT 자산을 전송할 수 있습니다.
원시 해시 서명. 서명 데이터는 16진수 해시 데이터이며, 서명의 정확한 내용은 서명 데이터 자체로는 추론할 수 없으며, 해시는 위에서 설명한 1~3가지 유형의 데이터 중 어느 것이든 뒷받침될 수 있습니다. 서명으로 인해 자산이 손실될 수 있습니다. 그러나 주요 지갑은 일반적으로 이러한 유형의 서명을 금지하거나 위험성을 명확히 표시합니다.
최근 피싱 사이트에서 사용자에게 여러 개의 연속 서명을 요청하는 경우가 있는데, 그 중 처음 몇 개는 무해하고 정상적인 서명입니다. 그 다음에는 악성 서명 콘텐츠가 섞여 있습니다. 피싱 사이트가 여러 개의 서명을 연속으로 요청하고 처음 몇 개의 서명은 무해하고 정상적인 서명이었다가 악성 서명이 섞인 것은 이번이 처음입니다.
피싱으로 인한 자금 손실을 방지하기 위해서는 블라인드 서명을 거부하는 것이 핵심입니다. 각 서명에 대해 거래 내용에 대한 불확실성이 있는 경우 서명을 거부합니다. 구체적으로 서명 과정에서 유의해야 할 사항은 다음과 같습니다.
대화형 웹사이트가 디파이 프로젝트의 공식 웹사이트인지 확인하고 전체 도메인 이름을 확인합니다.
이체, 승인 메소드를 중심으로 컨트랙트에서 호출하는 메소드를 확인합니다.
거래에 첨부된 이더리움 전송을 확인합니다. 일부 피싱 사이트는 안전한 것처럼 보이지만(예: 클레임) 실제로는 ETH 전송으로 호출되어 ETH와 같은 체인 네이티브 토큰이 손실되는 메소드를 구성하려고 합니다.
원시 해시 콘텐츠에 서명하지 않습니다.
셋째, 전송 주소 중독
전송 주소 중독은 비교적 새로운 공격 방식입니다. 트랜잭션 수신자의 주소와 유사한 주소로 이체(ERC20, 네이티브 토큰 등)를 시작한 사용자에게 동일한 금액 또는 가짜 토큰으로 동일한 금액의 트랜잭션을 보내는 방식입니다.
예시:
앨리스가 매월 고정 금액인 1 ETH를 밥에게 급여로 송금하면 찰리가 거래를 모니터링하고 밥과 유사한 주소(앞자리와 뒷자리 8자리 동일)를 사용하여 0.001 ETH를 밥에게 송금합니다. 찰리는 이 트랜잭션을 모니터링하고 밥의 주소와 유사한 주소(주소의 처음과 마지막 8비트가 동일)로 앨리스에게 0.001 ETH를 전송하여 다음에 앨리스가 밥에게 돈을 송금할 때 찰리의 주소를 수취 주소로 사용할 수 있도록 합니다. 그 이유는 블록체인 주소가 길고 불규칙하기 때문에 사용자가 기억하기 어렵기 때문에 편의를 위해 마지막 거래 기록에서 주소를 직접 복사하는 경우가 많기 때문입니다. 찰리와 밥의 주소가 너무 비슷하기 때문에 앨리스가 그 차이를 구분하기 어렵고, 결국 자산 손실로 이어질 수 있습니다.
주소 중독을 방지하기 위해 사용자는 다음과 같은 조치를 취할 수 있습니다:
모든 거래를 확인하고 각 거래에 올바른 주소가 있는지 확인합니다. strong>모든 트랜잭션에서 전송 주소를 확인하고 이전과 이후의 바이트만 비교하는 것이 아니라 전체 내용을 확인하세요.
주소 화이트리스트(주소록)에 자주 사용하는 주소에 별칭을 설정하고 주소록에 있는 주소로만 송금하세요.
블록체인 브라우저, 지갑 거래 로그 등 온체인 채널에서 복사한 주소로 이체하지 마세요.
넷째: 토큰 과잉 승인
토큰 승인은 거의 DeFi 상호 작용을 수행하는 첫 번째 단계입니다. 디파이 작업을 수행할 때 트랜잭션 데이터는 사용자가 아닌 프로젝트 웹페이지에 의해 구성되기 때문에, 프로젝트 웹페이지는 일반적으로 사용자가 반복적으로 인증할 필요 없이 여러 상호작용을 용이하게 하기 위해 사용자가 서명할 수 있는 무제한 인증 트랜잭션을 구성합니다. 시작은 사용자의 가스 절약이지만, 이는 후속 자금의 안전성을 확보하는 것이기도 합니다. 프로젝트 코드에서 승인되지 않은 인터페이스 또는 임의의 호출 취약점과 같은 후속 문제가 발생한다고 가정하면, 공격자는 사용자의 계약에 대한 무제한 승인 권한을 악용하여 사용자의 자산을 탈취할 수 있습니다. 이 공격 시나리오는 크로스체인 브리지와 DEX 프로토콜에서 더 흔하게 발생합니다.
프로젝트 업그레이드 중 위험한 코드가 도입되거나 프로젝트 코드 자체에 발견되지 않은 취약점이 있는 것을 방지하기 위해 사용자는 최소 승인 원칙을 채택하고 이번 거래에 사용된 금액만 승인하여 후속 프로젝트의 위험으로 인해 자산이 손실되는 것을 방지해야 합니다.
다섯째, 안전하지 않은 디파이 운영
거래 전 준비 사항 외에도 많은 리스크가 존재합니다. 간과하기 쉬운 위험도 많습니다. 이러한 위험은 대개 사용자가 프로젝트 자체에 대한 이해 부족에서 비롯됩니다. 구체적인 예로는 온체인 거래소 프로토콜을 통해 토큰을 교환할 때 슬리피지 포인트를 너무 크게 설정하거나 최소 영수증 수를 설정하지 않고 스왑을 수행하는 스크립트를 작성하는 경우(작성하기 쉽도록 0으로 설정됨) 등을 들 수 있습니다. 이로 인해 트랜잭션이 MEV 봇의 "샌드위치" 공격을 받게 되었습니다.
온체인 대출 프로토콜을 통한 대출 및 대차 시 포지션 상태를 적시에 관리하지 못해 변동성이 높은 시기에 포지션이 청산되는 결과를 초래했습니다.
특정 프로젝트와 상호작용할 때, 오픈씨에서 판매되는 유니스왑 V3 NFT 자격 증명을 일반 NFT로 취급하는 등 프로젝트 자격 증명이 제대로 유지되지 않았습니다.
이러한 위험으로부터 보호하기 위해 사용자는 프로젝트와 상호작용할 때 항상 프로젝트를 조사하고 프로젝트의 메커니즘과 관련 기능을 명확히 파악하여 자산 손실을 방지해야 합니다.
안전한 디파이 거래를 위한 새로운 패러다임 - 코보 아거스
위에서는 블록체인에서의 디파이 상호작용과 관련된 일반적인 위험에 대해 설명했습니다. 사용자가 실수로 이러한 위험 중 하나에 빠지면 수년간의 노력이 물거품이 될 수 있으며, 사소한 실수로 모든 것을 잃을 수도 있습니다. 그렇다면 안전하고 효과적이며 관리하기 쉬운 위험 제어 솔루션이 있을까요? 한 가지 새로운 옵션이 바로 Cobo Argus입니다.
Cobo Argus는 Cobo 팀이 개발한 온체인 위험 제어 제품으로 Gnosis Safe에 구축되어 있습니다. 주요 기능은 사용자 거래를 파싱하고 위험 관리 규칙을 충족하지 않는 거래를 차단하여 사용자 자금의 안전을 보장하기 위해 다양한 ACL 정책을 구축하는 것입니다.
코보 아거스는 디파이 환경의 보안 위험을 어떻게 해결하나요?
1. 하단의 다중 서명 지갑, 상단의 단일 서명 인증: 개인 키 노출의 단일 지점 위험 방지, 피싱 위험 완화, 운영 효율성 보장
코보 아거스는 DeFi 환경의 보안 위험을 해결할 수 있었습니다. align: left;">코보 아거스는 다중서명 컨트랙트 지갑인 Safe {Wallet}을 기반으로 하는 다중서명 지갑입니다. 따라서 코보 아거스는 Safe {Wallet} 다중 서명 지갑의 보안을 자연스럽게 계승합니다.
자금 관리를 단일 개인 키에서 다중 개인 키로 변경함으로써 단일 개인 키 유출로 인한 자산 손실/잠금 위험을 제거합니다. 다중 서명 지갑 자체는 거래 실행을 트리거하기 위해 여러 서명이 필요하며, 단일 주소 개인키가 유출되더라도 전체 자금 보안에는 영향을 미치지 않습니다. 또한, 다중 서명 거래는 분실되거나 위험에 처한 단일 서명 주소를 대체하여 다중 서명 지갑의 보안을 보장할 수 있습니다.
또한, 단일 서명 주소에서 다중 서명 주소로 전환한 후에는 각 사용자가 하나의 거래에 서명해야 하므로 거래 내용을 교차 감사하는 데 도움이 되어 피싱의 가능성을 크게 줄일 수 있습니다.
다중 서명은 여러 사람이 거래를 검토해야 하므로 운영 효율성에 영향을 미치며, Cobo Argus를 사용하면 위험도가 낮고 빈도가 높은 특정 작업(예: 주기적 클레임이 있는 파밍)을 EOA 주소로 승인할 수 있는 유연한 승인 규칙을 구성할 수 있습니다. 이 주소는 다중 서명 지갑 대신 작업을 시작하는 데 사용할 수 있어 효율성이 높아집니다. 동시에 주소의 권한이 엄격하게 제한되므로 지갑의 전반적인 보안은 크게 손상되지 않습니다.
2. 맞춤형 봇: 24시간 자동화된 위험 모니터링 및 대응
코보 아거스 모니터링 봇을 구성하여 모니터링 및 실행할 조건과 트리거를 사용자 지정할 수 있습니다. 모니터와 조건을 트리거하기 위해 수행해야 하는 작업을 설정할 수 있습니다.
대출 프로젝트의 레버리지 관리를 예로 들면, 자체 건전성 요소를 모니터링하도록 Argus 로봇을 구성하고 포지션 청산이 임박하면 로봇을 사용하여 담보를 보충하고 상환을 통해 레버리지를 줄일 수 있습니다.
3. 맞춤형 ACL 전략
맞춤형 모니터링 봇 외에도 개발 능력이 있는 사람은 맞춤형 ACL(접근 제어 목록) 계약을 개발하여 보다 정교한 접근 방식을 취할 수 있습니다. 액세스 제어 목록) 계약을 통해 보다 유연한 권한 관리를 할 수 있습니다. 이는 Cobo Argus의 핵심 기능 중 하나입니다. 다음은 이 기능에 대한 이해를 돕기 위한 몇 가지 예시입니다.
주소 중독 공격은 사용자가 ACL 계약에 일반적으로 사용되는 주소를 지정할 수 있는 ACL 계약을 작성함으로써 달성할 수 있습니다. 사용자는 ACL 컨트랙트에서 공통 주소를 화이트리스트로 지정할 수 있으며, 트랜잭션 과정에서 ACL 컨트랙트는 트랜잭션의 수신 주소(ERC20/네이티브 토큰)를 파싱하여 사용자가 설정한 화이트리스트 주소와 비교하고 수신 주소가 해당 주소에 없을 경우 트랜잭션이 성공적으로 완료되지 않습니다.
과잉 승인 문제를 해결하기 위해 사용자는 승인 트랜잭션에서 승인 금액을 파싱하여 토큰의 승인 승인 금액을 사용자가 미리 설정한 값 이하로 제한하는 ACL 정책 컨트랙트를 작성할 수 있습니다. 또는 1은 해당 토큰의 승인 금액을 주기적으로 0으로 만들도록 사용자 지정 봇을 구성할 수 있습니다.
슬리피지 확인이 없는 스왑 거래와 같이 안전하지 않은 디파이 작업의 경우, Argus ACL 정책 계약을 작성하여 거래소 거래에 허용되는 최소 슬리피지를 설정할 수 있습니다. 설정이 완료되면 ACL 정책 계약은 설정된 슬리피지에 따라 다양한 스왑 거래를 분석하고 교환 슬리피지가 충족되지 않으면 거래를 차단할 수 있습니다.
요약
디파이 상호 작용에는 예방하기 어려운 많은 위험이 있으며, 이 문서에서 언급한 내용은 일반적인 시나리오를 많이 다루고 있지만 모든 위험을 완전히 다루지는 못합니다. 모든 위험 요소를 완벽하게 다룰 수는 없습니다. 사용자는 모든 거래를 신중하게 고려해야 합니다.
코보 아거스는 이러한 일반적인 보안 위험 중 일부를 방지할 수 있는 안정적이고 구성하기 쉬운 수단을 제공합니다. ACL을 사용하면 유연하고 안전한 권한 관리를 통해 보안을 유지하면서 운영 효율성을 개선하고, 맞춤형 봇을 통해 수동 작업을 줄이며, 실시간 모니터링 기능으로 사용자 자금을 7*24시간 안전하게 보호할 수 있습니다.
디파이는 분명 사용자에게 상당한 수익을 가져다줄 수 있지만, 자산의 꾸준한 성장을 위해서는 자금의 안전이 핵심입니다. 코보 아거스는 모든 디파이 파머와 함께하며 상승장에서 더 많은 가치를 창출할 수 있도록 돕겠습니다.