Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(43)

Issue 1856993003: Implement sandbox hooks to forward OPM related GDI system calls. (Closed)

Created:
4 years, 8 months ago by forshaw
Modified:
4 years, 7 months ago
Reviewers:
Will Harris
CC:
chromium-reviews, darin-cc_chromium.org, wfh+watch_chromium.org, jam, gavinp+memory_chromium.org, rickyz+watch_chromium.org, jschuh
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement sandbox hooks to forward OPM related GDI system calls. This patch adds hooks to the Windows sandbox to forward Output Protection Manager system calls to the browser process when running under Win32k lockdown. This allows a locked down process to enable output protection when playing back media. Design Doc: https://docs.google.com/document/d/1cn8lpZiu0DQLovkbJSMmRlPyM0ETtjdsgvOOfR6jwJM/edit?usp=sharing BUG=523278 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win10_chromium_x64_rel_ng Committed: https://crrev.com/5ef755bb1a9e77e296b46a08e4cb61078e769609 Cr-Commit-Position: refs/heads/master@{#390051}

Patch Set 1 #

Patch Set 2 : Small cleanups. #

Patch Set 3 : Replaced shared memory implementation. #

Total comments: 2

Patch Set 4 : Faked out GDI/USER calls and implemented more comprehensive testing #

Patch Set 5 : Simplify GetMonitorInfo IPC. #

Patch Set 6 : Formatting #

Patch Set 7 : General cleanup #

Patch Set 8 : Rebase #

Patch Set 9 : Add Windows 10 specific hooks #

Total comments: 1

Patch Set 10 : Removed content changes #

Patch Set 11 : Removed header #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2725 lines, -4 lines) Patch
M sandbox/win/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M sandbox/win/sandbox_win.gypi View 1 2 3 4 5 6 7 8 9 1 chunk +5 lines, -0 lines 0 comments Download
M sandbox/win/src/interceptors.h View 1 2 3 4 5 6 7 8 1 chunk +15 lines, -0 lines 0 comments Download
M sandbox/win/src/interceptors_64.h View 1 2 3 4 5 6 7 8 1 chunk +74 lines, -0 lines 0 comments Download
M sandbox/win/src/interceptors_64.cc View 1 2 3 4 5 6 7 8 1 chunk +161 lines, -0 lines 0 comments Download
M sandbox/win/src/ipc_tags.h View 1 2 3 4 5 6 7 8 9 1 chunk +12 lines, -0 lines 0 comments Download
M sandbox/win/src/nt_internals.h View 1 2 3 4 5 6 7 8 1 chunk +159 lines, -0 lines 0 comments Download
M sandbox/win/src/policy_low_level.h View 1 chunk +1 line, -1 line 0 comments Download
M sandbox/win/src/process_mitigations_test.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +615 lines, -0 lines 0 comments Download
M sandbox/win/src/process_mitigations_win32k_dispatcher.h View 1 2 3 4 5 6 7 8 1 chunk +57 lines, -1 line 0 comments Download
M sandbox/win/src/process_mitigations_win32k_dispatcher.cc View 1 2 3 4 5 6 7 8 2 chunks +520 lines, -0 lines 0 comments Download
M sandbox/win/src/process_mitigations_win32k_interception.h View 1 2 3 4 5 6 7 8 3 chunks +118 lines, -0 lines 0 comments Download
M sandbox/win/src/process_mitigations_win32k_interception.cc View 1 2 3 4 5 6 7 8 2 chunks +505 lines, -0 lines 0 comments Download
M sandbox/win/src/process_mitigations_win32k_policy.h View 1 2 3 4 5 6 7 8 3 chunks +60 lines, -0 lines 0 comments Download
M sandbox/win/src/process_mitigations_win32k_policy.cc View 1 2 3 4 5 6 7 8 2 chunks +386 lines, -0 lines 0 comments Download
M sandbox/win/src/sandbox_policy.h View 1 2 3 4 5 6 7 8 9 2 chunks +9 lines, -1 line 0 comments Download
M sandbox/win/src/sandbox_policy_base.h View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -0 lines 0 comments Download
M sandbox/win/src/sandbox_policy_base.cc View 1 2 3 4 5 6 7 8 9 2 chunks +10 lines, -1 line 0 comments Download
M sandbox/win/src/top_level_dispatcher.cc View 1 2 3 4 5 6 7 8 9 1 chunk +13 lines, -0 lines 0 comments Download

Messages

Total messages: 30 (15 generated)
Will Harris
many interceptions... https://codereview.chromium.org/1856993003/diff/40001/sandbox/win/src/process_mitigations_win32k_policy.cc File sandbox/win/src/process_mitigations_win32k_policy.cc (right): https://codereview.chromium.org/1856993003/diff/40001/sandbox/win/src/process_mitigations_win32k_policy.cc#newcode196 sandbox/win/src/process_mitigations_win32k_policy.cc:196: protected_output, static_cast<DXGKMDT_OPM_RANDOM_NUMBER*>(random_number)); reinterpret_cast
4 years, 8 months ago (2016-04-05 03:49:02 UTC) #2
forshaw
So I've made some changes, still many interceptions, not much I can really do about ...
4 years, 8 months ago (2016-04-06 14:14:35 UTC) #4
Will Harris
can you link the design doc in the bug or the cl?
4 years, 8 months ago (2016-04-08 17:00:19 UTC) #7
forshaw
On 2016/04/08 17:00:19, Will Harris wrote: > can you link the design doc in the ...
4 years, 8 months ago (2016-04-08 17:26:12 UTC) #8
Will Harris
looking good. in general we do the policy checks inside the interception before sending the ...
4 years, 8 months ago (2016-04-11 21:23:02 UTC) #10
forshaw
On 2016/04/11 21:23:02, Will Harris wrote: > looking good. in general we do the policy ...
4 years, 8 months ago (2016-04-11 21:44:36 UTC) #11
Will Harris
lgtm
4 years, 8 months ago (2016-04-26 17:17:13 UTC) #12
Will Harris
https://codereview.chromium.org/1856993003/diff/160001/content/browser/ppapi_plugin_process_host.cc File content/browser/ppapi_plugin_process_host.cc (right): https://codereview.chromium.org/1856993003/diff/160001/content/browser/ppapi_plugin_process_host.cc#newcode100 content/browser/ppapi_plugin_process_host.cc:100: if (!AddWin32kLockdownPolicy(policy, true)) might want to pull this into ...
4 years, 8 months ago (2016-04-26 17:18:26 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1856993003/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1856993003/180001
4 years, 8 months ago (2016-04-26 17:38:19 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: win10_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win10_chromium_x64_rel_ng/builds/51)
4 years, 8 months ago (2016-04-26 21:42:09 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1856993003/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1856993003/180001
4 years, 7 months ago (2016-04-27 05:07:26 UTC) #21
commit-bot: I haz the power
Try jobs failed on following builders: win10_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win10_chromium_x64_rel_ng/builds/59)
4 years, 7 months ago (2016-04-27 06:46:20 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1856993003/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1856993003/200001
4 years, 7 months ago (2016-04-27 11:07:53 UTC) #26
commit-bot: I haz the power
Committed patchset #11 (id:200001)
4 years, 7 months ago (2016-04-27 12:34:25 UTC) #28
commit-bot: I haz the power
4 years, 7 months ago (2016-04-27 12:35:58 UTC) #30
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/5ef755bb1a9e77e296b46a08e4cb61078e769609
Cr-Commit-Position: refs/heads/master@{#390051}

Powered by Google App Engine
This is Rietveld 408576698