[
  {
    "path": "README.md",
    "content": "Blockchain dark forest selfguard handbook<br>\n*Master these, master the security of your cryptocurrency.<br>*\n\n:fire:Website: https://darkhandbook.io/<br>\n:cn:中文版：[《区块链黑暗森林自救手册》](README_CN.md)<br>\n:jp:日本語版：[ブロックチェーンのダークフォレストにおける自己防衛のためのハンドブック](README_JP.md)<br>\n:kr:한국어 버전: [블록체인 다크 포레스트 셀프가드 핸드북](README_KR.md)<br>\n:saudi_arabia:اللغة العربية: [دليل النجاة في الغابة المظلمة للبلوكتشين](README_AR.md)<br>\n:indonesia:Versi Indonesia: [Buku Panduan menjaga diri didalam \"dark forest\"](README_ID.md)<br>\n\nAuthor: Cos@SlowMist Team<br>\nContact me: Twitter ([@evilcos](https://twitter.com/evilcos)), Jike App (@余弦.jpg)\n\nTranslator: \n>[Alphatu](https://twitter.com/Alphatu4) | C. | [CJ](https://twitter.com/0xnjars) | [JZ](https://twitter.com/scorpionzhang) | [Lovepeace](https://twitter.com/lovepeace_53) | [Neethan](https://mobile.twitter.com/neethanverse) | [pseudoyu](https://twitter.com/pseudo_yu) | [SassyPanda](https://twitter.com/sassypandacap) | ss | [XL](https://twitter.com/leixing0309)\n\nProofreader:\n>[SassyPanda](https://twitter.com/sassypandacap) | [JZ](https://twitter.com/scorpionzhang) | [Neethan](https://mobile.twitter.com/neethanverse) | [Alphatu](https://twitter.com/Alphatu4) | [pseudoyu](https://twitter.com/pseudo_yu)\n\n![alt this](res/this.png)\n\n:anchor:**Contents**\n- [Prologue](#prologue)\n- [A Diagram](#a-diagram)\n  - [Create A Wallet](#create-a-wallet)\n    - [Download](#download)\n    - [Mnemonic Phrase](#mnemonic-phrase)\n    - [Keyless](#keyless)\n  - [Back up your wallet](#back-up-your-wallet)\n    - [Mnemonic Phrase / Private Key](#mnemonic-phrase--private-key)\n    - [Encryption](#encryption)\n  - [How to use Your Wallet](#how-to-use-your-wallet)\n    - [AML](#aml)\n    - [Cold Wallet](#cold-wallet)\n    - [Hot Wallet](#hot-wallet)\n    - [What is DeFi Security](#what-is-defi-security)\n    - [NFT Security](#nft-security)\n    - [BE CAREFUL With Signing!](#be-careful-with-signing)\n    - [Be CAREFUL With Counter-intuitive Signatures Requests!](#be-careful-with-counter-intuitive-signatures-requests)\n    - [Some Advanced Attacking Methodologies](#some-advanced-attacking-methodologies)\n  - [Traditional Privacy Protection](#traditional-privacy-protection)\n    - [Operation System](#operation-system)\n    - [Mobile phone](#mobile-phone)\n    - [Network](#network)\n    - [Browsers](#browsers)\n    - [Password Manager](#password-manager)\n    - [Two-Factor Authentication](#two-factor-authentication)\n    - [Scientific Internet Surfing](#scientific-internet-surfing)\n    - [Email](#email)\n    - [SIM Card](#sim-card)\n    - [GPG](#gpg)\n    - [Segregation](#segregation)\n  - [Security of Human Nature](#security-of-human-nature)\n    - [Telegram](#telegram)\n    - [Discord](#discord)\n    - [\"Official\" phishing](#official-phishing)\n    - [Web3 Privacy Issues](#web3-privacy-issues)\n- [Blockchain Shenanigans](#blockchain-shenanigans)\n- [What to do If Your Computer Gets Infected](#what-to-do-if-your-computer-gets-infected)\n- [What to do When You get hacked](#what-to-do-when-you-get-hacked)\n  - [Stop Loss First](#stop-loss-first)\n  - [Protect The Scene](#protect-the-scene)\n  - [Root Cause Analysis](#root-cause-analysis)\n  - [Source Tracing](#source-tracing)\n  - [Conclusion of Cases](#conclusion-of-cases)\n- [Misconception](#misconception)\n  - [Code Is Law](#code-is-law)\n  - [Not Your Keys, Not Your Coins](#not-your-keys-not-your-coins)\n  - [In Blockchain We Trust](#in-blockchain-we-trust)\n  - [Cryptographic Security is Security](#cryptographic-security-is-security)\n  - [Is it humiliating to be hacked?](#is-it-humiliating-to-be-hacked)\n  - [Immediately Update](#immediately-update)\n- [Conclusion](#conclusion)\n- [Appendix](#appendix)\n  - [Security rules and principles](#security-rules-and-principles)\n  - [Contributors](#contributors)\n  - [The Tools](#the-tools)\n  - [Official Sites](#official-sites)\n\n# Prologue\n\nFirst of all, congratulations for finding this handbook! No matter who you are - if you are a cryptocurrency holder or you want to jump into the crypto world in the future, this handbook will help you a lot. You should read this handbook closely and apply its teachings in real life.\n\nAdditionally, to understand this handbook completely requires some background knowledge. However, please do not worry. As for beginners, do not be afraid of the knowledge barriers which can be overcome. If you encounter something that you don't understand, and need to explore more, Google is highly recommended. Also, it is important to keep one security rule in mind: Be skeptical! No matter what information you see on the web, you should always seek out at least two sources for cross-reference.\n\nAgain, always be skeptical :) including the knowledge mentioned in this handbook.\n\nBlockchain is a great invention that brings about a change in production relations and solves the problem of trust to some degree. Specifically, blockchain creates many \"trust\" scenarios without the need for centralization and third parties, such as immutability, execution as agreed, and prevention of repudiation. However, the reality is cruel. There are many misunderstandings about blockchain, and the bad guys will use these misunderstandings to exploit the loophole and steal money from people, causing a lot of financial losses. Today, the crypto world has already become a dark forest.\n\nPlease remember the following two security rules to survive the blockchain dark forest.\n\n1. **Zero Trust**: To make it simple, stay skeptical, and always stay so.\n2. **Continuous Security Validation**: In order to trust something, you have to validate what you doubt, and make validating a habit.\n\n*Note: The two security rules above are the core principles of this handbook, and all the other security principles mentioned in this handbook are derived from them.*\n\nOkay, that's all for our introduction. Let's start with a diagram and explore this dark forest to see what risks we will encounter and how we should deal with them.\n\n# A Diagram\n\n![](res/web3_hacking_map.jpg)\n\nYou can skim through this diagram before taking a closer look at the rest of the handbook. It is all about the key activities in this world (whatever you want to call it: blockchain, cryptocurrency or Web3), which consist of three main processes: creating a wallet, backing up a wallet and using a wallet.\n\nLet's follow these three processes and analyze each of them.\n\n## Create A Wallet\n\nThe core of the wallet is the private key (or seed phrase).\n\nHere's how the private key looks like:\n\n>0xa164d4767469de4faf09793ceea07d5a2f5d3cef7f6a9658916c581829ff5584\n\nIn addition, here's how the seed phrase looks like:\n\n>cruel weekend spike point innocent dizzy alien use evoke shed adjust wrong\n\n*Note: We are using Ethereum as an example here. Please check out more details of private keys/seed phrase yourself.*\n\nThe private key is your identity. If the private key is lost/stolen, then you lose your identity. There are many well-known wallet applications, and this handbook won't cover all of them. \n\nHowever, I will mention some specific wallets. Please note, the wallets mentioned here can be trusted to some degree. But I cannot guarantee they will have no security issues or risks, expected or not, during use (I won't repeat more. Please always keep in mind the two main security rules mentioned in the prologue.).\n\nClassified by application, there are PC wallets, browser extension wallets, mobile wallets, hardware wallets and web wallets. In terms of internet connection, they can be mainly divided into cold wallets and hot wallets. Before we jump into the crypto world, we must first think about the purpose of the wallet. The purpose not only determines which wallet we should use, but also how we use the wallet.\n\nNo matter what kind of wallet you choose, one thing is for sure: after you have enough experience in this world, one wallet is not enough.\n\nHere we should keep in mind another security principle: isolation, i.e., don't put all your eggs in one basket. The more frequently a wallet is used, the more risky it is. Always remember: when trying anything new, first prepare a separate wallet and try it out for a while with a small amount of money. Even for a crypto veteran like me, if you play with fire, you are more easily to get burned.\n\n### Download\n\nThis sounds simple, but in fact it is not easy. The reasons are as follows:\n\n1. Many people cannot find the real official website, or the right application market, and eventually install a fake wallet.\n2. Many people do not know how to identify whether the downloaded application has been tampered or not.\n\nThus, for many people, before they enter the blockchain world, their wallet is already empty.\n\nTo solve the first problem above, there are some techniques to find the correct official website, such as\n\n* using Google (Exercise caution with the advertised entries in search results, as they are often unreliable.)\n* using well-known official websites, such as CoinMarketCap\n* asking trusted people and friends\n\nYou can cross-reference the information obtained from these different sources, and ultimately there is only one truth :) Congratulations, you have found the correct official website.\n\nNext, you have to download and install the application. **If it is a PC wallet**, after downloading from the official website, you need to install it yourself. It is highly recommended to verify whether the link has been tampered before installation. Although this verification may not prevent cases where the source code was altered completely (due to insider scam, internal hacking, or the official website may be hacked, etc.). However, it can prevent cases such as the partial tampering of the source code, man-in-the-middle attack, etc.\n\nThe method to verify whether a file has been tampered is the file consistency check. Usually there are two ways:\n\n* **Hash checks**: such as MD5, SHA256, etc. MD5 works for most cases, but there is still a tiny risk of hash collision, so we generally choose SHA256, which is safe enough.\n* **GPG signature verification**: this method is also very popular. It is highly recommended to master GPG tools, commands, and methods. Although this method is a bit difficult for newcomers, you will find it very useful once you get familiar with it.\n\nHowever, there are not many projects in the crypto world that provides verification. So, it is lucky to find one. For example, here is a bitcoin wallet called Sparrow Wallet. Its download page says \"Verifying the Release\", which is really impressive, and there are clear guidelines for both of the methods mentioned above, so you can use for reference:\n\n>https://sparrowwallet.com/download/\n\nThe download page mentioned two GPG tools:\n\n* GPG Suite, for MacOS.\n* Gpg4win, for Windows.\n\nIf you pay attention, you will find the download pages for both GPG tools give some instructions on how to check the consistency of both methods. However, there is no step-by-step guide, that is to say, you need to learn and practice yourself :)\n\n**If it is a browser extension wallet**, such as MetaMask, the only thing you have to pay attention to is the download number and rating in the Chrome web store. MetaMask, for example, has more than 10 million downloads and more than 2,000 ratings (though the overall rating is not high). Some people might think that the downloads numberand ratings may be inflated. Truth to be told, it is very difficult to fake such a large number. \n\n**The mobile wallet** is similar to the browser extension wallet. However, it should be noted that the App Store has different versions for each region. Cryptocurrency is banned in Mainland China, so if you downloaded the wallet with your Chinese App Store account, there is only one suggestion: don't use it, change it to another account in a different region such as the US and then re-download it. Besides, the correct official website will also lead you to the correct download method (such as imToken, OneKey, Trust Wallet, etc. It is important for official websites to maintain high website security. If the official website is hacked, there will be big problems.).\n\n**If it is a hardware wallet**, it is highly recommended to buy it from the official website. Do not buy them from online stores. Once you receive the wallet, you should also pay attention to whether the wallet is intact. Of course, there are some shenanigans on the packaging that are hard to detect. In any case, when using a hardware wallet, you should create the seed phrase and wallet address at least three times from scratch. And make sure that they are not repeated.\n\n**If it is a web wallet**, we highly recommend not to use it.Unless you have no choice, make sure it is authentic and then use it sparingly and never rely on it.\n\n### Mnemonic Phrase\n\nAfter creating a wallet, the key thing that we deal with directly is the mnemonic phrase/seed phrase, not the private key, which is easier to remember. There are standard conventions for mnemonic phrases (e.g., BIP39); there are 12 English words in general; it could be other numbers (multiples of 3), but not more than 24 words. Otherwise it is too complicated and not easy to remember. If the number of words is less than 12, the security is not reliable. It is common to see 12/15/18/21/24 words. In the blockchain world, 12-word is popular and secure enough. However, there are still hardcore hardware wallets such as Ledger that starts with 24 words. In addition to English words, some other languages are also available, such as Chinese, Japanese, Korean and so on. Here is a 2048 words list for reference:\n\n>https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md\n\nWhen creating a wallet, your seed phrase is vulnerable. Please be aware that you are not surrounded by people or webcams or anything else that can steal your seed phrase. \n\nAlso, please pay attention to whether the seed phrase is randomly generated. Normally well-known wallets can generate a sufficient number of random seed phrases. However, you should always be careful. It's hard to know whether there's something wrong with the wallet. Be patient because it can be very beneficial to develop these habits for your security. Lastly, sometimes you can even consider disconnecting from the Internet to create a wallet, especially if you are going to use the wallet as a cold wallet. Disconnecting from the Internet always works.\n\n### Keyless\n\nKeyless means no private key. Here we divide Keyless into two major scenarios (For ease of explanation. Such division is not industry standard.):\n\n* **Custodial**. Examples are centralized exchange and wallet, where users only need to register accounts and do not own the private key. Their security is completely dependent on these centralized platforms.\n* **Non-Custodial**. The user has a private key-like control power, which is not an actual private key (or seed phrase). It relies on well-known Cloud platforms for hosting and authentication/authorization. Hence the security of the Cloud platform becomes the most vulnerable part. Others make use of secure multi-party computing (MPC) to eliminate single point of risk, and also partner with popular Cloud platforms to maximise user experience.\n\nPersonally, I have used various kinds of Keyless tools. Centralized exchanges with deep pockets and good reputations provide the best experience. As long as you are not personally responsible for losing the token (such as if your account information was hacked), centralized exchanges will usually reimburse your loss. The MPC-based Keyless program looks very promising and should be promoted. I have good experience with ZenGo, Fireblocks and Safeheron. The advantages are obvious:\n\n* MPC algorithm engineering is becoming more and more mature on the well-known blockchains, and only needs to be done for private keys.\n* One set of ideas can solve the problem of different blockchains having vastly different multi-signature schemes, creating a consistent user experience, which is what we often call: universal multi-signature.\n* It can ensure that the real private key never appears and solve the single point of risk through multi-signature calculation.\n* Combined with Cloud (or Web2.0 technology) makes MPC not only secure but also creates a good experience.\n\nHowever, there are still some disadvantages:\n\n* Not all open source projects can meet the accepted standards of the industry. More work needs to be done.\n* Many people basically only use Ethereum (or EVM-based blockchain). As such, a multi-signature solution based on smart contract approach like Gnosis Safe is enough.\n\nOverall, no matter which tool you use, as long as you feel safe and controllable and have a good experience, it's a good tool.\n\nSo far we have covered what we need to be aware of regarding the creation of wallets. Other general security issues will be covered in later sections.\n\n## Back up your wallet\n\nThis is where many good hands would fall into traps, including myself. I did not back up properly and I knew it would happen sooner or later. Luckily, it was not a wallet with a large amount of assets and friends at SlowMist helped me recover it. Still, it was a scary experience that I don't think anyone would ever want to go through. So buckle up and let's learn how to back up your wallet safely.\n\n### Mnemonic Phrase / Private Key\n\nWhen we talk about backing up a wallet, we are essentially talking about backing up the mnemonic phrase (or the private key. For convenience, we will use the mnemonic phrase in the following.). Most mnemonic phrases can be categorized as follows:\n\n* Plain Text\n* With Password\n* Multi-signature\n* Shamir's Secret Sharing, or SSS for short\n\nI will briefly explain each type.\n\n**Plain Text**, Plain text is easy to understand. Once you have those 12 English words, you own the assets in the wallet. You can consider doing some special shuffling, or even replacing one of the words with something else. Both would increase the difficulty for hackers to hack into your wallet, however, you would have a big headache if you forget about the rules. Your memory isn't bulletproof. Trust me, your memory will tangle up after several years. A few years ago, when I used the Ledger hardware wallet, I changed the order of the 24-word-mnemonic phrase. After a few years, I forgot the order and I wasn't sure if I had replaced any word. As mentioned earlier, my problem was solved with a special code breaker program that uses brute force to guess the correct sequence and words. \n\n**With Password**, According to the standard, mnemonic phrases can have a password. It's still the same phrase but with the password, a different seed phrase will be obtained. The seed phrase is used to derive a series of private keys, public keys and corresponding addresses. So you should not only back up the mnemonic phrases, but also the password. By the way, private keys can also have a password and it has its own standards, such as BIP 38 for bitcoin and Keystore for ethereum.\n\n**Multi-Signature**, As the name suggests, it requires signatures from multiple people to access wallets. It's very flexible as you can set your own rules. For example, if there're 3 people have the key (mnemonic words or private keys), you can require at least two persons to sign to access the wallets. Each blockchain has its own multi-signature solution. Most well-known Bitcoin wallets support multi-signature. However, in Ethereum, multi-signature is mainly supported through smart contracts, such as Gnosis Safe. Furthermore, MPC, or Secure Multi-Party Computation is becoming more and more popular.. It provides an experience similar to the traditional multi-signature, but with different technology. Unlike multi-signature, MPC is blockchain agnostic and can work with all protocols.\n\n**SSS**, Shamir's Secret Sharing, SSS breaks down the seed into multiple shares (normally, each share contains 20 words). To recover the wallet, a specified number of shares has to be collected and used. For details, refer to the industry best practices below:\n\n>https://guide.keyst.one/docs/shamir-backup<br>\n>https://wiki.trezor.io/Shamir_backup\n\nUsing solutions such as multi-signature and SSS will give you peace of mind and avoid single-point risks, but it could make management relatively complicated and sometimes multiple parties will be involved. There is always a compromise between convenience and security. It is up to the individual to decide but never be lazy in principles.\n\n### Encryption\n\nEncryption is a very, very broad concept. It doesn't matter if the encryption is symmetric, asymmetric or uses other advanced technologies; as long as an encrypted message can be easily decrypted by you or your emergency handling team easily but nobody else after decades, it is good encryption.\n\nBased on the security principle of \"zero trust\", when we are backing up wallets, we have to assume that any step could be hacked, including physical environments such as a safe. Keep in mind that there is no one other than yourself who can be fully trusted. In fact, sometimes you can't even trust yourself, because your memories may fade away or misplaced. However, I won't make pessimistic assumptions all the time, otherwise it would lead me to some unwanted results. \n\nWhen backing up, special consideration must be given to disaster recovery. The main purpose of disaster recovery is to avoid a single point of risk. What would happen if you are gone or the environment where you store the backup is down? Therefore, for important stuff, there must be a disaster recovery person and there must be multiple backups.\n\nI won't elaborate too much on how to choose the disaster recovery person because it depends on who you trust. I will focus on how to do the multi-backups. Let's take a look at some basic forms of backup locations:\n\n* Cloud\n* Paper\n* Device\n* Brain\n\n**Cloud**, Many people don't trust backup on Cloud, they think it is vulnerable to hacker attacks. At the end of the day, it is all about which side - the attacker or the defender - put in more effort, in terms of both manpower and budgets. Personally, I have faith in cloud services powered by Google, Apple, Microsoft, etc., because I know how strong their security teams are and how much they have spent on security. In addition to fighting against external hackers, I also care a lot about internal security risk control and private data protection. The few service providers I trust are doing a relatively better job in these areas. But nothing is absolute. If I choose any of these cloud services to back up important data (such as wallets), I will definitely encrypt the wallets at least one more time.\n\nI strongly recommend mastering GPG. It can be used for the \"signature verification\", and provides strong security of encryption and decryption in the meantime. You can learn more about GPG at:\n\n>https://www.ruanyifeng.com/blog/2013/07/gpg.html\n\nOkay, 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 them 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...\n\nAt this point, you might find this extra level of security is quite troublesome: you have to learn about GPG and back up your GPG private key and passwords. In reality, if you have done all the aforementioned steps, you are already familiar with the process and won't find it as difficult or troublesome. I will say no more because practice makes perfect.\n\nIf you want to save some effort, there is another possibility but its security may be discounted. I can't measure the exact discount but sometimes I would be lazy when I would use some well-known tools for assistance. That tool is 1Password. The latest version of 1Password already supports direct storage of wallet-related data, such as mnemonic words, passwords, wallet addresses, etc., which is convenient for users. Other tools (such as Bitwarden) can achieve something similar, but they are not as convenient.\n\n**Paper**, Many hardware wallets come with several high-quality paper cards on which you can write down your mnemonic phrases (in plaintext, SSS, etc.). In addition to paper, some people also use steel plates (fire-resistant, water-resistant and corrosion-resistant, of course, I have not tried those). Test it after you copy over the mnemonic phrases and if everything works, put it in a place where you feel secure, such as in a safe. I personally like using paper a lot because if properly stored, paper has a much longer lifespan than electronics.\n\n**Device**, It refers to all kinds of equipment; electronics are a common type for backup, such as a computer, an iPad, an iPhone, or a hard drive, etc, depending on personal preference. We also have to think about the secure transmission between devices. I feel comfortable using peer-to-peer methods such as AirDrop and USB where it is difficult for a middleman to hijack the process. I am just naturally uneasy about the fact that electronic equipment may break down after a couple of years, so I maintain the habit of checking the device at least once a year. There are some repeated steps (such as encryption) which you can refer to the Cloud section.\n\n**Brain**, Relying on your memory is exciting. In fact, everyone has their own \"memory palace\". Memory is not mysterious and can be trained to work better. There are certain things that are indeed safer with memory. Whether to rely solely on the brain is a personal choice. But pay attention to two risks: firstly, memory fades away as time goes and could cause confusion; the other risk is that you may have an accident. I will stop here and let you explore more.\n\nNow you are all backed up. Don't encrypt too much, otherwise you will suffer from yourself after several years. According to the security principle of \"continuous verification\", your encryption and backup methods, whether excessive or not, must be verified continuously, both regularly as well as randomly. The verification frequency depends on your memory and you do not have to complete the whole process. As long as the process is correct, partial verification also works. Finally, it is also necessary to pay attention to the confidentiality and security of the authentication process.\n\nOkay, let's take a deep breath here. Getting started is the hardest part. Now that you are ready, let's enter this dark forest :)\n\n## How to use Your Wallet\n\nOnce you have created and backed up your wallets, it comes to the real challenge. If you don't move around your assets frequently, or you barely interact with any smart contracts of DeFi, NFT, GameFi, or Web3, the popular term referred to frequently these days, your assets should be relatively safe.\n\n### AML\n\nHowever, \"relatively safe\" doesn't mean \"no risk at all\". Cause \"you never know which comes first, tomorrow or accidents\", right?. Why is it? Think about it, where did you get the cryptocurrency? It didn't just come from nowhere, right? You may encounter AML (Anti Money Laundering) on all the cryptocurrencies you get any time. This means that the cryptocurrency you're holding at the moment may be dirty, and if you're not lucky, it may even be frozen directly on the chain. According to public reports, Tether once freezed some USDT assets as per request from law enforcement agencies. The list of frozen funds can be found here.\n\n>https://dune.xyz/phabc/usdt---banned-addresses\n\nYou can verify if an address is frozen by Tether from the USDT contract.\n\n>https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#readContract\n\n<img src=\"res/usdt_isblacklisted.png\" width=\"700\">\n\nUse the target wallet address as input into isBlackListed to check. Other chains that take USDT have similar verification way.\n\nHowever, your BTC and ETH should never ever get frozen. If this does happen one day in the future, the belief of decentralization would crash as well. Most cryptocurrency asset frozen cases we have heard today actually happened in centralized platforms (such Binance, Coinbase, etc.) but not on the blockchain. When your cryptocurrency stays in Centralized Exchange platforms, you don't actually own any of it. When the centralized platforms freeze your account, they are actually revoking your permission to trade or withdraw. The concept of freezing could be misleading to newbies in the area. As a result, some reckless self media would spread all kinds of conspiracy theories about Bitcoin.\n\nThough your BTC and ETH assets won't be frozen on the blockchain, centralized exchanges might freeze your assets according to the requirements of AML once your assets get transferred into these platforms and they are involved in any open cases that law enforcement is working on.\n\nTo better avoid AML issues, always choose platforms and individuals with a good reputation as your counterparty. There are actually a few solutions for this type of problem. For example, on Ethereum, almost all bad guys and people who care a lot about their privacy use Tornado Cash for coin mixing. I won't dig any more into this topic since most methods here are being used for doing evil.\n\n### Cold Wallet\n\nThere are different ways to use a cold wallet. From a wallet's perspective, it can be considered as a cold wallet as long as it's not connected to any network. But how to use it when it's offline? First of all, if you just want to receive cryptocurrency, it's not a big deal. A cold wallet could provide an excellent experience by working with a Watch-only wallet, such as imToken, OneKey, Trust Wallet, etc. These wallets could be turned into watch-only wallets by simply adding target wallet addresses.\n\nIf we want to send cryptocurrency using cold wallets, here are the most commonly used ways:\n\n* QRCode\n* USB\n* Bluetooth\n\nAll of these require a dedicated app (called Light App here) to work with the cold wallet. The Light App will be online along with the aforementioned Watch-only wallet. Once we understand the underlying essential principle, we should be able to understand these approaches. The essential principle is: eventually, it's just a matter of figuring out how to broadcast signed content onto the blockchain. Detailed process is as follows:\n\n* The content to be signed is transmitted by the Light App to the Cold Wallet by one of these means.\n* The signature is processed by the cold wallet that has the private key and then transmitted back to the Light App using the same way\n* The Light App broadcasts the signed content on the blockchain.\n\nSo no matter which method is used, QR code, USB or Bluetooth, it should be following the above process. Of course, details might vary from different methods. For example, QR code has a limited information capacity, so when the signature data is too large, we would have to split it up.\n\nIt seems to be a bit troublesome, but it becomes better when you get used to it. You would even feel a full sense of security. However, don't consider it 100% secure because there are still risks here, and there have been many cases of heavy losses because of these risks. Here are risk points:\n\n* The target address of the coin transfer was not checked carefully, resulting in the coin being transferred to someone else. People are lazy and careless sometimes. For example, most of the time they only check the beginning and ending few bits of a wallet address instead of fully checking the whole address. This leaves a backdoor to bad guys. They will run programs to get the wallet address with the same first and last few bits as your desired target address and then replace your coin transfer target address with the one under their control using some tricks.\n* Coins are authorized to unknown addresses. Usually authorization is the mechanism of the Ethereum smart contract tokens, the \"approve\" function, with one argument being the target authorization address and the other being the quantity. Many people don't understand this mechanism, so they may authorize an unlimited number of tokens to the target address, at which point the target address has permission to transfer all those tokens away. This is called authorized coin theft, and there are other variants of the technique, but I won't expand on it here.\n* Some signatures that seem not important actually have huge traps in the back, and I won't dig into it now, but will explain the details later.\n* The cold wallet may not have provided enough necessary information, causing you to be careless and misjudged.\n\nIt all boils down to two points:\n\n* The user interaction security mechanism of \"What you see is what you sign\" is missing.\n* Lack of relevant background knowledge of the user.\n\n### Hot Wallet\n\nCompared to a cold wallet, a hot wallet has basically all the risks that a cold wallet would have. Plus, there is one more: the risk of theft of the secret phrase (or private key). At this point, there are more security issues to consider with hot wallets, such as the security of the runtime environment. If there are viruses associated with the runtime environment, then there is a risk of getting stolen. There are also hot wallets that have certain vulnerabilities through which the secret phrase can be directly stolen.\n\nIn addition to the regular coin transfer function, if you want to interact with other DApps (DeFi, NFT, GameFi, etc.), you either have to access them directly with your own browser or interact with the DApps opened in your PC browser via the WalletConnect protocol.\n\n*Note: References of DApps in this handbook refer by default to smart contract projects running on the Ethereum blockchains.*\n\nBy default, such interactions do not lead to secret phrase theft, unless there is a problem with the wallet security design itself. From our security audits and security research history, there is a risk of wallet secret phrases being stolen directly by malicious JavaScript on the target page. However, this is a rare case, as it is actually an extremely low-level mistake that no well-known wallet is likely to make.\n\nNone of these are actually my actual concerns here, they are manageable for me (and for you too). My biggest concern/concern is: how does each iteration of a well-known wallet ensure that no malicious code or backdoor is planted? The implication of this question is clear: I verified that the current version of the wallet has no security issues and I'm comfortable using it, but I don't know how secure the next version will be. After all, I or my security team can't have that much time and energy to do all the verifications.\n\nThere have been several incidents of coin theft caused by malicious code or backdoors as described here, such as CoPay, AToken, etc. You can search for the specific incidents yourself.\n\nIn this case, there are several ways of doing evil:\n\n* When the wallet is running, the malicious code packages and uploads the relevant secret phrase directly into the hacker-controlled server.\n* When the wallet is running and the user initiates a transfer, information such as the target address and amount is secretly replaced in the wallet backend, and it is difficult for the user to notice.\n* Corrupting the random number entropy values associated with the generation of secret phrases, which makes them relatively easy to decipher.\n\nSecurity is a thing of ignorance and knowledge, and there are many things that could be easily ignored or missed. So for wallets that hold important assets, my security rule is also simple: no easy updates when it's enough to use.\n\n### What is DeFi Security\n\nWhen we talk about DApp, it could be DeFi, NFT or GameFi etc. The security fundamentals of these are mostly the same, but they will have their respective specifics. Let's first take DeFi as an example to explain. When we talk about DeFi security, what exactly do we mean? People in the industry almost always only look at smart contracts. It seems that when smart contracts are good, everything will be fine. Well actually, this is far from true.\n\nDeFi security includes at least the following components:\n\n* Smart Contract Security\n* Blockchain Foundation Security\n* Frontend Security\n* Communication Security\n* Human Security\n* Financial Security\n* Compliance Security\n\n**Smart Contract Security**\n\nSmart contract security is indeed the most important entry point for security audit, and SlowMist's security audit standards for smart contracts can be found at:\n\n>https://www.slowmist.com/service-smart-contract-security-audit.html\n\nFor advanced players, if the security of the smart contract part itself is controllable (whether they can audit themselves or understand security audit reports issued by professional organizations), then it doesn't matter if the other parts are secure. Controllable is a tricky concept, some of which depends on the player's own strength. For example, players have certain requirements in respect of the risk from excessive smart contract authority. If the project itself is strong and the people behind it have a good reputation, complete centralization would not matter. However, for those less well-known, controversial or emerging projects, if you realize that the project's smart contracts possess excessive permission risk, especially if such permissions can also affect your principal or earnings, you will certainly be reluctant.\n\nThe risk of excessive permission is very subtle. In many cases, it is in place for the admin of the project to conduct relevant governance and risk contingency. But for users, this is a test on human nature. What if the team decides to do evil? So there is a trade-off practice in the industry: adding Timelock to mitigate such risks of excessive permission, for example:\n\n> Compound, an established and well-known DeFi project, the core smart contract modules Comptroller and Governance, both have Timelock mechanism added to their admin permission:<br>\n> Comptroller(0x3d9819210a31b4961b30ef54be2aed79b9c9cd3b)<br>\n> Governance(0xc0da02939e1441f497fd74f78ce7decb17b66529)<br>\n> The admin of these 2 modules is<br>\n> Timelock(0x6d903f6003cca6255d85cca4d3b5e5146dc33925)\n\nYou can directly find out on chain that the Timelock (delay variable) is 48 hours (172,800 seconds):\n\n<img src=\"res/compound_timelock.png\" width=\"700\">\n\nThat is to say, if the admin of Compound needs to change some key variables of the target smart contract, the transaction will be recorded after it is initiated on the blockchain, but 48 hours must be waited before the transaction can be finalized and executed. This means that if you would like, you can audit every single operation from the admin, and you will have at least 48 hours to act. For example, if you are unsure, you can withdraw your funds within 48 hours. \n\nAnother way to mitigate the risk of excessive permission of admin is to add multi-signature, such as using Gnosis Safe for multisig management, so that there will at least be no dictator. It should be noted here that multisig can be \"the emperor's new clothes\". For example, one person may hold multiple keys. Therefore, the multisig strategy of the target project needs to be clearly stated. Who holds the keys, and the identity of each key holder must be reputable. \n\nIt is worth mentioning here that any security strategy may lead to the problem of \"the emperor's new clothes\", which the strategy may appear to be well done, but in reality is not, resulting in an illusion of security. Take another example, Timelock looks good on paper. Actually, there have been cases where Timelock deployed by some projects has backdoors. Generally, users don't look into the source code of Timelock, and they would not necessarily understand it even if they do, so the admin puts a backdoor there, and no one would really notice for a long enough time. \n\nIn addition to the risk of excessive permission, other elements of smart contract security are also critical. However, I will not expand here, in consideration of the prerequisites for understanding. Here is my advice: you should at least learn to read the security audit report, and practice makes perfect.\n\n**Blockchain Foundation Security**\n\nBlockchain foundation security refers to the security of the blockchain itself, such as consensus ledger security, virtual machine security etc. If the security of the blockchain itself is worrisome, the smart contract projects running on the chain would suffer directly. It is so important to choose a blockchain with sufficient security mechanism and reputation, and better with a higher probability of longevity.\n\n**Frontend Security**\n\nFrontend security is really the devil. It is too close to the users, and it is especially easy to fool users into deception. Perhaps everyone's main focus is on the wallet and smart contract security, resulting in frontend security being easily overlooked. I want to emphasize again that frontend security is the devil! Allow me to dig deeper. \n\nMy biggest concern regarding frontend security is: How do I know that the contract I am interacting with from this specific frontend page is the smart contract that I'm expecting?\n\nThis insecurity is mainly due to two factors:\n\n* Inside job\n* Third party\n\nIt is straightforward to understand the inside job. For example, the devs secretly replace the target smart contract address in the frontend page with a contract address that has a backdoor, or plant an authorization phishing script. When you visit this rigged frontend page, a series of subsequent operations involving cryptos in your wallet may be done in a trap. Before you realized, the coins would already be gone.\n\nThe third party mainly refers to two types:\n\n* One is that the dependencies chain is infiltrated. For example, the third-party dependency used by the frontend page has a backdoor which gets sneaked into the target frontend page along with the packaging and release. The following is the package dependency structure of SushiSwap (for illustration only, it doesn't necessarily mean that the project in the screenshot has such an issue):<br>\n    <img src=\"res/sushiswap_3rd.png\" width=\"500\">\n\n* The other example is third-party remote JavaScript files imported by the frontend page. If this JavaScript file is hacked, it's possible that the target frontend page gets affected as well, such as OpenSea (for illustration only, it doesn't necessarily mean that the project in the screenshot has such an issue):<br>\n    <img src=\"res/opensea_3rd.png\" width=\"800\">\n\nThe reason why we said it's just possible but not certain is that the risk could be mitigated if devs refer to a third-party remote JavaScript file on the frontend page in the following way:\n\n><script src=\"https://example.com/example-framework.js\" integrity=\"sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pbOxEbzJr7\" crossorigin=\"anonymous\"></script>\n\nThe key point here is a nice security mechanism of HTML5: integrity attribute in tags (SRI mechanism). integrity supports SHA256, SHA384 and SHA512. If third-party JavaScript files do not meet the hash integrity check, the files will not be loaded. This can be a good way to prevent unintended code execution. However, utilizing this mechanism requires the target resource to support CORS response. For details, refer to the following:\n\n>https://developer.mozilla.org/zh-CN/docs/Web/Security/Subresource_Integrity\n\n**Communication Security**\n\nLet's focus on HTTPS security in this section. First, the target website must use HTTPS, and HTTP plaintext transmission should never be allowed. This is because HTTP plaintext transmission is too easy to be hijacked by man-in-the-middle attacks. Nowadays, HTTPS is very common as a secure transmission protocol. If there is a man-in-the-middle attack on HTTPS, and attackers have injected malicious JavaScript into the web application's front-end, a very obvious HTTPS certificate error alert will be displayed in the user's browser.\n\nLet's use the MyEtherWallet incident as an example to illustrate this point.\n\nMyEtherWallet used to be a very popular web application wallet, and up till now it's still very well known. However it's no longer just a web application wallet. As mentioned before, I strongly discourage the use of web application wallets due to security reasons. In addition to various issues in front-end security, HTTPS hijacking is also a big potential risk.\n\nOn April 24, 2018, there was a major security incident of HTTPS hijacking in MyEtherWallet. The recap of the incident can be found here:\n\n>https://www.reddit.com/r/MyEtherWallet/comments/8eloo9/official_statement_regarding_dns_spoofing_of/<br>\n>https://www.reddit.com/r/ethereum/comments/8ek86t/warning_myetherwalletcom_highjacked_on_google/\n\n![](res/myetherwallet_https_hijack.png)\n\nIn the attack, the hacker hijacked the DNS service (Google Public DNS) used by a large number of MyEtherWallet users via BGP, an ancient routing protocol, which directly led to the display of HTTPS error alerts in every user's browser when they tried to visit MyEtherWallet website. In fact, users should stop when they see this alert, as it basically indicates that the target web page has been hijacked. In reality however, many users just quickly ignored the alert and proceeded to continue with their interactions with the hijacked site, because they didn't understand the security risk behind the HTTPS error alert at all. \n\nSince the target web page had been hijacked and the hacker had injected malicious JavaScript in there, upon users' interaction, the hackers would have successfully stolen their plaintext private key and transferred away their funds (mostly ETH). \n\nThis is definitely a classic case where hackers used BGP hijacking techniques to steal crypto. It's just overkill. Ever after this there have been several similar cases, and I won't mention them in detail here. To the user there is only one thing that really needs attention: if you ever decide to use a web application wallet, or try to interact with a DApp, always make sure you stop and close the page whenever you see an HTTPS certificate error alert! And your funds will be fine. There is a cruel reality in security: when there is a risk, don't give users any choices. As if you do, there will always be users falling into the trap for whatever reasons. In fact, the project team needs to take up the responsibility. As of today, there are already very effective security solutions to the HTTPS hijacking issue mentioned above: the project team needs to properly configure HSTS. HSTS stands for HTTP Strict Transport Security; it is a web security policy mechanism supported by most modern browsers. If HSTS is enabled, in case of a HTTPS certificate error the browser will force users to stop accessing the target web applications and the restriction can't be bypassed. Now you get what I mean?\n\n**Human Nature Security**\n\nThis section is easy to understand. For example the project team is evil minded and acts in a dishonest way. I have mentioned some relevant contents in previous sections, so here I won't go into more details. More to be covered in later sections.\n\n**Financial Security**\n\nFinancial Security should be deeply respected. In DeFi, users pay utmost attention to token price and return. They want superior, or at least steady return on investment. In other words, as a user, I play the game to win and if I lose, at least I need to be convinced that it is a fair game. This is just human nature.\n\nFinancial security in DeFi is susceptible to attacks in the forms of:\n\n* Unfair launch practices such as pre-mining or pre-sale;\n* Crypto whale attack;\n* Pump and dump;\n* Black swan events, like sudden market waterfall, or let's say when one DeFi protocol is nested or interoperated with other DeFi/Tokens, its security/reliability will be highly depending on other protocols\n* Other technical attacks or what we refer to as scientific techniques such as front running, sandwich attack, flash loan attacks, etc\n\n**Compliance Requirements**\n\nCompliance requirement is a very big topic, the previously mentioned AML (Anti Money Laundering) is just one of the points. There are also aspects like KYC (Know Your Customer), sanctions, securities risks, etc. In fact for us users these are not something under our control. When we interact with a certain project, as it may be subject to relevant regulations in certain countries, our privacy information might be collected. You might not care about such privacy issues, but there are people who do. \n\nFor example, in early 2022 there was a small incident: some wallets decided to support Address Ownership Proof Protocol (AOPP) protocol:\n\nI took a look at the protocol design, it turned out that wallets supporting AOPP might leak user privacy. Regulators might get to know the interconnection between a regulated crypto exchange and an unknown external wallet address.\n\n>https://gitlab.com/aopp/address-ownership-proof-protocol\n\nNo wonder many privacy-oriented wallets are so concerned about user's feedback and quickly removed AOPP support from their products. But to be honest: The protocol design is quite interesting. I have noticed that some wallets have no plans to remove support for AOPP, such as EdgeWallet. Their opinion is that AOPP doesn't necessarily expose more user privacy, on the contrary it helps to enhance the circulation of cryptocurrency. In many regulated crypto exchanges, users are not allowed to withdraw to a particular external wallet address, before he can prove his ownership to it.\n\nAt first, the well-known hardware wallet Trezor refused to remove AOPP support. But later it was forced to compromise and did so due to pressures from the community and users on Twitter. \n\nAs you can see, it's such a small incident but to some people, privacy is really important. This is not to say that we should go against regulations, and totally ignore compliance requirements. As a matter of fact I do believe it's necessary to have a certain level of compromise to compliance requirements. We won't continue to deep dive into this topic, feel free to digest the contents in your own ways. \n\nSo far, we have covered the majority of content in the DeFi Security section. \n\nWhat's more, there are also security issues introduced by future additions or updates. We often say \"security posture is dynamic, not static\". For example nowadays most project teams do security audits and show clean security audit reports. If you ever read the good-quality reports carefully you will notice that these reports will clearly explain the scope, timeframe, and the unique identifier of the audited contents (e.g., the verified open source smart contract address, or the commit address on GitHub repo, or the hash of the target source code file). This is to say, the report is static, but if in a project you have observed any deviations from what is mentioned in the report, you can point it out.\n\n### NFT Security\n\nAll the previously mentioned contents on DeFi security can be applied to NFT security, and NFT itself has a few very specific and unique security topics, for example:\n\n* Metadata security\n* Signature security\n\nMetadata refers mainly to the embedded picture, motion pictures and other contents. It's recommended to refer to OpenSea on the specific standards:\n\n>https://docs.opensea.io/docs/metadata-standards\n\nThere are two main security concerns that may arise here:\n\n* One is that the URI where the image (or motion picture) is located might not be trustworthy. It can just be a randomly selected centralized service, on one hand there is no guarantee of availability, on the other hand the project team can modify the images at will, thus the NFT will no longer become an immutable \"digital collectible\". Generally it's recommended to use decentralized storage solutions such as IPFS, Arweave, and select a well-known URI gateway service.\n* Another is the potential for privacy leakage. A randomly selected URI service might capture user's basic information (such as IP, User-Agent, etc.).\n\nSigning security is another big concern here, and we will illustrate it below.\n\n### BE CAREFUL With Signing!\n\nSignature security is something that I want to mention specifically as there are SO MANY pitfalls and you should be careful all the time. There have been several incidents, especially on NFT trading. However, I have noticed that not too many people understand how to prepare for and deal with such security problems. The underlying reason is few people have ever made the problem clear enough.\n\nThe NO.1 and most important security principle in signature security is: **What you see is what you sign**. That is, the message in the signature request you received is what you should expect after signing. After you sign it, the result should be what you expected instead of something you would regret.\n\nSome details of signature security have been mentioned in the \"Cold Wallet\" section. If you can't recall, I would suggest you revisit that section. In this section, we will focus on other aspects.\n\nThere were several well-known NFT hacks on OpenSea around 2022. On Feb 20th, 2022, there was a major outbreak. The root causes are:\n\n* Users signed NFT listing requests on OpenSea.\n* Hackers phished to obtain relevant signatures from users.\n\nIt is actually not hard for hackers to obtain the relevant signature. The hacker needs to 1). construct the message to be signed, 2). hash it, 3). trick the target user to sign the request (this would be a blind signing, which means users don't actually know what they are signing), 4). get the signed content and construct the data. At this point, the user has been hacked.\n\nI will use Opensea as an example (in reality, it could be ANY NFT marketplace). After the target user authorizes the NFT listing operation in the marketplace, the hacker would construct the message to be signed. After hashing it with Keccak256, a signature request would pop up on the phishing page. Users would see something like the following:\n\n<img src=\"res/metamask_sign.jpg\" width=\"360\">\n\nLook closely. What kind of information can we get from this MetaMask popup window? Account Info and account balance, the source website where the signature request comes from, the message that users are about to sign and...nothing else. How could users suspect that the disaster is already on the way? And how could they realize that once they click the \"Sign\" button, their NFTs would be stolen.\n\nThis is actually an example of blind signing. Users are not required to sign within the NFT marketplace. Instead, users can be tricked into any phishing website to sign the message without fully understanding the actual meaning and consequence of these signatures. Unfortunately, hackers know. As a user, just keep in mind: NEVER BLIND SIGN ANYTHING. OpenSea used to have the blind signing problem, and they fixed it by adopting EIP-712 after Feb 20th 2022. However, without blind signing, users could still be careless and hacked in other ways.\n\nThe most essential reason why this is happening is that the signing isn't restricted to follow the browser's same-origin policy. You can simply understand it as: the same-origin policy can ensure that an action only happens under a specific domain and will not cross domains, unless the project team intentionally wants domain crossing to happen. If signing follows the same-origin policy, then even if the user signs a signature request generated by the non-target domain, hackers can't use the signature for attacks under the target domain. I will stop here before going into more details. I have noticed new proposals on security improvement at the protocol level, and I hope this situation can be improved as soon as possible.\n\nWe have mentioned most of the major attack formats that could occur when signing a message, but there are actually quite a few variants. No matter how different they look, they follow similar patterns. The best way to understand them is to reproduce an attack from beginning to end by yourselves, or even create some unique attack methods. For example, the signature request attack mentioned here actually contains a lot of details, such as how to construct the message to be signed, and what is generated exactly after signing. Are there any authorization methods other than \"Approve\" (yes, for example: increaseAllowance)? Well, it would be too technical if we expand here. The good thing is you should already understand the importance of signing a message.\n\nUsers can prevent such attacks at the source by canceling the authorization/approval. The following are some well-known tools that you could use.\n\n* Token Approvals\n    >https://etherscan.io/tokenapprovalchecker<br>\n    >This is the tool for authorization check and cancellation provided by Ethereum's official browser. Other EVM compatible blockchains have something similar as their blockchain browsers are basically developed by Etherscan. For example:<br>\n    >https://bscscan.com/tokenapprovalchecker<br>\n    >https://hecoinfo.com/tokenapprovalchecker<br>\n    >https://polygonscan.com/tokenapprovalchecker<br>\n    >https://snowtrace.io/tokenapprovalchecker<br>\n    >https://cronoscan.com/tokenapprovalchecker\n\n* Revoke.cash\n    >https://revoke.cash/<br>\n    >Super old school with good fame &Multi-chain Supporting with increasingly power\n\n* Rabby extension wallet\n    >https://rabby.io/<br>\n    >One of the wallets that we have collaborated with a lot. The number of EVM compatible blockchains where they provide \"authorization check and cancellation\" function is the most that I have ever seen\n\n:warning:**Note**: If you want a more comprehensive and in-depth understanding of SIGNATURE SECURITY, please check the extensions in the following repository additions as a reference:\n\n>https://github.com/evilcos/darkhandbook<br>\n>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) :)\n\n### Be CAREFUL With Counter-intuitive Signatures Requests!\n\nI would like to particularly mention another risk: **counter-intuitive risk**.\n\nWhat is counter-intuitive? For example, you are already very familiar with Ethereum, and have become an OG of all kinds of DeFi and NFTs. When you first enter the Solana ecosystem, you probably would encounter some similar phishing websites. You may feel so well prepared that you start to think \"I have seen these a thousand times in the Ethereum ecosystem and how could I get fooled?\"\n\nIn the meantime, hackers would be happy as you already got fooled. People follow their intuitive feelings which makes them careless. When there's a counter-intuitive attack, people would fall into the trap.\n\nOk, let's take a look at a real case that took advantage of counter-intuitiveness.\n\n<img src=\"res/solana_nft_phishing.jpg\" width=\"800\">\n\nFirst of all, a warning: Authorization phishing on Solana is way more cruel. The example above happened on March 5th, 2022. The attackers airdropped NFTs to users in batches (Figure 1). Users entered the target website through the link in the description of the airdropped NFT (www_officialsolanarares_net) and connected their wallets (Figure 2). After they clicked the \"Mint\" button on the page, the approval window popped up (Figure 3). Note that there was no special notification or message in the pop up window at this time. Once they approved, all SOLs in the wallet would be transferred away.\n\nWhen users click the \"Approve\" button, they are actually interacting with the malicious smart contracts deployed by the attackers:\n*3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8v*\n\nThe ultimate goal of this malicious smart contract is to initiate \"SOL Transfer\", which transfers almost all of the user's SOLs. From analysis of on-chain data, the phishing behavior continued for several days, and the number of victims kept increasing during the period of time.\n\nThere are two pitfalls from this example that you need to pay attention to:\n1. After the user approves, the malicious smart contract can transfer the user's native assets (SOL in this case). This is not possible on Ethereum. The authorization phishing on Ethereum can only affect other tokens but not the native asset of ETH. This is the counter-intuitive part that would make users lower vigilance.\n2. The most well-known wallet on Solana, Phantom, has loopholes in its security mechanism that it doesn't follow the \"what you see is what you sign\" principle (we haven't tested other wallets yet), and it doesn't provide enough risk warning to users. This could easily create security blind spots that cost users' coins.\n\n### Some Advanced Attacking Methodologies\n\nActually, there are many advanced attacking methodologies, but they are mostly regarded as phishing from the perspective of the public. However, some are not normal phishing attacks. For example:\n\n>https://twitter.com/Arthur_0x/status/1506167899437686784\n\nHackers sent a phishing e-mail with such an attachment:\n>A Huge Risk of Stablecoin (Protected).docx\n\nTo be honest, it is an attractive document. However, once opened user's computer will be implanted with a Trojan (generally through Office macro or 0day / 1day exploit), which usually contains the following functions:\n\n* Collecting all sorts of credentials, for example, browser related, or SSH related, etc. In this way, hackers can extend their access to other services of the target user. Therefore, after infection users are generally advised not only to clean up the target device, but also relevant account permissions as well.\n* Keylogger, in particular targeting those temporarily appearing sensitive information such as passwords.\n* Collecting relevant screenshots, sensitive files, etc.\n* If it is ransomware, all files in the target system would be strongly encrypted, and waiting for the victim to pay for the ransom, usually by bitcoin. But in this case it was not ransomware which has more obvious & noisy behavior and straightforward intentions.\n\nIn addition, Trojans targeting the crypto industry will be specially customized to collect sensitive information from well known wallets or exchanges, in order to steal user's funds. According to professional analysis, the above mentioned Trojan would conduct a targeted attack on Metamask:\n\n>https://securelist.com/the-bluenoroff-cryptocurrency-hunt-is-still-on/105488/\n\nThe Trojan will replace user's MetaMask with a fake one with back doors. \nA backdoored MetaMask basically means that any funds you store inside are no longer yours. Even if you are using a hardware wallet, this fake MetaMask will manage to steal your funds by manipulating the destination address or amount information. \n\nThis approach is specially crafted for well known targets with known wallet addresses. What I have noticed is that many such people are too arrogant to prevent themselves from getting hacked. After the hack, many would learn from the lesson, conduct full reviews, have significant improvements, and also form long term cooperation and friendship with trusted security professionals or agencies. However, there are always exceptions in this world. Some people or projects keep getting hacked again and again. If each time it is because of something no one has encountered before, I would highly respect them and call them pioneers. High chance they will be successful as time goes on. Unfortunately many of the incidents are the results of very stupid and repetitive mistakes that could be avoided easily. I would advise staying away from these projects. \n\nComparingly, those mass phishing attacks are not comprehensive at all. Attackers would prepare a bunch of similarly looking domain names and spread the payloads by buying accounts, followers, and retweets on Twitter or other social platforms. If managed well, many will fall into the trap. There is really nothing special in this kind of phishing attack, and normally the attacker will just brutally make the user authorize tokens (including NFT) in order to transfer them away.\n\nThere are other kinds of advanced attacks, for example using techniques like XSS, CSRF, Reverse Proxy to smoothen the attack process. I won't elaborate on all of them here, except one very special case (Cloudflare Man-in-the-Middle attack) which is one of the scenarios in Reverse Proxy. There have been real attacks that caused financial loss utilizing this extremely covert method. \n\nThe problem here is not Cloudflare itself being evil or getting hacked. Instead it's the project team's Cloudflare account that gets compromised. Generally the process is like this: If you use Cloudflare, you will notice this \"Worker\" module in the dashboard, whose official description is:\n\n>Building serverless applications and deploying them instantly around the world, achieving excellent performance, reliability and scale. For details, please refer to\n>https://developers.cloudflare.com/workers/\n\nI made a test page a long time ago:\n\n>https://xssor.io/s/x.html\n\nWhen you visit the page there will be a pop-up window saying:\n\n>xssor.io, Hijacked by Cloudflare.\n\nIn fact, this pop-up, and even the whole content of x.html, doesn't belong to the document itself. All of them are provided by Cloudflare. The mechanism is shown below:\n\n<img src=\"res/cloudflare_worker.png\" width=\"800\">\n\nThe indication of the code snippet in the screenshot is very simple: If I were the hacker and I have controlled your Cloudflare account, I can use Workers to inject arbitrary malicious script to any web page. And it's very difficult for the users to realize that the target web page has been hijacked and tampered with, as there will be no error alerts (such as HTTPS certificate error). Even the project team won't easily identify the problem without having to spend a huge amount of time checking the security of their servers and personnel. By the time they realise it is Cloudflare Workers, the loss could already be significant. \n\nCloudflare is actually a good tool. Many websites or web applications will use it as their web application firewall, anti DDoS solution, global CDN, reverse proxy, etc. Because there is a free version, they have a big customer base. Alternatively, there are services like Akaimai etc. \n\nUsers must pay attention to the security of such accounts. Account security issues arise with the rise of the Internet. It's such a common topic in the world that almost everyone is talking about it everywhere, but still many people are getting hacked because of it. Some root causes might be they don't use a unique strong password for important services (Password managers like 1Password aren't that popular anyway), some might be they don't bother to turn on 2 factor authentication (2FA), or maybe they don't even know of the thingy. Not to mention for some certain services, passwords should be reset at least annually.\n\nAll right, this will be the end of this section. You only need to understand that this is indeed a dark forest, and you should know about as many attacking methodologies as possible. After seeing enough on paper, if you have at least fallen into the traps once or twice, you can consider yourself as an amateur security professional (which will benefit you anyway). \n\n## Traditional Privacy Protection\n\nCongratulations, you've made it to this part. Traditional privacy protection is an old topic: \nHere's the article I wrote in 2014.\n\n>You've got to learn a few tricks to protect yourself in the age of privacy breaches.<br>\n>https://evilcos.me/yinsi.html\n\nRereading this article, although this was an entry level article in 2014, however, most of the advice in it is not outdated. After reading the article again, I'll introduce something new here: in fact, privacy protection is closely related to security. Traditional privacy is the cornerstone of security. This section includes your private keys are part of privacy. If the cornerstones are not secure, the privacy of the cornerstones is meaningless, then the superstructure will be as fragile as a building in the air.\n\nThe following two resources are highly recommended: \n\n>SURVEILLANCE SELF-DEFENSE<br>\n>TIPS, TOOLS AND HOW-TOS FOR SAFER ONLINE COMMUNICATIONS<br>\n>https://ssd.eff.org/\n\nSURVEILLANCE SELF-DEFENSE is short for SSD. Launched by the well-known Electronic Frontier Foundation (EFF), which has specially issued relevant guidelines to tell you how to avoid big brother watching you in the monitoring Internet world, of which including several useful tools (such as Tor, WhatsApp, Signal, PGP, etc).\n\n>Privacy Guide: Fight Surveillance with Encryption and Privacy Tools<br>\n>https://www.privacytools.io/\n\nThe above website is comprehensive listing a number of tools. It also recommends some cryptocurrency exchanges, wallets, etc. However, it should be noted that I don't use very many tools listed on the website, because I have my own way. Thus, you should also develop your own way, with comparing and improving continuously.\n\nHere are some highlights of the tools that I suggest you should use.\n\n### Operation System\n\nWindows 10 Edition (and higher) and macOS are both secure options. If you have the ability, you can choose Linux, such as Ubuntu, or even extremely security & privacy focused ones like Tails, or Whonix.\n\nOn the topic of Operating System, the most straightforward security principle is: pay close attention to system updates, and apply them asap when available. The capability to master the Operating System comes next. People might ask, what on earth do you need to learn in order to master an Operating System like Windows or MacOS? Isn't it just clicking around? Well it's actually far from being enough. For novice users, a good antivirus software, like Kaspersky, BitDefender, is a must, and they both are available on macOS. \n\nAnd then, don't forget about download security, which I mentioned before. You will have eliminated most of the risks, if you don't download and install programs recklessly. \n\nNext, think about what you are gonna do, if your computer got lost or stolen. Having a boot password is obviously not good enough. If disk encryption is not turned on, bad actors can just take out the harddisk and retrieve the data inside. Thus my advice is that disk encryption should be turned on for important computers.\n\n>https://docs.microsoft.com/en-us/windows/security/encryption-data-protection<br>\n>https://support.apple.com/en-us/HT204837\n\nWe also have powerful and legendary tools such as VeraCrypt (the former TrueCrypt), feel free to try it out if you are interested:\n\n>https://veracrypt.fr/\n\nYou can go one step further to enable BIOS or firmware password. I have done it myself but it's totally up to your own choice. Just remember: if you do, remember the password very clearly, or else no one can ever help you out. I am lucky enough to have fallen into the rabbit hole myself before, which cost me a laptop, some crypto, and a week's time. On the other hand, it's a very good learning experience too.\n\n### Mobile phone\n\nNowadays, iPhone and Android are the only two mainstream mobile phone categories. I used to be a big fan of BlackBerry, but its glory faded away with time. In the past, the security posture of Android phones worried me a lot. On one hand it was still in the early stage, on the other hand the versions were very fragmented, each brand would have its own forked Android version. But now things have improved a lot.\n\nOn mobile phones we also need to pay attention to security updates and download security. In addition, pay attention of the following points:\n\n* Do not jailbreak/root your phone, it's unnecessary unless you are doing relevant security research. If you are doing it for pirated software it really depends on how well you can master the skill.\n* Don't download apps from unofficial app stores.\n* Don't do it unless you know what you are doing. Not to mention there are even many fake apps in official app stores.\n* The prerequisite of utilising the official Cloud synchronization function, is that you have to make sure your account is secure, otherwise if the Cloud account gets compromised, so will the mobile phone.\n\nPersonally I rely more on the iPhone. And you will need at least two iCloud accounts: one China and one overseas. You will need them to install apps with different regional restrictions (which sounds pretty weird but welcome to the reality).\n\n### Network\n\nNetwork security issues used to be a pain in the ass, but there are already significant improvements in recent years, especially since the mass adoption of HTTPS Everywhere policy. \n\nIn case of an ongoing network hijacking (man-in-the-middle attack) attack, there will be corresponding system error alerts. But there are always exceptions, so when you have a choice use the more secure option. For example, don't connect to unfamiliar Wi-Fi networks unless the more popular & secure 4G/5G network is not available or not stable. \n\n### Browsers\n\nThe most popular browsers are Chrome and Firefox, in crypto fields some will use Brave too. These well known browsers have a strong team and there will be timely security updates. The topic of browser security is very broad. Here are some tips for you to be aware of:\n\n* Update as quickly as possible, don't take chances.\n* Don't use an extension if not necessary. If you do, make your decisions based on user's reviews, number of users, maintaining company, etc, and pay attention to the permission it asks for. Make sure you get the extension from your browser's official app store.\n* Multiple browsers can be used in parallel, and it is strongly recommended that you perform important operations in one browser, and use another browser for more routine, less important operations.\n* Here are some well-known privacy focused extensions (such as uBlock Origin, HTTPS Everywhere, ClearURLs, etc.), feel free to try them out.\n\nIn Firefox in particular, I will also use the legendary ancient extension NoScript, which had a proven record of fending off malicious JavaScript payloads. Nowadays browsers are becoming more and more secure as they add support for things like same-origin policy, CSP, Cookie security policy, HTTP security headers, extension security policy, etc. Thus the need of using a tool such as NoScript is becoming smaller and smaller, feel free to take a look if interested.\n\n### Password Manager\n\nIf you haven't used a password manager yet, either you don't know the convenience of using one, or you have your own strong memory palace. The risk of brain memory has also been mentioned before, one is that time will weaken or disrupt your memory; the other is that you may have an accident. In either case, I still recommend that you use a password manager to go with your brain memory, use a well-known one like 1Password, Bitwarden, etc.\n\nI don't need to cover this part too much, there are so many related tutorials online, it's easy to get started without even needing a tutorial.\n\nWhat I need to remind you here is:\n\n* Do not ever forget your master password, and keep your account information safe, otherwise everything will be lost.\n* Make sure your email is secure. If your email is compromised, it might not directly compromise the sensitive information in your password manager, but bad actors have the capability to destroy it.\n* I have verified the security of the tools I mentioned (such as 1Password), and have been closely watching the relevant security incidents, user reviews, news, etc. But I cannot guarantee that these tools are absolutely secure, and no black swan events are ever gonna happen in the future.\n \nOne thing I do appreciate is the introduction and description of 1Password's security page, for example.\n>https://1password.com/security/\n\nThis page has security design concepts, relevant privacy and security certificates, security design white papers, security audit reports, etc. This level of transparency and openness also facilitates the necessary validation in the industry. All project teams should learn from this. \n\nBitwarden goes one step further, as it is fully open source, including the server side, so anyone can validate, audit, and contribute. Now you see? The intention of 1Password and Bitwarden is very clear: \n\n>I am very secure and I am concerned about privacy. Not only do I say it myself, third party authorities say so as well. Feel free to audit me, and in order to make it easy for your audits, I spend a lot of effort to be open wherever possible. If what I do doesn't match what I say, it's easy to challenge me. And this is called Security Confidence.\n\n### Two-Factor Authentication\n\nSpeaking of your identity security on the Internet, the first layer relies on passwords, the second layer relies on two factor authentication, and the third layer relies on the risk control ability of the target project itself. I can't say that two factor authentication is a must-have. For example, if you are using a decentralized wallet, one layer of password is annoying enough (now they basically support biometric identification such as facial recognition or fingerprint to improve user experiences), no one wants to use the second factor. But in a centralized platform, you have to use 2FA. Anyone can access the centralized platform, and if your credentials get stolen, your account is breached and your funds will be lost. On the contrary, the password for your decentralized wallet is just a local authentication, even if the hacker gets the password, they still need to get access to the device where your wallet is located.\n\nNow you see the differences? Some well-known two-factor authentication (2FA) tools include: Google Authenticator, Microsoft Authenticator, etc. Of course, if you use a password manager (such as 1Password), it also comes with a 2FA module, which is very handy. Always remember to make backups, because losing 2FA can be a hassle.\n\nIn addition, two-factor authentication can also be a broader concept. For example, when an account identifier and a password are used to log in to the target platform, our account identifier is normally an email or mobile phone number. At this time, the mailbox or mobile phone number can be used as 2FA to receive a verification code. But the security level of this method is not as good. For example, if the mailbox is compromised or the SIM card gets hijacked, or the third-party service used for sending emails and text messages is hacked, then the verification code sent by the platform will also be revealed.\n\n### Scientific Internet Surfing\n\nFor policy reasons, let's not talk too much about this, just pick one of the well-known solutions. Things will be more under control if you can build your own solution. After all, our starting point is to surf the Internet scientifically and securely.\n\nIf you are not using a self-built solution, you can't fully rule out the possibility of a man-in-the-middle attack. As mentioned earlier, the Internet security situation is not as bad as it used to be, especially after the mass adoption of HTTPS Everywhere policy. However, some of the peace may be just the surface of the water, and there are already undercurrents beneath the surface that are not easily noticeable. To be honest, I don't really have a silver bullet for this. It's not easy to build your own solution, but it's definitely worth it. And if you can't, make sure you check using multiple sources and choose a reputable one that has been around for a long time.\n\n### Email\n\nEmail is the cornerstone of our web based identity. We use email to sign up for a lot of services. Almost all of the email services we use are free. It seems like air, and you don't think it would disappear. What if one day your Email service is gone, then all the other services that depend on it will be in a rather awkward situation. This extreme situation is really not impossible if there're wars, natural disasters, etc. Of course, if these extreme situations occur, Email will be less important to you than survival.\n\nWhen it comes to Email service providers, you should choose from tech giants, such as Gmail, Outlook, or QQ Email. It happens that my previous security researches cover this area. The security posture of these mailboxes is good enough. But still you have to be careful about Email phishing attacks. You don't need to deal with every single Email, especially the embedded links and attachments, where Trojans may be hidden.\n\nIf you come across a highly sophiscated attack on your Email service providers, you're on your own.\n\nBesides the email services of these tech giants, if you are very concerned about privacy, you can take a look at these two well-known privacy-friendly email services: ProtonMail and Tutanota. My suggestion is to separate these private-friendly mailboxes from daily usage, and only use them for services that requires special attention to privacy. You also need to regularly use your free Email services to prevent your accounts from being suspended due to long time inactivity. \n\n### SIM Card\n\nSIM card and mobile phone number are also very important basic identities in many cases, just like email. In recent years, the major operators in our country have done a very good job in the security protection of mobile phone numbers. For example, there are strict security protocols & verification processes for canceling and re-issuing SIM cards, and they all happen on site. On the topic of SIM card attacks, let me give you an example:\n\nIn 2019.5, someone's Coinbase account suffered a SIM Port Attack (SIM card transfer attack), and unfortunately lost more than 100,000 US dollars of cryptocurrency. The attack process is roughly as follows:\n\nThe attacker obtained the privacy information of the target user through social engineering and other methods, and tricked the Mobile phone operator to issue him a new SIM card, and then he easily took over the target user's Coinbase account through the same mobile phone number. The SIM has been transferred, which is very troublesome. It's very troublesome if your SIM card got transferred by the attacker, as nowadays, many of the online services use our mobile phone number as a direct authentication factor or 2FA. This is a very centralized authentication mechanism, and the mobile phone number becomes the weak point.\n\nFor detailed analysis, please refer to:\n>https://medium.com/coinmonks/the-most-expensive-lesson-of-my-life-details-of-sim-port-hack-35de11517124\n\nThe defence suggestion for this is actually simple: enable a well-known 2FA solution.\n\nThe SIM card has another risk: that is, if the phone is lost or stolen, it will be embarrassing that the bad guy can take out the SIM card and use it. Here is what I did: Enable the SIM card password (PIN code), so every time when I turn on my phone or use my SIM card in a new device, I need to enter the correct password. Please ask Google for detailed howtos. Here's the reminder from me: don't forget this password, otherwise it will be very troublesome.\n\n### GPG\n\nMany contents in this part have been mentioned in previous sections, and I would like to add more basic concepts here.: Sometimes you will encounter similar-looking names such as PGP, OpenPGP, and GPG. Simply distinguish them as follows:\n\n* PGP, short for Pretty Good Privacy, is a 30-year-old commercial encryption software now under the umbrella of Symantec.\n* OpenPGP is an encryption standard derived from PGP.\n* GPG, the full name is GnuPG, is an open source encryption software based on the OpenPGP standard.\n\nTheir cores are similar, and with GPG you are compatible with the others. Here I strongly recommend again: In security encryption, don't try to reinvent the wheel; GPG, if used in a correct way, can improve security level significantly!\n\n### Segregation\n\nThe core value behind the security principle of segregation, is the zero trust mindset. \nYou have to understand that no matter how strong we are, we will be hacked sooner or later, no matter if it's by external hackers, insiders or ourselves. When hacked, stop loss should be the first step. The ability to stop loss is ignored by many people, and that's why they get hacked again and again. The root cause is that there is no security design, especially straightforward methods such as segregation\n\nA good segregation practice can ensure that in case of security incidents, you only lose those directly related to the compromised target, without affecting other assets.\n\nFor example:\n* If your password security practice is good, when one of your accounts gets hacked, the same password will not compromise other accounts.\n* If your cryptocurrency is not stored under one set of mnemonic seeds, you will not lose everything if you ever step into a trap.\n* If your computer is infected, luckily this is just a computer used for casual activities, and there is nothing important in there. So you do not have to panic, as reinstalling the computer would solve most of the problems. If you are good at using virtual machines, things are even better, as you can just restore the snapshot. Good virtual machine tools are: VMware, Parallels.\n* To summarize, you can have at least two accounts, two tools, two devices, etc. It is not impossible to completely create an independent virtual identity after you are familiar with it.\n\nI mentioned a more extreme opinion before: privacy is not for us to protect, privacy should be controlled.\n\nThe reason for this viewpoint is that: in the current Internet environment, privacy has actually been leaked seriously. Fortunately, privacy-related regulations have become more and more widely adopted in recent years, and people are paying more and more attention. Everything is indeed going in the right direction. But before that, in any case, when you have mastered the knowledge points I have listed, you will be able to control your privacy with ease. On the Internet, if you are used to it, you may have several virtual identities that are almost independent of each other.\n\n## Security of Human Nature\n\nHuman is always at the highest and eternal risk. There's a quote from *The Three-Body Problem*: \"Weakness and ignorance are not barriers to survival, but arrogance is.\"\n\n* Don't be arrogant: If you think you're already strong, you're fine with yourself. Don't look down on the whole world. In particular, don't be overly proud and think you can challenge global hackers. There is no end to learning, and there are still many obstacles.\n* Don't be greedy: Greed is indeed the motivation to move forward in many cases, but think about it, why is such a good opportunity just reserved for you?\n* Don't be impulsive: impulsiveness is the devil which will lead you to traps. Rash action is gambling.\n\nThere are endless things in human nature to talk about and you can't be more careful. Please pay special attention to the following points, and see how bad actors take advantage of the weakness in human nature, utilizing various convenient platforms.\n\n### Telegram\n\nI've said before that Telegram is the biggest dark web. I have to say that people like Telegram for its security, stability, and open design features. But the open culture of Telegram also attracts bad guys: huge numbers of users, highly customisable functionality, easy enough to build all kinds of Bot services. Combining with cryptocurrency, the actual trading experiences are far beyond those dark web marketplaces in Tor. And there are too many fishes in it.\n\nNormally, the unique identifier of social media accounts is only something like a username, user id, but these can be completely cloned by the bad actors. Some social platforms have account validation mechanisms, such as adding a blue V icon or something. Public social media accounts can be validated through some indicators, such as the follower's number, the contents posted, interaction with fans, etc. The non-public social media accounts are a bit more difficult. It's nice to see that Telegram released the function of \"Which Groups we are in together\".\n\nWherever there are loopholes that can be exploited and the gains are considerable, a bunch of bad guys must be already there, that's human nature.\n\nAs a result, social media platforms are full of phishing traps. For example: In a group chat, someone who looks like the official customer service suddenly appeared and started a private chat (any2any private chat is the feature of Telegram, there is no need for friend request), and then out of the classic tactics of spam, fish will bite one after another.\n\nOr attackers might go one step further, and add you into another group. All participants buy you are fake, but to you it looks so realistic. We refer to this technique as Group Cloning in underground society.\n\nThese are just the basic methods of manipulating human nature, the advanced techniques will be combined with vulnerabilities and thus are more difficult to prevent.\n\n### Discord\n\nDiscord is a new and popular social platform/IM software raised in the past two years. The core function is community servers (not the concept of traditional server), as the official statement says:\n\nDiscord is a free voice, video, and text chat app that's used by tens of millions of people ages 13+ to talk and hang out with their communities and friends. \n\nPeople use Discord daily to talk about many things, ranging from art projects and family trips to homework and mental health support. It's a home for communities of any size, but it's most widely used by small and active groups of people who talk regularly.\n\nIt looks great but requires a quite strong security design standard. Discord has specific security rules and policies as:\n\n>https://discord.com/safety\n\nUnfortunately, most people will not bother to read it carefully. What's more, Discord won't always be able to illustrate certain core security issues clearly, because they will have to put on an attacker's hat which is not always feasible.\n\nFor instance:\n\nWith so many NFT thefts on Discord, what are the key attack methods? Before we figure this out, Discord security advice is useless.\n\nThe key reason behind many project Discord hacks is actually the Discord Token, which is the content of the authorization field in the HTTP request header. It has existed in Discord for a very long time. For hackers, if they can find a way to get this Discord Token, they can almost control all the privileges of the target Discord server. That is to say, if the target is an administrator, an account with administrative privileges or a Discord bot, the hackers can do anything they want to. For example by announcing a NFT phishing site, they make people think it's the official announcement, and fish will bite the hook.\n\nSome might ask, what if I add two-factor authentication (2FA) to my Discord account? Absolutely a good habit! But Discord Token has nothing to do with your account 2FA status. Once your account is breached, you should change your Discord password immediately to make the original Discord Token invalid.\n\nFor the question of how the hacker can get the Discord Token, we have figured out at least three major techniques, and we will try to explain it in detail in the future. For normal users, there are a lot that can be done, but the core points are: don't rush, don't be greedy, and verify from multiple sources.\n\n### \"Official\" phishing\n\nThe bad actors are good at taking advantage of role playing, especially the official role. For example we have mentioned the fake customer service method before. Besides that, in April 2022, many users of the well-known hardware wallet Trezor, received phishing emails from trezor.us, which is not the official Trezor domain trezor.io. There is a minor difference in the domain name suffix. What's more, the following domains were also spread via phishing emails.\n\n>https://suite.trẹzor.com\n\n<img src=\"res/trezor_phishing.jpg\" width=\"800\">\n\nThis domain name has a \"highlight spot\", look closely at the letter ẹ in it, and you can find that it is not the letter e. Confusing? It is actually Punycode, the standard description is as below:\n\n>A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)\n>is an internationalized domain name encoding that represents a limited set of characters in both Unicode and ASCII codes.\n\nIf someone decodes trẹzor, it looks like this: xn-trzor-o51b, which is the real domain name!\n\nHackers have been using Punycode for phishing for years. Back in 2018, some Binance users were compromised by the same trick.\n\nThese kinds of phishing sites can already make many people fall, not to mention those more advanced attacks such as official mailbox getting controlled, or mail forgery attacks caused by SPF configuration issues. As a result, the source of the email looks exactly the same as the official one.\n\nIf it is a rogue insider, the user can do nothing. Project teams should put a lot of effort into preventing insider threats. Insiders are the biggest Trojan horse, but they very often get neglected.\n\n### Web3 Privacy Issues\n\nWith the growing popularity of Web3, more and more interesting or boring projects appeared: like all kinds of Web3 infrastructures, social platforms, etc. Some of them have done massive data analysis and identified various behavioral portraits of the targets, not only on the blockchain side, but also on well-known Web2 platforms. Once the portrait comes out, the target is basically a transparent person. And the appearance of Web3 social platforms may also aggravate such privacy issues.\n\nThink about it, when you play around with all these Web3-related things, such as signature binding, on chain interactions, etc., are you giving away more of your privacy? Many might not agree, but as many pieces come together there will be a more accurate & comprehensive picture: which NFTs you like to collect, which communities you joined, which whitelists you're on, who you're connected with, which Web2 accounts you're bound to, what time periods you're active in, and so on. See, blockchain sometimes makes privacy worse. If you care about privacy, you will have to be careful with everything newly emerged and keep the good habit of segregating your identity.\n\nAt this point, if the private key is accidentally stolen, the loss is not as simple as just money, but all the carefully maintained Web3 rights and interests. We often say that the private key is the identity, and now you have a real ID problem.\n\nNever test human nature.\n\n# Blockchain Shenanigans\n\nBlockchain technology created a whole new industry. Whether you call it BlockFi, DeFi, cryptocurrency, virtual currency, digital currency, Web3, etc, the core of everything is still the blockchain. Most hype centered on financial activities, such as crypto assets, including non-fungible tokens (or NFT, digital collectible). \n\nBlockchain industry is highly dynamic and fascinating, but there are just too many ways to do evil. The special characteristics of blockchain give rise to some rather unique evils, including and not limited to crypto theft, cryptojacking, ransomware, dark web trading, C2 attack, money laundering, Ponzi schemes, gambling, etc. I made a mind map back in 2019 for reference.\n\n>https://github.com/slowmist/Knowledge-Base/blob/master/mindmaps/evil_blockchain.png\n\nMeanwhile, the SlowMist team has been maintaining and updating SlowMist Hacked - a growing database for blockchain-related hacking activities.\n\n>https://hacked.slowmist.io/\n\nThis handbook has introduced many security measures, and if you can apply them to your own security, then congratulations. I won't elaborate too much on the blockchain shenanigans. If you are interested, you can learn it on your own, which is definitely a good thing, especially since new scams and frauds are continuously evolving. The more you learn, the better you can defend yourself and make this industry better.\n\n# What to do If Your Computer Gets Infected\n\nSeveral hacker groups employ computer poisoning, often not through advanced zero-day techniques (like browser zero-days) but via social engineering induction. Examples include posing as investors, journalists, HR, etc., to trick users into installing fake conference software. Other methods involve impersonating \"Telegram Safeguard\" or requiring \"Cloudflare human verification\" to trick users into pasting malicious code locally.\n\nExamples of such tactics can be found here:\n> https://x.com/SlowMist_Team/status/1899713751625969997<br>\n> https://x.com/SlowMist_Team/status/1880520294496104827<br>\n> https://x.com/SlowMist_Team/status/1888879128172241000\n\nIf you fall victim to such an attack, adopting a cautious approach and avoiding putting yourself in a precarious position is recommended. You should take the following steps:\n\n1. If you have wallets in use on your computer (including private key/mnemonic phrase backup files), you should promptly and securely transfer the funds from them. Don't assume having a password is sufficient.\n2. Change the passwords and 2FA for important accounts on your computer, such as Telegram/X/email/exchange accounts etc. (including saved passwords/logged-in accounts in browsers), and check these accounts for unknown device logins. Do not rely on luck.\n3. Install reputable antivirus software such as AVG/Bitdefender/Kaspersky/Malwarebytes etc., and thoroughly scan your computer. Decide which one to use, ideally a paid version. If you are still concerned, consider purchasing two and using them alternately.\n4. If you are still worried, back up your important files etc., and then you can reset your computer... Afterward, return to the previous step (step 3) and scan your backup files with antivirus.\n\nIt's worth noting that these poisoning attacks target not only Windows but also Mac computers, and are sometimes compatible with parts of Linux.\n\n# What to do When You get hacked\n\nIt is only a matter of time before you eventually get hacked. So what to do then? I'll simply cut straight to the chase. The following steps are not necessarily in order; there are times when you have to go back and forth, but the general idea is this.\n\n## Stop Loss First\n\nStop loss is about limiting your loss. It can be broken down to at least two phases.\n\n* The Immediate Action Phase. Act immediately! If you see hackers are transferring your assets, think no more. Just hurry up and transfer the remaining assets to a safe place. If you have experience in front running trades, just grab and run. Depending on the type of asset, if you can freeze your assets on the blockchain, do it as soon as possible; if you can do on-chain analysis and find your assets are transferred into a centralized exchange, you can contact their risk control department.\n* The Post-Action Phase. Once the situation is stabilized, your focus should be on making sure there would not be secondary or tertiary attacks.\n\n## Protect The Scene\n\nWhen you find that something is wrong, stay calm and take a deep breath. Do remember to protect the scene. Here are a few suggestions:\n\n* If the accident happens on a computer, server or other devices connected to the Internet, disconnect the network immediately while keeping the devices on with power supply. Some people may claim that if it is a destructive virus, the local system files will be destroyed by the virus. They are right, however shutting down only helps if you can react faster than the virus...\n* Unless you are capable of handling this by yourself, waiting for security professionals to step in for analysis is always the better choice.\n\nThis is really important as we have encountered quite a few times that the scene was already in a mess by the time we stepped in to do the analysis. And there were even cases when key evidence (e.g. logs, virus files) appeared to have been cleaned up. Without a well-preserved crime scene, it can be extremely disruptive to the subsequent analysis and tracing.\n\n## Root Cause Analysis\n\nThe purpose of analyzing the cause is to understand the adversary and output the hacker's portrait. At this point, the incident report is very important, which is also called Post Mortem Report. Incident Report and Post Mortem Report refer to the same thing.\n\nWe have met so many people who came to us for help after their coins were stolen, and it was very difficult for many of them to clearly tell what happened. It's even harder for them to produce a clear incident report. But I think this can be practiced and it would be helpful by referring to examples. The following can be a good starting point:\n\n* Summary 1: Who was involved, when did this happen, what has happened, and how much was the total loss?\n* Summary 2: The wallet addresses related to the loss, the wallet address of the hacker, the type of the coin, the quantity of the coin. It could be much clearer with the help of just a single table.\n* Process description: This part is the most difficult. You will need to describe all aspects of the incident with all the details, which is useful to analyze various kinds of traces related to the hacker and eventually get the hacker portrait from them (including the motivation)\n\nWhen it comes to particular cases, the template will be much more complex. Sometimes human memory can also be unreliable, and there is even a deliberate concealment of key information which can lead to wasted time or delayed timing. So in practice, there would be a huge consumption and we need to use our experience to guide the work well. Finally we produce an incident report with the person or the team who lost the coins, and continue to keep this incident report updated.\n\n## Source Tracing\n\nAccording to Rocca's Law, where there is an invasion, there is a trail. If we investigate hard enough, we will always find some clues. The process of investigation is actually forensic analysis and source tracing. We will trace the sources according to the hacker portrait from the forensic analysis, and constantly enrich it, which is a dynamic and iterative process.\n\nSource tracing consists of two main parts:\n\n* On-chain intelligence: We analyze the asset activities of the wallet addresses, such as going into centralized exchanges, coin mixers, etc., monitor it and get alerts of new transfers.\n* Off-chain intelligence: this part covers the hacker's IP, device information, email address and more information from the correlation of these associated points, including behavioral information.\n\nThere is plenty of source tracing work based on this information, and it would even require the involvement of law enforcement.\n\n## Conclusion of Cases\n\nOf course we all want a happy ending, and here are some examples of publicly-disclosed events that we have involved which have good results:\n\n* Lendf.Me, Worth of $25 million\n* SIL Finance, Worth of $12.15 million\n* Poly Network, Worth of $610 million\n\nWe have experienced many other unpublished cases that ended in good or okay results. However most of them had bad endings, which is quite unfortunate. We've gained a lot of valuable experiences in these processes and we hope to raise the ratio of good endings in the future.\n\nThis part is briefly mentioned as above. There is a huge amount of knowledge related to this area and I'm not quite familiar with some of it. Thus, I'm not going to give a detailed explanation here. Depending on the scenario, the abilities we need to master are:\n\n* Smart Contract Security Analysis and Forensics\n* Analysis and forensics of on-chain fund transfers\n* Web Security Analysis and Forensics\n* Linux Server Security Analysis and Forensics\n* Windows Security Analysis and Forensics\n* macOS Security Analysis and Forensics\n* Mobile Security Analysis and Forensics\n* Malicious code analysis and forensics\n* Security analysis and forensics of network devices or platforms\n* Insider security analysis and forensics\n* ...\n\nIt covers almost every aspect of security and so does this handbook. However, those security points are only briefly mentioned here as an Introductory guide.\n\n# Misconception\n\nFrom the very beginning, this handbook tells you to stay skeptical! This includes everything mentioned in here. This is an extremely vibrant and promising industry, full of all kinds of traps and chaos. Here let's take a look at some of the misconceptions, which, if taken for granted as truth, can easily make you fall into the traps and become part of the chaos itself.\n\n## Code Is Law\n\nCode is law. However, when a project (especially smart contract related ones) gets hacked or rugged, no single victim would ever wish for \"Code Is Law\", and it turns out they still need to rely on the law in the real world.\n\n## Not Your Keys, Not Your Coins\n\nIf you don't own your keys, you don't own your coins. As a matter of fact, many users failed to properly manage their own private keys. Due to various security mispractices they even lose their crypto assets. Sometimes you will find that it's actually more secure to put your crypto asset in big and reputable platforms.\n\n## In Blockchain We Trust\n\nWe trust it because it's blockchain. In fact, blockchain itself does have the capability to solve many of the fundamental trust issues, since it's tamper-proof, censorship-resistant, etc; if my asset and related activities are on chain, I can trust by default that no one else will be able to take away my asset or tamper with my activity without authorization. However the reality is often harsh, firstly not every blockchain is able to achieve these fundamental points, and secondly human nature always becomes the weakest link. Many of the hacking techniques nowadays are beyond the imagination of most of us. Though we always say that attack and defense is the balance between cost and impact, when you don't own a big asset no hacker will waste time targeting you. But when there are multiple targets like yourself, it will be very profitable for the hackers to launch the attack. \n\nMy security advice is very simple: Distrust by default (that is, question everything by default), and conduct continuous verification. Verify is the key security action here, and continuous verification basically means that security is never in a static state, it's secure now doesn't mean it's secure tomorrow. The capability to properly verify is hereby the biggest challenge for us all, but it's quite interesting, as you will get to master a lot of knowledge in the process. When you are strong enough, no one can easily harm you. \n\n## Cryptographic Security is Security\n\nCryptography is powerful and important. Without all the hard work of cryptographers, all the solid cryptographic algorithms & engineering implementations, there will be no modern communications technology, Internet, or blockchain technology. However, some individuals consider cryptographic security as absolute security. And thus a bunch of weird questions arise: \n\nIsn't blockchain so secure, that it took trillions of years to break a private key? How come the FBI could decrypt Dark Web Bitcoin? Why on earth could Jay Chou's NFT get stolen?\n\nI can bear with these novice questions... what I can't bear with is the fact that many so-called security professionals use cryptographic security concepts to fool the public, they are mentioning terms such as military-grade encryption, world's best encryption, cosmic-level encryption, absolute system security, unhackability, etc. \n\nHackers? They don't give a shit...\n\n## Is it humiliating to be hacked?\n\nIt is true that getting hacked can bring mixed feelings, and there will be a sense of shame sometimes. But you need to understand that getting hacked is almost 100% guaranteed so there is nothing to be ashamed of. \n\nOnce getting hacked, it doesn't matter if you are only responsible for yourself. However, if you are responsible for many others, you have to be transparent and open when you are dealing with the incident. \n\nAlthough people may question or even accuse you of staging the hack by yourself, a transparent and open updated process will always bring good luck and understanding.\n\nThink of it this way: if your project isn't well-known, no one will hack you. The shame is not being hacked; the shame is your arrogance.\n\nFrom a probability point of view, getting hacked is a common phenomenon, normally, the majority of the security issues are just small problems, which could help your project grow. However, the severe problems still have to be avoided as much as possible.\n\n## Immediately Update\n\nFor many times this handbook suggests to pay attention to updating. If there is a security update available, apply it immediately. Now think carefully, is this a silver bullet?\n\nActually, in most cases, \"update now\" is the right thing to do. However, there have been times in history when an update solves one problem but introduces another. An example is iPhone and Google Authenticator:\n\nThere is a risk of the new iOS 15 update, that is, the information in Google Authenticator may be wiped or doubled after the iPhone upgrade. In this case, never delete the duplicate entries if you find that they are doubled, as it may cause the loss of all the information in Google Authenticator after reopening.\n\nFor those who have not upgraded to the iOS 15 system and are using Google Authenticator, it is highly recommended to back it up before upgrading.\n\nLater, Google has updated the Authenticator app, solving this problem permanently.\n\nBesides, I don't recommend updating wallets frequently, especially for asset-heavy wallets, unless there is a major security patch, or a very important feature that leads to an inevitable update. in which cases you will have to do your own risk assessment and make your own decision.\n\n# Conclusion\n\nRecall that this handbook starts with this diagram :)\n\n![](res/web3_hacking_map.jpg)\n\nHave you noticed that I have marked in red the person in the diagram?, I do so to remind everybody again that humans are the foundation of all (referred to as \"anthropic principle\" in cosmology). No matter if it's human nature security, or the ability to master security skills, it all depends on you. Yes, when you are strong enough, no one can easily harm you. \n\nI started to expand based on the diagram, and explained many security key points in the three processes, creating wallet, backing up wallet and using wallet. Then I introduced traditional privacy protection. I stated that such traditional ones are the cornerstones and the building blocks for us to stay secure in blockchain ecosystems. The human nature security part cannot be overdressed. It's good to understand more about the various ways of doing evil, especially if you step into a few pits, the security awareness on paper may eventually become your security experience. There is no absolute security, so I explained what to do when you get hacked. I don't want an unfortunate event to happen to you, but in case it happens, I hope this handbook could help you. The last thing is to talk about some misconceptions. My intention is very simple, I hope you can build up your own critical thinking, because the world is both beautiful and terrible. \n\nI have not written so many words for a long time. I think the last time was 10 years ago when I wrote the book \"*Web 前端黑客技术揭秘*\". It was quite bittersweet. After many years in web security as well as cybersecurity, I led a team to create ZoomEye, a cyberspace search engine. Within cybersecurity, I have dabbled in many fields, only a few of which I can say that I am skilled at. \n\nNow in blockchain security, SlowMist and I are considered to be pioneers. There are so many cases we have encountered in these years that you can almost think we are in a state of trance every single day. It's a pity that many insights are not recorded and shared. And as a result, at the urging of several friends, this handbook was born. \n\nWhen you have finished reading this handbook, you must practice, become proficient and draw inferences. When you have your own discovery or experience afterwards, I hope you will contribute. If you feel there is sensitive information you can mask it out, or anonymise the information.\n\nFinally, thanks to the global maturity of security and privacy-related legislation and enforcement; thanks to the efforts of all the pioneering cryptographers, engineers, ethical hackers and all those involved in the creation of a better world, which includes Satoshi Nakamoto.\n\n# Appendix\n\n## Security rules and principles\n\nThe security rules and principles mentioned in this handbook are summarized as follows. Quite a few rules are being incorporated into the above text and will not be specifically refined here.\n\nTwo major security rules:\n\n* **Zero trust**. To make it simple, stay skeptical, and always stay so.\n* **Continuous validation**. In order to trust something, you have to validate what you doubt, and make validating a habit.\n\nSecurity principles:\n\n* For all the knowledge from the Internet, refer to at least two sources, corroborate each other, and always stay skeptical.\n* Segregate. Don't put all the eggs in one basket.\n* For wallets with important assets, don't do unnecessary updates.\n* What you see is what you sign. You need to be aware of what you are signing, and of the expected result after the signed transaction is sent out. Don't do things that will make you regret afterwards.\n* Pay attention to system security updates. Apply them as soon as they are available.\n* Don't download & install programs recklessly can actually prevent most risks.\n\n## Contributors\n\nThanks to all the contributors, this list will continue to be updated. If you have any ideas, please contact:\n\n>Cos, Twitter ([@evilcos](https://twitter.com/evilcos)), Jike App (@余弦.jpg)\n\nContributors:\n```\nMy wife\nSlowMist, Twitter (@SlowMist_Team), e.g. Pds | Johan | Kong | Kirk | Thinking | Blue | Lisa | Keywolf...\nEnglish translator, e.g. Alphatu | C. | CJ | JZ | Lovepeace | Neethan | pseudoyu | SassyPanda | ss |\nJapanese translator, e.g. Jack Jia | Mia\nKorean translator, e.g. Sharon | Jeongmin\nArabic translator, e.g. Ahmed Alsayadi | Gabr Alsayadi\nIndonesian translator, e.g. Finball\nJike App\nSome Anonymous friends...\nMore info: https://darkhandbook.io/contributors.html\n```\n\n**As long as there is help that is adopted and included in this handbook, such as: providing specific defense suggestions and cases; translation work; correction of major errors, etc.**\n\n## The Tools\n\nThis handbook, commonly referred to as the \"Dark Handbook,\" has been available for over two years, and I'm delighted to observe its helpful impact on many individuals. Its influence continues to expand, with a growing number of supporters advocating for updates. Typically, these updates to the Dark Handbook primarily consist of [expanded readings](https://github.com/evilcos/darkhandbook). The challenge with these extended readings is that they are technically complex and not very accessible for beginners. Additionally, I recognize that not everyone is keen to invest substantial time in mastering the nuances of blockchain security. Originally, this section aimed to recommend some beginner-friendly tools, such as wallets, security extensions, and scripting tools. However, after much deliberation, I have decided against endorsing specific products due to the swift pace of change within the industry. Although this manual has highlighted several reliable tools, it's uncertain whether they will remain effective or relevant in the future. Given my responsibility towards all readers, I must admit, I'm not sure.\n\nAs I've stated previously, when recommending a tool, I strive to describe it as objectively and neutrally as possible. Additionally, for enhanced security, every reader should bear in mind the following:\n\n　* Absolute security does not exist. Adopting a zero-trust approach with continuous verification is essential in navigating this complex landscape. Should any of these tools develop a bug, encounter a security issue, or, in a worse scenario, include a backdoor in a new update, the risk is yours to manage. I encourage you to think independently and critically before using these tools. \n\n　* My research skills are well-honed, and I have a broad network, so rest assured that I will recommend quality tools when it seems appropriate. There is no need to rush; if a tool proves reliable and earns widespread trust, I will naturally endorse it.\n \n　* Everyone has their unique approach, and this is mine.\n \n　* Stay away from the influence of coin prices.\n \n　* Trust is hard to build, but it can collapse in an instant, so please cherish it.\n\nAlthough I do not make any specific tool recommendations in this section, I would like to share a valuable mindset: the firewall mindset. The previously emphasized concepts of \"zero trust\" and \"continuous verification\" are actually part of this firewall thinking.\n\nFor example, in the use of wallets, signing is a major area of concern for fund security, with various sophisticated phishing methods related to signing, such as:\n\n- The exploitation of native signing with eth_sign/personal_sign/eth_signTypedData_*, where eth_sign has been increasingly blocked by wallets.\n- The exploitation of authorization functions like approve/permit for Tokens/NFTs.\n- The utilization of powerful functions like Uniswap’s swapExactTokensForTokens/permit2.\n- The exploitation of protocol functions from OpenSea/Blur and others (which are very diverse).\n- The exploitation of TX data 4byte, such as for Claim Rewards/Security Update.\n- Using Create2 to pre-create funding receiving addresses, bypassing related checks.\n- A single signature on Solana phishing away all assets in a target wallet address.\n- Bitcoin inscription for one-click mass phishing, utilizing the UTXO mechanism.\n- Switching phishing across various EVM chains/Solana/Tron, etc.\n\nIf your wallet, when prompting for signature confirmation, sends out the signature right after a single click—whether due to FOMO or a shaky hand—then this method of using the wallet does not embody the firewall mindset. A better practice is to require at least two clicks; each additional click adds a layer of security (of course, not too many layers, as people can become desensitized...). For example, I use browser extension wallets like Rabby, MetaMask, and OKX Wallet, and except for test wallets, I always pair these with a hardware wallet (preferably one with a larger screen to easily review the content about to be signed).\n\nAt this point, the extension wallet’s signature confirmation popup will perform the first layer of security analysis, such as identifying phishing sites, risky wallet addresses, what-you-see-is-what-you-sign, and high-risk signature recognition. These are crucial for user interaction security. The hardware wallet provides a second layer of security analysis. If you then add a browser wallet security extension like Scam Sniffer, Wallet Guard, or Pocket Universe, you add another layer to your firewall. However, it’s essential to remember, even if there are no risk alerts for the action you are undertaking, you must still be vigilant and recognize that ultimately, you are your own last line of defense...\n\nOnce accustomed to the firewall mindset, the impact on efficiency is minimal, but the sense of security is greatly enhanced. Let’s generalize this approach to other scenarios.\n\nThat’s all. Thank you!\n\n## Official Sites\n```\nSlowMist https://www.slowmist.com\nCoinMarketCap https://coinmarketcap.com/\nSparrow Wallet https://sparrowwallet.com/\nMetaMask https://metamask.io/\nimToken https://token.im/\nTrust Wallet https://trustwallet.com/\nTokenPocket https://www.tokenpocket.pro/\nGnosis Safe https://gnosis-safe.io/\nZenGo https://zengo.com/\nFireblocks https://www.fireblocks.com/\nSafeheron https://www.safeheron.com/\nKeystone https://keyst.one/\nTrezor https://trezor.io/\nOneKey https://onekey.so/\nimKey https://imkey.im/\nRabby https://rabby.io/\nOKX Wallet https://www.okx.com/web3\nEdgeWallet https://edge.app/\nMyEtherWallet https://www.myetherwallet.com/\nPhantom https://phantom.app/\nTornado Cash https://tornado.cash/\nBinance https://www.binance.com/\nCoinbase https://coinbase.com\nCompound https://compound.finance/\nSushiSwap https://www.sushi.com/\nOpenSea https://opensea.io/\nRevoke.cash https://revoke.cash/\nScam Sniffer https://www.scamsniffer.io/\nWallet Guard https://www.walletguard.app/\nPocket Universe https://www.pocketuniverse.app/\n\nJike App https://okjike.com/\nAVG https://www.avg.com/\nBitdefender https://www.bitdefender.com/\nKaspersky https://www.kaspersky.com.cn/\nMalwarebytes https://www.malwarebytes.com/\nCloudflare https://www.cloudflare.com/\nAkamai https://www.akamai.com/\nSURVEILLANCE SELF-DEFENSE https://ssd.eff.org/\nPrivacy Guide https://www.privacytools.io/\nOpenPGP https://www.openpgp.org/\nGPG https://gnupg.org/\nGPG Suite https://gpgtools.org/\nGpg4win https://www.gpg4win.org/\n1Password https://1password.com/\nBitwarden https://bitwarden.com/\nGoogle Authenticator https://support.google.com/accounts/answer/1066447\nMicrosoft Authenticator https://www.microsoft.com/en-us/security/mobile-authenticator-app\nProtonMail https://protonmail.com/\nTutanota https://tutanota.com/\nVMware Workstation https://www.vmware.com/products/workstation-pro.html\nParallels https://www.parallels.com/\n```\n"
  },
  {
    "path": "README_AR.md",
    "content": "دليل النجاة في الغابة المظلمة للبلوكتشين<br>\n*حط بهذه الأمور، لتتحكم في أمن عملاتك المشفرة.<br>*\n\n:fire:الموقع إلكتروني: https://darkhandbook.io/<br>\n:cn:中文版：[《区块链黑暗森林自救手册》](README_CN.md)<br>\n:us:English: [Blockchain dark forest selfguard handbook](README.md)<br>\n:jp:日本語版：[ブロックチェーンのダークフォレストにおける自己防衛のためのハンドブック](README_JP.md)<br>\n:kr:한국어 버전: [블록체인 다크 포레스트 셀프가드 핸드북](README_KR.md)<br>\n:indonesia:Versi Indonesia: [Buku Panduan menjaga diri didalam \"dark forest\"](README_ID.md)<br>\n\nالمؤلف: Cos@SlowMist Team<br>\nمعلومات التواصل: تويتر ([@evilcos](https://twitter.com/evilcos))، تطبيق Jike (@余弦.jpg)\n\nالمترجمين: \n>[Ahmed Alsayadi](https://x.com/alsayadii) | [Gabr Alsayadi](https://github.com/JabrAlsayadi)\n\n![alt this](res/this.png)\n\n:anchor:**جدول المحتويات**\n- [مقدمة](#مقدمة)\n- [الصورة](#الصورة)\n  - [إنشاء المحفظة](#إنشاء-المحفظة)\n    - [تنزيل](#تنزيل)\n    - [الكلمات المفتاحية Mnemonic Phrase](#الكلمات-المفتاحية-mnemonic-phrase)\n    - [الـ «كيلِس» (Keyless)](#الـ-كيلِس-keyless)\n  - [النسخة الاحتياطية للمحفظة](#النسخة-الاحتياطية-للمحفظة)\n    - [انواع الكلمات المفتاحية / المفاتيح الخاصة](#انواع-الكلمات-المفتاحية--المفاتيح-الخاصة)\n    - [تشفير](#تشفير)\n  - [استخدام المحفظة](#استخدام-المحفظة)\n    - [مكافحة غسل الأموال](#مكافحة-غسل-الأموال)\n    - [المحافظ الباردة](#المحافظ-الباردة)\n    - [المحافظ الساخنة](#المحافظ-الساخنة)\n    - [ماهو أمان التمويل اللامركزي الـ «ديفاي» (DeFi)؟](#ماهو-أمان-التمويل-اللامركزي-الـ-ديفاي-defi)\n    - [أمان الرموز غير القابلة للاستبدال الـ NFT](#أمان-الرموز-غير-القابلة-للاستبدال-الـ-nft)\n    - [احذر التوقيع!](#احذر-التوقيع)\n    - [احذر من التوقيعات غير البديهية!](#احذر-من-التوقيعات-غير-البديهية)\n    - [بعض طرق الهجوم المتقدمة](#بعض-طرق-الهجوم-المتقدمة)\n  - [حماية الخصوصية التقليدية](#حماية-الخصوصية-التقليدية)\n    - [أنظمة التشغيل](#أنظمة-التشغيل)\n    - [الهواتف المحمولة](#الهواتف-المحمولة)\n    - [الشبكات](#الشبكات)\n    - [المتصفحات](#المتصفحات)\n    - [مدير كلمات المرور](#مدير-كلمات-المرور)\n    - [المصادقة الثنائية](#المصادقة-الثنائية)\n    - [التصفح العلمي للإنترنت الـ VPN](#التصفح-العلمي-للإنترنت-الـ-vpn)\n    - [البريد الإلكتروني](#البريد-الإلكتروني)\n    - [بطاقة الـ «سيم» (SIM)](#بطاقة-الـ-سيم-sim)\n    - [الـ «جي بي جي» (GPG)](#الـ-جي-بي-جي-gpg)\n    - [بيئة العزل](#بيئة-العزل)\n  - [الأمان الإنساني](#الأمان-الإنساني)\n    - [تلجرام](#تلجرام)\n    - [«ديسكورد» (Discord)](#ديسكورد-discord)\n    - [التصيد الاحتيالي «الرسمي»](#التصيد-الاحتيالي-الرسمي)\n    - [مشاكل الخصوصية في «ويب 3» (Web3)](#مشاكل-الخصوصية-في-ويب-3-web3)\n- [طرق سوء استخدام تقنية سلسلة الكتل](#طرق-سوء-استخدام-تقنية-سلسلة-الكتل)\n- [كيف تتصرف إذا تعرض جهازك للاختراق؟](#كيف-تتصرف-إذا-تعرض-جهازك-للاختراق)\n- [ماذا تفعل إذا تعرضت للسرقة](#ماذا-تفعل-إذا-تعرضت-للسرقة)\n  - [إيقاف الخسائر أولاً](#إيقاف-الخسائر-أولاً)\n  - [حماية موقع الحادث](#حماية-موقع-الحادث)\n  - [تحليل الأسباب](#تحليل-الأسباب)\n  - [تتبع المصادر](#تتبع-المصادر)\n  - [إغلاق القضية](#إغلاق-القضية)\n- [المفاهيم الخاطئة](#المفاهيم-الخاطئة)\n  - [الكود هو القانون](#الكود-هو-القانون)\n  - [ليست مفاتيحك، ليست عملاتك](#ليست-مفاتيحك،-ليست-عملاتك)\n  - [نثق في تقنية سلسلة الكتل](#نثق-في-تقنية-سلسلة-الكتل)\n  - [الأمان في التشفير هو الأمان بحد ذاته](#الأمان-في-التشفير-هو-الأمان-بحد-ذاته)\n  - [التعرض للاختراق يمكن أن يكون محرجًا للغاية](#التعرض-للاختراق-يمكن-أن-يكون-محرجًا-للغاية)\n  - [التحديث الفوري](#التحديث-الفوري)\n- [الملخص](#الملخص)\n- [المرفقات](#المرفقات)\n  - [قواعد ومبادئ السلامة](#قواعد-ومبادئ-السلامة)\n  - [المساهمون](#المساهمون)\n  - [الأدوات](#الأدوات)\n  - [قائمة المواقع الرسمية](#قائمة-المواقع-الرسمية)\n\n# مقدمة\n\nأولاً، يجب أن أهنئك على قراءة هذا الدليل. لا أعرف من أنت، ولكن إذا كنت تمتلك عملات مشفرة أو مهتم بهذا العالم وقد تمتلك عملات مشفرة في المستقبل، فإن هذا الدليل يستحق أن تقرأه مرارًا وتنفذه بعناية.\n \nثانيًا، يجب أن تكون مستعدًا نفسيًا لأن قراءة هذا الدليل تتطلب خلفية معرفية. سأحاول مراعاة المبتدئين، لكن سيكون صعبًا. أتمنى ألا يخشى المبتدئون الحواجز المعرفية، لأن الكثير منها يمكن اكتسابه عن طريق «التجربة». إذا واجهت نقاط معرفية غير مفهومة وتحتاج إلى توسيع معرفتك، أقترح عليك استخدام محركات البحث بشكل جيد. وأوصي بشدة بأن تتبنى مبدأ أمنيًا: عند الحصول على المعرفة من الإنترنت، اعتمد دائمًا على اكثر من مصدر على الأقل للمعلومات للتحقق والتأكد من صحتها، واحرص على الحفاظ على الشك دائمًا.\n\nنعم، حافظ على الشك دائمًا! بما في ذلك أي نقطة مذكورة في هذا الدليل. :)\n \nسلسلة الكتل هو اختراع عظيم، فقد أحدث تغييرات في بعض علاقات الإنتاج، مما سمح بحل جزئي لمشكلة «الثقة». وهذا أمر نادر الحدوث، إذ يمكن تحقيق بعض جوانب الثقة بدون الحاجة إلى مركزية أو دور طرف ثالث. يمكن لسلسلة الكتل حل بعض جوانب الثقة بشكل جيد؛ فهي غير قابلة للتغيير، وتنفذ وفقًا للاتفاقيات، وتمنع التنصل. لكن الواقع قاسٍ، ففهم الناس لسلسلة الكتل يتضمن العديد من المفاهيم الخاطئة. هذه المفاهيم الخاطئة تسمح للمحتالين بالاستفادة بسهولة، حيث يمدون أيديهم السوداء إلى محافظ الناس بشكل متكرر، مما يتسبب في خسائر مالية كبيرة. وبالفعل أصبحت غابة مظلمة.\n\nفي عالم الغابة المظلمة على سلسلة الكتل، تذكر دائمًا هاتين القاعدتين الأمنيتين الرئيسيتين:\n\n1. **عدم الثقة**: ببساطة، يعني الحفاظ على الشك، وبالتحديد الحفاظ على الشك دائمًا.\n2. **التحقق المستمر**: إذا كنت تريد أن تثق، فيجب أن تكون لديك القدرة على التحقق من النقاط التي تشك فيها، وأن تجعل هذه القدرة عادة.\n\n*ملاحظة: في هذا الدليل، هناك قاعدتان أمنيّتان فقط، ويمكن اعتبار الباقي على أنهما مبادئ أمنية مستنتجة من هاتين القاعدتين.*\n\nهذا هو الجزء التمهيدي. الآن، سنبدأ من رسم توضيحي لدخول هذه الغابة المظلمة، لنرى ما هي المخاطر التي قد نواجهها وكيف يجب أن نتعامل معها.\n\n# الصورة\n\n![](res/web3_hacking_map.jpg)\n\nقبل التعمق في القراءة النص التالي، يمكنك أولاً إلقاء نظرة سريعة على هذا الرسم التوضيحي. هذا الرسم يتناول الأنشطة الرئيسية في هذا العالم (بغض النظر عن كيفية تسميتك له، سواء سلسلة الكتل أو العملات المشفرة أو «الويب 3»(Web3) ). يتضمن هذا الرسم ثلاث خطوات رئيسية من حيث العمليات: إنشاء المحفظة، نسخ الاحتياطي للمحفظة، واستخدام المحفظة.\n\nسنقوم بتحليل كل نقطة رئيسية تتعلق بهذه العمليات الثلاث.\n\n## إنشاء المحفظة\n\nأهم شيء في المحفظة هو المفتاح الخاص (أو الكلمات المفتاحية).\n\nالمفتاح الخاص كالتالي:\n\n>0xa164d4767469de4faf09793ceea07d5a2f5d3cef7f6a9658916c581829ff5584\n\nالكلمات المفتاحية كالتالي:\n\n>cruel weekend spike point innocent dizzy alien use evoke shed adjust wrong\n\n*ملاحظة: استخدامنا إيثريوم على سبيل المثال، يمكنك توسيع معرفتك حول الأساسيات المتعلقة بالمفتاح الخاص/الكلمات المفتاحية.*\n\nالمفتاح الخاص هو الهوية، إذا فقدت المفتاح الخاص أو سُرق منك، فإن هذه الهوية لم تعد لك. هناك العديد من تطبيقات المحافظ، والعديد منها معروف، لا اخطط ولا يمكنني تقديم مقدمة عن كل واحد منها. ومع ذلك، سأذكر بعض المحافظ المحددة في هذا الدليل، يرجى ملاحظة أن أي محفظة يتم ذكرها هنا هي محفظة أثق بها بشكل أساسي، لكنني لا أضمن عدم حدوث مشاكل أمنية أثناء استخدامها أو ظهور مخاطر أمنية غير متوقعة (لن أكرر هذه النقطة في الأقسام اللاحقة، لذا أرجو أن تذكروا القاعدتين الأمنيتين المذكورتين في المقدمة).\n\nمن حيث تصنيف التطبيقات، تشمل المحافظ الرئيسية: محافظ الكمبيوتر، محافظ إضافات المتصفح، محافظ الهاتف، أجهزة المحافظ، والمحافظ الويب. ومن حيث الاتصال بالإنترنت، يمكن تقسيمها إلى محافظ باردة ومحافظ ساخنة. عند دخول هذا العالم، يجب أن تفكر أولاً في الغرض من المحفظة التي ستمتلكها، لأن الغرض يحدد المحفظة التي ستستخدمها، وفي نفس الوقت يحدد كيفية تعاملك مع هذه المحفظة.\n\nبغض النظر عن المحفظة التي تختارها، هناك شيء واحد مؤكد: بعد قضاء وقت طويل في هذا العالم، لن تمتلك محفظة واحدة فقط.\n\nلذلك، يجب أن نتذكر هنا مبدأ أمني آخر: توفير العزل، أي عدم وضع كل البيض في سلة واحدة. بشكل عام، كلما زاد استخدام المحفظة، زاد خطر حدوث مشكلة. تذكر دائمًا: عند مواجهة شيء جديد، قم بإعداد محفظة منفصلة واستخدم مبلغًا صغيرًا للعب لفترة من الوقت. إلا إذا كنت مثلي، قد مررت بالكثير وفهمت العديد من الأمور. لكن، \"من يمشي كثيرًا على ضفاف النهر لا بد أن تبتل قدماه.\"\n\n### تنزيل\n\nهذه النقطة البسيطة في الواقع ليست بسيطة، والسبب:\n\n1. العديد من الأشخاص (فعلاً العديد من الأشخاص) لا يستطيعون العثور على الموقع الرسمي أو سوق التطبيقات الصحيح، فينتهي بهم الأمر بتثبيت محفظة مزيفة.\n2. الكثير من الأشخاص لا يعرفون كيفية التأكد مما إذا كان التطبيق الذي قاموا بتنزيله قد تم التلاعب به أم لا.\n\nوبهذا، فشلوا قبل أن يبدأوا. لم يتمكنوا حتى من دخول هذا العالم، وأصبحوا بدون أموال في محافظهم.\n\nبخصوص النقطة الأولى أعلاه، هناك بعض النصائح للعثور على الموقع الرسمي الصحيح، مثل:\n\n* استخدام «جوجل»(Google) (يجب الحذر من نتائج البحث التي تحتوي على إعلانات، فهي غير موثوقة).\n* المواقع المشهورة في المجال مثل «كوين مارت كاب»(CoinMarketCap).\n* سؤال الأشخاص الذين تثق بهم.\n\nحسنًا، يمكنك دمج المعلومات من النقاط المذكورة أعلاه والتحقق منها بشكل متبادل، فالحقيقة واحدة في النهاية :) تهانينا، لقد وجدت الموقع الرسمي الصحيح.\n\nبعد ذلك، تحتاج إلى تنزيل التطبيق وتثبيته. إذا كانت المحفظة على جهاز الكمبيوتر، قم بتنزيلها من الرابط المقدم على الموقع الرسمي، ولكن قبل التثبيت، يوصى بالتحقق مما إذا كان قد تم التلاعب بالملف. على الرغم من أن هذا الإجراء لا يمكنه منع التلاعب بالمصدر بشكل كامل (مثل تلاعب داخلي في الجهة الرسمية المالكة للمحفظة، اختراق داخلي، أو اختراق الموقع الرسمي وتغيير المعلومات ذات الصلة)، إلا أنه يمكنه منع بعض الحالات مثل: التلاعب الجزئي بالمصدر أو التلاعب عن طريق رجل في المنتصف.\n\nالتحقق مما إذا كان الملف قد تم التلاعب به هو في الواقع التحقق من سلامة الملف. هناك طريقتان شائعتان لهذا:\n\n* **التحقق من الهاش**: مثل «إم دي فايف»(MD5)و «شا 256»(SHA256). في معظم الحالات، يكفي استخدام «إم دي فايف»(MD5)، لكن هناك خطر ضئيل من حدوث تصادم في الهاش، لذلك يفضل في الصناعة استخدام «شا 256»(SHA256) لأنه كافٍ وآمن.\n* **التحقق من التوقيع باستخدام «جي بي جي»(GPG)**: وهو أيضًا شائع جدًا. أوصي بشدة بإتقان أدوات وأوامر وطرق «جي بي جي»(GPG). على الرغم من أنه قد يكون مجهدًا بعض الشيء للمبتدئين، إلا أنك بعد الاعتياد عليه ستستمتع باستخدامه، ثق بي.\n\nفي الواقع، هناك عدد قليل من المشاريع في هذه الصناعة التي تقوم بذلك، لذا عند العثور على مشروع يفعل ذلك، يكون حقًا ثمينًا وقيمًا للغاية. على سبيل المثال، محفظة بيتكوين «محفظة سبارو»(Sparrow Wallet)، توفر صفحة التنزيل الخاصة بها دليلًا واضحًا للتحقق من الإصدار (Verifying the Release) باستخدام الطريقتين المذكورتين، ويمكنك الرجوع إليها والتعلم منها مباشرة:\n\n>https://sparrowwallet.com/download/\n\nتتحدث هذه الصفحة عن أداتين لـ «جي بي جي»(GPG):\n\n* الـ «جي بي جي سويت»(GPG Suite)، تعمل على نظام «ماك او اس»(macOS).\n* الـ «جي بي جي فور وين»(Gpg4win)، تعمل على نظام «ويندوز»(Windows).\n\nإذا لاحظت، ستجد أن صفحات التنزيل الخاصة بهاتين الأداتين تحتوي في الواقع على تعليمات للتحقق من سلامة الملفات بطرق متعددة، ولكن للأسف، لا تشرح كيفية القيام بالتحقق خطوة بخطوة. ربما يعتقدون أنك ستكون ذكيًا بما يكفي للبحث عن المعرفة ذات الصلة بنفسك :)\n\n**إذا كانت محفظة إضافات المتصفح**، مثل «ميتا ماسك»(MetaMask) الشهيرة عالميًا، فإن الفرصة الوحيدة للتحقق هي النظر إلى عدد المستخدمين وتقييماتهم في صفحة تنزيل الإضافة، على سبيل المثال، لدى «ميتا ماسك»(MetaMask) في متجر متصفح «كروم»(Chrome) أكثر من عشرة ملايين مستخدم، ولديها أكثر من ألفي تقييم، على الرغم من أن التقييم النهائي ليس عاليًا. قد يقول البعض أن هذه الأرقام يمكن أن تكون مزيفة، لكن الأمر يتطلب مجهودًا كبيرًا لتزييف هذه الأعداد الكبيرة، فلا يمكن خداع الجميع.\n\n**إذا كانت محفظة للهاتف**، فإن طريقة الحكم مشابهة لمحفظة الإضافات. ولكان يجب ملاحظة أن متجر تطبيقات «إيفون»(iPhone) مقسم حسب المنطقة، والعملة المشفرة محظورة بشدة في عدد من الدول، مثل الصين. لذلك، إذا قمت بتنزيل محفظة من حساب متجر التطبيقات الصيني، فإن النصيحة الوحيدة هي: لا تستخدمها، فقط قم بتغيير حسابك إلى متجر التطبيقات الأمريكي لتنزيلها. بالإضافة إلى ذلك، يمكن أن يرشدك الموقع الرسمي الصحيح إلى موقع التنزيل الصحيح (مثل «محفظة تراست»(Trust Wallet)، «إي إم توكن»(imToken) ، «ون كي»(OneKey) المشهورات عالميًا، تأكد من أمان الموقع الرسمي، فإذا تم اختراق الموقع الرسمي، فإن المسؤولية الأمنية تصبح كبيرة).\n\n**إذا كانت أجهزة المحافظ**، ببساطة يمكن شراؤها من الموقع الرسمي، لا تشتري مباشرة من المتاجر الإلكترونية. بعد استلامها، تأكد من عدم وجود أي تلاعب. بالطبع، بعض التلاعب في تغليف الأجهزة قد يكون متقنًا، وليس من السهل اكتشافه. في هذه الحالة، أوصي بإنشاء المحفظة ثلاث مرات متتالية على الأقل، وتسجيل الكلمات المفتاحية وعناوين المحافظ، فقط للتأكد من عدم التكرار.\n\n**إذا كانت محفظة ويب**، فأنا لا أنصح باستخدام هذا النوع من المحافظ عبر الإنترنت، إلا إذا كنت مضطرًا. في هذه الحالة، تأكد من الموقع رسمي، وأنجز المهمة بسرعة، ولا تعتمد عليها بشكل عاطفي.\n\n### الكلمات المفتاحية Mnemonic Phrase\n\nبشكل عام، بعد إنشاء المحفظة، فإن المعلومات الأساسية التي نتعامل معها هي الكلمات المفتاحية (وليس المفتاح الخاص)، لأن الكلمات المفتاحية هي أسهل للتذكر بالنسبة للبشر. الكلمات المفتاحية تكون محددة بمعايير (مثل «بي أي بي 39»(BIP39) )، وهذا يضع متطلبات على الكلمات المفتاحية. عادةً ما تتكون الكلمات من 12 كلمة إنجليزية، ويمكن أن تكون أكثر (مضاعفات العدد 3)، لكنها لا تزيد عن 24 كلمة حتى لا تصبح معقدة للغاية وتفقد غرضها. إذا كانت أقل من 12 كلمة، فإن الأمان يكون غير كافٍ. الأعداد المقبولة هي 12، 15، 18، 21، و24. ومع ذلك، وفقًا للعادات الصناعية، فإن الأكثر شيوعًا هو 12 كلمة، لأنها كافية من حيث الأمان. بعض المحافظ التي تتميز بدرجة عالية من الأمان، مثل محفظة الأجهزة «ليجر»(Ledger)، تعتمد 24 كلمة كمعيار. بالإضافة إلى الكلمات الإنجليزية، يمكن أن تكون الكلمات المفتاحية بلغات أخرى، مثل الصينية أو اليابانية أو الكورية، وما إلى ذلك. ولكن لا يمكن أن تكون أي كلمات، هناك قائمة ثابتة تحتوي على 2048 كلمة. لمزيد من التفاصيل، راجع:\n\n>https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md\n\nعند إنشاء المحفظة، تكون الكلمات المفتاحية حساسة للغاية، لذا انتبه إلى عدم وجود أي أشخاص أو كاميرات أو أي شيء آخر يمكن أن يؤدي إلى التجسس. كما يجب عليك التأكد من أن الكلمات المفتاحية عشوائية بشكل كافٍ؛ عادةً تكون الكلمات المفتاحية التي تولدها المحافظ المعروفة عشوائية بما فيه الكفاية. ولكن، للتحوط من أي احتمالات غير متوقعة، من الأفضل أن تكون حذرًا. لا تستهين بهذه الإجراءات، فهي عادات أمان بسيطة، وإذا اعتمدتها، ثق بي، ستشعر بارتياح كبير. أخيرًا، في بعض الحالات، يمكنك التفكير في إنشاء المحفظة أثناء انقطاع الاتصال بالإنترنت، خصوصًا إذا كنت تنوي استخدام هذه المحفظة كمحفظة باردة. قطع الاتصال بالإنترنت في هذه الحالة يعتبر قمة الأمان.\n\n### الـ «كيلِس»(Keyless)\n\nالـ «كيلِس»(Keyless)، «يعني بدون مفتاح خاص». هنا نقسم «كيلِس»(Keyless) إلى سيناريوهين رئيسيين (هذا التقسيم ليس معترفًا به في الصناعة، ولكنه مجرد وسيلة لتسهيل الشرح):\n\n* **الـ «كَسْتوديَل»(Custodial)**: أي طريقة الوصاية: مثل البورصات المركزية والمحافظ المركزية، حيث يحتاج المستخدم فقط إلى تسجيل حساب ولا يمتلك المفتاح الخاص، وتعتمد الأمان بالكامل على هذه المنصات المركزية.\n* **الـ «نون-كَسْتوديَل»(Non-Custodial)**: أي طريقة عدم الوصاية: حيث يمتلك المستخدم السلطة المشابهة للمفتاح الخاص ولكنها ليست المفتاح الخاص بالعملات المشفرة مباشرة (أو الكلمات المفتاحية). على سبيل المثال، الاعتماد على المنصات السحابية الشهيرة لإدارة الأمان والمصادقة. في هذه الحالة، تصبح منصة السحابة الشهيرة هي النقطة الضعيفة في النظام. كما يمكن استخدام الحوسبة الآمنة متعددة الأطراف «إم بي سي»(MPC) لضمان عدم وجود نقطة فشل واحدة، وفي الوقت نفسه دمج الخدمات السحابية لتقديم أفضل تجربة للمستخدم.\n\nبالنسبة لي، استخدمت عدة طرق للـ«كيلِس»(Keyless). المنصات المركزية القوية وذات السمعة الجيدة توفر تجربة ممتازة، طالما أن السرقة لم تحدث بسبب خطأ المستخدم نفسه (مثل سرقة بيانات الحساب)، فإن هذه المنصات تقدم تعويضات. أما بالنسبة لحلول «كيلِس»(Keyless) المعتمدة على «إم بي سي»(MPC)، أرى أنها واعدة ويجب أن تنتشر بسرعة. جربت بعض الخيارات الجيدة مثل («زِنْغو»(ZenGo)، «فايربلوكس»(Fireblocks)، «سيفهيرون»(Safeheron)). وأرى أن الفوائد واضحة، سأذكر بعضها ببساطة:\n\n* ممارسات خوارزمية «إم بي سي»(MPC) في هذه سلسلة الكتل الشهيرة تصبح أكثر نضجًا، حيث يمكن تطبيقها مباشرة على المفاتيح الخاصة..\n* يمكن لحل واحد التعامل مع اختلافات متعددة في حلول التوقيع المتعدد بين مختلف سلسلة الكتل ، مما يجعله موحدًا من منظور المستخدم، وهو ما نطلق عليه \"التوقيع المتعدد الشامل\".\n* يضمن عدم ظهور المفتاح الخاص الحقيقي أبدًا، حيث يتم حل نقطة الفشل الواحدة من خلال الحوسبة المتعددة الأطراف.\n* بالاقتران مع السحابة «كلاود»(Cloud) (أو ما يسمى بـ «وِب 2»(Web2))، فإن «إم بي سي»(MPC) ليس فقط آمنًا بل يوفر تجربة سلسة.\n\nورغم الفوائد الواضحة، هناك أيضًا بعض العيوب، سأذكر بعضها ببساطة:\n\n* - تلبية المعايير المعترف بها في الصناعة والمفتوحة المصدر، ما زال النضج في هذا المجال غير كافٍ، ولا يزال هناك حاجة إلى المزيد من العمل.\n* - هناك كثير من الأشخاص يستخدمون فقط سلسلة إيثيريوم (أو سلسلة الكتل المعتمدة على «إي في إم»(EVM))، لذا فإن حلول التوقيع المتعدد بالعقود الذكية مثل «غنوسِس سيف»(Gnosis Safe) تعتبر كافية.\n\nأيًا كانت الطريقة التي تشعر بأنها آمنة ويمكن التحكم فيها وتوفر لك الراحة، فهي طريقة جيدة، فالأمر يعتمد على وجهات النظر.\n\nحسنًا، هذه هي النقاط الأساسية المتعلقة بأمان إنشاء المحافظ، وسيتم تقديم بعض المسائل الأمنية العامة في وقت لاحق، فلا داعي للقلق الآن :)\n\n## النسخة الاحتياطية للمحفظة\n\nلقد وقع العديد من الأشخاص المميزين في هذا الفخ، بما فيهم أنا. كثيرًا ما تحدث معي الأمور غير المتوقعة، وأقبلها بصدر رحب. لحسن الحظ، لم تكن هذه المحفظة ذات قيمة كبيرة، وفي النهاية، ساعدني زملائي في شركة «سلومِست»(SlowMist) في حل المشكلة. هذا هو الجانب المدهش، لم أقم بعمل نسخ احتياطي جيد، ووقعت في الفخ، لكنني تمكنت من الاستفادة من الموارد القوية لمساعدتي في حل المشكلة. لكني شعرت بالتوتر، وهو شعور طبيعي. بالتأكيد لا تحب الشعور بالتوتر، لذلك ركز على تعلم كيفية النسخ الاحتياطي للمحفظة بأمان.\n\n### انواع الكلمات المفتاحية / المفاتيح الخاصة\n\nعندما نتحدث عن النسخ الاحتياطي للمحفظة، فإننا نشير في الحقيقة إلى النسخ الاحتياطي للكلمات المفتاحية (أو المفاتيح الخاصة، ولكن لتسهيل الشرح، سنشير في النص اللاحق إلى الكلمات المفتاحية فقط). يمكن تقسيم الكلمات المفتاحية التي نحصل عليها إلى عدة أنواع رئيسية:\n\n* نص عادي\n* محمية بكلمة مرور\n* التوقيع المتعدد\n* توزيع السر على طريقة شامير «شَمِيرز سِكرِت شيرينغ»(Shamir's Secret Sharing) (وتختصر بـ «إس إس إس»(SSS))\n\nتعريف الانواع المختلفة:\n\n**النص العادي**، من السهل فهم ماهو النص العادي، فبمجرد حصولك على الكلمات الإنجليزية الـ12، تصبح الأصول داخل المحفظة ملكك. في هذه الحالة، يمكن التفكير في بعض «الأنماط العشوائية»، أو حتى استبدال بعض الكلمات بكلمات أخرى. هذا يجعل الأمور معقدة للمحتالين، ولكن إذا نسيت هذا «النمط»، ستكون ستواجة المشكلة ذاتها. لا تظن أنك لن تنسى، صدقني، بعد سنة أو سنتين أو خمس سنوات، الذاكرة قد تختلط. منذ بضع سنوات، عندما كنت أستخدم محفظة «ليجر»(Ledger) للأجهزة، وقعت في هذا الفخ، حيث خلطت ترتيب الكلمات المفتاحية الـ24 أثناء النسخ الاحتياطي، وبعد سنوات، نسيت الترتيب، ولم أتذكر إذا كنت قد استبدلت بعض الكلمات. كما قلت سابقًا، تم حل مشكلتي لاحقًا، حيث نجح برنامج فك الشفرات في العثور على الترتيب الصحيح للعبارات الأولية وتصحيح بعض الكلمات.\n\n**النص المحمي بكلمة مرور**، وفقًا للمعايير، يمكن أن تكون الكلمات المفتاحية محمية بكلمة مرور. تظل الكلمات المفتاحية كما هي، ولكن عند إضافة كلمة مرور، يتم الحصول على مفتاح مختلف. هذا المفتاح يُستخدم لاحقًا لاشتقاق مجموعة من المفاتيح الخاصة والعامة والعناوين. في هذه الحالة، يجب عليك ليس فقط النسخ الاحتياطي للكلمات المفتاحية بل وأيضًا عدم نسيان كلمة المرور. على سبيل المثال، بالإضافة إلى العبارات الأولية المحمية بكلمة مرور، هناك معايير ذات صلة بالمفاتيح الخاصة (مثل «بي أي بي 38»(BIP38))، وأيضًا ملفات «كيستور»(Keystore) الشائعة في سلسلة «إيثيريوم»(Ethereum).\n\n**التوقيع المتعدد**، يمكن فهم التوقيع المتعدد على أنه يتطلب موافقة عدة أشخاص لاستخدام الاصول. التوقيع المتعدد مرن جدًا ويمكنه ضبط سياسات الموافقة. على سبيل المثال، يمكن أن يكون هناك 3 أشخاص لديهم مفاتيح (الكلمات المفتاحية أو مفاتيح خاصة)، ويتطلب الأمر موافقة توقيعين على الأقل لاستخدام الأموال. كل سلسلة كتل لديها حلولها الخاصة بالتوقيع المتعدد. على البتكوين، تدعم معظم المحافظ الشائعة التوقيع المتعدد. على «إيثيريوم»(Ethereum)، يُعتمد على العقود الذكية لتنفيذ التوقيع المتعدد مثل «غنوسِس سيف»(Gnosis Safe). بالإضافة إلى هذه الحلول الشائعة، هناك نوع آخر يُدعى «إم بي سي»(MPC) (الحوسبة المتعددة الأطراف الآمنة) الذي يوفر تجربة مشابهة للتوقيع المتعدد ولكن بآلية مختلفة تمامًا، مما يسمح بالتوقيع المتعدد العام دون الحاجة إلى طرق مختلفة لكل سلسلة الكتل.\n\n**توزيع كلمة السر على طريقة شامير**، تعمل طريقة «إس إس إس»(SSS) على تقسيم المفتاح إلى عدة أجزاء (كل جزء يحتوي عادة على 20 كلمة). لاستعادة المحفظة، يجب استخدام عدد محدد من هذه الأجزاء. يمكن الاطلاع على أفضل الممارسات المتبعة في هذا المجال لمزيد من التفاصيل.\n\n>https://guide.keyst.one/docs/shamir-backup<br>\n>https://wiki.trezor.io/Shamir_backup\n\nاستخدام حلول مثل التوقيع المتعدد «ملتي-سِجنِتشر»(Multi-Signature) أو الـ«إس إس إس»(SSS) يمكن أن يمنحك راحة أكبر ويقلل من مخاطر النقطة الواحدة. ومع ذلك، فإن إدارة هذه الحلول يمكن أن تكون أكثر تعقيدًا، وغالبًا ما تتطلب مشاركة عدة أشخاص. التوازن بين الراحة والأمان هو دائمًا تحدٍ، ويعتمد على احتياجاتك الخاصة. ولكن في القواعد والمبادئ، لا تتساهل أبدًا.\n\n### التشفير\n\nالتشفير مفهوم واسع جدًا، سواء كان تناظرية، غير تناظرية أو أي نوع آخر متقدم. التشفير الجيد هو التشفير الذي يمكن لك أو لمن يعتمد عليه في حالات الطوارئ فك شفرته بسهولة بعد سنوات، بينما لا يمكن لأي شخص آخر فك شفرته.\n\nوفقًا لمبدأ \"الثقة الصفرية\"، عند نسخ المحفظة الاحتياطي، يجب افتراض أن كل خطوة قد تتعرض للاختراق، حتى في البيئة الفيزيائية مثل الخزنة. تذكر أن العالم من حولك، بما في ذلك نفسك أحيانًا، ليس جديرًا بالثقة تمامًا. \n\nلذا، يجب أن تكون حذرًا جدًا عند التعامل مع النسخ الاحتياطي وتفكر في خطط الطوارئ. يجب تجنب الاعتماد على نقطة واحدة، وتأكد من أن لديك نسخ احتياطية متعددة في أماكن مختلفة.\n\nإذن، لن أطيل الحديث حول الاختيار المناسب للإدارة المخاطر، انظر من تثق به. سأركز بشكل خاص على النسخ الاحتياطية المتعددة. هنا بعض الأشكال الأساسية لمواقع النسخ الاحتياطي:\n\n* الخدمات السحابية\n* الورق\n* جهاز\n* دماغ\n\n**الخدمات السحابية**: الكثير يتغير لونهم عند ذكر النسخ الاحتياطية السحابية، كأن المخترقون يستطيعون فعل كل شئ. في الواقع، المعركة بين الهجوم والدفاع هي دائمًا معركة التكاليف، من يستثمر أكثر، سواء كان ذلك في المواهب أو المال. بالنسبة لي، أثق بشكل أكبر في خدمات السحابة التي تقدمها شركات مثل جوجل، أبل، ومايكروسوفت لأنني أعرف مدى قوة فرقهم الأمنية ومدى استثمارهم في الأمان. لكن بجانب مواجهة المخترقون، أنا مهتم أيضًا بقدرة الأمان الداخلي والسيطرة على المخاطر والقيود المتعلقة بحماية البيانات الخاصة. الخدمات التي أثق بها، كلها تمكنت من تجنب المخاطر الأمنية التي تهمني بشكل جيد. لكن لا شيء مطلق. إذا اخترت استخدام هذه الخدمات لنسخ بياناتي الهامة جدًا (مثل المحفظة) احتياطيًا، فسأتأكد من تشفير المحفظة مرة أخرى على الأقل.\n\nأنا أوصي بشدة بإتقان «جي بي جي»(GPG)، فبالإضافة إلى الاستخدام المذكور سابقًا \"للتحقق من التوقيعات\"، فإنه يوفر أمانًا كافيًا في مجال التشفير وفك التشفير أيضًا. يمكن الاطلاع على دليل المبتدئين حول «جي بي جي» في المصادر التالية:\n\n>https://www.ruanyifeng.com/blog/2013/07/gpg.html\n\nحسنًا، لقد أتقنت الـ«جي بي جي» الآن، بعد أن قمت بتشفير محفظتك (الكلمات المفتاحية أو المفتاح الخاص) باستخدام «جي بي جي» في بيئة آمنة وغير متصلة بالإنترنت، يمكنك وضع الملف المشفر مباشرة في خدمات التخزين السحابي والاحتفاظ به هناك بأمان. ولكن هنا أود أن أذكرك، لا تفقد مفتاحك الخاص في «جي بي جي»، ولا تنسَ كلمة مرور المفتاح الخاص.\n\nفي هذه المرحلة، قد يبدو أن التكيف مع الأمان يمثل بعض المتاعب، فبعد أن تمكنت من استخدام «جي بي جي»، لا يزال عليك الاحتفاظ بنسخة احتياطية من مفتاحك الخاص لـ«جي بي جي» وكلمة مرور المفتاح الخاص. عندما تصل إلى هذه المرحلة وتصبح العملية مالوفه، فإن الاحتفاظ بنسخة احتياطية من هذه الأشياء لن يكون أمرًا معقدًا. لن أتوسع في هذه النقطة، سأترك لك المجال لتتعلم من خلال الممارسة.\n\nإذا كنت تتجنب التعقيد، هناك حل آخر، ولكنه أقل أمان. لا أستطيع تحديد مقدار هذا الانخفاض في الأمان بدقة، ولكن في بعض الأحيان في بعض الحالات قد أستخدم هذه الطريقة عندما أريد تبسيط الأمور. وهي استخدام أداة معروفة للمساعدة. هذه الأداة هي «وَن باسوورد»(1Password). الإصدارات الجديدة من «وَن باسوورد» تدعم حفظ محتويات المحفظة مباشرة، مثل الكلمات المفتاحية، كلمات المرور، عناوين المحفظة وغيرها، مما يجعل الأمر مريحًا للمستخدم. الأدوات المماثلة الأخرى (مثل «بِتوَردِن»(Bitwarden) ) يمكن أن تكون مفيدة أيضًا، ولكنها قد لا تكون بنفس السهولة.\n\n**الورق**: تأتي العديد من محافظ الاجهزة مع بعض البطاقات الورقية عالية الجودة، والتي يمكنك كتابة الكلمات المفتاحية (بصيغتها النصية، أو بصيغة «إس إس إس»(SSS) ) عليها. بالإضافة إلى البطاقات الورقية، هناك أيضًا ألواح فولاذية (مقاومة للحريق، والماء، والتآكل، ولكنني لم أتحقق من ذلك بنفسي). بعد كتابة الكلمات، تجرى عملية تحقق للتأكد من صحتها، ثم توضع في مكان آمن تراه مناسبًا، مثل خزنة. أنا شخصيًا أحب البطاقات الورقية، إذا كانت الورقة في بيئة جيدة، فإن عمرها الافتراضي أطول بكثير من الأجهزة الإلكترونية.\n\n**الأجهزة**: هناك أنواع مختلفة من الأجهزة، والأجهزة الإلكترونية هي الأكثر شيوعًا. يمكن استخدام الكمبيوتر، «آيباد»(iPad)، «آيفون»(iPhone)، الأقراص الصلبة، وأجهزة «يو إس بي»(USB) لعمل النسخ الاحتياطية، يعتمد على تفضيلاتك الشخصية. أما بالنسبة للنقل الآمن بين الأجهزة، فإن الطرق التي تجعلني أشعر بأمان أكثر هي: «إيردروب»(AirDrop)، و«يو إس بي»، لأنها تعتمد على الاتصال المباشر ومن الصعب حدوث عمليات اختراق من قبل جهات وسيطة. فقط النقطة التي تجعلني أشعر ببعض القلق تجاه الأجهزة الإلكترونية هي أنها قد تتعطل بعد عدة سنوات، لذا أحرص على فحصها مرة واحدة على الأقل كل السنة. بعض الإجراءات المتكررة (مثل التشفير) يمكن اتباعها كما هو مذكور في الجزء الخاص بالخدمات السحابية.\n\n**الدماغ**: الاعتماد على الذاكرة ممتع ومثير. كل شخص لديه \"قصر ذاكرة\" خاص به، وهذا ليس أمراً غامضاً، بل يمكن تدريبه، فالممارسة تجعل الأمور أسهل وتعمق الذاكرة. هناك أشياء عديدة من الأفضل الاحتفاظ بها في الذاكرة، لكن القرار النهائي يعود لك فيما إذا كنت ترغب في الاعتماد على الذاكرة فقط. ولكن تذكر هناك نوعان من المخاطر: الأول هو أن الزمن قد يؤدي إلى نسيان أو تشويش الذكريات، والثاني هو أنك قد تتعرض لحادث غير متوقع. لن أتوسع في هذه النقطة، يمكنك استكشافها بنفسك.\n\nالآن، انتهيت من إعداد النسخ الاحتياطية. لا تبالغ في التشفير، وإلا فقد تجد نفسك بعد سنوات عاجزاً عن فك الشيفرة. وفقاً لقانون الأمان \"التحقق المستمر\"، بغض النظر عن مدى تعقيد طرق التشفير والنسخ الاحتياطي، يجب أن تقوم بالتحقق الدوري. تكرار التحقق يعتمد على ذاكرتك، ففي بعض الأحيان قد تنسى الأمور بسرعة. التحقق لا يعني بالضرورة فك التشفير بالكامل، بل يمكن أن يكون التحقق الجزئي كافياً إذا كان يُظهر أن العملية كاملة بدون أخطاء. أخيراً، يجب مراعاة سرية وأمان عملية التحقق.\n\nحسناً، خذ نفس عميق، فالبدايات صعبه. بعد أعداد كل ما سبق، نحن الآن مستعدون لدخول الغابة المظلمة بالفعل :)\n\n## استخدام المحفظة\n\nبعد أن تقوم بإنشاء ونسخ احتياطي لمحفظتك، سيبدأ التحدي الحقيقي. إلا إذا كنت تعيش بأسلوب حياة هادئ جداً ولا تستثمر كثيراً بالأصول ذات القيمة التي تمتلكها، ولا تلعب بمشاريع العقود الذكية المتعلقة بـ«ديفاي»(DeFi) و«إن إف تي»(NFT) و«جيمفاي»(GameFi) وسلسلة الإيثريوم بشكل عام، أو كما يُطلق عليها الآن «وِب 3». في هذه الحالة، فإن أموالك ستكون في أمان تام.\n\n### مكافحة غسل الأموال\n\nنعم، بمعنى\"آمنة إلى حد كبير\"، لأن هناك دائمًا مخاطر، مثلما يقولون \"البلاء يأتي من حيث لاتدري\". لماذا أقول هذا؟ فكر في الأمر، من أين حصلت على عملاتك المشفرة في البداية؟ بالتأكيد لم تظهر من العدم، أليس كذلك؟ لذا، في الأنشطة المتعلقة بالعملات المشفرة، يمكن أن تواجه العملات التي تحصل عليها مشكلات مرتبطة بمكافحة غسل الأموال «إي إم إل»(AML). بمعنى آخر، العملات المشفرة التي تمتلكها الآن قد تكون غير نظيفة، وإذا كنت غير محظوظ بما يكفي، فقد تكون معرضة للتجميد مباشرة على الشبكة. على سبيل المثال، وفقًا لتقارير علنية، قامت «تِذَر»(Tether) بتجميد بعض أموال «يو إس دي تي»(USDT) بناءً على طلب الجهات القانونية. يمكنك الاطلاع على قائمة العملات المجمدة هنا:\n\n>https://dune.xyz/phabc/usdt---banned-addresses\n\nللتحقق مما إذا كان قد تم تجميد «تِذَر»(Tether)، يمكنك التحقق عن ذلك من خلال عقد «يو إس دي تي»:\n\n>https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#readContract\n\n<img src=\"res/usdt_isblacklisted.png\" width=\"700\">\n\nلتحديد ما إذا كان محظورًا في (isBlackListed)، أدخل عنوان المحفظة المستهدفة. الأمر مشابه إلى حد كبير مع السلاسل الأخرى التي تتواجد فيها «يو إس دي تي» (لا تدقق كثيرًا).\n\nلكن عملاتك الرقمية مثل البيتكوين والإيثيريوم لن تُجمد على سلسلة الكتل، وإذا حدث ذلك في المستقبل، فإن الثقة القوية في اللامركزية قد تختفي أيضًا. ما نسمعه عن تجميد العملات الرقمية هو في الغالب لا يحدث على سلسلة الكتل، بل يحدث داخل المنصات المركزية مثل بينانس وكوينبيز وغيرهما. وجود عملاتك الرقمية في هذه المنصات المركزية يعني أنك لا تمتلك هذه العملات بشكل كامل، وما يُجمد هو حسابك، وخاصةً صلاحيات التداول والسحب. مفهوم التجميد قد يسبب سوء فهم بالنسبة للأشخاص خارج الصناعة، مما يؤدي إلى ظهور تفسيرات خاطئة ونشر نظريات المؤامرة حول البيتكوين من قبل بعض وسائل الإعلام.\n\nعلى الرغم من أن البيتكوين والإيثيريوم وغيرها من العملات لن تُجمد على سلسلة الكتل، ولكان إذا كانت هذه العملات نفسها متورطة في قضايا تتعامل معها الجهات القضائية، فإن نقل عملاتك الرقمية إلى منصة مركزية قد يؤدي إلى تجميدها من قبل هذه المنصات بناءً على متطلبات مثل مكافحة غسل الأموال.\n\nلتجنب مشاكل مكافحة غسل الأموال بشكل أفضل، يُنصح باختيار منصات وأفراد ثقة لإجراء التحويلات معهم. تجنب العشوائية وستكون بخير. هناك العديد من الطرق لمعالجة هذه المشاكل، مثل استخدام «تورنادو كاش»(Tornado Cash) على شبكة الإيثيريوم من قبل الأشخاص الذين يهتمون كثيرًا بالخصوصية والأشخاص المحتالين لغرض التمويه. لن أذكر المزيد من الطرق، تجنب أن تستخدم لأغراض سيئة.\n\n### المحافظ الباردة\n\nتوجد عدة طرق لاستخدام المحفظة الباردة. بالنسبة للمحفظة نفسها، فهي غير متصلة بالإنترنت، مما يجعلها تُعتبر محفظة باردة. كيف نستخدمها دون الاتصال بالإنترنت؟ أولاً، عند استلام العملات الرقمية، لا توجد مشكلة كبيرة. يمكن استخدام محفظة مراقبة لتجربة ممتازة، مثل «إم توكِن» و «محفظة ترَست»، حيث يمكن إضافة عنوان المحفظة مباشرةً ليصبح محفظة مراقبة مرتبطة بالمحفظة الباردة.\n\nعند إرسال العملات الرقمية، فهناك عدة طرق شائعة مثل:\n\n* الباركود (QR)\n* الـ«يو إس بي»\n* البلوتوث\n\nتتطلب هذه الطرق تطبيقات خاصة (نطلق عليها هنا: «لايت آب»(Light App)) لتعمل مع المحفظة الباردة. هذا التطبيق متصل بالإنترنت، بما في ذلك محفظة المراقبة المذكورة سابقًا. نحتاج فقط إلى فهم المبدأ الأساسي لفهم هذه الطرق. المبدأ هو: يجب إيجاد طريقة لبث المحتوى الموقع على سلسلة الكتل. سأشرح العملية بشكل تقريبي:\n\n* يتم نقل المحتوى المطلوب توقيعه بواسطة تطبيق «لايت آب» إلى المحفظة الباردة.\n* يتم توقيع المحتوى بواسطة المحفظة الباردة التي تمتلك المفتاح الخاص، ثم يعاد نقله إلى تطبيق «لايت آب».\n* يقوم تطبيق «لايت آب» ببث المحتوى الموقع على سلسلة الكتل.\n\nلذا، سواء كان الأمر يتعلق الباركود أو الـ«يو إس بي» أو البلوتوث، فإن الغرض منها هو كما ذكرنا. بالطبع، تختلف التفاصيل بين الطرق المختلفة، فمثلاً سعة معلومات الباركود محدودة، وعندما تكون بيانات التوقيع كبيرة، يجب تقسيمها.\n\nقد تبدو هذه الطريقة معقدة، لكن مع الوقت ستعتاد عليها، وستشعر بالأمان. ومع ذلك، لا يجب أن تكون مفرط الثقة لأن هناك مخاطر ما زالت موجودة، وقد أدت هذه المخاطر في حالات عديدة إلى خسائر كبيرة. مثال:\n\n* عدم التحقق بدقة من عنوان التحويل، مما يؤدي إلى تحويل العملات لشخص آخر. فكثيراً ما يُتحقق من بداية ونهاية العنوان فقط. هنا يستغل المخترقون هذا الأمر، حيث يستخدمون برمجيات لتوليد عناوين مشابهة، ويستبدلون العنوان المستهدف بعنوان يتحكمون فيه.\n* منح الإذن إلى عنوان غير معروف. عادةً، الإذن هو جزء من ميكانيكية العقود الذكية لرموز إيثيريوم، حيث يتم منح الإذن لعناوين معينة بتحويل كمية محددة من العملات. قد يقوم البعض بإعطاء إذن غير محدود دون فهم الميكانيكية، مما يمنح العنوان المستهدف القدرة على تحويل العملات.\n* بعض التوقيعات التي تبدو غير مهمة قد تحتوي على أفخاخ خطيرة. لن أتوسع حاليا، ولكن سيتم التوضيح لاحقًا.\n* قد لا توفر المحفظة الباردة المعلومات الكافية، مما يؤدي إلى أخطاء في اتخاذ القرار.\n\nكل هذه المخاطر يمكن تلخيصها في نقطتين:\n\n* غياب آلية أمان المستخدم المعروفة بــ\"ما تراه هو ما توقعه\".\n* نقص المعرفة الأساسية لدى المستخدم.\n\n### المحافظ الساخنة\n\nمقارنةً بالمحفظة الباردة، فإن المحفظة الساخنة تتشارك في بعض المخاطر ولكن تزداد مخاطر أخرى مثل سرقة كلمات المفتاحية (أو المفتاح الخاص). في هذه الحالة، يجب مراعاة الأمان بشكل أكبر في المحفظة الساخنة، مثل أمان بيئة التشغيل. إذا كانت بيئة التشغيل تحتوي على فيروسات ذات صلة، فإن ذلك يزيد من خطر السرقة. أيضًا، إذا كانت المحفظة الساخنة تحتوي على بعض الثغرات، فيمكن للمخترقين سرقة كلمات المفتاحية عبر هذه الثغرات.\n\nبالإضافة إلى خاصية التحويل العادية، إذا كانت المحفظة الساخنة تتفاعل مع التطبيقات اللامركزية «دي آب»(DApp) مثل «ديفاي»(DeFi)، «إن إف تي»(NFT) ، و«جيمفاي»(GameFi)، فيمكنها إما الوصول إلى هذه التطبيقات عبر المتصفح أو من خلال بروتوكول «والِت كونِكت»(WalletConnect) للتفاعل مع التطبيقات على المتصفح.\n\n*ملاحظة: التطبيقات اللامركزية المذكورة في هذا الدليل هي المشاريع التي تعمل على سلسلة الكتل الخاصة بالإيثيريوم.*\n\nبشكل افتراضي، هذا التفاعل لا يؤدي إلى سرقة كلمات المفتاحية إلا إذا كانت المحفظة تحتوي على مشكلة في تصميم الأمان. بناءً على سجلات التدقيق الأمني والأبحاث الأمنية، هناك مخاطر لسرقة كلمات المفتاحية بواسطة الـ«جافاسكريبت»(JavaScript)، لكن هذا نادر جداً لأنه يعتبر خطأً بدائيًا جدًا، ومن غير المحتمل أن ترتكبه المحافظ المشهورة.\n\nأكبر مخاوفي ليست تلك التي ذكرتها أعلاه، فهي تحت السيطرة بالنسبة لي (وأيضًا يمكنك التحكم فيها)، لكن أكثر ما يقلقني هو: كيف يمكن ضمان عدم إدراج برمجيات خبيثة أو خلفية في كل تحديث جديد للمحفظة الشهيرة؟ هذا السؤال واضح: النسخة الحالية من المحفظة آمنة بعد التحقق، لكنني لا أعرف مدى أمان النسخة القادمة، لأنني أو فريق الأمان الخاص بي ليس لدينا الوقت والجهد الكافيين للتحقق من كل تحديث.\n\nهناك حوادث عديدة تسبب فيها وجود برمجيات خبيثة أو خلفيات في المحافظ بسرقة العملات، مثلما حدث مع «كو باي»(CoPay)و «أيه توكن»(AToken). يمكنك البحث عن هذه الحوادث لتعرف المزيد.\n\nالطرق التي يستخدمها المخترقون في هذه الحالة تشمل:\n\n* عند تشغيل المحفظة، تقوم البرمجيات الخبيثة بتحميل الكلمات المفتاحية إلى خادم يتحكم فيه المخترق.\n* عند بدء المستخدم عملية التحويل، تقوم البرمجيات الخبيثة في الخلفية بتغيير عنوان المستلم والمبلغ دون أن يلاحظ المستخدم.\n* التلاعب بالقيم العشوائية المستخدمة في توليد الكلمات المفتاحية لجعلها أسهل للاختراق.\n\nالأمان هو مسألة دقيقة ومعقدة، لذا فإن مبدئي للأمان في المحافظ التي تحتوي على أصول هامة هو: عدم التحديث بسهولة، والاكتفاء بما هو ضروري.\n\n### ماهو أمان التمويل اللامركزي الـ«ديفاي»(DeFi)؟\n\nعند الحديث عن التطبيقات اللامركزية الـ«دي آب»(DApp)، نشير إلى التمويل اللامركزي الـ«ديفاي»(DeFi) أو الرموز غير القابلة للاستبدال الـ«إن إف تي»(NFT) أو التمويل القائم على الألعاب الـ«جيمفاي»(GameFi) وغيرها. وعلى الرغم من أن الأمان في هذه الأمور متشابه في الغالب، إلا أن لكل منها نقاطه الخاصة. هنا سنأخذ DeFi كمثال لشرح ما نعنيه عندما نتحدث عن أمان الـ«ديفاي». تقريبًا، الصناعة بأكملها تنظر فقط إلى جانب العقود الذكية، ويبدو أنه بمجرد تأمين العقود الذكية، فإن الأمور ستكون على ما يرام. في الواقع، هذا ليس صحيحًا على الإطلاق.\n\nيتضمن أمن الـ«ديفاي» على الأقل الأجزاء التالية:\n\n* أمن العقود الذكية\n* أمن البنية التحتية لسلسلة الكتل\n* أمن الواجهة الأمامية\n* أمن الاتصالات\n* الأمان الإنساني\n* الأمان المالي\n* الامتثال والأمان\n\n**أمن العقود الذكية**\n\nأمن العقود الذكية هو بالفعل نقطة الدخول الأكثر أهمية لتدقيق الأمان. يمكن الرجوع إلى نقاط تدقيق الأمان للعقود الذكية من «سلومِست»(SlowMist) على النحو التالي:\n\n>https://www.slowmist.com/service-smart-contract-security-audit.html\n\nبالنسبة للخبراء، إذا كانت أمن العقد الذكي نفسه يمكن التحكم به (سواء من خلال القدرة على تدقيق الأمان بأنفسهم أو فهم تقارير التدقيق الأمني من المؤسسات المهنية)، فإن أمان الأجزاء الأخرى لا يهم كثيراً. مفهوم التحكم هنا يعتمد على خبرة الخبير. على سبيل المثال، خطر الصلاحيات الزائدة في العقود الذكية هو أمر يهم الخبير، إلا إذا كان الفريق المشرف على المشروع يتمتع بسمعة جيدة وقوة مالية كبيرة، في هذه الحالة حتى المركزية التامة لن تكون مشكلة. ولكن بالنسبة للمشاريع غير المعروفة أو المثيرة للجدل أو الجديدة، إذا أخبرت المتداول الخبير أن عقد المشروع الذكي لديه صلاحيات زائدة يمكن أن تؤثر على رأس المال أو الأرباح، فإنه بالتأكيد لن يقبل ذلك.\n\nهذا الخطر المتعلق بالصلاحيات الزائدة هو دقيق للغاية، ففي كثير من الأحيان تكون هذه الصلاحيات موجودة لتسهيل إدارة المشروع والتعامل مع الطوارئ. لكن بالنسبة لنا، هذا يتعلق بالاعتبارات البشرية: ماذا لو قام الفريق المشرف على المشروع بأفعال ضارة؟ لذلك، تم تطوير ممارسة وسط في الصناعة: إضافة قفل زمني «تايملوك»(Timelock) لحل بعض مخاطر الصلاحيات الزائدة، مثل:\n\n> الـ«كومباوند»(Compound)، هذا المشروع المعروف القديم في مجال الـ«ديفاي»(DeFi)، أضاف آلية القفل الزمني «تايملوك»(Timelock) لصلاحيات المسؤول في الوحدات الأساسية للعقد الذكي مثل وحدة المراقبة (Comptroller) والحوكمة (Governance):<br>\n> Comptroller(0x3d9819210a31b4961b30ef54be2aed79b9c9cd3b)<br>\n> Governance(0xc0da02939e1441f497fd74f78ce7decb17b66529)<br>\n> عنوان المسؤول هو:<br>\n> Timelock(0x6d903f6003cca6255d85cca4d3b5e5146dc33925)\n\nعلى سلسلة الكتل، يمكن رؤية القفل الزمني «باراميتر ديلاي»(parameter delay) مباشرة، وهو 48 ساعة (172800 ثانية):\n\n<img src=\"res/compound_timelock.png\" width=\"700\">\n\nبمعنى آخر، إذا كان مشرف «كومباوند»(Compound) (فريق المشروع) بحاجة إلى تغيير بعض القيم الأساسية للعقد الذكي، فسيتم تسجيل هذه المعاملة على سلسلة الكتل، ولكن يجب الانتظار لمدة 48 ساعة قبل أن يتم التنفيذ النهائي. هذا يعني أنه يمكنك مراجعة كل عملية للمشرف ولديك 48 ساعة على الأقل للاستجابة. على سبيل المثال، إذا لم تكن مطمئنًا، يمكنك سحب أموالك خلال 48 ساعة.\n\nهناك طريقة أخرى لتقليل مخاطر الصلاحيات الزائدة للمشروع وهي: استخدام توقيع متعدد للمشرف، مثل إدارة التوقيع المتعدد باستخدام «جنوسس سيف»(Gnosis Safe)، بحيث لا يكون القرار بيد شخص واحد. يجب ملاحظة أن التوقيع المتعدد يمكن أن يكون «ملابس الإمبراطور الجديدة»، على سبيل المثال إذا كان شخص واحد يمتلك مفاتيح متعددة. لذلك، يجب أن تكون استراتيجية التوقيع المتعدد للمشروع واضحة وشفافة، وأن تكون هناك معلومات عن من يحتفظ بالمفاتيح، ويجب أن يكون هؤلاء الأشخاص ذوي سمعة طيبة.\n\nيجب ملاحظة أن أي استراتيجية أمان قد تواجه مشكلة «ملابس الإمبراطور الجديدة»، حيث تبدو جيدة في الظاهر لكنها ليست كذلك فعليًا، مما يمنح إحساسًا زائفًا بالأمان. على سبيل المثال، قد يبدو القفل الزمني جيدًا، ولكن في الواقع قد يحتوي القفل الزمني التي تم نشرها من قبل فريق المشروع على أبواب خلفية. عادة، لا يقوم المستخدمون بمراجعة شفرة القفل الزمني المصدرية مباشرة، وقد لا يفهمونها حتى لو فعلوا، لذا قد لا يلاحظ أحد الباب الخلفي لفترة من الزمن.\n\nبالإضافة إلى مخاطر الصلاحيات الزائدة، فإن الجوانب الأخرى لأمان العقود الذكية مهمة جدًا أيضًا، لكنها تتطلب فهمًا عميقًا، لذا لن نخوض في التفاصيل هنا. نصيحتي هي: على الأقل، يمكنك أن تتعلم تدريجيًا كيفية قراءة تقارير التدقيق الأمني، فالممارسة المستمرة تؤدي إلى الإتقان.\n\n**أمن البنية التحتية لسلسلة الكتل**\n\nيشير أمن البنية التحتية لسلسلة الكتل إلى أمن سلسلة الكتل نفسه، مثل أمان دفتر الحسابات وأمان الآلة الافتراضية. إذا كانت أمان سلسلة الكتل نفسها مشكوك فيها، فإن مشاريع العقود الذكية التي تعمل عليها قد تتعرض للفشل. اختيار سلسلة كتل تتمتع بأمان كافٍ وشهرة واسعة، وحتى إمكانية الاستمرارية على المدى الطويل، هو أمر في غاية الأهمية.\n\n**أمن الواجهة الأمامية**\n\nأمن الواجهة الأمامية مليء بالتحديات، فهو قريب جدًا من المستخدمين، مما يجعلهم عرضة للخداع بسهولة. ربما تتركز انتباه الجميع على محافظهم وأمان العقود الذكية للمشروع، لكن أمان الواجهة الأمامية غالبًا ما يُغفل. هنا أود أن أؤكد مرة أخرى، أن أمن الواجهة الأمامية مليء بالتحديات! سأركز على ذلك.\n\nفيما يتعلق بأمن الواجهة الأمامية، فإن أكثر ما يهمني هو: كيف أعرف أن الكيان الذي أتعامل معه في هذه الصفحة الأمامية هو العقد الذكي الذي أعتقده؟\n\nهذه المخاوف الأمنية تنشأ بشكل أساسي من هذين الخطرين:\n\n* البرمجيات الخبيثة الداخلية\n* هجوم من طرف ثالث\n\nالبرمجيات الخبيثة الداخلية سهل الفهم، مثل قيام المطورين سرًا بتغيير عنوان العقد الذكي المستهدف في صفحة الواجهة الأمامية إلى عنوان عقد يحتوي على باب خلفي، أو زرع نصوص تصيد للإذونات. عند زيارتك لهذه الصفحة، قد تتم سلسلة من العمليات المتعلقة بالعملات المشفرة في محفظتك داخل الفخ. بدون علمك، ستجد أن العملات قد اختفت.\n\nهجوم طرف ثالث، يشير إلى نوعين رئيسيين:\n\n* النوع الأول هو البرمجيات الخبيثة في سلسلة التوريد، على سبيل المثال عندما يتم إدخال باب خلفي في مكتبة خارجية تعتمد عليها الواجهة الأمامية، ويتم جلبها مع الإصدار المجمّع مباشرة إلى صفحة الواجهة الأمامية. مثل «سوشي سواب»(SushiSwap) (هذا مجرد مثال، ولا يعني أن المشروع في الصورة قد تعرض لهذه المشكلة):<br>\n    <img src=\"res/sushiswap_3rd.png\" width=\"500\">\n\n* إحدى الطرق هي تضمين ملفات الـ«جافاسكريبت» خارجية في صفحات الواجهة الأمامية. إذا كان هذا الملف الـ«جافاسكريبت» خبيثًا أو تم اختراقه، فقد يتأثر الهدف في صفحة الواجهة الأمامية، مثل الـ«أوبن سي»(OpenSea) (مجرد مثال، ولا يعني أن المشروع في الصورة تعرض لهذا المشكلة).<br>\n    <img src=\"res/opensea_3rd.png\" width=\"800\">\n\nالسبب في قول أن ذلك قد يأثر هو أنه إذا استخدم فريق المشروع في صفحات الواجهة الأمامية الطريقة التالية لتضمين ملفات الـ«جافاسكريبت» التابعة لجهات خارجية، فقد لا يتأثر:\n\n><script src=\"https://example.com/example-framework.js\" integrity=\"sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pbOxEbzJr7\" crossorigin=\"anonymous\"></script>\n\nالنقطة الأساسية هنا هي آلية أمان جيدة في «إتش تي إم إل فايف»(HTML5): خاصية الـ«إنتجريتي»(integrity) في العلامة (آلية الـ«إس آر آي»(SRI))، حيث تدعم الـ«إنتجريتي» خوارزميات «شا 384»(sha384)، «شا 256»(sha256)، «شا 512»(sha512). إذا لم تحقق موارد الـ«جافاسكريبت» الخارجية التحقق من تكامل الـ«هاش إنتجريتي»(hash integrity)، فلن يتم تحميلها، مما يمنع بشكل جيد تنفيذ الشيفرة غير المتوقعة. لكن استخدام هذه الآلية يتطلب دعم المورد الهدف لاستجابات الـ«كورز»(CORS). لمزيد من المعلومات:\n\n>https://developer.mozilla.org/zh-CN/docs/Web/Security/Subresource_Integrity\n\nانتبه، سبب قولي «قد يتأثر» سابقاً هو وجود حالات يمكن فيها تجاوز هذه الآلية. لن أذكر طرق التجاوز لأنها معقدة، ولكن في معظم الحالات، يكفي أن تتحقق من وجود آلية الـ«إنتجريتي»(integrity) عند تضمين ملفات الـ«جافاسكريبت» الخارجية في صفحات الواجهة الأمامية. للأسف، الـ«أوبن سي»(OpenSea) لا يطبق ذلك، لنتمنى له التوفيق.\n\n**أمن الاتصالات**\n\nفيما يخص أمن الاتصالات، يجب التركيز على أمان الـ«إتش تي تي بي إس»(HTTPS). أولاً، يجب أن يكون الموقع المستهدف يستخدم بروتوكول «إتش تي تي بي إس»، ولا يُسمح بوجود نقل بيانات عبر «إتش تي تي بي»(HTTP) بالنص الصريح. ذلك لأن نقل البيانات عبر «إتش تي تي بي» الصريح يمكن أن يتم اعتراضه بسهولة بواسطة هجمات الشخص الوسيط. الآن، بروتوكول النقل الآمن «إتش تي تي بي إس» أصبح شائعاً جداً. إذا حدثت هجمة من نوع الشخص الوسيط على بروتوكول«إتش تي تي بي إس»، مثل إدخال برمجية «جافاسكريبت» خبيثة إلى صفحة الواجهة الأمامية المستهدفة، فإن المتصفح سيظهر تحذيراً بارزاً بخطأ في شهادة الـ«إتش تي تي بي إس». مثال على ذلك هو الثغرة التي حدثت مع «ماي إيثر والت»(MyEtherWallet) سابقاً.\n\nالـ«ماي إيثر والت»(MyEtherWallet) كان محفظة ويب شهيرة جداً، ولا يزال معروفاً إلى حد كبير، لكنه لم يعد مجرد محفظة ويب فقط. كما ذكرت سابقاً، لا أوصي باستخدام محفظات الويب بشدة، فإلى جانب الحيل الأمنية المختلفة في الواجهة الأمامية، قد يكون هناك أيضاً خطر اختراق الـ«إتش تي تي بي إس».\n\nفي 24 أبريل 2018، تعرضت الـ«ماي إيثر والت»(MyEtherWallet) لحادث أمني كبير يتعلق باختراق الـ«إتش تي تي بي إس»، ويمكن مراجعة الأحداث على النحو التالي:\n\n>https://www.reddit.com/r/MyEtherWallet/comments/8eloo9/official_statement_regarding_dns_spoofing_of/<br>\n>https://www.reddit.com/r/ethereum/comments/8ek86t/warning_myetherwalletcom_highjacked_on_google/\n\n![](res/myetherwallet_https_hijack.png)\n\nفي ذلك الوقت، استخدم المتسللون بروتوكول الـ«بي جي بي»(BGP) القديم لاختطاف خدمات الـ«دي إن إس»(DNS) (Google Public DNS) التي يستخدمها العديد من مستخدمي «ماي إيثر والت»(MyEtherWallet). هذا أدى إلى ظهور تحذيرات من شهادات الـ«إتش تي تي بي إس» عند محاولتهم الوصول إلى الـ«ماي إيثر والت». في الواقع، عند مواجهة تحذير، ينبغي من حيث المبدأ عدم الاستمرار في الوصول، لأن هذا يشير إلى أن الصفحة المستهدفة قد تم اختراقها. ولكن العديد من المستخدمين لا يفهمون هذا الخطر الأمني، فبعضهم يتردد قليلاً ثم يتجاهل تحذير الشهادة ويواصل الوصول بالقوة.\n\nنظرًا لأن الصفحة المستهدفة قد تم اختراقها، قام القراصنة بحقن كود «جافاسكريبت» ضار، مما أدى إلى سرقة المفاتيح الخاصة بالنص العادي للمستخدمين المستهدفين على الصفحة مباشرة، ثم تحويل العملات المشفرة ذات الصلة بهؤلاء المستخدمين بكميات كبيرة (خاصةً ETH).\n\nهذه بالتأكيد حالة كلاسيكية، حيث استخدم القراصنة اختطاف «بي جي بي»(BGP) لسرقة العملات الرقمية، مما يعد استخدامًا مفرطًا للموارد. ظهرت بعض الحالات المماثلة بعد ذلك، ولكن لن نذكرها هنا. الأمر الوحيد الذي يحتاج المستخدمون إلى الانتباه إليه هو: عندما تستخدم محفظة على الإنترنت أو تتداول باستخدام «دي آب»(DApp) ذات الصلة، يجب أن تكون حذرًا للغاية. إذا ظهرت لك تحذيرات من شهادات الـ«إتش تي تي بي إس» غير صالحة على الصفحة المستهدفة، توقف عن المتابعة وأغلق الصفحة فورًا، وبهذا لن يحدث لك أي مكروه.\n\nفيما يتعلق بالأمان، هناك واقع قاسٍ وهو: عندما يكون هناك خطر موجود، لا تعطِ المستخدم الخيار، لأن البعض منهم سيقعون في الفخ لأسباب مختلفة. في هذه الحالة، يتحمل فريق المشروع المسؤولية. على سبيل المثال، اختطاف الـ«إتش تي تي بي إس» لديه بالفعل حلول أمان جيدة، والمطورون في فريق المشروع يحتاجون فقط إلى تهيئة الـ«إتش إس تي إس»(HSTS) بشكل صحيح. الـ«إتش إس تي إس»(HSTS) هي اختصار لـ(HTTP Strict Transport Security) ، وهي سياسة أمان ويب تدعمها المتصفحات. إذا تم تفعيل هذا التكوين، سيمنع المتصفح المستخدم من الاستمرار في الوصول عند اكتشاف خطأ في شهادة الـ«إتش تي تي بي إس». هل فهمت ما أعنيه؟\n\n**الأمان الإنساني**\n\nمن السهل فهم جانب الأمان الإنساني. على سبيل المثال، عندما يقوم أعضاء فريق المشروع بأفعال خبيثة من الداخل، كما ذكرنا سابقًا، لن نتوسع في هذا الموضوع الآن. سنقوم بمناقشته بشكل موسع لاحقًا.\n\n**الأمان المالي**\n\nالأمان المالي هو مفهوم يحتاج إلى الاحترام. عندما يتعلق الأمر بالتمويل اللامركزي، فإن النقاط المتعلقة بالمال التي تهم المستخدمين أكثر هي سعر العملات والعائد السنوي، ويجب أن تكون جيدة على الأقل ومستقرة. ببساطة، كمستخدم، ألعب بـالتمويل اللامركزي لأربح المال. إذا خسرت، يجب أن أقتنع تمامًا. نعم، هذا هو الطابع البشري.\n\nقد تكون هناك عيوب في هذا الجزء مثل:\n\n* إطلاق غير عادل، مثل التعدين المسبق أو التداول الداخلي.\n* هجوم الحيتان الكبيرة، ما يسمى بقوة المال.\n* التلاعب في السوق، حيث يربح الأسرع في البيع.\n* الأحداث غير المتوقعة في السوق، مثل الانهيارات المفاجئة، وأيضًا عندما يكون تمويل اللامركزي المستهدف مترابطًا أو متداخلاً مع تمويل اللامركزي أو رموز أخرى، في هذه الحالة قد تكون أضعف نقطة هي العامل الحاسم.\n* بعض الأساليب الفنية أو العلمية مثل الهجمات السريعة، هجمات السندوتشات، وهجمات القروض السريعة.\n\n**الامتثال والأمان**\n\nالامتثال والأمان هو موضوع واسع جداً. ما ذكرته سابقاً عن مكافحة غسل الأموال «إيه إم إل»(AML) هو مجرد نقطة واحدة، وهناك أيضًا أمور أخرى مثل معرفة العميل «كي واي سي»(KYC)، والقيود المتعلقة بالمناطق الخاضعة للعقوبات، والمخاطر المتعلقة بالأوراق المالية، وغيرها. في الواقع، بالنسبة للمستخدمين، هذه الأمور ليست شيئًا يمكننا مواجهته بشكل مباشر. يمكن القول إنه عند المشاركة في مشروع ما، قد يخضع المشروع المستهدف للتنظيم الأمني من قبل بعض الدول، وبالتالي قد تظهر مشكلة جمع المعلومات الشخصية التي تهمنا. قد لا تكون تهتم بخصوصيتك، لكن هناك من يهتم بها.\n\nعلى سبيل المثال، حدثت واقعة صغيرة في بداية عام 2022: دعم المحافظ لبروتوكول إثبات ملكية العنوان «إيه أو بي بي»(AOPP).\n\nفي ذلك الوقت، ألقيت نظرة على تصميم بروتوكول إثبات ملكية العنوان واكتشفت أن المحافظ التي تدعم هذا البروتوكول قد تسرب خصوصية المستخدمين: يمكن للهيئات التنظيمية أن تكون قادرة على معرفة العلاقة بين بورصة خاضعة للتنظيم ومحفظة خارجية غير معروفة. المرجع:\n\n>https://gitlab.com/aopp/address-ownership-proof-protocol\n\nلا عجب أن العديد من المحافظ التي تركز على الخصوصية قد اهتمت بهذا التعليق وسارعت بحذف دعم هذا البروتوكول. على أي حال، تصميم هذا البروتوكول فعلاً مثير للاهتمام. لقد لاحظت أن هناك محافظ أخرى ليس لديها خطط حالية لحذف دعم بروتوكول إثبات ملكية العنوان، مثل «إيدج والت»(EdgeWallet). من وجهة نظرهم، لا يعرض بروتوكول إثبات ملكية العنوان المزيد من خصوصية المستخدم للخطر، بل يمكنه أن يساعد في تسهيل تداول العملات المشفرة بشكل أكبر. لأن، إذا لم يتمكن المستخدم من إثبات أن عنوان المحفظة الخارجية يخصه، فلن تسمح بعض المنصات الخاضعة للتنظيم للمستخدمين بسحب الأموال إلى هذا العنوان الخارجي.\n\nفي البداية، لم تقم محفظة الأجهزة الشهيرة «تريزور»(Trezor) بحذف دعم بروتوكول إثبات ملكية العنوان، لكنها فيما بعد اضطرت إلى التنازل وحذفت الدعم تحت ضغط من المجتمع والمستخدمين على تويتر.\n\nكما ترى، مجرد هذه النقطة الصغيرة كانت مهمة للغاية بالنسبة للبعض من حيث الخصوصية. هذا لا يعني أننا يجب أن نتحدى التنظيم ونتجاهل الامتثال والأمان. في الواقع، من وجهة نظري، فإن التسوية المناسبة للامتثال والأمان ضرورية. لن أخوض في هذا الموضوع أكثر من ذلك، يمكنك فهمه بالطريقة التي تريحك.\n\nبهذا، نكون قد انتهينا من تقديم المحتوى الرئيسي المتعلق بجوانب الأمان في التمويل اللامركزي.\n\nبالإضافة إلى ما سبق، هناك مشكلات أمنية جديدة أو متغيرة قد تنشأ في المستقبل. نحن غالبًا نقول \"الأمان ديناميكي، وليس ثابتًا\"، وهذا ما نعنيه. على سبيل المثال، العديد من المشاريع الآن تقوم بإجراء تدقيقات أمنية ولديها تقارير تدقيق أمني جيدة، ولكن إذا قرأت تقريرًا ذا جودة عالية بعناية، ستجد أنه يوضح بوضوح نطاق الوقت الذي تم فيه التدقيق وما تم تدقيقه بالتحديد. يشمل التقرير العلامات الفريدة للمحتوى (مثل عنوان التحقق من سلسلة الكتل المفتوحة أو عنوان الالتزام في مستودع «جيت هب»(GitHub) أو تجزئة ملف الكود الهدف). لذا، التقرير هو وثيقة ثابتة، وإذا وجدت أن المشروع المستهدف لا يتطابق مع ما هو موصوف في التقرير، يمكنك الإشارة إلى ذلك.\n\n### أمان الرموز غير القابلة للاستبدال الـ NFT\n\nكل ما تم ذكره سابقًا عن أمان التمويل اللامركزي يمكن تطبيقه تقريبًا على أمان الرموز غير القابلة للاستبدال، ولكن لدى الرموز الغير قابلة للاستبدال نقاط أمان فريدة مثل:\n\n* أمان البيانات الوصفية «ميتا داتا»(Metadata)\n* أمان التوقيع «سيجنيتشر»(Signature)\n\nالبيانات الوصفية تشير بشكل أساسي إلى الصور والرسوم المتحركة وغيرها من المحتويات. يمكن الرجوع إلى المعايير المحددة للبيانات الوصفية التي أصدرتها «أوبن سي»(OpenSea):\n\n>https://docs.opensea.io/docs/metadata-standards\n\nهناك مشكلتان رئيسيتان تتعلقان بالأمان يمكن أن تنشأ هنا:\n\n* الأولى هي أن معرف الموارد الموحد الـ«يو آر آي»(URI) الذي يحتوي على الصورة (أو الرسوم المتحركة) قد يكون غير موثوق به، مثل أي خدمة مركزية عشوائية، والتي من جهة تكون غير مستقرة، ومن جهة أخرى يمكن لمشغلي المشروع تعديل الصورة كما يريدون، مما يلغي قيمة المقتنيات الرقمية الرموز غير القابلة للاستبدال. بشكل عام، يتم استخدام تخزين لامركزي مثل «آي بي إف إس»(IPFS) و «أرويف»(Arweave)، بالإضافة إلى خدمات بوابة معرف الموارد الموحد الـ«يو آر آي» المعروفة. \n* المشكلة الأخرى هي إمكانية التسبب في تسريب الخصوصية، حيث يمكن لأي معرف الموارد الموحد الـ«يو آر آي»عشوائي جمع البيانات الأساسية للمستخدمين (مثل عنوان «آي بي»(IP)، و «يوزر-أيجنت»(User-Agent)، وغيرها).\n\nمشكلات أمان التوقيع خطيرة جدًا، وسنفصلها فيما يلي.\n\n### احذر التوقيع!\n\nأمان التوقيع هو أمر أود أن أشير إليه بشكل خاص، لأن هناك الكثير من الفخاخ في بروتوكولات التوقيع، وقد وقعت بالفعل عدة حوادث أمنية، خاصة تلك المتعلقة بـالرموز غير القابلة للاستبدال. لكنني لاحظت أن الكثير من الناس لا يزالون غير قادرين على التعامل مع هذه المشكلة الأمنية بشكل جيد. السبب في ذلك هو أن هناك عددًا قليلاً فقط من الناس الذين يوضحون هذه المشكلة الأمنية بشكل كافٍ.\n\nفي أمان التوقيع، يجب الالتزام بأهم مبدأ أمني: \"ما تراه هو ما توقعه\". بمعنى أن المحتوى الذي تراه هو بالضبط ما تتوقع أن توقع عليه، وعندما ترسل التوقيع، يجب أن تكون النتيجة كما تتوقعها، وليس شيئًا تندم عليه لاحقًا.\n\nبعض المحتويات المتعلقة بأمان التوقيع تم ذكرها في جزء \"المحافظ الباردة\". إذا كنت لا تتذكرها جيدًا، يُنصح بمراجعتها. هنا سأركز على المحتويات المختلفة.\n\nفي عام 2022، ظهرت عدة حوادث سرقة لـرمز غير قابل للاستبدال شهيرة التي يمتلكها المستخدمون على منصة «أوبن سي»(OpenSea)، وخاصة في 20 فبراير 2022. السبب الأساسي وراء هذه الحوادث كان:\n\n* قيام المستخدمين بتفويض الـرموز غير القابلة للاستبدال (عرضها للبيع) على «أوبن سي».\n* حصول القراصنة على توقيعات المستخدمين عبر التصيد الاحتيالي.\n\nيمكن العثور على تفسير أكثر دقة لهذه الحوادث هنا (لسبب ما، الرابط أدناه لم يعد يعمل، وحساب تويتر المرتبط أيضًا لم يعد موجودًا):\n>https://twitter.com/Nesotual/status/1495223117450551300\n\nللحصول على هذا التوقيع ذي الصلة، ليس الأمر صعبًا في الواقع. يحتاج المخترق إلى تكوين المحتوى الصحيح المراد توقيعه، وبعد التجزئة، يقوم بخداع المستخدم المستهدف لإكمال التوقيع (هنا يكون التوقيع الأعمى، مما يعني أن المستخدم في الواقع لا يعرف بالضبط ما الذي يوقع عليه). بعد الحصول على المحتوى الموقع، يقوم المخترق بتكوين البيانات المستخدمة لتحقيق الاستغلال.\n\nسأشرح هنا بالتفصيل باستخدام أحد أسواق الـرموز غير القابلة للاستبدال (ليس بالضرورة «أوبن سي»(OpenSea)). عندما يمنح المستخدم المستهدف الإذن لنشر الرموز غير القابلة للاستبدال على السوق، يقوم المهاجم بإنشاء المحتوى المراد توقيعه، وبعد التجزئة باستخدام «كيك 256»(Keccak256)، يتم عرض المحتوى المراد توقيعه للمستخدم على صفحة تصيد، فيرى المستخدم في هذه اللحظة ما يلي:\n\n<img src=\"res/metamask_sign.jpg\" width=\"360\">\n\nإذا نظرت عن كثب، ماذا يمكن أن ترى في هذه النافذة المنبثقة من «ميتا ماسك»(MetaMask)؟ الحساب والرصيد، موقع الويب الذي يطلب التوقيع، الرسالة التي يتم توقيعها، هذا كل شيء... مع هذه المعلومات فقط، كيف يمكن للمستخدم أن يخطر بباله أنه بمجرد النقر على \"توقيع\" ستحدث كارثة وأن الرموز غير القابلة للاستبدال الخاص به يمكن سرقته؟\n\nفي الواقع، هذا هو نوع من التوقيع الأعمى. لا يحتاج المستخدم إلى التوقيع في سوق الرموز غير القابلة للاستبدال، بل يمكن خداعه للتوقيع في أي موقع ويب (موقع تصيد)، بينما لا يعرف المستخدم المعنى الفعلي لهذه التوقيعات، للأسف، يعرفه المخترق. بالنسبة للمستخدم، ما عليه سوى تذكر: رفض التوقيع الأعمى. كان لدى «أوبن سي»(OpenSea) حالة من التوقيع الأعمى سابقًا، ولكن بعد 20 فبراير 2022، تم تحسينه باستخدام «إي آي بي-712»(EIP-712). ولكن حتى لو لم يكن التوقيع أعمى، لا يزال هناك مستخدمون سيكونون غير حذرين.\n\nلماذا يحدث هذا؟ السبب الجوهري هو أن التوقيع لا يخضع لسياسة نفس الأصل في المتصفح. يمكنك ببساطة فهمها على هذا النحو: سياسة نفس الأصل تضمن أن يتم إجراء أي إجراء تحت نطاق محدد ولا يحدث عبر النطاقات، إلا إذا كانت الجهة المطورة ترغب في حدوث ذلك عبر النطاقات. إذا كان التوقيع يخضع لسياسة نفس الأصل، فلن يتمكن المخترق من استخدام توقيع ناتج عن نطاق غير مستهدف في هجوم تحت نطاق مستهدف، حتى إذا قام المستخدم بالتوقيع. لن أتعمق في هذا الموضوع هنا، ولكنني لاحظت وجود مسودة جديدة لتحسين الأمان على مستوى البروتوكول، وأتمنى أن يتم تحسين هذه الحالة قريبًا.\n\nطرق الأمان الخاصة بالتوقيع التي تم ذكرها تغطي الأساليب الرئيسية، ولكن هناك العديد من الأنواع المتحورة. ومع ذلك، في النهاية، لا تختلف عن بعضها كثيرًا في الأساس. أفضل طريقة لفهمها بعمق هي إعادة إنشاء الهجوم من البداية إلى النهاية بنفسك، وربما ابتكار بعض أساليب الهجوم الفريدة. على سبيل المثال، فيما يتعلق بالتوقيع، هناك العديد من التفاصيل، مثل كيفية تكوين المحتوى المراد توقيعه، ما هو محتوى التوقيع؟ بالإضافة إلى طريقة الموافقة «أبروف»(approve)، هل هناك طرق أخرى (نعم، مثل «إنكريس ألاونس»(increaseAllowance)). حسنًا، سيكون التوسع في هذا الأمر تقنيًا جدًا. على أي حال، من الجيد أنك تدرك أهمية التوقيع.\n\nبالنسبة للمستخدمين، يمكن أن يكون إلغاء التفويض «أبروف»(approve) هو أحد الطرق الممكنة لمكافحة هذا النوع من الهجمات من المصدر. يمكنك استخدام الأدوات المعروفة التالية للقيام بذلك:\n\n* الـ«توكن أبرولز»(Token Approvals)\n    >https://etherscan.io/tokenapprovalchecker<br>\n    >هي أداة لتفحص وإلغاء التصاريح مقدمة من المتصفح الرسمي لإيثريوم. السلسلة الأساسية من سلسلة الكتل إيثريوم تشبه إلى حد كبير بعضها البعض، لأن متصفحاتهم تم تطويرها في الغالب من قبل «إيثرسكان»(Etherscan)، مثل:<br>\n    >https://bscscan.com/tokenapprovalchecker<br>\n    >https://hecoinfo.com/tokenapprovalchecker<br>\n    >https://polygonscan.com/tokenapprovalchecker<br>\n    >https://snowtrace.io/tokenapprovalchecker<br>\n    >https://cronoscan.com/tokenapprovalchecker\n\n* الـ Revoke.cash\n    >https://revoke.cash/<br>\n    >좋은 평판과 점점 더 강력해지는 멀티 체인 지원.\n\n* محفظة «رابي»(Rabby) الإضافية\n    >https://rabby.io/<br>\n    >هي إحدى المحافظ التي نتعاون معها كثيرًا في مجال الأمان. لقد لاحظت أن ميزتهم \"تفحص وإلغاء التصاريح\" تدعم مجموعة إيثريوم أكثر من أي محفظة أخرى رأيتها...\n\n:warning:**تنبيه**: إذا كنت ترغب في الحصول على فهم أكثر شمولية وعمقًا حول أمان التوقيع، يمكنك الاطلاع على التوسعات والإضافات الموجودة في المستودع الخاص بي أدناه:\n\n> https://github.com/evilcos/darkhandbook<br>\n> لا بد لي من الاعتراف بأن معرفة نقاط الأمان للتوقيع تعتبر غير ودية للغاية للمبتدئين. هذا المستودع يجمع العديد من المحتويات ذات الصلة، يمكنك تصفحها بنفسك. إذا تمكنت من فهمها جميعًا، فأنا أؤمن بأن معرفة الأمان في هذا المجال لن تكون عبئًا عليك بعد الآن :)\n\n### احذر من التوقيعات غير البديهية!\n\nلم ينته الأمر بعد، أود أن أذكر نوعًا خاصًا من المخاطر: مخاطر التوقيعات غير البديهية.\n\nما هو التوقيع غير البديهي؟ على سبيل المثال، أنت على دراية تامة بإيثريوم وتلعب بأنواع مختلفة من التمويل اللامركزي والرموز غير القابلة للاستبدال لدرجة أن المبتدئين ينظرون إليك كخبير. في هذا الوقت، تبدأ في استخدام «سولانا»(Solana) وتواجه أيضًا مواقع تصيد، لكنك لا تخاف وتبتسم بازدراء: \"لقد تعاملت مع هذه الأشياء في نظام إيثريوم البيئي، كيف يمكن أن أقع في الفخ؟\"\n\nعذرًا، لكن المخترقون يضحكون، لقد وقعت في الفخ بالفعل. لأنه كان هناك عملية غير بديهية، والبشر لديهم العادات أو الكسل الذي يجعلك تتهاون وتفقد الحذر.\n\nحسنًا، دعونا نلقي نظرة على هذا المثال الواقعي لعملية غير بديهية.\n\n<img src=\"res/solana_nft_phishing.jpg\" width=\"800\">\n\nفي 5 مارس 2022، تم إصدار تحذير أمني: التصيد الاحتيالي في «سولانا»(Solana) أصبح أكثر قسوة. يقوم المهاجمون بإسقاط الرموز غير القابلة للاستبدال للمستخدمين بالجملة (الصورة 1). المستخدم يدخل إلى الموقع المستهدف عبر الرابط الموجود في وصف الرمز غير القابل للاستبدال المسقط (www_officialsolanarares_net)، ثم يقوم بتوصيل محفظته (الصورة 2) والنقر على تعدين «Mint»، ليظهر صندوق الموافقة (الصورة 3). لاحظ، لا يحتوي صندوق الموافقة هذا على أي تنبيه خاص، وعند الموافقة، يتم تحويل جميع عملة «سول»(SOL) الموجودة في المحفظة.\n\nعند النقر على \"موافقة\"، سيتفاعل المستخدم مع العقد الخبيث الذي نشره المهاجم: 3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8v\n\nوظيفة هذا العقد الخبيث في النهاية هي بدء تحويل عملة «سول»(SOL)، حيث يتم تحويل معظم عملة «سول»(SOL) من محفظة المستخدم. من خلال معلومات سلسلة الكتل، يبدو أن هذا النشاط الاحتيالي مستمر منذ عدة أيام، وعدد الضحايا في تزايد مستمر.\n\nهناك نقطتان يجب الانتباه لهما:\n1. بعد موافقة المستخدم «أبروف»(approve) على العقد الخبيث، يمكنه تحويل الأصول الأصلية للمستخدم (هنا عملة SOL)، هذا الأمر غير ممكن في إيثريوم، حيث لا يمكن لعمليات التصيد الاحتيالية بالإيثريوم سحب الأصول الأصلية (ETH) ولكن يمكنها سحب العملات عليه. هذا يؤدي إلى وجود ظاهرة «انتهاك المعرفة العامة»، مما يجعل المستخدمين أكثر عرضة للوقوع في الفخ.\n2. محفظة «سولانا»(Solana) الأكثر شهرة، «فانتوم»(Phantom)، تحتوي على ثغرة في آلية الأمان «ما تراه هو ما توقعه» (لم يتم اختبار المحافظ الأخرى)، حيث لا توفر تنبيهات كاملة عن المخاطر للمستخدم. هذا يمكن أن يخلق ثغرات أمنية بسهولة، مما يؤدي إلى فقدان المستخدمين لعملاتهم.\n\n### بعض طرق الهجوم المتقدمة\n\nهناك بالفعل العديد من طرق الهجوم المتقدمة، وغالباً ما يتم تبسيطها في نظر العامة إلى «لقد تعرضت لعملية تصيد احتيالي». لكن هذا التصيد يمكن أن يكون متقدماً للغاية، على سبيل المثال:\n\n>https://twitter.com/Arthur_0x/status/1506167899437686784\n\nيقوم المهاجم بإرسال رسائل تصيد عبر البريد الإلكتروني، وتتضمن الرسالة مستندًا:\n>A Huge Risk of Stablecoin (Protected).docx\n\nهذه بالفعل وثيقة جذابة للغاية... ولكن بعد فتح هذه الوثيقة قد يتم زرع حصان طروادة في جهاز الكمبيوتر (عادةً من خلال أسلوب وحدات الماكرو في Office أو ثغرات 0day/1day). وعادةً ما تتضمن هذه الأنواع من أحصنة طروادة الوظائف الاعتيادية التالية:\n\n* جمع مختلف أنواع بيانات الاعتماد، مثل تلك المتعلقة بالمتصفح و بـSSH، مما يتيح للمخترق الوصول إلى خدمات أخرى تخص المستخدم المستهدف. لذا، بعد الإصابة بالفيروس، يُنصح عادةً المستخدم بتنظيف الجهاز المستهدف بشكل كامل وتغيير صلاحيات الحسابات ذات الصلة بشكل فوري.\n* تسجيل ضغطات المفاتيح، خاصة تلك التي تلتقط المحتويات الحساسة المؤقتة مثل كلمات المرور.\n* التقاط لقطات الشاشة وجمع الملفات الحساسة.\n* إذا كان الفيروس من نوع الفدية، فإنه يقوم بتشفير الملفات على الجهاز المستهدف، في انتظار أن يدفع الضحية الفدية، والتي عادةً ما تكون بالبيتكوين. لكن هنا ليس الفيروس من نوع الفدية، حيث أن هذا النوع يتسم بالوضوح والقوة في نواياه العدائية.\n\nبالإضافة إلى ذلك، تقوم أحصنة طروادة المخصصة لمجال العملات المشفرة بتنفيذ استغلال خاص، مثل جمع المعلومات الحساسة من المحافظ الشهيرة ومنصات التداول، بهدف سرقة العملات. وبحسب التحليل المهني، فإن أحصنة طروادة المذكورة أعلاه تتضمن هجمات موجهة خصيصاً ضد MetaMask:\n\n>https://securelist.com/the-bluenoroff-cryptocurrency-hunt-is-still-on/105488/\n\nحصان طروادة سيقوم باستبدال «ميتا ماسك»(MetaMask) الخاص بالمستخدم بنسخة تحتوي على باب خلفي. وجود باب خلفي في «ميتا ماسك» يعني أن العملات المشفرة التي تستخدمها فيه لم تعد ملكك. حتى إذا كنت تستخدم محفظة أجهزة مرافقة، فإن «ميتا ماسك» ذو الباب الخلفي سيقوم بتنفيذ سرقة العملات من خلال تغيير عنوان الوجهة والمبلغ.\n\nهذا النوع من الهجمات يستهدف بشكل خاص الأشخاص المشهورين الذين يظهرون ثروتهم. الظاهرة التي لاحظتها هي أن بعض الشخصيات البارزة يكونون متكبرين جدًا، ولذلك فإن اختراقهم هو مسألة وقت فقط. بعد التعرض للاختراق، يتعلم الكثيرون من الدروس المؤلمة ويقومون بمراجعة شاملة وتحسينات، ويتعاونون على المدى الطويل مع خبراء أمنيين موثوقين أو مؤسسات متخصصة.\n\nومع ذلك، هناك دائمًا استثناءات. بعض الأفراد أو المشاريع قد يتعرضون للاختراق مرة، ثم مرة ثانية وثالثة. إذا كانت كل عملية اختراق ناتجة عن مواجهة خصم قوي، فأنا أكن لهؤلاء الأفراد أو المشاريع احترامًا كبيرًا وأسميهم روادًا، ولديهم فرصة كبيرة للتطور مستقبلاً. للأسف، الكثير من حالات الاختراق تحدث بسبب أخطاء بسيطة وقابلة للتكرار، وهذا أمر غير مفهوم. أنصح بالابتعاد عن هؤلاء الأشخاص أو المشاريع.\n\nهذا النوع من هجمات التصيد الاحتيالي التي تعتمد على النشر الواسع عادة ما يكون أسلوبها بسيطًا. تتضمن هذه الهجمات إعداد مجموعة من مواقع التصيد التي تشبه في اسمها النطاقات الأصلية، وشراء حسابات على منصات التواصل الاجتماعي مثل تويتر لنشر الروابط. إذا تم استخدام الأساليب والتقنيات المناسبة في الوقت المناسب، فإن العديد من المستخدمين يقعون في الفخ.\n\nهذا النوع من التصيد الاحتيالي ليس له شيء مميز، حيث يعتمد بشكل أساسي على إقناع المستخدمين بالموافقة على عمليات تفويض لمحافظهم لسرقة الرموز المميزة بما في ذلك الرموز غير القابلة للاستبدال، ومن ثم سرقتها بطريقة مباشرة.\n\nهناك أيضًا بعض الهجمات المتقدمة، مثل الجمع بين تقنيات «إكس إس إس»(XSS) و «سي إس آر إف»(CSRF) والوكيل العكسي (Reverse Proxy) لجعل الهجوم بأكمله أكثر سلاسة وانسيابية. لا يمكننا مناقشة كل شيء هنا، لذا يمكننا الحديث بشكل خاص عن نقطة استغلال دقيقة جدًا (هجوم الرجل الوسيط عبر «كلاودفلير»(Cloudflare))، والتي تتعلق بسيناريوهات الوكيل العكسي (Reverse Proxy). وقد حدثت بالفعل هجمات سرقة عملات حقيقية باستخدام هذه النقطة، وكانت مخفية للغاية.\n\nالمشكلة هنا ليست أن «كلاودفلير»(Cloudflare) نفسها تقوم بأفعال ضارة أو تعرضت للاختراق، بل تكمن المشكلة في استخدام المشروع لـ«كلاودفلير» وسرقة صلاحيات حساب المشروع. العملية بشكل عام هي كالتالي: إذا كان موقعك يستخدم خدمات «كلاودفلير»، يمكنك ملاحظة ميزة «ووركرز»(Workers) في لوحة التحكم. وقد وصف المسؤولون عن «كلاودفلير» ميزة الـ«ووركرز» بأنها:\n\nبناء تطبيقات بدون خوادم ونشرها فورًا على مستوى العالم، مما يوفر أداءً فائقًا، وموثوقية، وقابلية للتوسع. لمزيد من المعلومات، يمكنك الرجوع إلى:<br>\n>https://developers.cloudflare.com/workers/\n\nلقد قمت بإنشاء صفحة اختبار منذ فترة طويلة:\n\n>https://xssor.io/s/x.html\n\nعند زيارتك ستظهر نافذة منبثقة، ومحتواها هو:\n\n>xssor.io, Hijacked by Cloudflare.\n\nفي الواقع، هذه النافذة المنبثقة، بل حتى محتوى ملف (x.html) بالكامل، ليست من الملف نفسه، بل هي مقدمة من Cloudflare. يمكن رؤية المبدأ في الصورة أدناه:\n\n<img src=\"res/cloudflare_worker.png\" width=\"800\">\n\nالكود في لقطة الشاشة بسيط للغاية: إذا كنت مخترقًا وتمكنت من السيطرة على حسابك في «كلاودفلير»(Cloudflare)، يمكنني استخدام خاصية «ووركرز»(Workers) لحقن أي برنامج خبيث في أي صفحة. في هذه الحالة، سيكون من الصعب على المستخدمين إدراك أن الصفحة المستهدفة تم اختراقها وتعديلها بهذه الطريقة السرية، حيث لن تكون هناك أي إشارات إلى حدوث خطأ (مثل خطأ في شهادة «إتش تي تي بي إس»(HTTPS))، وحتى فريق المشروع نفسه قد لا يدرك وجود مشكلة في البداية، مما قد يؤدي إلى إنفاق الكثير من الوقت في فحص الأمان على الخوادم والأفراد وغير ذلك. وعند إدراك المشكلة، ستكون الأضرار قد وقعت بالفعل.\n\nفي الواقع، «كلاودفلير»(Cloudflare) خدمة جيدة للغاية، حيث تستخدمها العديد من المواقع أو خدمات الويب كجدار ناري لحماية الويب، ومواجهة هجمات «دي دوس»(DDoS)، وتسريع «سي دي إن»(CDN) على مستوى العالم، وتوفير خدمات الوكيل العكسي. نظرًا لتوفرها بنسخة مجانية، فإن لديها عددًا كبيرًا من المستخدمين. توجد خدمات مشابهة لـ«كلاودفلير» مثل «أكامي»(Akamai) وغيرها.\n\nيجب على المستخدمين الانتباه إلى أمان حساباتهم من هذا النوع، فمشكلة أمان الحسابات كانت محل نقاش مستمر منذ بداية الإنترنت على مستوى العالم، ويبدو أن الحديث عنها لا ينتهي. ولكن لا مفر من ذلك، لأن الكثير من الناس ما زالوا يتعرضون للاختراق بسبب أمان الحسابات. على سبيل المثال، استخدام كلمات مرور قوية وفريدة للخدمات الهامة ليس بالأمر الشائع كما ينبغي (تظل نسبة انتشار برامج إدارة كلمات المرور مثل «ون باسوورد»(1Password) منخفضة). وأيضًا، البعض يتكاسل عن تفعيل المصادقة الثنائية أو حتى لا يعرف بوجودها أو كيفية استخدامها. ناهيكم عن أنه يجب على المستخدمين إعادة تعيين كلمات المرور على الأقل مرة واحدة في السنة لبعض الخدمات.\n\nحسنًا، كانت هذه لمحة عن بعض أساليب الهجمات المتقدمة. بالنسبة لك، يكفي أن تدرك أن هذا المجال يشبه «الغابة المظلمة». كلما كان بإمكانك، حاول تعلم المزيد عن الأساليب المختلفة والمتنوعة للهجمات. بعد رؤية العديد من هذه الهجمات، بل وربما الوقوع في بعض الفخاخ بنفسك، يمكنك على الأقل أن تصبح شخصًا على دراية بأمان الشبكات حتى لو لم تكن متخصصًا محترفًا. إنه دور مفيد جدًا، فالمعرفة لا تضرك أبدًا.\n\n## حماية الخصوصية التقليدية\n\nليس سهل، لقد وصلت إلى هذا النقطة. حماية الخصوصية التقليدية موضوع قديم. في عام 2014، كتبت مقالاً عن هذا الموضوع:\n\n>الإنفجار الكبير للخصوصية، عليك أن تتعلم بعض الحيل لحماية نفسك<br>\n>https://evilcos.me/yinsi.html\n\nعند إعادة قراءة هذه المقالة، ستجد أن الغالبية العظمى من النصائح لم تتغير مع الزمن. لأنها كانت تعتبر مدخلًا بسيطًا عندما نُشرت في البداية. الآن، سأبدأ بتقديم شئ جديد. في الواقع، حماية الخصوصية مرتبطة بشكل وثيق بالأمان. هنا يمكنك اعتبارها كحماية لأمانك الشخصي. ما الذي نحميه؟ بالطبع، نحمي خصوصيتك، مثل المفتاح الخاص بك الذي يعتبر نوعًا من الخصوصية. بالإضافة إلى ذلك، لا تعتقد أن هذه الأفكار التقليدية غير مهمة، لأنها تشكل الأساس. إذا لم يكن الأساس آمنًا، وإذا كانت خصوصية الأساس مفقودة، فإن البنية العليا ستكون هشة وغير مستقرة، كما أن استقرارها سيكون مهددًا.\n\nهنا يوجد مصدران مهمان أوصي بهما بشدة:\nالأول هو:\n\n>الدفاع عن النفس ضد المراقبة<br>\n>نصائح وأدوات وإرشادات للاتصالات عبر الإنترنت بشكل أكثر أمانًا<br>\n>https://ssd.eff.org/\n\nالـ SSD (الدفاع عن النفس ضد المراقبة) هي مبادرة أطلقتها مؤسسة الحدود الإلكترونية الـ EFF الشهيرة، والتي تقدم دليلاً متخصصاً يشرح لك كيفية تجنب مراقبة «الأخ الأكبر» في عالم الإنترنت. يتضمن الدليل العديد من الأدوات المفيدة مثل «تور»(Tor) و «واتسآب» و«سيجنال»(Signal) و«بي جي بي»(PGP) وغيرها.\n\nالثاني هو:\n\n>دليل الخصوصية: مكافحة المراقبة باستخدام التشفير وأدوات الخصوصية<br>\n>https://www.privacytools.io/\n\nهذا الموقع متخصص في سرد الأدوات ذات الصلة، وهو شامل للغاية. هل رأيت ذلك؟ يوصي أيضًا بمنصات تداول العملات المشفرة والمحافظ وغيرها. لاحظ أن العديد من الأدوات المدرجة في الموقع لا أستخدمها كثيرًا، لأن لدي طريقتي الخاصة، ويجب عليك أيضًا تطوير طريقتك الخاصة بشكل تدريجي، من خلال المقارنة والتحسين المستمر.\n\nهنا سأركز على الأدوات التي أعتقد أنه يجب عليك إتقانها أو استخدامها بأي حال من الأحوال.\n\n### أنظمة التشغيل\n\nنظام الـ«ويندوز 10» (والإصدارات الأحدث) و نظام الـ«ماك أو إس» يتمتعان بمستوى أمان مرضٍ للغاية، ويمكنك اختيار أي منهما. يمكنك أيضًا استخدام نظام «لينكس»(Linux) بحرية، مثل «أوبونتو»(Ubuntu)، أو أنظمة التشغيل المتقدمة في الخصوصية والأمان مثل «تايلز»(Tails) و «وونيكس»(Whonix).\n\nالمبدأ الأسهل للأمان في أنظمة التشغيل هو: إعطاء الأولوية لتحديثات أمان النظام، وعندما تتوفر تحديثات أمان، يجب التحديث فوراً. ثم تعلم بعض مهارات الاستخدام، حيث يقول الكثير من الناس إن استخدام حواسيب الـ«ويندوز» و الـ«ماك» لا يحتاج إلى مهارات تعلم. هل يكفي النقر هنا وهناك؟ بالطبع لا. بالنسبة للمبتدئين في الأمان، فإن تثبيت برنامج مضاد للفيروسات هو خطوة أساسية، مثل «كاسبرسكي»(Kaspersky) أو «بيت ديفيندر»(BitDefender) اللذين يتمتعان بسمعة طيبة، ويوجد منهما إصدارات لـنظام الـ«ماك» أيضًا.\n\nتذكر مبادئ الأمان عند التنزيل، التي ذُكرت سابقاً. عدم تحميل البرامج العشوائية يقلل معظم المخاطر بالفعل.\n\nيمكنك التفكير، ماذا لو فُقد هذا الكمبيوتر أو سُرق؟ وجود كلمة مرور لبدء التشغيل فقط ليس كافياً، إذا لم يكن القرص مشفرًا ومحميًا، يمكن للسارق أن يزيل القرص الصلب ويأخذ البيانات منه بسهولة. في هذه الحالة، أوصي بتشفير القرص الصلب للكمبيوتر المهم:\n\n>https://docs.microsoft.com/zh-cn/windows/security/encryption-data-protection<br>\n>https://support.apple.com/zh-cn/HT204837\n\nهناك أيضًا أدوات قوية لتشفير القرص مثل «فيرا كريبت»(VeraCrypt)، والتي كانت تُعرف سابقًا باسم «ترو كريبت»(TrueCrypt). إنها أداة مشهورة وقوية للغاية. إذا كنت مهتمًا، يمكنك التعرف عليها والتكيف معها:\n\n>https://veracrypt.fr/\n\nإذا أردت زيادة الأمان بشكل أكبر، يمكنك تفعيل كلمة مرور «بايوس»(BIOS) أو كلمة مرور البرنامج الثابت. هذا يعتمد على قرارك الشخصي، لكنني شخصيًا قمت بتفعيلة. ومع ذلك، يجب عليك حفظ كلمات المرور هذه بشكل جيد، لأن نسيانها قد يجعل من المستحيل استعادة الوصول، حتى بالنسبة للمختصين.\n\nلقد وقعت في هذا الفخ بنفسي سابقًا. وبعد التفكير مليًا، أدركت أنني أضعت حاسوبًا محمولًا، وبعض العملات المشفرة، وأسبوعًا من الوقت. لكنني اكتسبت خبرة ثمينة من هذا الخطأ.\n\n### الهواتف المحمولة\n\nالهواتف المحمولة تتضمن بشكل رئيسي أجهزة «آيفون» وسلسلة هواتف «أندرويد»، ولا يوجد غيرها. مثل هاتفي المفضل السابق، «بلاكبيري»(Blackberry)، الذي تم إقصاؤه من قبل الزمن. كانت أمان هواتف «أندرويد» في الماضي مثيرة للقلق، ويرجع ذلك جزئيًا إلى مرحلة التطوير المبكرة، وأيضًا إلى تنوع الإصدارات وتجزئتها، حيث كان لكل علامة تجارية نسختها الخاصة. لكن الآن، تحسنت الأمان بشكل ملحوظ.\n\nفيما يتعلق بالهواتف المحمولة، يجب أيضًا أن تُعطى الأولوية لتحديثات الأمان الخاصة بالنظام ومبادئ الأمان عند التنزيل. بالإضافة إلى ذلك، يجب الحذر من النقاط التالية:\n\n* لا تقم بعملية كسر الحماية «جيلبريك»(Jailbreak) أو الـ«روت»(Root) إلا إذا كنت تشتغل في مجال الأبحاث الأمنية، فلا داعي لذلك. وإذا كنت تفعل ذلك من أجل الحصول على برامج مقرصنة، فإن الفائدة تعتمد على قدرتك على التحكم بها.\n* لا تقم بتحميل التطبيقات من الأسواق غير الرسمية، كما ذكرت سابقًا، إلا إذا كنت قادرًا على التعامل معها. وحتى التطبيقات التي تُحمل من الأسواق الرسمية قد تكون مزيفة في بعض الأحيان، لذا كن حذرًا في التمييز بينها.\n* استخدام المزامنة السحابية الرسمية يعتمد على أنك واثق من أمان حسابك، وإلا فإن تعرض السحابة للاختراق يعني أن هاتفك قد يواجه مشكلة.\n\nفيما يتعلق بالهواتف، شخصيًا أعتمد أكثر على «آيفون». كما أنني أجهز على الأقل حسابين في «آي كلاود»(iCloud)، واحد لمنطقة الصين والآخر لمنطقة خارجية، وذلك لتثبيت التطبيقات التي تفرض قيودًا حسب المنطقة (قد يبدو ذلك غريبًا، لكن هذه هي الحقيقة).\n\n### الشبكات\n\nفيما يتعلق بالأمان على الشبكة، كان الوضع سيئًا للغاية في الماضي، لكنه تحسن تدريجيًا في السنوات الأخيرة، خاصة بعد انتشار استراتيجية «إتش تي تي بي إس إيفريوير»(HTTPS Everywhere). إذا حدثت بالفعل عملية اختراقات للشبكة (هجوم رجل في المنتصف)، فإن النظام سيعطي ردود فعل بالأخطاء المناسبة. ولكن لكل قاعدة استثناء، لذا في الأمور المتعلقة بالشبكة، إذا كان هناك خيار آمن فمن الأفضل اختياره. على سبيل المثال، لا تتصل بشبكات الـ Wi-Fi غير معروفة بشكل عشوائي، خصوصًا مع انتشار الشبكات ذات الأمان العالي مثل 4G/5G، إلا في حالة ضعف الإشارة والحاجة الماسة لاستخدامها.\n\nإذا كنت مهووسًا بالأمان، يمكنك التفكير في استخدام شبكة مستقلة لأجهزتك الحساسة والمهمة جدًا. اختر أجهزة توجيه (الراوتر) ومشغلين ذو سمعة جيدة، وتجنب البحث عن الأرخص. وادعُ الله أن لا تحدث أي أعمال اختراقات على مستوى أجهزة التوجيه أو المشغلين.\n\n### المتصفحات\n\nفيما يتعلق بالمتصفحات، فإن الأكثر شيوعًا هي متصفح «كروم»(Chrome)و «فايرفوكس»(Firefox). في صناعة العملات المشفرة، هناك من يستخدم الـ«بريف»(Brave)، وهو أيضًا خيار جيد. المتصفحات ذات الشهرة العالية والفريق القوي تتلقى تحديثات أمنية بشكل أسرع. موضوع أمان المتصفحات واسع جدًا، ولكن بالنسبة لك، يجب أن تركز على النقاط التالية فقط:\n\n* قم بتحديث المتصفح فور توفر التحديثات، ولا تعتمد على الحظ.\n* لا تقم بتثبيت الإضافات إلا إذا كانت ضرورية، وعند تثبيتها، تحقق من سمعتها، عدد المستخدمين، والشركة المطورة لها. كن حذرًا من الأذونات التي تطلبها الإضافات، وتأكد من أن الإضافات تأتي من متجر التطبيقات بالمتصفح.\n* يمكن استخدام عدة متصفحات معًا، ومن الأفضل أن تجري العمليات الهامة على متصفح واحد، بينما تستخدم متصفحًا آخر للأنشطة العادية وغير الهامة.\n* هناك بعض الإضافات المعروفة بحماية الخصوصية (مثل uBlock Origin، HTTPS Everywhere، ClearURLs وغيرها)، يمكنك استخدامها حسب تفضيلاتك الشخصية.\n\nعلى متصفح «فايرفوكس»، ما زلت أستخدم «نو سكريبت»(NoScript)، وهي إضافة قديمة تعتبر أداة رائعة. الـ«نو سكريبت» يمكنها مقاومة الأضرار الناتجة عن الـ«جافاسكريبت» بشكل جيد، وكان في الماضي مشهورًا جدًا. الآن أصبحت المتصفحات أكثر أمانًا بفضل استراتيجيات الأمان مثل سياسة الأمان نفس الأصل (Same-Origin Policy)، سياسة أمان المحتوى (CSP)، سياسة أمان الكوكيز (Cookie Security Policy)، أمان رؤوس الـ إتش.تي.تي.بي (HTTP Security Headers)، وسياسات أمان الإضافات وغيرها. لقد ارتفعت مستويات الأمان في المتصفحات بشكل كبير ولا يمكن مقارنتها بالماضي. وبذلك، أصبح استخدام إضافات الأمان مثل «نو سكريبت» أقل أهمية، ولكن لا يزال من المفيد التعرف عليها إذا كنت مهتمًا.\n\n### مدير كلمات المرور\n\nإذا كنت لا تزال لا تستخدم مدير كلمات المرور، فإما أنك لا تعرف مدى الأمان والراحة الذي يوفره استخدامه، أو أنك تعتمد على ذاكرتك القوية. لكن الاعتماد على الذاكرة له مخاطره كما ذكرت سابقًا: أولاً، يمكن للوقت أن يضغف الذاكرة؛ ثانياً، قد تتعرض لحادث غير متوقع. بغض النظر، أوصي باستخدام مدير كلمات المرور لدعم ذاكرتك. من بين مديري كلمات المرور المشهورين: «ون باسوورد»(1Password) و «بيت ووردن»(Bitwarden).\n\nأنا لا أحتاج إلى شرح زائد عن هذا الجزء من المحتوى، فهناك العديد من الدروس المتوفرة بشكل كبير، حتى أنه يمكن استخدامه بسهولة دون الحاجة إلى دروس. ما أحتاج إلى تذكيركم به هو:\n\n* تأكد تماماً من عدم نسيان كلمة المرور الرئيسية الخاصة بك، ولا تدع معلومات حساب كلمة المرور الرئيسية تُسرق، وإلا فقد تخسر كل شيء. \n* تأكد تماماً من أمان بريدك الإلكتروني، إذا تم اختراق بريدك الإلكتروني، على الرغم من أن هذا لن يتسبب في تسريب المحتوى الحساس في مدير كلمات المرور الخاص بك، إلا أن المخترقون قد يتمكنون من تدمير هذه البيانات. \n* لقد قمت بالتحقق من أمان الأدوات التي ذكرتها (مثل «ون باسوورد»(1Password)) وأتابع دائماً الأحداث الأمنية وسمعتها وتطوراتها، ولكن لا يمكنني ضمان أمان هذه الأدوات بشكل مطلق، وخاصة لا يمكنني ضمان عدم حدوث أحداث غير متوقعة في المستقبل.\n \nهناك نقطة أقدرها كثيراً، مثل صفحة الأمان الخاصة بـ«ون باسوورد» التي تحتوي على مقدمة وشروحات:\n>https://1password.com/zh-cn/security/\n\nمن بين هذه المحتويات نجد تصميم الأمان، وشهادات الخصوصية والأمان المعترف بها، والورقة البيضاء لتصميم الأمان، وتقرير التدقيق الأمني. إن الشفافية في نشر هذه المعلومات تجعل من السهل على المتخصصين في هذا المجال إجراء التحقق اللازم. هذه النقطة جديرة بالتقدير ويجب أن تتعلم منها مشاريع أخرى.\n\nالـ«بيت ووردن»(Bitwarden) يقوم بعمل أفضل من ذلك، فهو مفتوح المصدر بالكامل، بما في ذلك الخادم، مما يتيح لأي شخص التحقق، والتدقيق، والمساهمة.\n\nهل لاحظت ذلك؟ إن نية «ون باسوورد» و«بيت ووردن» واضحة جداً:\n\n>أنا آمن وأهتم بالخصوصية، وليس هذا مجرد كلام مني فقط، بل أكدته أيضًا جهات موثوقة من طرف ثالث. يمكنكم التحقق من ذلك بأنفسكم، وحتى لجعل التحقق سهلاً لكم، بذلت مجهودًا كبيرًا لجعل كل ما يمكن إظهاره شفافًا وعلنيًا. إذا لم أحقق ما أقول، يمكنكم بسهولة تحدي مصداقيتي.\n\nماذا يسمى هذا؟ هذا يسمى الثقة في الأمان :)\n\n### المصادقة الثنائية\n\nأمان هويتك على الإنترنت يعتمد على ثلاث طبقات: الأولى هي كلمة المرور، والثانية هي المصادقة الثنائية، والثالثة هي قدرة المشروع المستهدف على إدارة المخاطر. لا يمكنني القول أن المصادقة الثنائية هي معيار ثابت للجميع. على سبيل المثال، إذا كنت تستخدم محفظة لامركزية، فإن كلمة مرور واحدة قد تكون مزعجة بما فيه الكفاية (في الوقت الحاضر، يتم استخدام التعرف على الوجه والبصمة لتحسين التجربة)، لذلك قد لا تكون المصادقة الثنائية ضرورية. ولكن في المنصات المركزية، المصادقة الثنائية لا غنى عنها. ذلك لأن المنصات المركزية يمكن لأي شخص الوصول إليها أو قد يتمكن من الوصول إليها. إذا تم سرقة كلمة المرور الخاصة بك، فهذا يعني فقدان حقوق الوصول إلى حسابك، وبالتالي ضياع أموالك أيضًا. بينما في المحفظة اللامركزية، كلمة المرور هي مجرد خطوة تحقق محلية، وحتى إذا تمكن المخترق من الحصول على هذه الكلمة، فإنه ما زال يحتاج إلى الوصول الفعلي إلى الجهاز الذي يحتوي على المحفظة.\n\nهل فهمت الفرق الآن؟ جيد، من أدوات المصادقة الثنائية المعروفة: مصادقة جوجل (Google Authenticator)ومصادق مايكروسوفت(Microsoft Authenticator)، وبالطبع إذا كنت تستخدم مدير كلمات المرور (مثل «ون باسوورد»(1Password)) فهو يأتي مع ميزة المصادقة الثنائية، مما يجعله مريحًا جدًا. في جميع الأحوال، تذكر دائمًا الاحتفاظ بنسخة احتياطية، لأن فقدان المصادقة الثنائية يمكن أن يكون أمرًا مزعجًا للغاية.\n\nبالإضافة إلى ذلك، يمكن أن يكون التحقق الثنائي مفهومًا واسعًا. على سبيل المثال، عند تسجيل الدخول إلى منصة معينة باستخدام الحساب وكلمة المرور، يكون حسابنا عادةً هو البريد الإلكتروني أو رقم الهاتف. في هذه الحالة، يتم استخدام البريد الإلكتروني أو رقم الهاتف لتلقي رمز التحقق كخطوة ثانية، وهذا يمكن اعتباره أيضًا نوعًا من التحقق الثنائي. ومع ذلك، فإن هذه الطريقة ليست آمنة بما فيه الكفاية. على سبيل المثال، إذا تم اختراق البريد الإلكتروني أو تم اختطاف بطاقة الـSIM الخاصة بالهاتف، أو تم اختراق الخدمة التي ترسل البريد الإلكتروني أو الرسائل النصية، فسيتم كشف رمز التحقق المرسل من المنصة.\n\n### التصفح العلمي للإنترنت الـ VPN\n\n بالنظر إلى السياسات الحالية، لن أقول الكثير، قارن بين الخيارات المعروفة بنفسك. إذا كنت قادراً، فمن الأفضل أن تقوم ببناء نظامك الخاص، لأنه سيكون أكثر أماناً وقابلية للتحكم. في نهاية المطاف، هدفنا هو التصفح العلمي والآمن على الإنترنت.\n\nإذا لم تبني النظام بنفسك، فلا يمكن ضمان عدم حدوث هجمات من طرف ثالث. كما ذكرت سابقاً، بيئة الإنترنت الآن ليست سيئة كما كانت من قبل، خاصة بعد انتشار سياسة «إتش تي تي بي إس إيفريوير»(HTTPS Everywhere). لكن الهدوء الظاهر قد يخفي تحت السطح تيارات مضطربة يصعب اكتشافها. لذا لا أملك نصيحة أمنية محددة في هذا الصدد، بناء النظام بنفسك يتطلب بعض الجهد لكنه يستحق العناء. وإن لم يكن ذلك ممكناً، فاختر دائماً العلامات التجارية ذات السمعة الجيدة والتي لها تاريخ طويل في السوق.\n\n### البريد الإلكتروني\n\nالبريد الإلكتروني هو حقاً هوية أساسية على الويب، فنحن نستخدم البريد الإلكتروني للتسجيل في الكثير من الخدمات، ومعظم البريد الإلكتروني الذي نستخدمه مجاني تقريباً، ويبدو وكأنه هواء، لا تعتقد أنه سيختفي. ولكن ماذا لو اختفى في يوم من الأيام؟ في هذه الحالة، ستكون كل الخدمات التي تعتمد على هذا البريد الإلكتروني في موقف محرج. هذا السيناريو المتطرف ليس مستحيلاً، على سبيل المثال بسبب الحرب أو الكوارث الطبيعية. بالطبع، إذا حدثت هذه المواقف المتطرفة، فإن الأمور الأخرى بجانب البقاء على قيد الحياة لن تكون ذات أهمية كبيرة بالنسبة لك.\n\n بالنسبة للبريد الإلكتروني، من الضروري اختيار عمالقة مثل خدمة «جيميل»(Gmail) و «أوتلوك»(Outlook) وبريد «كيو كيو»(QQ). من حسن الحظ أن مجال أبحاثي السابقة شمل هذه الجوانب، وبالنسبة لك، فإن أمان هذه الخدمات كافٍ. ولكن عليك دائمًا أن تكون حذرًا من هجمات التصيد الاحتيالي في البريد الإلكتروني. ليس كل رسالة بريد إلكتروني تحتاج إلى اهتمامك، خاصةً الروابط والمرفقات الموجودة فيها، فقد تكون تحتوي على فيروسات أو برامج ضارة.\n\nإذا واجهت هجمات متقدمة تستهدف بريدك الإلكتروني، فليس هناك سوى أن تتمنى لنفسك الحظ الجيد.\n\nبالإضافة إلى خدمات البريد الإلكتروني العملاقة، إذا كنت تهتم بالخصوصية، فهناك خدمات بريد إلكتروني موثوقة تتمتع بسمعة جيدة مثل خدمة «بروتون ميل»(ProtonMail) و «توتانوتا»(Tutanota). نصيحتي هي استخدام البريد الإلكتروني المخصص للخصوصية لتسجيل الخدمات التي تحتاج إلى خصوصية عالية، وانتبه إلى معدل النشاط، لأن البريد الإلكتروني المجاني قد يُسترد إذا لم يكن نشطًا لفترة طويلة.\n\n### بطاقة الـ«سيم» (SIM)\n\nبطاقة الـ«سيم»، غالبًا ما تكون رقم الهاتف مهمًا مثل البريد الإلكتروني باعتباره هوية أساسية. خلال السنوات الأخيرة، قامت شركات الاتصالات الكبرى في بلادنا بعمل جيد في حماية أمان أرقام الهواتف. على سبيل المثال، إلغاء البطاقة أو إعادة إصدارها يتطلب عمليات تحقق أمنية صارمة تتم في مكاتب الخدمة. وفيما يتعلق بهجمات بطاقة الـ«سيم»، سأقدم لك مثالًا:\n\nفي مايو 2019، تعرض حساب شخصي على منصة «كوين بيس»(Coinbase) لهجوم نقل بطاقة الـ«سيم» «سيم بورت أتاك»(SIM Port Attack)، مما أدى إلى خسارة أكثر من 100,000 دولار من العملات المشفرة، وكان الأمر مؤلمًا للغاية. عملية الهجوم كانت كالتالي:\n\nحصل المهاجمون على معلومات الخصوصية الخاصة بالضحية من خلال الهندسة الاجتماعية، ثم قاموا بخداع شركة الاتصالات للحصول على بطاقة الـ«سيم» جديدة. بعد ذلك، استخدموا نفس رقم الهاتف للوصول بسهولة إلى حساب الضحية على «كوين بيس». بمجرد نقل بطاقة الـ«سيم»، تصبح الأمور معقدة للغاية، لأن العديد من الخدمات عبر الإنترنت تعتمد على رقم الهاتف في التحقق الثنائي أو كطريقة مباشرة للتحقق من الهوية، مما يجعل رقم الهاتف نقطة ضعف في عملية الهجوم.\n\nلتحليل مفصل، يمكن الرجوع إلى:\n>https://medium.com/coinmonks/the-most-expensive-lesson-of-my-life-details-of-sim-port-hack-35de11517124\n\nهذه النصيحة للدفاع بسيطة في الواقع، وهي تفعيل أداة المصادقة الثنائية المعروفة.\n\nهناك خطر آخر مع بطاقة الـ«سيم»، وهو أنه إذا ضاع الهاتف أو سُرق، فإن استخدام بطاقة الـ«سيم» بدون حماية يمكن أن يكون مشكلة. يمكنني أن أقدم لك نصيحتي: لقد قمت بتعيين كلمة مرور (رمز PIN) لبطاقة الـ«سيم» الخاصة بي، وبالتالي يجب إدخال كلمة المرور الصحيحة في كل مرة يتم فيها تشغيل الهاتف أو إعادة استخدام البطاقة. يرجى البحث عن الطريقة التفصيلية بنفسك. فقط تذكر: لا تنسَ هذه الكلمة، وإلا ستواجه مشكلة وتتسبب في تأخير الأمور.\n\n### الـ«جي بي جي»(GPG)\n\nهذه الأجزاء قد تم التطرق إليها في النص السابق، لكن دعنا نستعرض مفهومًا صغيرًا هنا لتسهيل الفهم في المستقبل:\n\nفي بعض الأحيان قد تصادف المصطلحات «بي جي بي»(PGP) و «أوبن بي جي بي»(OpenPGP) و «جي بي جي»(GPG) التي تبدو متشابهة، إليك طريقة بسيطة للتفريق بينها:\n\n* الـ«بي جي بي» هي اختصار لـ(Pretty Good Privacy)، وهو برنامج تشفير تجاري تم إصداره منذ أكثر من 30 عامًا، وهو الآن تحت إدارة شركة «سيمانتيك»(Symantec).\n* الـ«أوبن بي جي بي» هو معيار تشفير مشتق من «بي جي بي».\n* الـ«جي بي جي»، وهو اختصار لـ«جنوبجي»(GnuPG)، هو برنامج تشفير مفتوح المصدر يستند إلى معيار «أوبن بي جي بي».\n\nهذه الأنظمة الأساسية متشابهة، واستخدام «جي بي جي» يمكنه التوافق مع الآخرين. هنا أود أن أؤكد بشدة مرة أخرى: لا تشتت نفسك بكثرة الخيارات، في مجال التشفير الآمن، استخدام «جي بي جي» بشكل جيد يمكنه أن يعزز الأمان بشكل كبير!\n\n### بيئة العزل\n\nيتم التأكيد بشكل خاص على مبدأ الأمان هذا، والذي يتمثل في ضرورة اعتماد مبدأ الأمان الثقة الصفرية. يجب أن تؤمن بشدة بأنه مهما كانت قوتنا، فإن تعرضنا للاختراق هو مسألة وقت، سواء من قبل أشخاص خارجيين أو داخليين أو حتى أنفسنا. عندما يحدث الاختراق، تكون الخطوة الأولى هي الحد من الخسائر. يتم تجاهل قدرة الحد من الخسائر من قبل الكثيرين، مما يؤدي إلى سلسلة من الاختراقات بسبب اختراق واحد. يعود السبب في ذلك إلى عدم وجود العديد من تصميمات الأمان، وخاصةً مبدأ العزل الذي يبدو صارمًا ولكنه فعال.\n\nعادة جيدة للعزل هي أنه عند تعرضك للاختراق، فإن الأضرار تقتصر على خصوصية الهدف الذي تم اختراقه فقط، دون تعريض بقية الخصوصية للخطر. على سبيل المثال:\n\n* إذا كانت عاداتك في أمان كلمة المرور جيدة، فعندما يتم اختراق أحد حساباتك، فلن يعرض استخدام نفس كلمة المرور بقية حساباتك للخطر.\n* إذا لم تكن عملاتك المشفرة تحت كلمة مفتاحية واحدة فقط، ففي حال حدوث مشكلة، لن تفقد كل شيء وتضطر إلى البدء من جديد.\n* إذا أصيب جهاز الكمبيوتر الخاص بك بفيروس، وكان هذا الجهاز مخصصًا للاستخدام العشوائي فقط ولا يحتوي على الكثير من الخصوصية، فلن تشعر بالقلق. يمكن حل معظم المشاكل بإعادة التثبيت. وإذا كنت ماهرًا في استخدام الأجهزة الافتراضية، فسيكون الوضع أفضل، حيث يمكنك ببساطة استعادة اللقطة «سنابشوت»(Snapshot). من بين الأدوات الجيدة للأجهزة الافتراضية: «في إم وير»(VMware) و «باراليلز»(Parallels).\n* يمكنك تطبيق العديد من النصائح المذكورة أعلاه باستخدام حسابين على الأقل، أو أداتين، أو جهازين، وغيرها. بعد الاعتياد على ذلك، يمكنك إنشاء هوية افتراضية مستقلة بالكامل.\n\nسبق وأن طرحت وجهة نظر متطرفة بعض الشيء: الخصوصية ليست للحماية، بل للتحكم بها.\n\nطرحي لهذا الرأي كان بسبب: في بيئة الإنترنت الحالية، الخصوصية بالفعل تم انتهاكها بشكل كبير. الخبر الجيد هو أنه في السنوات الأخيرة أصبحت القوانين المتعلقة بالخصوصية أكثر شيوعًا، وازداد اهتمام الناس بها. كل شيء بالتأكيد سيتجه نحو الأفضل. لكن حتى ذلك الحين، مهما كانت الظروف، عند إتقانك للنقاط التي أوردتها، ستمتلك القدرة على التحكم بخصوصيتك بكفاءة. إذا تعودت على ذلك في الإنترنت، قد يكون لديك هويات افتراضية متعددة شبه مستقلة.\n\n## الأمان الإنساني\n\nذكرت الكثير، ولكن البشر هم أكبر وأدوم المخاطر. هناك جملة في رواية الثلاث الأجسام (三体) تقول: \"الضعف والجهل ليسا عائقاً أمام البقاء، بل الكبرياء هو العائق\"\n\n* لا تكن متكبرًا: إذا كنت تعتقد أنك قوي بالفعل، فافخر بنفسك فقط، ولا تحتقر كل شيء، وخاصة إلى حد الغرور الذي يجعلك تتحدى قراصنة العالم. العلم لا نهاية له، والمشاكل لا نهاية لها.\n* لا تكن جشعًا: الطمع يكون دافعًا للتقدم في كثير من الأحيان، لكن عليك التفكير، لماذا تُركت لك هذه الفرصة الجيدة؟ هل لأنك وسيم، أم لأن حديثك لطيف؟ :)\n* لا تكن متهورًا: التهور شيطان، والمصائد في كل مكان، والاندفاع دون التأكد هو مقامرة.\n\nهناك العديد من الجوانب المتعلقة بالطبيعة البشرية التي يمكن مناقشتها ولكنها لا تنتهي، والأهم من ذلك أن لدي العديد من المشكلات أيضًا. يمكنني فقط القول إنني أتصرف بحذر شديد وكأنما أمشي على جليد رقيق. سأناقش أدناه بعض النقاط الهامة التي تتطلب اهتمامًا خاصًا، جميعها مرتبطة بعيوب الطبيعة البشرية، حيث يستغل المحتالين سهولة استخدام بعض المنصات للعب بالطبيعة البشرية على نحو مؤذ.\n\n### تلجرام\n\nقلت سابقا إن تلجرام هو أكبر شبكة مظلمة. ويجب أن أقول أولاً إن تلجرام قوي للغاية، فهو آمن ومستقر وتصميمه المفتوح بشكل كافٍ يجعله محبوبًا من قبل الكثيرين. ولكن بيئة تلجرام الثقافية تجذب المحتالين أيضًا: تلجرام سهل الاستخدام للغاية، وقاعدة مستخدميه كبيرة بما فيه الكفاية، ووظائفه المفتوحة جيدة، مما يجعل تخصيص خدمات البوت المختلفة أمرًا سهلاً للغاية. وبالاقتران مع العملات المشفرة، يمكن أن تجعل العديد من المعاملات تتفوق على تلك الموجودة في أسواق الشبكة المظلمة \"الويب المظلم\" على شبكة «تور»(Tor). وفوق ذلك، هناك الكثير من المستخدمين عليه.\n\nعادةً، يكون المُعرف الفريد لحسابات وسائل التواصل الاجتماعي مجرد اسم مستخدم أو معرف المستخدم، ويمكن للمحتالين استنساخ هذه البيانات بالكامل. بعض منصات التواصل الاجتماعي لديها آلية تحقق من الحساب، مثل إضافة علامة زرقاء. يمكن مواقع التواصل الاجتماعي المفتوحة استخدام بعض المؤشرات للتحقق مما إذا كان الحساب حقيقيًا، مثل حالة المتابعة، وحالة المحتوى المنشور، وحالة التفاعل مع المحتوى، وغيرها. أما التأكيد على مواقع التواصل الاجتماعي المغلقة فهو أكثر تعقيدًا، لكن إدخال ميزة المجموعات المشتركة في تلجرام يعد أمرًا جيدًا للغاية.\n\nهذا هو الحال مع الطبيعة البشرية: كلما كان هناك ثغرة يمكن استغلالها وعائد مجزٍ، ستجد بالتأكيد مجموعة من المحتالين يحاولون استغلالها.\n\nلذلك، تمتلئ منصات التواصل الاجتماعي بالكثير من فخاخ التصيد الاحتيالي. على سبيل المثال، قد تكون تتحدث في مجموعة، وفجأة يظهر حساب يبدو كأنه خدمة عملاء رسمية ويبدأ بمراسلتك بشكل خاص (المراسلة الخاصة على تلجرام لا تتطلب إضافة صديق)، ثم يستخدم العبارات الكلاسيكية للاحتيال، فيقع بعض الأشخاص في الفخ تدريجيًا.\n\nعلاوة على ذلك، يتم سحبك مباشرة إلى مجموعة أخرى، حيث يكون جميع الأشخاص فيها مزيفين ما عداك، ولكنك تشعر وكأنها حقيقية. هذا هو ما يُعرف بتقنية استنساخ المجموعات في الأنشطة غير القانونية.\n\nكل هذه استغلالات أولية لطبيعة الإنسان، الأساليب المتقدمة تدمج هذه الاستغلالات مع الثغرات الأمنية، مما يجعل من الصعب التصدي لها.\n\n### «ديسكورد»(Discord)\n\nالـ«ديسكورد» هي منصة تواصل اجتماعي جديدة أصبحت شائعة في السنوات الأخيرة. تحتوي على ميزات أساسية مثل الدردشة والمجموعات، ولكن الوظيفة الأساسية هي الخوادم المجتمعية المستقلة (ليست الخوادم بالمعنى التقليدي). وصف شركة للمنصة:\n\n>\"يسعى «ديسكورد» إلى إنشاء مكان يمكنك فيه التحدث والتواصل مع أصدقائك وعائلتك ومجتمعك. على الـ«ديسكورد»، يوجد ملايين المجتمعات المختلفة، من مجموعات صغيرة من الأصدقاء القدامى إلى خوادم ضخمة تربط آلاف الأشخاص من خلال اهتمامات مشتركة.\"\n\nيبدو الأمر رائعًا، لكن في الواقع، فإن تحديات تصميم الأمان مرتفعة للغاية. تبذل الشركة جهودًا كبيرة في هذا المجال، حيث وضعت قواعد وسياسات أمان خاصة:\n\n>https://discord.com/safety\n\nمن المؤسف أن العديد من الناس لن يقوموا بقراءة النص بعناية. بالإضافة إلى ذلك، قد لا يتمكن المسؤولون دائمًا من توضيح بعض القضايا الأمنية الأساسية، لأن بعض المشكلات الأمنية تتطلب النظر من زاوية المهاجم لفهمها بوضوح.\n\nفيما يلي نوضح إحدى هذه النقاط.\n\nحدثت العديد من حالات سرقة للرموز غير القابلة للاستبدال على الـ«ديسكورد»، فما هي النقاط الرئيسية لتقنيات الهجوم المستخدمة؟ إذا لم نفهم ذلك، فإن العديد من نصائح الأمان الخاصة بـ«ديسكورد» لن تكون ذات فائدة كبيرة.\n\nالعديد من خوادم الـ«ديسكورد» الخاصة بالمشاريع تم اختراقها بسبب ما يُسمى بـ«ديسكورد توكن»(Discord Token). في الواقع، هذا الرمز موجود في حقل التحقق الـ(authorization) في رأس طلبات «إتش تي تي بي». هذا الرمز موجود في الـ Discord منذ فترة طويلة، والمخترقون، بمجرد الحصول على هذا الرمز، يمكنهم التحكم بشكل كامل تقريبًا في صلاحيات الـ«ديسكورد» الخاصة بالهدف. بمعنى آخر، إذا كان الهدف هو مدير أو شخص لديه صلاحيات إدارية أو روبوت (Bot)، يمكن للمهاجم استخدام هذه الامتيازات للقيام بأعمال ضارة.\n\nعلى سبيل المثال، قد يقومون بنشر موقع تصيد الرموز غير القابلة للاستبدال، وبما أن الجميع يرون أن الإعلان صادر من الحساب الرسمي، فإنهم يتجهون جميعًا إلى موقع التصيد دون تردد...\n\nقد يتساءل البعض: هل تفعيل المصادقة الثنائية على حساب الـ«ديسكورد» الخاص بي يكفي؟ بالتأكيد، هذا عادة جيدة! ولكنها غير فعالة ضد هذا الهجوم! فـ«ديسكورد توكن» يتجاهل ما إذا كنت قد فعلت المصادقة الثنائية أم لا. إذا كنت قد تعرضت للاختراق، يجب عليك تغيير كلمة مرور الـ«ديسكورد» الخاصة بك فورًا، وبهذه الطريقة سيتم تحديث الـ«ديسكورد توكن».\n\nأما بالنسبة لكيفية حصول المخترقون على الـ«ديسكورد توكن»، فقد حددنا بالفعل ثلاث طرق رئيسية على الأقل، وسنقوم بشرحها لاحقًا. بالنسبة للمستخدمين العاديين، هناك العديد من النصائح للدفاع، والنقطة الأساسية هي: عدم الاستعجال، وعدم الطمع، والتحقق من مصادر متعددة.\n\n### التصيد الاحتيالي «الرسمي»\n\nالمحتالون بارعون حقًا في استغلال السلطات لتنفيذ أعمالهم الخبيثة، خصوصًا عندما يتظاهرون بأنهم جهات رسمية. إن استطاعوا انتحال الهوية، فسيفعلون ذلك بكل ما يمكنهم، كما هو الحال مع انتحال هوية خدمة العملاء المزيفة المذكورة سابقًا. على سبيل المثال، في بداية أبريل 2022، تلقى العديد من مستخدمي محفظة الـ«تريزور»(Trezor) الشهيرة للأجهزة رسائل بريد إلكتروني تصيدية من النطاق (trezor.us)، ولكنه في الحقيقة ليس النطاق الرسمي لـ«تريزور». النطاق الرسمي لـ«تريزور» هو (trezor.io) فقط. الفرق كان في امتداد النطاق فقط. بالإضافة إلى ذلك، تضمنت رسائل البريد الإلكتروني التصيدية الروابط التالية:\n\n>https://suite.trẹzor.com\n\n<img src=\"res/trezor_phishing.jpg\" width=\"800\">\n\nهذا النطاق يحتوي على \"نقطة مضيئة\"، إذا دققت النظر ستلاحظ أن الحرف ẹ ليس الحرف الإنجليزي e. هذا مربك للغاية، في الواقع، هذا هو «بونيكود»(Punycode)، وتفاصيل المعيار هي كالتالي:\n\n>ترميز Bootstring الترميز الموحد (Unicode) لأسماء النطاقات الدولية في التطبيقات (IDNA)<br>\n>هو الترميز الموحد لأسماء النطاقات الدولية في التطبيقات، ويمكنه تمثيل مجموعة محدودة من الأحرف من رموز (Unicode) و (ASCII).\n\nإذا قمت بفك تشفير (trẹzor)، فستبدو هكذا: (xn--trzor-o51b)، وهذا هو الشكل الحقيقي!\n\nطريقة التصيد باستخدام «بونيكود»(Punycode) تم استخدامها فعلاً قبل عدة سنوات. على سبيل المثال، في عام 2018، تعرض بعض مستخدمي «باينانس»(Binance) لهذه الخدعة.\n\nهذا النوع من التصيد الاحتيالي باستخدام النطاقات التي تبدو مشابهة يمكن أن يخدع الكثير من الناس، ناهيك عن الطرق الأكثر تقدمًا للهجوم، مثل السيطرة على البريد الإلكتروني الرسمي، أو هجمات انتحال البريد الإلكتروني الناتجة عن مشكلات في تكوين الـ«إس بي إف»(SPF) للبريد الإلكتروني الخاص بالمستخدم. في نظر المستخدمين، تبدو رسائل البريد الإلكتروني وكأنها صادرة عن الجهات الرسمية نفسها.\n\nإذا كان هناك شخص داخلي يقوم بأعمال خبيثة، فعلى المستخدمين أن يدبروا أمورهم بأنفسهم. يجب على الجهات المسؤولة عن المشاريع تعزيز رقابة الأمن الداخلي بشكل خاص، فهذه هي النقطة التي تستحق الاستثمار الأكبر من حيث التكلفة والجهد. الإنسان هو أكبر حصان طروادة، لكنه أيضًا الأكثر تجاهلاً. بعض الأشخاص لديهم وعي أمني ضعيف جدًا، ولا يسعون إلى تحسينه. هذا النوع من الأشخاص يجلب الحظ السيء لمن يوظفه.\n\n### مشاكل الخصوصية في «ويب 3»(Web3)\n\nمع انتشار الـ«ويب 3»، برزت العديد من المشاريع المتنوعة، سواء كانت مثيرة للاهتمام أو روتينية، مثل البنية التحتية المختلفة لـ«ويب 3» ومنصات التواصل الاجتماعي. وقامت بعض البنى التحتية بإجراء تحليلات بيانات واسعة النطاق، وبصورة غير مقصودة، اكتشفت الملفات الشخصية السلوكية لأهداف ذات اهتمام كبير، ليس فقط على مختلف سلاسل الكتل بل أيضًا على المنصات المعروفة في «ويب 2». بمجرد إنشاء هذه الملفات الشخصية، يصبح الهدف بدون خصوصية تقريبًا. وقد يؤدي ظهور منصات التواصل الاجتماعي في الـ«ويب 3» إلى تفاقم هذه المشكلات المتعلقة بالخصوصية.\n\nفكر في الأمر، عندما تقوم بتجربة جميع هذه الأشياء المتعلقة بـ«ويب 3»، مثل الربط بالتوقيع، والتفاعلات المختلفة على سلسلة الكتل، هل تم تسريب المزيد من خصوصيتك؟ يعتقد الكثير من الناس أن الجواب هو لا، ولكن في الواقع، يمكن تجميع العديد من القطع معًا لإنتاج صورة أكثر شمولاً: ما هي الرموز الغير قابلة للاستبدال التي تحب جمعها، وما هي المجتمعات التي انضممت إليها، وما هي القوائم البيضاء التي أنت فيها، ومن ترتبط بهم، وما هي حسابات «ويب 2» التي ربطتها، وما هي الأوقات التي تكون فيها نشطًا، وغيرها الكثير. انظر، في بعض الأحيان تجعل تقنية سلسلة الكتل الخصوصية أسوأ. إذا كنت تهتم بالخصوصية، فعليك التعامل بحذر مع كل جديد، والحفاظ على عادة عزل الهوية.\n\nفي هذه اللحظة، إذا سُرق المفتاح الخاص عن طريق الخطأ، فإن الخسارة لن تقتصر على الأموال فقط، بل ستشمل جميع حقوق الـ«ويب 3» التي تمت المحافظة عليها بعناية. نحن نقول دائمًا أن المفتاح الخاص هو الهوية، ويبدو الآن أنه حقًا هوية.\n\nلن نتوسع في جزء الأمان الإنساني الآن، سأترك لك استنتاج البقية.\n\nلا تختبر أبدًا طبيعة البشر.\n\n# طرق سوء استخدام تقنية سلسلة الكتل\n\nظهور تقنية سلسلة الكتل أوجد الصناعة التي نتواجد فيها الآن، بغض النظر عن الطريقة التي تسمي بها هذه الصناعة، سواء كان ذلك بعالم سلسلة الكتل، أو عالم العملات، أو العملات المشفرة، أو العملات الافتراضية، أو العملات الرقمية، أو التشفير، أو الـ«ويب 3»، فإن كل شيء تقريبًا يتمحور حول سلسلة الكتل. أكثر الأنشطة إثارة هي تلك المتعلقة بالأنشطة المالية، مثل العملات، بما في ذلك الرموز غير القابلة للاستبدال (NFT، والمعروفة أيضًا بالمقتنيات الرقمية).\n\nهذه الصناعة تتمتع بحيوية وجاذبية استثنائية، ولكنها تحتوي أيضًا على العديد من طرق سوء الاستخدام. نظرًا لبعض الخصائص الفريدة لسلسلة الكتل، فقد ظهرت بعض طرق سوء الاستخدام الفريدة أيضًا. هذه الطرق تشمل بشكل عام: سرقة العملات، التعدين الضار، فيروسات الفدية، التداول في الشبكة المظلمة، نقل الأوامر والتحكم للتروجان (C2)، غسيل الأموال، منصات التمويل الاحتيالية، والمقامرة، وغيرها. في يناير 2019، قمت بإعداد خريطة ذهنية يمكن استخدامها كمرجع.\n\n>https://github.com/slowmist/Knowledge-Base/blob/master/mindmaps/evil_blockchain.png\n\nفي الوقت نفسه، نقوم باستمرار بتحديث وصيانة قاعدة بيانات «سلو ميست هاكد»(SlowMist Hacked) التي توثق حالات الاختراق في مجال سلسلة الكتل. تحتوي هذه القاعدة على كمية كبيرة من حالات الاختراق المؤرشفة، كل منها يمثل بصمة تاريخية:\n\n>https://hacked.slowmist.io/\n\nهذا الدليل يحتوي على العديد من النقاط الأمنية، وإذا تمكنت من استيعابها وجعلها جزءًا من معرفتك، إذًا حقًا أهنئك. أما بالنسبة لأنواع سوء الاستخدام المتنوعة، فلن أتوسع في شرحها. إذا كنت مهتمًا، ينبغي عليك أن تتعلم كيف تستكشف هذه الأمور بنفسك. معرفة المزيد هو دائمًا أمر جيد، لا سيما أن طرق سوء الاستخدام الجديدة تظهر باستمرار وتتطور. مع ازدياد مهاراتك، آمل أن تشارك في تحسين هذه الصناعة وجعلها أفضل.\n\n# كيف تتصرف إذا تعرض جهازك للاختراق؟\n\nتفضل العديد من مجموعات القراصنة استخدام أسلوب «تلغيم الحواسيب» (Computer Poisoning)، وعادةً لا يستخدمون تقنيات متقدمة مثل استغلال ثغرات متصفحات الويب من نوع «زيرو دي»(Zero-day)، بل يلجؤون بشكل رئيسي إلى أساليب الخداع باستخدام الهندسة الاجتماعية. على سبيل المثال، يتظاهر بعضهم بأنه مستثمر أو صحفي أو موظف في الموارد البشرية، ويقنع الضحية بحضور اجتماع عن طريق تثبيت برنامج اجتماعات وهمي. وهناك من ينتحل صفة خدمة حماية من تيليجرام «تيليجرام سيفجارد»(Telegram Safeguard)، زاعمًا الحاجة إلى إجراء تحقق بشري، ويطلب من المستخدم نسخ ولصق تعليمات برمجية خبيثة لتشغيلها على الجهاز المحلي. كذلك ينتحل بعضهم الحاجة لإجراء تحقق بشري عبر خدمة «كلاودفلير»(Cloudflare)، لخداع المستخدمين ودفعهم لتشغيل أكواد ضارة محليًا، وغيرها من الأساليب المشابهة.\n\nفيما يلي أمثلة لأساليب الخداع الشائعة كمرجع:\n> https://x.com/SlowMist_Team/status/1899713751625969997<br>\n> https://x.com/SlowMist_Team/status/1880520294496104827<br>\n> https://x.com/SlowMist_Team/status/1888879128172241000\n\nإذا وقعت ضحية لإحدى هذه الهجمات، فينبغي عليك التصرّف على الفور وفقًا لمبدأ «لا تعتمد على الحظ» أو «الوقاية خير من العلاج»، واتخاذ الإجراءات التالية فورًا:\n\n1. إذا كانت لديك محفظة رقمية على جهاز الكمبيوتر (بما في ذلك ملفات المفاتيح الخاصة أو النسخ الاحتياطية للكلمات المفتاحية)، فقم على الفور بنقل جميع أموالك إلى مكان آمن. لا تفترض أن المحفظة آمنة لمجرد وجود كلمة مرور عليها.\n2. قم بتغيير جميع كلمات المرور المهمة الموجودة على جهازك، مثل حسابات تيليجرام وتويتر (X سابقًا) والبريد الإلكتروني ومنصات التداول، وكذلك جميع كلمات المرور المحفوظة في المتصفحات أو الحسابات التي سبق لك تسجيل الدخول إليها. يُنصح أيضًا بتغيير إعدادات المصادقة الثنائية (2FA) والتأكد من عدم وجود أجهزة غير معروفة مسجَّلة الدخول إلى حساباتك.\n3. قم بتثبيت برنامج مكافحة فيروسات معروف وموثوق، مثل («إي في جي»(AVG) أو «بيتديفندر»(Bitdefender) أو «كاسبرسكي»(Kaspersky) أو «مالويربايتس»(Malwarebytes) )، وأجرِ فحصًا شاملًا ودقيقًا لجهازك. اختر البرنامج الأنسب لك، والأفضل استخدام النسخة المدفوعة. إذا كانت لديك مخاوف إضافية، يمكنك استخدام برنامجين بالتناوب لتحقيق أمان أعلى.\n4. إذا كنت لا تزال قلقًا بشأن سلامة جهازك، يُفضّل أخذ نسخة احتياطية من الملفات المهمة، وإعادة تهيئة الجهاز (إعادة ضبط المصنع). بعدها، عُد إلى الخطوة رقم (3) وقم بفحص الملفات التي قمت بنسخها احتياطيًا مرة أخرى بواسطة برامج مكافحة الفيروسات.\n\nالجدير بالذكر، أن هذه الهجمات لا تستهدف نظام «ويندوز»(Windows) فقط، بل قد تشمل أيضًا أجهزة «ماك»(Mac) ، وفي بعض السيناريوهات أيضًا أنظمة «لينكس»(Linux).\n\n# ماذا تفعل إذا تعرضت للسرقة\n\nيقال أن التعرض للاختراق أمر لا مفر منه، فما الذي يجب فعله عند التعرض للاختراق، وحتى عند سرقة العملات المشفرة؟ سأنتقل مباشرة إلى الموضوع. الخطوات التالية ليست بالضرورة بهذا الترتيب المحدد، فهناك أحيانًا بعض التداخل، ولكن بشكل عام، هذا هو التسلسل\n\n## إيقاف الخسائر أولاً\n\nإيقاف الخسائر يعني عدم السماح بتفاقم الخسارة. وينقسم هذا إلى مرحلتين على الأقل:\n\n* المرحلة الحالية هي التي تحتاج إلى اهتمام فوري. على سبيل المثال، إذا رأيت أن القراصنة بدأوا في تحويل أصولك بشكل متتالٍ، فما الذي تنتظره؟ يجب عليك على الفور العمل على نقل ما تبقى من الأصول إلى مكان آمن. إذا كان لديك خبرة في التعاملات السريعة، فاستخدمها الآن. انظر إلى نوع الأصول، وإذا كانت من النوع الذي يمكن تجميده على سلسلة الكتل، فحاول بأقصى جهدك الاتصال بالجهات المعنية لتجميدها. إذا كانت لديك القدرة على تتبع التحويلات على سلسلة الكتل واكتشاف أن الأموال تُنقل إلى منصة مركزية، فيمكنك الاتصال بالمنصة لاتخاذ إجراءات الأمان اللازمة.\n\n* بعد استقرار الوضع، يجب أن يكون التركيز على كيفية منع حدوث أضرار ثانية أو ثالثة.\n\n## حماية موقع الحادث\n\nعندما تدرك وقوع المشكلة، كن هادئًا تمامًا. بعد أن تأخذ ثلاثة أنفاس عميقة، تأكد من حماية موقع الحادث المعني. هنا بعض النصائح التي يمكن أن تفيدك:\n\n* بالنسبة للأجهزة المتصلة بالإنترنت مثل الكمبيوتر والخوادم، إذا كانت هي المواقع الرئيسية للحادث، قم بفصل الشبكة على الفور ولكن لا تقم بإيقاف التشغيل (استمر في توفير الطاقة). قد يقول البعض إنه إذا كان الفيروس تدميريًا، فإن عدم إيقاف التشغيل سيتسبب في تدمير ملفات النظام المحلي بواسطة الفيروس. هذا صحيح إذا كان رد فعلك أسرع من الفيروس...\n* إلا إذا كنت تمتلك القدرة على التعامل مع الموقف، وإلا انتظر تدخل متخصصي الأمن لإجراء التحليل وجمع الأدلة.\n\nهذه النقطة مهمة جدًا. لقد واجهنا العديد من الحالات التي كانت فيها المواقع فوضوية تمامًا عند تدخلنا لتحليل الوضع، بل وأحيانًا نجد أن الأدلة الأساسية (مثل السجلات وملفات الفيروسات) قد تم محوها تمامًا. عدم الحفاظ على مسرح الجريمة بشكل جيد يمكن أن يتسبب في إعاقة كبيرة لتحليل وتتبع الجريمة فيما بعد.\n\n## تحليل الأسباب\n\nالغرض من تحليل الأسباب هو فهم الخصم ورسم صورة للمخترق. في هذه المرحلة، يصبح تقرير الحادث مهمًا جدًا، ويطلق عليه أيضًا تقرير ما بعد الحادث (Post Mortem Report). بالطبع، ترجمة مصطلح (Post Mortem Report) إلى «تقرير التشريح» قد تبدو غريبة، لذا يمكننا ببساطة تسميته تقرير الحادث.\n\nلقد واجهنا العديد من الأشخاص الذين تعرضوا لسرقة العملات الرقمية وجاؤوا إلينا طلبًا للمشورة حول ما يجب فعله. المشكلة الكبيرة هي أن العديد منهم يجدون صعوبة في التعبير بوضوح، ناهيك عن تقديم تقرير حادث واضح. لكنني أعتقد أن القدرة على التعبير يمكن التدرب عليها أو على الأقل تقليدها بناءً على نماذج محددة. على سبيل المثال، يمكنهم على الأقل توضيح النقاط التالية:\n\n* الملخص 1: من الشخص المتضرر؟ في أي وقت حدثت الحادثة؟ ماذا حدث؟ ما هو إجمالي الخسائر؟\n* الملخص 2: عناوين المحافظ المرتبطة بالخسائر، عناوين محافظ المخترقين، أنواع العملات الرقمية، الكميات. يمكن توضيح ذلك في جدول ليكون أكثر وضوحًا.\n* وصف العملية: هذه النقطة هي الأكثر صعوبة. هنا يجب وصف كل التفاصيل الدقيقة لعملية الحادث. هذا يمكن أن يؤدي إلى تحليل مختلف آثار المخترق، وفي النهاية، رسم صورة للمخترق(بما في ذلك دوافعه).\n\nعند التعامل مع الحالات، تكون القوالب المستخدمة أكثر تعقيدًا وتتم بشكل تدريجي. في بعض الأحيان، تكون ذاكرة الأشخاص مشكلة، وقد يصل الأمر إلى إخفاء معلومات حيوية عمدًا، مما يؤدي إلى إهدار الوقت أو تفويت أفضل الفرص. لذلك، في الواقع، يكون الجهد المبذول كبيرًا جدًا. نحتاج إلى استخدام خبرتنا لتوجيه العمل بشكل جيد. في النهاية، نعمل مع الشخص الذي فقد العملات أو مع فريق المشروع لإعداد تقرير الحادث وتحديثه باستمرار.\n\n## تتبع المصادر\n\nوفقًا لقانون لوكارد: \"أينما كان هناك اقتحام، سيكون هناك أثر\". إذا بحثنا بدقة، سنجد دائمًا شيئًا. عملية البحث هذه هي في الواقع عملية جمع الأدلة وتحليلها، وكذلك تتبع المصادر. سنقوم بتتبع المصادر بناءً على الصورة التي نحصل عليها من تحليل الأدلة المتعلقة بالمخترق، وسنستمر في إثراء هذه الصورة للمخترق. هذه عملية ديناميكية ومتكررة.\n\nيتضمن تتبع المصادر جزأين رئيسيين:\n\n* المعلومات على سلسلة الكتل: تحليل اتجاه الأموال لحسابات المحفظة، مثل دخولها إلى منصات التداول المركزية، أو منصات خلط العملات، ومراقبة الإنذارات المسبقة للتحويلات الجديدة.\n* المعلومات خارج سلسلة الكتل: تتضمن هذه المعلومات: عنوان (IP) الخاص بالمخترق، معلومات الجهاز، البريد الإلكتروني والمزيد من المعلومات الغنية المستخلصة من الارتباط بين هذه النقاط، بما في ذلك معلومات السلوك.\n\nبناءً على هذه المعلومات، فإن عمل التتبع والتحقيق يصبح شاقًا جدًا، وقد يتطلب تدخل الجهات القانونية.\n\n## إغلاق القضية\n\nبالطبع، نحن جميعاً نأمل في نهاية سعيدة. فيما يلي بعض الأمثلة على الأحداث العامة التي تم الكشف عنها تاريخياً والتي شاركنا فيها بتركيز وكانت لها نهايات سعيدة:\n\n* الـ (Lendf.Me)، بقيمة 25 مليون دولار أمريكي\n* الـ (SIL Finance)، بقيمة 12.15 مليون دولار أمريكي\n* الـ (Poly Network)، بقيمة 610 مليون دولار أمريكي\n\nلقد عشنا أيضاً العديد من النهايات الجيدة والتي لم تُعلن، وكذلك النهايات المقبولة. لكن معظمها كانت نهايات سيئة، وهذا مؤسف للغاية. لقد اكتسبنا خلال هذه العمليات خبرات قيمة جداً، ونأمل أن نتمكن في المستقبل من زيادة نسبة النهايات الجيدة لمستوى أعلى.\n\nسأذكر هذا الجزء باختصار، فلا أنوي التوسع فيه بالتفصيل، إذ أن كمية المعرفة هنا ضخمة، وبعضها ليس من اختصاصي. بناءً على السيناريوهات المختلفة، نحتاج إلى اكتساب المهارات التالية:\n\n* تحليل أمن العقود الذكية والتحقيقات الجنائية\n* تحليل وتحقيقات نقل الأموال على سلسلة الكتل\n* تحليل أمن الويب والتحقيقات الجنائية\n* تحليل أمن خوادم الـ«لينكس» والتحقيقات الجنائية\n* تحليل أمن الـ«ويندوز» والتحقيقات الجنائية\n* تحليل أمن الـ«ماك أو إس» والتحقيقات الجنائية\n* تحليل أمن الهواتف المحمولة والتحقيقات الجنائية\n* تحليل البرمجيات الخبيثة والتحقيقات الجنائية\n* تحليل أمن الأجهزة أو المنصات الشبكية والتحقيقات الجنائية\n* تحليل أمن الأفراد والتحقيقات الجنائية\n* وغيرها\n\nتقريباً في جميع الجوانب، يغطي هذا الدليل النقاط الأمنية من جميع النواحي، ولكنها تقريباً مجرد مقدمة فقط.\n\n# المفاهيم الخاطئة\n\nيؤكد هذا الدليل من البداية على ضرورة أن تظل متشككًا دائمًا! ويشمل ذلك جميع نقاط المعرفة المذكورة في هذا الدليل. هذه صناعة حيوية وذو إمكانيات هائلة، مليء بالفخاخ والفوضى. سنستعرض هنا بعض المفاهيم الخاطئة التي، إذا تم قبولها كحقائق دون تمحيص، فإنه من السهل أن تقع ضحية للفخاخ وتصبح جزءًا من الفوضى.\n\n## الكود هو القانون\n\nالكود هو القانون. لكن غالبًا ما يتم اختراق المشروع (وخاصة تلك المتعلقة بالعقود الذكية) أو يسرق، فلا يكاد أحد من الضحايا يرغب في أن يكون الكود هو القانون، وفي النهاية يعتمدون على القانون الحقيقي.\n\n## ليست مفاتيحك، ليست عملاتك\n\nإذا لم تكن مفاتيحك الخاصة بحوزتك، فإن العملات ليست ملكك. في الواقع، العديد من المستخدمين يحصلون على المفاتيح الخاصة ولكنهم يفتقرون إلى القدرة على إدارة هذه المفاتيح بشكل جيد، مما يؤدي في النهاية إلى فقدان العملات بسبب مشاكل أمنية متنوعة. أحيانًا، يجد الناس أن تخزين العملات في منصة كبيرة وذات سمعة جيدة يكون أكثر أمانًا.\n\n## نثق في تقنية سلسلة الكتل\n\nفي الواقع، تتمتع تقنية سلسلة الكتل بقدرة على حل بعض مشكلات الثقة الأساسية، مثل عدم التلاعب ومقاومة الرقابة. إذا كانت أصولي وأنشطتي موجودة على سلسلة الكتل، يمكنني الافتراض بأن لا أحد يمكنه أخذ أصولي أو تغيير أنشطتي دون إذن. لكن الواقع غالبًا ما يكون قاسيًا؛ أولاً، ليست كل سلاسل الكتل قادرة على تحقيق هذه النقاط الأساسية، وثانيًا، الطبيعة البشرية دائمًا ما تشكل النقطة الأضعف. العديد من أساليب الاختراق تتجاوز تخيلات معظم الناس. وعلى الرغم من أن الهجوم والدفاع يتعلقان بالتكلفة، بمعنى أنه إذا لم تكن أصولك كبيرة بما يكفي، فلن يكلف أي مخترق نفسه عناء استهدافك تحديدًا، إلا أن وجود العديد من الأشخاص مثلك يجعل الأمر مربحًا للغاية.\n\nنصائحي الأمنية بسيطة ولكنها مهمة: حافظ على عدم الثقة الافتراضية (أي الشك في كل شيء افتراضيًا)، وكن مستعدًا للتحقق المستمر. التحقق هو إجراء أمني حاسم، والتحقق المستمر يعني أن الأمان ليس ثابتًا؛ فإذا كان لا توجد مشكلة الآن، فهذا لا يعني أنه لن تكون هناك مشكلة في المستقبل. القدرة على التحقق هي أكبر اختبار لنفسك، ولكنها ممتعة للغاية، لأنها ستمكنك من اكتساب الكثير من المعرفة. عندما تصبح قويًا بما فيه الكفاية، لن يتمكن أحد من خداعك بسهولة.\n\n## الأمان في التشفير هو الأمان بحد ذاته\n\nالتشفير بالفعل قوي ومهم للغاية. بدون جهود العديد من علماء التشفير، وبدون العديد من الخوارزميات التشفيرية القوية والتنفيذ الهندسي المتين، لم نكن لنستطيع التحدث عن تقنيات الاتصالات الحالية، وتقنيات الإنترنت، وتقنية سلسلة الكتل. للأسف، يظن البعض أن الأمان في التشفير يمثل الأمان بأكمله، مما يؤدي إلى ظهور بعض الأسئلة الغريبة:\n\n>ألم تُزعم تقنية سلسلة الكتل بأنها آمنة جدًا؟ أليس من المفترض أن فك تشفير المفتاح الخاص يستغرق مليارات السنين؟ لماذا تمكن مكتب التحقيقات الفيدرالي «أف بي آي»(FBI) من فك تشفير البيتكوين في الشبكة المظلمة؟ لماذا تم سرقة الرموز غير القابلة للاستبدال الخاص بجاي تشو؟ \n\nأستطيع تحمل هذه الأسئلة... لكن ما لا أستطيع تحمله هو أن بعض من يدعون أنهم خبراء أمنيين يخدعون الجمهور بأمان التشفير، مثل \"تشفير على مستوى عسكري\"، \"تشفير من الطراز الرفيع\"، \"تشفير على مستوى كوني\"، ويزعمون أن النظام آمن بشكل استثنائي وأنه لا يمكن للمخترقين اختراقه.\n\nالحقيقة هي أن المخترقين لا يعبأون بادعاءاتك...\n\n## التعرض للاختراق يمكن أن يكون محرجًا للغاية\n\nالتعرض للاختراق يمكن أن يكون تجربة محبطة ومعقدة من الناحية العاطفية، وقد يسبب شعورًا بالإحراج. لكن يجب أن تدرك أن التعرض للاختراق هو ظاهرة شائعة بنسبة 100%، بلا استثناء. لا داعي للسخرية من الآخرين أو للشعور بالخزي أو محاولة إخفاء المشكلة.\n\nإذا تعرضت للاختراق وكانت المسؤولية تقع عليك فقط، فالأمر يعود إليك. ولكن إذا كنت تتحمل المسؤولية تجاه بعض الأشخاص أو عدداً كبيراً منهم، فإن اتباع نهج شفاف ومفتوح في التعامل مع الاختراق واتخاذ إجراءات مسؤولة هو أمر بالغ الأهمية. على الرغم من أن ذلك قد يجلب السخرية والشكوك، وحتى التعرض لاتهامات بأنك الفاعل الرئيسي وراء هذا الحادث.\n\nالتعامل بشفافية وانفتاح مع الاختراق وتحديث المستجدات باستمرار، بالإضافة إلى استخلاص الدروس والعبر من التجربة، سيجلب لك في النهاية الحظ الجيد. يمكنك أن تفكر في الأمر بهذه الطريقة: إذا كان مشروعك غير معروف، فلن يهتم أحد باختراقه. الإحراج لا يكمن في التعرض للاختراق بل في الغرور.\n\nعلى الرغم من أن التعرض للاختراق هو ظاهرة شائعة بنسبة 100%، فإن الكثير منها يكون عبارة عن عقبات صغيرة. تجاوز هذه العقبات الصغيرة يمكن أن يسرع من النمو والتطور، لكن يجب علينا دائمًا محاولة تجنب الوقوع في الفخاخ الكبيرة.\n\n## التحديث الفوري\n\nلقد أوصيت عدة مرات في هذا الدليل بأهمية التحديث الفوري عند توفر تحديثات الأمان. فكر جيدًا، هل يمكن اعتبار نصيحتي شائعة؟\n\nفي معظم الأحيان، يكون \"التحديث الفوري\" في مجال الأمان هو الخيار الصحيح. لكن في بعض الأحيان، يمكن أن يؤدي التحديث الذي يحل مشكلة ما إلى ظهور مشكلة أخرى. هناك العديد من الأمثلة التاريخية على ذلك، ويمكنك البحث عنها للتعرف عليها. سأقدم مثالاً واحداً منها، وهو متعلق بـ«آيفون» و تطبيق المصادقة لجوجل:\n\n>بعد الترقية إلى نظام الـ«آي أو إس 15»(iOS 15) الجديد في جهاز «آيفون»، هناك خطر محتمل بأن يتم مسح المعلومات الموجودة في تطبيق المصادقة، أو قد يحدث تكرار لتلك المعلومات. إذا لاحظت تكراراً في المعلومات، لا تقم بحذف الإدخالات المكررة لأن هذا قد يؤدي إلى فقدان جميع المعلومات عند إعادة فتح تطبيق المصادقة. من المستحسن لأولئك الذين لم يقوموا بالترقية إلى نظام «آي أو إس 15» بعد ويستخدمون تطبيق المصادقة أن يقوموا بعمل نسخة احتياطية للمعلومات قبل الترقية.\n\nفيما بعد، جوجل حدّثت تطبيق المصادقة لحل المشكلة بشكل كامل.\n\nبخلاف ذلك، لا أوصي بتحديث المحفظة بشكل متكرر، خاصة إذا كانت محفظة تحتوي على أصول كبيرة. ما لم يكن هناك تحديث أمني كبير يجعلك مضطرًا لتحديث المحفظة، أو إذا كانت هناك ميزة مهمة للغاية تجعلك تحتاج إلى التحديث. في مثل هذه الظروف، يجب عليك تقدير المخاطر بعناية واتخاذ قراراتك بناءً على تحليل دقيق.\n\n# الملخص\n\nفي بداية هذا الدليل، نجد هذه الصورة :)\n\n![](res/web3_hacking_map.jpg)\n\nهل لاحظت؟ لقد قمت بتحديد الشخص باللون الأحمر في الصورة عن عمد للتذكير: الإنسان هو أساس كل شيء (يُعرف هذا في مجال علم الكونيات بـ \"المبدأ الأنثروبي\"). سواء كان الأمر يتعلق الأمان الشخصي أو قدرته على التحكم بالآمن، فإن كل شيء يعتمد في النهاية عليك. نعم، عندما تكون قوياً بما فيه الكفاية، لن يتمكن أحد ان يوذيك بسهولة.\n\nبدأت بالشرح من خلال الصورة، وتوسعت في الحديث عن ثلاث عمليات رئيسية: إنشاء المحفظة، نسخ المحفظة احتياطيًا، واستخدام المحفظة. تناولت العديد من النقاط الأمنية خلال هذه العمليات. ثم انتقلت إلى حماية الخصوصية التقليدية، موضحًا أنها أساسيات وأساس الأمان عند التعامل مع النظام البيئي لسلسلة الكتل. الأمان الشخصي لا يمكن تكراره بما فيه الكفاية؛ فمعرفة طرق الاحتيال المتعددة أمر جيد، وحتى إذا واجهت بعض المشكلات بنفسك، فإن الوعي النظري بالأمان سيتحول إلى خبرة عملية.\n\nلا يوجد أمان مطلق، لذلك شرحت ما يجب القيام به في حالة حدوث سرقة. لا أتمنى أن تتعرض للسرقة، ولكن في حالة حدوثها، آمل أن تساعدك إرشادات الأمان التي قدمتها بعد التعرض للسرقة. وأخيرًا، تحدثت عن بعض المفاهيم الخاطئة، وكان الهدف بسيطًا وهو أن تتبنى تفكيرًا نقديًا، لأن العالم مليء بالأشياء الجميلة وكذلك السيئة.\n\nلم أكتب هذا القدر من النصوص منذ فترة طويلة، آخر مرة كانت قبل 10 سنوات عندما كتبت كتابي \"كشف تقنيات القرصنة للواجهة الأمامية للويب\"، وكانت تجربة ممتعة. بعد سنوات من الخبرة في مجالي دفاع وهجوم أمان الويب، وكذلك في مجال أمان الفضاء الإلكتروني، قمت بقيادة فريق لتطوير محرك بحث يسمى «زوم آي»(ZoomEye) لأمان الفضاء الإلكتروني. أعتبر نفسي شخصًا خاض في العديد من مجالات الأمن والهجوم والدفاع، لكن يمكنني القول إنني متمرس فقط في بعضها القليل.\n\nالآن، في مجال أمان سلسلة الكتل، سواء بالنسبة لي أو لفريق «سلو ميست»(SlowMist) ككل، نعد من الرواد في مجال أمان سلسلة الكتل. خلال هذه السنوات، واجهنا عددًا لا يحصى من الحالات، كل أسبوع، نصادف حالات تثير دهشتنا. إنه لأمر مؤسف ألا نوثق العديد من التجارب والدروس المستفادة. وأخيرًا، بفضل تشجيع العديد من الأصدقاء واحتياج القطاع، قررت توثيق هذه الخبرات في دليل.\n\nعند انتهائك من قراءة هذا الدليل، يجب عليك أن تبدأ بتطبيق ما تعلمته بشكل عملي، تدريجيًا حتى تتقنه، وتطور قدرتك على التفكير التحليلي واستنباط العبر من مختلف السياقات. إذا كان لديك بعد ذلك اكتشافات أو تجارب خاصة بك، آمل أن تشارك هذه الاكتشافات لتعزز المعرفة. إذا كنت تفضل الحفاظ على الخصوصية، يمكنك تعديل البيانات الحساسة أو حتى المشاركة بشكل مجهول.\n\nأخيرًا، أود أن أعبر عن شكري لتطور التشريعات وتطبيقات الأمن والخصوصية على مستوى العالم. كما أشكر جميع علماء التشفير والمهندسين والمخترقين الأخلاقيين الذين يستحقون هذا التقدير عن جدارة، وكل من ساهم في جعل هذا العالم مكانًا أفضل بجهودهم، ومن بينهم ساتوشي ناكاموتو.\n\n# المرفقات\n\n## قواعد ومبادئ السلامة\n\nتم ذكر قواعد ومبادئ السلامة ذات الصلة في هذا الدليل، وتم تنظيمها بشكل خاص على النحو التالي. العديد منها مدمج في نصوص طويلة، لذلك لن أستخرجها بشكل خاص.\n\nقانونا السلامة الرئيسيان:\n\n* **لا تثق أبداً**: ببساطة، يعني الاستمرار في الشك، بل والشك دائمًا.\n* **التحقق المستمر**: لكي تثق، يجب أن تتطور قدرتك على التحقق من نقاط شكوكك إلى عادة مستمرة.\n\nمبادئ السلامة:\n\n* المعرفة على الإنترنت، استنادًا إلى مصادر متعددة. اعتمد دائمًا على معلومات من مصدرين على الأقل وتأكيدهما معًا، مع الحفاظ على الشك.\n* الحفاظ على العزل، بمعنى ألا تضع كل البيض في سلة واحدة.\n* عدم تحديث المحفظة التي تحتوي على أصول مهمة بسهولة، التحديث عند الضرورة فقط.\n* ما تراه هو ما توقعته، أي أن المحتوى الذي تراه هو المحتوى الذي تتوقع توقيعه، وعندما توقع وترسل، يجب أن تكون النتيجة كما توقعتها تمامًا، دون مفاجآت غير سارة.\n* الاهتمام بتحديثات أمان النظام، التحديث فورًا عند وجود تحديثات أمان.\n* تجنب تنزيل البرامج غير الموثوقة، هذا الإجراء وحده يمكن أن يقلل من المخاطر بشكل كبير.\n\n## المساهمون\n\nشكرًا للمساهمين، سيتم تحديث هذه القائمة باستمرار. إذا كان لديك أي أفكار، لا تتردد في الاتصال بي:\n\n>Cos، تويتر ([@evilcos](https://twitter.com/evilcos))، تطبيق Jike (@余弦.jpg)\n\nالمساهمون:\n```\nزوجتي\nفريق SlowMist، تويتر (@SlowMist_Team)، مثل Pds | Johan | Kong | Kirk | Thinking | Blue | Lisa | Keywolf...\nمترجمين اللغة الإنجليزية، مثل Alphatu | C. | CJ | JZ | Lovepeace | Neethan | pseudoyu | SassyPanda | ss |\nمترجمين اللغة اليابانية، مثل Jack Jia | Mia\nمترجمين اللغة الكورية، مثل Sharon | Jeongmin\nمترجمين اللغة الإندونيسية، مثل Finball\nتطبيق Jike\nبعض الأصدقاء المجهولين\nلمزيد من المعلومات: darkhandbook.io/contributors.html\n...\n```\n\n**كل مساعدة معتمدة ومضمنة في هذا الدليل، مثل تقديم اقتراحات دفاعية محددة، أعمال الترجمة، تصحيح الأخطاء، والحالات العملية.**\n\n## الأدوات\n\nهذا الدليل (المعروف باسم «الدليل الأسود») قد مر على إنشائه أكثر من عامين، ويسرني أنه كان مفيدًا للعديد من الأشخاص. رغم أن تأثيره في تزايد وكثير من الأصدقاء يحثونني على تحديثه، إلا أنني أدركت أنني أقضي معظم وقتي في تحديث [القراءات التكميلية](https://github.com/evilcos/darkhandbook) المرتبطة بالدليل. يجب أن أعترف أن هذه المواد تميل للجانب التقني، مما يجعلها غير مناسبة للمبتدئين. وأعي أيضًا أن قلة من الناس مستعدة لتخصيص الوقت لتعلم المعلومات الأمنية. كان الغرض من هذا الفصل الصغير أن يوصي ببعض الأدوات المناسبة للمبتدئين (تشمل المحافظ، الإضافات الأمنية، وأدوات البرمجة ذات الصلة، إلخ)، ولكن بعد تردد طويل، قررت في النهاية عدم تقديم توصيات خاصة. نظرًا لأن هذا القطاع يتطور بسرعة كبيرة، ورغم أنني أشرت بالفعل في هذا الدليل إلى العديد من الأدوات الممتازة التي اجتازت اختبار الزمن، ولكن هل هذه الأدوات ستكون دائمًا متفوقة في المستقبل؟ فذلك أمر غير مؤكد.\n\nسابقاً ذكرت أنه إذا كنت سأوصي بأداة معينة، فسأسعى لأن أكون موضوعياً ومحايداً قدر الإمكان، وأطلب من الجميع أن يتذكروا النقاط التالية:\n\n　* لا توجد أمان مطلق. الثقة الصفرية + التحقق المستمر هي قدرات انعكاسية يجب أن تكون موجودة دائماً في هذه الغابة المظلمة. إذا ظهرت أي مشكلة في هذه الأدوات مثل الأخطاء أو مشكلات الأمان، أو حتى حالات أسوأ مثل إدخال أبواب خلفية في الإصدارات الجديدة، فيرجى تحمل هذه المخاطر بنفسك. قبل استخدام هذه الأدوات، أنصحك بالحفاظ على تفكير مستقل والتخلي عن الثقة العمياء.\n\n　* لدي القدرة على البحث بشكل ممتاز وأمتلك العديد من الأصدقاء، وبالتالي سأوصي بالمنتجات الجيدة في الوقت المناسب. لذا، لا حاجة للقلق. إذا كان منتجك ممتازًا ونجح في كسب ثقة الجمهور، فمن الطبيعي أن أوصي به.\n \n　* لديك طابعك الخاص، ولدي أنا أيضًا.\n \n　* تجنب الانشغال بأسعار العملات.\n \n　* بناء الثقة ليس بالأمر السهل، ولكن انهيارها يحدث في لحظة، لذا يرجى تقديرها والاعتزاز بها.\n\nعلى الرغم من أنني لن أوصي بأدوات محددة في هذا الفصل الصغير، إلا أنني آمل أن أشارككم طريقة تفكير جيدة: تفكير الجدار الناري. المفاهيم التي كنت أؤكد عليها باستمرار مثل \"الثقة الصفرية\" و\"التحقق المستمر\" هي في الواقع جزء من تفكير الجدار الناري.\n\nعلى سبيل المثال، في استخدام المحافظ، التوقيعات تمثل نقطة ضعف كبيرة في أمن الأصول، وهناك العديد من أنواع التصيد الاحتيالي المرتبطة بالتوقيعات. يمكن ذكر بعض الأمثلة مثل:\n\n- استغلال التوقيعات الأصلية مثل eth_sign وpersonal_sign وeth_signTypedData_*. التوقيع باستخدام eth_sign يتم حظره بشكل متزايد من قبل المحافظ.\n- استغلال دوال الصلاحيات مثل approve وpermit المرتبطة بالعملات والرموز غير القابلة اللاستبدال.\n- استخدام وظائف قوية مثل (Uniswap's swapExactTokensForTokens/permit2).\n- استخدام وظائف البروتوكولات مثل (OpenSea/Blur) (تنوع الاستخدامات).\n- استغلال بيانات المعاملات (TX data 4byte)، مثل استلام المكافآت/تحديث الأمان.\n- استخدام (Create2) لإنشاء عناوين استقبال الأموال مسبقاً لتجاوز الفحص ذات الصلة.\n- استغلال التوقيع الفردي في «سولانا»(Solana) لسحب جميع الأصول من عنوان المحفظة المستهدف.\n- التصيد الجماعي للنقوش البيتكوين المميزاة باستخدام آلية «يو تي إكس أو»(UTXO).\n- التبديل بين سلاسل «إي في إم/سولانا/ترون»(EVM/Solana/Tron) وما إلى ذلك للتصيد.\n\nإذا كانت محفظتك تطالب بتأكيد التوقيع عند ظهور النافذة المنبثقة، في حالة الخوف من فوات الفرصة «فومو»(FOMO) أو الارتجاف، فإن نقرة واحدة على \"تأكيد\" تكون كافية لإصدار التوقيع. هذه الطريقة في استخدام المحفظة لا تتبع مفهوم جدار الحماية. الأفضل هو أن يكون هناك على الأقل نقرتين؛ كل نقرة إضافية توفر طبقة إضافية من الأمان (ليس من الضروري وجود العديد من الطبقات، لأن الإنسان يمكن أن يصبح غير مبالٍ). على سبيل المثال، عندما أستخدم محافظ المتصفح مثل «رابي»(Rabby)، «ميتا ماسك»(MetaMask)، و «أو كيه إكس والت»(OKX Wallet)، باستثناء محفظة الاختبار، أحاول دائمًا تزويدها بمحفظة باردة، ويفضل أن تكون بشاشة كبيرة لتسهيل التعرف على محتوى التوقيع.\n\nفي هذه الحالة، تقوم نافذة تأكيد التوقيع لمحافظ المتصفح بالتحليل الأمني الأولي، مثل الكشف عن مواقع الاحتيال، وتحديد عناوين المحافظ المشبوهة، والتحقق من التوقيعات لضمان تطابقها مع ما يُرى، والتعرف على التوقيعات ذات المخاطر العالية. هذه الإجراءات كلها تشكل جزءاً مهماً من تأمين التفاعلات للمستخدم. محفظة الأجهزة تقوم بالتحليل الأمني الثاني. إذا تم أيضاً إضافة امتدادات أمان لمحافظ المتصفح \n\nمثل «سكام سنيفر»(Scam Sniffer)، «واليت جارد»(Wallet Guard)، و«بوكت يونيفرس»(Pocket Universe)، فسيتم تعزيز جدار الحماية بطبقة إضافية. لكن من الضروري دائماً أن تتذكر أنه إذا لم يكن هناك تحذير من المخاطر بشأن العملية التي تجريها، عليك أن تظل متيقظًا وتقوم بتحديد الأمور بنفسك؛ أنت الجدار الحماية الأخير لنفسك.\n\nبعد اعتيادك على مفهوم جدار الحماية، لن تتأثر الكفاءة بشكل كبير، لكن شعورك بالأمان سيزداد بشكل كبير. يمكنكم تطبيق هذا المبدأ في مواقف أخرى بطريقة مشابهة.\n\nبعد اعتيادك على مفهوم جدار الحماية، لن تتأثر الكفاءة تأثيراً كبيراً، لكن شعورك بالأمان سيزداد بدرجة كبيرة. استخدموا هذا المبدأ في مواقف أخرى مشابهة.\n\nحسنًا، سننهي هذا الفصل القصير هنا :)\n\n## قائمة المواقع الرسمية\n```\nSlowMist https://www.slowmist.com\nCoinMarketCap https://coinmarketcap.com/\nSparrow Wallet https://sparrowwallet.com/\nMetaMask https://metamask.io/\nimToken https://token.im/\nTrust Wallet https://trustwallet.com/\nTokenPocket https://www.tokenpocket.pro/\nGnosis Safe https://gnosis-safe.io/\nZenGo https://zengo.com/\nFireblocks https://www.fireblocks.com/\nSafeheron https://www.safeheron.com/\nKeystone https://keyst.one/\nTrezor https://trezor.io/\nOneKey https://onekey.so/\nimKey https://imkey.im/\nRabby https://rabby.io/\nOKX Wallet https://www.okx.com/web3\nEdgeWallet https://edge.app/\nMyEtherWallet https://www.myetherwallet.com/\nPhantom https://phantom.app/\nTornado Cash https://tornado.cash/\nBinance https://www.binance.com/\nCoinbase https://coinbase.com\nCompound https://compound.finance/\nSushiSwap https://www.sushi.com/\nOpenSea https://opensea.io/\nRevoke.cash https://revoke.cash/\nScam Sniffer https://www.scamsniffer.io/\nWallet Guard https://www.walletguard.app/\nPocket Universe https://www.pocketuniverse.app/\n\nJike App https://okjike.com/\nAVG https://www.avg.com/\nBitdefender https://www.bitdefender.com/\nKaspersky https://www.kaspersky.com.cn/\nMalwarebytes https://www.malwarebytes.com/\nCloudflare https://www.cloudflare.com/\nAkamai https://www.akamai.com/\nSURVEILLANCE SELF-DEFENSE https://ssd.eff.org/\nPrivacy Guide https://www.privacytools.io/\nOpenPGP https://www.openpgp.org/\nGPG https://gnupg.org/\nGPG Suite https://gpgtools.org/\nGpg4win https://www.gpg4win.org/\n1Password https://1password.com/\nBitwarden https://bitwarden.com/\nGoogle Authenticator https://support.google.com/accounts/answer/1066447\nMicrosoft Authenticator https://www.microsoft.com/en-us/security/mobile-authenticator-app\nProtonMail https://protonmail.com/\nTutanota https://tutanota.com/\nVMware Workstation https://www.vmware.com/products/workstation-pro.html\nParallels https://www.parallels.com/\n```\n"
  },
  {
    "path": "README_CN.md",
    "content": "区块链黑暗森林自救手册<br>\n*掌握这些，掌握你的加密货币安全。*\n\n:fire:Website: https://darkhandbook.io/<br>\n:us:English: [Blockchain dark forest selfguard handbook](README.md)<br>\n:jp:日本語版：[ブロックチェーンのダークフォレストにおける自己防衛のためのハンドブック](README_JP.md)<br>\n:kr:한국어 버전: [블록체인 다크 포레스트 셀프가드 핸드북](README_KR.md)<br>\n:saudi_arabia:اللغة العربية: [دليل النجاة في الغابة المظلمة للبلوكتشين](README_AR.md)<br>\n:indonesia:Versi Indonesia: [Buku Panduan menjaga diri didalam \"dark forest\"](README_ID.md)<br>\n\nBlockchain dark forest selfguard handbook<br>\n*Master these, master the security of your cryptocurrency.<br>*\n\n作者：余弦@慢雾安全团队<br>\n联系我：Twitter ([@evilcos](https://twitter.com/evilcos))、即刻（@余弦.jpg）\n\n![alt this](res/this.png)\n\n| 日期 | 更新日志 |\n| --- | --- |\n| 2025/03/20 | V1.3 新增`电脑中毒了怎么办`章节及更新`那些官网`。|\n| 2024/06/28 | V1.2 新增[阿语版](README_AR.md)，感谢翻译者们。|\n| 2024/05/16 | V1.2 新增[韩文版](README_KR.md)，日文版及英文版同步更新！还有一点小修正>_< |\n| 2024/04/24 | V1.2 新增`那些工具`章节及更新`贡献者`、`那些官网`。 |\n| 2023/05/24 | V1.1 `小心签名！`章节做了点更新。 |\n| 2023/01/07 | 我在我的个人 GitHub 做扩展阅读更新：https://github.com/evilcos/darkhandbook |\n| 2022/06/14 | V1 [日文版](README_JP.md)出现，感谢翻译者们。 |\n| 2022/05/17 | V1 [英文版](README.md)出现，一点小修正，感谢翻译者们。 |\n| 2022/04/15 | V1 出现，仅仅修正了点错别字，一些不错的建议，我将在之后的小版本里加入，感谢:) |\n| 2022/04/12 | V1 Beta 出现，中文，用碎片时间断断续续写了三周:D |\n\n*注：选择 GitHub 方便协同及看到历史更新记录。你可以 Watch、Fork 及 Star，当然我更希望你能参与贡献:)*\n\n:anchor:**目录**\n- [引子](#引子)\n- [一张图](#一张图)\n    - [创建钱包](#创建钱包)\n        - [Download](#download)\n        - [Mnemonic Phrase](#mnemonic-phrase)\n        - [Keyless](#keyless)\n    - [备份钱包](#备份钱包)\n        - [助记词/私钥类型](#助记词私钥类型)\n        - [Encryption](#encryption)\n    - [使用钱包](#使用钱包)\n        - [AML](#aml)\n        - [Cold Wallet](#cold-wallet)\n        - [Hot Wallet](#hot-wallet)\n        - [DeFi 安全到底是什么](#defi-安全到底是什么)\n        - [NFT 安全](#nft-安全)\n        - [小心签名！](#小心签名)\n        - [小心反常识签名！](#小心反常识签名)\n        - [一些高级攻击方式](#一些高级攻击方式)\n    - [传统隐私保护](#传统隐私保护)\n        - [操作系统](#操作系统)\n        - [手机](#手机)\n        - [网络](#网络)\n        - [浏览器](#浏览器)\n        - [密码管理器](#密码管理器)\n        - [双因素认证](#双因素认证)\n        - [科学上网](#科学上网)\n        - [邮箱](#邮箱)\n        - [SIM 卡](#sim-卡)\n        - [GPG](#gpg)\n        - [隔离环境](#隔离环境)\n    - [人性安全](#人性安全)\n        - [Telegram](#telegram)\n        - [Discord](#discord)\n        - [来自“官方”的钓鱼](#来自官方的钓鱼)\n        - [Web3 隐私问题](#web3-隐私问题)\n- [区块链作恶方式](#区块链作恶方式)\n- [电脑中毒了怎么办](#电脑中毒了怎么办)\n- [被盗了怎么办](#被盗了怎么办)\n    - [止损第一](#止损第一)\n    - [保护好现场](#保护好现场)\n    - [分析原因](#分析原因)\n    - [追踪溯源](#追踪溯源)\n    - [结案](#结案)\n- [误区](#误区)\n    - [Code Is Law](#code-is-law)\n    - [Not Your Keys, Not Your Coins](#not-your-keys-not-your-coins)\n    - [In Blockchain We Trust](#in-blockchain-we-trust)\n    - [密码学安全就是安全](#密码学安全就是安全)\n    - [被黑很丢人](#被黑很丢人)\n    - [立即更新](#立即更新)\n- [总结](#总结)\n- [附](#附)\n    - [安全法则及原则](#安全法则及原则)\n    - [贡献者](#贡献者)\n    - [那些工具](#那些工具)\n    - [那些官网](#那些官网)\n\n# 引子\n\n首先，需要先恭喜你的是：你看到了这本手册。我不清楚你是谁，但如果你持有加密货币或对这个世界有兴趣，未来可能会持有加密货币，那么这本手册值得你反复阅读并谨慎实践。\n\n其次，需要有心理准备的是：本手册的阅读需要一定的知识背景，我尽量照顾初学者，但很难。我希望初学者不必恐惧这些知识壁垒，因为其中大量是可以“玩”出来的。如果你遇到不懂的知识点，需要扩展了解的话，建议你用好 Google。并强烈建议你掌握一个安全原则：网络上的知识，凡事都参考至少两个来源的信息，彼此佐证，始终保持怀疑。\n\n是的，始终保持怀疑！包括本手册提到的任何知识点:)\n\n区块链是个伟大的发明，它带来了某些生产关系的变革，让“信任”这种宝贵的东西得以部分解决。这已经很难得了，不需要中心化、不需要第三方角色，有些“信任”基于区块链就可以得到很好解决，不可篡改、按约定执行、防止抵赖。但，现实是残酷的，人们对区块链的理解会存在许多误区。这些误区导致了坏人轻易钻了空子，频繁将黑手伸进了人们的钱包，造成了大量的资金损失。这早已是黑暗森林。\n\n在区块链黑暗森林世界里，首先牢记下面这两大安全法则：\n\n1. 零信任。简单来说就是保持怀疑，而且是始终保持怀疑。\n2. 持续验证。你要相信，你就必须有能力去验证你怀疑的点，并把这种能力养成习惯。\n\n*注：本手册中，安全法则就这两大，其他都可以认为是这两大推论出来的安全原则。*\n\n好，引子部分就到这。下面我们从一张图开始，进入到这个黑暗森林，看看我们都会遇到哪些风险及我们应该如何应对。\n\n# 一张图\n\n![](res/web3_hacking_map.jpg)\n\n在仔细看后文之前，你可以先粗略过下这张图。这张图是你在这个世界（无论你如何称呼这个世界，区块链、加密货币还是 Web3 都行）里关键活动有关的内容，从流程上包括三大部分：创建钱包、备份钱包及使用钱包。\n\n我们顺着这三大流程，将涉及到的每个关键点展开分析。\n\n## 创建钱包\n\n钱包最最最核心的就是那个私钥（或助记词）。\n\n私钥长这样：\n\n>0xa164d4767469de4faf09793ceea07d5a2f5d3cef7f6a9658916c581829ff5584\n\n助记词长这样：\n\n>cruel weekend spike point innocent dizzy alien use evoke shed adjust wrong\n\n*注：用以太坊举例，关于私钥/助记词的基础知识请自行扩展。*\n\n私钥即身份，如果私钥丢了或被盗了，那么这个身份也就不是你的了。钱包应用其实很多，知名的也不少，我并不打算也不可能一一介绍。不过该手册确实会提到一些具体的钱包，请注意，能被提到的必然是我有基本信任的，但我不担保你在使用过程中可能出现的安全问题或目标钱包可能出现并不在我预期内的安全风险（后文我不会再不断去废话这些，引子里提到的两大安全法则希望你牢记心中）。\n\n钱包从应用分类来说主要包括几种：PC 钱包、浏览器扩展钱包、移动端钱包、硬件钱包及网页钱包等。从触网与否来说主要可以分为冷钱包和热钱包。当我们要进入这个世界，首先要思考将拥有的钱包的用途，用途决定了你将用哪个钱包，同时用途也决定了你会如何对待这个钱包。\n\n无论你选择什么钱包，但至少有一点可以肯定的：在这个世界玩久了后，你不可能只有一个钱包。\n\n于是这里我们又需要记住一个安全原则：做好隔离，也就是鸡蛋不要放在一个篮子里。一般来说使用越频繁的钱包，自然也加大了出问题的风险。时刻牢记：面对一个新事物时，先准备个单独的钱包，用单独的小资金去玩一段时间。除非你已经如我这般，经历无数，对许多事物都了然于心。但，常在河边走，哪有不湿鞋呢？\n\n### Download\n\n单这么简单的一点，其实也不简单，原因：\n\n1. 许多人（真是许多人）找不到正确的官网，正确的应用市场，于是安装了假钱包。\n2. 许多许多人对下载了的应用不知道如何确认是否被篡改过。\n\n于是，出师未捷身先死。还没来得及进入这个世界，就已经钱包空空了。\n\n针对上面的第 1 点，找到正确的官网是有技巧的，比如：\n\n* Google（注意搜索结果里的广告条目，非常不靠谱）\n* 行业知名收录，如 CoinMarketCap\n* 多问一些比较信任的人\n\n好，上面这几点得到的信息可以全部结合起来参考，互相佐证，最终真相只有一个:)恭喜你，找到了正确的官网。\n\n接着，你要下载安装应用了，**如果是 PC 钱包**，根据官网提供的下载链接，下载后需要自己去安装。但在安装之前，建议做下是否篡改的校验工作，虽然这个做法并无法防止源头就被完全篡改的情况（比如官方自己内部作恶、内部被黑、官网被入侵替换了相关信息等等），但可以防止如：源头被部分篡改、被中间人劫持篡改等这些情况。\n\n是否篡改的校验，实际上就是文件一致性校验。常见的方式有两种：\n\n* 一种是哈希校验，比如 MD5、SHA256 等，MD5 绝大多数情况下够用，但存在被哈希碰撞的极小风险，所以业内一般选择 SHA256，够用且够安全。\n* 另一种是 GPG 签名校验，这个其实也很流行，强烈建议掌握 GPG 工具、命令、方法，虽然对于新人来说有那么些费力，但上手后，相信我，你会很快乐的。\n\n话虽至此，其实业内这样做的项目方并不多，所以一旦遇到，真是难能可贵，弥足珍惜，比如一款比特币钱包 Sparrow Wallet，下载页面的“Verifying the Release”简直良心了，提到的两种方式都有清晰指南，可以直接参考学习：\n\n>https://sparrowwallet.com/download/\n\n这个页面提到的 GPG 工具有两个：\n\n* GPG Suite，macOS 下运行的。\n* Gpg4win，Windows 下运行的。\n\n如果你细心观察，你会发现这两个 GPG 工具的下载相关页面其实都有给出两种方法的一致性校验说明，但不好意思的是，并没手把手教你如何校验。估计吧，都是认为你会是聪明人，该补上的知识你已经补上了:)\n\n**如果是浏览器扩展钱包**，比如这世界家喻户晓的 MetaMask，你唯一有机会注意的就是目标扩展下载页面里的用户数多不多、评分情况如何，比如 MetaMask 在 Chrome 网上应用店里，用户数可是超过一千万的，同时有两千多用户评分的，虽然最终评分并不高。有人要说这不可以刷出来吗？这位朋友，是这样的，刷，我相信，不过刷的量如此之巨大，当各方是傻子呢。\n\n**如果是移动端钱包**，判断方式类似扩展钱包，不过需要注意的是，iPhone 的 App Store 是分区的，加密货币在中国大陆被驱赶得不行，所以如果你用 App Store 中国区账号下载到了钱包，建议只有一个：别用，换成如美区的 App Store 账号下载吧。另外，通过正确的官网也能引导到正确的下载位置（比如全球知名的 imToken、OneKey、Trust Wallet 等，官网安全一定要做好，官网都被黑了，那这安全责任就真大了）。\n\n**如果是硬件钱包**，简单来说，可以从官网源头的引导下购买，不要直接去在线商城，到手后也需要留意是否存在被异动手脚的情况，当然有些针对硬件包装的异动是很高明的，不一定都能看得出。此时建议：无论如何，使用时，先连续至少三次从头开始的创建，记录下生成的助记词、相关钱包地址，不会重复就行。\n\n**如果是网页钱包**，非常不建议使用这种在线的钱包，除非你不得已，那么识别好是官方的后，速战速决吧，千万别有任何感情依赖。\n\n### Mnemonic Phrase\n\n一般来说，我们创建了钱包后，直接打交道的关键信息是助记词（而不是私钥），毕竟助记词是方便人类记忆的。助记词是有标准约定的（如 \nBIP39），这就对助记词提了要求，比如一般 12 个英文单词，也可以是其他数量（3 的倍数），不过不会超过 24 个单词，要不然太复杂也就不助记了，数量少于 12 的话，安全性也不靠谱，12、15、18、21、24 都好说。不过从业内习惯来说，一般流行的是 12 位，安全性足够，有的安全严谨到变态的如 Ledger 这类硬件钱包，24 位标配走起。还有除了英文单词，也可以是其他的，比如中文、日文、韩文等等。但也不是什么单词都可以，有一个固定 2048 个单词列表，具体参考：\n\n>https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md\n\n创建钱包时，助记词的出现是非常敏感的，请留意你身边没有人、摄像头等一切可以导致偷窥发生的情况。同时留意下助记词是不是足够随机出现，正常来说这些知名钱包生成的助记词随机数是绝对足够的，这不以防万一？你真的很难知道，拿到手的钱包到底有没有万一的猫腻。你也不要嫌麻烦，这些安全小习惯形成后，相信我，你真的会很快乐。最后，有的场景下，你甚至可以考虑断网来创建钱包，尤其是你准备把该钱包当成冷钱包使用时，断网简直就是暴力美学。\n\n### Keyless\n\nKeyless，顾名思义是无私钥的意思。在这我们把 Keyless 分为两大场景（注意，这里的区分不代表业内公认区分方式，只能说是方便我讲解）：\n\n* Custodial，即托管方式。比如中心化交易所、钱包，用户只需注册账号，并不拥有私钥，安全完全依托于这些中心化平台。\n* Non-Custodial，即非托管方式。用户唯一掌握类似私钥的权力，但却不是直接的加密货币私钥（或助记词）。比如依托知名 Cloud 平台做托管、认证授权，此时知名 Cloud 平台成为木桶的那块短板。还有利用了安全多方计算（MPC）来确保不存在单点风险，同时也结合知名 Cloud，将用户体验做到最好。\n\n对我来说，Keyless 的几种方式我都有使用。实力雄厚及口碑良好的中心化平台体验好，只要不是因为自身原因导致的被盗币（比如账号相关权限被盗），这些平台也会兜底赔付。至于 MPC 为主的 Keyless 方案是我觉得很有前景且应该尽快普及的，我用过不错的如（ZenGo、Fireblocks、Safeheron）。优势很明显，我这简单提几点：\n\n* MPC 算法工程实践在这些知名区块链上，越来越成熟，只需针对私钥开展即可。\n* 一套思路可以解决不同区块链的多签方案差异巨大的问题，使其在用户感知上通用，这是我们常说的：通用多签。\n* 可以确保真实的私钥从不出现，通过多方计算解决单点风险。\n* 结合知名 Cloud（或有人提的 Web2）让 MPC 不仅安全且体验更顺滑。\n\n优点明显，但缺点也是有的，我也简单提几点：\n\n* 满足业内公认标准且开源的，这方面的成熟度还远不够，各位仍需努力。\n* 有不少人说基本只玩以太坊系列（或者说基于 EVM 的区块链），那么 Gnosis Safe 这种智能合约方式的多签方案也就够了。\n\n无论哪种方式，只要是你觉得安全可控的、用起来舒服的，那么都是好方式，仁者见仁智者见智。\n\n好，创建钱包的相关安全注意点就先介绍这些，有一些通用性的安全问题会统一在之后介绍，先不着急:)\n\n## 备份钱包\n\n许多挺厉害的人都在这踩坑了，其中包括我，常在河边走，湿鞋我也认，好在这不是个大资产钱包，并且最终我在慢雾的兄弟帮我破解解决了。这也是厉害的地方，我没备份好，我踩坑了，但我却有厉害的资源能帮我解决这个坑。不过我也会冒冷汗，人之常情。冒冷汗的感觉你肯定也不喜欢，那就集中精力学习下如何安全地备份钱包吧。\n\n### 助记词/私钥类型\n\n我们所说的备份钱包，其实归根结底是备份助记词（或私钥，为了方便介绍，后文一般情况下只提助记词）。我们拿到的助记词其实可以主要分为几种类型：\n\n* 明文\n* 带密码\n* 多签\n* Shamir's Secret Sharing，简称 SSS\n\n这几种类型，我简单展开说说。\n\n**明文**，很好理解，那 12 个英文单词你拿到了，里面的资产就是你的了。其实这个时候可以考虑做些特别的“乱序规律”，甚至把某个把单词替换为其他的单词。这样做对于坏人来说头疼了，但如果这个“规律”你自己忘记了，就轮到你头疼了。千万不要觉得你头疼是不可能的，相信我，一年、两年、五年后，记忆这东西真的会错乱。几年前，我玩 Ledger 硬件钱包时，就踩坑了，助记词 24 个单词，我抄写备份时打乱了顺序，几年后我忘记了排序规律，且不记得自己是不是替换了其中的单词。如前面说的，我的问题后来解决了，专门的破解程序碰撞出了正确的助记词顺序且纠正了其中的个把单词。\n\n**带密码**，根据标准，助记词是可以带密码的，助记词还是那样的助记词，只是带上密码后会得到不一样的种子，这个种子就是之后拿来派生出一系列私钥、公钥及对应地址。此时，你不仅要备份好助记词，这个密码也千万别忘记了。顺便说下，带密码的形式，除了配套助记词，私钥也有相关标准（如 BIP38），还有如以太坊系列常见的 Keystore 文件。\n\n**多签**，可以理解为目标资金需要多个人签名授权才可以使用，多签很灵活，可以设置审批策略，比如 3 个人都有钥匙（助记词或私钥），需要满足至少 2 人的签名审批，目标资金才可以使用。每个区块链都会有自己的多签解决方案，比特币系列的很好理解，知名的比特币钱包都原生支持多签。不过以太坊系列的，主要通过智能合约来实现多签，如 Gnosis Safe。另外，除了这些比较普遍的多签方案，还有一类正在流行的：MPC（Secure Multi-Party Computation），即安全多方计算，和传统多签体验接近，但原理却很不一样，通过 MPC，可以实现通用多签，并不需要不同链不同的多签方式。\n\n**SSS**，Shamir 秘密共享方案，作用就是将种子分割为多个分片（常见的每个分片有 20 个单词），恢复钱包时，需要使用指定数量的分片才能恢复。具体参考业内最佳实践：\n\n>https://guide.keyst.one/zh/docs/shamir-backup<br>\n>https://wiki.trezor.io/Shamir_backup\n\n用了多签、SSS 这类方案，其实会放心很多，避免了单点风险，但管理上也相对复杂了，而且这很多时候会涉及到多个人。便捷与安全是永恒的矛盾，具体看自己。但在法则、原则上千万别偷懒。\n\n### Encryption\n\n加密是个非常非常大的概念，无论对称、非对称还是其他什么高级的，只要加密了后，多年以后，你或者你的灾备人可以很好解开，而其他人解不开的加密就是好加密。\n\n根据“零信任”这个安全法则，当我们在备份钱包时，每个环节都要假设可能会被入侵，哪怕物理环境，如保险箱。别忘了，这个世界除了你自己，并没有其他人是完全可信的，其实有的时候自己也不可信，比如记忆可能会淡忘、错乱等。但我不会把这个世界假设的如此可怕，否则最终还是会把事情搞砸了。\n\n备份时一定要特别考虑灾备。灾备主要就是要避免单点风险，万一你没了，万一你备份目标所在的环境没了，该怎么办？所以重要的东西，一定要有灾备人；重要的东西，一定有多处备份。\n\n那么，灾备人的选择我就不废话了，看你信任谁吧。我重点提提多处备份。先看看备份位置的几个基本形态：\n\n* Cloud\n* Paper\n* Device\n* Brain\n\n**Cloud**，许多人谈云备份色变，似乎黑客真的就上天入地，来无影去无踪的。其实攻防对抗永远都是成本对抗，看谁投入的大，无论是人才还是钱。对于我来说，我会比较信任 Google、Apple、微软等提供的相关云端服务，因为我知道他们的安全团队是如何实力，安全投入是如何之大。但除了对抗外部黑客入侵，我还很关心内部安全风控的能力及隐私数据保护有关的约束力。我比较信任的几个，都算是把这些我在意的安全风险规避得不错的。但凡事绝无绝对。如果我选择这些云来备份我非常重要的数据（如钱包），我一定还会给钱包再做至少一次加密的。\n\n我强烈推荐掌握 GPG，除了前面提到的“签名验证”用途之外，加解密方面安全性也足够强了。关于 GPG 这块的入门可以参考：\n\n>https://www.ruanyifeng.com/blog/2013/07/gpg.html\n\n好，你掌握了 GPG:) 现在你已经在离线安全环境下用 GPG 加密了你的钱包（助记词或私钥）有关内容，你可以把加密后的文件直接扔到这些云服务里去了，保存好，没事的。但这里我需要提醒下，你 GPG 的私钥别丢了、私钥密码别忘记了...\n\n到这，安全带来的麻烦似乎还没适应，GPG 好不容易入门了，你还得备份好 GPG 的私钥及私钥密码。其实真到这步了，你也熟悉了，再备份这点东西其实也就不麻烦了。这点我不展开，留给实践出真知的你。\n\n如果你想偷懒，还有一种方案是可以考虑的，只是安全性上会打点折扣，我不好衡量具体折扣多少，但有时候有的场景下我也会偷懒，于是我会考虑用知名的工具来做辅助。这个工具就是 1Password。1Password 新版本已经支持直接保存钱包相关内容，如助记词、密码、钱包地址等，这方便用户。其实其他同类型工具（如 Bitwarden）也可以，只是使用起来不像这样方便。\n\n**Paper**，许多硬件钱包都会附带几张质量上乘的纸卡片，你可以将助记词（明文、SSS 等形式的）抄写在上面。除了纸质的，还有钢板的（抗火抗水抗腐蚀，当然我没验证）。助记词抄写完成后，会做一次验证，没问题后，放进你觉得安全的位置，比如保险箱。其实我个人挺喜欢 Paper 的，Paper 所处环境不错的话，寿命远大于电子设备。\n\n**Device**，各种设备吧，电子设备是常用的一种，电脑、iPad、iPhone、移动硬盘、U 盘等都可以拿来做备份，看个人喜好。然后设备间的安全传输，让我比较有安全感的是：隔空投送（AirDrop）、USB 等这类点对点且挺难出现中间人劫持情况的方式。只是我天然对电子设备不放心的一点是多年后可能就坏了，所以会保持每年至少一次的检查习惯。有一些重复做法（如加密）参考 Cloud 小点里的说法就行。\n\n**Brain**，脑记很爽很刺激，其实每个人都有自己的“记忆宫殿”的，这玩意不玄乎，可以训练，熟能生巧，加深记忆。有不少东西确实还是脑记好，至于到底是不是只唯一用脑记看你自己。反正注意两种风险：一是时间会让记忆淡忘或错乱；二是自己可能出意外。这块不多说了，请自行扩展。\n\n现在你都备份好了。加密不能太过分了，否则多年以后等于“同归于尽”，因为到时候你可能自己都解不开。根据安全法则“持续验证”，无论过不过分的加密及备份方法，一定要做到定期不定期地验证，验证频率得看你的记忆，有时候转头可能就忘记了。验证不代表一定都要完整解开看看，只要整个过程不会错，采用部分验证也是可以的。最后，也需要注意验证过程的机密性及安全性。\n\n好了，长舒一口气，其实入门是最难的，以上你都准备好后，咱们开始真正进入这个黑暗森林吧:)\n\n## 使用钱包\n\n当你创建及备份好钱包后，真正的大挑战才来了。除非你非常的佛系，不怎么折腾持有的价值资产，平时也不会去玩以太坊系列的 DeFi、NFT、GameFi 等智能合约有关的项目，或者说当下喜欢提的 Web3。那么实际上你的资金是挺安全的。\n\n### AML\n\n嗯，也只是“挺安全”，因为这里还是有风险的，所谓“人在家中坐、祸从天上来”。为什么这样说呢？你想呀，你最开始的加密货币是从哪里来的？不会是凭空出现的吧？那么在加密货币活动可能中，你拿到的加密货币都可能遇到 AML（Anti Money Laundering）即反洗钱风控。也就是说你此刻持有的加密货币可能是不干净的，甚至如果足够倒霉，还可能存在被直接在链上冻结的情况，比如公开报告中 Tether 曾经在执法单位的要求下冻结了一些 USDT 资金。被冻结列表可以看这：\n\n>https://dune.xyz/phabc/usdt---banned-addresses\n\n验证是否被 Tether 冻结，可以在 USDT 合约地址进行：\n>https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#readContract\n\n<img src=\"res/usdt_isblacklisted.png\" width=\"700\">\n\n在 isBlackListed 输入目标钱包地址即可判断。USDT 所在的其他链大体同理（别较真）。\n\n但你的比特币、以太坊是不会出现链上冻结情况的，也许未来出现了这个情况，那这点本来非常坚定的去中心化信仰可能也就没了。我们现在经常听到的加密货币冻结实际上绝大多数并不是发生在链上的，而是发生在中心化平台里，如中心化交易所（Binance、Coinbase 等）。你的加密货币在这些中心化平台里，意味着你并不是真正意义上持有这些加密货币，中心化平台冻结的其实是你的账号，尤其是你的交易、提币权限。冻结这个概念其实很容易对圈外人造成误解，于是出现一些很烂的自媒体胡乱解读及散播比特币的各种阴谋论。\n\n虽然你的比特币、以太坊等不会在链上被冻结，但如果你的这些加密货币本身就涉及到相关执法单位在处理的案件，一旦你的加密货币转移进中心化平台，这些中心化平台就有可能因为 AML 等要求将你的加密货币冻结。\n\n为了比较好地避免 AML 问题，需要选择口碑好的平台、个人等作为你的交易对手。别瞎搞基本问题不大。如果要深度地解决这些问题实际上也是有不少办法的，比如以太坊系列上，几乎所有坏人及特别在意隐私的人都会选择 Tornado Cash 进行混币。更多的方法就不提了，因为这些方法实际上也会被用来作恶。\n\n### Cold Wallet\n\n冷钱包有好几种使用方法，对于钱包本身来说是不联网的，那么就可以认为这是个冷钱包。那么不联网如何使用？首先，如果仅仅是接收加密货币，问题不大，配合个观察钱包体验就已经挺不错了，比如 imToken、OneKey、Trust Wallet 等都可以直接添加钱包地址，成为目标钱包地址对应冷钱包的观察钱包。\n\n如果冷钱包要发送加密货币，常见的方式有几种：\n\n* QRCode\n* USB\n* Bluetooth\n\n这几种都需要专门的应用（这里称之：Light App）搭配冷钱包使用，这个 Light App 是联网的，包括前面提到的观察钱包。我们只需明白其中本质原理就会明白这些方式了。本质是：最终只需想办法把签名后的内容广播上链。我大概解析下过程：\n\n* 待签名的内容由 Light App 通过这些方式传输给冷钱包。\n* 签名由拥有私钥的冷钱包搞定后再通过这些方式传输回 Light App。\n* Light App 将签名后的内容广播上链。\n\n所以这里无论是二维码（QRCode）、USB、还是蓝牙（Bluetooth）等方式，用途就是如上所说。当然不同的方式会有不同的细节，比如二维码信息容量是有限的，遇到签名数据很大的时候就得拆分。\n\n这样使用似乎麻烦了点，不过习惯了就好，甚至满满安全感。但，千万别把安全感加满，因为这里还是有风险的，已经许多案例是因为这些风险而导致损失惨重。风险点如：\n\n* 转币的目标地址没严格检查，导致币转给了其他人。人都是有惯性或惰性的，比如很多时候检查一个钱包地址主要就看开头、结尾几位是不是正确的，而没有几乎完整检查。于是坏人就激动了，专门用程序来跑出头尾几位一样的地址，然后通过一些手法把你的转币目标地址给替换为他控制的地址。\n* 授权相关币种给了未知地址，通常来说授权是以太坊系列智能合约代币的机制，就是那个 approve 函数，一个参数是授权给目标地址，另一个参数是数量。许多人不了解这个机制，于是就可能把无限数量的代币授权给目标地址，此时目标地址就有权限把这些代币转走了。这就是所谓的授权盗币，手法还有其他变种，这里就先不扩展了。\n* 一些看去不重要的签名，实际上藏着巨大的陷阱，这点也先不展开，之后会有解析。\n* 冷钱包可能并没给你足够的必要信息展示，导致你大意了、误判了。\n\n这一切都可以归结为两点：\n\n* 所见即所签这种用户交互安全机制缺失。\n* 用户的有关知识背景缺失。\n\n### Hot Wallet\n\n相比冷钱包，冷钱包有的风险热钱包基本都会有，除此之外，热钱包多了个：助记词（或私钥）被盗风险。此时的热钱包要考虑的安全就多了，比如运行环境的安全，如果运行环境有相关病毒🦠，那么就有被盗风险。还有热钱包如果存在某些漏洞，通过漏洞也可以直接盗走助记词。\n\n热钱包除了常规的转币功能外，如果要与那些 DApp（DeFi、NFT、GameFi 等）交互，要么直接用自带的浏览器访问，要么通过 WalletConnect 协议与 PC 浏览器打开的 DApp 交互。\n\n*注：本手册提到的 DApp 默认指运行在以太坊系列区块链上的智能合约项目。*\n\n默认情况下，这样的交互是不会导致助记词被盗的，除非钱包安全设计本身有问题。从我们的安全审计及安全研究历史数据来看，存在钱包助记词被目标页面恶意 JavaScript 直接盗取的风险。但这个情况比较罕见，因为这实际上属于极其低级的错误，知名钱包都不大可能会犯这种错误。\n\n这里我最担心的问题实际上都不是以上这些，这些对我来说都可控（你也可以的），我最关心/担心的问题是：知名钱包的每次版本迭代是如何确保不会被植入恶意代码或后门？这个问题言下之意很清楚：当前的钱包版本我验证了没什么安全问题，我敢放心用，但我不知道下一个版本安全性如何，毕竟，我或者我的安全团队不可能有那么多时间与精力都去做验证。\n\n这里所说的恶意代码或后门造成的盗币事件已经好几起了，如曾经的 CoPay、近期的 AToken 等，具体事件可以自行搜索了解。\n\n对于这种情况，作恶主要有几种方式：\n\n* 钱包运行时，恶意代码将相关助记词直接打包上传到黑客控制的服务端里。\n* 钱包运行时，当用户发起转账，在钱包后台偷偷替换目标地址及金额等信息，此时用户很难察觉。\n* 破坏助记词生成有关的随机数熵值，让这些助记词比较容易被破解。\n\n安全这东西，无知者无畏、知者敬畏，许多点是细思恐极的。所以对于存有重要资产的钱包，我的安全原则也简单：不做轻易更新，够用就好。\n\n### DeFi 安全到底是什么\n\n当我们提 DApp 时，可能是 DeFi、NFT 或 GameFi 等等，这几个的安全大多是相同的，但会有自身的特别点。我们这里以 DeFi 为例先讲解下，当我们提 DeFi 安全时，到底指的是什么？业内几乎都只看智能合约部分，似乎智能合约安全了也就没事了。其实远远并非如此。\n\nDeFi 安全至少包括如下几部分：\n\n* 智能合约安全\n* 区块链基础安全\n* 前端安全\n* 通信安全\n* 人性安全\n* 金融安全\n* 合规安全\n\n**智能合约安全**\n\n智能合约安全确实是安全审计最重要的切入点，慢雾针对智能合约的安全审计点可以参考：\n\n>https://www.slowmist.com/service-smart-contract-security-audit.html\n\n对于高级玩家来说，如果智能合约部分本身安全性可控（无论是自己能安全审计还是读懂专业机构的安全审计报告），那么也就无所谓其他部分的安全了。可控是个很有差异的理解，有的得看玩家实力。比如说智能合约权限过大的风险，玩家是有要求的，除非项目方本身实力雄厚及口碑良好，完全中心化也都无所谓。但对于那些不大知名的、有争议的或新出现的项目，如果你说这个项目的智能合约有权限过大的风险，尤其是这种权限还可以影响你的本金或收益，你肯定就不愿意了。\n\n权限过大这种风险是很微妙的，很多时候权限这东西是方便项目方做相关治理及风险应急的。但对我们来说，这就是人性考量了，万一项目方作恶呢？于是业内有了折中的实践：增加时间锁（Timelock）来解决一些权限过大的风险，比如：\n\n> Compound，这个老牌知名的 DeFi 项目，它核心的智能合约模块 Comptroller 及 Governance 的 admin 权限都加了 Timelock 机制：<br>\n> Comptroller(0x3d9819210a31b4961b30ef54be2aed79b9c9cd3b)<br>\n> Governance(0xc0da02939e1441f497fd74f78ce7decb17b66529)<br>\n> 的 admin 地址是：<br>\n> Timelock(0x6d903f6003cca6255d85cca4d3b5e5146dc33925)\n\n链上可以直接看到 Timelock 的时间锁（delay 参数）是 48 小时（172800 秒）：\n\n<img src=\"res/compound_timelock.png\" width=\"700\">\n\n也就是说，如果 Compound 的 admin（项目方）需要变更目标智能合约的一些关键值时，这笔交易上链后会有记录，但必须等到 48 小时后才可以最终完成执行。这意味着，只要你愿意，你是可以审计 admin 的每一次操作，你至少有 48 小时来反应。比如如果你不放心，你可以在 48 小时内把资金撤走。\n\n还有一种削弱项目方权限过大风险的做法是：将 admin 多签了，比如用 Gnosis Safe 进行多签管理，这样至少不会出现一言堂。这里需要注意的是，多签可以是“皇帝的新衣”，比如一个人掌握了多把钥匙。所以目标项目的多签策略需要公示说明清楚，钥匙都由谁保管，保管钥匙的角色也一定是有口碑的。\n\n这里需要特别注意，任何安全策略，都可能出现“皇帝的新衣”问题，表面做得好，实际上却不是，呈现出了一种虚假安全感。再举个例子，Timelock 这玩意，看去似乎挺好，实际上出现过有的项目方部署的 Timelock 是有后门的情况。用户一般也不会直接去看 Timelock 源码，而且也不一定看得懂，于是放了个后门在那，一时半会还真不一定有人留意到。\n\n除了权限过大风险，智能合约安全的其他内容也都很关键，但理解门槛还是挺高的，这里就不展开了，我的建议是这样：至少可以逐步学会阅读安全审计报告，熟能生巧。\n\n**区块链基础安全**\n\n区块链基础安全指的是区块链本身的安全性，如：共识账本安全、虚拟机安全等。如果区块链本身安全性堪忧，其上运行的智能合约项目也可以直接喝西北风了。选择一条拥有足够安全及知名度的区块链，甚至大概率可以源远流长的区块链是多么的重要。\n\n**前端安全**\n\n前端安全真是魔鬼，与用户走得太近了，特别容易让用户魔怔后上当受骗。可能大家主要的注意力都在自己的钱包上和目标项目的智能合约安全上了，前端安全非常容易被忽视。这里我需要再次强调，前端安全是魔鬼！我重点说说。\n\n前端安全里我最在意的点是：我怎么知道我在这个前端页面里的交互对象就是我以为的智能合约？\n\n造成这种不安全感主要是因为以下这两种风险：\n\n* 内部作恶\n* 第三方作恶\n\n内部作恶很好理解，比如开发人员偷偷将前端页面里的目标智能合约地址替换为一个有后门的合约地址，或者直接植入个授权钓鱼脚本。当你访问该前端页面时，你钱包后续的一系列涉及加密货币的操作都可能是在陷阱里完成的。神不知鬼不觉，币没了。\n\n第三方作恶，主要指的是两种：\n\n* 一种是供应链作恶，比如前端依赖的第三方模块被植入了后门，随着打包发布一起被直接带入目标前端页面了。如 SushiSwap（仅仅举例子，并不代表截图里的项目有发生这个问题）：<br>\n    <img src=\"res/sushiswap_3rd.png\" width=\"500\">\n\n* 一种是前端页面引入的第三方远程 JavaScript 文件，如果这个 JavaScript 文件作恶或被黑，那么目标前端页面可能就会被影响，如 OpenSea（仅仅举例子，并不代表截图里的项目有发生这个问题）：<br>\n    <img src=\"res/opensea_3rd.png\" width=\"800\">\n\n为什么这里说可能会被影响是因为，如果项目方在前端页面以下面这样的方式来引用第三方远程 JavaScript 文件的话，就可能不会被影响：\n\n><script src=\"https://example.com/example-framework.js\" integrity=\"sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pbOxEbzJr7\" crossorigin=\"anonymous\"></script>\n\n这里的关键点是 HTML5 的一个不错的安全机制：标签里的 integrity 属性（SRI 机制），integrity 支持 sha256, sha384, sha512，如果第三方 JavaScript 资源不满足 integrity 的哈希完整性校验，就不会加载，这个可以很好防止非预期的代码执行。但使用这个机制需要目标资源支持 CORS 响应。具体参考：\n\n>https://developer.mozilla.org/zh-CN/docs/Web/Security/Subresource_Integrity\n\n等等，为什么我前面又提了“可能”，是因为有存在被绕过的场景。至于绕过方式我就不提了，因为大多情况下，你只需关注目标前端页面在引入第三方远程 JavaScript 文件时是否有 integrity 机制。可惜的是，OpenSea 没有，让我们祝福它。\n\n**通信安全**\n\n通信安全这部分，重点看 HTTPS 安全就好。首先目标网站一定要 HTTPS，绝不允许存在 HTTP 明文传输的情况。因为 HTTP 明文传输实在太容易被中间人劫持攻击了，现在 HTTPS 这种安全传输协议已经非常普遍。如果 HTTPS 出现中间人劫持攻击，比如植入了恶意 JavaScript 代码到目标前端页面，此时浏览器必然会出现 HTTPS 证书错误的高显目提醒。举个例子，曾经 MyEtherWallet 的坑。\n\nMyEtherWallet 曾经是个很流行的网页钱包，现在也挺知名，不过已经不仅仅是网页钱包了。我前面有说过，网页钱包我非常不建议使用，除了前端安全的各种猫腻之外，还可能出现 HTTPS 劫持的风险。\n\n2018.4.24，MyEtherWallet 就出现过 HTTPS 劫持的重大安全事件，回顾可见：\n\n>https://www.reddit.com/r/MyEtherWallet/comments/8eloo9/official_statement_regarding_dns_spoofing_of/<br>\n>https://www.reddit.com/r/ethereum/comments/8ek86t/warning_myetherwalletcom_highjacked_on_google/\n\n![](res/myetherwallet_https_hijack.png)\n\n当时黑客是通过 BGP 这个上古协议劫持了 MyEtherWallet 大量用户所用的 DNS 服务（Google Public DNS），这导致许多用户访问 MyEtherWallet 时，浏览器出现 HTTPS 错误证书的提醒。其实吧，遇到错误证书了，原则上就别继续访问了，因为这表示目标页面已经被劫持了。但是真的许多用户不懂这个安全风险，顶多犹豫下就忽略错误证书的提醒继续强制访问了。\n\n由于目标页面已经被劫持，黑客注入了恶意 JavaScript 代码，直接就盗走了目标用户在目标页面上的明文私钥，之后批量转走这些用户相关的加密货币（主要是 ETH）。\n\n这绝对是个经典案例，黑客为了盗币，动用了 BGP 劫持，真是杀鸡用了牛刀。之后也出现过几起类似的案例，这里就不提了。这里对于用户来说实际上只需要注意一点，当你真的要用网页钱包或玩相关 DApp 时，一定要注意：当目标页面出现 HTTPS 错误证书提醒时，就立即停止继续访问、关闭页面，那么你什么事都不会有。\n\n安全上有个残酷现实，是这样的：当已经出现风险时，就别给用户选择，一旦给了，总会有用户无论出于何种原因会掉坑里。其实这里项目方是需要肩负起相关责任的，比如这个 HTTPS 劫持，其实已经有很好的安全解决方案，项目方的开发人员只需配置好 HSTS 即可。HSTS 全称 HTTP Strict Transport Security，是浏览器支持的一个 Web 安全策略，如果开启了这个配置，浏览器发现 HTTPS 证书错误后就会强制不让用户继续访问。明白什么意思了吧？\n\n**人性安全**\n\n人性安全这块很好理解，比如项目方内部作恶，这点在前面已经提了些内容，暂时就不过多展开。因为之后，这块还会专门展开讲讲。\n\n**金融安全**\n\n金融安全是个很需要敬畏的概念，放在 DeFi 上，涉及到金融的点，用户最关心的是币价、年化收益，一定要好，至少要稳。简而言之是，我作为用户，我玩这个 DeFi，我要赚钱。如果亏了，得让我心服口服。嗯，这也是人性。\n\n这部分可能出现诟病的有：\n\n* 不公平启动，比如预挖、老鼠仓。\n* 巨鲸攻击，所谓的钞能力。\n* 黑庄，看谁跑得快。\n* 市场黑天鹅，比如突然的大瀑布，还有如目标 DeFi 与其他 DeFi/Token 套娃或互操作，这个时候木桶短板可能就决定于其他 DeFi/Token 了。\n* 还有一些比较技术性的或者说科学家手法，比如抢跑、三明治攻击、闪电贷攻击等。\n\n**合规安全**\n\n合规安全是个非常大的话题，前面提到的 AML（Anti Money Laundering）只是其中一点，还有如 KYC（Know Your Customer）、制裁地区限制、证券风险有关的内容等等。其实对于用户来说，这些不是我们可以对抗的，只能说当玩一个项目时，目标项目可能会受到某些国家的安全监管，因此可能会出现我们在意的隐私信息采集的问题。你可能不在意这点隐私，但却有在意的人。\n\n比如，2022 年初出现的一件小事：钱包支持 Address Ownership Proof Protocol（AOPP）协议。\n\n当时我看了下 AOPP 的协议设计，原来支持了 AOPP 的钱包可能泄露用户隐私：监管机构会有能力知道一个被监管的交易所和一个不知道的外部钱包之间的关联。参考：\n\n>https://gitlab.com/aopp/address-ownership-proof-protocol\n\n怪不得许多隐私钱包重视这个反馈，纷纷删除了这个协议的支持。话说回来：这个协议设计还真有意思。我注意到也有的钱包暂无计划删除对 AOPP 的支持，比如 EdgeWallet，他们的观点认为 AOPP 并没暴露更多的用户隐私，而且可以让加密货币的流转提供更大的帮助，因为，如果用户无法证明一个外部钱包地址属于自己，那么一些被监管的交易所是不允许用户提币到这个外部钱包地址的。\n\n刚开始知名硬件钱包 Trezor 也是不删除 AOPP 的支持，后来在 Twitter 上迫于社区及用户压力做了删除妥协了。\n\n你看，就这么小的一点，实际上对于有的人来说是隐私大事。这里并不是说要对抗监管，不管合规安全。其实在我的观点里，适当的合规安全妥协是必要的。这个话题就不继续展开说了，按你的舒服的方式去理解就行。\n\n到这，DeFi 安全的主要部分的相关内容就介绍完了。\n\n除了以上这些，还有未来的新增或更改而引入的安全问题，我们经常说“安全是动态的、不是静态的”，指的就是这点。比如现在很多项目方都有安全审计及漂亮的安全审计报告，但如果认真阅读质量不错的报告就会发现，这些报告会说明清楚，什么时间范围安全审计了什么内容，内容的唯一标记是什么（比如链上开源验证后的地址或 GitHub 仓库的 commit 地址，再或者目标代码文件的哈希值）。所以报告是静态的，如果你发现目标项目有不符合报告里的描述内容，就可以指出。\n\n### NFT 安全\n\n前面提的 DeFi 安全几乎内容都可以应用到 NFT 安全上，但 NFT 又有自己独特的安全点，比如：\n\n* Metadata 安全\n* 签名安全\n\nMetadata 指的主要就是图片、动图等内容，关于 Metadata 的具体标准建议可以参考 OpenSea 出的：\n\n>https://docs.opensea.io/docs/metadata-standards\n\n这里可能带来的安全问题主要有两点：\n\n* 一个是图片（或动图）所在的 URI 是不可信的，比如随便的中心化服务，一方面不稳定，另一方面项目方随便改图片都行，那么 NFT 的数字藏品能力也就没了。一般都会用 IPFS、Arweave  这些去中心化存储，并且用知名的 URI 网关服务。\n* 另一个问题是可能造成隐私泄露，随便的 URI 是可以采集用户的基本隐私的（如 IP、User-Agent 等）。\n\n签名安全问题很严重，下面展开。\n\n### 小心签名！\n\n签名安全是我特别需要提的，因为签名协议坑很多，已经发生了数起安全事件，尤其围绕 NFT 的。但我注意到其实太多人还是无法很好应对这部分安全问题，究其原因在于很少有人把这部分安全问题讲明白。\n\n签名安全里首要遵守的最大安全原则是：所见即所签。即你看到的内容就是你预期要签名的内容，当你签名发出去后，结果就应该是你预期的，绝不是事后拍断大腿的。\n\n签名安全有关的一些内容在“Cold Wallet”部分有提到，印象不深的建议回顾下，这里重点讲讲不一样的内容。\n\nOpenSea 在 2022 年前后出现过数起用户持有的知名 NFT 被盗事件，尤其是 2022.2.20 集中爆发，根本原因在于：\n\n* 用户在 OpenSea 授权了 NFT（挂单）。\n* 黑客钓鱼拿到用户的相关签名。\n\n比较正确的解读可以见这（不知为何下面这个链接已失效，Twitter 账号也没了）：\n\n>https://twitter.com/Nesotual/status/1495223117450551300\n\n这个相关签名要拿到其实不难，黑客需构造正确的待签名内容，哈希后，诱骗目标用户完成签名（这里是盲签，也就是说用户实际上不知道自己到底签名的内容是什么），黑客拿到签名后的内容，构造利用数据，完成利用。\n\n我这里拿其中一个 NFT 市场进行具体说明（不一定是 OpenSea）。当目标用户在 NFT 市场里授权了相关 NFT 挂单后，攻击者构造了正确的待签名内容，通过 Keccak256 哈希后，在钓鱼页面上弹出了待签名的内容给用户，此时用户看到的东西如下：\n\n<img src=\"res/metamask_sign.jpg\" width=\"360\">\n\n仔细看，MetaMask 弹出的这个窗口，能看出什么？账户及余额、签名请求的来源网站、正在签名的消息，没了...就这点内容，用户怎么会想到自己一旦点击了“签名”后，灾难就来了，自己的相关 NFT 就可以被盗走了。\n\n这其实就是一种盲签，用户并不需要在 NFT 市场里签名，可以被诱骗在任何网站（钓鱼网站）上签名，而用户根本就不知道这些签名的实际意义，可惜的是黑客知道。对于用户来说，只需牢记：拒绝盲签。OpenSea 之前存在盲签情况，2022.2.20 后改进了，采用 EIP-712 进行了升级改进。但即使不是盲签，还是有用户会粗心大意。\n\n为什么会出现这种情况，最最本质的原因还是在于签名并不存在浏览器同源策略的约束，你可以简单理解为：同源策略可以确保一个行为只在明确的域名下发生，不会跨域发生，除非项目方故意要跨域的发生。如果签名有同源策略，那么非目标域名产生的请求签名，即使用户签名完成了，黑客也没法将这个签名用于目标域名下的攻击。这里就不继续展开说了，协议级别的安全改进，我有注意到新草案，我希望这种情况能尽快得到改善。\n\n目前提到的签名安全涵盖了主要方式，但变种其实挺多，无论如何，万变不离其宗。最好的吃透方式是自己从头到尾完整将攻击复现一遍，甚至首创一些独特的攻击方式。比如这里提到的签名，其实里面有大量细节，比如如何构造待签名内容、签名后的内容具体都是什么？除了 approve 这种授权方式，还有其他的吗（有，比如 increaseAllowance）。好吧，这里展开的话就太过技术了。很好的是，你清楚签名的重要性了。\n\n对于用户来说，取消授权（approve）是可能在源头上对抗这类攻击的，你可以用如下这些知名的工具来操作：\n\n* Token Approvals\n    >https://etherscan.io/tokenapprovalchecker<br>\n    >是以太坊官方浏览器提供的授权检查及取消的工具，以太坊系列区块链基本都类似，因为他们的区块链浏览器基本都是 Etherscan 代为开发的，如：<br>\n    >https://bscscan.com/tokenapprovalchecker<br>\n    >https://hecoinfo.com/tokenapprovalchecker<br>\n    >https://polygonscan.com/tokenapprovalchecker<br>\n    >https://snowtrace.io/tokenapprovalchecker<br>\n    >https://cronoscan.com/tokenapprovalchecker\n\n* Revoke.cash\n    >https://revoke.cash/<br>\n    >老牌经典，支持多链，越来越强。\n\n* Rabby 扩展钱包\n    >https://rabby.io/<br>\n    >我们安全合作比较多的一款钱包，他们的“授权检查及取消”功能支持的以太坊系列是我见过最多的...\n\n:warning:**注意**：如果你想对签名安全有更全面深入的了解，可以见我在下面这个仓库里的扩展补充：\n\n> https://github.com/evilcos/darkhandbook<br>\n> 我不得不承认，签名安全的知识点对于初学者来说是非常不友好的。这个仓库里汇总了许多有关内容，你可以自行翻阅，如果都能看懂，我相信这方面的安全知识不会再成为你的负担:)\n\n### 小心反常识签名！\n\n还没结束，我还想特别提一种风险：**反常识风险**。\n\n什么是反常识，比如你已经特别熟悉以太坊了，各种 DeFi、NFT 玩得小白们直呼你大佬。此时你去玩 Solana，同样也遇到了各种钓鱼网站，你可不畏惧，轻蔑一笑：“这些在以太坊系列生态里都麻了，我怎么可能上当？”\n\n不好意思，黑客笑了，你确实上当了。因为出现了个反常识流程，人都是有惯性或惰性，这导致你大意了，没有闪。\n\n好，让我们来看看这个反常识真实案例。\n\n<img src=\"res/solana_nft_phishing.jpg\" width=\"800\">\n\n2022.3.5，一个安全预警：Solana 上的授权钓鱼残忍多了，攻击者批量给用户空投 NFT（图 1），用户通过空投 NFT 描述内容里的链接（www_officialsolanarares_net）进入目标网站，连接钱包（图 2），点击页面上的“Mint”，出现批准提示框（图 3）。注意，此时的批准提示框并没有什么特别提示，当批准后，该钱包里的所有 SOL 都会被转走。\n\n当点击“批准”时，用户会和攻击者部署的恶意合约交互：\n*3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8v*\n\n该恶意合约的功能最终就是发起“SOL Transfer”，将用户的 SOL 几乎全部转走。从链上信息来看，该钓鱼行为已经持续了几天，中招者在不断增加。\n\n这里面有两个坑，需要注意的：\n1. 恶意合约在用户批准（Approve）后，可以转走用户的原生资产（这里是 SOL），这点在以太坊上是不可能的，以太坊的授权钓鱼钓不走以太坊的原生资产（ETH），但可以钓走其上的 Token。于是这里就存在“常识违背”现象，导致用户容易掉以轻心。\n2. Solana 最知名的钱包 Phantom 在“所见即所签”安全机制上存在缺陷（其他钱包没测试），没有给用户完备的风险提醒。这非常容易造成安全盲区，导致用户丢币。\n\n### 一些高级攻击方式\n\n高级攻击方式其实真很多，大多在大众视角下无非就是：我被钓鱼了。但这钓鱼可真高级了，比如：\n\n>https://twitter.com/Arthur_0x/status/1506167899437686784\n\n黑客通过邮件发送钓鱼，邮件里附带的文档是：\n>A Huge Risk of Stablecoin (Protected).docx\n\n这确实是一份很有吸引力的文档...但这份文档打开后电脑就可能被植入木马（一般通过 Office 宏脚本方式或 0day/1day），这类木马一般都会包括如下常规功能：\n\n* 各种凭证采集，如浏览器的，SSH 有关的等，这样黑客就可以把触手伸向目标用户的其他服务。所以中毒后，一般都会建议用户不仅目标设备清理干净，相关账号权限该改的都需要及时更改。\n* 键盘记录，尤其采集那些临时出现的敏感内容，如密码等。\n* 相关截屏、敏感文件采集等。\n* 如果是勒索病毒，进一步的就是将目标设备上的文件都高强度加密了，等待受害者来支付赎金，一般是支付比特币。但这里不是勒索病毒，毕竟勒索病毒的动作太大了，意图直接粗暴。\n\n除此之外，针对加密货币行业的木马还会进行特别利用定制，如采集知名钱包、交易所的敏感信息，以实施盗币。上面提到的木马，根据专业的分析可以发现存在针对 MetaMask 的特别攻击：\n\n>https://securelist.com/the-bluenoroff-cryptocurrency-hunt-is-still-on/105488/\n\n木马会将用户的 MetaMask 替换为一个有后门的 MetaMask，一个有后门的 MetaMask 就意味着你在其中使用的加密货币就不是你的了。即使你配套硬件钱包，这个有后门的 MetaMask 也会通过篡改目标地址、金额的方式来实施盗币。\n\n这种攻击方式是专门针对财富外露的知名人士。我注意到的现象是，有些知名人士过于傲慢，被黑也就是迟早的事了。一般被黑后，许多人会从教训中痛定思痛、全面复盘、全面改进，并与信得过的专业安全人士或机构保持长期的合作及友谊。但，这个世界永远存在例外，有的人或项目方被黑一次，还会有第二、第三次。如果说是天将降大任于斯人也，每次被黑都真的是遇到了对手，那么此人或项目方，我会非常尊重，并称之为先驱，而且大概率之后也能发展起来。可惜的是，许多被黑是因为低级问题，而且可以举一反三的，这就真不可理解了。这种人或项目方建议远离。\n\n那种广撒网的钓鱼攻击，其实手法就一般了，无非就是准备了一批域名相近的钓鱼网站，Twitter 等社交平台买号散播，热点及技巧拿捏得好，中招也是不少的。这种钓鱼没什么特别，一般就是粗暴的让用户的钱包授权相关代币（包括 NFT），然后盗走。\n\n还有一些高级攻击，如结合 XSS、CSRF、Reverse Proxy 等技巧来让整个攻击更加丝滑顺畅。没法都展开聊，这里可以专门说其中一个非常细节的利用点（Cloudflare 中间人攻击），属于 Reverse Proxy（反向代理）有关的场景，这个利用点已经发生过真实的盗币攻击，且非常的隐蔽。\n\n这里的问题并不是 Cloudflare 本身作恶或被入侵的问题，而且项目方用了 Cloudflare，项目方的账号权限被盗后的问题。大体过程是这样的，如果你的网站用了 Cloudflare 服务，在管理后台可以注意到 Workers 这个功能模块，这个 Workers 官方说法是：\n\n>构建无服务器应用程序并在全球范围内即时部署，从而获得卓越的性能、可靠性和规模性。具体参考：\n>https://developers.cloudflare.com/workers/\n\n我很早就做了个测试页面：\n\n>https://xssor.io/s/x.html\n\n你访问后会有个弹窗，内容是：\n\n>xssor.io, Hijacked by Cloudflare.\n\n其实这个弹窗，甚至整个 x.html 内容都不是这个文件本身的，全部都是 Cloudflare 提供的，原理见下图：\n\n<img src=\"res/cloudflare_worker.png\" width=\"800\">\n\n截图里这段代码意思很简单：如果我是黑客，我控制了你的 Cloudflare 账号，我就可以利用 Workers 特性，往任意页面注入任意恶意脚本。但此时用户是很难意识到目标页面被这样偷偷劫持篡改了，目标页面不会有任何错误提示（比如 HTTPS 证书错误），甚至项目方也一时半会意识不到这地方会出问题，可能花了大量的时间排查服务器、人员等安全。等意识到这个，损失也就大了。\n\nCloudflare 其实很好，许多网站或 Web 服务都会使用 Cloudflare 来做 Web 防火墙、对抗 DDoS 攻击、全球 CDN 加速、反向代理等场景，由于有免费版本，所以用户众多，类似 Cloudflare 的，还有 Akamai 等服务。\n\n用户一定要注意自己的这类账号的安全性，账号安全问题从互联网流行开始，全球随时随处都在谈，再说似乎都要炸。但没办法，确实太多人还会因为账号安全而被黑。比如针对重要服务的密码并非唯一使用的强密码（1Password 这类密码安全管理软件普及率其实还是很堪忧的），再比如双因素（2FA）懒得开启、甚至不知道有这玩意、不知道该如何使用。更别提针对一些服务，每年至少要重置下密码吧。\n\n好，一点高级攻击手法就先介绍这些。对于你来说，只需明白这确实是个黑暗森林，但凡有可能就多了解了解各种五花八门的攻击手法。见多后，甚至自己踩过几次坑，你至少也可以成为一名非职业网络安全人员了（这样的一种身份多好，技多不压身）。\n\n## 传统隐私保护\n\n不容易，你学习到这里了。传统隐私保护老生常谈了，2014 年我就写过一篇：\n\n>隐私大爆炸，你得学几招保护自己<br>\n>https://evilcos.me/yinsi.html\n\n回头读这篇文章，绝大多数建议都没过时，我建议你消化下，很快，毕竟当年这篇属于特别入门型的。下面我将开始新的介绍。隐私保护实际上和安全息息相关，在这你也可以认为是你的安全保护，保护的是什么？当然是你的隐私，私钥什么的属于隐私的一种。另外，别认为这是传统就不重视，传统的这些才是基石，基石都不安全了，基石的隐私都没了，上层建筑也就是空中楼阁，危如累卵，脆弱不堪了。\n\n这里有两大资源是我非常推荐的：\n\n一个是：\n\n>SURVEILLANCE SELF-DEFENSE<br>\n>TIPS, TOOLS AND HOW-TOS FOR SAFER ONLINE COMMUNICATIONS<br>\n>https://ssd.eff.org/\n\nSSD（SURVEILLANCE SELF-DEFENSE）即监视自卫，由非常知名的电子前沿基金会（EFF）发起，专门出了相关指南来告诉你，在监视/监控横向的互联网世界里，如何避开老大哥（Big Brother）看着你。其中包括了不少有用的工具（比如 Tor、WhatsApp、Signal、PGP 等）。\n\n另一个是：\n\n>Privacy Guide: Fight Surveillance with Encryption and Privacy Tools<br>\n>https://www.privacytools.io/\n\n这个网站是专门罗列相关工具的，已经很全面了。看到了没？它还推荐了加密货币交易所、钱包等。注意，网站里罗列的工具其实不少我都不怎么用，主要是我有一套自己的方式，你也应该逐步形成你自己的方式，不断对比不断完善。\n\n这里我重点提下我觉得无论如何你都必须掌握的或使用的工具。\n\n### 操作系统\n\nWindows 10（及以上版本）和 macOS 的安全性都挺让人满意了，你选择哪个都行。你能驾驭好，用 Linux 也是你的自由，比如 Ubuntu，或如 Tails、Whonix 这些隐私及安全变态的操作系统也行。\n\n操作系统方面最容易上手的安全原则是：重视系统安全更新，有安全更新就立即行动。然后才是一些驾驭技能的掌握，很多人说 Windows、Mac 电脑还需要学习什么驾驭技能？点来点去不就行了吗？当然远远不行。对于安全小白来说，安装个杀毒软件是绝对的标配，如卡巴斯基、BitDefender 这种口碑很好的，Mac 上也有。\n\n接着记住下载的安全原则，前面有提。不乱下程序其实已经杜绝了绝大多数风险了。\n\n然后可以思考下，如果你这台电脑丢了、被偷了怎么办？电脑就一个开机密码是不够的，如果磁盘没加密保护，坏人把磁盘拆下来，将里面的资料拿走就行了。此时我建议对于重要的电脑设置好磁盘加密保护。参考：\n\n>https://docs.microsoft.com/zh-cn/windows/security/encryption-data-protection<br>\n>https://support.apple.com/zh-cn/HT204837\n\n还有 VeraCrypt 这种磁盘加密神器，曾经是 TrueCrypt，非常传奇，非常强大。如果你感兴趣可以了解并适应下：\n\n>https://veracrypt.fr/\n\n更进一步的是启用 BIOS 或固件密码，这点看你自己，反正我是这样做了。不过一定要牢记相关密码，否则可能神仙也救不了你了。这个坑我很荣幸踩过，现在思来想去，浪费了一台笔记本、一点加密货币、一周的时间，但积累了宝贵的踩坑经验。\n\n### 手机\n\n手机主要也就 iPhone、安卓系列，没了，比如曾经我最爱的黑莓，被时代淘汰了。安卓以前的安全性很堪忧，一方面是发展早期，另一方面是版本太多碎片，不同手机品牌都有自己的 fork 版本。现在安全性逐渐好了不少。\n\n手机方面同样要重视系统的安全更新及下载的安全原则，并且警惕下面这几点：\n\n* 不要越狱、Root 破解，除非你玩安全研究，否则没必要。如果是为了盗版软件这样做，香不香得看你的驾驭能力。\n* 不要从非官方市场下载 App，还是那句话，除非你能驾驭它。而且即使从官方市场下载的 App 也存在不少假的，注意分辨。\n* 官方的云同步使用的前提是：账号安全方面你确信没问题，否则云端被控，手机也就麻烦了。\n\n手机方面，我个人会更依赖 iPhone。同时准备至少两个 iCloud 账号，一个中国区、一个海外区，安装不同区域限制的 App 使用（挺奇怪，但这就是现实）。\n\n### 网络\n\n网络方面的安全问题曾经是烂透了，这几年逐步好起来了，尤其是 HTTPS Everywhere 策略普及了后。如果真的发生了网络劫持（中间人攻击），那么系统会有相应的错误反馈。但凡事都有例外，所以网络方面，能有安全的选择当然选择安全的。比如不乱连陌生 Wi-Fi，尤其是 4G/5G 这种安全性高的网络如此普及的情况下，除非信号不好，着急使用。\n\n如果你很有安全洁癖，你非常重要敏感的设备是可以考虑独立网络的。选择口碑好的路由器、运营商，切勿贪图小便宜，并祈祷路由器、运营商层面不会有高级作恶行为出现。\n\n### 浏览器\n\n浏览器方面流行的主要就是 Chrome、Firefox 了，加密货币行业还有人会用 Brave，也行。知名度高的，团队强大的，安全更新也会比较及时。浏览器安全话题实在太广泛，对你来说，你只需注意这几点就好：\n\n* 有更新就及时更新，千万别侥幸。\n* 扩展如无必要就不安装，安装也看清楚口碑、用户规模、背后是哪家知名公司维护的，并警惕扩展申请的权限，还有扩展必须来自浏览器自己的应用商城。\n* 浏览器可以多个共存，强烈建议：重要的操作在其中一个浏览器中进行，而其他常规、不重要的操作都可以在另一个浏览器中进行。\n* 一些隐私保护的知名扩展（如 uBlock Origin、HTTPS Everywhere、ClearURLs 等），看你个人喜好。\n\nFirefox 上我还会用 NoScript 这个上古扩展神器，NoScript 可以很好对抗 JavaScript 作恶情况，当年威震四方。现在的浏览器越来越安全了，同源安全策略、CSP 安全策略、Cookie 安全策略、HTTP 安全响应头策略、扩展安全策略等等等，浏览器现在的安全高度确实是不可同日而语。NoScript 这种安全扩展被使用的空间也就越来越小了，感兴趣的可以自行了解。\n\n### 密码管理器\n\n如果你还没用密码管理器，要么就是你不知道用上之后的安全快感，要么就是有自己强大的记忆宫殿。脑记风险前面也说过，一是时间会让记忆淡忘或错乱；二是自己可能出意外。无论如何，我还是推荐你使用密码管理器来搭配你的脑记，知名的如：1Password、Bitwarden 等。\n\n我并不需要过多讲解这部分的内容，相关教程实在太泛滥了，甚至都不需要教程也很容易上手。我需要提醒的是：\n\n* 千万千万别忘记你的主密码，且主密码相关账号信息别被盗了，否则一窝端。\n* 千万千万确保你的邮箱安全，如果你邮箱被盗，虽然这不会让你的密码管理器里的敏感内容泄露，但坏人有能力销毁这些。\n* 我曾验证过我提到的工具（如 1Password）的安全性，并一直在留意其出现过的安全事件、口碑、动态等，我并无法确保这些工具拥有绝对高度的安全性，尤其无法确保未来它们不会出现什么黑天鹅事件。\n \n有一点我是很欣赏的，比如 1Password 的安全页面有关介绍和说明：\n>https://1password.com/zh-cn/security/\n\n其中包括安全设计理念、隐私及安全的相关权威认证、安全设计白皮书、安全审计报告等内容。这些内容的透明公开也是方便业内进行必要的验证。这点是非常值得项目方们学习的。\n\nBitwarden 做得更彻底些，是全开源的，包括服务端，任何人都可去验证、审计、贡献。\n\n你意识到了没？1Password、Bitwarden 这样做的意图很明确：\n>我很安全很在意隐私，不仅是我自己说，第三方权威也说了，你们也可以来验证，甚至为了方便你们验证，我花费了巨大精力把能透明出来的内容都透明了。如果我说的没做到，你很容易来挑战我。\n\n这叫什么？这叫安全自信:)\n\n### 双因素认证\n\n你在互联网上的身份安全，第一层靠的是密码，第二层得靠双因素，第三层靠的是目标项目本身的风控能力。我不能说双因素都是标配，比如你在用的去中心化钱包，有一层密码就够烦了（现在基本都配套人脸、指纹这类生物识别来提高体验），双因素就算了吧。但在中心化平台里，没有双因素可不行。因为中心化平台任何人都可以访问或有能力访问，你的密码被盗了，意味着你的账号权限失守，资金也就没了。而你的去中心化钱包，密码仅仅只是发生在本地的认证，黑客即使拿到这个密码，还需要有能力接触到你这个钱包所在的设备。\n\n明白其中区别了吧？好，知名的双因素认证（2FA）工具有：Google Authenticator、Microsoft Authenticator 等，当然如果你用密码管理器（如 1Password）也是自带了 2FA 功能的，非常方便。无论如何都记得做好备份，因为丢失 2FA 是一件很麻烦的事。\n\n另外，双因素认证也可以是个广义概念，比如账号、密码登录目标平台时，我们的账号一般是邮箱或手机号。此时邮箱或手机号通过收到验证码的方式来进行第二步认证，那么这也可以认为这是一种双因素认证方式。只是这种方式安全性就没那么好了，比如邮箱被黑了或手机的 SIM 卡被劫持了，再或者发送邮箱、短信的第三方服务被黑了，那么平台发送的验证码也就被一览无余。\n\n### 科学上网\n\n这块出于政策原因，不多说，知名的几个自己对比。有能力肯定自建，这样安全可控，毕竟我们的出发点还真是科学上网、安全上网。\n\n如果并非自建，难保不会出现中间人攻击。前面说过，现在网络环境确实没以前那么糟糕，尤其 HTTPS Everywhere 策略普及了后。但有些平静可能只是水面，水面之下早已暗流涌动却不易被察觉。所以这块我并没特别好的安全建议，自建有门槛，但值得，实在不行，一定是多方确认，选择那种存在已久、口碑良好的品牌。\n\n### 邮箱\n\n邮箱是真正重要的 Web 基础身份，我们会用邮箱注册一大堆服务，我们用的邮箱几乎都是免费的，似乎如空气一般，你觉得它应该不会消失。如果哪天，它消失了？那么依赖这个邮箱的一大堆服务就尴尬了。这种极端情况真不是不会发生，比如因为战争、天灾等。当然如果是这些极端情况发生，对你来说除了生存其他也就不那么重要了。\n\n邮箱方面，必然是选择巨头的，如 Gmail、Outlook、QQ 邮箱等。正好我曾经的安全研究方向有这部分，对你来说，这些邮箱安全性足矣。但无论何时你都一定要小心邮箱里发生的钓鱼攻击。并不是每封邮件都需要搭理，尤其是邮件里给的链接、附件文件，病毒木马可能就藏匿在其中。\n\n如果你遇到针对邮箱的高级攻击，那只能自求多福。\n\n除了这些巨头的邮箱服务之外，如果你很在意隐私，两款口碑不错的隐私邮箱，你可以了解了解：ProtonMail 与 Tutanota。我的建议是隐私邮箱就拿来隔离做需要特别在意隐私的服务注册，并且注意下活跃频率，长时间不活跃，免费邮箱可能也就回收了。\n\n### SIM 卡\n\nSIM 卡，手机号很多时候同邮箱一样也是很重要的基础身份。这些年我们国家的几大运营商对手机号的安全保护做得还是很不错的，比如注销、重办 SIM 卡是有严格的安全认证流程，这些都发生在营业厅里。SIM 卡攻击这块，我举个案例：\n\n2019.5，有人的 Coinbase 账号遭遇了 SIM Port Attack（SIM 卡转移攻击），损失了超过 10 万美金的加密货币，很惨痛。攻击过程大概是：\n\n攻击者通过社会工程学等手法拿到目标用户的隐私，并到运营商欺骗得到一张新的 SIM 卡，然后通过同样的手机号轻松搞定目标用户在 Coinbase 上的权限。 SIM 都被转移了，这就很麻烦了，基本来说我们很多在线服务都是通过手机号来做的二次验证或直接身份验证，这是一个非常中心化的认证方式，手机号成为攻击的弱点。\n\n详细分析可以参考：\n>https://medium.com/coinmonks/the-most-expensive-lesson-of-my-life-details-of-sim-port-hack-35de11517124\n\n这块的防御建议其实也简单，启用知名的 2FA 工具。\n\nSIM 卡还有个风险，就是如果手机丢了或被盗了，SIM 卡被取出来使用就尴尬了。我的做法可以供你参考：我的 SIM 卡设置了密码（PIN 码），每次开机或重新使用 SIM 卡都需要输入正确的密码才可以。具体攻略请自行查询。我只提醒：别忘记了这个密码，否则麻烦，耽误事。\n\n### GPG\n\n这部分的许多知识点在前文都提到了，不过这里再普及个小概念，以方便日后理解：\n\n有时候会遇到 PGP、OpenPGP 及 GPG 这几种看去相似的叫法，简单这样区分下：\n\n* PGP 是 Pretty Good Privacy 的缩写，是商用加密软件，发布 30 多年了，现在在赛门铁克麾下。\n* OpenPGP 是一种加密标准，衍生自 PGP。\n* GPG，全称 GnuPG，基于 OpenPGP 标准的开源加密软件。\n\n这几个底层都类似，用 GPG 就可以兼容其他的。这里我再次强烈建议：别整那么多有的没的，安全加密这块，用好 GPG 绝对可以大力提升安全感！\n\n### 隔离环境\n\n专门强调隔离环境这个安全原则，本质就是要具备零信任安全法则思维。你一定要相信：我们这些人即使再强大，被黑也是迟早的事，无论是被外部人、内部人还是自己。当被黑的时候，止损是第一步。止损能力被许多人忽略了，从而可能因为一次被黑而陆续被黑。究其本质就是因为许多安全设计不存在的，尤其是隔离这种看似粗暴的安全原则。\n\n一个良好的隔离习惯，当被黑时，损失的仅被黑目标的那些隐私，而不会危及到其他隐私。比如：\n\n* 如果你的密码安全习惯可以，当你其中一个账号被黑时，同样的密码就不会危及到其他账号。\n* 如果你的加密货币并不只在一个助记词下面，万一踩坑，你也不会归零重启。\n* 你的电脑中毒了，好在这是一台专门拿来浪的电脑，里面并没多少隐私，那你也不会慌，重装可以解决绝大多数的问题。如果你善于使用虚拟机，那就更好了，直接恢复快照就行。不错的虚拟机工具有：VMware、Parallels。\n* 上文提到的许多，你都可以至少两个账号、两个工具、两台设备等等，你熟悉以后完全打造一个独立的虚拟身份也不是不行。\n\n我以前提过一个比较极端的观点：隐私不是拿来保护的，隐私是拿来控制的。\n\n提出这个观点的原因是因为：在当下的互联网环境，隐私实际上已经泄露得不行。好在这些年隐私有关的法案越来越普及，大家也越来越重视。一切确实都会往好的方向发展。但在此之前，无论如何，当你掌握了我罗列的这些知识点，你就有能力将你的隐私游刃有余地控制着。在互联网上你如果习惯了，你几乎独立的虚拟身份可能会有好几个。\n\n## 人性安全\n\n说了这么多，人才是那个最大且永恒的风险。《三体》里有句话：“弱小和无知不是生存的障碍，傲慢才是。”\n\n* 别傲慢：如果你觉得你已经很强，你自己得瑟就好，不必藐视一切，尤其是傲慢到可以挑战全球黑客们的境地。学无止境、坑无止境。\n* 别贪心：贪确实是很多时候的前进动力，但要琢磨下，凭什么这种好机会留给了你？是你很帅，还是说话好听？:)\n* 别冲动：冲动是魔鬼，处处遇陷阱，没有把握的冲就是赌。\n\n还有一堆人性有关的点，说也说不完，而且关键是我自己也有不少问题。只能说战战兢兢、如履薄冰了。下面重点讲几个需要特别注意的点，都是与人性这些缺陷有关的，坏人利用一些平台的便利性来将人性玩弄得死死的。\n\n### Telegram\n\n以前我说过 Telegram 是最大的暗网了。首先不得不说 Telegram 太强，安全、稳定、足够的开放性设计得到了太多人的喜欢。但 Telegram 的文化土壤也让坏人们很喜欢：Telegram 太好用了，用户基数足够大，功能开放性足够好，非常方便定制各类 Bot 服务，结合加密货币可以让许多交易体验超越 Tor 网络里的那些暗网市场。并且上面的鱼儿太多了。\n\n社交账号的唯一字段基本都是类似什么用户名或 XX 号之类的，其他都可以被坏人完全复用。有的社交平台有账号认证机制，比如加个蓝 V 什么的。开放的社交还可以通过一些指标来看是不是真账号，比如 follow 情况、发布的内容情况、内容互动情况等。封闭些的社交确认上麻烦些，但类似 Telegram 这种引入了共同在哪些 Groups 的功能是挺不错的。\n\n人性是这样，但凡有空子可以被钻，收益可观时，一定一堆坏人来钻。\n\n所以社交平台上充斥了大量钓鱼陷阱，比如你在一个群里聊着聊着，突然冒出了个看去就像官方的客服私聊你（嗯，任意私聊是 Telegram 的机制，并不需要加好友），然后拿出杀猪盘经典话术，一些人就陆续上钩了...\n\n进一步的话，直接拉你进入另一个群，里面的人除了你，其他都是仿冒的。但你一看就觉得特别真实。黑产里的群克隆技术指的就是这种。\n\n这些都是初级的人性利用，高级点的就会结合漏洞来利用，更是难防。\n\n### Discord\n\nDiscord 是这两年流行起来的新型社交平台，聊天、群组这些基本功能都有，最核心的功能是一个个独立的社区服务器（不是传统理解的那种服务器），如官方说法：\n\n>Discord 致力于打造一个您与您的朋友、家人及社区交谈和闲逛的地方。在 Discord 上有数百万不同的社区，从老朋友组成的小群体到成千上万的人通过共同兴趣连接在一起的大型服务器。\n\n看去美好，但实际上安全设计挑战也是很高的，官方也很努力，有专门的安全规则及政策说明：\n\n>https://discord.com/safety\n\n可惜，许多人不会去仔细阅读的。另外，官方也不一定都能把一些核心安全问题说清楚，因为有的安全问题必须站在攻击者角度才能点透。\n\n下面点出其中一点。\n\nDiscord 上发生了这么多起 NFT 被盗案，请问其中的攻击技术要点是什么？如果这都没搞清楚，一堆 Discord 安全建议用处都不大。\n\n不少项目方的 Discord 服务器被搞的技术要点是那个所谓的 Discord Token，实际上这个玩意是 HTTP 请求头里的 authorization 字段内容。这玩意在 Discord 存在非常久了，对于黑客来说，只要想办法拿到这个 Discord Token，即可几乎完全控制目标的 Discord 权限，也就是说，如果目标是管理员、有管理权限的人或机器人（Bot），那么黑客就可以用这些特权来作恶了。\n\n比如，发布 NFT 钓鱼网站，大家一看：官方发的公告，于是就一股脑儿冲进钓鱼网站了...\n\n有人可能要问，我的 Discord 账号增加双因素（2FA）认证 OK 吗？绝对好习惯！但应对这个攻击是不行的！Discord Token 无视你是否开启了 2FA。如果你中招过，你应该立即更改 Discord 密码，这样 Discord Token 就会刷新变化了。\n\n至于黑客是如何拿到这个 Discord Token 的，我们已经摸清楚至少三大手法了，后面找机会写清楚。对于普通用户来说，防御建议其实挺多的，核心要点是：不急不贪、多方验证。\n\n### 来自“官方”的钓鱼\n\n坏人真的善于借势搞事，尤其是借官方的势。能仿冒就尽量仿冒得很像很像，如上面提过的假客服。还有如 2022.4 出头，Trezor 这款知名的硬件钱包的许多用户就收到来自 trezor.us 的钓鱼邮件，实际上 trezor.us 并不是 Trezor 官方域名。Trezor 官方域名只是 trezor.io。仅仅域名后缀不一样。另外钓鱼邮件里传播了如下域名：\n\n>https://suite.trẹzor.com\n\n<img src=\"res/trezor_phishing.jpg\" width=\"800\">\n\n这个域名是有“亮点”的，仔细看那个 ẹ 并不是英文字母 e。非常的迷惑性，实际上这是 Punycode，标准说明是这样的：\n\n>A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)\n>也就是国际化域名编码，可以表示 Unicode 码和 ASCII 码的有限字符集。\n\n如果把 trẹzor 解开后的样子是这样：xn--trzor-o51b，这才是真身！\n\nPunycode 这种钓鱼方式，几年前就有真实利用了，比如 2018 年时，币安的一些用户就中招过。\n\n这种域名看去很像的钓鱼就可以让许多人上当，更别提更高级的攻击方式，比如一些官方邮箱被控制，还有一种用户邮箱 SPF 配置问题导致的邮件伪造攻击。在用户眼里看到的邮件来源就是一模一样的官方特征。\n\n如果是内部人作恶，那用户就自求多福了。项目方内部的安全风控一定要特别重视人员安全，这永远是最值得花成本、花精力去建设的。人是最大的那只特洛伊木马，但却最容易被忽视。有的人安全意识实在太差，在安全上又不思进取。这种人，谁招谁倒霉。\n\n### Web3 隐私问题\n\n随着 Web3 的流行，越来越多有趣或无聊的项目出现，如各种 Web3 基础设施、社交平台等。基础设施有的做了海量的数据分析，一不小心就发现感兴趣的目标的各种行为画像了，不仅各区块链上的，还有 Web2 那些知名平台上的。画像一出，目标基本就属于透明人。而 Web3 社交平台的出现也可能加剧这类隐私问题。\n\n想一想，当你将这些 Web3 有关的各种玩意都玩了一遍，如签名绑定、链上各种交互等，你的隐私有没有泄露更多？很多人以为不会，但其实许多碎片拼在一起实际上就能输出更全面的画像：你喜欢收藏哪些 NFT、你加入了哪些社群、你在哪些白名单里、你和谁有了关联、你绑定了哪些 Web2 账号、你活跃在什么时间段里等等等。看吧，区块链有时候让隐私变得更糟糕。如果你在意隐私，那么需要谨慎对待一切新事物，并保持隔离身份的好习惯。\n\n此时，如果不小心私钥被盗，损失的已经不是资金那么简单的了，是所有一切精心维系的 Web3 权益。我们常说的私钥即身份，现在看来真的是身份了。\n\n人性安全部分就先到这，不继续展开了，你举一反三。\n\n永远不要去考验人性。\n\n# 区块链作恶方式\n\n区块链技术的出现诞生了我们现在所处的行业，无论你如何称呼这个行业，链圈、币圈、区块链、加密货币、虚拟货币、数字货币、Crypto、Web3 等等，一切的核心几乎都还是围绕区块链。最热闹的都与金融活动有关，比如币这个玩意，包括非同质化代币（NFT，也叫数字藏品）。\n\n这个行业有超凡的活力与吸引力，但存在太多作恶方式。由于区块链的一些独特性，也出现了些比较独特的作恶方式。这些作恶方式大体包括：盗币、恶意挖矿、勒索病毒、暗网交易、木马的 C2 中转、洗钱、资金盘、博彩等等。2019.1，我做了个思维导图可做参考：\n\n>https://github.com/slowmist/Knowledge-Base/blob/master/mindmaps/evil_blockchain.png\n\n同时，我们不断在更新维护的 SlowMist Hacked 区块链被黑档案库，大量的案例索引，一笔笔历史印记：\n\n>https://hacked.slowmist.io/\n\n本手册提了许多安全点，如果你能消化成自己的，那么真是恭喜你。至于这些五花八门的作恶方式，我就不准备展开了，如果你感兴趣，你应该自己学会扩展。多了解绝对是好事，更何况新型作恶手法总是层出不穷，变种不断。你的能力越大后，我也希望你能参与进来让这个行业更好一些。\n\n# 电脑中毒了怎么办\n\n不少黑客组织都喜欢玩电脑投毒，一般都不是什么高级技巧（比如浏览器 0day），清一色是社会工程学诱导，有假装投资人、记者、HR 等以开会名义诱导安装假会议软件的，有以 Telegram Safeguard 名义诱导需要通过人类验证让用户黏贴恶意代码在本地运行的，还有假装需要通过 Cloudflare 人类验证也是诱导用户黏贴恶意代码在本地运行的，等等。\n\n这些诱导伎俩参考：\n> https://x.com/SlowMist_Team/status/1899713751625969997<br>\n> https://x.com/SlowMist_Team/status/1880520294496104827<br>\n> https://x.com/SlowMist_Team/status/1888879128172241000\n\n如果你中招了，本着不抱侥幸心态、君子不立危墙之下这种精神...应该及时做如下操作：\n\n1. 电脑上如果有钱包在用（包括私钥/助记词备份文件），那么里面的资金都应该及时安全转移，别以为钱包带密码就没事...\n2. 电脑上重要的账号密码，如 Telegram/X/邮箱/交易平台账号等等（包括你在各浏览器保存的密码/登陆过的账号），都应该改密码、改 2FA，并排查这些号是否有未知设备登录情况，不要侥幸\n3. 安装知名杀毒软件如 AVG/Bitdefender/Kaspersky/Malwarebytes 等好好把电脑查杀了。自己决定哪个，付费使用，如果不放心，付费两个，轮流安装使用...\n4. 如果还不放心，把重要文件等备份好后，重置电脑也行...然后回到 3，把备份的这些文件都杀毒一遍...\n\n顺便强调下，这些投毒针对的操作系统不是仅 Windows，还有 Mac 电脑（也有兼容部分 Linux 的场景）。\n\n# 被盗了怎么办\n\n既然说了被黑是迟早的。那么当被黑时，甚至加密货币被盗时该怎么办？我就简单地直切主题。以下步骤不一定完全这个顺序，有的时候是来回穿梭的，但大体是这样。\n\n## 止损第一\n\n止损就是让损失不要放大了。这分为至少两个阶段：\n\n* 眼前着急阶段。眼前的绝对是当务之急的，比如你都看到黑客正在陆续转移你的资产，你还想什么呢？赶紧抢着把剩余资产安全转移呀。有交易抢跑经验的，就抢跑。看资产类型，如果是那种可以链上冻结的，就尽可能联系冻结。有能力做链上追踪分析的发现资金转移进中心化平台，就可以联系做必要风控。\n* 局面控制后阶段。局面稳住后，重点要琢磨的是如何不会出现二次、三次伤害。\n\n## 保护好现场\n\n发觉出事了，千万冷静，深呼吸三次后，一定要保护好有关现场。有几个经验供参考：\n\n* 针对电脑、服务器这类联网设备，一旦这些是事故主场，立即断网，但不关机（电源供电持续）。有人说如果是破坏性病毒，不关机的话，本地系统的文件就都被病毒破坏了。你说的没错，如果你的反应能快过病毒的话...\n* 除非你自己有能力，否则等待专业安全人员介入取证分析。\n\n这点很关键，我们遇到不少情况是：当我们介入做分析时，现场已经乱七八糟了，甚至关键证据（如日志、病毒文件）都出现被清理干净的情况。没有保存良好的案发现场，会对后续的分析与追踪溯源产生极大的干扰。\n\n## 分析原因\n\n分析原因的目的是了解对手，输出黑客画像。这个时候事故报告就非常重要，也叫验尸报告（Post Mortem Report），当然国内把 Post Mortem Report 翻译为验尸报告怪怪的，我们喊事故报告就行。\n\n我们遇到许多人被盗币后，来咨询我们怎么办，很纠结的是，许多人难以表达清晰，更别说出具清晰的事故报告了。但我觉得表达是可以练习或依葫芦画瓢出来的。比如至少把以下几点说明下：\n\n* 概要 1：什么人、什么时间、发生了什么事、总损失多少？\n* 概要 2：损失有关的钱包地址、黑客钱包地址、币种类型、数量，一个表格就比较清晰了。\n* 过程描述：这点才是最难的，这里需要把这个事故过程的方方面面细节点描述出来，这甚至会分析出黑客有关的各种痕迹，最终输出黑客画像（其中包括了作恶动机）\n\n我们具体在对接时，模板会复杂的多，循序渐进的。有时候人的记忆也是有问题，甚至出现刻意隐瞒关键信息导致浪费时间或耽误了绝佳时机。所以在实际对接中，消耗是真大，我们需要用我们的经验去做好引导工作。最终和丢币的人或项目方一起出具事故报告，并不断更新这份事故报告。\n\n## 追踪溯源\n\n根据罗卡定律：凡有入侵、必留痕迹。我们只要用心查，总会有发现。这个查的过程实际上就是取证分析、追踪溯源了。我们会根据取证分析出来的黑客画像来做追踪溯源，并不断充实这个黑客画像，这是一个动态、反复的过程。\n\n追踪溯源包含两大部分：\n\n* 链上情报：针对钱包地址分析资金走向，比如进了中心化交易所、混币平台等，监控预警新的转移。\n* 链下情报：这部分的情报包括：黑客的 IP、设备信息、邮箱及这几点关联碰撞出来的更丰富信息，其中包括行为信息。\n\n根据这些情报展开的追踪溯源工作就非常多了，甚至需要执法单位的介入。\n\n## 结案\n\n当然我们都希望有个好结局，历史上披露的公共事件中我们重点参与的且有好结局的，举几个例子：\n\n* Lendf.Me，价值 2500 万美金\n* SIL Finance，价值 1215 万美金\n* Poly Network，价值 6.1 亿美金\n\n我们亲历的还有许多是未公布的好结局、还行的结局。但大多数是不好的结局，挺遗憾。我们在这些过程中积累了大量宝贵经验，希望未来能将好结局的比率提高一个台阶。\n\n这个部分就简单提到这，我并不打算详细展开，这块的知识量是巨大的，有的我也不擅长。根据不同场景，我们需要掌握的能力有：\n\n* 智能合约安全分析及取证\n* 链上资金转移分析及取证\n* Web 安全分析及取证\n* Linux 服务器安全分析及取证\n* Windows 安全分析及取证\n* macOS 安全分析及取证\n* 手机安全分析及取证\n* 恶意代码分析及取证\n* 网络设备或平台的安全分析及取证\n* 人员安全分析及取证\n* ...\n\n几乎方方面面，本手册涵盖的安全点也是方方面面，但几乎都只是引入门罢了。\n\n# 误区\n\n本手册一开始就告诉你需要始终保持怀疑！包括本手册提到的任何知识点。这是个朝气蓬勃的、潜力巨大的行业，充斥大量的陷阱与乱象。这里我们来看看其中的一些误区，这些误区如果当作真理，不加思考的话，就很容易掉入陷阱中，成为乱象的一部分。\n\n## Code Is Law\n\n代码即法律。但往往一个项目（尤其特指智能合约有关）被黑了或跑路了，受害者们几乎没人希望代码即法律，最终还是会依赖真法律。\n\n## Not Your Keys, Not Your Coins\n\n不是你的私钥，就不是你的币。其实许多用户拿到了私钥，但没有能力驾驭好自己的私钥，反而因为各种安全问题，币丢了。有时候会发现，币放在足够大且信誉很好的平台里，反而安全了许多。\n\n## In Blockchain We Trust\n\n因为区块链，我们相信。其实区块链本身确实有能力解决一些根本的信任问题，比如不可篡改、抗审查等，我的资产及有关活动在区块链上，我就可以默认相信没人可以不经授权拿走我的资产，篡改我的活动。但现实往往是残酷的，首先不是所有区块链都有能力做到这些根本点，其次人性永远是最大的突破点。许多黑客手法是超越绝大多数人的想象的，虽说攻防是成本对抗，比如当你的资产不够大，没有黑客会费力针对性地去黑掉你，但，多个这样的你存在，那么也就很有利可图了。\n\n我的安全建议说简单也简单：保持对一切的默认不信任（也就是默认怀疑一切），并做好持续验证的工作。验证（Verify）是很关键的安全动作，持续验证是要告诉你，安全不是静态的，此时没问题，不代表未来不会出问题。验证能力是对自己最大的考验，但很有意思，你会因此而掌握足够多的知识。当你足够强时，没人可以轻易欺负你。\n\n## 密码学安全就是安全\n\n密码学确实很强大很重要。没有这么多密码学家的努力，这么多扎实的密码学算法及工程实现，也就别谈我们现在的通信技术、互联网技术、区块链技术了。可惜有些人却把密码学安全当成一切的安全，于是就会出现一些很奇怪的疑问：\n\n>区块链不是号称很安全的吗？私钥不是说破解需要多少多少亿亿亿年吗？为什么 FBI 破解了暗网比特币？为什么周杰伦的 NFT 还会被盗？\n\n这些疑问我都可以忍...不能忍的是有所谓安全人士拿密码学安全去忽悠大众，什么军级加密、殿堂级加密、宇宙级加密，系统特别特别安全，黑客没辙。\n\n黑客懒得理你...\n\n## 被黑很丢人\n\n被黑确实会让心情很复杂，也确实会有丢人的感觉。但你需要明白被黑是 100% 普适现象，绝无例外。没必要五十步笑百步，也没必要觉得丢人就逃避遮掩。\n\n被黑后，如果你仅仅需要对自己负责，那随意；如果你需要对一些人、不少人负责的话，一个透明开放的被黑处理态度及负责任做法就非常之关键了。虽然可能会引来嘲讽、质疑、甚至动辄说你在自导自演这起黑客事件。\n\n一个透明开放且不断更新的被黑处理进度，再加上痛定思痛的引以为戒，你总会引来好运。你也可以这样认为：你的项目如果连知名度都没，谁去黑你？丢人的不是被黑，丢人的是：傲慢。\n\n虽说被黑是 100% 普适现象，因为大量是小坑，踩踩小坑，加速成长，大坑还是得尽量避之。\n\n## 立即更新\n\n本手册好几次我建议要重视更新，有安全更新就立即更新。那么你仔细思考下，我的这种说法是否具有普适性？\n\n实际上是这样的：大多时候，针对安全方面的“立即更新”是对的。但有些时候，更新解决了一个问题，可能会引入另一个问题。历史上这类案例挺多，可以自行搜索了解。我举例其中一个，关于 iPhone 与 Google Authenticator 的：\n\n>iPhone 新版 iOS 15 系统升级后有个风险，身份验证器 Google Authenticator 里面的信息可能会清空，也可能会 double，如果发现 double 了千万不要去删除重复的条目，这会导致重开 Google Authenticator 后里面的信息全部丢失。建议未升级 iOS 15 系统且有使用 Google Authenticator 的最好先备份一下再升级。\n\n后来，这个问题，Google 更新了 Authenticator 来全面解决了。\n\n除了这点之外，钱包的更新我是不建议频繁的，尤其是重资产的钱包。除非是大的安全更新需要你不得不更新钱包，或者有很重要的功能让你不得不更新。这个就需要自己来做风险评估及抉择了。\n\n# 总结\n\n本手册开局这张图:)\n\n![](res/web3_hacking_map.jpg)\n\n你注意到了吗？我特意把图中的人标红了，是想反复提醒：人是万物基础（宇宙学领域称之“人择原理”）。无论是人性安全，还是安全驾驭能力，最终都取决于你。是的，当你足够强时，没人可以轻易欺负你。\n\n我顺着图开始展开，从创建钱包到备份钱包再到使用钱包这三大过程讲解了许多安全要点。接着介绍了传统隐私保护，我说传统的这些是基石，是我们安全地玩区块链生态的基石。人性安全部分再多提都不过。那些五花八门的作恶方式，多了解很好，甚至自己踩了几次坑，许多纸上谈兵的安全意识也就真成了你的安全经验。没有绝对的安全，于是我讲解了被盗了怎么办，我不希望你被盗，但万一发生，我希望这份被盗后的安全指南可以给你带来帮助。最后就是谈一些误区，本意很简单就是希望你有自己的批判思维，因为这个世界很美好，但也很多糟糕。\n\n我已经很久没写这么多文字了，上一次还是 10 年前，我的那本《Web 前端黑客技术揭秘》，挺酸爽。Web 安全攻防玩了许多年后，网络空间安全也玩了许多年，带队做了个网络空间搜索引擎钟馗之眼（ZoomEye）。我算是涉猎了安全攻防多领域的人了，但能说熟练的也仅个把而已。\n\n现在玩区块链安全，我也好，还是整个慢雾也好，都算是跑在比较前面的。这些年遇到的案例实在太多，几乎可以认为每周都可能经历那种恍惚感觉。许多心得体会不记录下来确实可惜，终于在数位朋友的催促下，这本手册诞生了。\n\n当你阅读完本手册后，一定需要实践起来、熟练起来、举一反三。如果之后你有自己的发现或经验，我希望你也能贡献出来。如果你觉得敏感，可以适当脱敏，匿名也行。\n\n最后，我需要致谢安全与隐私有关的立法与执法在全球范围内的成熟；各代当之无愧的密码学家、工程师、正义黑客及一切参与创造让这个世界更好的人们的努力，其中一位是中本聪。\n\n# 附\n\n## 安全法则及原则\n\n本手册提到有关的安全法则及原则，特别整理如下。有不少是融入大段文字里的，我就不做特别提炼了。\n\n两大安全法则：\n\n* 零信任。简单来说就是保持怀疑，而且是始终保持怀疑。\n* 持续验证。你要相信，你就必须有能力去验证你怀疑的点，并把这种能力养成习惯。\n\n安全原则：\n\n* 网络上的知识，凡事都参考至少两个来源的信息，彼此佐证，始终保持怀疑。\n* 做好隔离，也就是鸡蛋不要放在一个篮子里。\n* 对于存有重要资产的钱包，不做轻易更新，够用就好。\n* 所见即所签。即你看到的内容就是你预期要签名的内容，当你签名发出去后，结果就应该是你预期的，绝不是事后拍断大腿的。\n* 重视系统安全更新，有安全更新就立即行动。\n* 不乱下程序其实已经杜绝了绝大多数风险了。\n\n## 贡献者\n\n感谢贡献者们，这个列表会持续更新，希望你有任何的想法也联系我：\n>余弦，Twitter ([@evilcos](https://twitter.com/evilcos))、即刻（@余弦.jpg）\n\n贡献者们：\n```\n我夫人\n慢雾，Twitter (@SlowMist_Team)，如：Pds | Johan | Kong | Kirk | Thinking | Blue | Lisa | Keywolf...\n英文译者，如：Alphatu | C. | CJ | JZ | Lovepeace | Neethan | pseudoyu | SassyPanda | ss | XL\n日文译者，如：Jack Jia | Mia\n韩文译者，如：Sharon | Jeongmin\n阿拉伯文译者，如：Ahmed Alsayadi | Gabr Alsayadi\n印度尼西亚文译者，如：Finball\n即刻\n一些匿名的朋友\n更多：https://darkhandbook.io/contributors.html\n```\n\n只要有被采纳收录至本手册的帮助，比如：提供了具体的防御建议、案例；翻译工作；大错误纠错等。\n\n## 那些工具\n\n这本手册（大家常称之为“黑手册”）诞生至今已超两年，很欣慰的是帮到了许多人。虽然影响力越来越大，也不少朋友催更，但我意识到我除了在本手册上做一点小更新，主要都在更新手册有关的[扩展阅读](https://github.com/evilcos/darkhandbook)。不得不说扩展阅读的内容偏技术，对新人挺不友好。而且我知道其实真没那么多人愿意沉下心来学习安全知识，这个小章节本来是要推荐一些对新手友好的工具（包括钱包、安全扩展、有关脚本工具等），但还是反复犹豫了很久，最终还是决定不做特别推荐，因为这行业发展过快，本手册里其实已经提到了不少优秀的工具，经过了时间考验，但这些工具都一定有未来吗？能一直优秀吗？真不确定。\n\n之前我有提过，如果推荐了某个工具，我会尽量做到客观中立，并请大家牢记以下几点：\n\n* 没有绝对的安全，零信任+持续验证是这个黑暗森林里时刻需要存在的条件反射能力。如果哪天这些工具出了什么 bug 或安全问题，甚至更恶劣的情况，比如新版本植入了后门，那么请自行承担这种风险。在使用这些工具前，我建议你保持独立思维，切勿轻信。\n* 我研究能力不错，朋友也多，好的东西时机到了自然会推荐。所以不用着急，如果你的工具不错，首先是得到大家的信任，自然而然我就会推荐。\n* 你有个性，我也有。\n* 远离币价。\n* 信任的建立很不容易，但坍塌就是一瞬间的事，所以请互相珍惜。\n\n虽然在这个小章节里我不做工具的特别推荐，但希望给大家分享一种很好的思维方式：防火墙思维。之前不断强调的“零信任”、“持续验证”其实都是防火墙思维。\n\n比如，钱包使用上，签名是资金安全的重灾区，种类繁杂的签名钓鱼方式，随便举例如：\n\n- eth_sign/personal_sign/eth_signTypedData_* 这种原生签名利用，eth_sign 已经被钱包们封堵得越来越少了\n- Token/NFT 类似 approve/permit 这些授权函数的利用\n- 类似 Uniswap swapExactTokensForTokens/permit2 等这些强大函数的利用\n- OpenSea/Blur 等协议函数的利用（五花八门）\n- TX data 4byte 利用，Claim Rewards/Security Update 等\n- 用 Create2 预创建资金接收地址，绕过相关检测\n- Solana 一笔签名钓走目标钱包地址里的所有资产\n- 比特币铭文一键批量钓鱼，UTXO 机制\n- 各 EVM 链/Solana/Tron 等切换钓鱼\n\n如果你的钱包，弹框待签名确认时，无论你是 FOMO 还是手抖，一个“确认”点击后，签名就发出去了...那么这种钱包使用方式就不具备防火墙思维。更优实践是至少两次点击，多一次就多一层安全保障（当然也不必太多层，人会麻木的...）。比如我使用 Rabby、MetaMask、OKX Wallet 等这些的浏览器扩展钱包，测试钱包除外，其他的我尽量都会配套一个硬件钱包（最好还是较大屏幕，方便我识别待签名内容）。\n\n这个时候，扩展钱包的签名确认弹框会做第一层安全解析，比如钓鱼网站、风险钱包地址、所见即所签、高风险签名识别等，这些都是重要的用户交互安全。硬件钱包做第二层安全解析。如果这个时候再搭配个 Scam Sniffer、Wallet Guard、Pocket Universe 等这类浏览器钱包安全扩展，防火墙又增加了一个。但务必牢记，如果针对你正在进行的操作没风险提醒，自己也要警惕识别好，你才是你自己的兜底防火墙...\n\n防火墙思维习惯后，效率影响不大，安全感却大大提升了。其他场景大家举一反三吧。\n\n好了，这个小章节暂到此:)\n\n## 那些官网\n```\nSlowMist https://www.slowmist.com\nCoinMarketCap https://coinmarketcap.com/\nSparrow Wallet https://sparrowwallet.com/\nMetaMask https://metamask.io/\nimToken https://token.im/\nTrust Wallet https://trustwallet.com/\nTokenPocket https://www.tokenpocket.pro/\nGnosis Safe https://gnosis-safe.io/\nZenGo https://zengo.com/\nFireblocks https://www.fireblocks.com/\nSafeheron https://www.safeheron.com/\nKeystone https://keyst.one/\nTrezor https://trezor.io/\nOneKey https://onekey.so/\nimKey https://imkey.im/\nRabby https://rabby.io/\nOKX Wallet https://www.okx.com/web3\nEdgeWallet https://edge.app/\nMyEtherWallet https://www.myetherwallet.com/\nPhantom https://phantom.app/\nTornado Cash https://tornado.cash/\nBinance https://www.binance.com/\nCoinbase https://coinbase.com\nCompound https://compound.finance/\nSushiSwap https://www.sushi.com/\nOpenSea https://opensea.io/\nRevoke.cash https://revoke.cash/\nScam Sniffer https://www.scamsniffer.io/\nWallet Guard https://www.walletguard.app/\nPocket Universe https://www.pocketuniverse.app/\n\n即刻 https://okjike.com/\nAVG https://www.avg.com/\nBitdefender https://www.bitdefender.com/\nKaspersky https://www.kaspersky.com.cn/\nMalwarebytes https://www.malwarebytes.com/\nCloudflare https://www.cloudflare.com/\nAkamai https://www.akamai.com/\nSURVEILLANCE SELF-DEFENSE https://ssd.eff.org/\nPrivacy Guide https://www.privacytools.io/\nOpenPGP https://www.openpgp.org/\nGPG https://gnupg.org/\nGPG Suite https://gpgtools.org/\nGpg4win https://www.gpg4win.org/\n1Password https://1password.com/\nBitwarden https://bitwarden.com/\nGoogle Authenticator https://support.google.com/accounts/answer/1066447\nMicrosoft Authenticator https://www.microsoft.com/en-us/security/mobile-authenticator-app\nProtonMail https://protonmail.com/\nTutanota https://tutanota.com/\nVMware Workstation https://www.vmware.com/products/workstation-pro.html\nParallels https://www.parallels.com/\n```\n"
  },
  {
    "path": "README_ID.md",
    "content": "Buku Panduan menjaga diri didalam \"dark forest\"<br>\n*Pelajari dan kuasai, jadilah pakar untuk keamanan pribadi (aset) kriptomu.<br>*\n\n:fire:Situs web: https://darkhandbook.io/<br>\n:cn:中文版：[《区块链黑暗森林自救手册》](README_CN.md)<br>\n:us:English: [Blockchain dark forest selfguard handbook](README.md)<br>\n:jp:日本語版：[ブロックチェーンのダークフォレストにおける自己防衛のためのハンドブック](README_JP.md)<br>\n:kr:한국어 버전: [블록체인 다크 포레스트 셀프가드 핸드북](README_KR.md)<br>\n:saudi_arabia:اللغة العربية: [دليل النجاة في الغابة المظلمة للبلوكتشين](README_AR.md)<br>\n\nPengarang buku: Cos@SlowMist Team<br>\nKontak (pengarang buku): Twitter ([@evilcos](https://twitter.com/evilcos)), Jike App (@余弦.jpg)\n\nPenterjemah: \n>[Finball](https://x.com/GreyMatatabi)\n\n![alt this](res/this.png)\n\n:anchor:**Daftar Isi**\n- [Prolog](#prolog)\n- [Diagram](#diagram)\n  - [Membuat Dompet](#membuat-dompet)\n    - [Unduh](#unduh)\n    - [Frasa Mnemonik](#frasa-mnemonik)\n    - [Tanpa Kunci (keyless)](#tanpa-Kunci-keyless)\n  - [Cadangkan Dompet Anda](#cadangkan-dompet-anda)\n    - [Frasa Mnemonik / Kunci Pribadi](#frasa-mnemonik--kunci-pribadi)\n    - [Enkripsi](#enkripsi)\n  - [Cara Menggunakan Dompet Anda](#cara-menggunakan-dompet-anda)\n    - [AML (anti pencucian uang)](#aml-anti-pencucian-uang)\n    - [Dompet Dingin (cold wallet)](#dompet-dingin-cold-wallet)\n    - [Dompet Panas (hot wallet)](#dompet-panas-hot-wallet)\n    - [Apa Itu Keamanan DeFi?](#apa-itu-keamanan-defi)\n    - [Keamanan NFT](#keamanan-nft)\n    - [HATI-HATI Saat Penandatanganan (signing)!](#hati-hati-saat-penandatanganan-signing)\n    - [HATI-HATI Dengan Permintaan Tanda Tangan karena \"ini tampak biasa saja atau normal\"!](#hati-hati-dengan-permintaan-tanda-tangan-karena-ini-tampak-biasa-saja-atau-normal)\n    - [Beberapa Metodologi Penyerangan Tingkat Lanjut](#beberapa-metodologi-penyerangan-tingkat-lanjut)\n  - [Perlindungan Privasi Tradisional](#perlindungan-privasi-tradisional)\n    - [Sistem Operasi](#sistem-operasi)\n    - [Telepon Seluler (mobile phone)](#telepon-seluler-mobile-phone)\n    - [Jaringan](#jaringan)\n    - [Perambah](#perambah)\n    - [Pengelola Kata Sandi (password manager)](#pengelola-kata-sandi-password-manager)\n    - [Otentikasi Dua Faktor (2FA)](#otentikasi-dua-faktor-2fa)\n    - [HATI-HATI Berinternet (selalu jaga keamananmu)](#hati-hati-berinternet-selalu-jaga-keamananmu)\n    - [Email](#email)\n    - [Kartu SIM](#kartu-sim)\n    - [GPG](#gpg)\n    - [Pemisahan (segregation)](#pemisahan-segregation)\n  - [Keamanan Sifat Manusia](#keamanan-sifat-manusia)\n    - [Telegram](#telegram)\n    - [Discord](#discord)\n    - [Phishing \"Resmi\"](#phishing-resmi)\n    - [Masalah Privasi Web3](#masalah-privasi-web3)\n- [Kejahatan Blockchain](#kejahatan-blockchain)\n- [Apa yang Harus Dilakukan Jika Komputer Anda \"terkompromi\"](#apa-yang-harus-dilakukan-jika-komputer-anda-terkompromi)\n- [Apa Yang Harus Dilakukan Ketika Anda Diretas](#apa-yang-harus-dilakukan-ketika-anda-diretas)\n  - [Hentikan Kerugian Terlebih Dahulu](#hentikan-kerugian-terlebih-dahulu)\n  - [Karantina Tempat Kejadian](#karantina-tempat-kejadian)\n  - [Analisis Akar Masalah](#analisis-akar-masalah)\n  - [Penelusuran Sumber (source tracing)](#penelusuran-sumber-source-tracing)\n  - [Kesimpulan Kasus](#kesimpulan-kasus)\n- [Kesalahpahaman (misconception)](#kesalahpahaman-misconception)\n  - [Kode Adalah Hukum (code is law)](#kode-adalah-hukum-code-is-law)\n  - [Bukan Kunci Anda, Bukan Koin Anda](#bukan-kunci-anda-bukan-koin-anda)\n  - [Di Blockchain Kami Percaya (seluruhnya)](#di-blockchain-kami-percaya-seluruhnya)\n  - [Keamanan Kriptografis Adalah Keamanan (pada umumnya)](#keamanan-kriptografis-adalah-keamanan-pada-umumnya)\n  - [Apakah Memalukan Saat (kau menyadari menjadi korban) Diretas?](#apakah-memalukan-saat-kau-menyadari-menjadi-korban-diretas)\n  - [Segera Perbarui (immediately update)](#segera-perbarui-immediately-update)\n- [Kesimpulan](#kesimpulan)\n- [Lampiran](#lampiran)\n  - [Aturan Dan Prinsip Keamanan](#aturan-dan-prinsip-keamanan)\n  - [Kontributor](#kontributor)\n  - [Alat2nya (tools)](#alat2nya-tools)\n  - [Situs Resmi](#situs-resmi)\n\n# Prolog\n\nPertama-tama, selamat karena telah menemukan buku pegangan ini! Siapa pun Anda — jika Anda adalah Holder mata uang kripto atau ingin terjun ke dunia kripto di masa mendatang, buku pegangan ini akan sangat membantu Anda. Anda harus membaca buku pegangan ini dengan saksama dan menerapkan ajarannya dalam kehidupan nyata.\n\nSelain itu, untuk memahami buku pegangan ini secara menyeluruh diperlukan beberapa pengetahuan dasar. Namun, jangan khawatir. Bagi pemula, jangan takut dengan kendala pengetahuan yang dapat diatasi. Jika Anda menemukan sesuatu yang tidak Anda pahami, dan perlu mencari tahu lebih lanjut, Google sangat direkomendasikan. Selain itu, penting untuk mengingat satu aturan keamanan: Bersikaplah skeptis! Apa pun informasi yang Anda lihat di web, Anda harus selalu mencari setidaknya dua sumber untuk dikroscek atau referensi silang.\n\nSekali lagi, selalu bersikap skeptis :) termasuk pengetahuan yang disebutkan dalam buku pegangan ini.\n\nBlockchain adalah penemuan hebat yang membawa perubahan dalam hubungan produksi dan memecahkan masalah kepercayaan sampai taraf tertentu. Secara khusus, blockchain menciptakan banyak skenario \"kepercayaan\" tanpa perlu sentralisasi dan pihak ketiga, seperti kekekalan (immutable), pelaksanaan sesuai kesepakatan, dan pencegahan tas penolakan. Namun, kenyataan itu kejam. Ada banyak miskonsepsi tentang blockchain, dan orang jahat akan menggunakan miskonsepsi ini untuk mengeksploitasi celah dan mencuri uang dari orang-orang, yang menyebabkan banyak kerugian finansial. Saat ini, dunia kripto telah menjadi seperti hutan gelap.\n\nHarap diingat dua aturan keamanan berikut untuk bertahan hidup di hutan gelap blockchain.\n\n1. **(Mulailah dengan) Kepercayaan Nol**: Untuk membuatnya sederhana, tetaplah skeptis, dan selalu bersikap demikian.\n2. **Validasi Keamanan Berkelanjutan**: Untuk mempercayai sesuatu, Anda harus memvalidasi apa yang Anda ragukan, dan menjadikan validasi sebagai kebiasaan.\n\n*Catatan: Dua aturan keamanan di atas adalah prinsip inti dari buku pegangan ini, dan semua prinsip keamanan lainnya yang disebutkan dalam buku pegangan ini berasal darinya.*\n\nBaiklah, itu saja untuk pengantar kita. Mari kita mulai dengan diagram dan jelajahi hutan gelap bersama kami dan melihat risiko apa yang akan kita hadapi dan bagaimana kita harus mengatasinya.\n\n# Diagram\n\n![](res/web3_hacking_map.jpg)\n\nAnda dapat membaca sekilas diagram ini sebelum membaca lebih lanjut bagian lainnya dari buku pegangan ini. Buku ini membahas semua aktivitas utama di dunia ini (apa pun sebutannya: blockchain, mata uang kripto, atau Web3), yang terdiri dari tiga proses utama: membuat dompet, mencadangkan dompet, dan menggunakan dompet.\n\nMari kita ikuti ketiga proses ini dan menganalisis masing-masingnya.\n\n## Membuat Dompet\n\nIni adalah Inti dari dompet yaitu kunci privat (frasa awal/seed phrase).\n\nSeperti inilah tampilan kunci privat:\n\n>0xa164d4767469de4faf09793ceea07d5a2f5d3cef7f6a9658916c581829ff5584\n\nSelain itu, seperti inilah tampilan frasa awal:\n\n>cruel weekend spike point innocent dizzy alien use evoke shed adjust wrong\n\n*Catatan: Kami menggunakan Ethereum sebagai contoh di sini. Silakan periksa sendiri detail lebih lanjut tentang kunci privat/frasa awal.*\n\nKunci privat adalah ID Anda. Jika kunci privat hilang/dicuri, maka Anda kehilangan ID Anda. Ada banyak aplikasi dompet yang terkenal, dan buku pegangan ini tidak akan membahas semuanya.\n\nNamun, saya akan menyebutkan beberapa dompet tertentu. Harap dicatat, dompet yang disebutkan di sini dapat dipercaya sampai tingkat tertentu. Namun, saya tidak dapat menjamin bahwa dompet tersebut tidak akan memiliki masalah keamanan atau risiko, yang diharapkan atau tidak diharapkan, selama penggunaan (saya tidak akan mengulanginya lagi. Harap selalu ingat dua aturan keamanan utama yang disebutkan dalam prolog)\n\nDiklasifikasikan berdasarkan aplikasi, ada dompet Desktop, dompet ekstensi browser, dompet seluler, dompet HW (perangkat keras), dan dompet web. Dalam hal koneksi internet, dompet tersebut dapat dibagi menjadi Cold Wallet (dompet dingin) dan Hot Wallet (dompet panas). Sebelum kita terjun ke dunia kripto, pertama-tama kita harus memikirkan tujuan dompet tersebut. Tujuan tidak hanya menentukan dompet mana yang harus kita gunakan, tetapi juga bagaimana kita menggunakan dompet tersebut.\n\nApa pun jenis dompet yang Anda pilih, satu hal yang pasti: setelah Anda memiliki cukup pengalaman di dunia (blockchain) ini, satu dompet saja tidak cukup.\n\nDi sini kita harus mengingat prinsip keamanan lainnya: isolasi, yaitu, jangan menaruh semua telur Anda dalam satu keranjang. Semakin sering dompet digunakan, semakin berisiko dompet tersebut. Selalu ingat: saat mencoba sesuatu yang baru, pertama-tama siapkan dompet terpisah dan cobalah sebentar dengan mengisi sedikit uang. Bahkan bagi seorang veteran kripto seperti saya, jika sedang ingin \"bermain api, Anda akan lebih mudah terbakar\".\n\n### Unduh\n\nKedengarannya sederhana, tetapi sebenarnya tidak mudah. Alasannya adalah sebagai berikut:\n\n1. Banyak orang tidak dapat menemukan situs web resmi yang asli, atau pasar aplikasi yang tepat, dan akhirnya memasang dompet palsu.\n2. Banyak orang tidak tahu cara mengidentifikasi apakah aplikasi yang diunduh telah dirusak (disusupi malware) atau tidak.\n\nJadi, bagi banyak orang, sebelum mereka memasuki dunia blockchain, dompet mereka sudah kosong dan terkuras.\n\nUntuk mengatasi masalah pertama di atas, ada beberapa teknik untuk menemukan situs web resmi yang benar, seperti\n\n* menggunakan Google (Berhati-hatilah dengan entri yang diiklankan dalam hasil pencarian, karena sering kali tidak dapat diandalkan.)\n* menggunakan situs web resmi yang terkenal, seperti CoinMarketCap\n* bertanya kepada orang dan teman yang tepercaya\n\nAnda dapat merujuk silang informasi yang diperoleh dari berbagai sumber ini, dan pada akhirnya hanya akan ada satu kebenaran :) Selamat, Anda telah menemukan situs web resmi yang benar.\n\nSelanjutnya, Anda harus mengunduh dan memasang aplikasi tersebut. **Jika itu dompet Desktop**, setelah mengunduh dari situs web resmi, Anda perlu menginstalnya sendiri. Sangat disarankan untuk memverifikasi apakah tautan telah dirusak sebelum menginstal. Meskipun verifikasi ini mungkin tidak mencegah kasus-kasus di mana kode sumber diubah sepenuhnya (karena insider scam, peretasan internal, atau situs web resmi mungkin terkena hijack, dll.), namun, hal itu dapat mencegah kasus-kasus seperti perusakan sebagian kode sumber, serangan man-in-the-middle, dll.\n\nMetode untuk memverifikasi apakah suatu file telah dirusak adalah pemeriksaan konsistensi file. Biasanya ada dua cara:\n\n* **Pemeriksaan hash**: seperti MD5, SHA256, dll. MD5 berfungsi untuk sebagian besar kasus, tetapi masih ada sedikit risiko error crashed hash, jadi kami biasanya memilih SHA256, yang cukup aman.\n* **Verifikasi tanda tangan GPG**: metode ini juga sangat populer. Sangat disarankan untuk sudah ahli dengan Tools, Command, dan metode GPG. Meskipun metode ini agak sulit bagi pendatang baru, Anda akan merasa sangat berguna setelah Anda terbiasa dengannya.\n\nNamun, tidak banyak proyek di dunia kripto yang menyediakan verifikasi. Jadi, beruntunglah jika menemukannya. Misalnya, berikut adalah dompet bitcoin bernama Sparrow Wallet. Halaman unduhannya menyebutkan \"Verifying the Release\", yang sangat mengesankan, dan ada panduan yang jelas untuk kedua metode yang disebutkan di atas, sehingga Anda dapat menggunakannya sebagai referensi:\n\n>https://sparrowwallet.com/download/\n\nHalaman unduhan menyebutkan dua alat GPG:\n\n* GPG Suite, untuk MacOS.\n* Gpg4win, untuk Windows.\n\nJika Anda memperhatikan, Anda akan menemukan halaman unduhan untuk kedua alat GPG memberikan beberapa petunjuk tentang cara memeriksa konsistensi kedua metode tersebut. Namun, tidak ada panduan langkah demi langkah, artinya, Anda perlu belajar dan berlatih sendiri :)\n\n**Jika itu adalah dompet ekstensi browser**, seperti MetaMask, satu-satunya hal yang harus Anda perhatikan adalah jumlah unduhan dan peringkat di toko web Chrome. MetaMask, misalnya, memiliki lebih dari 10 juta unduhan dan lebih dari 2.000 Rating (meskipun peringkat keseluruhannya tidak tinggi). Beberapa orang mungkin berpikir bahwa jumlah unduhan dan peringkat mungkin dilebih-lebihkan. Sejujurnya, sangat sulit untuk memalsukan angka sebesar itu.\n\n**Dompet seluler (mobile wallet)** mirip dengan dompet ekstensi peramban. Namun, perlu dicatat bahwa App Store memiliki versi yang berbeda untuk setiap wilayah. Mata uang kripto dilarang di Tiongkok Daratan, jadi jika Anda mengunduh dompet dengan akun App Store Tiongkok Anda, hanya ada satu saran: jangan menggunakannya, ubah ke akun lain di wilayah lain seperti AS, lalu unduh ulang. Selain itu, situs web resmi yang benar juga akan mengarahkan Anda ke metode pengunduhan yang benar (seperti imToken, OneKey, Trust Wallet, dll. Penting bagi situs web resmi untuk menjaga keamanan situs web yang tinggi. Jika situs web resmi diretas, akan ada masalah besar.).\n\n**Jika itu adalah dompet perangkat keras (hardware wallet)**, sangat disarankan untuk membelinya dari situs web resmi. Jangan membelinya dari toko daring. Setelah Anda menerima dompet, Anda juga harus memperhatikan apakah dompet itu utuh. Tentu saja, ada beberapa kecurangan pada kemasan yang cukup sulit dideteksi. Bagaimanapun, saat menggunakan dompet perangkat keras, Anda harus membuat frasa awal dan alamat dompet (wallet address) setidaknya mengacak tiga kali dari bawaan (default). Dan pastikan itu tidak diulang.\n\n**Jika dompet web**, kami sangat menyarankan untuk tidak menggunakannya. Kecuali Anda tidak punya pilihan lain, pastikan dompet tersebut asli, lalu gunakan dengan hemat dan jangan pernah mengandalkannya.\n\n### Frasa Mnemonik\n\nSetelah membuat dompet, hal utama yang kita tangani secara langsung adalah frasa mnemonik/frasa awal (seed phrase), bukan kunci pribadi, yang lebih mudah diingat. Ada konvensi standar untuk frasa mnemonik (misalnya, BIP39); ada 12 kata bahasa Inggris secara umum; bisa berupa angka lain (kelipatan 3), tetapi tidak lebih dari 24 kata. Jika tidak, dompet tersebut terlalu rumit dan tidak mudah diingat. Jika jumlah kata kurang dari 12, keamanannya tidak dapat diandalkan. Umumnya, terdapat 12/15/18/21/24 kata. Di dunia blockchain, 12 kata cukup populer dan aman. Namun, masih ada dompet perangkat keras yang sulit seperti Ledger yang dimulai dengan 24 kata. Selain kata-kata dalam bahasa Inggris, beberapa bahasa lain juga tersedia, seperti bahasa Mandarin, Jepang, Korea, dan sebagainya. Berikut adalah daftar 2048 kata untuk referensi:\n\n>https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md\n\nSaat membuat dompet, frasa awal Anda rentan. Anda harus memastikan bahwa Anda tidak dikelilingi oleh orang atau webcam atau apa pun yang dapat mencuri frasa awal (seed phrase) Anda.\n\nJuga, harap perhatikan apakah frasa awal dibuat secara acak. Biasanya dompet yang terkenal dapat menghasilkan sejumlah frasa awal acak yang cukup. Namun, Anda harus selalu berhati-hati. Sulit untuk mengetahui apakah ada yang salah dengan dompet tersebut. Bersabarlah karena akan sangat bermanfaat untuk mengembangkan kebiasaan ini demi keamanan Anda. Terakhir, terkadang Anda bahkan dapat mempertimbangkan untuk memutuskan sambungan dari Internet untuk membuat dompet, terutama jika Anda akan menggunakan dompet tersebut sebagai dompet dingin (Cold Wallet). Memutus sambungan dari Internet selalu berhasil.\n\n### Tanpa Kunci (keyless)\n\nTanpa kunci berarti tidak ada kunci pribadi (Private Key). Di sini kami membagi Keyless menjadi dua skenario utama (untuk memudahkan penjelasan. Pembagian seperti ini bukanlah standar industri)\n\n* **Kustodian**. Contohnya adalah CEX atau Centralized Exchange, di mana pengguna hanya perlu mendaftarkan akun dan tidak memiliki kunci pribadi. Keamanan mereka sepenuhnya bergantung pada platform terpusat ini.\n* **Non-Kustodian**. Pengguna memiliki kekuatan kontrol seperti kunci pribadi, tapi bukan kunci pribadi yang sebenarnya (atau frasa awal). Ia bergantung pada platform Cloud yang terkenal untuk hosting dan autentikasi/otorisasi. Oleh karena itu, keamanan platform Cloud menjadi bagian yang paling rentan. Yang lain menggunakan komputasi multi-pihak (MPC) yang aman untuk menghilangkan risiko titik tunggal, dan juga bermitra dengan platform Cloud populer untuk memaksimalkan pengalaman pengguna.\n\nSecara pribadi, saya telah menggunakan berbagai jenis alat Keyless. CEX atau Centralized Exchange dengan kantong tebal dan reputasi baik memberikan pengalaman terbaik. Selama Anda tidak bertanggung jawab secara pribadi atas hilangnya token (seperti jika informasi akun Anda diretas), CEX atau Centralized Exchange biasanya akan mengganti kerugian Anda. Program Keyless berbasis MPC terlihat sangat menjanjikan dan harus dipromosikan. Saya memiliki pengalaman yang baik dengan ZenGo, Fireblocks, dan Safeheron. Keuntungannya jelas:\n\n* Rekayasa algoritma MPC menjadi semakin matang pada blockchain yang terkenal, dan hanya perlu dilakukan untuk kunci privat.\n* Satu set ide dapat memecahkan masalah blockchain yang berbeda yang memiliki skema multi-tanda tangan yang sangat berbeda, menciptakan pengalaman pengguna yang konsisten, yang sering kita sebut: multi-tanda tangan universal.\n* Ini dapat memastikan bahwa kunci privat yang sebenarnya tidak pernah muncul dan memecahkan satu titik risiko melalui perhitungan multi-tanda tangan.\n* Dikombinasikan dengan Cloud (atau teknologi Web2.0) membuat MPC tidak hanya aman tetapi juga menciptakan pengalaman yang baik.\n\nNamun, tetap masih ada beberapa kelemahan:\n\n* Tidak semua proyek sumber terbuka dapat memenuhi standar industri yang diterima. Lebih banyak pekerjaan yang perlu dilakukan.\n* Banyak orang pada dasarnya hanya menggunakan Ethereum (atau blockchain berbasis EVM) Dengan demikian, solusi multi tanda-tangan (multi-signature) berdasarkan pendekatan kontrak pintar seperti Gnosis Safe sudah cukup.\n\nSecara keseluruhan, apa pun alat (tools) yang Anda gunakan, selama Anda merasa aman dan memiliki kendali serta memiliki pengalaman yang baik, itu adalah alat yang bagus.\n\nSejauh ini kita telah membahas apa yang perlu kita waspadai terkait pembuatan dompet. Masalah keamanan umum lainnya akan dibahas di bagian selanjutnya.\n\n## Cadangkan Dompet Anda\n\nDi sinilah banyak orang baik akan jatuh ke dalam perangkap, termasuk saya sendiri. Saya tidak mencadangkan dengan benar dan saya tahu itu akan terjadi cepat atau lambat. Untungnya, itu bukan dompet dengan sejumlah besar aset dan teman-teman di SlowMist membantu saya memulihkannya. Tetap saja, itu adalah pengalaman yang menakutkan yang menurut saya tidak akan pernah diinginkan siapa pun. Jadi, kencangkan sabuk pengaman dan mari pelajari cara mencadangkan dompet Anda dengan aman.\n\n### Frasa Mnemonik / Kunci Pribadi\n\nSaat kita berbicara tentang pencadangan dompet, pada dasarnya kita berbicara tentang pencadangan frasa mnemonik (atau kunci pribadi. Untuk kenyamanan, kita akan menggunakan frasa mnemonik berikut ini). Sebagian besar frasa mnemonik dapat dikategorikan sebagai berikut:\n\n* Teks Biasa\n* Dengan Kata Sandi\n* Multitanda Tangan (Multisign)\n* Shamir’s Secret Sharing, atau disingkat SSS\n\nSaya akan menjelaskan masing-masing jenis secara singkat.\n\n**Teks Biasa**, Teks biasa mudah dipahami. Setelah Anda memiliki 12 kata bahasa Inggris tersebut, Anda memiliki aset di dompet. Anda dapat mempertimbangkan untuk melakukan pengacakan khusus, atau bahkan mengganti salah satu kata dengan kata lain. Keduanya akan meningkatkan kesulitan bagi peretas untuk meretas dompet Anda, namun, Anda akan mengalami sakit kepala besar jika Anda lupa tentang aturannya. Memori Anda tidak bulletproof. Percayalah, memori Anda akan kisut setelah beberapa tahun. Beberapa tahun yang lalu, ketika saya menggunakan dompet perangkat keras Ledger, saya mengubah urutan frasa mnemonik 24 kata. Setelah beberapa tahun, saya lupa urutannya dan saya tidak yakin apakah saya telah mengganti kata apa pun. Seperti yang disebutkan sebelumnya, masalah saya terpecahkan dengan program pemecah kode khusus yang menggunakan brute force untuk menebak urutan dan kata yang benar.\n\n**Dengan Kata Sandi**, Menurut standar, frasa mnemonik dapat memiliki kata sandi. Itu masih frasa yang sama tetapi dengan kata sandi, frasa awal yang berbeda akan diperoleh. Frasa awal digunakan untuk memperoleh serangkaian kunci pribadi, kunci publik, dan alamat yang sesuai. Jadi, Anda tidak hanya harus mencadangkan frasa mnemonik, tetapi juga kata sandinya. Omong-omong, kunci pribadi juga dapat memiliki kata sandi dan memiliki standarnya sendiri, seperti BIP 38 untuk bitcoin dan Keystore untuk ethereum.\n\n**Multitanda Tangan (Multisign)**, Seperti namanya, diperlukan tanda tangan dari banyak orang untuk mengakses dompet. Ini sangat fleksibel karena Anda dapat menetapkan aturan Anda sendiri. Misalnya, jika ada 3 orang yang memiliki kunci (kata mnemonik atau kunci pribadi), Anda dapat mengatur agar setidaknya dua orang untuk menandatangani untuk mengakses dompet. Setiap blockchain memiliki solusi multi-signature-nya sendiri. Sebagian besar dompet Bitcoin yang terkenal mendukung multi-signature. Namun, di Ethereum, multi-signature terutama didukung melalui kontrak pintar, seperti Gnosis Safe. Lebih jauh lagi, MPC, atau Secure Multi-Party Computation menjadi semakin populer. MPC memberikan pengalaman yang mirip dengan multi-signature tradisional, tetapi dengan teknologi yang berbeda. Tidak seperti multi-signature, MPC bersifat blockchain agnostik dan dapat bekerja dengan semua protokol.\n\n**Shamir’s Secret Sharing, atau disingkat SSS**, SSS memecah seed menjadi beberapa share (biasanya, setiap share berisi 20 kata). Untuk memulihkan dompet, sejumlah share tertentu harus dikumpulkan dan digunakan. Untuk detailnya, lihat praktik terbaik industri di bawah ini:\n\n>https://guide.keyst.one/docs/shamir-backup<br>\n>https://wiki.trezor.io/Shamir_backup\n\nMenggunakan solusi seperti multi-signature dan SSS akan memberi Anda ketenangan pikiran dan menghindari risiko titik tunggal, tetapi dapat membuat manajemen menjadi relatif rumit dan terkadang melibatkan banyak pihak. Selalu ada kompromi antara kenyamanan dan keamanan. Terserah individu untuk memutuskan tetapi jangan pernah malas dalam prinsip.\n\n### Enkripsi\n\nEnkripsi adalah konsep yang sangat, sangat luas. Tidak masalah apakah enkripsi tersebut simetris, asimetris, atau menggunakan teknologi canggih lainnya; selama pesan terenkripsi dapat dengan mudah didekripsi oleh Anda atau tim penanganan darurat Anda dengan mudah tetapi tidak ada orang lain setelah beberapa dekade, itu adalah enkripsi yang baik.\n\nBerdasarkan prinsip keamanan \"zero trust\", saat kita mencadangkan dompet, kita harus berasumsi bahwa setiap langkah dapat diretas, termasuk lingkungan fisik seperti brankas. Ingatlah bahwa tidak ada orang lain selain diri Anda yang dapat dipercaya sepenuhnya. Faktanya, terkadang Anda bahkan tidak dapat mempercayai diri sendiri, karena ingatan Anda mungkin memudar atau hilang. Namun, saya tidak akan selalu membuat asumsi pesimistis, jika tidak, hal itu akan membawa saya pada beberapa hasil yang tidak diinginkan.\n\nSaat melakukan pencadangan, pertimbangan khusus harus diberikan pada pemulihan bencana. Tujuan utama pemulihan bencana adalah untuk menghindari satu titik risiko. Apa yang akan terjadi jika Anda pergi atau lingkungan tempat Anda menyimpan cadangan sedang tidak berfungsi? Oleh karena itu, untuk hal-hal penting, ada beberapa hal yang perlu diperhatikan.\n\nJika Anda adalah orang yang ahli dalam pemulihan bencana, maka harus ada beberapa cadangan.\n\nSaya tidak akan menjelaskan terlalu banyak tentang cara memilih orang yang ahli dalam pemulihan bencana karena itu tergantung pada siapa yang Anda percaya. Saya akan fokus pada cara melakukan beberapa cadangan. Mari kita lihat beberapa bentuk dasar lokasi cadangan:\n\n* Cloud\n* Paper\n* Device\n* Brain (ingatan)\n\n**Cloud**, Banyak orang yang tidak mempercayai backup di Cloud, mereka menganggapnya rentan terhadap serangan hacker. Pada akhirnya, yang terpenting adalah pihak mana — penyerang atau bertahan — yang memberikan upaya lebih besar, baik dari segi tenaga maupun anggaran. Secara pribadi, saya percaya pada layanan cloud yang didukung oleh Google, Apple, Microsoft, dll., karena saya tahu seberapa kuat tim keamanan mereka dan berapa banyak yang mereka keluarkan untuk keamanan. Selain berjuang melawan peretas eksternal, saya juga sangat peduli dengan pengendalian risiko keamanan internal dan perlindungan data pribadi. Beberapa penyedia layanan yang saya percaya melakukan pekerjaan yang relatif lebih baik di bidang ini. Tapi tidak ada yang mutlak. Jika saya memilih salah satu layanan cloud ini untuk mencadangkan data penting (seperti dompet), saya pasti akan mengenkripsi dompet setidaknya sekali lagi.\n\nSaya sangat merekomendasikan menguasai GPG. Ini dapat digunakan untuk \"verifikasi tanda tangan\", dan sementara itu memberikan keamanan enkripsi dan dekripsi yang kuat. Anda dapat mempelajari lebih lanjut tentang GPG di:\n\n>https://www.ruanyifeng.com/blog/2013/07/gpg.html\n\nOke, Selamat jika Anda sudah menguasai GPG :) Sekarang Anda telah mengenkripsi data terkait di dompet Anda (frasa mnemonik atau kunci pribadi) dengan GPG di lingkungan offline yang aman, kini Anda dapat membuang file terenkripsi langsung ke layanan cloud ini dan menyimpannya di sana. Semua akan baik baik saja. Tapi saya perlu mengingatkan Anda di sini: jangan pernah kehilangan kunci pribadi GPG Anda atau lupa kata sandi kunci pribadi (Private Key)…\n\nPada titik ini, Anda mungkin merasa tingkat keamanan ekstra ini cukup merepotkan: Anda harus mempelajari tentang GPG dan membuat cadangan kunci pribadi dan kata sandi GPG Anda. Pada kenyataannya, jika Anda telah melakukan semua langkah di atas, Anda sudah terbiasa dengan prosesnya dan tidak akan menganggapnya sulit atau menyusahkan. Saya tidak akan berkata apa-apa lagi karena latihan membuat menjadi sempurna.\n\nJika Anda ingin menghemat tenaga, ada kemungkinan lain namun keamanannya mungkin diabaikan. Saya tidak dapat mengukur diskon pastinya tetapi terkadang saya malas saat menggunakan beberapa alat terkenal untuk mendapatkan bantuan. Alat itu adalah 1Password. Versi terbaru 1Password sudah mendukung penyimpanan langsung data terkait dompet, seperti kata mnemonik, kata sandi, alamat dompet, dll., yang nyaman bagi pengguna. Alat lain (seperti Bitwarden) dapat mencapai hal serupa, tetapi tidak senyaman itu.\n\n**Paper**, Banyak dompet perangkat keras dilengkapi dengan beberapa kartu kertas berkualitas tinggi tempat Anda dapat menuliskan frasa mnemonik Anda (dalam teks biasa, SSS, dll.). Selain kertas, ada juga yang menggunakan pelat baja (tahan api, tahan air, dan tahan korosi, tentunya saya belum mencobanya). Ujilah setelah Anda menyalin frasa mnemonik dan jika semuanya berfungsi, letakkan di tempat yang Anda rasa aman, seperti di brankas. Saya pribadi sangat suka menggunakan kertas karena jika disimpan dengan benar, kertas memiliki umur yang jauh lebih lama dibandingkan barang elektronik.\n\n**Device**, Ini mengacu pada semua jenis peralatan; elektronik adalah jenis cadangan yang umum, seperti komputer, iPad, iPhone, atau hard drive, dll, tergantung pada preferensi pribadi. Kita juga harus memikirkan transmisi yang aman antar perangkat. Saya merasa nyaman menggunakan metode peer-to-peer seperti AirDrop dan USB karena perantara sulit membajak prosesnya. Saya tentu saja tidak nyaman dengan kenyataan bahwa peralatan elektronik mungkin rusak setelah beberapa tahun, jadi saya menjaga kebiasaan memeriksa perangkat setidaknya setahun sekali. Ada beberapa langkah berulang (seperti enkripsi) yang dapat Anda rujuk ke bagian Cloud.\n\n**Brain (ingatan)**, Mengandalkan ingatanmu itu mengasyikkan. Faktanya, setiap orang memiliki \"istana kenangan\" masing-masing. Memori tidaklah misterius dan dapat dilatih untuk bekerja lebih baik. Ada hal-hal tertentu yang memang lebih aman dengan ingatan. Apakah hanya mengandalkan otak atau tidak adalah pilihan pribadi. Namun perhatikan dua risiko: pertama, ingatan memudar seiring berjalannya waktu dan dapat menyebabkan kebingungan; risiko lainnya adalah Anda mungkin mengalami kecelakaan. Saya akan berhenti di sini dan membiarkan Anda menjelajah lebih jauh.\n\nSekarang Anda semua sudah dicadangkan. Jangan mengenkripsi terlalu banyak, jika tidak, Anda akan menderita sendiri setelah beberapa tahun. Sesuai dengan prinsip keamanan \"verifikasi berkelanjutan\", metode enkripsi dan pencadangan Anda, baik berlebihan atau tidak, harus diverifikasi terus-menerus, baik secara berkala maupun acak. Frekuensi verifikasi bergantung pada memori Anda dan Anda tidak harus menyelesaikan seluruh proses. Selama prosesnya benar, verifikasi parsial juga berfungsi. Terakhir, kerahasiaan dan keamanan proses otentikasi juga perlu diperhatikan.\n\nOke, mari kita tarik napas dalam-dalam di sini. Memulai adalah bagian tersulit. Sekarang kamu sudah siap, ayo masuki hutan gelap ini :)\n\n## Cara Menggunakan Dompet Anda\n\nSetelah Anda membuat dan mencadangkan dompet Anda, inilah tantangan sebenarnya. Jika Anda tidak sering berpindah-pindah aset, atau Anda jarang berinteraksi dengan kontrak pintar (Smart Contract) DeFi, NFT, GameFi, atau Web3, istilah populer yang sering digunakan saat ini, aset Anda akan mungkin relatif aman.\n\n### AML (anti pencucian uang)\n\nNamun, \"relatif aman\" bukan berarti \"tidak ada risiko sama sekali\" bukan. Sebab \"kamu tidak pernah tahu mana yang akan datang terlebih dulu, hari esok atau kecelakaan\", bukan?. Kenapa sih? Coba pikirkan, dari mana Anda mendapatkan mata uang kripto tersebut? Itu tidak datang begitu saja, bukan? Anda mungkin menemukan AML (Anti Pencucian Uang) pada semua mata uang kripto yang Anda dapatkan kapan saja. Artinya, mata uang kripto yang Anda pegang saat ini mungkin \"kotor\", dan jika Anda tidak beruntung, mata uang tersebut bahkan mungkin langsung dibekukan di rantainya. Menurut laporan publik, Tether pernah membekukan beberapa aset USDT sesuai permintaan lembaga penegak hukum. Daftar dana yang dibekukan dapat dilihat di sini.\n\n>https://dune.xyz/phabc/usdt---banned-addresses\n\nAnda dapat memverifikasi apakah suatu alamat dibekukan oleh Tether dari kontrak USDT.\n\n>https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#readContract\n\n<img src=\"res/usdt_isblacklisted.png\" width=\"700\">\n\nGunakan alamat dompet target sebagai input di \"isBlackListed\" untuk memeriksa. Chain lain yang menggunakan USDT juga memiliki cara verifikasi serupa.\n\nMeskipun aset BTC dan ETH Anda tidak akan dibekukan di blockchain, bursa terpusat (centralized exchanges atau CEX) mungkin membekukan aset Anda sesuai dengan persyaratan AML setelah aset Anda ditransfer ke platform ini dan jika mereka terlibat dalam kasus terbuka yang sedang ditangani oleh penegak hukum.\n\nUntuk menghindari masalah AML dengan lebih baik, selalu pilih platform dan individu dengan reputasi baik sebagai rekanan Anda. Sebenarnya ada beberapa solusi untuk masalah seperti ini. Misalnya, di Ethereum, hampir semua penjahat dan orang yang sangat peduli dengan privasi mereka menggunakan Tornado Cash untuk \"mencampur\" koin. Saya tidak akan menggali lebih jauh topik ini karena sebagian besar metode di sini digunakan untuk melakukan kejahatan.\n\n### Dompet Dingin (cold wallet)\n\nAda berbagai cara untuk menggunakan dompet dingin. Dari sudut pandang dompet, ini dapat dianggap sebagai dompet dingin selama tidak terhubung ke jaringan (internet) apa pun. Tapi bagaimana cara menggunakannya saat offline? Pertama-tama, jika Anda hanya ingin menerima cryptocurrency, itu bukan masalah besar. Dompet dingin dapat memberikan pengalaman luar biasa dengan bekerja dengan dompet khusus \"watch only\" (dimana kita hanya memantau asset kita saja), seperti imToken, OneKey, Trust Wallet, dll. Dompet ini dapat diubah menjadi dompet \"watch only\" hanya dengan menambahkan alamat dompet target.\n\nJika kita ingin mengirim cryptocurrency menggunakan cold wallet, berikut cara yang paling umum digunakan:\n\n* Kode QR\n* USB\n* Bluetooth\n\nSemua ini memerlukan aplikasi khusus (disebut Aplikasi Ringan atau Light App di sini) untuk bekerja dengan dompet dingin (cold wallet). Aplikasi Ringan akan online bersama dengan dompet khusus \"watch only\" yang disebutkan di atas. Setelah kita memahami prinsip esensial yang mendasarinya, kita seharusnya mampu memahami pendekatan-pendekatan ini. Prinsip pentingnya adalah: pada akhirnya, ini hanyalah mencari tahu cara menyiarkan konten yang ditandatangani ke dalam blockchain. Proses detailnya adalah sebagai berikut:\n\n* Konten yang akan ditandatangani dikirimkan oleh Light App ke Cold Wallet melalui salah satu cara berikut.\n* Tanda tangan (signature) diproses oleh Cold Wallet yang memiliki kunci pribadi dan kemudian dikirimkan kembali ke Cold Wallet menggunakan cara yang sama\n* Light App menyiarkan konten yang ditandatangani di blockchain.\n\nJadi apapun metode yang digunakan, kode QR, USB atau Bluetooth, harus mengikuti proses di atas. Tentu saja, detailnya mungkin berbeda untuk setiap metode. Misalnya kode QR memiliki kapasitas informasi yang terbatas, sehingga jika data tanda tangan terlalu besar, kita harus membaginya.\n\nTampaknya memang merepotkan, tetapi akan lebih baik jika Anda terbiasa. Anda bahkan akan merasakan rasa aman sepenuhnya. Namun jangan dianggap 100% aman karena disini masih ada resiko dan banyak kasus kerugian besar akibat resiko tersebut. Berikut poin risikonya:\n\n* Alamat tujuan transfer koin tidak diperiksa dengan cermat sehingga mengakibatkan koin tersebut ditransfer ke orang lain. Kadang-kadang orang malas dan ceroboh. Misalnya, seringkali mereka hanya memeriksa bagian awal dan akhir alamat dompet daripada memeriksa seluruh alamat secara keseluruhan. Hal ini menyisakan pintu belakang (Backdoor) bagi orang-orang jahat. Mereka akan menjalankan program untuk mendapatkan alamat dompet dengan beberapa bit pertama dan terakhir yang sama dengan alamat target yang Anda inginkan dan kemudian mengganti alamat target transfer koin Anda dengan alamat yang berada di bawah kendali mereka menggunakan beberapa trik.\n* Koin diotorisasi ke alamat yang tidak diketahui. Biasanya otorisasi adalah mekanisme token kontrak pintar Ethereums, fungsi \"setujui\", dengan satu argumen sebagai alamat otorisasi target dan argumen lainnya sebagai kuantitas (jumlah). Banyak orang tidak memahami mekanisme ini, sehingga mereka mungkin mengotorisasi token dalam jumlah tidak terbatas ke alamat target, dan pada saat itu alamat target memiliki izin untuk mentransfer semua token tersebut. Ini disebut pencurian koin terotorisasi, dan ada varian lain dari teknik ini, namun saya tidak akan membahasnya di sini.\n* Beberapa tanda tangan (signature) yang tampaknya tidak penting sebenarnya memiliki jebakan besar di belakangnya, dan saya tidak akan membahasnya sekarang, tetapi akan menjelaskan detailnya nanti.\n* Cold Wallet mungkin tidak memberikan cukup informasi yang diperlukan, sehingga menyebabkan Anda menjadi ceroboh dan salah menilai.\n\nSemuanya bermuara pada dua poins:\n\n* Mekanisme keamanan interaksi pengguna \"Apa yang Anda lihat adalah apa yang Anda tandatangani\" tidak ada ataupun tersedia.\n* Kurangnya latar belakang pengetahuan yang relevan dari pengguna.\n\n### Dompet Panas (hot wallet)\n\nDibandingkan dengan dompet dingin, dompet panas pada dasarnya memiliki semua risiko yang dimiliki dompet dingin. Ditambah lagi, ada satu lagi: risiko pencurian frase rahasia (atau kunci pribadi). Pada titik ini ada lebih banyak masalah keamanan yang perlu dipertimbangkan dengan hot wallet, seperti keamanan runtime environment. Jika ada virus yang terkait dengan runtime environment, maka ada risiko dicuri. Ada juga dompet panas yang memiliki kerentanan tertentu sehingga frasa rahasia dapat mudah dicuri.\n\nSelain fungsi transfer koin biasa, jika Anda ingin berinteraksi dengan DApps lain (DeFi, NFT, GameFi, dll.), Anda harus mengaksesnya langsung dengan browser Anda sendiri atau berinteraksi dengan DApps yang dibuka di browser PC Anda melalui protokol \"WalletConnect\".\n\n*Catatan: Referensi DApps dalam buku pegangan ini merujuk secara default ke proyek (smart contract) kontrak pintar yang berjalan di blockchain Ethereum.*\n\nSecara default, interaksi seperti itu tidak mengarah pada pencurian frase rahasia, kecuali ada masalah dengan desain keamanan dompet itu sendiri. Dari audit keamanan dan riwayat penelitian keamanan kami, terdapat risiko frasa rahasia dompet dicuri langsung oleh JavaScript berbahaya di halaman target. Namun, ini adalah kasus yang jarang terjadi, karena sebenarnya ini adalah kesalahan tingkat dasar yang tidak mungkin dilakukan oleh proyek dompet (Wallet) terkenal mana pun.\n\nTak satu pun dari hal ini yang benar-benar menjadi kekhawatiran saya di sini, hal tersebut dapat ditangani oleh saya (dan untuk Anda juga). Kekhawatiran terbesar saya adalah: bagaimana setiap iterasi dompet terkenal memastikan tidak ada kode berbahaya atau pintu belakang yang ditanam? Implikasi dari pertanyaan ini jelas: Saya memverifikasi bahwa versi dompet saat ini tidak memiliki masalah keamanan dan saya merasa nyaman menggunakannya, namun saya tidak tahu seberapa aman versi berikutnya. Lagi pula, saya atau tim keamanan saya tidak punya banyak waktu dan tenaga untuk melakukan semua verifikasi.\n\nAda beberapa insiden pencurian koin yang disebabkan oleh kode berbahaya atau pintu belakang seperti yang dijelaskan di sini, seperti CoPay, AToken, dll. Anda dapat mencari sendiri insiden spesifiknya.\n\nDalam hal ini, ada beberapa cara untuk berbuat jahat:\n\n* Saat dompet berjalan (sedang aktif), kode berbahaya mengemas dan mengunggah frasa rahasia yang relevan langsung ke server yang dikendalikan hacker.\n* Saat dompet berjalan dan pengguna memulai transfer, informasi seperti alamat target dan jumlah secara diam-diam diganti di backend dompet, dan sulit bagi pengguna untuk menyadarinya.\n* Merusak nilai entropi bilangan acak yang terkait dengan pembuatan frasa rahasia, yang membuatnya relatif mudah untuk diuraikan.\n\nKeamanan terkadang adalah sesuatu yang kita acuhkan dan sekedar diketahui saja, dan ada banyak hal yang dapat dengan mudah diabaikan atau dilewatkan. Jadi untuk dompet yang menyimpan aset penting, aturan keamanan saya juga sederhana: \"if it ain’t broke, don’t fix it\" jika masih bisa bekerja dengan baik, tidak perlu diperbaharui dulu.\n\n### Apa Itu Keamanan DeFi?\n\nKetika kita berbicara tentang DApp, bisa berupa DeFi, NFT atau GameFi dll. Dasar-dasar keamanannya sebagian besar sama, tetapi memiliki spesifikasinya masing-masing. Pertama mari kita ambil DeFi sebagai contoh untuk menjelaskannya. Ketika kita berbicara tentang keamanan DeFi, apa sebenarnya yang kita maksud? Orang-orang di industri ini hampir selalu hanya melihat kontrak pintar. Tampaknya ketika kontrak pintar bagus, semuanya akan baik-baik saja. Sebenarnya, ini jauh dari benar.\n\nKeamanan DeFi setidaknya mencakup komponen berikut:\n\n* Keamanan Kontrak Cerdas (smart contract)\n* Keamanan Yayasan Blockchain (blockchain foundation)\n* Keamanan Bagian Depan (front end)\n* Keamanan Komunikasi\n* Keamanan Manusia\n* Keamanan Keuangan\n* Keamanan Kepatuhan (compliance)\n\n**Keamanan Kontrak Cerdas**\n\nKeamanan kontrak pintar (smart contract) memang merupakan titik masuk paling penting untuk audit keamanan, dan standar audit keamanan SlowMist untuk kontrak pintar dapat ditemukan di:\n\n>https://www.slowmist.com/service-smart-contract-security-audit.html\n\nUntuk user tingkat lanjut, jika keamanan bagian kontrak pintar itu sendiri dapat dikontrol (apakah mereka dapat mengaudit dirinya sendiri atau memahami laporan audit keamanan yang dikeluarkan oleh organisasi profesional), maka tidak masalah jika bagian lainnya aman. Dapat dikontrol adalah konsep yang rumit, beberapa di antaranya bergantung pada kekuatan user itu sendiri. Misalnya, user sudah memiliki persyaratan tertentu sehubungan dengan risiko dari otoritas kontrak pintar yang berlebihan. Jika proyek itu sendiri kuat dan orang-orang di belakangnya mempunyai reputasi yang baik, sentralisasi penuh tidak akan menjadi masalah. Namun, untuk proyek-proyek yang kurang terkenal, kontroversial, atau sedang berkembang, jika Anda menyadari bahwa kontrak pintar proyek tersebut memiliki risiko izin yang berlebihan, terutama jika izin tersebut juga dapat mempengaruhi asset atau penghasilan Anda, Anda pasti akan enggan.\n\nRisiko izin yang berlebihan sangat kecil. Dalam banyak kasus, admin proyek bertanggung jawab untuk melakukan tata kelola yang relevan dan kontinjensi risiko. Namun bagi pengguna, ini adalah ujian terhadap sifat manusia. Bagaimana jika tim memutuskan untuk melakukan kejahatan? Jadi ada praktik trade-off di industri ini: menambahkan Timelock untuk mengurangi risiko izin yang berlebihan, misalnya:\n\n> Compound, sebuah proyek DeFi yang mapan dan terkenal, modul kontrak pintar inti Pengawas Keuangan dan Tata Kelola, keduanya memiliki mekanisme Timelock yang ditambahkan ke izin adminnya:<br>\n> Pengawas Keuangan(0x3d9819210a31b4961b30ef54be2aed79b9c9cd3b)<br>\n> Tata Kelola(0xc0da02939e1441f497fd74f78ce7decb17b66529)<br>\n> Admin 2 modul ini adalah<br>\n> Kunci Waktu (Timelock)(0x6d903f6003cca6255d85cca4d3b5e5146dc33925)\n\nAnda dapat langsung mengetahui on chain bahwa Timelock (variabel penundaan) adalah 48 jam (172.800 detik):\n\n<img src=\"res/compound_timelock.png\" width=\"700\">\n\nArtinya, jika admin Compound perlu mengubah beberapa variabel kunci dari kontrak pintar target, transaksi akan dicatat setelah dimulai pada blockchain, namun 48 jam harus menunggu sebelum transaksi dapat diselesaikan dan dieksekusi. Artinya, jika mau, Anda dapat mengaudit setiap operasi dari admin, dan Anda memiliki waktu setidaknya 48 jam untuk bertindak. Misalnya, jika Anda tidak yakin, Anda dapat menarik dana Anda dalam waktu 48 jam.\n\nCara lain untuk memitigasi risiko izin admin yang berlebihan adalah dengan menambahkan multi-signature, seperti menggunakan Gnosis Safe untuk pengelolaan multisig, sehingga setidaknya tidak ada diktator. Perlu dicatat di sini bahwa multisig bisa menjadi \"baju baru kaisar\". Misalnya, satu orang mungkin memegang banyak kunci. Oleh karena itu, strategi multisig dari proyek sasaran perlu dinyatakan dengan jelas. Siapa yang memegang kunci, dan identitas masing-masing pemegang kunci harus mempunyai reputasi baik. \n\nPerlu disebutkan di sini bahwa strategi keamanan apa pun dapat mengarah pada masalah \"pakaian baru kaisar\", yang mana strategi tersebut mungkin tampak dilakukan dengan baik, namun kenyataannya tidak, sehingga menghasilkan ilusi keamanan. Ambil contoh lain, Timelock terlihat bagus di atas kertas. Sebenarnya, ada beberapa kasus di mana Timelock yang diterapkan oleh beberapa proyek memiliki pintu belakang. Umumnya, pengguna tidak melihat kode sumber Timelock, dan mereka belum tentu memahaminya meskipun mereka melakukannya, jadi admin memasang pintu belakang di sana, dan tidak ada yang akan menyadarinya untuk waktu yang cukup lama.\n\nSelain risiko izin yang berlebihan, elemen keamanan kontrak pintar lainnya juga penting. Namun, saya tidak akan membahasnya di sini, dengan mempertimbangkan prasyarat pemahaman anda. Inilah saran saya: Anda setidaknya harus belajar membaca laporan audit keamanan, dan dari banyak latihan akan menjadi sempurna.\n\n**Keamanan Yayasan Blockchain**\n\nKeamanan dasar Blockchain mengacu pada keamanan blockchain itu sendiri, seperti keamanan buku besar konsensus (consensus ledger), keamanan mesin virtual, dll. Jika keamanan blockchain itu sendiri mengkhawatirkan, proyek kontrak pintar (smart contract) yang berjalan pada rantai tersebut akan terkena dampak langsung. Sangat penting untuk memilih blockchain dengan mekanisme keamanan dan reputasi yang memadai, dan lebih baik dengan kemungkinan umur panjang yang lebih tinggi.\n\n**Keamanan Bagian Depan**\n\nKeamanan frontend benar-benar buruk. Itu terlalu dekat dengan pengguna, dan sangat mudah untuk membodohi pengguna hingga menipu. Mungkin fokus utama setiap orang adalah pada keamanan dompet dan kontrak pintar, sehingga keamanan frontend mudah diabaikan. Saya ingin menekankan lagi bahwa keamanan frontend adalah seperti iblis! Izinkan saya menggali lebih dalam.\n\nKekhawatiran terbesar saya mengenai keamanan frontend adalah: Bagaimana saya tahu bahwa kontrak yang saya gunakan untuk berinteraksi dari halaman frontend khusus ini adalah kontrak pintar yang saya harapkan?\n\nKecemasan ini terutama disebabkan oleh dua faktor:\n\n* Pekerjaan orang dalam (Inside job)\n* Pihak ketiga (Third party)\n\nSangat mudah untuk memahami pekerjaan orang dalam. Misalnya, pengembang secara diam-diam mengganti alamat kontrak pintar (smart contract) target di halaman depan dengan alamat kontrak yang memiliki pintu belakang (backdoor), atau menanam skrip otorisasi phishing. Saat Anda mengunjungi halaman frontend yang dicurangi ini, serangkaian operasi selanjutnya yang melibatkan kripto di dompet Anda mungkin dilakukan masuk ke dalam jebakan. Sebelum Anda menyadarinya, koin-koin itu sudah hilang.\n\nPihak ketiga terutama mengacu pada dua jenis:\n\n* Salah satunya adalah rantai ketergantungan (dependencies chain) yang disusupi. Misalnya, ketergantungan pihak ketiga yang digunakan oleh halaman frontend memiliki pintu belakang yang menyelinap ke halaman frontend target bersama dengan pengemasan dan rilis. Berikut struktur ketergantungan paket SushiSwap (ini hanya sebagai ilustrasi saja, belum tentu berarti proyek di tangkapan layar memiliki masalah seperti itu):<br>\n    <img src=\"res/sushiswap_3rd.png\" width=\"500\">\n\n* Contoh lainnya adalah file JavaScript jarak jauh pihak ketiga yang diimpor oleh halaman frontend. Jika file JavaScript ini diretas, kemungkinan halaman frontend target juga terpengaruh, seperti OpenSea (ini hanya sebagai ilustrasi saja, bukan berarti proyek di tangkapan layar tersebut mengalami masalah seperti itu):<br>\n    <img src=\"res/opensea_3rd.png\" width=\"800\">\n\nAlasan mengapa kami mengatakan hal ini mungkin terjadi namun belum pasti adalah karena risikonya dapat dihindari jika pengembang merujuk ke file JavaScript jarak jauh pihak ketiga di halaman frontend dengan cara berikut:\n\n><script src=\"https://example.com/example-framework.js\" integrity=\"sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pbOxEbzJr7\" crossorigin=\"anonymous\"></script>\n\nPoin kuncinya di sini adalah mekanisme keamanan HTML5 yang bagus: atribut integritas dalam tag (mekanisme SRI). integritas mendukung SHA256, SHA384 dan SHA512. Jika file JavaScript pihak ketiga tidak memenuhi pemeriksaan integritas hash, file tidak akan dimuat. Ini bisa menjadi cara yang baik untuk mencegah eksekusi kode yang tidak diinginkan. Namun, pemanfaatan mekanisme ini memerlukan sumber daya target untuk mendukung respons CORS. Untuk detailnya, lihat berikut ini:\n\n>https://developer.mozilla.org/zh-CN/docs/Web/Security/Subresource_Integrity\n\n**Keamanan Komunikasi**\n\nMari fokus pada keamanan HTTPS di bagian ini. Pertama, situs web target harus menggunakan HTTPS, dan transmisi teks biasa HTTP tidak boleh diizinkan. Hal ini karena transmisi teks biasa HTTP terlalu mudah untuk dibajak oleh serangan man-in-the-middle. Saat ini HTTPS sangat umum sebagai protokol transmisi yang aman. Jika ada serangan man-in-the-middle pada HTTPS, dan penyerang telah menyuntikkan JavaScript berbahaya ke front-end aplikasi web, peringatan kesalahan sertifikat HTTPS yang sangat jelas akan ditampilkan di browser pengguna.\n\nMari kita gunakan kejadian MyEtherWallet sebagai contoh untuk mengilustrasikan hal ini.\n\nMyEtherWallet dulunya adalah dompet aplikasi web yang sangat populer, dan hingga saat ini masih sangat terkenal. Namun ini bukan lagi sekedar dompet aplikasi web. Seperti disebutkan sebelumnya, saya sangat tidak menyarankan penggunaan dompet aplikasi web karena alasan keamanan. Selain berbagai masalah keamanan front-end, pembajakan HTTPS juga mempunyai potensi risiko yang besar.\n\nPada tanggal 24 April 2018, terjadi insiden keamanan besar berupa pembajakan HTTPS di MyEtherWallet. Rekap kejadiannya bisa dilihat di sini:\n\n>https://www.reddit.com/r/MyEtherWallet/comments/8eloo9/official_statement_regarding_dns_spoofing_of/<br>\n>https://www.reddit.com/r/ethereum/comments/8ek86t/warning_myetherwalletcom_highjacked_on_google/\n\n![](res/myetherwallet_https_hijack.png)\n\nDalam serangan tersebut, peretas (hacker) membajak layanan DNS (Google Public DNS) yang digunakan oleh sejumlah besar pengguna MyEtherWallet melalui BGP, sebuah protokol perutean kuno, yang secara langsung menyebabkan tampilan peringatan kesalahan HTTPS di setiap browser pengguna ketika mereka mencoba mengunjungi. Faktanya, pengguna harus berhenti ketika mereka melihat peringatan ini, karena pada dasarnya ini menunjukkan bahwa halaman web target telah dibajak. Namun kenyataannya, banyak pengguna dengan cepat mengabaikan peringatan tersebut dan terus melanjutkan interaksi mereka dengan situs yang dibajak, karena mereka sama sekali tidak memahami risiko keamanan di balik peringatan kesalahan HTTPS.\n\nKarena halaman web target telah dibajak dan Hacker telah menyuntikkan JavaScript berbahaya di sana, berdasarkan interaksi pengguna, Hacker akan berhasil mencuri kunci pribadi teks biasa mereka dan mentransfer dana mereka (kebanyakan ETH).\n\nIni jelas merupakan kasus klasik di mana Hacker menggunakan teknik pembajakan BGP untuk mencuri kripto. Itu (metode yang) berlebihan. Setelah itu masih banyak lagi kasus serupa yang terjadi, dan saya tidak akan menyebutkannya secara detail di sini. Bagi pengguna hanya ada satu hal yang benar-benar perlu diperhatikan: jika Anda memutuskan untuk menggunakan dompet aplikasi web, atau mencoba berinteraksi dengan DApp, selalu pastikan Anda menghentikan dan menutup halaman setiap kali Anda melihat peringatan kesalahan sertifikat HTTPS! Dan dana Anda akan baik-baik saja. \n\nAda kenyataan kejam dalam keamanan: ketika ada risiko, jangan berikan pilihan apa pun kepada pengguna. Seolah-olah Anda melakukannya, akan selalu ada pengguna yang jatuh ke dalam perangkap karena alasan apa pun. Faktanya, tim proyek perlu mengambil tanggung jawab. Saat ini, sudah ada solusi keamanan yang sangat efektif untuk masalah pembajakan HTTPS yang disebutkan di atas: tim proyek perlu mengonfigurasi HSTS dengan benar. HSTS adalah singkatan dari HTTP Strict Transport Security; ini adalah mekanisme kebijakan keamanan web yang didukung oleh sebagian besar browser modern. Jika HSTS diaktifkan, jika terjadi kesalahan sertifikat HTTPS, browser akan memaksa pengguna untuk berhenti mengakses aplikasi web target dan pembatasan itu tidak akan dapat dilewati. Sekarang Anda mengerti maksud saya?\n\n**Keamanan Manusia**\n\nBagian ini mudah dimengerti. Misalnya tim proyek berpikiran jahat dan bertindak tidak jujur. Saya telah menyebutkan beberapa konten yang relevan di bagian sebelumnya, jadi di sini saya tidak akan membahas lebih detail. Lebih banyak lagi yang akan dibahas di bagian selanjutnya.\n\n**Keamanan Keuangan**\n\nKeamanan Finansial (keuangan) harus dibahas mendalam dan dihargai setinggi-tingginya. Di DeFi, pengguna sangat memperhatikan harga dan pengembalian token. Mereka menginginkan laba atas investasi unggul mereka, atau setidaknya stabil. Dengan kata lain, sebagai pengguna, saya memainkan permainan untuk menang (i play to win) dan jika saya kalah, setidaknya saya harus yakin bahwa ini adalah permainan yang adil. Ini hanyalah sifat manusia.\n\nKeamanan finansial di DeFi rentan terhadap serangan berupa:\n\n* Praktik peluncuran token (launchpad) yang tidak adil seperti pra-penambangan (pre-mining) atau pra-penjualan (pre-sale);\n* Serangan paus kripto (whale);\n* Pompa dan buang (pump n dump);\n* Peristiwa angsa hitam (blackswan) seperti curahan air dari air terjun yang masuk ke pasar dan menyebabkan keruntuhan; atau katakanlah ketika satu protokol DeFi menjadi semacam sarang besar atau dioperasikan dengan bermacam DeFi/Token lain, dan keamanan/keandalannya akan sangat bergantung pada protokol lain;\n* Serangan teknis lainnya atau yang kita sebut dengan teknik ilmiah seperti front running, sandwich Attack, Flash Loan Attack, dll.\n\n**Keamanan Kepatuhan**\n\nPersyaratan kepatuhan adalah topik yang sangat besar, AML \"anti money laundering\" (Anti Pencucian Uang) yang disebutkan sebelumnya hanyalah salah satu poinnya. Ada juga aspek seperti KYC (Kenali Pelanggan Anda), sanksi, risiko sekuritas, dll. Sebenarnya bagi kami pengguna, hal ini bukanlah sesuatu yang berada di bawah kendali kami. Saat kami berinteraksi dengan proyek tertentu, karena proyek tersebut mungkin tunduk pada peraturan terkait di negara tertentu, informasi privasi kami mungkin dikumpulkan. Anda mungkin tidak peduli dengan masalah privasi seperti itu, tetapi ada orang yang peduli.\n\nMisalnya, di awal tahun 2022 terjadi insiden kecil: beberapa dompet memutuskan untuk mendukung protokol Address Ownership Proof Protocol (AOPP):\n\nSaya melihat desain protokolnya, ternyata dompet yang mendukung AOPP bisa saja membocorkan privasi pengguna: regulator mungkin mengetahui interkoneksi antara pertukaran kripto yang diatur dan alamat dompet eksternal yang tidak diketahui:\n\n>https://gitlab.com/aopp/address-ownership-proof-protocol\n\nTidak heran banyak dompet yang berorientasi privasi sangat memperhatikan masukan pengguna dan dengan cepat menghapus dukungan AOPP dari produk mereka. Tapi sejujurnya: Desain protokolnya cukup menarik. Saya perhatikan bahwa beberapa dompet tidak berencana menghapus dukungan untuk AOPP, seperti EdgeWallet. Pendapat mereka adalah bahwa AOPP tidak serta merta mengekspos lebih banyak privasi pengguna, sebaliknya justru membantu meningkatkan sirkulasi mata uang kripto. Di banyak bursa kripto yang diatur, pengguna tidak diperbolehkan menarik dana (Withdraw) ke alamat dompet eksternal tertentu, sebelum ia dapat membuktikan kepemilikannya atas alamat tersebut.\n\nPada awalnya, dompet perangkat keras (Hardware Wallet) terkenal Trezor menolak untuk menghapus dukungan AOPP. Namun kemudian terpaksa berkompromi dan melakukannya karena tekanan dari komunitas dan pengguna Twitter. \n\nSeperti yang Anda lihat, ini adalah insiden kecil tetapi bagi sebagian orang, privasi sangatlah penting. Hal ini bukan berarti kita harus melanggar peraturan dan mengabaikan persyaratan kepatuhan. Faktanya, saya yakin perlu adanya kompromi pada tingkat tertentu terhadap persyaratan kepatuhan. Kami tidak akan membahas topik ini secara lebih dalam, silakan cerna isinya dengan cara Anda sendiri.\n\nSejauh ini, kami telah membahas sebagian besar konten di bagian Keamanan DeFi.\n\nTerlebih lagi, ada juga masalah keamanan yang disebabkan oleh penambahan atau pembaruan di masa mendatang. Kita sering mengatakan \"postur keamanan itu dinamis, bukan statis\". Misalnya saat ini sebagian besar tim proyek melakukan audit keamanan dan menampilkan laporan audit keamanan yang bersih. Jika Anda pernah membaca laporan berkualitas baik dengan cermat, Anda akan melihat bahwa laporan ini akan dengan jelas menjelaskan cakupan, jangka waktu, dan pengidentifikasi unik dari konten yang diaudit (misalnya alamat kontrak pintar sumber terbuka yang terverifikasi, atau alamat penerapan di repo GitHub, atau hash dari file kode sumber target). Artinya, laporan tersebut statis, tetapi jika dalam suatu proyek Anda mengamati adanya penyimpangan dari apa yang disebutkan dalam laporan, Anda dapat melihatnya.\n\n### Keamanan NFT\n\nSemua konten keamanan DeFi yang disebutkan sebelumnya dapat diterapkan pada keamanan NFT, dan NFT sendiri memiliki beberapa topik keamanan yang sangat spesifik dan unik, misalnya:\n\n* Keamanan metadata\n* Keamanan tanda tangan (signature)\n\nMetadata terutama mengacu pada gambar yang disematkan, gambar bergerak, dan konten lainnya. Disarankan untuk merujuk ke OpenSea pada standar spesifik:\n\n>https://docs.opensea.io/docs/metadata-standards\n\nAda dua masalah keamanan utama yang mungkin timbul di sini:\n\n* Salah satunya adalah URI yaitu tempat penyimpanan gambar (atau film) berada mungkin tidak dapat dipercaya. Bisa saja berupa layanan terpusat yang dipilih secara acak, di satu sisi tidak ada jaminan ketersediaan, di sisi lain tim proyek bisa memodifikasi gambar sesuka hati, sehingga NFT tidak lagi menjadi \"barang koleksi digital\" yang tidak dapat diubah. Umumnya disarankan untuk menggunakan solusi penyimpanan terdesentralisasi seperti IPFS, Arweave, dan pilih layanan gateway URI yang terkenal.\n* Potensi lainnya adalah potensi kebocoran privasi. Layanan URI yang dipilih secara acak mungkin menangkap informasi dasar pengguna (seperti IP, Agen-Pengguna, dll)\n\nSKeamanan penandatanganan (signing) adalah masalah besar lainnya di sini, dan kami akan mengilustrasikannya di bawah.\n\n### HATI-HATI Saat Penandatanganan (signing)!\n\nKeamanan tanda tangan adalah sesuatu yang ingin saya bahas secara spesifik karena ada BANYAK jebakan. dan Anda harus selalu berhati-hati. Ada beberapa kejadian terutama pada perdagangan NFT. Namun, saya memperhatikan bahwa tidak banyak orang yang memahami cara mempersiapkan diri dan menangani masalah keamanan tersebut. Alasan mendasarnya adalah hanya sedikit orang yang bisa menjelaskan masalahnya dengan cukup jelas atau detail.\n\nPrinsip keamanan NO.1 dan paling penting dalam keamanan tanda tangan adalah: **Apa yang Anda lihat adalah apa yang Anda tandatangani**. Artinya, pesan dalam permintaan tanda tangan yang Anda terima adalah apa yang Anda harapkan setelah penandatanganan (signing). Setelah Anda menandatanganinya, hasilnya harus seperti yang Anda harapkan, bukan sesuatu yang akan Anda sesali.\n\nBeberapa rincian keamanan tanda tangan telah disebutkan di bagian \"Dompet Dingin\". Jika Anda tidak dapat mengingatnya, saya sarankan Anda mengunjungi kembali bagian itu. Pada bagian ini, kami akan fokus pada aspek lainnya.\n\nAda beberapa peretasan NFT yang terkenal di OpenSea sekitar tahun 2022. Pada tanggal 20 Februari 2022, terjadi wabah besar (banyak insiden). Akar penyebabnya adalah:\n\n* Pengguna menandatangani permintaan daftar (listing) NFT di OpenSea.\n* Hacker melakukan phishing untuk mendapatkan tanda tangan yang relevan dari pengguna.\n\nSebenarnya tidak sulit bagi Hacker untuk mendapatkan tanda tangan terkait. Hacker perlu 1). menyusun pesan yang akan ditandatangani, 2). meng hash itu, 3). mengelabui pengguna target untuk menandatangani permintaan (ini akan menjadi penandatanganan buta atau \"blind signing\", yang berarti pengguna tidak benar-benar tahu apa yang mereka tandatangani), 4). dapatkan konten yang ditandatangani dan buat datanya. Pada titik ini, pengguna telah dihack.\n\nSaya akan menggunakan Opensea sebagai contoh (pada kenyataannya, ini bisa berupa pasar NFT APAPUN). Setelah pengguna target mengotorisasi operasi pencatatan (Signing) NFT di pasar, Hacker akan membuat pesan untuk ditandatangani. Setelah melakukan hashing dengan Keccak256, permintaan tanda tangan akan muncul di halaman phishing. Pengguna akan melihat sesuatu seperti berikut:\n\n<img src=\"res/metamask_sign.jpg\" width=\"360\">\n\nPerhatikan baik-baik. Informasi apa saja yang bisa kita peroleh dari jendela popup MetaMask ini? Info Akun dan saldo akun, situs web sumber asal permintaan tanda tangan, pesan yang akan ditandatangani pengguna dan…tidak ada yang lain. Bagaimana pengguna bisa curiga bahwa bencana sedang terjadi? Dan bagaimana mereka bisa menyadari bahwa begitu mereka mengklik tombol \"Tanda Tangan\", NFT mereka akan dicuri.\n\nIni sebenarnya adalah contoh penandatanganan buta (blind signing). Pengguna tidak diharuskan masuk ke pasar NFT. Sebaliknya, pengguna dapat tertipu ke situs web phishing mana pun untuk menandatangani pesan tanpa sepenuhnya memahami arti sebenarnya dan konsekuensi dari tanda tangan tersebut. Sayangnya, Hacker mengetahuinya. Sebagai pengguna, perlu diingat: JANGAN PERNAH BLIND SIGN APA PUN. OpenSea dulunya mempunyai masalah penandatanganan buta, dan mereka memperbaikinya dengan mengadopsi EIP-712 setelah 20 Februari 2022. Namun, tanpa penandatanganan buta, pengguna masih bisa ceroboh dan diretas dengan cara lain.\n\nAlasan paling penting mengapa hal ini terjadi adalah penandatanganan tidak dibatasi untuk mengikuti kebijakan asal yang sama pada browser. Anda dapat memahaminya sebagai berikut: kebijakan asal yang sama dapat memastikan bahwa suatu tindakan hanya terjadi pada domain tertentu dan tidak akan melintasi domain, kecuali tim proyek dengan sengaja menginginkan terjadinya penyeberangan domain. Jika penandatanganan mengikuti kebijakan asal yang sama, bahkan jika pengguna menandatangani permintaan tanda tangan yang dihasilkan oleh domain non-target, Hacker tidak dapat menggunakan tanda tangan tersebut untuk menyerang di bawah domain target. Saya akan berhenti di sini sebelum membahas lebih detail. Saya telah memperhatikan usulan baru mengenai peningkatan keamanan di tingkat protokol, dan saya berharap situasi ini dapat diperbaiki secepatnya.\n\nKami telah menyebutkan sebagian besar format serangan utama yang dapat terjadi saat menandatangani (signing) pesan, namun sebenarnya ada beberapa varian. Betapapun berbedanya penampilan mereka, mereka mengikuti pola yang sama. Cara terbaik untuk memahaminya adalah dengan mereproduksi sendiri serangan dari awal hingga akhir, atau bahkan membuat beberapa metode serangan unik. Misalnya, serangan permintaan tanda tangan yang disebutkan di sini sebenarnya berisi banyak detail, seperti bagaimana membuat pesan yang akan ditandatangani, dan apa yang sebenarnya dihasilkan setelah penandatanganan? Apakah ada metode otorisasi selain \"Setujui\" (ya, misalnya: peningkatan Tunjangan). Ya, akan terlalu teknis jika kita memperluasnya di sini. Hal baiknya adalah Anda sudah memahami pentingnya menandatangani pesan.\n\nPengguna dapat mencegah serangan tersebut pada sumbernya dengan membatalkan otorisasi/persetujuan. Berikut ini adalah beberapa alat (tools) terkenal yang dapat Anda gunakan.\n\n* Persetujuan Token\n    >https://etherscan.io/tokenapprovalchecker<br>\n    >Ini adalah alat untuk pemeriksaan otorisasi dan pembatalan yang disediakan oleh browser resmi Ethereum. Blockchain lain yang kompatibel dengan EVM memiliki sesuatu yang serupa karena browser blockchain mereka pada dasarnya dikembangkan oleh Etherscan. Misalnya:<br>\n    >https://bscscan.com/tokenapprovalchecker<br>\n    >https://hecoinfo.com/tokenapprovalchecker<br>\n    >https://polygonscan.com/tokenapprovalchecker<br>\n    >https://snowtrace.io/tokenapprovalchecker<br>\n    >https://cronoscan.com/tokenapprovalchecker\n\n* Revoke.cash\n    >https://revoke.cash/<br>\n    >Sebuah projek OG dengan ketenaran yang bagus & mendukung Multi-rantai dengan kekuatan yang semakin meningkat\n\n* Rabby extension wallet\n    >https://rabby.io/<br>\n    >Salah satu dompet yang sering kami kolaborasi. Jumlah blockchain yang kompatibel dengan EVM di mana mereka menyediakan fungsi \"pemeriksaan dan pembatalan otorisasi\" adalah yang terbanyak yang pernah saya lihat\n\n:warning:**Catatan**: Jika Anda ingin pemahaman yang lebih komprehensif dan mendalam tentang SIGNATURE SECURITY, silakan periksa ekstensi pada penambahan repositori berikut sebagai referensi:\n\n>https://github.com/evilcos/darkhandbook<br>\n>Memang benar bahwa pengetahuan tentang KEAMANAN TANDA TANGAN cukup menantang bagi pemula. Repositori ini mengkompilasi konten yang relevan, dan membacanya dengan cermat akan membantu Anda memahami pengetahuan keamanan. Dengan demikian, Anda tidak akan kesulitan lagi. (Jika Anda bisa membaca dan memahami semuanya, saya yakin pengetahuan keamanan tidak lagi sulit bagi Anda :)\n\n### HATI-HATI Dengan Permintaan Tanda Tangan karena \"ini tampak biasa saja atau normal\"!\n\nSaya ingin menyebutkan secara khusus risiko lain: **risiko kontra-intuitif**.\n\nApa itu kontra-intuitif? Misalnya, Anda sudah sangat familiar dengan Ethereum, dan telah menjadi OG dari semua jenis DeFi dan NFT. Saat pertama kali memasuki ekosistem Solana, Anda mungkin akan menemukan beberapa situs phishing serupa. Anda mungkin merasa sangat siap sehingga Anda mulai berpikir, \"Saya telah melihatnya ribuan kali di ekosistem Ethereum dan bagaimana saya bisa tertipu?\"\n\nSementara itu, Hacker akan senang karena Anda telah tertipu. Orang-orang yang terlalu mengikuti perasaan intuitif mereka itu membuat mereka ceroboh. Ketika terjadi serangan seperti ini, orang-orang akan jatuh ke dalam perangkap.\n\nOke, mari kita lihat kasus nyata yang memanfaatkan kontra-intuitif.\n\n<img src=\"res/solana_nft_phishing.jpg\" width=\"800\">\n\nPertama-tama, sebuah peringatan: Otorisasi phishing di Solana jauh lebih kejam. Contoh di atas terjadi pada tanggal 5 Maret 2022. Penyerang mengirimkan NFT ke pengguna secara berkelompok atau batch (Gambar 1). Pengguna memasuki situs web target melalui tautan dalam deskripsi NFT yang dijatuhkan via airdrop (www_officialsolanarares_net) dan menghubungkan dompet mereka (Gambar 2). Setelah mereka mengklik tombol \"Mint\" di halaman tersebut, jendela persetujuan muncul (Gambar 3). Perhatikan bahwa tidak ada pemberitahuan atau pesan khusus di jendela pop up saat ini. Setelah disetujui, semua SOL di dompet akan ditransfer.\n\nSaat pengguna mengklik tombol \"Setujui\", mereka sebenarnya berinteraksi dengan kontrak pintar berbahaya yang digunakan oleh penyerang:\n*3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8v*\n\nTujuan akhir dari kontrak pintar berbahaya ini adalah untuk memulai \"Transfer SOL\", yang mentransfer hampir semua SOL pengguna. Dari analisis data on-chain, perilaku phishing berlanjut selama beberapa hari, dan jumlah korban terus meningkat selama periode tersebut.\n\nAda dua lubang jebakan dari contoh ini yang perlu Anda perhatikan:\n1. Setelah pengguna menyetujuinya, kontrak pintar berbahaya dapat mentransfer aset asli pengguna (dalam hal ini SOL). Hal ini tidak mungkin dilakukan di Ethereum. Otorisasi phishing pada Ethereum hanya dapat memengaruhi token lain tetapi tidak pada aset asli ETH. Ini adalah bagian kontra-intuitif yang akan membuat kewaspadaan pengguna menjadi lebih rendah.\n2. Dompet paling terkenal di Solana, Phantom, memiliki celah dalam mekanisme keamanannya sehingga tidak mengikuti prinsip \"apa yang Anda lihat adalah apa yang Anda tandatangani\" (kami belum menguji dompet lain), dan tidak memberikan peringatan risiko yang cukup kepada pengguna. Hal ini dapat dengan mudah menciptakan titik buta keamanan yang merugikan pengguna.\n\n### Beberapa Metodologi Penyerangan Tingkat Lanjut\n\nSebenarnya ada banyak metodologi penyerangan tingkat lanjut, namun sebagian besar dianggap sebagai phishing dari sudut pandang publik. Namun, beberapa di antaranya bukan serangan phishing biasa. Misalnya:\n\n>https://twitter.com/Arthur_0x/status/1506167899437686784\n\nHacker mengirim email phishing dengan lampiran berikut:\n>A Huge Risk of Stablecoin (Protected).docx\n\nSejujurnya, ini adalah dokumen yang menarik. Namun, begitu dibuka komputer pengguna akan ditanamkan Trojan (umumnya melalui makro Office atau eksploitasi zero day/ 1 hari), yang biasanya berisi fungsi-fungsi berikut:\n\n* Mengumpulkan segala macam kredensial, misalnya terkait browser, atau terkait SSH, dll. Dengan cara ini, hacker dapat memperluas akses mereka ke layanan lain dari pengguna target. Oleh karena itu, setelah infeksi, pengguna umumnya disarankan tidak hanya membersihkan perangkat target, tetapi juga izin akun yang relevan.\n* Keylogger, khususnya menargetkan informasi sensitif yang muncul sementara seperti kata sandi.\n* Mengumpulkan tangkapan layar (screenshot) yang relevan, file sensitif, dll.\n* Jika itu adalah ransomware, semua file di sistem target akan dienkripsi dengan kuat, dan menunggu korban membayar uang tebusan, biasanya dengan bitcoin. Namun dalam kasus ini bukan ransomware yang memiliki perilaku lebih jelas & intrusive serta niat yang lugas.\n\nSelain itu, Trojan yang menargetkan industri kripto akan disesuaikan secara khusus untuk mengumpulkan informasi sensitif dari dompet atau bursa (CEX) terkenal, untuk mencuri dana pengguna. Menurut analisis profesional, Trojan yang disebutkan di atas akan melakukan serangan yang ditargetkan on Metamask:\n\n>https://securelist.com/the-bluenoroff-cryptocurrency-hunt-is-still-on/105488/\n\nTrojan akan menggantikan MetaMask (asli) pengguna dengan yang palsu dan memiliki backdoor. MetaMask yang memiliki pintu belakang (backdoor) pada dasarnya berarti bahwa dana apa pun yang Anda simpan di dalamnya bukan lagi milik Anda. Bahkan jika Anda menggunakan dompet perangkat keras, MetaMask palsu ini akan berhasil mencuri dana Anda dengan memanipulasi alamat tujuan atau informasi jumlah.\n\nPendekatan ini dirancang khusus untuk target terkenal dengan alamat dompet yang diketahui. Apa yang saya perhatikan adalah banyak orang yang terlalu sombong untuk mencegah diri mereka diretas. Setelah peretasan, banyak yang akan belajar dari pengalaman tersebut, melakukan peninjauan menyeluruh, mendapatkan peningkatan yang signifikan, dan juga menjalin kerja sama dan persahabatan jangka panjang dengan profesional atau lembaga keamanan tepercaya. Namun, selalu ada pengecualian di dunia ini. Beberapa orang atau proyek terus diretas berulang kali. Jika setiap kali hal ini terjadi karena sesuatu yang belum pernah ditemui sebelumnya, saya akan sangat menghormati mereka dan menyebut mereka pionir. Kemungkinan besar mereka akan sukses seiring berjalannya waktu. Sayangnya banyak insiden yang terjadi akibat kesalahan bodoh dan berulang-ulang yang sebenarnya bisa dihindari dengan mudah. Saya menyarankan untuk menjauhi proyek-proyek ini.\n\nSebagai perbandingan, serangan phishing massal tersebut tidak canggih sama sekali. Penyerang akan menyiapkan sekumpulan nama domain yang serupa dan menyebarkan muatannya dengan membeli akun, pengikut, dan retweet di Twitter (kini \"X\") atau platform sosial lainnya. Jika dikelola dengan baik, banyak orang yang akan terjerumus ke dalam perangkap. Sebenarnya tidak ada yang istimewa dalam serangan phishing semacam ini, dan biasanya penyerang akan secara brutal membuat pengguna mengotorisasi token (termasuk NFT) untuk mentransfernya.\n\nAda jenis serangan tingkat lanjut lainnya, misalnya menggunakan teknik seperti XSS, CSRF, Reverse Proxy untuk memperlancar proses serangan. Saya tidak akan menguraikan semuanya di sini, kecuali satu kasus yang sangat khusus (Serangan Cloudflare Man-in-the-Middle) yang merupakan salah satu skenario di Reverse Proxy. Ada serangan nyata yang menyebabkan kerugian finansial dengan menggunakan metode yang sangat rahasia ini.\n\nMasalahnya di sini bukanlah Cloudflare itu sendiri yang jahat atau diretas. Sebaliknya, akun Cloudflare tim proyeklah yang disusupi. Umumnya prosesnya seperti ini: Jika Anda menggunakan Cloudflare, Anda akan melihat modul \"Pekerja\" (worker) ini di dashboard, yang deskripsi resminya adalah:\n\n>Membangun aplikasi tanpa server dan menerapkannya secara instan di seluruh dunia, mencapai kinerja, keandalan, dan skala yang luar biasa. Untuk detailnya, silakan merujuk ke\n>https://developers.cloudflare.com/workers/\n\nSaya membuat halaman pengujian sejak lama:\n\n>https://xssor.io/s/x.html\n\nSaat Anda mengunjungi halaman tersebut akan ada jendela pop-up yang mengatakan:\n\n>xssor.io, Dibajak oleh Cloudflare.\n\nFaktanya, pop-up ini, dan bahkan seluruh konten x.html, bukan milik dokumen itu sendiri. Semuanya disediakan oleh Cloudflare. Mekanismenya ditunjukkan di bawah ini:\n\n<img src=\"res/cloudflare_worker.png\" width=\"800\">\n\nIndikasi cuplikan kode (snippet) di tangkapan layar sangat sederhana: Jika saya adalah Hacker dan saya telah mengontrol akun Cloudflare Anda, saya dapat menggunakan Worker untuk memasukkan skrip berbahaya yang sewenang-wenang ke halaman web mana pun. Dan sangat sulit bagi pengguna untuk menyadari bahwa halaman web target telah dibajak dan dirusak, karena tidak akan ada peringatan kesalahan (seperti kesalahan sertifikat HTTPS). Bahkan tim proyek tidak akan dengan mudah mengidentifikasi masalah tanpa harus menghabiskan banyak waktu untuk memeriksa keamanan server dan personel mereka. Pada saat mereka menyadari bahwa itu adalah Cloudflare Workers, kerugiannya sudah sangat besar.\n\nCloudflare sebenarnya adalah alat yang bagus. Banyak situs web atau aplikasi web yang menggunakannya sebagai firewall aplikasi web, solusi anti DDoS, CDN global, reverse proxy, dll. Karena ada versi gratisnya, mereka memiliki basis pelanggan yang besar. Alternatifnya, ada layanan seperti Akaimai dll.\n\nPengguna harus memperhatikan keamanan akun tersebut. Masalah keamanan akun muncul seiring dengan munculnya Internet. Ini adalah topik umum di dunia sehingga hampir semua orang membicarakannya di mana-mana, namun masih banyak orang yang diretas karenanya. Beberapa penyebab utama mungkin adalah mereka tidak menggunakan kata sandi unik yang kuat untuk layanan penting (Pengelola kata sandi seperti 1Password tidak begitu populer), beberapa mungkin karena mereka tidak repot-repot mengaktifkan otentikasi 2 faktor (2FA), atau mungkin mereka bahkan tidak mengetahui bahwa ada itu. Belum lagi untuk beberapa layanan tertentu, kata sandi harus direset setidaknya setiap tahun.\n\nBaiklah, ini akan menjadi akhir dari bagian ini. Anda hanya perlu memahami bahwa ini memang hutan gelap (dark forest), dan Anda harus mengetahui sebanyak mungkin metodologi penyerangan. Setelah melihat cukup banyak di atas kertas, jika Anda setidaknya pernah jatuh ke dalam perangkap satu atau dua kali, Anda dapat menganggap diri Anda sebagai profesional keamanan amatir (yang bagaimanapun juga akan menguntungkan diri Anda sendiri).\n\n## Perlindungan Privasi Tradisional\n\nSelamat, Anda berhasil mencapai bagian ini. Perlindungan privasi tradisional adalah sebuah topik lama: Inilah artikel yang saya tulis pada tahun 2014.\n\n>Anda harus mempelajari beberapa trik untuk melindungi diri Anda di era pelanggaran privasi.<br>\n>https://evilcos.me/yinsi.html\n\nMembaca ulang artikel ini, meskipun ini adalah artikel entry level pada tahun 2014, namun sebagian besar saran di dalamnya masih relevan. Setelah membaca artikel ini lagi, saya akan memperkenalkan sesuatu yang baru di sini: sebenarnya, perlindungan privasi berkaitan erat dengan keamanan . Privasi tradisional adalah landasan keamanan. Bagian ini mencakup kunci pribadi Anda yang merupakan bagian dari privasi. Jika batu pijakan tidak aman, privasi batu pijakan itu tidak ada artinya, maka bangunan yang berdiri diatasnya akan menjadi rapuh seperti istana pasir.\n\nDua sumber daya berikut sangat direkomendasikan:\n\n>PERTAHANAN DIRI PENGAWASAN<br>\n>TIPS, ALAT DAN CARA KOMUNIKASI ONLINE LEBIH AMAN<br>\n>https://ssd.eff.org/\n\nSURVEILLANCE SELF-DEFENSE adalah kependekan dari SSD. Diluncurkan oleh Electronic Frontier Foundation (EFF) yang terkenal, yang secara khusus telah mengeluarkan pedoman yang relevan untuk memberi tahu Anda cara menghindari \"big brother\" mengawasi Anda di dunia pemantauan Internet, yang mencakup beberapa alat yang berguna (seperti Tor, WhatsApp, Signal, PGP, dll.)\n\n>Panduan Privasi: Lawan Pengawasan dengan Alat Enkripsi dan Privasi<br>\n>https://www.privacytools.io/\n\nSitus web di atas berisi daftar lengkap sejumlah alat. Ini juga merekomendasikan beberapa CEX kripto, dompet, dll. Namun, perlu dicatat bahwa saya tidak menggunakan banyak alat yang terdaftar di situs web, karena saya punya cara saya sendiri. Oleh karena itu, sebaiknya Anda juga mengembangkan cara Anda sendiri, dengan membandingkan dan meningkatkan secara terus menerus.\n\nBerikut adalah beberapa hal penting dari alat yang saya sarankan untuk Anda gunakan.\n\n### Sistem Operasi\n\nWindows 10 Edition (dan lebih tinggi) dan macOS keduanya merupakan opsi yang aman. Jika Anda memiliki kemampuan, Anda dapat memilih Linux, seperti Ubuntu, atau bahkan yang sangat berfokus pada keamanan & privasi seperti Tails, atau Whonix.\n\nPada topik Sistem Operasi, prinsip keamanan yang paling jelas adalah: perhatikan baik-baik pembaruan sistem, dan terapkan secepatnya jika tersedia. Kemampuan untuk menguasai Sistem Operasi adalah yang berikutnya. Mungkin ada yang bertanya, apa sih yang perlu Anda pelajari untuk menguasai Sistem Operasi seperti Windows atau MacOS? Bukankah itu hanya sekedar mengklik? Sebenarnya itu masih jauh dari cukup. Bagi pengguna pemula, perangkat lunak antivirus yang bagus, seperti Kaspersky, BitDefender, adalah suatu keharusan, dan keduanya tersedia di MacOS.\n\nLalu, jangan lupa tentang keamanan pengunduhan, yang telah saya sebutkan sebelumnya. Anda akan menghilangkan sebagian besar risiko, jika Anda tidak mengunduh dan menginstal program secara sembarangan.\n\nSelanjutnya, pikirkan apa yang akan Anda lakukan jika komputer Anda hilang atau dicuri. Memiliki kata sandi booting jelas tidak cukup baik. Jika enkripsi disk tidak diaktifkan, pelaku kejahatan dapat langsung mengeluarkan harddisk dan mengambil data di dalamnya. Jadi saran saya adalah enkripsi disk harus diaktifkan untuk komputer penting.\n\n>https://docs.microsoft.com/en-us/windows/security/encryption-data-protection<br>\n>https://support.apple.com/en-us/HT204837\n\nKami juga memiliki alat yang kuat dan legendaris seperti VeraCrypt (sebelumnya TrueCrypt), silakan mencobanya jika Anda tertarik:\n\n>https://veracrypt.fr/\n\nAnda dapat melangkah lebih jauh dengan mengaktifkan kata sandi BIOS atau firmware. Saya telah melakukannya sendiri tetapi itu sepenuhnya terserah pilihan Anda sendiri. Ingat saja: jika Anda melakukannya, ingatlah kata sandinya dengan sangat jelas, atau tidak ada yang bisa membantu Anda. Saya cukup beruntung telah jatuh ke dalam lubang kelinci sebelumnya, yang menghabiskan biaya sebuah laptop, beberapa kripto, dan waktu seminggu. Di sisi lain, ini juga merupakan pengalaman belajar yang sangat bagus.\n\n### Telepon Seluler (mobile phone)\n\nSaat ini iPhone dan Android adalah dua kategori ponsel utama. Saya dulunya adalah penggemar berat BlackBerry, namun kejayaannya memudar seiring berjalannya waktu. Di masa lalu, kondisi keamanan ponsel Android sangat mengkhawatirkan saya. Di satu sisi masih dalam tahap awal, di sisi lain versinya sangat terfragmentasi, masing-masing merek pasti memiliki versi Android fork nya masing-masing. Tapi sekarang segalanya telah membaik.\n\nDi ponsel kita juga perlu memperhatikan pembaruan keamanan dan keamanan unduhan. Selain itu, perhatikan hal-hal berikut ini:\n\n* Jangan melakukan jailbreak/root ponsel Anda, hal ini tidak diperlukan kecuali Anda melakukan riset keamanan yang relevan. Jika Anda melakukannya untuk perangkat lunak bajakan, hal ini sangat bergantung pada seberapa baik Anda dapat menguasai keterampilan tersebut.\n* Jangan mengunduh aplikasi dari toko aplikasi tidak resmi.\n* Jangan lakukan itu kecuali Anda tahu apa yang Anda lakukan. Belum lagi banyak aplikasi palsu yang beredar di toko aplikasi resmi.\n* Prasyarat untuk menggunakan fungsi sinkronisasi Cloud resmi adalah Anda harus memastikan akun Anda aman, jika tidak, jika akun Cloud disusupi, ponsel juga akan disusupi.\n\nSecara pribadi saya lebih mengandalkan iPhone. Dan Anda memerlukan setidaknya dua akun iCloud: satu di China dan satu di luar negeri. Anda akan memerlukannya untuk menginstal aplikasi dengan batasan regional yang berbeda. (yang mungkin terdengar sangat aneh, tapi selamat datang di kenyataan)\n\n### Jaringan\n\nKeamanan jaringan Dulunya masalah ini sangat menyusahkan, namun sudah ada perbaikan yang signifikan dalam beberapa tahun terakhir, terutama sejak penerapan kebijakan HTTPS Everywhere secara massal.\n\nJika terjadi serangan pembajakan jaringan (serangan man-in-the-middle) yang sedang berlangsung, akan ada peringatan kesalahan sistem yang sesuai. Namun selalu ada pengecualian, jadi ketika Anda punya pilihan, gunakan opsi yang lebih aman. Misalnya, jangan menyambung ke jaringan Wi-Fi yang tidak dikenal kecuali jaringan 4G/5G yang lebih populer & aman tidak tersedia atau tidak stabil.\n\n### Perambah\n\nBrowser yang paling populer adalah Chrome dan Firefox, di bidang kripto beberapa akan menggunakan Brave juga. Browser terkenal ini memiliki tim yang kuat dan akan ada pembaruan keamanan yang tepat waktu. Topik keamanan browser sangat luas. Berikut beberapa tips yang perlu Anda waspadai:\n\n* Perbarui (update) secepat mungkin, jangan ambil risiko.\n* Jangan gunakan ekstensi jika tidak diperlukan. Jika ya, buatlah keputusan berdasarkan ulasan pengguna, jumlah pengguna, perusahaan pengelola, dll, dan perhatikan izin yang diminta. Pastikan Anda mendapatkan ekstensi dari toko aplikasi resmi browser Anda.\n* Beberapa browser dapat digunakan secara paralel, dan sangat disarankan agar Anda melakukan operasi penting di satu browser, dan menggunakan browser lain untuk operasi yang lebih rutin dan kurang penting.\n* Berikut adalah beberapa ekstensi terkenal yang berfokus pada privasi (seperti uBlock Origin, HTTPS Everywhere, ClearURLs, dll.), silakan mencobanya.\n\nKhususnya di Firefox, saya juga akan menggunakan ekstensi OG seperti NoScript, yang memiliki catatan terbukti dalam menangkis muatan JavaScript berbahaya. Saat ini browser menjadi semakin aman karena mereka menambahkan dukungan untuk hal-hal seperti kebijakan asal yang sama, CSP, kebijakan keamanan Cookie, header keamanan HTTP, kebijakan keamanan ekstensi, dll. Oleh karena itu, kebutuhan untuk menggunakan alat seperti NoScript menjadi lebih kecil dan lebih kecil, silakan melihatnya jika tertarik.\n\n### Pengelola Kata Sandi (password manager)\n\nJika Anda belum pernah menggunakan pengelola kata sandi, mungkin Anda tidak tahu kenyamanan menggunakannya, atau Anda memiliki istana ingatan Anda sendiri yang kuat. Risiko gangguan memori otak juga telah disebutkan sebelumnya, salah satunya adalah waktu akan melemahkan atau mengganggu daya ingat Anda; yang lainnya adalah Anda mungkin mengalami kecelakaan. Apa pun kasusnya, saya tetap menyarankan Anda menggunakan pengelola kata sandi yang sesuai dengan memori otak Anda, gunakan yang terkenal seperti 1Password, Bitwarden, dll.\n\nSaya tidak perlu membahas bagian ini terlalu banyak, ada begitu banyak tutorial terkait secara online, mudah untuk memulainya bahkan tanpa memerlukan tutorial.\n\nYang perlu saya ingatkan di sini adalah:\n\n* Jangan pernah lupa kata sandi utama Anda, dan jaga keamanan informasi akun Anda, jika tidak semuanya akan hilang.\n* Pastikan email Anda aman. Jika email Anda disusupi, informasi sensitif di pengelola kata sandi Anda mungkin tidak disusupi secara langsung, namun pelaku kejahatan mempunyai kemampuan untuk menghancurkannya.\n* Saya telah memverifikasi keamanan alat yang saya sebutkan (seperti 1Password), dan telah mengamati dengan cermat insiden keamanan yang relevan, ulasan pengguna, berita, dll. Namun saya tidak dapat menjamin bahwa alat ini benar-benar aman, dan tidak ada peristiwa black swan yang terjadi. akan terjadi di masa depan pada mereka.\n \nSatu hal yang saya kagumi adalah pengenalan dan deskripsi halaman keamanan 1Password, misalnya.\n>https://1password.com/security/\n\nHalaman ini berisi konsep desain keamanan, sertifikat privasi dan keamanan yang relevan, kertas putih desain keamanan, laporan audit keamanan, dll. Tingkat transparansi dan keterbukaan ini juga memfasilitasi validasi yang diperlukan dalam industri. Semua tim proyek harus belajar dari ini.\n\nBitwarden melangkah lebih jauh karena sepenuhnya open source, termasuk sisi server, sehingga siapa pun dapat memvalidasi, mengaudit, dan berkontribusi. Sekarang kamu paham? Maksud dari 1Password dan Bitwarden sangat jelas: \n\n>Saya sangat aman dan saya khawatir tentang privasi. Saya tidak hanya mengatakannya sendiri, otoritas pihak ketiga juga mengatakannya. Jangan ragu untuk mengaudit saya, dan untuk memudahkan audit Anda, saya menghabiskan banyak upaya untuk bersikap terbuka jika memungkinkan. Jika apa yang saya lakukan tidak sesuai dengan apa yang saya katakan, mudah untuk menantang saya. Dan ini disebut Keyakinan Keamanan.\n\n### Otentikasi Dua Faktor (2FA)\n\nBerbicara tentang keamanan identitas Anda di Internet, lapisan pertama bergantung pada kata sandi, lapisan kedua bergantung pada otentikasi dua faktor, dan lapisan ketiga bergantung pada kemampuan pengendalian risiko proyek target itu sendiri. Saya tidak bisa mengatakan bahwa otentikasi dua faktor adalah suatu keharusan. Misalnya, jika Anda menggunakan dompet terdesentralisasi, satu lapisan kata sandi sudah cukup mengganggu (sekarang pada dasarnya mendukung identifikasi biometrik seperti pengenalan wajah atau sidik jari untuk meningkatkan pengalaman pengguna), tidak ada yang mau menggunakan 2FA. Namun dalam platform terpusat, Anda harus menggunakan 2FA. Siapa pun dapat mengakses platform (CEX) terpusat, dan jika kredensial Anda dicuri, akun Anda akan dibobol dan dana Anda akan hilang. Sebaliknya, kata sandi untuk dompet terdesentralisasi Anda hanyalah otentikasi lokal, meskipun hacker mendapatkan kata sandinya, mereka masih perlu mendapatkan akses ke perangkat tempat dompet Anda berada.\n\nSekarang Anda melihat perbedaannya?Beberapa alat otentikasi dua faktor (2FA) yang terkenal meliputi: Google Authenticator, Microsoft Authenticator, dll. Tentu saja, jika Anda menggunakan pengelola kata sandi (seperti 1Password), alat tersebut juga dilengkapi dengan modul 2FA , yang sangat berguna. Ingatlah selalu untuk membuat cadangan, karena kehilangan 2FA bisa merepotkan.\n\nSelain itu, otentikasi dua faktor juga bisa menjadi konsep yang lebih luas. Misalnya, ketika pengidentifikasi akun dan kata sandi digunakan untuk masuk ke platform target, pengidentifikasi akun kami biasanya berupa email atau nomor ponsel. Saat ini, kotak surat (SMS) atau nomor ponsel dapat digunakan sebagai 2FA untuk menerima kode verifikasi. Namun tingkat keamanan metode ini kurang baik. Misalnya, jika kotak surat disusupi atau kartu SIM dibajak, atau layanan pihak ketiga yang digunakan untuk mengirim email dan pesan teks diretas, maka kode verifikasi yang dikirim oleh platform juga akan terungkap.\n\n### HATI-HATI Berinternet (selalu jaga keamananmu)\n\nUntuk alasan kebijakan, saya tidak terlalu banyak membicarakan hal ini, cukup pilih salah satu solusi yang sudah diketahui. Segalanya akan lebih terkendali jika Anda dapat membuat solusi Anda sendiri. Bagaimanapun, titik awal kami adalah menjelajahi Internet secara nyaman dan aman.\n\nJika Anda tidak menggunakan solusi yang dibuat sendiri, Anda tidak dapat sepenuhnya mengesampingkan kemungkinan serangan man-in-the-middle. Seperti disebutkan sebelumnya, situasi keamanan Internet tidak seburuk dulu, terutama setelah penerapan kebijakan HTTPS Everywhere secara massal. Namun, sebagian dari rasa keamanan itu mungkin hanya tampak di permukaan saja, dan sudah ada arus bawah permukaan yang tidak mudah terlihat. Sejujurnya, saya tidak punya solusi jitu untuk ini. Membangun solusi Anda sendiri tidaklah mudah, namun hal ini pasti sepadan. Dan jika tidak bisa, pastikan Anda memeriksa menggunakan berbagai sumber dan memilih sumber yang memiliki reputasi baik dan sudah ada sejak lama.\n\n### Email\n\nEmail adalah landasan identitas berbasis web kami. Kami menggunakan email untuk mendaftar ke banyak layanan. Hampir semua layanan email yang kami gunakan gratis. Tampaknya seperti udara, dan menurut Anda itu tidak akan hilang. Bagaimana jika suatu saat layanan Email Anda hilang, maka semua layanan lain yang bergantung padanya akan berada dalam situasi yang agak canggung. Situasi ekstrim ini sebenarnya bukan tidak mungkin terjadi jika terjadi perang, bencana alam, dll. Tentu saja, jika situasi ekstrim ini terjadi, Email tidak akan terlalu penting bagi Anda dibandingkan kelangsungan hidup.\n\nKetika berbicara tentang penyedia layanan Email, Anda harus memilih dari raksasa teknologi, seperti Gmail, Outlook, atau QQ Email. Kebetulan penelitian keamanan saya sebelumnya mencakup bidang ini. Overall keamanan kotak surat (Email) ini cukup baik. Namun tetap saja Anda harus berhati-hati terhadap serangan Email phishing. Anda tidak perlu berurusan dengan setiap Email, terutama tautan dan lampiran yang tertanam, tempat Trojan mungkin disembunyikan.\n\nJika Anda menemukan serangan yang sangat canggih terhadap penyedia layanan Email Anda, Anda sendirian.\n\nSelain layanan email dari raksasa teknologi ini, jika Anda sangat mengkhawatirkan privasi, Anda dapat melihat dua layanan email terkenal yang ramah privasi ini: ProtonMail dan Tutanota. Saran saya adalah untuk memisahkan kotak surat ramah Privasi ini dari penggunaan sehari-hari, dan hanya menggunakannya untuk layanan yang memerlukan perhatian khusus terhadap privasi. Anda juga perlu secara rutin menggunakan layanan Email gratis untuk mencegah akun Anda ditangguhkan karena tidak aktif dalam waktu lama.\n\n### Kartu SIM\n\nKartu SIM dan nomor ponsel juga merupakan identitas dasar yang sangat penting dalam banyak kasus, seperti halnya email. Dalam beberapa tahun terakhir, operator besar di negara kita telah melakukan pekerjaan yang sangat baik dalam melindungi keamanan nomor ponsel. Misalnya, terdapat protokol keamanan & proses verifikasi yang ketat untuk pembatalan dan penerbitan ulang kartu SIM, dan semuanya dilakukan di lokasi. Mengenai topik serangan kartu SIM, izinkan saya memberi Anda sebuah contoh:\n\nPada tahun 2019, akun Coinbase seseorang mengalami Serangan Port SIM (serangan intrusif via kartu SIM), dan sayangnya mengakibatkan kehilangan lebih dari 100.000 dolar AS mata uang kripto. Proses serangannya kira-kira sebagai berikut:\n\nPenyerang memperoleh informasi privasi pengguna target melalui rekayasa sosial dan metode lainnya, dan menipu operator telepon seluler untuk memberinya kartu SIM baru, dan kemudian dia dengan mudah mengambil alih akun Coinbase pengguna target melalui nomor ponsel yang sama. SIM telah ditransfer, yang sangat merepotkan. Sangat merepotkan jika kartu SIM Anda ditransfer oleh penyerang, karena saat ini banyak layanan online yang menggunakan nomor ponsel kami sebagai faktor otentikasi langsung atau 2FA. Ini adalah mekanisme otentikasi yang sangat terpusat, dan nomor ponsel menjadi titik lemahnya.\n\nUntuk analisis lebih rinci, silakan merujuk ke:\n>https://medium.com/coinmonks/the-most-expensive-lesson-of-my-life-details-of-sim-port-hack-35de11517124\n\nSaran pertahanan untuk ini sebenarnya sederhana: aktifkan solusi 2FA yang terkenal.\n\nKartu SIM mempunyai risiko lain: yaitu, jika ponsel hilang atau dicuri, akan sangat memalukan jika orang jahat dapat mengeluarkan kartu SIM tersebut dan menggunakannya. Inilah yang saya lakukan: Aktifkan kata sandi kartu SIM (kode PIN), jadi setiap kali saya menghidupkan telepon atau menggunakan kartu SIM di perangkat baru, saya harus memasukkan kata sandi yang benar. Silakan tanyakan pada Google untuk mengetahui detailnya. Ini pengingat dari saya: jangan lupa password ini, jika tidak maka akan sangat merepotkan.\n\n### GPG\n\nBanyak konten di bagian ini telah disebutkan di bagian sebelumnya, dan saya ingin menambahkan lebih banyak konsep dasar di sini. Terkadang Anda akan menemukan nama yang mirip seperti PGP, OpenPGP, dan GPG. Cukup bedakan saja sebagai berikut:\n\n* PGP, kependekan dari Pretty Good Privacy, adalah perangkat lunak enkripsi komersial berusia 30 tahun yang kini berada di bawah payung Symantec.\n* OpenPGP adalah standar enkripsi yang berasal dari PGP.\n* GPG, nama lengkapnya GnuPG, adalah perangkat lunak enkripsi sumber terbuka berdasarkan standar OpenPGP.\n\nInti mereka serupa, dan dengan GPG Anda kompatibel dengan yang lain. Di sini saya sangat menyarankan sekali lagi: Dalam enkripsi keamanan, jangan coba ngide ; GPG, jika digunakan dengan cara yang benar, dapat meningkatkan tingkat keamanan secara signifikan!\n\n### Pemisahan (segregation)\n\nNilai inti di balik prinsip keamanan segregasi adalah pola pikir nol kepercayaan. Anda harus memahami bahwa sekuat apa pun kita, cepat atau lambat kita akan terkena Hack, tidak peduli apakah itu oleh Hacker eksternal, orang dalam (insider), atau kecerobohan diri kita sendiri. Saat di Hack, stop loss harus menjadi langkah pertama. Kemampuan menghentikan kerugian diabaikan oleh banyak orang, dan itulah sebabnya mereka diretas berulang kali. Akar permasalahannya adalah tidak adanya desain keamanan, terutama metode langsung seperti segregasi\n\nPraktik pemisahan yang baik dapat memastikan bahwa jika terjadi insiden keamanan, Anda hanya kehilangan aset yang terkait langsung dengan target yang disusupi, tanpa memengaruhi aset lainnya.\n\nMisalnya:\n* Jika praktik keamanan kata sandi Anda baik, ketika salah satu akun Anda diretas, kata sandi yang sama tidak akan membahayakan akun lainnya.\n* Jika mata uang kripto Anda tidak disimpan dalam satu set seed phrase, Anda tidak akan kehilangan segalanya jika Anda masuk ke dalam jebakan.\n* Jika komputer Anda terinfeksi, untungnya ini hanya komputer yang digunakan untuk aktivitas biasa, dan tidak ada hal penting di dalamnya. Jadi Anda tidak perlu panik, karena menginstal ulang komputer akan menyelesaikan sebagian besar masalah. Jika Anda pandai menggunakan mesin virtual, segalanya akan menjadi lebih baik, karena Anda cukup memulihkan snapshot. Peralatan mesin virtual yang bagus adalah: VMware, Parallels.\n* Ringkasnya, Anda dapat memiliki setidaknya dua akun, dua alat, dua perangkat, dll. Bukan tidak mungkin untuk sepenuhnya membuat identitas virtual independen setelah Anda memahaminya.\n\nSaya telah menyebutkan pendapat yang lebih ekstrim sebelumnya: privasi bukan untuk kita lindungi, privasi harus dikontrol.\n\nAlasan sudut pandang ini adalah: dalam lingkungan Internet saat ini, privasi sebenarnya telah dibocorkan secara serius. Untungnya, peraturan terkait privasi telah semakin banyak diadopsi dalam beberapa tahun terakhir, dan masyarakat semakin memberikan perhatian. Segalanya memang berjalan ke arah yang benar. Namun sebelum itu, bagaimanapun juga, ketika Anda sudah menguasai poin-poin pengetahuan yang saya sebutkan, Anda akan dapat mengontrol privasi Anda dengan mudah. Di Internet, jika Anda terbiasa, Anda mungkin memiliki beberapa identitas virtual yang hampir tidak bergantung satu sama lain.\n\n## Keamanan Sifat Manusia\n\nManusia selalu berada pada risiko tertinggi dan abadi. Ada kutipan dari *The Three-Body Problem*: \"Kelemahan dan ketidaktahuan bukanlah penghalang untuk bertahan hidup, namun kesombongan adalah penghalang.\"\n\n* Jangan sombong: Jika kamu berpikir kamu sudah kuat, kamu baik-baik saja dengan dirimu sendiri. Jangan meremehkan seluruh dunia. Secara khusus, jangan terlalu bangga dan berpikir Anda bisa menantang peretas global. Belajar tidak ada habisnya, dan masih banyak kendala.\n* Jangan serakah: Keserakahan memang menjadi motivasi untuk maju dalam banyak hal, tapi coba pikirkan, mengapa kesempatan bagus ini hanya diperuntukkan bagi Anda?\n* Jangan impulsif: impulsif adalah iblis yang akan membawa Anda ke perangkap. Tindakan gegabah adalah perjudian.\nAda banyak hal dalam sifat manusia yang perlu dibicarakan dan Anda harus lebih berhati-hati.\n\nHarap memberikan perhatian khusus pada poin-poin diatas, dan lihat bagaimana pelaku kejahatan memanfaatkan kelemahan sifat manusia, dengan memanfaatkan berbagai platform yang nyaman.\n\n### Telegram\n\nSaya sudah katakan sebelumnya bahwa Telegram adalah web gelap terbesar. Saya harus mengatakan bahwa orang-orang menyukai Telegram karena keamanan, stabilitas, dan fitur desain terbukanya. Namun budaya terbuka Telegram juga menarik orang-orang jahat: sejumlah besar pengguna, fungsionalitas yang sangat dapat disesuaikan, cukup mudah untuk membangun semua jenis layanan Bot. Jika digabungkan dengan mata uang kripto, pengalaman perdagangan sebenarnya jauh melampaui pasar web gelap (dark web) di Tor.\n\nBiasanya, pengenal unik akun media sosial hanya berupa nama pengguna, id pengguna, tetapi ini dapat sepenuhnya dikloning oleh pelaku kejahatan. Beberapa platform sosial memiliki mekanisme validasi akun, seperti menambahkan ikon \"(checkmark) ✓ biru\" atau semacamnya. Akun media sosial publik dapat divalidasi melalui beberapa indikator, seperti jumlah pengikut, konten yang diposting, interaksi dengan penggemar, dll. Akun media sosial non-publik sedikit lebih sulit. Sangat menyenangkan melihat Telegram merilis fungsi \"Grup mana yang kita ikuti bersama\".\n\nDimanapun ada celah yang bisa dieksploitasi dan keuntungannya besar, pasti ada sekumpulan penjahat, itu sifat manusia.\n\nAkibatnya, platform media sosial penuh dengan jebakan phishing. Misalnya: Dalam obrolan grup, seseorang yang terlihat seperti layanan pelanggan resmi tiba-tiba muncul dan memulai obrolan pribadi (obrolan pribadi apa pun adalah fitur Telegram, tidak perlu permintaan pertemanan), dan kemudian keluar dari taktik klasik spam, \"ikan akan menggigit satu demi satu\".\n\nAtau penyerang mungkin melangkah lebih jauh dan menambahkan Anda ke grup lain. Semua peserta yg membeli token di grup itu adalah akun palsu (bot), tetapi bagi Anda itu terlihat sangat realistis. Kami menyebut teknik ini sebagai Kloning Kelompok (Group Cloning) dalam komunitas underground.\n\nIni hanyalah metode dasar memanipulasi sifat manusia, teknik-teknik canggih akan dikombinasikan dengan kerentanan sehingga lebih sulit untuk dicegah.\n\n### Discord\n\nDiscord adalah platform sosial/perangkat lunak IM baru dan populer yang muncul dalam dua tahun terakhir. Fungsi intinya adalah server komunitas (bukan konsep server tradisional), seperti yang tertulis dalam pernyataan resmi:\n\nDiscord adalah aplikasi obrolan suara, video, dan teks gratis yang digunakan oleh puluhan juta orang berusia 13+ tahun untuk berbicara dan berkumpul dengan komunitas dan teman mereka.\n\nOrang-orang menggunakan Discord setiap hari untuk membicarakan banyak hal, mulai dari proyek seni dan perjalanan keluarga hingga pekerjaan rumah dan dukungan kesehatan mental. Ini adalah rumah bagi komunitas dari berbagai ukuran, namun paling banyak digunakan oleh kelompok kecil dan aktif yang terdiri dari orang-orang yang berbicara secara teratur.\n\nItu terlihat sangat bagus namun memerlukan standar desain keamanan yang cukup kuat. Discord memiliki aturan dan kebijakan keamanan khusus seperti pada:\n\n>https://discord.com/safety\n\nSayangnya, kebanyakan orang tidak mau repot-repot membacanya dengan cermat. Terlebih lagi, Discord tidak selalu dapat menggambarkan masalah keamanan inti tertentu dengan jelas, karena mereka juga harus berperan sebagai penyerang yang tidak selalu dapat dilakukan.\n\nContohnya:\n\nDengan banyaknya pencurian NFT di Discord, apa metode serangan utama? Sebelum kita mengetahuinya, saran keamanan Discord tidak ada gunanya.\n\nAlasan utama di balik banyak proyek Discord hacks sebenarnya adalah Discord Token, yang merupakan konten bidang otorisasi di header permintaan HTTP. Itu sudah ada di Discord sejak lama. Bagi para hacker, jika mereka dapat menemukan cara untuk mendapatkan Token Discord ini, mereka hampir dapat mengontrol semua hak istimewa dari server Discord target. Artinya, jika targetnya adalah administrator, akun dengan hak administratif, atau bot Discord, peretas dapat melakukan apa pun yang mereka inginkan. Misalnya dengan mengumumkan situs phishing NFT, mereka membuat orang mengira itu adalah pengumuman resmi, dan ikan akan terpancing.\n\nBeberapa orang mungkin bertanya, bagaimana jika saya menambahkan otentikasi dua faktor (2FA) ke akun Discord saya? Itu adalah sebuah kebiasaan (web3 security) yang baik! Tapi Discord Token tidak ada hubungannya dengan status 2FA akun Anda. Setelah akun Anda dibobol, Anda harus segera mengubah kata sandi Discord Anda agar Token Discord asli menjadi tidak valid.\n\nUntuk pertanyaan bagaimana hacker bisa mendapatkan Discord Token, kami telah menemukan setidaknya tiga teknik utama, dan kami akan mencoba menjelaskannya secara detail di masa mendatang. Bagi pengguna awam, banyak hal yang bisa dilakukan, namun poin intinya adalah: jangan terburu-buru, jangan serakah, dan verifikasi dari berbagai sumber.\n\n### Phishing \"Resmi\"\n\nAktor jahat pandai memanfaatkan permainan peran, terutama peran resmi. Misalnya kami telah menyebutkan metode layanan pelanggan palsu sebelumnya. Selain itu, pada bulan April 2022, banyak pengguna dompet perangkat keras (Hardware wallet) terkenal Trezor, menerima email phishing dari trezor.us, yang bukan merupakan domain resmi Trezor trezor.io. Ada sedikit perbedaan pada akhiran nama domain. Terlebih lagi, domain berikut juga disebarkan melalui email phishing.\n\n>https://suite.trẹzor.com\n\n<img src=\"res/trezor_phishing.jpg\" width=\"800\">\n\nNama domain ini memiliki \"sorotan\", perhatikan baik-baik huruf \"ẹ\" di dalamnya, dan Anda akan menemukan bahwa itu bukan huruf \"e\". Membingungkan? Ini sebenarnya adalah Punycode, deskripsi standarnya seperti di bawah ini:\n\n>Pengkodean Bootstring Unicode untuk Nama Domain Internasional dalam Aplikasi (IDNA)\n>adalah pengkodean nama domain internasional yang mewakili sekumpulan karakter terbatas dalam kode Unicode dan ASCII.\n\nJika seseorang men decoding kode trezor, tampilannya seperti ini: xn-trzor-o51b, yang merupakan nama domain asli!\n\nHacker telah menggunakan Punycode untuk phishing selama bertahun-tahun, pada tahun 2018, beberapa pengguna Binance terkena hack oleh trik yang sama.\n\nSitus phishing semacam ini sudah bisa membuat banyak orang terjerumus, belum lagi serangan yang lebih canggih seperti kotak surat (email) resmi yang terkompromi, atau serangan pemalsuan Email yang disebabkan oleh masalah konfigurasi SPF. Alhasil, sumber emailnya terlihat sama persis dengan yang resmi.\n\nJika itu adalah orang dalam (insider) yang jahat, pengguna tidak dapat berbuat apa-apa. tim proyek harus berupaya keras untuk mencegah ancaman dari dalam. Orang dalam (insider) adalah kuda Troya terbesar, namun mereka sering kali diabaikan.\n\n### Masalah Privasi Web3\n\nDengan semakin populernya Web3, semakin banyak proyek menarik atau serupa bermunculan: seperti semua jenis infrastruktur Web3, platform sosial, dll. Beberapa di antaranya telah melakukan analisis data besar-besaran dan mengidentifikasi berbagai \"potret perilaku target\", tidak hanya di sisi blockchain, tetapi juga pada platform Web2 terkenal. Begitu data data terkumpul, target pada dasarnya seperti orang yang transparan. Dan kemunculan platform sosial Web3 juga dapat memperburuk masalah privasi tersebut.\n\nPikirkan tentang hal ini, ketika Anda bermain-main dengan semua hal yang berhubungan dengan Web3 ini, seperti binding tanda tangan (signature) , interaksi on-chain, dll., apakah Anda memberikan lebih banyak privasi Anda? Banyak yang mungkin tidak setuju, namun seiring dengan banyaknya bagian yang digabungkan, akan ada gambaran yang lebih akurat dan komprehensif: NFT mana yang ingin Anda kumpulkan, komunitas mana yang Anda ikuti, White list (WL) mana yang Anda ikuti, dengan siapa Anda terhubung, akun Web2 mana Anda terikat, periode waktu apa Anda aktif, dan sebagainya. Lihat, blockchain terkadang memperburuk privasi. Jika Anda peduli dengan privasi, Anda harus berhati-hati dengan segala hal yang baru muncul dan menjaga kebiasaan baik dalam memisahkan identitas Anda.\n\nPada titik ini, jika kunci pribadi dicuri secara tidak sengaja, kerugiannya tidak sesederhana hanya uang, tetapi semua hak dan kepentingan Web3 yang dijaga dengan hati-hati. Kami sering mengatakan bahwa kunci pribadi adalah identitas, dan sekarang Anda memiliki masalah ID yang sebenarnya.\n\nJangan pernah \"menguji\" sifat manusia.\n\n# Kejahatan Blockchain\n\nTeknologi Blockchain menciptakan industri yang benar-benar baru. Baik Anda menyebutnya BlockFi, DeFi, cryptocurrency, mata uang virtual, mata uang digital, Web3, dll, inti dari semuanya tetaplah blockchain. Kebanyakan hype berpusat pada aktivitas keuangan, seperti aset kripto, termasuk token yang tidak dapat dipertukarkan (atau NFT, koleksi digital).\n\nIndustri Blockchain sangat dinamis dan menarik, namun ada terlalu banyak cara untuk melakukan kejahatan. Karakteristik khusus dari blockchain memunculkan beberapa kejahatan yang cukup unik, termasuk dan tidak terbatas pada pencurian kripto, cryptojacking, ransomware, perdagangan dark web, serangan C2, pencucian uang, skema Ponzi, perjudian, dll. Saya membuat peta pikiran pada tahun 2019 sebagai referensi.\n\n>https://github.com/slowmist/Knowledge-Base/blob/master/mindmaps/evil_blockchain.png\n\nSementara itu, tim SlowMist telah memelihara dan memperbarui SlowMist Hacked — database yang berkembang untuk aktivitas peretasan terkait blockchain.\n\n>https://hacked.slowmist.io/\n\nBuku pegangan (handbook) ini telah memperkenalkan banyak langkah keamanan, dan jika Anda dapat menerapkannya pada keamanan Anda sendiri, maka selamat untuk anda. Saya tidak akan menjelaskan terlalu banyak tentang kejahatan blockchain. Jika Anda tertarik, Anda dapat mempelajarinya sendiri, yang tentunya merupakan hal yang baik, terutama karena penipuan dan penipuan baru terus berkembang. Semakin banyak Anda belajar, semakin baik Anda dapat mempertahankan diri dan menjadikan industri ini lebih baik.\n\n# Apa yang Harus Dilakukan Jika Komputer Anda \"terkompromi\"\n\nBeberapa kelompok Hacker menggunakan peracunan komputer, sering kali tidak melalui teknik zero-day tingkat lanjut (seperti browser zero-days) tetapi melalui induksi rekayasa sosial. Contohnya termasuk menyamar sebagai investor, jurnalis, HRD, dll., untuk mengelabui pengguna agar memasang perangkat lunak konferensi palsu. Metode lain melibatkan menyamar sebagai \"Telegram Safeguard\" atau memerlukan \"verifikasi manusia via Cloudflare\" untuk mengelabui pengguna agar bisa menyisipkan kode berbahaya secara lokal (kedalam PC).\n\nContoh taktik semacam itu dapat ditemukan di sini:\n> https://x.com/SlowMist_Team/status/1899713751625969997<br>\n> https://x.com/SlowMist_Team/status/1880520294496104827<br>\n> https://x.com/SlowMist_Team/status/1888879128172241000\n\nJika Anda menjadi korban dari serangan semacam itu, sebaiknya Anda bersikap hati-hati dan menghindari menempatkan diri Anda dalam posisi yang (lebih) berbahaya. Anda harus mengambil langkah-langkah berikut:\n\n1. Jika Anda memiliki wallet yang digunakan di komputer Anda (termasuk kunci pribadi/file cadangan frasa mnemonik), Anda harus segera dan aman mentransfer dana dari wallet tersebut. Jangan berasumsi bahwa memiliki kata sandi sudah cukup.\n2. Ubah kata sandi dan 2FA untuk akun penting di komputer Anda, seperti akun Telegram/X/email/exchange, dll. (termasuk kata sandi yang tersimpan/akun yang login di browser), dan periksa akun tersebut untuk login perangkat yang tidak dikenal. Jangan berandai andai anda terhindar dari kemalangan (selalu berpikir skenario terburuk).\n3. Instal perangkat lunak antivirus yang bereputasi baik seperti AVG/Bitdefender/Kaspersky/Malwarebytes, dll., dan pindai komputer Anda secara menyeluruh. Putuskan mana yang akan digunakan, idealnya versi berbayar. Jika Anda masih khawatir, pertimbangkan untuk membeli dua dan menggunakannya secara bergantian.\n4. Jika Anda masih khawatir, cadangkan file penting Anda, dll., lalu Anda dapat mengatur ulang komputer Anda… Setelah itu, kembali ke langkah sebelumnya (langkah 3) dan pindai file cadangan Anda dengan antivirus.\n\nPerlu dicatat bahwa serangan peracunan ini tidak hanya menargetkan komputer Windows tetapi juga Mac, dan terkadang kompatibel dengan beberapa bagian Linux.\n\n# Apa Yang Harus Dilakukan Ketika Anda Diretas\n\nHanya masalah waktu sebelum Anda akhirnya di hack. Jadi apa yang harus dilakukan? Saya akan langsung saja ke pokok permasalahannya. Langkah-langkah berikut ini tidak berurutan; ada kalanya Anda harus menyesuaikan keadaan, tetapi gambaran umumnya adalah ini.\n\n## Hentikan Kerugian Terlebih Dahulu\n\nStop loss adalah tentang membatasi kerugian Anda. Ini dapat dipecah menjadi setidaknya dua fase.\n\n* Fase Tindakan Segera. Segera bertindak! Jika Anda melihat Hacker mentransfer aset Anda, jangan terlalu banyak berpikir lagi. Buruan pindahkan sisa asetnya ke tempat yang aman. Jika Anda memiliki pengalaman dalam menjalankan Front runing, ambil saja dan jalankan. Jika itu adalah jenis aset yang dapat dibekukan di blockchain, harap hubungi platform terkait untuk membekukannya sesegera mungkin. Jika Anda dapat melakukan analisis on-chain dan menemukan aset Anda ditransfer ke centralized exchange (CEX), Anda dapat menghubungi departemen pengendalian risiko mereka.\n* Fase Pasca kejadian. Setelah situasi stabil, fokus Anda harus pada memastikan tidak akan ada serangan berikutnya atau yang akan datang.\n\n## Karantina Tempat Kejadian\n\nSaat Anda menemukan ada sesuatu yang tidak beres, tetaplah tenang dan tarik napas dalam-dalam. Ingatlah untuk karantina tempat kejadian. Berikut beberapa saran:\n\n* Jika Insiden terjadi pada komputer, server, atau perangkat lain yang terhubung ke Internet, segera putuskan sambungan jaringan (internet) sambil tetap menghidupkan perangkat dengan charger. Beberapa orang mungkin mengklaim bahwa jika itu adalah virus yang merusak, file sistem lokal akan dihancurkan oleh virus tersebut. Mereka benar, namun mematikan hanya membantu jika Anda dapat bereaksi lebih cepat daripada virus...\n* Kecuali Anda mampu menanganinya sendiri, menunggu profesional keamanan turun tangan untuk melakukan analisis selalu merupakan pilihan yang lebih baik.\n\nHal ini sangat penting karena kami telah beberapa kali menjumpai lokasi insiden sudah berantakan pada saat kami turun tangan untuk melakukan analisis. Dan bahkan ada kasus ketika bukti penting (misalnya log, file virus) tampaknya telah dibersihkan. Tanpa TKP yang terpelihara dengan baik, hal ini akan sangat mengganggu analisis dan penelusuran selanjutnya.\n\n## Analisis Akar Masalah\n\nTujuan menganalisis penyebabnya adalah untuk memahami siapa lawan anda dan \"menampilkan potret\" hacker. Pada titik ini, laporan kejadian yang disebut juga Post Mortem Report menjadi sangat penting. Laporan Insiden dan Laporan Post Mortem (Post mortem report) mengacu pada hal yang sama.\n\nKami telah bertemu begitu banyak orang yang datang kepada kami untuk meminta bantuan setelah token/koin mereka dicuri, dan sangat sulit bagi kebanyakan dari mereka untuk menceritakan dengan jelas apa yang terjadi. Lebih sulit lagi bagi mereka untuk menghasilkan laporan kejadian yang jelas. Tapi menurut saya ini bisa dipraktekkan dan akan membantu jika mengacu pada contoh. Berikut ini bisa menjadi titik awal yang baik:\n\n* Rangkuman 1: Siapa saja yang terlibat, kapan kejadiannya, apa yang terjadi, dan berapa total kerugiannya?\n* Rangkuman 2: Alamat dompet (wallet address) terkait dengan kehilangan, alamat dompet peretas, jenis koin, jumlah koin. Ini bisa menjadi lebih jelas hanya dengan bantuan satu tabel.\n* Deskripsi proses: bagian ini adalah yang paling sulit. Anda perlu mendeskripsikan semua aspek kejadian dengan segala detailnya, yang berguna untuk menganalisis berbagai macam jejak yang terkait dengan peretas dan pada akhirnya \"mendapatkan potret\" Hacker dari mereka (termasuk motivasinya)\n\nJika menyangkut kasus tertentu, template nya akan jauh lebih kompleks. Terkadang ingatan manusia juga tidak dapat diandalkan, dan bahkan terdapat penyembunyian informasi penting yang disengaja yang menyebabkan waktu terbuang percuma atau waktu tertunda. Jadi dalam praktiknya, butuh upaya dan sumber daya yang besar (dari kami) dan kami perlu menggunakan pengalaman kami untuk memandu pekerjaan dengan baik. Terakhir, kami akan membuat laporan insiden dengan orang atau tim yang kehilangan koin, dan terus meng update laporan kejadian ini.\n\n## Penelusuran Sumber (source tracing)\n\nMenurut Hukum Rocca (Rocca’s Law), dimana ada invasi, disitu ada jejak. Jika kita menyelidikinya dengan cukup teliti, kita akan selalu menemukan beberapa petunjuk. Proses investigasi sebenarnya adalah analisis forensik dan penelusuran sumber. Kami akan menelusuri sumber berdasarkan \"potret Hacker\" dari analisis forensik, dan terus memperkayanya, yang merupakan proses dinamis dan berulang.\n\nPenelusuran sumber terdiri dari dua bagian utama:\n\n* Intel on-chain: Kami menganalisis aktivitas aset alamat dompet, seperti masuk ke centralized exchanges (CEX) , pencampur koin (coin mixers), dll., memantaunya, dan mendapatkan peringatan tentang transfer baru.\n* Intel off-chain: Bagian ini mencakup IP peretas, informasi perangkat, alamat email, dan informasi lebih lanjut dari korelasi titik-titik terkait ini, termasuk informasi perilaku.\n\nAda banyak upaya penelusuran sumber berdasarkan informasi ini, dan bahkan memerlukan keterlibatan penegak hukum.\n\n## Kesimpulan Kasus\n\nTentu saja kita semua menginginkan akhir yang bahagia, dan berikut adalah beberapa contoh peristiwa yang diungkapkan kepada publik yang telah kita ikuti dan memberikan hasil yang baik:\n\n* Lendf.Me, Senilai $25 million\n* SIL Finance, Senilai $12.15 million\n* Poly Network, Senilai $610 million\n\nKami telah mengalami banyak kasus lain yang tidak dipublikasikan yang berakhir dengan hasil yang baik atau baik-baik saja. Namun sebagian besar dari mereka memiliki akhir yang buruk, yang sangat disayangkan. Kami telah memperoleh banyak pengalaman berharga dalam proses ini dan kami berharap dapat meningkatkan rasio hasil akhir yang baik di masa depan.\n\nBagian ini disebutkan secara singkat seperti di atas. Ada banyak sekali pengetahuan yang berkaitan dengan bidang ini dan saya tidak begitu paham dengan beberapa di antaranya. Oleh karena itu, saya tidak akan memberikan penjelasan detailnya di sini. Tergantung pada skenarionya, kemampuan yang perlu kita kuasai adalah:\n\n* Analisis Dan Forensik Keamanan Kontrak Cerdas (smart contract)\n* Analisis Dan Forensik Transfer Dana On-chain\n* Analisis Keamanan Web Dan Forensik\n* Analisis Dan Forensik Keamanan Server Linux\n* Analisis Dan Forensik Keamanan Windows\n* Analisis Keamanan Dan Forensik macOS\n* Analisis Dan Forensik Keamanan Seluler (mobile security)\n* Analisis Kode Berbahaya Dan Forensik\n* Analisis Keamanan Dan Forensik Perangkat Atau Platform Jaringan\n* Analisis Dan Forensik Keamanan Orang Dalam\n* ...\n\nPanduan ini mencakup hampir semua aspek keamanan, begitu pula buku panduan (handbook) ini. Namun, ipoin-poin penting hanya disebutkan secara singkat di sini sebagai panduan Pendahuluan.\n\n# Kesalahpahaman (misconception)\n\nSejak awal, buku panduan ini memberitahu Anda untuk tetap skeptis! Ini mencakup semua yang disebutkan di sini. Ini adalah industri yang sangat dinamis dan menjanjikan, penuh dengan segala macam jebakan dan chaos. Di sini mari kita lihat beberapa kesalahpahaman, yang jika dianggap sebagai kebenaran, dapat dengan mudah membuat Anda jatuh ke dalam perangkap dan menjadi bagian dari kekacauan itu sendiri.\n\n## Kode Adalah Hukum (code is law)\n\nKode adalah hukum. Namun, ketika sebuah proyek (terutama yang terkait dengan kontrak pintar) diretas atau dirusak, tidak ada satupun korban yang menginginkan \"Code Is Law\", dan ternyata mereka masih harus bergantung pada hukum di dunia nyata.\n\n## Bukan Kunci Anda, Bukan Koin Anda\n\nJika Anda tidak memiliki kunci, Anda tidak memiliki koin Anda. Faktanya, banyak pengguna gagal mengelola kunci pribadi mereka dengan benar. Karena berbagai kesalahan praktik keamanan, mereka bahkan kehilangan aset kripto mereka. Terkadang Anda akan menyadari bahwa sebenarnya lebih aman menempatkan aset kripto Anda di platform besar dan bereputasi baik.\n\n## Di Blockchain Kami Percaya (seluruhnya)\n\nKami mempercayainya karena ini adalah blockchain. Faktanya, blockchain sendiri memiliki kemampuan untuk memecahkan banyak masalah kepercayaan mendasar, karena blockchain tahan terhadap kerusakan, tahan terhadap sensor (negara, pemerintah), dan lain-lain; jika aset saya dan aktivitas terkait berada didalam (on-chain), secara default saya dapat percaya bahwa tidak ada orang lain yang dapat mengambil aset saya atau merusak aktivitas saya tanpa izin. Namun kenyataannya seringkali sulit, pertama tidak semua blockchain mampu mencapai poin fundamental ini, dan kedua sifat manusia selalu menjadi mata rantai terlemah. Banyak teknik hacking saat ini berada di luar imajinasi kebanyakan dari kita. Meskipun kami selalu mengatakan bahwa serangan dan pertahanan adalah keseimbangan antara biaya dan dampak, ketika Anda tidak memiliki aset besar, tidak ada peretas yang akan membuang waktu untuk menargetkan Anda. Namun bila ada banyak target seperti Anda, akan sangat menguntungkan bagi para Hacker untuk melancarkan serangan. \n\nSaran keamanan saya sangat sederhana: Tidak percaya secara default (yaitu mempertanyakan semuanya secara default), dan melakukan verifikasi berkelanjutan. Verifikasi adalah tindakan keamanan utama di sini, dan verifikasi berkelanjutan pada dasarnya berarti bahwa keamanan tidak pernah dalam keadaan statis, aman sekarang bukan berarti aman besok. Kemampuan untuk memverifikasi dengan benar merupakan tantangan terbesar bagi kita semua, namun ini cukup menarik, karena Anda akan menguasai banyak pengetahuan dalam prosesnya. Jika Anda cukup kuat, tidak ada yang bisa dengan mudah mencelakakan Anda.\n\n## Keamanan Kriptografis Adalah Keamanan (pada umumnya)\n\nKriptografi sangat kuat dan penting. Tanpa semua kerja keras para kriptografer, semua algoritma kriptografi yang solid & implementasi rekayasa, tidak akan ada teknologi komunikasi modern, Internet, atau teknologi blockchain. Namun, beberapa orang menganggap keamanan kriptografi sebagai keamanan mutlak. Dan timbullah banyak pertanyaan aneh:\n\nBukankah blockchain sangat aman sehingga butuh triliunan tahun untuk memecahkan kunci pribadi? Kenapa FBI bisa mendekripsi Dark Web Bitcoin? Mengapa NFT Jay Chou bisa dicuri?\n\nSaya dapat memaklumi pertanyaan-pertanyaan pemula ini… yang tidak dapat saya mengerti adalah kenyataan bahwa banyak yang disebut profesional keamanan menggunakan konsep keamanan kriptografi untuk \"menipu\" publik, mereka menyebutkan istilah-istilah seperti \"enkripsi tingkat militer, enkripsi terbaik dunia , enkripsi tingkat kosmik, keamanan sistem absolut, tidak dapat diretas, dll.\"\n\nHacker? Mereka tidak peduli…\n\n## Apakah Memalukan Saat (kau menyadari menjadi korban) Diretas?\n\nMemang benar bahwa diretas dapat menimbulkan perasaan campur aduk, dan terkadang ada rasa malu. Namun perlu Anda pahami bahwa diretas hampir 100% akan terjadi (hanya kapan??) jadi tidak ada yang perlu malu.\n\nSekali diretas, tidak masalah jika Anda hanya bertanggung jawab pada diri sendiri. Namun, jika Anda bertanggung jawab terhadap banyak orang lain, Anda harus transparan dan terbuka ketika menangani insiden tersebut.\n\nMeskipun orang mungkin mempertanyakan atau bahkan menuduh Anda melakukan peretasan sendiri, proses Update yang transparan dan terbuka akan selalu membawa hal baik dan pengertian (dari orang diluar).\n\nAnggap saja seperti ini: jika proyek Anda tidak terkenal, tidak ada yang akan meretas Anda. Yang memalukan bukan karena diretas; rasa malunya adalah kesombonganmu.\n\nDari sudut pandang kemungkinan, Hacking adalah fenomena umum, biasanya sebagian besar masalah keamanan hanyalah masalah kecil, yang dapat membantu proyek Anda berkembang. Namun, masalah utamanya efek nya nanti itulah yang masih harus dihindari sebisa mungkin.\n\n## Segera Perbarui (immediately update)\n\nSeringkali buku pegangan (handbook) ini menyarankan untuk memperhatikan pembaruan. Jika ada pembaruan keamanan yang tersedia, segera terapkan. Sekarang pikirkan baik-baik, apakah ini solusi terbaik?\n\nSebenarnya, dalam banyak kasus, \"perbarui sekarang\" adalah hal yang benar untuk dilakukan. Namun, ada kalanya dalam sejarah ketika pembaruan menyelesaikan satu masalah namun menimbulkan masalah lain. Contohnya adalah iPhone dan Google Authenticator:\n\n>Ada risiko pembaruan (di) iOS 15 terbaru, yaitu informasi di Google Authenticator mungkin terhapus atau digandakan setelah pembaruan iPhone. Dalam hal ini, jangan pernah menghapus entri duplikat jika ternyata entri tersebut digandakan, karena dapat menyebabkan hilangnya semua informasi di Google Authenticator setelah dibuka kembali. Bagi yang belum mengupgrade ke sistem iOS 15 dan menggunakan Google Authenticator, sangat disarankan untuk melakukan backup sebelum melakukan upgrade.\n\nBelakangan, Google telah memperbarui aplikasi Authenticator, memecahkan masalah ini secara permanen.\n\nSelain itu, saya tidak menyarankan memperbarui dompet secara sering, terutama untuk dompet dengan banyak aset, kecuali jika ada patch keamanan besar, atau fitur yang sangat penting yang menyebabkan pembaruan yang tidak dapat dihindari. dalam hal ini Anda harus melakukan penilaian risiko sendiri dan membuat keputusan sendiri.\n\n# Kesimpulan\n\nIngatlah bahwa buku pegangan (handbook) ini dimulai dengan diagram ini :)\n\n![](res/web3_hacking_map.jpg)\n\nPernahkah Anda memperhatikan bahwa saya telah menandai dengan \"orang\" (manusia) dalam diagram dengan warna merah?, Saya melakukannya untuk mengingatkan kembali semua orang bahwa manusia adalah dasar dari segalanya (disebut sebagai \"prinsip antropik\" dalam kosmologi). Tidak peduli apakah itu keamanan sifat manusia, atau kemampuan menguasai keterampilan keamanan, semuanya tergantung pada Anda. Ya, jika Anda cukup kuat, tidak ada yang bisa dengan mudah menyakiti Anda. \n\nSaya mulai memperluas berdasarkan diagram, dan menjelaskan banyak poin kunci keamanan dalam tiga proses, membuat dompet, membuat cadangan dompet, dan menggunakan dompet. Lalu saya memperkenalkan perlindungan privasi tradisional. Saya menyatakan bahwa hal-hal tradisional seperti itu adalah landasan dan landasan bagi kita untuk tetap aman dalam ekosistem blockchain. Bagian keamanan alam manusia tidak dapat diabaikan. Ada baiknya untuk memahami lebih banyak tentang berbagai cara melakukan kejahatan, terutama jika Anda pernah terjatuh kedalam lubang, kesadaran keamanan di atas kertas pada akhirnya dapat menjadi pengalaman keamanan Anda. Tidak ada keamanan mutlak, jadi saya menjelaskan apa yang harus dilakukan jika Anda diretas. Saya tidak ingin kejadian buruk menimpa Anda, namun jika hal itu terjadi, saya harap buku panduan (handbook) ini dapat membantu Anda. Hal terakhir adalah membicarakan beberapa kesalahpahaman (misconception). Niat saya sangat sederhana, saya harap Anda dapat membangun pemikiran kritis Anda sendiri, karena dunia ini indah (dan juga) sekaligus mengerikan. \n\nSaya sudah lama tidak menulis begitu banyak kata. Saya rasa terakhir kali adalah 10 tahun yang lalu ketika saya menulis buku *Web 前端黑客技术揭秘*. Rasanya cukup pahit. Setelah bertahun-tahun berkecimpung dalam keamanan web dan keamanan siber, saya memimpin tim untuk membuat ZoomEye, mesin pencari dunia maya. Dalam bidang keamanan siber, saya telah berkecimpung di banyak bidang, hanya beberapa di antaranya yang dapat saya katakan sebagai keahlian saya.\n\nSekarang dalam keamanan blockchain, SlowMist dan saya sendiri dianggap sebagai pionir. Ada begitu banyak kasus yang kami temui pada tahun-tahun ini sehingga Anda hampir dapat berpikir bahwa kami berada dalam kondisi trance setiap hari. Sangat disayangkan banyak wawasan yang tidak terekam dan dibagikan. Dan alhasil, atas desakan beberapa teman, lahirlah buku panduan ini.\n\nKetika Anda telah selesai membaca buku panduan ini, Anda harus berlatih, menjadi mahir dan menarik kesimpulan. Ketika Anda memiliki penemuan atau pengalaman sendiri setelahnya, saya harap Anda dapat berkontribusi. Jika Anda merasa ada informasi sensitif, Anda dapat menyembunyikannya, atau menganonimkan informasi tersebut.\n\nDan yang terakhir, berkat kematangan global dalam legislasi dan penegakan hukum terkait keamanan dan privasi; terima kasih atas upaya semua perintis kriptografer, insinyur, peretas etis, dan semua pihak yang terlibat dalam penciptaan dunia yang lebih baik, termasuk Satoshi Nakamoto.\n\n# Lampiran\n\n## Aturan Dan Prinsip Keamanan\n\nAturan dan prinsip keamanan yang disebutkan dalam buku panduan (handbook) ini dirangkum sebagai berikut. Cukup banyak aturan yang dimasukkan ke dalam teks di atas dan tidak akan dijelaskan secara khusus di sini.\n\nDua aturan keamanan utama:\n\n* **Tidak ada kepercayaan mutlak (zero trust**. Sederhananya, tetaplah skeptis, dan selalu tetap demikian.\n* **Validasi berkelanjutan**. Untuk memercayai sesuatu, Anda harus memvalidasi apa yang Anda ragukan, dan menjadikan memvalidasi sebagai kebiasaan.\n\nPrinsip keamanan:\n\n* Untuk semua pengetahuan yang anda temukan dari Internet, carilah refferensi setidaknya pada dua sumber, yang bisa menguatkan, dan selalu bersikap skeptis.\n* Memisahkan. Jangan menaruh semua telur dalam satu keranjang.\n* Untuk dompet dengan aset penting, jangan melakukan pembaruan yang tidak perlu.\n* Apa yang Anda lihat adalah apa yang Anda tandatangani (be careful of blind signing). Anda perlu menyadari apa yang Anda tandatangani, dan hasil yang diharapkan setelah transaksi yang ditandatangani dikirimkan. Jangan melakukan hal-hal yang akan membuat Anda menyesal di kemudian hari.\n* Perhatikan pembaruan keamanan sistem. Perbarui sesegera mungkin.\n* Jangan mendownload & menginstal program sembarangan, hal itu dapat meminimalisir sebagian besar risiko.\n\n## Kontributor\n\nTerima kasih kepada seluruh kontributor, daftar ini akan terus diperbarui. Jika Anda punya ide, silakan hubungi:\n\n>Cos, Twitter ([@evilcos](https://twitter.com/evilcos)), Jike App (@余弦.jpg)\n\nKontributor:\n```\nIstriku\nSlowMist, Twitter (@SlowMist_Team), e.g. Pds | Johan | Kong | Kirk | Thinking | Blue | Lisa | Keywolf...\nPenerjemah bahasa Inggris, misalnya Alphatu | C. | CJ | JZ | Lovepeace | Neethan | pseudoyu | SassyPanda | ss |\nPenerjemah bahasa Jepang, misalnya Jack Jia | Mia\nPenerjemah bahasa Korea, misalnya Sharon | Jeongmin\nPenerjemah bahasa Arab, misalnya Ahmed Alsayadi | Gabr Alsayadi\nPenerjemah bahasa Indonesia, misalnya Finball\nJike App\nBeberapa teman Anonim ...\nInfo lebih lanjut: https://darkhandbook.io/contributors.html\n```\n\n**Sepanjang ada bantuan yang diadopsi dan dimasukkan dalam buku pegangan ini (handbook), seperti: memberikan saran dan kasus pembelaan yang spesifik (study case); pekerjaan penerjemahan; koreksi kesalahan besar, dll.**\n\n## Alat2nya (tools)\n\nBuku pegangan ini, yang biasa disebut sebagai \"Dark Handbook\", telah tersedia selama lebih dari dua tahun, dan saya senang melihat dampaknya yang bermanfaat bagi banyak orang. Pengaruhnya terus meluas, dengan semakin banyak pendukung yang [menganjurkan pembaruan](https://github.com/evilcos/darkhandbook). Biasanya, pembaruan pada \"Dark Handbook\" ini terutama terdiri dari bacaan tambahan. Tantangan dari bacaan tambahan ini adalah bahwa bacaan tersebut secara teknis rumit dan tidak mudah diakses oleh pemula. Selain itu, saya menyadari bahwa tidak semua orang ingin menginvestasikan banyak waktu untuk menguasai berbagai nuansa keamanan di blockchain. Awalnya, bagian ini bertujuan untuk merekomendasikan beberapa alat yang ramah bagi pemula, seperti dompet, ekstensi keamanan, dan alat skrip. Namun, setelah banyak pertimbangan, saya memutuskan untuk tidak mendukung produk tertentu karena cepatnya perubahan dalam industri. Meskipun manual ini telah menyoroti beberapa alat yang dapat diandalkan, masih belum pasti apakah alat tersebut akan tetap efektif atau relevan di masa depan. Mengingat tanggung jawab saya terhadap semua pembaca, harus saya akui, saya tidak yakin.\n\nSeperti yang telah saya nyatakan sebelumnya, ketika merekomendasikan suatu alat, saya berusaha untuk mendeskripsikannya seobjektif dan senetral mungkin. Selain itu, untuk meningkatkan keamanan, setiap pembaca harus memperhatikan hal-hal berikut:\n\n　* Keamanan mutlak (itu) tidak ada. Mengadopsi pendekatan zero-trust dengan verifikasi berkelanjutan sangat penting dalam menghadapi lanskap yang kompleks ini. Jika salah satu alat ini menimbulkan bug, mengalami masalah keamanan, atau, dalam skenario yang lebih buruk, menyertakan pintu belakang dalam pembaruan baru, risikonya ada pada Anda untuk dikelola. Saya mendorong Anda untuk berpikir mandiri dan kritis sebelum menggunakan alat ini.\n\n　* Keterampilan penelitian saya terasah dengan baik, dan saya memiliki jaringan yang luas, jadi yakinlah bahwa saya akan merekomendasikan alat berkualitas jika dirasa tepat. Tidak perlu terburu-buru; jika suatu alat terbukti andal dan mendapat kepercayaan luas, saya tentu saja akan mendukungnya.\n \n　* Setiap orang memiliki pendekatan uniknya masing-masing, dan ini pendekatan saya.\n \n　* Jauhi (emosional) pengaruh harga koin.\n\n　* Kepercayaan itu sulit dibangun, tapi dapat runtuh dalam sekejap, jadi mohon hargai halitu.\n\nMeskipun saya tidak membuat rekomendasi alat khusus apa pun di bagian ini, saya ingin berbagi pola pikir yang berharga: pola pikir firewall. Konsep \"zero trust\" dan \"verifikasi berkelanjutan\" yang ditekankan sebelumnya sebenarnya adalah bagian dari pemikiran firewall ini.\n\nMisalnya, dalam penggunaan dompet (wallet), penandatanganan (signing) merupakan masalah utama dalam hal keamanan dana, dengan berbagai metode phishing canggih terkait penandatanganan, seperti:\n\n- Eksploitasi penandatanganan native (signing) dengan eth_sign/personal_sign/eth_signTypedData_*, di mana eth_sign semakin banyak diblokir oleh dompet (wallet).\n- Eksploitasi fungsi otorisasi seperti menyetujui/mengizinkan Token/NFT.\n- Pemanfaatan fungsi-fungsi canggih seperti swapExactTokensForTokens/permit2 Uniswap.\n- Eksploitasi fungsi protokol dari OpenSea/Blur dan lainnya (yang sangat beragam).\n- Eksploitasi TX data 4byte, seperti untuk Claim Rewards/Security Update.\n- Menggunakan Create2 untuk membuat alamat penerima dana terlebih dahulu, dan men bypass pemeriksaan terkait.\n- Satu tanda tangan (signing) di Solana melakukan phishing terhadap semua aset di alamat dompet target.\n- Inscription Bitcoin untuk phishing massal (dengan) sekali klik, memanfaatkan mekanisme UTXO.\n- Phishing switching di berbagai rantai EVM/Solana/Tron, dll.\n\nJika dompet (wallet) Anda, ketika meminta konfirmasi tanda tangan, mengirimkan tanda tangan tepat setelah satu klik — baik karena FOMO atau tangan gemetar — maka metode penggunaan dompet ini tidak mencerminkan pola pikir firewall. Praktik yang lebih baik adalah memerlukan setidaknya dua klik; setiap klik tambahan menambah lapisan keamanan (tentu saja, jangan terlalu banyak lapisan, karena orang bisa menjadi tidak peka…). Misalnya, saya menggunakan dompet ekstensi browser seperti Rabby, MetaMask, dan OKX Wallet, dan kecuali untuk dompet uji coba, saya selalu menyandingkannya dengan dompet perangkat keras (sebaiknya dompet dengan layar lebih besar agar mudah meninjau konten yang akan ditandatangani).\n\nPada titik ini, popup konfirmasi tanda tangan dompet ekstensi akan melakukan analisis keamanan lapisan pertama, seperti mengidentifikasi situs phishing, alamat dompet (wallet address) berisiko, \"apa yang Anda lihat adalah apa yang Anda tandatangani\", dan pengenalan tanda tangan berisiko tinggi. Ini sangat penting untuk keamanan interaksi pengguna. Dompet perangkat keras (hardware wallet) menyediakan analisis keamanan lapisan kedua. Jika Anda kemudian menambahkan ekstensi keamanan dompet browser seperti Scam Sniffer, Wallet Guard, atau Pocket Universe, Anda menambahkan lapisan lain ke firewall Anda. Namun, penting untuk diingat, meskipun tidak ada peringatan risiko atas tindakan yang Anda lakukan, Anda harus tetap waspada dan menyadari bahwa pada akhirnya, Anda adalah garis pertahanan terakhir Anda sendiri…\n\nItu saja dan terima kasih!\n\n## Situs Resmi\n```\nSlowMist https://www.slowmist.com\nCoinMarketCap https://coinmarketcap.com/\nSparrow Wallet https://sparrowwallet.com/\nMetaMask https://metamask.io/\nimToken https://token.im/\nTrust Wallet https://trustwallet.com/\nTokenPocket https://www.tokenpocket.pro/\nGnosis Safe https://gnosis-safe.io/\nZenGo https://zengo.com/\nFireblocks https://www.fireblocks.com/\nSafeheron https://www.safeheron.com/\nKeystone https://keyst.one/\nTrezor https://trezor.io/\nOneKey https://onekey.so/\nimKey https://imkey.im/\nRabby https://rabby.io/\nOKX Wallet https://www.okx.com/web3\nEdgeWallet https://edge.app/\nMyEtherWallet https://www.myetherwallet.com/\nPhantom https://phantom.app/\nTornado Cash https://tornado.cash/\nBinance https://www.binance.com/\nCoinbase https://coinbase.com\nCompound https://compound.finance/\nSushiSwap https://www.sushi.com/\nOpenSea https://opensea.io/\nRevoke.cash https://revoke.cash/\nScam Sniffer https://www.scamsniffer.io/\nWallet Guard https://www.walletguard.app/\nPocket Universe https://www.pocketuniverse.app/\n\nJike App https://okjike.com/\nKaspersky https://www.kaspersky.com.cn/\nBitdefender https://www.bitdefender.com/\nCloudflare https://www.cloudflare.com/\nAkamai https://www.akamai.com/\nSURVEILLANCE SELF-DEFENSE https://ssd.eff.org/\nPrivacy Guide https://www.privacytools.io/\nOpenPGP https://www.openpgp.org/\nGPG https://gnupg.org/\nGPG Suite https://gpgtools.org/\nGpg4win https://www.gpg4win.org/\n1Password https://1password.com/\nBitwarden https://bitwarden.com/\nGoogle Authenticator https://support.google.com/accounts/answer/1066447\nMicrosoft Authenticator https://www.microsoft.com/en-us/security/mobile-authenticator-app\nProtonMail https://protonmail.com/\nTutanota https://tutanota.com/\nVMware Workstation https://www.vmware.com/products/workstation-pro.html\nParallels https://www.parallels.com/\n```\n"
  },
  {
    "path": "README_JP.md",
    "content": "ブロックチェーンのダークフォレストにおける自己防衛のためのハンドブック<br>\n*当ハンドブックの内容をマスターするということは、暗号資産におけるセキュリティをマスターするということです。<br>*\n\n:fire:Webサイト：https://darkhandbook.io/<br>\n:cn:中文版：[《区块链黑暗森林自救手册》](README_CN.md)<br>\n:us:English: [Blockchain dark forest selfguard handbook](README.md)<br>\n:kr:한국어 버전: [블록체인 다크 포레스트 셀프가드 핸드북](README_KR.md)<br>\n:saudi_arabia:اللغة العربية: [دليل النجاة في الغابة المظلمة للبلوكتشين](README_AR.md)<br>\n:indonesia:Versi Indonesia: [Buku Panduan menjaga diri didalam \"dark forest\"](README_ID.md)<br>\n\n著者：余弦@慢雾安全团队<br>\n連絡先：Twitter ([@evilcos](https://twitter.com/evilcos))、Jike App (@余弦.jpg)\n\n翻訳者＆校正者：\n>[Jack Jia](https://twitter.com/JackJia2021) | [Mia](https://twitter.com/mia_abc123)\n\n![alt this](res/this.png)\n\n:anchor:**Contents**\n- [はじめに](#はじめに)\n- [一枚の図](#一枚の図)\n  - [ウォレットの作成](#ウォレットの作成)\n    - [ダウンロード](#ダウンロード)\n    - [ニーモニックフレーズ](#ニーモニックフレーズ)\n    - [キーレス](#キーレス)\n  - [ウォレットのバックアップ](#ウォレットのバックアップ)\n    - [ニーモニックフレーズ/秘密鍵の種類](#ニーモニックフレーズ秘密鍵の種類)\n    - [暗号化](#暗号化)\n  - [ウォレットの使用](#ウォレットの使用)\n    - [AML](#aml)\n    - [コールドウォレット](#コールドウォレット)\n    - [ホットウォレット](#ホットウォレット)\n    - [DeFiのセキュリティとは、具体的にどのようなものか](#defiのセキュリティとは具体的にどのようなものか)\n    - [NFTのセキュリティ](#nftのセキュリティ)\n    - [署名に注意！](#署名に注意)\n    - [反常識な署名に注意！](#反常識な署名に注意)\n    - [一部の高度な攻撃](#一部の高度な攻撃)\n  - [従来の個人情報保護](#従来の個人情報保護)\n    - [オペレーティングシステム（OS）](#オペレーティングシステムos)\n    - [スマートフォン](#スマートフォン)\n    - [ネットワーク](#ネットワーク)\n    - [ブラウザー](#ブラウザー)\n    - [パスワード管理ソフト](#パスワード管理ソフト)\n    - [二段階認証](#二段階認証)\n    - [VPN](#vpn)\n    - [電子メール](#電子メール)\n    - [SIMカード](#simカード)\n    - [GPG](#gpg)\n    - [環境の隔離](#環境の隔離)\n  - [ヒューマンセキュリティ](#ヒューマンセキュリティ)\n    - [Telegram](#telegram)\n    - [Discord](#discord)\n    - [「公式」によるフィッシング](#公式によるフィッシング)\n    - [Web3におけるプライバシー問題](#web3におけるプライバシー問題)\n- [ブロックチェーン上の悪質な手口](#ブロックチェーン上の悪質な手口)\n- [盗難に遭ったときの対処法](#盗難に遭ったときの対処法)\n  - [まずはストップロス](#まずはストップロス)\n  - [現場を守る](#現場を守る)\n  - [原因を分析する](#原因を分析する)\n  - [ソースの追跡](#ソースの追跡)\n  - [事案をクローズする](#事案をクローズする)\n- [誤解されていること](#誤解されていること)\n  - [Code Is Law](#code-is-law)\n  - [Not Your Keys, Not Your Coins](#not-your-keys-not-your-coins)\n  - [In Blockchain We Trust](#in-blockchain-we-trust)\n  - [暗号学のセキュリティは完全に安全である](#暗号学のセキュリティは完全に安全である)\n  - [ハッキングされるのは屈辱的？](#ハッキングされるのは屈辱的)\n  - [すぐにアップデートする](#すぐにアップデートする)\n- [結論](#結論)\n- [添付資料](#添付資料)\n  - [セキュリティルール及び準則](#セキュリティルール及び準則)\n  - [貢献者](#貢献者)\n  - [その他のツールについて](#その他のツールについて)\n  - [公式サイト](#公式サイト)\n\n# はじめに\n\nまずは、あなたがこのハンドブックに出会えたことを祝いましょう。 あなたが誰なのかはわかりませんが、もしあなたが暗号資産を保有していたり、この世界に興味があり、今後において暗号資産を保有する可能性があるなら、このハンドブックは何度も読み返し、注意しながら実践する価値があると思います。\n \n必要な心構えは、このハンドブックを読むにはある程度の知識が必要であるということです。初心者にも対応するようにしているものの、やはり難しいと思います。 しかし初心者の方でも「遊べる」部分は多いので、このような知識の壁を恐れないで欲しいと思います。 分からないことがあったり、深掘りする必要がある場合には、Googleを利用することをお勧めします。また、セキュリティの基本として、インターネット上のすべてのことについて、少なくとも2つの情報源を参照し互いに裏付けを取った上で、常に懐疑的な視点を持つことを強くお勧めします。\n \nそう、常に懐疑的になることです。 このことは、このハンドブックに記載されているあらゆる知識に対しても言えることです :)\n \nブロックチェーンは偉大な発明であり、生産関係を変化させ「信頼」という価値あるものを部分的に解決することを可能にしました。 中央集権も第三者の必要性もなく、いくつかの「信頼」はブロックチェーンに基づき非常に上手く担保されています。例えば、改ざんが不可能であること、合意によって実施されること、偽りを防ぐことなどです。しかし、現実は厳しく、ブロックチェーンに対する誤解も少なくありません。このような誤解から、悪者は簡単に抜け道を利用して頻繁に人々のウォレットから金銭を盗み、多額の経済的損失をもたらしています。ブロックチェーンは、昔からダークフォレストです。\n \nブロックチェーンというダークフォレストの世界で、まず念頭に置くべきは、この2つのセキュリティルールです：\n\n1. **ゼロトラスト**：簡単に言うと、常に懐疑的であり続けることです。\n2. **継続的な検証を行う**：信頼するためには、懐疑的な点を検証する能力を持ち、この能力を習慣化することが必要です。\n\n*注：本ハンドブックのセキュリティルールはこの2つであり、それ以外はすべてこの2つのルールから成り立つセキュリティ準則です。*\n\nさて、入門編はここまでです。 このダークフォレストに入り、どのようなリスクに晒されているのか、またどう対処すべきなのか、まずは一枚の図から考えましょう。\n\n# 一枚の図\n\n![](res/web3_hacking_map.jpg)\n\nこの図にざっと目を通してから後の文章を読むとよいでしょう。この世界（ブロックチェーン、暗号資産、Web3など呼び方は何でもいい）におけるあなたの主な行動を、「ウォレットの作成」、「ウォレットのバックアップ」、「ウォレットの使用」の大きな3つの部分に分けて図式化したものです。\n \nここではこの3つの主なプロセスを追いながら、それぞれのポイントを解説していきます。\n\n## ウォレットの作成\n\nウォレットの最も中心的なものは秘密鍵（またはニーモニックフレーズ）です。\n\n秘密鍵は以下のようなものです：\n\n>0xa164d4767469de4faf09793ceea07d5a2f5d3cef7f6a9658916c581829ff5584\n\nニーモニックフレーズは以下のようなものです：\n\n>cruel weekend spike point innocent dizzy alien use evoke shed adjust wrong\n\n*注：イーサリアムチェーンを例としてあげています。秘密鍵/ニーモニックフレーズに関する基礎知識は各自で調べてください。*\n\n秘密鍵はIDと同じであり、仮に秘密鍵を紛失したり盗まれたりすると、そのIDはあなたのものではなくなります。実はウォレットアプリはたくさんあり、有名なものも多いので、すべてを網羅することはできません。ハンドブックでは特定のウォレットについて言及しており、必然的に私が基本的に信頼しているものではありますが、利用中に発生するセキュリティ上の問題や、対象のウォレットが私の想定外のセキュリティリスクを抱えている可能性があるので、100％の安全とは保証できないことをご了承ください（後の文書の中では繰り返し述べないので、冒頭に述べた2つのセキュリティルールを是非とも覚えておいていただきたいです）。\n \n用途としては、PCウォレット、ブラウザ拡張ウォレット、モバイルウォレット、コールドウォレット、WEBウォレットなどがあります。インターネットにアクセスできるかどうかという点では、主にコールドウォレットとホットウォレットの二つに分けられます。ブロックチェーンの世界に入るときはまず、自分が持つウォレットの目的を考えなければなりません。目的によって、どのウォレットを使うか、またどう扱うかが決まります。\n \nどのようなウォレットを選ぶにせよ、少なくともひとつ言えることは、この世界で長く遊んでいると、ひとつの財布だけでは物足りなくなってくるということです。\n\nそこでは同じ卵を同じカゴに入れないこと、つまり、もう一つのセキュリティ準則である「分離」をしっかりと行ってください。ウォレットの使用頻度が高いほど、何かしらの問題が発生するリスクは高くなります。常に覚えておいてほしいのは、新しいことに直面したら、別のウォレットを用意し、しばらくは少額のお金で遊んでみることです。私のような様々なことを経験し、問題点も既に理解している人でないのであれば、別のウォレットを用意することをお勧めします。しかし、例え私のような人であっても、常にこの世界にいる限りは100％問題がないとも言えません。\n\n### ダウンロード\n\n簡単なように思えて、実はそんなに簡単な話ではありません。原因は：\n\n1. 多くの人（実に多くの人）が正しい公式サイト、正しいアプリマーケットプレイスを見つけることができず、偽のウォレットをインストールしている。\n2. ダウンロードしたアプリが改ざんされているかどうかを確認する方法を知らない。\n\nこのようであれば、ブロックチェーンの世界に入る前にウォレットの中身は空っぽになってしまいます。\n \n上記1について、正しい公式サイトを見つけるには、次のようなコツがあります：\n\n* Google（検索結果の広告は注意が必要です。信頼性に欠けることがあります。）\n* CoinMarketCapのような業界で有名な企業\n* より多くの信頼できる人に聞く\n\n上記のような複数の方法で得られる情報は、すべて組み合わせたり参照したりすることで、互いに裏付けを取ることができます。そして最終的に真実は一つしかないはずです :) おめでとう、あなたは正しい公式WEBサイトを見つけることができました。\n\n次に、アプリケーションのダウンロードとインストールについて、 **PCウォレットの場合は**、 公式サイトに記載されているダウンロードリンクに従ってダウンロードした後に、自身でインストールする必要があります。これによって、ソースが完全に改ざんされること（公式サイトがハッキングされたり、内部関係者にハッキングされたり、公式サイトが置き換えられたりなど）は防げませんが、ソースの一部が改ざんされたり、第三者に乗っ取られたりすることは防げます。\n \n改ざんのチェックは、実は、ファイルにおける整合性のチェックといえます。一般的には2つの方法があります：\n\n* **ハッシュチェック**：例えばMD5やSHA256など。大体はMD5で十分ですが、極めて低いもののハッシュ衝突のリスクがあるため、一般的に業界では十分かつ安全なSHA256を選択しています。\n* **GPG署名検証**：実はこれも非常に人気があります。GPGのツールとコマンド、方法をマスターすることを強くお勧めします。初めての人にとっては少し難しいですが、慣れることができれば非常に便利な方法だと思います。\n\nとはいえ、このように実施しているプロジェクトオーナーは多くはなく、珍しいです。例えば、Sparrow Walletというビットコインウォレットは非常に良心的であり、ダウンロードページの「リリースの検証」には両方の方法について明確なガイドラインが記載されています。以下のサイトで直接参照することができます：\n\n>https://sparrowwallet.com/download/\n\nこのページで紹介されているGPGツールは2つあります：\n\n* MacOSで動作する「GPG Suite」\n* Windowsで動作する「Gpg4win」\n\nよく見ると、両GPGツールのダウンロード関連ページに二つの方法の整合性チェックの説明が書かれているのですが、残念ながら一つ一つ細かくは解説されていません。必要な知識はすでに持っていることが前提なんでしょうね :)\n\n**ブラウザ拡張ウォレットの場合**、例えば世界的に有名なMetaMaskなど、対象となる拡張機能のダウンロードページでユーザー数やその評価を目にする機会があります。例えば、MetaMaskはChrome App Storeでのユーザー数が1,000万人以上、ユーザー評価は2,000以上ありますが、最終評価はそれほど高くはありません。これは恣意的に評価を上げることはできないのでしょうか？ 確かにできるとは思いますが、これほどの評価の量を操作するのは馬鹿馬鹿しいはずです。\n\n**モバイルウォレットの場合は** 、判断方法はブラウザ拡張ウォレットと同様ですが、注意すべきは、iPhone App Storeは地域ごとに区分されており、中国本土では暗号資産は利用できないため、App Store中国アカウントでウォレットをダウンロードした場合のアドバイスはただ一つ、使わないでください。例えば米国App Storeアカウントに切り替えてダウンロードしてください。または正しい公式サイトが正しいダウンロード先に誘導してくれるはずです（世界的に有名なimToken、OneKey、Trust Walletなどの公式サイトのセキュリティは厳重になっていなければならず、もし公式サイトがハッキングされた場合は、本当に重大なセキュリティ問題となります）。\n\n**コールドウォレットの場合は**、簡単に言うと、公式サイトで購入し、直接オンラインストアにアクセスしないこと、また手元に届いた後で第三者に加工されたことがあるかどうかを注意しなければなりません。当然、ハードウェアのパッケージの加工が非常に巧妙なので、プロでも必ずしも見つけることはできません。現時点でのアドバイスは、使用する際は、まず最低3回連続でゼロから作成した時に生成されたニーモニックフレーズやウォレットアドレスが繰り返し生成されないのであれば問題はありません。\n\n**ウェブウォレットの場合は**、やむを得ない場合を除き、オンラインウォレットを使用することは非常にお勧めしません。どうしても使用したい時は、公式なものであることを確認し、最低限の利用に留めておいてください。\n\n### ニーモニックフレーズ\n\n一般的に、ウォレットを作成した後に直接扱う重要な情報はニーモニックフレーズ（秘密鍵ではない）です。これは人間が覚えやすいようにするためのものであると言えます。ニーモニックフレーズには標準規格（例えばBIP39など）があり、一般的には12個英単語、または他の数量（3の倍数）でありますが、24個以下でないと複雑すぎて覚えられないと思います。12個以下はセキュリティ上信頼できず、12、15、18、21、24個は問題ありません。しかし、業界の慣行としては、セキュリティ的に十分である12個が一般的であり、Ledgerなどのような安全性基準が高いコールドウォレットでは24個です。英単語だけでなく、中国語や日本語、韓国語など、他の言語の単語もあり得ます。しかし、どんな単語でも使えるわけではなく、2,048個の決まった単語リストから選ばれており、以下のサイトで見ることができます：\n\n>https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md\n\nウォレットを作成する場合、ニーモニックフレーズの表示は非常にデリケートなので、周囲に人やカメラなど、覗き見の対象になりそうなものがないかを確認してください。\nまた、単語が十分にランダムに表示されるかどうかを確認してください。通常、これらの有名なウォレットによって生成された単語は十分なランダムなはずですが、念のため確認してください。手にしたウォレットが怪しくないのかどうかは、本当にわかりません。これを面倒と思わずに実施し、この小さなセキュリティの習慣が形成されれば、今後において非常に役に立つと思います。最後に、ウォレットを作成する際にインターネットから切断することも一つの方法です。特に、そのウォレットをコールドウォレットとして使用する場合は、インターネットから切断するのが一番効果があります。\n\n### キーレス\n\nキーレスとは、その名の通り秘密鍵がないことを意味します。ここでは、キーレスを大きく2つのシナリオに分けます（ここでの区別は、業界で認められている方法ではなく、あくまで説明を容易にするためのものであることに注意してください）。\n\n* **カストディアル（Custodial）**.：例えば中央集権的な取引所やウォレットの場合、ユーザーはアカウントを登録するだけで、秘密鍵を所有することはなく、セキュリティはすべて中央集権的なプラットフォームに依存することになります。\n* **ノンカストディアル（Non-Custodial）**：ユーザーが秘密鍵のようなものを持つだけで、直接的にウォレットの秘密鍵（またはニーモニックフレーズ）を持つわけではありません。例えば、カストディアルと認証業務において有名なクラウドプラットフォームに依存する場合、有名なクラウドプラットフォームは脆弱点となります。また、単一リスクのない安全なマルチパーティーコンピュテーション（MPC）を採用するとともに、評判が良いクラウドを取り入れ、最高のユーザーエクスペリエンスを実現しています。\n\n私の場合、キーレスにおける方法のいくつかを使っています。実績があり、評判の高い中央型プラットフォームではユーザーエクスペリエンスが良く、自身の原因による盗難ではない限り（例えば、アカウントに関連するアクセス権限が盗まれたなど）、これらのプラットフォームが全額賠償します。MPCベースのキーレスソリューションについては、非常に有望であり、一刻も早く普及させるべきだと思います。例えば、私が利用したことがあったZenGo、Fireblocks,Safeheronなどです。メリットは明白なので、いくつか簡単に紹介します：\n\n* MPCアルゴリズムのエンジニアリングにおける実践はこれらの有名なブロックチェーン上で成熟しつつあり、秘密鍵に対してのみ暗号化すれば良いです。\n* 同じ方法では、ブロックチェーンごとに異なる膨大なマルチシグネチャーのスキーム問題を解決することで、ユーザーの体験を統一化します。いわゆる「ユニバーサルマルチシグネチャー」と呼んでいるものです。\n* 本物の秘密鍵が決して現れないようにし、マルチパーティーコンピューテーションによって単一リスクを解決しています。\n* よく知られたクラウド（あるいはWeb2）と組み合わせることで、MPCは安全なだけではなく、よりスムーズな体験を提供してくれます。\n\nメリットは明らかですが、デメリットもあるので、いくつか簡単にご紹介します：\n\n* この分野の成熟度として、業界での通用標準を満たしてオープンソースとなるにはまだまだ不十分であり、やるべきことがあります。\n* 基本的にイーサリアムチェーン（またはEVMベースのブロックチェーン）しか使わない人が多く、Gnosis Safeのようにスマートコントラクトによるマルチシグネチャーのソリューションで十分、という人も少なくないでしょう。\n\nいずれにせよ、自分が安全に使えると思えばそれで良いと思いますし、意見が分かれるところではあります。\n \nさて、ウォレットの作成に関連するセキュリティの問題点は以上です。一般的なセキュリティの問題については後で説明しますので、急ぐ必要はありません :)\n\n## ウォレットのバックアップ\n\n私を含め、非常に優秀な人でもここには注意していないかもしれません。正直に言うと、私もずっとウォレットを使用しているなかで、失敗したことがあります。幸い大きな資産を持っているウォレットではないので、結局はSlowMistの仲間に助けてもらい、解決しました。うまくバックアップできず問題になりましたが、それを直してくれる素晴らしい人がいました。しかし、ヒヤヒヤしました。もしあなたがヒヤヒヤする感覚が嫌いなら、ウォレットを安全にバックアップする方法を学びましょう。\n\n### ニーモニックフレーズ/秘密鍵の種類\n\nウォレットのバックアップといえば、ニーモニックフレーズ（または秘密鍵。説明しやすいため、後述ではニーモニックフレーズのみ記載）のバックアップを指します。 私たちが持っているニーモニックフレーズは、実は大きくいくつかの種類に分けることができます：\n\n* プレーンテキスト\n* パスワード付き\n* マルチシグネチャー\n* Shamir's Secret Sharing（略称：SSS）\n\nこれらのタイプについて、簡単に説明します。\n\n**プレーンテキスト**、非常にわかりやすく、12個の英単語を取得した後、その中の資産は自分のものになります。実は順番を特別に「ごちゃまぜ」にすることや、ある言葉を別の言葉に置き換えることもできます。これは悪者にとって厄介なことではありますが、自分が「ルール」を忘れたら、今度は自分が大変な目に合います。自分が大変な目には合わないと思い込まないでください。1年後、2年後、5年後の記憶は、不確かになるはずです。私は数年前にLedgerのコールドウォレットを使う際、ニーモニックフレーズの24個の単語の順番をぐちゃぐちゃに入れ替えました。数年後、その順番を忘れてしまい、どの単語を入れ替えたのか思い出せなくなりました。私の問題は前述のように、後に特殊なクラッキングプログラムによってニーモニックフレーズの正しい順序を見つけ、いくつかの単語を修正することで助かりました。\n\n**パスワード付き**、規格によれば、ニーモニックフレーズにパスワードが付けられます。ニーモニックフレーズはそのままですが、パスワードを付けたら別のシードを取得し、シードを使って一連の秘密鍵と公開鍵およびアドレスを生成できます。このとき、ニーモニックフレーズだけでなく、パスワードも忘れないようにバックアップしてください。ちなみに、パスワードに付随するニーモニックフレーズ以外に、秘密鍵に関連する規格（例えば、BIP38など）や、イーサリアムチェーンシリーズに共通するKeystoreファイルなどがあります。\n\n**マルチシグネチャー**、対象資金の使用にあたり、複数の署名による承認を必要とすることであると理解できます。例えば、3人が鍵（ニーモニックフレーズまたは秘密鍵）を持っている場合、対象資金を使用する前に少なくとも2人の承認を満たす必要があるなどの方針を柔軟に設定できます。各ブロックチェーンは独自のマルチシグネチャーのソリューションを持っているでしょう。有名なビットコインのウォレットはすべて元々マルチシグネチャーをサポートしています。このような一般的なマルチシグネチャーの他に、MPC（Secure Multi-Party Computation）という、従来のマルチシグネチャーに近いものの、原理が大きく異なるタイプも普及しています。MPCは、チェーンごとに異なるマルチシグネチャーの方式を必要とせず、ユニバーサルなマルチシグネチャーを実現することができます。\n\n**SSS**, シードを複数のスライス（1スライスあたり20単語が一般的）に分割し、ウォレットを復元する際に、指定された数のスライスを使用する必要があります。業界におけるベストプラクティスを参照してください：\n\n>https://guide.keyst.one/docs/shamir-backup<br>\n>https://wiki.trezor.io/Shamir_backup\n\nマルチシグネチャー、SSSのようなソリューションを利用すればより安心感があり、単一リスクを回避できますが、管理も比較的複雑であり、これには複数の人が関わることが多いです。利便性と安全性は常に相反するので、どっちを重視するのかはあなた次第です。 しかし、ルールや準則を怠ってはいけません。\n\n### 暗号化\n\n暗号化というのは非常に大きな概念で、対称型であろうと非対称型であろうと、何年後かにあなたや、あなたをサポートする人が簡単に解読でき、かつ他の誰も解読できないような方法で暗号化されていればよいです。\n \n「ゼロ・トラスト」というセキュリティルールによれば、私たちがウォレットのバックアップをするとき、あらゆる段階において、金庫などの物理的な環境が危険にさらされることを想定しなければなりません。自分以外は完全に信用できず、自分自身も信用できない可能性があることを忘れないでください。例えば自分の記憶が薄れたり無くなったりすることがあります。でも、この世界はそこまで怖いと思わなくても大丈夫です。\n \nバックアップの際には、特にディザスターリカバリー（災害復旧）を意識してください。 ディザスターリカバリーとは、主に一点集中型によるリスクを回避することです。もし、バックアップ先がある環境がなくなってしまったらどうするのか？それは、復旧担当者を置くこと、重要なものは複数バックアップしておくことが重要です。\n \n復旧担当者は信頼できる人に依頼しましょう。複数のバックアップについて解説します。バックアップの基本的な形態についていくつか見てみましょう：\n\n* クラウド\n* 紙\n* デバイス\n* 脳\n\n**クラウド**：クラウドバックアップというと、すぐにハッキングされるイメージも多いですが、それは違います。実は、攻撃と防御の戦いは、人材であれ資金であれ、誰が最も多く投資するかによって、つまり常にコストの戦いになります。私としては、Google、Apple、Microsoftなどが提供する関連クラウドサービスを信頼しています。なぜなら、彼らのセキュリティチームがいかに強力で、セキュリティにどれだけ投資しているかを知っているからです。しかし、外部のハッカー対策とは別に、社内のセキュリティ管理能力やプライバシーデータ保護についても気になるところです。私が信頼している数少ない企業は、私が懸念しているセキュリティリスクを回避するために、努力しています。 しかし、絶対的な安全はありません。もし私が非常に重要なデータ（ウォレットなど）をバックアップするためにこれらのクラウドのうちの1つを選ぶとしたら、間違いなくウォレットをもう1度暗号化します。\n\nGPGは、前述の「シグネチャーチェック」の目的に加え、暗号化・復号化の面でもセキュリティが十分強いので、ぜひ勉強してください。GPGの紹介は以下です：\n\n>https://www.ruanyifeng.com/blog/2013/07/gpg.html\n\nさて、あなたはGPGをマスターしました :) 安全なオフライン環境でGPGを使ってウォレット（ニーモニックフレーズまたは秘密鍵）を暗号化したので、暗号化したファイルをこれらのクラウドサービスに直接アップロードすることで安全に保つことができます。しかし、GPGの秘密鍵を失くさないように、また秘密鍵のパスワードを忘れないようにしてください・・・。\n \nこの時点で、セキュリティの面倒さに慣れることはできないでしょう。GPGを使い始めても、GPGの秘密鍵と秘密鍵のパスワードはバックアップしておかなければならないため大変です。もしここまで来て慣れてきたのなら、この程度のバックアップは問題ないでしょう。この点については、実際にやってみることで学んでいただきたいと思います。\n \nもし怠けたいのであれば、もう一つ方法がありますが、少し安全性に欠けます。有名なツールを使ってサポートします。このツールは1Passwordです。新バージョンの1Passwordは、ニーモニックフレーズ、パスワード、ウォレットアドレスなど、ウォレット関連のコンテンツの直接保存に対応し、ユーザーにとって一層使いやすくなりました。他にも（Bitwardenなど）ありますが、使い勝手はあまりよくありません。\n\n**紙**：多くのコールドウォレットには数枚の良質な紙カードが付属されており、ニーモニックフレーズ（プレーンテキスト、SSSなどの形式）を書き写すことができます。紙だけでなく、鉄板（耐火・耐水性を持つ。私は検証していない）もあります。ニーモニックフレーズを書き写し終えたら、検証された後に安全と思われるところ（例えば、金庫などの安全な場所）に保管します。実は、個人的には「紙」が好きです。 環境さえ整えば、電子機器よりもずっと長持ちします。\n\n**デバイス**：あらゆる種類のデバイス、電子デバイスが一般的に使用され、コンピュータ、iPad、iPhone、モバイルハードディスク、USBドライブなど、個人の好みに応じて、すべてバックアップに使用できます。デバイス間の安全な伝送には、仲介者に乗っ取られる可能性の低いAirDropやUSBなどのPeer to Peer方式の方が安心感があります。電子機器において当然不安なのは、年数が経つと故障することなので、少なくとも年に一度は点検してください。\n\n**脳**：脳の記憶というのは、クールでエキサイティングです。誰もが自分の「記憶の宮殿」を持っています。実際に鍛えることができ、練習すればより完璧になり、記憶力が深まります。覚えておくと本当に良いことはたくさんありますが、脳だけを使って覚えられるかどうかは自分次第です。とにかく、時間が経つと記憶が薄れて間違ってしまうことと、事故に遭うことの2つのリスクに気をつけてください。\n \nこれでバックアップは万全です。暗号化しすぎると、自分で復号できなくなる可能性があります。セキュリティのルールである「継続的な検証」に則すれば、暗号化やバックアップをどんなに過剰に行っていても、記憶力次第では一日の終わりには忘れてしまうこともあるので、定期的かつ不定期に検証する必要があります。必ずしも全てを復号する必要はなく、全体がエラーにならなければ部分検証でも可能です。最後に、検証作業における機密性と安全性に注意してください。\n \nさて、一息つきましょう。そもそも始めることが一番難しかったとは思いますが、上記のすべての準備が整った後は、このダークフォレストに実際に入ってみましょう :)\n\n## ウォレットの使用\n\nウォレットの作成とバックアップが完了したら、いよいよ本格的なチャレンジです。 自分の資産をほとんど利用せずにDeFiやNFT、GameFiあるいは今人気のWeb3などのスマート・コントラクト関連のプロジェクトを使用しない限り、実はあなたのお金は非常に安全なのです。\n\n### AML\n\nあくまで「非常に安全な状態」を求めるのであれば、ここにもリスクがあります。なぜ、そんなことを言うのだと思いますか？考えてみてください。最初の暗号資産はどこから手に入れたのでしょうか？ 何もないところから現れたわけではありません。暗号資産に関する取引の場合、入手した暗号資産はAML（アンチ・マネー・ローンダリング）の対象となる可能性があります。つまり、今保有している暗号資産がクリーンでない可能性があり、運が悪ければブロックチェーン上で直接凍結されることもあります。例えばテザー社のケースでは、法的機関の要請により一部のUSDT資金が凍結されたことがあります。凍結された資金の一覧はこちらで見ることができます：\n\n>https://dune.xyz/phabc/usdt---banned-addresses\n\nテザー社による凍結の有無の確認は、USDTのコントラクトアドレスで行うことができます：\n\n>https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#readContract\n\n<img src=\"res/usdt_isblacklisted.png\" width=\"700\">\n\nisBlackListedに判断したいアドレスを入力すれば良いです。他のチェーンでのUSDTも同様です。\n \nでも、皆さんのビットコインやイーサリアムは、オンチェーン上で凍結することはないでしょう。もし将来そうなったら、分散化に対する非常に強い信念はなくなってしまうかもしれません。我々が聞いたことがある暗号資産の凍結の大半は、実はオンチェーンで起きているわけではなく、中央集権型の取引所（Binance、Coinbaseなど）などのプラットフォーム上で起きています。暗号資産が中央集権によって管理されたプラットフォームにあるということは、プラットフォームがあなたの口座、特に取引と出金の権利を凍結しているという意味であり、あなたが実際に暗号資産を保有しているわけではないことを意味します。凍結という概念は、ブロックチェーン業界以外の人に誤解されやすく、そのため、非常に悪質なメディアがビットコインについて様々な陰謀論を解釈し、広めていることがあります。\n \nあなたのビットコイン、イーサリアムなどがチェーン上で凍結されることはありませんが、あなたの暗号資産自体が、法的機関が関わっている事件に関与している場合は、あなたの暗号資産が中央集権型プラットフォームに送金されると、これらの中央集権型プラットフォームはAMLやその他の要件に基づき暗号資産を凍結する可能性があります。\n \nAML問題を回避するためには、取引相手として評判の良いプラットフォームや個人などを選択する必要があります。基本的に大きな問題は起こらないはずなので、変な取引をしないでください。もっとこのような問題を深く追求しようと思えばできます。例えば、イーサリアムチェーンでは、ほとんど全ての悪人やプライバシーを気にする人々は、コインミキシングにTornado Cashを選んでいます。それ以上の方法は、実際に悪用される可能性があるため、ここでは述べません。\n\n### コールドウォレット\n\nコールドウォレットの使い方はいくつかあり、ウォレット自体がインターネットに接続されていない場合は、コールドウォレットとみなされます。では、インターネットに接続されていない状態でどのように使うのでしょうか。まず、暗号資産を受け取るだけなら大したことはないので、ウォレットをモニタリングするだけで十分です。例えば、imToken、OneKey、Trust Walletなどをウォレットアドレスに直接追加すればモニタリング専用ウォレットになります。\n \nコールドウォレットが暗号資産を送りたい場合、いくつかの方法があります：\n\n* QRCode\n* USB\n* Bluetooth\n\nいずれも、前述のモニタリング専用ウォレットを含む上記のいくつかの方法を使用するには、専用のアプリケーション（ここではLight Appと表記）が必要です。 私たちは、これらの手法の本質を理解すればいいのです。要するに、最終的には署名されたコンテンツをブロックチェーンにアップデート（ブロードキャスト）する方法を考えるだけです。ざっくりとした流れを説明します：\n\n* 署名する内容は、これらの方法（QRCodeなど）でLight Appからコールドウォレットに送信される。\n* 署名は秘密鍵を持つコールドウォレットが担い、これらの方法でLight Appに送り返される。\n* Light Appは、署名されたコンテンツをブロックチェーンにブロードキャストする。\n\nつまり、QRコードであれ、USBであれ、Bluetoothであれ、目的は上記の通りです。もちろん、QRコードの情報容量には制限があり、大きな署名データになると分割しなければならないなど、方式によって細かな違いはあります。\n \nこういう方法はちょっと面倒そうですが、慣れてしまえば安心感が増します。しかし、満足してはいけません。ここにはまだリスクがあり、そのリスクによって損失を被るケースも少なくなりません。リスクポイントとしては：\n\n* コインの送金先のアドレスが厳密にチェックされないことにより、結果的に他の人に送金してしまうこと。人間は慢性的かつ惰性的なので、例えば、ウォレットのアドレスの最初と最後の数桁が正しいかどうかだけを確認し、完全なチェックをしません。そこに悪者は目をつけ、最初と最後の数桁が同じアドレスを作るプログラムを使い、コイン送金のターゲットアドレスを、何らかのトリックで彼がコントロールするアドレスに置き換えます。\n* あるコインに対して未知のアドレスに使用権限（Approve、承認とも言えます）を与えること。一般的な承認は、イーサリアムチェーン系統（イーサリアムチェーン及びEVMサポートチェンの意味）のスマートコントラクトのトークンの仕組みで、一つの引数は対象アドレスへの使用権限の承認、もう一つの引数は数量とするApprove関数です。多くの人はこの仕組みを理解しておらず、ターゲットアドレスに無制限のトークン使用権限を認可し、ダーゲットアドレスはこの権限を利用してこれらのトークンを転送します。これは承認権限によるトークンの盗難と呼ばれるが、この手法の他のパターンもあるため、ここでは述べません。後ほど説明します。\n* 一見どうでも良いような署名は、実は重大な巨大なトラップであることがあります。これについても後ほど説明します。\n* コールドウォレットは、必要な情報が十分に表示されないため、ユーザーが油断して判断を誤ることがあります。\n\n上記のことは、全て2つのことに集約できます：\n\n* ユーザーが見たことに対してのみユーザーが署名するというインタラクション自体が安全性に欠けている。\n* ユーザー側にセキュリティに関する知識が不足している。\n\n### ホットウォレット\n\nコールドウォレットと比較して、ホットウォレットは基本的にコールドウォレットが持つすべてのリスクを持っていますが、1つ追加されたリスクは、ニーモニックフレーズ（または秘密鍵）が盗まれるリスクです。ホットウォレットは、PC環境のセキュリティなどの考慮すべき点が多くなります。もしPC内がウイルス🦠に感染しているなら、盗難の危険性があります。また、ホットウォレットには脆弱性があり、その脆弱性が悪用され直接トークンが盗まれる可能性もあります。\n \n通常のトークンの送金機能に加え、DApp（DeFi、NFT、GameFiなど）とやり取りするためには、ホットウォレットはブラウザで直接アクセスするか、PCブラウザで開いたDAppとWalletConnectプロトコルを通じてアクセスできます。\n\n*注：本書でいうDAppとは、イーサリアムチェーン系統上で作動するスマートコントラクトプロジェクトを指します。*\n\n普通の状況では、ウォレットのセキュリティ自体に問題がない限り、このようなインタラクションがニーモニックフレーズの盗難につながることはありません。当社のセキュリティモーニタリングやセキュリティ調査の履歴から見ると、ウォレットニーモニックフレーズがターゲットページの悪意のあるJavaScriptによって直接盗まれる危険性があります。しかし、実際には非常に低レベルのセキュリティ問題であり、有名なウォレットで発生する可能性は低いです。\n \n私が一番心配することは、上記のどれでもなく、よく知られたウォレットにおける毎回のアップデートにおいて悪意のあるコードやバックドアが仕込まれていないことをどう保証するかということです。要するに、私は現在のバージョンのウォレットにセキュリティ上の問題がないことを確認した上で安心して使っていますが、次のバージョンはどれほど安全かはわかりません。そもそも私や、私のセキュリティチームが全てを確認する時間はありません。\n \nCoPayや直近ではATokenなど、悪意のあるコードやバックドアによるトークンの盗難事件がいくつか発生していますので、ご自身で検索してみてください。\n \nこのような悪用について、大きくいくつかの手法に分けられます：\n\n* ウォレットが稼働しているとき、悪質なコードが関連するニーモニックフレーズをパッケージ化し、ハッカーが管理するサーバーに直接アップロードする。\n* ウォレットが稼働しているとき、ユーザーが送金を開始すると、送金先のアドレスや金額などの情報がバックエンドで密かに置き換えられ、ユーザーには発見しにくい仕組みになっている。\n* ニーモニックフレーズの生成に関連する乱数のエントロピー値を破壊することで、ニーモニックフレーズをクラッキングする。\n\nセキュリティとは無知な人は怖がらず、知識のある人が怖がるものです。ゆえに、大切な資産を入れるウォレットのセキュリティは、安易なアップデートをせず、使えるのであればそのままにしておくというのが私のルールです。\n\n### DeFiのセキュリティとは、具体的にどのようなものか\n\nDAppsというと、DeFi、NFT、GameFiなどがありますが、セキュリティはほとんど同じであるもののそれぞれ特徴があります。DeFiを例として、DeFiのセキュリティという言葉の本当の意味を説明します。業界ではほとんどスマートコントラクトの部分しか見ておらず、スマートコントラクトが安全であれば全て問題ないと思われているようですが、実際はどうなのでしょうか？\n \nDeFiのセキュリティは、少なくとも以下の部分を含みます：\n\n* スマートコントラクトのセキュリティ\n* ブロックチェーン基盤のセキュリティ\n* フロントエンドのセキュリティ\n* 通信のセキュリティ\n* ヒューマンセキュリティ\n* 金融のセキュリティ\n* コンプライアンスのセキュリティ\n\n**スマートコントラクトのセキュリティ**\n\nスマートコントラクトのセキュリティは、まさにセキュリティ監査において最も重要なエントリーポイントであり、SlowMistでのスマートコントラクトのセキュリティ監査ポイントは、以下のとおりです：\n\n>https://www.slowmist.com/service-smart-contract-security-audit.html\n\n上級者にとっては、スマートコントラクトの部分のセキュリティ自体がコントロールできれば（自分でしっかり監査できるか、専門機関のセキュリティ監査報告書を読めるのであれば）、それ以外のセキュリティはどうでもいいでしょう。コントロール可否については、非常に変化しやすく、プロジェクトの実力（大手企業かどうかなど）に依存する部分もあります。例えば、スマートコントラクトの権限が過剰になるリスクについては、プロジェクト先が強力で良い評判があるのであれば、完全な中央集権でもよいでしょう。しかし、あまり知られていないプロジェクト先、または新しいプロジェクト先については、プロジェクトのスマートコントラクトの権限が大きすぎる場合、特にその権限がユーザーの元本や収益にも影響を及ぼすのであれば、誰でも嫌です。\n \n過剰な権限は非常に微妙で、ガバナンスの利便性やリスクに対する緊急対応において、プロジェクト先にとって都合の良いものが多いでしょう。しかし、私たちにとっては、プロジェクト先が悪人だったらどうするべきでしょうか？こういった人的な配慮が必要です。そこで業界では、過剰な権限に対応するために時限錠（Timelock）を追加するなどの妥協案が出されています。例えば以下です：\n\n> 古くからある有名なDeFiプロジェクトであるCompoundは、スマートコントラクトのコアモジュールであるComptrollerと、Governanceの管理者権限にTimelock機能を追加しています。<br>\n> Comptroller(0x3d9819210a31b4961b30ef54be2aed79b9c9cd3b)<br>\n> Governance(0xc0da02939e1441f497fd74f78ce7decb17b66529)<br>\n> の管理者アドレス:<br>\n> Timelock(0x6d903f6003cca6255d85cca4d3b5e5146dc33925)\n\nブロックチェーン上で直接確認できるTimelock（delayパラメーター）は、48時間（172800秒）です。\n\n<img src=\"res/compound_timelock.png\" width=\"700\">\n\nつまり、Compoundの管理者（プロジェクト先）が対象のスマートコントラクトのいくつかのキーの値を変更する必要がある場合、トランザクションはいったんログに記録されます。しかし、トランザクションが確定して実行できるようになるまで48時間待たなければなりません。つまり、あなたが望めば、管理者が行ったすべての行動を監査することができ、少なくとも48時間以内に対応できます。例えば、不安な場合は48時間以内に資金を出金することができます。\n \nまた、プロジェクト先が権限を過剰に持つリスクを軽減する方法として、例えばGnosis Safeなどで管理者にマルチシグネチャを要求することで、少なくとも一人が独占しないようにできます。マルチシグネチャは、一人が複数のキーを持つようなことがあり得るので注意してください。そのため、対象となるプロジェクトのマルチシグネチャにおいてキーを握っている人を明確に公開して説明し、またそのキーを管理している人は一定程度信頼できる人でないといけません。\n \nどのようなセキュリティ戦略にも上記のような課題があり、問題ないように見えて実はそうでもなく、誤った安心感を与えてしまうことに注意が必要です。例えばTimelockは一見良さそうに見えますが、実はプロジェクトがバックドア付きのTimelockを導入しているケースもあります。ユーザーは通常、Timelockのソースコードを直接見ることはなく、理解しているとは限らないので、しばらくは本当に誰も気づかないようなバックドアが仕込まれていることがあります。\n \n過剰な権限に加えて、スマートコントラクトのセキュリティにおける他の部分も重要ですが、理解するためのハードルは非常に高いので、ここでは述べません。私のアドバイスは、少なくともセキュリティ監査報告書を少しずつ読めるように練習すれば完璧に近づくことができます。 \n\n**ブロックチェーン基盤のセキュリティ**\n\nブロックチェーン基盤のセキュリティとは、ブロックチェーン自体のセキュリティのことです。例えば、コンセンサス台帳のセキュリティ、バーチャルマシンのセキュリティなどがあります。ブロックチェーン自体が安全でなければ、その上で動くスマートコントラクトのプロジェクトは全く安全ではありません。十分なセキュリティと知名度を備えたブロックチェーンを選ぶことが重要です。\n\n**フロントエンドのセキュリティ**\n\nフロントエンドのセキュリティは鬼門で、特にユーザーにとって最も身近なものなので、ユーザーを詐欺に遭わせるのが簡単です。おそらく誰もが自分のウォレットやターゲットプロジェクトのスマートコントラクトのセキュリティに注意していますが、フロントエンドのセキュリティは非常に見過ごされがちです。ここでもう一度、フロントエンドのセキュリティは鬼門であることを強調する必要があります。\n \nフロントエンドのセキュリティに関する私の主な懸念は、このフロントエンドのページで私がやり取りしているオブジェクトが私が考えているスマートコントラクトであると、どのように確認できるかということです。\n \nこの不安は、主に次の2つのリスクによってもたらされます：\n\n* 内部による改ざん\n* 第三者による改ざん\n\n内部による改ざんは、例えば、開発者がフロントエンドページのターゲットスマートコントラクトアドレスをこっそりバックドア付きのコントラクトアドレスに置き換えたり、承認権限にフィッシングスクリプトを仕込んだりすることです。フロントエンドページにアクセスすると、ウォレット内の暗号資産に関わる一連の操作が罠の中で行われます。いつの間にかトークンが無くなっています。\n \n第三者による改ざんとは、大きく分けて2種類を指します：\n\n* 一つ目は、フロントエンドが依存するサードパーティのモジュールにバックドアを仕込み、パッケージのリリースとともに対象のフロントエンドページに直接持ち込むというサプライチェーンによる不正行為です。例えば、SushiSwap（あくまで例であり、スクリーンショット上のプロジェクトがこの問題を抱えているということではありません）：<br>\n    <img src=\"res/sushiswap_3rd.png\" width=\"500\">\n\n* 二つ目は、フロントエンドページに利用されるサードパーティ製のリモートJavaScriptファイルです。もしこのJavaScriptファイルが悪意的なものであったり、ハッキングされたりすると、OpenSeaのような対象のフロントエンドページが影響される可能性があります。（あくまで例であり、スクリーンショット上のプロジェクトがこの問題を抱えているということではありません）。<br>\n    <img src=\"res/opensea_3rd.png\" width=\"800\">\n\nなぜ影響される「可能性がある」と記述したかというと、プロジェクトが以下のようにフロントエンドページでサードパーティのリモートJavaScriptファイルを利用する場合は影響を受けない場合があるからです。\n\n><script src=\"https://example.com/example-framework.js\" integrity=\"sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pbOxEbzJr7\" crossorigin=\"anonymous\"></script>\n\nここで重要なのは、HTML5の優れたセキュリティ仕組みである、タグのintegrity属性（SRIメカニズム）です。Integrityはsha256、sha384、sha512をサポートしており、サードパーティのJavaScriptリソースがintegrityのハッシュの整合性チェックを満たさない場合、読み込みを行わないので、これで意図しないコードが実行されることを防げます。ただし、この仕組みを利用するためには、対象リソースがCORSレスポンスに対応している必要があります。詳細はこちらをご覧ください：\n\n>https://developer.mozilla.org/zh-CN/docs/Web/Security/Subresource_Integrity\n\nしかし、これを回避できるシナリオもあります。サードパーティ製のリモートJavaScriptファイルを利用する場合はほとんどの場合、対象のフロントエンドページに整合性メカニズムがあるかどうかだけを気にすればよいので、バイパス方法については言及しません。残念ながらOpenSeaはそうではないので、無事を祈りましょう。\n\n**通信のセキュリティ**\n\n通信のセキュリティの部分は、HTTPSのセキュリティを重視すれば良いです。まず、ターゲットサイトがHTTPSであること、HTTPのプレーンテキスト転送ができないことが条件となります。これは、HTTPのプレーンテキストが中間者によるハイジャック攻撃に対してあまりにも脆弱なためであり、現在、HTTPSは非常に一般的で安全な転送プロトコルとなっています。標的となるフロントエンドページに悪意のあるJavaScriptコードを仕込むなど、HTTPSを乗っ取る中間者攻撃があった場合、ブラウザは必然的にHTTPSの証明書が正しくないという警告を視認性の高い形で表示します。その例として、かつてのMyEtherWalletです。\n\nMyEtherWalletはかつて大人気だったウェブウォレットで、今もなお非常に有名であり、単なるウェブウォレットとは言えません。しかし先ほども言ったように、ウェブウォレットは、フロントエンドのセキュリティのくだりに加えて、HTTPSハイジャックのリスクもあり、私としては非常に好ましくないと思っています。\n\n2018.4.24にMyEtherWalletでHTTPSハイジャックによる大きなセキュリティ事件が発生し、そのレビューが以下のサイトに掲載されています：\n\n>https://www.reddit.com/r/MyEtherWallet/comments/8eloo9/official_statement_regarding_dns_spoofing_of/<br>\n>https://www.reddit.com/r/ethereum/comments/8ek86t/warning_myetherwalletcom_highjacked_on_google/\n\n![](res/myetherwallet_https_hijack.png)\n\n当時のハッカーは、BGPという古いプロトコルを介して、多数のMyEtherWalletユーザーが利用していたDNSサービス（Google Public DNS）を乗っ取り、多くのユーザーがMyEtherWalletにアクセスする際に、ブラウザからHTTPS証明書エラーの警告を受けるという事態が起こりました。実際に証明書エラーに遭遇した場合、ターゲットページが乗っ取られていることを意味するので、原則として訪問を続けなければ大丈夫です。しかし、多くのユーザーはこのセキュリティリスクを理解していないため、証明書エラーの警告を躊躇なく無視し、アクセスを強行し続けることになります。\n\nターゲットページが乗っ取られたため、ハッカーは悪意のあるJavaScriptコードを注入し、ターゲットページで対象ユーザーのプレーンテキスト形式の秘密鍵を直接盗み、そのユーザーの暗号資産（主にETH）を一括で転送します。\n\nこれは、ハッカーがトークンを盗むためにBGPハイジャックを利用した典型的なケースです。その後も似たような事例がいくつかありますが、ここでは述べません。ここでユーザーにとって本当に注意しなければならないのは、実際にウェブウォレットを使ったり、関連するDAppを体験する際に、ターゲットページにHTTPS証明書エラーの警告が表示されたら、すぐにアクセスを中止してページを閉じれば何も起さないということです。\n\nセキュリティには厳しい現実があります。すでにリスクがある場合は、ユーザーに選択肢を与えてはいけません。一度与えてしまうと、何らかの理由で危険に陥るユーザーが必ず出て来ます。例えば、HTTPSの乗っ取りに対しては、すでに優れたセキュリティソリューションがあります。プロジェクトの開発者がすべきことは、HSTSを設定すれば良いです。HSTSとは、HTTP Strict Transport Security、ブラウザがサポートしているWebセキュリティポリシーです。HSTSの設定を有効にすると、HTTPS証明書にエラーが見つかった場合、ブラウザはさらなるユーザーによるアクセスを強制的に拒否します。\n\n**ヒューマンセキュリティ**\n\nヒューマンセキュリティは、先ほどから言及している内部関係者による悪用が多いため、ここでは述べません。後ほど説明します。\n\n**金融のセキュリティ**\n\n金融のセキュリティというのは非常に敬遠されがちな概念ではありますが、DeFiに関して言えば、ユーザーが最も気にするのはトークンの価格と年率換算のリターンであり、それは高い方がいいし、少なくとも安定した収益であることが必要です。要するに、ユーザーにとって、DeFiではお金を稼ぐのが目的です。たとえ損をしたとしても、多少は納得できますね。\n\nこの部分に対するリスクは：\n\n* プリマイニングやインサイダー取引などの不公平なトークンオファーリング。\n* クジラによる攻撃、いわゆる資金力。\n* 悪質なバンカー、誰が早く相場から逃げ切るかという勝負。\n* 突発的な市場のブラックスワン（例えば、突然の暴落）、またはターゲットとなるDeFiが他のDeFiと相関性がある場合（例えば、AbracadabraとCruve）はリスクは他のDeFiにも及ぶ。\n* フロントランニング、サンドイッチ攻撃、フラッシュローン攻撃など、より技術的な手法もある。\n\n**コンプライアンスのセキュリティ**\n\nコンプライアンスセキュリティは非常に大きなテーマであり、上記で述べたAML（Anti Money Laundering）はそのうちの一つに過ぎません。KYC（Know Your Customer）、金融制裁による地域制限、証券リスク関連の内容などたくさんコンプライアンスセキュリティがあります。実際にユーザーにとっては、このようなルールは我々が対抗できるものではありません。プロジェクトを利用する際に、対象プロジェクトが特定の国のセキュリティ規制を受けている可能性もあるため、個人情報の収集にも問題があるかもしれません。あなたはプライバシーを気にしないかもしれませんが、気にする人もいます。\n\n例えば、2022年初頭に出た小さな事案をご紹介します。ウォレットはAOPP（Address Ownership Proof Protocol）プロトコルをサポートしています。\n\n私がAOPPプロトコルの設計を検討した当時、AOPPをサポートするウォレットがユーザーのプライバシーを損なう可能性があることが判明しました。規制当局は、規制対象の取引所と当局が本来知るはずではない外部のウォレットとの関係を知ることができます。下記を参考にしてください：\n\n>https://gitlab.com/aopp/address-ownership-proof-protocol\n\n多くのプライバシーウォレットがこのフィードバックを重視し、このプロトコルのサポートを削除したのも不思議ではありません。とはいえ、プロトコルの設計としては面白いです。私は、EdgeWalletのように、AOPPのサポートを削除する予定がないウォレットがあることに気づきました。彼らは、AOPPはユーザーのプライバシーはこれ以上は公開されず、規制のある一部の取引所では、アドレスが自分のものであることを証明できない場合、ユーザーが外部ウォレットにトークンを引き出せないことがあるため、AOPPが暗号資産の流動性を増強に寄与できるという主張を持っています。\n\n当初はコールドウォレットとして有名なTrezorはAOPPのサポートを削除しませんでしたが、その後、コミュニティやユーザーの圧力によりTwitterが炎上し、AOPPの削除を妥協しました。\n\nたったこれだけのことのように思えますが、人によっては大きなプライバシー問題となります。ここで言いたいのは、コンプライアンスセキュリティを無視することではありません。むしろ、適切なコンプライアンスの配慮が必要であると私は考えています。このテーマについては長く説明はしないので、自分が納得できるように調べてみてください。\n\nこれで、DeFiセキュリティの主要部分は終了です。\n\nまた、将来の追加や変更によってセキュリティ上の問題が加わることがあるため、「セキュリティは静的ではなく動的である」とよく言われます。例えば、現在多くのプロジェクトでセキュリティ監査が行われ、立派なセキュリティ監査報告書が作成されていますが、良質の報告書をよく読むと、どの時期に何が監査されたのか、その内容の固有の目印（ブロックチェーン上で検証されたオープンソースのアドレスやGitHubリポジトリのコミットアドレス、対象コードファイルのハッシュなど）が明確になっていることが分かると思います。レポートは静的なものであるため、もしレポートの記述と一致しない対象プロジェクトであれば指摘しても良いです。\n\n### NFTのセキュリティ\n\nDeFiのセキュリティについて述べたことは、ほぼすべてNFTのセキュリティにも言えることですが、NFTには以下のような独自のセキュリティリスクがあります。\n\n* メタデータ（Metadata）のセキュリティ\n* 署名のセキュリティ\n\nメタデータは、主に写真や動画などのコンテンツを指します。メタデータの標準に関する具体的な基準は、OpenSeaのものを参照してください：\n\n>https://docs.opensea.io/docs/metadata-standards\n\nここで発生しうるセキュリティ上の問題は、主に2つあります：\n\n* 一つ目は、画像（または動画）があるURIがいい加減な中央集権型サービスなど信頼できないということであり、例えば、不安定であり、またプロジェクト先が画像を自由に変更できるのであれば、NFTの意味がなくなってしまいます。一般的には、IPFSやArweaveなどの分散型ストレージが使われ、有名なURIゲートウェイ・サービスが利用されています。\n* 二つ目は、いい加減なURIがユーザーの基本的なプライバシー（IP、User-Agentなど）を把握できるようになることで、プライバシー侵害の可能性があります。\n\n署名のセキュリティ問題も重大なものであるため、以下で紹介します。\n\n### 署名に注意！\n\n署名プロトコルにはリスクが多く、特にNFTを巡っていくつかのセキュリティ事故が発生しているため言及する必要があります。しかし、この部分のセキュリティに対してうまく対応できない人がまだまだ多いことに気づきました。その理由は、この部分がほとんど明らかにされていないからです。\n\n署名のセキュリティにおける最優先のセキュリティ準則は、「**あなたが見たものに、あなたが署名するものである**」ということです。つまり、見たものに対して署名するということであり、署名した後は期待通りの結果があるべきで、決して後で後悔する結果ではありません。\n\n署名のセキュリティに関する一部のリスクは「コールドウォレット」の部分で紹介しましたが、ここでは他の内容を説明します。\n\nOpenSeaでは、2022年頃にユーザーが保有する有名なNFTが盗まれる事件が複数発生しており、特に2022年2月20日には大きな事件が起こりました。根本的な原因は以下の通りです：\n\n* ユーザーがOpenSeaでNFT（リスティング）の使用権限を与えた。\n* ハッカーは、フィッシングによってユーザーの署名を取得した。\n\nより正しい解釈はこちらをご覧ください（どういうわけか、以下のリンクが無効になっており、Xアカウントも消えてしまいました。）：\n>https://twitter.com/Nesotual/status/1495223117450551300\n\nハッカーは、署名待ちとなる正しいコンテンツを作成してハッシュ化し、ターゲットユーザーを騙して署名を完了させる必要があります（ここではブラインド署名となり、ユーザーは実際に何を署名しているのか分かりません）。ハッカーは署名されたコンテンツを取得してから悪用するデータを作成し、悪事を行います。\n\nNFTのマーケットプレイスの一つ（必ずしもOpenSeaということではない）を取り上げて説明します。 ターゲットユーザーがNFTマーケットプレイスでNFTのリスティング権限を承認すると、攻撃者は署名待ちとなる正しいコンテンツを構築し、Keccak256ハッシュを介して、フィッシングページに署名待ちのコンテンツをポップアップし、ユーザーに次のような内容を見せます。\n\n<img src=\"res/metamask_sign.jpg\" width=\"360\">\n\nよく見てください。MetaMaskがポップアップしたこのウィンドウから何がわかるでしょうか？ アカウントと残高、署名請求のウェブサイト、署名されたメッセージ、それ以外には何もありません...それなのにユーザーが「Sign」をクリックした途端、該当NFTが盗まれるとは、ユーザーにとっては理解できないでしょう。\n\nこれが実際にブラインド署名であり、ユーザーはNFTマーケットプレイスで署名する必要がないにもかかわらず、どのようなウェブサイト（フィッシングサイト）なのか、またユーザーはこれらの署名が実際に何を意味するのかを知らずに、騙されて署名してしまいます。残念ながらハッカーはこの署名の意味を知っています。ユーザーにとって覚える必要があるのはただ一つ、ブラインド署名を拒否することです。OpenSeaでも以前からブラインド署名が存在していましたが、2022年2月20日からEIP-712にアップグレードして改善されています。しかし、ブラインド署名ではなくとも、不注意なユーザーはいます。\n\nこのようなことが起こる最も根本的な理由は、署名がブラウザの同一生成元ポリシーに縛られないからです。同一生成元ポリシーとは、プロジェクト先が意図的に他のドメインでアクションをしたい場合を除き、アクションが特定のドメインの下でのみ発生し、他のドメインで発生しないことを保証すると説明すると、簡単に理解できるはずです。署名が同一生成元ポリシーを持つ場合はユーザーによる署名が完全であっても、非ターゲットドメインで生成されたリクエスト署名は、ターゲットドメインへの攻撃にハッカーは使用できません。このことを利用すれば、プロトコルレベルのセキュリティの改善が早まると期待しています。\n\nこれまで述べた署名のセキュリティは、主な手法をカバーしていますが、実際にはかなりの変化型があります。しかし、解決手段にはあまり大きな違いはありません。一番理解できる方法は、自分で攻撃を最初から最後まで完全再現したり、あるいは独自の攻撃を作ってみることです。ここで紹介した署名は、署名する内容をどのように構築するか、署名の中身は具体的にどうするかなど、細かいところまで考えられています。例えばApprove以外の承認の方法はあるでしょうか（例えばincreaseAllowanceなど）。少し難しいので、ここでは説明しません。署名の重要性を意識できればそれで良いです。\n\nユーザー側では、このような攻撃に対して、承認（approve）を取り消すことで、根本的に対抗できます：\n\n* トークンのApprovals\n    >https://etherscan.io/tokenapprovalchecker<br>\n    >は、Etherscanの公式ブラウザが提供するApproveチェックとキャンセルのためのツールで、イーサリアムチェーン系統のブラウザは大体Etherscanが代わって開発しているため、基本的に同様です。例えば：<br>\n    >https://bscscan.com/tokenapprovalchecker<br>\n    >https://hecoinfo.com/tokenapprovalchecker<br>\n    >https://polygonscan.com/tokenapprovalchecker<br>\n    >https://snowtrace.io/tokenapprovalchecker<br>\n    >https://cronoscan.com/tokenapprovalchecker\n\n* Revoke.cash\n    >https://revoke.cash/<br>\n    >伝統的なブランド、マルチチェーン対応、より強くなります。\n\n* Rabby extension wallet\n    >https://rabby.io/<br>\n    >私が見る限り、Approveチェックとキャンセル機能をサポートするチェーンは、イーサリアムチェーン系が最も多いです。\n\n:warning:**注**：署名の安全性についてより包括的かつ深く理解されたい場合は、下記の私のリポジトリで補足をご覧いただけます：\n\n> https://github.com/evilcos/darkhandbook<br>\n> 署名の安全性に関する知識は初心者にとって全くユーザーフレンドリーではないことは認めざるを得ません。このリポジトリでは、多くの関連する内容がまとめられており、あなたは自由に閲覧することができます。全てを理解することができれば、この分野のセキュリティ知識に対してあなたが負担になることはないでしょう：)\n\n### 反常識な署名に注意！\n\nまだまだリスクはあります。 「**常識に反しているリスク**」を挙げたいと思います。\n\n反常識とは何でしょうか。例えば、あなたはすでにイーサリアムに精通し、DeFiやNFTで遊んでいて、初心者から慕われるような人だったとしましょう。あなたがSolanaで遊ぼうとするとする時に様々なフィッシングサイトに遭遇しても、恐れることなく“これらは全てイーサリアムチェーンで経験済みだから、罠に引っかかるのはあり得ない”と思うかもしれません。\n\nところがごめんなさいね。ハッカーは笑いながら、あなたをまんまと引っ掛けます。反常識なプロセスがあると、人は惰性的なので油断して罠に引っかかることがあるのです。\n\nでは、この反常識の実例を見てみましょう。\n\n<img src=\"res/solana_nft_phishing.jpg\" width=\"800\">\n\n2022年3月5日、あるセキュリティに関する警告をお伝えします：Solanaでの承認請求フィッシングはますます酷くなっています。攻撃者はNFTをユーザーに一括してエアドロップし（図1）、エアドロップされたNFTの説明にあるリンク（www_officialsolanarares_net）からターゲットサイトに入ると、ウォレット（図2）に接続し、\"Mint\"をクリックすると、承認ポップアップが表示されます（図3）。なお、この時点では承認ポップアップ内には特にユーザーが注意するようなものは何もなく、承認されるとウォレット内のすべてのSOLが転送されます。\n\n「承認（Approve）」をクリックすると、ユーザーは攻撃者が設置した悪意のあるスマートコントラクト：3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8vに繋がります。\n\n悪意のあるスマートコントラクトは、結果的にユーザーのほぼすべてのSOLを転送する「SOL Transfer」を開始します。オンチェーン情報から見ると、フィッシングは数日前から行われており、引っかかる人が増えています。\n\nここで気をつけなければならないことが2つあります：\n1. 悪意のあるスマートコントラクトは、ユーザーが承認（Approve）した後にユーザーのネイティブアセット（この場合はSOL）を転送できるが、これはイーサリアムチェーンでは不可能である。承認されたフィッシングはイーサリアムチェーンのネイティブアセット（ETH）を取得することはできず、チェーン上で作られた他のトークン（ERC20トークンなど）を取得することができる。ここに「反常識」があり、ユーザーはそれを軽視する可能性がある。\n2. Solanaの最も有名なウォレットであるPhantomは、「あなたが見たものに、あなたが署名するものである」というセキュリティメカニズムに欠陥があり（他のウォレットはテストしていない）、ユーザーに十分な警告を提供していない。 そのため、セキュリティ問題は発生しやすく、ユーザーがトークンを紛失する可能性がある。\n\n### 一部の高度な攻撃\n\n高度な攻撃は本当にたくさんありますが、そのほとんどは一般的な観点からすると、単に「フィッシングに遭いました」というものです。しかし、このフィッシングは、実は本当に高度なものである可能性があります。例えば：\n\n>https://twitter.com/Arthur_0x/status/1506167899437686784\n\nハッカーが送ったフィッシングメールに添付された文書は：\n>A Huge Risk of Stablecoin (Protected).docx\n\nこれは実に魅力的なドキュメントですね...しかし、この文書を開くと、コンピュータにトロイの木馬を埋め込むことができます（通常はOfficeマクロスクリプトまたは0day/1dayによって）。通常、これらのトロイの木馬は次の機能を備えています：\n\n* ブラウザ、SSH関連などで様々なクレデンシャルハーベスティングを行うため、ハッカーはターゲットユーザーが使う他のサービスにアクセスできるようになる。したがって、トロイの木馬に感染した後、ユーザーは対象デバイスをクリーンアップするだけでなく、すぐに関連するアカウントの権限を変更することが一般的に推奨されている。\n* キーロガー、特にパスワードなど機密性の高いコンテンツなど一時的に表示されるものをキャプチャーする。\n* 関連するスクリーンショット、機密ファイルのキャプチャーなど。\n* もしこれがランサムウェアウイルスであれば、さらに、対象デバイス上の全てのファイルに高強度の暗号をかける。通常、ランサムウェアは被害者がビットコインで身代金を支払うことを待つ。しかし、上記の例はランサムウェアのウイルスではない。何しろランサムウェアは動きが大きすぎるし、意図ももっとストレートである。\n\nこれに加えて、暗号資産業界を標的としたトロイの木馬は、トークンの盗難を行うために、有名なウォレットや取引所から機密情報を収集するなど特殊なものです。上記のトロイの木馬は、専門家の分析によると、MetaMaskに対して特殊な攻撃を行うことが分かっています：\n\n>https://securelist.com/the-bluenoroff-cryptocurrency-hunt-is-still-on/105488/\n\nこのトロイの木馬は、ユーザーのMetaMaskをバックドア付きのMetaMaskに置き換えます。 バックドア付きのMetaMaskとは、その中で使用する暗号資産がすでにあなたのものではなくなることを意味します。コールドウォレットを持っていても、このバックドア付きのMetaMaskは、ターゲットアドレスと金額を改ざんしてトークンを盗みます。\n\nこの種の攻撃は、特に多くの資産を持つ著名人を狙います。私が気づいたのは、一部の有名人はとても傲慢であり、ハッキングされるのは時間の問題です。通常、多くの人はハッキングされた後に失敗から学び、全面的に見直して改善し、信頼できるセキュリティ専門家や組織と長期的な関係や友好関係を維持します。しかし、世の中には常に例外があるように、一度ハッキングされた人やプロジェクト関係者は、二度目、三度目とハッキングされることがあります。もし、毎回異なる複雑なセキュリティ攻撃に遭っているなら、私はこのような人またはプロジェクト先に対してまだ理解できます。しかし残念ながら、多くの人またはプロジェクト先は、他の人が対策できるような低レベルの問題でハッキングされています。そのような人たちやプロジェクト先に近づかないようにしてください。\n\nフィッシング攻撃は、類似したドメイン名のフィッシングサイトを多数用意し、Twitterなどのソーシャルメディア上で数を稼ぎながら拡散させるというものが一般的です。このタイプのフィッシングには特別なものはなく、一般的には、ユーザーのウォレットから関連するトークン（NFTを含む）の承認権限を手に入れてそれらを盗み出します。\n\nまた、XSS、CSRF、Reverse Proxyなどの手法を組み合わせて、攻撃全体をスムーズに行うような高度な攻撃もあります。それらすべてを記載することは不可能なので、Reverse Proxy関連のシナリオで、すでに実際のトークン盗難攻撃の対象となっている、一つの非常にステルス性が高いもの（Cloudflare中間者攻撃）を紹介します。\n\nここで問題なのは、Cloudflare自体が悪であるとか、危険にさらされているということではなく、プロジェクト先のアカウント権限が盗まれた上で、プロジェクト先がCloudflareを利用しているということです。大まかな流れとして、Cloudflareサービスを利用しているサイトであれば、管理画面にWorkersというモジュールがあり、Workersについて下記のような公式説明があります：\n\n優れたパフォーマンス、信頼性向上、規模拡大のために、サーバーレスアプリケーションを構築し、世界中に向けて即座にデプロイできます。具体的な参照先：\n>https://developers.cloudflare.com/workers/\n\n早速テストページを作ってみました：\n\n>https://xssor.io/s/x.html\n\nアクセスすると、次のようなポップアップが表示されます：\n\n>xssor.io, Hijacked by Cloudflare.\n\n実はこのポップアップも、x.htmlの内容全体も、ファイルのものではなく、すべてCloudflareが提供しているものです。原理は以下です：\n\n<img src=\"res/cloudflare_worker.png\" width=\"800\">\n\n上記のコードは単純であり、もし私がハッカーであれば、あなたのCloudflareアカウントをコントロールした後、Workers機能を使っていかなるページにも悪意のあるスクリプトを注入できます。しかし、この時点では、対象ページが密かに乗っ取られて改ざんされていることにユーザーが気づくことは難しく、ターゲットページにはエラーメッセージ（HTTPS証明書エラーなど）が表示されません。プロジェクト先でもこの問題にしばらく気づくことはできず、サーバーや担当者などセキュリティのトラブルシューティングに多くの時間を費やしてしまう可能性があります。こうなると、損害は大きくなっていきます。\n\n多くのWebサイトやサービスにとって、Webファイアウォール、DDoS攻撃からの防御、グローバルCDNの高速化、リバースプロキシなどを行うのに、Cloudflareはたしかに非常に良いものです。無料版があるので、多くのユーザーはCloudflareおよびAkamaiなどのCloudflareに似たサービスを利用します。\n\nユーザーは、この種のアカウントのセキュリティには注意しなければなりません。アカウントのセキュリティ問題は、インターネットが普及して以来、いつの時代においても世界中のあらゆる場所でずっと語られてきたものの、アカウントのセキュリティが原因でハッキングされる人が未だに多すぎるのは事実です。例えば、重要なサービスのパスワードに対して、一時的で強力なパスワードを使わない、（1Passwordなどのパスワードセキュリティ管理ソフトの普及率がまだ低い）、多重認証（2FA）はオンにするのを面倒くさがる、あるいはその存在や使い方を知らないなどです。サービスによって、少なくとも年に一度はパスワードの再設定が必要なことも事実です。\n\nさて、高度な攻撃の紹介はここまでです。あなたにとっては、まさに「ダークフォレスト」であることを理解し、できる限り様々な攻略法を学んでいけば良いのです。多くの事例を見て、自分でもいくつかセキュリティ問題に遭遇すれば、少なくともサイバーセキュリティの初心者にはなれます。\n\n## 従来の個人情報保護\n\nここまで学習したことは、簡単ではありません。従来の個人情報保護について、私は2014年に以下のような文章を書きました：\n\nプライバシーについて、自分を守るためにいくつかのコツを身につける必要があります<br>\n>https://evilcos.me/yinsi.html\n\n今、この記事を読み返しても、当時のアドバイスの大部分はまだ通用します。この記事は特に入門編的なものなので、まずはこの記事の内容を理解してください。以下に新たな内容を紹介します。プライバシー保護は、セキュリティと密接な関係があります。要するに、セキュリティの対象は、あなたのプライバシーです。もちろん秘密鍵などもプライバシーの一種です。また、従来のセキュリティの話だから気にする必要はないと思ってはいけません。従来のセキュリティは土台であり、土台が安全ではなければ、プライバシー保護の土台もなくなり、土台の上の全てのものも安全ではありません。\n\nここには、私が強く薦めるする2つの資料があります：\n\n一つ目は：\n\n>SURVEILLANCE SELF-DEFENSE<br>\n>TIPS, TOOLS AND HOW-TOS FOR SAFER ONLINE COMMUNICATIONS<br>\n>https://ssd.eff.org/\n\nSSD（SURVEILLANCE SELF-DEFENSE）すなわち監視からの自衛について、非常に有名な電子フロンティア財団（EFF）が、常にトラッキングが横行するインターネットの世界において、ビッグブラザー（Big Brother、大手インターネット会社の意味）から監視させない方法を示すガイドブックを作成しました。その中では、便利なツール（Tor、WhatsApp、Signal、PGPなど）が多数紹介されています。\n\n二つ目は：\n\n>Privacy Guide: Fight Surveillance with Encryption and Privacy Tools<br>\n>https://www.privacytools.io/\n\nこのサイトは、関連するツールをリストアップすることに特化しており、非常に充実した内容になっています。特に暗号資産取引所やウォレットなどを推奨しています。なお、私はこのサイトに掲載されているツールの多くを使用していませんが、これは私なりのやり方があるからです。皆さんも徐々に自分なりのやり方を確立し、比較・改良を続けてください。\n\nここでは、とにかく使いこなさなければならない、あるいは使ってみなければならないと思われるツールを中心に紹介します。\n\n### オペレーティングシステム（OS）\n\nWindows 10（及び10以降のバーション）とmacOSはどちらもそれなりに安全なので、好きなOSを選べばいいと思います。管理できるのであれば、UbuntuなどのLinuxや、TailsやWhonixのようなプライバシーやセキュリティに対して極めて強いOSを使うのも自由です。\n\nOSに関して最も簡単なセキュリティルールは、システムのセキュリティアップデートを重視し、アップデート可能であればすぐに更新することです。あとは、OSに関する操作技術です。WindowsとMacのパソコンで学ぶべき操作技術は何かと聞かれることが多いです。クリックだけでしょうか？ もちろん、それだけでは足りません。セキュリティ初心者の場合は、評判が良く、Macでも利用できるKasperskyやBitDefenderなどのアンチウイルスソフトをインストールすることが絶対条件です。\n\nそして、先ほどのダウンロードのセキュリティルールを思い出してください。無差別にプログラムをダウンロードしないことで、すでにほとんどのリスクを排除できます。\n\nそして、パソコンを紛失したり、盗まれたりした場合のことも考えてみてください。パソコンの起動パスワードだけでは足りません。もしディスクが暗号化されていないなら、悪者はディスクを取り出し、中のデータを盗むことができます。この際に、重要なパソコンにはディスクの暗号化保護を設定することをお勧めします。下記をご参考ください：\n\n>https://docs.microsoft.com/zh-cn/windows/security/encryption-data-protection<br>\n>https://support.apple.com/zh-cn/HT204837\n\nまた、以前はTrueCryptという名前だったディスク暗号化ツールのVeraCryptというのもあり、こちらは非常に強力なツールです。興味があれば、勉強して使ってみてください：\n\n>https://veracrypt.fr/\n\nさらに、BIOSやファームウェアのパスワードを有効にする必要もありますが、これをやるかはお任せします。該当するパスワードを覚えていないと、誰もあなたのことを救えないことを覚えておいてください。私はこのことを経験したことがあります。ノートパソコンと少しの暗号資産と1週間分の時間を無駄にしましたが、貴重な経験を得ました。\n\n### スマートフォン\n\nスマートフォンは主にiPhoneとAndroidシリーズだけになってしまい、かつて私が愛用していたBlackberryなどは廃れてしまいました。以前、Androidのセキュリティが不安視されていた原因の一つ目は開発初期段階であったこと、二つ目はバージョンが多く、スマートフォンブランドごとに独自のフォークバージョンを持っていたことです。今はセキュリティも良くなってきています。\n\nスマートフォンの場合、システムセキュリティの更新やダウンロードのセキュリティルールにも留意し、以下のことに注意してください：\n\n* セキュリティの研究ではない限り、ジェイルブレイク（ユーザー権限の制限を突破する）やルートクラックはやめましょう。\n* セキュリティに関するベテラン以外の人は、非公式のマーケットプレイスからアプリをダウンロードするのはやめましょう。また、公式マーケットプレイスからダウンロードしたアプリでも偽物が多いので、見分ける注意が必要です。\n* 公式のクラウドサービスを利用する前提は、アカウントのセキュリティに問題がないことが確認できる場合のみです。そうでない場合はクラウドがコントロールされ、あなたのスマートフォンにトラブルが発生します。\n\n私自身は、iPhoneに依存しています。\n\n### ネットワーク\n\n以前のネットワーク・セキュリティは最悪でしたが、特にHTTPS Everywhereポリシーが普及してからは、ここ数年で徐々に良くなってきています。万が一、ネットワークハイジャック（中間者攻撃）が発生した場合は、システムから対応するエラーメッセージが表示されます。ただし、例外もあります。インターネットを利用するときは、必ず安全なものを選ぶようにしましょう。特にセキュリティの高い4G/5Gネットワークが普及しているのであれば、電波状態が悪く、急いで使う必要がある場合を除いて、見慣れないWi-Fiには接続しないようにしましょう。\n\nもし、あなたがセキュリティを非常に重視するなら、とても重要で機密性の高いデバイスには、別のネットワークを準備することを検討すべきです。評判の良いルーターやオペレーターを選び、そこで高度な不正行為が発生しないことを祈りましょう。\n\n### ブラウザー\n\nブラウザはChromeとFirefoxが主流ですが、暗号資産業界ではBraveを使っている人もいます。また知名度が高く、強力なチームを持っているところは、セキュリティアップデートをより多く行っているでしょう。ブラウザセキュリティの話題は非常に幅広いので、あなたにとっては、以下の点を意識するだけで大丈夫です：\n\n* 常に、アップデートがあれば更新してください。\n* 拡張機能をインストールする必要がない場合はしないでください。評判、ユーザーの規模、有名企業がその背後にいるのかを調べた上で、拡張機能の権限に気をつけてください。また、拡張機能はブラウザ独自のアプリストアから取得しなければならないということにも注意してください。\n* 複数のブラウザを共存できますが、重要な操作は一方のブラウザで行い、その他の日常的で重要でない操作はもう一方のブラウザで行うことを強く推奨する。\n* プライバシー保護のための有名な拡張機能（uBlock Origin、HTTPS Everywhere、ClearURLsなど）は、個人の好みに応じて利用できる。\n\n私は、Firefoxの昔からある拡張機能であるNoScriptも使っています。NoScriptは、昔JavaScriptの不正行為に対抗するための素晴らしい方法でした。現在、同一生成元ポリシー、CSPセキュリティポリシー、クッキーセキュリティポリシー、HTTPのセキュリティレスポンスヘッダーポリシー、拡張機能セキュリティポリシーなど、ブラウザのセキュリティはますます強化され、NoScriptなどのセキュリティ拡張機能が使用できる余地は少なくなっているので、興味のある方はお試しください。\n\n### パスワード管理ソフト\n\nパスワード管理ソフトをまだ使っていない人は、パスワード管理ソフトを使うことによるセキュリティ上の利点を知らないか、あるいは自分の記憶力が高いかのどちらかでしょう。先に述べたように、脳（記憶力）のリスクは、まず、時間により記憶を薄れさせたり、失念させたりします。また、自分自身が事故に遭う可能性があります。いずれにせよ、脳で記憶するとともに、パスワード管理ソフトは、1Password、Bitwardenなどの有名なものを使うことをお勧めします。\n\nこの部分については、あまり説明する必要はないでしょう。このテーマに関する説明はすでに非常に多く存在するため、私からは必要ありません。\n\n気をつけるべきなのは以下のことです：\n\n* マスターパスワードを絶対に忘れないようにしましょう。マスターパスワードに関連するアカウント情報を盗まれないようにしましょう。\n* 常に電子メールが安全であることを確認してください。電子メールが盗まれた場合は、パスワード管理ソフト内の機密コンテンツが漏れることはありませんが、悪者はそれを破壊することができます。\n* 私が紹介したツール（1Passwordなど）の安全性を常に検証し、セキュリティ事故や口コミ、開発状況などを常にチェックしていますが、これらのツールのセキュリティレベルが絶対的に高いとは断言できません。将来的にブラックスワン事件が起こらないとも断言できない。\n \n一つだけ評価できることは、1Passwordのセキュリティのページで、次のように解説がある：\n>https://1password.com/zh-cn/security/\n\nセキュリティ設計のコンセプト、プライバシーやセキュリティに関する権威ある認証、セキュリティ設計のホワイトペーパー、セキュリティ監査報告書などを収録しています。このコンテンツの透明性とオープン性により、我々のような業者による検証も容易になります。これはプロジェクト先が見習うべき点です。\n\nBitwardenはさらに徹底的で、サーバーサイドも含めて完全にオープンソースであり、誰もが検証や監査、貢献できます。\n\n1PasswordとBitwardenは、以下のような明確な意図を持ってこのようなことを行っていることに気づきましたか：\n\n>我々は非常に安全で、プライバシーに対して非常に配慮しています。我々自身がただ言っているだけではなく、第三者機関もそう言っています。あなたが検証できるように、多大なコストをかけてオープンソースにしました。もし我々が約束したセキュリティ基準を達成していなかったら、あなたはすぐに気づくでしょう。\n\n要するに、セキュリティへの自信というものですね :)\n\n### 二段階認証\n\nインターネット上のIDセキュリティの第一層はパスワードに依存し、第二層は2段階認証に依存しており、第三層はターゲットプロジェクト自体のリスクコントロール能力に依存しています。2段階認証が常にスタンダードとは言い切れません。例えば、分散型ウォレットを使っている場合はパスワードがあるだけで十分複雑な構造なので（現在はユーザーエクスペリエンスが向上しており、基本的に顔や指紋などの生体認証があります）、2段階認証は無くても良いと思う人がいます。しかし、中央集権型のプラットフォームでは、2段階認証が無くてはいけません。 中央集権型のプラットフォームは、誰でもアクセスできるため、もしパスワードが盗まれた場合は口座へのアクセスができなくなり、資金も失われることになります。一方、分散型ウォレットにおけるパスワードはローカルで行われる認証に過ぎず、ハッカーはそのパスワードを入手したとしても、ウォレットがあるデバイスにアクセスする必要があります。\n\n違いがわかりますか？もちろん、パスワード管理ソフト（1Passwordなど）を使っている場合は、2段階認証の機能がついているので非常に便利です。いずれにせよ、2段階認証を無くなったら本当に面倒なことになるので、バックアップを忘れないようにしましょう。\n\nまた、2段階認証は広い概念で捉えることができます。例えば、アカウントとパスワードで対象プラットフォームにログインする場合、通常、私たちのアカウントは電子メールや携帯電話番号です。この場合、電子メールや携帯電話番号にログインするための認証コードが届くので、これも2段階認証といえます。しかし、この方法は、例えばメールアドレスがハッキングされたり、携帯電話のSIMカードが乗っ取られたり、メールやSMSを送信する第三者となるサービスがハッキングされると、プラットフォームから送信された認証コードが見られてしまうため、セキュリティはあまり良くありません。\n\n### VPN\n\nこの分野について言えることは多くありませんが、良く知られていることをご紹介します。自分で構築できるのであれば、それはセキュリティをコントロールできるということです。\n\n自分で構築したVPNでない限り、中間者攻撃がないとは言い切れません。先ほども言いましたが、特にHTTPS Everywhereのポリシーが普及した現在のインターネット環境は以前ほど悪くありません。しかし、問題が無さそうに見えるのは表面上だけであり、裏では簡単には気付くことができない罠が存在する場合もあります。だからこの分野に関するセキュリティのアドバイスは特にありません。VPNを自分で構築するのはハードルが高いですが、乗り越える価値はあります。\n\n### 電子メール\n\n電子メールは実に重要なWebベースのアイデンティティであり、私たちは電子メールを使って様々なサービスにサインアップしています。使っている電子メールのほとんどは無料であり、まるで空気のように無くならないと思っているかもしれません。もし、ある日突然、電子メールが消えてしまったらどうなるでしょうか？そうなれば、メールアドレスに依存するサービスの数々が使えなくなります。戦争や自然災害が発生した場合、このような極端なケースが無いわけではありません。もちろん、実際にこのような事態が起こった場合は、生き残ること以外はそれほど重要ではありません。\n\n電子メールは、GmailやOutlook、QQMailなど、有名なものを選ぶのは必然です。たまたま、私は以前にこの分野をセキュリティの研究対象にしていたのですが、あなたにとっては、これらの電子メールのセキュリティは十分高いでしょう。しかし、このような電子メールを使ういかなる時もフィッシング攻撃に注意してください。すべてのメールに注意が必要というわけではなく、特にメールに添付されたリンクや添付ファイルにウイルスやトロイの木馬が潜んでいる可能性があります。\n\n電子メールに対する高度な攻撃に遭遇した場合は、大丈夫かどうかは運次第です。\n\nこれらの有名な電子メールサービスの他に、プライバシーを気にするのであれば、ProtonMailとTutanotaという2つの評判の良いプライバシー電子メールがあります。私のアドバイスとしては、プライバシー電子メールは特別にプライバシー配慮が必要なサービスを使うためだけに利用します。注意すべきなのは、もし長い間使わないのであれば、無料で利用した電子メールは削除されてしまうかもしれません。\n\n### SIMカード\n\nSIMカードや携帯電話番号は、重要な本人確認手段です。電子メールと同じくらい重要です。大手事業者が長年にわたって携帯電話番号のセキュリティを守っています。例えば、SIMカードの解約や再発行には厳しいセキュリティ認証プロセスがあり、これらはすべて各店舗で行われます。SIMカード攻撃の事例をあげてみましょう：\n\n2019年5月に、ある人のCoinbaseアカウントがSIM Port Attack（SIMカード移転攻撃）を受け、10万ドル以上の暗号資産が失われるという非常に大きな事件がありました。攻撃は、大体次のように行われました：\n\n攻撃者はソーシャルエンジニアリングなどの手法を用いてターゲットユーザーのプライバシー情報を取得した後、携帯事業者に新しいSIMカードを取得し、同じ携帯電話番号を使ってターゲットユーザーのCoinbaseへアクセスしました。SIMが移転されたことは非常に厄介な問題です。基本的にオンラインサービスの多くは、二次認証や直接認証に携帯電話番号を使用しており、中央集権型の認証手段のため、携帯電話番号に攻撃されやすいです。\n\n詳細な分析結果は、以下のサイトでご覧いただけます：\n>https://medium.com/coinmonks/the-most-expensive-lesson-of-my-life-details-of-sim-port-hack-35de11517124\n\nこれに対する防御策は実に簡単で、よく知られた2段階認証を有効にすることです。\n\nまた、携帯電話を紛失したり盗まれたりした場合、SIMカードが抜き取られて使用されるというリスクもあります。私は、SIMカードにPINコードを設定し、電源を入れたり新しい携帯に変更するたびに正しいコードを入力しなくてはいけないようにしています。具体的な方法は自身で確認してみてください。念のために伝えておくと、このPINコードを忘れると、非常に面倒です。\n\n### GPG\n\nGPGについて多くのことは前段で紹介されていますが、ここでは、少し詳しく説明します：\n\nPGP、OpenPGP、GPGという一見似たような用語に出会うことがあるので、ここで簡単に区別しておきましょう：\n\n* PGPはPretty Good Privacyの略で、30年以上前から発売されている商用暗号化ソフトであり、現在はシマンテック社の傘下に入っています。\n* OpenPGPは、PGPから派生した暗号化規格です。\n* GPGは、GnuPGの略で、OpenPGP規格に基づいたオープンソースの暗号化ソフトウェアです。\n\n根底であるレイヤーは似ており、GPGを利用することで互換性を持たせています。面倒なことをせずに、GPGを使って暗号化のセキュリティを向上させることを強くお勧めします。\n\n### 環境の隔離\n\n環境の隔離を作る上でのセキュリティ基準の本質は、「ゼロトラスト」のセキュリティ原則です。どんなに強くても、外部の人間や内部の人間、あるいは自身がハッキングされるのは時間の問題であると考えなければなりません。ハッキングされたら、まず損を食い止めることです。損を食い止めるプロセスは、多くの人に見落とされているため、一度のハッキングから次々とさらにハッキングされる可能性があります。その原因は、環境の隔離という一見粗雑なセキュリティ準則が多くのセキュリティ設計には存在していないからです。\n\n優れた環境隔離の習慣があれば、たとえハッキングされても、ハッキングされた対象のプライバシーだけを失うだけで、他のプライバシーを侵害することはないでしょう。例えば：\n* 1つのアカウントがハッキングされたときに、同じパスワードで他のアカウントが危険にさらされることはないでしょう。\n* 全ての暗号資産が1つのニーモニックフレーズの下に管理されなければ、罠にかかった時に資産がゼロになることはありません。\n* もしあなたのパソコンがウイルスに感染しても、そのパソコンの中にプライバシー情報が無ければ、パニックになる必要はなく、OSを再インストールすることでほとんどの問題は解決することでしょう。仮想マシンの扱いが得意なら、なおさらスナップショットを利用して復元すれば良いです。仮想マシンツールとしては、VMwareやParallelsなどがあります。\n* 上記は、少なくとも2つのアカウント、2つのツール、2つのデバイスを持つことができます。慣れれば、別に完全なバーチャルアイデンティティを作ることも可能です。\n\n私は以前にプライバシーは保護されるべきものではなく、コントロールすべきものという、比較的極端な指摘をしたことがあります。\n\nその理由は、現在のインターネット環境では、実質的にプライバシーは非常に侵害されているからです。個人情報保護関連の法整備が年々盛んになり、人々がより真剣に向き合うようになったことは良いことです。確かに全て良い方向には向かっています。しかし、今回挙げたことをマスターすれば、プライバシーを自由にコントロールできます。インターネットに慣れれば、いくつものバーチャル・アイデンティティを持つことができます。\n\n## ヒューマンセキュリティ\n\n何と言っても、人自身は最大にして永遠のリスクです。『三体』の中に、“弱さや無知は生存の妨げにならないが、傲慢さは妨げになる”という言葉があります。\n\n* 傲慢にならないこと：自分がすでに強いと思っていても、世界のハッカーに挑戦するほど傲慢になる必要はありません。学びには終わりがありません。\n* 欲張らないこと：確かに、欲は多くの場合に前進するための動機となりますが、よく考えてみてください。なぜこのような素晴らしい機会があなたに用意されているのでしょうか？素晴らしい機会は罠であるかもしれません :)\n* 衝動的にならないこと：衝動的な行動は悪魔であり、確信がない取引はギャンブルです。\n\n他にも人に関わるリスクが山ほどあるため書ききれません。下記のことは特に要注意です。悪者は、一部のプラットフォームの利便性を利用して、ユーザーを騙します。\n\n### Telegram\n\n私は以前に、Telegramは最大のダークウェブだと言ったことがあります。まず初めに、Telegramは機能が強く安全で、安定していて、さらにオープンソースなものであるが故、多くの人に好まれているサービスです。しかし、Telegramは悪者にも好かれています。Telegramは非常に優れているため、多くのユーザーベースを持ち、機能も十分にオープンです。あらゆる種類のBotサービスを非常に簡単にカスタマイズできるため、暗号資産と組み合わせることで多様な取引方法を提供することができます。これはTorネットワークのダークウェブマーケットプレイスより良い体験です。しかも、ここにはたくさんのカモとなるターゲットがいます。\n\nソーシャルアカウントの設定は、基本的にユーザー名やXX番号といったものだけで、それ以外は完全に悪者が再利用できます。ソーシャルプラットフォームによっては、青いV字をつけるなどして、アカウント認証の仕組みがあるものもあります。パブリックアカウントなら、フォロー状況、投稿コンテンツ、コンテンツの交流などによって、アカウントが本物かどうかを確認するための指標もあります。プラベートアカウントなら検証は少し難しいですが、Telegramのように、一緒に入っているGroupを確認できる機能はなかなか良いです。\n\n抜け道があって儲かるとなると、悪質な業者がそこに集中するのが常です。\n\n例えば、グループでチャットをしていたら、公式のカスタマーサービスのような人から突然プライベートチャットが来て（プライベートチャットはテレグラムの仕組みなので、友達に追加する必要はない）、一部の人は罠に引っ掛けられます。\n\nさらに、自分以外はすべて偽者である別のチャートグループにそのまま引きずり込まれてしまうこともあります。でも、一見見ただけだと本物だと思いますよね。闇市にあるチャートグループのクローン技術とは、このことを指しています。\n\nこれらは初歩的で人為的な罠であり、より高度な罠は脆弱性を利用し罠を組み合わせて使われるため、防ぐことがより難しくなります。\n\n### Discord\n\nDiscordは、ここ2年間で普及した新しいソーシャル・ネットワーキング・プラットフォームです。チャットやグループなどの基本機能を備えていますが、中核となる機能は、公式サイトで記載されているように、独立したコミュニティサーバー（従来のサーバーではない）です：\n\nDiscord は、友人や家族、コミュニティメンバーと話したり遊んだりできる場所を作ることに注力しています。Discordには、昔からの友人で構成される小さなグループから、何千人もの人々が共通の興味でつながっている大規模なサーバーまで、何百万もの異なるコミュニティが存在します。\n\n一見素晴らしいように見えますが、実はセキュリティ設計の難易度は高いです。具体的なセキュリティルールやポリシーに次のような記載があります：\n\n>https://discord.com/safety\n\nしかし、残念ながら、多くの人はこれをじっくり読もうとはしないでしょう。また、セキュリティにおける核心的な問題については、攻撃者の視点から説明しなくてはいけないものもあるため、Discordのスタッフでも明確に説明できるわけないのが現状です。\n\nここではその一つのことを紹介します：\n\nDiscordでNFTの盗難が多発していますが、攻撃手法におけるキーポイントは何でしょうか。 これがはっきりしないと、Discordのセキュリティアドバイスはあまり役に立ちません。\n\n多くのプロジェクト先のDiscordサーバーがハッキングされる際の技術的なキーポイントは、Discord Tokenです。実はHTTPリクエストヘッダーのauthorization部分の内容です。ハッカーは、このDiscord Tokenを手に入れる方法が見つけられれば、ターゲットのDiscord権限をほぼ完全にコントロールできます。つまり、ターゲットが管理者や管理者権限を持つ人、またBotであれば、ハッカーはこれらの権限を悪用できます。\n\n例えば、Discord内でNFTのフィッシングサイトが公開された場合、公式による通知なので、フィッシングサイトにユーザーは殺到してしまうでしょう...\n\nDiscordのアカウントに2段階認証を追加してもいいのでしょうか、という質問をする方がいます。これは間違いなく良い習慣ですが、上記の攻撃手段に対しては効果がありません。Discord Tokenは2段階認証を有効にしているかどうかは関係無いので、もしハッキングされた場合は、Discord Tokenをリフレッシュできるように、すぐにDiscordパスワードを変更する必要があります。\n\nハッカーがどうやってDiscord Tokenを入手したかについては、少なくとも3つの主な手法が明らかになっているので、後ほど書きます。一般的なユーザーにとっては、「急がない」「欲張らない」「何度も検証する」というのが、一番重要なポイントです。\n\n### 「公式」によるフィッシング\n\n悪人は特に公式を利用するのが本当に上手い。例えば上記の偽のカスタマーサポートなどのように、可能な限りそっくりに作られます。2022年4月初め、コールドウォレットとして有名なTrezorの多くのユーザーがTrezorの公式ドメイン名ではなく、接尾辞が異なるtrezor.usからフィッシングメールを受け取っています。Trezorの公式サイトはtrezor.ioであり、trezor.usではありません。フィッシングメールでは、以下のドメイン名が拡散されました：\n\n>https://suite.trẹzor.com\n\n<img src=\"res/trezor_phishing.jpg\" width=\"800\">\n\nこのドメイン名には「面白いポイント」があります。よく見るとẹは英語のeではありません。非常に紛らわしいのですが、実はこれはPunycodeであり、標準の説明には次のように書かれています：\n\n>A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)は、UnicodeとASCIIコードどちらも表現できる限られた文字セットです。\n\ntrẹzorを上記のコードに当てはまると次のようになります：xn--trzor-o51b、これがtrẹzorの本質です！\n\nPunycodeを利用したフィッシングは、数年前にも実際に活用されていました。例えば2018年にはBinanceの一部のユーザーが餌食になったことがあります。\n\nこのようなドメインのフィッシングには多くの人が騙される可能性があります。さらにもっと高度な攻撃である場合は、例えば一部の公式メールがコントロールされたり、ユーザーのメールボックスのSPF設定の問題によるメール偽造攻撃などが起こりうります。この場合、ユーザーの目に映るメールの送信元は公式と全く同じものです。\n\nもし悪事を働いているのがプロジェクト内部の人間であれば、ユーザーはただ祈ることしかできません。プロジェクト側のセキュリティリスク管理では「ヒューマンセキュリティ」に対して、最もコストと労力をかけて常に構築する価値があり、特別な注意を払う必要があります。人は最大のトロイの木馬でありながら、最も無視されやすい存在です。セキュリティに対する意識が本当に低く、何も考えていない人がいます。そういう人は、プロジェクトに採用すべきではありません。\n\n### Web3におけるプライバシー問題\n\nWeb3の普及に伴い、Web3インフラやソーシャルプラットフォームなど、面白いものからつまらないものまで様々なプロジェクトがますます出現しています。これらのインフラは、膨大な量のデータ分析を行い、ブロックチェーンだけでなく、Web2.0の有名なプラットフォーム上でも、ターゲット対象の様々な行動パタンーを偶然に発見することがあります。ターゲットユーザーの行動プロファイルができてしまえば、ターゲットユーザーは基本的に透明人間になってしまいます。Web3のソーシャルプラットフォームの出現は、これらのプライバシー問題を悪化させる可能性があります。\n\n考えてみてください。署名によるバインディングやチェーン上の様々なインタラクションなど、Web3関連のあらゆるものを触るとき、あなたは自分のプライバシーを解放していませんか？多くの人はそうではないと思っていますが、実際には、どのNFTを集めるのか、どのコミュニティに参加しているか、どのホワイトリストに載っているか、誰とつながっているか、どのWeb2アカウントとつながっているか、また何時に活動しているかなど、多くの情報が組み合わさることで、より包括的な行動プロファイルを作り出すことができます。このように、ブロックチェーンは時にプライバシーを侵害します。プライバシーを重視するなら、新しいものにはすべて注意し、自分のアイデンティティを切り分けるような良い習慣を身につける必要があります。\n\nこのとき、秘密鍵が盗まれてしまうと、失われるのはお金だけでなく、大切にしていたWeb3の権利や利益もすべて失われてしまうのです。秘密鍵はよくIDと呼ばれますが、まさにIDそのものです。\n\nヒューマンセキュリティの部分は以上です。長々と説明しませんので、お手本を見て学んでください。\n\n決して人の本性をテストするようなことはしないでください。\n\n# ブロックチェーン上の悪質な手口\n\nブロックチェーン技術の登場により、私たちが生業とする業界が誕生しました。ブロックチェーン、デジタル通貨、Crypto、Web3など、どのように呼ばれようとも、すべての核心はブロックチェーンであることには変わりありません。特に、最も活気がある非代替性トークン（NFT、デジタル・コレクティブルとも呼ばれる）を含むトークンなど、金融活動に関連するものばかりです。\n\nこの業界は非常に魅力的であるものの、悪質な手口も多すぎます。それぞれのブロックチェーンの独自性により、よりユニークな手法も出現しています。これらは大きく分けて、トークンの盗難、悪質なマイニング、ランサムウェア、ダークウェブ取引、トロイの木馬のC2中間転送、マネーロンダリング、ギャンブルなどがありますが、2019年1月にマインドマップを作りましたので、参考までにご覧ください：\n\n>https://github.com/slowmist/Knowledge-Base/blob/master/mindmaps/evil_blockchain.png\n\nまた、私たちが常に更新・維持しているSlowMist Hackedブロックチェーンハッキングアーカイブには、歴史的な事例がたくさんあります：\n\n>https://hacked.slowmist.io/\n\nこのハンドブックにはセキュリティの要点がたくさん書かれているので、それを自分で理解できたのなら本当に素晴らしいです。それぞれの悪質な手口については、私は説明しないので、興味があれば自分で勉強してください。手口は常に新しいものが出てきて、バリエーションが増えていくことは言うまでもないですが、もっと勉強したほうがいいに決まっています。もしあなたの知識が増えたのならば、この業界がより良くなるよう、あなたの参入を期待しています。\n\n# パソコンがウイルスに感染したらどうすればいいですか？\n\n多くのハッカー集団がパソコンにウイルスを仕込むことを好んでおり、一般的には高度な技術（例えばブラウザの0day）ではなく、すべて社会工学的手法による誘導です。投資家、記者、HRなどを装って会議の名目で偽の会議ソフトウェアのインストールを誘導するもの、Telegram Safeguardを名乗って人間認証が必要だと偽り、悪意のあるコードをユーザーに貼り付けてローカルで実行させるもの、Cloudflareの人間認証を装って同様に悪意のあるコードをユーザーに貼り付けてローカルで実行させるものなどがあります。\n\nこれらの誘導手口の参考：\n>https://x.com/SlowMist_Team/status/1899713751625969997\n>https://x.com/SlowMist_Team/status/1880520294496104827\n>https://x.com/SlowMist_Team/status/1888879128172241000\n\nもしあなたが引っかかってしまった場合、運を天に任せるような気持ちを抱かず、君子危うきに近寄らずという精神に基づいて…以下のオペレーションを速やかに行うべきです：\n\n　１、パソコンでウォレットを使用している場合（秘密鍵/ニーモニックフレーズのバックアップファイルを含む）、中の資金はすべて速やかに安全に移動させるべきです。ウォレットにパスワードが付いているから大丈夫だと思わないでください…\n　２、パソコン上の重要なアカウントのパスワード、例えばTelegram/X/メール/取引プラットフォームのアカウントなど（ブラウザに保存したパスワードやログインしたことのあるアカウントを含む）は、パスワードを変更し、2FAを変更し、これらのアカウントに知らないデバイスからのログインがないか確認してください。運を天に任せないでください。\n　３、AVG/Bitdefender/Kaspersky/Malwarebytesなどの有名なアンチウイルスソフトをインストールして、パソコンを徹底的にスキャンしてください。どれを使うかは自分で決め、有料版を使用してください。不安なら2つの有料版で購入し、順番にインストールして使ってもいいです…\n　４、それでも不安なら、重要なファイルなどをバックアップした後、パソコンをリセットするのも一つの手です…その後、3に戻り、バックアップしたファイルをすべてウイルススキャンしてください…\n \nついでに強調しておくと、これらのウイルスを仕込む攻撃はWindowsだけでなく、Macパソコン（一部Linuxにも対応している場合もあります）を対象としています。\n\n# 盗難に遭ったときの対処法\n\n今回、ハッキングされるのは時間の問題だと言いました。では、ハッキングされたとき、あるいは暗号資産が盗まれたときはどうすればいいのでしょうか。簡単に本題へ入っていきましょう。以下の手順は必ずしもこの順番通りではなく前後する場合もありますが、大まかにはこのような感じです。\n\n## まずはストップロス\n\nストップロスは、これ以上損失が拡大しないようにすることです。これは少なくとも2つの段階に分かれます：\n\n* 緊急性を要する段階： ハッカーがあなたの資産を次々と移動させているのが見えている時、あなたは何かを考えている場合でしょうか？ともかく急いで、残りの資産を安全に移管してください。トレードのフロントランニングの経験がある方は、フロントランニングをしてください。資産の種類にもよりますが、オンチェーンで凍結できる資産なら、可能な限りすぐにプロジェクトまたは企業に連絡して資産を凍結してください。オンチェーン追跡と分析ができるのであれば、中央集権型のプラットフォームに転送された資金を発見した場合はすぐにプラットフォームに連絡して被害を受けた資産を凍結してください。\n* 制御後の段階： 状況が安定した後は、いかに二次被害、三次被害を出さないかを考えるべきです。\n\n## 現場を守る\n\n異変に気づいたら、とりあえず冷静に3回深呼吸をした後、盗難の現場を守らなければなりません。 参考までに、いくつかの経験を紹介します：\n\n* パソコンやサーバーなどネットワークに接続された機器については、これらが主な盗難現場となった時点で直ちにインターネットの接続を切ります。しかし電源はシャットダウンしません（電源はオンにする）。破壊的なウイルスで、コンピュータをシャットダウンしないと、ローカルシステム上のすべてのファイルがウイルスによって破壊されるという話もありますが。確かに間違いではないですが、それはあなたの反応がウイルスより早ければの話です...\n* 自分で処理できる場合を除き、セキュリティの専門家によるフォレンジック分析を待ちます。\n\nこれは非常に重要なことですが、私たちが分析を行うまでに、現場が混乱し重要な証拠（ログやウイルスファイルなど）さえも全て失われているような状況に何度も遭遇しています。犯罪現場が十分に保存されていない場合、その後の分析やトレーサビリティに大きな支障をきたすことがあります。\n\n## 原因を分析する\n\n原因を分析する目的は、ハッカーを理解した上でハッカーのプロファイルを作ることです。その時に、インシデントレポートが非常に重要でPost Mortem Reportとも呼ばれます。\n\nトークンが盗まれて相談に来られる方と何度も会いますが、明確な事故報告書を作成することはおろか、自分の気持ちを明確に表現することも非常に困難な方が多いです。しかし表現というのは、練習して引き出したりするものだと思います。例えば、少なくとも次のようなことを説明する必要があります：\n\n* まとめ1：誰が、いつ、何が起きて、被害総額は？\n* まとめ2：損失に関するウォレットアドレス、ハッカーのウォレットアドレス、トークンの種類、数量など。これが表にまとまっていると分かりやすいと思います。\n* プロセスの説明：ここが最も難しいところです。ここでは、事件におけるプロセスのあらゆる側面を記述する必要があります。これはハッカーによる様々な痕跡を分析し、ハッカーのプロファイルを作成することに繋がります（動機も含む）。\n\n具体的にドッキングする際には、より複雑な質問内容が含まれています。人間の記憶力に問題がある場合もありますし、重要な情報が意図的に隠されたことで、時間を無駄にしたり、タイミングが遅れたりすることがあります。ですから、実際のドッキングでは、我々の経験を活かしてうまく作業を誘導していく必要があります。最終的には、トークンをなくした人やプロジェクト先と一緒に事故報告書を作成し、この事故報告書を常に更新します。\n\n## ソースの追跡\n\nロカールの法則によれば、侵入があるところには必ず痕跡が残ります。一生懸命探せば何か見つかるはずです。調査のプロセスは、実際にはフォレンジック分析および追跡です。フォレンジック分析で得られたハッカープロファイルをもとに追跡を行い、このプロファイルを継続的に充実させていくという反復的なプロセスです。\n\n追跡は主に2つの要素に構成されます：\n\n* オンチェーン情報：中央集権型の取引所やトークンミキサープラットフォームなど、ウォレットアドレスに対する資金の流れを分析し、新たな送金の監視や警告を行います。\n* オフチェーン情報：この部分には、ハッカーのIPやデバイス情報、電子メールアドレス、そしてこれらの情報から得られる行動情報などの豊富な情報が含まれます。\n\nこの情報の追跡は広範囲に及び、法的機関の関与が必要となる場合もあります。\n\n## 事案をクローズする\n\nもちろん、私たちは皆ハッピーエンドを望んでいます。私たちが関わった、過去に開示された事件の中でハッピーエンドを迎えた例をいくつか挙げます：\n\n* Lendf.Me、評価額：2,500万ドル\n* SIL Finance、評価額：1215万ドル\n* Poly Network、評価額：6億1千万ドル\n\n公表されていないものでも、私たちが関わった案件では上手くいって問題なく終わったものはたくさんあります。しかしほとんどがバッドエンドであり、非常に残念に思います。こういったプロセスを利用して貴重な経験を多く積み、今後少しでもハッピーエンドの比率を高めていきたいと考えています。\n\n以上、この部分について簡単に触れましたが、詳しく説明するつもりはありません。この分野の知識は膨大で、中には私が苦手とするものもあります。場合によって、習得すべき知識は以下です：\n\n* スマートコントラクトのセキュリティ分析とフォレンジック\n* オンチェーン資金の送金分析およびフォレンジック\n* Webのセキュリティ分析とフォレンジック\n* Linuxサーバーのセキュリティ分析とフォレンジック\n* Windowsのセキュリティ分析とフォレンジック\n* macOSのセキュリティ分析とフォレンジック\n* モバイルのセキュリティ分析とフォレンジック\n* 悪質なコードの分析とフォレンジック\n* ネットワーク機器またはプラットフォームのセキュリティ分析およびフォレンジック\n* ヒューマンセキュリティ分析とフォレンジック\n* ...\n\nほぼすべての面をこのハンドブックでカバーしていますが、ほとんどの内容は入門レベルにすぎません。\n\n# 誤解されていること\n\nこのハンドブックは「常に懐疑的になる必要がある！」というところから始まります。当然、このハンドブックに記載されている知識のことも含まれます。この業界は活気と将来性がある一方で、多くのリスクや混乱に満ちています。誤解されていることを真に受け、よく考えずにいると、簡単に罠に陥ってしまいます。こういった誤解に関していくつか紹介します。\n\n## Code Is Law\n\nコードは法です。しかし、プロジェクト（特にスマートコントラクトに関するもの）がハッキングされたり、暴走したりしたときに、コードが法律であることを望む被害者は少ないです。結局は現実の法律に頼ってしまうことが多い。\n\n## Not Your Keys, Not Your Coins\n\nあなたが秘密鍵を持たなれば、あなたもその中のトークンを所有していません。実際、秘密鍵を手に入れても活用する能力がなく、様々なセキュリティ上の問題によってかえってトークンを失ってしまうユーザーも少なくないのです。十分な規模と評判の良いプラットフォームでトークンを保管する方がずっと安全だという意見もあります。\n\n## In Blockchain We Trust\n\nブロックチェーン上にいるからこそ、私たちは信頼しあえるのです。実際、ブロックチェーン自体には、改ざん防止や審査耐性といった基本的な信用問題を解決する能力があります。自分の資産や関連する活動がブロックチェーン上にあれば、誰も私の資産を奪ったり、私の活動を無断で改ざんすることはできないと信用できます。しかし現実は厳しいです。第一にすべてのブロックチェーンがこれらの基本的なことを実現できるわけではないということ、第二に様々なリスクの中に人が常にその最大のリスクであることです。ハッキング技術の多くは、大多数の人々の想像を超えています。攻撃と防御はコストの戦いですが、例えば、あなたの資産がそれほど多くない場合、ハッカーはわざわざあなただけを狙って攻撃することはありませんが、あなたのような人が複数存在するのであればハッカーにとって攻撃する価値があります。\n\n私のセキュリティに関するアドバイスを簡単に言うと、あらゆるものに対する疑問を持ち（つまり、あらゆるものを疑う）、常に検証をしっかり行うということです。検証は重要なセキュリティアクションです。継続的な検証の必要性とは、セキュリティは静的なものではなく、現時点で問題ないからいって将来もそうであるとは限らないことを示します。検証能力は自身にとって最大の試練となりますが、楽しいものあり、結果的に十分な知識を得ることができます。自分が強くなれば、誰しも簡単にいじめることはなくなります。\n\n## 暗号学のセキュリティは完全に安全である\n\n暗号学は確かに強力です。多くの暗号学者による努力、多くの暗号学アルゴリズムと工学的実装がなければ、今の通信技術やインターネット技術、ブロックチェーン技術も語られることはなかったでしょう。しかし残念ながら、暗号学のセキュリティがすべてであると捉えている人がいます。もしそうなのであれば、非常に奇妙な疑問が浮かびます：\n\n>ブロックチェーンは安全性が高いと謳われているのでは？秘密鍵は、解読するのに何億何千億年かかると書いてあるのでは？なぜFBIはダークウェブのビットコインの暗号を復号できたのか？ Jay ChouのNFTはなぜまだ盗まれたのか？\n\nこんな質問は私はまだ許せます。私が許せないのは、セキュリティ業界を名乗る人たちが、暗号学のセキュリティを利用して、軍事級の暗号学だ、殿堂級の暗号学だ、宇宙級の暗号学だ、システムは極めて安全だ、ハッカーは何もできない、と一般人を騙すことです。\n\nハッカーはただあなたのことを気にしていないだけです。\n\n## ハッキングされるのは屈辱的？\n\nハッキングされることで複雑な感情を抱くのは事実ですし、屈辱的な気分になるのも事実です。しかし、ハッキングに合うことは誰でも起こり得ることだと理解してください。ハッキングされた人を笑う必要はないし、自分がハッキングされたら恥ずかしいと隠す必要もありません。\n\nハッキングされた後、責任を取る必要があるのが自分だけの場合はそれで大丈夫です。もし、あなたが数名、または多くの人に対して責任を取る必要がある場合は、ハッキングされたことに対して透明でオープンな態度をとり、責任ある対処をすることが重要です。\n\nオープンで透明性が高いハッキング分析プロセスを更新し続けるプロセスは、痛みを伴う教訓と相まって、必ずあなたに幸運をもたらすことができます。また「自分のプロジェクトが知られていないなら、誰もハッキングしない」という考え方もあります。屈辱を感じるべきなのはハッキングされたことではなく、傲慢さです。\n\nハッキングされることは100％普遍的な事象ですが、できるだけ損失は抑えるべきです。ハッキングされた経験を経て成長するはずです。\n\n## すぐにアップデートする\n\nこのハンドブックの中で何度か、アップデートに対して真剣に捉えるべきであり、アップデートはすぐに行うべきであると提案してきました。私のこの発言は普遍的なものなのでしょうか。\n\nここで重要なのは、セキュリティのために「今すぐアップデートする」ことが、“ほとんどの場合は”正しいということです。しかし、更新によって、ある問題が解決される一方で、別の問題が発生する可能性もあります。このような事例は歴史上数多く存在するので、自分で検索してください。 その一例として、iPhoneとGoogle Authenticatorについて紹介します：\n\n>iOS 15をアップデートした後、Google Authenticatorの情報が空になったり、重複したりする恐れがあります。もし重複している2FAの一つを消したら、Google Authenticatorの再起動により中の情報が全部消えてしまうリスクがあります。iOS 15にアップグレードされていない方で、Google Authenticatorをご利用の方は、アップグレード前にバックアップを取ることをお勧めします。\n\nGoogleはその後、この問題を完全に解決するためにAuthenticatorをアップデートしました。\n\nそのほか、特にたくさん資産が入ったウォレットであれば、あまり頻繁に更新することはおすすめしません。ウォレットの更新が必要な大規模なセキュリティアップデートや、アップデートしなければいけない非常に重要な機能がある場合は別です。あなた自身でリスク評価を行い、選択する必要があります。\n\n# 結論\n\nこの図は、このハンドブックの冒頭にあります :)\n\n![](res/web3_hacking_map.jpg)\n\n気づきましたか？人が万物の根源であること（宇宙論の分野では「人間原理」と呼ばれています）を繰り返し思い出していただくために、図の中の人をあえて赤色で強調しました。 ヒューマンセキュリティは、最終的にはあなた次第です。あなたが強くなれば、誰も簡単にいじめられなくなります。\n\n私はこの図の流れに沿って、ウォレットの作成からバックアップ、使用までの3つの主要なプロセスにおける多くのセキュリティリスクを説明しました。そして、従来のプライバシー保護について触れましたが、これらの伝統的なものは礎になるものであり、ブロックチェーンのエコシステムを安全に体験するための土台になると述べました。ヒューマンセキュリティの部分は、いくら言及してもしきれません。そういった様々な悪質な手口を知ることは良いであり、自分でいくつかの罠を経験した後には、本当に自分のセキュリティ経験になります。絶対の安心はないので、盗まれた時の対処法を解説しました。盗まれるのは困りますが、万が一に備えて、このセキュリティガイドがお役に立てればと思います。最後にいくつかの誤解されることについて説明しました。この世界は確かに美しい一方で、ひどいこともあります。伝えたいことは、自分なりの批判的思考を持ってほしいということです。\n\nここまで書くのは久しぶりです。前回に書いたのは、10年前の『Webフロントエンドハッキングの暴露』という本でした。長年Webと伝統的なインターネットのセキュリティの仕事を経験した後、ZoomEyeというサイバースペースの検索エンジンを作るチームを率いてきました。私はセキュリティ攻撃・防御の多くの分野に携わってきた人間だと思われていますが、堪能と言えるのはほんの一部です。\n\nブロックチェーンセキュリティについては、仕事をしている私あるいはSlowMist全体が、最先端を走っていると思います。この数年の間に、あまりに多くのケースに出会っており、ほぼ毎週凄まじいことを経験しています。このような経験を記録しておかないともったいないと思い、何人かの友人の勧めもあって、ようやくこのハンドブックが誕生しました。\n\nこのハンドブックを読み終えたら、実践し、習熟し、そこから学ぶことが必要です。その後、ご自身の発見や体験があれば、それも含めて投稿していただければ嬉しいです。匿名でもいいです。\n\n最後に、何世代にもわたる暗号学者、エンジニア、正義のハッカー、そしてこの世界をより良い場所にするための努力と創造に携わる人々のうちの一人、サトシ・ナカモトへ、セキュリティとプライバシー関連の法律を世界的に成熟させてくれたことに感謝します。\n\n# 添付資料\n\n## セキュリティルール及び準則\n\nこのハンドブックに記載されているセキュリティに関するルールや準則の概要は以下のとおりです。その多くは文章に組み込まれているので、特に抽出することはしません。\n\n二つのセキュリテイルール：\n\n* **ゼロ・トラスト**。簡単に言えば、最初から最後まで、常に疑い続けるということです。\n* **継続的な検証を行う**。何かを信じるため、自分が疑う点を検証する能力を持たなければなりません。その能力を習慣化することが必要です。\n\nセキュリティの準則：\n\n* インターネットで知ったことは、最低でも2つの情報源を参照した上で、互いに裏付けを取り、常にその情報を疑います。\n* 資産を分離する。つまり、卵を一つのカゴに入れないでください。\n* 大切な資産を持つウォレットは、安易にアップデートせず、把握できる程度にしましょう。\n* 見たことに署名する。つまり、見たことに対して署名したら期待通りの結果になるはずです。決して後で後悔することではありません。\n* システムのセキュリティアップデートを重視し、利用可能なアップデートがあればすぐにしてください。\n* 未知のプログラムをダウンロードしないでください。これだけでほとんどのリスクを排除できます。\n\n## 貢献者\n\n貢献者に感謝します。このリストは今後も更新されていくので、あなたも何かアイデアがあれば、下記まで連絡してください。\n\n>余弦、Twitter ([@evilcos](https://twitter.com/evilcos))、Jike App (@余弦.jpg)\n\n貢献者達：\n```\n私の妻\nSlowMist、Twitter (@SlowMist_Team)、例えば：Pds | Johan | Kong | Kirk | Thinking | Blue | Lisa | Keywolf...\n英語版翻訳者、例えば：Alphatu | C. | CJ | JZ | Lovepeace | Neethan | pseudoyu | SassyPanda | ss | XL\n日本語版翻訳者、例えば：Jack Jia | Mia\n韓国語版翻訳者、例えば：Sharon | Jeongmin\nアラビア語版翻訳者、例えば：Ahmed Alsayadi | Gabr Alsayadi\nインドネシア語翻訳者、例えば：Finball\nJike App\n匿名の友人達\n他の方：https://darkhandbook.io/contributors.html\n...\n```\n\n**このハンドブックに掲載するために採用されたあらゆる補足、例えば、特定の防御や事例に関するアドバイス、翻訳作業、大きなミスの修正など。**\n\n## その他のツールについて\n\nこのハンドブック（一般的に「ブラックハンドブック」と呼ばれています）が誕生してから2年以上が経過し、多くの人々の助けになったことを嬉しく思います。影響力が高まり、更新を催促する友人も少なくありませんが、私はこのハンドブックに小さな更新を加える以外に、主にハンドブックに関連する[アドバンス内容](https://github.com/evilcos/darkhandbook)の更新に取り組んできたことに気づきました。アドバンス内容は技術的で、初心者にはあまり親切ではないと言わざるを得ません。また、実際にはそれほど多くの人がセキュリティの知識を腰を据えて学ぶ意欲がないことも承知しています。この小さな章では、初心者に優しいツール（ウォレット、セキュリティ拡張機能、関連スクリプトツールなど）をいくつか推奨するつもりでしたが、何度も迷った末、特別な推奨はしないことにしました。なぜなら、この業界の発展はあまりにも速く、このハンドブックではすでに優れたツールを数多く紹介していて、それらは時間の試練に耐えてきましたが、これらのツールに未来があるのか、常に優れているのかどうかは確信が持てないからです。\n\n以前にも述べたように、ツールを推奨する場合は、できるだけ客観的で中立な立場を取るよう努めますが、以下の点を肝に銘じておいてください：\n\n　* 絶対的な安全はなく、ゼロトラストと継続的な検証は、このダークフォレストの中で常に必要な基本能力です。もしこれらのツールにバグやセキュリティ問題が発生したり、さらに悪いことに、新しいバージョンにバックドアが埋め込まれたりした場合、そのリスクは自己責任となります。これらのツールを使用する前に、独立した思考を持ち、軽々しく信用しないことをお勧めします。\n\n　* 私の研究能力は優れており、友人も多いので、良いものはタイミングが来れば自然と推奨します。焦る必要はありません。あなたのツールが優れていれば、まず皆からの信頼を得ることが重要で、そうすれば自然と私が推奨することになるでしょう。\n \n　* あなたにも個性があり、私にもあります。\n \n　* 価格には惑わされないようにしましょう。\n \n　* 信頼関係の構築は容易ではありませんが、崩壊は一瞬のうちに起こります。だからこそ、お互いを大切にしましょう。\n\nこの小さな章ではツールの特別な推奨はしませんが、「ファイアウォールシンキング」という素晴らしい考え方を皆さんと共有したいと思います。これまで繰り返し強調してきた「ゼロトラスト」や「継続的な検証」は、実はファイアウォールシンキングなのです。\n\n例えば、ウォレットの使用において、署名は資金の安全性に関する大きな問題領域であり、多種多様な署名フィッシング手法があります。例を挙げると以下のようなものがあります：\n\n- eth_sign/personal_sign/eth_signTypedData_*などのネイティブ署名の悪用。eth_signはウォレットによってブロックされることが増えてきています。\n- トークンやNFTのapprove/permitなどの承認関数の悪用。\n- UniswapのswapExactTokensForTokens/permit2などの強力な関数の悪用。\n- OpenSea/Blurなどのプロトコル関数の悪用（多岐にわたる）。\n- TX data 4byteの悪用、Claim Rewards/Security Updateなど。\n- Create2を使用して資金受取先アドレスを事前に作成し、関連する検出を回避する。\n- Solanaで1つの署名でターゲットのウォレットにある全ての資産を盗む。\n- ビットコインのOrdinalsで一括フィッシング、UTXOメカニズム。\n- 各EVMチェーン/Solana/Tronなどでのフィッシングの切り替え。\n\nウォレットを使用する際、署名確認のポップアップが表示された時、FOMOや手が滑ったとしても、一度「確認」をクリックすると署名が送信されてしまいます。このようなウォレットの使用方法では、ファイアウォールシンキングを備えていません。より良い方法は、少なくとも2回のクリックが必要だということです。1回多くクリックするごとに、セキュリティ保護のレイヤーが1つ増えます（もちろん、あまりに多くのレイヤーは必要ありません。人は慣れてしまいますから）。例えば、私はRabby、MetaMask、OKX Walletなどのブラウザ拡張ウォレットを使用していますが、テスト用のウォレットを除いて、他のものにはできる限りハードウェアウォレットを併用するようにしています（署名内容を識別しやすいように、できるだけ大きな画面のものが良いです）。\n\nこの場合、拡張ウォレットの署名確認ポップアップが第1層のセキュリティ解析を行います。例えば、フィッシングサイト、リスクのあるウォレットアドレス、あなたが見たものに、あなたが署名するものである、高リスクな署名の識別などです。これらはすべてユーザーとのインタラクションにおける重要なセキュリティです。ハードウェアウォレットは第2層のセキュリティ解析を行います。さらに、Scam Sniffer、Wallet Guard、Pocket Universeなどのブラウザウォレットのセキュリティ拡張機能を併用すれば、ファイアウォールがさらに1つ増えます。ただし、現在実行中の操作に対してリスクの警告がない場合でも、自分自身で警戒し、識別することを忘れないでください。あなた自身が最後の砦となるファイアウォールなのです。\n\nファイアウォールシンキングに慣れると、効率への影響は大きくありませんが、セキュリティは大幅に向上します。他のシナリオでも同様の考え方を応用してください。\n\nさて、この小さな章はここまでとします。\n\n## 公式サイト\n```\nSlowMist https://www.slowmist.com\nCoinMarketCap https://coinmarketcap.com/\nSparrow Wallet https://sparrowwallet.com/\nMetaMask https://metamask.io/\nimToken https://token.im/\nTrust Wallet https://trustwallet.com/\nTokenPocket https://www.tokenpocket.pro/\nGnosis Safe https://gnosis-safe.io/\nZenGo https://zengo.com/\nFireblocks https://www.fireblocks.com/\nSafeheron https://www.safeheron.com/\nKeystone https://keyst.one/\nTrezor https://trezor.io/\nOneKey https://onekey.so/\nimKey https://imkey.im/\nRabby https://rabby.io/\nOKX Wallet https://www.okx.com/web3\nEdgeWallet https://edge.app/\nMyEtherWallet https://www.myetherwallet.com/\nPhantom https://phantom.app/\nTornado Cash https://tornado.cash/\nBinance https://www.binance.com/\nCoinbase https://coinbase.com\nCompound https://compound.finance/\nSushiSwap https://www.sushi.com/\nOpenSea https://opensea.io/\nRevoke.cash https://revoke.cash/\nScam Sniffer https://www.scamsniffer.io/\nWallet Guard https://www.walletguard.app/\nPocket Universe https://www.pocketuniverse.app/\n\nJike App https://okjike.com/\nAVG https://www.avg.com/\nBitdefender https://www.bitdefender.com/\nKaspersky https://www.kaspersky.com.cn/\nMalwarebytes https://www.malwarebytes.com/\nCloudflare https://www.cloudflare.com/\nAkamai https://www.akamai.com/\nSURVEILLANCE SELF-DEFENSE https://ssd.eff.org/\nPrivacy Guide https://www.privacytools.io/\nOpenPGP https://www.openpgp.org/\nGPG https://gnupg.org/\nGPG Suite https://gpgtools.org/\nGpg4win https://www.gpg4win.org/\n1Password https://1password.com/\nBitwarden https://bitwarden.com/\nGoogle Authenticator https://support.google.com/accounts/answer/1066447\nMicrosoft Authenticator https://www.microsoft.com/en-us/security/mobile-authenticator-app\nProtonMail https://protonmail.com/\nTutanota https://tutanota.com/\nVMware Workstation https://www.vmware.com/products/workstation-pro.html\nParallels https://www.parallels.com/\n```\n"
  },
  {
    "path": "README_KR.md",
    "content": "블록체인 다크 포레스트 셀프가드 핸드북<br>\n*이것들을 파악하면 암호화폐의 보안을 파악하는 것입니다.<br>*\n\n:fire:웹사이트: https://darkhandbook.io/<br>\n:cn:中文版：[《区块链黑暗森林自救手册》](README_CN.md)<br>\n:us:English: [Blockchain dark forest selfguard handbook](README.md)<br>\n:jp:日本語版：[ブロックチェーンのダークフォレストにおける自己防衛のためのハンドブック](README_JP.md)<br>\n:saudi_arabia:اللغة العربية: [دليل النجاة في الغابة المظلمة للبلوكتشين](README_AR.md)<br>\n:indonesia:Versi Indonesia: [Buku Panduan menjaga diri didalam \"dark forest\"](README_ID.md)<br>\n\n작성자: Cos@SlowMist Team<br>\n연락하기: Twitter ([@evilcos](https://twitter.com/evilcos)), Jike App (@余弦.jpg)\n\n번역자 & 교정자: \n>[ChainWith Sharon](https://twitter.com/sharonmkt) | Jeongmin\n\n![alt this](res/this.png)\n\n:anchor:**내용 목록**\n- [프롤로그](#프롤로그)\n- [다이어그램](#다이어그램)\n  - [지갑 생성](#지갑-생성)\n    - [다운로드](#다운로드)\n    - [니모닉 문구](#니모닉-문구)\n    - [키 없는 지갑](#키-없는-지갑)\n  - [지갑 백업하기](#지갑-백업하기)\n    - [니모닉 문구/개인 키](#니모닉-문구개인-키)\n    - [암호화](#암호화)\n  - [지갑 사용방법](#지갑-사용방법)\n    - [AML](#AML)\n    - [콜드 월렛](#콜드-월렛)\n    - [핫 월렛](#핫-월렛)\n    - [디파이 보안이 뭘까요](#디파이-보안이-뭘까요)\n    - [NFT 보안](#NFT-보안)\n    - [서명할 때 조심하세요](#서명할-때-조심하세요)\n    - [반직관적인 서명 요청에 주의하세요](#반직관적인-서명-요청에-주의하세요)\n    - [심화 공격 방법론들](#심화-공격-방법론들)\n  - [전통적인 개인정보 보호](#전통적인-개인정보-보호)\n    - [PC 시스템](#PC-시스템)\n    - [휴대폰](#휴대폰)\n    - [인터넷](#인터넷)\n    - [브라우저](#브라우저)\n    - [패스워드 매니저](#패스워드-매니저)\n    - [이중 인증](#이중-인증)\n    - [VPN](#VPN)\n    - [이메일](#이메일)\n    - [SIM 카드](#SIM-카드)\n    - [GPG](#GPG)\n    - [분리](#분리)\n  - [인간 본성의 보안](#인간-본성의-보안)\n    - [Telegram](#Telegram)\n    - [Discord](#Discord)\n    - [\"공식\" 피싱](#공식-피싱)\n    - [개인정보 보안 문제](#개인정보-보안-문제)\n- [블록체인 사기 방식](#블록체인-사기-방식)\n- [컴퓨터가 악성코드에 감염되었을 때 대처 방법](#컴퓨터가-악성코드에-감염되었을-때-대처-방법)\n- [해킹당했을 때 대처 방법](#해킹당했을-때-대처-방법)\n  - [먼저 손실을 막으세요](#먼저-손실을-막으세요)\n  - [장면을 보호하십시오](#장면을-보호하십시오)\n  - [근본 원인 분석](#근본-원인-분석)\n  - [소스 추적](#소스-추적)\n  - [사건 결론](#사건-결론)\n- [잘못된 이해](#잘못된-이해)\n  - [Code Is Law](#Code-Is-Law)\n  - [Not Your Keys, Not Your Coins](#Not-Your-Keys-Not-Your-Coins)\n  - [In Blockchain We Trust](#In-Blockchain-We-Trust)\n  - [암호화 보안은 보안이다](#암호화-보안은-보안이다)\n  - [해킹당하는 것이 수치스러운가요?](#해킹당하는-것이-수치스러운가요)\n  - [즉시 업데이트하세요](#즉시-업데이트하세요)\n- [결론](#결론)\n- [부록](#부록)\n  - [보안 규칙과 원칙](#보안-규칙과-원칙)\n  - [기여자들](#기여자들)\n  - [도구들](#도구들)\n  - [공식 웹사이트](#공식-웹사이트)\n\n# 프롤로그\n\n우선, 이 가이드를 찾으신 것을 축하드립니다! 당신이 누구든지, 당신이 암호화폐 보유자이거나 미래에 암호화폐 세계로 뛰어들고 싶다면 이 핸드북이 많은 도움이 될 것입니다. 여러분은 이 글을 자세히 읽고 가르침을 실전에 적용해야 합니다.\n \n또한, 이 문서를 완전히 이해하려면 약간의 배경 지식이 필요합니다. 그러나 걱정하지 마십시오. 초보자의 경우, 이해가 안 되는 부분이 있거나 더 자세히 살펴봐야 할 경우 Google 검색을 적극 권장합니다. 또한 한 가지 보안 규칙을 염두에 두는 것이 중요합니다. 바로 회의적이어야 합니다! 웹에서 어떤 정보를 보더라도 상호 참조를 위해 항상 최소한 두 가지 소스를 찾아야 합니다.\n \n다시 한 번 말하지만, 이 핸드북에 언급된 정보를 포함하여 항상 회의적이어야 합니다 :)\n \n블록체인은 생산 관계에 변화를 가져오고 신뢰 문제를 어느 정도 해결한 훌륭한 발명품입니다. 특히 블록체인은 불변성, 합의된 실행, 부인 방지 등 중앙 집중화 및 제3자가 필요 없이 많은 \"신뢰\" 시나리오를 생성합니다. 그러나 현실은 잔혹합니다. 블록체인에 대한 많은 잘못된 정보가 있으며, 범죄자들은 이러한 정보를 이용하여 허점을 악용하고 사람들로부터 돈을 훔쳐 많은 재정적 손실을 초래할 것입니다. 오늘날 암호화폐 세계는 이미 어두운 숲이 되었습니다.\n \n블록체인 세계에서 살아남기 위해서는 다음 두 가지 보안 규칙을 꼭 기억해주세요: \n\n1. **Zero Trust**: 간단하게 말해서, 항상 회의적인 태도를 유지하세요.\n2. **Continuous Security Validation**: 무언가를 신뢰하려면 의심스러운 것을 검증하고 또 검증하는 습관을 들여야 합니다.\n\n*Note: 위의 두 가지 보안 규칙은 이 문서의 핵심 원칙이며, 이 문서에 언급된 다른 모든 보안 원칙은 이 원칙에서 파생됩니다.*\n\n좋습니다. 서론은 여기까지입니다. 다이어그램으로 시작하여 이 어두운 숲을 탐색하여 우리가 직면하게 될 위험과 이에 대처해야 하는 방법을 살펴보겠습니다.\n\n# 다이어그램\n\n![](res/web3_hacking_map.jpg)\n\n가이드의 나머지 부분을 자세히 살펴보기 전에 이 다이어그램을 훑어보면, 이는 지갑 생성, 지갑 백업, 지갑 사용의 세 가지 주요 프로세스로 구성된 이 세계(블록체인, 암호화폐 또는 Web3라고 부르는)의 주요 활동에 관한 것입니다.\n \n이 세 가지 프로세스를 따라가며 각각을 분석해 보겠습니다.\n\n## 지갑 생성\n\n지갑의 핵심은 개인 키(또는 시드 문구)입니다.\n\n개인 키는 다음과 같습니다: \n\n>0xa164d4767469de4faf09793ceea07d5a2f5d3cef7f6a9658916c581829ff5584\n\n또한 시드 문구는 다음과 같습니다: \n\n>cruel weekend spike point innocent dizzy alien use evoke shed adjust wrong\n\n*Note: 여기서는 Ethereum을 예로 사용하고 있습니다. 개인키/시드문구에 대한 자세한 내용은 직접 확인하시기 바랍니다.*\n\n개인 키는 귀하의 신원입니다. 개인 키를 분실/도난당한 경우, 귀하는 신원을 잃어버린 것입니다. 잘 알려진 지갑 애플리케이션이 많이 있지만 이 가이드에서는 모든 애플리케이션을 다루지는 않습니다. 그러나 몇 가지 특정 지갑에 대해 언급하겠습니다. 여기에 언급된 지갑은 어느 정도 신뢰할 수 있습니다. 그러나 사용 중에 예상 여부에 관계없이 보안 문제나 위험이 없다고 보장할 수는 없습니다. (프롤로그에 언급된 두 가지 주요 보안 규칙을 항상 염두에 두십시오.)\n \n애플리케이션별로 분류하면 PC 지갑, 브라우저 확장 지갑, 모바일 지갑, 하드웨어 지갑, 웹 지갑이 있습니다. 인터넷 연결 측면에서 보면 크게 콜드월렛과 핫월렛으로 나눌 수 있습니다. 암호화폐 세계에 뛰어들기 전에 먼저 지갑의 목적에 대해 생각해야 합니다. 목적에 따라 어떤 지갑을 사용해야 하는지 뿐만 아니라 지갑을 어떻게 사용하는지도 결정됩니다.\n \n어떤 종류의 지갑을 선택하든 한 가지는 확실합니다. 충분한 경험을 쌓은 후에는 지갑 하나만으로는 충분하지 않다는걸 느낄 수 있습니다.\n\n여기서 우리는 또 다른 보안 원칙을 명심해야 합니다: 격리, 즉 계란을 한 바구니에 모두 담지 마십시오. 지갑을 자주 사용할수록 위험도 커집니다. 항상 기억하세요: 새로운 것을 시도할 때는 먼저 별도의 지갑을 준비하고 소액의 돈으로 잠시 사용해 보세요. 암호화폐 전문가라도 작은 방심으로 큰 피해를 입기 쉽습니다.\n\n### 다운로드\n\n이것은 간단해 보이지만 실제로는 쉽지 않습니다. 그 이유는 다음과 같습니다: \n\n1. 많은 사람들이 실제 공식 웹사이트나 애플리케이션을 찾지 못하고 결국 가짜 지갑을 설치하게 됩니다.\n2. 다운로드한 애플리케이션이 변조되었는지 여부를 식별하는 방법을 모르는 사람들이 많습니다.\n\n따라서 많은 사람들의 경우 블록체인에 입문하기 전에 지갑이 이미 비어 있습니다.\n \n위의 첫 번째 문제를 해결하기 위해 올바른 공식 웹사이트를 찾는 몇 가지 기술이 있습니다: \n\n* Google 사용(검색 결과에 광고된 항목은 종종 신뢰할 수 없으므로 주의하세요.)\n* CoinMarketCap 등 유명 공식 웹사이트 이용\n* 믿을 수 있는 사람이나 친구에게 물어보세요\n\n다양한 소스에서 얻은 정보를 상호 참조할 수 있으며 궁극적으로 정답은 단 하나입니다. 축하합니다. 올바른 공식 웹사이트를 찾았습니다.\n\n다음으로, 애플리케이션을 다운로드하고 설치해야 합니다. PC 지갑인 경우 공식 홈페이지에서 다운로드 후 직접 설치하셔야 합니다. 설치하기 전에 링크가 변조되었는지 확인하는 것이 좋습니다. 이러한 검증을 통해 소스코드가 완전히 변조된 경우(내부사기, 내부해킹, 공식 홈페이지 해킹 등)를 방지할 수는 없지만, 소스코드 부분 변조, 중간자 공격 등의 경우는 방지할 수 있습니다.\n \n파일의 변조 여부를 확인하는 방법은 파일 일관성 검사입니다. 일반적으로 두 가지 방법이 있습니다: \n\n* **해시 검사**: MD5, SHA256 등을 보통 사용합니다. MD5가 대부분의 경우에 사용되지만 여전히 해시 충돌 위험이 있으므로 일반적으로 충분히 안전한 SHA256을 선택합니다.\n* **GPG 서명 확인**: 이 방법도 매우 널리 사용됩니다. GPG 도구, 명령 및 방법을 익히는 것이 좋습니다. 이 방법은 초보자에게는 다소 어렵지만 익숙해지면 매우 유용하다는 것을 알게 될 것입니다.\n\n그러나 암호화폐 세계에는 검증을 제공하는 프로젝트가 많지 않습니다. 그래서 하나라도 찾는 것은 행운입니다. 예를 들어, 여기 Sparrow Wallet이라는 비트코인 지갑이 있습니다. 다운로드 페이지에 \"Verifying the Release\"이라고 적혀 있는데, 이는 정말 인상적이며 위에서 언급한 두 가지 방법 모두에 대한 명확한 지침이 있으므로 참조용으로 사용할 수 있습니다: \n\n>https://sparrowwallet.com/download/\n\n다운로드 페이지에는 두 가지 GPG 도구가 언급되어 있습니다: \n\n* GPG Suite, for MacOS\n* Gpg4win, for Windows\n\n주의를 기울이면 두 GPG 도구의 다운로드 페이지에서 두 방법의 일관성을 확인하는 방법에 대한 지침을 찾을 수 있습니다. 하지만 단계별 가이드는 없습니다. 즉, 스스로 배우고 연습해야 합니다 :)\n\n**브라우저 확장 지갑인 지갑이라면**,예를 들어 MetaMask 경우 주의해야 할 유일한 것은 Chrome 웹 스토어의 다운로드 수와 등급입니다. 예를 들어 MetaMask는 다운로드 수가 1천만 건이 넘고 평점이 2,000개가 넘습니다(전체 평점은 높지 않지만). 어떤 사람들은 다운로드 수와 평점이 부풀려질 수 있다고 생각할 수도 있습니다. 사실, 그렇게 많은 숫자를 위조하는 것은 매우 어렵습니다.\n\n**모바일 지갑 지갑이라면**,모바일 지갑은 브라우저 확장 지갑과 유사합니다. 그러나 App Store에는 지역마다 버전이 다르다는 점에 유의해야 합니다. 중국 본토에서는 암호화폐가 금지되어 있으므로 중국 앱스토어 계정으로 지갑을 다운로드할 경우에는 한 가지 제안이 있습니다. 그것을 사용하지 말고 미국 등 다른 지역의 다른 계정으로 변경한 후 다시 다운로드하세요. 게다가 올바른 공식 웹사이트는 올바른 다운로드 방법(예: imToken, OneKey, Trust Wallet 등으로 연결됩니다. 공식 웹사이트는 높은 웹사이트 보안을 유지하는 것이 중요합니다. 공식 웹사이트가 해킹되면 큰 문제가 발생합니다.).\n\n**하드웨어 지갑 지갑이라면**,홈페이지에서 구매하는 것을 적극 권장합니다. 온라인 상점에서 구매하지 마십시오. 지갑을 받은 후에는 지갑이 손상되었는지 여부에도 주의를 기울여야 합니다. 물론 포장에도 감지하기 어려운 일부 속임수가 있을 수 있습니다. 어쨌든 하드웨어 지갑을 사용할 때에는 처음부터 최소 3번 이상 시드 문구와 지갑 주소를 생성해야 합니다.\n\n**웹 지갑 지갑이라면**,사용하지 않는 것이 좋습니다. 어쩔 수 없는 경우가 아니면 정품인지 확인한 후 사용하고 절대 의존하지 마세요.\n\n### 니모닉 문구\n\n지갑을 생성한 후 우리가 직접 처리하는 핵심은 개인 키가 아닌 니모닉 문구/시드 문구이므로 기억하기 쉽습니다. 니모닉 문구(예: BIP39)에 대한 표준 규칙이 있습니다. 일반적으로 영어 단어는 12개입니다. 다른 숫자(3의 배수)일 수 있지만 24단어를 초과할 수 없습니다. 그렇지 않으면 너무 복잡하고 기억하기 쉽지 않습니다. 단어 수가 12개 미만이면 보안이 신뢰할 수 없습니다. 12/15/18/21/24 단어를 보는 것이 일반적입니다. 블록체인 세계에서는 12단어가 대중적이고 충분히 안전합니다. 그러나 여전히 24단어로 시작하는 Ledger와 같은 하드코어 하드웨어 지갑이 있습니다. 영어 단어 외에도 중국어, 일본어, 한국어 등과 같은 다른 언어도 사용할 수 있습니다. 참고할 수 있는 2048개의 단어 목록은 다음과 같습니다: \n\n>https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md\n\n지갑을 생성할 때 시드 문구는 취약합니다. 당신은 당신의 시드 문구를 훔칠 수 있는 사람이나 웹캠 또는 기타 어떤 것에도 둘러싸여 있지 않습니다. 또한, 시드 문구가 랜덤하게 생성되는지 주의 깊게 살펴보시기 바랍니다. 일반적으로 잘 알려진 지갑에서는 충분한 수의 무작위 시드 문구를 생성할 수 있습니다. 하지만 항상 조심해야 합니다. 지갑에 이상이 있는지 알기 어렵습니다. 보안을 위해 이러한 습관을 기르는 것이 매우 유익할 수 있으므로 인내심을 가지십시오. 마지막으로, 때로는 지갑을 만들기 위해 인터넷 연결을 끊는 것을 고려할 수도 있습니다. 특히 지갑을 콜드 지갑으로 사용하려는 경우에는 더욱 그렇습니다. 인터넷 연결을 끊어도 항상 작동합니다.\n\n### 키 없는 지갑\n\nKeyless는 개인 키가 없다는 뜻입니다. 여기서는 Keyless를 두 가지 주요 시나리오로 나눕니다(설명의 편의를 위해 이러한 구분은 업계 표준이 아닙니다).\n\n* **Custodial**: 사용자가 계정만 등록하면 되고 개인 키를 소유하지 않는 중앙 집중식 거래소와 지갑이 그 예입니다. 보안은 이러한 중앙 집중식 플랫폼에 전적으로 의존합니다.\n* **Non-Custodial**: 사용자는 실제 개인 키(또는 시드 문구)가 아닌 개인 키와 유사한 제어 권한을 갖습니다. 호스팅 및 인증/권한 부여를 위해 잘 알려진 클라우드 플랫폼을 사용합니다. 따라서 클라우드 플랫폼의 보안은 가장 취약한 부분이 됩니다. 다른 기업은 보안 다자간 컴퓨팅(MPC)을 활용하여 단일 위험 지점을 제거하고 널리 사용되는 클라우드 플랫폼과 협력하여 사용자 경험을 극대화합니다.\n\n개인적으로 저는 다양한 종류의 Keyless 도구를 사용해 왔습니다. 풍부한 자금과 좋은 평판을 갖춘 중앙 집중식 거래소는 최고의 경험을 제공합니다. 토큰 분실에 대해 귀하가 개인적으로 책임을 지지 않는 한(예: 계정 정보가 해킹된 경우) 중앙 집중식 거래소는 일반적으로 손실을 보상합니다. MPC 기반 Keyless 프로그램은 매우 유망해 보이며 홍보되어야 합니다. 저는 ZenGo, Fireblocks 및 Safeheron에 대해 좋은 경험을 갖고 있습니다. 장점은 분명합니다: \n\n* MPC 알고리즘 엔지니어링은 잘 알려진 블록체인에서 점점 더 발전하고 있으며 개인 키에 대해서만 수행하면 됩니다.\n* 서로 다른 다중 서명 방식을 사용하여 일관된 사용자 경험을 제공하는 다양한 블록체인을 흔히 범용 다중 서명이라고 부릅니다.\n* 실제 개인 키가 절대 나타나지 않도록 보장하고 다중 서명 계산을 통해 위험을 해결할 수 있습니다.\n* 클라우드(또는 Web2.0 기술)와 결합하면 MPC는 안전할 뿐만 아니라 좋은 경험을 만들어냅니다.\n\n그러나 여전히 몇 가지 단점이 있습니다: \n\n* 모든 오픈 소스 프로젝트가 업계에서 인정되는 표준을 충족할 수 있는 것은 아닙니다. \n* 많은 사람들은 기본적으로 이더리움(또는 EVM 기반 블록체인)만 사용합니다. 따라서 Gnosis Safe와 같은 스마트 계약 접근 방식을 기반으로 하는 다중 서명 솔루션이면 충분합니다.\n\n전반적으로 어떤 도구를 사용하든 안전하고 제어 가능하다고 느끼고 좋은 경험을 갖고 있다면 좋은 도구입니다.\n\n지금까지 지갑 생성과 관련하여 알아야 할 사항을 다루었습니다. 기타 일반적인 보안 문제는 이후 섹션에서 다루겠습니다 :)\n\n## 지갑 백업하기\n\n나 자신을 포함해 많은 사람들이 함정에 빠지는 곳이 바로 백업입니다. 백업을 제대로 하지 않았고 조만간 그런 일이 일어날 것이라는 걸 알고 있었습니다. 다행히 자산이 많은 지갑은 아니었고, SlowMist의 친구들이 복구를 도와주었습니다. 그래도 다시는 겪고 싶지 않은 무서운 경험이었습니다. 그럼 지갑을 안전하게 백업하는 방법을 알아볼까요.\n\n### 니모닉 문구/개인 키\n\n지갑 백업에 대해 이야기할 때 본질적으로 니모닉 문구(또는 개인 키)를 백업하는 것을 의미합니다. 이하에서는 편의상 니모닉 문구를 사용하겠습니다. 대부분의 니모닉 문구는 다음과 같이 분류될 수 있습니다: \n\n* Plain Text\n* With Password\n* Multi-signature\n* Shamir's Secret Sharing, or SSS for short\n\n종류별로 간단히 설명드리겠습니다.\n\n**Plain Text**, 는 이해하기 쉽습니다. 이 12개의 영어 단어가 있으면 지갑에 있는 자산을 소유하게 됩니다. 특별한 셔플링을 고려하거나 단어 중 하나를 다른 것으로 바꿀 수도 있습니다. 둘 다 해커가 지갑을 해킹하기가 더 어려워지지만, 규칙을 잊어버리면 큰 골칫거리가 될 것입니다. 당신의 기억력은 무적이 아닙니다. 당신의 기억은 몇 년이 지나면 엉키게 될 것입니다. 몇 년 전 레저 하드웨어 지갑을 사용하면서 24단어 니모닉 문구의 순서를 바꿨습니다. 몇 년이 지나서 그 순서를 잊어버렸고 어떤 단어를 대체했는지 확신할 수 없었습니다. 앞서 언급했듯이, 내 문제는 무차별 대입을 사용해 올바른 순서와 단어를 추측하는 특수 코드 분리기 프로그램으로 해결되었습니다.\n\n**With Password**, 표준에 따르면 니모닉 문구에는 비밀번호가 포함될 수 있습니다. 여전히 동일한 문구이지만 비밀번호를 사용하면 다른 시드 문구를 얻을 수 있습니다. 시드 문구는 일련의 개인 키, 공개 키 및 해당 주소를 파생하는 데 사용됩니다. 따라서 니모닉 문구뿐만 아니라 비밀번호도 백업해야 합니다. 그런데 개인 키에도 비밀번호가 있을 수 있으며 비트코인용 BIP 38, 이더리움용 Keystore와 같은 자체 표준이 있습니다.\n\n**Multi-signature**, 이름에서 알 수 있듯이 지갑에 접근하려면 여러 사람의 서명이 필요합니다. 자신만의 규칙을 설정할 수 있어 매우 유연합니다. 예를 들어, 3명이 키(니모닉 단어 또는 개인 키)를 가지고 있는 경우 지갑에 액세스하려면 최소 2명 이상의 서명이 필요할 수 있습니다. 각 블록체인에는 자체 다중 서명 솔루션이 있습니다. 가장 잘 알려진 비트코인 지갑은 다중 서명을 지원합니다. 하지만 이더리움에서는 다중 서명이 주로 Gnosis Safe와 같은 스마트 계약을 통해 지원됩니다. 게다가 MPC(Secure Multi-Party Computation)도 점점 더 대중화되고 있습니다. 기존 다중 서명과 유사하지만 다른 기술을 사용하는 경험을 제공합니다. 다중 서명과 달리 MPC는 블록체인에 구애받지 않으며 모든 프로토콜에서 작동할 수 있습니다.\n\n**SSS**, 는 시드를 여러 공유로 나눕니다(일반적으로 각 공유에는 20단어가 포함됩니다). 지갑을 복구하려면 일정 수의 단어를 모아서 사용해야 합니다. 자세한 내용은 아래 업계 모범 사례를 참조하세요:\n\n>https://guide.keyst.one/docs/shamir-backup<br>\n>https://wiki.trezor.io/Shamir_backup\n\n다중 서명 및 SSS와 같은 솔루션을 사용하면 마음의 평화를 얻을 수 있고 위험을 피할 수 있지만 관리가 상대적으로 복잡해질 수 있으며 때로는 여러 당사자가 관련될 수 있습니다. 편의성과 보안 사이에는 항상 절충안이 있습니다. 결정은 개인의 몫이지만 원칙적으로 게으르지 마십시오.\n\n### 암호화\n\n암호화는 매우 광범위한 개념입니다. 암호화가 대칭인지, 비대칭인지 또는 다른 고급 기술을 사용하는지 여부는 중요하지 않습니다. 암호화된 메시지가 귀하 또는 귀하의 비상 처리 팀에 의해 쉽게 해독될 수 있지만 수십 년이 지나면 다른 누구도 쉽게 해독할 수 없는 한 이는 좋은 암호화입니다.\n\n\"Zero trust\"라는 보안 원칙에 따라 지갑을 백업할 때 금고 등의 물리적 환경을 포함해 모든 단계에서 해킹당할 수 있다는 점을 가정해야 합니다. 온전히 신뢰할 수 있는 사람은 자신 외에는 없다는 것을 명심하십시오. 사실, 때로는 기억이 희미해지거나 잘못된 위치에 있을 수 있기 때문에 자신조차 믿을 수 없습니다. 그러나 나는 항상 비관적인 가정을 하지 않을 것입니다. 그렇지 않으면 원하지 않는 결과가 나올 수도 있습니다.\n\n백업할 때 재해 복구를 특별히 고려해야 합니다. 재해 복구의 주요 목적은 단일 위험 지점을 방지하는 것입니다. 당신이 사라지거나 백업을 저장하는 환경이 다운되면 어떻게 될까요? 따라서 중요한 것에는 재해 복구 담당자가 있어야 하고, 백업도 여러 개 있어야 합니다.\n\n재해 복구 담당자를 선택하는 방법은 누구를 신뢰하느냐에 따라 달라지므로 자세히 설명하지 않겠습니다. 다중 백업을 수행하는 방법에 중점을 두겠습니다. 백업 위치의 몇 가지 기본 형태를 살펴보겠습니다: \n\n* Cloud\n* Paper\n* Device\n* Brain\n\n**Cloud**: 많은 사람들은 클라우드의 백업을 신뢰하지 않으며 해커 공격에 취약하다고 생각합니다. 결국 인력과 예산 측면에서 공격자 또는 방어자 중 어느 쪽이 더 많은 노력을 기울이는가가 중요합니다. 개인적으로 저는 Google, Apple, Microsoft 등이 제공하는 클라우드 서비스에 대한 믿음을 갖고 있습니다. 왜냐하면 우리는 그들이 보안 팀이 얼마나 강력한지, 보안에 얼마나 많은 비용을 투자했는지 알고 있기 때문입니다. 외부 해커와의 싸움 외에도 내부 보안 위험 통제와 개인정보 보호에도 많은 신경을 쓰고 있습니다. 내가 신뢰하는 소수의 서비스 제공업체는 이러한 분야에서 상대적으로 더 나은 업무를 수행하고 있습니다. 하지만 절대적인 것은 없습니다. 중요한 데이터(예: 지갑)를 백업하기 위해 이러한 클라우드 서비스 중 하나를 선택하면 적어도 한 번 더 지갑을 암호화할 것입니다.\n\nGPG를 마스터하는 것이 좋습니다. \"서명 확인\"에 사용될 수 있으며, 그 동안 암호화 및 복호화에 대한 강력한 보안을 제공합니다. 다음에서 GPG에 대해 자세히 알아볼 수 있습니다: \n\n>https://www.ruanyifeng.com/blog/2013/07/gpg.html\n\n이제 GPG를 마스터하셨습니다.오프라인 보안 환경에서 GPG를 사용하여 지갑의 관련 데이터(니모닉 문구 또는 개인 키)를 암호화했으므로 이제 암호화된 파일을 이러한 클라우드 서비스에 직접 전송하고 저장할 수 있습니다. 모든 것이 좋을 것입니다. 하지만 여기서 다시 한 번 상기시켜 드리고 싶습니다. GPG의 개인 키를 분실하거나 개인 키의 비밀번호를 잊어서는 안 됩니다...\n\n이 시점에서 이 추가 보안 수준이 상당히 까다롭다는 것을 알 수 있습니다. GPG에 대해 배우고 GPG 개인 키와 비밀번호를 백업해야 합니다. 실제로 앞서 언급한 단계를 모두 수행했다면 이미 프로세스에 익숙하므로 어렵거나 번거롭지 않을 것입니다. 연습이 완벽해지기 때문에 더 이상 말하지 않겠습니다.\n\n약간의 노력을 절약하고 싶다면 또 다른 가능성이 있지만 보안이 저하될 수 있습니다. 정확한 노력의 절약을 측정할 수는 없지만 도움을 받기 위해 잘 알려진 일부 도구를 사용할 때 편리합니다. 그 도구는 1Password입니다. 1Password 최신 버전은 이미 니모닉 단어, 비밀번호, 지갑 주소 등 지갑 관련 데이터를 직접 저장하는 기능을 지원해 사용자에게 편리하다. 다른 도구(예: Bitwarden)도 비슷한 결과를 얻을 수 있지만 그다지 편리하지는 않습니다.\n\n**Paper**: 많은 하드웨어 지갑에는 니모닉 문구(일반 텍스트, SSS 등)를 적을 수 있는 여러 개의 고품질 종이 카드가 함께 제공됩니다. 종이 외에도 철판(내화성, 내수성, 내식성, 물론 저는 사용해 본 적이 없습니다)을 사용하는 사람들도 있습니다. 니모닉 문구를 복사한 후 테스트하고 모든 것이 작동하면 금고 등 안전하다고 느끼는 곳에 보관하세요. 저는 개인적으로 종이 사용을 많이 좋아합니다. 종이는 올바르게 보관하면 전자 제품보다 수명이 훨씬 길기 때문입니다.\n\n**Device**: 이는 모든 종류의 장비를 의미합니다. 전자 제품은 개인 취향에 따라 컴퓨터, iPad, iPhone, 하드 드라이브 등 일반적인 백업 유형입니다. 또한 장치 간의 안전한 전송에 대해서도 생각해야 합니다. 중개인이 프로세스를 가로채기 어려운 AirDrop, USB와 같은 P2P 방식을 사용하는 것이 편합니다. 저는 전자기기가 몇 년 지나면 고장날 수도 있다는 사실이 선천적으로 불안해서 1년에 한 번 정도는 기기를 점검하는 습관을 유지하고 있습니다. 클라우드 섹션을 참조할 수 있는 몇 가지 반복되는 단계(예: 암호화)가 있습니다.\n\n**Brain**: 기억에 의존하는 것은 흥미진진한 일입니다. 사실 누구에게나 자신만의 '기억의 궁전'이 있습니다. 기억력은 신비한 것이 아니며 더 잘 작동하도록 훈련될 수 있습니다. 실제로 메모리가 더 안전한 것들이 있습니다. 두뇌에만 의존할지 여부는 개인의 선택입니다. 하지만 두 가지 위험에 주의하세요. 첫째, 시간이 지남에 따라 기억력이 사라져 혼란을 야기할 수 있습니다. 또 다른 위험은 사고가 발생할 수 있다는 것입니다.\n \n이제 모두 백업되었습니다. 너무 많이 암호화하지 마십시오. 그러면 몇 년 후에 스스로 고통 받게 될 것입니다. \"지속적 검증\"이라는 보안 원칙에 따라 암호화 및 백업 방법은 과도 여부에 관계없이 정기적으로나 무작위로 지속적으로 검증되어야 합니다. 확인 빈도는 기억력에 따라 다르며 전체 프로세스를 완료할 필요는 없습니다. 프로세스가 정확하다면 부분 검증도 작동합니다. 마지막으로 인증과정의 비밀유지와 보안에도 주의할 필요가 있습니다 :)\n\n## 지갑을 사용하는 방법\n\n지갑을 생성하고 백업했다면 이제 진짜 도전이 시작됩니다. 자산을 자주 이동하지 않거나 요즘 자주 언급되는 인기 용어인 DeFi, NFT, GameFi 또는 Web3의 스마트 계약과 거의 상호 작용하지 않는다면 자산은 비교적 안전할 것입니다.\n\n### AML\n\n그러나 \"비교적 안전하다\"는 것이 \"전혀 위험이 없다\"는 의미는 아닙니다. 왜냐면 \"내일과 사고중 어느 것이 먼저인지 알 수 없잖아요\" 그렇죠? 왜 그럴까요? 생각해 보세요. 암호화폐를 어디서 얻었나요? 그냥 갑자기 나온 게 아니죠? 귀하가 구매하는 모든 암호화폐에서 언제든지 AML(자금 세탁 방지)이 발생할 수 있습니다. 즉, 현재 보유하고 있는 암호화폐가 더러울 수도 있고, 운이 좋지 않으면 체인에 직접 얼어붙을 수도 있다는 의미입니다. 공개 보고서에 따르면 Tether는 법 집행 기관의 요청에 따라 일부 USDT 자산을 동결한 적이 있습니다. 동결된 자금 목록은 여기에서 확인할 수 있습니다: \n\n>https://dune.xyz/phabc/usdt---banned-addresses\n\nUSDT 계약을 통해 테더에 의해 주소가 동결되었는지 확인할 수 있습니다: \n\n>https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#readContract\n\n<img src=\"res/usdt_isblacklisted.png\" width=\"700\">\n\n확인하려면 대상 지갑 주소를 isBlackListed에 입력해 사용하세요. USDT를 사용하는 다른 체인에도 비슷한 검증 방법이 있습니다.\n \n그러나 BTC와 ETH는 절대로 동결되어서는 안 됩니다. 만약 미래에 이런 일이 일어난다면, 분산화에 대한 믿음도 무너질 것입니다. 오늘날 우리가 듣는 대부분의 암호화폐 자산 동결 사례는 실제로 중앙 집중식 플랫폼(예: Binance, Coinbase 등)에서 발생했지만 블록체인에서는 발생하지 않았습니다. 귀하의 암호화폐가 중앙 집중식 거래소 플랫폼에 남아 있으면 귀하는 실제로 해당 암호화폐를 소유한 것이 아닙니다. 중앙 집중식 플랫폼이 귀하의 계정을 동결하면 실제로 거래 또는 출금 허가가 취소됩니다. 동결이라는 개념은 해당 지역의 초보자에게 오해의 소지가 있을 수 있습니다. 결과적으로 일부 무모한 미디어는 비트코인에 대한 온갖 음모론을 퍼뜨렸습니다.\n \n귀하의 BTC 및 ETH 자산은 블록체인에서 동결되지 않지만, 귀하의 자산이 이러한 플랫폼으로 이전되고 법 집행 기관이 진행 중인 공개 사건에 연루되면 중앙 집중식 거래소는 AML 요구 사항에 따라 귀하의 자산을 동결할 수 있습니다.\n \nAML 문제를 더 잘 피하려면 항상 거래상대방으로 평판이 좋은 플랫폼과 개인을 선택하십시오. 실제로 이러한 유형의 문제에 대한 몇 가지 해결책이 있습니다. 예를 들어, Ethereum에서는 거의 모든 범죄자와 개인 정보 보호에 관심이 많은 사람들이 코인 세탁을 위해 Tornado Cash를 사용합니다. 여기서는 대부분의 방법이 악을 행하는 데 사용되므로 이 주제에 대해서는 더 이상 다루지 않겠습니다.\n\n### 콜드 월렛\n\n콜드월렛을 사용하는 방법은 다양합니다. 지갑 입장에서는 어떠한 네트워크에도 연결되어 있지 않다면 콜드 지갑으로 간주될 수 있습니다. 하지만 오프라인일 때는 어떻게 사용하나요? 우선 단순히 암호화폐를 받고자 한다면 별 문제가 되지 않습니다. 콜드 지갑은 imToken, OneKey, Trust Wallet 등과 같은 Watch-Only 지갑과 함께 작동하여 탁월한 경험을 제공할 수 있습니다. 이러한 지갑은 간단히 대상 지갑 주소를 추가하여 Watch-Only 지갑으로 전환할 수 있습니다.\n \n콜드 지갑을 사용하여 암호화폐를 보내려는 경우 가장 일반적으로 사용되는 방법은 다음과 같습니다: \n\n* QRCode\n* USB\n* Bluetooth\n\n이 모든 것에는 콜드 지갑과 함께 작동하는 전용 앱(여기서는 Light App이라고 함)이 필요합니다. Light App은 앞서 언급한 Watch-Only 지갑과 함께 온라인 상태가 될 것입니다. 기본 원리를 이해하고 나면 이러한 접근 방식도 이해할 수 있어야 합니다. 자세한 과정은 다음과 같습니다: \n\n* 서명할 콘텐츠는 위 방법 중 하나를 통해 Light App에서 Cold Wallet으로 전송됩니다.\n* 서명은 개인키를 가지고 있는 콜드월렛에 의해 처리된 후 동일한 방식으로 라이트앱으로 다시 전송됩니다.\n* Light App은 서명된 콘텐츠를 블록체인에 브로드캐스트합니다.\n\n따라서 QR코드, USB, 블루투스 중 어떤 방법을 사용하더라도 위의 과정을 따라야 합니다. 물론 세부사항은 방법에 따라 다를 수 있습니다. 예를 들어 QR코드는 정보 용량이 제한되어 있어 서명 데이터가 너무 많으면 분할해야 합니다.\n \n조금 귀찮을 것 같지만 익숙해지면 괜찮아집니다. 당신은 심지어 완전한 안정감을 느낄 것입니다. 그러나 여기에는 여전히 위험이 존재하기 때문에 100% 안전하다고 생각하지 마십시오. 이러한 위험으로 인해 큰 손실을 입는 경우가 많습니다. 위험 요소는 다음과 같습니다: \n\n* 코인 전송 대상 주소를 꼼꼼히 확인하지 않아 코인이 다른 사람에게 전송되는 일이 발생했습니다. 사람들은 게으르고 부주의하며 때로는 . 예를 들어, 대부분의 경우 전체 주소를 완전히 확인하는 대신 지갑 주소의 시작과 끝 몇 비트만 확인합니다. 이는 사기꾼에게 백도어를 남깁니다. 그들은 원하는 대상 주소와 동일한 처음 및 마지막 몇 비트로 지갑 주소를 가져오는 프로그램을 실행한 다음 몇 가지 트릭을 사용하여 코인 전송 대상 주소를 자신이 제어할 수 있는 주소로 바꿉니다.\n* 코인은 알 수 없는 주소로 승인되었습니다. 일반적으로 승인은 이더리움 스마트 계약 토큰의 메커니즘인 \"승인\" 기능으로, 한 인수는 대상 승인 주소이고 다른 인수는 수량입니다. 많은 사람들이 이 메커니즘을 이해하지 못하기 때문에 대상 주소에 무제한의 토큰을 승인할 수 있으며, 이 시점에서 대상 주소는 모든 토큰을 전송할 수 있는 권한을 갖게 됩니다. 이것을 승인된 절도라고 하며 이 기술에는 다른 변형이 있지만 여기서는 이에 대해 확장하지 않겠습니다.\n* 중요하지 않아 보이는 몇몇 시그니처들은 사실 뒤에 거대한 함정이 숨어 있는데, 지금은 파고들지 않고 자세한 내용은 나중에 설명하도록 하겠습니다.\n* 콜드월렛은 필요한 정보를 충분히 제공하지 않아 귀하의 부주의와 오판을 초래할 수 있습니다.\n\n그것은 모두 두 가지 점으로 요약됩니다: \n\n* \"보이는 대로 서명합니다\"라는 사용자 상호 작용 보안 메커니즘이 누락되었습니다.\n* 사용자의 관련 배경 지식이 부족합니다.\n\n### 핫 월렛\n\n콜드 지갑에 비해 핫 지갑은 기본적으로 콜드 지갑이 가질 수 있는 모든 위험을 가지고 있습니다. 게다가 비밀 문구(또는 개인 키)가 도난당할 위험이 하나 더 있습니다. 이 시점에서는 런타임 환경의 보안과 같이 핫 지갑과 관련하여 고려해야 할 더 많은 보안 문제가 있습니다. 런타임 환경과 관련된 바이러스가 있는 경우 도난당할 위험이 있습니다. 비밀문구를 직접 탈취할 수 있는 특정 취약점을 지닌 핫월렛도 존재합니다.\n \n일반적인 코인 전송 기능 외에도 다른 DApp(DeFi, NFT, GameFi 등)과 상호 작용하려면 자신의 브라우저로 직접 액세스하거나 WalletConnect 프로토콜을 통해 PC 브라우저에서 열린 DApp과 상호 작용해야 합니다.\n\n*Note: 이 문서의 DApp에 대한 참조는 기본적으로 이더리움 블록체인에서 실행되는 스마트 계약 프로젝트를 참조합니다.*\n\n기본적으로 이러한 상호 작용은 지갑 보안 설계 자체에 문제가 없는 한 비밀 문구 도난으로 이어지지 않습니다. 당사의 보안 감사 및 보안 연구 이력에 따르면 대상 페이지의 악성 JavaScript에 의해 지갑 비밀 문구가 직접 도난당할 위험이 있습니다. 그러나 이는 실제로 잘 알려진 지갑이라면 할 수 없는 극히 낮은 수준의 실수이기 때문에 드문 경우입니다.\n \n이 중 실제로 제가 걱정하는 것은 없습니다. 저와 여러분 모두가 관리할 수 있는 문제입니다. 나의 가장 큰 관심사는 잘 알려진 지갑이 반복될 때마다 악성 코드나 백도어가 설치되지 않도록 어떻게 보장하는가입니다. 이 질문이 의미하는 바는 분명합니다. 현재 버전의 지갑에 보안 문제가 없는 것을 확인했고 편안하게 사용할 수 있지만 다음 버전이 얼마나 안전할지 모르겠습니다. 결국 저나 보안 팀은 모든 확인을 수행하는 데 그렇게 많은 시간과 에너지를 가질 수 없습니다.\n \nCoPay, AToken 등 여기에 설명된 악성 코드나 백도어에 의한 코인 도난 사건이 여러 건 발생했습니다. 구체적인 사건을 직접 검색하실 수 있습니다.\n \n이 경우 악을 행하는 방법에는 여러 가지가 있습니다: \n\n* 지갑이 실행되면 악성 코드는 관련 비밀 문구를 패키징하여 해커가 제어하는 서버에 직접 업로드합니다.\n* 지갑이 실행 중이고 사용자가 이체를 시작하면 대상 주소, 금액 등의 정보가 지갑 백엔드에서 비밀리에 교체되므로 사용자가 알아차리기 어렵습니다.\n* 비밀 문구 생성과 관련된 난수 엔트로피 값을 손상시켜 상대적으로 해독하기 쉽게 만듭니다.\n\n보안은 무지와 지식의 문제이므로 쉽게 무시하거나 놓칠 수 있는 것들이 많이 있습니다. 따라서 중요한 자산을 보관하는 지갑의 경우 내 보안 규칙도 간단합니다. 사용하기에 충분할 때 업데이트가 쉽지 않습니다.\n\n### 디파이 보안이 뭘까요\n\nDApp에 관해 이야기할 때 DeFi, NFT 또는 GameFi 등이 될 수 있습니다. 이들의 보안 기본 사항은 대부분 동일하지만 각각의 세부 사항이 있습니다. 먼저 DeFi를 예로 들어 설명하겠습니다. 업계에 종사하는 사람들은 거의 항상 스마트 컨트랙만 봅니다. 스마트 컨트랙이 좋으면 모든 것이 잘 될 것 같습니다. 실제로는 이것은 사실과 거리가 멀다?\n \nDeFi 보안에는 최소한 다음 구성 요소가 포함됩니다: \n\n* Smart Contract Security\n* Blockchain Foundation Security\n* Frontend Security\n* Communication Security\n* Human Security\n* Financial Security\n* Compliance Security\n\n**Smart Contract Security**\n\n스마트 계약 보안은 실제로 보안 감사의 가장 중요한 진입점이며, 스마트 계약에 대한 SlowMist의 보안 감사 표준은 다음에서 확인할 수 있습니다: \n\n>https://www.slowmist.com/service-smart-contract-security-audit.html\n\n숙련된 사용자의 경우 스마트 컨트랙 부분 자체의 보안이 제어 가능하다면(자체 감사가 가능하거나 전문 조직에서 발행한 보안 감사 보고서를 이해할 수 있는지 여부) 다른 부분이 안전한지 여부는 중요하지 않습니다. 제어 가능은 까다로운 개념이며, 그 중 일부는 사용자 자신의 힘에 따라 달라집니다. 예를 들어, 사용자는 과도한 스마트 계약 컨트랙으로 인한 위험과 관련하여 특정 요구 사항을 가지고 있습니다. 프로젝트 자체가 강력하고 그 뒤에 있는 사람들의 평판이 좋다면 완전한 중앙 집중화는 중요하지 않습니다. 그러나 잘 알려지지 않았거나 논란이 많거나 신흥 프로젝트의 경우 프로젝트의 스마트 컨트랙이 과도한 허가 위험을 안고 있다는 것을 알게 되면, 특히 그러한 허가가 귀하의 원금이나 수입에 영향을 미칠 수 있는 경우에는 확실히 꺼릴 것입니다.\n \n과도한 허가의 위험은 매우 미묘합니다. 많은 경우 프로젝트 관리자가 관련 거버넌스와 위험 대비를 수행하는 것이 가능합니다. 그러나 사용자에게 이것은 인간 본성에 대한 테스트입니다. 팀이 악을 행하기로 결정하면 어떻게 되나요? 따라서 업계에서는 과도한 권한으로 인한 위험을 완화하기 위해 Timelock을 추가하는 등의 절충 관행이 있습니다. 예를 들면 다음과 같습니다: \n\n> Compound, 확립되고 잘 알려진 DeFi 프로젝트인, 핵심 스마트 계약 모듈인 감사관 및 거버넌스 모두 관리자 권한에 Timelock 메커니즘을 추가했습니다<br>\n> Comptroller(0x3d9819210a31b4961b30ef54be2aed79b9c9cd3b)<br>\n> Governance(0xc0da02939e1441f497fd74f78ce7decb17b66529)<br>\n> 관리자는 이 2개 모듈을 사용합니다:<br>\n> Timelock(0x6d903f6003cca6255d85cca4d3b5e5146dc33925)\n\nTimelock(지연 변수)이 48시간(172,800초)이라는 것을 체인에서 직접 확인할 수 있습니다.\n\n<img src=\"res/compound_timelock.png\" width=\"700\">\n\n즉, 컴파운드 관리자가 대상 스마트 계약의 일부 주요 변수를 변경해야 하는 경우 트랜잭션이 블록체인에서 시작된 후 기록되지만 트랜잭션이 완료되고 실행되기까지는 48시간을 기다려야 합니다. 즉, 원하는 경우 관리자로부터 모든 단일 작업을 감사할 수 있으며 최소 48시간 동안 조치를 취할 수 있습니다. 예를 들어, 확실하지 않은 경우 48시간 이내에 자금을 인출할 수 있습니다.\n \n관리자의 과도한 권한이 발생할 위험을 완화하는 또 다른 방법은 다중 서명 관리를 위해 Gnosis Safe를 사용하는 등 다중 서명을 추가하여 최소한 독재자가 없도록 하는 것입니다. 여기서 다중서명은 \"황제의 새 옷\"이 될 수 있다는 점에 유의해야 합니다. 예를 들어, 한 사람이 여러 개의 키를 보유할 수 있습니다. 따라서 대상 프로젝트의 멀티시그 전략을 명확히 명시해야 합니다. 열쇠를 소유한 사람은 누구이며, 각 열쇠 보유자의 신원은 평판이 좋아야 합니다.\n \n어떤 안보 전략이라도 '황제의 새 옷' 문제로 이어질 수 있다는 점을 여기서 언급할 가치가 있습니다. 이는 전략이 잘 이루어진 것처럼 보이지만 실제로는 그렇지 않아 안보에 대한 환상을 낳습니다. 또 다른 예를 들어보면 Timelock은 서류상으로는 좋아 보입니다. 실제로 일부 프로젝트에서 배포한 Timelock에 백도어가 있는 경우가 있었습니다. 일반적으로 사용자는 Timelock의 소스 코드를 들여다보지 않고, 이해한다고 해도 반드시 이해하지 못할 것이기 때문에 관리자는 거기에 백도어를 설치해 두고 오랫동안 아무도 눈치 채지 못할 것입니다.\n \n과도한 권한의 위험 외에도 스마트 컨트랙 보안의 다른 요소도 중요합니다. 그러나 이해를 위한 전제 조건을 고려하여 여기서는 확장하지 않겠습니다. 제 조언은 다음과 같습니다. 적어도 보안 감사 보고서를 읽는 법을 배워야 하며 연습을 하면 완벽해집니다.\n\n**Blockchain Foundation Security**\n\n블록체인 기반 보안은 합의 원장 보안, 가상 머신 보안 등 블록체인 자체의 보안을 의미합니다. 블록체인 자체의 보안이 걱정된다면 체인에서 실행되는 스마트 컨트랙 프로젝트는 직접적인 어려움을 겪게 됩니다. 충분한 보안 메커니즘과 평판을 갖추고 더 높은 수명 확률을 지닌 블록체인을 선택하는 것이 매우 중요합니다.\n\n**Frontend Security**\n\n프론트엔드 보안은 정말 악마입니다. 사용자와 너무 가까워서 특히 사용자를 속이기 쉽습니다. 아마도 모든 사람의 주요 초점은 지갑과 스마트 컨트랙의 보안에 있기 때문에 프런트엔드 보안이 쉽게 간과될 수 있습니다. 프론트엔드 보안은 악마라는 점을 다시 한 번 강조하고 싶습니다! 더 깊이 파헤쳐 보겠습니다.\n \n프런트엔드 보안과 관련하여 가장 큰 우려 사항은 다음과 같습니다. 이 특정 프런트엔드 페이지에서 상호 작용하는 컨트랙이 내가 기대하는 스마트 컨트랙인지 어떻게 알 수 있습니까?\n \n이러한 불안은 주로 다음 두 가지 요인에 기인합니다: \n\n* 내부 작업\n* 제3자\n\n내부 작업을 이해하는 것은 간단합니다. 예를 들어, 개발자는 프런트엔드 페이지의 대상 스마트 컨트랙 주소를 백도어가 있는 컨트랙 주소로 비밀리에 바꾸거나 인증 피싱 스크립트를 심습니다. 이 조작된 프런트엔드 페이지를 방문하면 지갑에 있는 암호화폐와 관련된 일련의 후속 작업이 함정에서 수행될 수 있습니다. 당신이 깨닫기도 전에 자산은 이미 사라졌을 것입니다.\n \n제3자는 주로 두 가지 유형을 말합니다: \n\n* 하나는 종속성 체인이 침투되었다는 것입니다. 예를 들어, 프런트엔드 페이지에서 사용되는 타사 종속성에는 패키징 및 릴리스와 함께 대상 프런트엔드 페이지로 몰래 들어가는 백도어가 있습니다. 다음은 SushiSwap의 패키지 종속성 구조입니다(단순 설명을 위해 스크린샷의 프로젝트에 반드시 그러한 문제가 있다는 의미는 아닙니다): <br>\n    <img src=\"res/sushiswap_3rd.png\" width=\"500\">\n\n* 다른 예는 프런트엔드 페이지에서 가져온 타사 원격 JavaScript 파일입니다. 이 JavaScript 파일이 해킹되면 OpenSea와 같은 대상 프런트엔드 페이지도 영향을 받을 수 있습니다(단순 설명을 위해 스크린샷의 프로젝트에 반드시 그러한 문제가 있다는 의미는 아닙니다).<br>\n    <img src=\"res/opensea_3rd.png\" width=\"800\">\n\n우리가 그것이 가능하다고 말했지만 확실하지는 않다고 말한 이유는 개발자가 다음과 같은 방식으로 프런트엔드 페이지에서 타사 원격 JavaScript 파일을 참조하면 위험이 완화될 수 있기 때문입니다.\n\n><script src=\"https://example.com/example-framework.js\" integrity=\"sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pbOxEbzJr7\" crossorigin=\"anonymous\"></script>\n\n여기서 핵심은 HTML5의 뛰어난 보안 메커니즘인 태그의 무결성 속성(SRI 메커니즘)입니다. 무결성은 SHA256, SHA384 및 SHA512를 지원합니다. 타사 JavaScript 파일이 해시 무결성 검사를 충족하지 않으면 파일이 로드되지 않습니다. 이는 의도하지 않은 코드 실행을 방지하는 좋은 방법이 될 수 있습니다. 그러나 이 메커니즘을 활용하려면 대상 리소스가 CORS 응답을 지원해야 합니다. 자세한 내용은 다음을 참조하세요: \n\n>https://developer.mozilla.org/zh-CN/docs/Web/Security/Subresource_Integrity\n\n**Communication Security**\n\n이 섹션에서는 HTTPS 보안에 중점을 두겠습니다. 첫째, 대상 웹사이트는 HTTPS를 사용해야 하며, HTTP 일반 텍스트 전송은 절대 허용되어서는 안 됩니다. 이는 HTTP 일반 텍스트 전송이 중간자 공격에 의해 도용되기가 너무 쉽기 때문입니다. 요즘 HTTPS는 보안 전송 프로토콜로 매우 일반적입니다. HTTPS에 중간자 공격이 있고 공격자가 웹 애플리케이션의 프런트 엔드에 악성 JavaScript를 삽입한 경우 매우 명백한 HTTPS 인증서 오류 경고가 사용자 브라우저에 표시됩니다.\n\n이 점을 설명하기 위해 MyEtherWallet 사건을 예로 들어보겠습니다. MyEtherWallet은 매우 인기 있는 웹 애플리케이션 지갑이었으며 지금까지도 여전히 잘 알려져 있습니다. 그러나 더 이상 단순한 웹 애플리케이션 지갑이 아닙니다. 앞서 언급했듯이 보안상의 이유로 웹 애플리케이션 지갑의 사용을 강력히 권장하지 않습니다. 프런트 엔드 보안의 다양한 문제 외에도 HTTPS 하이재킹도 큰 잠재적 위험입니다.\n\n2018년 4월 24일, 마이이더월렛(MyEtherWallet)에서 HTTPS 하이재킹이라는 대형 보안 사고가 발생했습니다. 사건 요약은 여기에서 확인할 수 있습니다: \n\n>https://www.reddit.com/r/MyEtherWallet/comments/8eloo9/official_statement_regarding_dns_spoofing_of/<br>\n>https://www.reddit.com/r/ethereum/comments/8ek86t/warning_myetherwalletcom_highjacked_on_google/\n\n![](res/myetherwallet_https_hijack.png)\n\n해당 공격에서 해커는 고대 라우팅 프로토콜인 BGP를 통해 다수의 마이이더월렛 사용자가 사용하는 DNS 서비스(구글 퍼블릭 DNS)를 하이재킹했으며, 이로 인해 모든 사용자가 방문을 시도할 때 모든 사용자의 브라우저에 HTTPS 오류 경고가 직접 표시되었습니다. 마이이더월렛(MyEtherWallet) 웹사이트. 실제로 사용자는 이 경고를 보면 기본적으로 대상 웹 페이지가 하이재킹되었음을 나타내므로 중지해야 합니다. 그러나 실제로는 많은 사용자가 HTTPS 오류 경고 뒤에 숨겨진 보안 위험을 전혀 이해하지 못했기 때문에 경고를 빠르게 무시하고 하이재킹된 사이트와의 상호 작용을 계속 진행했습니다.\n\n대상 웹 페이지가 하이재킹되었고 해커가 거기에 악성 JavaScript를 삽입했기 때문에 사용자의 상호 작용 시 해커는 성공적으로 일반 텍스트 개인 키를 훔치고 자금(주로 ETH)을 이체했을 것입니다.\n\n이는 해커가 BGP 하이재킹 기술을 사용하여 암호화폐를 훔친 전형적인 사례입니다. 그 후에도 유사한 사례가 여러 건 있었지만 여기서는 자세히 언급하지 않겠습니다. 사용자에게 정말로 주의가 필요한 것은 단 하나입니다. 웹 애플리케이션 지갑을 사용하기로 결정했거나 DApp과 상호 작용하려고 시도하는 경우 HTTPS 인증서 오류 경고가 나타날 때마다 항상 페이지를 중지하고 닫으십시오! 그러면 당신의 자금은 괜찮을 것입니다. \n\n보안에는 잔인한 현실이 있습니다. 위험이 있을 때 사용자에게 선택권을 주지 마십시오. 그렇듯이 어떤 이유로든 함정에 빠지는 사용자는 항상 있기 마련입니다. 실제로 프로젝트 팀이 책임을 져야 합니다. 현재 위에서 언급한 HTTPS 하이재킹 문제에 대한 매우 효과적인 보안 솔루션이 이미 있습니다. 프로젝트 팀은 HSTS를 적절하게 구성해야 합니다. HSTS는 HTTP 엄격한 전송 보안을 나타냅니다. 이는 대부분의 최신 브라우저에서 지원되는 웹 보안 정책 메커니즘입니다. HSTS가 활성화된 경우 HTTPS 인증서 오류가 발생하는 경우 브라우저는 사용자가 대상 웹 애플리케이션에 대한 액세스를 중지하도록 강제하며 제한을 우회할 수 없습니다.\n\n**Human Nature Security**\n\n이 섹션은 이해하기 쉽습니다. 예를 들어 프로젝트 팀은 사악한 마음을 갖고 부정직한 방식으로 행동합니다. 이전 섹션에서 몇 가지 관련 내용을 언급했으므로 여기서는 더 자세한 내용을 다루지 않겠습니다. 자세한 내용은 이후 섹션에서 다루겠습니다.\n\n**Financial Security**\n\n금융 보안은 깊이 존중되어야 합니다. DeFi에서 사용자는 토큰 가격과 수익에 최대한 주의를 기울입니다. 그들은 더 우수하거나 적어도 꾸준한 투자 수익을 원합니다. 즉, 사용자로서 게임은 이기기 위해 하고, 지더라도 공정한 게임이라는 확신이 필요합니다. 이것은 인간의 본성입니다.\n\nDeFi의 금융 보안은 다음과 같은 형태의 공격에 취약합니다: \n\n* 사전 채굴, 사전 판매 등 불공정한 출시 관행.\n* 암호화폐 고래의 공격.\n* Pump and dump.\n* 갑작스러운 시장폭포와 같은 블랙스완 현상; 또는 하나의 DeFi 프로토콜이 다른 DeFi/토큰의 보안/신뢰성은 다른 프로토콜에 의해 크게 달라집니다.\n* 기타 기술적 공격 또는 프론트 런닝(front running), 샌드위치 공격, 플래시 대출 공격 등과 같은 과학적 기술이라고 부르는 공격.\n\n**Compliance Requirements**\n\n규정 준수 요구 사항은 매우 큰 주제이며, 앞서 언급한 AML(자금 세탁 방지)은 그 중 하나일 뿐입니다. KYC(Know Your Customer), 제재, 증권 위험 등과 같은 측면도 있습니다. 실제로 우리 사용자에게는 이러한 측면이 우리의 통제 대상이 아닙니다. 당사가 특정 프로젝트와 상호 작용할 때 특정 국가의 관련 규정이 적용될 수 있으므로 당사의 개인 정보가 수집될 수 있습니다. 당신은 그러한 개인 정보 보호 문제에 관심이 없을 수도 있지만, 그렇게 하는 사람들이 있습니다.\n\n예를 들어, 2022년 초에 작은 사건이 발생했습니다. 일부 지갑은 AOPP(주소 소유권 증명 프로토콜) 프로토콜을 지원하기로 결정했습니다.\n\n프로토콜 설계를 살펴보니 AOPP를 지원하는 지갑에서는 사용자 개인정보가 유출될 수 있다는 사실이 밝혀졌습니다. 규제 기관은 규제 대상 암호화폐 거래소와 알려지지 않은 외부 지갑 주소 간의 상호 연결을 알게 될 수 있습니다: \n\n>https://gitlab.com/aopp/address-ownership-proof-protocol\n\n많은 개인 정보 보호 지향 지갑이 사용자의 피드백에 대해 너무 우려하고 제품에서 AOPP 지원을 신속하게 제거한 것은 당연합니다. 하지만 솔직히 말해서 프로토콜 디자인은 꽤 흥미롭습니다. EdgeWallet과 같은 일부 지갑에서는 AOPP 지원을 제거할 계획이 없는 것으로 나타났습니다. 그들의 의견은 AOPP가 반드시 더 많은 사용자 개인 정보를 노출하는 것은 아니며 오히려 암호화폐의 유통을 향상시키는 데 도움이 된다는 것입니다. 많은 규제된 암호화폐 거래소에서 사용자는 자신의 소유권을 증명하기 전에 특정 외부 지갑 주소로 출금하는 것이 허용되지 않습니다.\n\n처음에는 잘 알려진 하드웨어 지갑 Trezor가 AOPP 지원 제거를 거부했습니다. 그러나 나중에 커뮤니티와 트위터 사용자의 압력으로 인해 타협을 강요당했고 그렇게 했습니다.\n\n보시다시피 아주 작은 사건이지만 어떤 사람들에게는 개인 정보 보호가 정말 중요합니다. 이는 규정을 위반하고 규정 준수 요구 사항을 완전히 무시해야 한다는 의미는 아닙니다. 사실 저는 규정 준수 요구 사항에 대해 어느 정도 타협이 필요하다고 생각합니다. 우리는 이 주제에 대해 계속 깊이 파고들지는 않을 것입니다. 자유롭게 내용을 자신만의 방식으로 소화해 보세요.\n\n지금까지 우리는 DeFi 보안 섹션의 대부분의 내용을 다루었습니다.\n\n게다가 향후 추가 또는 업데이트로 인해 보안 문제도 발생합니다. 우리는 흔히 \"보안태세는 정적인 것이 아니라 동적이다\"라고 말합니다. 예를 들어 오늘날 대부분의 프로젝트 팀은 보안 감사를 수행하고 깨끗한 보안 감사 보고서를 표시합니다. 양질의 보고서를 주의 깊게 읽어본 적이 있다면 이러한 보고서가 범위, 기간 및 감사된 콘텐츠의 고유 식별자(예: 검증된 오픈 소스 스마트 컨트랙 주소 또는 GitHub 저장소의 커밋 주소, 또는 대상 소스 코드 파일의 해시). 즉, 보고서는 정적이지만 프로젝트에서 보고서에 언급된 내용과 다른 점이 발견되면 이를 지적할 수 있습니다.\n\n### NFT 보안\n\nDeFi 보안에 대해 앞서 언급한 모든 내용은 NFT 보안에 적용될 수 있으며 NFT 자체에는 몇 가지 매우 구체적이고 독특한 보안 주제가 있습니다. 예를 들면 다음과 같습니다: \n\n* 메타데이터 보안\n* 서명 보안\n\n메타데이터는 주로 삽입된 사진, 동영상 및 기타 콘텐츠를 의미합니다. 특정 표준에 대해서는 OpenSea를 참조하는 것이 좋습니다: \n\n>https://docs.opensea.io/docs/metadata-standards\n\n여기서 발생할 수 있는 두 가지 주요 보안 문제가 있습니다: \n\n* 하나는 이미지(또는 영화)가 위치한 URI가 신뢰할 수 없을 수 있다는 것입니다. 이는 단지 무작위로 선택된 중앙 집중식 서비스일 수 있으며, 한편으로는 가용성이 보장되지 않고, 다른 한편으로는 프로젝트 팀이 이미지를 마음대로 수정할 수 있으므로 NFT는 더 이상 불변의 \"디지털 수집품\"이 되지 않습니다. 일반적으로 IPFS, Arweave와 같은 중앙 집중식 스토리지 솔루션을 사용하고 잘 알려진 URI 게이트웨이 서비스를 선택하는 것이 좋습니다.\n* 또 하나는 개인 정보 유출 가능성입니다. 무작위로 선택된 URI 서비스는 사용자의 기본 정보(예: IP, User-Agent 등)를 캡처할 수 있습니다.\n\n서명 보안은 여기서 또 다른 큰 관심사이며 아래에서 설명하겠습니다.\n\n### 서명할 때 조심하세요\n\n서명 보안은 함정이 너무 많고 항상 조심해야 하기 때문에 특별히 언급하고 싶은 것입니다. 특히 NFT 거래에서 여러 가지 사건이 발생했습니다. 그러나 이러한 보안 문제에 대비하고 대처하는 방법을 이해하는 사람은 그리 많지 않다는 것을 알게 되었습니다. 이유는 문제를 충분히 명확하게 설명한 사람이 거의 없기 때문입니다.\n\n서명 보안에서 가장 중요한 보안 원칙 1위는 바로 보이는 대로 서명하는 것입니다. 즉, 귀하가 받은 서명 요청의 메시지는 서명 후 기대할 수 있는 내용입니다. 서명한 후에는 결과가 후회할 일이 아니라 예상한 대로여야 합니다.\n\n서명 보안에 대한 일부 세부 사항은 \"콜드 월렛\" 섹션에서 언급되었습니다. 기억이 나지 않는다면 해당 섹션을 다시 살펴보는 것이 좋습니다. 이 섹션에서는 다른 측면에 중점을 둘 것입니다.\n\n2022년경 OpenSea에서 잘 알려진 NFT 해킹이 여러 건 있었습니다. 2022년 2월 20일에 대규모 해킹이 발생했습니다. 근본 원인은 다음과 같습니다: \n\n* 사용자는 OpenSea에서 NFT 목록 요청에 서명했습니다.\n* 해커는 사용자로부터 관련 서명을 얻기 위해 피싱을 시도했습니다.\n\n보다 정확한 해석을 위해 다음을 확인할 수 있습니다(어떤 이유로 인해 아래 링크가 더 이상 유효하지 않으며 Twitter 계정이 사라졌습니다): \n\n>https://twitter.com/Nesotual/status/1495223117450551300\n\n실제로 해커가 관련 서명을 얻는 것은 어렵지 않습니다. 해커는 1).서명할 메시지를 구성합니다, 2). Hash it, 3). 요청에 서명하도록 대상 사용자를 속입니다(이는 블라인드 서명이 되며, 이는 사용자가 실제로 서명하는 내용을 알지 못함을 의미합니다), 4). 서명된 콘텐츠를 가져와 데이터를 구성합니다. 이 시점에서 사용자는 해킹당했습니다.\n\nOpensea를 예로 들어보겠습니다(실제로는 모든 NFT 마켓플레이스가 될 수 있습니다). 대상 사용자가 시장에서 NFT 목록 작업을 승인한 후 해커는 서명할 메시지를 구성합니다. Keccak256으로 해시한 후 피싱 페이지에 서명 요청 팝업이 표시됩니다. 사용자에게는 다음과 같은 내용이 표시됩니다.\n\n<img src=\"res/metamask_sign.jpg\" width=\"360\">\n\n이 MetaMask 팝업 창에서는 어떤 정보를 얻을 수 있나요? 계정 정보 및 계정 잔액, 서명 요청이 발생한 소스 웹사이트, 사용자가 서명하려는 메시지 등 기타 사항은 없습니다. 재해가 이미 진행 중이라고 사용자가 어떻게 의심할 수 있습니까? 그리고 일단 \"서명\" 버튼을 클릭하면 NFT가 도난당할 것이라는 사실을 어떻게 알 수 있습니까?\n\n이것은 실제로 블라인드 서명의 예입니다. 사용자는 NFT 마켓플레이스 내에서 서명할 필요가 없습니다. 대신, 사용자는 이러한 서명의 실제 의미와 결과를 완전히 이해하지 못한 채 피싱 웹사이트에 속아 메시지에 서명할 수 있습니다. 불행하게도 해커들은 알고 있습니다. 사용자로서 다음 사항을 명심하십시오: 어떤 것에도 확인하지 않고 서명하지 마십시오. OpenSea는 예전에 블라인드 서명 문제가 있었는데, 2022년 2월 20일 이후 EIP-712를 채택하여 이를 해결했습니다. 하지만 블라인드 서명이 없으면 사용자는 여전히 부주의하고 다른 방법으로 해킹당할 수 있습니다.\n\n이런 일이 발생하는 가장 중요한 이유는 서명이 브라우저의 동일 출처 정책을 따르도록 제한되지 않기 때문입니다. 다음과 같이 간단하게 이해할 수 있습니다. 동일 출처 정책은 프로젝트 팀이 의도적으로 도메인 교차가 발생하도록 원하지 않는 한 작업이 특정 도메인에서만 발생하고 도메인을 교차하지 않도록 보장할 수 있습니다. 서명이 동일 원본 정책을 따르는 경우 사용자가 대상이 아닌 도메인에서 생성된 서명 요청에 서명하더라도 해커는 대상 도메인에서의 공격에 서명을 사용할 수 없습니다. 자세한 내용을 살펴보기 전에 여기서 멈추겠습니다. 프로토콜 수준의 보안 개선에 대한 새로운 제안이 눈에 띄었는데, 이 상황이 하루 빨리 개선될 수 있기를 바랍니다.\n\n메시지 서명 시 발생할 수 있는 주요 공격 형식을 대부분 언급했지만 실제로는 꽤 많은 변형이 있습니다. 아무리 다르게 보여도 비슷한 패턴을 따릅니다. 이를 이해하는 가장 좋은 방법은 공격을 처음부터 끝까지 직접 재현하거나 고유한 공격 방법을 만드는 것입니다. 예를 들어, 여기에 언급된 서명 요청 공격에는 실제로 서명할 메시지를 구성하는 방법, 서명 후 정확히 무엇이 생성되는지 등 많은 세부 정보가 포함되어 있습니다. \"승인\" 이외의 승인 방법이 있습니까(있습니다, 예: increaseAllowance). 음, 여기서 확장하면 너무 기술적일 것입니다. 좋은 점은 메시지 서명의 중요성을 이해하고 있다는 것입니다.\n\n사용자는 인증/승인을 취소함으로써 이러한 공격을 원천적으로 방지할 수 있습니다. 다음은 사용할 수 있는 몇 가지 잘 알려진 도구입니다: \n\n* Token Approvals\n    >https://etherscan.io/tokenapprovalchecker<br>\n    >이더리움 공식 브라우저에서 제공하는 인증 확인 및 취소를 위한 도구입니다. 다른 EVM 호환 블록체인에는 기본적으로 Etherscan에서 개발한 블록체인 브라우저와 비슷한 점이 있습니다: <br>\n    >https://bscscan.com/tokenapprovalchecker<br>\n    >https://hecoinfo.com/tokenapprovalchecker<br>\n    >https://polygonscan.com/tokenapprovalchecker<br>\n    >https://snowtrace.io/tokenapprovalchecker<br>\n    >https://cronoscan.com/tokenapprovalchecker\n\n* Revoke.cash\n    >https://revoke.cash/<br>\n    >좋은 평판과 점점 더 강력해지는 멀티 체인 지원.\n\n* Rabby extension wallet\n    >https://rabby.io/<br>\n    >우리가 많이 콜라보레이션 한 지갑 중 하나입니다. \"인증 확인 및 취소\" 기능을 제공하는 EVM 호환 블록체인의 수는 제가 본 것 중 가장 많습니다.\n\n:warning:**Note**: SIGNATURE SECURITY에 대해 보다 포괄적이고 심도 있는 이해를 원하시면 다음 저장소 추가 사항의 확장 기능을 참고로 확인하시기 바랍니다: \n\n> https://github.com/evilcos/darkhandbook<br>\n> SIGNATURE SECURITY에 대한 지식이 초보자에게 상당히 어려운 것은 사실입니다. 저장소에는 관련 콘텐츠가 정리되어 있으며, 이를 주의 깊게 읽으면 보안 지식을 파악하는 데 도움이 됩니다. 따라서 더 이상 어려움을 느끼지 않을 것입니다. (모든 것을 읽고 이해할 수 있다면 보안 지식은 더 이상 어렵지 않을 것이라고 믿습니다.)\n\n### 반직관적인 서명 요청에 주의하세요\n\n나는 특히 또 다른 위험, 즉 직관에 반하는 위험을 언급하고 싶습니다.\n\n반직관적이란 무엇인가? 예를 들어, 귀하는 이미 이더리움에 매우 익숙하며 모든 종류의 DeFi 및 NFT의 OG가 되었습니다. 솔라나 생태계에 처음 들어가면 아마도 유사한 피싱 웹사이트를 접하게 될 것입니다. 준비가 너무 잘 되어 있어서 \"이더리움 생태계에서 이런 것들을 수천 번 봤는데 어떻게 속을 수 있지?\"라고 생각하기 시작할 수도 있습니다.\n\n그동안 해커들은 당신이 이미 속았기 때문에 기뻐할 것입니다. 사람들은 자신의 직관적인 감정을 따르기 때문에 부주의하게 됩니다. 반직관적인 공격이 있을 때 사람들은 함정에 빠지게 됩니다.\n\n이제 반직관성을 활용한 실제 사례를 살펴보겠습니다.\n\n<img src=\"res/solana_nft_phishing.jpg\" width=\"800\">\n\n우선, 경고합니다: 솔라나에 대한 승인 피싱은 훨씬 더 잔인합니다. 위의 예는 2022년 3월 5일에 발생했습니다. 공격자는 NFT를 사용자에게 일괄적으로 에어드랍했습니다(그림 1). 사용자들은 에어드랍 NFT 설명에 있는 링크(www_officialsolanares_net)를 통해 대상 웹사이트에 접속하고 지갑을 연결했습니다(그림 2). 페이지에서 \"Mint\" 버튼을 클릭하면 승인 창이 팝업으로 나타납니다(그림 3). 참고로 이때는 팝업창에 특별한 알림이나 메시지가 없었습니다. 승인되면 지갑에 있는 모든 SOL이 이전됩니다.\n\n사용자가 \"승인\" 버튼을 클릭하면 실제로 공격자가 배포한 악성 스마트 컨트랙과 상호 작용하는 것입니다: 3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8v.\n\n이 악성 스마트 컨트랙의 궁극적인 목표는 사용자의 SOL을 모두 전송하는 \"SOL Transfer\"을 시작하는 것입니다. 온체인 데이터를 분석한 결과, 피싱 행위는 며칠간 계속됐고, 해당 기간 동안 피해자 수도 계속 늘어났습니다.\n\n이 예에는 주의해야 할 두 가지 함정이 있습니다: \n1. 사용자가 승인한 후 악성 스마트 계약은 사용자의 기본 자산(이 경우 SOL)을 전송할 수 있습니다. 이더리움에서는 불가능합니다. Ethereum의 인증 피싱은 다른 토큰에만 영향을 미칠 수 있으며 ETH의 기본 자산에는 영향을 미칠 수 없습니다. 이는 사용자의 경계심을 낮추게 만드는 반직관적인 부분입니다.\n2. 솔라나에서 가장 잘 알려진 지갑인 팬텀(Phantom)은 보안 메커니즘에 허점이 있어 \"보이는 대로 서명합니다\"라는 원칙을 따르지 않으며(다른 지갑은 아직 테스트하지 않았습니다) 사용자에게 충분한 위험 경고를 제공합니다. 이는 사용자의 코인을 소모하는 보안 사각지대를 쉽게 만들 수 있습니다.\n\n### 심화 공격 방법론들\n\n실제로 다양한 첨단 공격 방법론이 있지만 대중의 관점에서는 대부분 피싱으로 간주됩니다. 그러나 일부는 일반적인 피싱 공격이 아닙니다. 예를 들어: \n\n>https://twitter.com/Arthur_0x/status/1506167899437686784\n\n해커는 이러한 첨부 파일이 포함된 피싱 이메일을 보냈습니다: \n>A Huge Risk of Stablecoin (Protected).docx\n\n솔직히 말해서 매력적인 문서입니다. 그러나 일단 열리면 사용자의 컴퓨터는 일반적으로 다음 기능을 포함하는 트로이 목마(일반적으로 Office 매크로 또는 0day/1day 익스플로잇을 통해)에 이식됩니다: \n\n* 브라우저 관련, SSH 관련 등 모든 종류의 자격 증명을 수집합니다. 이러한 방식으로 해커는 대상 사용자의 다른 서비스에 대한 액세스를 확장할 수 있습니다. 따라서 감염 후 사용자는 일반적으로 대상 장치를 정리할 뿐만 아니라 관련 계정 권한도 정리하는 것이 좋습니다.\n* Keylogger, 특히 비밀번호와 같은 민감한 정보가 일시적으로 나타나는 것을 표적으로 삼습니다.\n* 관련 스크린샷, 민감한 파일 등을 수집합니다.\n* 랜섬웨어인 경우 대상 시스템의 모든 파일은 강력하게 암호화되어 피해자가 일반적으로 비트코인으로 몸값을 지불할 때까지 기다립니다. 하지만 이 경우에는 더 명백하고 시끄러운 행동과 직접적인 의도를 가진 랜섬웨어가 아니었습니다.\n\n또한 암호화폐 산업을 표적으로 삼는 트로이 목마는 사용자의 자금을 훔치기 위해 잘 알려진 지갑이나 거래소에서 중요한 정보를 수집하도록 특별히 맞춤화됩니다. 전문가 분석에 따르면 위에서 언급한 트로이 목마는 메타마스크를 표적 공격할 것으로 보입니다: \n\n>https://securelist.com/the-bluenoroff-cryptocurrency-hunt-is-still-on/105488/\n\n트로이 목마는 사용자의 MetaMask를 백도어가 있는 가짜로 대체합니다. 백도어 MetaMask는 기본적으로 귀하가 내부에 저장한 모든 자금이 더 이상 귀하의 것이 아니라는 것을 의미합니다. 하드웨어 지갑을 사용하더라도 이 가짜 MetaMask는 대상 주소나 금액 정보를 조작하여 자금을 훔칠 수 있습니다.\n\n이 접근 방식은 지갑 주소가 알려진 잘 알려진 대상을 위해 특별히 제작되었습니다. 내가 알아차린 것은 그러한 사람들 중 다수가 너무 오만하여 해킹당하는 것을 막을 수 없다는 것입니다. 해킹 후 많은 사람들이 교훈을 얻고, 전체 검토를 수행하고, 상당한 개선을 이루었으며, 신뢰할 수 있는 보안 전문가 또는 기관과 장기적인 협력 및 우정을 형성할 것입니다. 그러나 이 세상에는 언제나 예외가 있습니다. 어떤 사람이나 프로젝트는 계속해서 해킹당하고 있습니다. 그때마다 누구도 접해보지 못한 일 때문이라면 나는 그들을 존경하며 개척자라고 부를 것입니다. 시간이 지남에 따라 해킹의 성공 가능성이 높아집니다. 불행하게도 많은 사건은 쉽게 피할 수 있는 매우 어리석고 반복적인 실수의 결과입니다. 이러한 프로젝트를 멀리하는 것이 좋습니다.\n\n이에 비해 이러한 대규모 피싱 공격은 전혀 포괄적이지 않습니다. 공격자는 비슷하게 보이는 도메인 이름을 준비하고 Twitter나 기타 소셜 플랫폼에서 계정, 팔로어, 리트윗을 구입하여 페이로드를 확산시킵니다. 잘 관리하면 많은 사람들이 함정에 빠지게 됩니다. 이런 종류의 피싱 공격에는 실제로 특별한 것이 없으며, 일반적으로 공격자는 사용자가 토큰(NFT 포함)을 전송하도록 잔인하게 인증하게 만듭니다.\n\n공격 프로세스를 원활하게 하기 위해 XSS, CSRF, 역방향 프록시와 같은 기술을 사용하는 등 다른 종류의 고급 공격도 있습니다. 역방향 프록시의 시나리오 중 하나인 매우 특별한 경우(Cloudflare 중간자 공격)를 제외하고는 여기에서 모든 것에 대해 자세히 설명하지 않겠습니다. 이 극도로 은밀한 방법을 이용하여 재정적 손실을 초래하는 실제 공격이 있었습니다.\n\n여기서 문제는 Cloudflare 자체가 사악하거나 해킹당하는 것이 아닙니다. 대신 프로젝트 팀의 Cloudflare 계정이 손상됩니다. 일반적으로 프로세스는 다음과 같습니다. Cloudflare를 사용하는 경우 대시보드에 이 \"작업자\" 모듈이 표시됩니다. 공식 설명은 다음과 같습니다: \n\n서버리스 애플리케이션을 구축하고 전 세계에 즉시 배포하여 뛰어난 성능, 안정성 및 확장성을 달성합니다. 자세한 내용은 다음을 참조하세요: \n>https://developers.cloudflare.com/workers/\n\n테스트 페이지를 만들어 봤습니다: \n\n>https://xssor.io/s/x.html\n\n해당 페이지에 접속하시면 팝업창이 뜹니다: \n\n>xssor.io, Hijacked by Cloudflare.\n\n실제로 이 팝업은 물론 x.html의 전체 내용도 문서 자체에 속하지 않습니다. 이들 모두는 Cloudflare에서 제공됩니다. 메커니즘은 아래와 같습니다: \n\n<img src=\"res/cloudflare_worker.png\" width=\"800\">\n\n스크린샷의 코드 조각 표시는 매우 간단합니다. 내가 해커이고 Cloudflare 계정을 제어했다면 Workers를 사용하여 모든 웹 페이지에 임의의 악성 스크립트를 삽입할 수 있습니다. 그리고 오류 경고(예: HTTPS 인증서 오류)가 없기 때문에 사용자가 대상 웹 페이지가 하이재킹 및 변조되었음을 깨닫는 것이 매우 어렵습니다. 프로젝트 팀조차도 서버와 직원의 보안을 확인하는 데 엄청난 시간을 소비하지 않으면 문제를 쉽게 식별할 수 없습니다. Cloudflare 작업자라는 사실을 깨닫게 될 때쯤이면 손실이 이미 상당할 수 있습니다.\n\nCloudflare는 실제로 좋은 도구입니다. 많은 웹사이트나 웹 애플리케이션은 이를 웹 애플리케이션 방화벽, DDoS 방지 솔루션, 글로벌 CDN, 역방향 프록시 등으로 사용할 것입니다. 무료 버전이 있기 때문에 큰 고객 기반을 보유하고 있습니다. 또는 Akaimai 등의 서비스가 있습니다.\n\n사용자는 해당 계정의 보안에 주의를 기울여야 합니다. 인터넷의 등장으로 계정 보안 문제가 발생합니다. 이는 전 세계 거의 모든 사람이 어디서나 이야기할 만큼 흔한 주제이지만, 여전히 많은 사람들이 이로 인해 해킹을 당하고 있습니다. 일부 근본 원인은 중요한 서비스에 고유하고 강력한 비밀번호를 사용하지 않기 때문일 수 있습니다(1Password와 같은 비밀번호 관리자는 그다지 인기가 없습니다). 일부는 2단계 인증(2FA)을 활성화하지 않기 때문일 수도 있습니다. 그들은 심지어 그 일에 대해서도 모릅니다. 일부 특정 서비스의 경우는 말할 것도 없고, 비밀번호는 최소한 1년에 한 번 재설정해야 합니다.\n\n좋습니다. 이번 섹션은 이것으로 마치겠습니다. 이것이 실제로 어두운 숲이라는 점만 이해하고 가능한 한 많은 공격 방법을 알아야 합니다. 서류상으로 충분히 살펴본 후 적어도 한두 번 함정에 빠졌다면 자신을 아마추어 보안 전문가라고 생각할 수 있습니다(어쨌든 자신에게 도움이 될 것입니다).\n\n## 전통적인 개인정보 보호\n\n축하합니다. 이 부분까지 완료하셨습니다. 전통적인 개인 정보 보호는 오래된 주제입니다. 제가 2014년에 쓴 기사는 다음과 같습니다: \n\n개인 정보 침해 시대에 자신을 보호하려면 몇 가지 요령을 배워야 합니다<br>\n>https://evilcos.me/yinsi.html\n\n이 기사를 다시 읽으면 2014년 초보 수준 기사였지만 기사에 담긴 대부분의 조언은 오래되지 않았습니다. 기사를 다시 읽은 후 여기에 새로운 내용을 소개하겠습니다. 사실 개인 정보 보호는 보안과 밀접한 관련이 있습니다. . 전통적인 개인 정보 보호는 보안의 초석입니다. 이 섹션에는 개인 키가 개인 정보 보호의 일부로 포함되어 있습니다. 만일 주춧돌이 견고하지 못하면, 주춧돌의 프라이버시도 무의미해지고, 상부구조는 공중에 떠 있는 건물처럼 부서지기 쉬울 것입니다.\n\n다음 두 가지 리소스를 적극 권장합니다: \n\n>SURVEILLANCE SELF-DEFENSE<br>\n>TIPS, TOOLS AND HOW-TOS FOR SAFER ONLINE COMMUNICATIONS<br>\n>https://ssd.eff.org/\n\nSSD는 SURVEILLANCE SELF-DEFENSE의 약자입니다.잘 알려진 EFF(Electronic Frontier Foundation)에서 출시한 이 재단은 모니터링 인터넷 세계에서 형님이 지켜보는 것을 방지하는 방법을 알려주는 관련 지침을 특별히 발행했으며 여기에는 몇 가지 유용한 도구가 포함됩니다. (Tor, WhatsApp, Signal, PGP 등)\n\n>Privacy Guide: Fight Surveillance with Encryption and Privacy Tools<br>\n>https://www.privacytools.io/\n\n위 웹사이트에는 다양한 도구가 포괄적으로 나열되어 있습니다. 일부 암호화폐 거래소, 지갑 등을 추천하기도 합니다. 하지만 저는 저만의 방식이 있기 때문에 웹사이트에 나열된 도구를 그다지 많이 사용하지 않는다는 점에 유의해야 합니다. 그러므로 당신도 계속해서 비교하고 개선하면서 자신만의 방식을 발전시켜야 합니다.\n\n다음은 귀하가 사용해야 한다고 제안하는 도구의 몇 가지 주요 내용입니다.\n\n### PC 시스템\n\nWindows 10 Edition(이상)과 macOS는 모두 보안 옵션입니다. 능력이 있다면 Ubuntu와 같은 Linux를 선택하거나 Tails 또는 Whonix와 같이 보안 및 개인 정보 보호에 중점을 둔 Linux를 선택할 수 있습니다.\n\n운영 체제 주제에서 가장 간단한 보안 원칙은 시스템 업데이트에 세심한 주의를 기울이고 가능한 경우 최대한 빨리 적용하는 것입니다. 운영 체제를 마스터하는 능력은 그 다음입니다. 사람들은 Windows나 MacOS와 같은 운영 체제를 마스터하려면 도대체 무엇을 배워야 합니까?라고 묻습니다. 그냥 클릭하는거 아닌가요? 글쎄요, 실제로는 충분하지 않습니다. 초보 사용자의 경우 Kaspersky, BitDefender와 같은 우수한 바이러스 백신 소프트웨어가 필수이며 둘 다 MacOS에서 사용할 수 있습니다.\n\n그리고 앞서 언급한 다운로드 보안에 대해서도 잊지 마세요. 무분별하게 프로그램을 다운로드하고 설치하지 않으면 대부분의 위험은 제거됩니다.\n\n다음으로, 컴퓨터를 분실하거나 도난당한 경우 어떻게 할지 생각해 보세요. 부팅 비밀번호를 아는 것만으로는 충분하지 않습니다. 디스크 암호화가 켜져 있지 않으면 악의적인 행위자가 하드 디스크를 꺼내서 내부 데이터를 검색할 수 있습니다. 따라서 나의 조언은 중요한 컴퓨터에 대해 디스크 암호화를 켜야 한다는 것입니다: \n\n>https://docs.microsoft.com/zh-cn/windows/security/encryption-data-protection<br>\n>https://support.apple.com/zh-cn/HT204837\n\nVeraCrypt(이전 TrueCrypt)와 같은 강력하고 전설적인 도구도 있습니다. 관심이 있으시면 자유롭게 사용해 보세요: \n\n>https://veracrypt.fr/\n\n한 단계 더 나아가 BIOS 또는 펌웨어 암호를 활성화할 수 있습니다. 제가 직접 해봤지만 선택은 전적으로 여러분의 몫입니다. 기억하세요. 비밀번호를 아주 명확하게 기억하세요. 그렇지 않으면 누구도 도와줄 수 없습니다. 나는 운 좋게도 이전에 토끼굴에 빠져서 노트북과 암호화폐, 그리고 일주일의 시간을 소비했습니다. 한편으로는 매우 좋은 학습 경험이기도 합니다.\n\n### 휴대폰\n\n요즘에는 iPhone과 Android가 유일한 주류 휴대전화 카테고리입니다. 나는 BlackBerry의 열렬한 팬이었지만 시간이 지나면서 그 영광은 사라졌습니다. 예전에는 안드로이드폰의 보안태세 때문에 걱정이 많았습니다. 한편으로는 아직 초기 단계에 있었고, 다른 한편으로는 버전이 매우 단편화되어 각 브랜드마다 자체적인 포크된 Android 버전이 있었습니다. 하지만 지금은 상황이 많이 좋아졌습니다.\n\n휴대폰에서는 보안 업데이트와 다운로드 보안에도 주의를 기울여야 합니다. 또한, 다음 사항에 주의하세요: \n\n* 휴대폰을 jailbreak/루팅하지 마십시오. 관련 보안 연구를 수행하지 않는 한 불필요합니다. 불법 복제 소프트웨어에 대해 수행하는 경우 기술을 얼마나 잘 습득할 수 있는지에 따라 달라집니다.\n* 비공식 앱 스토어에서 앱을 다운로드하지 마세요. 당신이 무엇을 하고 있는지 모르면 하지 마세요. 공식 앱 스토어에는 가짜 앱이 많다는 것은 말할 것도 없습니다.\n* 공식 클라우드 동기화 기능을 활용하기 위한 전제 조건은 계정이 안전한지 확인해야 한다는 것입니다. 그렇지 않으면 클라우드 계정이 손상되면 휴대폰도 손상됩니다.\n\n개인적으로 저는 아이폰에 더 의존합니다. 그리고 최소 두 개의 iCloud 계정(중국 하나, 해외 하나)이 필요합니다. 다양한 지역 제한이 있는 앱을 설치하려면 이 정보가 필요합니다. (이상하게 들리지만 현실에 오신 것을 환영합니다)\n\n### 인터넷\n\n네트워크 보안 문제는 골치 아픈 문제였지만, 특히 HTTPS Everywhere 정책이 대량 채택된 이후 최근 몇 년 동안 이미 상당한 개선이 이루어졌습니다.\n\n네트워크 하이재킹(중간자 공격) 공격이 진행 중인 경우 해당 시스템 오류 경고가 표시됩니다. 그러나 항상 예외가 있으므로 선택할 수 있는 경우 더 안전한 옵션을 사용하십시오. 예를 들어, 더 널리 사용되고 안전한 4G/5G 네트워크를 사용할 수 없거나 안정적이지 않은 경우를 제외하고는 익숙하지 않은 Wi-Fi 네트워크에 연결하지 마세요.\n\n### 브라우저\n\n가장 인기 있는 브라우저는 Chrome과 Firefox이며 암호화폐 분야에서는 일부 브라우저도 Brave를 사용합니다. 이러한 잘 알려진 브라우저는 강력한 팀을 보유하고 있으며 적시에 보안 업데이트가 제공될 것입니다. 브라우저 보안 주제는 매우 광범위합니다. 다음은 알아두어야 할 몇 가지 팁입니다: \n\n* 가능한 한 빨리 업데이트하고 위험을 감수하지 마십시오.\n* 필요하지 않은 경우 확장 프로그램을 사용하지 마세요. 그렇다면 사용자 리뷰, 사용자 수, 회사 유지 관리 등에 따라 결정을 내리고 요청하는 권한에 주의를 기울이십시오. 브라우저의 공식 앱 스토어에서 확장 프로그램을 다운로드했는지 확인하세요.\n* 여러 브라우저를 병렬로 사용할 수 있으므로 한 브라우저에서 중요한 작업을 수행하고 더 일상적이고 덜 중요한 작업에는 다른 브라우저를 사용하는 것이 좋습니다.\n* プ다음은 잘 알려진 개인정보 보호에 중점을 둔 확장 프로그램(예: uBlock Origin, HTTPS Everywhere, ClearURLs 등)입니다. 자유롭게 사용해 보세요.\n\n특히 Firefox에서는 악성 JavaScript 페이로드를 차단한 것으로 입증된 전설적인 고대 확장 프로그램인 NoScript도 사용할 것입니다. 오늘날 브라우저는 동일 출처 정책, CSP, 쿠키 보안 정책, HTTP 보안 헤더, 확장 보안 정책 등과 같은 지원을 추가함에 따라 점점 더 안전해지고 있습니다. 따라서 NoScript와 같은 도구를 사용할 필요성이 점점 줄어들고 있으며, 관심이 있다면 자유롭게 살펴보세요.\n\n### 비밀번호 관리\n\n아직 비밀번호 관리자를 사용해 본 적이 없다면 사용의 편리성을 모르거나 자신만의 강력한 메모리 궁전을 갖고 있는 것입니다. 뇌 기억의 위험은 이전에도 언급되었습니다. 하나는 시간이 당신의 기억을 약화시키거나 방해할 것이라는 점입니다. 다른 하나는 사고가 발생할 수 있다는 것입니다. 두 경우 모두 비밀번호 관리자를 사용하여 뇌 기억력을 관리하고 1Password, Bitwarden 등과 같이 잘 알려진 비밀번호 관리자를 사용하는 것이 좋습니다.\n\n이 부분을 너무 많이 다룰 필요는 없습니다. 온라인에 관련 튜토리얼이 너무 많아서 튜토리얼 없이도 쉽게 시작할 수 있습니다.\n\n여기서 꼭 기억해 주셔야 할 것은: \n\n* 마스터 비밀번호를 절대 잊지 말고 계정 정보를 안전하게 보관하세요. 그렇지 않으면 모든 것이 손실됩니다.\n* 이메일이 안전한지 확인하세요. 이메일이 손상되더라도 비밀번호 관리자의 민감한 정보가 직접 손상되지는 않을 수 있지만 악의적인 행위자는 해당 정보를 파괴할 수 있습니다.\n* 제가 언급한 도구(예: 1Password)의 보안을 확인했으며 관련 보안 사고, 사용자 리뷰, 뉴스 등을 면밀히 관찰했습니다. 그러나 이러한 도구가 절대적으로 안전하다고 보장할 수 없으며 미래에 블랙스완 사건이 그들에게 일어나지 않을것이라고 장담할 수는 없습니다.\n \n예를 들어 제가 감사하게 생각하는 것 중 하나는 1Password의 보안 페이지에 대한 소개와 설명입니다: \n>https://1password.com/zh-cn/security/\n\n이 페이지에는 보안 설계 개념, 관련 개인 정보 보호 및 보안 인증서, 보안 설계 백서, 보안 감사 보고서 등이 있습니다. 이러한 수준의 투명성과 개방성은 업계에서 필요한 검증을 용이하게 합니다. 모든 프로젝트 팀은 이로부터 배워야 합니다.\n\nBitwarden은 한 단계 더 나아가 서버 측을 포함한 완전한 오픈 소스이므로 누구나 검증, 감사 및 기여할 수 있습니다.\n\n이제 알겠나요? 1Password와 Bitwarden의 의도는 매우 분명합니다: \n\n>나는 매우 안전주의며 개인 정보 보호를 걱정합니다. 나 자신만이 그렇게 말하는 것이 아니라 제3의 권위자들도 그렇게 말합니다. 나는 보안 문제에 관해 가능한 많이 공개하기 위해 많은 노력을 기울입니다. 내가 하는 일이 내가 말하는 것과 맞지 않으면 나에게 도전하기 쉽습니다. 그리고 이것을 보안 신뢰라고 합니다.\n\n이것이 바로 보안과 자신감입니다 :)\n\n### 이중 인증\n\n인터넷상의 신원 보안에 관해 말하자면, 첫 번째 계층은 비밀번호에 의존하고, 두 번째 계층은 2단계 인증에 의존하며, 세 번째 계층은 대상 프로젝트 자체의 위험 제어 능력에 의존합니다. 2단계 인증이 필수라고는 말할 수 없습니다. 예를 들어, 분산형 지갑을 사용하는 경우 비밀번호 한 겹은 충분히 짜증나지만(이제 사용자 경험을 개선하기 위해 기본적으로 얼굴 인식이나 지문과 같은 생체 인식을 지원합니다), 누구도 두 번째 요소를 사용하고 싶어하지 않습니다. 하지만 중앙 집중식 플랫폼에서는 2FA를 사용해야 합니다. 누구나 중앙 집중식 플랫폼에 액세스할 수 있으며, 자격 증명이 도난당하면 계정이 침해되고 자금이 손실됩니다. 반대로, 탈중앙화 지갑의 비밀번호는 단지 로컬 인증일 뿐입니다. 해커가 비밀번호를 알아내더라도 지갑이 위치한 장치에 접근해야 합니다.\n\n이제 차이점이 보이시나요?잘 알려진 2단계 인증(2FA) 도구로는 Google Authenticator, Microsoft Authenticator 등이 있습니다. 물론 비밀번호 관리자(예: 1Password)를 사용하는 경우 매우 편리한 2FA 모듈도 함께 제공됩니다. 2FA를 잃으면 번거로울 수 있으므로 항상 백업하는 것을 잊지 마세요.\n\n또한 이중 인증은 더 넓은 개념일 수도 있습니다. 예를 들어, 계정 식별자와 비밀번호를 사용하여 대상 플랫폼에 로그인하는 경우 계정 식별자는 일반적으로 이메일 또는 휴대폰 번호입니다. 이때, 메일함이나 휴대폰 번호를 2FA로 활용하여 인증코드를 받으실 수 있습니다. 하지만 이 방법의 보안 수준은 그리 좋지 않습니다. 예를 들어, 사서함이 손상되거나 SIM 카드가 탈취되거나 이메일 및 문자 메시지 전송에 사용되는 제3자 서비스가 해킹되는 경우 플랫폼에서 보낸 인증 코드도 공개됩니다.\n\n### VPN\n\n자신만의 솔루션을 구축할 수 있다면 상황이 더욱 통제될 것입니다. 결국 우리의 출발점은 인터넷을 과학적이고 안전하게 서핑하는 것입니다.\n\n자체 구축된 솔루션을 사용하지 않는 경우 중간자 공격의 가능성을 완전히 배제할 수는 없습니다. 앞서 언급한 것처럼, 특히 HTTPS Everywhere 정책이 대량 도입된 이후 인터넷 보안 상황은 예전만큼 나쁘지 않습니다. 그러나 평화의 일부는 단지 수면일 수도 있고, 수면 아래에는 쉽게 눈에 띄지 않는 위험이 이미 존재합니다. 솔직히 말해서, 이것에 대한 묘책을 가지고 있지 않습니다. 자신만의 솔루션을 구축하는 것은 쉽지 않지만 확실히 그만한 가치가 있습니다. 그리고 그럴 수 없다면 여러 소스를 사용하는지 확인하고 오랫동안 사용되어 온 평판이 좋은 소스를 선택하세요.\n\n### 이메일\n\n이메일은 당사 웹 기반 ID의 초석입니다. 우리는 많은 서비스에 가입하기 위해 이메일을 사용합니다. 우리가 사용하는 거의 모든 이메일 서비스는 무료입니다. 그것은 공기처럼 보이며, 사라질 것이라고는 생각하지 않습니다. 어느 날 이메일 서비스가 사라지면 이에 의존하는 다른 모든 서비스가 다소 어색한 상황에 처하게 될 것입니다. 전쟁, 자연재해 등의 극단적인 상황이 발생한다면 실제로 불가능한 것은 아닙니다. 물론 이러한 극단적인 상황이 발생하면 이메일은 생존보다 덜 중요할 것입니다.\n\n이메일 서비스 제공업체의 경우 Gmail, Outlook 또는 QQ 이메일과 같은 거대 기술 업체 중에서 선택해야 합니다. 나의 이전 보안 연구에서 이 분야를 다루게 되었습니다. 이러한 사서함의 보안 상태는 충분합니다. 하지만 여전히 이메일 피싱 공격에 주의해야 합니다. 모든 단일 이메일, 특히 트로이 목마가 숨겨져 있을 수 있는 포함된 링크와 첨부 파일을 처리할 필요는 없습니다.\n\n이메일 서비스 제공업체에 대한 매우 정교한 공격을 발견하면 스스로 책임을 져야 합니다.\n\n이러한 거대 기술 기업의 이메일 서비스 외에도 개인 정보 보호에 대해 매우 우려가 있다면 잘 알려진 두 가지 개인 정보 보호 이메일 서비스인 ProtonMail과 Tutanota를 살펴볼 수 있습니다. 제가 제안하는 것은 이러한 개인 친화적인 사서함을 일상적인 사용과 분리하고 개인 정보 보호에 특별한 주의가 필요한 서비스에만 사용하는 것입니다. 또한 장기간 활동이 없어 계정이 정지되는 것을 방지하려면 무료 이메일 서비스를 정기적으로 사용해야 합니다.\n\n### SIM 카드\n\nSIM 카드와 휴대폰 번호도 이메일과 마찬가지로 많은 경우 매우 중요한 기본 신원입니다. 최근 몇 년 동안 우리나라의 주요 통신업체들은 휴대폰 번호 보안 보호에 있어 매우 훌륭한 성과를 거두었습니다. 예를 들어 SIM 카드 취소 및 재발급에 대한 엄격한 보안 프로토콜 및 확인 프로세스가 있으며 모두 현장에서 발생합니다. SIM 카드 공격 주제에 대해 예를 들어 보겠습니다: \n\n2019년 5월에는 누군가의 Coinbase 계정이 SIM 포트 공격(SIM 카드 전송 공격)을 당하여 안타깝게도 10만 달러 이상의 암호화폐가 손실되었습니다. 공격과정은 대략 다음과 같습니다: \n\n공격자는 소셜 엔지니어링 등의 방법을 통해 대상 사용자의 개인 정보를 획득하고 이동통신사를 속여 새 SIM 카드를 발급한 후 동일한 휴대폰 번호를 통해 대상 사용자의 Coinbase 계정을 쉽게 탈취했습니다. SIM이 전송되었는데 매우 번거롭습니다. 귀하의 SIM 카드가 공격자에 의해 전송된 경우 매우 문제가 됩니다. 요즘 많은 온라인 서비스에서 당사의 휴대전화 번호를 직접 인증 요소 또는 2FA로 사용하기 때문입니다. 이는 매우 중앙화된 인증 메커니즘으로 휴대폰 번호가 약점이 됩니다.\n\n자세한 분석은 다음을 참고하세요: \n>https://medium.com/coinmonks/the-most-expensive-lesson-of-my-life-details-of-sim-port-hack-35de11517124\n\n이에 대한 방어 제안은 실제로 간단합니다. 잘 알려진 2FA 솔루션을 활성화하는 것입니다.\n\nSIM 카드에는 또 다른 위험이 있습니다. 즉, 휴대폰을 분실하거나 도난당한 경우 악의적인 사람이 SIM 카드를 꺼내 사용할 수 있다는 점입니다. 제가 한 일은 다음과 같습니다. SIM 카드 비밀번호(PIN 코드)를 활성화하면 휴대전화를 켜거나 새 기기에서 SIM 카드를 사용할 때마다 올바른 비밀번호를 입력해야 합니다. 자세한 방법은 Google에 문의하세요. 제가 강조할 내용은 다음과 같습니다. 이 비밀번호를 잊지 마세요. 그렇지 않으면 매우 번거로울 것입니다.\n\n### GPG\n\n이 부분의 내용은 이전 섹션에서 언급한 내용이 많으며 여기에 기본 개념을 더 추가하고 싶습니다: \n\n때로는 PGP, OpenPGP, GPG와 같이 비슷한 이름을 접하게 됩니다. 간단하게 다음과 같이 구별하세요: \n\n* PGP, Pretty Good Privacy의 약자인 PGP는 현재 Symantec 산하의 30년 된 상용 암호화 소프트웨어입니다.\n* OpenPGP는 PGP에서 파생된 암호화 표준입니다.\n* GPG, GPG(전체 이름은 GnuPG)는 OpenPGP 표준을 기반으로 하는 오픈 소스 암호화 소프트웨어입니다.\n\n코어는 유사하며 GPG를 사용하면 다른 코어와 호환됩니다. GPG를 올바르게 사용하면 보안 수준을 크게 향상시킬 수 있습니다.\n\n### 분리\n\n분리 보안 원칙의 핵심 가치는 제로 트러스트 사고방식입니다. 우리가 아무리 강하더라도 외부 해커, 내부자 또는 우리 자신에 의해 조만간 해킹당할 것이라는 점을 이해해야 합니다. 해킹을 당하면 가장 먼저 손실을 막아야 합니다. 손실을 막는 능력은 많은 사람들에 의해 무시되고, 이것이 바로 그들이 계속해서 해킹당하는 이유입니다. 근본 원인은 보안 설계가 없다는 것, 특히 분리와 같은 간단한 방법이 있다는 것입니다.\n\n좋은 분리 방법을 사용하면 보안 사고가 발생하는 경우 다른 자산에 영향을 주지 않고 손상된 대상과 직접 관련된 자산만 손실되도록 할 수 있습니다. 예를 들어: \n* 비밀번호 보안 습관이 양호하다면 계정 중 하나가 해킹당하더라도 동일한 비밀번호가 다른 계정을 손상시키지 않습니다.\n* 귀하의 암호화폐가 하나의 니모닉 시드 세트에 저장되지 않으면 함정에 빠지더라도 모든 것을 잃지 않을 것입니다.\n* 컴퓨터가 감염된 경우 다행히도 이 컴퓨터는 일상적인 활동에 사용되는 컴퓨터일 뿐이며 거기에는 중요한 내용이 없습니다. 따라서 컴퓨터를 다시 설치하면 대부분의 문제가 해결되므로 당황할 필요가 없습니다. 가상머신을 잘 활용한다면 스냅샷만 복원하면 되기 때문에 상황은 더욱 좋습니다. 좋은 가상 머신 도구는 VMware, Parallels입니다.\n* 요약하면 최소한 두 개의 계정, 두 개의 도구, 두 개의 장치 등을 가질 수 있습니다. 익숙해지면 독립적인 가상 ID를 완전히 만드는 것이 불가능하지 않습니다.\n\n나는 이전에 좀 더 극단적인 의견을 언급했습니다. 개인 정보는 우리가 보호할 수 있는 것이 아니며, 개인 정보는 통제되어야 합니다.\n\n이러한 관점을 갖는 이유는 현재 인터넷 환경에서 개인정보가 실제로 심각하게 유출되고 있기 때문이다. 다행스럽게도 최근 몇 년 동안 개인 정보 보호 관련 규정이 점점 더 널리 채택되고 있으며 사람들의 관심도 점점 더 높아지고 있습니다. 실제로 모든 것이 올바른 방향으로 가고 있습니다. 하지만 그 전에 어떤 경우에도 내가 나열한 지식 포인트를 숙달하면 귀하의 개인정보를 쉽게 통제할 수 있을 것입니다. 인터넷에 익숙하다면 서로 거의 독립적인 여러 개의 가상 ID를 가질 수 있습니다.\n\n## 인간 본성의 보안\n\n인간은 언제나 가장 높고 영원한 위험에 처해 있습니다. 《삼신문제(The Three-Body Problem)》에는 다음과 같은 말이 있습니다. \"나약함과 무지는 생존의 장벽이 아니지만 오만함은 생존의 장벽입니다.\"\n\n* 오만하지 마십시오. 자신이 이미 강하다고 생각한다면 괜찮습니다. 다만 온 세상을 내려다보지 마십시오. 특히, 지나치게 자만하지 말고 글로벌 해커들에게 도전할 수 있다고 생각하지 마세요. 배움에는 끝이 없고, 여전히 장애물이 많습니다.\n* 탐욕하지 마십시오. 탐욕은 실제로 많은 경우 앞으로 나아가게 하는 동기입니다. 하지만 생각해 보십시오. 왜 그렇게 좋은 기회가 당신에게만 예약되어 있습니까? :)\n* 충동적이지 마십시오. 충동성은 당신을 함정으로 이끄는 악마입니다. 발진 행동은 도박입니다.\n\n인간의 본성에는 이야기할 것이 끝없이 많으며 이보다 더 조심할 수는 없습니다. 다음 사항에 각별히 주의하시고, 나쁜 행위자들이 다양한 편리한 플랫폼을 활용하여 인간 본성의 약점을 어떻게 이용하는지 살펴보시기 바랍니다.\n\n### Telegram\n\n앞서 텔레그램이 가장 큰 다크웹이라고 말한 적이 있습니다. 사람들은 보안, 안정성, 개방형 디자인 기능 때문에 Telegram을 좋아한다고 말씀드리고 싶습니다. 그러나 Telegram의 개방형 문화는 또한 나쁜 사람들을 끌어들입니다. 엄청난 수의 사용자, 고도로 사용자 정의 가능한 기능, 모든 종류의 봇 서비스를 구축하기에 충분히 쉽습니다. 암호화폐와 결합하면 실제 거래 경험은 Tor의 다크웹 마켓플레이스보다 훨씬 뛰어납니다.\n\n일반적으로 소셜 미디어 계정의 고유 식별자는 사용자 이름, 사용자 ID와 같은 것이지만 악의적인 행위자가 이를 완전히 복제할 수 있습니다. 일부 소셜 플랫폼에는 파란색 V 아이콘 등을 추가하는 등의 계정 확인 메커니즘이 있습니다. 공개 소셜 미디어 계정은 팔로어 수, 게시된 콘텐츠, 팬과의 상호 작용 등 일부 지표를 통해 검증할 수 있습니다. 비공개 소셜 미디어 계정은 좀 더 어렵습니다. 텔레그램에서 \"우리가 어떤 그룹에 속해 있는지\" 기능이 출시된 것을 보니 좋습니다.\n\n악용될 수 있는 허점이 있고 이익이 상당한 곳에는 이미 많은 악당들이 존재하고 있을 것입니다. 그것이 인간의 본성입니다.\n\n결과적으로 소셜 미디어 플랫폼은 피싱 함정으로 가득 차 있습니다. 예: 그룹 채팅에서 공식 고객 서비스처럼 보이는 사람이 갑자기 나타나 비공개 채팅을 시작했습니다(any2any 비공개 채팅은 텔레그램의 기능이므로 친구 요청이 필요하지 않습니다). 그러면 스팸의 고전적인 전술에 따라 물고기가 차례로 물게 됩니다.\n\n또는 공격자가 한 단계 더 나아가 사용자를 다른 그룹에 추가할 수도 있습니다. 모든 참가자는 당신이 가짜라고 생각하지만 당신에게는 그것이 매우 현실적으로 보입니다. 우리는 이 기술을 지하 사회의 그룹 복제라고 부릅니다.\n\n이것들은 인간 본성을 조작하는 기본적인 방법일 뿐이며, 진보된 기술은 취약점과 결합되어 예방하기가 더 어렵습니다.\n\n### Discord\n\nDiscord는 지난 2년 동안 출시된 새롭고 인기 있는 소셜 플랫폼/IM 소프트웨어입니다. 핵심 기능은 공식 성명에서 알 수 있듯이 커뮤니티 서버(기존 서버의 개념이 아님)입니다: \n\nDiscord는 13세 이상의 수천만 명의 사람들이 커뮤니티 및 친구들과 이야기하고 어울리기 위해 사용하는 무료 음성, 영상 및 문자 채팅 앱입니다.\n\n보기에는 좋지만 매우 강력한 보안 설계 표준이 필요합니다. Discord에는 다음과 같은 특정 보안 규칙과 정책이 있습니다: \n\n>https://discord.com/safety\n\n불행하게도 대부분의 사람들은 이 책을 주의 깊게 읽으려고 애쓰지 않을 것입니다. 게다가 Discord는 항상 실현 가능하지 않은 공격자의 모자를 써야 하기 때문에 특정 핵심 보안 문제를 명확하게 설명할 수 없을 수도 있습니다.\n\n예를 들어: \n\nDiscord에 NFT 도용이 너무 많은데, 주요 해결 방법은 무엇입니까? 이 문제를 파악하기 전에는 Discord 보안 조언이 쓸모가 없습니다.\n\n많은 프로젝트 Discordhack의 주요 이유는 실제로 HTTP 요청 헤더의 인증 필드 내용인 Discord 토큰입니다. 이것은 Discord에 아주 오랫동안 존재해왔습니다. 해커의 경우 이 Discord 토큰을 얻을 수 있는 방법을 찾을 수 있다면 대상 Discord 서버의 모든 권한을 거의 통제할 수 있습니다. 즉, 대상이 관리자, 관리 권한이 있는 계정 또는 Discord 봇이라면 해커는 원하는 모든 것을 할 수 있습니다.\n\n예를 들어 NFT 피싱 사이트를 발표함으로써 사람들이 그것이 공식 발표라고 생각하게 만들고 물고기가 낚일 것입니다.\n\nDiscord 계정에 2단계 인증(2FA)을 추가하면 어떻게 되나요? 정말 좋은 습관입니다! 하지만 Discord 토큰은 귀하의 계정 2FA 상태와 아무런 관련이 없습니다. 계정이 침해되면 즉시 Discord 비밀번호를 변경하여 원래 Discord 토큰을 무효화해야 합니다.\n\n해커가 어떻게 Discord Token을 얻을 수 있는지에 대한 질문에 대해 저희는 최소한 세 가지 주요 기법을 알아냈고, 앞으로 이에 대해 자세히 설명하도록 노력하겠습니다. 일반 사용자의 경우 할 수 있는 일이 많지만 핵심은 서두르지 말고 욕심을 부리지 말고 여러 소스에서 검증하는 것입니다.\n\n### \"공식\" 피싱\n\n나쁜 배우들은 롤플레잉, 특히 공식적인 역할을 잘 활용합니다. 예를 들어 우리는 이전에 가짜 고객 서비스 방법을 언급한 적이 있습니다. 게다가 2022년 4월, 잘 알려진 하드웨어 지갑인 Trezor의 많은 사용자들이 공식 Trezor 도메인인 trezor.io가 아닌 trezor.us로부터 피싱 이메일을 받았습니다. 도메인 이름 접미사에는 약간의 차이가 있습니다. 또한 피싱 이메일을 통해 다음 도메인도 확산되었습니다: \n\n>https://suite.trẹzor.com\n\n<img src=\"res/trezor_phishing.jpg\" width=\"800\">\n\n이 도메인 이름에는 \"하이라이트 지점\"이 있습니다. 그 안에 있는 문자 ẹ를 자세히 보면 문자 e가 아님을 알 수 있습니다. 혼란스럽나요? 실제로는 Punycode이며 표준 설명은 다음과 같습니다: \n\n>IDNA(Internationalized Domain Names in Application)를 위한 유니코드의 부트스트링 인코딩은 유니코드와 ASCII 코드 모두에서 제한된 문자 집합을 나타내는 국제화된 도메인 이름 인코딩입니다.\n\n누군가 trẹzor를 디코딩하면 다음과 같이 보입니다: xn-trzor-o51b, 이것이 실제 도메인 이름입니다!\n\n해커들은 수년 동안 피싱에 Punycode를 사용해 왔으며, 2018년에 일부 Binance 사용자도 동일한 속임수에 감염되었습니다.\n\n이러한 종류의 피싱 사이트는 공식 메일함 통제나 SPF 구성 문제로 인한 메일 위조 공격과 같은 고급 공격은 말할 것도 없고 이미 많은 사람들을 당하게 만들 수 있습니다. 결과적으로 이메일의 소스는 공식 소스와 완전히 동일해 보입니다.\n\n악의적인 내부자라면 사용자는 아무것도 할 수 없습니다. 프로젝트 팀은 내부자 위협을 방지하기 위해 많은 노력을 기울여야 합니다. 내부자는 가장 큰 트로이 목마이지만 무시되는 경우가 많습니다.\n\n### 개인정보 보안 문제\n\nWeb3의 인기가 높아지면서 점점 더 흥미롭거나 지루한 프로젝트가 등장했습니다(모든 종류의 Web3 인프라, 소셜 플랫폼 등). 그들 중 일부는 대규모 데이터 분석을 수행하고 블록체인 측면뿐만 아니라 잘 알려진 Web2 플랫폼에서도 대상의 다양한 행동 초상화를 식별했습니다. 일단 초상화가 나오면 대상은 기본적으로 투명한 사람이다. 그리고 Web3 소셜 플랫폼의 등장으로 인해 이러한 개인 정보 보호 문제가 더욱 악화될 수도 있습니다.\n\n서명 바인딩, 체인 상호 작용 등과 같은 모든 Web3 관련 작업을 수행할 때 개인 정보를 더 많이 제공하고 있습니까? 많은 사람들이 동의하지 않을 수도 있지만, 많은 부분이 모이면 수집하고 싶은 NFT, 가입한 커뮤니티, 현재 화이트리스트, 연결 대상, Web2 계정 등 더 정확하고 포괄적인 그림을 얻을 수 있습니다. 당신은 어떤 기간에 활동하고 있는지 등을 알 수 있습니다. 블록체인은 때때로 개인 정보 보호를 더욱 악화시킵니다. 개인 정보 보호에 관심이 있다면 새롭게 등장하는 모든 것에 주의를 기울이고 자신의 신원을 분리하는 좋은 습관을 유지해야 합니다.\n\n이 시점에서 실수로 개인 키를 도난당한 경우 손실은 단순한 돈이 아니라 신중하게 유지되는 Web3 권리와 이익 모두입니다. 우리는 종종 개인키가 신원이라고 말하는데, 이제 진짜 ID 문제가 생겼습니다.\n\n인간의 본성을 시험하지 마세요.\n\n# 블록체인 사기 방식\n\n블록체인 기술은 완전히 새로운 산업을 창출했습니다. BlockFi, DeFi, 암호화폐, 가상 화폐, 디지털 화폐, Web3 등 무엇이라 부르든 모든 것의 핵심은 여전히 블록체인입니다. 대부분의 과대 광고는 대체 불가능한 토큰(또는 NFT, 디지털 수집품)을 포함한 암호화 자산과 같은 금융 활동에 중점을 두었습니다.\n\n블록체인 산업은 매우 역동적이고 매력적이지만, 악을 행할 수 있는 방법이 너무 많습니다. 블록체인의 특별한 특성은 암호화폐 도난, 크립토재킹, 랜섬웨어, 다크 웹 거래, C2 공격, 자금 세탁, 폰지 사기, 도박 등을 포함하되 이에 국한되지 않는 다소 독특한 해악을 야기합니다. 참고로 2019년의 마인드맵을 만들어 봤습니다: \n\n>https://github.com/slowmist/Knowledge-Base/blob/master/mindmaps/evil_blockchain.png\n\n한편, SlowMist 팀은 블록체인 관련 해킹 활동을 위한 데이터베이스인 SlowMist Hacked를 유지 및 업데이트해 왔습니다: \n\n>https://hacked.slowmist.io/\n\n이 문서에서는 다양한 보안 조치를 소개했습니다. 이를 자신의 보안에 적용할 수 있다면 축하드립니다. 블록체인에 관한 잡담에 대해서는 너무 자세히 설명하지 않겠습니다. 관심이 있다면 스스로 배고, 이는 확실히 긍정적인 일입니다. 특히 새로운 사기와 사기가 지속적으로 진화하고 있기 때문입니다. 더 많이 배울수록 자신을 더 잘 방어하고 이 산업을 더 좋게 만들 수 있습니다.\n\n# 컴퓨터가 악성코드에 감염되었을 때 대처 방법\n\n일부 해킹 그룹은 고급 제로데이 공격(예: 브라우저 제로데이)을 사용하지 않고, 사회공학 기법을 통해 사용자를 속여 컴퓨터를 감염시키는 방식인 ‘컴퓨터 포이즈닝(Computer Poisoning)’을 사용합니다. 이들은 투자자, 기자, 인사 담당자 등으로 위장해 사용자가 가짜 회의용 소프트웨어를 설치하도록 유도하거나, ‘텔레그램 보안 점검(Telegram Safeguard)’이나 ‘Cloudflare 사람 인증’ 등을 사칭해 악성 코드를 직접 붙여 넣게 만드는 등의 수법을 씁니다.\n\n이와 같은 공격 사례는 다음 링크에서 확인할 수 있습니다\n> https://x.com/SlowMist_Team/status/1899713751625969997<br>\n> https://x.com/SlowMist_Team/status/1880520294496104827<br>\n> https://x.com/SlowMist_Team/status/1888879128172241000\n\n이런 공격의 피해자가 되었다면, 침착하게 상황을 파악하고 다음의 조치를 취하는 것이 중요합니다:\n\n1. 컴퓨터에 암호화폐 지갑(개인 키나 니모닉 백업 파일 포함)이 있다면, 즉시 자금을 안전한 다른 지갑으로 옮기세요. 단순히 비밀번호를 설정해 두었다고 해서 안전하다고 생각해서는 안 됩니다.\n2. 텔레그램, X(구 트위터), 이메일, 암호화폐 거래소 계정 등 주요 계정들의 비밀번호와 2단계 인증(2FA)을 변경하세요. 웹 브라우저에 저장된 비밀번호나 자동 로그인된 계정도 포함됩니다. 또한, 해당 계정에 낯선 기기가 로그인한 기록이 있는지도 꼭 확인하세요. ‘운 좋게 안 걸리겠지’ 하는 생각은 금물입니다.\n3. 신뢰할 수 있는 백신 프로그램(예: AVG, Bitdefender, Kaspersky, Malwarebytes 등)을 설치하고 철저하게 검사를 진행하세요. 가능하다면 유료 버전을 사용하는 것이 좋습니다. 걱정이 된다면 백신을 2개 구매해 번갈아 사용하는 것도 고려해보세요.\n4. 만약 불안감이 계속된다면, 중요한 파일을 백업한 후 컴퓨터를 초기화(포맷) 하세요. 그 후, 3단계로 돌아가 백업한 파일을 다시 백신으로 검사하세요.\n\n이러한 포이즈닝 공격은 Windows뿐 아니라 macOS, 일부 Linux 시스템에서도 작동할 수 있다는 점을 꼭 기억하세요.\n\n# 해킹당했을 때 대처 방법\n\n결국 해킹당하는 것은 시간문제일 뿐입니다. 그렇다면 무엇을 해야 할까요? 나는 바로 추격전을 시작하겠습니다. 다음 단계가 반드시 순서대로 진행되는 것은 아닙니다. 왔다 갔다 해야 할 때도 있지만 일반적인 생각은 이렇습니다.\n\n## 먼저 손실을 막으세요\n\nStop Loss는 손실을 제한하는 것입니다. 이는 두 단계로 나눌 수 있습니다: \n\n* 즉각적인 조치 단계: 즉시 행동하세요! 해커가 귀하의 자산을 이전하는 것을 본다면 더 이상 생각하지 마십시오. 서둘러 나머지 자산을 안전한 곳으로 옮기세요. 선행 거래 경험이 있다면 그냥 잡고 달리세요. 자산 유형에 따라 블록체인에서 자산을 동결할 수 있다면 최대한 빨리 동결하세요. 온체인 분석을 수행할 수 있고 자산이 중앙 집중식 거래소로 이전된 것을 발견하면 해당 위험 관리 부서에 문의할 수 있습니다.\n\n* 조치 후 단계: 상황이 안정되면 2차, 3차 공격이 발생하지 않도록 하는 데 중점을 두어야 합니다.\n\n## 장면을 보호하십시오\n\n뭔가 잘못되었다는 것을 알게 되면 침착하게 심호흡을 하십시오. 다음은 몇 가지 제안 사항입니다: \n\n* 인터넷에 연결된 컴퓨터, 서버, 기타 장치에서 사고가 발생한 경우 해당 장치에 전원을 공급한 상태에서 즉시 네트워크 연결을 끊으십시오. 어떤 사람들은 그것이 파괴적인 바이러스라면 로컬 시스템 파일이 바이러스에 의해 파괴될 것이라고 주장할 수도 있습니다. 맞습니다. 하지만 바이러스보다 빠르게 대응할 수 있는 경우에만 시스템을 종료하는 것이 도움이 됩니다...\n* 이 문제를 스스로 처리할 수 없다면 보안 전문가가 분석을 위해 개입할 때까지 기다리는 것이 항상 더 나은 선택입니다.\n\n우리가 분석을 시작했을 때 장면이 이미 엉망인 경우를 꽤 많이 겪었기 때문에 이는 매우 중요합니다. 그리고 핵심 증거(예: 로그, 바이러스 파일)가 정리된 것처럼 보이는 경우도 있었습니다. 잘 보존된 범죄 현장이 없으면 후속 분석 및 추적에 극도로 지장을 줄 수 있습니다.\n\n## 근본 원인 분석\n\n원인을 분석하는 목적은 공격자를 이해하고 해커의 초상을 출력하는 것입니다. 이 시점에서 사고 보고서는 매우 중요하며 사후 보고서(Post Mortem Report)라고도 합니다. 사건 보고서와 사후 보고서는 같은 의미입니다.\n\n우리는 자산을 도난당한 후 도움을 청하러 온 많은 사람들을 만났고, 그들 중 많은 사람들이 무슨 일이 일어났는지 명확하게 말하는걸 매우 어려워했습니다. 명확한 사건 보고서를 작성하는 것은 더욱 어렵습니다. 하지만 이는 실천할 수 있고 사례를 참고하면 도움이 될 것이라고 생각합니다. 다음은 좋은 출발점이 될 수 있습니다: \n\n* Summary 1: 누가 관련되었고, 언제 이런 일이 일어났으며, 무슨 일이 일어났으며, 총 손실액은 얼마입니까?\n* Summary 2: 분실과 관련된 지갑 주소, 해커의 지갑 주소, 코인 종류, 코인 수량. 단일 테이블의 도움으로 훨씬 더 명확해질 수 있습니다.\n* Process description: 이 부분이 가장 어렵다. 사건의 모든 측면을 모든 세부 사항과 함께 설명해야 합니다. 이는 해커와 관련된 다양한 종류의 흔적을 분석하고 궁극적으로 해커의 초상화(동기 포함)를 얻는 데 유용합니다.\n\n특별한 경우에는 템플릿이 훨씬 더 복잡해집니다. 때때로 인간의 기억은 신뢰할 수 없을 수도 있으며 심지어 핵심 정보를 고의적으로 숨겨 시간 낭비나 타이밍 지연을 초래할 수도 있습니다. 그래서 실제로는 엄청난 소비가 있을 것이고, 우리의 경험을 활용하여 작업을 잘 이끌어야 합니다. 마지막으로 우리는 코인을 분실한 사람이나 팀과 함께 사고 보고서를 작성하고 이 사고 보고서를 계속 업데이트합니다.\n\n## 소스 추적\n\nRocca의 법칙에 따르면 침입이 있는 곳에는 흔적이 있다. 우리가 충분히 열심히 조사한다면, 항상 몇 가지 단서를 찾을 수 있을 것입니다. 조사 과정은 사실상 포렌식 분석과 출처 추적이다. 우리는 포렌식 분석을 통해 얻은 해커의 초상에 따라 소스를 추적하고 이를 지속적으로 강화할 것이며 이는 역동적이고 반복적인 프로세스입니다.\n\n소스 추적은 두 가지 주요 부분으로 구성됩니다: \n\n* 온체인 인텔리전스: 중앙화된 거래소, 코인 믹서 등에 들어가는 등 지갑 주소의 자산 활동을 분석하고 이를 모니터링하며 새로운 이체에 대한 알림을 받습니다.\n* 오프체인 인텔리전스: 이 부분은 해커의 IP, 장치 정보, 이메일 주소 및 행동 정보를 포함하여 이러한 관련 지점의 상관 관계에서 얻은 추가 정보를 다룹니다.\n\n이 정보를 바탕으로 소스 추적 작업이 많이 이루어지고 있으며 이를 위해서는 법 집행 기관의 개입이 필요할 수도 있습니다.\n\n## 사건 결론\n\n물론 우리 모두는 행복한 결말을 원합니다. 다음은 우리가 참여하여 좋은 결과를 가져온 공개 이벤트의 몇 가지 예입니다: \n\n* Lendf.Me, $25 million의 가치\n* SIL Finance, $12.15 million의 가치\n* Poly Network, $610 million의 가치\n\n우리는 좋거나 괜찮은 결과로 끝난 다른 미공개 사례를 많이 경험했습니다. 하지만 대부분 결말이 좋지 않아 안타깝습니다. 이런 과정에서 우리는 값진 경험을 많이 얻었고, 앞으로도 좋은 엔딩 비율을 더 높이고 싶다.\n\n이 부분에 대해서는 위와 같이 간략하게 언급하였습니다. 이 분야에 관련된 지식은 엄청나게 많지만 나는 그 중 일부에 대해 잘 알지 못합니다. 따라서 여기서는 자세한 설명을 하지 않겠습니다. 시나리오에 따라 습득해야 할 능력은 다음과 같습니다: \n\n\n* 스마트 컨트랙 보안 분석 및 포렌식\n* 온체인 자금 이체 분석 및 포렌식\n* 웹 보안 분석 및 포렌식\n* Linux 서버 보안 분석 및 포렌식\n* Windows 보안 분석 및 포렌식\n* macOS 보안 분석 및 포렌식\n* 모바일 보안 분석 및 포렌식\n* 악성코드 분석 및 포렌식\n* 네트워크 장치 또는 플랫폼의 보안 분석 및 포렌식\n* 내부자 보안 분석 및 포렌식\n* ...\n\n# 잘못된 이해\n\n처음부터 이 문서는 회의적인 태도를 유지하라고 말합니다. 회의적인 태도를 유지하는 것은 여기에 언급된 모든 내용이 포함됩니다. 이곳은 모든 종류의 함정과 혼란으로 가득 찬 매우 활기차고 유망한 산업입니다. 이번엔 진실로 당연하게 받아들여질 경우 쉽게 함정에 빠지고 혼돈 그 자체가 될 수 있는 몇 가지 오해를 살펴보겠습니다.\n\n## Code Is Law\n\n\"코드가 답이다\". 그러나 프로젝트(특히 스마트 컨트랙트 관련 프로젝트)가 해킹되거나 러그풀을 해버리면 그 누구도 \"코드가 답이다\"를 바라는 피해자는 없을 것이며, 현실 세계에서는 여전히 법에 의존해야 한다는 사실이 밝혀졌습니다.\n\n## Not Your Keys, Not Your Coins\n\n열쇠를 소유하고 있지 않다면 자산을 소유하지 않은 것입니다. 실제로 많은 사용자들이 자신의 개인키를 제대로 관리하지 못하고 있었습니다. 다양한 보안 소홀로 인해 암호화폐 자산을 잃어버리기도 합니다. 때로는 암호화폐 자산을 크고 평판이 좋은 플랫폼에 두는 것이 실제로 더 안전하다는 것을 알게 될 것입니다.\n\n## In Blockchain We Trust\n\n블록체인이기 때문에 우리는 그것을 믿습니다. 실제로 블록체인 자체는 변조 방지, 검열 방지 등 여러 가지 근본적인 신뢰 문제를 해결할 수 있는 능력을 갖추고 있습니다. 내 자산 및 관련 활동이 체인에 있는 경우, 기본적으로 어느 누구도 내 자산을 빼앗거나 승인 없이 내 활동을 변조할 수 없다는 것을 신뢰할 수 있습니다. 그러나 현실은 종종 가혹합니다. 첫째, 모든 블록체인이 이러한 기본 사항을 달성할 수 있는 것은 아니며, 둘째, 인간 본성은 항상 가장 약한 고리가 됩니다. 오늘날 많은 해킹 기술은 우리 대부분의 상상을 뛰어넘습니다. 우리는 항상 공격과 방어가 비용과 영향 사이의 균형이라고 말하지만, 큰 자산을 소유하지 않은 경우 해커는 시간을 낭비하지 않고 여러분을 표적으로 삼지 않을 겁니다. 그러나 당신과 같은 대상이 여럿일 경우 해커가 공격을 시작하는 것이 매우 유리할 것입니다.\n\n내 보안 조언은 매우 간단합니다. 기본적으로 불신하고(즉, 기본적으로 모든 것에 질문을 가함) 지속적인 검증을 수행하는 것입니다. 여기에서 확인은 핵심 보안 조치이며 지속적인 확인은 기본적으로 보안이 결코 고정된 상태가 아니라는 것을 의미합니다. 지금 안전하다고 해서 내일도 안전하다는 의미는 아닙니다. 적절하게 검증하는 능력은 우리 모두에게 가장 큰 과제이지만, 그 과정에서 많은 지식을 습득하게 되므로 매우 흥미롭습니다. 당신이 충분히 강하면 누구도 쉽게 당신을 해칠 수 없습니다.\n\n## 암호화 보안은 보안이다\n\n암호화는 강력하고 중요합니다. 암호 작성자의 모든 노력, 모든 견고한 암호 알고리즘 및 엔지니어링 구현 없이는 현대 통신 기술, 인터넷 또는 블록체인 기술이 없을 것입니다. 그러나 일부 개인은 암호화 보안을 절대적인 보안으로 간주합니다. 그래서 이상한 질문이 많이 생깁니다: \n\n>블록체인은 너무 안전해서 개인 키를 해독하는 데 수조 년이 걸리지 않습니까? FBI는 어떻게 다크 웹 비트코인을 해독할 수 있었나요? 도대체 왜 Jay Chou의 NFT가 도난당할 수 있습니까？\n\n이런 초보적인 질문은 참을 수 있습니다... 제가 참을 수 없는 것은 소위 보안 전문가라고 불리는 많은 사람들이 암호화 보안 개념을 사용하여 대중을 속이고, 군사급 암호화, 세계 최고의 암호화, 우주 수준의 암호화, 절대적인 시스템 보안, 해킹 불가능성 등과 같은 용어를 언급하고 있다는 사실입니다.\n\n해커들은 신경도 안 쓸 겁니다...\n\n## 해킹당하는 것이 수치스러운가요?\n\n해킹을 당하면 엇갈린 감정을 느낄 수 있고 때로는 수치심을 느낄 수도 있는 것이 사실입니다. 하지만 해킹당하는 것은 거의 100% 보장되므로 부끄러워할 것이 없다는 점을 이해해야 합니다.\n\n한번 해킹당하면 본인 책임만 지면 상관없습니다. 그러나 다른 많은 사람에 대한 책임이 있다면 사건을 처리할 때 투명하고 개방적이어야 합니다.\n\n사람들이 스스로 해킹을 자초했다고 의심하거나 비난할 수도 있지만, 투명하고 공개적으로 업데이트된 프로세스는 항상 행운과 이해를 가져올 것입니다. 이렇게 생각해보세요. 프로젝트가 잘 알려지지 않으면 아무도 해킹하지 않을 것입니다. 수치스러운 점은 해킹당하는 것이 아닙니다. 부끄러운 것은 당신의 오만함입니다.\n\n확률의 관점에서 볼 때 해킹당하는 것은 일반적인 현상입니다. 일반적으로 보안 문제의 대부분은 프로젝트 성장에 도움이 될 수 있는 작은 문제입니다. 그러나 여전히 심각하고 큰 문제는 가능한 한 피해야 합니다.\n\n## 즉시 업데이트하세요\n\n이 문서에서는 업데이트에 주의를 기울일 것을 여러 번 제안합니다. 사용 가능한 보안 업데이트가 있으면 즉시 적용하세요. 이제 잘 생각해보세요. 이것이 만능약일까요?\n\n실제로 대부분의 경우 \"지금 업데이트\"하는 것이 옳은 일입니다. 그러나 역사상 업데이트로 한 가지 문제가 해결되었지만 다른 문제가 발생한 경우가 있었습니다. 예를 들면 iPhone 및 Google OTP가 있습니다: \n\n>새로운 iOS 15 업데이트의 위험이 있습니다. 즉, iPhone 업그레이드 후 Google Authenticator의 정보가 지워지거나 두 배가 될 수 있습니다. 이 경우 중복된 항목이 두 배로 발견되면 절대 삭제하지 마십시오. Google OTP의 모든 정보가 손실될 수 있습니다. iOS 15 시스템으로 업그레이드하지 않으셨고, Google Authenticator를 사용하고 계시는 분들께서는 업그레이드 전 반드시 백업을 하시길 권장드립니다.\n\n나중에 Google은 Authenticator 앱을 업데이트하여 이 문제를 영구적으로 해결했습니다.\n\n게다가, 주요 보안 패치나 불가피한 업데이트로 이어지는 매우 중요한 기능이 없는 한, 특히 자산이 많은 지갑의 경우 지갑을 자주 업데이트하지 않는 것이 좋습니다. 어떤 경우에는 스스로 위험 평가를 수행하고 스스로 결정을 내려야 합니다.\n\n# 결론\n\n이 문서는 다음 다이어그램으로 시작한다는 점을 기억하세요 :)\n\n![](res/web3_hacking_map.jpg)\n\n내가 도표에서 사람을 빨간색으로 표시한 것을 보셨나요? 저는 모든 사람에게 인간이 모든 것의 기초(우주론에서는 \"인류원리\"라고 함)라는 것을 다시 한 번 상기시키기 위해 그렇게 표시했습니다. 인간의 본성인 보안이든, 보안 기술을 습득하는 능력이든, 그것은 모두 당신에게 달려 있습니다. 그렇습니다. 당신이 충분히 강하다면, 누구도 쉽게 당신을 해칠 수 없습니다.\n\n다이어그램을 기반으로 확장을 시작했으며 지갑 생성, 지갑 백업, 지갑 사용의 세 가지 프로세스에서 많은 보안 핵심 사항을 설명했습니다. 그런 다음 전통적인 개인 정보 보호를 도입했습니다. 저는 이러한 전통적인 것들이 블록체인 생태계에서 보안을 유지하기 위한 초석이자 구성 요소라고 말했습니다. 인간 본성 보안 부분은 과장될 수 없습니다. 악을 행하는 다양한 방법에 대해 더 많이 이해하는 것이 좋습니다. 특히 몇 군데 구덩이에 발을 디딘 경우 종이에 적힌 보안 인식이 결국 보안 경험이 될 수 있습니다. 절대적인 보안은 없으므로 해킹당했을 때 대처방법을 설명드렸습니다. 나는 당신에게 불행한 일이 일어나는 것을 원하지 않지만 만약 그런 일이 일어난다면 이 문서가 당신에게 도움이 되기를 바랍니다. 마지막으로 몇 가지 오해에 대해 이야기하겠습니다. 내 의도는 매우 간단합니다. 세상은 아름답고 끔찍하기 때문에 여러분 자신의 비판적 사고를 쌓을 수 있기를 바랍니다.\n\n나는 오랫동안 그렇게 많은 글을 쓰지 않았습니다. 마지막으로《Web 前端黑客技术揭秘》이라는 책을 쓴 게 10년 전인 것 같습니다. 웹 보안과 사이버 보안 분야에서 수년 간 근무한 후 저는 사이버 공간 검색 엔진인 ZoomEye를 만드는 팀을 이끌었습니다. 사이버 보안 분야에서 저는 많은 분야에 손을 댔는데, 그 중 제가 능숙하다고 말할 수 있는 분야는 극히 일부에 불과합니다.\n\n이제 블록체인 보안 분야에서는 저와 SlowMist가 선구자라고 평가받고 있습니다. 지난 몇 년간 우리는 매일매일 무아지경에 빠져 있다는 생각이 들 정도로 많은 사례를 접했습니다. 많은 인사이트가 기록되고 공유되지 않는다는 점은 아쉽습니다. 그리고 그 결과 여러 사람들의 권유로 이 문서가탄생하게 되었습니다.\n\n이 문서를 다 읽고 나면 실행하고 능숙해지며 추론을 이끌어내야 합니다. 나중에 자신만의 발견이나 경험이 있으면 기여해 주시길 바랍니다. 민감한 정보가 있다고 생각되면 해당 정보를 가리거나 정보를 익명화할 수 있습니다.\n\n마지막으로, 보안 및 개인 정보 보호 관련 법률 및 집행이 전 세계적으로 성숙해짐에 따라 Satoshi Nakamoto를 포함하여 모든 선구적인 암호학자, 엔지니어, 윤리적 해커 및 더 나은 세상을 만드는 데 관련된 모든 사람들의 노력에 감사드립니다.\n\n# 부록\n\n## 보안 규칙과 원칙\n\n본 문서에 언급된 보안 규칙과 원칙은 다음과 같이 요약됩니다. 위의 텍스트에는 몇 가지 규칙이 포함되어 있으며 여기서는 구체적으로 설명하지 않습니다.\n\n두 가지 주요 보안 규칙: \n\n* **Zero trust**: 간단하게 말해서 항상 회의적인 자세를 유지하십시오. \n* **Continuous validation**: 무언가를 신뢰하려면 의심하는 것을 검증하고, 검증하는 습관을 들여야 합니다.\n\n보안 원칙: \n\n* 인터넷의 모든 지식에 대해서는 최소한 두 가지 출처를 참조하고 서로를 확증하며 항상 회의적인 자세를 유지하십시오.\n* 분리하십시오. 모든 계란을 한 바구니에 담지 마십시오.\n* 중요한 자산이 있는 지갑의 경우 불필요한 업데이트를 하지 마세요.\n* 당신이 보는 것은 당신이 서명하는 것입니다. 서명하는 내용과 서명된 거래가 전송된 후 예상되는 결과를 알고 있어야 합니다. 나중에 후회할 일은 하지 마세요.\n* 시스템 보안 업데이트에 주의하세요. 가능한 한 빨리 적용하십시오.\n* 무모하게 프로그램을 다운로드하고 설치하지 마십시오. 실제로 대부분의 위험을 예방할 수 있습니다.\n\n## 기여자들\n\n기여자들 덕분에 이 문서는 지속적으로 업데이트될 예정이며 이 문서에 대한 아이디어가 있으면 저에게 연락해 주시기 바랍니다.\n\n>Cos, Twitter ([@evilcos](https://twitter.com/evilcos)), Jike App (@余弦.jpg)\n\n기여자들: \n```\n내 아내\nSlowMist, Twitter(@SlowMist_Team), e.g. Pds | Johan | Kong | Kirk | Thinking | Blue | Lisa | Keywolf...\nEnglish 역자, e.g. Alphatu | C. | CJ | JZ | Lovepeace | Neethan | pseudoyu | SassyPanda | ss | XL\n日本語 역자, e.g. Jack Jia | Mia\n한국인 역자, e.g. Sharon | Jeongmin\n아랍어 역자, e.g. Ahmed Alsayadi | Gabr Alsayadi\n인도네시아어 역자, e.g. Finball\nJike App\n익명의 친구들\n더: https://darkhandbook.io/contributors.html\n...\n```\n\n**귀하의 기여가 이 핸드북에 포함되는 것이 적용되면 귀하는 기여자 목록에 추가됩니다. 예: 특정 안전 방어 제안 또는 사례 제공 번역 작업에 참여했습니다. 더 큰 오류 등을 수정했습니다.**\n\n## 도구들\n\n이 DarkBook는 탄생한 지 2년이 넘었는데, 많은 분들께 도움이 되어 기쁩니다. 영향력이 점점 커지고 있고 많은 사람들이 업데이트를 촉구하고 있지만, 나는 이 메뉴얼에 대한 소소한 업데이트 외에 주로 메뉴얼과 관련된 [확장 읽기 업데이트를](https://github.com/evilcos/darkhandbook) 하고 있다는 것을 깨달았습니다. 확장된 내용은 다소 기술적이고 초보자에게 친숙하지 않다고 말하고 싶습니다. 그리고 실제로 보안 지식을 배우는 데 전념하려는 사람이 많지 않다는 것을 알고 있습니다. 이 작은 장은 원래 초보자에게 친숙한 도구(지갑, 보안 확장, 관련 스크립트 도구 등 포함)를 권장하기 위한 것이었지만 여전히 망설였습니다. 결국에는 업계가 너무 빠르게 발전하고 있기 때문에 특별한 권장 사항을 제시하지 않기로 결정했습니다. 실제로 이 메뉴얼에는 많은 훌륭한 도구가 언급되었으며 시간을 통해 테스트를 통과했습니다. 미래? 항상 훌륭할 수 있나요? 확실하지 않습니다.\n\n도구를 추천할 경우 객관적이고 중립적으로 추천하도록 노력할 것이며 다음 사항을 염두에 두시기 바랍니다: \n\n　* 절대적인 보안은 없습니다. 제로 트러스트 + 지속적인 검증은 이 어두운 숲에서 항상 존재해야 하는 조건 반사 기능입니다. 언젠가 이러한 도구에 버그나 보안 문제가 있거나 새 버전에 백도어가 이식되는 등 더 심각한 문제가 발생하는 경우 이에 따른 위험은 본인이 감수하시기 바랍니다. 이러한 도구를 사용하기 전에 독립적인 사고를 유지하고 속지 않는 것이 좋습니다.\n\n　* 도구의 연구력이 좋고 사용자가 많다면 자연스럽게 좋은 것을 추천해 주곤 합니다. 그러니 걱정하지 마십시오. 당신의 도구가 좋고 먼저 모든 사람의 신뢰를 얻으면 자연스럽게 추천할 것입니다.\n \n　* 당신만의 개성이 있고 나도 그렇습니다.\n \n　* 환율 가격을 멀리하세요.\n \n　* 신뢰를 쌓는 것은 쉽지 않지만 한 순간에 무너질 수 있으니 서로 소중히 여겨주세요.\n\n이 작은 장에서 도구에 대해 특별한 권장 사항을 제시하지는 않지만 방화벽 사고라는 좋은 사고 방식을 여러분과 공유하고 싶습니다. 이전에도 지속적으로 강조해왔던 '제로 트러스트'와 '지속적인 검증'은 사실 방화벽 사고입니다.\n\n예를 들어, 지갑 사용에 있어서 서명은 금융보안에 있어 가장 큰 타격을 받는 영역으로, 다음과 같은 다양한 종류의 서명 피싱 수법이 있습니다: \n\n- eth_sign/personal_sign/eth_signTypedData_*와 같은 기본 서명을 사용하면 eth_sign이 지갑에 의해 점점 더 차단됩니다.\n- Token/NFT 승인/허용 등 인증 기능 활용\n- Uniswap swapExactTokensForTokens/permit2 등 강력한 기능 활용\n- OpenSea/Blur 등 프로토콜 기능 활용(다양)\n- TX 데이터 4byte 활용, 보상 청구/보안 업데이트 등\n- 관련 탐지를 우회하기 위해 Create2를 사용하여 자금 수신 주소를 미리 생성하십시오.\n- 솔라나는 단일 서명을 사용하여 대상 지갑 주소의 모든 자산을 훔칩니다.\n- Bitcoin Inscription 원클릭 일괄 피싱, UTXO 메커니즘.\n- 다양한 EVM 체인/솔라나/트론 등 스위치 피싱.\n\n지갑에서 팝업 상자가 서명 확인을 기다리고 있을 때, FOMO인지 손을 떨고 있는지에 관계없이 \"확인\"을 클릭하면 서명이 전송됩니다... 그러면 지갑을 사용하는 이 방법은 그렇지 않습니다. 방화벽 사고방식을 가지고 있습니다. 더 나은 방법은 적어도 두 번 클릭하는 것입니다. 한 번 더 클릭하면 추가 보안 계층이 제공됩니다(물론 너무 많은 계층을 가질 필요는 없습니다. 사람들은 무감각해질 것입니다...). 예를 들어 Rabby, MetaMask, OKX Wallet과 같은 브라우저 확장 지갑을 사용합니다. 테스트 지갑을 제외하고 다른 지갑은 하드웨어 지갑을 사용하려고 합니다(서명할 내용을 식별할 수 있도록 더 큰 화면을 사용하는 것이 좋습니다).\n\n이때 확장 지갑의 서명 확인 팝업 상자에서는 피싱 웹사이트, 위험한 지갑 주소, WYSIWYS 서명, 고위험 서명 식별 등과 같은 1차 보안 분석이 수행됩니다. 이는 모두 중요한 사용자 상호 작용 보안입니다. . 하드웨어 지갑은 보안 분석의 두 번째 계층을 수행합니다. 이때 Scam Sniffer, Wallet Guard, Pocket Universe 등 브라우저 지갑 보안 확장 프로그램을 추가하면 또 다른 방화벽이 추가됩니다. 하지만 수행 중인 작업에 대한 위험 경고가 없으면 경계하고 자신이 식별해야 한다는 점을 명심하세요.\n\n방화벽 사고방식에 익숙해지면 효율성에는 거의 영향을 미치지 않지만 보안 감각은 크게 향상됩니다. 다른 장면에서 추론해 보겠습니다.\n\n## 공식 웹사이트\n```\nSlowMist https://www.slowmist.com\nCoinMarketCap https://coinmarketcap.com/\nSparrow Wallet https://sparrowwallet.com/\nMetaMask https://metamask.io/\nimToken https://token.im/\nTrust Wallet https://trustwallet.com/\nTokenPocket https://www.tokenpocket.pro/\nGnosis Safe https://gnosis-safe.io/\nZenGo https://zengo.com/\nFireblocks https://www.fireblocks.com/\nSafeheron https://www.safeheron.com/\nKeystone https://keyst.one/\nTrezor https://trezor.io/\nOneKey https://onekey.so/\nimKey https://imkey.im/\nRabby https://rabby.io/\nOKX Wallet https://www.okx.com/web3\nEdgeWallet https://edge.app/\nMyEtherWallet https://www.myetherwallet.com/\nPhantom https://phantom.app/\nTornado Cash https://tornado.cash/\nBinance https://www.binance.com/\nCoinbase https://coinbase.com\nCompound https://compound.finance/\nSushiSwap https://www.sushi.com/\nOpenSea https://opensea.io/\nRevoke.cash https://revoke.cash/\nScam Sniffer https://www.scamsniffer.io/\nWallet Guard https://www.walletguard.app/\nPocket Universe https://www.pocketuniverse.app/\n\nJike App https://okjike.com/\nKaspersky https://www.kaspersky.com.cn/\nBitdefender https://www.bitdefender.com/\nCloudflare https://www.cloudflare.com/\nAkamai https://www.akamai.com/\nSURVEILLANCE SELF-DEFENSE https://ssd.eff.org/\nPrivacy Guide https://www.privacytools.io/\nOpenPGP https://www.openpgp.org/\nGPG https://gnupg.org/\nGPG Suite https://gpgtools.org/\nGpg4win https://www.gpg4win.org/\n1Password https://1password.com/\nBitwarden https://bitwarden.com/\nGoogle Authenticator https://support.google.com/accounts/answer/1066447\nMicrosoft Authenticator https://www.microsoft.com/en-us/security/mobile-authenticator-app\nProtonMail https://protonmail.com/\nTutanota https://tutanota.com/\nVMware Workstation https://www.vmware.com/products/workstation-pro.html\nParallels https://www.parallels.com/\n```\n"
  }
]