Cobo 보안팀: 블록체인 보안 거래 가이드

avatar
Cobo Labs
1년 전
이 글은 약 6038자,전문을 읽는 데 약 8분이 걸린다
수천만 개의 계약이 있으며 안전이 최우선입니다.

원작자: 코보 글로벌

Cobo 보안팀은 체인의 거래 과정에서 공통적인 위험 지점을 정리하고 거래 보안 실행 지침을 정리하여 사용자가 거래 과정에서 위험을 피하고 자금의 안전을 보장하며 피싱 공격을 예방할 수 있도록 하는 것을 목표로 합니다.

머리말

비트코인 ETF가 통과되면서 블록체인 시장이 활기를 띠기 시작했습니다. 통화 가격의 회복으로 인해 업계는 점차 이전의 번영을 되찾을 수 있었습니다. 동시에 해커 활동도 활발해졌다. Cobo 보안 팀은 지난 한두 달 동안 피싱 사례의 빈도가 증가한 것을 관찰했습니다.

최근 Restake 및 BTC L2와 같은 새로운 애플리케이션 핫스팟이 등장하기 시작했으며 온체인 거래는 점차 Web3 사용자의 일상 생활에서 없어서는 안 될 부분이 되었으며 점점 더 많은 사용자 자금이 체인으로 이전되고 있습니다.

거래소와 같은 중앙 집중식 애플리케이션과 달리 온체인 애플리케이션의 계정 보안은 사용자 스스로 보장해야 합니다. 블록체인 거래를 안전하게 수행하는 것은 Web3 네이티브의 가장 기본적인 기능입니다. 브라우저 플러그인 지갑과 같은 많은 인프라와 브라우저 자체에도 피싱에 대한 특정 위험 경고가 있지만 안전하지 않은 거래로 인해 사용자가 자산을 잃는 사고(예: 개인 키 유출, 서명 피싱 등)가 때때로 발생합니다. .

Cobo 보안팀은 체인의 거래 과정에서 공통적인 위험 지점을 정리하고 거래 보안 실행 지침을 정리하여 사용자가 거래 과정에서 위험을 피하고 자금의 안전을 보장하며 피싱 공격을 예방할 수 있도록 하는 것을 목표로 합니다.

소개를 시작하기에 앞서 Cobo 보안팀은 모두를 위한 안전한 거래의 핵심 원칙을 다음과 같이 요약합니다.

1. 맹목적으로 서명하는 것을 거부하고, 이해하지 못하는 거래나 메시지에 서명하지 마십시오.

2. 반복해서 확인하는 수고를 감수하세요.

안전하게 거래하는 방법

전체 DApp 거래 프로세스에는 여러 링크가 포함되어 있습니다.지갑 설치, DApp 접속, 지갑 연결, 메시지 서명, 거래 서명, 거래 후 처리까지.각 링크에는 특정 안전 위험이 있으므로 실제 작동 시 주의 사항은 다음과 같습니다.

참고: 이 문서에서는 주로 이더리움 및 다양한 EVM 호환 체인의 보안 상호 작용 프로세스를 소개합니다. EVM이 아닌 다른 체인에서 사용되는 도구 및 구체적인 기술 세부 사항은 다를 수 있습니다.

지갑 설치

현재 DApp의 주류 사용은 브라우저 플러그인 지갑을 사용하여 상호 작용하는 것입니다. EVM 체인에서 사용하는 주류 지갑으로는 Metamask와 Rabby가 있습니다.

Cobo 보안팀은 심층적인 경험을 바탕으로 위험 경고를 기반으로 Rabby 플러그인 지갑을 주요 온체인 대화형 지갑으로 사용할 것을 권장합니다. 그 이유는 Rabby 지갑은 Metamask 지갑에 비해 거래 데이터 분석, 거래 시뮬레이션 실행, 거래 위험 경고, 인증 조회, 과거 서명 데이터 조회 등의 기능을 제공하며, 피싱 방지 측면에서 Metamask 지갑보다 더 큰 장점을 갖고 있기 때문입니다.

크롬 플러그인 지갑을 설치하려면 크롬 앱스토어에서 다운로드 및 설치되었는지 확인해야 하며, 백도어가 포함된 지갑 소프트웨어 설치를 피하기 위해 타사 웹사이트에서 지갑을 설치하지 마세요.

자격을 갖춘 사용자는 하드웨어 지갑을 서로 함께 사용하는 것이 좋습니다. 이는 개인 키 저장소의 전반적인 보안을 크게 향상시킬 수 있습니다.

DApp 방문

웹 피싱은 Web3 공격에서 흔히 볼 수 있는 공격 방법으로 에어드랍이라는 명목으로 사용자가 피싱 DApp 애플리케이션에 접속하도록 유도하는 것이 대표적인 경우이며, 사용자가 지갑에 접속한 후 토큰 인증 서명, 거래 전송 또는 토큰 인증 서명을 유도하도록 유도하는 경우가 있습니다. , 이로 인해 사용자 자산에 손실이 발생합니다.

따라서 사용자는 웹 피싱의 함정에 빠지지 않도록 DApp에 접근할 때 항상 경계해야 합니다.

DApp에 접속하기 전에 DApp URL이 올바른지 확인해야 합니다. 제안:

  1. 첫 번째 구글 검색 키워드에서 바로 접속하지 않도록 하세요.피싱 공격자는 자신의 피싱 웹사이트 검색 순위를 상위에 올리기 위해 광고 공간을 구매할 수 있으므로 첫 번째가 꼭 공식 사이트일 필요는 없습니다.

  2. x.com 및 다양한 소셜 소프트웨어에서 다른 사용자의 댓글과 메시지에 게시된 URL을 직접 클릭하지 마세요. 이러한 URL은 피싱 링크일 가능성이 높습니다.

  3. DApp URL에 접속하기 전에 정확한지 반복해서 확인해야 하며, 프로젝트 당사자의 공식 X 계정인 DefiLlama 등 DApp 마켓과 구글 검색 결과를 통해 검증할 수 있습니다.

  4. 안전하다고 확인된 웹사이트는 브라우저의 즐겨찾기에 추가되어 있으며, 추후 즐겨찾기에서 바로 접속하실 수 있습니다.

DApp 웹 페이지를 연 후에는 주소 표시줄에 대한 보안 검사도 수행해야 합니다.

  1. 도메인 이름과 URL을 확인하세요.일반적으로 DApp은 비교적 간결한 도메인 이름과 URL을 사용합니다. https://app.uniswap.org/와 같은 도메인 이름이 특히 긴 경우 https://zk-polyhedra.network-8jb.xyz/ 형식이거나 다음과 유사한 도메인 이름일 수 있습니다. https://pufffer.fi(추가 f 참고)와 같은 잘 알려진 웹사이트의 이름은 피싱 웹사이트일 가능성이 높으므로 즉시 로그아웃해야 합니다.도메인 이름을 식별할 때 1 il, oO 0 및 기타 유사한 문자에 특별한 주의를 기울여야 합니다.

  2. 브라우저의 https 링크 상태를 확인하세요.현재 주류 DApp은 모두 https 링크를 사용하며 브라우저에는 🔒 모양의 기호가 표시되어야 합니다. https 링크가 아니거나 브라우저에서 인증서 예외 메시지가 표시되는 경우, 방문하고 있는 웹사이트가 공식 웹사이트가 아니거나 하이재킹 공격을 받을 수 있으므로 즉시 접속을 중단해야 합니다.

현재 시중의 주류 브라우저 플러그인 지갑에는 Metamask/Phantom 등과 같은 특정 위험 경고 기능이 통합되어 있습니다. 블랙리스트에 있는 일부 위험한 URL에 액세스할 때 브라우저 플러그인 지갑 또는 Chrome 브라우저 자체에 강력한 보안 메시지가 표시될 수 있습니다(아래 그림 참조).

Cobo 보안팀: 블록체인 보안 거래 가이드

지갑 연결

DApp에 진입한 후 지갑 연결 작업이 자동으로 실행되거나 연결을 적극적으로 클릭한 후 실행될 수 있습니다. 플러그인 지갑은 현재 DApp에 대한 일부 확인, 정보 표시 등을 수행합니다.

다음은 DApp의 진위 여부를 판단하는 데 도움이 될 수 있는 Rabby Wallet에서 제공하는 웹 리뷰 정보입니다.

Cobo 보안팀: 블록체인 보안 거래 가이드

지갑에 연결한 후 일반적으로 DApp은 사용자가 다른 작업을 수행하지 않을 때 플러그인 지갑을 적극적으로 활성화하지 않습니다. 웹사이트에 로그인한 후 DApp이 지갑을 자주 호출하여 서명된 메시지와 거래를 요청하고 서명을 거부한 후에도 계속해서 서명이 나타나는 경우 피싱 웹사이트일 가능성이 높으며 이에 대한 조치가 필요합니다. 주의.

메시지 서명

극단적인 경우에는 공격자가 해당 프로토콜의 공식 웹사이트를 공격하거나 프런트엔드 하이재킹 등의 공격을 통해 페이지 콘텐츠를 교체하는 경우도 있다. 이 시나리오에서는 일반 사용자가 웹사이트의 보안을 검사하기가 어렵습니다.

이때, 플러그인 지갑의 서명은 사용자가 자신의 자산을 저장하는 데 있어 최종 장벽이 됩니다. 악성 서명을 거부하는 한 귀하의 자산은 손실로부터 보호됩니다.사용자는 메시지와 거래에 서명할 때 서명 내용을 주의 깊게 검토하고 블라인드 서명을 거부해야 합니다.

기술적으로 말하면 현재 이더리움에는 세 가지 일반적인 서명 유형이 있습니다.

  • 해시 서명 eth_sign:일부 데이터의 원본 해시에 서명합니다. 해시의 원시 데이터는 메시지일 수도 있고 심지어 이더리움 트랜잭션일 수도 있습니다.

  • 메시지 서명 personal_sign:데이터 일반 ​​텍스트 서명은 사용자 로그인 확인 또는 라이센스 계약 확인 중에 가장 일반적입니다.

  • 구조화된 데이터 서명 eth_signTypedData(EIP-712):DeFi 프로토콜에 사용되는 데이터 객체의 서명의 경우 일반적인 서명에는 ERC 20 허가 승인 서명, NFT 보류 주문 서명 등이 포함됩니다.

메시지 서명의 위험 식별을 위해 사용자는 다음 지침을 따를 수 있습니다.

  1. 자연어 서명은 일반적으로 통과됩니다.이러한 유형의 서명은 일반적으로 로그인을 확인하거나 제품 지침을 확인하는 데 사용되는 personal_sign으로, 숫자, 16진수 등이 아닌 대규모 자연어 설명입니다. 이러한 메시지에는 자연어, 복잡한 문자열 및 어려운 스마트 계약 처리가 포함되어 있기 때문에 일반적으로 온체인 인증에는 사용되지 않지만 웹 사이트에서 주소 신원을 확인하는 데 사용됩니다. 그래서 상대적 위험도가 낮습니다.

  2. 원래의 16진수 해시에 직접 서명하는 것은 금지되어 있습니다.이 유형의 서명은 일반적으로 eth_sign 서명입니다. 이 유형의 서명은 사용자가 해시의 원래 데이터 내용이 무엇인지 확인할 수 없기 때문에 가장 위험합니다. 따라서 대부분의 지갑에서는 원시 해시(16진수 데이터)에 서명하는 기능을 비활성화했습니다. Metamask 지갑의 경우 설정->고급->Eth_sign 요청 탭에서 해당 구성이 꺼져 있는지 확인할 수 있습니다. Rabby 지갑 관련 구성은 기본적으로 비활성화되어 있어 추가 구성이 필요하지 않습니다.

  3. 구조화된 데이터 서명은 서명 내용을 면밀히 조사합니다.예를 들어 ERC 20 허가 승인 서명이라면 지출자 주소가 기대치를 충족하는지 확인해야 하고, EOA 주소라면 피싱 서명을 클릭했을 가능성이 높으므로 즉시 거부해야 한다.

메시지 서명과 관련하여 여기서 추가적인 주의가 필요합니다.브라우저 플러그인 지갑에서는 eth_sign 작업이 기본적으로 금지되어 있지만 지갑은 여전히 ​​personal_sign을 통해 해시 클래스 데이터에 서명할 수 있습니다. 이러한 유형의 서명으로 인해 거래를 승인하거나 시작하는 허가가 발생하지 않습니다. 그러나 개별 프로토콜(예: 일부 AA 지갑)은 인증을 위해 여전히 personal_sign 서명을 사용할 수 있습니다. 원칙적으로 손실을 피하기 위해 16진수 데이터는 서명되어서는 안 됩니다. 이 유형의 서명 효과는 다음과 같습니다.

Cobo 보안팀: 블록체인 보안 거래 가이드

거래 서명

서명 거래는 맹목적으로 서명하지 않는다는 원칙을 따라야 합니다.. 현재 많은 플러그인 지갑은 서명할 메시지를 디코딩하고 관련 내용을 표시합니다. 다음은 DEX 트랜잭션을 구문 분석하는 Rabby 지갑의 예입니다.

Cobo 보안팀: 블록체인 보안 거래 가이드

사용자는 다음과 같은 거래의 대상 주소에 대한 일부 관련 정보를 볼 수 있습니다.EOA 주소, 주소 잔액, 계약 배포 시간 등인지 여부.사용자는 이 정보를 바탕으로 서명할 거래에 대한 위험 판단을 내릴 수 있습니다. 예를 들어 대화형 주소가 EOA 주소이거나 대화형 계약 배포 시간이 7일 미만인 경우 해당 작업은 위험한 것으로 간주될 수 있으므로 진행하기 전에 완전히 조사해야 합니다.

오픈 소스 프로토콜의 경우 주류 브라우저 플러그인 지갑은 이미 거래 데이터 분석을 지원하고 있으며 ABI 디코딩 후 거래 내용을 보면 현재 수행 중인 작업을 보다 명확하게 이해할 수 있습니다. 계약에서 호출하는 기능 이름은 승인, 교환, 전송, 입금 및 출금 등과 같은 기능에 대한 참조를 제공할 수 있습니다.

Rabby, imToken 지갑에는 모의 실행 기능도 통합되어 있어 사용자는 거래가 확정되기 전에 거래 실행 결과를 직접 확인할 수 있으며, 거래 모의 실행을 통해 사용자는 현재 거래로 인해 발생하는 다양한 자금 이체를 확인할 수 있습니다. 사용자는 주의 깊게 확인하고 예상 실행 결과를 충족하지 않는 서명을 거부해야 합니다.

특정 기술 보유자가 있는 사용자의 경우 자동화된 도구가 거래를 성공적으로 구문 분석할 수 없는 경우 몇 가지 일반적인 수동 검사 방법을 사용할 수도 있습니다.

  1. 인터랙티브 대상 컨트랙트 주소를 이더스캔 등 블록체인 브라우저에 복사해 검토하는 방식으로 해당 컨트랙트가 오픈소스인지, 최근 거래가 많이 발생했는지, 이더스캔이 해당 주소에 공식 주소인지 악성 주소로 표시했는지 여부 등을 주로 검토한다. .

  2. 플러그인 지갑에서 인식할 수 없는 거래가 발생하는 경우 원본 거래 데이터(raw_data, 16진수 데이터로 표시)의 처음 8자리를 수동으로 복사하여 https://openchain.xyz/signatures에 쿼리하고 가져올 수 있습니다. 원래 기능 트랜잭션의 동작을 대략적으로 결정하는 이름입니다.

  3. Phalcon, Tenderly 및 Dedaub와 같은 거래 시뮬레이션 도구를 사용하여 실행을 시뮬레이션하고 거래의 구체적인 실행 세부정보를 확인하세요.

거래 후 처리

피싱 페이지와 악성 서명을 피했다고 해서 모든 것이 괜찮다는 의미는 아니며, 거래 후에도 여전히 위험 관리를 수행해야 합니다.

거래 후에는 즉시 거래의 온체인 상태를 확인하여 서명 시 예상했던 상태와 일치하는지 확인해야 합니다. 이상이 발견되면 적시에 자산 이전, 승인 취소 등 손실 중지 작업을 수행할 수 있습니다.

ERC 20 승인 승인 관리도 매우 중요합니다. 어떤 경우에는 사용자가 특정 계약에 대해 토큰을 승인한 후 수년 후에 이러한 계약이 공격을 받았는데, 공격자는 공격받은 계약의 토큰 승인 할당량을 사용하여 사용자 자금을 훔쳤습니다.

이러한 상황을 방지하기 위해 Cobo 보안 팀은 사용자가 위험 예방을 위해 다음 표준을 따를 것을 권장합니다.

  1. 승인을 최소화하세요.토큰을 승인할 때 거래의 필요에 따라 제한된 양의 해당 토큰을 승인해야 합니다. 거래에 100 USDT의 승인이 필요한 경우 기본 무제한 승인 대신 승인 수량은 100 USDT로 제한됩니다.

  2. 불필요한 토큰 인증을 즉시 취소하세요.Rabby 지갑의 Approval 기능을 통해 해당 주소의 인증 상태를 조회하거나 revoke.cash에 로그인하여 오랫동안 상호 작용하지 않은 프로토콜의 인증을 취소하여 후속 프로토콜 허점이 발생하는 것을 방지합니다. 사용자의 인증 한도 사용으로 인한 자산 손실.

기타 팁

위에서 언급한 거래 과정에서 발생하는 위험 외에도 특정 도구에 통합된 기능을 합리적으로 사용하면 일부 위험을 피할 수도 있습니다.

  1. 일부 지갑에는 지갑 가져오기 기능이 내장되어 있습니다(예: Rabby). 다른 모바일 지갑의 주소를 가져오고 거래 시 필수 2차 확인을 수행하면 피싱 위험을 완화할 수 있습니다(확인을 위해 지갑 깨우기, 코드 스캔, 비밀번호 입력 필요). 동시에 모바일 지갑의 거래 보안 점검(화이트리스트, 모의실행, 피싱팁 등)을 즐길 수 있습니다.

  2. 일부 지갑은 수입된 관찰자 지갑(예: Rabby, OneKey, TokenPocket, imToken 등)을 지원하며, 관찰자 ​​지갑을 통해 익숙하지 않은 일부 웹 사이트에 들어갈 수 있습니다. 메시지 서명 또는 거래 시작을 위한 페이지는 여전히 일반적으로 호출되며 이때 서명할 내용을 주의 깊게 볼 수 있습니다. 동시에 개인 키가 없기 때문에 오조작 확인에 대한 걱정도 없습니다.

  3. Rabby 지갑의 승인 기능을 통해 해당 주소의 승인 상태를 확인하고 위험도가 높은 승인을 적시에 취소하세요. 팁: Rabby는 이 기능에서 다양한 차원(과거 승인 링크의 총량/24시간 취소 횟수/승인 시간/승인된 자산 수)을 사용하여 승인 위험을 평가하므로 사용자가 승인 위험을 더욱 효과적으로 식별하는 데 도움이 될 수 있습니다.

  4. 실수로 서명한 경우 Rabby 지갑의 서명 기록 기능을 사용하여 서명된 거래 및 텍스트 데이터를 신속하게 확인하여 적시에 승인 위험을 해결할 수 있습니다.

위험 인식과 적절한 위험 예방을 통해 극단적인 상황에서 자본 피해 정도를 줄이기 위해서는 효과적인 자본 격리가 여전히 필요합니다. Cobo 보안 팀은 다음 솔루션을 사용하여 자금을 저장할 것을 권장합니다.

  1. Gnosis Safe 다중 서명 지갑 또는 콜드 지갑을 사용하여 대규모 자금을 보관하세요.

  2. 브라우저 지갑이나 다른 EOA 지갑에서 생성된 주소를 사용하여 사용자 상호 작용을 위한 소액 자금을 저장하고 핫 지갑 주소를 정기적으로 변경합니다.

실수로 피싱을 당했다면 즉시 다음 작업을 수행하여 손실을 줄일 수 있습니다.

  1. Revoke.cash는 승인을 즉시 취소합니다.

  2. 피싱 허용 메시지에 서명했지만 자금이 이체되지 않은 경우 즉시 새 메시지에 서명하고 허용 호출을 시작하여 피싱 메시지 임시값을 무효화합니다.

  3. 필요한 경우 계좌 자금을 이체하십시오.

에어드랍을 안전하게 받는 방법

에어드랍을 발행하는 것은 현재 프로젝트 당사자들이 사용자를 유인하기 위해 일반적으로 사용하는 방법이며, 사용자가 피싱 공격을 받기 가장 어려운 영역이기도 합니다. 이를 위해 위의 안전 거래 지침을 기반으로 Cobo 보안 팀은 온체인 에어드랍을 받기 위한 일련의 안전한 상호 작용 프로세스를 구성했습니다.

  1. 먼저 Rabby 관찰자 지갑을 사용하여 상호 작용 프로세스를 테스트하고 토큰 승인 또는 토큰 전송 거래가 없는지 확인하십시오.

  2. 에어드랍을 받는 과정에서는 허용 메시지 서명이 수행되지 않습니다. 승인 계약 호출이 이루어지지 않습니다.

  3. 에어드랍을 받으려면 소규모 계정을 사용해 보세요.

  4. 에어드랍 거래의 시뮬레이션 실행 결과를 확인하여 토큰이 이체되지 않았는지 확인하세요.

플러그인 도구 선택

블록체인 보안 코드에는 많은 내용이 포함되어 있으며, 모든 상호 작용을 주의 깊게 확인할 수는 없을 수도 있는데, 위험 판단을 내리는 데 도움이 되는 유용한 브라우저 플러그인이 있습니까?

Cobo 보안팀은 시중에 나와 있는 좀 더 주류적인 거래 위험 검사 플러그인을 경험하고 다음에서 배웠습니다.피싱 웹페이지 차단, 악성 인증주소 확인, 오픈소스 여부3가지 차원은 표로 구성되어 있으며, 다음과 같이 각자의 상황에 맞게 선택하여 사용할 수 있습니다.

Cobo 보안팀: 블록체인 보안 거래 가이드

창작 글, 작자:Cobo Labs。전재 / 콘텐츠 제휴 / 기사 요청 연락처 report@odaily.email;违규정 전재 법률은 반드시 추궁해야 한다.

ODAILY는 많은 독자들이 정확한 화폐 관념과 투자 이념을 수립하고 블록체인을 이성적으로 바라보며 위험 의식을 확실하게 제고해 달라고 당부했다.발견된 위법 범죄 단서에 대해서는 관련 부서에 적극적으로 고발하여 반영할 수 있다.

추천 독서
편집자의 선택