Github user vanzin commented on the pull request:

    https://github.com/apache/spark/pull/6676#issuecomment-110847288
  
    >  it is only private to the user, not private to the process
    
    That's not a thing. You're not gonna get anywhere, security-wise, without 
user isolation. Think:
    
    - You can use `jmap` to read the other process's heap if both are being run 
by the same user. Pretty easy to find any secrets by just searching for the 
right object in the heap dump.
    - Let's say that for some reason `jmap` does not work, and that you 
implement the "per-app keys" you talk about. The malicious user can kill the 
`Master` or `Worker` process, starts his own one in their place, and starts 
recoding all the keys being distributed to apps. All processes are running as 
the same user, so that's totally feasible.
    
    The change to remove the secret from the command line is a good one, 
because it makes the secret private to the user, in your own jargon. But that 
is a trivial change, and has no side-effect on anything else you're trying to 
do. So unless you provide an explanation of exactly where you want to go with 
this "stdin communication channel", it's just a complication that doesn't add 
any security, and thus should be avoided.
    
    We're talking about a patch that would be a few lines long with my 
suggestion, instead of all the changes you currently have, while achieving 
exactly the same result.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to