I am writing a client-server solution using Java RMI (through a Cajo project).
I want to make the server as secure as possible. I understand that using Java reflection, a malicious client will be able to view all method names and field names inside any object that has either been linked in the RMI registry or a โproxyโ from the server (in Cajo, the proxy element is the object that is actually located on the server, but the client can refer to it). However, can a malicious client view any program logic or modify any code on the server? Or how about viewing the actual contents of the fields?
Assume that physical access to the server is not allowed, and the only access to the network through the server is through the Cajo TCP port (1198).
thank
source
share