코인
지갑 거래내역에서 주소를 복사하면 안 되는 이유 — 주소 오염 공격 지갑 거래내역에서 주소를 복사하면 안 되는 이유 — 주소 오염 공격
암호화폐 주소는 길고 무작위한 문자열이라 손으로 입력하는 사람이 거의 없습니다. 대부분 어딘가에서 복사해 붙여넣죠. 공격자들은 바로 그 습관을 노립니다.
주소 오염(address poisoning)이라고 부르는 수법의 구조는 이렇습니다.
먼저 공격자가 여러분이 실제로 거래하는 상대방 주소를 관찰합니다. 그리고 앞 몇 글자와 뒤 몇 글자가 똑같은 가짜 주소를 만듭니다. 이런 주소를 생성해주는 도구가 있어서 어렵지 않습니다.
그다음 그 가짜 주소에서 여러분 지갑으로 금액이 0인 송금을 보냅니다. 그러면 여러분의 거래내역에 그 주소가 기록으로 남습니다.
시간이 지나 송금할 일이 생겼을 때, 내역에서 익숙해 보이는 주소를 복사해 붙여넣으면 그대로 공격자에게 보내는 것입니다. 앞뒤 몇 글자만 확인하고 가운데는 안 보는 경우가 대부분이고, 지갑 앱들이 가운데를 생략해서 표시하는 것도 이 공격을 쉽게 만듭니다.
여기서 궁금해지는 점이 있습니다. 어떻게 내 주소에서 나가는 것처럼 보이는 송금을 남이 만들 수 있을까요. ERC-20 표준의 전송 함수는 금액이 0이면 잔고나 승인 여부를 확인하지 않습니다. 그래서 누구든 소액의 수수료만 내면 임의의 주소를 출발지로 하는 0원 송금을 만들 수 있습니다.
이 공격의 무서운 점은 시간차입니다. 가짜 주소를 심어놓고 두 달 넘게 기다렸다가 피해가 발생한 사례가 보고되어 있습니다. 그쯤 되면 그 기록이 언제 어떻게 생겼는지 아무도 신경 쓰지 않습니다.
대응 방법은 단순합니다.
거래내역을 주소록으로 쓰지 마십시오. 자주 보내는 주소는 지갑의 주소록 기능에 저장해두고 거기서만 꺼내 쓰는 것이 안전합니다.
거래소를 이용한다면 출금 화이트리스트를 설정하십시오. 등록된 주소로만 출금이 가능해지고, 새 주소를 추가할 때 대기 시간이 걸리는 경우가 많아 실수를 되돌릴 여유가 생깁니다.
금액이 크면 소액을 먼저 보내 확인한 뒤 나머지를 보내십시오. 수수료가 아깝게 느껴지겠지만 전액을 잃는 것보다 낫습니다.
그리고 주소를 확인할 때는 앞뒤가 아니라 가운데를 보십시오. 공격자가 맞추는 것은 정확히 앞뒤이기 때문입니다.암호화폐 주소는 길고 무작위한 문자열이라 손으로 입력하는 사람이 거의 없습니다. 대부분 어딘가에서 복사해 붙여넣죠. 공격자들은 바로 그 습관을 노립니다.
주소 오염(address poisoning)이라고 부르는 수법의 구조는 이렇습니다.
먼저 공격자가 여러분이 실제로 거래하는 상대방 주소를 관찰합니다. 그리고 앞 몇 글자와 뒤 몇 글자가 똑같은 가짜 주소를 만듭니다. 이런 주소를 생성해주는 도구가 있어서 어렵지 않습니다.
그다음 그 가짜 주소에서 여러분 지갑으로 금액이 0인 송금을 보냅니다. 그러면 여러분의 거래내역에 그 주소가 기록으로 남습니다.
시간이 지나 송금할 일이 생겼을 때, 내역에서 익숙해 보이는 주소를 복사해 붙여넣으면 그대로 공격자에게 보내는 것입니다. 앞뒤 몇 글자만 확인하고 가운데는 안 보는 경우가 대부분이고, 지갑 앱들이 가운데를 생략해서 표시하는 것도 이 공격을 쉽게 만듭니다.
여기서 궁금해지는 점이 있습니다. 어떻게 내 주소에서 나가는 것처럼 보이는 송금을 남이 만들 수 있을까요. ERC-20 표준의 전송 함수는 금액이 0이면 잔고나 승인 여부를 확인하지 않습니다. 그래서 누구든 소액의 수수료만 내면 임의의 주소를 출발지로 하는 0원 송금을 만들 수 있습니다.
이 공격의 무서운 점은 시간차입니다. 가짜 주소를 심어놓고 두 달 넘게 기다렸다가 피해가 발생한 사례가 보고되어 있습니다. 그쯤 되면 그 기록이 언제 어떻게 생겼는지 아무도 신경 쓰지 않습니다.
대응 방법은 단순합니다.
거래내역을 주소록으로 쓰지 마십시오. 자주 보내는 주소는 지갑의 주소록 기능에 저장해두고 거기서만 꺼내 쓰는 것이 안전합니다.
거래소를 이용한다면 출금 화이트리스트를 설정하십시오. 등록된 주소로만 출금이 가능해지고, 새 주소를 추가할 때 대기 시간이 걸리는 경우가 많아 실수를 되돌릴 여유가 생깁니다.
금액이 크면 소액을 먼저 보내 확인한 뒤 나머지를 보내십시오. 수수료가 아깝게 느껴지겠지만 전액을 잃는 것보다 낫습니다.
그리고 주소를 확인할 때는 앞뒤가 아니라 가운데를 보십시오. 공격자가 맞추는 것은 정확히 앞뒤이기 때문입니다.
0
댓글 0