(출처: https://github.com/slowmist/Blockchain-dark-forest-selfguard-handbook)
프롤로그
먼저, 이 핸드북을 찾아주신 것을 축하드립니다! 암호화폐 보유자이든 앞으로 암호화폐 세계에 뛰어들고 싶으신 분이라면 이 핸드북이 많은 도움이 될 것입니다. 이 핸드북을 꼼꼼히 읽어보시고 실생활에 적용해 보시기 바랍니다.
또한 이 핸드북을 완전히 이해하려면 약간의 배경 지식이 필요합니다. 하지만 걱정하지 마세요. 초보자의 경우 지식의 장벽을 두려워하지 마시고 충분히 극복할 수 있습니다. 이해가 안 되는 부분이 있어 더 자세히 알아보고 싶으시다면 구글 검색을 적극 권장합니다. 또한 한 가지 보안 규칙을 명심하는 것이 중요합니다: 회의적으로 생각하세요! 웹에서 어떤 정보를 보더라도 항상 최소 두 곳 이상의 출처를 찾아 상호 참조해야 합니다.
Again, always be skeptical 🙂 including the knowledge mentioned in this handbook.
블록체인은 생산 관계에 변화를 가져오고 신뢰 문제를 어느 정도 해결해 주는 위대한 발명품입니다. 특히 블록체인은 불변성, 합의된 대로 실행, 부인 방지 등 중앙화나 제3자 없이도 많은 '신뢰' 시나리오를 만들어냅니다. 하지만 현실은 잔인합니다. 블록체인에 대한 오해가 많고, 악의적인 사람들은 이러한 오해를 이용해 허점을 악용하고 사람들의 돈을 훔쳐 많은 금전적 손실을 초래합니다. 오늘날 암호화폐 세계는 이미 어두운 숲이 되었습니다.
블록체인의 어두운 숲에서 살아남기 위해 다음 두 가지 보안 수칙을 기억해 주세요.
- 제로 트러스트: 단순하게 만들려면 회의적인 태도를 유지하고 항상 그렇게 유지하세요.
- 지속적인 보안 검증: 무언가를 신뢰하려면 의심스러운 것을 검증하고 검증하는 습관을 들여야 합니다.
참고: 위의 두 가지 보안 규칙은 이 핸드북의 핵심 원칙이며, 이 핸드북에 언급된 다른 모든 보안 원칙은 이 두 가지 원칙에서 파생된 것입니다.
자, 소개는 여기까지입니다. 다이어그램으로 시작하여 어두운 숲을 탐험하면서 어떤 위험에 직면하게 되고 어떻게 대처해야 하는지 살펴봅시다.
다이어그램
핸드북의 나머지 부분을 자세히 살펴보기 전에 이 도표를 훑어보실 수 있습니다. 지갑 생성, 지갑 백업, 지갑 사용의 세 가지 주요 프로세스로 구성된 이 세상의 주요 활동(블록체인, 암호화폐, 웹3.0 등 어떤 이름으로 부르든 상관없습니다)에 관한 모든 것입니다.
이 세 가지 프로세스를 따라 각각을 분석해 보겠습니다.
지갑 만들기
지갑의 핵심은 개인 키(또는 시드 문구)입니다.
개인 키의 모습은 다음과 같습니다:
0xa164d4767469de4faf09793ceea07d5a2f5d3cef7f6a9658916c581829ff5584
또한 시드 문구는 다음과 같이 표시됩니다:
잔인한 주말 스파이크 포인트 무고한 어지러운 외계인 사용 불러 일으키다 창고 조정 잘못
참고: 여기서는 이더리움을 예로 들었습니다. 개인 키/시드 문구에 대한 자세한 내용은 직접 확인하시기 바랍니다.
개인 키는 회원님의 신원입니다. 개인키를 분실/도난당하면 신원 확인을 할 수 없게 됩니다. 잘 알려진 지갑 애플리케이션은 많지만, 이 안내서에서 모든 애플리케이션을 다룰 수는 없습니다.
하지만 몇 가지 특정 지갑을 언급하겠습니다. 여기에 언급된 지갑은 어느 정도 신뢰할 수 있는 지갑입니다. 하지만 사용 중에 예상되는 보안 문제나 위험이 없다고 보장할 수는 없습니다(더 이상 반복하지 않겠습니다). 프롤로그에서 언급한 두 가지 주요 보안 규칙을 항상 염두에 두시기 바랍니다.)
애플리케이션별로 분류하면 PC 지갑, 브라우저 확장 지갑, 모바일 지갑, 하드웨어 지갑, 웹 지갑이 있습니다. 인터넷 연결에 따라 크게 콜드월렛과 핫월렛으로 나눌 수 있습니다. 암호화폐 세계로 뛰어들기 전에 먼저 지갑의 목적에 대해 생각해야 합니다. 목적에 따라 어떤 지갑을 사용할지 결정할 뿐만 아니라 지갑을 사용하는 방법도 결정됩니다.
어떤 종류의 지갑을 선택하든 한 가지 확실한 것은 이 세상에서 충분한 경험을 쌓은 후에는 지갑 하나만으로는 충분하지 않다는 것입니다.
여기서 또 다른 보안 원칙을 명심해야 합니다. 한 바구니에 모든 달걀을 담지 말라는 격리 원칙입니다. 지갑을 자주 사용할수록 더 위험해집니다. 항상 기억하세요: 새로운 것을 시도할 때는 먼저 별도의 지갑을 준비해 소량의 돈으로 잠시 사용해 보세요. 저와 같은 암호 화폐 베테랑이라도 불을 가지고 놀면 더 쉽게 화상을 입을 수 있습니다.
다운로드
간단하게 들리지만 실제로는 쉽지 않습니다. 그 이유는 다음과 같습니다:
- 많은 사람이 실제 공식 웹사이트나 적절한 애플리케이션 마켓을 찾지 못해 결국 가짜 지갑을 설치합니다.
- 많은 사람들이 다운로드한 애플리케이션이 변조되었는지 여부를 식별하는 방법을 모릅니다.
따라서 많은 사람들이 블록체인 세계에 진입하기 전에 이미 지갑이 비어 있는 경우가 많습니다.
위의 첫 번째 문제를 해결하기 위해 다음과 같이 올바른 공식 웹사이트를 찾을 수 있는 몇 가지 방법이 있습니다.
- Google 사용
- 코인마켓캡과 같은 잘 알려진 공식 웹사이트 사용
- 신뢰할 수 있는 사람이나 친구에게 물어보기
이러한 다양한 출처에서 얻은 정보를 상호 참조할 수 있으며 궁극적으로 진실은 단 하나뿐입니다.) 축하합니다, 올바른 공식 웹사이트를 찾았습니다.
다음으로 애플리케이션을 다운로드하여 설치해야 합니다. PC 지갑인 경우공식 웹사이트에서 다운로드한 후 직접 설치해야 합니다. 설치 전 링크가 변조되었는지 확인하실 것을 적극 권장합니다. 이러한 검증을 통해 소스코드가 완전히 변조된 경우(내부자 사기, 내부 해킹, 공식 웹사이트 해킹 등)는 막을 수 없지만, 소스코드의 부분 변조, 중간자 공격 등의 경우는 막을 수 있습니다.
파일이 변조되었는지 확인하는 방법은 파일 일관성 검사입니다. 일반적으로 두 가지 방법이 있습니다:
- 해시 확인MD5, SHA256 등입니다. MD5는 대부분의 경우에 적합하지만 해시 충돌의 위험은 여전히 존재하므로 일반적으로 충분히 안전한 SHA256을 선택합니다.
- GPG 서명 확인이 방법도 매우 인기가 있습니다. GPG 도구, 명령 및 방법을 마스터하는 것이 좋습니다. 이 방법은 초보자에게는 약간 어렵지만 익숙해지면 매우 유용하다는 것을 알게 될 것입니다.
그러나 암호화폐 세계에는 검증을 제공하는 프로젝트가 많지 않습니다. 따라서 하나를 찾는 것은 운이 좋은 일입니다. 예를 들어, 여기 스패로우 월렛이라는 비트코인 지갑이 있습니다. 다운로드 페이지에 "릴리스 확인"이라는 문구가 매우 인상적이며, 위에서 언급한 두 가지 방법에 대한 명확한 지침이 있으므로 참고할 수 있습니다:
다운로드 페이지에는 두 가지 GPG 도구가 언급되어 있습니다:
- GPG Suite, MacOS용.
- Gpg4win, Windows용.
주의를 기울이면 두 GPG 도구의 다운로드 페이지에서 두 방법의 일관성을 확인하는 방법에 대한 몇 가지 지침을 찾을 수 있습니다. 그러나 단계별 가이드는 없습니다. 즉, 직접 배우고 연습해야합니다.)
브라우저 확장 지갑인 경우와 같은 앱은 Chrome 웹 스토어에서 다운로드 수와 평점만 확인하면 됩니다. 예를 들어 MetaMask는 다운로드 수가 1,000만 건이 넘고 평점이 2,000점 이상입니다(전체 평점은 높지 않지만). 어떤 사람들은 다운로드 수와 평점이 부풀려졌다고 생각할 수 있습니다. 사실 이렇게 많은 숫자를 위조하는 것은 매우 어렵습니다.
모바일 지갑 은 브라우저 확장 지갑과 유사합니다. 하지만 App Store는 지역마다 버전이 다르다는 점에 유의해야 합니다. 중국 본토에서는 암호화폐 사용이 금지되어 있으므로, 중국 App Store 계정으로 지갑을 다운로드했다면 사용하지 마시고 미국 등 다른 지역의 다른 계정으로 변경한 다음 다시 다운로드하는 방법밖에 없습니다. 또한, 올바른 공식 웹사이트는 올바른 다운로드 방법(예: imToken, 트러스트 월렛 등)으로 안내합니다. 공식 웹사이트는 높은 웹사이트 보안을 유지하는 것이 중요합니다. 공식 웹사이트가 해킹되면 큰 문제가 발생할 수 있습니다).
하드웨어 지갑인 경우공식 웹사이트에서 구입하는 것을 적극 권장합니다. 온라인 스토어에서 구매하지 마세요. 지갑을 받으신 후에는 지갑이 손상되지 않았는지 여부에도 주의를 기울여야 합니다. 물론 포장에 감지하기 어려운 몇 가지 헛소리가 있습니다. 어쨌든 하드웨어 지갑을 사용할 때는 시드 문구와 지갑 주소를 처음부터 최소 세 번 이상 생성해야 합니다. 그리고 반복되지 않는지 확인하세요.
웹 지갑인 경우사용하지 않는 것이 좋으며, 어쩔 수 없는 경우가 아니라면 진품인지 확인한 후 아껴서 사용하고 절대 의존하지 않는 것이 좋습니다.
니모닉 문구
지갑을 생성한 후 저희가 직접 다루는 핵심은 개인키가 아닌 니모닉 문구/시드 문구이며, 이는 기억하기 쉽습니다. 니모닉 문구에는 표준 규칙(예: BIP39)이 있으며, 일반적으로 12개의 영어 단어로 구성되며, 다른 숫자(3의 배수)도 가능하지만 24단어를 넘지 않아야 합니다. 그렇지 않으면 너무 복잡하고 기억하기 쉽지 않습니다. 단어 수가 12개 미만이면 보안을 신뢰할 수 없습니다. 12/15/18/21/24 단어는 흔히 볼 수 있습니다. 블록체인 세계에서는 12단어가 대중적이고 충분히 안전하지만, Ledger와 같이 24단어로 시작하는 하드코어 하드웨어 지갑도 여전히 존재합니다. 영어 단어 외에도 중국어, 일본어, 한국어 등과 같은 다른 언어도 사용할 수 있습니다. 다음은 2048개의 단어 목록입니다:
https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md
지갑을 만들 때 시드 문구는 보안에 취약합니다. 시드 문구를 도용할 수 있는 사람이나 웹캠 또는 다른 어떤 것에도 둘러싸여 있지 않도록 주의하시기 바랍니다.
또한 시드 문구가 무작위로 생성되는지 여부도 주의하시기 바랍니다. 일반적으로 잘 알려진 지갑은 충분한 수의 무작위 시드 문구를 생성할 수 있습니다. 하지만 항상 주의하셔야 합니다. 지갑에 문제가 있는지 여부를 알기 어렵습니다. 보안을 위해 이러한 습관을 기르는 것이 매우 유익할 수 있으니 인내심을 가지시기 바랍니다. 마지막으로, 특히 지갑을 콜드월렛으로 사용하려는 경우 인터넷 연결을 끊고 지갑을 만드는 것도 고려해볼 수 있습니다. 인터넷 연결을 끊는 것은 언제나 효과가 있습니다.
키리스
키리스는 개인 키가 없다는 뜻입니다. 여기서는 키리스를 크게 두 가지 시나리오로 나눕니다(설명의 편의를 위해, 이러한 구분은 업계 표준이 아닙니다).
- 수탁. 예를 들어 사용자가 계정을 등록하기만 하면 되고 개인 키를 소유하지 않는 중앙화된 거래소 및 지갑이 있습니다. 이러한 중앙화된 플랫폼의 보안은 전적으로 중앙화된 플랫폼에 의존합니다.
- 비수탁. 사용자는 실제 개인 키(또는 시드 구문)가 아닌 개인 키와 유사한 제어 권한을 가집니다. 호스팅 및 인증/인증을 위해 잘 알려진 클라우드 플랫폼에 의존합니다. 따라서 클라우드 플랫폼의 보안이 가장 취약한 부분이 됩니다. 다른 업체들은 안전한 다자간 컴퓨팅(MPC)을 사용하여 단일 위험 지점을 제거하고, 사용자 경험을 극대화하기 위해 유명 클라우드 플랫폼과 협력하기도 합니다.
개인적으로 저는 다양한 종류의 키리스 도구를 사용해 보았습니다. 자금력이 풍부하고 평판이 좋은 중앙화된 거래소가 최고의 경험을 제공합니다. 토큰 분실에 대한 개인적인 책임이 없는 한(예: 계정 정보가 해킹당한 경우), 중앙화된 거래소는 일반적으로 손실을 보상해줍니다. MPC 기반 키리스 프로그램은 매우 유망해 보이며 장려되어야 합니다. 저는 젠고, 파이어블록, 세이프헤론에 대한 좋은 경험이 있습니다. 장점은 분명합니다:
- MPC 알고리즘 엔지니어링은 잘 알려진 블록체인에서 점점 더 성숙해지고 있으며, 개인 키에 대해서만 수행하면 됩니다.
- 한 가지 아이디어로 서로 다른 다중 서명 체계를 가진 여러 블록체인의 문제를 해결하고 일관된 사용자 경험을 만들 수 있으며, 이를 흔히 범용 다중 서명이라고 부릅니다.
- 실제 개인 키가 나타나지 않도록 보장하고 다중 서명 계산을 통해 단일 위험 지점을 해결할 수 있습니다.
- 클라우드(또는 웹2.0 기술)와 결합된 MPC는 보안을 강화할 뿐만 아니라 좋은 경험을 선사합니다.
하지만 여전히 몇 가지 단점이 있습니다:
- 모든 오픈소스 프로젝트가 업계에서 인정하는 표준을 충족할 수 있는 것은 아닙니다. 더 많은 작업이 필요합니다.
- 많은 사람들이 기본적으로 이더리움(또는 EVM 기반 블록체인)만 사용합니다. 따라서 노시스 세이프와 같은 스마트 컨트랙트 접근 방식에 기반한 다중 서명 솔루션이면 충분합니다.
전반적으로 어떤 도구를 사용하든 안전하고 제어할 수 있으며 좋은 경험을 할 수 있다면 좋은 도구입니다.
지금까지 지갑을 만들 때 주의해야 할 사항에 대해 알아보았습니다. 다른 일반적인 보안 문제는 이후 섹션에서 다룰 예정입니다.
지갑 백업
저를 포함한 많은 선량한 손들이 함정에 빠지는 곳입니다. 저는 백업을 제대로 하지 않았고 조만간 이런 일이 일어날 줄 알았습니다. 다행히도 자산이 많은 지갑은 아니었고 슬로우미스트의 친구들이 복구하는 데 도움을 주었습니다. 하지만 누구도 겪고 싶지 않은 무서운 경험이었습니다. 그럼 지금부터 지갑을 안전하게 백업하는 방법에 대해 알아보겠습니다.
니모닉 문구 / 개인 키
지갑 백업에 대해 이야기할 때는 기본적으로 니모닉 문구(또는 개인 키)를 백업하는 것을 의미합니다. 편의상 아래에서는 니모닉 문구를 사용하겠습니다.) 대부분의 니모닉 문구는 다음과 같이 분류할 수 있습니다:
- 일반 텍스트
- 비밀번호 사용
- 다중 서명
- 샤미르의 비밀 공유, 줄여서 SSS
각 유형에 대해 간략하게 설명하겠습니다.
일반 텍스트일반 텍스트는 이해하기 쉽습니다. 12개의 영어 단어가 있으면 지갑에 있는 자산을 소유하게 됩니다. 특별한 셔플을 사용하거나 단어 중 하나를 다른 단어로 대체하는 것도 고려할 수 있습니다. 두 가지 방법 모두 해커가 지갑을 해킹하기 어렵게 만들 수 있지만, 규칙을 잊어버리면 큰 골칫거리가 될 수 있습니다. 기억력은 방탄이 아닙니다. 몇 년이 지나면 기억이 엉망이 될 것입니다. 몇 년 전 레저 하드웨어 지갑을 사용할 때 24단어 니모닉 문구의 순서를 바꾼 적이 있습니다. 몇 년이 지나자 순서를 잊어버렸고 어떤 단어를 바꿨는지 확신할 수 없었습니다. 앞서 언급했듯이 무차별 대입을 통해 올바른 순서와 단어를 추측하는 특수 코드 브레이커 프로그램으로 문제를 해결할 수 있었습니다.
비밀번호 사용표준에 따르면 니모닉 문구에는 비밀번호가 포함될 수 있습니다. 여전히 같은 문구이지만 비밀번호를 사용하면 다른 시드 문구를 얻을 수 있습니다. 시드 구문은 일련의 개인 키, 공개 키 및 해당 주소를 도출하는 데 사용됩니다. 따라서 니모닉 문구뿐만 아니라 비밀번호도 백업해야 합니다. 참고로 개인 키에도 비밀번호가 있을 수 있으며, 비트코인의 경우 BIP 38, 이더리움의 경우 키스토어와 같은 자체 표준이 있습니다.
다중 서명이름에서 알 수 있듯이 지갑에 액세스하려면 여러 사람의 서명이 필요합니다. 자신만의 규칙을 설정할 수 있어 매우 유연합니다. 예를 들어, 3명이 키(니모닉 단어 또는 개인 키)를 가지고 있다면 최소 2명이 서명해야 지갑에 액세스할 수 있도록 설정할 수 있습니다. 각 블록체인에는 고유한 다중 서명 솔루션이 있습니다. 가장 잘 알려진 비트코인 지갑은 다중 서명을 지원합니다. 하지만 이더리움에서는 주로 노시스 세이프와 같은 스마트 컨트랙트를 통해 다중 서명이 지원됩니다. 또한, MPC, 즉 보안 다자간 연산이 점점 더 인기를 얻고 있습니다. 이는 기존의 다중 서명과 유사한 경험을 제공하지만, 다른 기술을 사용합니다. 다중 서명과 달리 MPC는 블록체인에 구애받지 않으며 모든 프로토콜에서 작동할 수 있습니다.
SSS샤미르의 비밀 공유, SSS는 시드를 여러 개의 공유로 나눕니다(일반적으로 각 공유는 20개의 단어로 구성됨). 지갑을 복구하려면 지정된 수의 공유를 수집하여 사용해야 합니다. 자세한 내용은 아래의 업계 모범 사례를 참조하세요:
https://support.keyst.one/advanced-features/recovery-phrase/import-or-create-shamir-backup
https://wiki.trezor.io/Shamir_backup
다중 서명 및 SSS와 같은 솔루션을 사용하면 안심할 수 있고 단일 지점 위험을 피할 수 있지만 관리가 상대적으로 복잡해지고 때로는 여러 당사자가 관여하게 될 수 있습니다. 편의성과 보안 사이에는 항상 타협점이 존재합니다. 결정은 개인의 몫이지만 원칙에 소홀해서는 안 됩니다.
암호화
암호화는 매우 광범위한 개념입니다. 암호화가 대칭형인지, 비대칭형인지, 다른 고급 기술을 사용하는지는 중요하지 않으며, 암호화된 메시지를 본인이나 비상 처리 팀이 수십 년이 지나도 다른 사람이 쉽게 해독할 수 있다면 좋은 암호화라고 할 수 있습니다.
'제로 트러스트'라는 보안 원칙에 따라 지갑을 백업할 때는 금고와 같은 물리적 환경을 포함해 모든 단계가 해킹될 수 있다고 가정해야 합니다. 본인 외에는 완전히 신뢰할 수 있는 사람은 아무도 없다는 점을 명심하세요. 사실, 때로는 기억이 희미해지거나 잘못 기억할 수도 있기 때문에 자기 자신조차 믿을 수 없을 때가 있습니다. 하지만 항상 비관적인 가정을 하지는 않겠습니다. 그렇지 않으면 원치 않는 결과를 초래할 수 있기 때문입니다.
백업할 때는 재해 복구를 특별히 고려해야 합니다. 재해 복구의 주된 목적은 단일 위험 지점을 피하는 것입니다. 만약 사용자가 자리를 비우거나 백업을 저장하는 환경이 다운되면 어떻게 될까요? 따라서 중요한 자료의 경우 재해 복구 담당자를 지정하고 여러 개의 백업을 만들어야 합니다.
재해 복구 담당자를 선택하는 방법은 신뢰하는 사람에 따라 다르므로 자세히 설명하지 않겠습니다. 여기서는 다중 백업을 수행하는 방법에 초점을 맞추겠습니다. 몇 가지 기본적인 형태의 백업 위치를 살펴보겠습니다:
- 클라우드
- 종이
- 장치
- 뇌
클라우드많은 사람들이 클라우드 백업을 신뢰하지 않고 해커의 공격에 취약하다고 생각합니다. 결국은 공격자와 방어자 중 어느 쪽이 인력과 예산 측면에서 더 많은 노력을 기울이느냐가 관건입니다. 개인적으로 저는 구글, 애플, 마이크로소프트 등이 제공하는 클라우드 서비스를 신뢰하는데, 그 이유는 이들 기업의 보안팀이 얼마나 강력한지, 보안에 얼마나 많은 비용을 투자했는지 잘 알고 있기 때문입니다. 외부 해커와의 싸움 외에도 내부 보안 위험 관리와 개인 데이터 보호에도 많은 신경을 쓰고 있습니다. 제가 신뢰하는 몇몇 서비스 제공업체는 이러한 분야에서 상대적으로 더 잘하고 있습니다. 하지만 절대적인 것은 없습니다. 지갑과 같은 중요한 데이터를 백업하기 위해 이러한 클라우드 서비스를 선택한다면, 저는 반드시 지갑을 한 번 더 암호화할 것입니다.
GPG를 마스터하는 것을 강력히 추천합니다. '서명 확인'에 사용할 수 있으며, 그 동안 강력한 암호화 및 암호 해독 보안을 제공합니다. GPG에 대한 자세한 내용은 여기에서 확인할 수 있습니다:
Okay, you have mastered GPG 🙂 Now that you have encrypted related data in your wallet (mnemonic phrase or private key) with GPG in an offline secured environment, you can now throw the encrypted files directly into these cloud services and save it there. All will be good. But I need to remind you here: never lose the private key to your GPG or forget the password of the private key…
이 시점에서 이 추가 보안 수준이 상당히 번거롭다고 느낄 수 있습니다. GPG에 대해 배우고 GPG 개인 키와 비밀번호를 백업해야 하기 때문입니다. 실제로 앞서 언급한 모든 단계를 수행했다면 이미 프로세스에 익숙해져서 어렵거나 번거롭지 않을 것입니다. 연습이 완벽을 만들기 때문에 더 이상 말씀드리지 않겠습니다.
수고를 덜고 싶다면 다른 방법이 있지만 보안이 할인될 수 있습니다. 정확한 할인율을 측정할 수는 없지만, 가끔은 잘 알려진 도구를 사용하면 게으르게 느껴질 때가 있습니다. 그 도구가 바로 1Password이다. 최신 버전의 1Password는 니모닉 단어, 비밀번호, 지갑 주소 등 지갑 관련 데이터의 직접 저장을 지원하여 사용자에게 편리합니다. 다른 도구(예: Bitwarden)도 비슷한 기능을 제공하지만 편리하지는 않습니다.
종이많은 하드웨어 지갑에는 니모닉 문구(일반 텍스트, SSS 등)를 적을 수 있는 고품질 종이 카드가 여러 장 포함되어 있습니다. 종이 외에도 일부 사람들은 강철판 (내화성, 방수 및 부식 방지, 물론 시도해 보지 않았습니다)을 사용하기도합니다. 니모닉 문구를 복사한 후 테스트하고 모든 것이 작동하면 금고와 같이 안전하다고 느끼는 곳에 보관하세요. 종이는 제대로 보관하면 전자제품보다 수명이 훨씬 길기 때문에 저는 개인적으로 종이를 많이 사용합니다.
장치모든 종류의 장비를 말하며, 개인 취향에 따라 컴퓨터, iPad, iPhone, 하드 드라이브 등 전자기기를 백업에 사용하는 것이 일반적입니다. 또한 장치 간의 안전한 전송에 대해서도 고려해야 합니다. 저는 중간자가 프로세스를 가로채기 어려운 AirDrop이나 USB와 같은 P2P 방식을 사용하는 것이 편합니다. 전자 기기는 몇 년 지나면 고장이 날 수 있다는 사실에 자연스럽게 불안해지기 때문에 적어도 1년에 한 번은 기기를 점검하는 습관을 유지하고 있습니다. 암호화와 같은 몇 가지 반복되는 단계가 있는데, 이는 클라우드 섹션을 참조하세요.
뇌기억에 의존하는 것은 흥미진진한 일입니다. 사실 모든 사람은 자신만의 "기억의 궁전"을 가지고 있습니다. 기억력은 신비로운 것이 아니며 더 잘 작동하도록 훈련할 수 있습니다. 기억에 의존하는 것이 실제로 더 안전한 것이 있습니다. 뇌에만 의존할지 여부는 개인적인 선택입니다. 하지만 두 가지 위험에 주의하세요. 첫째, 시간이 지남에 따라 기억이 희미해져 혼란을 일으킬 수 있고, 다른 위험은 사고를 당할 수 있다는 것입니다. 여기서 멈추고 더 자세히 살펴볼 수 있도록 하겠습니다.
이제 모두 백업되었습니다. 너무 많이 암호화하지 마세요. 그렇지 않으면 몇 년 후에 스스로 고통을 겪게 될 것입니다. "지속적인 확인"이라는 보안 원칙에 따라 암호화 및 백업 방법은 과도한지 여부에 관계없이 정기적으로 그리고 무작위로 지속적으로 확인해야 합니다. 확인 빈도는 사용자의 기억력에 따라 다르며 전체 과정을 완료할 필요는 없습니다. 프로세스가 정확하다면 부분 검증도 가능합니다. 마지막으로 인증 프로세스의 기밀성 및 보안에도 주의를 기울일 필요가 있습니다.
Okay, let’s take a deep breath here. Getting started is the hardest part. Now that you are ready, let’s enter this dark forest 🙂
지갑 사용 방법
지갑을 생성하고 백업했다면, 이제 진짜 문제가 발생합니다. 자산을 자주 이동하지 않거나 요즘 자주 언급되는 탈중앙 금융, 대체 불가능한 토큰, 게임 파이, 웹 3.0의 스마트 컨트랙트와 거의 상호작용하지 않는다면 자산은 비교적 안전할 것입니다.
AML
하지만 "비교적 안전하다"는 것이 "위험이 전혀 없다"는 것을 의미하지는 않습니다. "내일과 사고 중 어느 것이 먼저인지 알 수 없기 때문"이죠? 왜 그럴까요? 생각해 보세요, 암호화폐를 어디서 얻었나요? 그냥 갑자기 생긴 게 아니잖아요? 여러분은 언제든 모든 암호화폐에서 자금세탁방지(AML)를 접할 수 있습니다. 즉, 현재 보유하고 있는 암호화폐가 더럽혀져 있을 수 있으며, 운이 나쁘면 체인에서 바로 동결될 수도 있습니다. 공개 보고에 따르면 테더는 법 집행 기관의 요청에 따라 일부 USDT 자산을 동결한 적이 있습니다. 동결된 자금 목록은 여기에서 확인할 수 있습니다.
USDT 컨트랙트에서 테더에 의해 주소가 동결되었는지 확인할 수 있습니다.
https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#readContract
대상 지갑 주소를 입력값으로 사용하여 isBlackListed를 확인합니다. USDT를 받는 다른 체인들도 비슷한 인증 방식을 사용합니다.
하지만 비트코인(BTC)과 이더리움(ETH)은 절대 동결되어서는 안 됩니다. 언젠가 이런 일이 발생한다면 탈중앙화에 대한 믿음도 무너질 것입니다. 오늘날 우리가 들은 대부분의 암호화폐 자산 동결 사례는 실제로 블록체인이 아닌 중앙화된 플랫폼(예: 바이낸스, 코인베이스 등)에서 발생했습니다. 암호화폐가 중앙화된 거래소 플랫폼에 머무는 동안에는 실제로 소유하고 있는 것이 아닙니다. 중앙집중식 플랫폼이 계정을 동결하는 것은 사실상 거래 또는 출금 허가를 취소하는 것입니다. 동결의 개념은 이 분야의 초보자에게 오해의 소지가 있을 수 있습니다. 그 결과 일부 무분별한 셀프 미디어는 비트코인에 대한 온갖 음모론을 퍼뜨리기도 했습니다.
BTC와 이더리움 자산이 블록체인 상에서 동결되지는 않지만, 중앙화된 거래소는 자산이 해당 플랫폼으로 전송되고 법 집행 기관이 진행 중인 사건에 연루되면 AML 요건에 따라 자산을 동결할 수 있습니다.
AML 문제를 더 잘 방지하려면 항상 평판이 좋은 플랫폼과 개인을 거래 상대방으로 선택해야 합니다. 실제로 이러한 유형의 문제에 대한 몇 가지 해결책이 있습니다. 예를 들어, 이더리움에서는 거의 모든 악당과 개인 정보 보호에 관심이 많은 사람들이 코인 믹싱에 토네이도 캐시를 사용합니다. 대부분의 방법이 악의적인 목적으로 사용되기 때문에 이 주제에 대해서는 더 자세히 다루지 않겠습니다.
콜드 월렛
콜드월렛을 사용하는 방법에는 여러 가지가 있습니다. 지갑의 관점에서 볼 때 네트워크에 연결되지 않은 상태라면 콜드월렛으로 간주할 수 있습니다. 그렇다면 오프라인 상태에서는 어떻게 사용할 수 있을까요? 우선, 단순히 암호화폐를 받고 싶을 때는 큰 문제가 되지 않습니다. 콜드월렛은 imToken, 트러스트 월렛 등과 같은 시계 전용 지갑과 연동하여 훌륭한 경험을 제공할 수 있습니다. 이러한 지갑은 대상 지갑 주소를 추가하기만 하면 시계 전용 지갑으로 전환할 수 있습니다.
콜드월렛을 사용하여 암호화폐를 전송하고자 할 때 가장 일반적으로 사용되는 방법은 다음과 같습니다:
- QRCode
- USB
- 블루투스
이 모든 기능을 콜드월렛과 함께 사용하려면 전용 앱(국내에서는 라이트 앱이라고 함)이 필요합니다. 라이트 앱은 앞서 말씀드린 시계 전용 지갑과 함께 온라인에서 사용할 수 있습니다. 근본적인 필수 원칙을 이해하면 이러한 접근 방식을 이해할 수 있을 것입니다. 본질적인 원칙은 결국 서명된 콘텐츠를 블록체인에 브로드캐스트하는 방법을 알아내기만 하면 된다는 것입니다. 자세한 프로세스는 다음과 같습니다:
- 서명할 콘텐츠는 라이트 앱에서 이러한 수단 중 하나를 통해 콜드월렛으로 전송됩니다.
- 서명은 개인 키가 있는 콜드월렛에서 처리된 다음 동일한 방법으로 라이트 앱으로 다시 전송됩니다.
- 라이트 앱은 서명된 콘텐츠를 블록체인에 브로드캐스트합니다.
따라서 QR코드, USB, 블루투스 중 어떤 방법을 사용하든 위의 프로세스를 따라야 합니다. 물론 방법마다 세부 사항은 다를 수 있습니다. 예를 들어 QR 코드는 정보 용량이 제한되어 있기 때문에 서명 데이터가 너무 크면 분할해야 합니다.
조금 번거로운 것 같지만 익숙해지면 더 좋아집니다. 심지어 완전한 안전감을 느낄 수도 있습니다. 하지만 여전히 위험 요소가 존재하고 이러한 위험 요소로 인해 큰 손실을 입은 사례가 많기 때문에 100%가 안전하다고 생각하지 마십시오. 위험 포인트는 다음과 같습니다:
- 코인 이체 대상 주소를 주의 깊게 확인하지 않아 코인이 다른 사람에게 이체되는 사고가 발생했습니다. 사람들은 때때로 게으르고 부주의합니다. 예를 들어, 대부분의 경우 전체 주소를 완전히 확인하는 대신 지갑 주소의 시작과 끝 몇 비트만 확인합니다. 악의적인 공격자는 원하는 목표 주소와 처음과 마지막 몇 비트가 같은 지갑 주소를 가져오는 프로그램을 실행한 다음 몇 가지 트릭을 사용하여 코인 전송 목표 주소를 자신의 통제하에 있는 주소로 바꿉니다.
- 코인은 알 수 없는 주소로 승인됩니다. 일반적으로 승인은 이더리움 스마트 컨트랙트 토큰의 메커니즘인 "승인" 기능으로 이루어지며, 한 인수는 대상 승인 주소이고 다른 인수는 수량입니다. 많은 사람이 이 메커니즘을 이해하지 못하기 때문에 대상 주소에 토큰을 무제한으로 승인할 수 있으며, 이 경우 대상 주소는 해당 토큰을 모두 전송할 수 있는 권한을 갖게 됩니다. 이를 인증 코인 도난이라고 하며, 이 기법에는 다른 변형이 있지만 여기서는 자세히 설명하지 않겠습니다.
- 중요하지 않아 보이는 일부 서명에는 실제로 큰 함정이 숨겨져 있는데, 지금은 자세히 설명하지 않고 나중에 자세히 설명하겠습니다.
- 콜드월렛이 필요한 정보를 충분히 제공하지 않아서 부주의하거나 잘못된 판단을 내릴 수 있습니다.
이 모든 것은 두 가지로 요약됩니다:
- "보이는 대로 서명"의 사용자 상호작용 보안 메커니즘이 누락되었습니다.
- 사용자에 대한 관련 배경 지식이 부족합니다.
핫 월렛
콜드월렛에 비해 핫월렛은 기본적으로 콜드월렛이 가진 모든 위험을 가지고 있습니다. 여기에 비밀 문구(또는 개인 키)의 도난 위험이 한 가지 더 있습니다. 이 시점에서는 런타임 환경의 보안과 같이 핫월렛에 대해 고려해야 할 보안 문제가 더 있습니다. 런타임 환경과 관련된 바이러스가 있는 경우 도난당할 위험이 있습니다. 또한 비밀 문구를 직접적으로 탈취할 수 있는 특정 취약점이 있는 핫월렛도 있습니다.
일반적인 코인 전송 기능 외에도 다른 디앱(DeFi, NFT, 게임파이 등)과 상호작용하려면 자체 브라우저로 직접 액세스하거나 월렛커넥트 프로토콜을 통해 PC 브라우저에서 열린 디앱과 상호작용해야 합니다.
참고: 본 핸드북에서 디앱에 대한 언급은 기본적으로 이더리움 블록체인에서 실행되는 스마트 컨트랙트 프로젝트를 지칭합니다.
기본적으로 이러한 상호작용은 지갑 보안 설계 자체에 문제가 없는 한 비밀 문구 도난으로 이어지지 않습니다. 보안 감사 및 보안 연구 기록에 따르면, 대상 페이지의 악성 자바스크립트에 의해 지갑 비밀 문구가 직접 도용될 위험이 있습니다. 하지만 이는 잘 알려진 지갑이 저지르기 어려운 극히 낮은 수준의 실수이기 때문에 드문 경우입니다.
이 중 어느 것도 실제로 제가 우려하는 것은 아니며, 저와 여러분도 관리할 수 있는 수준입니다. 제가 가장 걱정하고 우려하는 것은 잘 알려진 지갑을 반복해서 사용할 때마다 악성 코드나 백도어가 심어지지 않도록 어떻게 보장할 수 있는가 하는 점입니다. 이 질문의 의미는 분명합니다. 현재 버전의 지갑에 보안 문제가 없다는 것을 확인했고 편안하게 사용할 수 있지만 다음 버전이 얼마나 안전할지 알 수 없습니다. 결국, 저나 제 보안팀이 모든 검증을 수행할 만큼의 시간과 에너지를 쏟을 수는 없습니다.
여기에 설명된 악성 코드나 백도어로 인한 코인 도난 사건이 여러 건 발생했는데, CoPay, AToken 등이 그 예입니다. 구체적인 사건은 직접 검색하실 수 있습니다.
이 경우 악을 행하는 방법에는 여러 가지가 있습니다:
- 지갑이 실행되면 악성 코드는 관련 비밀 문구를 패키징하여 해커가 제어하는 서버에 직접 업로드합니다.
- 지갑이 실행 중이고 사용자가 이체를 시작하면 대상 주소, 금액 등의 정보가 지갑 백엔드에서 비밀리에 교체되므로 사용자가 알아차리기 어렵습니다.
- 비밀 문구 생성과 관련된 난수 엔트로피 값을 손상시켜 상대적으로 해독하기 쉽게 만듭니다.
보안은 무지와 지식의 문제이므로 쉽게 무시하거나 놓칠 수 있는 것들이 많이 있습니다. 따라서 중요한 자산을 보관하는 지갑의 경우 내 보안 규칙도 간단합니다. 사용하기에 충분할 때 업데이트가 쉽지 않습니다.
DeFi 보안이란 무엇입니까?
DApp에 관해 이야기할 때 DeFi, NFT 또는 GameFi 등이 될 수 있습니다. 이들의 보안 기본 사항은 대부분 동일하지만 각각의 세부 사항이 있습니다. 먼저 DeFi를 예로 들어 설명하겠습니다. DeFi 보안에 관해 이야기할 때 정확히 무엇을 의미하나요? 업계에 종사하는 사람들은 거의 항상 스마트 계약만 봅니다. 현명한 계약이 좋으면 모든 것이 잘 될 것 같습니다. 실제로 이것은 사실과 거리가 멀다.
DeFi 보안에는 최소한 다음 구성 요소가 포함됩니다.
- 스마트 계약 보안
- 블록체인 기반 보안
- 프런트엔드 보안
- 통신보안
- 인간 안보
- 재정 보안
- 규정 준수 보안
스마트 계약 보안
스마트 계약 보안은 실제로 보안 감사의 가장 중요한 진입점이며 스마트 계약에 대한 SlowMist의 보안 감사 표준은 다음에서 확인할 수 있습니다.
https://www.slowmist.com/service-smart-contract-security-audit.html
고급 플레이어의 경우 스마트 계약 부분 자체의 보안이 제어 가능하다면(자체 감사가 가능하거나 전문 조직에서 발행한 보안 감사 보고서를 이해할 수 있는지 여부) 다른 부분이 안전한지 여부는 중요하지 않습니다. 제어 가능은 까다로운 개념이며, 그 중 일부는 플레이어 자신의 힘에 따라 달라집니다. 예를 들어, 플레이어는 과도한 스마트 계약 권한으로 인한 위험과 관련하여 특정 요구 사항을 가지고 있습니다. 프로젝트 자체가 강력하고 그 뒤에 있는 사람들의 평판이 좋다면 완전한 중앙 집중화는 중요하지 않습니다. 그러나 잘 알려지지 않았거나 논란이 많거나 신흥 프로젝트의 경우 프로젝트의 스마트 계약이 과도한 허가 위험을 안고 있다는 것을 알게 되면, 특히 그러한 허가가 귀하의 원금이나 수입에 영향을 미칠 수 있는 경우에는 확실히 꺼릴 것입니다.
과도한 허가의 위험은 매우 미묘합니다. 많은 경우 프로젝트 관리자가 관련 거버넌스와 위험 대비를 수행하는 것이 가능합니다. 그러나 사용자에게 이것은 인간 본성에 대한 테스트입니다. 팀이 악을 행하기로 결정하면 어떻게 되나요? 따라서 업계에서는 과도한 권한으로 인한 위험을 완화하기 위해 Timelock을 추가하는 트레이드오프 관행이 있습니다. 예를 들면 다음과 같습니다.
확립되고 잘 알려진 DeFi 프로젝트인 컴파운드(Compound), 핵심 스마트 계약 모듈인 감사관 및 거버넌스 모두 관리자 권한에 Timelock 메커니즘을 추가했습니다.
감사관(0x3d9819210a31b4961b30ef54be2aed79b9c9cd3b)
거버넌스(0xc0da02939e1441f497fd74f78ce7decb17b66529)
관리자는 이 2개 모듈을 사용합니다.
시간 잠금(0x6d903f6003cca6255d85cca4d3b5e5146dc33925)
Timelock(지연 변수)이 48시간(172,800초)이라는 것을 체인에서 직접 확인할 수 있습니다.
즉, 컴파운드 관리자가 대상 스마트 계약의 일부 주요 변수를 변경해야 하는 경우 트랜잭션이 블록체인에서 시작된 후 기록되지만 트랜잭션이 완료되고 실행되기까지는 48시간을 기다려야 합니다. 즉, 원하는 경우 관리자로부터 모든 단일 작업을 감사할 수 있으며 최소 48시간 동안 조치를 취할 수 있습니다. 예를 들어, 확실하지 않은 경우 48시간 이내에 자금을 인출할 수 있습니다.
관리자의 과도한 권한이 발생할 위험을 완화하는 또 다른 방법은 다중 서명 관리를 위해 Gnosis Safe를 사용하는 등 다중 서명을 추가하여 최소한 독재자가 없도록 하는 것입니다. 여기서 다중서명은 "황제의 새 옷"이 될 수 있다는 점에 유의해야 합니다. 예를 들어, 한 사람이 여러 개의 키를 보유할 수 있습니다. 따라서 대상 프로젝트의 멀티시그 전략을 명확히 명시해야 합니다. 열쇠를 소유한 사람은 누구이며, 각 열쇠 보유자의 신원은 평판이 좋아야 합니다.
어떤 안보 전략이라도 '황제의 새 옷' 문제로 이어질 수 있으며, 이는 전략이 잘 이루어진 것처럼 보이지만 실제로는 그렇지 않아 안보에 대한 환상을 낳을 수 있다는 점을 여기서 언급할 가치가 있습니다. 또 다른 예를 들어보면 Timelock은 서류상으로는 좋아 보입니다. 실제로 일부 프로젝트에서 배포한 Timelock에 백도어가 있는 경우가 있었습니다. 일반적으로 사용자는 Timelock의 소스 코드를 들여다보지 않고, 이해한다고 해도 반드시 이해하지 못할 것이기 때문에 관리자는 거기에 백도어를 설치해 두고 오랫동안 아무도 눈치 채지 못할 것입니다.
과도한 권한의 위험 외에도 스마트 계약 보안의 다른 요소도 중요합니다. 그러나 이해를 위한 전제 조건을 고려하여 여기서는 확장하지 않겠습니다. 제 조언은 다음과 같습니다. 적어도 보안 감사 보고서를 읽는 법을 배워야 하며 연습을 하면 완벽해집니다.
블록체인 기반 보안
블록체인 기반 보안은 합의 원장 보안, 가상 머신 보안 등 블록체인 자체의 보안을 의미합니다. 블록체인 자체의 보안이 걱정된다면 체인에서 실행되는 스마트 계약 프로젝트는 직접적인 어려움을 겪게 됩니다. 충분한 보안 메커니즘과 평판을 갖추고 더 높은 수명 확률을 지닌 블록체인을 선택하는 것이 매우 중요합니다.
프런트엔드 보안
프론트엔드 보안은 정말 악마입니다. 사용자와 너무 가까워서 특히 사용자를 속이기 쉽습니다. 아마도 모든 사람의 주요 초점은 지갑과 스마트 계약 보안에 있기 때문에 프런트엔드 보안이 쉽게 간과될 수 있습니다. 프론트엔드 보안은 악마라는 점을 다시 한 번 강조하고 싶습니다! 더 깊이 파헤쳐 보겠습니다.
프런트엔드 보안과 관련하여 가장 큰 우려 사항은 다음과 같습니다. 이 특정 프런트엔드 페이지에서 상호 작용하는 계약이 내가 기대하는 스마트 계약인지 어떻게 알 수 있습니까?
이러한 불안은 주로 다음 두 가지 요인에 기인합니다.
- 내부 직업
- 제3자
내부 작업을 이해하는 것은 간단합니다. 예를 들어, 개발자는 프런트엔드 페이지의 대상 스마트 계약 주소를 백도어가 있는 계약 주소로 비밀리에 바꾸거나 인증 피싱 스크립트를 심습니다. 이 조작된 프런트엔드 페이지를 방문하면 지갑에 있는 암호화폐와 관련된 일련의 후속 작업이 함정에서 수행될 수 있습니다. 당신이 깨닫기도 전에 동전은 이미 사라졌을 것입니다.
제3자는 주로 두 가지 유형을 말합니다.
-
하나는 종속성 체인이 침투되었다는 것입니다. 예를 들어, 프런트엔드 페이지에서 사용되는 타사 종속성에는 패키징 및 릴리스와 함께 대상 프런트엔드 페이지로 몰래 들어가는 백도어가 있습니다. 다음은 SushiSwap의 패키지 종속성 구조입니다(단순 설명을 위해 스크린샷의 프로젝트에 반드시 그러한 문제가 있다는 의미는 아닙니다).
-
다른 예는 프런트엔드 페이지에서 가져온 타사 원격 JavaScript 파일입니다. 이 JavaScript 파일이 해킹되면 OpenSea와 같은 대상 프런트엔드 페이지도 영향을 받을 수 있습니다(단순 설명을 위해 스크린샷의 프로젝트에 반드시 그러한 문제가 있다는 의미는 아닙니다).
우리가 그것이 가능하다고 말했지만 확실하지는 않다고 말한 이유는 개발자가 다음과 같은 방식으로 프런트엔드 페이지에서 타사 원격 JavaScript 파일을 참조하면 위험이 완화될 수 있기 때문입니다.
<script src=”https://example.com/example-framework.js” 무결성=”sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pbOxEbzJr7″ crossorigin=”익명”>
여기서 핵심은 HTML5의 뛰어난 보안 메커니즘인 태그의 무결성 속성(SRI 메커니즘)입니다. 무결성은 SHA256, SHA384 및 SHA512를 지원합니다. 타사 JavaScript 파일이 해시 무결성 검사를 충족하지 않으면 파일이 로드되지 않습니다. 이는 의도하지 않은 코드 실행을 방지하는 좋은 방법이 될 수 있습니다. 그러나 이 메커니즘을 활용하려면 대상 리소스가 CORS 응답을 지원해야 합니다. 자세한 내용은 다음을 참조하세요.
https://developer.mozilla.org/zh-CN/docs/Web/Security/Subresource_Integrity
통신보안
이 섹션에서는 HTTPS 보안에 중점을 두겠습니다. 첫째, 대상 웹사이트는 HTTPS를 사용해야 하며, HTTP 일반 텍스트 전송은 절대 허용되어서는 안 됩니다. 이는 HTTP 일반 텍스트 전송이 중간자 공격에 의해 도용되기가 너무 쉽기 때문입니다. 요즘 HTTPS는 보안 전송 프로토콜로 매우 일반적입니다. HTTPS에 중간자 공격이 있고 공격자가 웹 애플리케이션의 프런트 엔드에 악성 JavaScript를 삽입한 경우 매우 명백한 HTTPS 인증서 오류 경고가 사용자 브라우저에 표시됩니다.
이 점을 설명하기 위해 MyEtherWallet 사건을 예로 들어보겠습니다.
MyEtherWallet은 매우 인기 있는 웹 애플리케이션 지갑이었으며 지금까지도 여전히 잘 알려져 있습니다. 그러나 더 이상 단순한 웹 애플리케이션 지갑이 아닙니다. 앞서 언급했듯이 보안상의 이유로 웹 애플리케이션 지갑의 사용을 강력히 권장하지 않습니다. 프런트 엔드 보안의 다양한 문제 외에도 HTTPS 하이재킹도 큰 잠재적 위험입니다.
2018년 4월 24일, 마이이더월렛(MyEtherWallet)에서 HTTPS 하이재킹이라는 대형 보안 사고가 발생했습니다. 사건 요약은 여기에서 확인할 수 있습니다.
https://www.reddit.com/r/MyEtherWallet/comments/8eloo9/official_statement_regarding_dns_spoofing_of/
https://www.reddit.com/r/ethereum/comments/8ek86t/warning_myetherwalletcom_highjacked_on_google/
해당 공격에서 해커는 고대 라우팅 프로토콜인 BGP를 통해 다수의 마이이더월렛 사용자가 사용하는 DNS 서비스(구글 퍼블릭 DNS)를 하이재킹했으며, 이로 인해 모든 사용자가 방문을 시도할 때 모든 사용자의 브라우저에 HTTPS 오류 경고가 직접 표시되었습니다. 마이이더월렛(MyEtherWallet) 웹사이트. 실제로 사용자는 이 경고를 보면 중지해야 합니다. 이는 기본적으로 대상 웹 페이지가 하이재킹되었음을 나타냅니다. 그러나 실제로 많은 사용자는 HTTPS 오류 경고 뒤에 숨겨진 보안 위험을 전혀 이해하지 못했기 때문에 경고를 빠르게 무시하고 하이재킹된 사이트와의 상호 작용을 계속 진행했습니다.
대상 웹 페이지가 하이재킹되었고 해커가 거기에 악성 JavaScript를 삽입했기 때문에 사용자의 상호 작용 시 해커는 성공적으로 일반 텍스트 개인 키를 훔치고 자금(주로 ETH)을 이체했을 것입니다.
이는 해커가 BGP 하이재킹 기술을 사용하여 암호화폐를 훔친 전형적인 사례입니다. 그것은 단지 과잉이다. 그 후에도 유사한 사례가 여러 건 있었지만 여기서는 자세히 언급하지 않겠습니다. 사용자에게 정말로 주의가 필요한 것은 단 하나입니다. 웹 애플리케이션 지갑을 사용하기로 결정했거나 DApp과 상호 작용하려고 시도하는 경우 HTTPS 인증서 오류 경고가 나타날 때마다 항상 페이지를 중지하고 닫으십시오! 그리고 당신의 자금은 괜찮을 것입니다. 보안에는 잔인한 현실이 있습니다. 위험이 있을 때 사용자에게 선택권을 주지 마십시오. 그렇듯이 어떤 이유로든 함정에 빠지는 사용자는 항상 있기 마련입니다. 실제로 프로젝트 팀이 책임을 져야 합니다. 현재 위에서 언급한 HTTPS 하이재킹 문제에 대한 매우 효과적인 보안 솔루션이 이미 있습니다. 프로젝트 팀은 HSTS를 적절하게 구성해야 합니다. HSTS는 HTTP 엄격한 전송 보안을 나타냅니다. 이는 대부분의 최신 브라우저에서 지원되는 웹 보안 정책 메커니즘입니다. HSTS가 활성화된 경우 HTTPS 인증서 오류가 발생하는 경우 브라우저는 사용자가 대상 웹 애플리케이션에 대한 액세스를 중지하도록 강제하며 제한을 우회할 수 없습니다. 이제 무슨 말인지 알겠나요?
인간 본성 보안
이 섹션은 이해하기 쉽습니다. 예를 들어 프로젝트 팀은 사악한 마음을 갖고 부정직한 방식으로 행동합니다. 이전 섹션에서 몇 가지 관련 내용을 언급했으므로 여기서는 더 자세한 내용을 다루지 않겠습니다. 자세한 내용은 이후 섹션에서 다루겠습니다.
재정 보안
금융 보안은 깊이 존중되어야 합니다. DeFi에서 사용자는 토큰 가격과 수익에 최대한 주의를 기울입니다. 그들은 더 우수하거나 적어도 꾸준한 투자 수익을 원합니다. 즉, 사용자로서 게임은 이기기 위해 하고, 지면 적어도 공정한 게임이라는 확신이 필요합니다. 이것은 단지 인간의 본성입니다.
DeFi의 금융 보안은 다음과 같은 형태의 공격에 취약합니다.
- 사전 채굴, 사전 판매 등 불공정한 출시 관행
- 암호화폐 고래 공격;
- 펌프 앤 덤프;
- 갑작스러운 시장폭포와 같은 블랙스완 현상; 또는 하나의 DeFi 프로토콜이 다른 DeFi/토큰과 중첩되거나 상호 운용될 때 해당 프로토콜의 보안/신뢰성은 다른 프로토콜에 크게 좌우될 것이라고 가정해 보겠습니다.
- 기타 기술적 공격 또는 프론트 런닝(front running), 샌드위치 공격, 플래시 대출 공격 등과 같은 과학적 기술이라고 부르는 공격
규정 준수 요구 사항
규정 준수 요구 사항은 매우 큰 주제이며, 앞서 언급한 AML(자금 세탁 방지)은 그 중 하나일 뿐입니다. KYC(Know Your Customer), 제재, 증권 위험 등과 같은 측면도 있습니다. 실제로 우리 사용자에게는 이러한 측면이 우리의 통제 대상이 아닙니다. 당사가 특정 프로젝트와 상호 작용할 때 특정 국가의 관련 규정이 적용될 수 있으므로 당사의 개인 정보가 수집될 수 있습니다. 당신은 그러한 개인 정보 보호 문제에 관심이 없을 수도 있지만, 그렇게 하는 사람들이 있습니다.
예를 들어, 2022년 초에 작은 사건이 발생했습니다. 일부 지갑은 AOPP(주소 소유권 증명 프로토콜) 프로토콜을 지원하기로 결정했습니다.
프로토콜 설계를 살펴보니 AOPP를 지원하는 지갑에서는 사용자 개인정보가 유출될 수 있다는 사실이 밝혀졌습니다. 규제 기관은 규제 대상 암호화폐 거래소와 알려지지 않은 외부 지갑 주소 간의 상호 연결을 알게 될 수 있습니다.
많은 개인 정보 보호 지향 지갑이 사용자의 피드백에 대해 너무 우려하고 제품에서 AOPP 지원을 신속하게 제거한 것은 당연합니다. 하지만 솔직히 말해서 프로토콜 디자인은 꽤 흥미롭습니다. EdgeWallet과 같은 일부 지갑에서는 AOPP 지원을 제거할 계획이 없는 것으로 나타났습니다. 그들의 의견은 AOPP가 반드시 더 많은 사용자 개인 정보를 노출하는 것은 아니며 오히려 암호화폐의 유통을 향상시키는 데 도움이 된다는 것입니다. 많은 규제된 암호화폐 거래소에서 사용자는 자신의 소유권을 증명하기 전에 특정 외부 지갑 주소로 출금하는 것이 허용되지 않습니다.
처음에는 잘 알려진 하드웨어 지갑 Trezor가 AOPP 지원 제거를 거부했습니다. 그러나 나중에 커뮤니티와 트위터 사용자의 압력으로 인해 타협을 강요당했고 그렇게 했습니다.
보시다시피 아주 작은 사건이지만 어떤 사람들에게는 개인 정보 보호가 정말 중요합니다. 이는 규정을 위반하고 규정 준수 요구 사항을 완전히 무시해야 한다는 의미는 아닙니다. 사실 저는 규정 준수 요구 사항에 대해 어느 정도 타협이 필요하다고 생각합니다. 우리는 이 주제에 대해 계속 깊이 파고들지는 않을 것입니다. 자유롭게 내용을 자신만의 방식으로 소화해 보세요.
지금까지 우리는 DeFi 보안 섹션의 대부분의 내용을 다루었습니다.
게다가 향후 추가 또는 업데이트로 인해 보안 문제도 발생합니다. 우리는 흔히 “보안 태세는 정적인 것이 아니라 동적이다”라고 말합니다. 예를 들어 오늘날 대부분의 프로젝트 팀은 보안 감사를 수행하고 깨끗한 보안 감사 보고서를 표시합니다. 양질의 보고서를 주의 깊게 읽어본 적이 있다면 이러한 보고서가 범위, 기간 및 감사된 콘텐츠의 고유 식별자(예: 검증된 오픈 소스 스마트 계약 주소 또는 GitHub 저장소의 커밋 주소, 또는 대상 소스 코드 파일의 해시). 즉, 보고서는 정적이지만 프로젝트에서 보고서에 언급된 내용과 다른 점이 발견되면 이를 지적할 수 있습니다.
NFT 보안
DeFi 보안에 대해 앞서 언급한 모든 내용은 NFT 보안에 적용될 수 있으며 NFT 자체에는 몇 가지 매우 구체적이고 독특한 보안 주제가 있습니다. 예를 들면 다음과 같습니다.
- 메타데이터 보안
- 서명 보안
메타데이터는 주로 삽입된 사진, 동영상 및 기타 콘텐츠를 의미합니다. 특정 표준에 대해서는 OpenSea를 참조하는 것이 좋습니다.
여기서 발생할 수 있는 두 가지 주요 보안 문제는 다음과 같습니다.
- 하나는 이미지(또는 영화)가 위치한 URI가 신뢰할 수 없을 수 있다는 것입니다. 무작위로 선택된 중앙 집중식 서비스일 수 있으며, 가용성이 보장되지 않는 반면, 프로젝트 팀은 이미지를 마음대로 수정할 수 있으므로 NFT는 더 이상 불변의 "디지털 수집품"이 되지 않습니다. 일반적으로 IPFS, Arweave와 같은 중앙 집중식 스토리지 솔루션을 사용하고 잘 알려진 URI 게이트웨이 서비스를 선택하는 것이 좋습니다.
- 또 하나는 개인 정보 유출 가능성입니다. 무작위로 선택된 URI 서비스는 사용자의 기본 정보(예: IP, User-Agent 등)를 캡처할 수 있습니다.
서명 보안은 여기서 또 다른 큰 관심사이며 아래에서 설명하겠습니다.
서명할 때 주의하세요!
서명 보안은 함정이 너무 많고 항상 조심해야 하기 때문에 특별히 언급하고 싶은 것입니다. 특히 NFT 거래에서 여러 가지 사건이 발생했습니다. 그러나 이러한 보안 문제에 대비하고 대처하는 방법을 이해하는 사람은 그리 많지 않다는 것을 알게 되었습니다. 근본적인 이유는 문제를 충분히 명확하게 밝힌 사람이 거의 없기 때문입니다.
서명 보안에서 가장 중요한 보안 원칙 1위는 다음과 같습니다. 당신이 보는 것은 당신이 서명하는 것입니다. 즉, 귀하가 받은 서명 요청의 메시지는 서명 후 기대할 수 있는 내용입니다. 서명한 후에는 결과가 후회할 일이 아니라 예상한 대로여야 합니다.
서명 보안에 대한 일부 세부 사항은 "콜드 월렛" 섹션에서 언급되었습니다. 기억이 나지 않는다면 해당 섹션을 다시 살펴보는 것이 좋습니다. 이 섹션에서는 다른 측면에 중점을 둘 것입니다.
2022년경 OpenSea에서 잘 알려진 NFT 해킹이 여러 건 있었습니다. 2022년 2월 20일에 대규모 해킹이 발생했습니다. 근본 원인은 다음과 같습니다.
- 사용자는 OpenSea에서 NFT 목록 요청에 서명했습니다.
- 해커는 사용자로부터 관련 서명을 얻기 위해 피싱을 시도했습니다.
실제로 해커가 관련 서명을 얻는 것은 어렵지 않습니다. 해커는 1)을 수행해야 합니다. 서명할 메시지를 구성합니다. 2). 해시, 3). 요청에 서명하도록 대상 사용자를 속입니다(이는 블라인드 서명이 되며, 이는 사용자가 실제로 서명하는 내용을 알지 못함을 의미합니다), 4). 서명된 콘텐츠를 가져와 데이터를 구성합니다. 이 시점에서 사용자는 해킹당했습니다.
Opensea를 예로 들어보겠습니다(실제로는 모든 NFT 마켓플레이스가 될 수 있습니다). 대상 사용자가 시장에서 NFT 목록 작업을 승인한 후 해커는 서명할 메시지를 구성합니다. Keccak256으로 해시한 후 피싱 페이지에 서명 요청 팝업이 표시됩니다. 사용자에게는 다음과 같은 내용이 표시됩니다.
잘 봐봐. 이 MetaMask 팝업 창에서는 어떤 정보를 얻을 수 있나요? 계정 정보 및 계정 잔액, 서명 요청이 발생한 소스 웹사이트, 사용자가 서명하려는 메시지 등… 재해가 이미 진행 중이라고 사용자가 어떻게 의심할 수 있습니까? 그리고 일단 "서명" 버튼을 클릭하면 NFT가 도난당할 것이라는 사실을 어떻게 알 수 있습니까?
이것은 실제로 블라인드 서명의 예입니다. 사용자는 NFT 마켓플레이스 내에서 서명할 필요가 없습니다. 대신, 사용자는 이러한 서명의 실제 의미와 결과를 완전히 이해하지 못한 채 피싱 웹사이트에 속아 메시지에 서명할 수 있습니다. 불행하게도 해커들은 알고 있습니다. 사용자로서 다음 사항을 명심하십시오: 어떤 것에도 눈을 가리고 서명하지 마십시오. OpenSea는 예전에 블라인드 서명 문제가 있었는데, 2022년 2월 20일 이후 EIP-712를 채택하여 이를 해결했습니다. 하지만 블라인드 서명이 없으면 사용자는 여전히 부주의하고 다른 방법으로 해킹당할 수 있습니다.
이런 일이 발생하는 가장 중요한 이유는 서명이 브라우저의 동일 출처 정책을 따르도록 제한되지 않기 때문입니다. 다음과 같이 간단하게 이해할 수 있습니다. 동일 출처 정책은 프로젝트 팀이 의도적으로 도메인 교차가 발생하도록 원하지 않는 한 작업이 특정 도메인에서만 발생하고 도메인을 교차하지 않도록 보장할 수 있습니다. 서명이 동일 원본 정책을 따르는 경우 사용자가 대상이 아닌 도메인에서 생성된 서명 요청에 서명하더라도 해커는 대상 도메인에서의 공격에 서명을 사용할 수 없습니다. 자세한 내용을 살펴보기 전에 여기서 멈추겠습니다. 프로토콜 수준에서 보안 개선에 대한 새로운 제안이 눈에 띄었는데, 이 상황이 하루 빨리 개선될 수 있기를 바랍니다.
메시지 서명 시 발생할 수 있는 주요 공격 형식을 대부분 언급했지만 실제로는 꽤 많은 변형이 있습니다. 아무리 다르게 보여도 비슷한 패턴을 따릅니다. 이를 이해하는 가장 좋은 방법은 공격을 처음부터 끝까지 직접 재현하거나 고유한 공격 방법을 만드는 것입니다. 예를 들어, 여기에 언급된 서명 요청 공격에는 실제로 서명할 메시지를 구성하는 방법, 서명 후 정확히 무엇이 생성되는지 등 많은 세부 정보가 포함되어 있습니다. "승인" 이외의 승인 방법이 있습니까(예, 예: 증가 허용량). 음, 여기서 확장하면 너무 기술적일 것입니다. 좋은 점은 메시지 서명의 중요성을 이미 이해하고 있다는 것입니다.
사용자는 인증/승인을 취소함으로써 이러한 공격을 원천적으로 방지할 수 있습니다. 다음은 사용할 수 있는 몇 가지 잘 알려진 도구입니다.
-
토큰 승인
https://etherscan.io/tokenapprovalchecker
이더리움 공식 브라우저에서 제공하는 인증 확인 및 취소를 위한 도구입니다. 다른 EVM 호환 블록체인에는 기본적으로 Etherscan에서 개발한 블록체인 브라우저와 비슷한 점이 있습니다. 예를 들어:
https://bscscan.com/tokenapprovalchecker
https://hecoinfo.com/tokenapprovalchecker
https://polygonscan.com/tokenapprovalchecker
https://snowtrace.io/tokenapprovalchecker
https://cronoscan.com/tokenapprovalchecker -
취소.현금
https://revoke.cash/
좋은 평판과 멀티 체인을 갖춘 슈퍼 올드 스쿨 점점 더 강력해지는 지원 -
래비 확장 지갑
https://rabby.io/
우리가 많이 콜라보레이션 한 지갑 중 하나입니다. “인증 확인 및 취소” 기능을 제공하는 EVM 호환 블록체인의 수는 제가 본 것 중 가장 많습니다.
⚠️메모: SIGNATURE SECURITY에 대해 보다 포괄적이고 심도 있는 이해를 원하시면 다음 저장소 추가 사항의 확장을 참고로 확인하시기 바랍니다.
https://github.com/evilcos/darkhandbook
It is true that the knowledge of SIGNATURE SECURITY is quite challenging for beginners. The repository compiles relevant content, and carefully reading through it will help you grasp the security knowledge. Thus, you will no longer find it difficult. (If you can read and understand everything, I believe that security knowledge will no longer be tough for you 🙂
반직관적인 서명 요청에 주의하세요!
특히 또 다른 위험을 언급하고 싶습니다. 직관에 반하는 위험.
반직관적이란 무엇인가? 예를 들어, 귀하는 이미 이더리움에 매우 익숙하며 모든 종류의 DeFi 및 NFT의 OG가 되었습니다. 솔라나 생태계에 처음 들어가면 아마도 유사한 피싱 웹사이트를 접하게 될 것입니다. 준비가 너무 잘 되어 있어서 “이더리움 생태계에서 이런 것들을 수천 번 봤는데 어떻게 속을 수 있지?”라고 생각하기 시작할 수도 있습니다.
그동안 해커들은 당신이 이미 속았기 때문에 기뻐할 것입니다. 사람들은 자신의 직관적인 감정을 따르기 때문에 부주의하게 됩니다. 반직관적인 공격이 있을 때 사람들은 함정에 빠지게 됩니다.
이제 반직관성을 활용한 실제 사례를 살펴보겠습니다.
우선, 경고합니다: 솔라나에 대한 승인 피싱은 훨씬 더 잔인합니다. 위의 예는 2022년 3월 5일에 발생했습니다. 공격자는 NFT를 사용자에게 일괄적으로 에어드랍했습니다(그림 1). 사용자들은 에어드랍 NFT 설명에 있는 링크(www_officialsolanares_net)를 통해 대상 웹사이트에 접속하고 지갑을 연결했습니다(그림 2). 페이지에서 “Mint” 버튼을 클릭하면 승인 창이 팝업으로 나타납니다(그림 3). 참고로 이때는 팝업창에 특별한 알림이나 메시지가 없었습니다. 승인되면 지갑에 있는 모든 SOL이 이전됩니다.
사용자가 "승인" 버튼을 클릭하면 실제로 공격자가 배포한 악성 스마트 계약과 상호 작용하는 것입니다. 3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8v
이 악성 스마트 계약의 궁극적인 목표는 사용자의 SOL 거의 전부를 전송하는 “SOL 전송”을 시작하는 것입니다. 온체인 데이터를 분석한 결과, 피싱 행위는 며칠간 계속됐고, 해당 기간 동안 피해자 수도 계속 늘어났다.
이 예에는 주의해야 할 두 가지 함정이 있습니다.
- 사용자가 승인한 후 악성 스마트 계약은 사용자의 기본 자산(이 경우 SOL)을 전송할 수 있습니다. 이더리움에서는 불가능합니다. Ethereum의 인증 피싱은 다른 토큰에만 영향을 미칠 수 있으며 ETH의 기본 자산에는 영향을 미칠 수 없습니다. 이는 사용자의 경계심을 낮추게 만드는 반직관적인 부분입니다.
- 솔라나에서 가장 잘 알려진 지갑인 팬텀(Phantom)은 보안 메커니즘에 허점이 있어 "보이는 대로 서명합니다"라는 원칙을 따르지 않으며(다른 지갑은 아직 테스트하지 않았습니다) 사용자에게 충분한 위험 경고를 제공합니다. 이는 사용자의 코인을 소모하는 보안 사각지대를 쉽게 만들 수 있습니다.
일부 고급 공격 방법론
실제로 다양한 첨단 공격 방법론이 있지만 대중의 관점에서는 대부분 피싱으로 간주된다. 그러나 일부는 일반적인 피싱 공격이 아닙니다. 예를 들어:
해커는 다음과 같은 첨부 파일이 포함된 피싱 이메일을 보냈습니다.
스테이블코인의 엄청난 위험(보호됨).docx
솔직히 말해서 매력적인 문서입니다. 그러나 일단 열리면 사용자의 컴퓨터는 일반적으로 다음 기능을 포함하는 트로이 목마(일반적으로 Office 매크로 또는 0day/1day 익스플로잇을 통해)에 이식됩니다.
- 브라우저 관련, SSH 관련 등 모든 종류의 자격 증명을 수집합니다. 이러한 방식으로 해커는 대상 사용자의 다른 서비스에 대한 액세스를 확장할 수 있습니다. 따라서 감염 후 사용자는 일반적으로 대상 장치를 정리할 뿐만 아니라 관련 계정 권한도 정리하는 것이 좋습니다.
- 특히 비밀번호와 같은 민감한 정보가 일시적으로 나타나는 것을 표적으로 삼는 키로거.
- 관련 스크린샷, 민감한 파일 등을 수집합니다.
- 랜섬웨어인 경우 대상 시스템의 모든 파일은 강력하게 암호화되어 피해자가 일반적으로 비트코인으로 몸값을 지불할 때까지 기다립니다. 하지만 이 경우에는 더 명백하고 시끄러운 행동과 직접적인 의도를 가진 랜섬웨어가 아니었습니다.
또한 암호화폐 산업을 표적으로 삼는 트로이 목마는 사용자의 자금을 훔치기 위해 잘 알려진 지갑이나 거래소에서 중요한 정보를 수집하도록 특별히 맞춤화됩니다. 전문적인 분석에 따르면 위에서 언급한 트로이 목마는 Metamask를 대상으로 다음과 같은 표적 공격을 수행합니다.
https://securelist.com/the-bluenoroff-cryptocurrency-hunt-is-still-on/105488/
트로이 목마는 사용자의 MetaMask를 백도어가 있는 가짜로 대체합니다. 백도어 MetaMask는 기본적으로 귀하가 내부에 저장한 모든 자금이 더 이상 귀하의 것이 아니라는 것을 의미합니다. 하드웨어 지갑을 사용하더라도 이 가짜 MetaMask는 대상 주소나 금액 정보를 조작하여 자금을 훔칠 수 있습니다.
이 접근 방식은 지갑 주소가 알려진 잘 알려진 대상을 위해 특별히 제작되었습니다. 내가 알아차린 것은 그러한 사람들 중 다수가 너무 오만하여 해킹당하는 것을 막을 수 없다는 것입니다. 해킹 후 많은 사람들이 교훈을 얻고, 전체 검토를 수행하고, 상당한 개선을 이루었으며, 신뢰할 수 있는 보안 전문가 또는 기관과 장기적인 협력 및 우정을 형성할 것입니다. 그러나 이 세상에는 언제나 예외가 있습니다. 일부 사람이나 프로젝트는 계속해서 해킹당하고 있습니다. 그때마다 누구도 접해보지 못한 일 때문이라면 나는 그들을 존경하고 개척자라고 부를 것이다. 시간이 지남에 따라 성공할 가능성이 높습니다. 불행하게도 많은 사건은 쉽게 피할 수 있는 매우 어리석고 반복적인 실수의 결과입니다. 나는 이러한 프로젝트를 멀리하는 것이 좋습니다.
이에 비해 이러한 대규모 피싱 공격은 전혀 포괄적이지 않습니다. 공격자는 비슷하게 생긴 도메인 이름을 준비하고 트위터나 기타 소셜 플랫폼에서 계정, 팔로어, 리트윗을 구입하여 페이로드를 확산시킵니다. 잘 관리하면 많은 사람들이 함정에 빠지게 됩니다. 이런 종류의 피싱 공격에는 실제로 특별한 것이 없으며, 일반적으로 공격자는 사용자가 토큰(NFT 포함)을 전송하도록 잔인하게 인증하게 만듭니다.
공격 프로세스를 원활하게 하기 위해 XSS, CSRF, 역방향 프록시와 같은 기술을 사용하는 등 다른 종류의 고급 공격도 있습니다. 역방향 프록시의 시나리오 중 하나인 매우 특별한 경우(Cloudflare 중간자 공격)를 제외하고는 여기에서 모든 것에 대해 자세히 설명하지 않겠습니다. 이 극도로 은밀한 방법을 이용하여 재정적 손실을 초래하는 실제 공격이 있었습니다.
여기서 문제는 Cloudflare 자체가 사악하거나 해킹당하는 것이 아닙니다. 대신 프로젝트 팀의 Cloudflare 계정이 손상됩니다. 일반적으로 프로세스는 다음과 같습니다. Cloudflare를 사용하는 경우 대시보드에 이 "작업자" 모듈이 표시됩니다. 공식 설명은 다음과 같습니다.
서버리스 애플리케이션을 구축하고 전 세계에 즉시 배포하여 뛰어난 성능, 안정성 및 확장성을 달성합니다. 자세한 내용은 다음을 참조하세요. https://developers.cloudflare.com/workers/
오래 전에 테스트 페이지를 만들었습니다.
페이지를 방문하면 다음과 같은 팝업 창이 나타납니다.
xssor.io, Cloudflare에 의해 하이재킹되었습니다.
실제로 이 팝업은 물론 x.html의 전체 내용도 문서 자체에 속하지 않습니다. 이들 모두는 Cloudflare에서 제공됩니다. 메커니즘은 다음과 같습니다.
스크린샷의 코드 조각 표시는 매우 간단합니다. 내가 해커이고 Cloudflare 계정을 제어했다면 Workers를 사용하여 모든 웹 페이지에 임의의 악성 스크립트를 삽입할 수 있습니다. 그리고 오류 경고(예: HTTPS 인증서 오류)가 없기 때문에 사용자가 대상 웹 페이지가 하이재킹 및 변조되었음을 깨닫는 것이 매우 어렵습니다. 프로젝트 팀조차도 서버와 직원의 보안을 확인하는 데 엄청난 시간을 소비하지 않으면 문제를 쉽게 식별할 수 없습니다. Cloudflare 작업자라는 사실을 깨닫게 될 때쯤이면 손실이 이미 상당할 수 있습니다.
Cloudflare는 실제로 좋은 도구입니다. 많은 웹사이트나 웹 애플리케이션은 이를 웹 애플리케이션 방화벽, DDoS 방지 솔루션, 글로벌 CDN, 역방향 프록시 등으로 사용할 것입니다. 무료 버전이 있기 때문에 큰 고객 기반을 보유하고 있습니다. 또는 Akaimai 등의 서비스가 있습니다.
사용자는 해당 계정의 보안에 주의를 기울여야 합니다. 인터넷의 등장으로 계정 보안 문제가 발생합니다. 이는 거의 모든 사람이 어디에서나 이야기할 만큼 전 세계적으로 흔한 주제이지만, 여전히 많은 사람들이 이로 인해 해킹을 당하고 있습니다. 일부 근본 원인은 중요한 서비스에 고유하고 강력한 비밀번호를 사용하지 않기 때문일 수 있습니다(1Password와 같은 비밀번호 관리자는 그다지 인기가 없습니다). 일부는 2단계 인증(2FA)을 활성화하지 않기 때문일 수도 있습니다. 그들은 심지어 그 일에 대해서도 모릅니다. 일부 특정 서비스의 경우는 말할 것도 없고, 비밀번호는 최소한 1년에 한 번 재설정해야 합니다.
좋습니다. 이번 섹션은 이것으로 마치겠습니다. 이것이 실제로 어두운 숲이라는 점만 이해하고 가능한 한 많은 공격 방법을 알아야 합니다. 서류상으로 충분히 살펴본 후 적어도 한두 번 함정에 빠졌다면 자신을 아마추어 보안 전문가라고 생각할 수 있습니다(어쨌든 자신에게 도움이 될 것입니다).
전통적인 개인 정보 보호
축하합니다. 이 부분까지 완료하셨습니다. 전통적인 개인 정보 보호는 오래된 주제입니다. 제가 2014년에 쓴 기사는 다음과 같습니다.
개인 정보 침해 시대에 자신을 보호하려면 몇 가지 요령을 배워야 합니다.
https://evilcos.me/yinsi.html
이 기사를 다시 읽으면 2014년 초보 수준 기사였지만 기사에 담긴 대부분의 조언은 오래되지 않았습니다. 기사를 다시 읽은 후 여기에 새로운 내용을 소개하겠습니다. 사실 개인 정보 보호는 보안과 밀접한 관련이 있습니다. . 전통적인 개인 정보 보호는 보안의 초석입니다. 이 섹션에는 개인 키가 개인 정보 보호의 일부로 포함되어 있습니다. 만일 주춧돌이 견고하지 못하면, 주춧돌의 프라이버시도 무의미해지고, 상부구조는 공중에 떠 있는 건물처럼 부서지기 쉬울 것입니다.
다음 두 가지 리소스를 적극 권장합니다.:
감시 자기 방어
보다 안전한 온라인 커뮤니케이션을 위한 팁, 도구 및 방법
https://ssd.eff.org/
감시 자기 방어는 SSD의 약자입니다. 잘 알려진 EFF(Electronic Frontier Foundation)에서 출시한 이 재단은 여러 가지 유용한 도구(Tor, WhatsApp, Signal, PGP 등)
개인 정보 보호 가이드: 암호화 및 개인 정보 보호 도구를 사용하여 감시에 맞서 싸우세요
https://www.privacytools.io/
위 웹사이트에는 다양한 도구가 포괄적으로 나열되어 있습니다. 일부 암호화폐 거래소, 지갑 등을 추천하기도 합니다. 하지만 저는 저만의 방식이 있기 때문에 웹사이트에 나열된 도구를 그다지 많이 사용하지 않는다는 점에 유의해야 합니다. 그러므로 당신도 계속해서 비교하고 개선하면서 자신만의 방식을 발전시켜야 한다.
다음은 귀하가 사용해야 한다고 제안하는 도구의 몇 가지 주요 내용입니다.
운영 시스템
Windows 10 Edition(이상)과 macOS는 모두 보안 옵션입니다. 능력이 있다면 Ubuntu와 같은 Linux를 선택하거나 Tails 또는 Whonix와 같이 보안 및 개인 정보 보호에 중점을 둔 Linux를 선택할 수 있습니다.
운영 체제 주제에서 가장 간단한 보안 원칙은 시스템 업데이트에 세심한 주의를 기울이고 가능한 경우 최대한 빨리 적용하는 것입니다. 운영 체제를 마스터하는 능력은 그 다음입니다. 사람들은 Windows나 MacOS와 같은 운영 체제를 마스터하려면 도대체 무엇을 배워야 합니까?라고 묻습니다. 그냥 클릭하는거 아닌가요? 글쎄요, 실제로는 충분하지 않습니다. 초보 사용자의 경우 Kaspersky, BitDefender와 같은 우수한 바이러스 백신 소프트웨어가 필수이며 둘 다 MacOS에서 사용할 수 있습니다.
그리고 앞서 언급한 다운로드 보안에 대해서도 잊지 마세요. 무분별하게 프로그램을 다운로드하고 설치하지 않으면 대부분의 위험은 제거됩니다.
다음으로, 컴퓨터를 분실하거나 도난당한 경우 어떻게 할지 생각해 보세요. 부팅 비밀번호를 아는 것만으로는 충분하지 않습니다. 디스크 암호화가 켜져 있지 않으면 악의적인 행위자가 하드 디스크를 꺼내서 내부 데이터를 검색할 수 있습니다. 따라서 나의 조언은 중요한 컴퓨터에 대해 디스크 암호화를 켜야 한다는 것입니다.
https://docs.microsoft.com/en-us/windows/security/encryption-data-protection
https://support.apple.com/en-us/HT204837
또한 VeraCrypt(이전 TrueCrypt)와 같은 강력하고 전설적인 도구도 있습니다. 관심이 있으시면 자유롭게 사용해 보십시오.
한 단계 더 나아가 BIOS 또는 펌웨어 암호를 활성화할 수 있습니다. 제가 직접 해봤지만 선택은 전적으로 여러분의 몫입니다. 기억하세요. 비밀번호를 아주 명확하게 기억하세요. 그렇지 않으면 누구도 도와줄 수 없습니다. 나는 운 좋게도 이전에 토끼굴에 빠져서 노트북과 암호화폐, 그리고 일주일의 시간을 소비했습니다. 한편으로는 매우 좋은 학습 경험이기도 합니다.
휴대전화
요즘에는 iPhone과 Android가 유일한 주류 휴대전화 카테고리입니다. 나는 BlackBerry의 열렬한 팬이었지만 시간이 지나면서 그 영광은 사라졌습니다. 예전에는 안드로이드폰의 보안태세 때문에 걱정이 많았습니다. 한편으로는 아직 초기 단계에 있었고, 다른 한편으로는 버전이 매우 단편화되어 각 브랜드마다 자체적인 포크된 Android 버전이 있었습니다. 하지만 지금은 상황이 많이 좋아졌습니다.
휴대폰에서는 보안 업데이트와 다운로드 보안에도 주의를 기울여야 합니다. 또한 다음 사항에 주의하세요.
- 휴대폰을 탈옥/루팅하지 마십시오. 관련 보안 연구를 수행하지 않는 한 불필요합니다. 불법 복제 소프트웨어에 대해 수행하는 경우 기술을 얼마나 잘 습득할 수 있는지에 따라 달라집니다.
- 비공식 앱 스토어에서 앱을 다운로드하지 마세요.
- 당신이 무엇을 하고 있는지 모르면 하지 마세요. 공식 앱 스토어에는 가짜 앱이 많다는 것은 말할 것도 없습니다.
- 공식 클라우드 동기화 기능을 활용하기 위한 전제 조건은 계정이 안전한지 확인해야 한다는 것입니다. 그렇지 않으면 클라우드 계정이 손상되면 휴대폰도 손상됩니다.
개인적으로 저는 아이폰에 더 의존합니다. 그리고 최소 두 개의 iCloud 계정(중국 하나, 해외 하나)이 필요합니다. 다양한 지역 제한이 있는 앱을 설치하려면 이 정보가 필요합니다. (이상하게 들리지만 현실에 오신 것을 환영합니다)
회로망
네트워크 보안 문제는 골치 아픈 문제였지만, 특히 HTTPS Everywhere 정책이 대량 채택된 이후 최근 몇 년 동안 이미 상당한 개선이 이루어졌습니다.
네트워크 하이재킹(중간자 공격) 공격이 진행 중인 경우 해당 시스템 오류 경고가 표시됩니다. 그러나 항상 예외가 있으므로 선택할 수 있는 경우 더 안전한 옵션을 사용하십시오. 예를 들어, 더 널리 사용되고 안전한 4G/5G 네트워크를 사용할 수 없거나 안정적이지 않은 경우를 제외하고는 익숙하지 않은 Wi-Fi 네트워크에 연결하지 마세요.
브라우저
가장 인기 있는 브라우저는 Chrome과 Firefox이며 암호화폐 분야에서는 일부 브라우저도 Brave를 사용합니다. 이러한 잘 알려진 브라우저는 강력한 팀을 보유하고 있으며 적시에 보안 업데이트가 제공될 것입니다. 브라우저 보안 주제는 매우 광범위합니다. 다음은 알아두어야 할 몇 가지 팁입니다.
- 가능한 한 빨리 업데이트하고 위험을 감수하지 마십시오.
- 필요하지 않은 경우 확장 프로그램을 사용하지 마세요. 그렇다면 사용자 리뷰, 사용자 수, 회사 유지 관리 등에 따라 결정을 내리고 요청하는 권한에 주의를 기울이십시오. 브라우저의 공식 앱 스토어에서 확장 프로그램을 다운로드했는지 확인하세요.
- 여러 브라우저를 병렬로 사용할 수 있으므로 한 브라우저에서 중요한 작업을 수행하고 더 일상적이고 덜 중요한 작업에는 다른 브라우저를 사용하는 것이 좋습니다.
- 다음은 잘 알려진 개인정보 보호에 중점을 둔 확장 프로그램(예: uBlock Origin, HTTPS Everywhere, ClearURLs 등)입니다. 자유롭게 사용해 보세요.
특히 Firefox에서는 악성 JavaScript 페이로드를 차단한 것으로 입증된 전설적인 고대 확장 프로그램인 NoScript도 사용할 것입니다. 오늘날 브라우저는 동일 출처 정책, CSP, 쿠키 보안 정책, HTTP 보안 헤더, 확장 보안 정책 등과 같은 지원을 추가함에 따라 점점 더 안전해지고 있습니다. 따라서 NoScript와 같은 도구를 사용할 필요성이 점점 줄어들고 있으며 더 작은데, 관심이 있다면 자유롭게 살펴보세요.
비밀번호 관리자
아직 비밀번호 관리자를 사용해 본 적이 없다면 사용의 편리성을 모르거나 자신만의 강력한 메모리 궁전을 갖고 있는 것입니다. 뇌 기억의 위험은 이전에도 언급되었습니다. 하나는 시간이 당신의 기억을 약화시키거나 방해할 것이라는 점입니다. 다른 하나는 사고가 발생할 수 있다는 것입니다. 두 경우 모두 비밀번호 관리자를 사용하여 뇌 기억력을 관리하고 1Password, Bitwarden 등과 같이 잘 알려진 비밀번호 관리자를 사용하는 것이 좋습니다.
이 부분을 너무 많이 다룰 필요는 없습니다. 온라인에 관련 튜토리얼이 너무 많아서 튜토리얼 없이도 쉽게 시작할 수 있습니다.
여기서 꼭 기억해두셔야 할 점은 다음과 같습니다.
- 마스터 비밀번호를 절대 잊지 말고 계정 정보를 안전하게 보관하세요. 그렇지 않으면 모든 것이 손실됩니다.
- 이메일이 안전한지 확인하세요. 이메일이 손상되더라도 비밀번호 관리자의 민감한 정보가 직접 손상되지는 않을 수 있지만 악의적인 행위자는 해당 정보를 파괴할 수 있습니다.
- 제가 언급한 도구(예: 1Password)의 보안을 확인했으며 관련 보안 사고, 사용자 리뷰, 뉴스 등을 면밀히 관찰했습니다. 그러나 이러한 도구가 절대적으로 안전하다고 보장할 수 없으며 블랙 스완 사건이 발생하지 않습니다. 앞으로는 그들에게 그런 일이 일어날 거예요.
예를 들어 제가 감사하게 생각하는 것 중 하나는 1Password의 보안 페이지에 대한 소개와 설명입니다.
이 페이지에는 보안 설계 개념, 관련 개인 정보 보호 및 보안 인증서, 보안 설계 백서, 보안 감사 보고서 등이 있습니다. 이러한 수준의 투명성과 개방성은 업계에서 필요한 검증을 용이하게 합니다. 모든 프로젝트 팀은 이로부터 배워야 합니다.
Bitwarden은 한 단계 더 나아가 서버 측을 포함한 완전한 오픈 소스이므로 누구나 검증, 감사 및 기여할 수 있습니다. 이제 알겠나요? 1Password와 Bitwarden의 의도는 매우 분명합니다.
나는 매우 안전하며 개인 정보 보호가 걱정됩니다. 나 자신만이 그렇게 말하는 것이 아니라 제3의 권위자들도 그렇게 말한다. 언제든지 저를 감사해 주시고, 귀하의 감사를 쉽게 하기 위해 가능한 한 공개하기 위해 많은 노력을 기울입니다. 내가 하는 일이 내가 말하는 것과 맞지 않으면 나에게 도전하기 쉽습니다. 이것을 보안 신뢰라고 합니다.
2단계 인증
인터넷상의 신원 보안에 관해 말하자면, 첫 번째 계층은 비밀번호에 의존하고, 두 번째 계층은 2단계 인증에 의존하며, 세 번째 계층은 대상 프로젝트 자체의 위험 제어 능력에 의존합니다. 2단계 인증이 필수라고는 말할 수 없습니다. 예를 들어, 분산형 지갑을 사용하는 경우 비밀번호 한 겹은 충분히 짜증나지만(이제 사용자 경험을 개선하기 위해 기본적으로 얼굴 인식이나 지문과 같은 생체 인식을 지원합니다), 누구도 두 번째 요소를 사용하고 싶어하지 않습니다. 하지만 중앙 집중식 플랫폼에서는 2FA를 사용해야 합니다. 누구나 중앙 집중식 플랫폼에 액세스할 수 있으며 자격 증명이 도난당하면 계정이 침해되고 자금이 손실됩니다. 반대로, 탈중앙화 지갑의 비밀번호는 단지 로컬 인증일 뿐입니다. 해커가 비밀번호를 알아내더라도 지갑이 위치한 장치에 접근해야 합니다.
이제 차이점이 보이시나요?잘 알려진 2단계 인증(2FA) 도구로는 Google Authenticator, Microsoft Authenticator 등이 있습니다. 물론 비밀번호 관리자(예: 1Password)를 사용하는 경우 2FA 모듈도 함께 제공됩니다. , 매우 편리합니다. 2FA를 잃으면 번거로울 수 있으므로 항상 백업하는 것을 잊지 마세요.
또한 이중 인증은 더 넓은 개념일 수도 있습니다. 예를 들어, 계정 식별자와 비밀번호를 사용하여 대상 플랫폼에 로그인하는 경우 계정 식별자는 일반적으로 이메일 또는 휴대폰 번호입니다. 이때, 메일함이나 휴대폰 번호를 2FA로 활용하여 인증코드를 받으실 수 있습니다. 하지만 이 방법의 보안 수준은 그리 좋지 않습니다. 예를 들어, 사서함이 손상되거나 SIM 카드가 탈취되거나 이메일 및 문자 메시지 전송에 사용되는 제3자 서비스가 해킹되는 경우 플랫폼에서 보낸 인증 코드도 공개됩니다.
과학적인 인터넷 서핑
정책상의 이유로 이에 대해 너무 많이 이야기하지 말고 잘 알려진 솔루션 중 하나를 선택하십시오. 자신만의 솔루션을 구축할 수 있다면 상황이 더욱 통제될 것입니다. 결국 우리의 출발점은 인터넷을 과학적이고 안전하게 서핑하는 것입니다.
자체 구축된 솔루션을 사용하지 않는 경우 중간자 공격의 가능성을 완전히 배제할 수는 없습니다. 앞서 언급한 것처럼, 특히 HTTPS Everywhere 정책이 대량 도입된 이후 인터넷 보안 상황은 예전만큼 나쁘지 않습니다. 그러나 평화의 일부는 단지 수면일 수도 있고, 수면 아래에는 쉽게 눈에 띄지 않는 저류가 이미 존재합니다. 솔직히 말해서, 나는 이것에 대한 묘책을 가지고 있지 않습니다. 자신만의 솔루션을 구축하는 것은 쉽지 않지만 확실히 그만한 가치가 있습니다. 그리고 그럴 수 없다면 여러 소스를 사용하는지 확인하고 오랫동안 사용되어 온 평판이 좋은 소스를 선택하세요.
이메일
이메일은 당사 웹 기반 ID의 초석입니다. 우리는 많은 서비스에 가입하기 위해 이메일을 사용합니다. 우리가 사용하는 거의 모든 이메일 서비스는 무료입니다. 그것은 공기처럼 보이며, 사라질 것이라고는 생각하지 않습니다. 어느 날 이메일 서비스가 사라지면 이에 의존하는 다른 모든 서비스가 다소 어색한 상황에 처하게 될 것입니다. 전쟁, 자연재해 등의 극단적인 상황이 발생한다면 실제로 불가능한 것은 아닙니다. 물론 이러한 극단적인 상황이 발생하면 이메일은 생존보다 덜 중요할 것입니다.
이메일 서비스 제공업체의 경우 Gmail, Outlook 또는 QQ 이메일과 같은 거대 기술 업체 중에서 선택해야 합니다. 나의 이전 보안 연구에서 이 분야를 다루게 되었습니다. 이러한 사서함의 보안 상태는 충분합니다. 하지만 여전히 이메일 피싱 공격에 주의해야 합니다. 모든 단일 이메일, 특히 트로이 목마가 숨겨져 있을 수 있는 포함된 링크와 첨부 파일을 처리할 필요는 없습니다.
이메일 서비스 제공업체에 대한 매우 정교한 공격을 발견하면 스스로 책임을 져야 합니다.
이러한 거대 기술 기업의 이메일 서비스 외에도 개인 정보 보호에 대해 매우 우려가 있다면 잘 알려진 두 가지 개인 정보 보호 이메일 서비스인 ProtonMail과 Tutanota를 살펴볼 수 있습니다. 제가 제안하는 것은 이러한 개인 친화적인 사서함을 일상적인 사용과 분리하고 개인 정보 보호에 특별한 주의가 필요한 서비스에만 사용하는 것입니다. 또한 장기간 활동이 없어 계정이 정지되는 것을 방지하려면 무료 이메일 서비스를 정기적으로 사용해야 합니다.
SIM 카드
SIM 카드와 휴대폰 번호도 이메일과 마찬가지로 많은 경우 매우 중요한 기본 신원입니다. 최근 몇 년 동안 우리나라의 주요 통신업체들은 휴대폰 번호 보안 보호에 있어 매우 훌륭한 성과를 거두었습니다. 예를 들어 SIM 카드 취소 및 재발급에 대한 엄격한 보안 프로토콜 및 확인 프로세스가 있으며 모두 현장에서 발생합니다. SIM 카드 공격 주제에 대해 예를 들어 보겠습니다.
2019.5년에는 누군가의 Coinbase 계정이 SIM 포트 공격(SIM 카드 전송 공격)을 당하여 안타깝게도 미화 10만 달러 이상의 암호화폐가 손실되었습니다. 공격 과정은 대략 다음과 같습니다.
공격자는 소셜 엔지니어링 등의 방법을 통해 대상 사용자의 개인 정보를 획득하고 이동통신사를 속여 새 SIM 카드를 발급한 후 동일한 휴대폰 번호를 통해 대상 사용자의 Coinbase 계정을 쉽게 탈취했습니다. SIM이 전송되었는데 매우 번거롭습니다. 귀하의 SIM 카드가 공격자에 의해 전송된 경우 매우 문제가 됩니다. 요즘 많은 온라인 서비스에서 당사의 휴대전화 번호를 직접 인증 요소 또는 2FA로 사용하기 때문입니다. 이는 매우 중앙화된 인증 메커니즘으로 휴대폰 번호가 약점이 됩니다.
자세한 분석은 다음을 참조하세요.
이에 대한 방어 제안은 실제로 간단합니다. 잘 알려진 2FA 솔루션을 활성화하는 것입니다.
SIM 카드에는 또 다른 위험이 있습니다. 즉, 휴대폰을 분실하거나 도난당한 경우 악의적인 사람이 SIM 카드를 꺼내 사용할 수 있다는 점입니다. 제가 한 일은 다음과 같습니다. SIM 카드 비밀번호(PIN 코드)를 활성화하면 휴대전화를 켜거나 새 기기에서 SIM 카드를 사용할 때마다 올바른 비밀번호를 입력해야 합니다. 자세한 방법은 Google에 문의하세요. 제가 알려드린 내용은 다음과 같습니다. 이 비밀번호를 잊지 마세요. 그렇지 않으면 매우 번거로울 것입니다.
GPG
이 부분의 내용은 이전 섹션에서 언급한 내용이 많으며 여기에 기본 개념을 더 추가하고 싶습니다.: 때로는 PGP, OpenPGP, GPG와 같이 비슷한 이름을 접하게 됩니다. 간단히 다음과 같이 구별하세요.
- Pretty Good Privacy의 약자인 PGP는 현재 Symantec 산하의 30년 된 상용 암호화 소프트웨어입니다.
- OpenPGP는 PGP에서 파생된 암호화 표준입니다.
- GPG(전체 이름은 GnuPG)는 OpenPGP 표준을 기반으로 하는 오픈 소스 암호화 소프트웨어입니다.
코어는 유사하며 GPG를 사용하면 다른 코어와 호환됩니다. 여기서 다시 한 번 강력히 권합니다. 보안 암호화에서는 바퀴를 재발명하려고 하지 마십시오. GPG를 올바르게 사용하면 보안 수준을 크게 향상시킬 수 있습니다!
분리
분리 보안 원칙의 핵심 가치는 제로 트러스트 사고방식입니다. 우리가 아무리 강하더라도 외부 해커, 내부자 또는 우리 자신에 의해 조만간 해킹당할 것이라는 점을 이해해야 합니다. 해킹을 당하면 가장 먼저 손절매를 해야 합니다. 손실을 막는 능력은 많은 사람들에 의해 무시되고, 이것이 바로 그들이 계속해서 해킹당하는 이유입니다. 근본 원인은 보안 설계가 없다는 것, 특히 분리와 같은 간단한 방법이 있다는 것입니다.
좋은 분리 방법을 사용하면 보안 사고가 발생하는 경우 다른 자산에 영향을 주지 않고 손상된 대상과 직접 관련된 자산만 손실되도록 할 수 있습니다.
예를 들어:
- 비밀번호 보안 관행이 양호하다면 계정 중 하나가 해킹당하더라도 동일한 비밀번호가 다른 계정을 손상시키지 않습니다.
- 귀하의 암호화폐가 하나의 니모닉 시드 세트에 저장되지 않으면 함정에 빠지더라도 모든 것을 잃지 않을 것입니다.
- 컴퓨터가 감염된 경우 다행히도 이 컴퓨터는 일상적인 활동에 사용되는 컴퓨터일 뿐이며 거기에는 중요한 내용이 없습니다. 따라서 컴퓨터를 다시 설치하면 대부분의 문제가 해결되므로 당황할 필요가 없습니다. 가상머신을 잘 활용한다면 스냅샷만 복원하면 되기 때문에 상황은 더욱 좋습니다. 좋은 가상 머신 도구는 VMware, Parallels입니다.
- 요약하면 최소한 두 개의 계정, 두 개의 도구, 두 개의 장치 등을 가질 수 있습니다. 익숙해지면 독립적인 가상 ID를 완전히 만드는 것이 불가능하지 않습니다.
나는 이전에 좀 더 극단적인 의견을 언급했습니다. 개인 정보는 우리가 보호할 수 있는 것이 아니며, 개인 정보는 통제되어야 합니다.
이러한 관점을 갖는 이유는 현재 인터넷 환경에서 개인정보가 실제로 심각하게 유출되고 있기 때문이다. 다행스럽게도 최근 몇 년 동안 개인 정보 보호 관련 규정이 점점 더 널리 채택되고 있으며 사람들의 관심도 점점 더 높아지고 있습니다. 실제로 모든 것이 올바른 방향으로 가고 있습니다. 하지만 그 전에 어떤 경우에도 내가 나열한 지식 포인트를 숙달하면 귀하의 개인정보를 쉽게 통제할 수 있을 것입니다. 인터넷에 익숙하다면 서로 거의 독립적인 여러 개의 가상 ID를 가질 수 있습니다.
인간 본성의 안전
인간은 언제나 가장 높고 영원한 위험에 처해 있습니다. 삼신문제(The Three-Body Problem)에는 다음과 같은 말이 있습니다. “나약함과 무지는 생존의 장벽이 아니지만 오만함은 생존의 장벽이다.”
- 오만하지 마십시오. 자신이 이미 강하다고 생각한다면 괜찮습니다. 온 세상을 내려다보지 마십시오. 특히, 지나치게 자만하지 말고 글로벌 해커들에게 도전할 수 있다고 생각하지 마세요. 배움에는 끝이 없고, 여전히 장애물이 많습니다.
- 탐욕하지 마십시오. 탐욕은 실제로 많은 경우 앞으로 나아가게 하는 동기입니다. 하지만 생각해 보십시오. 왜 그렇게 좋은 기회가 당신에게만 예약되어 있습니까?
- 충동적이지 마십시오. 충동성은 당신을 함정으로 이끄는 악마입니다. 발진 행동은 도박입니다.
인간의 본성에는 이야기할 것이 끝없이 많으며 이보다 더 조심할 수는 없습니다. 다음 사항에 각별히 주의하시고, 나쁜 행위자들이 다양한 편리한 플랫폼을 활용하여 인간 본성의 약점을 어떻게 이용하는지 살펴보시기 바랍니다.
전보
앞서 텔레그램이 가장 큰 다크웹이라고 말한 적이 있습니다. 사람들은 보안, 안정성, 개방형 디자인 기능 때문에 Telegram을 좋아한다고 말씀드리고 싶습니다. 그러나 Telegram의 개방형 문화는 또한 나쁜 사람들을 끌어들입니다. 엄청난 수의 사용자, 고도로 사용자 정의 가능한 기능, 모든 종류의 봇 서비스를 구축하기에 충분히 쉽습니다. 암호화폐와 결합하면 실제 거래 경험은 Tor의 다크웹 마켓플레이스보다 훨씬 뛰어납니다. 그리고 그 안에 물고기가 너무 많아요.
일반적으로 소셜 미디어 계정의 고유 식별자는 사용자 이름, 사용자 ID와 같은 것이지만 악의적인 행위자가 이를 완전히 복제할 수 있습니다. 일부 소셜 플랫폼에는 파란색 V 아이콘 등을 추가하는 등의 계정 확인 메커니즘이 있습니다. 공개 소셜 미디어 계정은 팔로어 수, 게시된 콘텐츠, 팬과의 상호 작용 등 일부 지표를 통해 검증할 수 있습니다. 비공개 소셜 미디어 계정은 좀 더 어렵습니다. 텔레그램에서 “우리가 어떤 그룹에 속해 있는지” 기능이 출시된 것을 보니 반갑습니다.
악용될 수 있는 허점이 있고 이익이 상당한 곳에는 이미 많은 악당들이 존재하고 있을 것입니다. 그것이 인간의 본성입니다.
결과적으로 소셜 미디어 플랫폼은 피싱 함정으로 가득 차 있습니다. 예: 그룹 채팅에서 공식 고객 서비스처럼 보이는 사람이 갑자기 나타나 비공개 채팅을 시작했습니다(any2any 비공개 채팅은 텔레그램의 기능이므로 친구 요청이 필요하지 않습니다). 스팸, 물고기가 차례로 물립니다.
또는 공격자가 한 단계 더 나아가 사용자를 다른 그룹에 추가할 수도 있습니다. 모든 참가자는 당신이 가짜라고 생각하지만 당신에게는 그것이 매우 현실적으로 보입니다. 우리는 이 기술을 지하 사회의 그룹 복제라고 부릅니다.
이것들은 인간 본성을 조작하는 기본적인 방법일 뿐이며, 진보된 기술은 취약점과 결합되어 예방하기가 더 어렵습니다.
불화
Discord는 지난 2년 동안 출시된 새롭고 인기 있는 소셜 플랫폼/IM 소프트웨어입니다. 공식 성명에 따르면 핵심 기능은 커뮤니티 서버(기존 서버의 개념이 아님)입니다.
Discord는 13세 이상의 수천만 명의 사람들이 커뮤니티 및 친구들과 대화하고 어울리기 위해 사용하는 무료 음성, 영상 및 문자 채팅 앱입니다.
사람들은 매일 Discord를 사용하여 예술 프로젝트와 가족 여행부터 숙제와 정신 건강 지원에 이르기까지 다양한 것에 대해 이야기합니다. 이는 모든 규모의 커뮤니티를 위한 홈이지만 정기적으로 대화를 나누는 소규모의 활동적인 그룹이 가장 널리 사용합니다.
보기에는 좋지만 매우 강력한 보안 설계 표준이 필요합니다. Discord에는 다음과 같은 특정 보안 규칙과 정책이 있습니다.
불행하게도 대부분의 사람들은 이 책을 주의 깊게 읽으려고 애쓰지 않을 것입니다. 더욱이 Discord는 항상 실현 가능하지 않은 공격자의 모자를 써야 하기 때문에 특정 핵심 보안 문제를 항상 명확하게 설명할 수는 없습니다.
예를 들어:
Discord에 NFT 도용이 너무 많은데, 주요 공격 방법은 무엇입니까? 이 문제를 파악하기 전에는 Discord 보안 조언이 쓸모가 없습니다.
많은 프로젝트 Discordhack의 주요 이유는 실제로 HTTP 요청 헤더의 인증 필드 내용인 Discord 토큰입니다. 그것은 아주 오랫동안 Discord에 존재해왔습니다. 해커의 경우 이 Discord 토큰을 얻을 수 있는 방법을 찾을 수 있다면 대상 Discord 서버의 모든 권한을 거의 통제할 수 있습니다. 즉, 대상이 관리자, 관리 권한이 있는 계정 또는 Discord 봇이라면 해커는 원하는 모든 것을 할 수 있습니다. 예를 들어 NFT 피싱 사이트를 발표함으로써 사람들이 그것이 공식 발표라고 생각하게 만들고 물고기가 낚아챌 것입니다.
Discord 계정에 2단계 인증(2FA)을 추가하면 어떻게 되나요? 정말 좋은 습관이에요! 하지만 Discord 토큰은 귀하의 계정 2FA 상태와 아무런 관련이 없습니다. 계정이 침해되면 즉시 Discord 비밀번호를 변경하여 원래 Discord 토큰을 무효화해야 합니다.
해커가 어떻게 Discord Token을 얻을 수 있는지에 대한 질문에 대해 저희는 최소한 세 가지 주요 기술을 알아냈고, 앞으로 이에 대해 자세히 설명하도록 노력하겠습니다. 일반 사용자의 경우 할 수 있는 일이 많지만 핵심은 서두르지 말고 욕심을 부리지 말고 여러 소스에서 검증하는 것입니다.
'공식' 피싱
나쁜 배우들은 롤플레잉, 특히 공식적인 역할을 잘 활용합니다. 예를 들어 우리는 이전에 가짜 고객 서비스 방법을 언급한 적이 있습니다. 게다가 2022년 4월, 잘 알려진 하드웨어 지갑인 Trezor의 많은 사용자들이 공식 Trezor 도메인인 trezor.io가 아닌 trezor.us로부터 피싱 이메일을 받았습니다. 도메인 이름 접미사에는 약간의 차이가 있습니다. 또한 피싱 이메일을 통해 다음 도메인도 확산되었습니다.
이 도메인 이름에는 "하이라이트 지점"이 있습니다. 그 안에 있는 문자 ẹ를 자세히 보면 문자 e가 아님을 알 수 있습니다. 혼란스럽나요? 실제로는 Punycode이며 표준 설명은 다음과 같습니다.
IDNA(Internationalized Domain Names in Application)를 위한 유니코드의 부트스트링 인코딩은 유니코드와 ASCII 코드 모두에서 제한된 문자 집합을 나타내는 국제화된 도메인 이름 인코딩입니다.
누군가 trẹzor를 디코딩하면 다음과 같이 보입니다: xn-trzor-o51b, 이것이 실제 도메인 이름입니다!
해커들은 수년 동안 피싱에 Punycode를 사용해 왔으며, 2018년에 일부 Binance 사용자도 동일한 속임수에 감염되었습니다.
이러한 종류의 피싱 사이트는 공식 메일함 통제나 SPF 구성 문제로 인한 메일 위조 공격과 같은 고급 공격은 말할 것도 없고 이미 많은 사람들을 넘어지게 만들 수 있습니다. 결과적으로 이메일의 소스는 공식 소스와 완전히 동일해 보입니다.
악의적인 내부자라면 사용자는 아무것도 할 수 없습니다. 프로젝트 팀은 내부자 위협을 방지하기 위해 많은 노력을 기울여야 합니다. 내부자는 가장 큰 트로이 목마이지만 무시되는 경우가 많습니다.
Web3 개인 정보 보호 문제
웹3.0의 인기가 높아지면서 모든 종류의 웹3.0 인프라, 소셜 플랫폼 등 흥미롭거나 지루한 프로젝트가 점점 더 많이 등장했습니다. 그들 중 일부는 방대한 데이터 분석을 통해 블록체인 측면뿐만 아니라 잘 알려진 웹2 플랫폼에서도 타겟의 다양한 행동 양상을 파악했습니다. 일단 초상화가 나오면 대상은 기본적으로 투명한 사람입니다. 그리고 웹3.0 소셜 플랫폼의 등장은 이러한 프라이버시 문제를 더욱 악화시킬 수 있습니다.
서명 바인딩, 온체인 상호작용 등 웹 3.0과 관련된 모든 것들을 사용하면서 더 많은 프라이버시를 노출하고 있는 것은 아닌지 생각해 보시기 바랍니다. 많은 분이 동의하지 않으실 수도 있지만, 수집하고자 하는 대체 불가능한 토큰, 가입한 커뮤니티, 화이트리스트, 누구와 연결되어 있는지, 어떤 웹2.0 계정에 묶여 있는지, 어떤 시간대에 활동하는지 등 많은 정보가 모이면 보다 정확하고 포괄적인 그림이 그려질 것입니다. 블록체인은 때때로 프라이버시를 악화시킬 수 있습니다. 프라이버시를 중요하게 생각한다면 새롭게 등장하는 모든 것에 주의를 기울이고 신원을 분리하는 좋은 습관을 유지해야 할 것입니다.
이 시점에서 개인키를 실수로 도난당하면 단순히 돈만 잃는 것이 아니라 신중하게 관리해온 모든 웹3.0의 권리와 이익을 잃게 됩니다. 흔히 개인 키가 곧 신원이라고 말하는데, 이제 진짜 신원 문제가 생겼습니다.
인간의 본성을 시험하지 마세요.
블록체인 헛소리
블록체인 기술은 완전히 새로운 산업을 탄생시켰습니다. 블록파이, 탈중앙 금융, 암호화폐, 가상 화폐, 디지털 화폐, 웹 3.0 등 어떤 이름으로 부르든 모든 것의 핵심은 여전히 블록체인입니다. 대부분의 과대광고는 대체 불가능한 토큰(또는 NFT, 디지털 수집품)을 포함한 암호화 자산과 같은 금융 활동에 집중되어 있습니다.
블록체인 산업은 매우 역동적이고 매력적이지만, 악을 행할 수 있는 방법도 너무 많습니다. 블록체인의 특수한 특성으로 인해 암호화폐 도난, 크립토재킹, 랜섬웨어, 다크웹 거래, C2 공격, 자금 세탁, 폰지 사기, 도박 등 다소 독특한 악행이 발생하고 있습니다. 참고로 2019년에 마인드맵을 만들었습니다.
https://github.com/slowmist/Knowledge-Base/blob/master/mindmaps/evil_blockchain.png
한편, 슬로우미스트 팀은 블록체인 관련 해킹 활동에 대한 데이터베이스인 슬로우미스트 해킹을 유지 및 업데이트하고 있습니다.
이 핸드북에서는 많은 보안 조치를 소개했으며, 이를 자신의 보안에 적용할 수 있다면 축하드립니다. 블록체인 사기에 대해서는 자세히 설명하지 않겠습니다. 관심이 있으시다면 스스로 학습할 수 있으며, 특히 새로운 사기와 사기가 지속적으로 진화하고 있기 때문에 이는 분명 좋은 일입니다. 더 많이 배울수록 자신을 더 잘 방어하고 이 산업을 더 좋게 만들 수 있습니다.
해킹 당했을 때 대처 방법
결국 해킹을 당하는 것은 시간 문제일 뿐입니다. 그렇다면 어떻게 해야 할까요? 바로 본론으로 들어가겠습니다. 다음 단계가 반드시 순서대로 진행되는 것은 아니며, 앞뒤로 이동해야 할 때도 있지만 일반적인 아이디어는 다음과 같습니다.
손절매 우선
손절매는 손실을 제한하는 것입니다. 손절매는 최소 두 단계로 나눌 수 있습니다.
- 즉각적인 조치 단계. 즉시 행동하세요! 해커가 자산을 전송하는 것을 발견했다면 더 이상 생각하지 마세요. 서둘러 남은 자산을 안전한 곳으로 옮기세요. 프런트 러닝 거래 경험이 있다면, 바로 자산을 챙겨서 도망치세요. 자산 유형에 따라 블록체인에서 자산을 동결할 수 있다면 최대한 빨리 동결하고, 온체인 분석을 통해 자산이 중앙화된 거래소로 전송된 것을 발견했다면 해당 거래소의 위험 관리 부서에 연락하세요.
- 조치 후 단계. 상황이 안정화되면 2차 또는 3차 공격이 발생하지 않도록 하는 데 중점을 두어야 합니다.
장면 보호
뭔가 잘못되었다는 것을 발견하면 침착하게 심호흡을 하세요. 현장을 보호하는 것을 잊지 마세요. 다음은 몇 가지 제안 사항입니다:
- 인터넷에 연결된 컴퓨터, 서버 또는 기타 장치에서 사고가 발생하면 즉시 네트워크 연결을 끊고 장치에 전원을 공급하세요. 어떤 사람들은 파괴적인 바이러스라면 로컬 시스템 파일이 바이러스에 의해 파괴될 것이라고 주장할 수 있습니다. 하지만 바이러스보다 빠르게 대응할 수 있는 경우에만 시스템을 종료하는 것이 도움이 됩니다.
- 직접 처리할 수 없다면 보안 전문가의 분석을 기다리는 것이 항상 더 나은 선택입니다.
분석을 위해 개입했을 때는 이미 현장이 엉망진창이 된 경우가 꽤 많았기 때문에 이 점이 매우 중요합니다. 심지어 주요 증거(예: 로그, 바이러스 파일)가 지워진 것처럼 보이는 경우도 있었습니다. 범죄 현장을 잘 보존하지 않으면 후속 분석과 추적에 큰 차질을 빚을 수 있습니다.
근본 원인 분석
원인 분석의 목적은 공격자를 파악하고 해커의 신상을 출력하는 것입니다. 이 시점에서 사후 보고서라고도 하는 인시던트 보고서가 매우 중요합니다. 인시던트 보고서와 사후 보고서는 같은 의미입니다.
저희는 동전을 도난당한 후 도움을 요청하는 많은 분들을 만났는데, 그 중 많은 분들이 무슨 일이 있었는지 명확하게 말하기가 매우 어려웠습니다. 명확한 사고 보고서를 작성하는 것은 더더욱 어렵습니다. 하지만 몇 가지 사례를 참고하면 도움이 될 수 있다고 생각합니다. 다음은 좋은 출발점이 될 수 있습니다:
- 요약 1: 누가 연루되었고, 언제 이런 일이 발생했으며, 무슨 일이 일어났고, 총 손실은 얼마입니까?
- 요약 2: 분실과 관련된 지갑 주소, 해커의 지갑 주소, 코인의 종류, 코인의 수량. 표 하나만 있으면 훨씬 더 명확해질 수 있습니다.
- 프로세스 설명: 이 부분이 가장 어렵습니다. 해커와 관련된 다양한 종류의 흔적을 분석하고 결국 해커의 인상착의(동기 포함)를 파악하는 데 유용한 사고의 모든 측면을 모든 세부 사항과 함께 설명해야 합니다.
특정 사례의 경우 템플릿은 훨씬 더 복잡해집니다. 때로는 인간의 기억력도 신뢰할 수 없을 수 있으며, 핵심 정보를 의도적으로 숨겨서 시간을 낭비하거나 타이밍을 늦출 수도 있습니다. 따라서 실제로는 많은 시간이 소요될 수 있으므로 경험을 바탕으로 작업을 잘 안내해야 합니다. 마지막으로 코인을 분실한 사람 또는 팀과 함께 인시던트 보고서를 작성하고 이 인시던트 보고서를 계속 업데이트합니다.
소스 추적
로카의 법칙에 따르면 침입이 있는 곳에는 반드시 흔적이 있습니다. 충분히 열심히 조사하면 항상 단서를 찾을 수 있습니다. 조사 과정은 사실 포렌식 분석과 소스 추적입니다. 포렌식 분석에서 나온 해커의 정황에 따라 소스를 추적하고 이를 지속적으로 보강하는 역동적이고 반복적인 과정을 거칩니다.
소스 추적은 크게 두 부분으로 구성됩니다:
- 온체인 인텔리전스. 중앙화된 거래소, 코인 믹서 등으로 이동하는 등 지갑 주소의 자산 활동을 분석하고 이를 모니터링하며 새로운 이체에 대한 알림을 받습니다.
- 오프체인 인텔리전스: 이 부분에서는 해커의 IP, 디바이스 정보, 이메일 주소 및 행동 정보를 포함한 이러한 관련 포인트의 상관관계에서 얻은 더 많은 정보를 다룹니다.
이 정보를 기반으로 한 소스 추적 작업은 매우 많으며, 심지어 법 집행 기관의 개입이 필요할 수도 있습니다.
사례 결론
물론 우리 모두는 해피엔딩을 원하며, 다음은 트위터가 참여하여 좋은 결과를 얻은 공개 이벤트의 몇 가지 예입니다:
- Lendf.Me, 1억 4천 5백만 달러 가치
- SIL 파이낸스, $12.15만 달러 상당
- 폴리 네트워크, $610 백만 달러 가치
공개되지 않은 다른 많은 사례들도 좋거나 괜찮은 결과로 끝났던 경험이 있습니다. 하지만 대부분 좋지 않은 결말을 맞이한 경우가 많아서 안타까웠습니다. 이러한 과정에서 많은 소중한 경험을 얻었고 앞으로는 좋은 결말의 비율이 높아지기를 바랍니다.
이 부분은 위와 같이 간략하게 언급했습니다. 이 분야와 관련된 지식은 방대하고 제가 잘 모르는 부분도 있습니다. 따라서 여기서는 자세한 설명을 하지 않겠습니다. 시나리오에 따라 우리가 습득해야 할 능력은 다음과 같습니다:
- 스마트 계약 보안 분석 및 포렌식
- 온체인 자금 이체 분석 및 포렌식
- 웹 보안 분석 및 포렌식
- Linux 서버 보안 분석 및 포렌식
- Windows 보안 분석 및 포렌식
- macOS 보안 분석 및 포렌식
- 모바일 보안 분석 및 포렌식
- 악성 코드 분석 및 포렌식
- 네트워크 장치 또는 플랫폼의 보안 분석 및 포렌식
- 내부자 보안 분석 및 법의학
- …
보안의 거의 모든 측면을 다루며 이 핸드북도 마찬가지입니다. 그러나 이러한 보안 사항은 여기에서 소개 가이드로 간략하게만 언급됩니다.
오인
처음부터 이 핸드북은 회의적인 태도를 유지하라고 말합니다! 여기에는 여기에 언급된 모든 내용이 포함됩니다. 이것은 모든 종류의 함정과 혼란으로 가득 찬 매우 활기차고 유망한 산업입니다. 여기에서는 진실로 당연하게 받아들여질 경우 쉽게 함정에 빠지고 혼돈 그 자체의 일부가 될 수 있는 몇 가지 오해를 살펴보겠습니다.
코드는 법이다
코드는 법이다. 그러나 프로젝트(특히 스마트 컨트랙트 관련 프로젝트)가 해킹되거나 견고해지면 그 누구도 “코드가 법이다”를 바라는 피해자는 없을 것이며, 현실 세계에서는 여전히 법에 의존해야 한다는 사실이 밝혀졌습니다.
당신의 열쇠나 동전이 아닙니다
열쇠를 소유하고 있지 않다면 동전을 소유하지 않은 것입니다. 실제로 많은 사용자들이 자신의 개인키를 제대로 관리하지 못하고 있었습니다. 다양한 보안 위반으로 인해 암호화폐 자산을 잃어버리기도 합니다. 때로는 암호화폐 자산을 크고 평판이 좋은 플랫폼에 두는 것이 실제로 더 안전하다는 것을 알게 될 것입니다.
블록체인에서 우리는 신뢰합니다
블록체인이기 때문에 우리는 그것을 믿습니다. 실제로 블록체인 자체는 변조 방지, 검열 방지 등 여러 가지 근본적인 신뢰 문제를 해결할 수 있는 능력을 갖추고 있습니다. 내 자산 및 관련 활동이 체인에 있는 경우, 기본적으로 어느 누구도 내 자산을 빼앗거나 승인 없이 내 활동을 변조할 수 없다는 것을 신뢰할 수 있습니다. 그러나 현실은 종종 가혹합니다. 첫째, 모든 블록체인이 이러한 기본 사항을 달성할 수 있는 것은 아니며, 둘째, 인간 본성은 항상 가장 약한 고리가 됩니다. 오늘날 많은 해킹 기술은 우리 대부분의 상상을 뛰어넘습니다. 우리는 항상 공격과 방어가 비용과 영향 사이의 균형이라고 말하지만, 큰 자산을 소유하지 않은 경우 해커는 시간을 낭비하지 않고 여러분을 표적으로 삼습니다. 그러나 자신과 같은 대상이 여러 개인 경우 해커가 공격을 시작하는 것이 매우 유리할 것입니다.
내 보안 조언은 매우 간단합니다. 기본적으로 불신하고(즉, 기본적으로 모든 것에 질문을 가함) 지속적인 검증을 수행하는 것입니다. 여기에서 확인은 핵심 보안 조치이며 지속적인 확인은 기본적으로 보안이 결코 고정된 상태가 아니라는 것을 의미합니다. 지금 안전하다고 해서 내일도 안전하다는 의미는 아닙니다. 적절하게 검증하는 능력은 우리 모두에게 가장 큰 과제이지만, 그 과정에서 많은 지식을 습득하게 되므로 매우 흥미롭습니다. 당신이 충분히 강하면 누구도 쉽게 당신을 해칠 수 없습니다.
암호화 보안은 보안이다
암호화는 강력하고 중요합니다. 암호 작성자의 모든 노력, 모든 견고한 암호 알고리즘 및 엔지니어링 구현 없이는 현대 통신 기술, 인터넷 또는 블록체인 기술이 없을 것입니다. 그러나 일부 개인은 암호화 보안을 절대적인 보안으로 간주합니다. 따라서 다음과 같은 이상한 질문이 많이 발생합니다.
블록체인은 너무 안전해서 개인 키를 해독하는 데 수조 년이 걸리지 않습니까? FBI는 어떻게 다크 웹 비트코인을 해독할 수 있었나요? 도대체 왜 Jay Chou의 NFT가 도난당할 수 있습니까?
이런 초보적인 질문은 참을 수 있습니다… 제가 참을 수 없는 것은 소위 보안 전문가라고 불리는 많은 사람들이 암호화 보안 개념을 사용하여 대중을 속이고 있다는 사실입니다. 그들은 군사급 암호화, 세계 최고의 암호화, 우주적 암호화와 같은 용어를 언급하고 있습니다. -레벨 암호화, 절대적인 시스템 보안, 해킹 불가능성 등
해커? 그들은 신경 쓰지 않는다…
해킹당하는 게 창피한 일인가요?
해킹을 당하면 엇갈린 감정을 느낄 수 있고 때로는 수치심을 느낄 수도 있는 것이 사실입니다. 하지만 해킹당하면 거의 100%가 보장되므로 부끄러워할 것이 없다는 점을 이해해야 합니다.
한번 해킹당하면 본인 책임만 지면 상관없습니다. 그러나 다른 많은 사람에 대한 책임이 있다면 사건을 처리할 때 투명하고 개방적이어야 합니다.
사람들이 스스로 해킹을 계획했다고 의심하거나 비난할 수도 있지만, 투명하고 공개적으로 업데이트된 프로세스는 항상 행운과 이해를 가져올 것입니다.
이렇게 생각해보세요. 프로젝트가 잘 알려지지 않으면 아무도 해킹하지 않을 것입니다. 수치스러운 점은 해킹당하는 것이 아닙니다. 부끄러운 것은 당신의 오만함입니다.
확률의 관점에서 볼 때 해킹당하는 것은 일반적인 현상입니다. 일반적으로 보안 문제의 대부분은 프로젝트 성장에 도움이 될 수 있는 작은 문제입니다. 그러나 여전히 심각하고 큰 문제는 가능한 한 피해야 합니다.
즉시 업데이트
이 핸드북에서는 업데이트에 주의를 기울일 것을 여러 번 제안합니다. 사용 가능한 보안 업데이트가 있으면 즉시 적용하세요. 이제 잘 생각해보세요. 이것이 만능약일까요?
실제로 대부분의 경우 "지금 업데이트"하는 것이 옳은 일입니다. 그러나 역사상 업데이트로 한 가지 문제가 해결되었지만 다른 문제가 발생한 경우가 있었습니다. 예를 들면 iPhone과 Google Authenticator가 있습니다.
새로운 iOS 15 업데이트의 위험이 있습니다. 즉, iPhone 업그레이드 후 Google Authenticator의 정보가 지워지거나 두 배가 될 수 있습니다. 이 경우 중복된 항목이 두 배로 발견되면 절대 삭제하지 마십시오. 다시 연 후 Google OTP의 모든 정보가 손실될 수 있습니다.
iOS 15 시스템으로 업그레이드하지 않으셨고, Google Authenticator를 사용하고 계시는 분들께서는 업그레이드 전 반드시 백업을 하시길 권장드립니다.
나중에 Google은 Authenticator 앱을 업데이트하여 이 문제를 영구적으로 해결했습니다.
게다가, 주요 보안 패치나 불가피한 업데이트로 이어지는 매우 중요한 기능이 없는 한, 특히 자산이 많은 지갑의 경우 지갑을 자주 업데이트하지 않는 것이 좋습니다. 어떤 경우에는 스스로 위험 평가를 수행하고 스스로 결정을 내려야 합니다.
결론
Recall that this handbook starts with this diagram 🙂
내가 도표에서 사람을 빨간색으로 표시한 것을 보셨나요? 이는 인간이 모든 것의 기초(우주론에서는 "인류주의 원리"라고 함)라는 점을 다시 한 번 모든 사람에게 상기시키기 위해 표시한 것입니다. 인간의 본성인 보안이든, 보안 기술을 습득하는 능력이든, 그것은 모두 당신에게 달려 있습니다. 그렇습니다. 당신이 충분히 강하다면, 누구도 쉽게 당신을 해칠 수 없습니다.
다이어그램을 기반으로 확장을 시작했으며 지갑 생성, 지갑 백업, 지갑 사용의 세 가지 프로세스에서 많은 보안 핵심 사항을 설명했습니다. 그런 다음 전통적인 개인 정보 보호를 도입했습니다. 저는 이러한 전통적인 것들이 블록체인 생태계에서 보안을 유지하기 위한 초석이자 구성 요소라고 말했습니다. 인간 본성 보안 부분은 과장될 수 없습니다. 악을 행하는 다양한 방법에 대해 더 많이 이해하는 것이 좋습니다. 특히 몇 군데 구덩이에 발을 디딘 경우 종이에 적힌 보안 인식이 결국 보안 경험이 될 수 있습니다. 절대적인 보안은 없으므로 해킹당했을 때 대처방법을 설명드렸습니다. 나는 당신에게 불행한 일이 일어나는 것을 원하지 않지만 만약 그런 일이 일어난다면 이 핸드북이 당신에게 도움이 되기를 바랍니다. 마지막으로 몇 가지 오해에 대해 이야기하겠습니다. 내 의도는 매우 간단합니다. 세상은 아름답고 끔찍하기 때문에 여러분 자신의 비판적 사고를 쌓을 수 있기를 바랍니다.
나는 오랫동안 그렇게 많은 말을 쓰지 않았습니다. 마지막으로 책을 쓴 게 10년 전인 것 같아요.”웹 前端黑客技术揭秘“. 꽤 씁쓸한 맛이었습니다. 웹 보안과 사이버 보안 분야에서 수년 간 근무한 후 저는 사이버 공간 검색 엔진인 ZoomEye를 만드는 팀을 이끌었습니다. 사이버 보안 분야에서 저는 많은 분야에 손을 댔는데, 그 중 제가 능숙하다고 말할 수 있는 분야는 극히 일부에 불과합니다.
이제 블록체인 보안 분야에서는 저와 슬로우미스트가 선구자라고 평가받고 있습니다. 지난 몇 년간 우리는 매일매일 무아지경에 빠져 있다는 생각이 들 정도로 많은 사례를 접했습니다. 많은 인사이트가 기록되고 공유되지 않는다는 점은 아쉽습니다. 그리고 그 결과 여러 친구들의 권유로 이 핸드북이 탄생하게 되었습니다.
이 핸드북을 다 읽고 나면 연습하고 능숙해지며 추론을 이끌어내야 합니다. 나중에 자신만의 발견이나 경험이 있으면 기여해 주시길 바랍니다. 민감한 정보가 있다고 생각되면 해당 정보를 가리거나 정보를 익명화할 수 있습니다.
마지막으로, 보안 및 개인 정보 보호 관련 법률 및 집행이 전 세계적으로 성숙해짐에 따라 Satoshi Nakamoto를 포함하여 모든 선구적인 암호학자, 엔지니어, 윤리적 해커 및 더 나은 세상을 만드는 데 관련된 모든 사람들의 노력에 감사드립니다.
부록
보안 규칙 및 원칙
본 핸드북에 언급된 보안 규칙과 원칙은 다음과 같이 요약됩니다. 위의 텍스트에는 몇 가지 규칙이 포함되어 있으며 여기서는 구체적으로 설명하지 않습니다.
두 가지 주요 보안 규칙:
- 제로 트러스트. 간단하게 만들려면 회의적인 자세를 유지하고 항상 그렇게 유지하십시오.
- 지속적인 검증. 무언가를 신뢰하려면 의심하는 것을 검증하고, 검증하는 습관을 들여야 합니다.
보안 원칙:
- 인터넷의 모든 지식에 대해서는 최소한 두 가지 출처를 참조하고 서로를 확증하며 항상 회의적인 자세를 유지하십시오.
- 분리하십시오. 모든 계란을 한 바구니에 담지 마십시오.
- 중요한 자산이 있는 지갑의 경우 불필요한 업데이트를 하지 마세요.
- 당신이 보는 것은 당신이 서명하는 것입니다. 서명하는 내용과 서명된 거래가 전송된 후 예상되는 결과를 알고 있어야 합니다. 나중에 후회할 일은 하지 마세요.
- 시스템 보안 업데이트에 주의하세요. 가능한 한 빨리 적용하십시오.
- 무모하게 프로그램을 다운로드하고 설치하지 마십시오. 실제로 대부분의 위험을 예방할 수 있습니다.
기여자
기여자들 덕분에 이 목록은 지속적으로 업데이트될 예정이며 이 핸드북에 대한 아이디어가 있으면 저에게 연락해 주시기 바랍니다.
왜냐하면, 트위터(@evilcos)、即刻(@余弦.jpg)
기여자
내 아내 SlowMist, Twitter(@SlowMist_Team), 예: Pds, Johan, Kong, Kirk, Thinking, Blue, Lisa, Keywolf... Jike 앱 익명의 친구들... 더보기: https://darkhandbook.io/contributors.html
귀하의 기여가 이 핸드북에 포함되도록 승인되면 귀하는 기여자 목록에 추가됩니다.
예를 들어: 구체적인 안전방어 제안이나 사례를 제공합니다. 번역 작업에 참여했습니다. 더 큰 오류 등을 수정했습니다.
공식 사이트
SlowMist https://www.slowmist.com CoinMarketCap https://coinmarketcap.com/ Sparrow 지갑 https://sparrowwallet.com/ MetaMask https://metamask.io/ imToken https://token.im/ Trust Wallet https //trustwallet.com/ 노시스 세이프 https://gnosis-safe.io/ ZenGo https://zengo.com/ Fireblocks https://www.fireblocks.com/ Safeheron https://www.safeheron.com/ 키스톤 https://keyst.one/ Trezor https://trezor.io/ Rabby https://rabby.io/ EdgeWallet https://edge.app/ MyEtherWallet https://www.myetherwallet.com/ Phantom https: //phantom.app/ 토네이도 캐시 https://tornado.cash/ 바이낸스 https://www.binance.com/ 코인베이스 https://coinbase.com 컴파운드 https://compound.finance/ SushiSwap https://www .sushi.com/ OpenSea https://opensea.io/ Revoke.cash https://revoke.cash/ APPROVED.zone https://approved.zone/ 即刻 https://okjike.com/ Kaspersky https:// www.kaspersky.com.cn/ Bitdefender https://www.bitdefender.com/ Cloudflare https://www.cloudflare.com/ Akamai https://www.akamai.com/ 감시 자기방어 https://ssd .eff.org/ 개인 정보 보호 가이드 https://www.privacytools.io/ OpenPGP https://www.openpgp.org/ GPG https://gnupg.org/ GPG Suite https://gpgtools.org/ Gpg4win https: //www.gpg4win.org/ 1Password https://1password.com/ Bitwarden https://bitwarden.com/ Google Authenticator https://support.google.com/accounts/answer/1066447 Microsoft Authenticator https://www .microsoft.com/en-us/security/mobile-authenticator-app ProtonMail https://protonmail.com/ Tutanota https://tutanota.com/ VMware Workstation https://www.vmware.com/products/workstation- pro.html Parallels https://www.parallels.com/