Re: "Yes, it is a waste of resources. But it is secure. "

I agree.

I have been thinking of this tradeoff for another security scenario and my
current thinking is:
 - It's just necessary
 - It's not really a waste. It is a price paid for security and the
security is worth the price.
 - What a caller sees need not be time spinning in the callee but rather
deliberate delays offset by servicing other requests.
 - We are at the level of paranoid security and we need to be. Anything at
all that leaks information is a security issue and as we are increasingly
seeing adversaries will use the smallest silver of an opening to attack.




On Thu, Apr 18, 2024 at 5:20 AM Hugo V.C. <skydive...@gmail.com> wrote:

>    "A web browser is a good example of this.  The number of security
>    domains is at least the number of origins in use, which can be
>    extremely large.  Furthermore, some origins might be CPU-intensive."
>
> Yes. That's the challenge when you try to use a solution aimed to static
> systems for dynamic systems... Not sure how other will solve this, we will
> just try to make some sacrifice, in example, by assuming a total fixed
> memory and CPU available for a domain and how will you offer that to the
> end user. What is not compatible is the old fashioned way of happily and
> chaotically assigning resources (expressions like "must be able to compete
> with each other" I don't think are too much compatible with a predictable
> behavior...). What is not "normal" to me is how browsers behave and how
> much we allow to them (that is a party for attackers) in example, with
> crazy stuff like javascript, etc. So, at some point, the solution designer
> must decide what to offer to end user. In example, you can set up fixed
> resources per domain and fixed number of domains. Yes, it is a waste of
> resources. But it is secure. So you offer this to the customers and explain
> how it works: no more free browser resources party, no more browsers taking
> 100% cpu and  lots of GB of RAM (with 20 tabs...). Are we crazy? Instead,
> you can just make a reservation of resources for the secure static system
> and put your secure stuff there. And forget of those resources, they are
> not free to be used by other programs, nor by the OS,... Just partition the
> full system, have a static partition for serious stuff and and dynamic
> partition for toys. Just a silly example.
>
> El jue, 18 abr 2024 a las 5:43, Demi Marie Obenour (<demioben...@gmail.com
> >)
> escribió:
>
> > On 4/17/24 23:20, Gernot Heiser via Devel wrote:
> > > On 18 Apr 2024, at 13:13, Demi Marie Obenour <demioben...@gmail.com>
> > wrote:
> > >
> > > properly implements mitigations.  Time protection is a principled
> > solution
> > > to side-channel attacks, but it requires that the time consumed by
> > operations
> > > on sensitive data is not observable.
> > >
> > > This is actually not a correct summary of time protection (TP). In
> > contrast, TP *ensures* that kernel operations are constant time, and that
> > userspace operations do not produce observable timing variations across
> > security domains.
> > >
> > > Having said that, TP isn’t in the mainline kernel and is still
> > experimental. We’re planning to restart that project mid-year.
> > >
> > > Gernot
> >
> > How does time protection handle these two cases?
> >
> > 1. Untrusted code can request a service from trusted code that involves
> >    processing sensitive data, and this request may take an unbounded
> >    amount of time.  In this case, it is not possible to pad the time
> >    actually consumed to the maximum possible value, because the maximum
> >    possible value does not exist.
> >
> >    Cryptographic operations involving rejection sampling may be an
> example
> >    here.  It is possible to pad the time to a very large value, since the
> >    probability that N operations will be needed decreases exponentially
> >    with N, but this may be prohibitive performance-wise.
> >
> > 2. Operations on sensitive data must be able to consume all available
> >    CPU resources.  The main example I can think of is human-interactive
> >    systems.  These may be so heavily oversubscribed that it is simply
> >    not possible to statically allocate resources to different security
> >    domains.  Instead, even security domains involving sensitive data
> >    must be able to compete with each other.
> >
> >    A web browser is a good example of this.  The number of security
> >    domains is at least the number of origins in use, which can be
> >    extremely large.  Furthermore, some origins might be CPU-intensive.
> >    Therefore, the overall system load is an unavoidable side-channel,
> >    at least if one wants fair scheduling.
> > --
> > Sincerely,
> > Demi Marie Obenour (she/her/hers)
> >
> > _______________________________________________
> > Devel mailing list -- devel@sel4.systems
> > To unsubscribe send an email to devel-leave@sel4.systems
> >
> _______________________________________________
> Devel mailing list -- devel@sel4.systems
> To unsubscribe send an email to devel-leave@sel4.systems
>


-- 
Bob Trower
--- From Gmail webmail account. ---
_______________________________________________
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems

Reply via email to