IRC Networks Under Systematic Attack From Governments
quakenet.org
quakenet.org
[1] http://blog.freenode.net/2014/02/turbulence/
[2] http://blog.freenode.net/2013/05/the-good-the-bad-and-the-ug...
To put it another way - when a body is found in the woods, you don't instantly jump to the conclusion that it must have been government drones because the government is using drones to kill people in Yemen.
A few years ago, irc.anonops.com was (one of) the primary hangouts, if memory serves. I'm not sure if that's still the case or not.
The decentralized network of servers allows an IRC network to be more resilient than many other systems.
Often however IRC servers are either a hub or leaf. A hub accepts no user traffic directly and its IP address does not need to be publicly known. That makes it difficult to split the network since only the leaf addresses are known to an attacker.
As for the leaf servers, you can prioritize traffic between the leaf and hub over the traffic between the leaf and its users. You can also have them travel over different peers (most of the servers in the network I have experience with are multi-homed). Usually DoS attacks then manifest themselves as a large number of users timing out from their leaf server. Many IRC clients will attempt to connect to other known leaf servers when they cannot reconnect to the one that dropped them, meaning they get back onto a healthy leaf.
An attacker would then need to be able to saturate all (or at least most) of the leaf servers to take down the network. In my experience IRC servers run on networks that far exceed IRC's requirements and taking down all leafs at once would be a tall order for all but the largest botnets.
There have also been anycast IRC implementations which I don't have experience with, but I imagine they would mitigate most simple DoS attacks.
they're prime for DDoS attacks and many attacks are hard to avoid with scrubbing.
We get attacked for anything, for, enforcing a no malicious behaviour rule, for "harbouring an enemy" of a certain group.
these kids are fickle, and IRC networks are ripe for abuse.
As if governments could care less...
The article presents arguments that I've heard over and over again in the months since the Snowden leaks began. The argument essentially boils down to "we can't achieve 100% security even with SSL, so SSL is useless" and is completely wrong. It also misses the point.
The argument in the blog post is that, paraphrasing, since Carol can be MITM'd without her knowledge, everything is compromised.
It shouldn't be necessary to utter the phrase "defense in depth" here on HN as I would hope that everyone here is familiar with it. As I commented just six days ago:
> I have locks on my doors but that doesn't mean I don't have a pistol next to my bed.
Let me say that I'm not familiar with QuakeNet. (For the last several years I've only hung out on Freenode and two private IRC networks -- and I use SSL when connecting to each of them.) Freenode, however, has "NickServ" and the two private networks I use have similar functionality.
At the very least, SSL protects my credentials from being "sniffed" when I authenticate to NickServ. Anyone else on IRC can verify that the user with the nickname "jlgaddis" is authenticated and is really me. Since sensitive information is sometimes discussed, that authentication as well as the encryption is critical. Without SSL, it would be much easier to sniff my credentials, authenticate to NickServ using them, and impersonate me on the networks, possibly gaining access to sensitive information that would otherwise not be possible.
IRC over SSL is not pointless. If QuakeNet can't understand that and implement basic security precautions, I don't think they have much room to complain about being attacked.
[0]: https://www.quakenet.org/articles/99-trust-is-not-transitive...
with that out of the way: you've missed the main point, and that is that it's really really hard (I would use the word impossible but I'm not 100% certain) to secure multiuser chat.
the sheer number of places that could be compromised is so high, that offering a 'secure connection' (which users associate with actually secure online commerce) is dangerously misleading.
we understand the threat model very well, and we recommend that you shouldn't trust us to secure your communications, and suggest something like fish instead.
We are not asking the Quakenet staff to "fix" multiuser chat encryption - leave that to the protocol developers, researchers and people working on different experimental protocols to try to "fix".
But, I still don't understand how much you refuse to step into reality and face that SSL is nice to have on a modern IRC network - we agree that it's not perfect, but do allow your users to understand the risk and let them take the necessary step to enhance the privacy of their communication.
Right now you are just hindering it where every other network is way ahead of you in this regard...
Your users are not dumb. I, as a user, want to be able to decide whether or not I connect, to a network, over SSL, where I assume that the network is able to interconnect its servers over SSL encrypted links, then I can make the decision if I want to add an extra layer of security by using software like FiSH where I can share secrets with my closets friends using, say, a pre-shared key.
Please, stop assuming that us users are idiots.
I've been part of running a large IRC network for more than a decade: I have seen tens of thousands of users fall for various scams, get their passwords stolen, hand their passwords out willingly, connect through 'free bouncers' that perform operations as them, get DDoS'ed, install 'pingbooster.exe', you name it.
I wouldn't call them stupid, just mostly unaware or naive, and ultimately if we are going to attempt to protect their communications them we need to take their behaviour into account.
There are also operational concerns with deploying TLS: OpenSSL is up there in the top 10 list of 'software with the most security vulnerabilities', and if our servers get hacked our users really aren't any better off.
We have a some plans (inspired by Chrome's architecture) to work around this huge issue (restarting a webserver has no impact, but you can't do this with an ircd), but it all takes time and we're volunteers.
Ultimately I am a pragmatist, I will do things that I think are necessary and that I believe can work.
Interesting. This suggests you're storing all passwords in plain, is that true?
we've thought long and hard about this too, and don't consider it to be a large threat, as the only two people with access to the box[1] could silently replace the AUTH code and log all the passwords anyway, rendering any secured password store irrelevant.
[1]: it's not even known outside the core where the box lives, and it's also essentially completely isolated from the internet at large.
Deleted comment
the only point of entry onto the machine is via the auth service, so if you get in that way you have access to it.
it's not a matter of injecting code, it's literally one line to run spin up gdb attached to the process, and then one/two more more lines inside gdb to put a breakpoint on the line and print the variables on the stack when it's hit.
add in the fact that something like 95% of our users reconnect every 24 hours, so you get the vast majority very quickly.
yes, if the admins go rogue then we're screwed, but the same is true nearly always as they're the guys that set up the defences in the first place.
What year is this?
Add on a layer of encryption (unique key per password, keys in a separate encrypted table) and you're way better off than you are now.
Also, since MD5 can be collided, consider SSL for the login process.
In real CRAM-MD5 this is not true. It uses HMAC-MD5 of the key directly. To be able to calculate that, you need to do
MD5((key XOR opad) || ...)
Which means that you either store "key XOR opad" (not meaningfully different from storing key), or an intermediate result from MD5, which is tricky.Quakenet's authentication mechanisms, except for LEGACY-MD5, call MD5, SHA1 and SHA256 before using it as the key, so they could store just each of those different hashes (unsalted). The LEGACY-MD5 mechanism does require the plain text password to be known by the server.
mIRC and irssi can handle it through scripts.
Contrast SASL, which is supported in every client I've used: https://freenode.net/sasl/
Bot-net owners can be disrupted if they can't access the channels their compromised machines are connecting to.
I don't see what your comment adds to this discussion other then trying to justify their actions. I can use your logic for a few other examples:
Most terrorist enter the country by air travel, we need better airport screening.
Some people who cross the boarder illegally don't do so to find a better life, but to run drugs in america. We need better board protection and patrol.
Email is very useful to set up worm command and control networks, we should monitor or DDoS public email servers.
Your logic can be used to justify basically anything. Its a logically fallacy, the Strawman argument.
The state not only has a monopoly on violence, but also apparently on hacktivism.
And now, for another caricature of British victim speak:
"Pardon me, Mr. Assailant, would you be a good chap and ask your right hand to stop beating me thus about the face? It's rather painful and I fear it might ruin my good humor."
the other way to do it would be like freenode: do it quickly without understanding the risks... they used the same SSL cert for every ircd, then they got hacked, and with no PFS, all their past SSL'ed IRC is now effectively in the clear.
we are now actively working on the problem for server links, but ultimately believe that having ssl for client connections at this moment in time adds little value: https://www.quakenet.org/articles/99-trust-is-not-transitive...
This is essentially the line of reasoning I'm seeing employed in this blog post.
SSL is valuable on IRC solely for letting you authorize with NickServ. If you are at a developer conference on the conference wifi, you would be foolish to connect to IRC sans-SSL and authorize with NickServ, especially if you owned any channels. If you blindly accept an unverified cert, that's your problem, but don't take SSL away from me because some people don't understand certificates.
I break into any discussion I see on IRC where someone posts a link to this article as an argument against SSL on IRC simply because it's not an argument against SSL.
Of course, it takes two to tango. We, the client authors, have started enhancing our SSL support and so should the network operators that hosts the servers on the larger networks.
Also, I think we agree on how Freenode stores the same certificate on every sever is... not ideal...
I'd love to be able to connect to a QuakeNet IRC server which is SSL/TLS protected to help guard against anyone sniffing on the local network, or along the route to the specific IRC server.
Yes, there are problems to solve. Clients need to validate the servers certificate properly. Users need to understand that whatever they send may still be logged by the network, other users on the channel, etc.
Saying that IRC doesn't need SSL is like saying that other IM applications such as Skype don't need it either. Anything which helps prevent eavesdropping should be done.
At the very least, SSL helps protects a user's credentials when using such services.
I'm not saying that a network should require all of its users to use SSL, but I do think that it's should be up to the user to decide whether or not her or they wants to encrypt the connection between themselves and the IRC server and let it be up to the channel operator to decide whether or not she's willing to accept clients, that connect over insecure connections, in her channel.
It's purely because it hasn't been prioritised until recently, but it sounds like it's getting some attention now :-)
Also, the DANE support in Irssi was announced in September last year and I have only heard of one network where some of its servers have adopted to this technology. Even though there is only one client that currently supports DANE+DNSSEC verification, we still need the (big) networks to start preparing for the support of it, and help us reaching the point where we can secure our user connections even better :-)
Having SSL on IRC, even without DANE+DNSSEC, is still better than having no SSL at all.
I tried running a silc server alongside my ircd for a while, but it never even reached a weeks worth of uptime without crashing (no matter if debian package, self compiled stable or devel, or some minor messing with the source).
Perhaps if a non-C/C++ implementation comes along..
What was missing, I think, was lack of client development and adoption. There was default CLI client which was a weird fork of Irssi, then there was plugin for Irssi, and not much else.
There were of course few small client projects, but few of them got past early alpha stage.
At this point, I think they only hire psychopaths.
http://blogs.csoonline.com/other/2979/irc-network-calls-inve...
After all the NSA has the capability to do very deep going traffic manipulation as proven with Quantum Insert, so why not use it here?
Also, I bet my behind that the NSA has epxloits for the most popular IRCd's, so that only tor/vpn are a real problem for them (and besides, even these connections can be shot with TCP FIN injections).
(I think some networks even partially hide your IP by default anyway)
Sorry but no, that's not the way they do it....
* Though through inter-agency collaboration, they tip off other agencies when they have something...
With that out of the way, they're targeting the former in-order to make it impossible for people to come together and organise privately and anonymously around subversive ideas.
The specifics of targeting IRC are probably tied to the efficiency of the protocol which allows very cheap hardware and minimal bandwidth to the extent that non-complying private foreigners may provide a free forum the government can't control.
I've phrased it with "probably"s on purpose; every once in a while a teenager will manage to escalate to the "true threat" level. However I think it is likely such a teen will either A: tend to show up by other, more practical measures or B: slip through a crack regardless; it doesn't justify harassing relatively innocent and frankly naive users, for what is probably little more than the purpose of padding numbers to make your enforcement look good by going for cheap, easy targets, regardless of whether that's good for anybody else.
Aren't we getting to the point where we more or less must assume that these kind of things happens? I mean, taking into account all the news we have seen during the past, err, year :-)
Not that i've really ever used quakenet myself.
However, the solution is to make it so if you want to use Tor on an existing that you instead connect via a hidden service address, allowing the IRCd to mark you as a Tor user and then allow channels to stem abuse.
I am also on some blacklist, and while I can still connect to most channels, some don't work anymore. Because of this blacklist I cannot join #help, which is the channel I must connect to if I want to ask them anything, such as which blacklist I'm on. Finally I got a friend of mine to ask them for me and a #help operator /queried me (private chat), but they won't disclose which blacklists they use. Meanwhile I haven't been able to find any, and if I'm on something, I wouldn't know what for.
So that's my experience with Quakenet, censorship and non-disclosure of blacklists. Then they publish this and reach #1 on Hackernews? Come on. Bullshit. They don't give a flying fuck about freedom of speech.
This is because when we're getting attacked we want to force the attackers to go to the trouble of trying to connect, rather than being able to filter their set of available client nodes to the ones not blacklisted before attempting to connect. Makes attacks more obvious and makes attackers work harder.
Free, volunteer run services sometimes have to make decisions that prioritise being able to deal with problems within the available resources over the well being of the occasional individual user who ends up being caught as a false positive.
After all, if the network just got taken down entirely, it can't transmit any speech at all.
OTOH a lot of people do naughty things through tor (e.g. mass flooding) and get caught automatically by the network services, resulting in a large %age of tor hosts being banned for short periods.
Then explain to me why my client was reporting disconnects for months after the week I hosted that relay? I was unable to connect to any Quakenet server.
Also I'm not a Tor gateway if I'm running an internal Tor relay. There is no need to change my hostname.
And can you also tell me which blacklists you check user's IPs against? As I've commented elsewhere, I was on some sort of blacklist that prevented me from entering #help, but someone from #help (that a friend of mine talked to) said it could not be disclosed which blacklist that was. Note that this happened before any Tor relay activities.
we don't do anything explicitly to relays.
we get the tor ips from tor itself, and filter out hosts that have a connection policy that would result in them not being able to connect.
we do however source and combine multiple proxy lists, which I suspect you ended up on.
I seem to remember you were chatting to me, and I said something along the lines of 'try again tomorrow and if it's still broken I'll sort it out manually', and you didn't come back!
Thanks for replying to this anyway.
Note that I have no particular insight into this specific case, but have opered on irc.perl.org for some years now (and was freenode staff for a while) and am working based on a >95% correlation with previous similar cases that I've dealt with myself.
IRC clients typically also support DCC, though I am unaware of what the encryption options there are. There are are other forms of encrypted "IMing" however, if you want secure peer-to-peer text chat you should probably look outside what irssi has to offer.
You can use FiSH, but that's really mostly for one to one communication in which both parties are trusted. I suppose you could use it for group chat, but it would become harder and harder the more people that were added (what happens if you trust all of them, but two of them don't trust each other and so on). There are plenty of good options for encrypting real time communication.
Encrypting group chat is a much more challenging issue and one could argue it goes against the whole spirit of IRC.
Specifically, this line:
> as well as wholesale attacks on the IRC servers hosting the network.
What is this?
edit: I'm receiving disagreement downvotes. What's up?
Where is the due process? There isn't any. Please tell me which actual crimes that some Anons have committed whose consequences are so critical that it justifies the abandonment of longstanding principles of fair governance, and military action to sabotage IRC operations in order to halt the occurrence of said crimes.
It ends up fitting well into a battlefield metaphor - you don't try every single enemy soldier before you shoot them on the battlefield.
The argument can be had whether or not this is indeed a battlefield, but to cry, "due process" won't get much of a reaction out of the folks who are doing this (GCHQ/NSA).
We do, in fact. But I can agree that we rightly don't allow imminent threats of grievous injury or disaster to proceed unchecked. Please, show me what grievous injuries and disasters have been or would have been wrought by anon via IRC. PS Defacing the DOJ website and sending black faxes to US attorneys doesn't count.
>It ends up fitting well into a battlefield metaphor - you don't try every single enemy soldier before you shoot them on the battlefield.
Except this isn't a battlefield and we're not at war.
>The argument can be had whether or not this is indeed a battlefield, but to cry, "due process" won't get much of a reaction out of the folks who are doing this (GCHQ/NSA).
Then they need to go. They have no function in a free/democratic society. If we must keep them, then they cannot have any judicial influence.
Snowden himself has said that spy agencies have a place, when they're doing targeted operations. Maybe you should go convince him?
There isn't any. That's why this is a politically motivated attack on speech and little else. If you can't see the fascism from here, maybe you're standing too close.
The DEA raided the known drug den, but since they hadn't conducted court trials first, it could only be because the drug dealers espoused anti establishment political messages!
>It is not up for debate that a lot of illegal shit is being done and taken credit for by anonymous members of Anon.
Most of which are mere nuisances, and none of which involve any immediate danger which might justify such action.
> That is the reason for the actions, not because of Anon's politics.
Okay, then why doesn't GCHQ intercede when they overhear someone planning a burglary, or notice them planning to murder some average plebe?
Exactly. These attacks by GCHQ on innocent members of the public are entirely politically motivated. If due-process is to be done away with "because terrorism" then I'm afraid this leaves a lot of doors wide open for civilians to denounce their government, and rise up in revolution - because without such checks and balances on power, we live in a totalitarian world where those in power, are the only ones with power.
Power, to the people!