9 ms·
Crypto wallet security as seen by security engineers
- jrm4 5y ago"Being open-source is a two-sided sword – attackers could also read details of implementation and find flaws easily." umm, really?
- robomc 5y agoYes. The security wins of being opensource are really only there if the project is being engaged with and reviewed by security conscious developers, improvements are being merged in, and the new improvements are being distributed. Otherwise it's usually going to lower your security by some degree.
- lucideer 5y ago> lower Using the word "lower" here implies you're comparing open source software to something (closed source software), in which case you'd be implying that closed source software is engaged with and reviewed by security conscious developers. If you think that's the case just because you've heard of a few high-profile open source vulnerabilities, I've got news for you...
- dathinab 5y ago> going to lower your security by some degree. Not really, the security is the same. You just make the work for attackers a bit faster=>cheaper. But IMHO for an experienced attacker it's just a matter of "a bit faster" (like their attack comes a few days earlier), not a matter of "being more secure" (like their attack doesn't come at all).
- deleted 5y ago[deleted]
- Spooky23 5y agoLook at the lists of CVEs that come out every month for closed source software. How did they fix them? You don’t know. I can tell you that that my colleagues have found cases where major vendors don’t “fix” a defect - they prevent the public exploit from executing. With open source, you can see exactly what was fixed and how. You don’t lower or raise security.
- whynotminot 5y agoYes absolutely. There’s definitely a bit of a cult of open source. Just because I can look at your code does not inherently, magically make it more secure. Especially in a world where the black market pays better than bug bounty programs. Not necessarily advocating for closed source approaches, but it’s something to bear in mind.
- echelon 5y ago> Especially in a world where the black market pays better than bug bounty programs. In crypto/DeFi/croins/crokens/whatever, the bug bounty can be the entire holdings. And there are no legal ramifications or manners of recourse/restitution.
- lmm 5y agoThe whole point of the game is that the tokens belong to whoever got the code to run to transfer them to them, isn't it? Complaining that someone "stole" your tokens is like complaining that someone "stole" your gold in an MMORPG.
- jjnoakes 5y ago> And there are no legal ramifications or manners of recourse/restitution. I'd appreciate a source on that... Both seem unlikely to me. More difficult perhaps, but impossible you say?
- VTimofeenko 5y agoWell in crypto there does seem to exist a somewhat widespread notion of "code is law". If the existing business logic is used to do something undesirable (transfer all money to another person) - in such axiom set that action would be considered in line with the " law".
- 3np 5y agoThis notion is only used in context of smart contracts and on-chain virtual machine code. This is in contrast to wallet implementations.
- Ensorceled 5y agoHow is this controversial? I mean, we may believe the trade-offs are worth it but this is definitely in the "con" column.
- lucideer 5y agoHow this is controversial is extremely obvious to anyone who works in security. So much so that the opposite of this tenet is literally the first thing generally taught about security (Kerckhoffs's principle). It's well-known, and pretty uncontroversially accepted in the security community. The general idea here is that, while it can be useful to have some "security through obscurity", it's important not to rely on it, and in most cases where it is cites as a measure, it is relied on (often heavily). A good phrase I've heard used to elucidate on this is that "sunlight is the best disinfectant". For example, a more recent related discussion is Schneier's Law[0], which basically posits that any amateur can make a piece of software that they themselves can't break into. True security comes from sharing & discussing it with alternative perspectives (ideally whitebox - not black/greybox - discussions). It's telling about the audience that flock to "crypto(currency)" related posts that the comment is buried in downvotes, because I would think the typical average HN user would not be downvoting this comment. [0] https://www.schneier.com/blog/archives/2011/04/schneiers_law.html https://www.schneier.com/blog/archives/2011/04/schneiers_law... > Kerckhoffs's principle.
- Ensorceled 5y agoYou are completely missing the point. Risk analysis is a balancing act: Pros: open source, white hats can easily inspect the source Cons: open source, black hats can easily inspect the source You don’t get to just delete the cons you don’t like, even, if like me, you think the pro out weighs the con.
- lucideer 5y ago> if like me, you think the pro out weighs the con. My point is very simply that in my opinion that you're wrong to think this, and that opinion is shared by most of the security community. There is ample evidence that the cons FAR outweigh the pros in this particular comparison. --- Another way to visualize your comparison would be: - Closed source: -- Pros: 1 white hat can easily inspect the source -- Cons: 1000 hackers can blackbox-attack the application - Open source: -- Pros: 100 white hats can easily fix the source -- Cons: 1000 black hats can whitebox-attack the application You're arguing that 99 white hats don't trump black-vs-white. --- Even if I play devil's semi-advocate here and consider that the pros balance the cons, the statement in the article is still wildly out of place in that context.
- mrharrison 5y agoSecurity in obscurity
- bravetraveler 5y agoAbsolutely! So many compromises against IoT devices or network equipment come from inspecting the open/recycled firmware. There are a lot of interesting defcon videos about using this method edit: To clarify, this isn't to imply that I think closed source would necessarily be better. I think this quote puts it well. An all-too-common story about security in open source... of four people: Everybody, Somebody, Anybody, and Nobody: "Anybody could have done it, but Nobody did it. Somebody got angry about that, because it was Everybody's job. Everybody thought Anybody could do it but Nobody realized that Everybody wouldn't do it. It ended up that Everybody blamed Somebody when Nobody did what Anybody could have done." Source: https://www.youtube.com/watch?v=OnJ18pyMncE https://www.youtube.com/watch?v=OnJ18pyMncE
- lucideer 5y agoHeavy citation needed here I think.
- bravetraveler 5y agoI didn't write this with anything specific in mind; it's based on a binge of Defcon videos from at least a year ago - consider that my citation. Honestly, anyone that invests the slightest amount of effort in researching how vulnerabilities are found could arrive here. I'm surprised there's skepticism, quite honestly. It often comes down to the would-be attacker downloading a published update, looking around the PHP or whatever within, and finding unprotected or bugged APIs to leverage -- often to write their own modified version of that same update.
- lucideer 5y agoWell if I re-read your comment, you technically don't say anything too controversial: "so many" isn't really countable. But the implication is that compromises were found because those firmwares were open and/or that closed firmwares suffer fewer similar compromises. Which is what I would question.
- dathinab 5y ago
- pcthrowaway 5y agoInterestingly, the most popular web3 wallet for EVM chains (Metamask), is source-available but not open source.
- bashwizard 5y agoOne of the main things I do when doing any application security tests is - you guessed it - read the documentation and source code (if it's open source). It's basically like reading a manual on how to exploit the application.
- hpen 5y agoHave you never considered this or do you actually have a valid argument as to why it isn't true? I thought this was something that was agreed upon by most engineers.
- wly_cdgr 5y agoMy main takeaway from this is that getting rich isn't worth the trouble
- bsamuels 5y agoabout half of these concerns evaporate if you just use a hardware wallet. web3 will almost certainly never achieve its goals if hardware wallet adoption isn't ubiquitous. if you want to lever criticism, criticize how expensive hardware wallets are and their lack of support.
- whiskyant 5y agoMetamask supports the Ledger hardware wallet. It's about $60 pre-shipping/tax.
- traeregan 5y agoI'll never buy another Ledger product. I got doxxed in their data leak(s): https://www.google.com/search?q=ledger+data+leak https://www.google.com/search?q=ledger+data+leak In hindsight, I should've known better than to use PII at the time of purchase.
- LinuxBender 5y agoweb3 will almost certainly never achieve its goals if hardware wallet adoption isn't ubiquitous. If that is true then web3 may be in trouble. For a very long time people have pushed for hardware devices for MFA and yet most people still use phones if they even have MFA at all. I know people with Yubikeys and other devices because of the circles I have been in but in the wider audience of the internet they are exceedingly rare. So unless it becomes super easy for the masses to have a hardware wallet such as their financial institution issuing one then I am not sure how you realistically get past this problem. That of course puts people back into trusting and depending on their financial institution and its third party providers.
- vmception 5y agoThe money just flows to people with better OPSEC. After they phish the people with bad OPSEC. You might think web3 will be in trouble as people stop showing up, but there are so many other opportunities to make money when the good OPSEC people launder all their money by sending a random token’s price sky high, and cashing out as capital gains from their other already clean money. So that will keep attracting people looking for gains. Many people also do secure their holdings properly, the inconvenience of bothering likely driving scarcity.
- a-dub 5y agoi remember back in 2014 trying to find a decently priced and widely available smartphone that could be repurposed into a secure hardware wallet. replacing the operating system was possible for a lot of phones, but after a lot of research i could never find a phone that didn't either require binary blob drivers or was fully open in terms of firmware both on the application processor side and the baseband side. (even if that meant disabling the baseband, which was desirable anyway) i wonder if that's still true today. although i suppose there are a lot of hardware wallet choices now.
- andreareina 5y agoBunnie's precursor/betrusted project ticks those boxes. https://www.bunniestudios.com/blog/?p=5921 https://www.bunniestudios.com/blog/?p=5921
- josephg 5y agoA few years ago I played around with Metamask - which is a popular browser extension which lets you use ether and ERC20 tokens on websites. Pretty soon afterwards I realised my browser just felt slow, so I looked into what was going on. Turns out metamask pulls in web3.js, which alone is 2.3mb of javascript. Simply parsing that much code in each chrome tab was taking hundreds of milliseconds per page load. Web3.js is so ineptly crafted. Some of its dependencies get bundled a lot of times at slightly different point releases, for no forseeable reason. I opened an issue about this years ago, and despite lots of attention and promises it still hasn't been fixed[1]. The bigger issue with metamask is that (at least at the time) it allowed any site you visit to silently query your crypto wallet address. Talk about a privacy invasion. Every website you visit gets an ID that I'll keep across all my devices, through which you can find out exactly how much money I have, in what cryptocurrencies. And they can use that to track my purchases. Forever. I raised this with the developers and they said "oh yeah we know about that and we'll fix it later". (Edit: sounds like this security problem was eventually fixed months or years later.) What on earth? People want to build the future of the web on this junk pile? Holy cow this is a house of cards. [1] https://github.com/ChainSafe/web3.js/issues/1178 https://github.com/ChainSafe/web3.js/issues/1178
- judge2020 5y agoIf I’m not mistaken, MetaMask (fixed this via) prompts that ask you to allow a website to view your addresses now. At least, I see those anytime I need to connect to a site now.
- jeroenhd 5y agoSuch functionality would still be very useful for criminals, because they can decide to focus their efforts on devices where the prompt exists in the first place, even if the user says no. That way your coin stealer doesn't get onto exploited machines where it's useless, so it'll take longer for AV to pick it up.
- Tenoke 5y agoIt'd be a pretty obvious red flag when a site with no 'web3' functionality opens the prompt.
- mbesto 5y ago> Crypto wallets often miss crucial controls around password and authentication flow: password policy, rotation Oof. NIST 101: https://pages.nist.gov/800-63-FAQ/#q-b05 https://pages.nist.gov/800-63-FAQ/#q-b05 Hard for me to take the rest of this article seriously when one misses something so basic.
- vngzs 5y agoIt's not obviously explicit (to me, at least) whether they are discussing rotation of passwords specifically or wallet-related authentication flows more generally. In Bitcoin wallets, for instance, multi-signature wallets do not allow rotation of the signing keys. If one of your singing keys gets owned, you need to burn the wallet.
- dikei 5y agoAlso in the pages that he links, they explicitly warn against password rotation. >> https://github.com/OWASP/ASVS/blob/master/4.0/en/0x11-V2-Authentication.md#v23-authenticator-lifecycle https://github.com/OWASP/ASVS/blob/master/4.0/en/0x11-V2-Aut... >> Note: Passwords are not to have a maximum lifetime or be subject to password rotation. Passwords should be checked for being breached, not regularly replaced.
- kronin 5y agoAgreed. It's sad how many security engineers still push outdated processes, when there is significant research which indicates _why_ it actually _reduces_ security.
- hncurious 5y agoWhy was rotation ever a recommendation? Did it used to make sense?
- fragmede 5y agoSecurity models from the dawn of computing, which operated on assumptions that no longer hold true, including passwords being stored in plaintext in /etc/passwd, then later, crypted in /etc/shadow. If the /etc/passwd file were stolen, then you'd have everyone's password. By forcing the password to be changed every X days, then even if an attacker got a copy of /etc/passwd, those passwords would not work after N days.
- dboreham 5y agoAll of this is well known in the blockchain community/industry. For the most part, the people developing these products either were, or had access to security engineers, but the product was developed to meet a specification that didn't permit high security. e.g. "it has to run in any web browser and not use a hardware token". Perhaps the missing part here is user education, although presumably most high value coin balances were going to be held at Coinbase et al, or belong to prudent users who know not to use a browser wallet for their life savings.
- paulpauper 5y agoSeems like so many ways to mess up, so many points of failure. Traditional banking works because failure is not as unforgiving and permeant as it is with crypto.
- trembonator 5y agoHow will Ledger protect against quantum attacks?
- Bluecobra 5y ago>User is a single point of failure I’m surprised this blog post didn’t address brute force methods. People can be coerced into revealing a password to unlock their wallet. It’s a point to consider and will continue to happen. https://www.independent.co.uk/life-style/gadgets-and-tech/news/bitcoin-robbery-torture-cryptocurrency-netherlands-a8807986.html?amp https://www.independent.co.uk/life-style/gadgets-and-tech/ne... https://www.newsweek.com/bitcoin-millionaire-zaryn-dentzel-beaten-fortune-stolen-masked-robbery-cryptocurrency-1645550?amp=1 https://www.newsweek.com/bitcoin-millionaire-zaryn-dentzel-b... https://cointelegraph.com/news/armed-robbers-steal-450k-from-hong-kong-crypto-trader/amp https://cointelegraph.com/news/armed-robbers-steal-450k-from... https://www.cnbc.com/amp/2015/06/05/new-york-city-man-robbed-at-gunpoint-for-bitcoin.html https://www.cnbc.com/amp/2015/06/05/new-york-city-man-robbed...
- TheGigaChad 5y agoThe security engineers are certified idiots. Id rather not care about what they have to say.
- k__ 5y agoIn my experience wallets are pretty secure. The problems often lie with smart contracts What is bad with wallets right now, is UX, especially on mobile. I hope smart contract wallets can fix these UX issues, but I'm not so happy about potential security risks they bring.
- Sneha_1 5y agoit means my money is in risk