The processing of sensitive data will occur both in front-end and
back-end instances. The data has to be stored unencrypted in memory.
Do the appservers running Python and Java instances use any form of
unencrypted swap? SSD, hard disk, whatever. If so, I will file a
feature request to provide a way to lock memory pages from being
swapped out (using the mlock() system call). Note that even when there
is plenty of free RAM, the OS can still swap some pages out.
Alexander
Look in to services that meet HIPPA compliance for hosting, (I don’t believe
GAE does at this time)
Also be aware you don't know where your servers are "in the US" so you also
shouldn't use GAE if you have to comply with State laws about storage or
transmission of sensitive data.
They crush all disks.
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to
google-appengi...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Hello Nick,
Thanks for the link. Because I did not receive an answer to my
question, I will assume that you may use swap. So I went forward and
filed a feature request to support mlock() in Python and Go runtimes.
http://code.google.com/p/googleappengine/issues/detail?id=6041
Alexander
http://code.google.com/p/googleappengine/issues/detail?id=6041
Alexander
I want to minimize potential exposure of previously processed
sensitive information in case of an appserver compromise. After all,
appservers run arbitrary user-supplied code. I'm sure your sandboxing
is good, but the risk is still high. Suppose some appservers are
compromised on June 1 and are fixed on June 15. If sensitive data is
only ever stored in memory, just the data that was processed between
June 1 and June 15 might have been affected. If there might be any
remnants of the data on disks, *all* previously processed data might
be affected. And that's what I'll have to say to my clients. (If you
won't tell us about the compromise, that's another story.) So
unencrypted swapping effectively makes me unable to delete data
permanently when it is no longer needed.
mlocking() provides defense in depth. On disks information can live
for much longer than in RAM. If sensitive data doesn't have to be
stored on disk, we'd better make sure it never is.
Alexander