# Patent

## Title
Method and apparatus for network security

## Abstract

The adaptive modification of the security level of a node in a network is enabled. For example, such modification may be achieved in a dynamic network i.e. networks in which nodes may be mobile and in which the network topology is not constant. The node receives beacon signals from other nodes in the network, the signals providing an indication of the alert level of the other nodes and an indication of whether the other nodes are trusted members of the network. The alert level of the node is determined based on the received signals.

## Background
This application is the US national phase of international application PCT/GB03/01274 filed 25 Mar. 2003 which designated the U.S. and claims benefit of GB 0207400.3, dated 28 Mar. 2002 and EP 02252767.5, dated 19 Apr. 2002, the entire content of which is hereby incorporated by reference.
BACKGROUND
1. Technical Field
The present invention relates to data and communications networks and in particular, but not exclusively, to the security of such networks. The invention is particularly applicable to the management of security in dynamic networks.
2. Related Art
Current network security is based on the concept of fortification. Sensitive information/hardware is protected from the world outside the network by security software called a firewall that runs on a limited number of computers called gateways that provide the links between the network and other non-trusted networks and/or computers. Reaching within the protected network normally involves crossing one of these firewalls where identity controls are conducted and only legitimate access requests allowed.
This strategy is effective as long as there is no breach in the firewall and control at the gates is efficient. This security technique is well adapted to network architecture where data and communications are carried out over fixed physical wires and cables. In this kind of environment, security measures can effectively be implemented at the entry points to the network that cannot be avoided.
A drawback of this policy is that anything inside the walls is assumed to have successfully passed through a filtering procedure and is therefore implicitly trusted. So as soon as a hostile entity such as a hacker or virus has found a way to avoid all checkpoints it can access and damage anything that was supposed to be protected within the network. Such malevolent entry is often gained via an unsecured or compromised entry point commonly referred to as a back door. However, backdoors are relatively rare and/or difficult to find in well-protected systems. Therefore a hacker or virus needs to be relatively clever to be able to use them as a way of getting inside the secure network.
The efficiency of static firewalls is entirely dependent on 2 elements. The first is their ability to recognise intruders (which is why any anti-virus software has to be kept up-to-date). The second is the topological stability of the network they protect. In other words they are implemented where they are needed i.e. at interfaces with other networks and computers.
Network architecture, which is assumed to be fairly stable in the long term. In other words, the security manager knows where communications from the outside world will come from, and can use this information to prepare the network defences. As a result, computers behind the firewall can run only normal anti-virus software and still be reasonably safe, because serious, deliberate attacks are dealt with by the gateways.
However, emerging technologies such as peer-to-peer architecture and ad hoc communication networks mean that the concept of a static gateway is no longer applicable. For example, switching a mobile, wireless access point on or off at any time and place, and by doing so to join/leave a network of freely interacting devices means that the network topology is unstable.
The security systems for dynamic networks need to be able to cope with the threat of unknown viruses and inventive probing strategies as well as with dynamic topology. In the absence of adaptive defence mechanisms, these networks are vulnerable to new, yet undetectable forms of aggression, but also to attacks emanating from known malevolent entities, due to unexpected exposure of unprotected devices.
In a dynamic network, a node that is at one point safely located far behind the firewall can suddenly become directly exposed due to physical displacements or topological changes. An example of the first case might be a person walking out of office while talking on a mobile phone, and switching from “voice over IP” (presumably using a secure base station protected by the corporate firewall) to the normal cellular phone network. The second situation (topological change) could involve a fixed server that starts acting as the primary access point for external customers after one of its counterpart (normally in charge of automated online support) has failed. In both cases, a device that was once safely behind the firewall without any protection of its own suddenly needs to raise a firewall in order to keep safe and avoid becoming a backdoor.
SUMMARY
Exemplary embodiments of the invention provide a method of determining an alert level of a node in a network of other nodes that may be trusted nodes or non-trusted nodes, the method comprising the steps of receiving one or more beacon signals from one or more other nodes in the network, said beacon signal providing to the node and indication of the alert level of the other node and/or an indication of whether the other node is a trusted or non-trusted member of the network; and determining an alert level for the node based on the alert level in the or each received beacon signals and/or the indication of the trusted or non-trusted nature of the other node.
Further exemplary embodiments of the present invention provide an apparatus or method for use in a network security system that uses local inhibitory signalling to identify possible security breaches, and does not require explicit notification of appearing and disappearing threats. The system is also highly scalable. These features are advantageous in dynamic topology, as traditional security updates can be too frequent to be explicitly tracked in real-time and the size and shape of a domain can change dramatically (e.g. fusion of sub-domains). The system combines several desirable characteristics like simplicity, robustness, scalability and a balance of stability (locally predictable behaviour) and adaptability (spontaneous response to unpredictable changes).
The exemplary system is designed to increase the plasticity of network security systems, enabling them to react to topological changes so that defensive measures are concentrated at the periphery. This is provided by an adaptive firewall, kept “dormant” in nodes that are located in a safe environment, but spontaneously building up to full strength as soon as the device on which it is running is no more suitably protected.



BRIEF DESCRIPTION OF THE DRAWINGS
Exemplary embodiments of the invention are described below with reference to the accompanying figures in which:
FIG. 1 is a schematic representation of a network demonstrating a security breach;
FIGS. 2a-2b is are schematic representations of nodes in a dynamic network illustrating topological modifications causing firewalls to run on the wrong nodes;
FIG. 3 is a graph showing the performance of an algorithm used in an embodiment of the invention;
FIGS. 4a-4b are schematic representations of nodes in a network operating in accordance with an embodiment of the present invention;
FIG. 5 is a flow chart illustrating the operation of a node in the network in accordance with an embodiment of the present invention;
FIG. 6 is a set of bar charts showing the progressive rise of the alert level for trusted nodes in a network in the vicinity of non-trusted nodes;
FIG. 7a is a three-dimensional bar chart illustrating the alert profile for a 16×16 grid of trusted nodes located in the middle of a larger non-trusted network comprising 32×32 nodes; and
FIG. 7b illustrated the spontaneous reorganisation of the grid of FIG. 7a after some nodes have been excluded from the trusted domain.



DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
FIG. 1 provides an Illustration of a security break in a network 101 of computers 103. The type of security break is termed a “transient backdoor”. The network 101 also includes a wireless local area network sever (WLAN) 105 arranged to provide wireless links 106 between some of the computers 103. The network also comprises a printer 107 and two connections 109 to another network 111 such as the internet.
The illustration of the security breach will be provided by considering the effect on the network 101 of the additional connection of a laptop computer 113. The laptop 113 is capable of making wireless connections 115 to the internet 111 and to the WLAN 105 and also an infra-red connection to the printer 107. Before the laptop 113 initiates the connection 115 to the internet 111 using a modem and a mobile phone, all machines 103, 105, 107 are safely located behind firewall software (indicated by the plain flame symbol in FIG. 1) running on the only two computers 103 directly linked to the Internet 111 by connections 109.
However, while the laptop 113 stays connected to the network 101, some parts of the system become vulnerable to attack. For example, the laptop 113 is legitimately connected to the WLAN 105 but may be connected to the Internet 111 via its modem and connection 115 causing a security breach i.e. opening a transient backdoor. The laptop 113 may also connect to the printer 107 via the infrared link 117. In order to counter this security breach firewall software would also need to be running on at least one of the devices showing the question mark flame symbol in FIG. 1 i.e. the WLAN 105, and the printer 107 as well as the laptop 113 (either on the laptop 113 or on both the printer 107 and the WLAN 105)
Considering the situation illustrated in FIG. 1, this could mean that high profile firewall software should be running on every single element of the network 101 that is capable of making a, connection to a device such as the laptop 113. In other words, every device in the network 101 needs to be running firewall software. In a large network this will in practice be an impractical solution, especially if the network is a dynamic, peer-to-peer and/or ad hoc network. In such networks there are unlikely to be convenient entry points where it is possible to concentrate defensive efforts such as firewall software. Every mobile element in the network will become a possible insecure access point to the network. The problem is that in such architectures, several gaps can appear and disappear simultaneously, which can rapidly result in firewalls running where they are least needed, deep inside the core of the network, and not at the interface with the outside world where hostile entities are.
FIGS. 2a and 2b provide an illustration of topological modifications to a network 201 that has a dynamic architecture. The modifications cause firewall software to run on the wrong devices 203 in the network 201. The impending device movements are indicated by black arrows leading from the devices 203 in FIG. 2a. All friendly devices are indicated by the letter “F” and are protected from hostile entities that are indicated by the letter “H”. Firewall software is running on devices 205, 207 and 209, which are those effectively in contact with the threat. The situation after the device movements indicated in the network 201a are shown in FIG. 2b. After the change, the firewall defences located on devices 205 and 209 have become useless and the network 201 is now open to attacks targeting devices 215 or 217. An appropriate response is this situation would be to switch off firewalls on devices 205 and 209 and transfer them to devices 215 and 217.
In embodiments of the invention, devices or nodes in the network are each provided with firewall or other suitable security software. The strength of the firewall running on each node is variable and measured by a real number (x) comprised between 0 (no security) and 1 (maximum security level). Each node periodically sends beacon signals to their immediate neighbours, those beacon signals consisting of a recognisable ID (which may be encrypted to avoid impersonation) and the current security level (firewall strength) of the sending node. The format of the beacon signal is described in further detail below.
Each node, on reception of its neighbours' beacon signals is arranged to calculate a new alert level for itself on the basis of its current status and the information contained in the N (or less) received beacon signal. This calculation is carried out using the following differential equation:




  
    
      
        
          
            d
            x
          
          
            d
            t
          
        
        =
        
          
            
              
                x
                ⁡
                
                  (
                  
                    1
                    -
                    x
                  
                  )
                
              
              N
            
            ⁢
            
              (
              
                N
                -
                n
                +
                
                  α
                  ⁢
                  
                    
                      ∑
                      
                        i
                        =
                        1
                      
                      n
                    
                    ⁢
                    
                      x
                      i
                    
                  
                
              
              )
            
          
          -
          
            β
            ⁢
            
              
            
            ⁢
            x
          
        
      
    
    
      
        [
        1
        ]
      
    
  




In equation [1], n≦N is the number of 1st neighbours for which this node has received a properly formatted beacon signal, i.e. is a beacon signal including a recognisable tag identifying the sender as a trusted member of the community. The sum then represents the security level of the n trusted neighbours, (1−x) standing for saturation effects. The right-hand βx term (with 0<β<1) introduces a form of decay whereby firewall strength spontaneously lowers down if not compensated. It should be noted that since there is no independent term, x=0 is always a trivial solution of equation [1], meaning that if security is non-existent, it requires an external intervention to raise the security level above zero.
Examining limit cases provides useful information about system behaviour generated by equation [1]. For example, considering the situation where none of the N 1st neighbours are trusted nodes (the device is isolated in the middle of potentially hostile peers), n is equal to zero and the sum is null. Equation [1] then becomes:




  
    
      
        
          
            d
            x
          
          
            d
            t
          
        
        =
        
          
            
              x
              ⁡
              
                (
                
                  1
                  -
                  x
                
                )
              
            
            -
            
              β
              ⁢
              
                
              
              ⁢
              x
            
          
          =
          
            
              x
              ⁡
              
                (
                
                  1
                  -
                  β
                
                )
              
            
            -
            
              x
              2
            
          
        
      
    
    
      
        [
        
          2
          ⁢
          a
        
        ]
      
    
  




and the (stable) positive solution is:

x=1−β  [2b]

In other words, provided that x>0 when a node is first set up (residual security), the alert level of any isolated node will progressively rise until it reached 1 (full security), at least if β<<1 which will typically be the case (spontaneous extinction of the firewall should be kept relatively slow).
Another interesting case is found for a network comprising only “friendly” nodes. In this case n=N and x should be identical throughout the system (xi=x). In this situation equation [1] becomes:




  
    
      
        
          
            d
            x
          
          
            d
            t
          
        
        =
        
          
            
              
                
                  x
                  ⁡
                  
                    (
                    
                      1
                      -
                      x
                    
                    )
                  
                
                ⁢
                α
                ⁢
                
                  
                
                ⁢
                N
                ⁢
                
                  
                
                ⁢
                x
              
              N
            
            -
            
              β
              ⁢
              
                
              
              ⁢
              x
            
          
          =
          
            
              α
              ⁢
              
                
              
              ⁢
              
                
                  x
                  2
                
                ⁡
                
                  (
                  
                    1
                    -
                    x
                  
                  )
                
              
            
            -
            
              β
              ⁢
              
                
              
              ⁢
              x
            
          
        
      
    
    
      
        [
        
          3
          ⁢
          a
        
        ]
      
    
  




Eliminating the trivial solution x=0, expression [3a] becomes a simple equation of the second degree:




  
    
      
        
          
            d
            x
          
          
            d
            t
          
        
        =
        
          
            
              -
              α
            
            ⁢
            
              
            
            ⁢
            
              x
              2
            
          
          +
          
            α
            ⁢
            
              
            
            ⁢
            x
          
          -
          β
        
      
    
    
      
        [
        
          3
          ⁢
          b
        
        ]
      
    
  




admitting a stable and an unstable solution given by:





  
    
      
        x
        =
        
          
            α
            ±
            
              
                
                  α
                  2
                
                -
                
                  4
                  ⁢
                  αβ
                
              
            
          
          
            2
            ⁢
            α
          
        
      
    
    
      
        [
        
          3
          ⁢
          c
        
        ]
      
    
  




Those solutions only exist if α>4β, in which case the lower one acts as a threshold above which spontaneous decay cannot compensate for the combined self and cross-excitation among the nodes and the entire population goes to full security level (stable solution). Since in this scenario all devices are assumed to be trustworthy, this is obviously a pathological situation that should be prevented by careful selection of the parameter values (α and β) and of the initial firewall strength (x).
FIG. 3 is a graph showing equations 3a and 3b to illustrate the variation of the excitation level (dx) as a function of firewall strength (x) for chosen values of α and β. From FIG. 3 it can be seen that the solution x≅0.2 is the unstable threshold while x≅0.8 is the maximum attainable security level for the values of parameters α and β.
The parameters values α and β can be selected so that α>4β—out of the range where the analytical solutions given by expression [3c] are real and comprised between 0 and 1. This arrangement prevents the pathological situation noted above and only the trivial solution x=0 stands. In other words, a community of mutually trusting nodes cannot “go paranoid” and regardless of the perturbation, they will eventually revert to a low security state. However, given the fact that the subsequent ability of nodes to quickly raise a firewall again is dependent on their latent security level, it is advisable to “artificially” keep this value above a chosen threshold >0. It will be assumed that this additional constraint is in place. The alpha and beta parameters should always have values between 0 and 1. In terms of the behaviour of the security level and in turn the associated security software such as a firewall, alpha governs the speed at which the alert level increases in the absence of the appropriate inhibitory signal (beacon), while beta determines how fast the node reverts to low alert when returning to a safe environment (1st neighbours are trusted and on low alert).
FIGS. 4a and 4b illustrates an example of three nodes 401, 403, 405 using the beacon signal system noted above. The nodes 401, 403, 405a are connected sequentially and as long as they are all remain friendly as indicated by the letter “F”, expression [3b] stands and there can either be one (x=0) or three solutions (x=0 plus values given by [3c] as illustrated in FIG. 4a. However, if one node 405a is compromised or is replaced by an intruder 405b as shown in FIG. 4b, then its beacon signal should either disappear or not be recognised by its neighbour(s), resulting in n=1<N=2 for the middle node 403. In other words, the security breach resulting from the replacement of the trusted node 405a by a hostile entity 405b, and its effect on the value of n as used by its first neighbour node 403 when computing its new higher security level or alert status.
With reference to the example in FIGS. 4a and 4b, if the variables x and y represent the excitation level of the top device 401 and middle device 403 respectively, then any solution should satisfy the following conditions:




  
    
      
        
          
            
              d
              x
            
            
              d
              t
            
          
          =
          
            
              
                
                  x
                  ⁡
                  
                    (
                    
                      1
                      -
                      x
                    
                    )
                  
                
                ⁢
                α
                ⁢
                
                  
                
                ⁢
                y
              
              -
              
                β
                ⁢
                
                  
                
                ⁢
                x
              
            
            =
            0
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              d
              y
            
            
              d
              t
            
          
          =
          
            
              
                
                  
                    y
                    ⁡
                    
                      (
                      
                        1
                        -
                        y
                      
                      )
                    
                  
                  2
                
                ⁢
                
                  (
                  
                    1
                    +
                    
                      α
                      ⁢
                      
                        
                      
                      ⁢
                      x
                    
                  
                  )
                
              
              -
              
                β
                ⁢
                
                  
                
                ⁢
                y
              
            
            =
            0
          
        
      
    
    
      
        [
        
          4
          ⁢
          a
        
        ]
      
    
  




Which means there is potentially a steady state obeying:





  
    
      
        
          y
          =
          
            β
            
              α
              ⁡
              
                (
                
                  1
                  -
                  x
                
                )
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          x
          =
          
            
              α
              +
              β
              -
              
                1
                ±
                
                  
                    
                      
                        (
                        
                          α
                          -
                          β
                          +
                          1
                        
                        )
                      
                      2
                    
                    -
                    
                      4
                      ⁢
                      
                        β
                        ⁡
                        
                          (
                          
                            α
                            +
                            1
                          
                          )
                        
                      
                    
                  
                
              
            
            
              2
              ⁢
              α
            
          
        
      
    
    
      
        [
        
          4
          ⁢
          b
        
        ]
      
    
  




For example shown on FIGS. 4a and 4b, if α=0.3 and β=0.1, the alert levels would stabilise for x≅0.6 and y≅0.83, demonstrating that (for those chosen parameter values) the device 403 in contact with the threat 405b spontaneously raises a stronger firewall than its better protected counterpart 401.
As noted above, each node transmits and receives beacon signal. Depending on the particular network transmission medium employed the way in which the beacon signal information is transmitted may vary. However, in the present embodiment, the beacon signals comprise an indication that the signal is a beacon signal, a unique node or device identifier and indication of the security level of the transmitting node. The beacon signal indicator is placed in the header of the signal so that the data packets containing beacon signals can be distinguished from other packets in the network. The unique node or device identifier enables both nodes receiving beacon signals and a network manager or administrator to clearly identify each node or device. This identifier may be effectively a registration number for the node within the network. The calculation and use of the security level is described in further detail below.
Preferably, the beacon signal is encrypted for security. The beacon signal may be partially or completely encrypted. Where a signal is partially encrypted, at least the node identifier and the alert level should be encrypted. The encryption should be carried out with a key that is available to all trusted nodes in the network. This key enables the nodes to encrypt their own beacon signals for transmission and to decrypt received beacon signals. If a beacon signal is received from a non-trusted node then the decryption of the signal will not yield valid information thus indicating the non-trusted status of its sender. When the network manager or administrator chooses to denote one or more nodes or devices as non-trusted then the remaining trusted nodes are issued with a new encryption key. This causes the beacon signals of the newly non-trusted nodes to be corrupted.
Similarly, to gain access to the network, a new node or device would have to go through an application and verification procedure with the administrator or manager. This process preferable sets up a relationship between the administrator and a given node to enable encrypted communications between the two. This encryption should be carried out with a key that is unique to the node. This enables new beacon signal encryption keys to be sent to nodes securely and selectively so that newly non-trusted nodes to be shut out of the trusted network.
The processing that each node carries out in order to establish its security level will now be described with reference to FIG. 5. As the node initiates its activity in the network, a timer is set to zero at step 501 and at step 503 the node collects incoming beacon signals from its neighbouring nodes. At step 505, the timer is incremented and processing moves to step 507 where a periodic check to determine whether the beacon signal of the node itself is due to be calculated and transmitted and if not, processing returns to step 503. If it is time to send a beacon signal then processing moves to step 509.
At step 509 all signals received from other nodes or devices are used to determine how many (N) are within range and at step 511, those signals that are recognised as beacon are authenticated to determine the number of trusted neighbours (n). Processing then moves to step 513 at which the node calculates a new alert level for itself using equation [1] above, the values for N and n calculated in steps 509 and 511 and the alert levels form the trusted beacon signals determined in step 511. Once the calculation is complete then at step 515 the node builds its own beacon signal, encrypts it and broadcasts the finished beacon signal. Processing then returns to step 501.
FIG. 6 is an illustration of how a loop of 32 nodes would react to the middle 8 being non-trusted as shown by the black bars. A graph representation is used to show four representations as time progresses. The graphs show alert level of the nodes on the y-axis and the relative position of the nodes in the ring (with nodes 32 also being located next to node 1). As soon as nodes 12 and 21 stop receiving the appropriate inhibitory signal from their “right” and “left” neighbours respectively, the alert level of nodes 12 and 21 starts rising from the (imposed) minimum value of 0.1 (t=1). Nine time slots later (t=10) and nine non-trusted beacon signals will have been received from (or nine trusted beacon signals will be reported missing for) each of the non-trusted nodes 13 to 20. As a result, nodes 12 and 21 are near the maximum attainable firewall strength for those parameter values (α=0.3 and β=0.1) in this one-dimensional architecture.
Later in the process (t=100), nodes 11 and 22 also increase their alert level because, although they receive inhibitory signals from both their immediate neighbours, the beacon signals from nodes 12 and 21 include the alert levels for those nodes. These are taken into account by nodes 11 and 22 when calculating their respective alert levels in accordance equation 1. In other words, the beacon signals from nodes 11 and 21 come with a security warning attached. This security warning can be regarded as a second defensive layer, and also has the highly desirable effect of lowering reaction time should node 12 or 21 become non-trusted as well. In other words the next potential targets would already be above minimum alert level if the inhibitory signal from nodes 12 and 21 became missing at a later time (indicating they may have also been compromised).
The effect of the system will now be illustrated in relation to a more complicated architecture such as a grid-like structure, with nodes arranged in a regular square lattice where each node has 4 immediate neighbours (instead of 2 as in the example described in relation to FIG. 6).
FIG. 7a is a three dimensional graph illustrating the security level of nodes in a network 701 in relation to their relative positions in the lattice. FIG. 7a shows the situation once a stable alert profile has been reached by a 16×16 domain of trusted nodes and located in the middle of a larger 32×32 network of non-trusted nodes. Spontaneously, the 256 mutually trusting nodes 701 differentiate into an enclosure 703 made of devices that are in contact with the outside world and are in charge of security (high alert level), and a group of 196 nodes inside the enclose 703 running a dormant firewall. The absence of a secondary defensive layer inside the enclosure is attributable to the fact that parameter values are the same as for the one-dimensional example (FIG. 6, α=0.3 and β=0.1) while the number of neighbours monitored by each node is doubled (4 instead of 2). This results in the secondary defensive reaction being suppressed to some extent. However, evidence of this secondary reaction can be seen in FIG. 7a by the slightly raised security level of the nodes 705 at the inner corners of the enclosure 703. This is as a result of these nodes 705 having two immediate neighbours on high security alert at the periphery of the enclosure 703.
FIG. 7b illustrates the spontaneous reorganisation of the enclosure 703 that is the reaction to some nodes being excluded from the trusted domain i.e. become non-trusted. In other words, the profile of the firewall software can change dynamically to respond to alterations of network topology. In this case, a portion of the original domain representing 25% of the nodes has been declared untrustworthy. Such situation could result, for example, from a human decision to exclude the corresponding sub-domain by distributing a new encryption key to the remaining 75%. This would result in the effective corruption of beacon signals from the old members since they are no longer recognised and so loose their inhibitory effect.
The purpose of the system described above is to compute an alert level that automatically and dynamically adapts to any change in the environment that has security implications. Typically, the opening of a security breach in a mobile architecture, such as an ad-hoc or peer-to-peer (p2p) network, can have 2 different origins:

    
    
        A device in the network moves into potentially dangerous territory where it could be exposed to attacks by malevolent entities (e.g. outside the Firewall).
        A non-trusted entity is breaking into a previously secure environment (e.g. a laptop is physically brought within range of another computer, so that a direct link can be established without passing through a protected entry point).
    
    


A node running the system described above would increase its alert level as a response to either of these changes, by detecting the presence of an information flow that is not associated with a properly formatted/encrypted beacon signal (n<N). Yet as will be understood by those skilled in the art, defining what changes in the security policy would result from this increased alert level remains the responsibility of the network administrator, and may vary substantially from one network to another.
Nevertheless, as will be understood, the node can use its alert level x to select among several security policies as defined by the network administrators. Traditionally, 4 generic security stances are defined:

    
    
        1. Nothing is permitted (the paranoid approach)
        2. Everything not explicitly permitted is prohibited (the prudent approach)
        3. Everything not explicitly prohibited is permitted (the permissive approach)
        4. Everything is permitted (the promiscuous approach)
    
    


Commonly, a network administrator will define several prudent and several permissive policies. For example in an e-mail scenario:

    
    
        Permissive 1. Everything is permitted, except executable attachments
        Permissive 2. Everything is permitted, except executable attachments and use of wireless
        Prudent 1. Everything is prohibited, except text messages over a wired medium
        Prudent 2. Everything is prohibited, except encrypted text messages over a wired medium.
    
    


The transition between these policies can be governed by the alert level of the node, which itself depends on the presence/absence of non-trusted entities, their proportion in the environment, and the parameter values (which should also be chosen by the administrator to reflect his/her security concern). For example, an alert level x<0.25 could be interpreted as Permissive 1, 0.25<x<0.5 as Permissive 2, 0.5<x<0.75 as Prudent 1 and x>0.75 as Prudent 2.
As will be understood by those skilled in the art, the system may be implemented with nodes having differing levels of trust between each other. In other words a node may be partially or completely trusted, with a partially trusted node only being allowed to carry out a subset of all the operations within the network. The partially trusted nodes will be able to maintain a connection with the network but the security system will make sure that this is at a higher security level than connections with trusted devices that will be more permissive. This may be implemented by including in each beacon signal, a trust level for the node that will have been assigned by the network administrator. This trust level may act as a set of privileges i.e. defining the node's allowed operations, or it may serve to step up the alert level of the trusted nodes that the partially trusted node makes connections with.
It should also be noted that, due to the self-amplifying nature of the system, some of these states are likely to be unstable, which could be a very desirable feature if properly used. For example, if a non-trusted device is present on the network and triggers Permissive 2, x (the alert level) could start rising on its own and eventually reach Prudent 1 unless the threat disappears. This would be equivalent to the system autonomously, spontaneously and implicitly making a distinction between a transient risk (non-trusted wireless-enabled laptop accidentally passes by), temporarily requiring a slightly higher profile, and a dedicated hacking attempt (the presence of an unidentified device is recorded for several minutes), calling for more elaborate countermeasures.
The system should be regarded as a way of never exceeding a constant level of acceptable risks in a changing environment, knowing that these risks can be relatively high (like allowing 10% of unidentified devices within communication range before moving to Permissive 2 for example). Indeed, it is always the case that efficiency and security have to be balanced against each other, and the system provides a means of maintaining such balance in the particularly demanding circumstances of an unpredictably dynamic threat.
Equation [5] below is an alternative to equation [1] described above.




  
    
      
        
          
            d
            x
          
          
            d
            y
          
        
        =
        
          
            
              
                x
                ⁡
                
                  (
                  
                    1
                    -
                    x
                  
                  )
                
              
              
                N
                γ
              
            
            ⁢
            
              
                (
                
                  N
                  -
                  n
                  +
                  
                    α
                    ⁢
                    
                      
                        ∑
                        
                          i
                          =
                          1
                        
                        n
                      
                      ⁢
                      
                        x
                        i
                      
                    
                  
                
                )
              
              γ
            
          
          -
          
            β
            ⁢
            
              
            
            ⁢
            x
          
        
      
    
    
      
        [
        5
        ]
      
    
  




If the exponent gamma in equation [5] is higher than one, it will slow down the rise in alert level, if it is lower than one (it should always be positive though), it will have the opposite effect (make it faster). This equation enables adaption to higher dimensions of connectivity in the network. For example, if a node has ten neighbours (N=10, five dimensions in a square lattice), it may be desirable to for the nodes alert level to rise more quickly even if you are still strongly inhibited i.e. receiving trusted beacon signals from most surrounding nodes. For example, two non-trusted nodes could look negligible when submerged in the beacon signals inhibiting the nodes defences (unlike when there were four neighbours). However, this doesn't necessarily mean that two compromised neighbours are less of a threat, so in order to compensate, the administrator (or some kind of adaptive algorithm) can lower gamma so that two missing beacons out of ten are taken as seriously as two missing beacons out of four.
As will be understood by those skilled in the art, the equation [1] and [5] could be further modified to respond to specific conditions, for example increasing non-linearity, by introducing constants or further exponents.
Nodes may be arranged to transmit beacon signals that omit the alert level from the signal specifically but instead modify the emission frequency of the beacon signal. In other words as the frequency of beacon signal emission is increased as the alert level rises. Other means for communicating the same data as contained in the beacon signal will be clear to those skilled in the art.
It will be understood by those skilled in the art that the apparatus that embodies the invention could be a general purpose device having software arranged to provide the an embodiment of the invention. The device could be a single device or a group of devices and the software could be a single program or a set of programs. Furthermore, any or all of the software used to implement the invention can be contained on various transmission and/or storage mediums such as a floppy disc, CD-ROM, or magnetic tape so that the program can be loaded onto one or more general purpose devices or could be downloaded over a network using a suitable transmission medium.
Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise”, “comprising” and the like are to be construed in an inclusive as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to”.

## Claims

1. A method of determining an alert level of a node in a network of other nodes that may be trusted nodes or non-trusted nodes, the method comprising:
receiving one or more beacon signals from one or more other nodes in the network, said beacon signal providing to the node an indication of the alert level of the other node and/or an indication of whether the other node is a trusted or non-trusted member of the network; and
determining an alert level for the node based on the alert level in the or each received beacon signals and/or the indication of the trusted or non-trusted nature of the other node;
wherein the beacon signal from other nodes are collected over a predetermined period and the alert level rises automatically if the proportion of the received beacon signals that are non-valid exceeds a predetermined threshold within the predetermined period.

2. A method according to claim 1 in which the alert level is increased unless beacon signals are received from a trusted other node having a low alert level.

3. A method according to claim 1 in which the alert level is increased by the reception of beacon signals from a non-trusted other node.

4. method according to claim 1 in which the alert level rises at a rate proportional to the sum of all the alert levels of the received beacon signals.

5. A method according to claim 1 in which the beacon signals are encrypted and each signal which cannot be validly decrypted is treated as being from a non-trusted other node.

6. A method according to claim 1 in which the node transmits a beacon signal comprising the determined alert level for reception by one or more other nodes in the network.

7. A method according to claim 6 in which the beacon signal also includes an identification of the node.

8. A method according to claim 1 in which the alert level is used to govern the performance of security software for the node.

9. A computer-readable storage medium containing a computer program comprising processor implementable instructions for causing one or more processors to perform the method according to claim 1 when the instructions are executed by the processor or processors.

10. Apparatus for determining an alert level of a node in a network of other nodes that may be trusted nodes or non-trusted nodes, the apparatus comprising:
at least one computer disposed in a communications network node:
said computer including a computer program storage medium from which computer program code is executed;
said computer including means for receiving one or more beacon signals from one or more other nodes in the network, said beacon signal providing to the node an indication of the alert level of the other node and/or an indication of whether the other node is a trusted or non-trusted member of the network; and
said computer including means for determining an alert level for the node based on the alert level in the or each received beacon signals and/or the indication of the trusted or non-trusted nature of the other node;
wherein the beacon signals are collected from other nodes over a predetermined period and the alert level is arranged to rise automatically in response to the proportion of the received beacon signals that are non-valid exceeding a predetermined threshold within the predetermined period.

11. Apparatus according to claim l0 further including means operable to increase the alert level unless beacon signals are received from a trusted other node having a low alert level.

12. Apparatus according to claim 10 further including means operable to increase the alert level in response to the reception of beacon signals from a non-trusted other node.

13. Apparatus according to claim 10 further including means operable to increase the alert level at a rate proportional to the sum of all the alert levels of the received beacon signals.

14. Apparatus according to claim 10 further including means operable to encrypt the beacon signals and each received beacon signal which cannot be validly decrypted is treated as being from a non-trusted other node.

15. Apparatus according to claim 10 further including means operable to transmit a beacon signal comprising the determined alert level for reception by one or more other nodes in the network.

16. Apparatus according to claim 15 further including means operable to include an identification of the node in the beacon signal.

17. Apparatus according to claim 10 further including means operable to govern the performance of security software for the node using the alert level.

18. A computer-readable storage medium containing a computer program comprising processor implementable instructions for causing one or more processors in one or more respectively associated computers to operate as the apparatus according to claim 10 when the instructions are executed by the processor or processors.