2024년 1월 22일, 한 암호화폐 기업이 피싱 공격을 받아 420만 달러의 피해를 입었는데, 보안 위험 모니터링, 경보 및 차단 플랫폼인 이글아이의 모니터링에 따르면 이 취약점의 핵심은 우리가 자주 언급하는 퍼미션(Permit) 시그니처입니다.
이날 앞서 법신은 블록체인 보안 연구자 시금치와 함께 '서명을 도용당했다면? 유니스왑을 사용했다면 조심하세요!"를 발표했습니다. 퍼밋2 서명 피싱을 밝혀라" 보안 연구 기사를 통해 공격자가 퍼밋2 기능을 이용해 사용자에게 피싱 공격을 가하는 방법을 상세히 설명한 바 있으며,이 기사에서는 이번 사건에 사용된 공격의 원리는 퍼밋2 공격에 대한 기사에서 설명한 것과 기본적으로 동일하지만, 퍼밋이 해당 기능을 지원하는 erc20 컨트랙트를 대상으로 한다는 점을 제외하면 다릅니다. 퍼밋은 해당 기능을 지원하는 erc20 컨트랙트를 대상으로 하는 반면, 퍼밋2는 모든 erc20 컨트랙트를 대상으로 할 수 있습니다.
이 게시물에서는 공격자가 사용자를 속여 사기성 메시지에 서명하도록 유도하기 위해 일반적으로 사용하는 방법과 몇 가지 보안 팁을 살펴봅니다.
퍼밋 서명 피싱이란 무엇인가요? 허가서 서명 피싱이란?
퍼밋 서명은 특정 상황에서 승인 작업을 간소화하는 데 사용되는 특정 디지털 서명 메커니즘입니다. 블록체인 기술과 암호화 원칙에 기반한 안전한 인증 방법입니다.
기존 디지털 서명에서는 서명자가 특정 데이터에 서명하기 위해 개인키를 가지고 있어야 하고, 서명된 데이터를 공개키와 함께 검증자에게 전송해야 합니다. 검증자는 해당 공개 키를 사용하여 서명의 유효성을 확인합니다.
그러나 권한 서명은 다른 접근 방식을 사용합니다. 이를 통해 소유자는 개인 키를 라이선스 사용자에게 직접 전송할 필요 없이 특별한 인증 메시지에 서명함으로써 다른 사람에게 특정 작업에 대한 액세스 권한을 부여할 수 있습니다.
반면, 권한 서명 피싱은 사용자가 승인된 작업에 대한 신중한 검증이나 이해가 부족하다는 점을 악용하여 무단 액세스 또는 민감한 정보를 획득합니다. 이 공격은 사용자를 속여 위조된 인증 작업 또는 서명 요청을 생성하도록 함으로써 인증 프로세스 또는 서명 메커니즘에 대한 사용자의 신뢰를 악용합니다.
해커가 일반적으로 사용하는 권한 서명 피싱 공격에는 어떤 것이 있나요?
위조된 권한 요청:
공격자는 사용자를 속이기 위해 합법적으로 보이는 권한 요청을 만들 수 있습니다. 여기에는 사용자에게 작업을 수행하기 위해 승인 또는 서명을 제공하도록 요청하는 스푸핑된 앱이나 웹사이트가 포함될 수 있습니다.
사용자를 오도하여 행동 유도:
공격자는 사용자를 속여 오용을 수행하도록 유도하는 방식으로 공격을 수행할 수 있습니다. 예를 들어, 공격자는 무해한 것처럼 보이는 버튼을 만들어 사용자가 인식하지 못하는 승인된 작업을 트리거할 수 있습니다.
가짜 인증 페이지:
공격자는 정상적인 인증 페이지와 유사하게 보이는 가짜 페이지를 만들어 사용자를 인증으로 유인할 수 있습니다. 이러한 페이지는 사용자가 정상적인 애플리케이션이나 서비스와 상호 작용하고 있다고 믿도록 속이기 위해 정상적인 인증 페이지와 거의 똑같이 디자인되는 경우가 많습니다.
사회 공학 :
공격자는 피싱 이메일, SMS 또는 소셜 미디어 메시지를 전송하는 등 사회 공학 기술을 사용하여 사용자가 악성 링크를 클릭하거나 가짜 인증 페이지로 이동하도록 유도할 수 있습니다. 또는 가짜 인증 페이지로 이동합니다.
어떻게 자신을 보호할 수 있나요?
퍼밋 서명에 대한 피싱 공격 중 일부를 고려하여 이전 연구원 Spinach는 몇 가지 효과적인 예방책을 제시했습니다.
1 다음을 이해하고 인식합니다. 서명 내용 :
퍼밋의 서명 형식은 일반적으로 소유자, 지출자, 가치, 논스 및 마감일을 주요 형식으로 포함하며, 퍼밋의 편리함과 저렴한 비용을 누리려면 다음을 배워야 합니다. 이 서명 형식을 인식하는 방법을 배워야 합니다. (보안 플러그인을 다운로드하는 것도 좋은 방법입니다.)
웹3 도메인에 있는 대부분의 피싱 웹사이트를 식별할 수 있는 다음 Beosin Alert 피싱 방지 플러그인을 독자 및 친구들에게 추천합니다. 모든 사람의 지갑과 자산을 안전하게 보호합니다.
피싱 방지 플러그인 다운로드하기:
https://chrome.google.com/webstore/detail/beosin-alert/lgbhcpagiobjacpmcgckfgodjeogceji?hl=en
2 자산과 상호작용을 위한 별도의 지갑 :
자산이 많은 경우 콜드월렛에 보관하고 체인에서 상호작용을 위한 지갑에 소량의 돈을 넣어두는 것이 좋습니다. 피싱 사기를 당했을 때 손실을 줄일 수 있습니다.
3 토큰의 특성과 허가 기능 지원 여부 확인 :
허가 기능을 구현하기 위해 이 확장 기능을 사용하는 ERC20 토큰이 점점 더 많아질 가능성이 높습니다. 이 기능을 지원하는 토큰을 보유하고 있다면 해당 토큰을 거래하거나 조작할 때 매우 주의해야 하며, 알 수 없는 서명이 허가 기능의 서명인지 여부를 엄격하게 확인해야 합니다.
4 사기를 당한 후 다른 플랫폼에 토큰이 있는 경우, 구제 계획을 잘 세워야 합니다:
사기를 당하고 해커에 의해 토큰이 유출되었다는 사실을 알게 되면 구제 계획을 잘 세워야 합니다. 예를 들어, 다른 플랫폼에 존재하는 서약 및 기타 방법을 통해 토큰을 추출하여 안전한 주소로 전송해야하며, 이번에는 해커가 귀하의 서명을 가지고 있기 때문에 해커가 항상 귀하의 주소 토큰 잔액을 모니터링 할 수 있다는 것을 알아야하며, 귀하의 도난당한 주소가 토큰에 나타나면 해커가 직접 전송할 수 있습니다. 이 시점에서 완벽한 토큰 구조 프로세스를 개발해야하며 토큰 추출 및 토큰 전송에서 두 프로세스를 함께 실행해야하며 해커 트랜잭션을 삽입 할 수 없으며 블록 체인에 대한 지식과 코드 기술이 필요한 MEV 전송을 사용할 수 있으며 Beosin 팀과 같은 전문 보안 회사를 찾아 거래 강탈 스크립트를 사용하여 달성 할 수도 있습니다.