On Thu, 1 Aug 2024 03:37:26 GMT, David Holmes <dhol...@openjdk.org> wrote:

> I must be missing something in the approach. The vast majority of 
> confidential data will be in strings yet you focus on primitives that would 
> rarely (if ever for boolean float/double) contain anything that could be 
> recognised as such.

Notes from the field, looking through real world heap dumps: while most of the 
time the confidential data is in primitive arrays (key material, cipher 
buffers, string contents), primitive fields carry identifiable data as well, 
e.g. numeric account/transaction IDs. Even double/floats contain data often, 
think financial data or even (pants heavily) LLM weights.

A good approach is to strip everything that is not needed to follow-up on heap 
occupancy problems, as this is an overwhelmingly major use case. I think the 
approach of "strip everything, but the shape of the object graph and the shape 
of the objects" is a very reasonable thing to do. This is what zeroing out all 
primitive fields and primitive arrays contents achieves.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/20409#issuecomment-2263195036

Reply via email to