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

50 of 268 comments (clear)

  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. 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 vidnet · · Score: 5, Funny

      Yeah ok......starting tomorrow.

    3. 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!
    4. 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.

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

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

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

    8. 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!

    9. 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!
    10. 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.

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

    12. 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::
    13. 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

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

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

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

  5. 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.
  6. 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.
  7. 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 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.

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

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

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

  11. 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?

  12. 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
  13. 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.

  14. 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.
  15. 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 . . . .

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

  18. 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?

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

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

  21. 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.
  22. 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.

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

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

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

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

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

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