Heap-based overflows are still not completely solved even after decades of research. This paper proposes Prober, a novel system aiming to detect and prevent heap overflows in the production environment. Prober leverages a key observation based on the analysis of dozens of real bugs: all heap overflows are related to arrays. Based on this observation, Prober only focuses on array-related heap objects, instead of all heap objects. Prober utilizes static analysis to label all susceptible call-stacks during the compilation, and then employs the page protection to detect any invalid accesses during the runtime. In addition to this, Prober integrates multiple existing methods together to ensure the efficiency of its detection. Overall, Prober introduces almost negligible performance overhead, with 1.5% on average. Prober not only stops possible attacks on time, but also reports the faulty instructions that could guide bug fixes. Prober is ready for deployment due to its effectiveness and low overhead.
Thu 24 Sep Times are displayed in time zone: (UTC) Coordinated Universal Time
|16:00 - 16:20|
|Prober: Practically Defending Overflows with Page Protection|
|16:20 - 16:40|
|MinerRay: Semantics-Aware Analysis for Ever-Evolving Cryptojacking Detection|
|16:40 - 17:00|
|Summary-Based Symbolic Evaluation for Smart Contracts|