Stories
Slash Boxes
Comments

News for nerds, stuff that matters

DJB Announces 44 Security Holes In *nix Software

Posted by timothy on Wed Dec 15, 2004 06:15 PM
from the extra-credit dept.
generationxyu writes "D. J. Bernstein, better known as DJB, has announced the discovery of 44 security holes that were found by students in his course MCS 494: Unix Security Holes this fall at the University of Illinois at Chicago. Vulnerable programs of note include: CUPS, NASM, mpg123, MPlayer, xine-lib, and numerous others. Copies of the notification emails are here. The homework for the course was to find and exploit 10 previously undiscovered security holes in currently deployed Unix software. In a class of 25, 44 security holes seems a bit low. Most of the class failed. I was credited with bsb2ppm (actually libbsb) and jpegtoavi. After 300 hours of work and an A average on the exams, I expect to fail the course."
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.

DJB Announces 44 Security Holes In *nix Software 25 Comments More | Login /

 Full
 Abbreviated
 Hidden
More | Login
Keybindings Beta
Q W E
A S D
Loading ... Please wait.
  • Don't just take this lying down, IMO (Score:5, Interesting)

    by Skyshadow (508) * on Wednesday December 15 2004, @06:17PM (#11098112) Homepage
    Now that's a tough assignment. 44 holes found is an average of less than two a person -- it's possible the *entire* class failed, not just most. At best, probably one person completed the assignment.

    As much as I respect profs who are willing to push you to do neat things (finding 44 holes in UNIX and it's standard set of programs is nothing to sneeze at), if you really do fail the class I'd take this straight to the administration. They're letting you down by allowing a professor to fail an entire class, especially since the grades are based on something that doesn't really reflect your understanding of the subject.

    I've always had a problem with this sort of behavior in college profs -- it gets away from what I consider to be the basic nature of higher education. As a student, I'm the consumer. I'm paying the professor to teach me what he/she knows and then to rate how well I've absorbed that information at the end of the class. Assignments such as this one or classes which are set up as "cut down classes" just aren't consistant with that.

    It works the same way on the other end; I had a few professors in college who would cancel class on a fairly routine basis. Hey, I enjoy the odd day off as much as anyone else, but I'm paying a lot of money based on the assumption that I'm going to be getting something in return -- if I were to subscribe to a magazine and then only get 2/3rds of the issues, do you thing I'd be within my rights to object? Hell, the overly easy classes were bad enough; I actually had a few that graded based mostly on attendance. Yeah, getting the most for my tuition dollar there.

    Anyhow, I know there are folks out there who are going to disagree with my view of a University education, and that's fine, but regardless I would really encourage you not to accept this lying down. I know as a student it often seems like you're powerless, but if 25 of you (and your parents -- I know you're an adult, but schools listen to parents) get together and make yourselves heard, you'll probably end up with a satisfactory outcome.

    • by jdray (645332) * on Wednesday December 15 2004, @06:21PM (#11098151) Homepage Journal
      I wouldn't get too worked up about it until it happens. I had several college profs who started out the terms saying how they were strict about assignments getting turned in, and how you could fail if you didn't do this or that; I rarely found their bite to be as bad as their bark. Mostly they want to put the fear of them as a deity figure in you, then be gracious later. If they get overwhelmed, they've set a good baseline to fall back on.
      [ Parent ]
    • by Marxist Hacker 42 (638312) * <seebert@aracnet.com> on Wednesday December 15 2004, @06:22PM (#11098168) Homepage Journal
      Not disagreeing- but if I was this student, I'd get a few buddies together from the class and point out to the prof:
      1. This is the first term this class has been taught.
      2. Nobody did well with the homework if the entire class of 25 students only found 44 holes.
      3. Even those who were among the best students in the class, getting A's on all the exams, only found 2-3 holes.

      Therefore the grades should be assigned to fit a bell curve based mainly on test scores and minimizing points earned for the homework.
      [ Parent ]
    • by Saint Stephen (19450) on Wednesday December 15 2004, @06:28PM (#11098217) Homepage Journal
      My algorithms class was like this. I aced every test but didn't complete the Travelling Salesman program successfully. I got an "incomplete" and had to come to summer school. Boy was I mad at the time but I see now why they did it. All or nothing.
      [ Parent ]
      • by Marxist Hacker 42 (638312) * <seebert@aracnet.com> on Wednesday December 15 2004, @06:36PM (#11098304) Homepage Journal
        Perhaps- I didn't think of this until reading your post- that's exactly what the professor was trying to teach. Though it would be a damned awfull way to do it, I've got to admit that 95% of the projects I've worked on since college have followed that general path. Work obscenely hard- get a product out there- get laid off when the marketing people spend tons on booze to cover their poor marketing skills and drive the company into the ground. Yep- sounds just like this assignment.
        [ Parent ]
      • by Skyshadow (508) * on Wednesday December 15 2004, @06:46PM (#11098393) Homepage
        I don't have any problem with the concept of an entire class failing a course. Why you think that a professor failing his entire class constitutes a failure on the part of the university is a mystery to me: would you be so opposed if a professor failed an astronomy class that failed to put the planets in the correct order or an economics class that couldn't describe how supply and demand affect prices?

        Frankly, I think you're jumping the gun here...

        I didn't jump the gun, I provided a qualified statement. You know, "if he does this then you should do this".

        Now, let me provide another statement which may or may not apply to this specific case (since we haven't seen grades yet): Any time an entire class fails, it is on the professor's shoulders. Since we assume that the people in the class are both mentally competent and reasonably intelligent based on the fact that they're in college, and excepting odd situations (a 1 or 2 person class, for instance), a near-100% failure rate can only be one of three things:

        1. The professor has created a class which cannot be successfully completed given the time constraints and the level of the students.
        2. The professor has completely failed to impart his knowledge to the students.
        3. The professor has based the grades on items which do not accurately reflect what was taught in the class.

        Implying that a professor who fails all or nearly all of a given class has competently done his/her job is nonsense. It's not "part of the learning experience", it's a professional failure on the part of the professor and needs to be treated as such. In any event, when this sort of extraordinary event occurs, the University itself is responsible for allowing that failure to occur.

        [ Parent ]
      • by Punk Walrus (582794) on Wednesday December 15 2004, @06:48PM (#11098418) Journal
        Why you think that a professor failing his entire class constitutes a failure on the part of the university is a mystery to me: would you be so opposed if a professor failed an astronomy class that failed to put the planets in the correct order or an economics class that couldn't describe how supply and demand affect prices?

        That's different, and it's still bad because that reflects poorly on the professor. If you were a university, would you want to hire a professor of astronomy who couldn't teach people the basics (for whatever reason)?

        What most of these posts are saying is that this professor did not grade these students on a reasonable test of their skills. It's kind of like a professor of Art History requiring students to discover a previously undiscovered Picasso. Sure, some may exist in people's basements or garage sales, and sometimes a new piece of art from an expired artist shows up on the auction block from an previously unknown collector of rare things, but would you consider it fair to flunk art students who could not find a new Picasso? How would you rate such a find, grade-wise?

        [ Parent ]
  • by Nom du Keyboard (633989) on Wednesday December 15 2004, @06:18PM (#11098115)
    After 300 hours of work and an A average on the exams, I expect to fail the course.

    All you need to do is find one more hole, this one in the campus records department, and exploit it for improving your grade. If you have an "A" average otherwise, another "A" will look right in place. It's the "D" average people suddenly getting "A"s and "B"s that draw suspicion.

  • Where's the gumpf? (Score:5, Funny)

    by caluml (551744) <slashdotNO@SPAMspamgoeshere.calum.org> on Wednesday December 15 2004, @06:23PM (#11098171) Homepage
    Hey! I've found remote roots in OpenSSH, Apache, and Bind. If you run the file below, you can get root.

    [ Part 2, Text/PLAIN (charset: unknown-8bit) 95 lines. ]
    [ Unable to print this part. ]
  • by jgbustos (131144) on Wednesday December 15 2004, @06:24PM (#11098177)

    Why take for granted that the number of bugs to be found was expressed in base-10? Why not base-2?

  • My thoughts. (Score:5, Insightful)

    by Anonymous Coward on Wednesday December 15 2004, @06:25PM (#11098188)
    Thesis: This professor is retarded.

    Evidence to support this belief:

    1) Giving homework to "go out and find some exploits" doesn't teach you anything and has a very unpredictable "path to completion"; i.e., it's not like there's a "problem" to solve, per se. It's simply a matter of some students having gotten lucky whereas others failed.

    2) "After 300 hours of work and an A average on the exams, I expect to fail the course." Either the student is overly-pessimistic (which is possible), or the prof has done very little to: (a) boost morale, reassure students, or instil confidence; or, (b) grade students appropriately for the effort that they've put in. I think that the truth always lies somewhere between the extremes ... which would lead me to believe "a little bit of both".

    3) "In a class of 25, 44 security holes seems a bit low." I highly doubt this, but then again, it entirely depends. If you're trying to find a security hole in "telnet" or "finger", I think you'd be outta luck -- the average joe undergrad would be better off picking random numbers to win the lottery than to find holes in software that has been tried, tested, and true for years.

    Alternatively, if you just go to http://freshmeat.net and find some little backward project coded by a grade 9 high school student -- well, yeah, I think that an exploit should be pretty straightforward. Which leads me to ask: What the fuck does this assignment actually prove/teach? (See point (1), above.)
    • Re:My thoughts. (Score:5, Insightful)

      by slavemowgli (585321) on Wednesday December 15 2004, @06:41PM (#11098350) Homepage
      It teaches you that professors can be asshats/idiots/..., too, and that you should not take classes taught by DJB. Furthermore, it teaches you that in life, you will still get treated like shit even when you're paying for things (like your education, in this case), and that having a famous name (like DJB) is more important than what you actually do.
      [ Parent ]
  • What's the deal? (Score:5, Insightful)

    by retro128 (318602) on Wednesday December 15 2004, @06:27PM (#11098213)
    The homework for the course was to find and exploit 10 previously undiscovered security holes in currently deployed Unix software.

    10 for each student? I doubt DJB himself could find 10 on his own inside of a semester.

    In a class of 25, 44 security holes seems a bit low. Most of the class failed. I was credited with bsb2ppm (actually libbsb) and jpegtoavi. After 300 hours of work and an A average on the exams, I expect to fail the course.

    I guess the whispers I've been hearing about DJB being a complete asshole are true. It is always nice to have your academic future dictated by such people to your disadvantage, even though you may be a cut above the teacher himself. And in the meantime he will take credit for your work while simultaneously failing you. Thank you, sir, for reminding me why I dropped out of college.
  • Students didn't exploit the loophole (Score:5, Interesting)

    by fireboy1919 (257783) <(gro.llehseerf) (ta) (pytsur)> on Wednesday December 15 2004, @06:29PM (#11098227) Homepage Journal
    He pretty much gave them free reign. ANY OSS at all!

    Have you seen CPAN? Half of that code is something someone hacked up in a day! And what about all those sourceforge projects that have one developer and less than 10000 lines?

    Meanwhile, almost every piece of code that this class is looking at is stuff that's already had a once over - heck, probably even been looked over thousands of times. No wonder they couldn't find any bugs. They were looking in the houses, not the motels.
  • by JoshMKiV (548790) on Wednesday December 15 2004, @06:30PM (#11098237) Homepage Journal
    If the majority of the class failed, then the professor failed YOU.
  • Fuzz testing (Score:5, Interesting)

    by ScottMaxwell (108831) on Wednesday December 15 2004, @06:44PM (#11098383) Homepage
    If you want a quick and easy way to find potentially exploitable bugs, try fuzz testing. This is as simple as it could be: feed random data (e.g., from /dev/random) into applications until you crash one. That usually means there's a buffer overflow, which you can then exploit. Re-run the test under a debugger to pinpoint the exact cause of the crash, then craft an attack.

    The better approach is to create one or more large files of random data and feed that into the apps; this is better because it gives you a reproducible stream. (Or you can use a Perl script with a known srand() seed.)

    The term "fuzz testing" comes from a seminal 1990 paper [wisc.edu] (and followups in 1995 and 2000) by Barton Miller et al., who, incidentally, found much higher quality in GNU tools than in their proprietary counterparts. Before my tendinitis got too bad, I used to run The Bulletproof Penguin [pacbell.net] a one-man project devoted to stamping out such bugs (my initial goal, easily achieved, was to eliminate all the bugs reported in the original paper). Ben Woodard was doing something very similar [sourceforge.net] for a while, but I don't know whether he still does.

    Incidentally, this makes a certain recent Slashdot story [slashdot.org] more embarrassing: it seems that free Web browsers crash on malformed input, the kind of case that free software normally handles better than its proprietary competition.

    • Re:Misleading Title (Score:5, Insightful)

      by WIAKywbfatw (307557) on Wednesday December 15 2004, @06:19PM (#11098129) Journal
      If you want to get technical you could argue that everything apart from the kernel is *nix-based software. Where do you want to draw the line?
      [ Parent ]
      • Re:Misleading Title (Score:5, Insightful)

        by whysanity (231556) * on Wednesday December 15 2004, @06:30PM (#11098240) Homepage Journal
        For the sake of argument, what would you consider Windows software? The kernel, the graphics server, the programs that come with every "distribution" of Windows?

        I think that most people would agree that if the program can be *easily* removed from the underlying OS, it's not part of the OS itself. Therefore I would not consider notepad.exe part of the OS, however I would consider explorer.exe (even though it is a seperate application).

        If you don't agree, it's okay, but that's how I think of it.
        [ Parent ]
        • Re:Misleading Title (Score:5, Insightful)

          by stor (146442) on Wednesday December 15 2004, @07:03PM (#11098564)
          For the sake of argument, what would you consider Windows software? The kernel, the graphics server, the programs that come with every "distribution" of Windows?

          Ahh, this is such stuff that pointless flamewars are made on.

          Cheers
          Stor
          [ Parent ]
      • Re:Misleading Title (Score:5, Informative)

        by SquadBoy (167263) on Wednesday December 15 2004, @06:59PM (#11098521) Homepage Journal
        RTFA in all the emails he gives full credit to the students.

        James Longstreet and Tom Indelli, two students in my Fall 2004 UNIX
        Security Holes course, have discovered a remotely exploitable security
        hole in bsb2ppm, a program to convert BSB image files to PPM image
        files. I'm publishing this notice, but all the discovery credits should
        be assigned to Longstreet and Indelli.
        [ Parent ]
    • by jrockway (229604) * <jon-nospam@jrock.us> on Wednesday December 15 2004, @07:08PM (#11098621) Homepage Journal
      Were you in the class?

      The exams and the homework were completely different. DJB should post the exams; there's lots of theoretical holes that we had to find for exams. It was very comprehensive, educational, and practical. It was a great course. (I too failed it, but grades and learning are not necessarily related. For the record I only missed points on exams because my exploit code wasn't C99-compliant :)
      [ Parent ]