[
https://issues.apache.org/jira/browse/DERBY-2196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12471387
]
Daniel John Debrunner commented on DERBY-2196:
----------------------------------------------
The issue is that there would be a security hole with huge consequences.
A cracker might see the Derby code and think if I can set derby.derby.jar to an
empty string for a remote server then I will silently have a pretty full set of
abilities to maniplate that machine. And the person running the server would
probably never notice. That's a pretty attractive target for a cracker to go
after. Then the cracker would figure out how to do it, and maybe it's as simple
as modifying the application's startup script for the server, it doesn't have
to mean they can set Java system properties in a running JVM. And we know
through viruses etc. that such attacks do occur. I'm sure the core vunerability
at any successful attack looks vanishingly small by itself.
Security analysis is much easier is something is impossible, rather than
possible, e.g. in this case codebase can not be set to an empty string if using
${derby.install.url}/derby.jar.
Thanks for switching to a single property. Since this is an internal property
I'm wondering if a different namespace to derby.* would be more secure, e.g.
${org.apache.derby.install.url}. This might ease security analysis as we could
expect that application code might have permission to set derby.* (again
removing possibilities) but since this will only be used for a fixed policy
file it might not help. Probably sticking with derby.install.url is good for
now and a separate issue could be raised for switching the internal name if
required.
> Run standalone network server with security manager by default
> --------------------------------------------------------------
>
> Key: DERBY-2196
> URL: https://issues.apache.org/jira/browse/DERBY-2196
> Project: Derby
> Issue Type: Improvement
> Components: Network Server, Security
> Reporter: Daniel John Debrunner
> Assigned To: Rick Hillegas
> Attachments: derby-2196-01-print-01.diff,
> derby-2196-01-print-02.diff, derby-2196-01-print-03.diff, secureServer.html,
> secureServer.html, secureServer.html, secureServer.html, secureServer.html,
> secureServer.html
>
>
> From an e-mail discussion:
> ... Derby should match the security provided by typical client server
> systems such as DB2, Oracle, etc. I
> think in this case system/database owners are trusting the database
> system to ensure that their system cannot be attacked. So maybe if Derby
> is booted as a standalone server with no security manager involved, it
> should install one with a default security policy. Thus allowing Derby
> to use Java security manager to manage system privileges but not
> requiring everyone to become familiar with them.
> http://mail-archives.apache.org/mod_mbox/db-derby-dev/200612.mbox/[EMAIL
> PROTECTED]
> I imagine such a policy would allow any access to databases under
> derby.system.home and/or user.home.
> By standalone I mean the network server was started though the main() method
> (command line).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.