Security management architecture for access control to network resources G.Prem Kumar P. Ve nkata ra m Indexing terms: Network security management, Access control techniques, User access control, Access control to network resources Abstract: Threats to network resources increase exponentially with the growth of the network/ users and the technological developments. In the paper, the authors describe a security management framework for access control to the network resources. They deal with this in three steps. In the first part, user access control to a given network is discussed. In the second part, access control to the network resources, both by self-usage and delegation, revocation of delegation is presented. The third part explains the access control to the resources belonging to the other networks. A neural network based model is developed for intrusion detection to overcome most of the limitations of the existing systems. 1 Introduction As the network resources and their availability increase, so does the threat for the resources to be misused by both legitimate and unauthorised users. From the network management point of view, security management [1-3] plays a vital role in maintaining the privacy and integrity of the network. The types of threats in access control to network resources range from masquerade (or false claim of the origin), illegal associations, nonauthorised access, denial of service, repudiation (or false denial of performing the task) and Trojan horses. Two major ways of solving the security management problem are preventative measures by employing strong underlying security architecture, and reactive measures by using intrusion detection techniques. This paper focuses on the preventative measures of security management by proposing efficient security protocols and on reactive measures by developing a neural network based intrusion detection model. The This part is mainly concerned about user login from any host in the network to any other host within the network. In the second part, access control to the services is modelled as a client-server model (CSprotocol). In the CS-protocol, each of the services offered by the network has been modelled as a specific server and the user approaches to them as a client. Access control mechanism is developed for this class of services is further divided into two parts: a legitimate user directly accessing the service and a legitimate user delegating other user(s) of the network to access the service. We also consider revocation of the delegation. The third part of the proposed preventative approach defines the secure access of the resources belonging to other networks/domains (interdomain protocol or IDprotocol). In the proposed reactive approach, the information in the security management information base (SMIB) is used to identify the intrusion that may take place and alert the security manager of the possible event. A neural network based on the backpropagation is suitably tuned to devise the intrusion detection system (IDS). SMA SMIB UA-protocol CS-protocol ID-protocol I 1 self - usage delegation i (invocation Fig. 1 J (revocation J Proposed model for network security architecture SMA = security management architecture SMIB = security management information base UA-protocol = user access protocol CS-protocol = client-server protocol ID-protocol = interdomain protocol IDS = intrusion detection system proposed preventative approach is dcscribed in three parts (see Fig. 1). The first part of it is the user access control to the network (UA-protocol), which deals with providing access to the network for authorised users. 2 User access control Access control mechanisms, which are extensively being tried, could be either one-way or two-way authenticated. Access control involves two entities (i) identify and (ii) identifier. Identity is the user who approaches the access control system and claims to be an authorised user of the system. Identifier is the access control system that authenticates the identity after proper verification. In one-way authentication mechanism, the identity has to provide the proof to the identifier that heishe is the authorised user. On the other hand, in two-way authentication, both the identity and identifier have to prove to one another their identity before access to the device is permitted. 2. I the smart card prompts the user for password. If the user password matches with the one sent from the LS, the smart card sends a (signed and encrypted) message to the LS (through h ) to create a login connection and concludes the access control phase successfully (see Fig. 2). One-way authentication Access control to thl: Unix kind of system uses oneway authentication mechanism by means of passwords. The user supplies the password along with hidher login identification (id) during the login. The system then compares the one-way encrypted password with the stored password and the successful match permits the login. A drawback with this kind of system is that there is no method to judge whether the user has logged into the intended host or not. host, h user 2.2 Two-way authentication In the two-way authentication mechanism, the identifier poses a challenge to the identity. If the identity gets convinced with the challenge and trusts the identifier, it returns a response. On a successful match with the expezted response, the identifier gives access to the identity. This method is also known as challenge-response pair access control. A smart card can be used to have encrypted and lengthy challenge/ response [4]. On each successful attempt, the sequences in challenge-response pair are updated at both the identity and the identifier. Although the challengeresponse pair of authentication mechanism seems to be foolproof, it has its own limitation in that any user who possesses the srnart card can have access to the device without further verification. To overcome the problems faced by the above schemes and provide a higher level of security, we propose a hybrid method for user access to the hosts in a communication network. 2.3 Proposed method for user access control We consider a cornrnunication network as a 6 tuple, (HS, LK, U, LS, S, SM) where HS is a set of hosts, LK is a set of links connecting the hosts, U is a set of users (grouped hostwise), LS is a login server (one LS per each host or only one for the entire network), S is a set of servers like print server(s), mail server(s), file server(s), and SM is the security manager to deal with key distribution and localiinter network security issues. At the time of login creation, each user is given a smart card and a password which can be changed on any successful login. The smart card has a sequence of words, called challeqzes, whose copies are held sequentially with the login server. The smart card has a private key of its own and a public key of the login server, counterparts of which are held with the LS. We intend to use the method of public key cryptography for a higher level of security, details of which can be found in [S, 61. Whenever a user u attempts to login, through a host h to the registered host H , the user provides id and H to host h. Then smart card (SC) throws a signed challenge, encrypted with public key of LS, to the host h. The host h signs and encrypts the message and forwards it to the LS on host H. The LS, on verifying the host h and the smart card, reads the challenge and compares with the expected challenge of that user. If the verification succeeds, the LS signs and encrypts the challenge, along with the one-way encrypted password of the user. On successfully comparing the challenge, Note that, in the proposed model, the traditional challenge-response pair access control mechanism is reversed. In other words, the identity (user) first poses the challenge to the identifier (login server), since LS does not know who is the next user going to login. We call this UA-protocol access control mechanism as challenge-password pair (CP-pair) based approach. No tu t ion : (i) ‘u + b : { p , , ..., pTt}’indicates that a is conveying a set of parameters {p,} to b, where p i may be one of messages, addresses, challenge, request, permission, id, address of the host, password etc. (ii) ‘a : Action’ indicates that a is performing Action. (iii) Message,l indicates that the message is encrypted by the public key of Y and signed by X using the private key of X . For more details on the syntax used to describe the protocols in this paper, refer to [7]. UA-protocol (i) u + h : {id, H } (ii) SC + h : { ( ~ h a l l e n g e I) ~, ~~ ~ } (iii) h -+ LS : {[id, H, (challenge)Sc I , ~ ~ ] / ; - I , ~ ~ } (iv) LS : Decrypts and verifies identity of h and SC. Then compares the challenge with the stored. If the challenge matches, returns the one-way encrypted password. Otherwise, sends an abort message (v) LS -+ h : {[id, H,(challenge, one-way encrypted password)LS ‘ , S C ] L S l , k ) (vi) h -+ SC : { (challenge, one-way encrypted password)Ls-l,sc) (vii) SC : Decrypts the message from LS. If the challenge matches, the SC prompts the user for password by concluding that the host h is trustworthy. Otherwise, sends an ubovt message (viii) u -+ SC: {password} (ix) SC : One-way encrypts the password and if it matches with the one sent by the LS then updates its challenge sequence else uborts (x) SC -+ h : {id, H, (challenge, ‘CREATE’),C-I,~,} (xi) h I1 ’ LSS + LS . {[id, H, (challenge, ‘CREATE’)S~I,LS] (xii) LS : Creates a login connection for u at h and updates the corresponding challenge sequence 2.4 Analysis of the proposed model Now, we turn to analyse the proposed protocol. (i) The length of the challenge posed by the smart card is generally longer, and thus avoids easy guessing. (ii) By using the two-way authentication, both the identity and the identifier are assured that the other is legitimate. (iii) Replacing the automated response part of the challenge-response pair mechanism by password: (a) will not make any person whoever carries the smart card as a legitimate user unless helshe knows the password. This avoids stealing of smart cards. (b) reduces the hardware meant for response sequence in the smart card and the memory usage with the login server. Instead, the password is remembered by the user and an encrypted version of the password is stored at the LS. (iv) If a finite number of challenges are used, the sequence repeats after all the challenges are posed which may lead to guessing of the challenges. This can be avoided by a method proposed in [8] where the used challenges are modified indefinitely at both identity and identifier in the same fashion. (v) Since the challenges are nonrepeating, ‘challenge’ in Step 5 of the UA-protocol avoids replay of old messages. (vi) The use of signed and encrypted messages ensures privacy and integrity of the message [9]. (vii) The use of passwords along with the challenges doubly authenticates the legitimate users’ possession of the smart card. (viii) LS verifies the trustworthiness of the host h, in Step 4 of the protocol. (ix) The case of group-login, where the same id is shared by many users, can be handled by maintaining as many challenge sequences with the LS as the number of smart cards issued for that id. The grouplogin id in the protocol is defined as ‘i4#user’ where #user is the number given to the group-user. (x) UA-protocol can be applied to distributed systems. A login to a distributed system enables the user to access the entire system of hosts without having to specify the registered host H. (xi) Coming to the performance measures of the proposed protocol, probability of false rejection is absolutely zero as it is an electronic access control system (assuming a lossless underlying network), while the false acceptance ratio is almost zero since it is tedious to send a signed-encrypted message twice to the LS. (Breaking the secrecy of public key cryptography is notoriously difficult [5] and doing this process twice further reduces the possibility.) (xii) All the information, at different stages of the protocol, regarding any attempt to illegal access is saved in the security management information base. 3 Client-server protocol The next part of the preventative approach is to ensure that the legitimate users only allowed to access various services within the network. We refer to this as a clientserver model. We classify client-server model into two categories: (i) a lcgitimate user directly approaching the server, user, u SM 3. I server, s owner, w Client-server: self-usage The proposed client-server model is shown in Fig. 3 . A user u generates a client process c to get a service by a server s, owned by w.The servers can be owned by a single owner or multiple owners and there may be transfer in ownership of the server but this transfer is transparent to the client. It is enough if the server keeps track of its owner(s). The proposed access control model is based on the public key cryptography where each of the servers possess the public and private keys like any other user. Whenever a client process c is generated to get work done from a server s, the request with specific requirements is forwarded through the host. The server, on receiving the client’s request, forwards it to its owner w for the permission. The owner of the service, depending on the security measures and the capacity of the server, may give ‘Permission’ to access the service in the form of a ticket. The ticket is issued to the server if it is a one-time job or to both: the user and the server, if it has to be used more than once. In the former case, the server will directly render the service without informing the user and in the later case, the client gets the service on producing the ticket on every occasion. The protocol proceeds as follows: CS-protocol (i) u + s : {(Request),-I,,} where Request = {nonce, period, #times, PersonallProxy, List of Proxies, Any other options } and nonce is the id of the request. (ii) s + w : {(Request),l,,} (iii) w : May allow the use of service or reject the request. If the service does not involve bulk transfer of data, GOESTO Step 6 (a). Otherwise, procures the session key from SM and sends it to both server and the user along with the ticket (iv) w 4 SM : {(nonce, Session=Key_Request),q-l,sM} (v) SM + w : {(nonce, Session=Key)sM,l,,} (vi)(a) w + s : {(Permission, Session=Key),i,,y} . Table 1: Table maintained by the server of the service during CS-protocol User Nonce Time duration No. of times Proxy/personal Proxy list Any other option James 34589 tl-tZ(absolute) 2 Proxy Joy, Joe, Mary Urgent Mary 34690 t5-t6(absolute) 1 Personal - - (b) w : If the Requesi is a one-time request, GOESTO Step 7. (c) w -+u : { [(Permis::ion),i,,, Session=Key],,i,,} where Permission = {u, nonce, period, #times, Personal/ Proxy, List of Proxies, Any other options} and #times is the number of timeis the service can be offered. (vii) s : If the Requesi is one-time request then renders the service and GOESTO Step 9. Otherwise, stores the Permission and keeps track of it as shown in Table 1. (viii) (u + s>. : { [(Permission),-i,,~, Current-Request], I , ~ } where the format of Current-Request is similar to that of Request indicates its restricted usage and ( u + s>. indicates n messages from u to s. (ix) (a) s : Renders the service {( Reply ),,-I,~}and GOESTO Step 10 if it is a one-time request or when the limit exceeds. (b) s : Updates the Table 1 and further keeps track of it by awaiting further requests starting from Step 8. (x) s -+ w : { [(Request),n-i,,~],~-i,,~, Service=Rendered} where ( Request >” indicates II requests served by s. A few points about the protocol are worth mentioning. (i) Apart from several intricate details that are incorporated in our protocol, it differs from Kerberos [12], in the following ways: (a) Instead of timestamp, nonce (a unique identifier) is used and the period is only specified to represent the permissible usage period subjected to other constraints; (b) The ticket is issue13 only when the client is going to use the request more than once or when it is used for delegation; and (c) The delegation mechanism is generalised. (ii) In the protocol, the nonce contained within the Request is used as id of that process, which is sufficiently long and thus cannot be easily reproduced. If the nonce already exists with the server, a different number is substituted and the new nonce is communicated to the client. (The idea here is to reuse the nonce as the id of the request since it is a unique and long number.) (iii) The nonce also !serves to avoid the replay of old messages. (iv) The period field in the Request is the time during which the client is intending to get the service. During that period, the owner of the service may accept allowing the client, maybe with some other restrictions. Table 1 specifies one such access control list (ACL). (v) The period field in the Request specifies the time duration in which the client can get the service. During the period, server accepts the client’s request(s) and maintains it in access control list during the process (as shown in Table 1). (vi) If the period is over or the service limit is exceeded, the request is revoked (as discussed in Section 3.3), the entry in the ACL is removed and the same will be notified to the user and the proxies. 3.2 CS-protocol: delegation The protocol provides the access to the illegitimate users of the service through the legitimate users. The basic philosophy is to delegate the work to the illegitimate users. Here, the scheme incorporates the capability mechanism by means of delegation. We propose to use chained delegation. The legitimate user u, who has the permission from the owner of the service w to use the server s, delegates the task to a delegate d. The protocol proceeds as follows: (i) u -+ d : {s, ‘Proxy’, [(Permission),-1 ,, Opti~nal_Session=Key]~-~ d} (ii) d + s : {u, ‘Proxy’, [(Permission), I , ~ , Current=RequestId I \ } (iii) s : Renders the service to the delegate as in Step 9 of the client-server: self-usage protocol. The server verifies the Proxies list and permits only authorised delegates. 3.3 Revocation of delegation It may be necessary for the user to revoke a delegation. The protocol provides the revocation procedure for the purpose. (i) u + s : {d, ‘Revoke’, [d, nonce, (Permission),-i ?, Revoke_Request],-i, ,} where Revoke_Request = {nonce, ReducediRemoved permissions to delegate d ) . (ii) s : Updates the entry corresponding to the delegation in ACL and intimates the delegate of the same. 4 lnterdomain protocol The interdomain protocol (ID-protocol) uses either hierarchical or distributed security managers to provide access control to the services belonging to the other networks. It is proposed that the security managers of the networks have a way of communicating messages in a secure manner among themselves. This could again be achieved by using the publiciprivate keys of each of the SMs. Any service access that belongs to a different network can be requested by the SM of the local network after appropriate authentication of the user or its client process. Alternatively, any request to access the remote resource should first exchange the keys and then use the client-server: self usage protocol, as described in Section 3.1. But, we prefer to use the SM to interact with the other domains as the process overhead is higher in the second method and each client/ user has to exchange the publidprivate keys with the servers of the other machines and manage them independently. A request or a message that has to be securely sent from a client in one network to the server in the other will start by sending a request to the former’s SM to forward it to the remote server. The local SM (LSM) then communicates with the remote SM (RSM), in a suitable way, and requests the service. RSM then runs it as a client with the server as though it is a local request and gets back the reply on the reverse path. The protocol is shown in Fig. 4. user, u Fig.4 LSM ID-protocol The protocol proceeds as follows: ID-protocol (i) u 4 LSM : {‘Remote Request’, s, RSM, (Request)u-~,LSM3 (ii) LSM + RSM : {‘Remote Request’, s, (Request) LSM-I, RSM 3 (iii) The service is accessed replacing, u by RSM, in Client-serwr: sev-usage protocol. (iv) RSM 4 LSM : {‘Remote Request Reply’, (Reply) R S M 1,LSMl (v) LSM + u : {‘Remote Request Reply’, (Rep1Y)LSM-l .I 5 Intrusion detection system As a part of network management, network intrusion detection has received lot of attention. In this Section, the second part of the proposed security management architecture, the reactive approach, namely, intrusion detection system is discussed. We briefly describe the existing methods for intrusion detection and then present a new approach using a neural network. 5. I Prior works Since one cannot expect any networked system to be foolproof in spite of so many protocols developed to keep the resources secure, there is always a necessity to develop an intrusion detection system that identifies a possiblc intrusion even before it takes place and stop such an event [2, 131. Statistical methods have been used extensively in intrusion detection systems [ 11. In this approach, the user behaviour over time is observed and if the standard deviation exceeds the expected value (or mean), it is identified as an intrusion. State transition analysis is carried out to identify the intrusions in [14]. In the state transition method, the series of events that would cause an intrusion are represented as states. An intrusion is reported when the specified events take place in that particular order until the final state. Petrinets are used for state transition analysis in [15] for intrusion detection. A1 techniques have been widely used in intrusion detection systems [16]. Rule-based systems have been used for intrusion detection [1, 171. In rule based systems, the possible intrusions are coded as ‘if-then’ rules. When all the conditions in the ‘if part of a rule are matched, ‘then’ part of the rule is ‘fired’ by raising an intrusion. Intrusion detection based on the time interval between the successive keystrokes while typing a known sequence of characters is suggested by using a multilayer neural network system in [lS] and that based on fuzzy algorithms in [19]. Few researchers have attempted to design a neural network based IDS to predict every next command of the user [20]. This technique classifies the unpredicted command as an intrusion and reports to the security manager to initiate necessary action. 5.2 Observations from the existing models A careful study of the existing models on intrusion detection suggests that: (i) use of statistical methods to analyse the intrusion on the exhaustive data is very time consuming for both the intrusion detection system and the intrusion detection expert. (ii) since the users have the tendency to learn or try out new commands from time-to-time, it may be difficult to predict a next command in their usage of the network. Adaptation of user fancy and style in the prediction system is a complex task. (iii) the use of key stroke, based on speed or pressure, matching for intrusion detection is limited to the user login in most of the cases. The user speed/pressure to enter the commands may vary over time which then may raise false alarms. (iv) in case of state transition method, if the events do not take place in sequence, the intrusion cannot be foreseen until it reaches in the last state of the intrusion. If all such combinations have to be included in the state transition diagram, it leads to state explosion. (v) in the case of co-operating users or the same user making an attempt for intrusion at different times in various steps, it may be difficult to identify the intrusion unless the information is collected globally and tracked. (vi) hard coding of rules using rule-based systems is not advisable since no intrusion detection system can be assumed to be complete and there is always a necessity to learn new intrusions (rules). 6 Proposed model for intrusion detection To overcome some of the limitations in the existing models on intrusion detection, we propose a new approach for IDS that uses a neural network model based on the backpropagation learning algorithm. 6. I Formal description of the system A general IDS system can be described to comprise the users U = { u l , u2, ..., urn],the set of commands executed by the users C = {cl, c2, ..., cN}, a finite set of possible intrusions that can take place I = {i,, i,, ..., ip}, the recognised intrusion sequences R = { I ~ ,v2, ..., y4} and unrecognised intrusion sequence N = { n l , n2, ..., a,). Further, we classify the commands into two categories. The first category consists of the commands (C,) that a single user carries out to cause an intrusion. c1 = {.Z(C)) (1) where ui(C) is the set of commands that user uihas executed, out of the commands C. The second category comprises the set of commands carried out by co-operating users (C,) which can lead to the intrusions. They are collected on the global basis from the SMIB and not based on the individual user. the neuron is (hi). (4) c,c c j Every intrusion is either reported from the recognised set of intrusions or it has to be brought out from yet unrecognised set of intrusions. I=RUN In other words, I = {d{ChI)l(({ChI c A ((S'({ChH (2) " ({Chi c E R)" (d{Ch)) EN))) (3) where g(.) is a function that associates a set of commands { e h } to a set ol-intrusions. 6.2 Approach The proposed neural network based IDS model is developed in two steps. In the first step, the expert knowledge is captured offline in the form of a set of rules and then in the second, based on the principle of induction, the system is allowed to work online to learn any possible unencountered intrusions. The order in which the events have taken place has least significance in the NN-based systems. Thus the events of co-operating users and the events carried out by a single user at different instances of 1-ime are handled together to foresee the intrusion. The rule-based system, implemented as a connectionist (a neural network) model, minimises the search. 6.3 Neural network model The neural network model devised for intrusion detection is based on the backpropagation model [21, 221 (see Fig. 5). input laver Fig.5 hidden laver output laver NN modeljbr IDS The neural network has an input layer that is designed to accept the binary inputs, representing the events of interest (commands {ej} of users {u,,}) those have appeared in the SMIB. The output layer of NN is expected to indicate the possible intrusions. The N N also has one or more hidden layers depending on the complexity of the problem (i.e. approximate number of events of interest, number of rules, and the number of intrusions). The number of neurons in the hidden layer also depend on the estimate of the number of the exemplars probided for training [23]. Each layer of the NN consists of one or more neurons. The output of one layer is fed as the input of the next. The neurons in one layer are connected to those in the next with an a.daptive weight. The net input to where wii is the weight o f the link connecting neuron j in the preceding layer to the neuron i in the current layer and inputi is the input from the neuron j . The input to bias neuron in the preceding layer is set to -1 and the weight is adjustable. Essentially, the weight on the bias link in the previous layer indicates the threshold of each neuron in the current layer. The output of each neuron is determined by applying a transfer function f(.)to the net input to the neuron. We use the activation function: f ( x ) = (1 +e-")-l (5) The training of the neural network is done in two passes. The forward pass is used to evaluate the output of the neural network for the given input with the existing weights. In the reverse pass, the difference in the neural network output with the desired output is compared and fed back to the neural network as an error to change the weights of the neural network. In the reverse pass, suppose for the particular neuron i in output layer L, the output is y," while the desired value is d k . The backpropagated error 6 : is: (6) 6; = f ' ( h k ) [ d , "- y f ] where h k represents the net input to the ith neuron in the Lth layer and,f(.) is the derivative off(.). For layers 1 = 1, ..., ( L - l), and for each neuron i in layer 1 the error is computed using: (7) j The adaptation of the weight of the link connecting neurons i o f layer I and neur0n.j of layer (1 - 1) is done using: w!. "3 w 2.7l . + K * 6;* y-' (8) where K is the learning constant that depends on the rate at which the neural network is expected to converge. This neural network algorithm essentially minimises the mean square error between the neural network output and the desired output using gradient descent approach. The criteria for the neural network to turn from offline mode to online mode can be one of: (i) when the desired output is same as the neural network output for all the training patterns; (ii) when the mean square error between the neural network output and the desired output is less than the specified threshold (for example, when the mean squared error per unit output is less than 0.01); (iii) when the gradient is sufficiently small (by definition, the gradient will be zero at the minimum). Algorithm intrusion detection Begin (i) Construct a neural network with 1, 2, ..., L layers. And in each layer select number of neurons that suits the problem [23]. (ii) Set the input of the bias neuron in each layer to 1 .o. (iii) wi, = 6 'di,j , a random value in the range (0, 1). (iv) Choose an input pattern from the set of exemplars if the IDS is in offline mode. Otherwise, take events of interest from SMIB as the input. 1 (v) Propagate the signal forward through the neural network until the output layer. (vi) For each of the neuron i in the output layer (layer L), compute the error: :6 = f’(h,L”,L - YZLI (vii) For 1 = 1, ..., ( L l), and for each neuron i in layer I compute the error - 3 (viii) Update the weights using: wt,= wf, + K * 6: * yi-’ where I< is the learning rate. (ix) If the error in the output layer (Cl[dF - y:]*) is within permissible limits, switch from offline mode to online mode of operation. (x) Repeat by going to Step 4, till IDS is active. End 7 Experiment with IDS We demonstrate the features of the proposed IDS with an example. Consider a model where the events are collected for the following three cases: (i) during the user login (ii) access to network resources (iii) access to interdomain resources. The input corresponding to the first layer neuron is set to ‘1’ if the event is present and to ‘0’ otherwise. The IDS considers the following events: (i) rloginltelnetiftp is denied for remote connections. (ii) rloginitelnetiftp is denied since remote host is not permitted as directed by ietci hosts.deny (iii) rloginitelnetiftp is denied. (Here, remote host not denied but the user intrusion attempt has failed.) (iv) (from root account) cp ibinlsh usrlroot is executed. (root shell is copied to user area.) (v) (from root account) chvnod 4755 usrlroot is executed. (User is permitted to use root shell.) (vi) usrlroot is executed. (User is running the root shell.) (vii) command cd to change directory to unrelated groups. (viii) attempt is made to delete the files of other users/ area. (ix) xu succeeded. (x) su failed. (xi) printifax is denied to the user. (xii) printifax is denied to the user as the limit exceeded their permitted values. The intrusions are: (i) remote host attempting a connection. (ii) unauthorised user of an unauthorised system is attempting to login. (iii) root shell is copied. (iv) root shell is copied and executed. (v) with proxy root shell, directory is changed. (vi) with proxy root shell, files are deleted. (vii) su succeeded, trace subsequent commands. (viii) su failed, identify the user and the terminal that initiated su. (ix) user is denied to access pvintlfax. (x) user printifax limit is exceeded, initiate the appropriate measures. Table 2 describes 16 events and 10 intrusions of the IDS with the initial knowledge (in the form of 12 rules) in a public network. The commands that fall in the co-operating user intrusion are the events 4-6. The usage of these commands is collected globally from SMIB and not from each user’s record. Where as the other events (1-3 and 7-12) are gathered user-wise and fed as a pattern to the neural network to evaluate the possibility of any intrusion. Table 2: Initial knowledge used by the IDS S. no. Events Intrusions 1. 1110000000000000 110000000000000 2. 1100000000000000 100000000000000 3. 1000000000000000 100000000000000 4. 0001000000000000 001000000000000 5. 0001100000000000 001000000000000 6. 0001110000000000 000100000000000 7. 0001111000000000 000110000000000 8. 0001110100000000 000101000000000 9. 0000000010000000 000000100000000 10. 0000000001000000 000000010000000 11. 0000000000100000 000000001000000 12. 0000000000010000 000000000100000 Table 3: N e w rule S. No. Events Intrusions 13. 0000000000011000 000000000010000 7. I Illustrative example Consider S. No. 6. of Table 2. The events 4, 5, 6 i.e. (cp lbinlsh usrlroot), (chmod 4755 usrlroot) and (usrl root) are set to ‘1’ and the other events are set to ‘0’. This raises an intrusion 4: root shell is copied and executed. Further, the events specified in s. No. 7 and 8 have more than one intrusion. In case of S. No. 7, the events 4, 5, 6 and 7 raise intrusions 4 and 5 whereas the events 4, 5 , 6 and 8 in S. No. 8 raise intrusions 4 and 6. 7.2 Inclusion/dellstion of rules Let us suppose that the IDS encounters a set of events that requires a new set of intrusions to be raised. Since the neural network is being trained in online mode, such a combination can be incorporated as a new rule if it occurs often enough. Similarly, if an existing rule becomes invalid, the neural network unlearns it overtime. A neural network rnodel with a few spare input and output neurons can accommodate new eventslintrusions. As shown in Table 2, although there are 12 events and 10 intrusion, we have chosen a neural network with 16 input neurons, 15 output neurons and 6 hidden neurons. To illustrate the inclusion of a new rule, consider the rule given Table 3. In the new rule, a new event 13 is added to the existing event 12. This resiilts in a new intrusion 11 Event 13: printfax is issued too many times Intrusion 11: Trace the user 30 25 20 8 A comprehensive network security management archi- 500 tecture is developed in two parts, namely, preventative approach and reactive approach. In the first, an attempt is made to improve the robustness of the protocols. In the second, a neural network based intrusion detection system is developed. The model is analysed thoroughly and the results are impressive [24]. 15 10 5 5 0 Fig.6 0.I l(100 1500 2000 number of iterations 2500 3000 Error behaviour for dqferent hidden neurons with learning rutc = + six hidden neuron * four hidden neuron 30 Conclusion \ L ? 7.3 Results The neural network is devised with 16 neurons in the input layer and 15 neurons in the output layer. The neural network model is developed in C++ programming language on a Sun Sparc 20 workstation, running SUN 0s 4.2. The hidden layer is chosen with varying number of neurons. Similary, different learning rates were incorporated to train the neural network. For illustration, we consider a neural network convergence with the following parameters: (i) with four and six hidden neurons; (ii) with learning rates 0.1 and 0.2. In each case, the error in the neural network for the above parameters is measured while presenting the exemplars given in Table 2. The error computed is the sum of the squared error of each of the output neurons for all the 12 possible rules at iteration instances in multiples of 300. It is observed that the neural network started converging after a total 800 iterations of the exemplars. In the case of the neural network with alearning rate of 0.1 and with six hidden neurons shows better performance over the one with four hidden neurons for the same learning rate (i.e. less error) after 500 iterations (see Fig. 6). Similarly, an experiment is conducted for different values of learning rates (0.1 and 0.2) when the hidden neurons are six (see Fig. 7). The graph shows that the neural network with learning rate of 0.2 converges much faster than the one with 0.1. But the learning rate in general is a compromise chosen by the rate at which the neural network is expected to converge and also to avoid the noise in inputting of the desired output. 9 Acknowledgments The authors thank the anonymous referees for their comments to improve the content of the paper. I 10 References DENNING, D.E.: ‘An intrusion-detection model’, IEEE Trans., 1987, SE-13, pp. 222-232 MUKHERJEE, B., HERBERLEIN, L.T., and LEVITT, K.N.: ‘Network intrusion detection’, IEEE Network, 1994, pp. 26-41 O’MOHONY, D.: ‘Security considerations in a network management environment’, IEEE Network, MaylJune 1994, pp. 12-17 SHERMAN, S.A., SKIBO, R., and MURRAY, R.S.: ‘Secure network access using multiple applications of AT&T’s smart card’, AT&T Tech. J., 1994, 73, (5), pp. 61-72 DIFFIE, W., and HELLMAN, M.: ‘New directions in cryptography’, IEEE Trans., 1976, IT-22, (6), pp. 644654 RIVEST, R.L., SHAMIR, A,, and ADLEMAN, L.: ‘A method for obtaining digital signatures and public-key cryptosystems’, Comm. ACM, 1978, 21, (2), pp. 120-126 BURROWS, M., ABADI, M., and NEEDHAM, R.M.: ‘A logic 0 Fig. 7 500 2500 3000 Error behaviour .for dflerent learning rates with six bidden neu- rons + learning rate = 0.1 * learning 10110 1500 2000 number of iterations rate = 0.2 of authentication’, A C M Trans., 1990, Cs-8, (l), pp. 18-36 SWAMY, V.C.J.: ‘Electronic access control system: a new approach’. MSc (Eng.) dissertation, Department of Electrical Communication Engineering, Indian Institute of Science, 1994 WOO, T.Y.C., and LAM, S.S.: ‘Authentication for distributed systems’, IEEE Cornp., 1992, 25, (l), pp. 39-52 10 NEUMAN, B.C.: ‘Proxy-based authorization and acouiiting for distributed systems’. IEEE Computer Society syinposiuni on Security and privacy, 1993, pp. 283-291 11 VARADHRAJAN, V., ALLEN, P., and BLACK, S.: ‘An analysis of the proxy problem in distributed systems’. IEEE Computer Society symposium on Secnrity and privacy, 1991, pp. 255-275 12 STEINER, J.G., NEUMANN, B.C., and SCHILLER, J.J.: ‘Kerberos: an authentication service for open network systems’. Proceedings of winter USENIX conference, 1988, pp. 191-201 13 ESMAILI, M., SAFAVI-NAINI, R., and PIEPRZYIC, J.: ‘Intrusion detection: a survey’. Proceedings of 12th international conference on Computer communications, Seoul, Korea, August 1995, pp. 409414 14 ILGAN, K., KIMMERER, R.A., and PORRAS, P.A.: ‘State transition analysis: a rule-based intrusion detection approach’, IEEE Trans., 1995, SE-21, (3), pp. 181-199 15 KUMAR, S., and SPAFFORD, E.H.: ‘A pattern matching model for misuse intrusion detection’, (Submitted for publication) 16 FRANK, J.: ‘Artificial intelligence and intrusion detection: current and future directions’, (Submitted for publication) 17 BAUER, D.S., and KOBLENTZ, M.E.: ‘NIDX - An expert system for real-time network intrusion detection’. Proceedings of IEEE Computer network security symposium, 1988, pp. 98-106 18 OBAIDA’I‘. M S . , I I I ~ MA(’C’HAIROLO, D.T.: ‘A iiiultilayer ncural IICIWOI.I\ b \ \ i c i n 101 coinoutel- access securitv’. IEEE 20 21 22 23 24 tion o I ~‘nc.cy;ilgoritliins in ii computer access security system’, Piif/ Rrc,og:..L ~ ~ i iI9XO7 ., 9, 1213. 1 9 ~ 4 3 DEBAR. H.. 13E(’l<IilI. M.. and SIBONI, D.: ‘A neural network component 101- ail in~rnsion dctection system’. Proceedings of IEEE symposium on Rescorch in computer security and privacy, 1992. nn. 240-250 LIPPMAN, R.P.: ’An introduction to computing with neural nets’, IEEE ASSP Mug., April 1987, pp. 4-22 RUMELHART. D.E.. HINTON. G.E.. and WILLIAMS, R.J.: ‘Learning internal representations by ’ error propagation’, in RUMELHART, D.E., and MCCLELLAND, J.L. (Eds.): ‘Parallel distributed processing: explorations in the Microstructure of Congnition, Vol. 1: Foundations’ (MIT Press, 1986)BARTO, A.G., SUTTON, R.S., and ANDERSON, C.W.: ‘Neuronlike elements that can solve difficult learning control problems’, IEEE Trans., 1983, SMC-13, pp. 835-846 KUMAR, G.P.: ‘Integrated network management using extended blackboard architecture’. PhD