Grid Attack - A Suggestion and Question
|
John Horner
Registered User
Join date: 27 Jun 2006
Posts: 626
|
09-19-2006 05:02
Hmm, I know nothing (well virtually) nothing about scripting being just a humble avatar trading land, investing money, and making a few shekels in world, but what worries me is that I could do something quite innocent (to me) that could cause untold harm to the Grid by either accepting or buying something that duplicates itself out of all control.
That could expose me to quite substantial legal penalties, as I do have some understanding of the US real life legal system, especially that, that is applicable to UK subjects following the signing of a fast track extradition treaty which was originally supposed to be limited to real life terrorism. A case in point is the so-called Nat West 3.
Now some of you lot are devious geniuses. Could not one or more of you devise and sell some type of virus checker which would attach to each avatar and could be programmed to warn/reject/delete prims/objects with malicious scripts, with an ability to allow an exception for trusted people such as the Rez Foo script etc.
I would have thought there would be a fair market in Second Life for such a security program, and perhaps the Lindens may even co-operate in the designing of such a device.
Finally it would demonstrate reasonable good faith by individual avatars if such a future attack happened, and it may even be a first life legal defence in the event of trouble
|
Fairlight Lake
Registered User
Join date: 14 Jul 2006
Posts: 26
|
09-19-2006 05:42
It's technically not possible to have one object check the script of another, as there is no way to "read" the script of another object from within the LSL scripting language in SL.
|
Jesse Malthus
OMG HAX!
Join date: 21 Apr 2006
Posts: 649
|
09-19-2006 06:20
From: Fairlight Lake It's technically not possible to have one object check the script of another, as there is no way to "read" the script of another object from within the LSL scripting language in SL. You are correct. The only script info sent from LL is a text copy when you open a mod/copy script.
_____________________
Ruby loves me like Japanese Jesus. Did Jesus ever go back and clean up those footprints he left? Beach Authority had to spend precious manpower. Japanese Jesus, where are you? Pragmatic!
|
Odysseus Fairymeadow
Registered Explorer
Join date: 18 May 2006
Posts: 44
|
09-19-2006 10:04
I know that when I first entered here I was extremely worried about creating a grid-wide attack and asked a number of people how to prevent my scripts from going crazy.
If you think that a script you write may "go crazy" (i.e. self-replicate the heck out of itself), then I would suggest testing it out while standing in the Island Sandbox where it is unlikely to spread to the rest of the grid. There are also DIE_AT_EDGE and RETURN_AT_EDGE attributes that you could activate that would cause the object to die or return to your inventory if it attempts to cross a region border.
There are a number of limits designed into SL that prevent this kind of grid-wide attack from occuring. It is highly unlikely that the person that designed this attack did so accidentally or not mindful of the limits and how to bypass them.
|
Jesse Malthus
OMG HAX!
Join date: 21 Apr 2006
Posts: 649
|
09-19-2006 10:09
From: Odysseus Fairymeadow I know that when I first entered here I was extremely worried about creating a grid-wide attack and asked a number of people how to prevent my scripts from going crazy.
If you think that a script you write may "go crazy" (i.e. self-replicate the heck out of itself), then I would suggest testing it out while standing in the Island Sandbox where it is unlikely to spread to the rest of the grid. There are also DIE_AT_EDGE and RETURN_AT_EDGE attributes that you could activate that would cause the object to die or return to your inventory if it attempts to cross a region border.
There are a number of limits designed into SL that prevent this kind of grid-wide attack from occuring. It is highly unlikely that the person that designed this attack did so accidentally or not mindful of the limits and how to bypass them. Also, a simple chat trigger, like saying "die", is handy to control self-replication.
_____________________
Ruby loves me like Japanese Jesus. Did Jesus ever go back and clean up those footprints he left? Beach Authority had to spend precious manpower. Japanese Jesus, where are you? Pragmatic!
|
Odysseus Fairymeadow
Registered Explorer
Join date: 18 May 2006
Posts: 44
|
09-19-2006 10:14
From: Jesse Malthus Also, a simple chat trigger, like saying "die", is handy to control self-replication. Only if it doesn't get out of shouting range, my first self-replication test got outside of standard chat range rather quickly.
|
EWGAccounting Freelunch
Registered User
Join date: 16 Aug 2006
Posts: 24
|
09-19-2006 10:14
From: Odysseus Fairymeadow I know that when I first entered here I was extremely worried about creating a grid-wide attack and asked a number of people how to prevent my scripts from going crazy.
If you think that a script you write may "go crazy" (i.e. self-replicate the heck out of itself), then I would suggest testing it out while standing in the Island Sandbox where it is unlikely to spread to the rest of the grid. There are also DIE_AT_EDGE and RETURN_AT_EDGE attributes that you could activate that would cause the object to die or return to your inventory if it attempts to cross a region border.
There are a number of limits designed into SL that prevent this kind of grid-wide attack from occuring. It is highly unlikely that the person that designed this attack did so accidentally or not mindful of the limits and how to bypass them. I use DIE_AT_EDGE in all my replicating animals. There have been specific instances where it has failed, and this has resulted in me including code to check the current sim with every few clock ticks. If the animal is in the wrong sim, it will commit suicide. As to why DIE_AT_EDGE might fail, I don't know.
|
Jesse Malthus
OMG HAX!
Join date: 21 Apr 2006
Posts: 649
|
09-19-2006 10:17
From: EWGAccounting Freelunch I use DIE_AT_EDGE in all my replicating animals. There have been specific instances where it has failed, and this has resulted in me including code to check the current sim with every few clock ticks. If the animal is in the wrong sim, it will commit suicide.
As to why DIE_AT_EDGE might fail, I don't know. Aww, poor animals comitting suicide...
_____________________
Ruby loves me like Japanese Jesus. Did Jesus ever go back and clean up those footprints he left? Beach Authority had to spend precious manpower. Japanese Jesus, where are you? Pragmatic!
|
Jopsy Pendragon
Perpetual Outsider
Join date: 15 Jan 2004
Posts: 1,906
|
09-19-2006 13:02
From: Odysseus Fairymeadow I would suggest testing it out while standing in the Island Sandbox where it is unlikely to spread to the rest of the grid. There are also DIE_AT_EDGE and RETURN_AT_EDGE attributes that you could activate that would cause the object to die or return to your inventory if it attempts to cross a region border. There are a number of limits designed into SL that prevent this kind of grid-wide attack from occuring. It is highly unlikely that the person that designed this attack did so accidentally or not mindful of the limits and how to bypass them. Excellent suggestions. To which I'd add: If you're tinkering with replicating objects, like AI wildlife or something, keep the power to rez children in a single controller object. (never give the ability to rez children to children!  ) That way if there is a melt-down, it's one object you need to find and stop, not an ever increasing number of them.
|
DoctorMike Soothsayer
He's not a real doctor.
Join date: 3 Oct 2005
Posts: 113
|
Die at Edge
09-20-2006 05:14
All this talk of Die at Edge reminds me of Disney's faked footage of lemmings running off a cliff. Irelevant I know, but I am in work avoidance mode today.
_____________________
Performance Artist and educator "Thinking outside the Prim"
|
TigroSpottystripes Katsu
Join date: 24 Jun 2006
Posts: 556
|
09-20-2006 22:13
somthing I use on my selfreps and a few other objects is what I call a Dead Fur's Switch, basicly it kills the object if I am not within sensor range, depending on the object I set a bigger timer (specially on my non self rep objects) so they can live a bit more while I am gonne, but if I never come back to clean them they die
|
John Horner
Registered User
Join date: 27 Jun 2006
Posts: 626
|
09-21-2006 02:59
Further to my original post about a type of virus checker I did have one idea which I thought I might mention, however please pardon my innocence with regard to what is and what is not possible with the LSL.
Presumably all self-duplicating prims including that of the root or master prim must contain instructions to reproduce in some sort of logical progression. That is square, cube, and primary number, log table, etc at el.
Surely this constitutes a mathematical pattern which may be able to be programmed into some sort of security virus checker prim, when such deviant prims come within range. On this range point I know it is possible to program prims to detect avatars, such as the list gather function. An avatar is a type of prim I understand
Therefore could a so called security prim be devised that once it detects prims progressively increasing with a mathematical pattern, automatically attempts to delete them?
Just a thought
Regards John
|
Gwyneth Llewelyn
Winking Loudmouth
Join date: 31 Jul 2004
Posts: 1,336
|
09-21-2006 03:10
You could use that to delete your own objects, if: - all of them had an open listener to a "die" command from the master controller script that would trigger its de-rezzing
- all of them were properly checked not to be rezzed over 100 m away from your master controller script (100 m is the maximum shout range)
Sensors are indeed able to detect objects as well as avatars. Their range is limited to 96 m (maximum) and will only return the first 16 objects detected (usually the 16 that are nearest to you). This means that it would be rather hard to find out how quickly and fast your objects are replicating. There are ways to detect more than 16 objects using multiple sensors... but you'll quickly see the problem here: it'll be a nightmare to coordinate all these sensors, since they would have to forward their detection lists to a master control (to process duplicates and estimate how much the growth rate is), which would run your algorithm... and that would be quite slow to reach a decision, compared to a quick self-replicating object. In the end, I can assume that a self-replicating physical object would crash the sim far quicker than your detection algorithm could analyse the rate of growth  BTW, there is no way to delete an object from another user, though, so this would work only for your own objects.
|
Jopsy Pendragon
Perpetual Outsider
Join date: 15 Jan 2004
Posts: 1,906
|
09-21-2006 13:03
There are features in LSL that allow the parent/rezzer and child/rezzee to identify each other, without the need for scanning... It's probably worth clarifying that even self-replicators that die off after a period of time are no guarantee of safety. Doesn't matter if we, (RL 1st-life human types) die at 25 years or 125 years, so long as we've had children before we die, the cycle will continue. Also, you're likely to have a more accurate count and generate far less lag if you can keep track of the rezzes as they happen... instead of trying to scan and count objects that were already created. (Rezzors and Rezzee's can fairly easily obtain each other's keys for more direct "do you still exist" checks if necessary.) I put self-replicating objects into the same sinful temptation as self-modifying code. It's too easy to lose control without a rigid hierarchy, each level with specific and unshared duties. 
|
EWGAccounting Freelunch
Registered User
Join date: 16 Aug 2006
Posts: 24
|
09-22-2006 08:25
Another Thing I've done lately is have my animals, on birth, send an llhttpRequest to an out-world server...I keep track of populations that way when not in SL, and can send kill commands to the lot of them from a web based control panel if things start to go sour.
However, so far my in built methods of population control (scripted "telomerase" cutting up "genes" with reproduction and sim kill commands) seem to do the trick. I've even removed the telomerase from a few animals and the populations still haven't exploded.
But again, these tricks would only work on your own property.
|