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

Denial of service via large UID packets #60

Open
ygrek opened this issue Jun 14, 2018 · 4 comments
Open

Denial of service via large UID packets #60

ygrek opened this issue Jun 14, 2018 · 4 comments
Labels
bug Something isn't working critical

Comments

@ygrek
Copy link
Member

ygrek commented Jun 14, 2018

Original report by Yegor Timoshenko (Bitbucket: yegortimoshenko, GitHub: yegortimoshenko).


Screenshot from 2018-06-14 17-07-17.png

To reproduce, follow instructions in #57, but replace single ./sks-forge-uid with:

while true; do ./sks-forge-uid pgp.mit.edu -rand < /tmp/key.gpg; done

Also, if you've previously fetched sks-tools repo, make sure you're on the latest revision (git pull origin master).

I don't have server logs, but Kristian does (see 16:55 to 17:10 UTC).

It takes very little time to cause server to be inaccessible (5-10 min), and only requires the command above running on a single computer.

I've tested this with multiple SKS servers, to make sure this is not specific to some particular instance :-(

@ygrek
Copy link
Member Author

ygrek commented Jun 16, 2018

Original comment by Andrew Gallagher (Bitbucket: andrewg_com, ).


I've tested this with multiple SKS servers, to make sure this is not specific to some particular instance :-(

So you freely admit to running a premeditated DoS experiment against multiple public internet servers...?

@ygrek
Copy link
Member Author

ygrek commented Jun 16, 2018

Original comment by Yegor Timoshenko (Bitbucket: yegortimoshenko, GitHub: yegortimoshenko).


Yes. Why not? I was trying to get a key to 1GB size, which would be another DoS vulnerability, but SKS keyservers I've tried this on became unresponsive at about 30MB. I was not sure if that was caused by my actions at first. My intent here is to cause keyservers to become more resilient to both spoofing (#41) and DoS (#57, #60).

@ygrek
Copy link
Member Author

ygrek commented Jun 17, 2018

Original comment by Hendrik Visage (Bitbucket: hvisage, GitHub: hvisage).


@yegortimoshenko the issue is more that you didn't warn the operators, as we could've provided you with test systems where we could've observed it in a more controlled environment, instead of effectively killing several servers ;(

@ygrek
Copy link
Member Author

ygrek commented Jun 17, 2018

Original comment by Yegor Timoshenko (Bitbucket: yegortimoshenko, GitHub: yegortimoshenko).


@hvisage I'm sorry, I didn't expect that (I was trying to make a key too big to realistically fetch, not to take down servers).

Are there systems I can test other experiments on?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working critical
Projects
None yet
Development

No branches or pull requests

1 participant