This paper describes a new technique for detecting security breaches in a computer system. For each Unix process, the user credentials, which are user identifiers, determine the process privilege, including whether a process has gained a high privilege, such as that of the superuser. The state transition technique is applied to a suitably defined process state, identified by certain classes of user credential values. A transition takes place when these values change from one class to another. These states are clearly defined, and prohibited state transitions as well as some supporting rules are identified. When many break-ins succeed, either the rules are violated or these prohibited transitions occur, and this implies a violation of system security policy. A specially modified system call, ktrace0, is used by the superuser to monitor the process-state and state transition analysis is applied to the traced information, by the Intrusion Detection System. Tests show that most known security violations belonging to the targeted classes (such as buffer overflow exploits) can be detected (and possibly pre-empted) while the constituent activities are still being processed in the kernel.
[1]
Dorothy E. Denning,et al.
An Intrusion-Detection Model
,
1987,
IEEE Transactions on Software Engineering.
[2]
R. J. Rubey,et al.
Quantitative aspects of software validation
,
1975
.
[3]
Todd L. Heberlein,et al.
Network intrusion detection
,
1994,
IEEE Network.
[4]
S. E. Smaha.
Haystack: an intrusion detection system
,
1988,
[Proceedings 1988] Fourth Aerospace Computer Security Applications.
[5]
Carl E. Landwehr,et al.
A taxonomy of computer program security flaws
,
1993,
CSUR.
[6]
Hartmut König,et al.
The Intrusion Detection System AID - Architecture, and Experiences in Automated Audit Analysis
,
1996,
Communications and Multimedia Security.
[7]
Eugene H. Spafford,et al.
A PATTERN MATCHING MODEL FOR MISUSE INTRUSION DETECTION
,
1994
.