Sad news...... Scripts are vulnerable now
|
|
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
|
05-31-2009 20:18
From: Jesse Barnett Yep that is the person(the perp, not my reference source). So far some of the other things the perp said seem to also be accurate: It is a complicated hack, it is not being widely disbursed and if you do it wrong, you will be banned instantly, if you do it right, there is still a fair chance of a ban. Which is pretty much verbatim as to what Tyken said.
Would still love to get some repro, or at least some confirmation as to whether obfuscation or any other steps help or prevent it.(hmm not sure if you can use obfuscate code any more since MONO rollout. Has anyone tried?) define obfuscate? not that it matter if they are converting the bytestream, as opposed to the plain text.
_____________________
| | . "Cat-Like Typing Detected" | . This post may contain errors in logic, spelling, and | . grammar known to the SL populace to cause confusion | | - Please Use PHP tags when posting scripts/code, Thanks. | - Can't See PHP or URL Tags Correctly? Check Out This Link... | - 
|
|
Jesse Barnett
500,000 scoville units
Join date: 21 May 2006
Posts: 4,160
|
05-31-2009 20:30
From: Void Singer define obfuscate? not that it matter if they are converting the bytestream, as opposed to the plain text. Chalk that off to a senior moment  Since there is no two sided communication where you can actually encrypt, in this case you are pretty much well stuck with something as simple as keyword replacement and as you mentioned, stripping comments. Underlines & Japanese characters are easy and makes plain text code much more difficult to read. Anyone determined enough can still do a search/replace and eventually grok the code anyway though. But then again, anyone competent in LSL doesn't need to see a script to know how to do something.
_____________________
I (who is a she not a he) reserve the right to exercise selective comprehension of the OP's question at anytime. From: someone I am still around, just no longer here. See you across the aisle. Hope LL burns in hell for archiving this forum
|
|
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
|
05-31-2009 21:18
From: Jesse Barnett Chalk that off to a senior moment  Since there is no two sided communication where you can actually encrypt, in this case you are pretty much well stuck with something as simple as keyword replacement and as you mentioned, stripping comments. Underlines & Japanese characters are easy and makes plain text code much more difficult to read. Anyone determined enough can still do a search/replace and eventually grok the code anyway though. But then again, anyone competent in LSL doesn't need to see a script to know how to do something. I count 7 characters on the basic keyboard that are ignored as breaking spaces, but yeah, a whitespace builder is easy to make. as is search replace variable names... plus all lsl commands would be visible... and it still doesn't address the fact that they don't need to understand it to use it... they woman that launches the nuclear missile on command doesn't need to know how to build the sucker. just insert key, press big red button. (although I'm told my code as written is getting unreadable again =X)
_____________________
| | . "Cat-Like Typing Detected" | . This post may contain errors in logic, spelling, and | . grammar known to the SL populace to cause confusion | | - Please Use PHP tags when posting scripts/code, Thanks. | - Can't See PHP or URL Tags Correctly? Check Out This Link... | - 
|
|
Tyken Hightower
Automagical
Join date: 15 Feb 2006
Posts: 472
|
06-01-2009 09:16
If you're really concerned about your scripts being stolen, it's still possible to upload bytecode only for LSL2 compiled scripts. Obviously, you lose the advantages of Mono. And your bytecode can still be reverse engineered. Chances are your scripts aren't worth being stolen in the first place. Not to insult anyone, but there's only so much that can be done in LSL, and they already know how to do it. The only case I can imagine being worth the effort of protecting would be something like a SLX terminal, or whatever other large commercial service that probably has sensitve keys or whatnot in it.
Tl;dr: it's not worth worrying about.
|
|
RobbyRacoon Olmstead
Red warrior is hungry!
Join date: 20 Sep 2006
Posts: 1,821
|
06-01-2009 09:50
From: Tyken Hightower If you're really concerned about your scripts being stolen, it's still possible to upload bytecode only for LSL2 compiled scripts. Obviously, you lose the advantages of Mono. And your bytecode can still be reverse engineered. Chances are your scripts aren't worth being stolen in the first place. Not to insult anyone, but there's only so much that can be done in LSL, and they already know how to do it. The only case I can imagine being worth the effort of protecting would be something like a SLX terminal, or whatever other large commercial service that probably has sensitve keys or whatnot in it. Tl;dr: it's not worth worrying about. I agree that it's highly unlikely that you have any code that's sufficiently unique to get all crazy over, but you don't have to be a large commercial service to be a little worried about whether someone gets your code. To use an example near and dear to my own heart, there are a number of combat systems in Second Life that use one method or another to try to prevent 'cheating'. This often means that, while the actual mechanics of the combat system are perhaps nothing particularly special, there are still 'trade secrets' like communication protocols that need to be protected. To say that it's "not worth worrying about" is overly dismissive. Many of us put countless hours into our work, and even if it's not earth-shattering truly groundbreaking stuff, we have invested ourselves in it. .
|
|
Escort DeFarge
Together
Join date: 18 Nov 2004
Posts: 681
|
06-01-2009 10:16
From: Tyken Hightower Chances are your scripts aren't worth being stolen in the first place. Speak for yourself  From: Tyken Hightower it's still possible to upload bytecode only for LSL2 compiled scripts
...really? I'm wondering how an LSO script source is then represented to the creator/owner.
_____________________
http://slurl.com/secondlife/Together
|
|
Tyken Hightower
Automagical
Join date: 15 Feb 2006
Posts: 472
|
06-01-2009 10:37
From: Escort DeFarge ...really? I'm wondering how an LSO script source is then represented to the creator/owner.
It isn't. You can put whatever you like as the corresponding text. A big "Screw you, kthx" is what some people put.
|
|
Tyken Hightower
Automagical
Join date: 15 Feb 2006
Posts: 472
|
06-01-2009 10:39
From: RobbyRacoon Olmstead I agree that it's highly unlikely that you have any code that's sufficiently unique to get all crazy over, but you don't have to be a large commercial service to be a little worried about whether someone gets your code. To use an example near and dear to my own heart, there are a number of combat systems in Second Life that use one method or another to try to prevent 'cheating'. This often means that, while the actual mechanics of the combat system are perhaps nothing particularly special, there are still 'trade secrets' like communication protocols that need to be protected. To say that it's "not worth worrying about" is overly dismissive. Many of us put countless hours into our work, and even if it's not earth-shattering truly groundbreaking stuff, we have invested ourselves in it. . I do understand how you feel, actually, I like said combat systems. I found an easy way to break C  I's a good while ago without even needing to see the scripts, though. :<
|
|
RobbyRacoon Olmstead
Red warrior is hungry!
Join date: 20 Sep 2006
Posts: 1,821
|
06-01-2009 11:01
From: Tyken Hightower I do understand how you feel, actually, I like said combat systems. I found an easy way to break C  I's a good while ago without even needing to see the scripts, though. :< Unlike Linden Lab, I appreciate information on these things, and will act as quickly as possible to resolve any issues (if they are resolvable). .
|
|
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
|
06-02-2009 01:25
we do what we can, because we must...
_____________________
| | . "Cat-Like Typing Detected" | . This post may contain errors in logic, spelling, and | . grammar known to the SL populace to cause confusion | | - Please Use PHP tags when posting scripts/code, Thanks. | - Can't See PHP or URL Tags Correctly? Check Out This Link... | - 
|
|
Escort DeFarge
Together
Join date: 18 Nov 2004
Posts: 681
|
06-02-2009 09:19
From: Void Singer we do what we can, because we must... ...or we go do something else because we have a choice
_____________________
http://slurl.com/secondlife/Together
|
|
Escort DeFarge
Together
Join date: 18 Nov 2004
Posts: 681
|
06-02-2009 09:51
From: Tyken Hightower It isn't. You can put whatever you like as the corresponding text. A big "Screw you, kthx" is what some people put. Of course, the missing part of your answer there is that to do this you need to use software that's not part of the LL distribution (i.e. omv/libsecondlife et al).
_____________________
http://slurl.com/secondlife/Together
|
|
Tyken Hightower
Automagical
Join date: 15 Feb 2006
Posts: 472
|
06-02-2009 09:54
From: Escort DeFarge Of course, the missing part of your answer there is that to do this you need to use software that's not part of the LL distribution (i.e. omv/libsecondlife et al). Clearly!
|
|
Escort DeFarge
Together
Join date: 18 Nov 2004
Posts: 681
|
06-02-2009 11:35
From: Tyken Hightower Clearly! Alternatively known as a "hack workaround". Perhaps the platform should be fixed too. 
_____________________
http://slurl.com/secondlife/Together
|
|
RobbyRacoon Olmstead
Red warrior is hungry!
Join date: 20 Sep 2006
Posts: 1,821
|
06-02-2009 11:56
From: Escort DeFarge Perhaps the platform should be fixed too. I haven't seen much evidence that there's much interest by Teh Lab in doing so  .
|
|
Escort DeFarge
Together
Join date: 18 Nov 2004
Posts: 681
|
06-02-2009 12:10
From: RobbyRacoon Olmstead I haven't seen much evidence that there's much interest by Teh Lab in doing so  . ...yep, my experience also. ...so a nice strong *serious* competitor in this whole VR/Metaverse space would definitely change attitudes in a positive way I think. The current "alternative" platform (based on .NET) appears to make all the same mistakes that are persistently confounding LL themselves. I suspect, BTW this is why LL tolerates OMV - while they simply continue to copy SL, they aren't ever going to be serious competition to LL.
_____________________
http://slurl.com/secondlife/Together
|
|
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
|
06-02-2009 21:03
From: Escort DeFarge ...or we go do something else because we have a choice not a Portal fan I take it? it's a few hours fun =)
_____________________
| | . "Cat-Like Typing Detected" | . This post may contain errors in logic, spelling, and | . grammar known to the SL populace to cause confusion | | - Please Use PHP tags when posting scripts/code, Thanks. | - Can't See PHP or URL Tags Correctly? Check Out This Link... | - 
|
|
RobbyRacoon Olmstead
Red warrior is hungry!
Join date: 20 Sep 2006
Posts: 1,821
|
06-02-2009 21:42
From: Escort DeFarge The current "alternative" platform (based on .NET) The 'alternative' I think you are referring to is absolutely awesome as an enhancement to the Second Life content creation process, and is a fascinating proof of concept, but it is not even close to being a viable alternative yet. And I wouldn't be at all surprised if security were more of a problem there, rather than less. I don't know that to be true, I frankly haven't done much testing in that regard, but security is *hard* and doesn't seem to be one of the highest priorities from what I've seen thus far. .
|
|
Escort DeFarge
Together
Join date: 18 Nov 2004
Posts: 681
|
06-04-2009 11:53
After a long review, I now strongly suspect that this current breach is limited scripts that have been compiled to MONO.
Comments?
_____________________
http://slurl.com/secondlife/Together
|
|
RobbyRacoon Olmstead
Red warrior is hungry!
Join date: 20 Sep 2006
Posts: 1,821
|
06-04-2009 13:30
Oh, if only this guy were in charge of SL security: http://www.schneier.com/blog/archives/2009/06/im_being_interv.htmlBruce Schneier will be interviewed in Second Life tonight at 9:00PM ET. /me desperately wishes he could make it  .
|
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
06-04-2009 13:37
Failure of DRM is not a security problem.
|
|
Escort DeFarge
Together
Join date: 18 Nov 2004
Posts: 681
|
06-04-2009 14:04
From: Argent Stonecutter Failure of DRM is not a security problem. ..yea yea "information wants to be free", the point is that not all information should be. *edited to add*: I wish the source code for the SL simulator wanted to be free. Then maybe it could be fixed.
_____________________
http://slurl.com/secondlife/Together
|
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
06-04-2009 14:08
From: Escort DeFarge ..yea yea information wants to be free, but not all information should be. I didn't say failure of DRM is not a problem. I said it's not a security problem.
|
|
Tyken Hightower
Automagical
Join date: 15 Feb 2006
Posts: 472
|
06-04-2009 14:18
From: Escort DeFarge After a long review, I now strongly suspect that this current breach is limited scripts that have been compiled to MONO.
Comments? Review harder. It's never wise to bet that you have 100% security.
|
|
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
|
06-04-2009 14:23
From: Jesse Barnett Scripts, with the exception of a couple of times, have been the one thing that have been invulnerable to copying in SL. I was vigorously defending that in another thread. Unfortunately I just had a chat with someone I trust and found that this is no longer the case and scripts have not been secure for a couple of months now. A SEC was filed, a security check could be implemented, yet nothing has been done.
I give away all of my scripts anyway and I don't really foresee anyone loosing buisiness over this. Same as the other content creators have always survived. But I did want to give everyone a heads up so that you are not as clueless as I was. Well, for the most part, you are correct. Scripts are very resistant to being copied, compared to all the other assets. Like you say, there have been instances when they have been vulnerable, and this may be one of those times. However, I wouldn't go beating yourself up over a minor semantical error (that nothing is "invulnerable" to copying). I have my own doubts about the specifics of this "hole" as well, but at least it isn't something that you can simply do with a few lines of LSL (ie, like treating it as a notecard and reading it that way). In fact, it is one reason I don't design systems with obfuscation being the sole method to security. I don't allow people to put passwords in config notecards, for example, because I know that ANYONE can read ANY notecard, once they have its UUID. A custom viewer can easily pick a notecard UUID out of a networked vendor server, then that person can go and make a networked vendor terminal give you all their stuff. Same goes with authentication mechanisms. Never depend on any authentication mechanism which hides critical parts of it in the script code. If someone can get your source code and trivially break your security mechanisms after that, then you're screwed. "Security through obscurity isn't security at all" (even though that's not the whole truth of the matter -- passwords are a form of security through obscurity). Scripts have been vulnerable, and will be vulnerable again; it will happen. The important point is, though, that they are still more well-protected versus people copying them than other assets which get shipped to the viewer to be displayed. As such, your argument in that direction is still realistically valid, if not absolutely so.
|