Posted
by
timothy
on Thursday May 08, 2008 @08:16AM
from the when-childhood-goes-wrong dept.

An anonymous reader writes "Wired.com is reporting that the Firefox browser has been unknowingly distributing a trojan with the Firefox Vietnamese language pack. Over 16,000 downloads of the pack occurred since being infected. This highlights a risk on relying on user-submitted Firefox extensions, or a lack of peer-review of the extensions, many of which receive frequent upgrades."

I know this isn't going to be a popular opinion here, but two of the big downsides of open source software to me are the lack of documentation and the lack of quality control. Sure, OSS has THEORETICAL quality control (because anyone can review it), but how often does that REALLY happen? If someone slipped in a virus into some OSS program (especially easy if they distribute it as a binary), how long, if ever, would it be before anyone caught it?

I'm not saying commercial software is perfect in that regard (there have been cases of commerically distributed software containing malware too), but at least there is generally some level of quality control there.

You are right. It may have something to do with the responsibility a software company has when selling you code. There are flaws in this statement, but what I mean is this:
Joe Six-pack is not going to be as upset when he gets infected by the free thing vs. the thing he had to pay for.
Is this fair to say? Can anyone say that better then me?

No, the "hahaha" is on you, if you think proprietary software has no quality control. It has plenty. So does Open Source software. When you spend money on a closed-source package, chances are that software house has a QA department. I don't mean to be rude to anyone or piss anyone off, but the same can't be said for most OSS projects, apart from those released through the few large OSS houses that have their own QA departments. Just because you've found bugs in closed-source software doesn't mean they

No, the "hahaha" is on you, if you think proprietary software has no quality control.

Good thing I never made such a proclamation. If you think I did please quote the relevant section.

It has plenty.

By plenty, you mean the bare minimum? Cause that's what happens in almost every case.

When you spend money on a closed-source package, chances are that software house has a QA department.

So? If someone slips in a trojan into their software that is undetectable to their virus scanners, as was the case here, how exactly is that big bad QA department going to prevent it from being released? Oh, you mean it won't?

I don't mean to be rude to anyone or piss anyone off, but the same can't be said for most OSS projects, apart from those released through the few large OSS houses that have their own QA departments.

And yet most of these projects without a QA department are still able to make software of quali

And yet most of these projects without a QA department are still able to make software of quality rivaling these proprietary vendors.

Actually, that statement if false. The majority of OSS is half-finished, poorly-planned crap that is in perpetual beta. Of what remains, most does not come close, let alone rival, the software provided by proprietary vendors.

The truth is that, with a very few notable exceptions, OSS is generally crapware that gets abandoned once the project obtains an arbitrary level of usabil

The truth is that, with a very few notable exceptions, OSS is generally crapware that gets abandoned once the project obtains an arbitrary level of usability and all the sexy code has been written.

The vast majority of all proprietary software ever written is also abandoned crapware. The main difference is that you no longer have access to most of it. Old abandoned OSS tends to accumulate on public archives; if you just ignore it, then it won't bother you.

The majority of OSS is half-finished, poorly-planned crap that is in perpetual beta.

In my experience (and I've held long debates with friends and colleagues about this) this has been caused by plain and simple pride. i.e. what happened with Pidgin - developers imposing their own viewpoints on their software for no valid reason.

That, and the language/OS elitism. A lot of abandoned projects in sourceforge are developed in an obscure scripting language and/or extension that requires very, VERY careful installation (i.e. wxPython - choose the wrong version and you'll end up in a support nightmare), or perhaps use a specific UI toolkit (perhaps even proprietary *cough cough* cinelerra *cough cough*) that keeps crashing and crashing. I remember when I tried to install GAIM in Windows. It sucked big time. You can't just design something as "cross-platform" if you don't do extensive testing on ALL operating systems, and that includes the Redmond Nightmare.

I believe that a lot of OSS developers program for selfish reasons - i.e. "I'm programming a tool that does what I want" instead of "I'm programming a tool that will help people who might not use my OS or won't share my personal tastes, therefore I need to think about them".

The lesson: It's not really the OS or the toolkit, or even the language used. It's the attitude of the developers that ruins projects.

Open source allows greater quality control than closed source. If Mozilla did not use this potential, it's their fault and not the open source process'.
In fact, the problem here is that the quality control used by Mozilla was not open source enough. They only did automatic scanning, something that can be done in compiled binaries, when a simple code-checking (notice that an extension source is not that big) would get the malicious code rather quickly.

Open source means the QA can be shifted from a group of QA workers in an office to people who use the software. Both approaches work, and both are not perfect. Saying one is inherently better than the other is a bit strange, as they both achieve the same thing, only in different places. QA performed in-house has access to the source code, and can highlight errors and get them fixed, just the same as any OSS project. The only difference is the QA workers are getting paid for it, and are working directly with the developers. I'm not saying that's better, it's just what happens.

It is a double edged sword. I speak as a developer and user of Debian.On one side, the possibility of getting infected binaries are dropped in Debian. Things are signed, etc.

On the flip side, there is a much higher possibility of getting malicious code in the source code. Considering the number of possible code "contributions" and unverified source code changes (at upstream, at maintainer, etc.), the possibility of getting malicious code in one of the less known projects is higher than closed source. Then a

How many refurburished ipods have had viruses on them/ How many sb thumb drives with custom controls and drivers have had viruses on them? How may times has MSFT released a service pack only to pull it a day or two later because 50% of the installs would fail horribly?

OSS has a far better track record on quality control. Even better OSS software knows exactly how many times it has been downloaded and releases the exact date at which the infection happened. That is information that is NEVER released by closed source companies.

OSS is far from perfect, but it has a much better track record than closed source software. And when it does fail, everything about the failure is spelled out in details so that particular failure is less likely to happen. Unlike closed companies whose own management don't even know what really happened.

How many refurburished ipods have had viruses on them/ How many sb thumb drives with custom controls and drivers have had viruses on them? How may times has MSFT released a service pack only to pull it a day or two later because 50% of the installs would fail horribly?

Yeah, see, but... you can hold companies responsible. Who will be held responsible for this trojan? Hm? With the Sony rootkit, we knew. With OSS, "some guy that posted it" just doesn't cut it.

Yeah, and just see how far you get with a liability claim against almost any proprietary software vendor. They will just point to their EULA, which you must have agreed to in order to use their software, that disclaims any and all liability on their part. So you can't really hold them responsible, not in a legal sense.

Using a few examples of flawed QA to claim all closed-source QA doesn't happen is a ridiculous argument. I could point out how many flaws are introduced in updates to open-source software, and use your logic to say OSS has no QA. OSS has enough merits to guarantee it a very glorious future - we don't have to make stuff up or sensationalise problems both camps go through to distort reality. FUD - I thought we didn't like that here.

RMS is that you?How many refurburished ipods have had viruses on themI don't know how many?How many sb thumb drives with custom controls and drivers have had viruses on them?Again I don't know how many?How may times has MSFT released a service pack only to pull it a day or two later because 50% of the installs would fail horribly?You tell me.OSS has a far better track record on quality control.What are your standards for this statement?Even better OSS software knows exactly how many times it has been downlo

Open Source should be treated with care, just like any other software you download from the net. Stick to the lighted paths and generally you should be fine. In this case, we have user-generated code which can be iffy, but you can feel fairly safe if it has been downloaded and used a number of times. These things usually come out into the open sooner or later.

To be fair, this particular sequence of events could have happened to a proprietary product as well. The article explains that an add-on developer uploaded a new version of the language pack. The language pack was automatically scanned for viruses, and found to be clean (since the signature for this particular Trojan wasn't yet known). It appears that this occurred because the developer's computer was infected (i.e.: this was accidental, not intentional, on the part of the contributor).

This isn't too different from a hypothetical employee whose home computer is infected, and who is working from home and emails a module to his boss, who merges it into the final product. If his home computer was infected, and the standard virus scans missed it, then the final product could end up having Trojan code buried inside.

Would the company necessarily have caught the Trojan? Doubtful. They, too, would probably not have done a line-by-line review of each module update that is submitted.

So I'm not convinced this can be pointed to as a failing of the OSS development model per se. The only difference is that the OSS user contributor is perhaps less well-known (less trustworthy?) to the distributors than in a corporate setting. (But, again, this wasn't a problem of trust... this was a contributor machine being infected. And I assure you that corporate developers can and do get their machines infected.)

Nevertheless, this points to a breakdown in Mozilla's auditing practices. They should be very careful with any code they distribute. But these kinds of quality-control breakdowns occur in OSS projects and corporations, too. (One could tangentially argue that at least with OSS, breaches are likely to be publicized, whereas companies will frequently try to suppress information that points out a security breach.)

I'm not saying commercial software is perfect in that regard (there have been cases of commerically distributed software containing malware too), but at least there is generally some level of quality control there.

No, the definition of a troll is someone who post inflammatory material in order to get responses which is what you did. Your anti-OSS FUD has little bearing when it comes to the actual reality of this case. The problem was with the fact that this trojan had an unknown signature and thus was able to slip in past the virus scanner being used by mozilla. And here's the real kicker, proprietary anti-virus scanners, the stuff you are trying to claim is the pinnacle of software QA, didn't know about it till M

Doesn't matter how much truth there is to a statement, or how much proof one provides. Disagree with the fanboys and watch your karma burn. I have actually seen fanboys go back and mod down posts I have made months back. They have formed cliques and are busy modding everyone who posts against them down.

"Sure, OSS has THEORETICAL quality control (because anyone can review it), but how often does that REALLY happen? If someone slipped in a virus into some OSS program (especially easy if they distribute it as a binary), how long, if ever, would it be before anyone caught it?"

Sure, proprietary software has THEORETICAL quality control (because they are charging for it), but how often does that REALLY happen? If someone slipped in a virus into some proprietary program (which they, of course, only distribute as

I'm not saying commercial software is perfect in that regard (there have been cases of commerically distributed software containing malware too), but at least there is generally some level of quality control there.

Quality control fails in the proprietary software world (aside - OSS is commercial as well) but hey... at least it's there! Meanwhile, this particular case is supposed to be an example of how OSS has no quality control? And we see the same failures in the quality-controlled proprietary world? I'm not following your logic.

You ask how long it would take to find a virus slipped in to an OSS program? Interesting question. A little bit of Googling would show where major OSS projects were compromised and

I know this isn't going to be a popular opinion here, but two of the big downsides of open source software to me are the lack of documentation and the lack of quality control. Sure, OSS has THEORETICAL quality control (because anyone can review it), but how often does that REALLY happen? If someone slipped in a virus into some OSS program (especially easy if they distribute it as a binary), how long, if ever, would it be before anyone caught it?

I'm not saying commercial software is perfect in that regard (there have been cases of commerically distributed software containing malware too), but at least there is generally some level of quality control there.

actually , that is incorrect . The entire nature of open source forces it to make sure peer review is enforced , because of the danger.

In closed source this can happen just as easily , but the control will be more relaxed because they think it will be safer.

If you have ever worked for a closed source software maker you wouldn't be talking about the quality control in closed source.

Yes, I agree that having a trojan slipped in is a little less likely as it would require a malicious employee rather than a malicious random contributor. But the quality of the code is utterly and horribly abysmal. For every trojan that doesn't make it in there must be at least 500 security bugs that make it out because of the horrible quality control of closed source.

I know this isn't going to be a popular opinion here, but two of the big downsides of open source software to me are the lack of documentation and the lack of quality control.

I'll refrain from asking what you mean by quality control, but documentation? Seriously? Outside of OSS, you'd be hard pressed (with a few exceptions) to find anything that has any meaningful documentation. And if you're looking for hand-holding HowTo's or FAQs, well, the web is littered with them.

I'm guessing you didn't read the article. The breakdown came with the fact that the signature of the trojan was unknown at the time it was uploaded and so the anti-virus scan on the extension came up clean. This had nothing to do with a failure of OSS but with the fact that at the time it was an unknown trojan.

I'm sure that Firefox has quite a bit of QA done to it... but it's usefulness relies too much on extensions, which we don't that many assurances about.

I'm guessing you didn't read the article. The breakdown came with the fact that the signature of the trojan was unknown at the time it was uploaded and so the anti-virus scan on the extension came up clean. This had nothing to do with a failure of OSS but with the fact that at the time it was an unknown trojan.

It sounds like you're saying, "But this is just because the trojan was unknown at the time! If the evil hackers had used a known trojan, Mozilla would have detected it!"If you are asking whether Mozilla failed to virus-scan an extension, then, alright, I'll grant that they did to a virus scan, at least once.But it would be foolish to say, "So that's why it's not really a Mozilla problem, because the software program couldn't detect it." It would be akin to that time when some reporters tested Homeland Se

No, I'm saying the issue was with the QA process that Mozilla used and not the license that the source code is released under. If Firefox was released under a proprietary license exactly what would have stopped this same issue from happening? Would their virus scanner magically have noticed this trojan because of the source code license change? Was Mozilla going to automatically start hand checking every single 3rd party add-on because of this different source code license? If I upload a 3rd party add-o

So it's like when you park your car in your garage at night. In the morning you don't look in the trunk to make sure that i) no one put a hostage/ dead body in there; ii) no one removed a hostage/ dead body; or iii) the spare tire is in good working condition. While it is possible, and recommended that you do so, there is no guarantee that everyone does this.

I'm sure that Firefox has quite a bit of QA done to it... but it's usefulness relies too much on extensions, which we don't that many assurances about.

Fair enough. However, the usefulness of Firefox (and any other web browser - proprietary or not) also depends even more on web pages. The QA on those are even more nebulous and are a larger potential threat than browser extensions / modules.

Now - the danger here is to entirely discount the importance of QA. It's a good thing to do. But be careful about putting too much faith in to it.

I'm sure that Firefox has quite a bit of QA done to it... but it's usefulness relies too much on extensions, which we don't that many assurances about.

The untrustworthiness of extensions has long been a concern of mine, and in a way I'm actually glad that this trojan, which affects a relatively small segment of the Firefox user community, came to be. I hope it's a warning call to Firefox users and especially to the Mozilla foundation, which actually said in a Slashdot interview, "Oh, we don't see a lot of

The difference is that in the closed source world something as basic as a language pack would come with the same QA that the program... while Firefox doesn't give much assurance beyond what they directly produce, although the value of the product is directly connected to the availability of third party extensions.In the same way, I'm pretty sure that the Ubuntu or Red Hat guys are giving me a good kernel and core libraries with their distro... but I find it hard to believe that any serious QA is done to the

The difference is that in the closed source world something as basic as a language pack would come with the same QA that the program... while Firefox doesn't give much assurance beyond what they directly produce, although the value of the product is directly connected to the availability of third party extensions.

The virus's signature was unknown at the time, and thus passed Mozilla's testing of add-ons.

Mozilla ran an anti-virus check on the most recent version in February when it was added to the official Firefox add-ons site, but the Trojan's virus signature was not known until April.

So basically according to you Mozilla is supposed to be able to recognize trojans whose signatures are unknown to any anti-virus software?

So basically you're saying that a virus scanner is a proper substitute for putting actual eyes on code??

No, but it's no less checking than Opera does for the 3rd party add-ons they host for their proprietary browser. If I were to create a trojan and upload it to Opera's site and it bypasses any virus scans, is that somehow the fault of the proprietary business model? No. It's just the fact that sometimes you can't always check everything. Especially when a group gets thousands upon thousands of these 3rd party add-ons submitted.

That sure seems like what you are saying since you seem to be solely blaming the virus scanner.

You mean except for the fact that none of the anti-virus software out the time could detect the trojan? Did you even read about the part where it said that the trojan signature wasn't known about until 2 months later?

Sure, they definitely should have tested it and that's a fault in Mozilla's QA that they need to rectify. It is not, on the other hand, a fault of OSS. I'm confused on how if everything was the same except Firefox was a proprietary piece of software that somehow this infected add-on wouldn't have made it in. And if it had, is that somehow the fault the proprietary business model or because someone should have been inspecting things more?

You do realize that it's just as easy to have put a virus into an add-on for a proprietary browser as well, right? Explain to me exactly how for no other reason than being closed-source does that attack vector get closed for software like IE or Opera? Oh, you mean it doesn't? Yeah, you're just spreading FUD.

It's not quite the same thing if Microsoft or Opera Software don't distribute third party extensions themselves (I'm not sure whether or not they do). One can't expect them to control the actions of totally independent entities. Mozilla presumably had every opportunity (regardless of the resources required) to review the source before making it available for download.

...vulnerable to these sorts of attacks (which anyone with any common sense would already know), the fact that it is such an open process means a greater possibility of earlier detection, faster analysis and response, and the rapid repair of the process which made such a gaffe possible. In the closed source world most of these steps would take exponentially longer, and quite often the process would remain the same.

This has nothing to do with Mozilla accepting user-submitted extensions. If anything, that makes them more careful about what they publish. A developer's machine becoming infected with an as yet unknown virus that is undetected by anti-virus scanners is a risk that every software producer faces. How many commercial software vendors even run their developers' code through a virus check when it is committed, let alone running regular anti-virus checks on software they have already released?

...That Trojan inserted a banner-ad displaying script into any html file on his system, which included the help files for the language pack.

That meant that anyone installing the language pack would have malicious ad displaying code inside their browser -- which could be used for other exploits.

So the language pack did not have a Trojan. I don't think the language packs even have executable code. The language packs had help files with banner ads in them. That's not even close to what the headline says. But I guess "Vietnamese help files may contain ads" doesn't sound as scary.

Eh? From the article: "On Tuesday, a user named Hai-Nam Nguyen reported that anti-virus programs detected the Xorer Trojan inside the add-on. Firefox admins quickly confirmed the presence of the Trojan's code and removed the file the same day."

From the article: "On Tuesday, a user named Hai-Nam Nguyen reported that anti-virus programs detected the Xorer Trojan inside the add-on. Firefox admins quickly confirmed the presence of the Trojan's code and removed the file the same day."

Unless this trojan was discovered by analysis of the binary, then this is prima facia evidence that F/OSS tends toward greater security than proprietary software. When the typical person (as this thread shows) exclaims: OMFG, look! A trojan in F/OSS was discovered, but none have been discovered in competing proprietary products! they are wrongly assuming, as has been done over and over in this thread, that the code I cannot see is more secure than what I can see! I mean if I have no way to see the trojan

There have been a number of incidents of trojans and viruses being distributed in commercial shrinkwrapped software. Firefox was slack, like commercial distributors have now and then been slack. You get caught by surprise, fix the process, and keep going, and keep it from happening again.

If they don't address the process that caused the problem, then start worrying.

Vietnamese is one of those "economically disadvantaged" languages that haven't received much attention in open-source programs until very recently, even with its 80 million+ users. Firefox support of Vietnamese was "in the works" for at least 5 years with not much to show for it. As recently as last year, I wasn't able to find anything installable from the Mozilla Foundation that supports Vietnamese. Meanwhile, Vietnamese language users rely on unofficial "patches" found elsewhere to enable support for t

He posted on [url=https://bugzilla.mozilla.org/show_bug.cgi?id=432406]the bugzilla post[/url] saying he's preparing a cleaned pack. Apparently his computer was infected with the trojan which infected the lang pack files.

It's noteworthy that the actual trojan isn't in the files... just the code which does the advertising stuff, I think. It can't propagate from these files. Since it took so long to be detected it's possible the infected code doesn't work (after all it was intended for HTML documents and not language packs) but this is just personal speculation.

I don't know if this has been done yet, but each new extension submission or upgrade must be signed by Mozilla with some type of private exchange with the author. My concern right now is, I know some of my extensions come from third parties, whats stopping someone from hacking the server and introducing a fake upgrade that gets spread across to all users in the auto upgrade? Thus when the update downloads it, compares they checksum signatures it would know it was not an authorized release. Thus besides h

There has been a lot of discussion about closed source projects having dedicated QA departments and the relative merits of that.

The problem is most software companies don't do QA right.

It's fundamentally against the quarter by quarter business mindset that dominates most companies. QA doesn't produce anything. QA usually pushes back release dates. QA can be almost as resource intensive as engineering.

QA only pays off in the long term as a reputation for quality outside of the company, and then on

The language pack was not infected with the trojan itself. It only contained some HTML code displaying ads in the help files. These were inserted BY the trojan, on the language pack contributor's infected computer, but the language pack itself only contained the ad-displaying code.

You are coming to the conclusion that open source "sucks" because a trojan was supplied with one version of Mozilla Firefox. The problem with that reasoning is twofold:

1) The problem was detected nonetheless

2) It is being fixed rather quickly

Another problem with your reasoning is that you jump to saying "Long live microsoft!". While I applaud you for sharing your love, the link between a competitor's browser having a problem and your love of Microsoft is quite shallow.