Internet security software issues



The BOINC client software uses two programs, the 'manager' and the 'core client', which communicate using a local TCP connection. The core client is the passive end: it listens for connections, and the manager connects to it. On startup, the manager checks if the core client client is already running (if not, it runs it). To do this check, it tries to connect to the core client. If the connection fails, it runs the core client.

A version of McAfee security software, deployed on or about August 1 2006, uses an agent that intercepts all connection, so that they appear to succeed even if there is no actual peer. This breaks BOINC: the manager's connection request succeeds even though the core client isn't running, and the manager never runs the core client.

We managed to work around this, and released a new version of BOINC (5.4.11) in which the manager exchanges messages with the core client before accepting its existence. However, we're irritated by this - security software shouldn't change the semantics of communication primitives that have existed for decades. We urge McAfee to adopt this policy, and to test their products more thoroughly in the future.


Return to BOINC main page

Last modified 10:08 PM UTC, April 16 2007.
Copyright © 2008 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.