Slashdot Mirror


The Software Monoculture

balster neb writes "CNET News.com has a piece titled 'Seeds of Destruction' on monoculture in software and its effect on security. The article talks about similarities between software attacks such as last year's MSBlast, and agricultural catastrophes such as the Irish Potato Famine. Isn't this another good argument against monopolies?"

20 of 404 comments (clear)

  1. Not just monopolies by grasshoppa · · Score: 5, Insightful

    Isn't this another good argument against monopolies?"

    In a very near sighted way, yes. But we are talking about mono-cultures here, which is a bit more broad than that. And, something that the linux crowd will want to be wary of.

    With all the momentum behind linux right now, it could soon find itself faced with the same problems MS is faced with. While I don't doubt the ability of the linux folks to find better solutions than MS did, it is still a concern that people should be aware of.

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
    1. Re:Not just monopolies by Carnildo · · Score: 5, Insightful

      Linux can't be a monoculture in the way that Windows is. There are too many variations from box to box -- one worm that targets a buffer overflow in OpenSSL uses over a dozen different attack modes just to handle different versions of RedHat, and this is just to deal with boxes that use standardized, pre-compiled binaries. Once you factor in the fact that there are at least two different programs you can use for a given operation, and that many of these programs are compiled by the end user (using any of a number of different, binary-incompatible compilers), you find you've got a platform that can't be vulnerable to the "one-size-fits-all" attacks that Windows keeps getting hit with.

      --
      "They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
    2. Re:Not just monopolies by ManoMarks · · Score: 5, Insightful

      As Linux gets more powerful, however, you're more likely to see turn-key solutions, out of box servers that have little or no modification by vender. That's when you'll see the real danger from attacks.

      --

      That's gotta fit into your schema somewhere

    3. Re:Not just monopolies by grasshoppa · · Score: 4, Insightful

      Sure, that's mostly true right now. However, let's take a look at some of our more popular software packages:

      sendmail: I don't even know how many root exploits there have been in the past 2 years, but I do know that a respectable percentage of MX'ers out there run it. For you folks on sendmail: qmail. Trust me on this one.

      bind: Another of our more charming packages, that should have been replaced years ago due to multiple vulnerabilities. Again, no numbers, and I don't remember seeing any exploits in the past year ( I don't run it, so i don't pay as close of attention ), but this one was a popular attack vector at some point.

      apache www: Fairly secure from my understanding, only mentioned here because it runs over half the websites out there. Ask yourself this: Name one other webserver for linux/*bsd. Most people can't.

      So as you can see, the danger is there. Common software packages, commmon kernel, the potential is there.

      --
      Mod me down with all of your hatred and your journey towards the dark side will be complete!
    4. Re:Not just monopolies by Carnildo · · Score: 4, Insightful

      apache www: Fairly secure from my understanding, only mentioned here because it runs over half the websites out there. Ask yourself this: Name one other webserver for linux/*bsd. Most people can't.

      Apache for Linux isn't the same as Apache for BSD isn't the same as Apache for Solaris isn't the same as Apache for Windows isn't the same as...

      A worm that can exploit a vulnerability in Apache for BSD might simply crash Apache for Windows, be totally ineffective against Apache for Solaris, and have differing effects against Apache for Linux depending on what compiler was used. A worm that can exploit a vulnerability in a given version of IIS can attack all copies of that version, because all the copies are running from identical binary images on operating systems with identical memory layout schemes. In order to be a monoculture, a program needs to have more than just the source code the same.

      --
      "They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
    5. Re:Not just monopolies by 31415926535897 · · Score: 5, Insightful

      As Linux gets more powerful, however, you're more likely to see turn-key solutions, out of box servers that have little or no modification by vender. That's when you'll see the real danger from attacks.

      So what you're saying is that there are a lot of operator errors? There are a lot of people who install software but then don't change the defaults to secure it. I've seen that happen with RedHat...if you don't install the patches right after you install it (and you allow it in the net), it gets hacked (this was back during version 7 I believe).
      Same thing happens with Microsoft. It does become unsecure for the default install--the default settings. How long did people know about the RPC vulnerabilities before the first worms attacked it, and yet hardly anybody patched their boxes.

      I'm not trying to make a case that Microsoft is as secure as Linux (not by a long shot), but while we have (uneducated) users operating their computers, no matter what the platform, exploits will be successful. I have run many Windows machines over the years, both workstation and server, and not once has one of the machines I'm responsible for been hacked or hit by a virus/worm. However, I have run Linux boxes before, and because I'm not as familiar with them, they have been exploited (remote root exploits--I had to give my machine up to the FBI for investigation, this was back when I worked at a government institution).

      The best you can do is write secure apps, but people will always fail at some point because no one is perfect. Exploits will always exists, and many exploits will be discovered over time. But if you don't have the users updating to covers the holes in the software they are using, it doesn't matter which OS they use, or which culture it came from, they will be hacked. And I believe that even if Linux were to gain 90% overall marketshare, we would still see as many problems as we do with Microsoft because of the users.

  2. Monopolies by pantycrickets · · Score: 4, Insightful

    Isn't this another good argument against monopolies?

    You could use the same argument against "standards." But you wouldn't. Yes, if everything were made completely different from everything else, sure, it would be harder to mount large scale attacks against anything. You would have to tailor your exploit to all of the different architectures you are interested in. The downside of course is that you will have thousands of people constantly working on different designs for the same wheel. Promoting diversity within even a company like Microsoft would likely accomplish the same thing, but once again, would be highly impractical.

    1. Re:Monopolies by JimDabell · · Score: 5, Insightful

      You could use the same argument against "standards."

      No you couldn't. IIS and Apache both implement the HTTP standard, but only one of them was vulnerable to Code Red et al.

      Avoiding a monoculture doesn't mean making everything as different as possible. It means that one implementation of a standard shouldn't monopolise the marketplace. If anything, open standards promote this, as you are free to use differing implementations rather than the single implementation that can handle a particular proprietary format or protocol.

  3. Re:YES! by MoonFog · · Score: 5, Insightful

    With some competition Microsoft would be forced to write more secure software faster, so in a way monopoly is to blame.
    Then again, AFAIK, Windows is not leading on the server side, but perhaps somebody can correct or confirm that ?

    This is from the article: Being the top species in the information chain means more attention from the malicious coders.

    On the desktop, MS is definately "top of the information chain", so naturally more attention will be brought their way.

  4. Not a good connection by The+Terrorists · · Score: 4, Insightful

    Potato famine was not deliberate - it was caused by a microorganism. Both the hack and the monopoly are socially constructed. Science can fight the former, but not the latter.

    1. Re:Not a good connection by Wandering+Hoosier · · Score: 5, Insightful
      Potato famine was not deliberate - it was caused by a microorganism. Both the hack and the monopoly are socially constructed. Science can fight the former, but not the latter.

      However, the "monoculture" policy of having an entire population's survival depend on a single crop WAS deliberate. The policy was just as "socially constructed" as a monopoly. Therefore, the connection between the two is a good one.

  5. Loss of life... by AgentOJ · · Score: 5, Insightful

    Of course, it is obvious that no computer virus has caused loss of human life (yet). However, it is probably only a matter of time until a virus or computer bug causes a massive loss of human life. Due to our huge reliance on computers, and due to the fact that 90% of the computers out there are running the same OS (including some of those that control critical infrastructures like 911, nuclear reactors, etc), the frightening implication is that in the event of a loss of life, it could be much, much worse than the Irish Potato Famine.

  6. BIND is also a Monoculture by Pup5 · · Score: 5, Insightful

    I think that this concept also applies to BIND.

    Most DNS servers run either ISC BIND, or a package based on BIND source. Although I am a hostmaster and respect BIND, I often wonder if this isn't one of the reasons that DNS is such a prime hacker target.

    It seems clear that even with this example of an open-source program (although it's not GPL), groups prefer to avoid the cost of development at the expense of security (via the same monoculture argument). I've asked DNS appliance vendors this question (while they're trying to sell me on their product's security), and it's clear that they've never seriously considered the issue.

  7. Not the same by somethinghollow · · Score: 4, Insightful

    "People have brought over species that we didn't expect here, just like people have created viruses that Microsoft didn't expect to deal with"

    The difference here is that we have US Customs doing its best to stop people bringing forigne species over. If US Customs did things like Microsoft, they would hand out culture dishes to exicute your Windows Script code on and implant your cultures into the environment w/o asking the end user.

    It's funny how a company can leave holes in everything, let people get used to being insecure, then tout fixing the problems as an innovation.

  8. Same Argument Applied to Standards by fiendo · · Score: 5, Insightful

    Couldn't this same argument be applied to omnipresent standards and not just monopolies? If everyone uses TCP/IP and a security flaw is found in it, doesn't that amount to the same type of security threat?

    And yes I'm playing devil's advocate, but it's a slow morning :)

    --
    I went to the city because I wished to live without deliberation.
  9. Glossing over the heart of the matter... by Cap'n+Canuck · · Score: 4, Insightful

    The article glossed over the heart of the matter...

    Most of it, however, was intended for export to England.

    ...except for that brief mention. The English were the ones that killed the Irish, because they demanded payment in food, even when the Irish could not pay.

    To liken the conditions of the software industry to the Irish Potato(e) famine is ridiculous. To whom or what is the industry beholden to? If we cannot produce code will we starve to death? Is someone occupying our cities and towns, threatening our lives if our code fails to compile? I'm not Irish, (though I do like potatoes), but please think again before you make analogies such as these.

    Sig Hire!

  10. So what's the answer? by smccto · · Score: 4, Insightful

    Firstly, the snide comment on monopolies is simply unwarranted and certainly not as sarcastically entertaining as I'm sure it was intended. Too often the word "monopoly" is used as merely a code-name for "those-who-are-winning-and-who-aren't-me!" So 'nuf said there.

    Secondly, the ubiquitous nature of the Internet is the single biggest reason behind it's success. While I agree that the "genetic makeup" of the Internet may also be its weakest link, I have to ask, "What's the alternative?"

    Look at how the Internet, much like the telephone, has made communication so much more efficient. It has opened channels across the world, across socio-economic cultures, across demographic diversities that have never been accessible before - at least to the average Joe/Jane. This would have been impossible if, say, every country was forced to use its own network transport layer. Sure, Cisco would love it - they'd be able to sell country-specific routers to automate the traffic translations. They'd make a fortune!

    Is the article suggesting that we create multiple network infrastructure to obfuscate malicious interrogation? If so, how could it be done without public standards - which would defeat the purpose anyway?

    The article's viewpoint is short-sighted. The answer is not to mutate the DNA of the Internet (Ethernet/TCP/IP/etc), but rather to enhance its perimeter defenses, such as SMTP. That protocol itself is way to vulnerable. Outlook is a fine product; I doubt anyone would argue that. But look how much it's been [editorially] attacked recently because it's based on an ancient protocol and has been jerryrigged to overcome the security holes of its communication layer.

    I don't know, maybe I'm rambling, but the article irked me. Just a bad day I guess.

  11. Not at all by 2nd+Post! · · Score: 4, Insightful

    Why is arguing against monopolies arguing against standards or arguing against compatibility?

    The presence of a monopoly *guarantees* a standard, but does not guarantee compatibility. Microsoft can (and has, accidentally) broken compatibility between various versions and flavors of it's various programs.

    The absence of a monopoly does not have any bearing on standards or compatibility. It is, in fact, preferred for there to be a standard in the absence of monopoly; witness the DVD standard, the CD standard, the various interface standards...? It means that people can talk and interact sanely when no one individual has control.

    If you mean diversity argues against standards and compatibility? I don't think that holds either.

    Philips, Panasonic, Samsung, Sony, IBM, Apple, Dell, RCA, Aiwa, and Kenwood all adhere to the CD standard, and thus a CD that can play in one can play in all, without there existing a monoculture or a monopoly. The same holds true of paper, nails, DVDs, and many other things. Of course some products are crappier than other products, which affect compatibility and quality, but it's not due to lack of monoculture, since Microsoft decisively also has crappy products and crappy quality as well.

    Diversity means competition.

    Last I recalled, competition meant progress, and growth, as well as strength and robustness. If one product/method/attempt fails, then another can succeed. If one is suboptimal, and alternative may be optimal.

    In a monoculture, none of that applies. You can't have difference without choice, you can't have competing theories without choice, you can't have flexible strengths without choice.

    You just have no choice.

  12. "De Facto" standards by hey! · · Score: 4, Insightful

    It is not standards that are a problem, it is "De Facto" standards.

    A "De Facto" standard is really not a standard at all. It's just an implementation that happens to gain critical mass.

    In (economic) theory, such an implementation should be the Darwinian best; in theory the best product always wins. However, we know from engineering experience this is almost always untrue. Another way to put this is that fitness to reach monopoly status is not necessarily fitness for the tasks and uses to which we'd like to put a thing.

    The advantage of real standards over "de facto" standards are that they designed to allow multiple competing implementations, avoiding the monoculture problem. The other advantage is that that they are "designed" rather than just happening.

    The disadvantage of standards over "de facto" standards is that the standards process is less agile at the outset.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  13. Re:YES! by Trepalium · · Score: 4, Insightful
    Those numbers are the percent of domains that are run on a particular webserver, not the percent of machines that run a particular webserver. Take a look at this page to see one month when Apache had 62% of the webserver share, but Windows accounted for 49% of the machines running public webservers. There are very good reasons for this, too. It's a heck of a lot less administrative overhead in hosting a large number of domains on a single computer for customers with Apache compared to Windows because most settings on a website that a customer would need to change can simply be set in an .htaccess file inside the actual website, whereas with IIS, I believe the only way to make these changes is via the IIS metabase.

    The other part, is assuming Linux has only stolen share from other UNIX vendors, Linux webservers would still account for fewer actual computers on the internet compared to Windows machines. Linux servers are also not always uniformly exploitable with the differences between compiler, libc, and kernel versions and patches. For Windows servers, you only have two or three flavors of Windows you need to worry about, and all you have to do is make one (legitimate) http request to find out which one. Linux/Apache sites will tell you which version of Apache is running, and maybe what distribution of Linux it's running on, but won't tell you what kernel version is running, what glibc is installed, what compiler was used. For that, you'd have to guess, so the list of possibly exploitable machines gets smaller.

    I wish Netcraft would do a new machine survey, so we could put this one to rest, but I havne't seen one since June 2001.

    --
    I used up all my sick days, so I'm calling in dead.