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

The attack is known, not novel #2

Closed
karalabe opened this issue Nov 1, 2021 · 9 comments
Closed

The attack is known, not novel #2

karalabe opened this issue Nov 1, 2021 · 9 comments

Comments

@karalabe
Copy link

karalabe commented Nov 1, 2021

Reported 5 years ago on the Go repository golang/go#20209

@nickboucher
Copy link
Owner

Thank you for sharing this link!

We will leave this comment here on GitHub for reference to include with the history of this technique.

The attacks proposed in Trojan Source represent a much larger attack surface than string literals in Go, which as of the time of publication are still vulnerable in our tests. The commenting-out and early return techniques described in the paper also represent novel attack vectors.

@karalabe
Copy link
Author

karalabe commented Nov 1, 2021

I believe the correct thing to do is to rephrase your paper as a variation of the above attack. Given that my attack was published 5 years ago, it seems dishonest of you to claim ownership of the idea.

@karalabe
Copy link
Author

karalabe commented Nov 1, 2021

FYI, the attack I linked above used string literals as the container for the attack payload, but they modified the structure of the program, the same way that your early return or commenting out idea does. Your described attacks are nothing more than slight variations to program structure modifications that my attack already did.

@bahorn
Copy link

bahorn commented Nov 1, 2021

Just to add to this, I'm aware of quite a few examples in prior work, but not sure who originated the idea however. Goes back to 2011 at least, but wouldn't be surprised if it went back even further.

"Bug 339146 - [BiDi] Misleading display of bidirectional strings when RLO, LRO or PDF is used" (2011) by im3w1l is the earliest reference I found.

I think the main issue is the paper heavily implies you came up with the idea of using unicode tricks to backdoor code (e.g first sentence of the abstract), but that is clearly not true.

Edit: Seems Eclipse set the bug as private. I'd presume that's because people started commenting / contacting people involved in a decade old issue. Please don't do that, you aren't helping.

@G2G2G2G
Copy link

G2G2G2G commented Nov 1, 2021

Yea I've heard of this years ago as well lmao

@JohnXLivingston
Copy link

I confirm that I heard of similar attacks 10 years ago.
There can also be attacks through server logs. With special crafted requests, you can for example generate Apache or Nginx logs where you can hide commands "underneath" the IP. So if an admin tries to copy/paste the IP in a terminal, for example for a whois, you can run commands.

@G2G2G2G
Copy link

G2G2G2G commented Nov 2, 2021

@JohnXLivingston lmao that's a good one

@djhashh
Copy link

djhashh commented Nov 4, 2021

I confirm that I heard of similar attacks 10 years ago. There can also be attacks through server logs. With special crafted requests, you can for example generate Apache or Nginx logs where you can hide commands "underneath" the IP. So if an admin tries to copy/paste the IP in a terminal, for example for a whois, you can run commands.

whoa. how?

@JohnXLivingston
Copy link

whoa. how?

Same technique: you use unicode special characters to change the write direction (for example in your user agent).

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

6 participants