Design

Although there is no reasonable way that all security problems can be solved on any arbitrary system, administrators and systems programmers can be assisted by a software security tool. COPS is an attempt to address as many potential security problems as possible in an efficient, portable, and above all, in a reliable and safe way. The main goal of COPS is one of prevention; it tries to anticipate and eliminate security problems by detecting problems and denying enemies an opportunity to compromise security in the first place.

The potential security hazards that COPS checks for were selected from readings of a variety of security papers and books (see the references section at the end of the paper), from interviews with experienced system administrators, and from reports of actual system breakins.

We applied the following important guiding principles to the design and development of COPS:

In order to maximize portability, flexibility, and readability, the programs that make up COPS are written as simple Bourne shell scripts using common commands (awk, sed, etc.), and when necessary, small, heavily-commented C programs.