summaryrefslogtreecommitdiffstats
path: root/sandbox/win/src/target_process.cc
diff options
context:
space:
mode:
authorjschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-13 22:29:33 +0000
committerjschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-13 22:29:33 +0000
commit7986921c089dbbe2bf1b9f87c522e571a7061c96 (patch)
tree01ab711215af7321e0e897baed59c2c9114d1dcb /sandbox/win/src/target_process.cc
parentd3796a1d076661bc0bd5fb2b1e848e29aa08e343 (diff)
downloadchromium_src-7986921c089dbbe2bf1b9f87c522e571a7061c96.zip
chromium_src-7986921c089dbbe2bf1b9f87c522e571a7061c96.tar.gz
chromium_src-7986921c089dbbe2bf1b9f87c522e571a7061c96.tar.bz2
Add sandbox support for Windows process mitigations
BUG=147752 Review URL: https://codereview.chromium.org/10690058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156657 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sandbox/win/src/target_process.cc')
-rw-r--r--sandbox/win/src/target_process.cc23
1 files changed, 0 insertions, 23 deletions
diff --git a/sandbox/win/src/target_process.cc b/sandbox/win/src/target_process.cc
index 164b2a9..4eea180 100644
--- a/sandbox/win/src/target_process.cc
+++ b/sandbox/win/src/target_process.cc
@@ -35,27 +35,6 @@ void CopyPolicyToTarget(const void* source, size_t size, void* dest) {
}
}
-// Reserve a random range at the bottom of the address space in the target
-// process to prevent predictable alocations at low addresses.
-void PoisonLowerAddressRange(HANDLE process) {
- unsigned int limit;
- rand_s(&limit);
- char* ptr = 0;
- const size_t kMask64k = 0xFFFF;
- // Random range (512k-16.5mb) in 64k steps.
- const char* end = ptr + ((((limit % 16384) + 512) * 1024) & ~kMask64k);
- while (ptr < end) {
- MEMORY_BASIC_INFORMATION memory_info;
- if (!::VirtualQueryEx(process, ptr, &memory_info, sizeof(memory_info)))
- break;
- size_t size = std::min((memory_info.RegionSize + kMask64k) & ~kMask64k,
- static_cast<SIZE_T>(end - ptr));
- if (ptr && memory_info.State == MEM_FREE)
- ::VirtualAllocEx(process, ptr, size, MEM_RESERVE, PAGE_NOACCESS);
- ptr += size;
- }
-}
-
}
namespace sandbox {
@@ -168,8 +147,6 @@ DWORD TargetProcess::Create(const wchar_t* exe_path,
}
lockdown_token_.Close();
- PoisonLowerAddressRange(process_info.process_handle());
-
DWORD win_result = ERROR_SUCCESS;
// Assign the suspended target to the windows job object.