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

Multiple problematic cryprographic issues #880

Open
JavaDerg opened this issue Jan 16, 2025 · 7 comments
Open

Multiple problematic cryprographic issues #880

JavaDerg opened this issue Jan 16, 2025 · 7 comments

Comments

@JavaDerg
Copy link

JavaDerg commented Jan 16, 2025

Hi!

I've come across this article recently outlining some problematic cryptographic issues in Session.
https://soatok.blog/2025/01/14/dont-use-session-signal-fork/

As none of these issues (as far as I could find) have been addressed in the issues on this repository, I decided to post this link here.

I am not the author of the blog post!

@SWORDIntel
Copy link

Well you've kicked a can of worms haven't you? I will say quite bluntly that I have heard and it is my firm belief that these backdoors are intentional by a nation state. Probably shouldn't be saying this but fuck it you only live once.

This is my understanding that from a friend's research into making custom firmware for his router based on the LokiNet that he discovered the back doors in that and somehow that transferred over to Session both by the same government

I have heard corroborating data from other sources.

@JavaDerg JavaDerg changed the title Multible problematic cryprographic issues Multiple problematic cryprographic issues Jan 16, 2025
@JavaDerg
Copy link
Author

JavaDerg commented Jan 16, 2025

Well you've kicked a can of worms haven't you? I will say quite bluntly that I have heard and it is my firm belief that these backdoors are intentional by a nation state. Probably shouldn't be saying this but fuck it you only live once.

This is my understanding that from a friend's research into making custom firmware for his router based on the LokiNet that he discovered the back doors in that and somehow that transferred over to Session both by the same government

I have heard corroborating data from other sources.

I kinda doubt that, backdoor are typically crafted with more care and less obvious.
The issue with reduced Ed25519 security to me feels more like a lack of understanding than anything.

@SWORDIntel
Copy link

Its possible both are true,i've also heard from a reliable source that session fully complies with this nation state's subpeonas every time

Having looked through it it seems like it is a mix of simply very sloppy work with a sprinkle of weaponized malicious incompetence , theres not really any excuse for such poor implenentations and so many of them

I will be eager to see a reply ,even if i am ENTIRELY somehow off base(im not) the fact of the matter is any semi competent threat actor just with the information in the article can fully compromise session.

Im going to stick with the very safe totally not turbofedded telegram :)

@KeeJef
Copy link
Collaborator

KeeJef commented Jan 17, 2025

I've written up a full response to the security researchers blog here , the author is either plainly incorrect or misleading on all of the raised security issues.

As for the other claims from @SWORDIntel , that Session has intentionally introduced backdoors on behalf of nation states, this is false, if you have evidence of such a backdoor i would encourage you to make a public disclosure and warn people about it. I certainly don't want people using Session if its backdoored. Further to this, Session devs and contributors don't have any privileged access to the Session network, which means if a government asks for information via a subpoena, there isn't any information to give. This is inline with every transparency report published by the OPTF and STF.

@SWORDIntel
Copy link

Proof, I mean, if I did, I still wouldn't be posting it, you know, because it's not something that needs to get out there. I just... If there was a back door, which maybe there should be, then I would just like it to be hidden better.

I mean I'm sorry if I came off hostile, you know how this world is. I mean at the end of the day criminals do need to do what they need to do sometimes and we have to just bear with it but also they need to think they're safe and I mean it's a complicated balance. So you're saying categorically that the session is absolutely safe and secure with no way for any government body to access it whether they want it to or not?

I do not know or believe it's intentional backdoors. I do believe it's likely backdoors that are present that are being taken advantage of. So you really are sure that every single issue brought up in this article is just a non-starter and comes from a poor understanding of their code.

@JavaDerg
Copy link
Author

I was already planing to write a response, but Soatok cut me short on that.
https://soatok.blog/2025/01/20/session-round-2/

TL;DR

  • As asked by the response by session, Soatok has come forward with a working POC in regard to the reduced security on the Ed25519 keys. Due to the lack of forward security, this also means that there is no trivial way of mitigation, and being able to crack one of the keys would be catastrophic.
  • (As I also was planing to point out) Soatok pointed out the misleading code in AESGCM.kt, which by function overloading expects a byte array for symmetric encryption, or a string as public key for X25519 wrapping. This is not great, one would expect “AESGCM” to, well, do AES-GCM, differentiation of both key kinds by type may be reasonable if they were properly encapsulated, but using a byte array vs. a string is not that.
    After skimming over the code base in libsession the crypto code seems to be scattered all over the place, at least I could not find a general place to review crypto related code.

Soatok also pointed out a lot more things, so please read the article, but these are IMO the most pressing points.

@KeeJef
Copy link
Collaborator

KeeJef commented Jan 24, 2025

We have now updated our original blog post with a response to the PoC provided by the security researcher here https://getsession.org/blog/a-response-to-recent-claims-about-sessions-security-architecture . In short

  • The approach implemented in the PoC by the security researcher does not achieve any reduction in security for individual Session accounts. If attacking a single account, the proposed approach offers no advantage versus a traditional brute force attack against a 128 bit key, something which is impossible given current computing technology.
  • The security researchers PoC for a multi-target attack performs worse than a common benchmark algorithm for this type of attack, called a linear search.
  • When calculating a worst-case scenario for a multi-target attack on Session using linear search, we find that on average it would cost tens of thousands of times more power than the entire planet consumes in one year to compromize even a single random Session account out of 4 Billion + accounts—even when the parameters for such an attack are set very favorably for the attacker.
  • Given this Session Accounts remain secure against both specific and targeted attacks and multi-target or batch attacks.

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

3 participants