Despite previous efforts in auditing software manually and automatically, buffer overruns are still being discovered in programs in use. A dynamic bounds checker detects buffer overruns in erroneous software before it occurs and thereby prevents attacks from corrupting the integrity of the system. Dynamic buffer overrun detectors have not been adopted widely because they either (1) cannot guard against all buffer overrun attacks (2) break existing code or (3) incur too high an overhead. This paper presents a practical detector called CRED (C Range Error Detector) that avoids each of these defeciencies.
CRED finds all buffer overrun attacks as it directly checks for the bounds of memory accesses. Unlike the original referent-object based bound-checking technique, CRED does not break existing cde because it uses a novel solution to support program manipulation of out-of-bounds addresses. Finally, by restricting the bounds checks to strings in a program, CRED’s overhead is greatly reduced without sacrificing protection in the experiments we performed.
Download A Practical Dynamic Buffer Overflow Detector
Related Searches: buffer overrun attacks, buffer overruns, memory accesses, bounds checker, program manipulation
RSS feed for comments on this post · TrackBack URI
Leave a reply