Slashdot Mirror


DJB Announces 44 Security Holes In *nix Software

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

151 of 983 comments (clear)

  1. Misleading Title by __aaitqo8496 · · Score: 4, Insightful

    The title of this article is quite confusing, if I read it correctly. To me, it reads that *nix variants themselves have 44 security holes (as in something in the underlying OS, such as the kernel). However, upon further reading the story indicates that it is actually the 3rd party software that has holes in it. Sounds a little unfair to *nix environments. Consider blaming Microsoft for all holes in ever Win32 program (oh wait, we already do!) How about a better title like "DJB Announces 44 Security Holes In *nix-based Software"

    1. Re:Misleading Title by WIAKywbfatw · · Score: 4, Insightful

      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?

      --

      "Accept that some days you are the pigeon, and some days you are the statue." - David Brent, Wernham Hogg
    2. Re:Misleading Title by Dekke · · Score: 3, Insightful

      Because if it weren't sensationalist, who would ever read it? For the knowledge? Hah! For shame, thinking we want accuracy...

    3. Re:Misleading Title by __aaitqo8496 · · Score: 5, Insightful

      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.

    4. Re:Misleading Title by geminidomino · · Score: 2, Insightful

      Actually, only Linux is limited to being "Just the kernel." *BSD are full OSes, and are 4.4LITE-based, thus are Unix.

    5. Re:Misleading Title by Cuthalion · · Score: 3, Funny

      Have you actually tried removing notepad?

      Windows tries pretty hard to keep you from doing so.

      --
      Trees can't go dancing
      So do them a big favor
      Pretend dancing stinks!
    6. Re:Misleading Title by FatAlb3rt · · Score: 3, Insightful

      so...why didn't someone just write some intentionally crappy software, stick it on sourceforge, then point out the flaws?

      or better yet, since it sounds as if this is an assignment due at the end of the semester, dive into some code, write up a few paragraphs on what you *think* is a security flaw, and submit it.

      heck, i think the instructor should give credit for explaining 10 good code examples of secure routines.

    7. Re:Misleading Title by Crazy+Eight · · Score: 4, Informative

      NT has roots in VMS. The BSD advertising clause you're seeing comes from one piece of BSD software (I can't recall which) Microsoft incorporated.

    8. Re:Misleading Title by Frizzle+Fry · · Score: 2, Insightful
      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.

      Yes, most people would. And that's why the title says *nix Software rather than *nix OS's. I don't know know anybody would defines "software" as meaning "something that is part of an OS". The title isn't misleading at all. In fact, it makes it explicit that we are discussing software for *nix rather than the OS itself.
      --
      I'd rather be lucky than good.
    9. Re:Misleading Title by SquadBoy · · Score: 5, Informative

      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.

      --

      Cypherpunks: Civil Liberty Through Complex Mathematics. Those who live by the sword die by the arrow.
    10. Re:Misleading Title by stor · · Score: 4, Insightful

      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

      --
      "Yeah well there's a lot of stuff that should be, but isn't"
    11. Re:Misleading Title by new-black-hand · · Score: 3, Informative

      The BSD advertising clause you're seeing comes from one piece of BSD software (I can't recall which) Microsoft incorporated.

      BSD Sockets (Winsock on Win32). Ever noticed that socket programming on UNIX and Win32 are extremely similar? Not a co-incidence.

    12. Re:Misleading Title by SnowZero · · Score: 4, Informative

      NT was originally developed by many of the core VMS developers after they left DEC, thus its VMS-like flavor. It doesn't use any code from VMS, but was a chance for the developers to start over and build a next generation operating system. They also tried to work with IBM in doing so (whee culture clash). My only gripe is that they took that clean, portable system, and put the Win32 API on top of it.

      Wikipedia has a nice entry that is consistent with everything I learned there as an intern a while back. After I left there were many rumors that NT took BSD's better performing TCP stack, but unless someone who knows ever tells the story, its still just a rumor. What is true though it that they use some acient utilities ported from BSD, such as the command-line ftp.

    13. Re:Misleading Title by Antique+Geekmeister · · Score: 2, Informative

      No, NT is based on VMS. Look into the old David Cutler lawsuits with DEC for details.

    14. Re:Misleading Title by Tanktalus · · Score: 2, Funny

      Um, because it's what most Windows users spend most of their time with? :-)

    15. Re:Misleading Title by Chris+Burke · · Score: 4, Funny

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

      No it isn't, you moron!

      --

      The enemies of Democracy are
    16. Re:Misleading Title by innosent · · Score: 3, Informative

      This is more likely due to the fact that the BSD TCP/IP stack is essentially the reference implementation of TCP/IP. Which is odd, considering that the BSD stack is missing a fairly major feature of the TCP/IP standard (equal-cost multipath routing, which Linux does support, though Windows does not). At any rate, there are probably portions of the TCP/IP process that are under a BSD copyright, and Windows uses some of the same procedures (though probably not code) to implement their stack. As for the similar API, that probably has more to do with POSIX than MS copying code. I would imagine that the internals of Windows and *BSD are different enough that it would be easier to rewrite the socket API than to copy it and change it for Windows.

      --
      --That's the point of being root, you can do anything you want, even if it's stupid.
    17. Re:Misleading Title by xecl · · Score: 2, Insightful

      I consider windows software to be any software that runs on windows. I consider *nix software to be any software that runs on *nix. Saying the title is misleading is just being a bit defensive and trying to put a good spin on the story.

    18. Re:Misleading Title by hazem · · Score: 3, Interesting

      > NT has roots in VMS.

      Someone once told me to increment each letter in VMS to get WNT. Kind of like the IBM --> HAL.

    19. Re:Misleading Title by fish_in_the_c · · Score: 3, Informative

      Microsofts documentation on sockets is very misleading. If you want to find out how misleading create an array of sockets each open on a different port. Pass the array to another thread within your program and then try to read something from one of the sockets. It won't work because of the way that windows handles messaging and the fact that socket objects have a message queue an therefore cannot be passed between threads. I know from painful expierence.

      --
      âoeTolerance applies only to persons, but never to truth. Intolerance applies only to truth, but never to persons.
  2. Don't just take this lying down, IMO by Skyshadow · · Score: 5, Interesting
    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.

    --
    Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
    1. Re:Don't just take this lying down, IMO by jdray · · Score: 5, Insightful

      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.

      --
      The Spoon
      Updated 6/28/2011
    2. Re:Don't just take this lying down, IMO by Marxist+Hacker+42 · · Score: 4, Insightful

      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.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    3. Re:Don't just take this lying down, IMO by Saint+Stephen · · Score: 5, Funny

      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.

    4. Re:Don't just take this lying down, IMO by mateomiguel · · Score: 4, Insightful

      "As a student, I'm the consumer. "

      No, no, and hell no. As a student, you are a student. Leave your stupid consumer victimization routine in suburbia, where it belongs. Don't try to bring that crap to academia.

    5. Re:Don't just take this lying down, IMO by bani · · Score: 3, Funny

      you really think djb cares? given his well known history of being supreme asshole of the known universe?

      fwiw this was obviously djb trying to get his students to dig up ammo for him to go on another one of his public penis-waving tantrums, acting all smug and high and mighty again (oh lookit me i wrote qmail and its all uber secure, and wooo lookit all the MISERABLE LAMERS WRITING SHIT CODE!!1!!111!)

    6. Re:Don't just take this lying down, IMO by WIAKywbfatw · · Score: 2, Insightful

      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. Ten is a nice round figure and one that suggests that it might have been picked arbitrarily. Perhaps the professor asked for ten but didn't expect any one individual to find more than two or three? Perhaps the professor wasn't as interested in their results as he was their methodologies and definitions of what did and didn't constitute a vulnerability? Perhaps he was using the exercise to reinforce lessons on how to create a secure computing environment?

      Chew on that for a while, and while you're doing that think about the fact that you should be looking at university as a learning experience, not merely an acquisition of course credits. Frankly, your post makes you sound like someone who would sue their professor if he so much as considered awarding you less than a pass mark.

      --

      "Accept that some days you are the pigeon, and some days you are the statue." - David Brent, Wernham Hogg
    7. Re:Don't just take this lying down, IMO by KillerDeathRobot · · Score: 5, Insightful

      As soon as universities start being free, I'll agree with you.

      --
      Thinkin' Lincoln - a web comic of presidential proportions
    8. Re:Don't just take this lying down, IMO by Marxist+Hacker+42 · · Score: 4, Insightful

      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.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    9. Re:Don't just take this lying down, IMO by plopez · · Score: 3, Insightful

      It could be the prof was trying to weed out the riff-raff (those who think they are hot but are not, etc.). But giving such an open ended project at the undergrad level is extreme. It is appropriate for grad school, where research projects sometimes are not completed, but not undergrad (I assume by the number it is undergrad).

      I actually had a class like that, expected to fail but passed becase I actually did a lot of work on the problem and it showed. This may be one of those cases. Remember, research is about trying your best but still failing, actually most of the time.

      --
      putting the 'B' in LGBTQ+
    10. Re:Don't just take this lying down, IMO by Jace+of+Fuse! · · Score: 2, Insightful

      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 couldn't agree with this post any more.

      Let me also say that if this professor feels so high and mighty, let's see this person perform the assignment themself! Something tells me this professor would also fail!

      10 previously undiscovered exploits for one person to find is a serious undertaking. Most Security Professionals probably don't find that many per year I would guess.

      Shesh. What an ass.

      --

      "Everything you know is wrong. (And stupid.)"

      Moderation Totals: Wrong=2, Stupid=3, Total=5.
    11. Re:Don't just take this lying down, IMO by Marxist+Hacker+42 · · Score: 2, Insightful

      No- I don't think djb cares per say- but that's the first step. ALWAYS go with the chain of command method while protesting- then you can make a monkey of yourself in the Secretary of Defense's press conferance and get your name in all the papers.

      Same rules apply for universities, as the army, private industry, etc.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    12. Re:Don't just take this lying down, IMO by Skyshadow · · Score: 4, Insightful
      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.

      --
      Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
    13. Re:Don't just take this lying down, IMO by Punk+Walrus · · Score: 5, Insightful
      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?

    14. Re:Don't just take this lying down, IMO by Anonymous Coward · · Score: 3, Insightful
      Mostly they want to put the fear of them as a deity figure in you...
      Wrong. Mostly they want to get the lazy and uninterested students to drop their course.
    15. Re:Don't just take this lying down, IMO by Chandon+Seldon · · Score: 2, Funny

      The traveling salesman problem is easy.

      For 1 city, you're already done.
      For 2 cities, you start in one and go to the other.
      For three cities, you find the two cities furthest from eachother, travel from one of them to the middle city and then to the far city.

      Obviously it's no more complex for (any-value-of-N) cities.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    16. Re:Don't just take this lying down, IMO by UberGeeb · · Score: 2, Interesting

      Actually, you're both right.

      You're not paying for an education. You're paying for the opportunity to be educated. A part of that is the understanding that assessments of your progress (grades) are done fairly. Another part of that is the necessity that the professor actually show up to teach.

    17. Re:Don't just take this lying down, IMO by he-sk · · Score: 2, Funny

      Come to Germany!

      Wait, to late.

      --
      Free Manning, jail Obama.
    18. Re:Don't just take this lying down, IMO by myowntrueself · · Score: 2, Insightful

      "remember where these orders come from..."

      "follow the chain of command..."

      "the *political* office..."

      John Sheridan knew his stuff alright; it sure is one way to start a civil war! (sort of)

      ;)

      --
      In the free world the media isn't government run; the government is media run.
    19. Re:Don't just take this lying down, IMO by Fahrenheit+450 · · Score: 2, Interesting

      Why are you assuming this is a joke? As the prof in my heuristics class said, "your boss isn't going to give a damn if the problem you need to solve is NP-Complete... you're still going to have to write the code." And of course there's the issue of average case hardness vs. worst case hardness, plus just the size of the problem being worked. A lot of TSP instances don't take that long to solve.

      There are plenty of algorithms out there for solving NP-Complete (and harder) problems. It's just that they won't work too fast for large, hard case problems...

      --
      -30-
    20. Re:Don't just take this lying down, IMO by myowntrueself · · Score: 3, Funny

      and my entire class was failed because noone could write a program to check whether another, arbitrary program, would eventually finish execution...

      --
      In the free world the media isn't government run; the government is media run.
    21. Re:Don't just take this lying down, IMO by bwt · · Score: 2, Interesting

      I happen to know Dr. Bernstein because I went to grad school with him. It's completely odd to me that people are up in arms over an assignment like this that wasn't achievable. It sounds like these students learned a hell of a lot. Who cares if the initial assignment was unrealistically hard. I think that's actually good -- it makes people try to stretch. In fact, I doubt we would have 44 security vulnerabilities if the goal had been to find 2 each.

      I seriously doubt Dr. Bernstein is going to fail all these students. He should give them the grades he thinks they deserve with one letter grade lower for whiners. People who lose sight of the importance of the subject matter because they are obsessed with grades rather disgust me.

    22. Re:Don't just take this lying down, IMO by Gherald · · Score: 4, Insightful

      Not wanting to fail a class hardly qualifies as being "obsessed with grades."

    23. Re:Don't just take this lying down, IMO by lew3004 · · Score: 2, Insightful

      I teach about 90% of the training courses for both my company and suppliers on our customer's requirements, which leads to a 'final exam' after 4 weeks. Sure, there are homework assignments and little quizzes I give within that period but none of them count towards a final passing grade. They're more like a progress report for each of the 'students' to tell them how well they are absorbing the information I provide. At the end of the course there is a final exam, which is pass / fail (70% is passing). After reviewing the stats I find that I have a 50% or higher failure rate I look at myself. I should; I wrote it...I taught it and I tested others on it. It hasn't happened yet but if it ever does, I'd look at myself first before pointing fingers at people.

      --
      I still can't get the screen shots of Castle Wolfenstein for the Apple IIe out of my head.
    24. Re:Don't just take this lying down, IMO by jdray · · Score: 3, Insightful

      Right. Forgot that part.

      1) Make wildly overstated demands.
      2) Watch 1/3 of students abandon class.
      3) Hold class
      4) Back off on demands and grade fairly.

      (Sorry, this is academia. No profit involved.)

      --
      The Spoon
      Updated 6/28/2011
    25. Re:Don't just take this lying down, IMO by Tanktalus · · Score: 2, Funny
      #include <sys/types.h>
      #include <signal.h>
      #include <stdio.h>

      int main(int argc, char** argv)
      {
      pid_t p = atol(argv[1]);
      kill(p, SIGKILL);
      printf("Process %d ran in 0 time.\n", p);

      return 0;
      }
      Or something like that.
    26. Re:Don't just take this lying down, IMO by Froggy · · Score: 2, Interesting

      We tend to do this where I work. Part of the reason is that we often can't be certain exactly where the cutoff between pass and fail is going to fall -- this is especially true when we are rolling out new subjects or new assessment. If the assessment ends up being marked harder than advertised, the student body will scream and there will be formal complaints (and justifiably so). If we mark easier than advertised, most people will be OK with that. Therefore we tend to overstate the difficulty at the start of semester, if there's any doubt.

      There's also the psychological factor -- most of our students come to our university from schools in which you got plenty of catch-up time and revision. High-school subjects are usually paced slowly enough that most students can get through them. The pace picks up tremendously at university.

      The subjects we teach do not usually ease students gently into the course. Students are expected to hit the ground running. Because they are drawn from the more gifted high school students, they are usually used to goofing off; it's a lot harder to get away with that at Uni. Every year we fail a few students, not because they can't keep up with the course, but because they just don't. If we can save some of these students from dropping out by putting the frighteners on at the start of the year, I'm all for it. It's a heck of a lot cheaper than providing instructor-heavy remedial courses.

      --
      It is a woman's prerogative to change other people's minds.
    27. Re:Don't just take this lying down, IMO by willijar · · Score: 2, Interesting

      "As a student, I'm the consumer. "

      Well I don't have a problem considering themselves students if they are paying for their education as long as they understand what they are paying for. It is not certificates, or exam passes, or knowledge. It is for the educational process. It seems to me this coursework represents some very good educational process. You always learn better by doing than having someone lecture at you - a bargain in those terms!

      On the otherhand, this is the first time it was run and so some pragmatism and adjustments in how the coursework is assessed may be needed. Not an unusual situation to be in if you try something new.

    28. Re:Don't just take this lying down, IMO by edunbar93 · · Score: 4, Interesting

      oh lookit me i wrote qmail and its all uber secure

      That's cute. His code may not have any bugs in it, but damn, does it ever have some huge logical flaws.

      Qmail has the lovely lack of ability to reject e-mail while the SMTP connection is still active. What it does instead is it creates and sends a bounce message itself, instead of leaving that up to the sending server. What happens when you do this is you allow spammers to send e-mail to recipients in the To: line instead of the From: line, just by putting in a bogus To: line and putting the real recipient in the From: line.

      There's a patch for this, but it involves setting up a list of e-mail addresses that are allowed to be accepted. Once you have several thousand e-mail addresses all over the place courtesy of Vpopmail, this becomes an impossible task.

      So no, this man isn't a perfect programmer.

      --
      "No problem. I have the capacity to do infinite work so long as you don't mind that my quality approaches zero."-Dilbert
    29. Re:Don't just take this lying down, IMO by Mornelithe · · Score: 3, Informative

      What does your experience---failing two out of 64 people for incompetence, and having a class with an overall C average---have to do with what your post's parent was talking about---a class where 100% of the students receive an F?

      Are you implying, for example, that all 25 students in a graduate course entitled 'Unix Security Holes' were either incompetent or didn't even make an effort at completing the course? Are you implying that in most cases where an entire class fails---with an F, not a C---that it is because every student either slacked off or was incompetent? I won't rule out that possibility, but I think it's very unlikely that in any given class, there isn't anyone who isn't both intelligent and hard-working enough to at least get a D in the class. Do you have reason to believe otherwise?

      --

      I've come for the woman, and your head.

    30. Re:Don't just take this lying down, IMO by ca1v1n · · Score: 2, Insightful

      Unless you're taking classes from the University of Phoenix Online, you're not buying a product. You're essentially receiving a gift, and paying enough money that they can be sure you're going to take it seriously, so their money wouldn't be better spent on someone else. Tuition is only a big deal for them because it is the most easily controlled source of marginal revenue. Anyway, I did some checking. You're right, 5-50 was wrong. It's more like 2-20. The 2 is if you're an English major at a poorly endowed private college. Most of the slashdot crowd is in the middle or on the 20 end, especially if they're paying in-state tuition at a research institution.

  3. All you need is one more hole... by Nom+du+Keyboard · · Score: 5, Funny
    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.

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  4. and the moral is: by pchan- · · Score: 3, Funny

    After 300 hours of work and an A average on the exams, I expect to fail the course.

    but we've all learned a valuable lesson: don't take a class taught by DJB

  5. Better link by generationxyu · · Score: 3, Informative

    to Kris Kubicki's mirror is here.

    --
    I mod down pyramid schemes in sigs.
  6. Hmm... by excaliber19 · · Score: 4, Funny

    Perhaps Microsoft should try this strategy. Im sure the kids would thoroughly enjoy that assignment! They'd have bugs coming out the wazoo! A's for everyone!

  7. What? by jjshoe · · Score: 3, Insightful

    What no djb tools on the list? That seems the quickest way to fail, find an exploit in a djb tool.

    --
    -- botsex is {grep;touch;strip;unzip;head;mount} /dev/girl -t {wet;fsck;fsck;yes;yes;yes;umount} {/de
    1. Re:What? by thogard · · Score: 3, Interesting

      Been there, done that, reported it, fix still not in qmail (as far as I know). You don't get the reward if the bug is an interaction between qmail and the os. I don't run qmail because of that issue. I could care less if the core code is secure unless its interactions with its enviroment (what ever that may be) are also locked down.

      And I agree with user 820979.

  8. Where's the gumpf? by caluml · · Score: 4, Funny

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

  9. Were any of them *not* buffer overflows? by jcr · · Score: 2, Interesting

    I didn't look at all of them, but the ones I did check all seemed to be the usual culprits: str..() functions out of the standard, broken C library.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
    1. Re:Were any of them *not* buffer overflows? by winthrop · · Score: 2, Informative
      Change password involved trusting that the version of "make" in its path was not modified:
      Here's the bug: Line 317 of changepassword.c, without cleaning its
      environment in any way, calls system("cd /var/yp && make &> /dev/null");
      the Makefile arranges for changepassword.cgi to be setuid root (mode
      4755). A user can set $PATH to point to his own make program, set
      $CONTENT_LENGTH to 512, set $REQUEST_METHOD to POST, and feed...
  10. ah, buffer overflows... by Mr.+Slippery · · Score: 4, Insightful

    I see the two specific items linked to are buffer overflow exploits. Anyone learning to program in C needs to have good buffer dicipline beaten into their heads.

    It's like wiping your butt after crapping - mandatory basic hygine. If you can always remember to wipe your butt, you can always remembers to watch your buffer lengths.

    --
    Tom Swiss | the infamous tms | my blog
    You cannot wash away blood with blood
    1. Re:ah, buffer overflows... by symbolic · · Score: 4, Funny

      If you can always remember to wipe your butt, you can always remembers to watch your buffer lengths.

      Well, there's the problem!

    2. Re:ah, buffer overflows... by jesser · · Score: 2, Insightful

      Dynamically allocating memory doesn't always solve buffer overflows. For example, if the int32 passed to malloc can be overflowed, then it is likely that the buffer can be overflowed.

      --
      The shareholder is always right.
  11. But you have already found 10 bugs!!! by jgbustos · · Score: 5, Funny

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

    1. Re:But you have already found 10 bugs!!! by addaon · · Score: 3, Funny

      base-10 is base-2. Or did you mean base-1010?

      --

      I've had this sig for three days.
  12. Most of the class failed? by dokebi · · Score: 2, Insightful

    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.

    Define "failed." They failed to find holes? Or they failed the course?
    I seriously doubt a prof would fail an A average student for not being able to find a hole for an assignment. Extra credit, maybe, but an F? I mean, WTF?

    --
    In Soviet Russia, articles before post read *you*!
  13. My thoughts. by Anonymous Coward · · Score: 5, Insightful

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

    1. Re:My thoughts. by slavemowgli · · Score: 4, Insightful

      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.

      --
      quidquid latine dictum sit altum videtur.
  14. Re:It's just an assignment - Did you even go to un by grazzy · · Score: 4, Informative

    If you read the slides from the first lecture, it says the findings of holes amounts to 60% of your grade.

  15. Fourth year: bird courses only please by Ars-Fartsica · · Score: 4, Insightful
    Who signs up for hard classes in fourth year? Duh! You've practically got your degree. sit back, uncap a cold one and choose from the many many many easy courses every school offers to fourth year students.

    Its well known that every college grinds out the poor students in the first two years...if you've made it to fourth year, its time to ladle up some gravy and bolster your GPA in time for grad school applications, resume bolstering, etc.

    So the real moral is that the most intelligent students are the ones avoiding the course altogether. If you want to get an education in unix security holes, go read the OpenBSD mail archives.

    1. Re:Fourth year: bird courses only please by DunbarTheInept · · Score: 2, Insightful

      If you assume it is stupid to pick harder classes, then you are assuming everyone's goal is laziness. If a person has a goal of learning interesting things, then it is not necessarily stupid to take a hard class. This sounds like an interesting class - the only problem is the grading is poorly thought out.

      --

      Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

    2. Re:Fourth year: bird courses only please by noda132 · · Score: 2, Insightful

      There is a time for learning for learnings sake - retirement.

      That's one way of looking at it, sure. But I think I'll learn for learning's sake my entire life, thank you very much. That way I wouldn't feel my life was a waste of time if I died at 64.

  16. What's the deal? by retro128 · · Score: 4, Insightful

    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.

    --
    -R
    1. Re:What's the deal? by retro128 · · Score: 2, Interesting

      I know. I saw the emails DJB sent out. And yet, the title of the article says "DJB Announces 44 Security Holes In *nix Software". Press releases, if any, I'm sure will fail to mention any of the students, and DJB will be the point man they always quote.

      In this fashion, as is typical with academia, the professors take the credit for their students' grunt work. That is what I was getting at. I should have been more clear.

      All the students will get is something to attach to their resume. Or will they? After all, they failed the class.

      --
      -R
    2. Re:What's the deal? by Mastoid · · Score: 2, Informative
      And in the meantime he will take credit for your work
      Er, no. The very first line of each announcement is "Person X, a student in my Fall 2004 UNIX Security Holes course..."

      djb doesn't come across as the nicest of gentlemen, but he's no thief.

      --
      I had an argument...with the person here at the university that teaches OS design. I wonder when I'll learn --Linus
    3. Re:What's the deal? by piranha(jpl) · · Score: 2, Interesting
      I see you were too busy writing emotional rhetoric to check your assumptions. (How does this stuff get modded to 5?)

      Here's an excerpt from the first one I viewed, with my emphesis:

      Danny Lungstrom, a student in my Fall 2004 UNIX Security Holes course,
      has discovered that uml_net, when installed setuid root (as is normal),
      allows any local user to type

      ./uml_net 4 slip down eth0

      to take down the computer's Ethernet connection. The connection stays
      down until the system administrator manually brings it back up. I'm
      publishing this notice, but all the discovery credits should be assigned
      to Lungstrom.

      Who's gonna call this guy's other bullshit?

  17. Students didn't exploit the loophole by fireboy1919 · · Score: 4, Interesting

    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.

    --
    Mod me down and I will become more powerful than you can possibly imagine!
    1. Re:Students didn't exploit the loophole by TheLink · · Score: 2, Insightful

      Forget CPAN, have you seen PHP Nuke?

      My personal experience with reporting PHP Nuke bugs is the author just doesn't want to fix them (he appears to expect fixes to come with reports ) and grumbles at you, so I stopped bothering. Why should I fix PHP Nuke? Judging from the code I'd use some other software - I was just checking for other people to see if PHP Nuke was fit for use. My verdict was "not fit for use".

      If you can't find anymore in PHP Nuke, just look for other PHP software that requires "track vars" and other insecure options.

      The students who fail shouldn't have taken the class at all - if they are checking software that is already likely to have been audited, they obviously lack the necessary way of thinking, and that sort of thing is not DJB's fault.

      --
    2. Re:Students didn't exploit the loophole by pdp7 · · Score: 2, Interesting

      Credit each student recieved per bug was 1/n where n was the number of collaboraters. So if all 25 or so students got together, we would have had to find far more than 44 bugs to all meet the goal of 10 bugs person.

      That said, collaboration was really the key even with the partial credit scenario. From talking to other classmates, those that worked together seemed to do quite well. One team of two classmates had a great system where one would audit code while the other crafted PoC exploits. I realize now that lack of collaboration was my greatest mistake in this class.

  18. If the majority of the class failed... by JoshMKiV · · Score: 4, Insightful

    If the majority of the class failed, then the professor failed YOU.

    1. Re:If the majority of the class failed... by Anonymous Coward · · Score: 2, Interesting

      Nah. Try teaching remedial math at a community college. I gave an average of 1.12 my last quarter teaching. Why? Because over 50% of the students did not show for the final. I would have loved to give everyone good grades, but I needed to make sure that these students learned the basics and they did not.

      You can not judge anything by the percentage of the class that fails.

    2. Re:If the majority of the class failed... by mph · · Score: 2, Funny
      If the majority of the class failed, then the professor failed YOU.
      You forgot the "In Soviet Russia" part.
  19. Clearing up ALL "it's just an assignment" posts: by generationxyu · · Score: 4, Informative

    60%. This assignment is worth 60% of the FINAL SEMESTER GRADE. I suppose I should have put that in the summary.

    --
    I mod down pyramid schemes in sigs.
  20. Agreed, many profs are abusive by Ars-Fartsica · · Score: 3, Interesting
    From time to time you do get a normal human being lecturing you, but often you get an inhuman prick whose real mastery is in manipulating human emotions. I've watched a calculus prof reduce many female students to tears...and I'm thinking, what is it dude, a sexual thing? I mean, come on, show some dignity and respect for the students.

    The problem is that many of the profs have no professional experience outside the academic realm. None. Amazing as it sounds, they go from graduate work to post-doc to the faculty lounge, all the while succesfully avoiding any opportunity to deal with people as equals...its always grovelling to someone or getting someone to grovel to you. Its no coincidence many sleep with their students, its often the only way they can get laid.

    The dynamics of academic environments are truly absurd, I'm amazed more of them are not murdered.

    1. Re:Agreed, many profs are abusive by commodoresloat · · Score: 2, Funny
      Its no coincidence many sleep with their students, its often the only way they can get laid.

      This is false.

      We sleep with our students because they're just so damn sexy in their cute little spring wardrobes.

      (I'm joking, I'm joking; stop slapping me with that trout already!)

    2. Re:Agreed, many profs are abusive by corbettw · · Score: 2, Funny

      We sleep with our students because they're just so damn sexy in their cute little spring wardrobes.

      The scary thing is, you're a kindergarten teacher!

      --
      God invented whiskey so the Irish would not rule the world.
    3. Re:Agreed, many profs are abusive by Curtman · · Score: 2, Insightful

      I've watched a calculus prof reduce many female students to tears...

      And you have never seen a female use tears to play on someones emotions and get their own way?

      I was once naiive like you.

    4. Re:Agreed, many profs are abusive by bladesjester · · Score: 2, Interesting

      That's weird. Most of the CS profs I had classes with were cool (most of them were married, but a couple of them were still dating). However, you have to consider that most of them were less than 35 or 40.

      The CS profs were cool enough that I regularly shot pool with 3 of them early friday night (loosing team paid for the beer) before I went uptown to party with my classmates. The looks on the faces of the underclassmen when the chair of our dept walks up to me and asks if I'm shooting pool with them that evening were hilarious.

      They even came to most of the "professional" house parties that we threw. It was really weird the first time I was at one of the house parties. I'm chatting with someone and all of a sudden my prof walks in. I nearly choked on my jello shot. He just came over, said hi, and then went over to get a couple of jello shots himself. It was also really weird the first few times I ran into one of them in the bars and they bought me a drink.

      Just goes to show you that not all profs lack social skills.

      --
      Everything I need to know I learned by killing smart people and eating their brains.
    5. Re:Agreed, many profs are abusive by bladesjester · · Score: 2, Interesting

      Frighteningly enough, the profs who most closely met the "lock yourself in the room and have no social contact" at my uni tended to be the ones in the history dept. There were a couple of cool ones, but most of them had little in the way of social skills. (The anthro profs were a *whole* other story. They were great fun with senses of humor almost as weird as mine, but then anthro has interested me since I've been a kid.)

      Most of the engineering and CS profs I knew were cool (there were exceptions). The language profs were an absolute riot (even if the insane German wiped the floor with me in pool. Yes, I have this thing with pool. I spent several years as a kid living over a game room). The philosophy profs tended to be social creatures, as were most of the profs in the other departments that I dealt with (in academic, social, and professional capacities).

      --
      Everything I need to know I learned by killing smart people and eating their brains.
  21. Re:Boohoo by generationxyu · · Score: 2, Insightful

    I'd like to see you work your ass off for an entire semester, bury yourself in other people's C code for hundreds of programs, understand all the material, get As on the exams, and then fail because you weren't lucky enough -- and not be just a teeny bit pissed about it.

    --
    I mod down pyramid schemes in sigs.
  22. Sounds like Fermi at University of Chicago by monopole · · Score: 3, Interesting

    Enrico Fermi supposedly failed every single person who ever took his Quantum Mechanics course at the University of Chicago. A special footnote had to be added to transcripts as a result.

    The pity is that such a strategy allows for no differentiation between people who are working at their full capacity and goof-offs who sleep though class.

    1. Re:Sounds like Fermi at University of Chicago by tootlemonde · · Score: 4, Informative

      Enrico Fermi supposedly failed every single person who ever took his Quantum Mechanics course at the University of Chicago.

      This story is not likely.

      Fermi only gave the quantium mechanics course once in 1954 in the last year of his life. He was known as an outstanding teacher, always willing to help students. His notes for the course were published in a book titled Notes on Quantum Mechanics with additional material supplied by one of the students. None of the reviews I've found mention the story about all the students failing.

      One of his colleagues writes:

      Fermi's legendary classroom teaching was the fruit of careful preparation. He seemed to derive pleasure from the act of teaching, without regard for the result. He never showed annoyance at a student's failure to grasp on the first try (or even the second) what he was trying to explain. On the contrary, if Fermi had to repeat an explanation, his pleasure appeared to be doubled.
  23. Re:Most people will pass by wk633 · · Score: 3, Funny

    D.L. Parnas once taught a 300 level software engineering class at the University of Victoria.

    Grading used the 'high tide' method. That is, better score in one area of the course (exam, project, assignments) could override a poor score in another area. All instructor's judgement.

    One student I knew got a C+ and discovered that he had roughly the same scores in each area as another student who got an A. That is, guy I knew had a poor exam, but awesome project. Someone else had nearly identical exam scores, and nearly the same (A) project.

    So guy-I-knew approached Parnas, and asked why.

    "Becuase I don't like you".

    And that was the end of it.

  24. Mplayer and Xine new security releases by andymar · · Score: 3, Informative

    "Multiple vulnerabilities were discovered in MPlayer by iDEFENSE, and more were found by us while reviewing the code"
    http://www.mplayerhq.hu/

    "New xine-lib released. This version adress multiple security vulnerabilites on PNM and Real RTSP clients. All users are advised to upgrade to 1-rc8. The release also includes several bug fixes and new features"
    http://xinehq.de/

    1. Re:Mplayer and Xine new security releases by iive · · Score: 4, Interesting
      Place mod the parent up.

      As one of the mplayer developers, I would like to thank to DJB for giving us (hmm)16 (?) hours before unleashing exploints on wild.

      Maybe he is not aware that making right fix, testing it and finally releasing it, is not so simple task. Especially if we have to convice the person that have release (write) permisions, that him girlfriend is not as importan as the security release:)

      Not to say, that I still haven't got the mail in my mailbox, despire that gmame shows it have been recived.

      Also mplayer-dev-eng@mplayerhq.hu is the more appropriate maillist to send security issues. (MPlayer documentation will be updated accordingly.)

      The exploit that is found in MPlayer is not alone. There are at least 2 other places with similar exploitable bahavioud in the same file. I guess the students keep them for next semester.

      BTW code originates from Xine, probably it is time to update our version ;)

  25. 10 types of people ... by fuufump · · Score: 3, Funny

    The homework for the course was to find and exploit 10 previously undiscovered security holes in currently deployed Unix software.

    "There are only 10 types of people in the world: Those who understand binary, and those who don't"

  26. Fuzz testing by ScottMaxwell · · Score: 5, Interesting
    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 (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 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 for a while, but I don't know whether he still does.

    Incidentally, this makes a certain recent Slashdot story 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.

    --

    ``Life results from the non-random survival of randomly varying replicators.'' -- Richard Dawkins
  27. Strange definition of 'remote exploit' by Bazman · · Score: 2, Insightful

    To me, a remote exploit is something that exploits a running server. Most of the examples seem to be trojan horse attacks, getting the user to run an application on a file which overflows a buffer in the application.

    Example: http://www2.uic.edu/~kkubic1/securesoftware/26.txt

    Jonathan Rockway, a student in my Fall 2004 UNIX Security Holes course,has discovered a remotely exploitable security hole in NASM. I'm publishing this notice, but all the discovery credits should be assigned to Rockway.

    The only way I'd call this a remote exploit would be if someone has written an apache module that takes some assembly code and returns an executable. I dont think thats a very common setup.

    Baz

  28. Re:It's just an assignment - Did you even go to un by prockcore · · Score: 5, Insightful

    If you read the slides from the first lecture, it says the findings of holes amounts to 60% of your grade.

    Makes sense.

    The requirements are to exploit 10 holes in unix software. Nowhere does it say that the unix software must come standard with any distros, and it doesn't say that you can't write it yourself.

    Write a simple program with 10 holes in it, point them out, and boom you win.

    We are talking about finding vulnerabilities and exploiting them aren't we? I'd get extra credit for finding and exploiting holes the class requirements.

  29. Crash.... by oliverthered · · Score: 3, Interesting

    I've reported 4 stack/pointer based crashes in Konqueror in the past couple of days and they just came to me without looking.

    If I could have crafted an exploit for the crashes then that would be 4 holes.

    All the students needed to do was look at the current/recent bugs list for a version of software.

    Identify bugs that could possibly be exploited. (say maybe 100)
    Run automated buffer/stack exploit
    checking software against those bugs.

    hope to get 10 criticals.

    Khtml's probably a good choice for exploiting at the moment, as it's getting a lot of 'features and fixes' which probably caused the crashed I've reported.

    --
    thank God the internet isn't a human right.
  30. How can you fail with open source?? by wfberg · · Score: 2, Funny

    1) Create sourceforge project page under assumed name.
    2) Post forks of programs with extra bugs inserted.
    3) Profit!

    You see - there's a number 2 step, thanks to open source.

    --
    SCO employee? Check out the bounty
  31. Re:Why? by cduffy · · Score: 2, Insightful

    Why is that low? I found 44 security holes to be a rather alarming amount.

    I don't. Your average security hole is exploitable under only very limited circumstances -- say, if a program is being run with privileges that the individual invoking it doesn't have.

    Holes of that sort are extremely widespread (and part of the reason why marking programs that haven't been audited setuid is generally understood to be bad practice).

  32. Assignment was easy. by DarkAurora · · Score: 2, Interesting

    Step 1: Read example security exploits.
    Step 2: Develop script to detect. (Simple stuff like evil C functions)
    Step 3: Develop script to download packages from freshmeat and run previous script.
    Step 4: Play videogames for a few hours.
    Step 5: Write reports.
    Step 6: Profit! (Good grade would be considered profit here)

  33. Re:Well, that's surprising by vadim_t · · Score: 2, Insightful

    Sure, viruses for Linux can be written. The problem's getting them to run, and then do anything useful.

    Let's say I receive a virus attached to an email, which I open with kmail.

    First of all, I've got to save it to disk, mark it as executable, and run it. This alone makes it quite improbable.

    Second, the virus has actually to start up, and Linux binaries don't necessarily work on other systems, unless statically linked.

    Assuming it's statically linked, Linux systems are rather less standard than Windows ones. How does it send mail? Well, kmail has a dcop interface, but I don't see a function for sending. The virus could compose it of course, but the user would need to click send on it.

    Next, it can perhaps try using the server at localhost. If there's one, that is, since normal people probably aren't going to be running one. Reading the user's kmail config would probably work though, as long as the password is there.

    So, overall I'd say, yeah, it's possible. But all the obstacles above make it a lot harder to do than on Windows, especially the first one. To make it run you probably would need to find a buffer overrun in a mail client, and that's increasingly uncommon these days.

  34. Re:Modern education sunken to a new low by jrockway · · Score: 4, Informative

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

    --
    My other car is first.
  35. Re:I can see it now... by Phillup · · Score: 2, Insightful

    student: I'm pretty sure this is right. I'd like to see your ten.

    --

    --Phillip

    Can you say BIRTH TAX
  36. Re:It's just an assignment - Did you even go to un by SetupWeasel · · Score: 5, Interesting

    That kind of stuff usually doesn't work. In an Astronomy class (toward an Astronomy major, not that gen-ed crap) the professor did not tell us we would have to remember constants, and he asked them as questions. They were short questions, and weren't worth a lot.

    One of them was: What is the orbital period of Saturn? (2 pts/100)

    I started thinking about Bode's law and the posibility I could calculate it from an approximate radius I would get from that law... if I could remember it. But when you expect a 72% to be an A on a test, you have bigger fish to fry.

    Then I got it. It was right, it should work, and no one would have to be nailed to anything.

    I wrote: One Saturn-Year

    I didn't get credit for it. A couple years later a sophmore was telling me about this funny question he had in the same class. He showed it to me. It read:

    What is the orbital period of Saturn? (Do not put one Saturn-Year)

    I was so right that it had to be guarded against. Yet those were 2 points I would never have.

  37. Re:How to pass this class (females only) by narcc · · Score: 2, Interesting

    same analogy, but with 'exploit' instead of 'secure'

  38. Re:Most people will pass by winwar · · Score: 3, Insightful

    "So guy-I-knew approached Parnas, and asked why.

    "Becuase I don't like you".

    And that was the end of it."

    I wonder why? Disliking someone is NOT a valid reason to assign low grades. Thinking their work is crap is a valid reason. That statement pretty much could have enabled the student to have his grade reevaluated by an outside observer. I would have complained to academic affairs. After all, if the professor already dislikes you, that bridge is already burned.

    If the story is true, of course.

  39. Re:Modern education sunken to a new low by be-fan · · Score: 3, Insightful

    I think the point of contention is that people are saying that grades and learning *should* be related. Grades should reflect what you know --- they are utterly useless otherwise.

    --
    A deep unwavering belief is a sure sign you're missing something...
  40. Duh! by Quixote · · Score: 2, Funny

    I'd fail these students too. Clearly they hadn't heard of DJB and his attitude to sign up for his course. With such a gaping hole in their knowledge, they deserve to get an F.

  41. Re:Good idea? by jrockway · · Score: 4, Informative

    We all already failed the course :-)

    We're not blaming DJB for our failure. He told us we would fail if we didn't find 10 unique holes. We didn't find 10 holes, so we failed. It's not hard to understand. DJB is not the guy that goes back on his word. He tells you what he means and sticks with it. That's something to respect. (Same with all the DJB-isms. Nothing wrong with saying what you mean and being confident in those statements.)

    We're upset about failing, but that's life. It's the hardest CS course at the University (and this is my first semester in college), so it's expected. I know more about C, computer internals, and security than most professionals now, so I'm not too sad :)

    --
    My other car is first.
  42. Varying levels of seriousness... by Goonie · · Score: 3, Interesting
    Some of these exploits are "real" security holes, in that they are exploitable by things users might actually do - playing a media file, or printing something.

    Others are pretty implausible, for instance the jpegtoavi exploit, which requires the user to run the jpegtoavi program on a set of files provided by an attacker.

    On my quick perusal, the nastiest holes seem to be the changepassword hole, a local root exploit, and the two holes in cups, particularly the first one, which straightforwardly gets the attacker access to user "lp" where they can monitor everything that gets printed.

    One thing that is a bit surprising and disappointing is that so many of these bugs are from well-known bad coding practices. Why the hell is *anyone* still using strcat in distributed software, for instance?

    --

    Any sufficiently advanced technology is indistinguishable from a rigged demo
    --Andy Finkel (J. Klass?)
    1. Re:Varying levels of seriousness... by grumbel · · Score: 2, Interesting

      ### One thing that is a bit surprising and disappointing is that so many of these bugs are from well-known bad coding practices. Why the hell is *anyone* still using strcat in distributed software, for instance?

      Because such functions are still in the libc and because C coding books still teach them. To get rid of such things one would simply need to either remove them completly from the library or at least let gcc output a big-fat warning on their use or only allow them when some pragma or gcc-flag is set. Having a better standard way to handle strings, such as libowfat's stralloc would of course also help.

      As long as neither the libraries nor the compiler get it right and remove them, JoeProgrammer will continue to use the functions, be it by error, lack of knowledge or for portability reason.

    2. Re:Varying levels of seriousness... by hey · · Score: 2, Funny

      Oh great, I'm looking forward to that.
      ***!!!Error you are using the standard libary!!!!***
      Switch to the much better Win32 API or we'll tell your boss you are using something portable.

    3. Re:Varying levels of seriousness... by multipartmixed · · Score: 2, Insightful

      > Why the hell is *anyone* still using strcat in distributed software, for instance?

      Blanket statements like this (and like "Goto is evil") do nothing to help improve the quality of software as we know it. strcat() is not evil. Using strcat on uncontrolled/unmonitored input on buffers whose memory allocation we are unsure of IS.

      I have actually seen code like this in real production software:

      char *xyz(const char *a, const char *b)
      {
      char *s;

      s = malloc(strlen(a) + strlen(b) + 1);
      strncpy(s, a, strlen(a));
      strncat(s, b, strlen(b));

      return s;
      }

      Not only is this patently wasteful -- the strn* functions unnecessarily checking bounds AND the extra strlen() calls [depending on optimization] -- but it generates buggy code! For the string to be valid, s[strlen(a) + strlen(b)] must "just happen" to be zero.

      ACK!

      That error is caused by juvenile programmers thinking that "strcat is evil", which in turn suggests that "strncat is good".

      This code is correct, AND cheaper;

      char *xyz(const char *a, const char *b)
      {
      char *s;

      if (!(s = malloc(strlen(a) + strlen(b) + 1))
      return NULL;

      strnpy(s, a);
      strcat(s, b);

      return s;
      }

      of course, being the huge Apache Runtime fan that I am, I would write something like this myself in most "real" cases:

      char *xyz(apr_pool_t *pool, const char *a, const char *b)
      {
      return apr_pstrcat(pool, a, b, NULL);
      }

      --

      Do daemons dream of electric sleep()?
    4. Re:Varying levels of seriousness... by jonadab · · Score: 3, Insightful

      > Blanket statements like this (and like "Goto is evil") do nothing to help
      > improve the quality of software as we know it. strcat() is not evil. Using
      > strcat on uncontrolled/unmonitored input on buffers whose memory allocation
      > we are unsure of IS.

      No. The problem here (either way) is not what *functions* the programmer is
      using; the problem is what *language* the programmer is using. C was great
      in the 1970s, when computers filled whole rooms and needed every instruction
      per second that could be squeezed out of them. At the time, more robust
      languages (such as lisp) were just too darned slow, and if a feature required
      the computer to do a little too much (or waste too much storage), it just
      wasn't implemented. Word wrap was an optional _extra_ in word processing
      software, because it required the whole line to be (gasp) recopied while the
      user waited! C was great because it allowed programs that would otherwise
      have to be written in assembly language for efficiency reasons to be more
      portable -- and Unix directly benefitted from this, outstripping and leaving
      in the dust a number of otherwise better systems (TOPS-20 for example) that
      were unfortunately tied to specific hardware. Languages that allocated string
      space dynamically and did other things to coddle the programmer, such as
      lisp or BASIC, were only good for specific tasks where performance was less
      critical. The real VHLLs didn't even exist.

      Today, there are still things that need to be written in a low-level language
      such as C. Device drivers are an excellent example. The performance and the
      efficiency really matter there. The kernel's scheduler is another example.
      But these things should be written by experienced programmers who know the
      heck what they're doing. (Yeah, I know, it doesn't always work out that way,
      and even experienced programmers still make mistakes...) But we still have
      every noob and his kid brother trying to write high-level applications in C
      for no good reason, and *this* is why we still have buffer overruns -- it's
      because we still have fixed-size buffers.

      Will better languages eliminate all bugs? No. But they will, eventually,
      as they are gradually adopted, eliminate certain whole *classes* of bugs
      that have been plagueing us for 30+ years, buffer overruns being one of the
      most obvious. Pointer errors are another thing you don't have in VHLLs,
      because you don't have unsafe pointers or pointer arithmetic. (You can still
      make the mistake of treating a return value that may be undef as if it's
      definitely a reference, but the bug that results is easier to track down,
      because instead of happily writing bits into an unrelated piece of storage
      and possibly smashing something that will haunt you six hundred lines of
      code later it immediately complains that you can't use that value as a
      reference.) You don't get a fencepost error on the max value of an array
      index when you've replaced your legacy C-style for loops with foreach loops
      that don't use indices, for example. (Legacy for loops have been deprecated
      in Perl for virtually ever now, and in Perl6 they are going away completely;
      for will always mean foreach and will always operate on a list. The other
      VHLLs that haven't done this already will eventually.)

      Your correct, cheaper code is still horribly needlessly long for what it
      accomplishes: with the brace style fixed for terseness and the superfluous
      blank lines removed, it still comes to seven lines (lines!), just to
      concatenate a couple of strings, which shouldn't take seven characters.
      And yes, I know it's a contrived example, but it's still illustrative.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  43. Re:Most people will pass by wk633 · · Score: 2, Informative

    This all happened in '86, so there's not much that can be done now. The problem was not in unfair marking, the two students got essentially the same grades. The problem was the raw scores->grade mapping. The student did protest, but Parnas had a specially funded chair position. Can't think of the correct wording for it. Basically, there was nothing the department could do. So I guess that wasn't exactly the end of it, but the grade stood. The student did drop out the next year, and last I heard (over 15 years ago) was doing well without a degree.

    Rules were changed partially because of this incident (there were a number of students who complained, I just happened to know this one). The result was that profs had to come up with more subtle ways of weighting exams. One I knew used to ask a couple of essay type questions, and mark them last. If the class was doing poorly, he would grade those questions very generously.

    And yes, there was for Parnas to not like the student. He was a pain in the ass. Regardless, one would think that two students with the same raw scores should get the same grade.

  44. Re:It's just an assignment - Did you even go to un by dcollins · · Score: 4, Informative
    The requirements are to exploit 10 holes in unix software...

    Not quite. From the first slide here's the credit specification (emphasis mine):

    What you have to do
    Exams are 40% of your grade.
    Also three types of homework.
    1. Read assigned parts of textbook. Assignment due 2004.08.25: foreword and preface of textbook.
    2. Read assigned C program excerpts before we discuss them in class.
    3. 60% of your grade: discover 10 new security holes in deployed UNIX software.
    40 students = 400 new holes.
    Collaboration is encouraged.
    4 students who find 1 bug each receive 1/4 credit for it.


    Presumably a toy program you write on your doesn't count as "deployed UNIX software".
    --
    We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
  45. Re:Misleading "Exploits" (Was Re:Misleading Title) by Anonymous Coward · · Score: 5, Insightful

    No. You're wrong.

    A video player, say, should be completely immune to bad input. It should not be possible to craft an input file that causes my vide player to delete files or anything like that.

    There is a very limited class of data (scripts, executables) that need to be "dangerous". Viewing a jpeg, even a jpeg hand-crafted by Dr. Evil, should never have the ability to do anything bad [well, OK, seeing the goatse guy is abd, but you know what I mean].

  46. Re:It's just an assignment - Did you even go to un by Marxist+Hacker+42 · · Score: 3, Interesting

    Mine was modifying a string constant in Borland's Turbo C by setting a pointer variable to the begining of where the constant was stored and then changing the proper offset. When I got my test back, it said "-5, +5, I tried it it worked!". I was too much of a stupid kid to realize that you shouldn't write self modifying code in the global constants table.....

    --
    SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  47. As a teacher, I agree 100% with parent by Anonymous Coward · · Score: 2, Insightful

    I teach adult education tech classes. If everyone fails my class, I have failed. (Failing due to lack of attendence being the exception)

    If I cannot get a majority of my students to understand the topics enough to pass my grading criteria, then I have somehow failed to properly instruct them. As an employee of the school, the school has also failed them (I am an agent of the school).

    What is the point of taking a class which has a failure rate higher than, say, 50%? Unless this is a live or die case, such as SEAL training, this is completely absurd.

    As far as the students being smart enough to take the class... that is why most classes have prerequisites. If each of these students meets all prerequisites, and participates fully and honestly in the class, the failure rate should not be as high as this one appears (90%-ish).

    Instructors MUST be held accountable for being successful teachers. If the student does not learn, despite real effort, then the fault lies with the person who had the knowledge, but failed to pass it on.

  48. Re:Good idea? by idontgno · · Score: 4, Insightful
    I know more about C, computer internals, and security than most professionals now, so I'm not too sad :)

    You also know more about IT management, unrealistic goals, undeserved punishment, and PHBs than most professionals now. I don't know whether to rejoice in your hardwon jumpstart on corporate wisdom or mourn the inevitable early onset of cynicism.

    --
    Welcome to the Panopticon. Used to be a prison, now it's your home.
  49. Re:Misleading "Exploits" (Was Re:Misleading Title) by YrWrstNtmr · · Score: 2, Funny
    1. Somebody emails you a file
    2 You, apparently without ever looking at it, run that file through something like jpeg2avi or nasm
    3 Gasp! You've been 0wned!

    Which is precisely how many Win boxes get compromised.

  50. Re:In all fairness by generationxyu · · Score: 2, Interesting
    That's not hard. That would take about a days work for any proficient C hacker.

    Really? Then you do it. I'm sick and tired of people telling me that I didn't work hard enough or that I obviously don't understand C, or that "there's TOTALLY that many bugs out there." A day's work? Give me ten by a month from today, January 15, and I'll admit that I should have failed.

    I know of 3 (possibly 4) people who are passing this course. One of them, Limin Wang, is DJB's grad student. She didn't take any other courses this semester, and had the entire time to work on this. One is a very knowledgable and hard working student, Ariel Berkman, and he deserves a better grade than he got.

    The other two are Tom Palarz, the president of the ACM at UIC, and Kris Kubicki, a senior editor for AnandTech. They've slept about an hour a day the past few weeks, most of that in the CS computer labs.

    --
    I mod down pyramid schemes in sigs.
  51. Re:Good idea? by squidfood · · Score: 3, Funny
    We all already failed the course :-)

    Of course you failed. Obviously, half of you were supposed to rapidly deploy buggy software via sourceforge while the other half "fixed" the problems. Or don't you know more about Dilbert than us professionals? :)

  52. DJB Faculty Profile (with Photo) by Anonymous Coward · · Score: 2, Interesting

    DJB's UIC Faculty Profile includes a photograph.

    Always interesting to put a face with a name.

  53. True, however... by dpilot · · Score: 3, Interesting

    >1. Prof says 'I'll fail you if you don't perform a near-impossible test.'
    >2. Student says 'OK.'

    Nope.

    Student weighs factors, realizes that if he takes the test, he'll probably fail the course. FAILING THE COURSE MEANS NO CREDIT HOURS, AND LOSS OF THAT TIME TO TAKE A DIFFERENT COURSE. Therefore, with regret, he takes his second choice for that slot.

    Yes, Mr. Recruiter. I got an F in a course in my chosen major, but it was in an *impossible* course. Actually, between the presence of that F in the major field, and what it did to his GPA, he probably won't even get to see the recruiters he most wanted to see. He would have been weeded out before then.

    The learning is great, sure. The impossible grade is serving absolutely nobody and nothing except DJB's ego.

    --
    The living have better things to do than to continue hating the dead.
  54. Gremlins (was Re:Fuzz testing) by Calroth · · Score: 2, Informative

    When developing Palm OS applications, there's a similar feature called Gremlins. You load your program into the Palm OS Emulator (or Simulator) on your computer - this is how you do most of your testing anyway. Give it a random number seed, and activate Gremlins.

    It randomly taps all over the screen, fast. It pays special attention to buttons, menus, etc., but also taps on blank spaces. It types random characters into text fields, or sometimes for no reason. Sometimes it'll write fragments of Shakespeare... If your application survives a few million events, you can say with a good degree of certainty that it's reliable. If it doesn't, you get all the Palm debugging tools.

  55. Re:Good luck with that one.... by Schnarl · · Score: 2, Funny

    All other classes are inferior and a waste of resources compared to DJB's class! Oh by the way, his class will only be held in the western area of the quad in a specially built room with circular windows for optimal lighting.

  56. At least the assignment wasn't.... by mysidia · · Score: 2, Funny

    For each student to find two new security bugs in Qmail.

  57. Re:It's just an assignment - Did you even go to un by rawb · · Score: 5, Interesting

    Sir Ernest Rutherford, President of the Royal Academy, and recipient of the Nobel Prize in Physics, related the following story.

    Some time ago I received a call from a colleague. He was about to give a student a zero for his answer to a physics question, while the student claimed a perfect score. The instructor and the student agreed to an impartial arbiter, and I was selected.

    I read the examination question: "Show how it is possible to determine the height of a tall building with the aid of a barometer." The student had answered: "Take the barometer to the top of the building, attach a long rope to it, lower it to the street, and then bring it up, measuring the length of the rope. The length of the rope is the height of the building."

    The student really had a strong case for full credit since he had really answered the question completely and correctly! On the other hand, if full credit were given, it could well contribute to a high grade in his physics course and certify competence in physics, but the answer did not confirm this.

    I suggested that the student have another try. I gave the student six minutes to answer the question with the warning that the answer should show some knowledge of physics. At the end of five minutes, he hadn't written anything. I asked if he wished to give up, but he said he had many answers to this problem; he was just thinking of the best one. I excused myself for interrupting him and asked him to please go on.

    In the next minute, he dashed off his answer, which read: "Take the barometer to the top of the building and lean over the edge of the roof. Drop the barometer, timing its fall with a stopwatch. Then, using the formula x=0.5*a*t^2, calculate the height of the building." At this point, I asked my colleague if he would give up. He conceded, and gave the student almost full credit.

    While leaving my colleague's office, I recalled that the student had said that he had other answers to the problem, so I asked him what they were.

    "Well," said the student, "there are many ways of getting the height of a tall building with the aid of a barometer.

    For example, you could take the barometer out on a sunny day and measure the height of the barometer, the length of its shadow, and the length of the shadow of the building, and by the use of simple proportion, determine the height of the building."

    "Fine," I said, "and others?"

    "Yes," said the student, "there is a very basic measurement method you will like. In this method, you take the barometer and begin to walk up the stairs. As you climb the stairs, you mark off the length of the barometer along the wall. You then count the number of marks, and this will give you the height of the building in barometer units." "A very direct method."

    "Of course. If you want a more sophisticated method, you can tie the barometer to the end of a string, swing it as a pendulum, and determine the value of g [gravity] at the street level and at the top of the building. From the difference between the two values of g, the height of the building, in principle, can be calculated."

    "On this same tack, you could take the barometer to the top of the building, attach a long rope to it, lower it to just above the street, and then swing it as a pendulum. You could then calculate the height of the building by the period of the precession".

    "Finally," he concluded, "there are many other ways of solving the problem. Probably the best," he said, "is to take the barometer to the basement and knock on the superintendent's door. When the superintendent answers, you speak to him as follows: 'Mr. Superintendent, here is a fine barometer. If you will tell me the height of the building, I will give you this barometer."

    At this point, I asked the student if he really did not know the conventional answer to this question. He admitted that he did, but said that he was fed up with high school and college instructors trying to teach him how to think.

    The name of the studen

  58. Re:I can see it now... by Fulcrum+of+Evil · · Score: 2, Funny

    I wouldn't say that to DJB. He'd probably pull out 20 or 30.

    I doubt it - sendmail doesn't count.

    --
    "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
  59. Re:It's just an assignment - Did you even go to un by SetupWeasel · · Score: 2, Funny

    Today is a red-letter day!

    No matter how incidentally or innaccurately, I was favorably compaired to Neils Bohr.

  60. JUST for future reference by veg_all · · Score: 2, Funny

    No- I don't think djb cares per say

    Not to be an asshole, but it's per se

    --
    grammar-lesson free since 1999. (rescinded - 2005)
  61. Re:Good idea? by name773 · · Score: 2, Insightful

    at first i read that as: the inevitability of early onset cynicism... :)

  62. Re:Good idea? by russotto · · Score: 2, Funny

    If you'd been really clever, you'd have written some software -- preferably a whole suite of trivial related items, posted it somewhere, then "found" all the holes you put in them :-)

  63. How to get your A by Smilin · · Score: 2, Insightful

    After you've flunked for only finding 2 of your 10 security holes, take it up with the administration. Explain to them that you discovered your professor tricked you and there aren't 8 additional security holes. When the professor says there are, simply say, "Yeah? Let's see them."

    At least if you flunk, you get to watch the monkey dig through code for the next six months to avoid losing his job.

    I bet the math professors don't pull that crap with the next ten prime numbers.

  64. Re:You can attract more bees with honey... by Russ+Nelson · · Score: 2, Insightful

    Have you ever actually worked with qmail?

    Yes. It's not rubbish. Rediffmail is using it on their mail service and they have 25,000,000 users.

    Operationally, however, there are HUGE holes in his code.

    Your bullet points are numbered, but this one doesn't deserve a number, since it simply says that you have a non-zero number of bullet points.

    #2 qmail accepts all mail first, THEN generates bounce messages internally.

    Yes, it does. Why tell remote attackers which email addresses are valid and which are not? You're just inviting dictionary attacks. Qmail users never complain about dictionary attacks because they're never subjected to them.

    #3 the qmail queue processes choke up on any amount of moderate to high load,

    This is the silly qmail syndrome. You can either provision more servers or apply a patch.

    #4 DJB arrogantly states that all servers should be running in GMT time because that makes more sense when trying to figure out logfiles. Hello?! ALL MY USERS ARE IN JAPAN. They don't care about the rest of the world.

    And you call djb arrogant?

    #5 The log files are barely readable. It is almost impossible to actually track what happened to a particular delivery.

    Obviously you never discovered qmailanalog.

    #6 Want spam/virus scanning? Forget it! You'll have to patch the code!

    Well, this one is simply wrong. There are any number of qmail-queue replacements which don't require any patching.

    #7 Want LDAP support? Forget it! You need to patch it!

    Well, qmail-ldap certainly patches a whole hell of a lot of code, however, it also does boat-loads more than simply supply an ldap interface. Contrary to what you say, I managed to write an LDAP interface for a customer without having to patch qmail. LDAP, on the other hand, is generally a piece of crap, but that's another topic.

    #8 Want to fix any problem operationally with qmail? FORGET IT! IT NEEDS TO BE PATCHED!

    How else do you fix software? When you were a child did you walk to school uphill both ways?

    Sorry, I have a lot of pent up hatred for DJB and qmail. Anyone who says he is a good developer needs to actually USE his software in a real environment, in the real world,

    I have, and qmail works just fine for me and my customers.

    --
    Don't piss off The Angry Economist
  65. Re:It's just an assignment - Did you even go to un by entropy_uc · · Score: 4, Interesting

    The best part of that story:

    ...all of the methods attributed to Bohr are more accurate than the method the professor considered to be the 'right' solution.

    (delta P on the barometer will be so small that error in reading the difference will dominate the result)

  66. Re:Misleading "Exploits" (Was Re:Misleading Title) by raju1kabir · · Score: 2, Insightful
    I would hardly consider the following a remote exploit:

    Somebody emails you a file

    You, apparently without ever looking at it, run that file through something like jpeg2avi or nasm

    It is not outside the realm of possibility that, for instance, a web server would use various programs to automatically process uploaded images.

    --
    "Patriotism is your conviction that this country is superior to all other countries because you were born in it." -- GBS
  67. This is why you have a drop period for courses by Fudge.Org · · Score: 2, Interesting

    Oh for pete's sake... the link to the course includes the course slides. While college was a while ago for me... I recall that the grading and expectations of the prof are clearly stated early in the course so that everyone knows the rules.

    If you look at the first slide deck published:

    http://cr.yp.to/2004-494/0823.pdf

    You can see very clearly on page 7 that grading is very straight forward.

    Simply put, you have 60% of your grade that is not related to formal tests.

    Surely a 400 level course has adults capable of making an adult choice to drop the course if they cannot live with the grading terms outlined early in the course?

    Last day to drop courses:

    October 1, Friday

    source: http://www.uic.edu/ucat/catalog/CA.html

    That's six (6) weeks to realize that "Hey, this might not be an easy way to boost the ole GPA".

    What am I missing?

    --
    http://fudge.org
  68. Re:Good idea? by geekoid · · Score: 4, Insightful

    you given an undoiable assignment, thats the problem.
    Welcome to astronomy 101, 60% of your grade will depend on finding 10 new planets in our solar system

    "and security than most professionals now,"

    I have my doubts.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  69. Re:How to ace Bernstein's class by generationxyu · · Score: 2, Interesting

    I would have told you the same thing three months ago, but frankly, there are plenty of safe uses of strcpy, strcat, sprintf, etc, all the functions everyone assumes mean "overflow me!" gets is a different story... there's no way to protect gets. But I've looked at enough code with enough strcpy's in it:

    void suspicious_function(char* previously_mallocd_buffer) {
    char buffer[MAX_LEN];
    if (strlen(previously_mallocd_buffer) >= MAX_LEN) {
    fprintf(stderr, "input too long\n");
    exit(1);
    }
    strcpy(buffer,previously_mallocd_buffer);
    }

    Is there anything wrong with this? Other than the fact that they could have used a simple strncpy, no... it isn't unsafe, just pointless and time consuming. I think it's the fact that s[canf,scanf,printf,trcpy,trcat] are so ingrained in people's minds that that's what they have to use -- they just know it's unsafe so they jump through hoops to make it safe.

    --
    I mod down pyramid schemes in sigs.
  70. Re:It's just an assignment - Did you even go to un by julesh · · Score: 2, Informative

    ...all of the methods attributed to Bohr are more accurate than the method the professor considered to be the 'right' solution.


    I'd expect the error on making a measurement of gravity by the period of a pendulum swing and comparing the change over altitude to be _much_ less accurate, myself.

  71. Urban legend by bharlan · · Score: 5, Informative

    When an anecdote is a little too perfect (and this one is way over the top), then you need to google for it at site:snopes.com. http://www.snopes.com/college/exam/barometer.asp

    --
    (Reality reasserts itself sooner or later.)
  72. Re:Modern education sunken to a new low by AngelofDeath-02 · · Score: 2, Interesting

    Fantastic! So you've spent over a hundred dollars to learn something, and although you've succeeded, you've just destroyed your GPA uneccessarily.

    No offense but getting an F on an insanely hard course does not reflect any better than an F on an easier one. Failing your course is utterly unfair if you did infact walk away with a good solid understanding of what this "teacher" was actually teaching you. In your situation I'd have definately approached him ... They have various grading methods that would better suit the level of difficulty such as the Bell curve (as other's have pointed out.) Why? Also as other's have pointed out, If the teacher was unable to successfully teach his students to perform up to his expectations he is infact the one who has failed, and this results in a penalty on you.

    Then again, maybe your failure was to allow someone like "DJB" to control your grades. Still challenging his judgement is a good thing. If you feel you deserve a higher grade then fight for it. If not then ... You've already got your F. Besides, the best exploit is the human kind.

    --
    No, I am not an English major. My posts are subject to typos and incorrect grammar. Do not expect perfection.
  73. pollics. by leuk_he · · Score: 3, Interesting

    Het told you to find 10 vulnarebilties. Then find them. They don't have to be all true buffer overrun errors. How about finding a security vulnarebelity in a "wrong setup" environment. Avoid best practice and run php under root. and so on. Bet you can list your 8 missing vuln's in an hour.

    How about "file system becomes damaged if power is unplugged" (DOS atttack when running without UPS).

  74. Re:Good idea? by Civil_Disobedient · · Score: 3, Insightful

    We're not blaming DJB for our failure.

    Well, then perhaps you do deserve to fail. He's the one doing the grading, and he's the person responsible for giving you an assignment where success is based as much on luck as on technical prowess.

    He tells you what he means and sticks with it. That's something to respect.

    This is called begging the question. Why, exactly, is this something to respect?

    "Hey, I'm going to kill you if you don't give me your money."

    "Well, I don't have any money."

    "Sorry, gotta kill you."

    "That's cool. I totally respect that."

    Perhaps if you didn't idolize him as much, you might realize the practical consequences of a failing grade for your GPA, and potential employment future. But at least you got to learn from a kick-ass prof, right? Or rather, an ass-kicking prof.

  75. Many Eyes by ninthwave · · Score: 2, Insightful

    I think this is a very positive use of the many eyes proposition. And this helps *NIX software by having many eyes scanning code. These holes are real, though in real world terms probably not easily exploitable with common usage, but fixed now it prevents and extension of these applications in the future suffering from these weaknesses.

    I don't understand why this is a bad thing. It is the community watching itself and in this case it is the *NIX community watching itself.

    I say we need more courses like this.

    --
    I was thinking of the immortal words of Socrates, who said: "I drank what?" - Chris Knight (Val Kilmer)- Real Genius
  76. Re:Good idea? by nordicfrost · · Score: 2, Insightful

    We're not blaming DJB for our failure

    I have to say, it sounds like a stupid requirement. I study social scinences, so an equvalent for me would like; "Come up with a ten point working plan for peace in the middle east"