온체인 생태계가 지속적으로 확장됨에 따라, 온체인 거래는 점차 Web3 사용자에게 없어서는 안 될 일상 업무로 발전했습니다. 사용자 자산은 중앙 집중형 플랫폼에서 분산형 네트워크로 빠른 속도로 이동하고 있습니다. 이러한 추세는 자산 보안에 대한 책임이 플랫폼에서 사용자 자신에게로 옮겨가고 있음을 의미합니다. 온체인 환경에서는 사용자가 지갑 가져오기, DApp 액세스, 승인 서명 및 거래 시작 등 상호작용의 모든 단계에 대해 책임을 져야 합니다. 맹목 서명이나 운영상의 오류는 보안 위험으로 이어져 개인 키 유출, 권한 남용 또는 피싱 공격과 같은 심각한 결과를 초래할 수 있습니다.
현재 주류 지갑 플러그인과 브라우저는 점차 피싱 식별 및 위험 알림과 같은 기능을 통합했지만, 점점 더 복잡해지는 공격 방법에 직면하여 수동적인 방어 도구에만 의존하여 위험을 완전히 피하기는 여전히 어렵습니다. 당사 보안팀은 사용자들이 온체인 거래에서 잠재적인 위험 지점을 더 명확하게 식별할 수 있도록, 실제 경험을 바탕으로 전체 프로세스의 고위험 시나리오를 정리하고, 보호 제안과 도구 사용 기술을 결합하여 모든 Web3 사용자가 "자율적이고 제어 가능한" 보안 방어선을 구축할 수 있도록 돕는 체계적인 온체인 거래 보안 가이드라인 세트를 개발했습니다.
안전한 거래를 위한 핵심 원칙:
- 맹목적으로 서명하지 마세요. 이해하지 못하는 거래나 메시지에는 절대 서명하지 마세요.
- 반복적으로 확인하세요: 거래를 하기 전에 관련 정보의 정확성을 여러 번 확인하세요.
1 │안전거래 제안
안전한 거래는 디지털 자산을 보호하는 데 중요합니다. 연구에 따르면 안전한 지갑과 2단계 인증(2FA)을 사용하면 위험을 크게 줄일 수 있습니다. 몇 가지 구체적인 제안은 다음과 같습니다.
- 안전한 지갑을 사용하세요:
Ledger나 Trezor와 같은 하드웨어 지갑이나 Metamask와 같은 소프트웨어 지갑 등 평판이 좋은 지갑 제공업체를 선택하세요. 하드웨어 지갑은 오프라인 저장소를 제공하여 온라인 공격의 위험을 줄이고 대량의 자산을 저장하는 데 적합합니다.
- 거래 세부 사항을 다시 확인하세요.
거래를 확인하기 전에 항상 수신 주소, 금액, 네트워크를 확인하세요(예: 이더리움이나 BNB 체인 등 올바른 체인을 사용하고 있는지 확인하세요). 이렇게 하면 오타로 인한 손실을 방지할 수 있습니다.
- 2단계 인증(2FA)을 활성화하려면:
거래소나 지갑이 2FA를 지원하는 경우, 특히 핫 지갑을 사용할 때 보안을 강화하기 위해 2FA를 활성화하세요.
- 공용 Wi-Fi 사용을 피하세요.
피싱 및 중간자 공격을 방지하려면 공용 Wi-Fi 네트워크에서 거래를 수행하지 마십시오.
2. 안전한 거래를 하는 방법
완전한 DApp 거래 프로세스에는 지갑 설치, DApp 접속, 지갑 연결, 메시지 서명, 거래 서명, 거래 후 처리 등 여러 단계가 포함됩니다. 각 링크에는 특정한 안전 위험이 있습니다. 실제 운영 시의 주의사항을 하나하나 소개하겠습니다.
참고: 이 문서에서는 주로 이더리움과 다양한 EVM 호환 체인에서의 안전한 상호작용 프로세스에 대해 설명합니다. 다른 비 EVM 체인에서 사용하는 도구와 구체적인 기술 세부 사항은 다를 수 있습니다.
1: 지갑 설치:
현재 DApp을 사용하는 주된 방법은 브라우저 플러그인 지갑을 통해 상호 작용하는 것입니다. EVM 체인에서 사용하는 주요 지갑으로는 MetaMask 등이 있습니다.
Chrome 확장 프로그램 지갑을 설치할 때는 반드시 Chrome 앱 스토어에서 다운로드하여 설치하고, 백도어가 있는 지갑 소프트웨어가 설치되지 않도록 타사 웹사이트에서 설치하지 않도록 주의하세요. 해당 조건을 충족하는 사용자는 개인 키 보관의 전반적인 보안을 더욱 강화하기 위해 하드웨어 지갑을 함께 사용하는 것이 좋습니다.
지갑 백업 시드 문구(일반적으로 12~24단어 복구 문구)를 설치할 때 디지털 기기에서 떨어진 안전한 장소에 저장하는 것이 좋습니다(예: 종이에 적어서 금고에 보관).
2: DApp에 접속
웹 피싱은 Web3 공격에서 일반적인 방법입니다. 대표적인 사례로는 에어드랍이라는 명목으로 사용자들을 피싱 DApp 애플리케이션에 접속하게 한 뒤, 사용자들이 지갑에 접속한 후 토큰 승인, 거래 이체, 토큰 승인 서명 등에 서명하도록 유도해 자산 손실을 초래하는 것입니다.
따라서 DApp에 접속할 때 사용자는 항상 주의를 기울여야 하며 웹 피싱의 함정에 빠지지 않도록 주의해야 합니다.
DApp에 접속하기 전에 URL이 정확한지 확인해 주세요. 제안:
- 검색 엔진을 통해 직접 접근하지 마세요. 피싱 공격자는 피싱 웹사이트의 순위를 높이기 위해 광고 공간을 구매할 수 있습니다.
- 소셜 미디어의 링크를 클릭하지 마세요. 댓글이나 메시지에 게시된 URL은 피싱 링크일 수 있습니다.
- DApp URL이 정확한지 다시 한번 확인하세요. DefiLlama 등의 DApp 마켓, 프로젝트의 공식 소셜 미디어 계정 및 기타 소스를 통해 확인할 수 있습니다.
- 브라우저의 즐겨찾기에 보안 웹사이트를 추가하세요. 나중에 즐겨찾기에서 직접 접속할 수 있습니다.
DApp 웹페이지를 연 후에는 주소 표시줄에 대한 보안 검사도 수행해야 합니다.
- 도메인 이름과 URL이 가짜인지 확인하세요.
- HTTPS 링크인지 확인하세요. 브라우저에 자물쇠 🔒 기호가 표시되어야 합니다.
현재 시중에 나와 있는 주요 플러그인 지갑은 특정 위험 경고 기능을 통합하고 있어 위험한 웹사이트를 방문할 때 강력한 알림을 표시할 수 있습니다.
3: 지갑 연결
DApp에 접속한 후 지갑 연결 작업이 자동으로 실행되거나, 연결을 직접 클릭한 후에 실행될 수 있습니다. 플러그인 지갑은 현재 DApp에 대한 몇 가지 검사와 정보 표시를 수행합니다.
지갑을 연결한 후 사용자가 다른 작업을 수행하지 않으면 DApp은 플러그인 지갑을 적극적으로 호출하지 않습니다. DApp이 로그인 후 지갑에 메시지와 거래에 서명하도록 자주 요청하거나, 서명을 거부한 후 서명을 팝업으로 표시하는 경우 피싱 웹사이트일 가능성이 높으므로 주의해서 처리해야 합니다.
4: 메시지 서명
극단적인 경우, 공격자는 프로토콜의 공식 웹사이트를 공격하거나 프런트엔드 하이재킹과 같은 공격을 통해 페이지 콘텐츠를 바꿔치기합니다. 이런 상황에서는 일반 사용자가 웹사이트의 보안 상태를 파악하기 어렵습니다.
이때 플러그인 지갑의 서명은 사용자가 자신의 자산을 저장하는 데 있어 마지막 장벽이 됩니다. 악의적인 서명이 거부되는 한 귀하의 자산은 손실로부터 보호될 수 있습니다. 사용자는 모든 메시지나 거래에 서명할 때 서명 내용을 주의 깊게 검토해야 하며, 자산 손실을 피하기 위해 익명 서명을 거부해야 합니다.
일반적인 서명 유형은 다음과 같습니다.
- eth_sign: 해시 데이터에 서명합니다.
- personal_sign: 일반 텍스트 정보에 서명합니다. 이는 사용자 로그인을 확인하거나 라이선스 계약을 확인할 때 가장 일반적으로 사용됩니다.
- eth_signTypedData(EIP-712): ERC20 허가, NFT 주문 등에 일반적으로 사용되는 구조화된 데이터 서명입니다.
5: 거래 서명
거래 서명은 자금 이체나 스마트 계약 호출 등 블록체인 거래를 승인하는 데 사용됩니다. 사용자는 개인 키로 서명하고 네트워크는 거래의 유효성을 검증합니다. 현재 많은 플러그인 지갑은 서명할 메시지를 디코딩하고 관련 내용을 표시합니다. 맹목적으로 수화를 사용하지 않는다는 원칙을 꼭 따르세요. 보안 제안:
- 실수를 방지하기 위해 수신자 주소, 금액, 네트워크를 다시 한번 확인하세요.
- 온라인 공격의 위험을 줄이려면 대규모 거래는 오프라인에서 서명하는 것이 좋습니다.
- 가스 요금에 주의하고, 요금이 합리적인지 확인하고 사기를 피하세요.
특정 기술적 보유량을 보유한 사용자의 경우, 몇 가지 일반적인 수동 검사 방법도 사용할 수 있습니다. 즉, 검토를 위해 대화형 대상 계약 주소를 etherscan과 같은 블록체인 브라우저에 복사하는 것입니다. 검토 내용은 주로 계약이 오픈소스인지, 최근에 거래가 많이 이루어졌는지, Etherscan이 해당 주소를 공식 라벨이나 악성 라벨로 표시했는지 여부 등이 포함됩니다.
6: 거래 후 처리
피싱 페이지와 악성 서명을 피한다고 해서 모든 것이 괜찮다는 것은 아닙니다. 거래 후에도 위험 관리가 필요합니다.
거래 후에는 거래 체인 상태를 적시에 점검하여 서명 시 예상 상태와 일치하는지 확인해야 합니다. 이상이 발견될 경우, 자산이전, 권한해제 등의 손절매작업을 신속히 실시하여야 합니다.
ERC20 승인 권한 관리도 매우 중요합니다. 어떤 경우에는 사용자가 특정 계약에 대한 토큰을 승인한 후, 이 계약이 수년 후에 공격을 받았고, 공격자는 공격받은 계약의 토큰 승인 금액을 이용해 사용자 자금을 훔쳤습니다. 이러한 상황을 피하기 위해 당사 보안팀에서는 사용자에게 위험을 예방하기 위한 다음 기준을 따르도록 권장합니다.
- 승인을 최소화하세요. 토큰 승인이 수행될 때, 거래 요구 사항에 따라 제한된 양의 토큰이 해당 수만큼 승인되어야 합니다. 거래에 100 USDT 승인이 필요한 경우, 기본 무제한 승인을 사용하는 대신 승인 금액을 100 USDT로 제한해야 합니다.
- 불필요한 토큰 권한은 즉시 취소하세요. 사용자는 revoke.cash에 로그인하여 해당 주소의 승인 상태를 조회하고, 장기간 상호작용이 없었던 프로토콜의 승인을 취소하고, 프로토콜의 후속 허점으로 인해 사용자의 승인 한도가 악용되어 자산 손실이 발생하는 것을 방지할 수 있습니다.
3. 자금 분리 전략
위험 인식을 갖고 적절한 위험 예방 조치를 취하는 경우, 극단적인 경우 자금 손실 규모를 줄이기 위해 자금을 효과적으로 분리하는 것도 권장됩니다. 권장되는 전략은 다음과 같습니다.
- 대량의 자산을 저장하려면 Gnosis Safe 다중 서명 지갑이나 콜드 지갑을 사용하세요.
- 일상적인 상호작용을 위한 핫 지갑으로 플러그인 지갑이나 EOA 지갑(예: MetaMask)을 사용하세요.
- 핫월렛 주소를 정기적으로 변경하여 주소가 위험한 환경에 지속적으로 노출되는 것을 방지하세요.
실수로 피싱을 당했을 경우, 손실을 줄이기 위해 즉시 다음 조치를 취하는 것이 좋습니다.
- Revoke.cash와 같은 도구를 사용하여 위험도가 높은 승인을 취소하세요.
- 허가 서명이 이루어졌지만 자산이 이전되지 않은 경우, 기존 서명 nonce를 무효화하기 위해 즉시 새 서명을 시작할 수 있습니다.
- 필요하다면 남은 자산을 새로운 주소나 콜드 월렛으로 빠르게 이체하세요.
4 | 에어드랍 활동에 안전하게 참여하는 방법
에어드롭은 블록체인 프로젝트를 홍보하는 일반적인 방법이지만, 숨겨진 위험도 따릅니다. 몇 가지 제안은 다음과 같습니다.
- 프로젝트 배경 조사: 프로젝트에 명확한 백서, 공개팀 정보 및 커뮤니티 평판이 있는지 확인하세요.
- 전용 주소 사용: 전용 지갑과 이메일 주소를 등록하여 주요 계정 위험을 분리합니다.
- 링크를 클릭할 때는 주의하세요. 공식 채널을 통해서만 에어드랍 정보를 얻고, 소셜 플랫폼의 의심스러운 링크는 클릭하지 마세요.
5. 플러그인 도구의 선택 및 사용 제안
블록체인 보안 코드에는 많은 내용이 들어 있습니다. 모든 상호작용에 대해 자세한 검사를 실시하는 것은 불가능할 수 있습니다. 위험성 판단을 내리는 데 도움이 되는 안전한 플러그인을 선택하는 것은 매우 중요합니다. 구체적인 제안은 다음과 같습니다.
- 신뢰할 수 있는 확장 프로그램: Metamask(Ethereum 생태계용)와 같은 널리 사용되는 브라우저 확장 프로그램을 사용하세요. 이러한 플러그인은 지갑 기능을 제공하고 DApp 상호작용을 지원합니다.
- 평가 확인: 새로운 플러그인을 설치하기 전에 사용자 평가와 설치 횟수를 확인하세요. 높은 평가와 많은 설치 수는 일반적으로 플러그인의 신뢰성이 높음을 나타내며 악성 코드의 위험을 줄여줍니다.
- 최신 정보 받기: 플러그인을 정기적으로 업데이트하여 최신 보안 기능과 수정 사항을 받으세요. 오래된 플러그인에는 공격자가 쉽게 악용할 수 있는 알려진 취약점이 포함되어 있을 수 있습니다.
6. 결론
위의 안전 거래 가이드라인을 따르면 사용자는 점점 더 복잡해지는 블록체인 생태계에서 더욱 차분하게 상호 작용하고 자산 보호 역량을 효과적으로 향상시킬 수 있습니다. 블록체인 기술은 분산화와 투명성을 핵심 장점으로 가지고 있지만, 이는 동시에 사용자가 서명 피싱, 개인 키 유출, 악성 DApp을 포함한 여러 위험을 독립적으로 처리해야 한다는 것을 의미합니다.
진정으로 안전한 체인 연결을 구축하려면 도구 알림에만 의존하는 것은 충분하지 않습니다. 체계적인 안전 인식과 운영 습관을 확립하는 것이 핵심입니다. 하드웨어 지갑을 사용하고, 자금 분리 전략을 구현하고, 정기적으로 권한을 확인하고 플러그인을 업데이트하고, 거래 작업에서 "다중 검증, 블라인드 서명 거부, 자금 분리" 개념을 구현해야만 "자유롭고 안전한 온체인"을 실현할 수 있습니다.