On Sun, Feb 26, 2017 at 5:12 PM, Brian Birtles <bbirt...@mozilla.com> wrote:
> On Sat, Feb 25, 2017 at 1:09 AM,  <trit...@mozilla.com> wrote:
>> On Thursday, February 23, 2017 at 9:09:58 AM UTC-6, Boris Chiou wrote:
>>> *Preference behind which this will be implemented*: I'm not sure. I think
>>> we don't need it because it is just a variant of the step timing function,
>>> and so it is safe to turn it on. If there is any other concerns, I can add
>>> a preference for this.
>>
>> Given our (and all browsers') painful history with people finding novel ways 
>> to bypass security by abusing any and all timers we expose, I would feel 
>> much better if this had a pref.
>
> As Boris mentioned, adding a pref is no problem, but I'm curious to
> learn about the specific security concern here. This doesn't expose
> any new timing information. It's just a variation on the steps timing
> function. Perhaps the 'frames' name suggests something about exposing
> the browser's animation frames, but there's no connection between
> frames() and actual animation frames in the browser.

Sure. I would not characterize the security concern as "This new thing
might be dangerous but the old thing isn't" but rather "All of these
things might be dangerous, but Boris is only talking about one of them
so I only mentioned one of them."  I'd be overjoyed if we added a pref
for the old stuff too! =)

If the engineering effort to add a pref is particularly burdensome,
I'm sure I or someone else in Security could perform a deep-dive, but
if it's not then yea.

(And if there _is_ a pref that disables _all_ related animation timing
that this new feature would be covered by, then I'd suggest that this
existing pref may be sufficient _unless_ you feel it would be overly
painful to hypothetically disable N features when only 1 of them might
be a source of concern.)

In general, anything that aids someone in performing timing
measurements is concerning, because fine-grained timing measurements
enable cache attacks which can enable history disclosure, activity
disclosure, or even crypto key disclosure. In animation's particular
area - I could imagine an attack that measures an animation's movement
to get a higher resolution timer than one that may be exposed
otherwise. (I know there's the High Res API, but consider if it were
disabled. Plus in general, I think we should avoid arguments that go
"X isn't as bad as Y so we shouldn't care about X" ).  Anyway, there
are probably a couple reasons why my example isn't feasible, but as I
mentioned this isn't a deep dive, and I get the impression that the
pref isn't burdensome.

HTH,
-tom
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to