Authentication and Privileges

Under UNIX operating systems including Mac OS X, certain operations require special permission or privileges to prevent unauthorized users from disrupting or spying on other users. While well intentioned, these conventions are often inappropriate for a "personal" computer where a single user owns and administers the system. Among the operations that require such privileges are sending raw datagrams for Ping and TraceRoute as well as monitoring network traffic.

IPNetMonitorX takes the personal computer view that the user should normally be in control of their computer, so tries to minimize the disruption of asking the user to prove they are authorized to perform the requested operation.

To open ICMP endpoints for Ping and TraceRoute, IPNetMonitorX includes a tiny server application named "OpenICMP" that must run as suid root. When IPNetMonitorX is first run after being copied to a new location, it checks to see if the OpenICMP tool is present and set to suid root. The same process is repeated for "ConfigDHCP", "RunTCPDump", and "LoadNKE". If any of these tools are not authorized, IPNetMonitorX asks you to authenticate so it can configure them to run as suid root. You might think of this as completing the installation process. From that point on, no further authentication is necessary to perform any of the restricted operations IPNetMonitorX supports.

Normally allowing small programs to execute as root is not a problem unless the program seeks to compromise your system or is exploited by another program to carry out such an attack. The best defense against such exploits at this time is to only run software from reputable developers. IPNetMonitorX takes advantage of Leopard Code signing to alert you of any unintended modifications to the software.

Security Administrators Note: The tools IPNetMonitorX sets to be suid root are relatively safe because they do so little. Each tool performs one simple task like opening a raw socket. These tools are normally stored in /Library/Application Support/IPNetMonitorX and are owned by root.


Previous | Next | Return to IPNetMonitorX Help