[ANN] Brite - A ruby compiler for the .NET platform

Not to mention that they could use the same obfuscation techniques to hide the fact that they misappropriated code in the first place.

-mental

···

On Tue, 23 May 2006 03:04:23 +0900, "Ryan Leavengood" <leavengood@gmail.com> wrote:

Whereas if you build some system for encrypting the code that is
actually easily broken people can steal your code and you may never
suspect it, since you will think your code is safe.

If the data is sensitive, why are you putting it on an unsecured machine?

Obfuscation might stop the honest user who's just curious, but if you're dealing with a malicious user (especially if they have a financial incentive) then sending the data to a machine they control is simply a free gift.

-mental

···

On Tue, 23 May 2006 03:24:03 +0900, Kris Leech <krisleech@interkonect.com> wrote:

Its not just having code stolen but the fact that it can be modified so
that it dumps its data to file or screen... If your dealing with
sensitive data thats a problem.

Kris Leech wrote:

Its not just having code stolen but the fact that it can be modified so that it dumps its data to file or screen... If your dealing with sensitive data thats a problem.

Ok. What we have here is 3 separate problems:

- Data security. Don't want people who shouldn't being able to get hold of the data.
- Code security. Don't want people who shouldn't being able to get hold of the source (or a usable representation of it).
- Code validity. Don't want untrusted code running at all.

The first is answered by classical computer security concerns. The last requires trusted hardware. The second is technically impossible but legally enforceable. There may be mileage in putting *enough* of a barrier up to wave the DMCA in peoples' faces if they cross it (in addition to whatever contractual/copyright/licencing system you put around your code), but that doesn't deal with the problem of finding out when they have.

I feel I should also point out that despite how easy it is to reverse CIL and Java bytecode, there is a thriving commercial market in software dealing with sensitive data for both those platforms.

···

--
Alex

What would be secure hardware?

···

--
Posted via http://www.ruby-forum.com/.

Kris Leech wrote:

What would be secure hardware?

A smart card, a Trusted Computing(tm) platform, or some equivalent. Essentially a platform where digital signatures on the code are implemented in hardware and cannot be circumvented without the whole thing breaking.

Alternatively, a sealed computer in a locked room with no network connection (possibly). It all depends on how paranoid you are.

···

--
Alex

Alex Young wrote:

Kris Leech wrote:

What would be secure hardware?

A smart card, a Trusted Computing(tm) platform, or some equivalent.
Essentially a platform where digital signatures on the code are
implemented in hardware and cannot be circumvented without the whole
thing breaking.

Oh right, Ive never used such a platform...

Alternatively, a sealed computer in a locked room with no network
connection (possibly). It all depends on how paranoid you are.

For a web application? :slight_smile:

···

--
Posted via http://www.ruby-forum.com/\.

Kris wrote:

Alex Young wrote:

Alternatively, a sealed computer in a locked room with no network
connection (possibly). It all depends on how paranoid you are.

For a web application? :slight_smile:

I thought you said you had sensitive data? :slight_smile:

···

--
Alex

Yes and I'm looking for a way to allow it to be managed across the
web... It may not be possible to secure using this method of access.

Alex Young wrote:

···

Kris wrote:

Alex Young wrote:

Alternatively, a sealed computer in a locked room with no network
connection (possibly). It all depends on how paranoid you are.

For a web application? :slight_smile:

I thought you said you had sensitive data? :slight_smile:

--
Posted via http://www.ruby-forum.com/\.

Kris wrote:

Yes and I'm looking for a way to allow it to be managed across the web... It may not be possible to secure using this method of access.

You can't trust the client machine (unless there's another factor at work here). Nor can you necessarily trust any of the routers between the server and the client not to try a man-in-the-middle attack. Again, it depends how paranoid you want to be.

Of course, it's possible to *manage* data without exposing or transmitting it, as long as your management can be done purely on the basis of information digests rather than on the information itself, but that's a whole other barrel of chipmunks.

···

--
Alex