Embedded taint tracker: Lightweight run-time tracking of taint data against buffer overflow attacks

Yuan Cheng Lai*, Ying-Dar Lin, Fan Cheng Wu, Tze Yau Huang, Frank C. Lin

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

3 Scopus citations


A buffer overflow attack occurs when a program writes data outside the allocated memory in an attempt to invade a system. Approximately forty percent of all software vulnerabilities over the past several years are attributed to buffer overflow. Taint tracking is a novel technique to prevent buffer overflow. Previous studies on taint tracking ran a victim's program on an emulator to dynamically instrument the code for tracking the propagation of taint data in memory and checking whether malicious code is executed. However, the critical problem of this approach is its heavy performance overhead. Analysis of this overhead shows that 60% of the overhead is from the emulator, and the remaining 40% is from dynamic instrumentation and taint information maintenance. This article proposes a new taint-style system called Embedded TaintTracker to eliminate the overhead in the emulator and dynamic instrumentation by compressing a checking mechanism into the operating system (OS) kernel and moving the instrumentation from runtime to compilation time. Results show that the proposed system outperforms the previous work, TaintCheck, by at least 8 times on throughput degradation, and is about 17.5 times faster than TaintCheck when browsing 1KB web pages.

Original languageEnglish
Pages (from-to)2129-2138
Number of pages10
JournalIEICE Transactions on Information and Systems
Issue number11
StatePublished - 1 Jan 2011


  • Buffer overflow
  • Software security
  • Taint tracking

Fingerprint Dive into the research topics of 'Embedded taint tracker: Lightweight run-time tracking of taint data against buffer overflow attacks'. Together they form a unique fingerprint.

Cite this