Slashdot Mirror


Fixing Bugs, But Bypassing the Source Code

shreshtha contributes this snippet from MIT's Technology Review: "Martin Rinard, a professor of computer science at MIT, is unabashed about the ultimate goal of his group's research: 'delivering an immortal, invulnerable program.' In work presented this month at the ACM Symposium on Operating Systems Principles in Big Sky, MT, his group has developed software that can find and fix certain types of software bugs within a matter of minutes." Interestingly, this software doesn't need access to the source code of the target program.

26 of 234 comments (clear)

  1. I sure wouldn't by Korbeau · · Score: 5, Funny

    run this software before running ClearView on it first. Imagine what this could do if it had a bug in its code!

  2. This really deserves by fuzzyfuzzyfungus · · Score: 4, Funny

    A "whatcouldpossiblygowrong". Along with, just to be on the safe side, a "colossustheforbinproject", a "shodan", a "hal", a "skynet" and probably a bunch of others that I'm forgetting right now.

  3. ...an immortal, invulnerable program... by John+Hasler · · Score: 4, Funny

    Has anyone cracked "Hello World" yet?

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  4. Re:It's interesting, but software should "expire". by Anonymous Coward · · Score: 4, Funny

    This doesn't support innovation and improvement, and that's the cornerstone of technology improvement.

    Please allow myself to introduce... myself.

  5. Re:MS will probably kill it by SnarfQuest · · Score: 5, Insightful

    If MS included this in Windows, you'd never get to see the login screen because the CPU would be so busy fixing bugs.

    --
    Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
  6. If humans did the same..! by Odinlake · · Score: 4, Funny

    The very first time ClearView encounters an exploit it closes the program and begins analyzing the binary, searching for a patch that could have stopped the error.

    Think of how much bullshit would go out of business if people were to do the same thing (i.e. sit down and think it over) when presented with some unusual idea.

  7. clearview by wizardforce · · Score: 3, Insightful

    If the programs that Clearview is monitering/patching are the target, wouldn't it make sense for an attacker to focus on Clearview first? Perhaps even alter its function to serve the purposes of the attacker instead of the user. Why attack the programs it is patching when you could hit Clearview and gain the ability to hijack everything it is patching?

    --
    Sigs are too short to say anything truly profound so read the above post instead.
    1. Re:clearview by Anonymous Coward · · Score: 5, Funny

      So run two.

    2. Re:clearview by BitZtream · · Score: 3, Insightful

      Really ... they know what they are doing? Then why is it called:

      Research

      If they knew what they were doing it wouldn't really be research would it.

      ALL software has bugs. Adding more software to fix bugs ... introduces more bugs.

      This doesn't just apply to software, it applies to just about everything, right down to the atoms that make of the universe from our perspective. As far as we can figure, the universe itself will break down to a state that will no longer support life as we know it. Adding more layers of protection falls under the laws of diminishing returns, software, hardware, bridges, cars, or molecules.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    3. Re:clearview by Danny+Rathjens · · Score: 3, Interesting

      !X id1

      id1: Friar Tuck... I am under attack! Pray save me!
      id1: Off (aborted)

      id2: Fear not, friend Robin! I shall rout the Sheriff of Nottingham's men!

      id1: Thank you, my good fellow!

      http://catb.org/jargon/html/meaning-of-hack.html

  8. Did they use that tool to develop that tool? by 140Mandak262Jamuna · · Score: 5, Interesting
    My friend developed an automatic code quality estimation program for his masters thesis. It will basically find average the number of lines per function, ratio of code to comment, and other such metrics and give a letter grade to the code. The fiendish prof announced that he will run that code through itself. Whatever letter grade it spits out will be his thesis grade. He got a D. He begged and cried and threw a hissy fit and wangled a B and scraped through the degree.

    I wonder if we should turn that software loose on itself and see what it finds.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:Did they use that tool to develop that tool? by Wonko+the+Sane · · Score: 5, Insightful

      The fiendish prof announced that he will run that code through itself. Whatever letter grade it spits out will be his thesis grade. He got a D. He begged and cried and threw a hissy fit and wangled a B and scraped through the degree.

      Fiendish? What could possibly be more fair and objective than making him eat his own dogfood?

    2. Re:Did they use that tool to develop that tool? by KillerBob · · Score: 4, Insightful

      Either that or put in an author check that automatically spits out an A+ if it detects that the author of the code was himself....

      --
      If you believe everything you read, you'd better not read. - Japanese proverb
  9. Sensationalism ruined it for me by billcopc · · Score: 4, Insightful

    When a potentially harmful vulnerability is discovered in a piece of software, it takes nearly a month on average for human engineers to come up with a fix and to push the fix out to affected systems

    Yes. It takes us 5 seconds to an hour to actually come up with the fix, the remainder of the month is spent in bureaucratic hell - sitting in a trouble ticket queue, sitting in a verification queue, sitting in a QA manager's inbox, sitting with the communications team.

    Clearview, if it does what it says on the tin, only addresses the 5 second problem. Any "sane" dev shop would still run the resultant patch through the many cogs and loops of modern software management. You won't get your hole patched any quicker, you'll just have shifted the coders' attention away from your own app's bugs, and onto Clearview's bugs. Net gain: less than zero.

    Theoretically and conceptually, it's an interesting tool (you know, like Intercal). It just doesn't really fit in the industry, IMHO.

    --
    -Billco, Fnarg.com
  10. How about by raddan · · Score: 4, Insightful

    "Entscheidungsproblem". You'd think a professor of CS at MIT would have heard of it.

    1. Re:How about by raddan · · Score: 4, Interesting

      You can't write an algorithm that takes as input another algorithm and outputs whether that second algorithm is correct or not. Since ClearView must make this decision somehow (this behavior is bad; make it good), the process cannot be algorithmic. However-- this is exactly how the vast majority of software is written now-- a programmer has a good idea about how to solve the problem, but does not "provably" solve it. If you believe language designers, that's part of the problem. ClearView just adds another layer of heuristics on top of the ones that are already there. Someone has to come up with those rules. This makes the actual work of understanding a program much more complicated. But, you know, the MIT people have been chasing AI for a long time, so maybe they don't think that understanding something is important as long as there's a good simulacrum of the thing they're trying to create. Black box computer science.

    2. Re:How about by Migala77 · · Score: 3, Insightful

      ClearView doesn't have to prove that a program is either correct or incorrect. It only has to detect certain types of bugs, and fix them. There is no guarantee your program is correct after running it.

      And personally I can't think of any cases where a buffer overflow is part of a correct program...

    3. Re:How about by setagllib · · Score: 3, Funny

      Bruce Schneier is the general solution.

      --
      Sam ty sig.
    4. Re:How about by eggnoglatte · · Score: 4, Insightful

      Except that you are making two mistakes:

      - the Entscheidungsproblem refers to the problem of finding a general solution that will determine for all possible programs whether or not they are correct. This is an undecidable problem. However, this does NOT mean you can't find a solution for certain subclasses of programs, or a program that finds certain kinds of flaws.

      - also, you already know there is an error (otherwise the program wouldn't be triggered), and the type of error (e.g. NULL pointer, array index out of bounds etc.) . That makes much easier again than the general Entscheidungsproblem.

    5. Re:How about by TheLink · · Score: 4, Interesting

      Clearview doesn't have to figure out whether the entire program is correct. It just tries to fix what's known to be incorrect (and presumably whether it falls into the subset of bugs it knows how to fix).

      The sort of "correctness" and "incorrectness" for many security problems are typically "stupid mistakes" nothing very sophisticated.

      You're taking too much of the "Ivory Tower Computer Science" view on this. Car analogy - Clearview isn't figuring out whether the whole car is perfect (in the real world it's 100% likely to be imperfect anyway ;) ), all it does is help detect and fix the holes in the exterior. It doesn't have to perfectly fix stuff.

      FWIW I've already manually fixed programs without having the source, and managed to get a program to do stuff the manufacturer said the program can't do ;). I've also fixed a TCL program stored in an oracle database by hexediting the oracle DB file, but since that was TCL it doesn't count as "without the source"...

      Just because you can't make it perfect doesn't mean you can't make it work better.

      --
    6. Re:How about by blueg3 · · Score: 3, Insightful

      Your claim to expertise is having read a single popular book, but you can't spot the common error of claiming because a general solution can't exist, no specific solution can exist?

    7. Re:How about by marciot · · Score: 3, Insightful

      Car analogy - Clearview isn't figuring out whether the whole car is perfect (in the real world it's 100% likely to be imperfect anyway ;) ), all it does is help detect and fix the holes in the exterior.

      I ran this program on my car and all was good until I went to fill up the gas tank. Bloody hell, Clearview got rid of the gas tank orifice!

  11. sensasionalists ? by cameigons · · Score: 4, Informative

    I'm sick of the stupid headlines I've been reading about the so called projects of MIT students lately... I mean, clearly an 'immortal invulnerable program' is impossible at least for practical purposes by definition(they're dependent on the underlying OS, on other softwares and last but not least on the hardware integrity). Other recent headlines about their CS students claiming to be able to tell who's gay based on their facebook friends.... pff omg, when did it all get so preposterous. Why aren't they more honest about the reach of their ambitions. If you take these teachers words to the letter it seems like they don't know what's theoretically sound and what isn't...

  12. Re:MS will probably kill it by Xtifr · · Score: 4, Informative

    imagine the sheer volume of .CONF files a Linux user would have to waft through just to get this to check a distro for bugs.

    501:~ $ locate .CONF
    502:~ $

    Looks like the volume is...zero? I think maybe I don't understand what you mean. Is ".CONF" some sort of Windows-speak for configuration files? If so, then the fact that they're all in /etc (or possibly /usr/etc or /usr/local/etc) and /home should make them very easy to skip.

  13. Re:MS will probably kill it by mewsenews · · Score: 5, Funny

    If MS included this in Windows, you'd never get to see the login screen because the CPU would be so busy fixing bugs.

    Geez... imagine the sheer volume of .CONF files a Linux user would have to waft through just to get this to check a distro for bugs.

    Is this some sort of "out-stereotype the operating system" competition? If so, here is my entry:

    If the tool from TFA existed already, Mac users wouldn't notice it until Steve Jobs named it the iPatcher and made some cutesy advertisements with Justin Long wearing an eye patch. At that point they'd proclaim it made their systems invulnerable to bugs in a far superior way than Windows and Linux.

  14. Re:MS will probably kill it by Missing_dc · · Score: 3, Insightful

    Me-thinks someone sounds jealous they did not think of it first.

    --
    How amazed would you be to suddenly find that you just forgot what I wrote and you needed to reread my post.... again.