웹3 시그니처 피싱의 기본 로직을 알기 쉽게 "인증 피싱, 허가 대 허가2"라는 용어로 설명합니다.

avatar
MarsBit
04-21
이 기사는 기계로 번역되었습니다
원문 표시

방금 서명을 했는데 왜 돈이 사라졌나요? "서명 피싱"은 이제 웹3.0 해커들이 가장 선호하는 피싱 방법이 되고 있습니다. 최근 유쉥과 주요 지갑 및 보안 회사들이 서명 피싱에 대한 지식을 홍보하고 있지만 여전히 많은 사람들이 매일 피싱을 당하고 있는 것을 볼 수 있습니다.

시금치는 그 이유 중 하나가 대부분의 사람들이 지갑 상호 작용의 기본 로직을 이해하지 못하고 기술을 이해하지 못하는 사람들이 배우기에는 문턱이 너무 높기 때문이라고 생각하여 인기있는 서명 피싱의 기본 로직에 대한 그림 버전을 만들고 기술을 이해하지 못하는 사람들도보고 이해할 수 있도록 가장 큰 토착어의 형태를 사용하기로 결정했습니다.

우선, 우리는 지갑을 "서명"과 "상호 작용"이라는 총 두 가지 작업 만 사용한다는 것을 알아야합니다. 가장 간단하고 직접적인 이해는 서명은 블록체인 외부(체인 아래)에서 발생하며 가스비를 사용할 필요가 없고, 상호 작용은 블록체인 위(체인 상)에서 발생하며 가스비를 사용해야 한다는 것입니다.

일반적으로 서명의 사용은 지갑에 로그인하는 것과 같이 본인임을 확인하는 것입니다. 예를 들어 유니스왑에 가서 토큰을 교환하려면 지갑을 연결한 다음 웹사이트에 "내가 이 지갑의 소유자입니다"라는 서명을 해야만 유니스왑을 사용할 수 있습니다! 그러면 블록체인의 데이터나 상태를 변경하지 않기 때문에 비용이 들지 않는 유니스왑을 사용할 수 있습니다.

智能合约

유니스왑에서 실제로 토큰을 교환하려면 먼저 유니스왑의 스마트 컨트랙트에 "나는 100USDT를 시금치 코인으로 교환할 것이고, 내 100USDT를 이동할 수 있는 권한을 부여합니다"라고 말해야 하는데, 이를 승인이라고 하는 단계입니다( 이 단계를 승인(승인)이라고 하며, 그 다음 유니스왑의 스마트 컨트랙트에 "나는 100USDT를 시금치 코인으로 교환할 것이니 지금 해도 좋다"라고 말하기 위해 또 다른 금액을 지출해야 100USDT를 시금치 코인으로 교환하는 작업을 완료하게 됩니다.

智能合约

서명과 상호작용의 차이에 대해 간단히 이해하신 후 피싱의 원리를 소개해 드리자면, 피싱의 가장 일반적인 세 가지 방법인 인증 피싱, 허가 서명 피싱, 허가2 서명 피싱을 스피니치는 세 가지 방법으로 분류합니다.

과거 웹3.0에서 가장 고전적인 피싱 기법 중 하나인 승인 피싱에 대해 이야기해보겠습니다. 이름에서 알 수 있듯이 승인(승인) 메커니즘을 사용하는 것으로, 유니스왑 예시에서 승인은 스마트 컨트랙트에 "나는 당신이 내 XXX의 토큰을 몇 개 이동하도록 승인한다"고 말하는 것이며, 해커는 다음과 같이 할 수 있다고 설명합니다. 해커는 NFT 프로젝트로 위장한 아름다운 프론트 엔드로 가짜 피싱 웹 사이트를 만들 수 있으며, 웹 사이트 중간에는 "드롭을 청구하십시오"라는 아름다운 큰 버튼이 있으며, 실제로 클릭 한 후 지갑에 팝업되는 인터페이스는 실제로 해커의 주소로 토큰을 승인하기위한 것이며, 이때 클릭하여 확인하면 다음과 같습니다. 해커가 KPI를 성공적으로 완료한 것을 축하합니다.

智能合约

하지만 인증 피싱에는 문제가 있습니다. 가스 요금 때문에 많은 사람들이 경계를 늦추지 않고, 낯선 사이트를 조금만 살펴본 후 클릭하면 뭔가 이상하다는 것을 알거나 예방할 수 있는 더 좋은 방법이 있다는 것입니다.

그렇다면 오늘의 주인공인 허가 및 허가2 시그니처 피싱 라, 웹3 자산 보안 영역이 가장 큰 타격을 받고 있는데 왜 그렇게 예방하기 어려울까요? 많은 사람들의 머릿속에는 "이 작업은 안전하다"는 일종의 관성이 형성되어 있고, 돈을 쓸 필요가 없으며 대부분의 사람들은 각 서명의 의미를 모르기 때문입니다.

허가 메커니즘을 살펴 보겠습니다. 허가는 우리가 일반적으로 사용하는 것처럼 확장 된 기능의 승인하에 ERC-20 표준을위한 것입니다. 간단히 말해, 다른 사람이 토큰을 이동하도록 승인하기 위해 서명 할 수 있으며, 승인 (승인)은 스마트 계약에 돈을 지출하여 "당신은 내 XXX 양의 토큰을 이동할 수 있습니다"라고 말한 다음, 허가(Permit)는 한 사람에 대한 "메모"에 서명하는 것입니다."나는 이렇게 말합니다. "그리고 이 사람이 이 "노트"를 스마트 컨트랙트에 가져가서 가스 수수료를 지불하고 스마트 컨트랙트에 "그는 내가 그에게 토큰을 XXX만큼 이동하도록 허용합니다"라고 말하면 다른 사람들이 돈을 옮길 수 있습니다!"라고 말합니다. 이 과정에서 여러분은 이름만 서명하지만, 뒤에서는 다른 사람이 승인(승인)을 호출하고 토큰을 전송할 수 있도록 허용하는 것이며, 해커는 피싱 사이트, 지갑에 로그인하는 버튼을 통해 퍼밋 피싱을 대체하여 자산을 쉽게 낚아챌 수 있습니다.

智能合约

퍼밋2는 ERC-20의 기능이 아니라 유니스왑이 사용자들의 편의를 위해 도입한 기능으로, 앞서 예시한 것처럼 유니스왑에서 USDT를 시금치 코인으로 교환하려면 한 번 승인(승인)한 후 다시 교환해야 하는데, 이는 두 번의 가스비가 필요하기 때문에 유니스왑이 해결책을 내놓은 것입니다. 유니스왑이 생각해낸 해결책은 "모든 크레딧을 한 번에 승인하고, 교환할 때마다 서명을 하면 제가 대신 처리해드립니다"라는 기능으로, 이 기능을 통해 유니스왑 사용자는 가스비를 한 번만 지불하면 사용할 수 있으며 이 단계는 서명이기 때문에 가스비는 실제로 사용자가 지불하는 것이 아니라 퍼밋2 컨트랙트가 대신 지불하는 것입니다. Permit2 컨트랙트가 대신 지불하지만, 최종적으로 상환하는 토큰에서 공제됩니다.

智能合约

그러나 Permit2 낚시 조건은 유니스왑을 사용했고, 또한 현재 유니스왑의 기본 운영이 무제한 승인이기 때문에 무제한의 Permit2 스마트 컨트랙트를 승인했기 때문에 실제로 사용자 수가 여전히 많다는 조건을 충족하려면 동일한 해커가 귀하의 이름을 속여서 서명하는 한 토큰을 양도 할 수 있습니다 (승인에 제한됨). 동일한 해커가 사용자 이름을 속여 서명하도록 유도하면 토큰을 양도할 수 있습니다(승인된 사람에게만 해당).

요약하자면, 인증 피싱의 본질은 스마트 컨트랙트에 "내 토큰을 해커에게 전달하는 것을 승인합니다"라고 말하기 위해 일정 금액을 지출하는 것이고, 서명 피싱의 본질은 다른 사람이 내 자산을 해커에게 전달하는 것을 허용하는 "메모"에 서명하고, 해커는 스마트 컨트랙트에 "내 토큰을 해커에게 보내고 싶습니다"라고 말하기 위해 돈을 지출하는 것입니다. 스마트 컨트랙트에 "그의 토큰을 나에게 전달하고 싶다"고 말하세요. 허가 및 허가2는 현재 가장 큰 피해를 입은 영역의 피싱 서명이며, 허가는 ERC-20 기능의 인증 확장이며, 허가2는 유니스왑에서 도입한 새로운 기능입니다.

그렇다면 원리를 이해하고 어떻게 예방할 수 있을까요?

1. 우선, 가장 중요한 것은 보안 의식을 키우는 것입니다. 모든 지갑 작업은 결국 무엇을하고 있는지 확인하기 위해 가야합니다.

2. 큰 자금과 지갑 분리에 대한 플레이 체인, 일단 낚시가 손실을 최소화 할 수 있습니다.

3. 허가 및 허가2 서명 형식을 식별하는 방법을 배우십시오. 다음 서명 형식이 표시되는 한 경계해야합니다:

인터랙티브: 인터랙티브 URL

소유자: 승인된 당사자 주소

발신자: 승인된 당사자 주소

값: 승인 횟수

논스: 난수

기한: 만료 시간

智能合约

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
7
즐겨찾기에 추가
6
코멘트