# Patent application title: ANIT-WORM-MEASURE PARAMETER DETERMINING APPARATUS, NUMBER-OF-NODES DETERMINING APPARATUS, NUMBER-OF-NODES LIMITING SYSTEM, AND COMPUTER PRODUCT

##
Inventors:
Kazumasa Omote (Kawasaki, JP)
Takeshi Shimoyama (Kawasaki, JP)

Assignees:
FUJITSU LIMITED

IPC8 Class: AG06F1214FI

USPC Class:
726 23

Class name: Information security monitoring or scanning of software or data including attack prevention intrusion detection

Publication date: 2011-06-30

Patent application number: 20110162071

## Abstract:

An anti-worm-measure parameter determining apparatus determines
parameters for controlling timing for an anti-worm-measure means to start
blocking of a communication by a worm in a network, for preventing a
spread of the worm. An infectivity calculating unit calculates
infectivity of the worm based on number of nodes connected to the
network. A number-of-infected-nodes estimating unit calculates an
expected value of number of infected nodes at a time when the worm
transmits a predetermined number of packets, based on the infectivity
calculated by the infectivity calculating unit.## Claims:

**1.**A computer-readable recording medium that stores therein a computer program for determining number of nodes connectable to a network when an anti-worm-measure means is set to start blocking of a communication by a worm at predetermined timing, for preventing a spread of the worm, wherein the computer program causes a computer to execute: calculating number of packets that can be leaked from packets transmitted from one infection source until the anti-worm-measure means completes the blocking of the communication by the worm; estimating, based on infectivity of the worm calculated based on the number of nodes connected to the network and the number of packets calculated at the calculating, an expected value of number of nodes infected by the worm until the anti-worm-measure means completes the blocking of the communication by the worm; and deriving, as an upper limit of number of nodes connectable to the network, number of nodes at a time when the expected value of the number of infected nodes estimated at the estimating becomes an finite maximum value when it is assumed that some number of packets have been transmitted by the worm.

**2.**A number-of-nodes determining apparatus that determines number of nodes connectable to a network when an anti-worm-measure means is set to start blocking of a communication by a worm at predetermined timing, for preventing a spread of the worm, the number-of-nodes limiting system comprising: a limit-value-of-leaked-packets calculating unit that calculates number of packets that can be leaked from packets transmitted from one infection source until the anti-worm-measure means completes the blocking of the communication by the worm; a number-of-infected-nodes estimating unit that estimates, based on infectivity of the worm calculated based on the number of nodes connected to the network and the number of packets calculated by the limit-number-of-leaked-packets calculating unit, an expected value of number of nodes infected by the worm until the anti-worm-measure means completes the blocking of the communication by the worm; and a limit-number-of-nodes deriving unit that derives, as an upper limit of number of nodes connectable to the network, number of nodes at a time when the expected value of the number of infected nodes estimated by the number-of-infected-nodes estimating unit becomes an finite maximum value when it is assumed that some number of packets have been transmitted by the worm.

**3.**A number-of-nodes limiting system that limits number of nodes connectable to a network when an anti-worm-measure means is set to start blocking of a communication by a worm at predetermined timing, for preventing a spread of the worm, the number-of-nodes limiting system comprising: a limit-value-of-leaked-packets calculating unit that calculates number of packets that can be leaked from packets transmitted from one infection source until the anti-worm-measure means completes the blocking of the communication by the worm; a number-of-infected-nodes estimating unit that estimates, based on infectivity of the worm calculated based on the number of nodes connected to the network and the number of packets calculated by the limit-number-of-leaked-packets calculating unit, an expected value of number of nodes infected by the worm until the anti-worm-measure means completes the blocking of the communication by the worm; a limit-number-of-nodes deriving unit that derives, as an upper limit of number of nodes connectable to the network, number of nodes at a time when the expected value of the number of infected nodes estimated by the number-of-infected-nodes estimating unit becomes an finite maximum value when it is assumed that some number of packets have been transmitted by the worm; and a network-address allocating unit that allocates a network address to a node with the upper limit of number of nodes connectable to the network derived by the limit-number-of-nodes deriving unit as a limit.

## Description:

**[0001]**This is a Divisional of application Ser. No. 11/485,807, filed Jul. 13, 2006.

**BACKGROUND OF THE INVENTION**

**[0002]**1. Field of the Invention

**[0003]**The present invention relates to a technology for preventing an unknown worm from spreading using an anti-worm-measure means.

**[0004]**2. Description of the Related Art

**[0005]**In recent years, according to the spread of the Internet, damages caused by worms, which are a kind of computer viruses, frequently occur. The worms not only commit illegal acts like destructive acts but also use security holes of an operation system and the like for wrong purposes to hack into other information processing apparatuses connected by a network and repeat autosynthesis. Therefore, the damages caused by the worms tend to rapidly spread in a wide area.

**[0006]**To prevent the expansion of the damages by the worms, it is effective to install an anti-worm-measure program and monitor packets flowing on the network. Since subspecies and new species of the worms often appear in a short period of time, the anti-worm-measure program is created to detect and block unknown worms in addition to the known worms.

**[0007]**Detection of unknown worms is performed by, for example, monitoring fluctuation in a quantity of flow of a specific kind of packets in network traffic (see, for example, Japanese Patent Application Laid-Open No. 2005-134974). However, a certain degree of period is necessary from the time when a certain sign of communication by an unknown worm is detected in certain communication until the time when it is determined that the communication is communication by the worm and the communication is blocked.

**[0008]**If this period is reduced, it is highly likely that normal communication is detected as communication by an unknown worm by mistake. When such misdetection occurs, it is likely that the normal communication is blocked to hinder business and the like. Thus, usually, parameters for determining the period from the time when a sign of communication by an unknown worm is detected until the time when the communication is blocked are set with emphasis put on prevention of the misdetection.

**[0009]**However, when the parameters are set with emphasis put on prevention of the misdetection, the period until the communication is blocked is prolonged and infection of the worm spreads during the period. Therefore, it is necessary to examine the parameters from the viewpoint of prevention of the infection of the worm.

**SUMMARY OF THE INVENTION**

**[0010]**It is an object of the present invention to at least partially solve the problems in the conventional technology.

**[0011]**A computer-readable recording medium according to one aspect of the present invention stores therein a computer program for determining parameters for controlling timing for an anti-worm-measure means to start blocking of a communication by a worm in a network, for preventing a spread of the worm. The computer program causes a computer to execute calculating infectivity of the worm based on number of nodes connected to the network; and estimating an expected value of number of infected nodes at a time when the worm transmits a predetermined number of packets, based on the infectivity calculated at the calculating.

**[0012]**An anti-worm-measure parameter determining apparatus according to another aspect of the present invention determines parameters for controlling timing for an anti-worm-measure means to start blocking of a communication by a worm in a network, for preventing a spread of the worm. The anti-worm-measure parameter determining apparatus includes an infectivity calculating unit that calculates infectivity of the worm based on number of nodes connected to the network; and a number-of-infected-nodes estimating unit that estimates an expected value of number of infected nodes at a time when the worm transmits a predetermined number of packets, based on the infectivity calculated by the infectivity calculating unit.

**[0013]**A computer-readable recording medium according to still another aspect of the present invention stores therein a computer program for determining number of nodes connectable to a network when an anti-worm-measure means is set to start blocking of a communication by a worm at predetermined timing, for preventing a spread of the worm. The computer program causes a computer to execute calculating number of packets that can be leaked from packets transmitted from one infection source until the anti-worm-measure means completes the blocking of the communication by the worm; estimating, based on infectivity of the worm calculated based on the number of nodes connected to the network and the number of packets calculated at the calculating, an expected value of number of nodes infected by the worm until the anti-worm-measure means completes the blocking of the communication by the worm; and deriving, as an upper limit of number of nodes connectable to the network, number of nodes at a time when the expected value of the number of infected nodes estimated at the estimating becomes an finite maximum value when it is assumed that some number of packets have been transmitted by the worm.

**[0014]**A number-of-nodes determining apparatus according to still another aspect of the present invention determines number of nodes connectable to a network when an anti-worm-measure means is set to start blocking of a communication by a worm at predetermined timing, for preventing a spread of the worm. The number-of-nodes limiting system includes a limit-value-of-leaked-packets calculating unit that calculates number of packets that can be leaked from packets transmitted from one infection source until the anti-worm-measure means completes the blocking of the communication by the worm; a number-of-infected-nodes estimating unit that estimates, based on infectivity of the worm calculated based on the number of nodes connected to the network and the number of packets calculated by the limit-number-of-leaked-packets calculating unit, an expected value of number of nodes infected by the worm until the anti-worm-measure means completes the blocking of the communication by the worm; and a limit-number-of-nodes deriving unit that derives, as an upper limit of number of nodes connectable to the network, number of nodes at a time when the expected value of the number of infected nodes estimated by the number-of-infected-nodes estimating unit becomes an finite maximum value when it is assumed that some number of packets have been transmitted by the worm.

**[0015]**A number-of-nodes limiting system according to still another aspect of the present invention limits number of nodes connectable to a network when an anti-worm-measure means is set to start blocking of a communication by a worm at predetermined timing, for preventing a spread of the worm. The number-of-nodes limiting system includes a limit-value-of-leaked-packets calculating unit that calculates number of packets that can be leaked from packets transmitted from one infection source until the anti-worm-measure means completes the blocking of the communication by the worm; a number-of-infected-nodes estimating unit that estimates, based on infectivity of the worm calculated based on the number of nodes connected to the network and the number of packets calculated by the limit-number-of-leaked-packets calculating unit, an expected value of number of nodes infected by the worm until the anti-worm-measure means completes the blocking of the communication by the worm; a limit-number-of-nodes deriving unit that derives, as an upper limit of number of nodes connectable to the network, number of nodes at a time when the expected value of the number of infected nodes estimated by the number-of-infected-nodes estimating unit becomes an finite maximum value when it is assumed that some number of packets have been transmitted by the worm; and a network-address allocating unit that allocates a network address to a node with the upper limit of number of nodes connectable to the network derived by the limit-number-of-nodes deriving unit as a limit.

**[0016]**The above and other objects, features, advantages and technical and industrial significance of this invention will be better understood by reading the following detailed description of presently preferred embodiments of the invention, when considered in connection with the accompanying drawings.

**BRIEF DESCRIPTION OF THE DRAWINGS**

**[0017]**FIGS. 1A and 1B are schematics for explaining infectivity of a worm;

**[0018]**FIG. 2 is a graph of an example of a relation between the number of worm packets transmitted from one infected node and the number of infected nodes;

**[0019]**FIGS. 3A and 3B are schematics for explaining a method of calculating anti-worm-measure parameters;

**[0020]**FIG. 4 is a schematic of an example of arranging an anti-worm-measure parameter determining apparatus according to a first embodiment of the present invention;

**[0021]**FIG. 5 is a block diagram of the anti-worm-measure parameter determining apparatus according to the first embodiment;

**[0022]**FIG. 6 is a table of an example of data structure of worm characteristic information;

**[0023]**FIG. 7 is a flowchart of a processing procedure of the anti-worm-measure parameter determining apparatus according to the first embodiment;

**[0024]**FIG. 8 is a block diagram of a computer that executes an anti-worm-measure parameter determining program according to the first embodiment;

**[0025]**FIG. 9 is a schematic of an example of arranging an anti-worm-measure parameter determining apparatus according to a second embodiment of the present invention;

**[0026]**FIG. 10 is a schematic for explaining infectivity of a worm;

**[0027]**FIG. 11 is a schematic of an example of a company network;

**[0028]**FIG. 12 is a flowchart of a processing procedure of the anti-worm-measure parameter determining apparatus according to the second embodiment;

**[0029]**FIG. 13 is a schematic of an example of arranging a number-of-nodes determining apparatus according to a third embodiment of the present invention;

**[0030]**FIG. 14 is a block diagram of the number-of-nodes determining apparatus according to the third embodiment;

**[0031]**FIG. 15 is a flowchart of a processing procedure of the number-of-nodes determining apparatus according to the third embodiment;

**[0032]**FIG. 16 is a flowchart of another processing procedure of the number-of-nodes determining apparatus according to the third embodiment.

**DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS**

**[0033]**Exemplary embodiments of the present invention are explained in detail below with reference to the accompanying drawings.

**[0034]**The anti-worm-measure parameters are the number of worm packets allowed to be leaked in a period from the time when anti-worm-measure means such as an anti-worm-measure program or a firewall program detects a sign of communication by an unknown worm until the time when the anti-worm-measure means determines that the communication is communication by the unknown worm and starts blocking, a time from the time when the anti-worm-measure means detects the sign of the communication of the unknown worm until the time when the anti-worm-measure means completes the blocking, and the like. The worm packet means a packet that the worm transmits for autosynthesis.

**[0035]**In the anti-worm-measure parameter determining method according to a first embodiment of the present invention, an expected value E of the number of infected nodes at the time when infection of a worm spreads with one node as an origin (meaning an information processing apparatus connected to a network) is defined as

**E**=E(p,T,w) (1)

**where p is infectivity of the worm**, T is time, and w is the number of worm packets transmitted from one infected node. It is possible to calculate the infectivity p of the worm according to the following equation.

**p**= P × ( n - 1 2 32 ) + P a × ( n a - 1 2 24 ) + P b × ( n b - 1 2 16 ) + P c × ( n c - 1 2 8 ) ( 2 - 1 ) ##EQU00001##

**[0036]**Equation (2-1) is for calculating a probability that, when the worm selects a certain infection destination for autosynthesis, infection actually spreads to the selected destination. In general, a worm selects an IP address of an infection destination with an IP address of a node infected with the worm as a reference to increase infectivity rather than selecting an infection destination at random.

**[0037]**The infectivity of the worm is specifically explained with reference to FIG. 1A. When Internet Protocol (IP) addresses of an infected node 10 is A.B.C.D, in general, the worm selects a node belonging to a network 24 of A.B.C.* (* is an integer of 0 to 255) as an infection destination at a fixed probability, selects a node belonging to a network 23 of A.B.*.* as an infection destination at a fixed probability, selects a node belonging to a network 22 of A.*.*.* as an infection destination at a fixed probability, and selects a node belonging to a network 21 of *.*.*.* as an infection destination at a fixed probability.

**[0038]**The network 24 of A.B.C.* is often a management unit of a sub-network in a company and the like. Therefore, when one of nodes belonging to the network 24 of A.B.C.* is selected to transmit a packet, although it is highly likely that a packet reaches the node selected, an area in which the worm spreads is small. On the other hand, the network 21 of *.*.*.* means an entire IP network. When one of nodes belonging to this network to transmit a packet, although an area in which the worm spreads is large, it is less likely that the packet reaches the node selected. The network 23 of A.B.*.* and the network 22 of A.*.*.* have an intermediate characteristic of the characteristics of these networks.

**[0039]**Thus, the worm often selects nodes belonging to the network 24 of A.B.C.*, the network 23 of A.B.*.*, the network 22 of A.*.*.*, and the network 21 of *.*.*.* as infection destinations at fixed probabilities, respectively, to transmits the worm packet.

**[0040]**In Equation (2-1), the probability that the worm selects a node belonging to the network 24 of A.B.C.* as an infection destination is set as P

_{c}, the probability that the worm selects a node belonging to the network 23 of A.B.*.* as an infection destination is set as P

_{b}, the probability that the worm selects a node belonging to the network 22 of A.*.*.* as an infection destination is set as P

_{a}, and the probability that the worm selects a node belonging to the network 21 of *.*.*.* as an infection destination is set as P.

**[0041]**The number of nodes belonging to the network 24 of A.B.C.* is set as n

_{c}, the number of nodes belonging to the network 23 of A.B.*.* is set as n

_{b}, the number of nodes belonging to the network 22 of A*.*.* is set as n

_{a}, and the number of nodes belonging to the network 21 of *.*.*.* is set as n.

**[0042]**It is possible to calculate infectivity p of a worm having strongest infectivity according to the following equation.

**p**= 1.0 × ( n - 1 2 32 ) + 1.0 × ( n a - 1 2 24 ) + 1.0 × ( n b - 1 2 16 ) + 1.0 × ( n c - 1 2 8 ) ( 3 - 1 ) ##EQU00002##

**[0043]**Equation (3-1) is for calculating the infectivity p at the time when it is assumed that the worm simultaneously selects one node belonging to the network 24 of A.B.C.*, one node belonging to the network 23 of A.B.*.*, one node belonging to the network 22 of A.*.*.*, and one node belonging to the network 21 of *.*.*.* as infection destinations, respectively, and transmits four worm packets thereto.

**[0044]**As the numbers of nodes n, n

_{a}, n

_{b}, and n

_{c}of the respective networks in Equation (2-1), instead of setting the number of nodes actually connected to the network, the number of nodes excluding nodes for which measures for preventing infection of the worm such as installation of a patch for anti-worm measures and closure of ports used by the worm for infection are taken may be set. Alternatively, the nodes for which the measures are taken may be excluded by multiplying the inputted number of nodes by a ratio of nodes for which the measures are not taken. This is because it is considered that the nodes for which the measures are taken are unlikely to be infected with the worm even if the worm packets reaches.

**[0045]**In the above explanation, it is assumed that the worm selects an infection destination for each of networks with an IP address delimited in octet units. However, a method of delimiting a network is not limited to this. An equation for calculating the infectivity p at the time when a method of delimiting a network is generalized as

**p**= x = 1 K P x ( n x - 1 N x ) ( 4 - 1 ) ##EQU00003##

**[0046]**Equation (4-1) is for calculating the infectivity p of a worm infecting the infected node 10 included in a network K at the time when a network is delimited to a network 1 to the network K as shown in FIG. 1B such that a network X includes a network (X+1).

**[0047]**In Equation (4-1), n

_{x}indicates the number of nodes connected to the network X, N

_{x}indicates a maximum value of the number of nodes connectable to the network X, and P

_{x}indicates a probability that the worm selects a node connected to the network X as an infection destination. In the following explanation, for simplification of explanation, it is assumed that the worm selects an infection destination for each of networks with an IP address delimited in octet units.

**[0048]**It is possible to more specifically express E(p,T,w) in Equation 1 using various formula models such as a discrete mathematics model, a continuous mathematics model, and a probability model. An example of E(p,T,w) expressed again using the discrete mathematics model is shown as

**E**( p , T , w ) = i = 1 T E i ( p , T , w ) + 1 ( 5 ) ##EQU00004##

**[0049]**Equation (5) expresses an expected value of the number of infected nodes considering that infection of the worm spreads according to n-th order infection (n is a positive integer) from one infection source. The worm has a characteristic that an infection source of the worm is not limited to one infection node but a newly infected node also becomes an infection source to spread infection to other nodes. The characteristic is taken into account in this equation. In this equation, i means i-th order infection and a unit of the time T is a period required for the worm to infect from a certain node to the other nodes.

**[0050]**An expected value E

_{1}(p,T,w) of the number of infected nodes taking only primary infection into account is expressed by the following equation.

**E**1 ( p , T , w ) = { i = 1 T i T C i p i ( 1 - p ) T - i ( T < w ) i = 1 w i w C i p i ( 1 - p ) w - i ( T ≧ w ) ( 6 ) ##EQU00005##

**[0051]**As it is evident from Equation (6), when T is larger than w, the number of infected nodes is derived depending on w and without depending on T. Thus, when T is set sufficiently large, it is possible to express Equation (5) as

**E**1 ( p , T , w ) = i = 1 T E 1 ( p , w , w ) i + 1 ( 7 ) ##EQU00006##

**[0052]**A graph representing a relation between the number of worm packets w of worm packets transmitted from one infected node and the expected value E of the number of infected nodes at the time when the infectivity p is set to 0.02534 and the time T is set sufficiently large is shown in FIG. 2. The expected value E of the number of infected nodes indicated in the equation is an expected value calculated by using Equation 7.

**[0053]**As shown in the figure, when w=19, the expected value E of the number of infected nodes is 2. This means that, if blocking of communication by the worm is completed at a stage when nineteen worm packets are transmitted from an infected node, it is possible to limit the number of nodes infected with the worm with the infected node as an origin to one.

**[0054]**When w=39, the expected value E of the number of infected nodes is 85. When w is equal to or larger than 40, the expected value E of the number of infected nodes diverges. This means that 39 is a limit number of leaked packets, that is, the number of worm packets allowed to be leaked until the anti-worm-measure means completes blocking of communication by an unknown worm and, if the blocking of the communication by the worm is completed at a stage when thirty-nine worm packets are transmitted from an infected node, it is possible to prevent the worm from spreading with the infected node as an origin.

**[0055]**In this way, it is possible to derive the limit number of leaked packets by setting the time T sufficiently large, calculating the expected value E of the number of infected nodes while sequentially incrementing w from 1 using Equation 7 or the like, and acquiring a value of w immediately before the expected value E of the number of infected nodes changes to ∞. In an actual operation, to surely prevent the spread of the worm, it is preferable to use a value obtained by subtracting a predetermined number of packets, which is calculated by taking into a standard deviation or the like, from the limit number of leaked packets acquired in this way as a limit number of leaked packets.

**[0056]**If anti-worm-measure means are installed in all the nodes connected to the networks and the respective anti-worm-measure means set anti-worm-measure parameters to allow leakage of worm packets with a limit set at the limit number of leaked packets in the respective networks, it is possible to prevent spread of the worm to the entire networks.

**[0057]**When the limit number of leaked packets is derived as described above, it is possible to easily calculate anti-worm-measure parameters. FIG. 3A is a diagram of an example in which an anti-worm-measure parameter is calculated as the number of packets allowed to be leaked until start f blocking.

**[0058]**As shown in the figure, even if the anti-worm-measure means determines that specific communication is communication by a worm and starts blocking of the communication, there is a slight time lag until the blocking is completed. It is possible to calculate the number of worm packets transmitted from one infection source and leaked in this period by multiplying length of this period (hereinafter, "blocking time") by the number of worm packets that the worm transmits in a fixed time (hereinafter, "spreading speed").

**[0059]**It is possible to calculate the number of packets allowed to be leaked until start of the blocking by subtracting this number of worm packets from the limit number of leaked packets. This value is the number of packets, which are the same as a packet considered to be transmitted in communication by an unknown worm, to be allowed to be leaked from an identical transmission source from the time when the anti-worm-measure means detects the packet considered to be transmitted in communication by the unknown worm until the time when the anti-worm-measure means determines that the communication is communication by the unknown worm to start blocking of the communication.

**[0060]**It is also possible to calculate anti-worm-measure parameters with time as a reference. FIG. 3B is a diagram of an example in which the anti-worm-measure parameter is calculated as a blocking limit time, that is, a time from the time when the anti-worm-measure means detects a packet considered to be transmitted in communication by an unknown worm until the time when the anti-worm-measure means completes blocking. As shown in the figure, it is possible to calculate the blocking limit time by dividing the limit number of leaked packets by spreading speed.

**[0061]**FIG. 4 is a schematic of an example of arranging an anti-worm-measure parameter determining apparatus 100 according to a first embodiment of the present invention.

**[0062]**The anti-worm-measure parameter determining apparatus 100 shown in the figure determines anti-worm-measure parameters using the anti-worm-measure parameter determining method explained already. The anti-worm-measure parameter determining apparatus 100 is connected to a network 31. Nodes 201 to 202 and a router 300 for connecting the network 31 to a network 32 are also connected to the network 31.

**[0063]**Anti-worm-measure means 210 such as an anti-worm-measure program or a firewall program, which is means for preventing infection of worms from other nodes to the own nodes and infection of worms from the own nodes to the other nodes, is installed in the nodes 201 to 202. According to the first embodiment, it is assumed that the anti-worm-measure means 210 are installed in all the nodes connected to the networks in the same manner. The anti-worm-measure parameter determining apparatus 100 is used for determining parameters for the anti-worm-measure means 210 to detect and block the worms.

**[0064]**The anti-worm-measure parameter determining apparatus 100 does not always have to be connected to the network 31. The anti-worm-measure parameter determining apparatus 100 may determine anti-worm-measure parameters off line. It is also possible to install the anti-worm-measure parameter determining apparatus 100 or a program having the same function as the anti-worm-measure parameter determining apparatus 100 in the nodes 201 to 202 and the router 300.

**[0065]**FIG. 5 is a block diagram of the anti-worm-measure parameter determining apparatus 100 according to the first embodiment. As shown in the figure, the anti-worm-measure parameter determining apparatus 100 is an apparatus with the number of nodes as an input and anti-worm-measure parameters as an output. The anti-worm-measure parameter determining apparatus 100 includes a control unit 110 and a storing unit 120.

**[0066]**The control unit 110 controls the anti-worm-measure parameter determining apparatus 100. The control unit 110 includes an infectivity calculating unit 111, a limit-number-of-leaked-packets deriving unit 112, a number-of-infected-nodes estimating unit 113, and a measure-parameter calculating unit 114.

**[0067]**The infectivity calculating unit 111 calculates the infectivity p using Equation (2-1). The infectivity calculating unit 111 acquires infection-destination-selection probabilities P, P

_{a}, P

_{b}, and P

_{c}necessary for calculation of the infectivity p from worm characteristic information 121 of the storing unit 120 and applies the number of nodes inputted as numbers of nodes n, n

_{a}, n

_{b}, and n

_{c}.

**[0068]**FIG. 6 is a table of an example of data structure of the worm characteristic information. As shown in the figure, an identification name, spreading speed, an infection-destination-selection algorithm, and the infection-destination-selection probabilities P, P

_{a}, P

_{b}, and P

_{c}are registered in advance for each of types of worms. The identification name is an identification name indicating a type of a worm. The spreading speed represents the number of worm packets that the worm transmits in a fixed time.

**[0069]**The infection-destination-selection algorithm takes a value of "probabilistic" or "random". When the infection-destination-selection algorithm is "probabilistic", this means that the worm is a worm that selects, as described already, nodes belonging to the network 24 of A.B.C.*, the network 23 of A.B.*.*, the network 22 of A.*.*.*, and the network 21 of *.*.*.* as infection destinations at fixed probabilities, respectively.

**[0070]**When the infection-destination-selection algorithm is "random", this means that the worm is a worm that selects an infection destination regardless of an IP address of a node infected with the worm. When the infection-destination-selection algorithm is "random", only P is set as the infection-destination-selection probability.

**[0071]**The infection-destination-selection probabilities P, P

_{a}, P

_{b}, and P

_{c}represent probabilities that the worm selects a node belonging to the network 21 of *.*.*.*, a node belonging to the network 22 of A.*.*.*, a node belonging to the network 23 of A.B.*.*, and a node belonging to the network 24 of A.B.C.* as infection destinations, respectively.

**[0072]**The infectivity calculating unit 111 estimates an infection-destination-selection probability of an unknown worm from information stored in the worm characteristic information 121 to calculate infectivity of the unknown worm. This estimation is performed by, for example, calculating a maximum value, a minimum value, or an average for each of P, P

_{a}, P

_{b}, and P

_{c}. It is also possible to assume that all P, P

_{a}, P

_{b}, and P

_{c}are 1.0.

**[0073]**The numbers of nodes n, na, nb, and nc that the infectivity calculating unit 11 uses to calculate infectivity of an unknown worm, that is, the numbers of nodes belonging to the network 21 of *.*.*.*, the network 22 of A.*.*.*, the network 23 of A.B.*.*, and the network 24 of A.B.C.* may be inputted by a not-shown inputting unit such as a keyboard. The numbers of nodes may be inputted through the network or may be stored in the storing unit 120 in advance.

**[0074]**Alternatively, the infectivity calculating unit 111 or a dedicated processing unit may inquire a system management apparatus or the like, which manages a constitution of the network, about the number of nodes and acquire the number of nodes. The infectivity calculating unit 11 or the dedicated processing unit itself may count the number of nodes connected to the network using PING or the like

**[0075]**The limit-number-of-leaked-packets deriving unit 112 causes the number-of-infected-nodes estimating unit 113 to calculate the expected value E of the number of infected nodes and derives a limit number of leaked packets. The number-of-infected-nodes estimating unit 113 applies a value designated by the limit-number-of-leaked packets deriving unit 112 to Equation 7 to calculate the expected value E of the number of infected nodes.

**[0076]**Specifically, the limit-number-of-leaked-packets deriving unit 112 designates two values and causes the number-of-infected-nodes estimating unit 113 to calculate the expected value E of the number of infected nodes. One of the values is the infectivity p calculated by the infectivity calculating unit 111 and another is the number of worm packets w of worm packets transmitted from one infected node.

**[0077]**The limit-number-of-leaked-packets deriving unit 112 causes the number-of-infected-nodes estimating unit 113 to calculate the expected value E of the number of infected nodes while sequentially incrementing w by one and sets a value of w immediately before the expected value E changes to ∞ as the limit number of leaked packets.

**[0078]**The measure-parameter calculating unit 114 calculates necessary anti-worm-measure parameters based on the limit number of leaked packets derived by the limit-number-of-leaked-packets deriving unit 112 and outputs the anti-worm-measure parameters. Specifically, the measure-parameter calculating unit 114 calculates the number of packets allowed to be leaked until the start of the blocking shown in FIG. 3A, the blocking limit time shown in FIG. 3B, and the like.

**[0079]**If spreading speed of a worm is necessary to calculate anti-worm-measure parameters, the measure-parameter calculating unit 114 acquires information on the spreading speed from the worm characteristic information 121 of the storing unit 120. If a blocking time of the anti-worm-measure means is necessary, the measure-parameter calculating unit 114 acquires information on the blocking time from anti-worm-measure-means performance information 122 of the storing unit 120.

**[0080]**The storing unit 120 stores various kinds of information. The storing unit 120 stores the worm characteristic information 121 and the anti-worm-measure-means performance information 122. The worm characteristic information 121 is, as explained already, information in which characteristics of various worms are registered in advance. The anti-worm-measure-means performance information 122 is information in which information on performance of various anti-worm-measure means such as a blocking time is registered in advance.

**[0081]**FIG. 7 is a flowchart of a processing procedure of the anti-worm-measure parameter determining apparatus 100 according to the first embodiment.

**[0082]**As shown in the figure, the anti-worm-measure parameter determining apparatus 100 receives an input of the number of nodes of a network for which anti-worm-measure parameters are determined (step S101). The infectivity calculating unit 111 calculates the infectivity p based on the number of nodes inputted (step S102).

**[0083]**Subsequently, the limit-number-of-leaked packets deriving unit 112 initializes the number of worm packets w of worm packets transmitted from one infected node to 1 (step S103). The limit-number-of-leaked packets deriving unit 112 designates p and w and causes the number-of-infected-nodes estimating unit 113 to calculate the expected value E of the number of infected nodes at the time when the time T is sufficiently large (step S104). If the expected value E of the number of infected nodes is not ∞ ("No" at step S105), the limit-number-of-leaked-packets deriving unit 112 adds 1 to w (step S106), returns to step S104, and causes the number-of-infected-nodes estimating unit 113 to calculate the expected value E of the number of infected nodes.

**[0084]**If the expected value E of the number of infected nodes is ∞ ("Yes" at step S105), the limit-number-of-leaked-packets deriving unit 112 sets a value obtained by subtracting 1 from w as the limit number of leaked packets (step S107). The measure-parameter calculating unit 114 acquires spreading speed of a worm and a blocking time of the anti-worm-measure means from the storing unit 120 (step S108) and calculates anti-worm-measure parameters based on these values and the limit number of leaked packets calculated by the limit-number-of-leaked-packets deriving unit 112 (step S109).

**[0085]**It is also possible to realize the functions of the anti-worm-measure parameter determining apparatus 100 by executing an anti-worm-measure parameter determining program prepared in advance with a computer.

**[0086]**FIG. 8 is a block diagram of a computer 1000 that executes an anti-worm-measure parameter determining program 1071 according to the first embodiment. The computer 1000 is constituted by connecting, via a bus 1080, a central processing unit (CPU) 1010 that executes various kinds of arithmetic processing, an input device 1020 that receives an input of data from a user, a monitor 1030 that displays various kinds of information, a medium reading device 1040 that reads a program and the like from a recording medium having various programs and the like recorded therein, a network interface device 1050 that performs exchange of data between the computer 1000 and other computers, a random access memory (RAM) 1060 that temporarily stores various kinds of information, and a hard disk device 1070.

**[0087]**The anti-worm-measure parameter determining program 1071 having the same functions as the control unit 110 shown in FIG. 5 and data for determining anti-worm-measure parameters 1072 corresponding to the various data stored in the storing unit 120 shown in FIG. 5 are stored in the hard disk device 1070. It is also possible to appropriately disperse and store the data for determining anti-worm-measure parameters 1072 in the other computers connected via the network.

**[0088]**The CPU 1010 reads out the anti-worm-measure parameter determining program 1071 from the hard disk device 1070 and expands the program in the RAM 1060. Consequently, the anti-worm-measure parameter determining program 1071 functions as an anti-worm-measure parameter determining process 1061. The anti-worm-measure parameter determining process 1061 appropriately expands the information and the like read out from the data for determining anti-worm-measure parameters 1072 in an area allocated to the process on the RAM 1060. The anti-worm-measure parameter determining process 1061 executes various kinds of data processing based on the data and the like expanded.

**[0089]**The anti-worm-measure parameter determining program 1071 does not always have to be stored in the hard disk device 1070. The computer 1000 may read out and execute this program stored in a storing medium such as a CD-ROM. It is also possible that this program is stored in other computers (or servers) and the like connected to the computer 1000 via a public line, the Internet, a local area network (LAN), a wide area network (WAN), and the like and the computer 1000 reads out and executes the program from the other computers (or servers) and the like.

**[0090]**As described above, according to the first embodiment, it is calculated, when a worm spreads, how many nodes are connected to the network and how many packets the worm transmits. The anti-worm-measure means sets the number of packets allowed to be leaked. Thus, it is possible to set parameters for anti-worm measures to prevent the worm from being spread.

**[0091]**According to a second embodiment of the present invention, an example in which anti-worm-measure parameters are calculated on the premise that the anti-worm-measure means are installed in the respective nodes is explained. However, the anti-worm-measure means may be installed in a transmission apparatus such as a router. The anti-worm-measure parameter determining apparatus 100 according to the first embodiment can calculate anti-worm-measure parameters for the anti-worm-measure means installed in the transmission apparatus such as a router.

**[0092]**Thus, according to the second embodiment, the anti-worm-measure parameter determining method and operations of the anti-worm-measure parameter determining apparatus 100 are explained with reference to an example in which anti-worm measures are installed in a router.

**[0093]**FIG. 9 is a schematic of an example of arranging the anti-worm-measure parameter determining apparatus 100 according to the second embodiment.

**[0094]**As shown in the figure, the anti-worm-measure parameter determining apparatus 100 is connected to the network 31. A router for connecting the nodes 201 to 202 and the network 31 to the network 32 and the like is also connected to the network 31.

**[0095]**An anti-worm-measure means 310 such as an anti-worm-measure program or a firewall program is installed in the nodes 201 to 202 to prevent infection of worms between networks. According to the second embodiment, it is assumed that the anti-worm-measure means 310 are installed in all the routers connected to the networks. The anti-worm-measure parameter determining apparatus 100 is used for determining parameters for the anti-worm-measure means 310 to detect and block the worms.

**[0096]**The anti-worm-measure parameter determining apparatus 100 does not always have to be connected to the network 31. The anti-worm-measure parameter determining apparatus 100 may determine anti-worm-measure parameters off line. It is also possible to install the anti-worm-measure parameter determining apparatus 100 or a program having the same function as the anti-worm-measure parameter determining apparatus 100 in the nodes 201 to 202 and the router 300.

**[0097]**The infectivity p of a worm is explained. As shown in FIG. 9, when the anti-worm-measure means 310 is installed in the router 300, the anti-worm-measure means 310 functions to prevent infection of the worm between the networks. For example, when the worm is infected from the node 201 to the node 202, the anti-worm-measure means 310 does not function to prevent infection of the worm from spreading in a network subordinate to the router 300.

**[0098]**Therefore, when anti-worm-measure parameters for the anti-worm-measure means 310 are determined, it is necessary to exclude nodes belonging to the network subordinate to the router 300 and calculate the infectivity p.

**[0099]**An equation for calculating the infectivity p at the time when a worm selects an infection destination for each of networks with an IP address delimited in octet units at a fixed probability and the network 31 subordinate to the router 300 is included in the network 31 of A.B.C.* as shown in FIG. 10.

**p**= P × ( n - m 2 32 ) + P a × ( n a - m 2 24 ) + P b × ( n b - m 2 16 ) + P c × ( n c - m 2 8 ) ( 2 - 2 ) ##EQU00007##

**[0100]**Equation (2-2) calculates a probability that, when a worm infecting any one of nodes belonging to the network 31 subordinate to the router 300 selects a certain infection destination for autosynthesis, infection spreads to other networks beyond the router 300.

**[0101]**In Equation (2-2), P, P

_{a}, P

_{b}, and P

_{c}are a probability that the worm selects a node belonging to the network 21 of *.*.*.* as an infection destination, a probability that the worm selects a node belonging to the network 22 of A.*.*.* as an infection destination, a probability that the worm selects a node belonging to the network 23 of A.B.*.* as an infection destination, and a probability that the worm selects a node belonging to the network 24 of A.B.C.* as an infection destination, respectively.

**[0102]**In Equation (2-2), n, n

_{a}, n

_{b}, and n

_{c}are the number of nodes belonging to the network 21 of *.*.*.*, the number of nodes belonging to the network 22 of A.*.*.*, the number of nodes belonging to the network 23 of A.B.*.*, and the number of nodes belonging to the network 24 of A.B.C.*. Further, m is the number of nodes belonging to the network 31 subordinate to the router 300.

**[0103]**It is possible to calculate the infectivity p of a worm having strongest infectivity according to the following equation.

**p**= 1.0 × ( n - m 2 32 ) + 1.0 × ( n a - m 2 24 ) + 1.0 × ( n b - m 2 16 ) + 1.0 × ( n c - m 2 8 ) ( 3 - 2 ) ##EQU00008##

**[0104]**Equation (3-2) is for calculating the infectivity p at the time when it is assumed that the worm simultaneously selects one node belonging to the network 24 of A.B.C.*, one node belonging to the network 23 of A.B.*.*, one node belonging to the network 22 of A.*.*.*, and one node belonging to the network 21 of *.*.*.* as infection destinations, respectively, and transmits four worm packets thereto.

**[0105]**As the numbers of nodes n, n

_{a}, n

_{b}, and n

_{c}of the respective networks in Equation (2-2), instead of setting the number of nodes actually connected to the network, the number of nodes excluding nodes for which measures for preventing infection of the worm such as installation of a patch for anti-worm measures and closure of ports used by the worm for infection are taken may be set. Alternatively, the nodes for which the measures are taken may be excluded by multiplying the inputted number of nodes by a ratio of nodes for which the measures are not taken.

**[0106]**In the above explanation, it is assumed that the worm selects an infection destination for each of networks with an IP address delimited in octet units. However, a method of delimiting a network is not limited to this. An equation for calculating the infectivity p at the time when a method of delimiting a network is generalized as

**p**= x = 1 K P x ( n x - m N x ) ( 4 - 2 ) ##EQU00009##

**[0107]**Equation (4-2) is for calculating the infectivity p of a worm at the time when a network is delimited to a network 1 to the network K such that a network X includes a network (X+1). It is assumed that the network K includes a router and a network subordinate to the router.

**[0108]**In the equation, n

_{x}indicates the number of nodes connected to the network X, N

_{x}indicates a maximum value of the number of nodes connectable to the network X, P

_{x}indicates a probability that the worm selects a node connected to the network X as an infection destination, and m indicates the number of nodes connected to the network subordinate to the router.

**[0109]**A limit number of leaked packets w is explained. For example, it is assumed that a structure of an entire network in a company is as shown in FIG. 11. In the example shown in the figure, five routers 301 to 305 are connected in mesh.

**[0110]**The network 31 is present subordinately under the router 301, the networks 31 and 32 are present under the router 302, a network 34 is present under the router 303, networks 35 and 36 are present under the router 304, and a network 37 is present under the router 305.

**[0111]**In the network 31, it is assumed that the anti-worm-measure means are installed in the routers 301 to 305, respectively, and the anti-worm-measure means are not installed in separate nodes belonging to the networks 31 to 37. In this case, when a worm infects from a node belonging to the network 31 to one of nodes belonging to the network 37, infection of the worm spreads to all the nodes belonging to the network 37.

**[0112]**In an environment in which the anti-worm-measure means is installed only in the routers connecting the networks in this way, at least one node belonging to a network subordinate to a certain router is infected with a worm, the worm spreads to networks subordinate to the router.

**[0113]**Therefore, to prevent the worm from spreading to the entire network with the node belonging to the network subordinate to the certain router as an origin, it is necessary to set a value of w immediately before the expected value E of the number of infected nodes exceeds the number of networks excluding the network as a limit number of leaked packets.

**[0114]**Except that the method of calculating the infectivity p and the method of calculating the limit number of leaked packets w are different, even when the anti-worm measures are installed in the router, the anti-worm-measure parameter determining apparatus 100 can determine anti-worm-measure parameters according to the same method as the method described in the first embodiment.

**[0115]**FIG. 12 is a flowchart of a processing procedure of the anti-worm-measure parameter determining apparatus 100 according to the second embodiment

**[0116]**As shown in the figure, the anti-worm-measure parameter determining apparatus 100 receives an input of the number of nodes of a network for which anti-worm-measure parameters are determined (S201). The infectivity calculating unit 111 calculates the infectivity p based on the number of nodes inputted (step S202). In the calculation of the infectivity p, as indicated by Equation (2-2), the number of nodes subordinate to the routers is subtracted from the number of nodes connected to the respective networks to be infected.

**[0117]**Subsequently, the limit-number-of-leaked-packets deriving unit 112 initializes the number of worm packets w of worm packets transmitted from one infected node to 1 (step S203). The limit-number-of-leaked-packets deriving unit 112 designates p and w and causes the number-of-infected-nodes estimating unit 113 to calculate the expected value E of the number of infected nodes at the time when the time T is sufficiently large (step S204). If the expected value E of the number of infected nodes does not exceed a predetermined upper limit value ("No" at step S205), the limit-number-of-leaked-packets deriving unit 112 adds 1 to w (step S206), returns to step S204, and causes the number-of-infected-nodes estimating unit 113 to calculate the expected value E of the number of infected nodes.

**[0118]**Specifically, the predetermined upper limit value is a value obtained by subtracting 1 corresponding to a network of an infection source from a total number of networks subordinate to the respective routers. It is possible to register the predetermined upper limit value in the anti-worm-measure parameter determining apparatus 100 in advance or input the predetermined upper limit value together with the number of nodes at step S201.

**[0119]**If the expected value E of the number of infected nodes exceeds the predetermined upper limit value ("Yes" at step S205), the limit-number-of-leaked-packets deriving unit 112 sets a value obtained by subtracting 1 from w as the limit number of leaked packets (step S207). The measure-parameter calculating unit 114 acquires spreading speed of a worm and a blocking time of the anti-worm-measure means from the storing unit 120 (step S208) and calculates anti-worm-measure parameters based on these values and the limit number of leaked packets calculated by the limit-number-of-leaked-packets deriving unit 112 (step S209).

**[0120]**As described above, the method of calculating the infectivity p and the method of calculating the limit number of leaked packets w are changed. Consequently, the anti-worm-measure parameter determining apparatus 100 can also calculate anti-worm-measure parameters for the anti-worm-measure means installed in transmission apparatuses such as the routers.

**[0121]**According to the first and the second embodiments, the examples in which anti-worm-measure parameters are calculated with the number of nodes as an input are explained. Conversely, it is also possible to calculate the number of nodes with anti-worm-measure parameters as an input. Thus, according to a third embodiment of the present invention, an example in which the number of nodes is calculated with anti-worm-measure parameters as an input.

**[0122]**FIG. 13 is a schematic of an example of arranging a number-of-nodes determining apparatus 400 according to the third embodiment.

**[0123]**The number-of-nodes determining apparatus 400 determines the number of nodes, with which it is possible to prevent spread of a worm, with anti-worm-measure parameters as an input by applying the anti-worm-measure parameters. The number-of-nodes determining apparatus 400 is connected to the network 31. Nodes 501 to 502, a router 600 for connecting the network 31 to the network 32, and a dynamic host configuration protocol (DHCP) server 700 that allocates IP addresses to the nodes 501 to 502 are also connected to the network 31.

**[0124]**An anti-worm-measure means 510 such as an anti-worm-measure program or a firewall program, which is means for preventing infection of worms from other nodes to the own nodes and infection of worms from the own nodes to the other nodes, is installed in the nodes 501 to 502. According to the third embodiment, it is assumed that the anti-worm-measure means 510 are installed in all the nodes connected to the networks in the same manner.

**[0125]**In the anti-worm-measure means 510, a blocking limit time s is designated as an anti-worm-measure parameter. This blocking limit time s is a minimum time that is set taking into account performance of the anti-worm-measure means 510 (e.g., a blocking time, that is, time from start of blocking of a worm until completion of the blocking, etc.). It is assumed that the blocking time cannot be set shorter than the blocking limit time s.

**[0126]**To prevent spread of a worm in an environment in which it is impossible to change anti-worm-measure parameters of the anti-worm-measure means 510 in this way, it is necessary to control the number of nodes connected to the network. Thus, the number-of-nodes determining apparatus 400 calculates an upper limit value of the number of nodes, with which it is possible to prevent spread of an unknown worm when a blocking limit time is s, and instructs the DHCP server 700 not to allocate IP addresses exceeding that number.

**[0127]**The number-of-nodes determining apparatus 400 does not always have to be connected to the network 31. The number-of-nodes determining apparatus 400 may calculate the number of nodes off line. It is also possible to install the number-of-nodes determining apparatus 400 or a program having the same function as the number-of-nodes determining apparatus 400 in the router 600 or the DHCP server 700. It is also possible to use means other than the DHCP server 700 to prevent nodes exceeding an upper limit value calculated by the number-of-nodes determining apparatus 400 from being connected to the network.

**[0128]**FIG. 14 is a block diagram of the number-of-nodes determining apparatus 400 according to the third embodiment. As shown in the figure, the number-of-nodes determining apparatus 400 is an apparatus with anti-worm-measure parameters such as a blocking limit time and the number of nodes other than n

_{c}as an input and with the number of nodes n

_{c}as an output. The number-of-nodes determining apparatus 400 includes a control unit 410 and a storing unit 420.

**[0129]**The control unit 410 controls the number-of-nodes determining apparatus 400. The control unit 410 includes a limit-number-of-leaked-packets calculating unit 411, a limit-number-of-nodes deriving unit 412, the infectivity calculating unit 111, and the number-of-infected-nodes estimating unit 113. The infectivity calculating unit 111 and the number-of-infected-nodes estimating unit 113 are the same processing units as the infectivity calculating unit 111 and the number-of-infected-nodes estimating unit 113 shown in FIG. 5.

**[0130]**The limit-number-of-leaked-packets calculating unit 411 calculates the limit number of leaked packets based on anti-worm-measure parameters inputted. Specifically, the limit-number-of-leaked packets calculating unit 411 calculates the limit number of leaked packets w based on the number of packets allowed to be leaked until the start of blocking shown in FIG. 3A, the blocking limit time shown in FIG. 3B, and the like.

**[0131]**If spreading speed of a worm is necessary for calculating the limit number of leaked packets w, the limit-number-of-leaked-packets calculating unit 411 acquires information on the spreading speed from the worm characteristic information 121 of the storing unit 420. If a blocking time of anti-worm-measure means is necessary, the limit-number-of-leaked-packets calculating unit 411 acquires information on the blocking time from the anti-worm-measure-means performance information 122 of the storing unit 420.

**[0132]**The limit-number-of-nodes deriving unit 412 derives an upper limit number of n

_{c}for preventing a worm from spreading based on the limit number of leaked packets calculated by the limit-number-of-leaked-packets calculating unit 411 and the number of nodes other than n

_{c}inputted.

**[0133]**The limit-number-of-nodes deriving unit 412 designates provisional n

_{c}together with the number of other nodes while sequentially incrementing the provisional n

_{c}by one from 1 and causes the infectivity calculating unit 111 to calculate the infectivity p. The limit-number-of-nodes deriving unit 412 designates the infectivity p calculated by the limit-number-of-nodes deriving unit 412 and the limit number of leaked packets w calculated by the limit-number-of-leaked-packets calculating unit 411 and causes the number-of-infected-nodes estimating unit 133 to calculate an expected value of the number of infected nodes. The limit-number-of-nodes deriving unit 412 sets a value of the provisional n

_{c}immediately before the expected value E changes to ∞ as an upper limit number of n

_{c}for preventing the worm from spreading.

**[0134]**The storing unit 420 stores various kinds of information. The storing unit 420 stores the worm characteristic information 121 and the anti-worm-measure-means performance information 122. The worm characteristic information 121 and the anti-worm-measure-means performance information 122 are the same information as the worm characteristic information 121 and the anti-worm-measure-means-performance information 122 shown in FIG. 5.

**[0135]**The anti-worm-measure parameters and the number of nodes other than n

_{c}, which the limit-number-of-leaked-packets calculating unit 411 and the like use for processing, may be inputted by an inputting unit such as a not-shown keyboard, may be inputted through the network, or may be stored in the storing unit 420 in advance.

**[0136]**According to the third embodiment, the example in which the anti-worm-measure parameters and the number of nodes other than n

_{c}are set as an input and the upper limit number of n

_{c}for preventing a worm from spreading is set as an output is explained. However, it is also possible to include n

_{c}in an input and output an upper limit value of n

_{a}or n

_{b}for preventing a worm from spreading.

**[0137]**FIG. 15 is a flowchart of a processing procedure of the number-of-nodes determining apparatus 400 according to the third embodiment.

**[0138]**As shown in the figure, the number-of-nodes determining apparatus 400 receives an input of the number of nodes other than n

_{c}(step S301). Moreover, the number-of-nodes determining apparatus 400 receives an input of anti-worm-measure parameters (step S302). The limit-number-of-leaked-packets calculating unit 411 acquires spreading speed of a worm and a blocking time of the anti-worm-measure means from the storing unit 120 (step S303) and calculates the limit number of leaked packets w based on these values and the values inputted (step S304).

**[0139]**Subsequently, the limit-number-of-nodes deriving unit 412 initializes provisional n

_{c}to 1 (step S305). The limit-number-of-nodes deriving unit 412 designates the number of nodes inputted and the provisional n

_{c}and causes the infectivity calculating unit 111 to calculate the infectivity p (step S306). Moreover, the limit-number-of-nodes deriving unit 412 designates the infectivity p and the limit number of leaked packets w calculated and causes the number-of-infected-nodes estimating unit 113 to calculate the expected value E of the number of infected nodes at the time when the time T is sufficiently large (step S307).

**[0140]**If the expected value E of the number of infected nodes is not ∞ ("No" at step S308), the limit-number-of-nodes deriving unit 412 adds 1 to the provisional n

_{c}(step S309), returns to step S306, and executes the calculation of the infectivity p and the expected value E of the number of infected nodes again. If the expected value E of the number of infected nodes is ∞ ("Yes" at step S308), the limit-number-of-nodes deriving unit 412 sets a value obtained by subtracting 1 from the provisional n

_{c}as an upper limit number of n

_{c}(step S310).

**[0141]**It is also possible to set the infectivity p as a provisional value and calculate an upper limit number of n

_{c}instead of setting n

_{c}as a provisional value and calculating an upper limit number of n

_{c}. A processing procedure in this case is shown in FIG. 16.

**[0142]**The number-of-nodes determining apparatus 400 receives an input of the number of nodes other than n

_{c}(step S401). Moreover, the number-of-nodes determining apparatus 400 receives an input of anti-worm-measure parameters (step S402). The limit-number-of-leaked-packets calculating unit 411 acquires spreading speed of a worm and a blocking time of the anti-worm-measure means from the storing unit 120 (step S403) and calculates the limit number of leaked packets w based on these values and the values inputted (step S404).

**[0143]**Subsequently, the limit-number-of-nodes deriving unit 412 initializes provisional infectivity p to 0.001 (step S405). The limit-number-of-nodes deriving unit 412 designates the provisional infectivity p and the limit number of leaked packets w and causes the number-of-infected-nodes estimating unit 113 to calculate the expected value E of the number of infected nodes at the time when the time T is sufficiently large (step S406).

**[0144]**If the expected value E of the number of infected nodes is not ∞ ("No" at step S407), the limit-number-of-nodes deriving unit 412 adds 0.001 to the provisional infectivity p (step S408), returns to step S406, and executes the calculation of the number of infected nodes and the expected value E of the number of infected nodes again.

**[0145]**If the expected value E of the number of infected nodes is ∞ ("Yes" at step S407), the limit-number-of-nodes deriving unit 412 designates the provisional infectivity p and the number of nodes other than n

_{c}and causes the infectivity calculating unit 111 to calculate n

_{c}backward (step S409) and sets a value obtained by subtracting 1 from nc calculated as an upper limit number of n

_{c}(step S410)

**[0146]**In the processing procedure described above, the provisional infectivity p is increased by 0.001 at a time. However, an interval of the increase is not limited to this.

**[0147]**It is also possible to realize the functions of the number-of-nodes determining apparatus 400 by executing a number-of-nodes determining program prepared in advance with a computer. A structure of the computer that executes number-of-nodes determination is the same as the computer 1000 shown in FIG. 8.

**[0148]**As described above, according to the third embodiment, an upper limit of the number of nodes, with which a worm does not spread, is calculated based on the setting and the like of the anti-worm-measure apparatus. Thus, even when it is impossible to prevent spread of a worm by changing the setting of the anti-worm-measure apparatus, it is possible to prevent spread of the worm by limiting the number of nodes.

**[0149]**According to an embodiment of the present invention, infectivity of the worm is calculated based on the number of nodes connected by the network and an expected value indicating how many nodes are infected with the worm when the worm transmits how many packets is calculated based on this infectivity. Thus, there is an effect that it is possible to set anti-worm-measure parameters taking into account how many nodes the infection is spread to when how many packets are leaked until blocking of communication by the worm is completed.

**[0150]**Furthermore, according to an embodiment of the present invention, infectivity of the worm is calculated taking into account the logic for selecting an infection destination of the worm. Thus, there is an effect that it is possible to properly calculate the infectivity of the worm.

**[0151]**Moreover, according to an embodiment of the present invention, the number of packets transmitted by the worm that causes the spread of the worm is calculated and anti-worm-measure parameters are set to complete blocking before the worm transmits the number of packets. Thus, there is an effect that it is possible to set the anti-worm-measure parameters taking into account a limit of prevention of the spread of the worm.

**[0152]**Furthermore, according to an embodiment of the present invention, the anti-worm-measure means sets the number of packets allowed to be leaked taking into account the limit of prevention of the spread of the worm. Thus, there is an effect that it is possible to set anti-worm-measure parameters to prevent the worm from being spread.

**[0153]**Moreover, according to an embodiment of the present invention, the anti-worm-measure means sets time until blocking of communication by the worm taking into account the limit of prevention of the spread of the worm. Thus, there is an effect that it is possible to set anti-worm-measure parameters to prevent the worm from being spread.

**[0154]**Furthermore, according to an embodiment of the present invention, the anti-worm-measure means sets the number of packets allowed to be leaked considering that the infection of the worm does not spread exceeding the predetermined upper limit number. Thus, there is an effect that, even when it is impossible to prevent the spread if the infection of the worm spreads exceeding the predetermined upper limit number, it is possible to set anti-worm-measure parameters to prevent the worm from being spread.

**[0155]**Moreover, according to an embodiment of the present invention, the upper limit of the number of nodes to which the worm does not spread is calculated based on the setting and the like of the anti-worm-measure apparatus. Thus, there is an effect that, even when it is impossible to prevent the spread of the worm by changing the setting of the anti-worm-measure apparatus, it is possible to prevent the spread of the worm by limiting the number of nodes.

**[0156]**Although the invention has been described with respect to a specific embodiment for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.

User Contributions:

Comment about this patent or add new information about this topic: