Dan Geer's Monoculture Bomb Goes Off 308
Andy Updegrove writes "Three years ago, celebrated security expert Dan Geer lost his job at @stake when he co-authored a paper on the dangers that the Microsoft 'monoculture' represented for end-users. Last fall, he authored a similar warning in a Perspective piece he wrote for CNETNews.com, applauding the action of Massachusetts in adopting OpenDocument Format, thereby reducing its vulnerability to the same type of risk. Four days ago, Dan's prediction came true, when users of Word (but not those that only trade files created in StarOffice, OpenOffice, or other ODF compliant software) began to be infected with the Backdoor.Ginwui virus - a malicious Trojan program that hitches a ride on bogus Word documents. In short, an object lesson that in IT, as in biology, those that exist in diverse gene pools are at a lower risk, both individually and collectively, from those that subsist in a proprietary monoculture."
I saw it happen long ago (Score:5, Insightful)
One time at work, I was working on code when a rumbling spread across the floor, up and down the building -- people were losing access to their machines, in our MAJOR CORPORATION! Some virus had invaded the corporate network, machines were in infinite recycle loops.
Until the noise was loud enough, I hadn't noticed. I was working on my code on my linux box. And, it was code compatible to be used on the same project everyone else was developing on their Windows boxes. Interesting.
Ultimately, the mono culture in my office got me too because of my dependency on shared drives running on infected Windows machines. It took at least one day to get machines half way back to normal.
I hate Microsoft, but I think Geer's prediction, and point, are well made without blaming or pointing at Microsoft. I Unix or Linux monoculture could be susceptible to the same result (though I think with much more expended effort to achieve the same catastrophic result).
Re:I saw it happen long ago (Score:3, Insightful)
Except with the gazillon of different Linux distribution - featuring each different versions and alternative applications How the hell can you reach a *mono* culture ?
And that's only counting Linux-based open source operating systems. You also have the *BSD family, and new comers like opensolaris, etc.
Now just add in the fact you can run linux an hell lot of different processors...
Except if suddenly a unique disto - like, say, RedHat Enterpris
Disk Imaging + Single Company = easy monoculture. (Score:4, Informative)
Given the mass disk imaging techniques currently in use at many corporate sites in lieu of traditional installations, and given the ability for Linux sysadmins to lock down end user boxes so that only the central admins could install software, I could certainly see a "monoculture" being a very real possibility at a given site even when running Linux in a corporate context.
Now, whether or not that monoculture represents the same kind of risk that a Windows monoculture does is a different question. :-) But there is still some risk.
Re:Disk Imaging + Single Company = easy monocultur (Score:3, Insightful)
Re:I saw it happen long ago (Score:3, Informative)
Suggest you install some Samba servers, and migrate the Windoze shares over for security + reliability.
Sudden new point at the end (Score:5, Insightful)
It's not, of course, because if we standardize on an open document format and a crippling bug is discovered in, say, OpenOffice, there are many other programs that exist or could be written implementing the same functionality. Don't really have that option with Word.
Re:Sudden new point at the end (Score:2)
Why isn't that an option with Word? Isn't that what OpenOffice is -- a program that was "written implementing the same functionality" ?
Re:Sudden new point at the end (Score:3, Informative)
If every software had different implementations of the same ultimate functionality, then there would be no monoculture, as one man's implementation of somethi
Re:Sudden new point at the end (Score:2, Insightful)
Which is a rather ideal view. Software is always going to have varying degrees of functionality and that's going to make some "proprietary extentions" more desirable than others. Just some examples:
UNIX -- Everything was standardized in the general sense, but there were so many implementation differences nobody really cares about the standard anymore.
Web Browsers -- There's always another giant W3C standard you can implement i
Re:Sudden new point at the end (Score:2)
While I agree with you broadly, that "or could be written" is the real kicker. If viable alternatives don't exist or aren't widely adopted (eg Opera is a viable alternative to Firefox, but relatively few people use it), you're still going to have a huge proportion of users vulnerable.
If a viable alternative does exist, then there's cost of switching to take into account - training users, getting s
Not a problem... (Score:2)
Re:Sudden new point at the end (Score:2)
A bug that allows access to the operating system would almost certainly not be in the document format specifications, but in the individual implementation. Therefore, of the many different programs implementing ODF, for example, only one or at worst a few would be subject to the bug.
Re:Sudden new point at the end (Score:2)
Open-source monoculture just as risky (Score:5, Informative)
Back in '88, Sendmail was to internet-mail-exchange what Outlook Express is to mail-clients today. Thanks to a bug in Sendmail and a bug in a student's project, email came to a grinding halt for several days at universities and other institutions worldwide.
Re:Open-source monoculture just as risky (Score:5, Interesting)
At an OSCON talk, there was this business guy. His assertion was that if Apache were a company then they would be susceptible to monopoly rules like Microsoft should be.
Re:Open-source monoculture just as risky (Score:2)
Re:Open-source monoculture just as risky (Score:2)
Just count... (Score:3, Insightful)
Are you sure the word "mono" still applies ?
Except that M
Re:Open-source monoculture just as risky (Score:4, Insightful)
Evolution, ahem (Score:4, Interesting)
Given how easy it is to write MS Office malware, how long until a more advanced version of this worm can search a user's hard drive for other Word/Excel/Powerpoint/Visio documents, infect them, and wait for the next generation of itself to be transmitted?
If the malware itself could change/adapt/evolve (ie, create new functionality within itself), then MS has essentially created a petri dish out of each install of Office.
In other words, MS has created a true "software ecosystem".
Patent Pending (Score:2, Insightful)
*Patent Pending
** "Software Ecosystem" is a trademark of Microsoft Corporation
For end users?! (Score:3, Insightful)
On the other hand, if the sys admin has backups and servers distributed across Windows, Linux, OSX and whatever platforms, that would make sense.
I mean I can understand the argument that diversity can add a certain degree of robustness, but it also raises the level of complexity of that environment, and that complexity comes with a cost that can be easily more expensive than dealing with the occasional severe threat.
Re:For end users?! (Score:4, Informative)
In many ways a heterogeneous environment is actually LESS complex than a homogeneous environment. You either end up using very simple, common protocols or you isolate your users. Put the Windows users on a Windows server and Mac users on an OS X server, for example, which isn't necessarily a bad thing. Usually Mac and Windows users have different organizational roles anyway and the LInux users don't like the Mac and Windows users. Everyone is happy.
Seriously, it isn't bad. And people are happy using the desktop of their choice. But sometimes I guess you really need the kind of "features" that only a monoculture can bring. It's a trade off, for sure.
-matthew
Re:For end users?! (Score:2)
Sysadmin's rarely support end-user applications. We usually only support the servers and OSes.
The problem is we NEED monoculture to a degree (Score:5, Insightful)
So, why tolerate this? Well because I for one don't want to have to play with interoperability nightmares. I want a single document format I can share, I want standards in how computers operate so I don't have to relearn everything every time I sit at a new workstation.
The magic of computers is really their ability to share information, and for that to work effectively, standards have to develop and prevail. I do not want to work in a world where my word processor has 150 different save formats and I have to pick the right one depending on the instution with which I'm communicating. I do not want a world where there are 50 different previlant microarchitecutres and no software runs on more than a handful, and so on.
We have to accept that we can have diversity only to a degree. There has to be common grounds. Yes, those are going to be potential points for an infection to pass. Well, that's unfortunate, but it's simply something we need to live with if we want easily interoperable computers.
Just breaking things in to a "duoculture" wouldn't really solve much. I mean lets say we achive that with Linux, 50% Linux, 50% Windows. Ok fine, what happens now, in additon to exploits that happen to affect both, is that stuff still spreads, just among it's subset, or malicious authors start making viruses have dual payloads that execute the right one on the right platform.
To really have any significant effect, you'd have to have hundreds of different types all mixed together that were minimally interoperable. For example Linux running Wine to use Win32 programs does no good, now it executes the same code and thus is venurable in the same way.
Trying to avoid common systems and formats for security may be valid in an isolated, secure environment but it just doesn't work in computing at large. We want interoperable computers and we strive for it (well, some companies like to try and stand in the way of that). That, by necessity, means that there's more possible vector for infection. Hell, when you get down to it, we could really clean all this up by eliminating the TCP/IP monoculture. If every organization used their own proprietary network, then it'd be real hard for an infection to spread outside an organization. However I hardly think that's the answer.
To me his peice seems like just so much anti-MS rehetoric. He's pushing ODF, which is a standard intended for interoperability, intended to create a document format monoculture. Yes, any word processor could use it, but like I said, that doesn't really gain you anything. He seems to be pushing for switching from one to another, rather than pushing for real fragmentation.
This is why we need open standards (Score:2, Interesting)
From time to time we discover standards have holes in them. When the holes are serious, such as a fundamental flaw in a cryptography standard, it must be abandoned. However, most of the time the holes can be worked around or the standard can continue albeit with reduced functionality,
Re:This is why we need open standards (Score:2)
I don't think he was talking about flaws in TCP/IP itself, but more the general point that if your were only on an IPX network, you would be immune to TCP/IP-based attacks. Which is true, but not a good enough reason to not use TCP/IP.
Re:The problem is we NEED monoculture to a degree (Score:2)
Re:The problem is we NEED monoculture to a degree (Score:2)
Never say never (Score:2)
I'm not saying that's not harder to exploit than a bunch of systems 100% the same, I'm saying it's still a problem. If you REALLY want
Re:The problem is we NEED monoculture to a degree (Score:2)
Viruses and other nasties generally rely upon faults in program implementation to infect and wreak havoc. Generally speaking, document formats are without fundamental flaws to exploit. And if th
Re:The problem is we NEED monoculture to a degree (Score:2)
Well, if I understand both those biology and computer monoculture things correctly, than you do not have to have completely different "implementations". As with everything, we're not going to do X amount of work which will result in 100% of the problem solved - it will be more like "we do this Y and we mitigate the risk by say 60%, we do Z and we lower the risk by another 20%, etc.".
Lets elaborate. I start by limiting following ideas into a) PCs and b) people (homo sapiens). Then I follow by making analogy
it's not much of a prediction (Score:4, Insightful)
Also, predicting a security vulnerability in ANY piece of software is like predicting rain. It is *going* to happen, it is not impressive at all, and proves nothing when it happens.
It would in fact probably stop the flow of viruses if most computers all ran different operating systems (if there was no 90% majority of any system), software etc. I think this is fairly obvious.
One thing to consider though is that it would also have additional costs associated training for most companies. Also, in terms of operating systems, no majority platform makes it more difficult for developers to make a profit since everyone is feeding off a tiny segment off the market.
The unices have survived by adopting source level compatibility to broaden their effective market share, and above all by specializing. Apple has also survived by pandering to specific markets (education, graphics artists, home users) at the expense of other markets (business). The problem with having no majority operating system is that you can no longer build a general purpose computer that does everything. Instead one must dual boot, which is what linux users have done for a long time and what mac users are doing now that they can. Now, multi booting isn't the worst thing in the world, but it is an inconvenience.
The last and most problematic issue of having no majority operating systems is drivers. One might think that hardware manufacturers would be most likely to be forced to write their drivers for multiple systems, instead of just windows as they do now, but this is not realistic. A no majority operating system is going to be an environment with lots of highly specialized operating systems. Makers of uncommon hardware are still going to only support one platform, the one on which their hardware is used. If you need to use two specialized gadgets, you are probably going to need to set up two different computers, or dual boot.
Possibly multiple operating systems could adopt the same driver model, but I have to ask why that isn't happening right now when it is already advantageous for linux and others. Right now the only operating capable of using foreign drivers that I know about are freedos and reactos (using DOS and windows NT drivers respectively of course). Frankly, it would be a big boon for the desktop market and others if linux or freebsd could use stock windows drivers... but I suspect there are some technical problems with this. Linux developers have always quoted as a reason for not maintaining binary compatibility with drivers that they didn't want to impose arbitrary restrictions in the kernel. My suspicion is that compatibility with windows drivers, if technically feasible at all, would have performance issues for linux. Would someone more familiar with the kernel and the windows driver model care to comment?
Re:it's not much of a prediction (Score:2)
smash.
Re:it's not much of a prediction (Score:2)
Big boon? Short-sighted users and developers may think so. It is difficult to get hardware documentation from some major vendors (NVIDIA, for instance), and embracing binary drivers certainly does not help at all.
So what does the Linux crowd do? Join OpenBSD in pressuring hardware vendors to release hardware documentation? Oh
Re:it's not much of a prediction (Score:2)
[i]Also, predicting a security vulnerability in ANY piece of software is like predicting rain. It is *going* to happen, it is not impressive at all, and proves nothing when it happens.[/i]
Predicting a security vulnerability is like predicting rain. It's going to happen. Some will get wet.
But this is more like predicting a storm resulting in catastrophic landslides killing millions, as result of mass replacing natural varied environment with monoculture plantations on slopes of mountains over cities. It's no
Re:it's not much of a prediction (Score:2)
The problem with having no majority operating system is that you can no longer build a general purpose computer that does everything.
Er such a computer does exist, and is used every day by millions of people, and lots of OSes work just dandy on it. Oh and you're taking away from the underlying fact that a corporate monoculture breeds laziness and inefficency; par example, MS with all its billions and thousands of developers, developers, developers, should be lashed with a paddle for not getting everythi
Monoculture reduces complexity (Score:2, Insightful)
Switching to an open format (eg ODF) does not imply a polyculture, it j
Uhmm (Score:5, Insightful)
Actually, that would be a "monoculture," not just a proprietary one. If everybody ran Linux and such a vulnerability existed, the same thing would happen.
Re:Uhmm (Score:5, Insightful)
If I pick Qmail, I'm immune to Sendmail holes. If I pick KOffice, screw OOo bugs. Many Apache exploits hit my webserver running on Boa. If Firefox is compromised, I can pull out Galleon. If I get a Thunderbird exploit, Pine ignores it.
Microsoft is a very deep-reaching monoculture. Not just Windows. You can expect the Windows computer will run MS Office, cooperate with Exchange through Outlook or Outlook Express, use MSIE for the web, the webserver will be IIS, the database will be MSSQL or Access (and predictable which where), so you get lots of machines running all the same software. In case of Linux, thanks to multitude of choices the users have, there is no monoculture, each install is custom-made.
Re:Uhmm (Score:2)
Maybe, maybe not. Remember that many exploits (such as buffer overflows) are sensitive to the precise binary version you use. The ancient ssh exploits, for example, required different parameters depending on their target (i.e. Debian, Redhat, etc. - often even different for different releases).
So if everyone ran Linux, then most likely there would still be 5+ major distributions in 10+ release versions. Plus a lot of people
Re:Uhmm (Score:2)
'Propietary monoculture' is only a pleonasm. Nothing to
Interesting (Score:2)
Hmm, maybe because unlike in biology, we can easily fix computers without years of clinical trials. and research studies.
Diversity Doesn't Stop Viruses - Empirically (Score:4, Insightful)
I would go so far as to predict that a diverse culture of computer operating systems would actually *increase* the damage viruses can do. Sure, a single virus couldn't take down everything at once, but there would also be far fewer resources thrown at stopping any given virus. Antivirus software would have to be written and maintained for each platform. Security vulnerabilities would have to be patched for each platform. Each time you diversify the culture, you increase the amount of redundant work needed to keep the entire population safe. Fewer resources means more vulnerabilities and slower response times. That, in turn, would mean more viruses doing damage in the real world.
Re:Diversity Doesn't Stop Viruses - Empirically (Score:4, Informative)
How is this different from biology? The poor moose in the herd who isn't immune to spongiform encephalopathy isn't protected by the diversity of his herd-mates.. but the herd as a whole is. The analogy does hold.
Your point about multiple architectures dividing the attention of the antivirus community might be true to some extent -- but on the other hand, there might just be more jobs for people writing antivirus programs for all those extra operating systems.
It isn't ludicrous that diversity protects us, as a whole community, from viruses. Some may be hit, but the rest can keep computing. That's the point.
Re:Diversity Doesn't Stop Viruses - Empirically (Score:3, Insightful)
Computer epidemics are different! (Score:3, Insightful)
An epidemic keeps propagating if, on average, an infected subject infects more than one target. If it infects less than one, the next "generation" will be smaller than the previous one, etc. The number of infected targets depends on how many contacts the subject has, and how many of these get infected.
For human infections, an infected subject contacts family members, maybe schoolmates and coworkers. On average, it takes more than a simple casual contact to get infected. So, the number of contacted targets is small. If enough are vaccinated, or otherwise invalid, the average number of infected targets drops below 1, and the epidemic stops. The interesting result is that the infection stops before every potential target is infected. A typical infection affect a city or a province, and then stops.
Computer infections are very different. A virus infected computer can contact thousands of other computers. Even if many are protected, chances are than many more than 1 in a thousand will be infected. Computer viruses can spread very fast!
Diversifying with two or three brands of software will maybe minimize the results, but cannot stop such infections before all vulnerable machines are infected. To limit the infection to "a city or a state" when a sick machine contacts thousands of otehrs, something like 99.9% of the machines must be either "different" (diversity) or "vaccinated" (anti-virus,etc). Unless you are ready to manage diversity by running a thousand different brand of software, the anti-virus route looks much more realistic.
-- Louarnkoz
Re: (Score:2)
Re:Computer epidemics are different! (Score:2, Informative)
easy (Score:2, Informative)
Too many variables left out (Score:4, Interesting)
Thought experiment #1: you have a choice of a diverse world where Apple, Microsoft, Sun and everyone else has written their own sshd, or a monoculture world where everyone runs OpenSSH. Which would you choose?
Thought experiment #2: how worried would you be about monoculture if the operating system on 95% of computers were OpenBSD? SELinux?
Thought experiment #3: before malware enters your body it has to run the gamut of being stuck to mucus and swept out, being sneezed out or coughed out, being hammered by natural antibiotics, being dropped in acid, and potentially being expelled from the digestive tract if found to be toxic. Do our computers have an equal or similar level of protection against unfriendly programs?
Re:Too many variables left out (Score:2)
OpenBSD is secure *by default*. OpenBSD is not secure if subjected to braindead users, who thinks they know better or just dont care, as long as they dont have to type a password.
Yeah.. I do think a diverse environment will
I predict (Score:2)
That's it. In one year Slashdot will write about me and my amazing prediction came true, how the hell I can be so smart to ever guess this coming?!
What I never understood (Score:5, Insightful)
You have a PM who is measured on sales. Sales by now are hugely upgrades. The only way to motivate upgrades is new features. So you introduce them, whether they are really needed or wanted, or not. They are then heavily used by the salespeople, before the sale, selling to people who are not the end users of those features.
And so it comes about that IT buys, and what the ordinary user thinks of as a glorified on screen typewriter actually becomes, via Word macros, a powerful if flawed programming language, and what the end user thinks of as a document becomes a program that can wipe his hard drive or change anything at all on his machine it chooses.
This is not about mono culture versus poly. If you had twenty different PMs behaving like this across the whole industry, it would be as bad or worse. Its about feature driven business models in areas where the buyer is not a sophisticated end user of the products. IT buys Office. What does IT really know about using Word to write? Hosts of features can be sold to IT that could never be sold to the people who use the stuff....
Yeah for competition (Score:5, Insightful)
And MAYBE part of the reason Word is being infected with worms, isn't some side-effect of monoculture and the lack of software diversity, but rather a result of hackers almost solely targeting Microsoft products.
Re:Yeah for competition (Score:2)
The fact that Microsoft's products are targeted _is_ a direct effect of the monoculture that exists. If Word was used by 20% instead of 95% it wouldn't be such a nice target, and if it was to be targeted the effect wouldn't be as severe, and the rate of witch it spreads wouldn't be as fast.
Reasons other than diversity (Score:2)
The same thing is true for Firfox, the browser with the biggest market penetration is the one which will suffer the attacks.
not so new (Score:2)
True, the Word thing is more nifty, because people don't expect it, and it's not a macro virus. But even so, this is hardly the first time MS users get bitten exactly because they are MS users.
For real research on the subject (Score:4, Informative)
Birds of a Feather Flock Together (Score:2, Funny)
The moral is obvious: living in a "proprietary monoculture" can reduce your risks.
Yes, interoperability is critical, but... (Score:3, Insightful)
Factually wrong analogies (Score:4, Informative)
*Viruses* had nothing to do with the Irish potato famine. While there were many factors for the famine, many of them political, the pathological reason was the *fungus* Phytophthora infestans.
A failure in the hypothesis. (Score:5, Insightful)
Let's say you've got a hacker who wants access to a file on your network that a bunch of users have access to. In this case, the hacker isn't trying to infect ALL the computers; any one of them will do. In this case, a polyculture actually HURTS security, becuase the hacker only has to find one flaw in any of the many different applications people are running. Can't hack his way into Word? That's okay, some nerd in the office is running StarOffice and he can find a backdoor for that. Or whatever.
Not to mention, in a monoculture it's easier to standardize training and security. The security guys in an all-Windows place only need to keep up with the (legion) Windows vulnerabilities out there. In a polyculture environment, they have to know about Windows vulnerabilities PLUS Linux, Mac, and all sorts of other vulnerabilities, because one compromised computer can mean a whole lot of lost information.
Re:Did any bombs go off... (Score:4, Insightful)
All the components are modular... if the mysql people slack off with security, you can drop them in favour of postgres, with practically no interruption and minimal retooling.
That's not how I would define "monoculture"
Re:Did any bombs go off... (Score:5, Insightful)
What you're implying is that people would be OK if they just switched to something else? And how is that different from Word? I can count the number of applications I've seen that are *truly* database and OS-agnostic. I'd like to see "everyone" switch phpBB or whatever from MySQL to Postgres in an afternoon. Too difficult... no different from switching from MS OFfice to OpenOffice, except probably in scale.
The vast majority of Linux distros come ship with Perl and Python. Is that not also a monoculture? If I were a virtus writer targetting Linux I don't think I'd run out of "monoculture" to exploit.
The ability to drop an asset that has become insecure is conversely proportional to your dependence on it. People create "monocultures" because they value convenience. Open source is not immune to that.
Re:Did any bombs go off... (Score:2)
Not the point at all. The point is that you CAN migrate away from $INSECURE_DATABASE_VENDOR if you dec
The Database Box (Score:2, Insightful)
I'm sorry, but your premise is too insufficiently developed for your conclusion to naturally follow. By the same logic, one can say that since Word has font sizes, families, bold, and italic, as well as the ability to set text as having certain styles, and so does every other word processor, that would be a "similar functionality set" and therefore can reproduce the
Re:Did any bombs go off... (Score:3, Insightful)
Re:Did any bombs go off... (Score:3, Insightful)
When people make these sort of suggestions about real, non-trivial production environments, they usually get laughed out of the room (and shortly thereafter, the job).
Re:Did any bombs go off... (Score:3, Insightful)
When people make these sort of suggestions about real, non-trivial production environments, they usually get laughed out of the room (and shortly thereafter, the job).
When it's justified, you can actually change databases or move from a traditional N tier model to something a bit more scalable. Just don't try it because you've screwed up your indexes or something.
Re:Did any bombs go off... (Score:3, Interesting)
Please tell me how. I have a medium-sized Movable Type install, and I'd like to run WordPress.
I don't want to have to use unsupported third-party hacks that are a year or more out of date, like the existing postgres port of WordPress.
I would love to ditch mysql, which has single-handedly been responsible for more downtime than any other program I have used, and I'm including "Windows" in that list.
Tragically, much like Windows, MySQL has adopted an "embrace and extend" policy enco
Trolling or honestly ignorant? (Score:3, Informative)
Movable Type can run on Postgresql [sixapart.com]. Create an installation of Movable Type using Postgresql. Export [sixapart.com] the posts from your MySQL Movable Type installation and import [sixapart.com] them into your Postgresql Movable Type installation.
If it's a question of moving to WordPress, there are many who have made the switch before you and some have even supplied [carthik.net] instructions [wordpress.org].
If what you're really looking for is a one-click method to mak
Re:Did any bombs go off... (Score:2)
I'm sorry, did I read that correctly? (Score:4, Informative)
Seriously, the amount of time spent switching between any of these system is drastic. For a typical, small database application, there is probably 20k-50k lines of stored procedures. All the different vendors have their own SQL proceedures.
How about securing the databases. I'd love to see how anyone could possibly say that the administration of a transition could possibly be an option. If your problem was MySQL security to begin with, how can you possibly suggest that switching to another database could be easy. The simple administration cost of securing a new server, especially with an existing dataset that was previously developed to be secured on another SQL server would be tremendous.
Switching between PHP and Perl, hehe come on now... I won't even bother wasting my time on this one.
Linux and Solaris.... if you have a security issue on one, you have a security issue on both. The fact is that the majority of security bugs that would be related to these is due to servers that are either not kept up to date or due to zero-day exploits. Both server systems are actively hacked and are high level targets for crackers. It doesn't matter which you use, you have to update both pretty much the same way, switching is a waste of time and money.
So, if you were to reason that the original posters comment was regarding the monoculture of PHP/MySQL/Linux, well I'll make it simple....
The open source community forces this crap down our throughts all the time, they love this solution, it works more or less. There are books on it. There are sections on Orielly's website dedicated to it. It's advertised regularly everywhere. This solution is chosen not specifically on its merits for simplicity/stability/security, but it chosen because it is relatively simple, relatively stable, and relatively secure, AND most importantly, it's Open Pop Culture.
I know a bunch of sales people that love to sell the hell out of the solution because it's fun to say LAMP. They don't know what it means, but they make up all kinds of neat new industry sales terms regularly to make them sounds like they have a clue... they don't. Oh, they also think P stands for PHP or Perl, not both. They don't understand how a letter can be variable.
So, before you put your 2 cents in, think first. Your rinky dink 50 line PHP scripts for changing passwords is not representative of a full mature system. In a real development work, we use features like stored procedures, complex views, server specific indexes. Also, just because your blog hasn't been hacked, don't think that just installing a new SQL server is actually going to secure anything, some of us have actually spent hundreds, if not thousands of hours just setting securities and permissions to different data sets.
The LAMP monoculture is real, it is there. Once you use it, you're locked into it. There is no transitioning from one to another.
Now if I misunderstood you and you really meant that Linux/MySQL/PHP itself wasn't a monoculture because you can choose different options when you're first starting... well ok, that may be true, but the majority doesn't. Perl rarely appears on the web anymore, the web is typically PHP, ASP, or JSP. I don't have exact numbers, but if you want to make me look like an idiot, post real numbers with reference that contradicts me. LAMPHP is a monoculture because it's used so often that lack of talent on the other solutions keeps it that way.
No go and try to sound like you know something somewhere else
Re:I'm sorry, did I read that correctly? (Score:4, Interesting)
Yes, but it's mostly Oracle developers who use stored procedures. I know because I had training in Oracle, both basics and some of the more advanced administration courses. Oracle training puts a lot of emphasis on stored procedures, you are taught PL/SQL from the start and never allowed to forget it.
I recently moved a project that had a MS-Access front-end accessing an Oracle DB into a "LAPP", that is, Linux, Apache, PHP, Postgres. In this project I can say that, definitely, rewriting all the PL/SQL procedures from scratch in PHP was quicker than migrating it to the equivalent Postgres stored procedures. However, that's because the system itself suffered a lot of functional redesign, it wasn't just a matter of transplanting it unaltered.
In the end, I believe that Oracle itself is a dangerous monoculture. Oracle is too complex for anyone to understand well in its entirety. In large Oracle systems there are some very specialized DBAs, for instance people who do nothing but take care of backup and recovery. Over-specialized admins are a weak point for security exploits. I think Oracle is protected by the same thing that protected VMS: obscurity. If Oracle came installed in each PC hackers would sooner or later devise ways to break it.
Re:Did any bombs go off... (Score:3, Informative)
Yes, except for the "practically no" part.
I have a wall-sized (40,000 LOC) PHP/mysql application that I've wanted to move to Postgres for years. It's not something you can do in your spare time, even if you do have a thin database abstraction layer (i.e. you don't call mysql_* functions in your code, but db_* functions that mostly pass through and do some error handlin
Re:Did any bombs go off... (Score:3, Informative)
This seems kind of wreckless to say: Can you really just assume that you'll be able to convert (e.g. export and import) your MySQL data into PostgreSQL? Maybe MySQL makes this guarantee (i.e. "MySQL is feature and data-type compliant with PostgreSQL, and data interoperability is guaranteed") - I don't know - but unless they do, I have worked as a programmer long enou
Re:Did any bombs go off... (Score:2)
-matthew
Well it is a valid question (Score:3, Insightful)
Anyway. He is right, although wrong at the same time. The widespread use of just one forum software package has indeed led to a mono-culture of sorts and a discovered hole in the package means thousands of sites are at risk.
He is however wrong in thinking this says anything about Linux Mysql Apache or even PHP. The bug is in the software wr
Re:Stupid Analogies (Score:4, Insightful)
Re:Stupid Analogies (Score:4, Insightful)
Just because you say that biological organisms and "viruses" don't work the same way, doesn't make it a valid thesis. If you can't explain how, for the purposes of the discussion, the two differ, then you are really just exposing your inate idiocy.
Not to mention it completely ignores the economic factors which created the "monoculture". It's cheaper for society to buy anti-virus than to support multiple OSes, and the analogists just have to deal with that. Computers are tools. Period.
I'm not sure what being "tools" has to do with the rest of your statement, but your assertion that it is cheaper for society to buy anti-virus (software?) than to support multiple OSes is hanging out there just dangling in the wind. You got anything besides your ass to back up that claim?
And how exactly does yet another word virus suddnely prove this theory? It's not like there haven't been many since the paper was published.
Wait, wait, wait. Now you say there is lots of proof for this theory, the one you've been claiming is false up until now? If there are so "many" cases since the paper was published, doesn't that mean that this "anti-virus" really doesn't work so well?
Re:Stupid Analogies (Score:2)
There's no point in dissecting something that's just a literary mechanism. If someone actually believes that computers function just like biological organisms, the burden is on them to prove it. However nobody in their right mind thinks that, so it's not a useful discussion.
but your assertion that it is cheaper for society to buy anti-virus (software?) than to support multiple OSes is hanging out there just dangling in the wind.
Tr
Re:Stupid Analogies (Score:2)
But they're called "computer virus" for a reason, and in many ways they do indeed function similarily:
Re:Stupid Analogies (Score:2, Interesting)
The difference is that we frequently want code to be passed between computers. A system that is resilant to viral software is also resiliant to desirable software, such as MS Office. Therefore monoculture is prized in computing deployments.
Re:Stupid Analogies (Score:2)
The reason this not-particularly-widespread virus was worrying (IIRC) is:
Re:Stupid Analogies (Score:2)
Re:Stupid Analogies (Score:2, Insightful)
I'll help him out here. In epidemiological terms, a monoculture is susceptible to widespread, possibly devastating infection because the members of that population all share similar genetic makeup and background. A single variant of a particular grain crop,
Re:Stupid Analogies (Score:3, Interesting)
You are presuming that each "stalk" is a computer within an organization. The analogy works just fine where each "stalk" is a seperate grouping of computers - be it an entire corporatation, a division within the corp or just the server roo
Re:Stupid Analogies (Score:2)
Yes, computers aren't biological organisims and "viruses" don't work the same way, but the concept is still the same - that's what makes it an analogy. Diver
Re:Stupid Analogies (Score:2)
And "Diversity increases security" is far short of "Diversity increases economic efficiency" or "Diversity reduces costs" (as has been repeatedly argued on Slashdot), and that's a rather
Re:Stupid Analogies (Score:2)
He also didn't draw any conclusions on increasing economic efficiency. If others have argued that that's their problem, not his.
Robust discussion (Score:4, Insightful)
We shouldn't put people on pedestals above all criticism, but Dan Geer has earned the right to have people at least offer some evidence when they accuse him of "idiocy".
Incidentally, Kephart and White have used biological epidemiological math to model the spread of malware, as have Williamson and Leveille. Actual researchers are finding the pathogen analogy [albany.edu] fruitful.
This discussion could not be complete without a car analogy.
Analogies are like cars. Sometimes they're buggy or unsuited for the job but if you test them carefully they can be superb tools.
Re:Robust discussion (Score:2)
Actually wasn't saying anything about Dan Geer because I haven't read his paper. I am attacking the story submitter and the general slashdot "conclusion by analogy" approach seen repeatedly thorugh the past.
Re:Stupid Analogies (Score:2)
In certain areas, they do and the analogy is quite valid. For example, worm propagation on the Internet [lemuria.org] very closely resembles biological population growth models.
While computers and biological organisms are indeed very different critters, on the systems level (i.e including their environments) there are many similarities.
Re:Stupid Analogies (Score:2)
The freeway non-monoculture (Score:2, Insightful)
We have concrete roads, asphalt roads, and in some places around the world roads made of dirt or ice. We have cars, trucks, buses, motorcycles, and in some places bicycles and rick-shaws. Vehicles are powered by gasoline, diesel, more exotic fuels, and human-power.
We have exit and en
Re:Safety in IT "Diversity" Sham (Score:2)
Re:Safety in IT "Diversity" Sham (Score:2)
If every single car on the road was a Toyota Camry, it would indeed be very easy to learn how to drive a new car when you decide to upgrade, same as if every computer was running one operating system.
Also, once thieves learn how to break in and steal the car, every single vehicle on the road becomes instantly vulnerable, same as your computer. You would no longer be able to keep anything of any value in the car, same with the data that you would keep on
Re:Causality at work? (Score:2)
The embryo came third.
"Chicken and Egg" is immaterial- cuz it cam^H^H^H^H ARRIVED LAST...
Re:LOL, what? (Score:2)
Sceondly, yes we can all make wild predictions about what could happen (and in the case of Microsoft, you'd probably be right) - however, when a 'security expert' sacrifices his job, it's a little more than idle pub talk.
It a bit like the difference between telling everybody about the trifecta that you knew would come in and actually going down the bookies and laying down your money.