In this paper we consider the problem of detecting whether a
compromised router is maliciously manipulating its stream of packets. In
particular, we are concerned with a simple yet effective attack in which a
router selectively drops packets destined for some victim. Unfortunately, it
is quite challenging to attribute a missing packet to a malicious action
because normal network congestion can produce the same effect. Modern networks
routinely drop packets when the load temporarily exceeds a router's buffering
capacity. Previous detection protocols have tried to address this problem
using a user-defined threshold: too many dropped packets implies malicious
intent. However this heuristic is fundamentally unsound; setting this
threshold is, at best, an art and will necessarily create unnecessary false
positives or mask highly-focused attacks. We have designed, developed and
implemented a compromised router detection protocol that dynamically infers,
based on measured traffic rates and buffer sizes, the number of congestive
packet losses that will occur. Once the ambiguity from congestion is removed,
subsequent packet losses can be attributed to malicious actions. We have
tested our protocol in Emulab and have studied its effectiveness in
differentiating attacks from legitimate network behavior.
Pre-2018 CSE ID: CS2007-0889