Skip to content

Commit 9b2c7a5

Browse files
committed
Add notes about follow-up work.
1 parent eaf3962 commit 9b2c7a5

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,27 @@ Memory Error Detection using Dynamically Typed C/C++*" was
372372
accepted at PLDI'2018. We plan to release EffectiveSan sometime in 2018
373373
(see here: https://github.com/GJDuck/EffectiveSan).
374374

375+
Follow-up Work
376+
--------------
377+
378+
* D. Song et el, *SoK: Sanitizing for Security*, 2019:
379+
This survey paper independently measures the overhead of LowFat's
380+
*legacy mode* for older CPUs at ~85%. Legacy mode is known to be slower,
381+
and is not officially supported.
382+
* R. Gil et al, *There's a Hole in the Bottom of the C: On the Effectiveness
383+
of Allocation Protection*, 2018:
384+
This paper claims "pointer stretching" (using **sub-object** overflows to
385+
overwrite a function pointers) as an attack against LowFat and related
386+
bounds checkers. However, sub-object overflows are **explicitly
387+
out-of-the-scope** of LowFat (see the *Caveats* above), so it is hardly
388+
surprising that the "pointer stretching" attack still works. Similarly,
389+
LowFat does not protect against other out-of-scope errors, including
390+
use-after-free, type confusion, uninitialized memory, etc., and these
391+
may also be used for attacks.
392+
Finally, the paper overlooks existing LowFat extensions that **does**
393+
detect sub-object overflows (and much more), namely
394+
[EffectiveSan](https://github.com/GJDuck/EffectiveSan).
395+
375396
Versions
376397
--------
377398

0 commit comments

Comments
 (0)