Slashdot Mirror


Throttling Computer Viruses

An anonymous reader writes "An article in the Economist that looks at a new way to thwart computer viral epidemics, by focusing on making computers more resilient rather than resistant. The idea is to slow the spread of viral epidemics allowing effective human intervention rather than attempting to make a computer completely resistant to attack."

268 comments

  1. slow the spread of viral epidemics by batemanm · · Score: 5, Funny
    Okay everyone back to 2400bps modems :-)

    1. Re:slow the spread of viral epidemics by MImeKillEr · · Score: 5, Funny

      2400 bps is too fast.

      Everyone drop your baudrate to 110.

      Just for laughs, we used to get stoned and call a multi-line chat board here in Austin, Tx (long live AfterHours, R.I.P. Tombob). We'd drop our baudrate to 300 or 110. and attempt to have coherent conversations while inebriated.

      Yeah, pathetic but the internet wasn't available to the public yet and we were young and st00pid.

      --
      Cruising the internet on my TI-99/4A @ a whopping 300 baud!
    2. Re:slow the spread of viral epidemics by CoolVibe · · Score: 2
      I can top you on that... I think I still have my 300 baud acoustical modem (the one you put the phone on, with the rubber lippy things) somewhere in my attic...

      :) (no really, I really still got it stashed somewhere...)

    3. Re:slow the spread of viral epidemics by Reziac · · Score: 2

      You think it was scary at 300 baud... I've got a 28.8 acoustic coupler in my Computer Closet. I don't think I want to go anywhere I'd need it. ;)

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    4. Re:slow the spread of viral epidemics by Anonymous Coward · · Score: 1, Funny

      but do you still have a phone that will fit the modem?

    5. Re:slow the spread of viral epidemics by Anonymous Coward · · Score: 0

      Alas, reverting to 2400 bps modems will only make you vulnerable to the world's worst computer virus yet.

      That virus distributes itself on the modem sub-carrier present in all 2400 baud and up modems.

      Read the rest here, but rest assured, "those who use 300 and 1200 baud modems should be immune".

    6. Re:slow the spread of viral epidemics by Anonymous Coward · · Score: 0

      Nothing that a bunch of solder and some wire bridges won't fix :)

    7. Re:slow the spread of viral epidemics by Anonymous Coward · · Score: 0

      Of course you realize that his point wasn't that we should limit the bandwidth of each connection, but we should increase the latency when creating multiple new connections.

      A 2400 bps modem would limit bandwidth and increase latency, which would be unusable while throttling would still be perfectly usuable in nearly all normal situations.

    8. Re:slow the spread of viral epidemics by wolvenwraith · · Score: 0

      "Okay everyone back to 2400bps modems :-)" Imagine a Beowulf cluster of these! woohoo! lol... sorry.. couldn't resist...

      --
      Civilization at it's best! www.hydratech.org
    9. Re:slow the spread of viral epidemics by secolactico · · Score: 1

      I don't think I can top that... but do you remember the first 14.4 internal modems that came in TWO boards... yup, two slots for the modem.

      --
      No sig
    10. Re:slow the spread of viral epidemics by Wolfrider · · Score: 1

      --That deserves an Insightful mod, my AC friend...

      --Seriously, I thought the article was quite interesting, and worthy of research - as long as it doesn't slow down my Web browsing.

      --
      .
      == WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
  2. I have a brilliantly original idea by ekrout · · Score: 5, Insightful

    Start writing secure software!

    I'm not joking. The #1 rule of computer science is that computer scientists are lazy.

    We need to stop working just to accomplish the minimal functionality desired and start testing the hell out of our software to ensure that it's secure.

    --

    If you celebrate Xmas, befriend me (538
    1. Re:I have a brilliantly original idea by gorilla · · Score: 4, Interesting

      You have to seperate computer scientists, who research basic principles, with programmers, who implement those principles in available packages. No computer scientist would recommend that your develop an OS without memory protection, nor try to simulate multipe users on a system without file ownership. It didn't stop Microsoft.

    2. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 1, Insightful

      In order to accomplish this, we need to get the corporate fat cats to give us reasonable deadlines.

      They're philosophy is "get the product out as quick as possible so I can get my new (insert expensive car/truck/boat/plane here). We can easily put out a service pack afterwards to fix any major problems users report to us." I think M$ lives by this philosophy!

    3. Re:I have a brilliantly original idea by vidnet · · Score: 5, Funny

      Yeah ok......starting tomorrow.

    4. Re:I have a brilliantly original idea by FortKnox · · Score: 3, Insightful

      There's always a hole that cannot be planned. In complex systems, bugs and leaks are bound to be found, regardless of how much attention you pay.
      Plus, you usually have to balance security with user friendliness (putting on flame retardent jacket). Simply adding users vs root is a hassle for your average (home) user. People need to understand security to be willing to put in secure methods. Lets face it, people just want crap to work right now. They turn off security measures (like firewalls) to get something to work (like a game), then don't turn them back on so they don't have to deal with it the next time they try to play that game.

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    5. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 1, Insightful
      We need to stop working just to accomplish the minimal functionality desired and start testing the hell out of our software to ensure that it's secure.

      Such software is already here.

      Two words: Open Source.

    6. Re:I have a brilliantly original idea by El+Neepo · · Score: 4, Insightful

      Being lazy = good.

      If you write the simplest code you can that meet the requirements then more than likely its secure. It has no fancy tricks, its easy to see what its doing, therefore has less holes that need to be found.

    7. Re:I have a brilliantly original idea by redfiche · · Score: 3, Informative
      And the #2 rule is that hackers are not, so they'll probably find a way to break through your security if they really want too.

      Seriously, this is a whole new way to think about security, and it has a lot of promise. Security systems will never be perfect, and if they are designed never to fail, the consequences of failure are likely to be dire. By managing the consequences of failure, you can best limit the effects of a determined attack. I think this is equally true of electronic security and physical security.

      --

      Brevity is the soul of wit

      -- Polonius

    8. Re:I have a brilliantly original idea by janolder · · Score: 5, Insightful
      Hate to rain on your parade, but there is ample evidence to suggest that quality has to be designed in rather than tested into the product later in the process. If your design is flawed, testing won't help a bit. If your implementation is riddled with bugs, testing will find 95% of them, but Murphy will ensure that you get bitten by the rest at the worst possible moment.

      In this business, it's a tradeoff between quality and time to market. Up until recently, software purchasing decisions haven't been based on quality very much so the software producers have given the customer what he wants: Buggy product now.

    9. Re:I have a brilliantly original idea by mseeger · · Score: 4, Interesting
      We need to stop working just to accomplish the minimal functionality desired and start testing the hell out of our software to ensure that it's secure.

      Everyone has two complaints about the software he/she uses:

      • It's not secure/stable enough
      • It doesn't have enough features

      No one accepts, that the enhancement of one leads to a degradation of the other one. Cisco has a nice approach (at least they had it during my ISP days): There is a feature rich version and a stability oriented version. The pick is yours.

      Martin

    10. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 0
      Two words: Open Source.

      I can't believe you haven't been MODDED UP yet!

      Moderators. You know your duty!

    11. Re:I have a brilliantly original idea by h0ss · · Score: 1
      I'm not joking. The #1 rule of computer science is that computer scientists are lazy.

      Yeah, whatever.

      Are you willing to PAY for secure software? How about the average user?

      It's not just about "do security from the beginning", it also takes a lot more time to properly vett a system if you're going to say it's secure. I doubt the average software customer would be willing to double the amount they'd pay for software just for security. (This obviously would be a place to insert a comment about Free software, but I don't feel like it.)

    12. Re:I have a brilliantly original idea by cyborch · · Score: 5, Insightful

      There's always a hole that cannot be planned.

      True, but why do people have to keep writing programs with static buffer sizes? I cannot think of one single acceptable excuse to write a piece of software where a buffer overflow can happen.

      If user input is in any way involved - directly or indirectly - then you need to test it before you accept it! There is no exuse!

      Buffer overflows is not the only security issue with software, but the principle behind preventing it applies to most of the security issues out there...

      So, I have to agree with your parent poster: the people making the software are lazy!

    13. Re:I have a brilliantly original idea by FortKnox · · Score: 5, Informative

      True, but why do people have to keep writing programs with static buffer sizes?

      I think it isn't that people WRITE programs with static buffers now-a-days as much as it is that people who maintain old software don't fix the static buffers.

      Plus I could also argue what is more important to the program? Static gives me knowledge of the maximum size of memory used, if that knowledge is required. Searching is faster in arrays than linked lists (although replacing, on average, is slower). Don't assume that static buffers are ALWAYS wrong.

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    14. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 0

      Why would I want to pay for secure software? I can get Linux and OpenBSD for free.

    15. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 0

      Yeah, cause god knows openSSH has never had a leak!

      Wait? It has? D'OH!

    16. Re:I have a brilliantly original idea by jez9999 · · Score: 3, Funny

      Nah, being lazy tends to mean the exact opposite. You write crap underlying code, and then put in some fancy GUI to try and cover up the sins of the program.

    17. Re:I have a brilliantly original idea by rossjudson · · Score: 5, Insightful

      Here's a thought. Stop writing programs in languages that HAVE static buffers. Stop writing programs in languages that have memory buffers that the program is free to overwrite. The problem isn't the programmers. What you're saying is that every programmer in the world has to write perfect code every time, and that's never gonna happen. Programs need to run in safe environments. The sandbox concept for running applets has been with us for a while, and it's a good one. You have a single place where you can fix things. It's gotten pretty hard to write an applet that can screw up a machine.

      I think that ALL programs should be running in the equivalent of a sandbox at all times. There should be sandboxes inside sandboxes. When you download something off the net, you can go ahead and run it in a relatively safe, walled-off environment. There should be NO need for the program to look outside of that. Later on you might decide to allow the program more access to your system, once you begin to trust it, or some else in your web of trust has trusted it.

      The OS needs to be designed to do this from the beginning.

    18. Re:I have a brilliantly original idea by fshalor · · Score: 3, Insightful
      This really is the best way. Keeping it simple (stupid) would be the best path to follow for secure code. But then there'd be nothing to spurn the market to switch up to the latest Intel Chips and the newer software to run on the latest chips and the latest gizmos which need the newest software and the latest chips to run and...Oh, we were talking about slowing the spread of Virii. Seems this does apply.


      Of course, there's my solutions to slowing the spread of virii: (All should help. Any can be done.)

      1. switch to GNU/Linux. (Put on flame-retardant suite *now*.)
      2. Instruct users on the use of the "delete" key.
      3. Instruct users why it's not a good idea to use a GUI email programs.
      4. Instruct users into the ease of tracking your behaviors online and that little number called your IP, which is very easy to find.
      5. Instruct users how to patch their Windows Boxen, to disable services which shouldn't be enabled and patch their Explorer/Outlook/AND Offices. (Oh, never mind... Windows is already more secure than ever. :) )
      6. Explain why it's not *good* to click on every popup add that you see.
      7. Educate lusers to make them into users. (BOFH cameo.)
      8. THEN, reassess the situation and begin implimenting fixes like making the OS and Hardware more impervious to virii.


      Sorry guys, but alot can be done with the existing stuff. Even though it hasn't been made *simple* or in a lazy manner (read, easiest way), its what we have to work with. One well written piece of paper circulated to 500 people can come a long way in upgrading the user's brainware. Its eaisier than convincing M$ (and others) to rewrite code. Lets see what happens then.
      --
      -=fshalor ::this post not spellchecked. move along::
    19. Re:I have a brilliantly original idea by Tim+C · · Score: 5, Insightful

      Don't assume that static buffers are ALWAYS wrong.

      Indeed - generally, there's nothing wrong with static buffers. If you're going to use them, however, there is absolutely no excuse for not bounds checking access to that buffer. That is, if you know that the buffer can contain say 1000 characters, check anything you write to it to make sure it fits!

      That's most of what's "wrong" with static buffers - that it's too easy to use them incorrectly. It's not entirely the fault of the buffer, though, that it's easily misused

    20. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 0

      That is a defeatist attitude. It never got anyone anywhere, except maybe to an early grave...

    21. Re:I have a brilliantly original idea by jonadab · · Score: 2

      > True, but why do people have to keep writing
      > programs with static buffer sizes?

      Mostly because they are programming in computer
      languages that make basic things like storing
      information in a buffer a pain in the neck for the
      programmer. As long as we have languages with
      malloc or the equivalent (C, C++, and all their
      ilk), we will have buffer overruns and pointer
      errors and other such nonsense.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    22. Re:I have a brilliantly original idea by Keighvin · · Score: 3, Insightful

      This is a common and flawed belief among developers: write the software so it works. From a QA standpoint, you've accomplished a system requiring a trained and trustworthy user to interact with it as expected.

      What happens when it's a technically inept user or one with malicious intent? Immediately, the fact that your program expects certain kinds of information in certain character ranges etc. to be input at point X causes a problem as wrong input is provided, or it's done in an obscene amount (hence buffer overruns) and the like. If you have an extremely simple program, your approach works: if, howerever, it's like *anything* done in an enterprise development environment several programs (or several portions and routines of the same program) nest together and share that information for their own purposes. Simplicity must give way to verbosity, in this case.

      There's also expected order of operations, component stressing (memory leaks) and so on. Don't take the shortcut.

      --
      Any spoon would be too big.
    23. Re:I have a brilliantly original idea by anpe · · Score: 1

      I though being lazy = no checks of your buffer size when you strcpy, unesessary globals variables, so on ...

    24. Re:I have a brilliantly original idea by gpinzone · · Score: 2

      We already have that. It's called Java. Trouble is, Sun won't give up Java's pledge of "compile once, run anywhere" feature and create a native compiler. So we're stuck with C++ and all of its inherent insecurities for any kind of "performance" application.

    25. Re:I have a brilliantly original idea by tigheig · · Score: 1
      Everyone has two complaints about the software he/she uses:

      *Everyone* doesn't have these two complaints. My experience is that many people hold one opinion and discount the other. Those who complain about the lack of security and stability in products decry "creeping featuritis", while those who want more and more features have disdain for the geeks and wonks who have a major stake in the security and stability of the software. Most people don't care about security/stability until the lack of it bites them. Convincing people that these are important issues is like selling Life Insurance... they don't want to bother with it until they find out they need it, and then it's too late.

    26. Re:I have a brilliantly original idea by radish · · Score: 4, Insightful


      FUDDY FUDDY FUD FUD :)

      Depends what you mean by "performance application". Java is just as fast as C++ for a long-lived server process, running on a decent OS with a new-ish (i.e. 1.3.0 or above) JVM. Hotspot (even more so the newer 1.4 versions) is a fantastically good optimising engine which tunes your compilation as it runs. That's something gcc can never do...I have seen the suggestion put forward by better scientists than myself that something using the same concepts as Hotspot should in most cases be able to beat a traditional compiler, for that reason.

      For client side apps Java can "feel" a little slow, but that is often caused by the graphics libraries, Swing is a little sluggish. Look at the Ecplise IDE however if you want to see a client side graphical Java app running just as fast as C.

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

    27. Re:I have a brilliantly original idea by Walrus99 · · Score: 1

      Doh.

    28. Re:I have a brilliantly original idea by Pfhreakaz0id · · Score: 2

      Well, marketing runs companies in a free market society, which is why "imperfect" software like Microsoft's is the best selling.

      Specs? testing? what is that? I've been coding in IT depts/a .dot bomb/a consulting firm and now a government contractor. Of those, the current one has the best specs/testing and it's getting ok, but our new CS post-doc grad just looked in horror "How can you devlop is this environment." He wanted to spend two weeks writing a object model and test plan.. hey, this enhancment is due to DEPLOY in six weeks. I told him this envionment is the best I've seen in seven years and he is seriously thinking about a career change or going back into academia. Welcome to the real world.

    29. Re:I have a brilliantly original idea by saider · · Score: 1

      I think you mean fixed buffers. Fixed buffers can be either static or dynamic. malloc is for dynamic buffers. It is used to allocate memory off the heap during run time. A static buffer is created at compile time and resides in the program's data section.

      There is nothing inherently wrong with fixed buffers. Just range check the incoming stuff beforehand and make sure it will fit. There are tools that will catch pointer errors. C + Lint generates some pretty solid code.

      --


      Remember, You are unique...just like everyone else.
    30. Re:I have a brilliantly original idea by Pfhreakaz0id · · Score: 1

      crap.. I meant "in this environment".. see, I'm so stressed, I can't even take time to use the preview button.

    31. Re:I have a brilliantly original idea by quark2universe · · Score: 2

      That is a great idea. Now all we need to do is to eliminate pointy-haired managers who are breathing down the necks of the people doing the real work to get an incomplete product to QA to meet his unreasonable deadline. Oh, you might want to remove the profit motive too, because that is almost always the reason for the insane deadlines to begin with. Wait, come to think of it, isn't that what open source is all about?

      --

      Believe in things of which no person has ever learned
    32. Re:I have a brilliantly original idea by janolder · · Score: 1
      You make the invalid generalization that people can learn. History shows and my experience indicates that only a devastatingly small fraction of the poplulation is willing and able to learn about computers. Even smart people don't necessarily want to learn about "technical stuff." Try to educate your doctor (a presumably smart person) about computer virii next time you visit him or her. :-)

      Sadly, GUIs have a place in this world. If we want to improve the situation, we have to make software easier to use and eliminate the obvious pitfalls that millions of users trip over every day. You will not eliminate users clicking on every email they get with education. You have to provide them with an email client where clicking on an email or its attachments is an inherently benign action. In fact, you have to provide them with a computer system where any action (including connecting to the internet and pulling the plug) is inherently benign, unless a root password is entered. Not impossible to achieve, just very hard.

    33. Re:I have a brilliantly original idea by J.+Tang · · Score: 3, Interesting

      You realize that what you are suggesting is very naive? There's a whole class of computing at the embedded system layer. I don't know about you, but I don't want the defibrillator keeping me alive suddenly pause while it's garbage collecting some values. Or in terms of "general computing", the software for an air-traffic controllers needs to make millions (if not billions) of calculations on a radar beam to decide the position and velocity, if any, of an incoming plane. Computers are fast, but memory is slow The OS is going to be spending time allocating memory and bounds checking each radar ping; meanwhile planes will be crashing.

      Eventually at some level code needs static buffers. Well-designed programs along with proper code validation techniques ensure a minimal number of errors. Java/C#/language-of-the-month can help software engineering, but by no means are they a panacea.

    34. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 0
      No no no no NO... you've got it all wrong. It should be:

      1. switch to GNU/Linux. (Put on flame-retardant suite *now*.)
      2. Instruct users on the use of the "delete" key.
      3. Instruct users why it's not a good idea to use a GUI email programs.
      4. Instruct users into the ease of tracking your behaviors online and that little number called your IP, which is very easy to find.
      5. Instruct users how to patch their Windows Boxen, to disable services which shouldn't be enabled and patch their Explorer/Outlook/AND Offices. (Oh, never mind... Windows is already more secure than ever. :) )
      6. Explain why it's not *good* to click on every popup add that you see.
      7. Educate lusers to make them into users. (BOFH cameo.)
      8. ????
      9. Profit!!

      Sorry, I had to.
    35. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 0

      I do believe that Red Hat does the same thing. That's why thier development cycle for the server versions is a much longer cycle and usually is two versions behind the desktop one. The servers want stability and security, and lots of desktop users want spiffy features.

    36. Re:I have a brilliantly original idea by Eisenfaust · · Score: 1

      I like static buffer sizes. Many times dynamically sizing buffers are inefficient and can cause memory fragmentation (maybe leaking). You JUST NEED TO USE strncpy instead of strcpy! Dynamic buffers can also cause problems if their size is unrestricted. I wouldn't be surprised if there was a large amount of software out there that uses dynamic buffers which allow you to run a system out of memory..

      --
      Grrrrr... don't bother me, I'm thinking.
    37. Re:I have a brilliantly original idea by malfunct · · Score: 1

      The problem that probably happens most often now is a buffer overflow deep inside. The input buffer is dynamic and checked and safe, but somewhere deep down inside the code someone decided to cast to a char array and pass the string into strcpy and bam you have a place you can easily buffer overflow (2 in fact). Its hard to catch this in review and programmers often do something like this early in development to "make it easy" promising to come back later and fix it. Its a harder problem to solve than you think, I say remove all static buffers from the C specification (and C++) :)

      --

      "You can now flame me, I am full of love,"

    38. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 0

      Simplicity does not mean to write programs which are optimized for source size. Verbosity often is a good way of writing simple code. The problems start when code becomes complicated. This is usually the case when the abstraction granularity is not right for the problem: too much or too little in a single module, resulting in hard to understand/verify/debug individual modules or a system of modules which is hard to understand/verify/debug (because there are too many modules). Even if you get the granularity right, you still need programmers who understand the problem, or their abstraction of subproblems will be unnecessarily complicated. QA is an important step in software production, but QA cannot generate quality software -- it can only verify after the fact (in a feedback loop of course, but still). Expectations of certain input properties are part of a product description. If the requirement "must tolerate input from an army of monkeys with keyboards" isn't in the book, QA can't do anything to improve the situation.

    39. Re:I have a brilliantly original idea by CTho9305 · · Score: 2

      You realize java does bounds-checking on EVERY array access? Even ones where you (the coder, who sees the program at a more abstract, higher level) can be certain you are safe? That is a HUGE performance hit for anything using arrays.

    40. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 0

      But when do you check? Let's say a loop copies bytes into a static buffer. Do you check bounds inside the loop or do you do a single check that the loop can't break the bounds of the buffer? The latter is obviously much more efficient, but it also requires a little more understanding of the algorithm. Make one false assumption or an off-by-one mistake and you've got a potential security problem. That's why you absolutely should not handle static buffers outside of small and verifiable libraries. The performance penalty of "dumb" bounds checking is too big and "smart" bounds checking is too error-prone to be written over and over again.

    41. Re:I have a brilliantly original idea by phsolide · · Score: 2
      Well, marketing runs companies in a free market society, which is why "imperfect" software like Microsoft's is the best selling.

      No, that isn't the reason. MSFT is a convicted monopolist, remember? They have the best selling software because they illegally maintained a monopoly.

      I think this fact needs to be remembered in a lot of circles. You can't just blame Wag-Edd and MSFT Marketeers any more.

      --
      Quit playing Monopoly with Bill. Switch to one of many non-Microsoft products today.
    42. Re:I have a brilliantly original idea by Pfhreakaz0id · · Score: 2

      well, I beg to differ. You can't BECOME a monopoly by being a monopolist, by definition. You MAINTAIN a monopoly through anti-competitive, monopolistic action.

    43. Re:I have a brilliantly original idea by MrScience · · Score: 2

      Oh, except non-GUI email programs have problems too.

      --

      You quitting proves that the karma kap worked. The most annoying of the whores shut up. --CmdrTaco

    44. Re:I have a brilliantly original idea by spitzak · · Score: 2
      A "sandbox" will not work if the purpose of the program is to do something outside the sandbox. Whenever you see "A buffer overflow bug allows an intruder to do something with the same privledges as the XYZ server" it is because there is a bug in the XYZ server. You could put the XYZ server in a "sandbox" and the bug will no longer give the intruder dangerous privledges, but unfortunately the XYZ server will no longer have the privledges to do what it is supposed to do.

      You could make the new sandboxed XYZ server talk to another thing that *does* have the privledges. Indeed this is one of the best ways of increasing security, by making the big complex and bug-prone part unable to be dangerous. But there is no guarantee that *that* thing does not have a bug so this is not a perfect solution.

    45. Re:I have a brilliantly original idea by iabervon · · Score: 2

      Just so you know, resizeable arrays (a.k.a. "dynamic tables" or Java's ArrayList) are as efficient as static buffers, particularly for the case where you don't have an overflow of the expected size. You can also set them up to safely and automatically give errors if the size gets larger than you'd like. As far as size is concerned, they mean that you can have a very small buffer if the data happens to be small (which may be the common case), and handle the rare case of large data if it happens.

      Static buffers are less efficient to write, too, once you have the infrastructure, because you have to do bounds checking by hand in order to be safe. Dynamic tables take care of everything for you.

      Static buffers aren't always wrong, but the only really good reason to use one is when you know the exact size of the data, and you'd want to check the size (or truncate/extend it) to a fixed size anyway.

    46. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 0

      9. Tell them that true type fonts don't exist anymore.
      10. Tell them that they have to go back to the dark ages as far as word processing/spreadsheets/presentations go.
      11. Tell them that there are no more computer games.
      12. Teach them how to use vi... they'll need to know it.
      13. Teach them how to find the .conf files
      14. Teach them how to use setserial to get their dial up to work again.
      15. Why does backspace keep printing ^H^H's

      Get a clue...

    47. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 0

      Static buffers are less efficient to write, too

      Less efficient for the programmer, more efficient for the machine. Programmer time is used once, so machine efficiency is more important.

      The difference in efficiency for the machine is very small with this, probably negligable in most cases, but still real.

    48. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 0

      Stop writing programs in languages that HAVE static buffers. Stop writing programs in languages that have memory buffers that the program is free to overwrite. The problem isn't the programmers. What you're saying is that every programmer in the world has to write perfect code every time, and that's never gonna happen. Programs need to run in safe environments.

      While we're at it, let's stop communicating in English. It gets so vague sometimes and hard to understand, and it's nearly impossible to get spelling and grammar completely correct.

      Go ahead, blame the tools. Fixed-size buffers are easy and fast, and it's pretty trivial to use them safely. If you forget to check if there's water in the pool before you dive in, that's your fault.

      Why don't we just make manual transmission illegal too? The problem's not unexperienced drivers, it's the transmission that allows the driver to stall the car at an intersection.

      If you need somebody to hand-hold you through your buffer use, go ahead and use a language that babies you all the way, but don't take *my* power away from me.

    49. Re:I have a brilliantly original idea by phoenix_rizzen · · Score: 1

      There's nothing inherently insecure about using a GUI mail program. There are plenty of GUI mail programs that only show plain text. There's not much that a plain text message can do.

      What you are talking about is to stop using mail programs that use the OS to render HTML. That is easy enough to fix: switch to a mail program that has its own internal rendering engine that only renders HTML, no embeded scripts, no external images, no CSS, nothing but the bare-bones HTML. Something like Pegasus.

      The only reason Outlook is a security risk is because it uses the HTML/ECMAScript/VBScript rendering engine that is part of IE, which is part of Windows. Thus, anything you can do in IE you can do in an e-mail message (pre-)viewed in Outlook. Once you break that link, security goes way up.

    50. Re:I have a brilliantly original idea by Rothron+the+Wise · · Score: 1

      You realize java does bounds-checking on EVERY array access?

      This is incorrect. In many cases, typically in loops, hotspot will limit bounds-checking on
      all but the first and last iterations.

      --
      A witty .sig proves nothing
    51. Re:I have a brilliantly original idea by broken_bones · · Score: 1

      I think this is a situation where one must carefully select the correct tool for the job. Two cases (though there are undoubtedly more) come to mind.

      Case 1: Embedded / Specific Use Software
      If your software interfaces with dedicated hardware (e.g. a radar) that hardware can only provide certain values. If you as a programmer know the boundries within which this hardware operates feel free to use this information. If this knowledge allows you to SAFELY use a static buffer and forgo some checking to gain speed, do it.

      Case 2: User Software
      In any sufficiently large group of people most of them are idiots. This means you can't trust the input. Period. Dynamic buffers for user supplied input or bounds checking is a must. There is no excuse for not validating things a user might screw up. Whatever anti-idiot measures you include will be circumvented by the Next Generation Idiot but there is no reason to give This Generation Idiots free reign.

      "Software" is a very broad catergory. Using the tool that is right for the job is important. Every technique used must be evaluated against the criteria for the project at hand.

      Disclaimer: the scenarios outlined above are not meant to be exhaustive. They are merely intended to illustrate the point that different types of software development are, well, different.

      --

      Never disturb your enemy while he is busy making a mistake.
    52. Re:I have a brilliantly original idea by catenos · · Score: 1

      Look at the Ecplise IDE however if you want to see a client side graphical Java app running just as fast as C.

      Huh? I have used it under both, QNX 6.2.0 and MS Windows 2000. Under QNX it is barely usable (hardly optimized JVM, I guess), under MS Windows 2000 it is still definitely slower than a native application. Above-second reaction times (e.g. switching perspectives) are surely not "as fast as C" - although, of course, one can write slow code in any language.

      --
      Keep an eye on which arguments are silently dropped in replies. Not always, but often times it's very telling.
    53. Re:I have a brilliantly original idea by Wolfrider · · Score: 1

      > Here's a thought. Stop writing programs in languages that HAVE static buffers. Stop writing programs in languages that have memory buffers that the program is free to overwrite. The problem isn't the programmers. What you're saying is that every programmer in the world has to write perfect code every time, and that's never gonna happen.

      --AMEN brotha!!

      --Actually tho, I think the free compilers need to be re-coded for more sanity checks by DEFAULT. The compiler / debugger shouldn't let unsafe code get past the developer.

      --Just my $2.02

      --
      .
      == WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
    54. Re:I have a brilliantly original idea by Wolfrider · · Score: 1

      --I'd rather have a performance hit than an unsafe app. But there are ways to speed things up, as well.

      --
      .
      == WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
    55. Re:I have a brilliantly original idea by Wolfrider · · Score: 1

      --Actually, doctors are one of the few people that would be able to understand computer virii, if you use a good enough analogy.

      --Think about it.

      --
      .
      == WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
    56. Re:I have a brilliantly original idea by joelil · · Score: 0

      How about getting the software companys from writing the viruses....I truly think that alot of the viruses are written and then a fix is written and shelved.....to be released later to get rid of the virus to sell more software.......ya think?

      --
      Never underestimate the power of stupid people in large numbers.
    57. Re:I have a brilliantly original idea by rossjudson · · Score: 2

      What I am saying is that the OS should be constructed such that the program or server doesn't need to get outside the sandbox. Exactly why does it need to access other things on your system anyway? Is it a system-level program that must have that access? If so, you'll be getting a program like that from a very trusted source. Why on earth should a web server require system level access just so it can push a listener onto port 80?

      Most of this crap stems from the brain-dead security apparatus in Unix that requires root level access to do relatively simple things. A much finer, set-based security system is far preferable, keeping the kingdoms well apart.

      You gotta treat programs running on your systems in exactly the same way you'd treat a user on your system. Would you give root/sys privilege to just anyone? Hell no. What kind of operating system makes you grant that kind of access just to get simple things done?

    58. Re:I have a brilliantly original idea by rossjudson · · Score: 2

      Uh huh. I guess I am naive to believe that 99% of the programs on this planet don't run on embedded devices. You still write in assembler for embedded stuff?

      There should be as much technological distance between static buffers and your average application program as possible. There just isn't a need.

      Solidarity with embedded systems guys isn't a good enough reason.

    59. Re:I have a brilliantly original idea by jonadab · · Score: 1

      > I think you mean fixed buffers. Fixed buffers can be either
      > static or dynamic. malloc is for dynamic buffers. It is used
      > to allocate memory off the heap during run time.

      Well, my C isn't very sharp (haha), but my understanding was that
      malloc was used to allocate a determined amount of memory (at run
      time, yes). Granted, char* is even worse. Compare this to Perl,
      where a buffer overrun is absolutely impossible. C programmers
      laugh at Perl and call it error-prone because the programmer isn't
      required to predeclare every variable unless he chooses to use
      strict, but when was the last time you heard of a Perl programmer
      dereferencing an invalid pointer? The kind of bug you get if you
      mistype a variable name is on the order of "the program doesn't
      work correctly", not a rootable hole in a networking daemon.

      Yeah, yeah, performance, but what is security worth to you?

      And for all you Perl haters (by which I mean, the Python folks),
      I'm not saying everything should use Perl. What I am saying is
      that for stuff where security matters we should use languages with
      sanity checks on memory usage built into the language; Perl is
      just one example of such a language.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    60. Re:I have a brilliantly original idea by Anonymous Coward · · Score: 0

      Thanks, I did not know this.

    61. Re:I have a brilliantly original idea by EddieSam · · Score: 1

      I think that ALL programs should be running in the equivalent of a sandbox at all times.

      This is SELinux.

    62. Re:I have a brilliantly original idea by jc42 · · Score: 2

      If you write the simplest code you can that meet the requirements then more than likely its secure.

      Obvious counterexample:

      sprintf(buffer,"",lots of data);

      This is a simple elegant way to encode a lot of output text. But how big should the buffer be?

      Obviously you need to calculate the largest possible size for every % chunk. How big should these be? There is in fact no upper bounds.

      You can make reasonable assumptions. But then, 10 years from now when your code is compiled for the new FuBar 19 processor, which supports 4096-bit integers, your buffer isn't nearly big enough. And
      there have already been compilers written that support bignums as native int and float types. Granted, Microsoft doesn't supply them, but that doesn't mean they don't (and won't ever) exist.

      The POSIX standard sprintf() doesn't have an arg that gives the buffer size. This was an oversight, true, but it's a fact of life. And it's not too hard to find examples that are conceptually similar in all common programming languages.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    63. Re:I have a brilliantly original idea by julesh · · Score: 1
      You realize that what you are suggesting is very naive?

      It is?

      There's a whole class of computing at the embedded system layer. I don't know about you, but I don't want the defibrillator keeping me alive suddenly pause while it's garbage collecting some values.

      Nobody mentioned anything about GC before you did. When was the last time you worked with a modern gargage collected system, anyway? These days, those pauses are no longer necessary. Besides, what defibrillator does is simple enough that there'll be no need for any dynamic allocation at all.

      Or in terms of "general computing", the software for an air-traffic controllers needs to make millions (if not billions) of calculations on a radar beam to decide the position and velocity, if any, of an incoming plane. Computers are fast, but memory is slow The OS is going to be spending time allocating memory and bounds checking each radar ping; meanwhile planes will be crashing.

      Uh-huh? If its that complex, how come we managed to write systems that could achieve the required results ten years ago, when the fastest processors available where ~ 1/15th the speed of those available today, and memory had a typical response time of 80ns, as opposed to the ~7ns (133MHz) of today?

  3. Technique by gurnb · · Score: 5, Insightful

    Antivirus software makers are recycling some old tricks to combat computer viruses proliferating over the Internet.
    The technique, called "heuristics," checks for suspicious commands within software code to detect potential viruses.

    Heuristic techniques can detect new viruses never seen before, so they can keep malicious code from spreading. An older method, called signature-scanning, uses specific pieces of code to identify viruses.

    Both methods have down sides. Heuristic techniques can trigger false alarms that flag virus-free code as suspicious. Signature-scanning requires that a user be infected by a virus before an antivirus researcher can create a patch--and the virus can spread in the meantime. Most antivirus vendors use both techniques.

    It's time for the industry as a whole to look at different approaches The time-honored method of signature scanning is a little worn and weary given new viruses coming out

    --
    "This must be a Thursday, I never could get the hang of Thursdays."
    1. Re:Technique by OeLeWaPpErKe · · Score: 5, Interesting

      heuristic scanning is very ineffective.

      why ? new viruses are designed to subvert them. I've done it, installing 5 virusscanners to check if, and how they detect your virus. (btw my virus was a .com infector without a chdir instruction, not very dangerous, but it worked)

      example :

      wrong:
      -> to_infect = "*.com"; // oops, heuristics detect this

      right:
      -> boem = "*.c";
      -> othervariable = 5;
      -> to_infect = strcat(boem,"om");

      I have yet to see the first scanner that detects this one. The difference in codesize is about 3 extra bytes (assuming you were using strcat anyway) so in today's 500kb viruses it is negligeable.

      Heuristics are nice, they do have some effect, but they are no solution.

      Virusscanning is inherently responsive. The best they can hope to do is to repair the damage when it is done. They have no use whatsoever for online worms.

    2. Re:Technique by Tenebrious1 · · Score: 4, Insightful

      It's time for the industry as a whole to look at different approaches The time-honored method of signature scanning is a little worn and weary given new viruses coming out

      True, but most of the new viruses that come out are produced by script kiddies and their virus construction kits, and heuristics work well for detecting these.

      Besides, AV software does not stand alone. AV security includes scanning, monitoring and blocking at the mail servers and firewalls, good communication between av software companies and IT AV staff, desktop security policies, and the most important, user training. Admittedly the last is the hardest, but well informed users are less likely to infect themselves and risk infecting everyone else.

      --
      -- If god wanted me to have a sig, he'd have given me a sense of humor.
    3. Re:Technique by radish · · Score: 2

      I believe (and I may be wrong) that the approach modern heuristic scanners take is to look at what a program does externally. So no it wouldn't see you constructing the file name, but it would see you opening file handles to a bunch of .com files and writing to them. That's the dodgy behaviour, not creating the filename - you could just be "ls"!

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

    4. Re:Technique by Minna+Kirai · · Score: 3, Informative

      heuristic scanning is very ineffective.

      Yes. By definition, heuristics can only find some evil programs, not all of them. (If they could, they'd be algorithims). Holes will always exist.

      And since virus-scanner software must be widely distributed to all the users it's supposed to protect, the virus author can always test his code against the heuristic until he finds a way to slip past it.

      This suggests an altered business model for anti-virus vendors: start treating their heuristics like a trade secret, and don't let them out of the building. Run virus scanning on an ASP model.

      Of course, the privacy, network-capacity, and liability problems with that approach are enormous.

  4. human intervention by it0 · · Score: 3, Insightful

    Doesn't current human interaction show that it only stimulates viral spreading , by opening emails and running stuff because it says "I love you" not to mention the spreading of emails "warning new virus delete file foo.exe?"

    1. Re:human intervention by Ektanoor · · Score: 3, Interesting

      Absolutely correct. It is amazing to see how people simply and roughly ignore warnings, rush to open letters with such amicable statements like "Love you", "You won!", "About our last discussion", "Concerning your message". Such mails are usually the basis for those huge burst of virus epidemics inside certain corporate networks. There are times when a new virus comes in and goes nearly unnoticed. However, when someone plays a little social engineering and sends some letter with a key phrase (cliche), one may see how panic rises inside the building in a matter of minutes. And it is curious to note that this really does not depend on the automatisms of the antivirus programs, the technicities of the admins or the experience of the users. It is a matter of network use and personal expectations. Some people overuse corporate systems for personal purposes, others use it for the majority of communications among colleagues and some see it as an escape hatch into a "virtual" world. Depending on the way such networks evolve, certain common cliches come up into frequent use. It is enough to send some E-Mail containing such cliche and a good exploit to see users storming the admins with complaints.

      Personally, I have seen some interesting trojan epidemics on networks that are in no way connected to the Internet. There was a company that was terribly paranoid and allowed Internet use only and exclusively from a particular computer. This way they thought they could overcome problems with viruses they had in the past. There was a not so dumb admin that dealed with the E-mail, filtering it through antivirus tools, before copying it into a diskette and send it into the LAN. And you know? They kept having serious problems with viruses. Some deeper analysis showed that every trojaned E-Mail containing a corporate cliche inside the subject was always the cause for the next epidemics.

    2. Re:human intervention by jez9999 · · Score: 1

      Doesn't that sya something about how completely inadequate the antivirus software is, though? My dad keeps having problems with viruses at the moment. One machine connects to the internet, and gets the majority of the viruses although some (Brazil?? Code Red?) have been found on other networked machines. Yet he has the supposedly wonderful Norton Antivirus installed on all machines, and it keeps popping up and 'quaranteening' files, apparently to no avail.

      I think a big problem with viruses is the false sense of security given by antivirus programs. People install them and think they can do anything with no worries about getting a virus. Personally I have no antivirus tool installed on my machine, am connected to the net nearly 24/7 with ADSL, and have only ever got about 1 or 2 viruses, ever. And they didn't do any serious damage :-)

  5. How's that again? by pknoll · · Score: 1
    Sounds to me like a clever programmer could use this very feature as the payload. You don't need to DDoS your target machines if the throttle will effectively do it for you.

    I must think on this.

    1. Re:How's that again? by Ripplet · · Score: 1

      Read the damn article, the whole point is that it *doesn't* affect performance, except in an absolutely minimal way. The technique depends on the fact that the machine will behave differently once the virus attacks, and it's this different behaviour that is disrupted, *not* normal behaviour.

      --

      Skiing? Check out The Independant Skiers Portal

    2. Re:How's that again? by The+Evil+Couch · · Score: 2

      it's for users, not servers. how many users do you know that make more than 1 connection per second? a webpage with multiple linked images from different sites would be about the only thing I could think of off hand that a typical user would be looking at that would request more than one connection established per second.

      No DoSing here. It's completely transparent to the guy in room 207 sending email or looking up stuff on the intranet.

    3. Re:How's that again? by pknoll · · Score: 2, Insightful
      I did read the article. And then I looked beyond it. Keep in mind that no virus/worm has yet been written with throttle-equipped computers in mind.

      Hackers/kiddies/whomever are annoyingly clever at times. My assumption is that someone may be able to take advantage of a throttle to compromise legitimate traffic.

      Since that's what exploits are all about, I have absolutely no doubt someone will try it if such defenses become commonplace.

    4. Re:How's that again? by jez9999 · · Score: 1

      I think your understanding is flawed. The way I read it, the throttle will only limit the number of *outgoing* connections, making a DDOS basically impossible, far from making it easy. Incoming connections would not be affected. However if a trojan or whatever tried to open 1000 connections out of your machine for a DDOS, you would be informed, and the trojan would be found out.

    5. Re:How's that again? by pknoll · · Score: 1
      Yeah... if that's how it works, that's different.

      I still mislike the intentional degredation of any service in response to an outside influence, though. If there's a way this can be manipulated to have an adverse effect, it'll be attempted, no matter how hard it is to do.

    6. Re:How's that again? by Minna+Kirai · · Score: 2

      The proposed throttle limits the number of outgoing connections to NEW machines. This will have no effect on the execution a traditional DDOS attack- DDOS means that all the infected systems target one computer, instead of how a propagating worm targets random computers.

      A hacker infiltrates 2000 random PCs, and instruct them to hammer on www.ebay.com at a synchronized time. They each connect, the address is added to the throttle's automated whitelist, and away they go.

      The prepartion of a DDOS could be slowed, if it uses "viruses" to prepare the helper systems. But super-fast spreading "viruses" (mostly worms, really) aren't what you use to prep a DDOS- slow & steady is best for that.

    7. Re:How's that again? by Ripplet · · Score: 1

      Well OK, but as I understood it, the throttle behaviour is static, so will not be affected by the presence of the virus.

      I think it more likely that the virus writers will work round the throttle, e.g. by not allowing an easily detectable backlog of requests to build up, etc.

      --

      Skiing? Check out The Independant Skiers Portal

  6. The best way to throttle viruses by Anonymous Coward · · Score: 2, Interesting

    is to launch global network monitoring, perhaps monitered by a reputable security company like mi2g. It would require nodes at pretty much all internet connections, of course, at could be costly, but the cost is miniscule compared to the savings. Then that company could record traffic and, once a virus propogates, backtrack through teh logs for the first time it appears. From there, we could find the originator and bring the full weight of the maw on him.

  7. NOW we're talking! by Shoten · · Score: 4, Insightful

    This is an excellent idea. For a long time the fight against computer viruses (as well as many other aspects of computer security) has been focused on winning or losing, period. Try to stop the virus, and that's it. But what about what happens when a virus gets through? Like almost all things in computer security, there hasn't been enough attention given to what happens if security fails. Bruce Schneier has been yelling from the mountain that security is as much about what happens when safeguards don't work as it is about making sure they do. The notion of being able to keep a virus in check to a certain degree is a good example of security that can fail gracefully when a new virus comes around.

    --

    For your security, this post has been encrypted with ROT-13, twice.
    1. Re:NOW we're talking! by Telastyn · · Score: 2

      The problem of course is that they're trying to slow the virus so human intervention can be taken, when human intervention probably opened the .vbs script in the first place.

  8. This will of course lead to a new class of virus.. by Unknown+Bovine+Group · · Score: 5, Funny
    The "annoy the user to death" virus.
    You have a possible virus(mickeymouse variant 1a). Transmit to everyone in your address book?
    No.
    You have a possible virus(mickeymouse variant 1b). Transmit to everyone in your address book?
    No.
    You have a possible virus(mickeymouse variant 1c). Transmit to everyone in your address book?
    No.
    You have a possible virus(mickeymouse variant 1d). Transmit to everyone in your address book?
    No. ARGH!
    --
    m00.
  9. One connection per second? by Malduin · · Score: 2, Insightful

    Could you imagine how slow Slashdot would be at one connection per second? How well could this work on high traffic sites?

    It would probably save other sites from being Slashdotted, though.

    1. Re:One connection per second? by /Wegge · · Score: 2, Informative

      Could you imagine how slow Slashdot would be at one connection per second? How well could this work on high traffic sites?


      If you read the article, you'll see that the limit is on OUTgoing connections, not incomming traffic. In other words, this type of AV effort will not eliminate the slashdot effect.

      --
      //Wegge
    2. Re:One connection per second? by Pean · · Score: 1

      Good point. The only thing I can think that would help is

      The idea, then, is to limit the rate at which a computer can connect to new computers, where "new" means those that are not on a recent history list.

      --
      ----------
      "Duffman says a lot of things, OH YEAH!" - Duffman
    3. Re:One connection per second? by Unknown+Bovine+Group · · Score: 1

      I assume a server listening for inbound connections and responding to them would not be throttled, only one initiating outbound connections. Of course, this would be one thing that could be manipulated to "trick" the throttle.

      --
      m00.
    4. Re:One connection per second? by iamafreeman · · Score: 1

      Now make that 1 connection per (leap) year for ad servers and I'll agree

    5. Re:One connection per second? by susano_otter · · Score: 2

      How could you "trick" the throttle, though? The design seems to be pretty straightforward: Either you're trying to initiate an inordinate number of connections in a very short period, or you're not.

      In the first case, the throttle is not tricked into allowing these connections without user approval. In the second case, it's probably not a virus. And if it is, the spread will be painfully slow, and the AV manufacturers will have ample time to deal with it. The design appears to be too simple to spoof, really. Am I missing something?

      --

      Any sufficiently well-organized community is indistinguishable from Government.

    6. Re:One connection per second? by Unknown+Bovine+Group · · Score: 1

      Imagine infected servers "assisting" each other:

      One infected server finds another infected server (or infects it). It then begins to bombard this server with packets (only 1 IP is being connected to, throttle is happy and does nothing). Those packets contain forged IP headers. The OTHER server seems to receive thousands of INBOUND connections from thousands of random machines. It then REPLIES. Throttle is happy and does nothing.

      Some of those random 'replies' happen to infect NEW servers. Repeat.

      --
      m00.
    7. Re:One connection per second? by susano_otter · · Score: 2

      Clever. I will stand down, now :)

      --

      Any sufficiently well-organized community is indistinguishable from Government.

  10. Autonomous anti-virus programs? by Anonymous Coward · · Score: 0
    How about neural networks: unleashing self-learning and constantly evolving anti-virus programs on the (intra)net?

    Hmm... Gibson's AI intrusion countermeasures coming to life?

    1. Re:Autonomous anti-virus programs? by jez9999 · · Score: 1

      There's an idea. Instead of one company researching/detecting viruses, why not have a program similar to those anti-spam implementations, whereby if 10 people report a signature as a virus to the network, the network informs all machines and blocks the virus... somehow? :-) Well it sounded good in my head...

    2. Re:Autonomous anti-virus programs? by Anonymous Coward · · Score: 0

      Thank you for forwarding your virus submission(s):

      WINWORD.EXE (3)
      IEXPLORE.EXE (4)

      This automated system has put these files on a watch list. If any further complaints are received about these files, they will go onto an automatic ban list.

      Thank you for your submission.

      Some unrecognised hack.

  11. Hope he doesn't patent this by FearUncertaintyDoubt · · Score: 2, Interesting
    It could be of so much benefit to everyone in helping stop attacks (and make them not worth attempting, at least in their current form). But he's a researcher for HP, so I am guessing he will. Oh well.

    I just got an image of him presenting his paper, and pointing to each audience member, "patent pending, patent pending, patent pending" ala Homer Simpson.

  12. Not very sophisticated. by onomatomania · · Score: 4, Insightful
    Article blurb:
    The idea, then, is to limit the rate at which a computer can connect to new computers, where "new" means those that are not on a recent history list. Dr Williamson's "throttle" [...] restricts such connections to one a second.
    Hrm... well, it might have some benefit for things like Nimda, but it won't do anything for nasties that spread via email. If this becomes a default in a future version of Windows, though, you can bet that any virus meant to propagate by opening outgoing connections will just self-throttle, or disable the feature first. Already there is precedent for this, such as Bugbear that disables software firewalls so it can get out and spread.

    I would much rather see effort spent educating people to install security related patches regularly and turn off unused services, and push vendors towards "secure by default."
    1. Re:Not very sophisticated. by redfiche · · Score: 1

      I can only assume the same technique would apply to emails. The point is to assume that your security may fail, and to think about what the consequences of that failure would be.

      --

      Brevity is the soul of wit

      -- Polonius

    2. Re:Not very sophisticated. by Badgerman · · Score: 2

      The basic concept could be applied to emails, perhaps - unexpected email requests, a system that scans for outgoing mails and compares it to a common list of outgoings, or detects spoofed addresses, etc.

      The BASIC idea of finding ways to strangle virii and warn of spreads is a good one. But you make an excellent point that we have to consider ALL methods of spreading virii.

      --
      "The Sage treasures Unity and measures all things by it" - Lao Tzu
    3. Re:Not very sophisticated. by GT_Alias · · Score: 3, Interesting
      The idea, then, is to limit the rate at which a computer can connect to new computers, where "new" means those that are not on a recent history list. Dr Williamson's "throttle" [...] restricts such connections to one a second.

      OK, this seems to point to the question: Why was the ability to connect to "new" computers at an extremely high rate there in the first place? Is that ability ever utilized to any extent in legitimate, day-to-day operations?

      If so, this might cause you some problems and putting "throttling" in there is a really bad idea. But if this ability isn't used, then maybe the "throttling" should be put in at the OS level.

      The only time I can see having this at the OS-level being a problem is when you first start up some big iron that needs to connect to thousands of clients. The OS might kill any attempt to do this. But once you've established a semi-regular list of clients, then having the OS thwart any attempts to collect to a massive amount of "new" machines seems like a good idea.

    4. Re:Not very sophisticated. by jez9999 · · Score: 1

      Yes. What would make this system work well is 2 features; first, a 'temporarily disable throttle' for when you need to connect to many machines at once, and second, a 'disable throttle for these applications' so you could disable it for, say, a web browser. I wouldn't like to have to wait 1 second for each new outgoing connection to a new server; there may be a webpage with links to images/IFRAMEs/etc on many different servers.

    5. Re:Not very sophisticated. by JoeBuck · · Score: 2

      Consider a high-volume mailing list with 10,000 subscribers, who get their mail on 8000 different servers. If the machine decides to "throttle" and connect to only one host per second, it takes over two hours per message. Now what happens if there are 20 messages per day? The queue will grow and grow.

      Ah, you say, but these hosts will all be on the "recently accessed" list. But what if you bring it down and start up a new host? Well, perhaps the OS could contain a command to turn throttling off. Hmm ... what's the first operation the virus will attempt to perform?

    6. Re:Not very sophisticated. by susano_otter · · Score: 2

      How about this:

      Throttle new connections from luserland by default. Sysadmins with connection-heavy applications can keep the throttle off their systems, and focus on the traditional "advanced" methods of virus protection: secure systems, regular patches, diligent auditing, &c.

      --

      Any sufficiently well-organized community is indistinguishable from Government.

  13. security vs. privacy by GdoL · · Score: 2, Interesting

    The author refers the different behaviour of a computer infected by a virus as a way to detect the virus. What the author says is that a virus will try to make connection to as many comouters as possible. This different behaviour is then monitorized by a system and someone somewhere is informed of the presence of the virus.

    But to have this system installed you will be giving someone an authorization to see your computer use profile, giving away your privacy. And it will not detect most virus that are only interested in destroing your data and/or spam your friends via email.

    --

    ------I can please only one person per day. Today is not your day. Tomorrow isn't looking good either.------
    1. Re:security vs. privacy by The+Evil+Couch · · Score: 2

      The way this looks like it's written to me is to be used in business LANs. No need for privacy there. The bottom line is what needs to be looked after. If the sys-admin needs additional permissions on your computer to be able to keep you from doing something stupid, oh well.

      I know I'd like to beat some of my users regularly with a stick.

    2. Re:security vs. privacy by Anonymous Coward · · Score: 0

      no idiot. here's several good applications for it (even though I don't think it will work)

      an event log monitor or a syslog monitor that watches for these outgoing connections, and when it sees them, it notifies the USER. This could easily be installed on your home machine, runs within the scope of your home machine, and never ever ever sends information out. It could/should be open-sourced, even. It could easily be adapted to look for incoming connections in the same fashion, since the average home machine is NOT a server and shouldn't expect incoming connections.

      Second, on a corporate lan your privacy is irrelevant. They own the machines, they own the bandwidth (or they rent it, but it's not yours), and security is THEIR problem. Therefore, they could stick this stuff on the firewall, proxy, router, or whatever, and just watch each host (without requiring an agent on each host) and bammo, the security admin gets a pager notification or something and unplugs the suspected host from the network. Then he goes and does a virus scan, or reformats, or whatever, to clean it. Nothing infected, the corporate lan is safe again!

      I'm all about protecting privacy, but why can't you just figure out how to protect your privacy without getting paranoid everytime someone comes up with a new way to do something?

      Fuckin' use your brain!

  14. Tries... by Ripplet · · Score: 0, Offtopic

    Tries desparately to think of something interesting to say about this post, other than, "cool", "why didn't I think of that" etc. Fails.

    Tries desparately to resist temptation to mention FirstPost. Fails.

    Tries to think of something else to discourage moderators from hitting the thumbs down button. ??

    --

    Skiing? Check out The Independant Skiers Portal

    1. Re:Tries... by jez9999 · · Score: 0, Offtopic

      Looks like you failed.

  15. Now were gonna have by dethl · · Score: 2, Insightful

    semi-anti-virus programs that "hold" the virus in until Joe Blow computer user comes in, and accidentally releases the virus into his machine.

    --
    "Some fight for law. Some fight for justice. What will you fight for? One day, you will see."
  16. Will it work? by yogi · · Score: 2, Interesting

    If the throttle is implemented on the same machine as the virus, the virus writers will turn it off.

    If it becomes a widespread implementation on the upstream routers, then virus writers will throttle their own connections to 1 per second to evade detection.

    This defense was only tested against Nimda, and other viruses may work other ways. Will it stop email virii?

    Makes the Warhol worm a bit harder to implement though :-)

    1. Re:Will it work? by leuk_he · · Score: 2

      For an other reason i doubt this will work.

      Nimba (the first one) had a bug so it scanned all the ip's in the same order. (it forgot to seed the random generator). But if a virus truely randoms seeks out ip's it will be trothled for a short while. But after some time the same exponentional behaviour will occur where more and more computers infect more and more computers.

      But he concludes correctly: nimba will be throtled.

    2. Re:Will it work? by Desco · · Score: 1

      Can't use Gnutella if connections are throttled to 1 per second...

      Can't play Quake if connections are throttled to 1 per second...

      Matthew Williamson deserves to be throttled once per second...

  17. Details, details by TillmanJ · · Score: 2, Interesting

    ...where are the details. What kind of heuristics is this 'throttle' using? Do they look for disparate connections, like 100+ individual hosts per minute, or simply just for connections outside of a tripwire-esque 'connection profile' for the machine? What kind of protocols does the throttle watch?

    I really enjoy the Economist, but this article is so shallow and fluffy, especially for them.

  18. Re:Micro$oft sponsored idea? by Anonymous Coward · · Score: 0
    Oh, that's insightful. Instead of trying to discuss my suggestion you resort to calling my post "bullshit".

    Nice going, turd for brains. No wonder Slahsdot's such a pile of shite these days.

  19. computer history by it0 · · Score: 2, Interesting

    The article basicly says that it wants user intervention when it connects to a new/unknwon computer it hasn't connected to before. So the virus could still spread to it's known list?? What if you run kazaa? The program would block outgoing connections.. I know which one is going out of the window first..

  20. Link to paper by NearlyHeadless · · Score: 4, Informative

    Here's Williamson's paper on the idea: Throttling Viruses: Restricting propagation to defeat malicious mobile code I haven't read it yet, but I see one potential problem right away. When you load a web page, you normally make quite a few connections--one for each image, e.g. I'll have to see how he handles that

    1. Re:Link to paper by NearlyHeadless · · Score: 2
      When you load a web page, you normally make quite a few connections--one for each image, e.g. I'll have to see how he handles that.

      Now that I've read it, I see that he's just talking about the first connection to a computer. So, if your web page's images are all on the same server, no delay. If you have one on images.slashdot.org and another on adserver.f-edcompany.com and another on aj783.akamai.net, there will be a slight delay.

    2. Re:Link to paper by frank_adrian314159 · · Score: 2

      OK. Allow a system to set up 5 connections in the first second, 3 in the second, and 1 in the 3'rd. Then have a relaxation period of 4 seconds where no connections could be initiated. Of course, there goes a lot of thte pr0n industry :-). But maybe people would stop designing crap graphic sites with more eye candy than info if you did something like this, too.

      --
      That is all.
  21. Issue at Hand by seangw · · Score: 5, Insightful

    I think the issue at hand is a more global issue faced when writing applications.

    Software is expected to behave 100%. How many of the developers here have had some strange bug, that may only appear in 1 out of every million users (not instances, otherwise it would happen in less than a second in most all modern processors). Then we are asked to fix it.

    This solution is great, throttle the computer, lose that 2% of all connections being instantaneous, but then it won't be perfect.

    I think we have to more realistically analyze the needs of modern software, and accept that it can "fail" to an acceptable degree if we want some superior functionality.

    The human brain is great, but it fails (quite too much for myself). IBM is annoucing building a computer that could simulate the human brain, but it won't reap the rewards of our brains, until it's willing to give in to the issues that we face, uncertain failure.

    With our "uncertain failure", look how great we are at calculating PI to the 100th digit (well, normal individuals anyway). Our brains certainly couldn't calculate nuclear simulations with the "uncertain failure"

    We will probably have to split "computer science" into the "uncertain failure, superb flexibility" and the "perfect, 99.999% of the time" categories.

    This sounds great for the "uncertain failure" group.

  22. Sounds like Microsoft is just right for the job... by CrazyDuke · · Score: 0, Troll
    "...after all, at Microsoft, we really know how to slow down your computer for you."

    /me can see the flames mentioning X+KDE and X+Gnome's speeds being slow as well decending upon him. @_@

    --
    Any sufficiently advanced influence is indistinguishable from control.
  23. Problems With Insecurity by txtger · · Score: 4, Insightful

    A lot of the vulnerabilities of these systems are things that are just downright idiotic, in my opinion. We've made programs that don't really need to talk to the outside world able to do so (Word, Excel), and we've given programs that shouldn't be able to control the filesystem and other aspects of the system that privilege (Outlook, Internet Explorer). During the Summer I managed to have Internet Explorer install software for me (.NET Platform).

    Why do we not look at applications and give them a domain before we just open the floodgates? Why not just say, "hey, email comes from the outside world, I don't trust the outside world, so I won't let my email client do anything it wants to". I know that this wouldn't stop all of these problems, but I think the general idea would circumvent many virii.

    1. Re:Problems With Insecurity by GigsVT · · Score: 1

      That runs completely counter to what MS's design goals are.

      Document-centric, not application centric.

      Really, they took this stupid design goal from Apple, king of the "you don't run applications, you run documents" paradigm.

      This one mindset has caused a large number of MS's recent worms and viruses.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    2. Re:Problems With Insecurity by Tony-A · · Score: 1

      Document-centric, not application centric.
      Good point.
      Dunno if the design goal is stupid, but it doesn't scale even to using a DOS-level computer. The problem is that you have to trust everything and everything all the time. Maybe OK if you're not doing much, but big problems if you try to extend the scope. The viruses and worms are the nicest part of it.

  24. Time for a change of strategy by twosider · · Score: 1, Interesting

    The current method of paying a mandatory annual fee to one of the anti-virus companies seems almost like an inherent conflict of interest, much as plumbers used to install pipes that easily corrode in a few years. We're always playing catchup, and I have an *extra* annual fee for each of my computers connected to the internet.

    Searching and scanning for new viral signatures are not a final solution. The real solution is a transparent system where processes running are recognized by the operator, much as you recognize a familiar face when the mailman comes to the door.

    I have so many services/processes running on WinXP that I have no idea what half of them do, but I can't turn them off, or something won't work. Seems like virus authors hardly have to try to find ways to exploit millions of systems with a single outbreak.

    To those working on a different solution, thanks in advance.

  25. attention virus writers by Anonymous Coward · · Score: 0

    attention virus writers: There is a new technology on the horizon. It hasn't been implemented yet. You only have a year or 2 to figure out a way around this.

  26. This just ups the ante. by fractalus · · Score: 2, Informative

    We've got malware that now disables personal firewall software so as to avoid detection. This throttle might be an effective patch against current viruses, but the next round will simply work around the throttle, if it is applied locally.

    Of course the article doesn't really say whether this is enforced on the local machines or is applied from outside (i.e. at a switch or router). However, by talking about it as an inoculation, it suggests it really enforced on the local machine.

    It's a good idea, in general, but it has to be user-tweakable, and that means it's virus-tweakable too.

    --
    People are never as simple as their stereotypes. This applies equally to Christians, Muslims, and Emacs-lovers.
  27. Good idea! by Gekke+Eekhoorn · · Score: 2, Insightful
    And it's not that difficult to implement either.

    Give your switches enough memory and let them keep a history of 20 IP addresses per host. (this number needs to be tweaked according to usage of course) When you get a IP packet going to a new host, record the address and start a 1-second timer. While the timer runs, drop all IP packets to hosts not on the list.

    The packets you drop will be resent, and you get the wanted behaviour.

    Another advantage is that you only need to change the switches, not the systems.

    Only problem I can see: What about web pages with lots of images from different servers? Those will take forever to load. You could tell everyone to use a proxy, but you wouldn't be able to run this throttling on the proxy...

    1. Re:Good idea! by Anonymous Coward · · Score: 0

      Hey, throttling down the ad images and pop-under windows from doubleclick, etc. seems like a good idea to me! Now, how do we make this work with mailservers to choke off the spammers? hmmmmm....

  28. suggestion... by Dexter's+Laboratory · · Score: 3, Funny

    Run Windows! That'll slow things down. Maybe it would slow down the spreading of viruses too?

    1. Re:suggestion... by 6Yankee · · Score: 2, Funny

      Run Windows! [...] Maybe it would slow down the spreading of viruses too?

      You really haven't been paying attention, have you?! :))

    2. Re:suggestion... by ethereal · · Score: 1

      Unfortunately, that seems to have been one of the few computing tasks Windows was optimized for :(

      --

      Your right to not believe: Americans United for Separation of Church and

  29. Have fun! by Anonymous Coward · · Score: 0

    I think we should go back to having fun hacking up new programs and having a hell of a time debugging them instead of just throw it out for money so the consumer can just buy it and it get rated like crap or midgrade to another program and becomes another victim

  30. If education can thwart AIDS� by registered_user · · Score: 2, Insightful

    How about some Outlook awareness classes?

  31. Gnutella, Seti@home... by Anonymous Coward · · Score: 0

    The idea, then, is to limit the rate at which a computer can connect to new computers
    Hope this throtlling doesn't adversely affect p2p apps.

  32. Unfortunately... by Anonymous Coward · · Score: 1, Insightful

    ...it is rarely up to the implementors to decide. The project has a budget which is too little, and there is a schedule, which is too tight, and everyone else not in the project expects to see miracles.

  33. "computers" resistant to virii? by Anonymous Coward · · Score: 0

    Wouldn't it be more accurate to say "operating systems"? Of course the article appeared in a mainstream, non-techinical journal so I guess:

    (Microsoft Windows) == (computer)
    Of course some "computers" are already resitant to virii (viruses?):

    Worms on the other hand...

  34. Support Neo-Ludditism by corvi42 · · Score: 4, Funny

    [SARCASM]
    Prevent the spread of viruses, make computers more secure, enjoy life in the Real World, spend more time with your family & loved ones!

    All this and more can be yours! Support Neo-Ludditism - break your computer today!

    No computers means no computer problems!
    Just imagine a profitable new career in ...um.... basket weaving!
    [/SARCASM]

    --

    There are a thousand forms of subversion, but few can equal the convenience and immediacy of a cream pie -Noel Godin
  35. guffaw by fiftyLou · · Score: 0, Offtopic


    In the time that it takes a technician to swig a mouthful of cold coffee and clear the boxes of congealed pizza from his desk,

    Ha Ha Ha!

    Fscking hell, I just spit Mountain Dew all over the chinese food delivery guy...

  36. Re:This will of course lead to a new class of viru by Anonymous Coward · · Score: 0

    Reminds me of a "game" inside a MUD I once played (god, that is sad. Better make this an anonymous post)
    The computer tried to guess a number you had in your head. It went like this:
    Is it 6?
    >no
    Is it 6?
    >no
    Is it 6?
    >no
    Is it 6?
    >no
    Is it 6?
    >no
    Is it 6?
    >yes
    AHAHAHAAAA! I WIN! YOU LOSE! I'M THE BEST!

  37. This will only work for TCP. What about UDP ? by Viol8 · · Score: 3, Insightful

    Since only TCP has the idea of connections only this protocol can be protected from abuse in this way. Others such as UDP/ICMP etc send their data in descrete packets (as far as the OS is concerned, whether the app client-server system has the idea of connections over UDP is another matter) and if you limit these to 1 packet a second you can kiss goodbye to a whole host of protocols because they simply will not work effeciently or at all any longer. All his idea will do is cause virus writers to use protocols other than TCP. For macro viruses this could be a problem (does vbscript support UDP?) but for exe viruses its no big deal I suspect.

    1. Re:This will only work for TCP. What about UDP ? by Anonymous Coward · · Score: 0

      I think you've confused several protocol layers here. How exactly will a virus spread using udp or ICMP?

    2. Re:This will only work for TCP. What about UDP ? by Viol8 · · Score: 1

      Umm , buffer overflow attacks on vunerable UDP services? Ok ICMP could be more of a problem but there are lots of other less used protocols whose servers are running as admin/root who could yet be susceptable to these attacks. Email isnt the only way for these things to spread you know.

  38. Microsoft already does this... by krystal_blade · · Score: 5, Funny

    Virii thought: Woohoo, I got in a machine!
    Windows: "Are you a dll?"
    Virii thought: "Umm... Yes. I like Outlook."
    Windows: "Okay, hang on..."

    Launches Outlook...
    Virii thought: "Why is everything blue?"
    Windows: .............
    Virii thought: "Oh, if only I had hands!!!"

    --
    It will be easy to motivate our fellow man; there is hardly anything people treasure more than not being annihilated.
    1. Re:Microsoft already does this... by jdiggans · · Score: 2, Informative
      The plural of 'virus' (which is what I think you meant by virii) is 'viruses' ... see this for why.

      -j

    2. Re:Microsoft already does this... by Asprin · · Score: 2



      "I begin by taking. I shall find scholars later to demonstrate my perfect right." - Frederick (II) the Great

      "Sometimes it's easier to apologize than to ask permission." - Clifford Stoll (paraphrased - it's been a while)

      --
      "Lawyers are for sucks."
      - Doug McKenzie
    3. Re:Microsoft already does this... by Mike+Schiraldi · · Score: 2

      Seriously, what is this in reference to? At least give us a hint.

    4. Re:Microsoft already does this... by Minna+Kirai · · Score: 1

      But that joke was using it in the singular sense!

    5. Re:Microsoft already does this... by Alsee · · Score: 2

      Virii thought: "Oh, if only I had hands!!!"

      Would have been better as:

      Virii thought: "Oh, if only I three fingers!!!" :)

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    6. Re:Microsoft already does this... by Anonymous Coward · · Score: 0

      Could you tell us what the reference is?

      Thanks!

    7. Re:Microsoft already does this... by Alsee · · Score: 1

      Everything turning blue must have been a refference to Microsoft's Blue-Screen-Of-Death. 3-fingers is a refference to the "Three-finger-salute" of CTRL, ALT, and DELETE.

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
  39. Wtf are you smoking? by Viol8 · · Score: 0, Troll

    I don't get the joke there at all. Can someone show me where it is?

    1. Re:Wtf are you smoking? by krystal_blade · · Score: 2

      No. You not getting it adds to it's funniness.

      --
      It will be easy to motivate our fellow man; there is hardly anything people treasure more than not being annihilated.
    2. Re:Wtf are you smoking? by Viol8 · · Score: 1

      In other words it was so unfunny in the first place then anything would make it funnier. Kind of what I suspected.

    3. Re:Wtf are you smoking? by Anonymous Coward · · Score: 0

      You're an asshole.

      Hey, spammers!

      mailto:krystal_blade@hotmail.com

  40. I don;t understand by agurkan · · Score: 1

    Why the virus or the worm should respect any restriction brought by the operating system? Doesn't it make more sense to prevent the connection at the computer that is attacked rather than attacking computer? But then how do you distinguish an attack using eg.SSL from a legitimate connection?

    --
    ato
  41. Virus? by Anonymous Coward · · Score: 0

    This is designed to slow self spreading worms like Nimda. The idea is to reduce the number of new connections a computer can make to computers it's never talked to before. There's nothing about how an O/S could actually enforce this.

  42. Is this on the individual computers? by Qzukk · · Score: 2, Insightful

    If this is on individual computers, I can't see "human intervention" being effective. It might certainly slow the progress of a worm, but I can just see someone getting a pop-up box "Your machine appears to be infected with a virus, should I delete it?" and someone sitting there and hitting "No."

    It would probably be more effective as some kind of network device/firewall that eats excessive network connection requests, then lets the administrator know that computer X appears to be infected (bonus points for inspecting packet content to determine type of infection).

    In fact, that implementation isn't new, I recall seeing a computer setup at a colocation site setup to inspect http traffic and blocked http requests that looked like code-red infection attempts.

    --
    If I have been able to see further than others, it is because I bought a pair of binoculars.
  43. virus writers will respond, of course by djembe2k · · Score: 3, Insightful

    Yes, this will slow down the spread of viruses -- but the article makes a big deal of the fact that a throttled system can detect the attempts to rapidly make many network connections, setting off an alert. Of course, as soon as people come to count on this as their primary form of virus detection, a virus will be written that only attempts one connection a second, and then, very slowly it will spread undetected on those systems that rely on the throttle for detection. And we know there will be people who rely on it exclusively . . . .

  44. Umm, I don't buy it. by Toodles · · Score: 5, Insightful

    In short, this guy's idea for curbing infection rates of &pluralize("virus"); is to restrict systems network access to one new host per second. Exceptions would be made for high demand, known servers, such as mail server and (I presume, even though it wasn't in the article) HTTP or SOCKS proxies. Interesting idea, and it would help in slowing down the infection of, say, Nimba or Code Red.

    I can't help but think that his logic is flawed however. For example, most corporate headaches come from email based virii. If the only connections needed for the virus to spread is the email server it already has access to, there is no delay for the emails to be sent out to the mail server. No one could request for the email server to be throttled and keep their job, so the infected emails would be sent out, with no perceptable delay caused by the throttling.

    The only thing this might help with is worms only, no virii in the more common sense such as email based LookOut virii, .exe/.com infectors, or boot sector infectors. The article fails to mention the Hows of this throttling; is it based on the routers (in which case quick infection of the local subnet would take place) or on the switches (which could break most broadcast applications, not to mention mean all systems outside the subnet look the same) or in the OS (in which case the virus could put its own TCP/IP stack in to replace the throttled one, and end up with no throttling affects whatsoever).

    How about, instead of throttling network access, we move to more reliable code, better access controls at the kernel level, and a hardware platform that makes buffer overruns and stack smashing a thing of the past. While I am anti-MS, Palladium does actually have some good ideas on the hardware level. Is the DRM level that stinks to high heaven.

    --
    Toodles D. Clown
    1. Re:Umm, I don't buy it. by zornorph · · Score: 1

      > In short, this guy's idea for curbing infection rates of &pluralize("virus"); is to restrict systems network access to one new host per second.

      So what happens when a worm is created that does network accesses at 1 per second? This would not trigger an alarm, and so probably wouldn't be noticed.

      --
      http://bike.stu.ph/rides - free GPS routes available for Garmin, Magellan, GPX and Google Earth
    2. Re:Umm, I don't buy it. by Anonymous Coward · · Score: 0

      Sorry to anonymously post but I think I have to :)

      The point is not to STOP the virus spreading but to SLOW IT DOWN. If it tries to infect new machines at a rate of 1 per second, and it has a low success rate (which is normally the case), then by the time the virus is known about, very few machines (well, relatively) will be infected.

      It's exactly the same principle as human viruses and vaccines. If you slow down the spread enough to administer the vaccine before a large number of people are infected, you will limit/prevent major damage occurring.

  45. Re:Sounds like Microsoft is just right for the job by Anonymous Coward · · Score: 1, Funny

    Warning: Anivirus program detected recent installed software has caused computer slowdown and transmission of unknown packet to www.microsoft.com
    Possible cause: Microsoft software.
    Advise: Do not trust Microsoft

    Solution: Install GNU/freeware alternatives.

  46. Re:This will of course lead to a new class of viru by CoolVibe · · Score: 4, Funny
    There is a slightier annoying version of that one already in existance. They killed it off not too long ago.

    You might have heard of it, it was called "Clippy"

  47. why not? by pixitha · · Score: 2, Funny

    why not just stop the anti-virus companies from making all the virus's in the first place?

    I mean, they make money on sales of anti-virus software, without any kind of regulation, hell with the way corporate america is already going, who says its not a big scam anyhow?

    --
    "an eye for an eye only makes the whole world blind"
  48. Re:The "annoy the user to death" has already hit! by cyber_rigger · · Score: 2

    [Are you sure you want to do this]

    [Are you certain]

    [press enter to exit]

    [press escape to continue]


    The"annoy the user to death" virus has already hit!

  49. Somebody smoking crack? by cr@ckwhore · · Score: 2

    I'm sure this sounds like a good idea to some people, but I'm not convinced.

    The idea, then, is to limit the rate at which a computer can connect to new computers, where "new" means those that are not on a recent history list. Dr Williamson's "throttle" (so called because it is both a kind of valve and a way of strangling viruses at birth) restricts such connections to one a second. This might not sound like much to a human, but to a computer virus it is an age.

    This sounds to me like the idea is to basically make the tcp/ip stack single threaded.

    Ok smart guy, so lets use an http request as an example. Loading a web-page, a browser could theoretically make several connections to several different servers. So, with our single threaded, "throttled" tcp/ip stack, a simple web page could take several seconds to load, at least until the server on the other end is in the "history".

    Ok, so this "history" as the document describes... where is it kept? Hard drive? RAM? So, for every outgoing connection, the machine needs to check the address against a table somewhere... this is added overhead. Lets say that the address needs to be resolved... well, then we need to go through this process a second time just for the DNS server.

    So, this "Doctor Matthew Williamson" of HP... is he full of crap? I dunno -- I don't have a phd.

    --
    Skiers and Riders -- http://www.snowjournal.com
    1. Re:Somebody smoking crack? by Boone^ · · Score: 2

      What about mail servers? Imagine a company attempting to do "normal" business at 1 new connection a second. Internal mail would work great, but anything to anyone else would be lagged multiple days.

      Side benefit: I suppose it would slow down the spammers, too, forcing them back to sending snail mail chain letters.

    2. Re:Somebody smoking crack? by cr@ckwhore · · Score: 2

      yeah, excellent point. This would suck big balls on a mail server, especially for an ISP who's mail server might contact tens of thousands of unknown systems each day. Try that through a single threaded tcp/ip stack @ 1 per second!

      So then what? Is Dr. Whatshisname going to tell us that this doesn't apply to internet servers? Oh good... that'll be where all the viruses reside.

      --csb

      --
      Skiers and Riders -- http://www.snowjournal.com
  50. It's a start . . . by Badgerman · · Score: 2

    The basic idea of "find ways to strangle virii" is a good one. I think he's onto something here, something so obvious it wasn't obvious. Even if his technique slowed virii down only a few percent, the spread over time would be much lower.

    However, this is really only one idea. Its value is in pointing out that to deal with an age of virii, unreliable web pages, email viruses, trojans, bad firewalls, and everything else that didn't exist fifty years ago, we need to think in radically different methods.

    The greatest value of this research is really going to be how it gets people to take a new look at computing. And for that, I say, it is about time. Our ideas for dealing with computer troubles need to evolve since the troubles we're facing continue to occur, spread, and change.

    --
    "The Sage treasures Unity and measures all things by it" - Lao Tzu
    1. Re:It's a start . . . by mao+che+minh · · Score: 2
      Such secure practices in operating system design has been here with us all along: Unix, Linux, BSD. These OSs are designed modular, which protects the system from complete failure (single services and isolated resources may be comprimised fairly quickly with basic attacks) in the event on af infection. Intensive attention is paid to permissions, file integrity, and security - which, when paired with the modular design greatly inhibits the damage that a virus can do. The bulk of the code is written in the open source model, which further extends security. The power of these systems allows for powerful and rapid administration, which is another deterrent to the spread of worms or the potential damage inflicted by viruses.

      These virus concerns should only bother Windows users right now.

  51. IN SOVIET RUSSIA by Anonymous Coward · · Score: 0

    We would turn you in to the KGB and take bets on how long it would be before you died in the Gulag.

    1. Re:IN SOVIET RUSSIA by Anonymous Coward · · Score: 0

      Why would you turn a high level official in to the KGB -- even IN SOVIET RUSSIA?

  52. P2P by Shade,+The · · Score: 3, Interesting

    Unfortunately I don't know much about P2P protocols, but wouldn't this tend to slow them down a bit? How many connections does Gnutella (for instance) throw out per second?

    1. Re:P2P by gorilla · · Score: 2
      Except on startup of the program, very few.

      Gnutella opens 1 to n connections between your server and remote servers. Each one is kept open for communication until one end closes it, at which time the client will open a connection to a new server.

      The process of opening a new connection can involve multiple opens, as it will search to find a client which is currently operating and able to accept new connections (not overloaded) from a cache of hosts which have been seen to previously communicate on the network.

  53. Very strange indeed by Anonymous Coward · · Score: 1, Interesting

    Why not propagate the 'fix' the same way the virus itself propagates? We know the virus is efficient as hell, surely the fix in assembler can't be much bigger than the virus?

  54. Would probably work... by Hammer · · Score: 2

    Actually the parent post talked about stopping DDoS.
    A Distributed Denial of Service is done by hijacking many user boxes and from each bombarding a server with hundreds of bogus requests per second. This throttle would likely choke that (unless the server being DDoS'd is on this users list of known servers)

  55. Real Software Throttling by BrianUofR · · Score: 2, Funny

    Perhaps we could somehow throttle Microsoft and limit them to releasing one new OS every 5 years or so. Maybe that would give us enough time to patch all the Gaping Security Holes.

  56. RMS would not approve by Anonymous Coward · · Score: 0
    So typical of today's Slashdot.

    Say something critical about Micro$oft and you get modded down at once... when did Slashdot turn into Micro$oft's bitch? Heck, they're showing M$ ads for chrissakes!

  57. Sounds simple by heikkile · · Score: 3, Insightful
    Many Linux firewalls already do connection tracking. All this needs is another table of recent connections (unless one already exists for routing purposes!), and a few options to tune it with (/proc/sys/net/ip_throttle_memory (how many seconds to count as recent), /proc/sys/net/ip_throttle_delay (how long to delay when throttling))

    When do we see this in iptables ??

    --

    In Murphy We Turst

  58. Just secure the code by mao+che+minh · · Score: 3, Informative
    As systems become more adaptive and proactive against malicious code, so too will the viruses against these counter measures. The next generation of virus writers will be bred in the same computing climate that the future white hats will hail from - there is no reason to think that viruses will not evolve right alongside the platforms that they attack.

    I support the notion that the key to ultimate security lies in the quality of the code. I'll go further and say that open source is the key to reaching the absolute goal of inpenetrable code. The open source model is our best bet at insuring that many, many eyes (with varying degrees of skill and with different intentions) will scan the code for flaws. I just wish that some of the more popular open source projects were more heavily reveiwed before their latest builds went up.

  59. I can already imagine this by Anonymous Coward · · Score: 0

    :w :w :w :w :w
    wrote file, 10 lines 200 chars :q

  60. Re:"Lost" by bbqBrain · · Score: 1

    What about when I'm viewing Fark in Moz and middle-clicking (open in new tab) links at a furious pace? Or, even worse, using mouse gestures to drag over 5-10 links and simultaneously open them all in new tabs? In the particular case of Fark, the initial request for each link will go through the fark.com domain (for nav statistics, I suppose), but is immediately forwarded on to another domain.

    Really, I guess those requests could be handled at 1 second or, preferably, user-specified intervals. I can't imagine viewing the requested documents (more likely images, if we're being honest here) at a faster pace, anyway.

    --

    One of the reasons that I became a lawyer was to avoid ever having to hire one. -SPYvSPY
  61. Obligatory comment on the plural of virus by Anonymous Coward · · Score: 0



    Yeh i know we've all heard this before, "Virii is not the plural form of virus". But in case anyone is interested this site has a good explanation why.
    Whats the plural of 'Virus'?

  62. Much simpler by Nickus · · Score: 1

    I think this could be a good thing on desktop machines. On the serverside it is much simpler. Make sure that your servers are not allowed to make connections to the outside world. A webserver doesn't have any reason to do a connection to the outside world. It should just sit and wait for a new connection to happen from the outside and send the data down that channel. It should never contact the outside world itself.

  63. Are Viruses a real problem? by toupsie · · Score: 3, Insightful
    If you are not running Microsoft Windows, are viruses a real problem? Running a Mac OS X box as my main desktop, I have never had one virus attack my system nor do I know of any fellow mac users that have had their system damaged by a virus. The only viruses I have seen on a Mac are Office Macro viruses -- no biggie for a Mac user. I am sure Linux desktop users, outside of the annoying XFree86 virus, are in the same situation. This whole article seems to be a complete waste of time because it discusses modifying a network to handle the insecurity of Windows. Why not just get rid of the problem? Spending more money making Windows secure doesn't seem like a bright idea.

    This is like banging your head with a hammer and wearing a thick, foam rubber hat so it doesn't hurt as much.

    --
    Strange women lying in ponds distributing swords is no basis for a system of government.
    1. Re:Are Viruses a real problem? by hetta · · Score: 1

      The only viruses I have seen on a Mac are Office Macro viruses

      ... ah, nostalgia. Anybody else remember the way Mac viruses used to spread 15 years ago? There were lots of them. I remember installing antivirus software on a few machines, only to come back later and ask:

      "A virus? Again? But I put in an antivirus program only last week!"

      "Yeah, but I disabled it, because it slowed down the machine too much."

  64. Start employing secure users!!! by ACNiel · · Score: 1

    Don't blame my application because you download the latest screen saver that is infected.

    Insecure software doesn't even start to facilitate the spread of viruses, historically or today. And questionable functionality, where the insecurity was planned, facilitates the spread of most worms or internet viruses. Stupid users running infected code is where the problem lies, the OS did what it was supposed to.

    Maybe the next thing you will suggest is stopping fire bugs by making non-flamable fuel.

  65. No, it wouldn't. And a solution to some spam... by Andy+Dodd · · Score: 2

    The history list is automatic - There is no actual direct user intervention, it just happens that throttling makes it painfully obvious to the user that something has gone horribly wrong.

    The throttle rules are most likely something like this:

    Have I connected to this host in the past x minutes?
    Yes -> Originate as many new connections to that host as I want, as fast as I want.
    No -> Have I made a connection to a new machine in the last second?
    Yes -> Wait 1 second.
    No -> Go ahead, make a connection and put this host in history list.

    Anything else would cause a problem even in normal usage.

    Note: This is only applied to outgoing connections, not incoming connections (So servers wouldn't be affected unless they were infected and suddenly tried to make lots of outgoing connections.)

    Interestingly, this would put a major damper on spammers abusing open relays. One would probably have to increase the speed limit for normal mailserver operation, but even "sane" speeds would be enough to severely retard spammers except for the largest of mailservers.

    It wouldn't work if the spammer had control over the machine doing the worst of the gruntwork, though - He could just kill the throttle. But most of the time the dirty work is done by some unsuspecting open relay.

    --
    retrorocket.o not found, launch anyway?
  66. No it won't by Andy+Dodd · · Score: 2

    There isn't any user intervention involved in the actual operation of the throttling system. It's automated. Basically, once you connect to a machine, it's whitelisted for a period of time.

    The only "user intervention" is the fact that once a virus starts opening outgoing connections like crazy, the user will perceive severely reduced system performance.

    Not even a Gnutella client starting up and searching for other hosts can come close to the number of connections many virii open up. (Although it may be useful to whitelist certain apps as having permission to connect faster - They still should be throttled, but maybe 1 second for all apps but you can give Kazaa permissions for a .1-second delay instead. Much faster for KaZaA, but still a major slowdown for viruses.)

    --
    retrorocket.o not found, launch anyway?
    1. Re:No it won't by jez9999 · · Score: 1

      The point is, if it was a legitimate version of KaZaA, a virus couldn't use it to spread. The throttle should be disabled entirely for certain 'trusted' apps that need many outgoing connections, surely?

      Now whether someone has downloaded a hacked version of the software which is trojaned is a different matter...

  67. Mixed strategy is best... by jaredcoleman · · Score: 2

    Like any other type of security strategy, a proper one should have several layers of defence. I think this idea is an excellent one, and would serve well as one layer in a complete strategy. Another good layer might be trapping. Of course heuristics and signature scanning should be used as well. The most important layer of all IMHO... training. Human training.

  68. False Positives by Erasmus+Darwin · · Score: 4, Insightful
    I can think of two false positives off the top of my head where legit traffic would get unfairly throttled:

    Web-based message boards -- Several of the message boards that I'm on allow users to include inline images. However, the users are responsible for hosting the images on their own servers. So a given page full of messages could easily add an extra 10 hosts to the "fresh contact" list, causing a 10 second delay. Furthermore, at least one of the message boards has a large enough user population that the "recent contact" list wouldn't help out enough at reducing the delay.

    Half-Life -- The first thing Half-Life does after acquiring a list of servers from the master server list is to check each one. For even a new mod (like Natural Selection), this can be hundreds of servers. For something popular (like Counter-Strike), it's thousands.

  69. How about writing faux viruses? by sporty · · Score: 2

    I remember back .. 10 years back.. actually 5 or 6. Assembly written viruses were rampant. Everyone knew what they were and were more likely to find some way to prevent it. Once a week i had a bootsector virus detected that needed to be cleaned from floppies and hard drives. Virus cleaners were rampant and they nagged you somewhat when they were ot of date. They even gave you instructions how to update sometimes.

    Let's fast-forward. Today, OS's only seem more secure, they aren't. We don't get loads of virus software floating about like we used to. More people don't know about viruses than do... and what's worse, they are less viruses about that do more damage.

    I'm also surprised that intrusion detection systems don't have nag screens which are attached to daemons to let you know that your software needs to be updated, or you are fucked.

    Servers should be required to run a small cron job'd progoram like Nessus (search freshmeat), which would nag you when the data is old. snort, the ids software should do the same.

    For the lack of viruses, we need whitehats to write exploits that aren't damaging but are .. surprising. Popping up messages like, "I could have formatted your computer because of XXX, go fix it by doing... "

    Maybe if people were made more aware that the computing world isn't all plug-n-play, bells and whistles, that you are using a device that needs care.

    --

    -
    ping -f 255.255.255.255 # if only

  70. Then we've at least partially won. by Andy+Dodd · · Score: 2

    If virus writers restrict outbound connections to 1 per second, while we lose the detection advantage of this scheme, we've STILL slowed the virus down. A virus opening a new connection per second can't spread nearly as fast as one that can open up hundreds.

    --
    retrorocket.o not found, launch anyway?
  71. You have it wrong. by Andy+Dodd · · Score: 2

    It's not a limit of one new connection per second, but a new connection to an UNKNOWN HOST per second.

    i.e. if you've opened an outbound connection to that host already in recent history - No speed limit.

    --
    retrorocket.o not found, launch anyway?
    1. Re:You have it wrong. by Viol8 · · Score: 1

      Yeah you're right. Still , even that solution raises interesting issues for broadcast protocols such as IGMP. Personally I think breaking a protocol to fix a broken OS (windows) is a waste of time.

  72. Then we've partially won by Andy+Dodd · · Score: 2

    Those users you mention were hopeless anyway.

    The nice thing about this is that *even if it doesn't improve detection*, it' slows down viruses a large amount. So the virus writer has rewritten his virus to avoid detection by throttling its own connections.

    Guess what? We've forced that virus writer to cripple his virus' ability to spread in order to avoid detection. Yes, the virus can spread undetected. No, it can't spread as rapidly as Nimda or Code Red did.

    --
    retrorocket.o not found, launch anyway?
  73. p2p by Anonymous Coward · · Score: 0

    This wouldn't work very well with fully distributed p2p networks.

  74. No one smoking crack by Andy+Dodd · · Score: 2

    99% or more of the machines infected by Nimda and Code Red had NO need whatsoever to open multiple connections. Viruses DON'T all reside in major servers. In fact, that's the LEAST likely place for them to reside, as such machines will be the most well-maintained and patched against security holes/checked thoroughly for improper activity. Nimda and CR were hitting mostly machines that were never configured as a server but happened to be running IIS because of MS stupidity in default configurations.

    Even if 10% of infected machines are unthrottled because they need to be for normal use, we've severely reduced the capability of 90% of the transmission vectors of a virus. This scheme isn't about black and white winning/losing - It's about simply slowing the damn things down so they're less of a threat.

    --
    retrorocket.o not found, launch anyway?
  75. How hard would it be to write... by godzilla808 · · Score: 1

    a virus that circumvented this software throttle? (Relatively speaking, of course.) We have viri that attempt to disable virus scans, so why would this be any different?

    --
    ...///...
  76. Intergral tripwire. by HighTeckRedNeck · · Score: 3, Insightful
    What we need to do is use all the extra cycles of the average computer waiting on its user to press a key to search for things that don't belong just like biological immune systems expend energy looking for invaders. Virus scanners are a start for recognizing intruders but only after they get recognized by antivirus writers and then distributed to the few that will pay and update. This gives the virus a long head start and "sheltered hosts". The operating system should use the spare cycles to do a tripwire style scan of the rest of the system. The faster an intrusion is found the less time it has to create trouble. Areas like user storage will be problematic but such security measures should be integral to the system administration and operation at the operating system code level.

    Further it should be (putting on fire suit) a function of the government to finance an independent system to publicize standardized virus recognition fingerprints. Then it should be integral to the operating system to run a scan as part of the executable load function. This would be justified as protecting commerce. This won't solve the problem of "script" viruses that play off the integration features of Microsoft products but that can be dealt will by requiring Microsoft to produce products that actually ask for permissions from the user before doing stupid stuff. Sometimes a parent just has to take control of their offspring. Either that or firewall off anyone using Microsoft products, most of them are so non standard they aren't hard to recognize. Many places don't let Microsoft attachments go through and it has saved them a lot of lost time. XML and other standard formats work just fine and are interoperable with other systems.

    Do unto others as you would have done to yourself, don't let America become like Israel. It is un-American to support human rights violations, support justice in Palestine.

  77. Ok.. so now the virus KNOWS what machine to infect by MD_LabRat · · Score: 1

    Great, you develop a standard to limiting connections to NEW hosts. Then the virus just simply needs to poll this database of ip addresses local to this machine rather than just tring every ip address it's ip address guessing algorithm uses. Wow! now we can get complete virus converage in an efficient manor!

  78. Two words: by Dog+and+Pony · · Score: 2

    Test first.

    Thank you.

    1. Re:Two words: by ethereal · · Score: 1

      That isn't necessarily a contradiction; a reasonable process is:

      1. requirements
      2. write tests
      3. architecture and design
      4. coding
      5. testing

      Write tests before code, and also write design before code. The goal is to have very little to actually do at the coding stage, because you figured out all the tricky stuff previously.

      --

      Your right to not believe: Americans United for Separation of Church and

    2. Re:Two words: by Dog+and+Pony · · Score: 2

      ...and then requirements change, and you are up shit creek. That is still waterfall design.

      Better take a look at doing requirements, design and architecture via the planning game instead, which means there is an iterative process instead.

      You can thank me later. ;-)

    3. Re:Two words: by ethereal · · Score: 1

      Oh no, some guy on a Wiki said that our development process is "largely discredited". Quelle horreur!

      There's nothing to say that you can't do the whole thing as an iterative approach, running through the steps in miniature when requirements change. The issue is not the amount of recoding, it's just proper requirements management. There is a cost associated with changing requirements, no matter what development process you use. The important thing is properly estimating that cost and making that information available to the people who make the decisions.

      I think this might be a bit of the divide between large systems programming and consumer software development; for the stuff I work on, if we didn't have almost entirely solid specs a year ahead of the release date, the entire system would never gel enough to ship. The planning game sounds like it would work OK for small standalone projects; I don't see large software systems being developed that way.

      --

      Your right to not believe: Americans United for Separation of Church and

  79. P2P programs? by renoX · · Score: 2

    I think that P2P programs may set off the alarm a bit too easily, no?

  80. Details and implications by twitter · · Score: 2
    This looks more like Carnivore than anti-virus software, quoth the article:
    The idea, then, is to limit the rate at which a computer can connect to new computers, where "new" means those that are not on a recent history list. Dr Williamson's "throttle" (so called because it is both a kind of valve and a way of strangling viruses at birth) restricts such connections to one a second.

    Given the large institution focus of the article, I assumed the control would be external at the network level. The only way to really stop a computer from connecting to "new" machines is to keep a record of connections and stop "new" ones external to the machine. If you can't secure the computer secure the network the author seems to be saying.

    The author wonders why no one had thought of this before and I can tell him that the reason is that it's contrary to the founding priciples of the internet and it won't work. The whole idea behind the internet is to have a network without central control or intelligence. Putting this kind of invasive intelligence into the net adds complications useful only for censorship and control. How, pray tell, can you do this for a mail server? Mail servers contact new machines all day, that's their job! The virus mentioned as an example happened because of poor software from a certian vendor, Microsoft. The same trick can be had again if the virus shifts its mailing burden to the stupid IIS server.

    Attention has been focused on the root cause of the problem: mail clients that run as root and automatically execute commands sent by strangers. Everyone said it was a bad idea when M$ did it, and everyone should continue to point the finger of blame in the right direction. Adding hacks like this elswhere is a waste of time and has serious implications for the internet as a medium for imformation exchange.

    --

    Friends don't help friends install M$ junk.

  81. Don't trust anything by Andy+Dodd · · Score: 2

    You raised one of the two issues here: Trojaned software.

    The other problem: What if KaZaA itself turned out to have an exploitable vulnerability and became infected?

    Or if a virus deliberately infected KaZaA after coming into the system another way? (Note: Making the speed limit exceptions port-based would eliminate this, leaving only a vulnerability in KaZaA itself.)

    In fact, port-based limit settings would be an excellent solution to a number of the issues of machines which have legit reasons to be opening lots of outgoing connections, like mail servers. Allow a high speed limit on outgoing SMTP, but throttle anything else. (Why would a mail server make numerous HTTP contacts?) Too bad that vulnerable MTAs are probably the second most common virus vector... But at least a mailserver could still be throttled against spreading an IIS worm.

    Last but not least - How long until we see an implementation of this for Linux, possibly at the firewall level? (i.e. to restrict outgoing connections at a NAT server. Of course, such a server would inherently make it harder for a virus/worm to enter in the first place.)

    --
    retrorocket.o not found, launch anyway?
    1. Re:Don't trust anything by RandomUsername99 · · Score: 1

      Port limiting is as easy to overcome anything unless everything is going through a firewall with stateful packet inspection anyway. There is no reason why the virus could't simply send the same information through a different port.

  82. Not so new: remember syn-cookies? by Orafu1 · · Score: 3, Interesting

    The idea of slowing down the attack rate of an intruder is really not so new. One example is the infamous Linux "syn-cookies" countermeasure to syn-flooding. Syn-cookies prevent the excessive use of connection resources by reserving these resources to connections that have evidently gone through a genuine TCP three-way handshake. This forces the attack to slow down, since instead of throwing SYN-packets at a host as fast it can it now has to do a proper three-way handshake. This involves waiting for the associated round-trip times which cause the attack to slow down to the speed of genuine connection attempts.

    Now since the attack has been slowed down to the speed of the genuine users, it takes part in the competition for connection resources on a fair and equal ground with other users, wich makes it as successful as other users to acquire connection resources. That means that the rate of attack is not quick enough for a resource starvation attack anymore, and it is reduced to a resource abuse attack. Since the latter type of attack needs to be employed for a long time to cause significant damage, the risks of being discovered become too big to make the attack practical.

    Well, now this is not exactly a "throttling" countermeasure as described in the Economist's article. The countermeasure from the article selectively slows down outgoing connection attempts to "new" hosts, in order to further slow down the attack in an attempt to put genuine users not on equal footing with the attack but at a significant advantage. This element of selection may be new, at least I can not come up with an older example. As others commented before, the selection technique also has its disadvantages:
    a) depending on the attack, different kinds of selection methods must be employed to actually single out the malicious connections -- there is is no predefinable "catch-all-attacks" selection method
    b) depending on the services you run on your network, the effort you have to make to find out how your usage patterns can be discerned from known attack patterns varies.

  83. Sigh..... by WetCat · · Score: 2

    The one and only reason why viruses spread so much and quick is that nobody cares about the principle of least privileges while creating OS and application software. If there will be means to control privileges fine-grained and automatically easy adjust them - that will be half of the solution of the problem...

  84. Re:Umm, I don't buy it. That's good because ... by twitter · · Score: 3, Insightful
    ... the solution is generally free. You say:
    How about, instead of throttling network access, we move to more reliable code, better access controls at the kernel level, and a hardware platform that makes buffer overruns and stack smashing a thing of the past. While I am anti-MS, Palladium does actually have some good ideas on the hardware level. Is the DRM level that stinks to high heaven.

    I've got good news for you. The average free *nix already has more reliable code with better access controls at the kernel level. You can check it out for yourself because the software is free, unlike that other silly stuff you mentioned from a particular abusive and convicted vendor, caugh, MicroSoft. Heck, you could even just use a mail client that does not run as root and does not automatically execute commands sent from strangers, like most free software. Way to go!

    I've also got bad news for you. Buffer overflows can not be defeated at the hardware level in a general purpose computer. Why is left as an exercise for the reader, but a shortcut is that Microsoft says it will work.

    --

    Friends don't help friends install M$ junk.

  85. Zero Defects!!!!! by anonymous+cupboard · · Score: 2
    Ok, we all know about zero defects, this being 'defect from specification'. It is possible to specify and producs a system that doesn't fail. Components can and do fail, but it possible to design out single points of failure. For example, Airbuses fly by wire technology depends upon three different implementations of software across two hardware implementations.

    If an enterprise depends upon a single firewall, they deserve all they get. A real enterprise (i.e., with the cash) invests in a DMZ and at least two different firewall technologies each side of that DMZ.

    Back to the world of the home user of XP. I was horrified when I first discovered that they still hadn't separated privileges, i.e., a user can use and install from the same account (and can do so without realising it).

  86. what's so bad about GUIs? by kilonad · · Score: 1

    What's so bad about GUI email programs? Is your beef with the current implementation of them, or is it the concept of having email presented in a graphical environment? Does the simple act of displaying it graphically make it inherently insecure? No. And let's not forget (mostly) everyone's favorite text-based email client, the historically insecure PINE! Should we all switch over to that and trade one security hazard for another? And not to flame you for the GNU/Linux comment, but virii will spread just as quickly on linux if it becomes the de facto standard and you've got millions of lusers out there logging in as root everyday.

  87. the article is lots of fluff by Anonymous Coward · · Score: 1, Informative

    ... but what i get out of it as for the actual idea, without reading the HP whitepaper is

    limit _new_ connections
    so a webpage view will consist of X connections to 1 machine. the first time its a 'new' connection the other times its in the history, so a webpage will NOT be affected unless it has a group of image servers and applet servers or popup ads to everywhere under the sun (like some p0rn sites)

    the history can be fairly short, like connections in the last 5 minutes of 1 per second that do get through, that is only a table of 300 IPs. 4 bytes each for IPv4 1200 bytes or IPv6 16 bytes each for a 4800 byte table. (index probably 2 bytes each, so add another 600 bytes to the table to make searching faster)
    as this can easily be kept in ram, and it doesn't need to be long term profiling, privacy issues can be easily conntrolled.

    if the machine is connecting to 400 different IP addresses per second, then you either have a poweruser or a netblock port scanner or a worm
    and limiting it to conntacting 300 machines every 5 minutes would be a good thing.

    "in tests it has a 2% fail rate", well in my neck of the internet, my isp's provider has a 3% fail rate in MTR tests, i don't know if i would blame the connection filter or just my bad connection to remote parts of the world

    so in short, it will fail because it will affect p0rn sites and most/all P2P and worms will be made to handle them just like they handle anti-virus software now.

  88. and the next generation of viruses by painehope · · Score: 2, Insightful

    would probably just look at the IPs commonly in the history file, and put in the entire range of IPs for that subnet, then begin making connections. once you're infected, you're screwed. the same as we have viruses that currently disable firewalls, we also will have viruses that circumvent this as a matter of routine...

    --
    PC moderators can suck my White pierced, tattooed dick. If you think pride == hate, s/dick/Aryan meat mallet/g.
  89. Hardware or Software? by Anonymous Coward · · Score: 2, Interesting

    The article neglects to mention which one this "throttle" system will be based upon.

    The idea, then, is to limit the rate at which a computer can connect to new computers, where "new" means those that are not on a recent history list.

    If the history is implemented in software, what the fuck is to stop a virus from injecting the IP's it wants to attack into the history?

  90. Take advantage of the throttle? by void* · · Score: 2, Interesting

    It sounds great, however, it looks like they tested against a virus that makes connections as fast as it can. What happens when someone writes a virus that attempts to take advantage of any such system?

    For example, intentionally make connections at a decreased rate. It gives you a couple of (probable) advantages -> You'd slide by the detection aspect of this (No backlog of connections), You'd spread slower, but you could make that work to your advantage -> a slower spread can mean longer time until detection, which may mean more hosts infected. Also, if this works as the article states, you could eventually make it so that the hosts you were connecting to were -not- throttled (Say you're getting ready to propogate a DDOS attack virus).

    This would catch most virus/worms as they are written -now-, but as soon as this is widely deployed, someone will write a virus or worm that sneaks around it, by avoiding the behavior it's looking for.

    --


    Code or be coded.
  91. If you don't kill it, you may just piss it off... by Anonymous Coward · · Score: 1, Insightful

    The only reason a virus doesn't wipe your
    hard disk out is because it's making use
    of the computer to infect others. If this
    idea goes into use, guess how long it'll
    take before a virus spreads in a manner
    where it doesn't crash machines that let
    it spread, but totally destroys those that
    don't.

    I think you better kill the virus, or
    you're only likely to piss it off...

  92. details? by stinky+wizzleteats · · Score: 3, Interesting

    Ah yes, well, see, we're going to throttle the network, so that the virus spreads more slowly.

    Throttle what? bandwidth? That wouldn't have much of an effect on virus activity, but it certainly would affect everything else. Connections per second would probably slow down a virus, but would basically shut down SMB and DNS as well.

    You better make sure Ridge doesn't hear about this, or we'll be required by law to wear 20 lb. lead shoes everywhere we go, to make it easier to catch running terrorists.

  93. we need to lose the stereotypes.. by dubbreak · · Score: 0

    if we are going to get anywhere.. from the article: "..takes a technician to swig a mouthful of cold coffee and clear the boxes of congealed pizza from his desk, 30 new machines around the world can be infected.." ok first of all those were chinease takeout boxes and i had to kick them out of the way to get to the desk not clear them from the desk (stuff on my keybaord, yeah right). Second it wasn't cold coffee, it was mt. dew the drink that always tastes good at room temp. I really don't see why we should take this stereo typing, not all _geeks eat pizza and drink coffee, some of us like sushi or subway, hell if i could find some indian take out and get some samosas. Plus coffee?! I like coffee as much as the next but there are much better ways to get your caffiene. we have to move beyond the stereotypes, think outside of the pizza box.. its all about respect.. r-e-s-p-e-c-t... suck-it-to-me.. Mmm.. jus a lil bit, jus a lil bit.....

    --
    "If you are going through hell, keep going." - Winston Churchill
  94. No, this won't work by Animats · · Score: 2
    The Economist should stick to economics.

    A worm that talks to everybody you sent E-mail to recently will only hit whitelisted addresses.

    We need to get rid of executable E-mail attachments, or at least keep them at a low integrity level until they've been through a guard. That's how it's done right.

  95. no by darkwhite · · Score: 2

    Simple, elegant code requires thoroughly understanding the task at hand. Spending a minimum amount of resources means the opposite.

    To put it another way, you have to write a (relatively - depends on your skill) bloated, inefficient implementation before you can write a graceful implementation - unless someone who is already an expert is holding your hand.

    --

    [an error occurred while processing this directive]
  96. Re:Connect to many computers all the time by hburch · · Score: 1

    Is that ability ever utilized to any extent in legitimate, day-to-day operations?

    Yes. My company, Lumeta, does scans of corporate networks, connecting to hundreds to thousands of new machines every second. Of course, if this is done at the OS-level, this is a non-issue, since we do not use connect() anyway (does not give us enough information, reactivity, or control), but rather construct packets from scratch and, regardless, we can play with the OS, since it runs on FreeBSD.

    If, on the other hand, this is done on the network-level, this would cause problems, and we would have to be put on exclude lists on every router up to the corporate backbone. We balance the load across the corporation's entire IP space, but it takes a lot of divisions to get from even 100/second to 1/second.

    We already run into issues where a certain router vendor has an odd "cache" that is not reaped when memory starts to become low. This would make things much worse.

    Unfortunately, if this can be disabled in the OS programatically, it is useless, so the network is the obvious place to put such a restriction. Of course, now the network is retaining state about all connections going through it. Most firewalls already do this, however.

  97. What about datacenters... by malfunct · · Score: 3, Interesting
    I like the idea on a desktop where the connections per second is easily less than 1.

    In the datacenter I work at we handle 2000 transactions per second per machine on average with peaks reaching 10000 transactions per second. Not every transaction requires a new connection because of caching in our software but we create far more than 1 new connection per second.

    --

    "You can now flame me, I am full of love,"

  98. Thins won't really work... by endrek · · Score: 1

    There are several types of worms: the two biggies, e-mail worms, and the worms infecting ISS that he mentioned (Nimda and Code Red). Throtteling really won't make much of a difference for e-mail based worms. They don't scan so they'll just go through you'r email addreess book and mail everyone. Assuming they don't make one big coneciton to mail server and do it all at once,assuming each message gets its own connection, seriouly, how many people do you have in you address book. 200? Thats a lot. And guess what. It'll be over in just over 3 minutes. Not really enough time to stop it. And what if it infects ISS or some other server (BIND? Sendmail?) These are not regular desktop machines. These are servers. You can't really limit a server like that. It'd be murder. So again, this really wouldn't work. Fine, he set up a test with a 16 computer cluster and it worked, but he didn't acount for the fact that a real web site (not a web site that no one will see) cannot be limited like that. So yeah. Nice try :) But not practical as I see it.

  99. quickest and easiest way by nenolod · · Score: 2

    1. Dont open any attachments, period. If they want to send you a file, make them post it on a website, and make sure they can account for what it is before you do go and get the file.

    2. Install a firewall program. That's really easy.

    3. Get anti-virus software. Most computers dont come with anti-virus software.

  100. No Replacement for Good Security Practice by Mandi+Walls · · Score: 4, Interesting
    While throttling is an interesting idea, it can be no replacement for methods that have been available for some time.

    • Patching your goddamn systems
    • ingress and egress filtering of IP addresses, at the local LAN and ISP level, to prevent IP address spoofing
    • using some common sense when filtering outbound traffic. does my web server need to be able to initialize outbound connections? no? then why does it?
    • host-based firewalling. reporting based on permitting outbound connections to known services to prevent droning of workstations
    • get rid of Outlook. if you're going to sit there and tell me that using Outlook is more important than the chance your financial statements, contract bids, salary information, etc gets sent offsite, you're insane
    • get HR and legal involved in the security policy. make turning off the host firewall and virus protection a terminable offense, up there with trying to access forbidden data
    • No unencrypted communications with business partners and customers
    • NAT everyone. Your accountant does not need a publicly-accessible workstation
    • VPN. It's a nice idea, but do you trust the marketing director's teenage kids on the computer at the other end?

    Now. why don't these things happen? Time. Money. Combination of both. Convenience. Lack of understanding on the part of users.

    But the big one is the belief that security is a product that can be purchased, that there is a quick fix out there that will solve all your security ills and hide you from all the bad guys.

    Security is a PROCESS. Better yet, it's a combination of processes, relating to employees at all levels of your organization, from the CEO to the custodial service contracted by your property manager. Hell, even building safer software isn't going to help you if your users refuse to use it 'cause it's a pain in the ass. Remember, they believe in the panacea of the "single sign-on". They put their passwords on post-its around their workstations. They keep their contacts (oh help us) in their Hotmail addressbook, regardless of how many 'sploits have been uncovered in Hotmail. They're afraid of computers.

    Security is expensive. And it should be, because it has to be done right. You need user participation, on all levels. It requires education and training, and a reduction in ease of use.

    There is no magic wand.

    --mandi

  101. two tier entry level ISP and some musings by zogger · · Score: 2

    --most people aren't 'servers' beyond http requests (more or less). Have isps offer a 'deal" where you agree to not be a server, let casual surfers sign up for that service at a reduced cheaper rate of cash. People who want to do "more" pay more, get a server "license" in other words, and they get a detailed explanation of safe computing practices and put the onus on them to follow the guidelines "or else". The "or else" can be a variable, maybe temp loss of service, loss of email, forfeiture of a deposit, whatever for malicious virus spreading, etc. The cheaper rate has a LOT of ports and services blocked at their isp. The "server licensed" rate assumes you are more responsible and hip, and are treated accordingly. It also helps to pay for your increased bandwith needs as a 'server'.

    I know this is very simplistic, but something I was thinking on for awhile, correlating various discussions about peer to peer and home web page and email hosting, etc. Let the people themselves decide how much service they really want upfront based on their skill and desires level, and with that service comes verifiable accountability, ie, they can be held aty fault as well for being part of the problem if they get caught being..well... lazy and lame.. Joe blow gets the 'server" level full package normal isp connection. Joe blow downloads hotbabe.vbs and gets nailed, his box gets owned, starts sending out a boatload of more hotbabe.vbs files. Too bad, he screwed up, loss of priveleges and/or cash deposit. Better luck next time, deposit doubles.

    Just a thought..I know there's flaws in it, but everything else has flaws as well. I know too many people who downloaded some firewall and that's it, in their minds they are 'secure", just do whatever they want, click on any email, never look at anything,never bother to bcc mass emailings, no followup anything but maybe that attempt, and a lot of people don't even bother to get that far, just run the computer at random. they buy it, or get it as a gift, that's it, left to learn to drive on their own, or like being told to learn to swim by being dropped headfirst into a raging whitewater whilst shackled. It ain't never gonna work that way, modern OS's and computers are too complicated right off the bat for people and there's little incentive to learn anything for most people until something "breaks" usually from operator error. It's intimidating to a lot of people, so offer them a less intimidating isp connection, then it won't matter as much. Example, the less intimidating and cheaper isp connection only comes with a web based email account, set so it can never run an executable, it's not downloaded,it's text only, any attachments like images, etc, have to be explicitly allowed and first scanned at the isp level, they'd have to jump through hoops to do that. And etc. Make it so you have to actually be forced to honestly think about what's going on, fail to think, it's not allowed.

    Of course, none of this matters if all you have to do is click on an url like is being talked about the past couple of days. There's an accountability issue there with the OS and package vendors eventually, that's the biggest problem, zero incentive to really code better in the security side. there's none, nada. Click the eula to install,and it don't matter closed source or open source,paid for or free, it's caveat emptor, no software makers are ever liable for any security flaws,they write the eulas that way on purpose,it seems to be accepted,duh, so, they'll continue to exist. There's laws against malicious hacking, swell, but sometime this century wouldn't it be nice to finally see the other side of the street where if you charge money for a product it should work as advertised and not work as not advertised because of design flaws? In meat world it's calledcontributory negligence. In cyberworld this doesn't exist, despite billions of dollars exchanging hands for 'products'. Why is this again? We as a society don't accept that with other consumer products, but with software it's the default, "it ain't my fault no matter what". This is silly really. Shouldn't there be some sort of time limit on vulnerabilities, especially for paid-for software? How long will software in general be treated as all experimental betaware with a get-out-of-jail-free card? Hasn't software in the terms of "browsers" and "email clients" whatever and etc been around long enough now so that someplace somewhere the manufacturers and distributors can be declared to be at least partially "at fault" when it's shown to be so flawed that it becomes an internet menace? Isn't this REALLY the biggest problem? When will there be a smidgen of accountability to go along with "profit"?

  102. Virsuses by Fascist+Christ · · Score: 2, Insightful

    How soon we forget that the stronger we make our antibiotics, the stronger our viruses become.

    --
    TodayTM BillyJoelTM GoogleTMd for StitchTMes due to WindowsTM while RollerbladeTMing with an AppleTM and a PopsicleTM
  103. Bzzzt! by Doubting+Thomas · · Score: 1

    Bounds-checking eliminations have been around for years. While work is still being done to expand the available techniques, boundary elimination as it stands today eliminates checks on most reasonable uses of arrays.

    If you want to bash Java, there are plenty of ways to do it with an informed opinion, but that holds true with any language.

    --
    Just because it works, doesn't mean it isn't broken.
  104. Pizza! That's the problem! by EEgopher · · Score: 1

    It's too bad the author of this otherwise interesting article had to insult us with his poor attempt at make-fun-of-the-geek humor. My gosh, that's been the problem all along! Viruses are troublesome merely because our pizza-eating tech-people are too fat to move in time! What an enlightening man. Too bad the most famous virii have been spread by CLUELESS EXECUTIVES, who open every email they get, regardless of warnings from the tech department.
    Viruses are spread by readers of the Economist. Don't throw stones at techies if your major was Advanced Giraffe Poetry.

    --
    hi, I like pancakes -.-- -.-- --..
  105. Re:I have a brilliantly original idea...expand pls by Anonymous Coward · · Score: 0

    say...could you elaborate on #s 4 and 5 (the turning off services part) right here, right now? Thanks.

  106. Static Buffer Sizes by agentk · · Score: 1

    It's often necessary.

    Regarding buffer overflows, I have only three wards:

    snprintf, snprintf and snprintf.

    --

    VOS/Interreality project: www.interreality.org

  107. Re:This will of course lead to a new class of viru by ethereal · · Score: 1

    Huh. The only way to win, is not to play.

    --

    Your right to not believe: Americans United for Separation of Church and

  108. implement in routers by Kraaaaaaaag · · Score: 2, Interesting

    This technique sounds like it would work well if implemented in routers (to prevent the spread outside your office) or even extending it to switches/hubs (which would protect others on your LAN). It wouldn't require a whole lot of hardware, either. Doesn't sendmail have a similar process to throttle outgoing mail to prevent spam? How's that working for admins with a lot of users? Is it slowing down legit email?

  109. Throttling Spam by SEWilco · · Score: 1
    As others observed, this same method can affect DDoS and spam. Although sendmail has a throttling method, this can be done for all machines on a network.

    Corporations could do it for their own nets, but perhaps ISPs could do it for all the non-business customers. Exceptions may be needed for subscribed mailing lists...or the ISP could have a passworded relay to bypass the throttle (or run with a gentler throttle).

    But then, the ISPs who aren't already doing source routing aren't likely to do throttling. And DDoS indicates there are may ISPs not checking their outgoing packets.

  110. Filtering 'em out by McG33k · · Score: 1

    National Security Concepts sells internet-based virus filtering services so you don't need to worry about desktop antivirus software. As I understand, it works quite well! --McG33k

  111. Overflows, exploits, and patience. by McDoobie · · Score: 1

    I agree on the subject of static buffers. Static buffers arent always wrong. Rather the problem is that coders are usually too frustrated or impatient to take the time to use them properly. Thus giving an opening for viruses and other "sploits". Theres really nothing esoteric about this at all.

    For example, a bit of Ada code that would have totally hosed my application had the compiler not caught it...

    type Buffer is array(Positive range 1..Size) of Integer;

    and then I do this...

    type Return_Buffer is array(1..Read_Length) of Integer;
    Foo_Ints: Buffer;
    Bar_Ints : Return_Buffer;

    Bar_Ints := Foo_Ints(Base .. Base + Read_Length);

    Had the compiler and runtime not caught this, I would have ended up creating a massive security hole. Virus, Trojan, and spoit heaven. All because I was too impatient to use Static buffers appropriatley.

    In a nutshell, it's all a matter of who has the most critical eye.

    McDoobie

    p.s. Can you leet haxors spot the fuck up in this code?

  112. This doesn't help the underlying issue at all, ... by WayTooOldForThis · · Score: 1
    which is in wetware (the gray goo between the users' ears.)

    The biggest problem with the hard-stop tools this academic is detracting is that people don't use them. It's 80 percent "social engineering."

    The same problem obtains with this theoretical solution: The same user who won't bother to install a firewall (thus providing a hard-stop to the trojan/worm/virus) won't bother to install his tool either.

    I'd rather sit behind my router and firewall. And when I find any malware, I will kill it.

  113. Could SNORT be set up to do this? by alizard · · Score: 2
    Say, look for more than XX connections attempts per second coming from any workstation on the LAN, and if it detects > XX, send an e-mail alert to the admin and shut down that workstations's access?

    Can this be done with SNORT, and is it a reasonable idea?

  114. This is what Microsoft has been looking for? by Poro · · Score: 1

    Does this idea against "computer viral epidemics" kill all GPL'd software?

  115. Um, hello? by Andy+Dodd · · Score: 2

    As soon as the virus has to send to a different TCP port, it's neutered.

    IIS worms are dependent on the ability to connect to TCP port 80. If the virus starts using 81, it just hits "connection refused" at the other end (unless someone switched their copy of IIS to switch to 81...)

    --
    retrorocket.o not found, launch anyway?
  116. Last Post! by alpg · · Score: 1

    Then a man said: Speak to us of Expectations.
    He then said: If a man does not see or hear the waters of the
    Jordan, then he should not taste the pomegranate or ply his wares in an
    open market.
    If a man would not labour in the salt and rock quarries then he
    should not accept of the Earth that which he refuses to give of
    himself.

    Such a man would expect a pear of a peach tree.
    Such a man would expect a stone to lay an egg.
    Such a man would expect Sears to assemble a lawnmower.
    -- Kehlog Albran, "The Profit"

    - this post brought to you by the Automated Last Post Generator...