Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Security Considerations per review feedback #251

Merged
merged 9 commits into from
Mar 24, 2022

Conversation

anssiko
Copy link
Member

@anssiko anssiko commented Feb 3, 2022

Fix #241


Preview | Diff

@anssiko
Copy link
Member Author

anssiko commented Feb 17, 2022

@wchao1115 @huningxin I'm marking this PR as "Ready for review".

My expectation is the first PR that lands will be amended in subsequent PRs as we receive further review feedback. It is fine to have inline issues as reminders in the spec too, but if we're able to fix those via PR review process that'd be of course great.

@anssiko anssiko requested review from huningxin and wchao1115 and removed request for huningxin February 17, 2022 11:50
- Add reference to [security-privacy-questionnaire]
- Editorial updates
Address the following security review feedback:

- "Notion that the API introduces a new scripting language"
- "Running timeable things out of process"
@anssiko
Copy link
Member Author

anssiko commented Mar 10, 2022

Here's a direct link to the visual diff of the Security Considerations this PR updates: https://pr-preview.s3.amazonaws.com/webmachinelearning/webnn/251/19a09ab...69db252.html#security

Copy link
Contributor

@huningxin huningxin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making this PR, @anssiko !

index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
@anssiko
Copy link
Member Author

anssiko commented Mar 21, 2022

@dontcallmedom @wchao1115 PTAL prior to the WG's call this week.

index.bs Outdated Show resolved Hide resolved

Issue: Hinting partially mitigates the concern. Investigate additional mitigations.

The API design minimizes the attack surface for the compiled computational graph. The {{MLGraphBuilder}} interface that hosts the various operations is a data definition API and as such doesn't execute anything, only constructs data. What follows, is that the potential for an attack is limited to when binding the data to the graph before executing it by invoking the {{MLGraph/compute()}} method. This enables implementers to focus on hardening the {{MLGraph/compute()}} method. For example, by making sure it honors the boundary of data and fails appropriately when the bounds are not respected.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this will need an editorial update if/when #257 lands

index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated

Issue: Investigate side channel attack feasibility considering the current state where CPU is shared between processes running renderers.

In order to not allow an attacker to target a specific implementation that may contain a flaw, the [[#programming-model-device-selection]] mechanism is a hint only, and the concrete device selection is left to the implementation. As a further mitigation, no device enumeration mechanism is defined.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's actually important for the applications to understand how a device is selected and that the device selection rule, if we would have one, should be a normative behavior and not merely informative.

index.bs Outdated Show resolved Hide resolved
@anssiko
Copy link
Member Author

anssiko commented Mar 23, 2022

@wchao1115 @dontcallmedom @huningxin thanks for your comments, we're iterating toward a mergeable PR.

For discussion on this week's call.

anssiko and others added 5 commits March 24, 2022 11:25
Co-authored-by: Ningxin Hu <ningxin.hu@intel.com>
Co-authored-by: Ningxin Hu <ningxin.hu@intel.com>
Note: to be adjusted if the selection becomes normative

Co-authored-by: Dominique Hazael-Massieux <dom@w3.org>
Co-authored-by: Dominique Hazael-Massieux <dom@w3.org>
Co-authored-by: Chai Chaoweeraprasit <wchao1115@hotmail.com>
@anssiko
Copy link
Member Author

anssiko commented Mar 24, 2022

I incorporated all the suggestions made in this PR to trigger a PR preview update.

See: Preview | Diff

@anssiko
Copy link
Member Author

anssiko commented Mar 24, 2022

During today's call https://www.w3.org/2022/03/24-webmachinelearning-minutes.html#t02 we agreed to merge this PR to better enable another round of review and further iteration as more feedback comes in.

@anssiko anssiko merged commit 5b6913b into main Mar 24, 2022
@anssiko anssiko deleted the security-considerations branch March 24, 2022 16:17
@anssiko
Copy link
Member Author

anssiko commented Mar 24, 2022

@dontcallmedom can you check gh-pages deploy for issues. Build passes but not yet deployed.

github-actions bot added a commit that referenced this pull request Mar 24, 2022
SHA: 5b6913b
Reason: push, by @anssiko

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@dontcallmedom
Copy link
Contributor

it seems to have gone through now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

General Security Questions
4 participants