On Wednesday 23 October 2002 07:26, Nathan Russell wrote:

> >Other people have mentioned the possibility of "automatically" disengaging
> > or updating the client.
>
> I am aware of several linux distributions which do the exact same
> thing (in fact I am not aware of any widely popular one which
> doesn't).

Eh? I'm not aware of any major OS which even attempts to automatically 
install upgrades, with the exception of Win 2000 (if you applied SP3 and 
forgot to disable automatic updating) and Win XP (if you applied SP1 and 
forgot to disable automatic updating). 

The problem here is one of _control_. If you allow someone else - whatever 
their intentions are - to install & run software on your system without your 
explicit permission on a case-by-case basis, you are effectively handing over 
full control of your system & all the data on it to someone else. 
>
> However, they require the user to initiate the update.

Ah, I see what you mean.

> Would you be
> more comfortable if that was done, as well as some sort of signature
> on the update files?

Here's the difference: when I'm updating my (Red Hat) linux systems, _I_ 
wrote the script that downloads the update files (from a local mirror of my 
choice) & checks the certificates. Only then do I trust someone else's 
software to unpack and apply the updates.

I'd far rather run an unpatched, insecure service than depend on something 
that is in principle uncheckable to download & install software 
automatically. The problem is that, if the connection can be hacked in to, an 
attacker can supply anything they like .... 

Better still if I just download the source code & compile it myself. That way 
I am absolutely sure that what I use is what I think I'm using. Obviously 
this principle can apply only to programs which are 100% open source.

But here's the crunch: this discussion is related to the current problems 
with seriously obsolete clients. By definition these do not contain 
auto-update code, so the discussion is (+/-) pointless. 

To fix the problems, we really need to take a "belt and braces" approach:

(1) the server needs to protect itself from "machine gun" requests. I reckon 
the best way to do this is for the server to detect continuous repeat 
requests & automatically command its firewall to block data from that source 
address for a limited time (say one hour). This would protect the server from 
excess load, yet is not exploitable by remote attackers - all they can do is 
temporarily block themselves out! 

Although not neccessary to the project, I'd reccomend that the blocking 
action be logged so that it can be followed up (manually or automatically) by 
contacting the user concerned. Actual contact may sometimes not be possible 
because the registered user no longer controls the system.

(2) future clients should be modified so that, if PrimeNet has no suitable 
work to allocate, they back off for a few hours before trying again. Even if 
this means running out of work altogether - though, given the "days of work" 
parameter, they should run "in need of more work" for some time before 
finishing the current assignment.

In addition the server probably would benefit from addition of "intelligence" 
so that it does not attempt to assign work which specific versions of the 
client cannot accept. However, the action I suggest under (1) alone is 
sufficient; no automatic or forced upgrade is _required_.

Regards
Brian Beesley
_________________________________________________________________________
Unsubscribe & list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ      -- http://www.tasam.com/~lrwiman/FAQ-mers

Reply via email to