* Jan Kiszka <jan.kis...@web.de> [2017-08-11 18:22:05 +0000]:

> On 2017-08-09 15:47, Gustavo Lima Chaves wrote:
> > * Jan Kiszka <jan.kis...@web.de> [2017-08-08 20:17:50 -0400]:
> > 
> >> On 2017-08-07 19:24, Gustavo Lima Chaves wrote:
> >>> With the new JAILHOUSE_CELL_CLEAR_MEM (struct jailhouse_cell_desc's)
> >>> flag, Jailhouse will cleanup all of the cell's *loadable* memory, on its
> >>> destruction, before handing that memory region back to the root cell.
> >>> This prevents the latter from accessing data that the former wanted to
> >>> keep private.
> >>>
> >>> One could argue that cells without passive communication
> >>> region (no JAILHOUSE_CELL_PASSIVE_COMMREG flag) could use a first
> >>> attempt to kill them to do any desired cleanup. This does not cover the
> >>> cases in which the cell developer still wants passive communication
> >>> region (they don't want to bother adding code to read/write to the comms
> >>> region address to their logic) but no data leaks whatsoever. This also
> >>> covers the case in which a cell goes to parked state and never has the
> >>> chance to do such cleanup: with the new flag, when destroyed the root
> >>> cell will still be clueless of what happened there memory-wise.
> >>
> >> I would buy the case of leaking data on crash - if you have a concrete
> >> use case (I heard a couple of times about potential security use cases,
> >> but I'm lacking a confirmation of an implementation). Can you elaborate?
> > 
> > Well, at least on ADAS world, there might be ECU software (that in
> > Jailhouse world would translate to an inmate) that is kind of
> > self-contained (senses and actuates on its behalf only, with access to
> > its I/O) and would only interface with the world outside it with some
> > sort of watchdog mechanism. The vendor of such software would have the
> > choice to protect its IP better if noone would have access to the
> > resulting runtime memory, with the help of the hypervisor.
> > 
> > The feature is indeed for "extreme" cases, but for sure they exist.
> 
> OK, I'm open to consider the feature at the point your can replace that
> "there might be" in the first sentence with some "there is". One "there
> is" that case, please make sure to reduce code duplication (paging_map
> and paging_map_device are widely identical) and split up that
> refactoring from the feature introduction.
> 
> I would even lean towards making the wipe feature unconditional then,
> just to reduce the variation. If that turns out to be too costly for
> other cases, a per mem-region control would be better than a per cell
> switch.

Very fair, thanks. Bookmarking this to revisit soonish :)

> 
> Jan

-- 
Gustavo Lima Chaves
Intel - Open Source Technology Center

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jailhouse-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to