Toward Online Verification of Client Behavior in Distributed Applications Robert A. Cochran Michael K. Reiter Department of Computer Science Department of Computer Science University of North Carolina University of North Carolina Chapel Hill, NC, USA Chapel Hill, NC, USA
[email protected] [email protected] Abstract models (but that may still manipulate application state) can escape detection, in a manner analogous to mimicry attacks Existing techniques for a server to verify the correctness on intrusion-detection systems [28, 22]. Greater precision of client behavior in a distributed application suffer from has been achieved, but with greater expense. For example, imprecision, increased bandwidth consumption, or signifi- the Ripley system [25] replays each client on the server in cant computational expense. We present a novel method for order to validate the client’s requests, but this incurs the a server to efficiently search for a code path through the bandwidth overhead of transmitting all client-side inputs client that “explains” each client message, even though the (user inputs, timer values, etc.) to the server to permit re- server does not know local inputs to the client that might play and the computational overhead of replaying the client have caused the message. This method gives rise to a pre- on the server side. An approach by Bethea et al. [2] omits cise client verification technique that consumes no addi- transmitting client-side inputs, thus not incurring bandwidth tional bandwidth and that validates most legitimate client overheads, but then must search for whether there exist in- messages much faster than previous such techniques.