
암호화 자산 보안 가이드: 다양한 조치로 자산을 안전하게 보호하는 방법
작성자: INSIGHTFUL
번역: TechFlow
면책 조항
본 안내서는 어떤 내용도 보장하지 않으며, "암호화 또는 사이버 보안 전문가"의 관점에서 작성된 것이 아니라 여러 출처와 개인 경험을 바탕으로 지속적으로 학습한 결과물입니다.
예를 들어, 제가 이 분야에 처음 입문했을 때 FOMO(놓칠까 봐 두려움)와 탐욕으로 인해 사기(가짜 라이브 스트리밍 사기 및 가짜 MEV 봇 사기)를 당한 적이 있어, 이후 보안에 대해 철저히 공부하고 설정하며 이해하는 데 시간을 들였습니다.
모든 자산이나 큰 금액을 잃고 나서야 보안을 배우게 되는 사람이 되지 마십시오.
해킹인가 사용자 실수인가?
모든 유형의 지갑, 토큰 또는 NFT의所谓 "해킹" 또는 정보 유출은 대략 두 가지로 나눌 수 있습니다:
-
이전에 부여된 토큰 승인滥用.
-
개인키 또는 니모닉(mnemonic) 유출 (주로 핫 월렛에서 발생).
토큰 승인
토큰 승인은 스마트 계약이 특정 지갑 내 특정 종류나 수량의 토큰을 접근하고 이동할 수 있도록 허용하는 권한입니다.
예를 들어:
-
NFT를 판매할 수 있도록 OpenSea에 NFT 이동 권한을 부여.
-
토큰 교환을 위해 Uniswap에 토큰 사용 권한을 부여.
배경 정보로, 기본적으로 이더리움 네트워크 상의 모든 것은 ETH를 제외하면 ERC-20 토큰입니다.
ERC-20 토큰의 특징 중 하나는 다른 스마트 계약에게 승인 권한을 부여할 수 있다는 점입니다.
핵심 DeFi 거래(교환 또는 토큰 브릿지 등)를 하려면 어느 시점에서 이러한 승인이 필요합니다.
NFT는 각각 ERC-721 및 ERC-1155 토큰이며, 그들의 승인 메커니즘은 ERC-20과 유사하지만 NFT 마켓플레이스에 적용됩니다.
MetaMask(MM)의 초기 토큰 승인 알림에는 다음과 같은 중요한 정보들이 포함되어 있습니다:
-
승인을 부여하려는 토큰
-
상호작용하는 웹사이트
-
상호작용하는 스마트 계약
-
토큰 권한 수량을 수정할 수 있는 기능

자세히 보기 드롭다운 메뉴에서는 추가 정보인 '승인 기능'을 볼 수 있습니다.
모든 ERC-20 토큰은 ERC-20 표준에 명시된 몇 가지 특성과 속성을 반드시 가져야 합니다.
그중 하나는 승인된 수량만큼 스마트 계약이 토큰을 이동시킬 수 있다는 능력입니다.
이러한 승인의 위험은 악성 스마트 계약에 토큰 권한을 부여할 경우 자산이 도난당하거나 소진될 수 있다는 점입니다.

무제한 vs. 사용자 정의 제한 승인 (ERC-20 토큰)
많은 DeFi 앱들은 기본적으로 ERC-20 토큰에 대한 무제한 승인을 요청합니다.
이는 사용자 경험을 개선하기 위한 것으로, 편의성을 높이고 미래에 추가 승인을 요구하지 않아 시간과 가스비를 절약할 수 있기 때문입니다.

왜 이것이 중요할까요?
무제한 토큰 승인을 허용하면 자금이 위험에 처할 수 있습니다.
수동으로 토큰 승인을 특정 수량으로 설정하면, 해당 dApp이 더 큰 승인을 새로 서명하지 않는 한 이동시킬 수 있는 최대 토큰 수를 제한할 수 있습니다.
이는 스마트 계약이 해킹당할 경우 당신의 리스크를 줄여줍니다. 만약 특정 dApp에 무제한 승인을 부여했는데 해당 dApp에 취약점이 생긴다면, 승인을 부여한 지갑 내 해당 토큰을 모두 잃을 수 있습니다.
예를 들어, 멀티체인의 WETH(WETH는 ETH의 ERC-20 포장 토큰)가 이런 취약점을 겪은 바 있습니다.
이 일반적인 브릿지 서비스는 과거의 무제한 토큰 승인滥用으로 인해 공격을 받아 사용자 자금이 도난되었습니다.

아래 예시(Zerion 지갑 사용)는 기본 무제한 승인을 수동 승인으로 변경하는 방법을 보여줍니다.
NFT 승인
"setApprovalForAll"은 NFT에 사용됨
이것은 일반적으로 사용되지만 잠재적으로 위험한 승인으로, NFT를 판매하려 할 때 신뢰할 수 있는 NFT 마켓플레이스에 부여되는 경우가 많습니다.
이렇게 하면 마켓플레이스의 스마트 계약이 귀하의 NFT를 이동시킬 수 있게 됩니다. 따라서 구매자에게 NFT를 판매할 때, 마켓플레이스의 스마트 계약이 자동으로 NFT를 구매자에게 이동시킬 수 있습니다.
이 승인은 특정 컬렉션 또는 계약 주소의 모든 NFT 토큰에 대한 접근 권한을 부여합니다.
악성 웹사이트나 계약이 이를 이용하여 NFT를 도난할 수도 있습니다.



"setApprovalForAll"滥用 사례
FOMO 무료 민팅 상황에서의 고전적인 "지갑 자산 감소"는 다음과 같습니다:
사용자는 합법적이라고 생각하는 악성 웹사이트에 접속합니다.
-
지갑을 웹사이트에 연결할 때, 사이트는 지갑 내용을 조회할 수 있을 뿐입니다.
-
그러나 악성 웹사이트는 지갑 내 가장 높은 가치의 NFT를 스캔한 후 MetaMask(MM)를 통해 해당 NFT의 계약 주소에 대해 "모두 승인 설정"을 요청합니다.
-
사용자는 자신이 NFT를 민팅한다고 생각하지만, 실제로는 악성 계약에 토큰 이동 권한을 부여하고 있는 것입니다.
-
그 후 사기꾼은 토큰을 도난하여 OpenSea 또는 Blur의 입찰가에 매각하며, 도난 표시되기 전에 정산합니다.
서명 vs. 승인
승인은 트랜잭션 처리를 포함하므로 가스비가 발생합니다.
서명은 가스비 없이 수행되며, 일반적으로 dApp 로그인 시 지갑 소유권을 증명하는 용도로 사용됩니다.
서명은 일반적으로 낮은 리스크이지만, OpenSea 같은 신뢰할 수 있는 사이트에 미리 부여된 승인을 활용해 악용될 가능성도 있습니다.
ERC-20 토큰의 경우 최근 이더리움에 도입된 'allowance 기능' 덕분에 가스비 없는 서명으로 승인을 수정할 수도 있습니다.
1inch 같은 탈중앙화 거래소(DEX)를 사용하면 이를 확인할 수 있습니다.
토큰 승인 요약
어떤 승인을 부여할 때는 신중하게 진행하고, 어떤 토큰을, 어떤 스마트 계약에 승인하는지 확실히 알아야 합니다(etherscan 등을 활용하세요).
승인 리스크 줄이기:
-
여러 지갑 사용 (승인은 지갑별로 적용됨) — 고가치 자산이 있는 보관용 지갑에는 승인 서명하지 마세요.
-
가능하면 ERC-20 토큰에 대한 무제한 승인을 줄이거나 완전히 피하세요.
-
정기적으로 etherscan 또는 revoke.cash를 통해 승인을 점검하고 철회하세요.

하드웨어/콜드 월렛
핫 월렛은 컴퓨터나 휴대폰을 통해 인터넷에 연결되며, 키와 지갑 자격정보는 온라인 또는 브라우저에 로컬 저장됩니다.
콜드 월렛은 하드웨어 장치로, 키가 완전히 오프라인 상태에서 생성되고 저장되며 물리적으로 근접한 위치에 보관됩니다.
Ledger의 가격이 약 120달러임을 감안할 때, 1000달러 이상의 암호화 자산을 보유하고 있다면 Ledger를 구매하고 설정하는 것이 좋습니다. Ledger 지갑을 MetaMask(MM)에 연결하면 핫 월렛과 동일한 기능을 유지하면서 일정 수준의 보안을 유지할 수 있습니다.
Ledger와 Trezor이 가장 인기 있는 선택지입니다. 저는 Ledger를 선호하는데, 브라우저 지갑(Rabby, MM 등)과의 호환성이 가장 좋기 때문입니다.

Ledger 구매 시 모범 사례
항상 공식 제조사 웹사이트에서 구매하세요. eBay나 Amazon에서 절대 구매하지 마십시오—조작되었거나 악성 소프트웨어가 미리 설치되었을 수 있습니다.
받은 제품의 포장이 밀봉되어 있는지 확인하세요.
Ledger를 처음 설정할 때, 니모닉 단어구문(복구 문구)이 생성됩니다.
니모닉은 반드시 물리적인 종이에만 적으세요. 또는 미래를 위해 강판(스틸 플레이트)에 새겨 화재 및 침수에 대비하세요.
절대로 니모닉을 사진으로 찍거나 키보드(휴대폰 포함)에 입력하지 마세요—이러한 행위는 니모닉을 디지털화시키며, 콜드 월렛이 비보안적인 핫 월렛으로 변질됩니다.
암호화 자산은 하드웨어 지갑 자체에 저장되는 것이 아니라, 니모닉 단어구문으로 생성된 지갑에 존재합니다.
니모닉 단어구문(12~24단어)은 모든 것이며, 반드시 어떤 대가를 치르더라도 보호하고 안전하게 보관해야 합니다.
이것은 해당 니모닉 아래 생성된 모든 지갑에 대한 완전한 통제 및 접근 권한을 제공합니다.
니모닉은 장치에 국한되지 않으며, 필요 시 다른 하드웨어 지갑에 "불러오기(임포트)"할 수 있습니다.
니모닉이 분실되거나 손상되었고, 원래의 하드웨어 지갑도 분실, 파손 또는 잠겼다면, 자산에 대한 영구적인 접근 권한을 상실하게 됩니다.
다양한 니모닉 저장 방법이 있습니다. 예를 들어, 여러 부분으로 나누어 물리적 거리를 늘리고, 눈에 띄지 않는 장소(예: 냉장고 바닥의 국통, 재산 지하 등)에 보관하는 방식입니다.
최소한 2~3부의 사본을 만들어 두어야 하며, 그중 하나는 강판으로 제작하여 화재 및 침수에 대비해야 합니다.
"개인키(private key)"는 니모닉과 유사하지만 특정 지갑 하나에만 해당됩니다. 일반적으로 기존 핫 월렛을 새로운 MetaMask(MM) 계정에 가져오거나 자동화 도구(거래 봇 등)에 사용할 때 쓰입니다.
25번째 단어 - Ledger
Ledger는 원래의 24단어 니모닉 외에 선택적인 추가 보안 기능을 제공합니다.
패스프레이즈(passphrase)는 고급 기능으로, 복구 문구에 최대 100자까지의 25번째 단어를 추가할 수 있게 해줍니다.
패스프레이즈를 사용하면 24단어 복구 문구만으로는 접근할 수 없는 완전히 다른 주소 세트가 생성됩니다.
보안을 강화하는 것 외에도, 강요 상황에서 합리적인 부인(deniable access)이 가능합니다.
패스프레이즈를 사용한다면, 반드시 안전하게 저장하거나 문자 단위로 정확히 기억해야 하며, 대소문자를 구분해야 합니다.
이것은 "$5 해머 공격"처럼 신체적 위협 상황에서 유일하고 최후의 방어 수단입니다.
왜 이렇게 번거롭게 하드웨어 지갑을 설정해야 할까요?
핫 월렛은 개인키를 인터넷에 연결된 위치에 저장합니다.
이러한 자격정보를 인터넷을 통해 속임수, 오도, 조작을 통해 노출시키는 것은 매우 간단합니다.
콜드 월렛을 소유한다는 것은 사기꾼이 Ledger 본체나 니모닉을 물리적으로 찾아 획득하지 않는 한 지갑과 자산에 접근할 수 없다는 의미입니다.
니모닉이 유출되면, 악성 웹사이트나 계약과 상호작용하지 않은 자산을 포함해 모든 핫 월렛과 그 내부 자산이 위험에 처합니다.
과거 사람들이 "해킹"당했던 일반적인 방식
-
과거 사람들은 핫 월렛을 통해 "해킹"(니모닉 유출)을 당한 경우가 많았는데, 주요 방법은 다음과 같습니다:
-
악성 소프트웨어를 다운로드하도록 속임을 받음: 구직 제안 PDF, 베타 게임, Google Sheets 매크로 실행, 합법적인 웹사이트나 서비스를 모방한 사이트 등을 통해.
-
악성 계약과 상호작용: 모방 웹사이트에서 FOMO 민팅을 하거나, 알려지지 않은 에어드랍이나 수신한 NFT 계약과 상호작용함.
-
개인키 및 니모닉을 "고객 지원" 또는 관련 프로그램/폼에 삽입하거나 전송함.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














