13 ms·
Bitwarden second security audit report
- austhrow743 6y agoCan someone with security industry knowledge comment on how much weight we should give this? Are these sorts of things something you can just buy and they'll go out of their way to give you a favourable report because you're the client? Is Insight Risk Consulting known and credible?
- tmikaeld 6y agoDoes it matter? They found something worth fixing, despite the project being open source wit bug bounties and previous audits being made.
- dspillett 6y agoThat has nothing to do with it being open source. In close-source systems I've seen penetration testers find security issues that have been present for years despite annual audits during that time. This is one of the reasons why our services get at least annual penetration testing, even the legacy ones that won't have changed since the last test. It is not a bad idea to cycle through providers too, on the off chance that some may use different tooling that exposes certain flaws more readily than the techniques used by others. Being open source just increases the chance of a problem being spotted if there are sufficiently clue-up people looking. Being open does not at all guarantee that any given problem will be spotted during the normal course of work. Security issues can be dues to combinations of flaws in widely spaced code so even if working directly on one part you might not realise there is an issue in conjunction with another part. That is why it is necessary to have tests/audits like this, for oth open and closed source systems, where someone is task specifically to look for security problems. It isn't right to criticise Bitwarden for being tested and issues being found (unless those issues are systemic and/or just plain stupid, or you believe the project's response to resolve them is too slow or incomplete). Instead concern should be aimed at security related products that are not regularly subject to external audit at all. Not having any issues because you have not checked for them is a much greater worry!
- DEADBEEFC0FFEE 6y agoI think that was the point of the previous comment. That, despite the software being open-source and therefore more likely to have bugs spotted, and despite having a bug bounty program, the auditing company found a moderate, therefore they must be thorough.
- austhrow743 6y agoIf you were selling bogus report results for clients you'd still include a non-major thing or two. Gives a better impression of legitimacy than full marks across the board.
- dsissitka 6y ago> ...therefore they must be thorough. I wonder if that's the case here. I don't work in that space but the issues they found seem like they might be low hanging fruit. I've pasted them below for anyone that's curious. > The Cross Origin Resource Sharing (CORS) configuration on Bitwarden server APIs allows for any clientorigin to access its endpoints. > The Content Security Policy (CSP) configuration on the Bitwarden web vault application allows for'unsafe-inline' CSS styles to execute.
- dspillett 6y agoThat is why it is important the reports from security audits include what was looked for and at least a little detail about how. If they were appropriately thorough and all they found were low-hanging fruit, then that is a good thing. Of course a detailed report is no absolute guarantee: we once had a test done that I think was more than shoddy: there was not nearly enough activity on the web server over the testing period for the amount of automated work they claimed to have done, and I spotted an issue a couple of weeks later that at least one of their documented processes really should have picked up on. That company is no longer in business thankfully.
- dspillett 6y agoI recognise Insight (going by the name & logo) as one that is on at least one of our larger clients' (we work on systems to manage regulatory compliance, primarily with investment banks) PSLs for application penetration testing. Assuming this is the same company and not some small-fry crook who is trying to steal their thunder (I've not looked in any depth beyond "I know that logo"), that would suggest that the report is not of the "pay to pass" variety. There would be some noise if a company on the banks' security provider PSLs were found to be offering pay-to-pass security audits. Such companies sometimes offer a range of penetration testing options from relatively superficial to aggressive, in-depth, and detailed, so you'd need to read the report (I will when I have more time as we are considering Bitwarden for our credential management) to see if what it is saying is sufficiently reassuring.
- hannob 6y ago> Are these sorts of things something you can just buy and they'll go out of their way to give you a favourable report because you're the client? That happens. I can't comment on Insight Risk Consulting, as I don't know that company. They write they had a previous audit from Cure53. That's a well known and very skilled security company and I would expect that you can't buy an "please ignore as many vulns as possible" report from them.
- morrbo 6y agoThis was an external infrastructure test which carries no real weight for the app itself. It just makes sure that stupid stuff like ssh open to the internet, no public CMS available etc. Hasn't happened. That being said bitwarden do do more in depth security audits but this particular audit doesn't really mean too much.
- user5994461 6y agoThe report itself was automatically generated by one of the popular scanning tools. It's 1 hour to run the automated scan and 1 day to format the PDF nicely for the customer. The thing is half worthless, verifying that the CDN has TLS and raising warnings about obscure HTTP/CORS headers. But occasionally it can find some really bad misconfiguration or library with a critical vulnerability in dire need of an upgrade. (Of course they would never publish a report finding issues like that).
- trekrich 6y agoThis is loads better than lastpass.
- sawaruna 6y agoGood to see. Aside from the Apple ecosystem's password management, Bitwarden is what I've been using.
- colordrops 6y agoSame. They are one of the few open source products with decent support across multiple platforms.
- _def 6y agoAnd finally pretty usable on mobile, too! I have waited for this and just migrated from 1password (which was very easy, despite I lost my structure... I wish there were an open password database standard which password managers would use)
- inquisitiveio 6y agoEnpass is another alternative with good cross device and platform support. Under the covers they use SQLCipher[1] which I’m guessing you could build your own interface for. [1] https://www.zetetic.net/sqlcipher/ https://www.zetetic.net/sqlcipher/
- gentleman11 6y agoWhat does it cost to hire somebody reputable to perform an audit like this? Its something I want to look into for one of my own projects, but I have no frame of reference for what is a reasonable price for a simple full stack app (way simpler than bitwarden for sure)
- Narkov 6y agoUnfortunately, it varies wildly. Some firms can perform fully automated remote scans for a few hundred $$$ and it can move all the way up to 100+ page reports with manual pen testing for literally hundreds of thousands of dollars. What you want or need will fit somewhere in between.
- nix23 6y agoJust ask them. Cure53 is one of the most reputable one's, and remember always make white-box testing, you want to test your system, NOT the security researcher.
- dabeeeenster 6y agoWe (https://www.bullet-train.io/ https://www.bullet-train.io/) recently had a third party perform a pretty in depth security audit - cost was low to mid 4 figure Euro. Result was a ~20 page report - I felt it struck the right balance of cost / effectiveness.
- morrbo 6y agoPentester for 10 odd years: usually for an external test you would scope it at X days depending on the number of IPs etc. And it should note that an external test really doesn't find much. External is usually £750/day for 1-2 days testing and one reporting. Internal testing (ie. Auditing a domain and all computers attached) is about the same price, maybe a bit more, and takes a bit longer usually. A build review is hardening the server itself, takes about a day and a day reporting. App testing is totally dependent on the app itself (this is where people have a crack at an actual installed web application usually using user accounts etc. And runs a bit more - £800+ per day usually. Specialist stuff (hardware testing, code review (what I used to do), social engineering, hardcore app testing (stuff like auditing bespoke network devices, high frequency trading apps, etc. Etc.)) is typically 1-1.2k a day. You can get it cheaper but a lot of it - for better or for worse - really comes down to the skill of the individual consultant. You can pretty much halve these prices, but then you'd end up getting stuff outsourced to India and it wouldn't be any good. Depends if you care about the security of your product or just want a box ticked for some arbitrary compliance and want it done as cheap as possible. I haven't been a tester/consultant for a few years now, but the prices hold up. That being said one development which has happened since I've left the industry is the advent of crowd sourced pentesting. I know a lot of friends who moonlight with these things and are very good at their jobs, and the rates are lower. The name crowd strike comes to mind, but I'm not 100% sure if that was the company or not. I know a lot of good UK based companies (if it's a web app/remote then the physical testers location doesn't matter) if you needed.
- codeknight11 6y agoTangential question: What password manager do you guys use?
- philliphaydon 6y agoBitWarden. I moved from 1Password to BitWarden... 2 years ago now? (2 years 2 months) Oh the experience was SO much nicer than 1Password. And the iOS app WORKED!
- baal80spam 6y agoKeePass.
- Papric0re 6y agoThis! Just sync your keepass file with your NextCloud (or Google Drive or whatever) and you're good to go. Has a mobile App and there are probably Browser Add-Ons available. Costs nothing and works like a charm.
- worble 6y agoSurprised to not see more KeePass users on HN, I thought it'd be rather popular in a crowd where hosting it yourself isn't such a large hurdle.
- justusthane 6y agoI switched from KeePass to Bitwarden. KeePass worked great, but I decided it just wasn't worth it, as well as being potentially riskier, to manage it myself. For example, if you use a third-party KeePass app on your phone, besides having to figure out a secure way to sync it, you also now have to trust the developer of the phone app as well. Larger attack surface.
- Brajeshwar 6y ago1Password, https://1password.com https://1password.com (Personal, Family) I'd definitely introduce and use Bitwarden for teams.
- aloisdg 6y ago
- sneak 6y agohttps://github.com/bitwarden/jslib/issues/52 https://github.com/bitwarden/jslib/issues/52 I am astounded to see this missing from the report. Apparently the report was just their external API configuration or something?
- ramimac 6y agoAccording to Insight's attestation this was a 5 day test focusing on: 1. External vulnerability assessment of the Bitwarden computing systems and web applications 2.External penetration testing of the Bitwarden computing systems and web applications
- FabHK 6y agoIt wasn't in the scope of this audit, but it's still somewhat concerning... PBKDF2 with SHA-256 (a super fast hash with hardware support) as a key derivation function (which should be slow and difficult and hard to do in hardware)? That doesn't sound right. The answer provided (cross platform compatibility) doesn't sound satisfying. Was this discussed with the prior audit? EDIT to add: Here's the 2018 "cryptographically right answer" on password hashing ( https://latacora.singles/2018/04/03/cryptographic-right-answers.html https://latacora.singles/2018/04/03/cryptographic-right-answ... ): Password handling Percival, 2009: scrypt or PBKDF2. Ptacek, 2015: In order of preference, use scrypt, bcrypt, and then if nothing else is available PBKDF2. Latacora, 2018: In order of preference, use scrypt, argon2, bcrypt, and then if nothing else is available PBKDF2. You care about this if: you accept passwords from users or, anywhere in your system, have human-intelligible secret keys. But, seriously: you can throw a dart at a wall to pick one of these. Technically, argon2 and scrypt are materially better than bcrypt, which is much better than PBKDF2. In practice, it mostly matters that you use a real secure password hash, and not as much which one you use. Don’t build elaborate password-hash-agility schemes. Avoid: SHA-3, naked SHA-2, SHA-1, MD5. EDIT to UPDATE: Bitwarden has commented (about an hour ago) that they'll fix this! Cool. https://community.bitwarden.com/t/switch-to-argon2/350/23 https://community.bitwarden.com/t/switch-to-argon2/350/23 https://github.com/bitwarden/jslib/issues/52 https://github.com/bitwarden/jslib/issues/52
- raesene9 6y agoIt's good to see companies making reports public to provide some confidence that they're having reviews done, but in this case the scoping of this job seems a little odd, not sure if that's a bad reporting template or something else. Last page of the PDF indicates that they just did an external VA and pentest, but looking at their product set , I'd have expected (at least) a review of the web, desktop and mobile apps and the browser plugins for it to be a "thorough security assessment and penetration test" (as quoted in the blog). Not to say external reviews have no value, but they're only part of what's needed.
- raziel2p 6y agoThe only PDF linked in the blogpost is "Bitwarden Network Security Assessment Report", and it does indeed only cover network related topics. Their earlier report from 2018 covers lots of web/desktop application assessments: https://cdn.bitwarden.com/misc/Bitwarden%20Security%20Assessment%20Report.pdf https://cdn.bitwarden.com/misc/Bitwarden%20Security%20Assess... So I wonder if they just forgot to mention that this second audit report doesn't cover that, or if there are more reports coming.
- hendersoon 6y agoThey did a code audit in 2018, and this is a network/pentest audit. They're two different things, that's all, and both are valuable.
- sillysaurusx 6y agoHeh. You’re proposing around... well, ${a lot of money} worth of work. When I was a pentester, I once ran the numbers and concluded that each pen test must have cost some absurd amount of money for us to be profitable. And they do, because it’s effective. But I wanted to point out a likely possibility: they wanted to do what you were saying, and concluded a million dollars spent on a pentest was beyond reach. a review of the web, desktop and mobile apps and the browser plugins If a million dollars sounds like an overestimate, you’re right to be skeptical. But $270k seems entirely reasonable; that’s $30k per app, for 9 apps. So it might be tempting to feel like “it’s just a browser plugin though. How can the cost be anywhere comparable?” Because pentests are billed in days, and a day on a plugin is a day on an app.
- developuh 6y agoWhich password manager(s) would you guys suggest for a team of 10-15?
- mikece 6y agoIf you don't need to share passwords: KeePassXC. If you do need to have shared passwords (dev/stage/prod servers and services) why not Bitwarden for Business? https://bitwarden.com/#organizations https://bitwarden.com/#organizations
- developuh 6y agoI certainly need shared passwords. I will look at Bitwarden for Business. Thanks.
- schoolornot 6y agoDepends on what you need. Do all people need access to all passwords? Do you need to know which passwords a certain person accessed so you don't have to rotate everything when they leave?
- developuh 6y agoIt would be nice to allow access to only some passwords. And would be nice to be able to rotate passwords.
- louisstow 6y agoI love the concept of making this public but I feel like the audit wasn't very thorough if all it suggested was two security headers that a free online scanner could have picked up.
- jszymborski 6y agoThese audits are reassuring, but I'm hoping someone can speak to a question I have... I know that encryption primitives are almost never the breaking point in systems like this, but I wonder in situations like this where breaches would allow adversaries to attempt offline attacks whether they are particularly pertinent. Specifically, while the number of iterations on the PBKDF2 SHA-256 function are high (100,001 on the client), PBKDF2 always felt to me like a footgun when compared to scrypt or argon2 which don't have as many (any?) insecure modes of operation. The website states that AES is used, but is it in an authenticated mode (e.g. GCM ?) Finally, their website states that they use "popular and reputable crypto libraries" and that they don't roll their own crypto, but the libraries they use are awfully low-level. Something like libsodium or FilSottile's age would be something I'd be more comfortable with when considering a hosted method. In the meantime, I think I'll keep using KeePass2 (w/ Argon2 and ChaCha20) and synch'd with SyncThing to minimise my attack surface.
- warkdarrior 6y agoTheir 2018 audit of the application code may answer your questions: https://bitwarden.com/blog/post/third-party-security-audit/ https://bitwarden.com/blog/post/third-party-security-audit/
- codysc 6y agoI don't see PBKDF2 as a full footgun, but maybe as the minimally still-acceptable method. When I was building my system for E2E messaging (pritact.com) I started out with PBKDF2 but kept mentally revisiting the iteration count before biting the bullet and switching to Argon2. Actually it looks like Argon2 is being discussed as of just a couple hours ago https://community.bitwarden.com/t/switch-to-argon2/350/24 https://community.bitwarden.com/t/switch-to-argon2/350/24
- jszymborski 6y agoGreat to see it! It certainly speaks to the positive nature of BitWarden being open-source.
- munchbunny 6y ago
- Ciantic 6y agoI'd like to see a Open Source password vault which relies on open hardware storage for passwords. Clients only get rate-limited amount of passwords when the hardware is prompted to give, e.g. from physical button confirmation on the hardware, finger print. Point being that clients don't hold the passwords, just the usernames. Problem with Bitwarden etc. is that if your computer or one of the devices gets compromised, then all of your passwords are lost at the same time. With hardware based vault you can mitigate this somewhat, with rate-limiting, physical prompt etc. I have 1600 passwords, I use perhaps 10 different per week. If I get compromised I loose 1600 passwords, but with hardware based system I potentially loose just the 10 I used within the last week.
- indolering 6y agoThrow enough money at Bitwarden and I am sure they would be happy to build out those capabilities. They really don't have extra funds for cool R&D like that.