6

I've been comparing the weaknesses of Monero and Bitcoin. Following from this about bitcoin packet sniffing. I'm just wondering what an attacker can do if he's on my LAN and can sniff packets on the network.

As for the case for Bitcoin, an attacker can see when you send a transaction that you didn't receive, which means it must've came from you.

Questions:

  1. Is this the case for monero too?

  2. If I make a transaction can he decode the packet's payload? can he figure out what addresses are in my wallet? private keys?

  3. Any other informations revealed?

  • Doesnt I2P make it so you have to sniff all the packets and link them all together? Sounds doable but not as easy. – JohnHanks Mar 8 '17 at 17:30
10

Monero makes no attempt to encrypt or obfuscate the data being sent between peers. A passive attacker could monitor the transactions in the same manner to identify the IP that originated a particular transaction.

Unlike Bitcoin, Monero transactions always use ring signatures and always mask recipient addresses (I don't remember if the latter is enforced by the protocol, but the provided wallet always does this). Ringct is also an enabled by default option which masks amounts being transferred. So an attacker with only the information from a single transaction will be unable to determine who is receiving XMR, how much XMR was sent, or which transaction the XMR was originally sent to you.

However, this should not be ignored for privacy leaks. If you send XMR frequently to another person, an attacker passively monitoring both parties will know with increasing probability that you have sent XMR to this person. In other words, the probability of someone consistently using your transactions in a ring signature are low.

There should be some further critical leaks from this technique - I haven't thought about this particular issue much. The integration with kovri will hopefully increase the difficulty for attacks based on passive transaction monitoring. The goal is to broadcast transactions through I2P by default, to obfuscate their origin.

Edit: I should mention that neither your public nor secret keys are transmitted from your wallet to the node. This is true for both spend and view key. And currently the wallet asks for every transaction, so there isn't an obvious leak between wallet and node. However, I would still recommend encrypting traffic between wallet and node, or running both on the same machine. And if you use monero-wallet-rpc with non standard software things change slightly too.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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