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

malware included in download - DO NOT DOWNLOAD INSTALLATION FILE ON YOUR COMPUTER #13

Open
AureusN opened this issue May 6, 2020 · 20 comments

Comments

@AureusN
Copy link

AureusN commented May 6, 2020

the download of the installation software contains malware: win32:MinerD-A

Not very nice of you a..holes to infect other computers with malware. Your project looks good on paper but trying to clandestinely installing malware on people's computers is mean. What were you thinking? That everybody is stupid enough to not realize it?

@solardiz
Copy link

solardiz commented May 6, 2020

This is duplicate of issues #9 and #7. The GUI wallet includes a miner built-in, as an explicit feature that you may or may not use, and some modern anti-malware reasonably detects that and says so, e.g. as "win32:MinerD-A" in this case, because miners are also found hidden in malware these days. While this is the expected behavior on all sides, it's unfortunate that this confuses users and in some cases prevents from distinguishing intentional and desired miners from real malware. There's not much the Resistance project can do here.

@AureusN
Copy link
Author

AureusN commented May 6, 2020

at the very minimum this "feature", which only benefits the resistance guys and not the poor chap who happens to download the wallet, should be disclosed. A simple information would raise more confidence whereas simply hiding such things raises at least an eye brow.

@solardiz
Copy link

solardiz commented May 6, 2020

This repository's description and README says "Resistance Desktop Wallet with ResDEX, Mainnet, CPU Miner, and more" - notice this mentions "CPU Miner". The miner is not active by default. When you do activate it, any of its mined coins (if it does find a block) are yours, not benefiting "the resistance guys".

Edit, clarification: each block also includes rewards for PoR, masternodes, and dev fund. However, blocks are found somewhere on the network at the same rate (one per minute on average) regardless of whether you're mining or not (as long as at least one node is, or else the network stops), so there's no added benefit to "the resistance guys" from you choosing to PoW-mine, nor any harm from you choosing not to (although mining decentralization is good for the network's health).

@AureusN
Copy link
Author

AureusN commented May 7, 2020

You are a bunch of criminal crooks. Why would you include malware in the first place in download packages?

@solardiz
Copy link

solardiz commented May 7, 2020

I can't figure out if you're still confused or are now trolling. Assuming good faith (so genuine confusion and not trolling): why would you call an explicitly mentioned, non-hidden, not running by default miner "malware"? Do you call every other cryptocurrency miner out there "malware" as well? If so, why would you be interested in cryptocurrencies at all? Puzzling.

Do you perhaps find the bundling of miner along with a wallet unexpected? That I sort of can understand. Historically though, Bitcoin's original bitcoin-qt GUI wallet similarly connected to a locally running Bitcoin node, and the node included a miner in it (not enabled by default, just like Resistance's miner is not). All of this was, and still is, part of Bitcoin Core. It's just that most people use lightweight wallets these days (not running full nodes) and are not mining cryptocurrencies on CPU (since most are unsuitable for CPU-mining now), whereas Resistance wallet and mining is closer to what Bitcoin wallet and mining used to be like in the early days (locally running full node, CPU mining).

While I see plenty of real issues with the Resistance project (in fact, making it mostly a failure), this one "issue" is an almost total non-issue (even in my opinion, as someone who's really unhappy about how the project went). The only real aspects here are user confusion and inability to check for real malware because of the false positive (such ability which would be desirable e.g. in case the download gets compromised by a third-party), as seen on your comments here. If you or others have suggestions on how to minimize such confusion, please share. Thanks.

Two ideas are:

  1. Continue to include the miner, but prevent its detection by anti-malware at least until the user actually chooses to activate the miner. There are ways to achieve that (supply the miner component in encrypted form, decrypt it when the user clicks a button and clearly acknowledges they want the miner). However, a concern is that the deliberate anti-anti-malware measure like this would actually fuel accusations such as yours. Of course, there would be very explicit user interaction to enable the miner, so it certainly wouldn't become "malware", but I guess some people could find this inappropriate anyway.

  2. Don't bundle the miner with the wallet. Accept the functionality loss (even though some users liked the bundled miner), and accept the slightly worse network health - lower mining decentralization and lower hashrate (although frankly Resistance's current status in these respects is so bad that making it a little worse almost doesn't matter).

Given the questionable tradeoffs with these ideas above, I doubt anyone will work to implement either of them. But if there's some better (non-tradeoff) idea that you or someone else has on this, it might be different.

@ian-p-johnson
Copy link

I am actually with solardiz on this - the desktop software openly includes a CPU miner and the signature of that is what the software scanners are picking up. This might be through particular byte codes in the binary, in memory or by behavior of the miner.

It is possible, though far from trivial, to mitigate this detection (certainly against all virus/malware scanners) and i believe the team chose to be open in recognition of this down side. It was considered a waste of what might be considerable effort to remove the need for a significant proportion of the scanners out there

Unfortunately this does lead to "false positivse" (they are not really false - they are positives) but they have been open so i don't believe it is some in intention to infect your PC. It didn't help the reputation of the already fragile installation experience though.

@ian-p-johnson
Copy link

The detection is common because of the historical inclusion of Monero (and similar) mining software in web pages, "free" software etc which was used to build network of thousands of machines mining for their masters. Its an awkward problem when you are trying to openly mine with the users permission

@ghost
Copy link

ghost commented Jun 5, 2020

I agree with you Ian (Sorry) but that puts ignorant people off and raise complains and makes the program look dodgy. So, we need to resolve it as an option just for desktop miners . Rest do not have to do it but a clean installation

@ian-p-johnson
Copy link

ian-p-johnson commented Jun 5, 2020

The intention was, i am sure, to strengthen network security and thus include a miner on every installation. If you release a wallet version without the miner you will lose that network security and be more open to a speculative attack.

Ideally obfuscating the miner to reduce the number of (false) positives is appealing but i do believe it will be non trivial to hide it from all scanners. Most wallets do not include a desktop miner

@ghost
Copy link

ghost commented Jun 22, 2020

What needs to be done is to install without a miner and only for people that want the desktop miner gives them the option to install the desktop miner after having resistance installed warning them that the miner is considered a malware by most modern antivirus, whilst it is not.
So, at least you can do first installation with no issues.
The main issue in my opinion as expressed in numerous time to the team is the lack of documentation, communication to the user, transaparency etc. There should be a guide menu , FAQ menu,etc and all that explain clearly there. However, we will keep on fighting for it.

@SickProdigy
Copy link

the kyc thing had me on edge, because why would i need to worry about kyc with a desktop wallet?
And the miner included is more standoffish for me. Please let me know if you do a standalone wallet without all the extras and installation.

@ian-p-johnson
Copy link

ian-p-johnson commented Nov 18, 2021 via email

@solardiz
Copy link

@ian-p-johnson You know, this still hurts a lot and I'm sure no one on the team intended for the project to fail (which your harsh words seem to imply)... but I also gave up.

@SickProdigy Not a valid excuse (nor do I want to provide one), but to answer your question to at least some extent:

The full source code needed to build a standalone wallet without DEX (as DEX+KYC doesn't fly) is (finally) in other public repos under the ResistancePlatform org. If anyone capable still has any interest in the core tech (a clean Zcash fork with CPU-focused PoW, a miner for that, and an optional GUI wallet around these), they can rebuild the wallet package with only the desired components included (can drop the miner, too). They can continue with the existing blockchain or choose to fork or restart the blockchain. Whether there's any point in any of that is doubtful, but at least the options are there.

As I had worked on the core and miner, I had more of a say on getting the source code for those released right upon launch - which the project did. I didn't work on the GUI wallet nor packaging, so had little say there, and this part of the source code was only made public when the project became pretty much irrelevant, unfortunately - but in the end it's public and is technically reusable.

The GUI wallet can be fairly easily adapted to work with Zcash proper and with other Zcash forks, so maybe it should become a separate project supporting Zcash and all of its forks. That would be a reasonable reuse.

Other than potential (unlikely?) reuses, I doubt there's any future here.

@ian-p-johnson
Copy link

ian-p-johnson commented Nov 18, 2021 via email

@SickProdigy
Copy link

Fair enough. First time I've heard of it. But found it on a pretty big mining site.

I figure I'd comment since no one has in awhile. Glad to see the GitHub community active honestly.

I like the project name and the idea of the program. But some features are unnecessary for majority of users. An aio solution is what it seems they tried to achieve. And btc was an aio solution in the past almost. But ive never heard of Bitcoin shipping with a miner.

I've done the whole node setup shabang and have never installed a miner along with.

The dex thing has me more curious though. Then centralize it with kyc.

I'd be more interested in seeing someone else take hold of the project for sure.

It's clearly never gonna fully die.

@ian-p-johnson
Copy link

ian-p-johnson commented Nov 18, 2021 via email

@solardiz
Copy link

@SickProdigy Not to argue, but FWIW both Bitcoin and Zcash (and many others) had built-in miners in their full nodes. Inefficient and little-known, except in the early days of those coins. Resistance Core has that too (inherited from Zcash and updated for the change of PoW), although this issue is about a standalone miner bundled in the wallet package (so technically there are two miners here).

I'd be more interested in seeing someone else take hold of the project for sure.

Maybe @whiteknightrader could? He wasn't on the original team, but he contributed some final minor updates of the GUI wallet.

Nobody will pick it up, without restarting the chain

I doubt anyone would bother and I don't really recommend it, but technically a middle ground is possible - a "community Resistance" hard-fork where addresses with a balance of, say, 1M+ RES (or any other threshold chosen by whoever does this) at the time of fork would become unspendable (reducing the total supply accordingly). At the very least this can be done for the 25M+ RES balance of the already assumed-burned coins that people exchanged for RESDX (a token on Binance chain) - locking those up technically wouldn't even be a fork, but would be reinforced main Resistance chain. I doubt any of that would be sufficient for a successful project and it's not a trivial change to implement (would require expertise), but technically it's possible.

@ian-p-johnson
Copy link

ian-p-johnson commented Nov 18, 2021 via email

@SickProdigy
Copy link

A lock up of the current coins, basically burning them could be rather effective.

Or have a trade to the new chain lockup those coins and airdrop new coins.

The dex side of things is interesting and did get to thinking last night, a dex that is truelly decentralized with no id's mandatory would be nice. Maybe just can't go to usd or other fiat to accomplish this legally.

But if it's all run by the system and fees go to miners it would be a more rather interesting approach.

Restarting the chain in its current state would clearly be setup for disaster we know. But if someone was trying to move this project forward, how much is really left to salvage before starting a new?

@ian-p-johnson
Copy link

ian-p-johnson commented Nov 18, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants