[tor-bugs] #20361 [Applications/Tor Browser]: Investigate CFI means for usage in Tor Browser
Tor Bug Tracker & Wiki
blackhole at torproject.org
Sun Jul 9 05:48:05 UTC 2017
#20361: Investigate CFI means for usage in Tor Browser
----------------------------------------+--------------------------
Reporter: gk | Owner: tbb-team
Type: task | Status: new
Priority: Medium | Milestone:
Component: Applications/Tor Browser | Version:
Severity: Normal | Resolution:
Keywords: tbb-security, tbb-hardened | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
----------------------------------------+--------------------------
Comment (by cypherpunks):
It's important to understand that Clang CFI requires LTO support, which
itself is a security issue, making latent undefined behavior exploitable.
UBSan only catches a small subset of these, so the issues caused by full
LTO support are not mitigated by the sanitizer. However, it can be
mitigated by setting the O2 optimization for the compiler, but only O1 for
the linker. This disables the unsafe LTO optimizations which the linker
would otherwise use, while still being sufficient for CFI to function.
Keeping the compiler at O2 will ensure that there won't be performance
hits.
It would be possible to modify the compiler itself or provide it with a
plugin to change the order of various passes, which would have the same
effect. I believe the private PaX RAP plugin does this.
This is information I found out from multiple IRC discussions and looking
into the workings of Clang CFI. If necessary, I can post the relevant
logs.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/20361#comment:6>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list