Forgot your password?
typodupeerror
GNU is Not Unix Security News

GNU Savannah Site Compromised 99

Posted by CmdrTaco
from the it's-gnu/secure dept.
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."
This discussion has been archived. No new comments can be posted.

GNU Savannah Site Compromised

Comments Filter:
  • by gcnaddict (841664) on Tuesday November 30, 2010 @06:05PM (#34395922)
    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.
    • by macshit (157376)

      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)

        by gcnaddict (841664)
        You kidding? That has absolutely everything to do with the hash function used!

        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.
        • by gcnaddict (841664) on Tuesday November 30, 2010 @06:27PM (#34396242)

          [ ] Implement crypt-md5 support (like /etc/shadow, strong and LDAP-compatible) hashes, or possibly crypt-sha2

          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)

            by Anonymous Coward

            [ ] Implement crypt-md5 support (like /etc/shadow, strong and LDAP-compatible) hashes, or possibly crypt-sha2

            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)

              by Anonymous Coward

              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

          • 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

            • 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).

              • 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.

                • There are situations where the hashes may be accessible without full compromise of the target system:
                  • Old Unix systems had hashes in /etc/passwd, which must be publicly accessible (nowadays, they use /etc/shadow, but this has not always been the case)
                  • NIS makes hashes available for NIS clients, meaning that in sufficiently old versions, anybody on the local net can get them
                  • Many routers include hashes in their config dumps (which may be accessible by users without full privilege)
                  • Depending on how Apache is co
                  • 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 ! :)

          • [ ] Implement crypt-md5 support (like /etc/shadow, strong and LDAP-compatible) hashes, or possibly crypt-sha2

            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)

          by tlhIngan (30335)

          You kidding? That has absolutely everything to do with the hash function used!

          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.

          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.

        • by rgviza (1303161)

          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)

        by recoiledsnake (879048)

        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.

        • by falzer (224563)
          A different salt for each row in a password file prevents attacking all the hashes at the same time. Offline attacks are still possible with individual salted hashes, no matter the hash.

          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.
        • by Qzukk (229616)

          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)

            by tsm_sf (545316)
            Protection against brute forcing is a password that isn't in any dictionary attack database, or a l33t variant thereof.

            So basically most Hotmail accounts have more secure usernames (a la 'HotAunt67') than passwords ('susan').
        • 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.

    • by recoiledsnake (879048) on Tuesday November 30, 2010 @06:14PM (#34396048)

      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.

      • by Tacvek (948259) on Tuesday November 30, 2010 @06:44PM (#34396462) Journal

        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)

        by /dev/trash (182850)

        Little Bobby tables!

      • by kailoran (887304)
        Obligatory David A. Wheeler's "Fully Countering Trusting Trust" piece link: http://www.dwheeler.com/trusting-trust/ [dwheeler.com]
  • "enabling the attackers to access restricted project material." So? I though it was all about free & open source. Therefore, what restricted material?
    • 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:So? (Score:5, Insightful)

      by vlm (69642) on Tuesday November 30, 2010 @06:35PM (#34396350)

      "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.

  • Obilgatory (Score:5, Funny)

    by hairyfeet (841228) <bassbeast1968@NOsPAM.gmail.com> on Tuesday November 30, 2010 @06:08PM (#34395960) Journal
    You'd think a site like GNU would have better coders that wouldn't fall for a Bobby Drop Tables [xkcd.com] gag. I thought the GNU was full of wise old neckbeards?
    • Re: (Score:2, Interesting)

      by Anonymous Coward

      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.

      • by greed (112493)

        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.

  • Let's see... (Score:1, Offtopic)

    by filesiteguy (695431)
    DROP ALL

    nope.

    UPDATE USERS SET PASSWORD = '1234' WHERE NAME = %

    nope

    Dang, this Leenux stuff is way more secure than I thought!
    • I got modded offtopic?

      Sheesh! You make a joke about sql injection in a thread about a site getting compromised by a sql injection and it is offtopic? /shakes head...
  • Not the first time. (Score:5, Interesting)

    by molo (94384) on Tuesday November 30, 2010 @06:45PM (#34396470) Journal

    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)

      by jrumney (197329)

      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

  • 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)

      by sumdumass (711423)

      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.

      • That's actually very funny, but I suspect that you'll be modded as troll or flamebait before it's all over. :-/ Shame too, because it's the kind of humor we need around here. :)
  • by mevets (322601)

    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

  • "GNU free software archive" and "access restricted project material"

    huh?

  • Hacker was 15 years old. Yes it's true. You can see his blog post about this fact http://vaska94.net/2010/11/27/gnu-defaced/ [vaska94.net]
  • Free Software Foundation website published a detailed chronology of the incident [fsf.org].

"Never give in. Never give in. Never. Never. Never." -- Winston Churchill

Working...