Skip to content

Instantly share code, notes, and snippets.

@pdaian
Last active May 18, 2019 21:06
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pdaian/61b407a44d62536d71dc2dd3995c80d4 to your computer and use it in GitHub Desktop.
Save pdaian/61b407a44d62536d71dc2dd3995c80d4 to your computer and use it in GitHub Desktop.

Intro

This is a case study of ethical security disclosure practices in cryptocurrency. We analyze how security experts reacted in disclosing a serious vulnerability in miner hardware to the public, and identify problems with the reaction of several particular experts that we believe violate ethical disclosure norms. It is my hope that by discussing what went wrong in the past, the Bitcoin community can grow into a more secure and robust space that respects appropriate professional ethics in interactions with the public.

The incident below occurred on 26 April 2017, when a vulnerability in Bitcoin miner hardware, Antbleed, was discovered. Soon after discovery, some security professionals opportunistically used this vulnerability to advance false and damaging statements about the nature of the attack to the general public, in a manner that was disseminated widely beyond their control. We describe the facts and consequences of the incident below.

The Facts

Fact 1: A strong norm in the infosec community is the norm of responsible or full disclosure. While it is debated which model is appropriate, both have seen extensive consideration. See eg https://ethics.acm.org/integrity-project/ask-an-ethicist/ask-an-ethicist-vulnerability-disclosure/

Fact 2: Whether a security professional subscribes to responsible (the more popular and likely moral choice, and the only one accepted in eg academia) or full disclosure, unambiguously, it is a security professional's moral responsibility to ensure that they correctly state facts in security disclosure, and do not attempt to incite fear, mislead the public, etc. At a time when computer security is more complex and critical than ever, this is a critical norm for ensuring that the public is not misled, and that responsible disclosures of professionals remain trustworthy and taken seriously.

Fact 3: Peter Todd violated both norms above by issuing a false and misleading Twitter statement of software vulnerability to the general public.

Fact 4: The Twitter statement in question is available at http://archive.is/ujEkm Todd stated "That was fast: so the @BITMAINtech miner backdoor appears to have a remote code execution exploit in its implementation too." Todd also stated "You can reflash firmware & FPGA w/ remote code exec, and w/ reflashed firmware you can permanently kill all @BITMAINtech miners. 😱😱😱😱😱😱😱😱😱". Both statements were shown by a range of experts to be false, and can indeed be validated as false from a trivial reading of the C++ code. There was no remote code execution exploit in the section of code linked to and cited by Todd, making his claims false. See Appendix A for further technical justification on why this was false (to keep this document non-technical and high level)

Fact 5: Peter Todd was made both privately and publicly aware by a range of security experts that his statement was misleading at best, and almost certainly patently incorrect. Todd refused to issue a correction to the Twitter statement in question. Todd was immediately corrected by me in public here: https://twitter.com/phildaian/status/857349124982796290 and by Slush and other mining industry experts around the same time.

Fact 6: This Twitter statement grew to dominate the reddit discourse, spawning several threads that were at the top of r/Bitcoin for an extended period of time. One such thread is here: https://www.reddit.com/r/Bitcoin/comments/67r4gk/antbleed_backdoor_could_permanently_kill_70_of/

Fact 7: The false and malicious narrative about the Antbleed was repeated by prominent community members, who took Todd's word on faith. One example is maaku7, who stated here: https://www.reddit.com/r/btc/comments/67qzsn/antbleed_exposing_the_malicious_backdoor_on/dgswvx5/ "Unauthenticated remote code execution is absolutely not industry standard behavior or acceptable by any means." (note there was no unauthenticated RCE present in Antbleed). When asked in a follow-up comment, "Source that there is remote code execution?", maaku7 did not reply, but also did not modify or retract his original claims.

Fact 8: Todd issues a correction several hours after the Tweet here: https://www.reddit.com/r/Bitcoin/comments/67qwqv/antbleed_exposing_the_malicious_backdoor_on/dgsk6cf/ He however refused to update or retract his original Tweet several hours after the correction, as it was still gaining in prominence. Some time (.5-1 day in my timestamps) after confronting him publicly and seeing no correction, I confronted him via Twitter DM and asked him to consider the ethics of his behavior. Todd blocked me and called me a troll. The full chatlogs are at the bottom of the post.

Fact 9: Specifically, Todd refused to issue a correction on the grounds that "The language "appears to be" is clearly not a direct claim.", and thus his statement was not a false claim requiring correction. This is in strong violation of infosec norms on false and misleading statements; a casual reading of his Tweet directly implies knowledge of a specific style of vulnerability in a specific line of Antbleed code, a vulnerability which did not exist in practice. Todd's defense does not hold merit.

Fact 10: Todd deleted the Tweet some time later (I believe it was days, but I have no way to validate this; just my recollection).

More reading / relevant links are available in the comments (including mine) here: https://www.reddit.com/r/btc/comments/67t5ig/philip_daian_on_twitter_current_narrative_on_much/

Editorial

Unfortunately, I believe what happened here was a smear campaign against a disliked manufacturer, with several prominent developers and security experts Tweeting unvalidated news and exploits in order to damage the reputation of Bitmain.

While it is true that Bitmain firmware has had problems, it is the responsibility of any infosec professional to avoid false disclosures. What happened here was a failure of ethical security practices, and an embarassment to the Bitcoin community, which should foster ethical security practices given the sensitive and complex nature of the open source software developed therein.

It is truly sad to see security professionals issuing vulnerability disclosures as propaganda pieces, and refusing to conform to industry norms. It is my hope that as Bitcoin matures, responsible and ethical disclosure will transcend the style of partisan hackery exhibited by Todd in his false condemnation of a prominent company in the space.

What I would love is for Todd and the other involved developers is to issue an apology to the community for failing in their responsibility as professionals and leaders by proffering false information designed to instill fear.

Chat Logs

The following is an exchange I had with Todd about the issue on 27 April, 2017.

Philip Daian: twitter.com/petertoddbtc/status/857340167400587264
Philip Daian: why are you refusing to correct these?
Philip Daian: quite clearly false, yet dominated the r/Bitcoin news cycle for 14+ hours.  unacceptable.
Philip Daian: I'll give you a chance to do so, but if you don't I'll be calling you out as publicly as I can.  that's not appropriate behavior for security experts in the space, and the bug is serious enough without adding lies on top.
Philip Daian: if you believe Wang's claims of remote FW update that's a separate issue and I would encourage you to write a blog post about how it works and why it's bad.  but there's certainly no RCE at the line Sergio pointed out, so a full retraction would be appropriate
Philip Daian: anyway, I'll give you until the end of the working day Eastern to do the right thing.  If you refuse, it'll be a nice case study for the community on how not to behave when a new disclosure drops :).  cheers.
Peter Todd: It got corrected on reddit just fine, I specifically said "appears to be", and it looks like the exploit itself may be able to kill hardware anyway because Antminers get extremely hot due to poor hw design if you shut them off that way.
27 Apr 2017
Philip Daian: No, it didn't get "corrected on reddit just fine"
Philip Daian: absolutely false
Philip Daian: I did not see any admission of wrongdoing, merely a deflection to an unrelated rumor
Philip Daian: your original Tweet was very specific and is false as written, as I'm sure you agree
Philip Daian: it had nothing to do with these new temperature claims, which are also unsubstantiated rumors right now
Peter Todd: What wrong doing? My original tweet said there appears to be a problem, not that there is.
27 Apr 2017
Philip Daian: jesus christ Peter
Philip Daian: your Tweet was linked here: https://www.reddit.com/r/Bitcoin/comments/67r4gk/antbleed_backdoor_could_permanently_kill_70_of/ …
Philip Daian: headline: Antbleed backdoor could permanently kill 70% of the hashrate
Philip Daian: this was literally at the top of r/Bitcoin for 14+ hours
Philip Daian: this claim is false.
Philip Daian: even if your original language technically gave you an exit, you need to issue a clear correction to prevent misinformation like this
Philip Daian: that's called basic ethics
Philip Daian: if there are unrelated vulnerabilities (temp related, remote reflash, etc), post about those, but don't continue to insist you were right when that's very clearly not the case
Peter Todd: I'm not insisting anything, I raised a scary scenario and pointed to evidence that it might be true (including f2pool's claims that there's a remote update mechanism).
27 Apr 2017
Philip Daian: your words are being intentionally twisted to spin a false narrative and you correct them in such a way that allows this narrative to continue
Philip Daian: anyway you're free to do what you want of course, but I strongly believe removing the Tweets and issuing a correction is the right thing to do.  and if you don't, I will use these Tweets as an example of how not to handle disclosure in a lessons learned summary.  that's all, have a nice day.
Peter Todd: Meh, I don't see anything false about it. We should investigate scary as fuck scenarios; a remote kill of hashing power is a very real possibility.
27 Apr 2017
Philip Daian: I agree, but that should be investigated separately, not as part of a frenzy surrounding unrelated claims
Philip Daian: anyway your initial Tweet claimed there was RCE in the remote shutdown functionality, retweeting Slush.  so this "I just want to investigate all scenarios" thing doesn't really hold, your claims were quite specific
Philip Daian: I look forward to your separate, independent, and ongoing investigation into the possibility of hardware-killing exploits and remote reflashes
Peter Todd: The language "appears to be" is clearly not a direct claim.
Peter Todd: Frankly you're just trolling at this point.
27 Apr 2017
Philip Daian: that's not the way the writer of this headline read it: https://www.reddit.com/r/Bitcoin/comments/67r4gk/antbleed_backdoor_could_permanently_kill_70_of/ …
Philip Daian: nor any of the tens of thousands of people that read ONLY that headline
Peter Todd: So? Why am I at fault for someone elses slight exaggeration?
27 Apr 2017
Philip Daian: "Antbleed backdoor could permanently kill 70% of the hashrate" is NOT a slight exaggeration.  it's a false claim
Philip Daian: if someone makes a false claim on the back of your poorly worded gut reaction to an exploit you haven't validated, it is absolutely your ethical duty as a security researcher to correct them
Peter Todd: It's an exageration because it appears that other mechanisms may in fact give the same effect, just not the exact Antbleed backdoor.
27 Apr 2017
Philip Daian: *sigh* this was not the original claim and you still don't have proof of any of that
Peter Todd: Anywya, I've got better thngs to do then argue with a troll.
27 Apr 2017
Philip Daian: fine.  this conversation will be made public.

Appendix A

Todd's claim was of RCE; I explain technical details of why this attack did not allow for RCE here: https://twitter.com/phildaian/status/1127960120590082048 (and plan to edit this section soon to include this information). Note that in the two years since the vulnerability was made public, not a single proof of RCE has been produced (which is obviously because, as SDlerner in the original Tweet Todd coded stated, this bug is not exploitable).

@jameshilliard
Copy link

Something not very well known that predates antbleed is Bitmain's idiotic d-ddos feature which can remotely reconfigure pools for ddos mitigation. I recall I managed to segfault it as well so it very likely has a RCE vuln that anyone with access to d-ddos.antpool.com can exploit.

@jameshilliard
Copy link

Now that they have stopped complying with the GPL there are likely many more vulnerabilities left in their firmware. I know of multiple root exploits alone that can bypass their firmware signature validation(which I will report to them as soon as they are fully GPL compliant).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment