6

There are several efforts under way at the moment to build easy to use mobile wallets for Monero. The most popular approach is to rely on a trusted remote node (either your own or one provided by a trusted 3rd party).

If we want to run wallets against potentially adversarial remote nodes, what problems can we run into?

I'm interested in both points addressing privacy and opsec, as well as technical challenges related to consuming potentially malicious data.

  • This might be a duplicate of "how much information is transferred" question, but this is more specific to how one could abuse it, as opposed to what is being done. (maybe) – Ginger Ale Dec 11 '16 at 5:19
1

If we want to run wallets against potentially adversarial remote nodes, what problems can we run into?

I'm interested in both points addressing privacy and opsec, as well as technical challenges related to consuming potentially malicious data.

There are two categories of risks with malicious nodes. The first, most dangerous type of risks are the permanent ones which can't be undone. Temporary risks can be canceled once a legit node is used to replace the malicious one.

Permanent Risks

  • IP Logging: The data you leak when connected to a node contains among others your IP. This IP is a form of identity which criminals can exploit to target victims (thefts, ransoms, blackmail, ...), authorities can use to list Monero users (identify, surveil, arrest, ...), ISPs can monetise to charge extra fees (which can be performed regardless of the nodes nature) and other consequences associated with the knowledge of a physical person using Monero. As this risk is real and permanent, Monero is developing a cross-cryptocurrency solution called Kovri which solves this problem. Recently a wallet has been caught inserting a second transaction fee as funding system for their software which was a massive breach of privacy. Using the attack vector exposed in that article in cooperation with IP logging would allow a node to know which kind of software and/or hardware is being used. The knowledge of software and/or hardware is always the first step in hacking which could be targeted to this specific user.

Temporary Risks

  • Censor: A malicious node has the power to block your transactions from being broadcasted to the network with or without your knowledge. You would wrongfully think that you successfully made a payment.

  • Tempering: A malicious node can alternate the blockchain to decrease or increase your balance. This attack is complicated as the node should know your public address. The risk lies in the following example: A user using his exchange's node could buy funds from the exchange, make a withdraw of the bought funds and be tricked into believing the withdraw was successful. The user would think he lost his funds as, while using the exchange node, he saw his funds in his wallet.

  • Extorsion: As explained with the risk of censor, a node can block your transaction. Although this scenario is hypothetical, nodes could theoretically force a rise in fees by preventing low-fee transactions from being broadcasted and picked-up by good-will miners accepting them. This would be beneficial in the case of miners operating nodes in an attempt to increase their profits.


These are the only risks known to me. Feel free to edit to increase this list.

  • 2
    (1) Pwning the RPC layer, which is usually not exposed if running your own. (2) Finding which outputs are your own when you create a tx and do not send it (since you'll spend that output again). (3) Wallet fingerprinting. – user36303 Jan 31 '18 at 15:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.