To view parent comment, click here.
To read all comments associated with this story, please click here.
kwan_e,
"What if the JVM is connected and authenticated to a database when the malicious program gets control. A malicious program can use JDBC to get sensitive information from that database without needing to go native."
Can you elaborate the specifics of where this malicious program came from? The reason I ask is because we need to ask whether the same attack vector is significantly more likely to happen in java than a non-java program.
Did the administrator unknowingly install the malicious program in the first place? Did he install a trusted program that contains a remotely exploitable application vulnerability, which enables a remote attacker to install & execute the malicious instructions? Does the compiler contain a bug that can be exploited remotely execute malicious instructions?
All these things are possible, but ask yourself if Java is inherently less secure than other languages for running local programs. Escaping java's sandbox is bad, but are there any instances where using Java is worse for security than using another languages like C, which doesn't have any sandbox whatsoever? Is there something specific you think I'm overlooking?
I would think that having a portable malicious program is a completely different kind of worse. Java (but you can probably say the same for other cross platform VMs) runs almost the same on any platform, basically amounting to a monoculture. Whereas a C program would be hard pressed to work exactly as designed even for POSIX compliant operating systems, let alone in a realistic environment where there's a mix of different server operating systems.
It's not like it's one JVM for the whole OS. And there is no local IPC mechanism in Java. If the JVM is connected to a DB, then you it's already within your sandbox.
At most what you could do is steal the encrypted trusted keystore at most(quite useless without a targeted attack).
So as long as the malicious program is in a sandbox, you wouldn't mind it having full access to the database's data?
You do realize that the biggest reward to be gained from security breaches is information, not control, right?





Member since:
2007-02-18
(Unless you are going to send a few emails or something like it)
What if the JVM is connected and authenticated to a database when the malicious program gets control. A malicious program can use JDBC to get sensitive information from that database without needing to go native.