I see your point, and I generally agree.
However:
Ability for users to know when the software is being updated
This is relatively useless, unless you (the user) can actually verify the legitimacy of the code, which you can't. You may verify provenance, but that doesn't tell you anything.
Ability for users to verify that they’re running the same software as other people
Nobody checks this really. I cannot think of a single example where I have done this or where I would be able to do this.
Ability for users to download the software without identifying themselves
This is technically feasible, but obviously not in the context of actual usage, so I agree.
That said, you are forgetting that:
When you use credible end-to-end encryption software, that is exactly what you are doing: you are getting the encryption software from someone other (literally anyone would be better) than the entity who’s job it is to store your ciphertext.
I think you underestimate the whole supply chain of the software that uses your PGP key. The CLI tool, the libraries. All it takes is one malicious commit in any of that, and you are toast (provided you install that version). The only protection you have is the chance that someone will notice the malicious commit(s). There are examples of similar attacks where nobody noticed.
Think about what an attacker needs to circumvent the encryption between two proton users: they need one protonmail employee. Done.
This might be an overstatement. We don't know what internal security measures they have. Even basic compliance require separation of duty, which means a single person cannot carry out such a process end-to-end (replacing code). They might also have internal monitoring etc., it's not so trivial.
Now think about what an attacker needs to do the same to users of some PGP implementation and a normal email host that doesn’t sell snakeoil:
I agree, but there is a problem: you will never in a million years get the average person to use PGP. The whole tooling is messed up, even for technical people. This is a fact, and while I agree that the security it offers is better, the average person who is not trying to protect themselves from nation states is much better off with Proton than with Gmail, since that's the realistic alternative. Also, even in the legal cases where Proton did disclose the data they had (anti-"terrorism" cases), they did not disclose any email content and what they had was minimal. I think if you are a target of nation state adversaries and you are thinking to communicate via Email, you are probably doomed.
Of course, they might also try to compromise the victim’s endpoint in various other ways
To be fair, this is much, much, much, much easier that compromising Proton or getting to one of the employees. It's also a much more reasonable attack to compromise multiple communication channels compared to only email.
Ultimately I think that you calling these product snake-oil is a misrepresentation of the reality. For the risk model of the average person, Proton (and similar) does deliver what it promises. The fact that sophisticated attackers might be able to compromise the provider and compromise the encryption is not a reason to invalidate the product tout court, in my opinion. Especially because neither me nor you know exactly the security controls they have internally to protect the integrity of that code.
What you describe it's an attack, not a feature though. A broken promise would be if they intentionally did so, which is something we have no proof at all (and would also be pretty stupid for them). They have no way to prevent the attack you mention completely because that's inherent to the fact that the same entity that serves the software handles the ciphertext. There is absolutely nothing they could do to improve their stance on this "promise".
My stance is that you need to some extent to suspend the judgement. They have an internal security team which likely considers this scenario one of the (main) ways in which their encryption can be broken. They might have extremely tight processes around that, which makes the scenario described potentially very unlikely. It might also be they have done nothing, but I can't know either way. This fact generates a risk which different people will estimate in different quantity. Your stance seems to be pretty binary instead, while not everyone has the same risk appetite that Snowden has.
They are HIPAA compliant (which I am not very familiar with, since I am not in the healthcare sector), but separation of duties is a basic principle really that even companies without any certification adopt. I see HIPAA does have provisions in terms of access-control, but I don't know how they comply. Either way, this does not make it "impossible" in any case, but it's also not granted that a single employee could completely break their product.
I understand. That would still require some level of persistence, and to compromise what I am sure is plenty of replicas for the particular service (I doubt it's predictable which one will serve which user).
Well, if an attacker has the ability to install the certificate on the device (which requires
root
), then even the PGP encryption is probably toast (I can likely phish the user password with a fake-prompt and then read the private key). Either case, they usestrict-transport-security
headers and they are on a preload list, so DNS poisoning and the like won't work, the browser will refuse to load the page and won't even prompt the user to accept the risk.Absolutely true, but then again, this is true about pretty much anybody. I work in the financial sector and I can assure you the malicious employees can do a lot of damage if they wanted and that's why the malicious insider is a threat right at the top of the list for every security department. As I said before, a malicious commit to an OSS repo for a library/tool that implements your e2ee and you have the same attack vector. Also, they might as well just coerce you if they can, rather than an employee of a company.
Apologies, but this is might be simply a bubble you are in. I know one person who does, and I live in a tech bubble. PGP is incredibly annoying and the web of trust is not scalable. This without even talking about the technical challenges (the tooling sucks). Proton has 100million users alone (sure, many duplicates) and will never be mainstream, but I would be surprised if more than a million people use PGP (I have no numbers) "vanilla". My perception is also anecdotal, but PGP being borderline unusable is almost a meme.
Yeah, perhaps. But then again, those people are probably not those who have this kind of attack in their risk model.
Because their service is top-notch and I don't consider the eventuality of them being compromised a lie in their statements. In my mind, the theoretical capability to do something does not mean that something is done or easy to do, especially because - again - I have no idea of what other (internal) control they have implemented to prevent and control that particular vector. As far as we know, to update the frontend code employees might need to access some specific server that requires ad-hoc approval and the supervision of 3 people, plus a manual signoff, and after that the signature of the code (say, container image) is verified before locking the system again. I just made it up of course, but I think they have plenty of people in-house that figured out this risk too.
I think that web-based e2ee can be more quickly broken if the provider is compromised/there is a malicious insider and the provider does not have an appropriate level of security mitigations/controls, as it does not require user interaction. This is really the substantial difference compared to non-web e2ee, for whatever is worth. So yeah, it's not snake-oil in my view, it's an inherent property of web services and the best a web service can do. Actually, if you use Proton bridge you are in the same exact situation than if you were to use your favorite PGP cli tool or plugin, so there is also this.
I wouldn't consider snake-oil something because it can be compromised, because snake-oil selling implies the bad faith of the seller, which in case of Proton I have no reason to think is there.