OSDN Git Service

[sanitizer] Initial implementation of a Hardened Allocator
authorKostya Serebryany <kcc@google.com>
Tue, 7 Jun 2016 01:20:26 +0000 (01:20 +0000)
committerKostya Serebryany <kcc@google.com>
Tue, 7 Jun 2016 01:20:26 +0000 (01:20 +0000)
commit8d0ee940744d9e6e08f3e9e5297ba6da33a06f87
treed7893c33e19c5284c0ec819b90dbf1c5a0b18fa1
parentcdea7ae629b0c390836a276e241ceca4a194e2e5
[sanitizer] Initial implementation of a Hardened Allocator

Summary:
This is an initial implementation of a Hardened Allocator based on Sanitizer Common's CombinedAllocator.
It aims at mitigating heap based vulnerabilities by adding several features to the base allocator, while staying relatively fast.
The following were implemented:
- additional consistency checks on the allocation function parameters and on the heap chunks;
- use of checksum protected chunk header, to detect corruption;
- randomness to the allocator base;
- delayed freelist (quarantine), to mitigate use after free and overall determinism.
Additional mitigations are in the works.

Reviewers: eugenis, aizatsky, pcc, krasin, vitalybuka, glider, dvyukov, kcc

Subscribers: kubabrecka, filcab, llvm-commits

Differential Revision: http://reviews.llvm.org/D20084

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271968 91177308-0d34-0410-b5e6-96231b3b80d8
docs/ScudoHardenedAllocator.rst [new file with mode: 0644]