Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Fair Software Installation 499

rossjudson writes: "There's a little war going on in your computer; it's a war that you might be aware of if you're an experienced computer user. If you're new to the game, there's very little chance you know about it, but it affects you, and it gets worse, not better. The battleground in this war is your CPU, your disk space, and your system's stability." He's got a particular beef with NEW.NET, but lays out (in the article below) what he thinks is a workable, generalized code of conduct for software installation.

Fair Software Installation

These days, we all download and install software from the Internet. And that software is rarely written entirely by one entity; rather, components are combined to create the programs we want. There is an increasing and disturbing trend to ship components that perform-system level tasks and have system-level effects. These effects are magnified because many of these components are installed without adequate notification to the user (either by omission, or deliberately).

The NEW.NET domain resolution component is a good example. This component is installed by a number of freely downloadable Windows programs on the Internet. Some of those programs notify the user that they are going to install the NEW.NET software; others do not.

Installation of NEW.NET alters the basic functionality of your system: It causes your system to behave in a manner that is inconsistent with international standards. That this is done in a stealthy manner is unacceptable. The fact that NEW.NET is unstable besides is another issue that we will deal with separately.

If I am installing a program that calculates speaker enclosure volumes, I shouldn't have to worry about it redefining my network stack and destabilizing my computer.

What does a reasonable software program or component do? It should perform its defined, published task. It should not consume excessive resources. It should have a defined starting point and defined ending point. If it is defined to be a service, it should publish that fact and indicate the starting mechanism it uses.

Let me draw upon the realm of commercial software for an example of a program that is an offender. Creative's PlayCenter 2 application is used to move music to and from Creative Nomad MP3 players. It can also play media. When you run the PlayCenter application, you get the functionality you expect. When you start examining your system files afterwards, though, the picture changes.

PlayCenter installs a service, a disk detection system, and a news collection daemon. It does not attempt to inform the user that these daemon-level processes are being put in place. It does not offer the option to make them manually-startable. Worse, the news collection daemon would actually chew up all your CPU idle time.

I think creators of software have some basic obligations:

  1. Inform users when drivers, services, or daemons are being installed.
  2. Allow users to omit any of the above that are not strictly necessary for program operation.
  3. Ensure that during uninstallation, system-level components are accurately removed, "leaving no trace."
  4. System-level and daemon components must be subject to a higher level of quality control. It is possible that some level of legal liability should be present for the corruption of the system.
  5. Transmit no information from a component to any party unless specification notification to the user has taken place, and is renewed on a periodic basis.
  6. Collect no information on a user without prior agreement, and a renewal of that agreement on a periodic basis.
There's been a longstanding battle between virus writers and anti-virus software. The equivalent to anti-virus software in the component world is Lavasoft's Ad-Aware. If you haven't run it before and you have a Windows box, get it and run it. The first time can be a real shocker -- tremendous amounts of crap can build up in your system without you knowing about it.

The little war I mentioned earlier is going to get nastier soon. Uninvited components like Cydoor and NEW.NET are sure to take steps to defeat Ad-Aware and programs like it. If I wrote a stealth component today, I would have it seek out an Ad-Aware signature file and modify it to ignore me, or add my directory to the ignore lists. Ad-Aware could respond by digitally signing the files, or with other techniques. This cycle will escalate, with each side taking new steps to ensure its dominance. Users will pay the price in decreasing system stability.

I am hard-pressed to see the difference between NEW.NET and the Sub7 trojan horse. Both subvert a computer for the purposes of others; both do it in stealth. The good folks at NEW.NET will surely disagree; they'll say that those applications that install their software inform the user, and as such, it really isn't their responsibility.

I say it is. NEW.NET makes active use of the component on your computer; I think that they cannot duck their responsibility for its behavior. They are a not passive participants; they are not a library component being used by others.

I've been beating up on NEW.NET quite a bit in this article. I suppose it's because the deinstallation of their component trashed the IP stack on my Windows 2000 system and it took me a half day to put it back together again. What the hell were they thinking when they stuffed a buggy service deep into my IP stack without telling me? I think they should have to compensate me in some way. A $250 Small claims court action here in Virginia might be a way to do it.

The bottom line is, where does it end? Software installation programs should install components that the user expects. Full disclosure should be the order of the day. There will always be violators, though. There are a couple of remedies which could help:

  1. A legal framework for "allowable" system modifications during installation can be created. By adhering to the requirements of disclosure and stability, manufacturers can avoid liability. The thread of liability may be required (although capped) to enforce conformance and responsibility.
  2. A technical framework in the operating system can establish and protect secure boundaries around the system's core. Certain operating systems already do this (Unix), but the most widespread consumer OS does not.
  3. A "signed installation" program, run by known entities, asserting that a given program and its installation don't violate the rules.
These remedies are necessary as the entities creating these components can't be counted on to do the right thing. Their business models are often predicated on the stealthy gathering of knowledge, and the altering of what goes into your computer.

Just think -- what if NEW.NET decided to start redirecting www.bestbuy.com to www.circuitcity.com? Is there a law somewhere or a technical remedy for this situation? I think there should be.


Slashdot welcomes reader-submitted features; use the story submission page if you'd like to submit yours.

This discussion has been archived. No new comments can be posted.

Fair Software Installation

Comments Filter:
  • by lynx_user_abroad ( 323975 ) on Friday March 15, 2002 @03:51PM (#3169679) Homepage Journal
    If you're running someone elses software on it, it's no longer your computer. They own it.

    In most cases they're gracious enough to let you keep doing things with it, but make no mistake about it.

    It comes down to a question of how much you trust the person/company who wrote the software.

  • Re:GIGO (Score:1, Funny)

    by Anonymous Coward on Friday March 15, 2002 @04:13PM (#3169811)
    Great idea. Winamp is well known for connecting to the Nomad jukebox.

    Great fucking idea.

    Are they all that stupid where you come from, or did you get off the short bus?
  • daemons? (Score:3, Funny)

    by room101 ( 236520 ) on Friday March 15, 2002 @04:13PM (#3169815) Homepage
    daemons? what are those. I don't think they exist on windows. (;-)

    On windows, they are "services". They give you exciting service. Way better than those unix daemons. They only talk to you in your head and tell you to burn things. Or at least, that's what they do to me. Maybe I'll post an "Ask Slashdot" to get further insight. Oh, maybe not, the voice in my head says that it will get rejected.

  • by jwinter1 ( 147688 ) on Friday March 15, 2002 @04:25PM (#3169889) Homepage
    How, I ask you, how are corporations supposed to cater to your every whim without efficient and effective spyware? Do you just expect movies about Britney Spears and snowboarding to just appear out of nowhere? They can't waste time and money with "original" ideas; they need proven material.

    And that's why I gladly install as much spyware as I can. That way I know that my opinions on everything, from linux to pornography all the way to pornography and linux, are recorded by internet tracking software.

    Thank you, spyware, thank you. And thank you too, Britney.
  • by L-Wave ( 515413 ) on Friday March 15, 2002 @04:37PM (#3169961)
    You see, its a battle of wills, and I'm the most stubborn individual on the planet and I will NOT be told how to use something in my possession

    I see you own a gun, do NOT shoot yourself in the foot. =) hehe
  • Re:daemons? (Score:3, Funny)

    by pyramid termite ( 458232 ) on Friday March 15, 2002 @04:47PM (#3170043)
    daemons? what are those. I don't think they exist on windows. (;-) On windows, they are "services". They give you exciting service.

    They service you. Repeatedly and often, painfully.
  • by TheViffer ( 128272 ) on Friday March 15, 2002 @05:28PM (#3170301)
    This is prob redunant and mark it as such ...

    But go install Quicktime, Real Audio and Microsofts Media player and then see the war that breaks out on your box.

  • by Boomer2 ( 515406 ) on Friday March 15, 2002 @06:22PM (#3170657)
    You should have known better than to install something you hadn't vigorously researched first. What kind of moron downloads software off the Net from unknown sources?

Get hold of portable property. -- Charles Dickens, "Great Expectations"

Working...