GNU Savannah Site Compromised 99
Trailrunner7 writes "A site belonging to the Savannah GNU free software archive was attacked recently, leading to a compromise of encrypted passwords and enabling the attackers to access restricted project material. The compromise was the result of a SQL injection attack against the savannah.gnu.org site within the last couple of days and the site is still offline now. A notice on the site says that the group has finished the process of restoring all of the data from a clean backup and bringing up access to some resources, but is still in the middle of adjusting its security settings."
Suggestion (Score:2, Funny)
Re: (Score:2)
You mean Windows Server 2008 R2?
Re: (Score:2)
They should use Windows 7. They could avoid this kind of attack.
Not when Diasposa's security code [slashdot.org] is available ;-)
Re: (Score:2)
Encrypted passwords? (Score:4, Insightful)
I mean if they encrypted them weakly or used SHA1 or MD5, that's about as bad as going plaintext. I'd expect far better from them.
Re: (Score:2)
They didn't hash the passwords with something decent like SHA2? Really?
I mean if they encrypted them weakly or used SHA1 or MD5, that's about as bad as going plaintext. I'd expect far better from them.
According to the announcement, they were apparently brute-forced, so nothing to do with the hash-function used.
Re: (Score:3, Informative)
SHA1 is highly vulnerable to brute force through optimized attacks. That's why NIST (among others) are recommending moving away from SHA1. Ditto for MD5.
Re:Encrypted passwords? (Score:4, Insightful)
Holy shit, they're actually seriously considering MD5. This is embarrassing.
Guys, there's a reason [cert.org] for why I'm saying that MD5 is a Very Bad Idea.
Re: (Score:2, Informative)
Holy shit, they're actually seriously considering MD5. This is embarrassing.
Guys, there's a reason [cert.org] for why I'm saying that MD5 is a Very Bad Idea.
That's straight MD5. Password hashes, using PHK@FreeBSD's algorithm, is a bit more complicated (e.g., a thousand iterations with a salt):
http://en.wikipedia.org/wiki/Crypt_(Unix)#MD5-based_scheme
Most Linux distributions still use the MD5-based hash for their shadow files. Of course using a new algorithm is probably better, but we're (hopefully) not talking about straight MD5, but rather the crypt/PHK variant.
Re: (Score:3, Informative)
Various Unixes, including Linux distributions like RHEL / CentOS include a modern algorithm inspired by PHK that uses the later SHA family algorithms, and has variable rounds.
But keep in mind that despite all the tutting from know-nothings on Slashdot who react to keywords like 'MD5' even the original DES-based Crypt remains remarkably secure. While a Windows password or MD5 rainbow table is something you can get from any Torrent site, crypt tables still don't exist. While Windows brute forcers can chew thr
Re: (Score:3)
It's actually not *that* bad. You can't actually remotely crack MD5 passwords.. or even plain text since you can't access them.
When you can access them it usually means the system is already fully compromised (not in all cases, but in most).
Then, you'd better not be using the same password or key for several systems (Arnold S. says: big mistake.)
Most don't even know, that you can capture plain text passwords from the SSH server when using password authentication, even with nice SHA2 passwords behind SSH. (u
Re: (Score:2)
Most don't even know, that you can capture plain text passwords from the SSH server when using password authentication
can you back up that claim ?
I think he meant in the case where the server is already compromised...
Re: (Score:2)
You'll find dozen of matches and you won't know which one is the actual password if it's not dictionary based.
Just pick any match with characters enterable on the keyboard.
Using MD5 is however MUCH worse when used as a security checksum: file checksum, certificate checksum etc. Because there's no salting, and there's no need to find the *original* data here.
Neither is there for passwords. As long as the MD5 matches, and is enterable on the keyboard, it would work on that system. Think about it...
So, it's really only a matter of protecting other, unrelated systems, on the off chance that the user uses the same password elsewhere (there, only the real password picked by the user would work, as they would probably have a different algorithm and/or a different salt).
Re: (Score:2)
You'll find dozen of matches and you won't know which one is the actual password if it's not dictionary based.
Just pick any match with characters enterable on the keyboard.
Which doesn't help finding the real password, if you have access to the hashes, you have most likely already compromised that system. So the point of being able to login is kinda moot. I did specify that.
Getting a file to match a checksum or a certificate to match a checksum is much more dangerous.
You can upload a trojan and make it appear legitimate. You can forge a fake SSL certificate and make it appear legitimate.
Re: (Score:2)
Re: (Score:2)
They did specify they want to use shadow with MD5 here tho (and those are certainly salted). Not that it's all that advisable, it's just not as horrible as some maybe think.
Nice bullets M. Lupin ! :)
Re: (Score:2)
Holy shit, they're actually seriously considering MD5. This is embarrassing.
Why are they limiting themselves to crypt-compatible hashes? Why not just move passwords out of applications/RDMBS to LDAP (OpenLDAP already has sha-2) or Kerberos? And if they are considering crypt-md5 an improvement, what *were* they using?
Re: (Score:3, Interesting)
That's if you want to intelligently brute force a SHA1 hash. If however the test material is short (e.g., passwords), then it doesn't matter if you use SHA1, SHA2, whatever. Just do a simple dictionary attack first to see if you can get easy passwords.
Re: (Score:2)
Actually this depends on what context "brute force" is used in.
In the traditional definition of a brute force attack:
Hashing is used to store the password so you can't read it simply by looking at the table data. When entering your password to log in, it's hashed then compared against the hash in the database.
How easy a password is to brute force depends 100% on how good the password is. Like he said, it doesn't matter what algorithm is used to hash the passwords for purposes of a brute force attack you are
Re: (Score:3, Informative)
A salt + a good hash will prevent against bruteforcing. Encryption will allow the attacker to get the original password back which can be used on other websites etc. Any web site worth it's salt (pun unintended) hashes the passwords instead of encrypting them. Cmon, this is Web Security 101 stuff.
Re: (Score:1)
The threat is reduced, to be sure, but it is not prevented, if I am to take your post literally.
Also, excellent point on encryption.
Re: (Score:2)
Salts protect against rainbow tables, not brute forcing. The salt is stored in plaintext with the crypted value (eg $type$salt$hash for the Modular Crypt Format) "Good" hashes are just those where someone hasn't yet figured out a way to calculate that "X#4!./,V3zm" has the same hash that "password" does, and ideally that take a relatively long time to calculate in order to slow down brute force attacks where someone throws a dictionary at the hash and sees if any matches pop out.
Protection against brute f
Re: (Score:3, Insightful)
So basically most Hotmail accounts have more secure usernames (a la 'HotAunt67') than passwords ('susan').
Re: (Score:1)
A salt + a good hash will prevent against bruteforcing.
No, it won't. A whitelist of ip addresses helps, adjusting the timing of acceptance helps, but eventually, brute force works.
Re:Encrypted passwords? (Score:4, Insightful)
Add to that that gcc is hosted. Compromise gcc's source and you get access to everything you ever want. Obligatory Ken Thompson compiler trojan article link http://cm.bell-labs.com/who/ken/trust.html#fig6 [bell-labs.com]
The actual bug I planted in the compiler would match code in the UNIX "login" command. The replacement code would miscompile the login command so that it would accept either the intended encrypted password or a particular known password. Thus if this code were installed in binary and the binary were used to compile the login command, I could log into that system as any user.
Such blatant code would not go undetected for long. Even the most casual perusal of the source of the C compiler would raise suspicions.
FIGURE 7
The final step is represented in Figure 7. This simply adds a second Trojan horse to the one that already exists. The second pattern is aimed at the C compiler. The replacement code is a Stage I self-reproducing program that inserts both Trojan horses into the compiler. This requires a learning phase as in the Stage II example. First we compile the modified source with the normal C compiler to produce a bugged binary. We install this binary as the official C. We can now remove the bugs from the source of the compiler and the new binary will reinsert the bugs whenever it is compiled. Of course, the login command will remain bugged with no trace in source anywhere.
Moral
The moral is obvious. You can't trust code that you did not totally create yourself. (Especially code from companies that employ people like me.) No amount of source-level verification or scrutiny will protect you from using untrusted code. In demonstrating the possibility of this kind of attack, I picked on the C compiler. I could have picked on any program-handling program such as an assembler, a loader, or even hardware microcode. As the level of program gets lower, these bugs will be harder and harder to detect.
Re: (Score:2)
Umm isn't the git mirror read only and is populated with code from Savannah? In that case you don't need a sha1 collision. Since the attacker had control of the server, he could mask the edits and make a change to the code in the database directly without being logged.
Re:Encrypted passwords? (Score:5, Informative)
Add to that that gcc is hosted.
GCC's code respositories are hosted on gcc.gnu.org, a machine also known as sourceware.org, which is owned and operated by Redhat and provides hosting for basically the entire GNU toolchain (automake, autoconf, binutils, GCC, gdb, glibc, and libstdc++)[1].
This attack therefore would not be able to modify the GCC sources.
[1] Notably not present are GNU's bison, libtool, m4 and make.
Re: (Score:1, Redundant)
Little Bobby tables!
Re: (Score:2)
Re: (Score:1)
So? (Score:1)
Re: (Score:2)
An attacker could insert an exploit into GNU software, which would be executed downstream by users who expect Savannah software to be safe to use.
Re: (Score:1)
Why not just retcon it as a WikiLeaks release and turn this event into a PR opportunity?
Re:So? (Score:5, Insightful)
"enabling the attackers to access restricted project material."
So? I though it was all about free & open source. Therefore, what restricted material?
Personal contact info for copyright assignees beyond the legally required minimum?
Private GPG keys?
Just making some good guesses.
Comment removed (Score:5, Funny)
Re: (Score:2, Interesting)
Does it look to you like this GNU code [gnu.org] was written by a wise old neckbeard? It's 780 lines of unreadable crap. This [bell-labs.com] is what the code of a wise old neckbeard looks like.
Re: (Score:1)
Your AT&T example will fail on systems with interruptible system calls: it has no mechanism for distinguishing EINTR from any other failure mode.
On Plan 9, that may be a valid assumption. Under SuS, SVR4, and POSIX, it's not.
Re: (Score:3, Funny)
I thought Linux was always 100% secure, completely unhackable, because they're the admins are experts and the software has built in security! You mean ... it's not true?
Maybe this one runs HURD.
Re: (Score:1)
Re:But Linux is TEH SAFEZORZ! (Score:4, Informative)
It was a GNU project it was running on HURD not Linux.
Umm.. this wasn't a LINUX issue it was an SQL injection attack on a website. Are just trying to troll or do you really not know the difference?
Re: (Score:2)
It was a GNU project it was running on HURD not Linux.
Umm.. this wasn't a LINUX issue it was an SQL injection attack on a website. Are just trying to troll or do you really not know the difference?
This is definitely a LINUX issue because GNU utilities(like gcc) are bundled with almost every Linux distro. If someone were able to slip a trojan into gcc or any other GNU util, it's game over for every Linux installation. http://cm.bell-labs.com/who/ken/trust.html#fig6 [bell-labs.com]
You're the one who's shortsighted to think that it's isolated to HURD.
Re: (Score:3)
You're the one who's shortsighted to think that it's isolated to HURD.
I think GP was pointing out [at least] two things:
They don't appear to think it's isolated to HURD. I interpreted the statement "this wasn't a LINUX issue" as meaning Linux isn't a necessary precondition for attacks of this nature.
Re: (Score:2)
Was it running HURD? I was actually kidding about that.
An SQL injection attack is so many levels removed from the OS that it isn't funny. Frankly it is OS independent in the extreme.
Re: (Score:2)
Are you seriously trying to claim that GNU run their production servers on Hurd?
Come on, they do some crazy stuff but they're not THAT crazy.
Re: (Score:2)
ahhh.. No but no one else seemed to get it... The rest of the comment was serious but yea I fear I aimed too high with the Hurd joke.
But you know from the description of the error I think that GNU really does to start running Hurd on the Savannah project...
Nothing new (Score:3, Informative)
Red Hat/Fedora servers had been hacked compromising the private signing key http://www.pcworld.com/businesscenter/article/150212/hackers_crack_into_red_hat.html [pcworld.com]
Ubuntu repositories hacked http://www.pcworld.com/businesscenter/article/150212/hackers_crack_into_red_hat.html [pcworld.com]
And don't forget the Debian SSL key debacle....
Re: (Score:2)
This is pointless moderator abuse. Simply pointing out other significant compromises related to Open Source does not make one a troll. Even if he did post the same link twice.
The Debian OpenSSL debacle was probably the most far-reaching compromise affecting developer signing keys, commercial certificate authorities, server certificates and keys, user ssh keys.
Re: (Score:1)
They didn't hack Linux. They hacked the web application running on it. Even the best operating system cannot protect you from that.
You don't complain about the car's safety if you manage to cut yourself with a knife while inside, do you?
Re: (Score:2)
How do you know a trojan wasn't slipped into the various software source hosted by the Savannah server like GCC, the GNU utilities etc.?
You don't complain about the car's safety if you manage to cut yourself with a knife while inside, do you?
No, but you would complain if the people responsible for ensuring the safety of the car run red lights themselves and put others at risk. That's what happened here. The hardcore admins themselves didn't follow basic security procedures like hashing passwords and protecting against injection attacks.
Re: (Score:2)
Didn't you read the part in the article summery where they said that have restored everything from known good backups?
How you know is by a hash file. You hash the files, store copies of the hash on systems other then the one the file it on, then you compare the hash of the current file with the known good file. If they match, they are good. If they don't, they aren't good
Re: (Score:1)
I know you are just trolling, but even cursory glance at the article summery would tell you that this wasn't a linux problem, it was an exploit to a service running on the linux. Linux doesn't Nativity process SQL code until some SQL server service is installed and running. I know it's difficult to understand that an SQL server is different from an operating system when your a windows point and click jockey but you can look it up if you need to learn more about it.
Re: (Score:1, Insightful)
Re:Sequel (Score:4, Funny)
Well, we know how the author pronounces SQL now; I have always preferred "an SQL injection"---that is, "S.Q.L."
What, you don't mentally pronounce all acronyms? Well, now, aren't you just a SOB.
Re: (Score:2)
Re: (Score:2)
Let's see... (Score:1, Offtopic)
nope.
UPDATE USERS SET PASSWORD = '1234' WHERE NAME = %
nope
Dang, this Leenux stuff is way more secure than I thought!
Re: (Score:2)
Sheesh! You make a joke about sql injection in a thread about a site getting compromised by a sql injection and it is offtopic?
Re: (Score:2)
Not the first time. (Score:5, Interesting)
GNU Savannah was hacked in 2003 also. http://news.cnet.com/2100-7344-5117271.html [cnet.com]
"We expect to take measures in the aftermath of the Savannah incident," said Eben Moglen, general counsel for the Free Software Foundation, which maintains the GNU Project, a source of freely available software for Unix and Linux systems. Among the measures, the project leaders will force developers to digitally sign any code they submit, and they plan to introduce additional features to freely available source-code maintenance systems--the best known being the Concurrent Versions System, or CVS--to check developers' digital signatures before accepting changes.
"We believe (adding digital signatures) is the single most useful technical change to tighten these systems to assure the integrity of the code they contain," Moglen said.
Does anyone know if the changes described here came to be? Did they help at all in this attack?
-molo
Re: (Score:3, Interesting)
They changed CVS and other version control systems hosted on savannah to require ssh key based logon for write access. It's not quite what is quoted, but a big step in that direction that was immediately achievable without waiting for the changes in CVS and other programs. They did change the FTP upload process to require GPG signatures for all uploads.
However the web based system that was hacked this time around has a password based login, and allows users to change their authorized SSH keys. It also allow
Brace yourself for the wikileaks post! (Score:2)
This can only be the precursor to the wikileaks post where they blow the lid off the GNU world by releasing a torrent of source code! Run for the hills!
Re: (Score:2, Interesting)
Nah, wikileaks only seems interested in harming the US government and the US economy.. That would seem to be beneath them as it could potentially help.
Re: (Score:2)
SQL Injection attack (Score:2, Redundant)
If you have a sign on your back that says "kick me", and people kick you, it isn't an attack. It is a response to an invitation.
A net-facing program which just blindly passes whatever crap is input into another programming language (sql, in this case) is simply stupid, broken, and wearing a "kick me" sign.
If my net facing program just bundled user input into 'cmd', and did "system(cmd)"; you would hardly consider that a "shell injection attack". It is simply really bad software. No need for fancy term
I thought GNU was about being open (Score:2)
"GNU free software archive" and "access restricted project material"
huh?
Hacker was 15 years old (Score:1)
Reconstruction of the incident (Score:1)