Crypto-Asset Exchange Threat Modeling
On April 13, 2021, the Cloud Security Alliance (CSA) Blockchain/Distributed Ledger Working Group released the Crypto-Asset Exchange Security Guidelines—a set of guidelines and best practices for crypto-asset exchange (CaE) security. The set of guidelines were created to help educate users, policymakers, and cybersecurity professionals on the pros and cons of further securing Virtual Asset Service Providers, from centralized exchanges and A Hosted wallet is an online service where a user’s bitcoi... More providers to decentralized exchanges (DEXs) and A cryptocurrency (or crypto currency) is a digital asset des... More swap services.
CipherTrace CEO Dave Jevans was a contributing author of the guidelines. The following is an extract of the first chapter.
1. Crypto-Asset Exchange Threat Modeling
Asset-Based Cryptocurrency-focused threat modeling frameworks are capable of identifying such risks. ABC’s key innovation is the use of collusion matrices. A collusion matrix uses a threat model to cover many threat cases while simultaneously managing the process to prevent it from becoming overly complicated. We demonstrate that ABC is effective by presenting real-world use cases and by conducting a user study. The user study showed that around 71% of those who used ABC were able to identify financial security threats, as compared to only 13% of participants who used the popular framework STRIDE.
The PDF download link is here https://arxiv.org/pdf/1903.03422.pdf
This model is useful for analyzing attacks against a cryptocurrency itself as well as analyzing attacks against Decentralized Exchanges (DEXs) using What are smart contracts? A smart contract is a computer pro... More to control trading. However, for modeling against attacks on hosted wallets (e.g. cloud-based exchanges, OTC desks, cryptocurrency swap services), a more focused approach can be useful. Below we list a top 10 of the threats against exchanges.
Threat Models Against Exchanges
The types of attacks that we have seen against exchanges fall into these categories:
1. Phishing user credentials to gain access to cryptocurrency accounts and move money. These are sometimes combined with SMS hijacking to take over an SMS-based authentication code for a targeted user.
2. Technical attacks against an exchange to penetrate the internal system.
a. SQL injection attacks once an account has been created or accessed.
b. Vulnerabilities in software used to operate the exchange.
c. Unpatched software used by an exchange.
3. Spear-phishing of employees at an exchange in order to override controls on withdrawals
4. Spear-phishing of employees at an exchange to implant malware (particularly remote-access trojans) allowing attackers to access internal systems and hop between infrastructures.
5. Once access to internal systems is achieved, attackers often use internal APIs or access systems where there is insufficient access control between internal systems, so that they can move across the system. Attackers often use credentials stored on computers in the internal system to gain access to other systems.
6. Inadequate or incorrect use of cold wallet (offline) storage of private keys versus hot wallet (online) key storage used for day-to-day operations. 90% of an exchange’s cryptocurrency should be stored in cold wallets that are not connected to the Internet. There needs to be a protocol for initializing cold wallets completely offline, for moving transfer requests between the hot wallets and cold wallets (usually requiring a USB drive with signing instructions). Consider multisig for accessing cold wallets, requiring two employees to sign a transaction before funds are transferred from cold wallets to hot wallets.
7. Insider threats have been common in exchanges where employees gain access to hot wallet keys and copy them, gain access to cold wallet keys and copy them, or implant malware or remote access trojans on internal systems allowing them future access to these keys to steal crypto assets.
8. Decompiling exchange apps (iOS or Android) and discovering secret cloud API keys that are embedded in the app, then using those keys to access internal APIs which may be used to access hot wallets or user credentials.
9. Copying of wallet recovery keys. Exchanges need to protect their wallet recovery keys with even more protection than their hot or cold wallets. If an attacker gains a copy of the recovery keys, the entire assets of an exchange, including cold digital wallets, can be emptied. NEVER store recovery keys on electronic media. Store them written down on paper that is kept in a physical vault. There are metal physical devices that are more fireproof than paper.
10. Attacks against specific currencies which exploit vulnerabilities in the exchange’s implementation: For example, many XRP (Ripple) implementations have a bug that allows for partial payments exploits. Suppose an exchange’s integration with the XRP Ledger assumes that the Amount field of a Payment is always the full amount delivered. In that case, malicious actors may exploit that assumption to steal money from the institution. This exploit can be used against gateways, exchanges, or merchants as long as those institutions’ software does not process partial payments correctly. https://xrpl.org/partial-payments.html#partial-payments-exploit In the first nine days of September 2020, the XRP holdings of 3 exchanges were wiped out completely.
The full Crypto-Asset Exchange Security Guidelines can be downloaded here: https://cloudsecurityalliance.org/artifacts/csa-crypto-asset-exchange-security-guidelines-abstract/