Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Educate Windows users to configure anti-virus software to exclude the Zcash data folder #2046

Open
bitcartel opened this issue Jan 25, 2017 · 8 comments

Comments

@bitcartel
Copy link
Contributor

Zcash does not obfuscate database files. This means that someone can include the signature for a virus into a transaction, triggering anti-virus tools to quarantine the file.

Quarantining typically involves moving the file to a new location, which can lead to undefined behaviour and crashes. bitcoin/bitcoin#4069

Obfuscation so that AV software cannot see the signatures was added upstream in 2016, by xoring data stored in leveldb: bitcoin/bitcoin#6613

Note that such a change means that the leveldb database cannot be deciphered using standard tools. Also, it's not impossible that the obfuscation itself leads to data looking like a virus signature, although this is highly unlikely.

A solution for now is to advise users running ports of Zcashd on Windows to configure their anti-virus software to exclude the Zcash folder from being checked. This would include the default (bundled) Windows Defender as well as third party software such as Norton, McAfee, etc.

The data folder on Windows should be located here:
C:\Documents and Settings\YourUserName\Application data\Zcash
or
C:\Users\YourUserName\Appdata\Roaming\Zcash

@bitcartel bitcartel added A-documentation Area: Documentation usability O-windows Operating system: Windows needs prioritization labels Jan 25, 2017
@daira
Copy link
Contributor

daira commented Jan 25, 2017

Does this apply to the wallet.dat file as well as leveldb?

@Voluntary-zcash
Copy link

What if data is included in a transaction that only becomes a virus signature after it's XORed?

@daira
Copy link
Contributor

daira commented Jan 26, 2017

@Voluntary-zcash That can happen, but if the key is a random secret then it can't be made to happen deliberately, and it won't happen for all users (on platforms that need AV) at once.

@daira
Copy link
Contributor

daira commented Jan 26, 2017

Note that Zcash may be more vulnerable than Bitcoin to malicious contamination of db files with virus signatures, because an attacker can put 1202 contiguous bytes of arbitrary data in the encCiphertexts field of a JoinSplit description (it doesn't have to be validly encrypted).

@daira
Copy link
Contributor

daira commented Jan 26, 2017

There's a backport of Bitcoin's chainstate file obfuscation to 0.11.x at bitcoin/bitcoin#6919

@nathan-at-least
Copy link
Contributor

Hey, @radix42 since we don't yet support Windows, we don't have a good place for this documentation. Does the windows port have windows-specific user docs?

@nathan-at-least
Copy link
Contributor

@radix42 I filed https://github.com/radix42/zcash/issues/5 over in your Windows fork. Let me know how you want to handle that.

@radix42
Copy link
Contributor

radix42 commented Jan 31, 2017 via email

@daira daira added this to Discussion in Portability Apr 9, 2017
@daira daira added this to Discussion in Documentation May 1, 2017
@ioptio ioptio moved this from Product Backlog to Sprint Backlog in Documentation Aug 3, 2018
@ioptio ioptio moved this from Sprint Backlog to Blocked/Tracking in Documentation Nov 27, 2018
@ioptio ioptio added this to Needs Prioritization in Development Infrastructure Team via automation Jul 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-documentation Area: Documentation O-windows Operating system: Windows usability
Projects
Development Infrastructure Team
  
Needs Prioritization
Documentation
  
Blocked/Tracking
Portability
  
Discussion
Development

No branches or pull requests

5 participants