Você está na página 1de 12

SECURITY AND COMMUNICATION NETWORKS

Security Comm. Networks 2015; 8:715–726


Published online 10 June 2014 in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/sec.1019

RESEARCH ARTICLE

Defeat scanning worms in cyber warfare


Fu-Hau Hsu1 , Li-Han Chen1 * and Chia-Jun Lin2
1
Department of Computer Science and Information Engineering, National Central University, Jhongli City, Taiwan
2
The Master of Science in Information Security Technology and Management, Carnegie Mellon University, Pittsburgh, Pennsylvania

ABSTRACT
In this paper, we propose an automatic defense system, called Serum System, against scanning worms. The homeland
security department of a country can use Serum System to protect its Internet infrastructure. When an infecting host is
infecting a Serum System host, called Serum System Server (SSS), the SSS automatically replaces the shellcode inside the
infecting string with its code (called serum code) and then uses the modified string (called serum string) to counterattack
the infecting host and takes control of it. The serum code transforms the infecting host into a Serum System Client (SSC)
that has the same functions as the SSS and is immune to the same worm. Therefore, infecting hosts attacking SSSs or
SSCs will transform themselves into SSCs. We implemented Serum System on Linux and also built a mathematical model
for Serum System to analyze its effectiveness and bandwidth savings. Our analyses show that with only a small number
of SSSs and through chain counterattacks, Serum System can automatically and rapidly defeat related infected hosts.
Compared with white worms whose spread cannot be controlled, Serum System only spreads on infected hosts. The amount
of accumulative traffic saved by Serum System at time tick 450 reached 90%. Copyright © 2014 John Wiley & Sons, Ltd.

KEYWORDS
computer crime; network security; system security; worm
*Correspondence
Li-Han Chen, Department of Computer Science and Information Engineering, National Central University, No.300, Jhongda Rd.,
Jhongli City, Taoyuan County 32001, Taiwan.
E-mail: lhchen@adl.csie.ncu.edu.tw

1. INTRODUCTION Windows Vista and Windows 7, have been released for


a while, more than 47% of users are still using less
secure operating systems [2], such as Windows XP. Hence,
In April 2007 and July 2008, large scale distributed denial we believe scanning worms will become a critical cyber
of service attacks against Estonia and Georgia marked the weapon in the future. Table I lists some features of sev-
beginning of using cyber warfare to paralyze the Internet eral notorious scanning worms. Although some scanning
infrastructure of a country. In both cyber attacks, attackers worms prefer to attack hosts in the same subnet (e.g., local-
used compromised hosts to launch the attacks. In March ized scan), they still continuously attack external hosts
2010, Stuxnet worm not only has infected more than chosen randomly until being removed.
tens of thousands industrial computers but also has con- Even though the development of various promising anti-
ducted sabotage on the facilities controlled by these BOA solutions [7–9], many worm research and promising
computers [1]. Downadup worm infected more than 10 anti-worm solutions have been proposed [10–13], most of
million hosts in early 2010. These events show the poten- them require widespread deployment of these solutions
tially destructive power of cyber warfare and its major and a short response time. However, it is challenging to
goals, that is, creating network traffic congestion and com- satisfy both requirements, especially for household hosts.
promising hosts. Furthermore, patching programs is usually slower than
Although many people believed that scanning worms the spread of worms; hence, when a new vulnerability is
are no longer a security threat to the Internet, the major discovered, the related worm already may have scattered
breeding grounds of scanning worms—old, unpatched, or among vulnerable hosts before a patch program is released.
less secure operating systems and application programs— As a result, the Internet is still under the threat of scanning
still exist. Statistics of a long-term survey show that worms.
even though several operating systems with enhanced In this paper, we propose an automatic curing system,
anti-buffer overflow attack (anti-BOA) solutions, such as called Serum System, against scanning worms that contin-

Copyright © 2014 John Wiley & Sons, Ltd. 715


Defeat scanning worms in cyber warfare F.-H. Hsu, L.-H. Chen and C.-J. Lin

Table I. Features Of some notorious scanning worms [3–6].

Name Congestion Continuous attack First scanning strategy Second scanning strategy

Code red Yes Yes Uniform randomized N/A


Code red II Yes Yes Localized Randomized
Slammer Yes Yes Uniform randomized N/A
Blaster Yes Yes Sequential Randomized
Downadup Yes Yes Localized Randomized

uously attack hosts. Serum System provides the homeland 2. RELATED WORK
security department of a country a reliable tool to pro-
tect her Internet infrastructure against scanning worms. There has been much work on the automatic generation of
Serum System can handle unprotected hosts and requires worm signatures. Polygraph [11] generates a worm signa-
only small number of initial deployment of Serum System ture based on the invariant parts of various network traffic
Servers (SSSs). Serum System precisely defeats a scan- associated with the same polymorphic worm; thus, it pro-
ning worm and can solve the traffic congestion caused by vides more robust protection to hosts against polymorphic
worms. And Serum System does not need to apply patches worms. However, this work suffers from non-trivial false
to vulnerable programs. Scanning worms spread through positives and false negatives. Cavallaro et al. proposed an
BOA strings, called infecting strings. For a scanning worm, automated content-based signature generation system for
the same infecting string is used to infect hosts with the polymorphic worms based on invariant byte analysis of
same BO vulnerability. Hence, when an infecting host (i.e., network traffic content [14]. ShieldGen [15] automatically
a worm host) attacks an uninfected host, the attacking generates signatures for a wide range of attacks if a zero-
string is the same string that the other host uses to infect the day attack instance is provided. Even though ShieldGen
infecting host. In other words, if we use the same infecting can effectively reduce the number of false positives, it has
string to attack the infecting host via the same vulnera- non-trivial false negatives.
bility, we are likely able to compromise that host again. There has also been much work discussing, classifying,
When an infecting host is infecting the SSS, the SSS auto- or modeling the behavior of various worms, and illus-
matically replaces the shellcode inside the infecting string trating the connection between worms and cyber warfare
with its code (called serum code) and then uses the modi- [16]. Ma et al. discussed a new stealthier-type worm—
fied string (called serum string) to cure the infecting host. a self-stopping worm that could coordinate its members
In this paper, the word “cure” means taking control of the to halt infection activity after the vulnerable population
infecting host and transforming the infecting host into a is subverted [17]. According to the Kermack–Mckendrick
Serum System Client (SSC). An SSC has the same func- model, Zou et al. took internet service provider (ISP) coun-
tion as an SSS and is immune to the same worm. Any termeasures and traffic congestion into account to build
infecting host attacking an SSS or SSC will make itself an a two-factor worm model to more accurately describe
SSC instead. worms behavior [18]. Chen et al. presented a mathemati-
We implemented Serum System on a Linux host, cal model, Analytical Active Worm Propagation (AAWP),
and also built mathematical models for the system to to characterize the propagation of worms that uses ran-
analyze its effectiveness and the resulting bandwidth dom scanning [19]. Rajab et al. modified the afore-
savings. Our analyses show that with only a small mentioned models and added a non-uniform scanning
number of SSSs, Serum System can automatically and element [20].
rapidly cure the related infected hosts around the world Except for automatic worm signature generation, con-
through chain counterattacks. And the amount of accu- tainment and auto-patch are two major approaches devel-
mulative traffic saved by Serum System at time tick oped to defend against worms. Zou et al. quarantines a host
450 reaches 90%. Compared with white worms and whenever its behavior looks suspicious by blocking traffic
auto-patch mechanisms, our system is reversible and on its anomaly port [21]. After a short time, the system will
more precise. unlock related ports. The main purpose of this design is
The rest of this paper is organized as follows. Related not to control worm spread but to decrease worm propaga-
work is surveyed in Section 2. Section 3 introduces the tion speed so that users can have more time to implement a
architecture and discusses some critical design issues of solution. Vigilante [12], an end-to-end approach to contain
Serum System. Section 4 evaluates the effectiveness and worms automatically, utilizes dynamic dataflow analysis
performance overhead of Serum System. This section also to capture various worms. After creating a worm signa-
builds some mathematical models to analyze the effec- ture, an end host broadcasts the signature to its peers.
tiveness and bandwidth saving of the proposed system. Each peer verifies the signature before using it. Through
Section 5 discusses our design issues and the future work. a series of experiments, Moore et al. surveyed how well
Section 6 concludes the paper. any approach could contain a worm epidemic on the

716 Security Comm. Networks 2015; 8:715–726 © 2014 John Wiley & Sons, Ltd.
DOI: 10.1002/sec
F.-H. Hsu, L.-H. Chen and C.-J. Lin Defeat scanning worms in cyber warfare

Table II. The difference between white worm, anti-worm, and Serum System.

Traffic Curing Patch Disinfection code Need faster


Name amount speed Precision Worm dispatch than worm?

Serum system Low Fast High Partially Distributed No


White worm High Fast Low No No Yes
Anti-worm
Passive High Fast High No Centralized No
Active High Fast Low Uninfected Centralized Yes
IDS-based High Fast Medium No Centralized Yes
IDS, intrusion detection system.

Internet [22]. They concluded that the reaction time is a SSC), and the major components of the constituent hosts
critical factor in a successful containment solution. How- as well as their functionality.
ever, current techniques and administration systems may
not be able to contain worm propagation successfully. In
addition, they also found that content filtering is more 3.1. System components
effective than address blocking. ARMORY [23] provided
a kernel solution to automatically detect BO defects from Serum System consists of two host types, SSS and SSC,
application source code. containing the same components: sanitizer, redirector,
PASAN [10] instrumented a network applications downloader, and uploader. However, the functionality of
source code with extra instructions to detect control hijack- each component may vary with the host type. The follow-
ing and to record run-time information from which it ing is a brief description of each component.
can derive an attack signature and patch for the detected
attack. As for research about white worms [24,25], there
were analyses and discussions about them but no practical 3.1.1. Sanitizer.
implementation has been completed. Besides, it is difficult A sanitizer is the core of an SSS and an SSC. It sani-
to control the spread of a white worm. Castaneda et al. tizes infecting string and converts them into serum strings.
proposed a method similar to Serum System to disinfect It takes input strings from a redirector, filters out, and drops
infected hosts by transforming a malicious worm into an input strings, which match the characteristics of an infect-
anti-worm and have implemented some proofs of concept ing string. To find infecting strings, a sanitizer uses the
[26]. They also analyzed the effectiveness of active coun- signatures provided by a collaborative BOA signature gen-
terattack mechanism. In Serum System, disinfection code erator, such as Aurora [9], STRIDE [27], and Sigfree [28],
is dispatched to an infecting host from an SSS or SSC which could locate shellcode inside an infecting strings.
when the infecting host is infecting the SSS or SSC. How- Currently, we use Aurora to implement sanitizers. Aurora
ever, anti-worms need to download disinfection code from uses the invariant properties, such as no-operation (NOP)
specific hosts; hence, these hosts may encounter traffic sled and deviation address, to detect BOAs, so it can also
congestion and launch denial of service/distributed denial detect the variants using the same vulnerability. Then, the
of service attacks against these hosts. Moreover, because sanitizer replaces the shellcode with serum code to gener-
Serum System stores various serum strings in each SSS ate a serum string. If the detected infecting string is from
and SSC, an SSS or SSC may utilize other unpatched vul- an external host, the sanitizer uses the serum string to cure
nerabilities to cure an infecting worm. Active anti-worms the external host. If the detected string is from an internal
can only spread on hosts that are not infected by a patch process, the sanitizer removes the process and the related
worm. Furthermore, while Serum System only counter- program. Besides, the sanitizer drops the string directly
attacks infected hosts, white worms, active anti-worms, to prevent an infecting host from continuously infecting
and intrusion detection system (IDS)-based anti-worms other hosts.
may counterattack hosts that are not infected by a worm.
Hence, Serum System is more accurate than previous solu-
tions. Table II compares Serum System with white worms 3.1.2. Redirector.
and anti-worms. Through adjusting the firewall (such as iptables on a
Linux platform) of the host that executes a piece of serum
code, a redirector redirects input strings that will be sent to
a vulnerable process to a sanitizer for pre-processing. The
3. ARCHITECTURE vulnerable process is the target of the infecting string that
triggers the counterattack procedure. Moreover, the vulner-
In this section, we discuss the architecture of Serum able process could be a local process or a network service
System, the constituent hosts of the System (SSS and in a remote host.

Security Comm. Networks 2015; 8:715–726 © 2014 John Wiley & Sons, Ltd. 717
DOI: 10.1002/sec
Defeat scanning worms in cyber warfare F.-H. Hsu, L.-H. Chen and C.-J. Lin

3.1.3. Downloader and uploader. 3.3. Dataflow of Serum System Client and
A downloader constitutes the major part of serum code. Serum System Server
When being executed in an infecting host, a downloader
will connect to the uploader in the SSS or SSC who After the sanitizer, redirector, downloader, and uploader
sends the serum code to download a sanitizer, redirector, are downloaded to the infecting host, the serum code exe-
uploader, and the source code of the downloader to the cutes the sanitizer and the redirector first. The redirector
infecting host. adjusts the firewall of the infecting host and redirects input
strings toward a vulnerable process to the sanitizer. Then,
the serum code executes the uploader as a network service,
3.2. Workflow of Serum System Server and
in order to prepare for transmitting Serum System to other
Serum System Client
downloaders. Finally, the infecting host is reformed into
a SSC.
In this subsection, we describe how each component of an
The sanitizer of an SSS uses the signatures provided by
SSS or SSC works together to cure an infecting host and
a collaborative BOA signature generator. And the sanitizer
transform it into an SSC.
of SSC uses the signatures forwarded by an SSS or an SSC
Figure 1 illustrates the workflow of an SSS. When
to find infecting strings. If the origination of a detected
an IDS with an automatic signature generator detects an
infecting string is an external host, the sanitizer replaces
infecting string (1), it sends the string and properties of
the shellcode inside the string with serum code to create a
the string, such as the signature, location and length of
serum string and then uses the string to cure the external
the NOP sled, target port, and location of the address
host. If the origination of a detected string is an internal
that will redirect the attacked process execution flow to
process, the sanitizer drops the string directly to stop an
the shellcode, to the sanitizer (2). Based on the infor-
infecting host continuously infecting other hosts. Other-
mation provided by the IDS, the sanitizer replaces the
wise, the sanitizer forwards the sanitized strings to their
shellcode inside the infecting string with serum code to
original destinations. Figure 2 gives an overview of the
create a serum string and then sends the serum string to
aforementioned steps. After these steps, the infecting host
the infecting host (3). The serum string is sent to the vul-
is transformed into an SSC, which not only is immune from
nerable process to take control of the infecting host. The
the same infecting string but also can cure other infect-
vulnerable process is the previous victim of the infect-
ing hosts that were infected by the same infecting string.
ing string. Via the same vulnerability, the serum code
An SSC uses the same approach described in the previous
is executed (4). The major part of the serum code is a
subsection to cure other infecting hosts.
downloader that will connect back to the uploader of the
SSS (5) to download the whole program set of Serum
System (6). 3.4. Merging sanitizers
After downloading the program set, the downloader
will follow the steps described in Section 3.3 to invoke When curing an infecting host compromised by a worm,
related programs inside the set to transform the infect- Serum System will install a sanitizer in the infecting host.
ing host into an SSC. The workflow of an SSC is similar Hence, in principle, each worm has a dedicated sanitizer in
to that of an SSS, but its information about an infect- an infecting host to handle it. If a host is attacked by several
ing string is provided by an SSS or an SSC, instead of worms, several sanitizers against different worms would
an IDS. be installed on the same host. To save system resources,

Serum System Server Infecting Host SSC vulnerable


process
(3) (4)
vulnerable
sanitizer Process
(2)
IDS (1) sanitizer to a remote
worm (drop strings matching service
infecting strings and
redirector normal forward sanitized
sanitizer process strings)
redirector
downloader outgoing traffic
downloader to a remote vulnerable service
(6) uploader
uploader (5) worm or incoming strings
BO botnet redirector
downloader

Figure 1. Workflow of a Serum System Server. Figure 2. Dataflow of an Serum System Client.

718 Security Comm. Networks 2015; 8:715–726 © 2014 John Wiley & Sons, Ltd.
DOI: 10.1002/sec
F.-H. Hsu, L.-H. Chen and C.-J. Lin Defeat scanning worms in cyber warfare

sanitizers protecting the same port of a vulnerable program


are merged into one, even though originally these sanitiz-
ers are used to handle distinct worms. Thus, when a new
sanitizer is installed in an infecting host to handle traffic to
a port of a vulnerable program, it will look up the firewall
rules first to see whether the traffic to the port has been
redirected to an old sanitizer. If such a redirection exists,
the new sanitizer requests the old sanitizer to send its worm
signatures to it. After transmitting all its signatures, the Figure 3. Experimental setup. Host A is a Serum System
old sanitizer closes all its ports to allow the new sani- Server. Initially, hosts B, C, D, E, and F are infecting hosts.
tizer to take them over and then terminates itself. After the
aforementioned steps, the new sanitizer becomes the only
sanitizer used to handle traffic to the related port. Commu- Serum System can handle unprotected hosts and cure all
nication between the two sanitizers proceeds through the infecting hosts.
aforementioned port in a special string format. In the experiment, if the attack order changes, it seems
that not all hosts can be cured. Such as host D infects
host B and then host B attacks host A. Host D will not
be cured in this situation. However, research shows that
4. EVALUATION an infecting host, such as host D, will continue launching
attacks against other hosts. As the number of cured hosts
In this section, we design various experiments to evaluate increased, soon or later, the infecting host will attack an
the effectiveness and efficiency of Serum System. SSS, SSC, or a cured host. Therefore, it still will be cured
by our Serum System.
4.1. Effectiveness
4.1.2. Mathematical model and analysis.
In this subsection, we use six real hosts to perform a curing In this subsection, we analyze the model of worm
effectiveness evaluation and also simulate worm spreading spreading and evaluate the effectiveness of our system. We
in a huge network by using a mathematical model. developed our model based on the AAWP model [19] and
assume that vulnerable hosts are uniformly distributed in
the whole IPv4 space to simplify the task of modeling and
4.1.1. Curing effectiveness.
analysis. Table III gives the definition of the notations used
This experiment shows (i) that an SSS can cure an
in the model. Because an infected host will try to infect
infecting host and transform it into a curing host and (ii)
others, it is also an infecting host. Hence, in the notation
the curing behavior can be propagated to other infecting
table, an infected host is also an infecting host and vice
hosts. In our experiments, the vulnerable program we used
versa. Because a worm host (i.e., an infecting host) usu-
is peercast program with BO vulnerability (CVE-2006-
ally randomly decides its targets, the S hosts scanned by an
1148). Six real hosts, A, B, C, D, E, and F are used in the
infecting host per time tick may be repeated.
experiments, as shown in Figure 3. Initially, host A is an
According to AAWP, the probability that a vulnera-
SSS, and hosts B, C, D, E, and F are infecting hosts with
ble host is attacked at least once at time tick i can be
the unpatched peercast program. First, we used hosts
represented as
B and C to attack host A; then, we used hosts D and E to
attack host B. Host F launched attack to host C. Experi-  sni
mental results show Serum System can automatically cure Pi = 1 – 1 – 1/232 (1)
infecting hosts B and C and transform them into SSC,
which in turn cured infecting hosts D, E, and F and also Because a vulnerable host may become an infecting host
transformed them into SSC. This experiment shows that which in turn may become a curing host, the number of

Table III. Notation table.

Symbol Quantity

Pi Probability that a vulnerable host is attacked at least once at time tick i.


ni Number of infected hosts at time tick i.
Ii Number of curing hosts (i.e., SSSs or SSCs) at time tick i. (I0 is equal to the number of SSSs.)
Ri Overall probability that infecting hosts are cured successfully at time tick i.
S Number of hosts scanned by an infecting host per time tick.
Vi Number of vulnerable hosts at time tick i.
˛ Probability that an infecting host is cured successfully by a curing host at time tick i.
SSS, Serum System Serve; SSC, Serum System Client.

Security Comm. Networks 2015; 8:715–726 © 2014 John Wiley & Sons, Ltd. 719
DOI: 10.1002/sec
Defeat scanning worms in cyber warfare F.-H. Hsu, L.-H. Chen and C.-J. Lin

vulnerable hosts at time tick i is the number of vulnerable ing pattern, the possibility that the infecting host will be
host at time tick i – 1 minus the number of increased curing cured is 1 – (1 – ˛)x . Hence, Ri and Ii are described using
hosts in the previous time tick: Equations (4) and (5), respectively:

Vi = Vi–1 – Ii + Ii–1 (2) s


X  
  I 232 –Ii–1 32
Ri = 1 – (1 – ˛)x Cxi–1 Cs–x Cs2 (4)
On the basis of Equations (1) and (2), we can use x=1
Equation (3) to denote the number of infecting hosts at time
tick i: Ii = Ii–1 + ni–1 Ri–1
( s
 h  sni–1 i X 
ni = ni–1 + Vi–1 – ni–1 1 – 1 – 1/232 = Ii–1 + ni–1 1 – (1 – ˛)x
(3)
x=1
– Ii + Ii–1  
I 232 –Ii–2 32
Cxi–2 Cs–x /Cs2 (5)
32
Let Cs2 represent the number of combinations of
selecting S hosts from 232 hosts. Here, S is the number of 4.1.3. Infection and cure analysis.
targets that an infecting host tries to infect per time tick. On the basis of the previous equations, we can cal-
32
As a result, CxIi Cs–x
2 –Ii
is equal to the number of infect- culate the number of infecting hosts and the number of
ing patterns that an infecting host may have at time tick i curing hosts at different time ticks. The results are shown
when x of its S targets are curing hosts. For each infect- in Figures 4 and 5.

5 5
x 10 x 10
7 7

6 6

5 5
host number

host number

4 4

3 3

2 2

1 1

0 0
0 100 200 300 400 500 0 100 200 300 400 500
time tick time tick
(a) (b)
Figure 4. Curing effect of Serum System for Internet worms.

5 5
x 10 x 10
7 7

6 6

5 5
host number
host number

4 4

3 3

2 2

1 1

0 0
0 100 200 300 400 500 0 100 200 300 400 500
time tick time tick
(a) (b)
Figure 5. Curing effect of Serum System for stealthy worms.

720 Security Comm. Networks 2015; 8:715–726 © 2014 John Wiley & Sons, Ltd.
DOI: 10.1002/sec
F.-H. Hsu, L.-H. Chen and C.-J. Lin Defeat scanning worms in cyber warfare

Table IV. The parameters used in the calculation peercast program. The aforementioned measurement
in Section 4.1.3. was made 5000 times for both cases. Experimental results
Symbol Value
show that when host A is a normal host, the average time of
the aforementioned tests is 0.00824 s. And when host A is
Total hosts 224 hosts a curing host, the average time of the aforementioned tests
S 10 or 200 times/time tick is 0.009343 s. Hence, the overhead is 13.3% (0.0011 s).
n0 500 hosts However, because a network service is usually much more
V0 10  216 hosts complicated than a peercast program, 13.3% can be
I0 50 or 500 hosts deemed as an upper bound of the performance overhead
˛ 1
introduced by a curing host.

4.2.1. Processing time.


The parameters used in the calculation are listed in
In this subsection, we discuss the time a curing host
Table IV. The two different scan rates are used to sim-
spends to handle an infecting string. We call this time the
ulate the different infection patterns of worms emphasiz-
curing time. In fact, curing time is the time that a cur-
ing stealth and Internet worms. For worms emphasizing
ing host spends to finish steps (2)–(6) of Figure 1. The
stealth, we used a low scan rate to imitate their spread
average time of curing time in 10000 measurements is
behavior. On the other hand, Internet worms try to com-
0.0000274 s. We also discuss the time it takes to transform
promise as many hosts as possible in a short time; thus, we
an infecting host into an SSC after a curing host has sent
used a high scan rate to mimic their propagation method.
all Serum System related programs to the infecting host.
Because recent worms try to infect hosts within the same
We call this time the transforming time. We added some
network first, we use a class A network, which consists of
code in the infecting host to measure the transforming time.
224 hosts as the simulated network.
The average time of transforming time in 10000 measure-
Figure 4 shows the simulation results of an Internet
ments is 0.374828 s. The curing time and transforming
worm. Figure 5 shows the simulation results of a worm
time influence the performance of Serum System. Serum
emphasizing stealth. All results show that Serum System
System cannot spend too much time on a single host, espe-
can completely quell and cure Internet worms and low
cially during the attack period of worms. The experimental
scan rate worms, even when the initial number of SSSs
results show that the transforming time and the curing time
is only 50. For the stealthy worm, Serum System takes
are very short, so an SSS or SSC can cure an infecting
slightly longer to cure all hosts, because the counterattack
host quickly.
rate is proportional to the scan rate. In fact, according to
the results, except under low scan rates and low numbers of
vulnerable hosts, the number of SSSs (i.e., initial number 4.2.2. Network traffic overhead.
of curing hosts) does not greatly change the time to cure Network traffic overhead is mainly created by the traf-
the whole worm. Hence, widespread deployment is not a fic used to transmit Serum System related programs to the
critical issue for the success of Serum System. infecting hosts. We use a sniffer to collect the amount of
The four figures in Figures 4 and 5 show that with more traffic transmitted between a curing host and an infecting
vulnerable hosts, the higher percentage of vulnerable hosts host. The traffic overhead is 28 769 bytes, which is unlikely
will be compromised. All infecting hosts will be cured by to affect the bandwidth of a network link. If a local net-
Serum System. The sharp curing curves in the figures also work is under attack by worms, the heavy network traffic
show that soon after the number of infecting hosts reaches may affect the efficiency of Serum System. Therefore, the
its maximum. Serum System cures a worm very quickly low traffic overhead of our system ensures the success rate
with a small-scale initial deployment of SSSs. Therefore, of curing procedure.
Serum System need not to be faster than the speed of
worm spreading. 4.2.3. Network traffic amount analysis.
In this subsection, we discuss the total amount of traffic
generated by a worm and Serum System so that we can
4.2. Performance overhead
calculate the amount of traffic saved by the system. Table V
lists the notations used in our analysis model.
The performance overhead of a curing host is generated by
Based on the equations derived in the previous sub-
the sanitizer and redirector, because these two components
section, Xi and Yi can be represented by the following
need to check input strings and perform their correspond-
equations:
ing functions. We used two hosts, hosts A and B, to test
the performance overhead of proxy mechanism introduced Xi = ni  S  z (6)
by a curing host. The same peercast program used in 0
Yi = (Ii+1 – Ii )  (z ) (7)
the effectiveness tests was installed in host A. Here, host A
may be a curing host or a normal host. In either case, in host According to [29], the size of the core part of a Dow-
B, we measured the time it took to receive a response from nadup file is 58 KB. However, after being installed in a
the peercast program after host B sent a string to the compromised host, Downadup downloads more files into

Security Comm. Networks 2015; 8:715–726 © 2014 John Wiley & Sons, Ltd. 721
DOI: 10.1002/sec
Defeat scanning worms in cyber warfare F.-H. Hsu, L.-H. Chen and C.-J. Lin

Table V. Notations used in traffic amount analysis.

Symbol Quantity

Xi Total amount of traffic produced by all infecting hosts at time tick i when a Serum System is used.
Yi Total amount of traffic produced by all curing hosts at time tick i when a Serum System is used.
Wi Total amount of traffic produced by all infecting hosts at time tick i when no Serum System is used.
z Amount of traffic produced by a single infecting host per infection.
0
z Amount of traffic produced by a single curing host per counterattack.
mi The number of infected hosts at time tick i when no Serum System is used.

9 9
x 10 x 10
8 8

7 7

6 6
traffic (unit:KB)

traffic (unit:KB)
5 5

4 4

3 3

2 2

1 1

0 0
0 100 200 300 400 500 0 100 200 300 400 500
time tick time tick
(a) (b)
Figure 6. Amount of traffic produced by infecting hosts and serum hosts when rate is 200 times/time tick.

8 8
x 10 x 10
5 5
4.5 4.5
traffic amount (unit:KB)

traffic amount (unit:KB)

4 4
3.5 3.5
3 3
2.5 2.5
2 2
1.5 1.5
1 1
0.5 0.5
0 0
0 100 200 300 400 500 0 100 200 300 400 500
time tick time tick
(a) (b)
Figure 7. Amount of traffic produced by infecting hosts and serum hosts when rate is 10 times/time tick.

the host; this fact will be ignored for simplicity. Hence, hosts and curing hosts during the first 500 time ticks, as
z is equal to 58 KB, and the results in this subsection shown in Figures 6 and 7.
can be deemed as either the minimum traffic amount that At both high (Figure 6) and low (Figure 7) scan rates,
Downadup will create or the minimum traffic amount that the amount of traffic generated by curing hosts is far less
Serum System can save. Besides, according to the previous than that created by infecting hosts. The experiments show
subsection, z is equal to 28 KB. Thus, with the aforemen- that Serum System only need a small amount of traffic to
tioned data and the parameters used in Section 4.1.2, we cure all hosts. The amount of traffic generated by Serum
can obtain the amount of the traffic created by infecting System has little influence on the network traffic.

722 Security Comm. Networks 2015; 8:715–726 © 2014 John Wiley & Sons, Ltd.
DOI: 10.1002/sec
F.-H. Hsu, L.-H. Chen and C.-J. Lin Defeat scanning worms in cyber warfare

100 100
90 90
80 80
70 70

percent (%)
percent (%)

60 60
50 50
40 40
30 30
20 20
10 10
0 0
0 100 200 300 400 500 0 100 200 300 400 500
time tick time tick
(a) 10 times / time kick (b) 200 times / time kick

Figure 8. Percentage of amount of traffic saved by Serum System at various time ticks for different scan rate.

100 100
90 90
80 80
70 70
percent (%)
percent (%)

60 60
50 50
40 40
30 30
20 20
10 10
0 0
0 100 200 300 400 500 0 100 200 300 400 500
time tick time tick
(a) 10 times / time kick (b) 200 times / time kick

Figure 9. Percentage of amount of accumulated traffic saved by Serum System at various time ticks for different scan rate.

We also compare the amount of network traffic with and Figure 8 shows that Serum System can successfully sup-
without Serum System. According to AAWP, mi and Wi press worm traffic. Although Serum System cannot control
can be calculated using the following equations: the network traffic at the beginning of a worm attack,
as the worm attack proceeds, large amount of attack
h  smi–1 i traffic is suppressed by Serum System. Because worms
mi = mi–1 + (Vo – mi–1 ) 1 – 1 – 1/232 (8)
usually generate a huge amount of attack traffic, Serum
System can effectively reduce a considerable amount of
attack traffic.
W i = mi  S  z (9)
Figure 9 shows the percentages of accumulated traf-
Hence, the amount of traffic saved by Serum System at fic saved by Serum System between time tick 0 and time
time tick i is as follows: tick 500. Under both low and high scan rates, the percent-
age is up to 90% at time tick 450. In addition, with the
0 faster scan rate of the worm, the percentage of accumulated
Wi – (Xi + Yi ) = (mi – ni )  S  z – (Ii+1 – Ii )  z (10) traffic saved by Serum System also increases at a faster
rate. Hence, Serum System can significantly solve the traf-
And when a worm breaks out, the ratio of the traffic amount fic congestion problem caused by Internet worms. With a
saved by Serum System at time tick i to the traffic amount strong and proper counterattack mechanism, such as Serum
appearing in the Internet when no Serum System is used System, the accumulated traffic generated by worms can
0
at time tick i is ((mi – ni )  S  z – (Ii+1 – Ii )  z )/Wi . be greatly reduced.

Security Comm. Networks 2015; 8:715–726 © 2014 John Wiley & Sons, Ltd. 723
DOI: 10.1002/sec
Defeat scanning worms in cyber warfare F.-H. Hsu, L.-H. Chen and C.-J. Lin

5. DISCUSSIONS hosts try to cure the same infecting host simultaneously.


As a result, the cure procedure, which includes upload-
In this section, we discuss some design issues and enhance- ing programs to the infecting host and installing them
ments that we plan to make in the future and several on the host, will occur repeatedly. Because the infect-
applications that can be performed on the basis of the ing host only needs to be cured once, all other cures
techniques adopted by the proposed Serum System. are just a waste of system resources. To avoid the waste,
a sanitizer also filters out and drops serum strings from
input strings.
5.1. Design issues The fourth issue is how Serum System defeats new
worms or the variants of them. We use Aurora as the
The first issue is the length of the serum code. The sani- BOA detector in our system. Aurora detects new BOAs by
tizer replaces the shellcode inside an infecting string with using NOP sled and the deviation address, which are the
serum code to create a serum string. In order to avoid indispensable properties in a successful BOA. We believe
destroying the structure of the infecting string (such as the most variants of a single worm use the same vulnerability,
content, location, and length of the NOP sled, and the con- so the indispensable properties will not change. There-
tent and the location of the address used to redirect the fore, Aurora can detect the variants correctly in normal
execution flow to the shellcode) so that the serum string can circumstance. More details are presented in [9].
have the same infecting capability as the original infecting
string, the length of the serum code should be as small as
possible. In fact, the length of the serum code should be 5.2. Future work
shorter than the length of the shellcode inside the related
infecting string. Currently, the length of our serum code is Except for the worms themselves, modern worms usually
only 149 bytes. Because the major part of the serum code download and install other malware to the hosts infected
performs only a download behavior, we believe that the by them. The current version of Serum System only blocks
length of serum code is smaller than the shellcode lengths traffic created by worms. It does not remove the worms
of most infecting strings, which usually need to perform and related malware from an infecting host. In the future,
more work than just downloading. One probable excep- we plan to add the aforementioned function to the Serum
tion is that inbuilt connection commands (such as ftp or System by utilizing relative processes of the worm process.
wget) are used by worms that do not care to reveal their By discovering the process that sends infecting strings, we
features. Nevertheless, under this situation, our serum code can find the worm process. Because malware brought to
can utilize the same approach to further reduce its size. Our an infecting host by a worm is usually downloaded and
current serum code has been published by exploit-db [30] installed by a process created by a worm, finding the worm
on its website. process and all its child processes and the programs that
The second issue is patching. Until now, except for are executed or created or downloaded by these processes
botnets, most Internet worms do not apply patches to may help us to locate and remove the worm and related
seal the security vulnerabilities through which the worms malware.
obtain the control of hosts. We cannot rule out the pos- The current Serum System could not handle a worm that
sibility that future worms will adopt this approach to works after exchanging multiple messages with its targets.
avoid their hosts being taken over by other worms through For example, the Serum System could not counter back to
the same security vulnerability. Serum System solves this the worm that performed the exploit under secure sockets
problem by saving multiple serum strings for various layer. The problem could be solved by recording the previ-
vulnerabilities in curing hosts and using them when the ous steps and packets, distinguishing the type of protocol
current one does not work. The solution is based on the or authentication, and replaying the attack scenario after
observation that a host usually has several vulnerabili- a connection is established. As for the encoded shellcode,
ties. However, patching is not free for worms. It will like alphanumeric shellcode and the English shellcode,
increase the complexity of worms, which in turn usually the replacement mechanism of shellcode payload could be
reduces their stability and stealth, thus making detection modified to ensure that the serum string is also encoded.
of them easier. Moreover, after a patch is applied to a pro- Besides, in the future, we plan to implement the Serum
gram, the program usually needs to be restarted. In some System on Windows system.
cases, the whole system may even need to be rebooted, Because the Serum System allows us to take control of
which can slow down the worm propagation speed and an infecting host, based on the techniques developed, many
may attract the attention of the administrator of an new mechanisms can be further developed to solve vari-
infecting host. ous difficult security problems, such as tracing back to the
The third issue is repeated cure to an infecting host. source of an attack launched through many stepping-stone
When spreading an Internet worm, an infecting host of hosts. The tracing back solution may further help solve the
some worms may fork multiple threads to spread the list worms because if an SSS is in the attack list of a list
worms. In this case, each thread works independently to worm, it can use the solution to find and cure the infected
infect other hosts. Hence, it is possible that several curing hosts.

724 Security Comm. Networks 2015; 8:715–726 © 2014 John Wiley & Sons, Ltd.
DOI: 10.1002/sec
F.-H. Hsu, L.-H. Chen and C.-J. Lin Defeat scanning worms in cyber warfare

6. CONCLUSIONS whitepapers/the_downadup_codex_ed2.pdf. Accessed


on 20 May 2012.
In this paper, we propose and implement an automatic 6. Chen Z, Ji C. Intelligent worms: searching for preys,
scanning worm curing system, Serum System, to defeat 2006. Available from: http://www.ams.org/samplings/
scanning worms in cyber warfare. The proposed system math-awareness-month/06-Chen-Ji.pdf. Accessed on
can handle unprotected hosts, demands only a small-scale 20 May 2012.
initial deployment of SSSs, can tolerate long response
7. Hsu FH, Guo F, Chiueh T. Scalable network-based
time, can cure a worm precisely, and does not apply
buffer overflow attack detection. In Proceedings of
patches to vulnerable programs. Various experimental
results and analyses showed that with only a small number the 2006 ACM/IEEE Symposium on Architecture for
of SSSs and through chain counterattacks, Serum Sys- Networking and Communications Systems, ANCS ’06.
tem can automatically and rapidly cure the related infected ACM: New York, NY, USA, 2006; 163–172.
hosts around the world. And the accumulated amount of 8. Shacham H. The geometry of innocent flesh on the
traffic saved by Serum System at time tick 450 reaches bone: return-into-libc without function calls (on the
90%; hence, Serum System can significantly help in solv- x86). In Proceedings of the 14th ACM Conference
ing the traffic congestion problem caused by scanning on Computer and Communications Security, CCS ’07.
worms in cyber warfare. Compared with white worms and ACM: New York, NY, USA, 2007; 552–561.
auto-patch mechanisms, our system is reversible and is 9. Chen LH, Hsu FH, Huang CH, Ou CW, Lin
more precise. Serum System can also greatly decrease the
CJ, Liu SC. A robust kernel-based solution to
colossal amount of traffic created by worms and quickly
control-hijacking buffer overflow attacks. Journal of
mitigate the traffic congestion problem generated by them.
Furthermore, based on the techniques developed by Serum Information Science and Engineering 2011; 27(3):
System, many new mechanisms may be developed to solve 869–890.
various difficult security problems, such as tracing back 10. Smirnov A, Chiueh TC. Automatic patch genera-
to the source of an attack that is launched through many tion for buffer overflow attacks. International Sym-
stepping-stone hosts. posium on Information Assurance and Security 2007;
0: 165–170.
11. Newsome J, Karp B, Song D. Polygraph: automati-
ACKNOWLEDGEMENT
cally generating signatures for polymorphic worms. In
This paper was partially supported by National Science Proceedings of the 2005 IEEE Symposium on Secu-
Council projects. The project numbers are NSC 100- rity and Privacy, SP ’05. IEEE Computer Society:
2218-E-008-013-MY3, NSC 101-2221-E-008-028-MY2, Washington, DC, USA, 2005; 226–241.
and NSC 103-2623-E-008-003-D. 12. Costa M, Crowcroft J, Castro M, Rowstron A,
Zhou L, Zhang L, Barham P. Vigilante: end-to-end
REFERENCES containment of Internet worms. In Proceedings of
the Twentieth ACM Symposium on Operating Systems
1. Kaspersky L. Kaspersky lab provides its insights on Principles, SOSP ’05. ACM: New York, NY, USA,
stuxnet worm. Kaspersky Lab, 2010. Available from: 2005; 133–147.
http://www.kaspersky.com/about/news/virus/2010/ 13. Jiang X, Buchholz F, Walters A, Xu D, Wang YM,
Kaspersky_Lab_provides_its_insights_on_Stuxnet_ Spafford EH. Tracing worm break-in and contamina-
worm. Accessed on 28 March 2012. tions via process coloring: a provenance-preserving
2. Os Statistics. w3schools, 2012. Available from: approach. IEEE Transactions on Parallel and Dis-
http://www.w3schools.com/browsers/browsers_os.asp. tributed Systems 2008; 19(7): 890–902.
Accessed on 10 March 2012. 14. Cavallaro L, Lanzi A, Mayer L, Monga M. Lisabeth:
3. Teeraruangchaisri K. Code red and code red ii: double automated content-based signature generator for zero-
dragons, 2001. Available from: http://www.sans.org/ day polymorphic worms. In Proceedings of the Fourth
reading_room/whitepapers/malicious/code-red-code- International Workshop on Software Engineering for
red-ii-double-dragons_88. Accessed on 20 May 2012. Secure Systems, SESS ’08. ACM: New York, NY,
4. Krishnan S, Kim Y. Passive identification of conficker USA, 2008; 41–48.
nodes on the Internet. Technical Report, University of 15. Cui W, Peinado M, Wang HJ, Locasto ME. Shieldgen:
Minnesota, 2009. automatic data patch generation for unknown vulner-
5. Symantec. The Downadup codex: a comprehensive abilities with informed probing. In Proceedings of the
guide to the threat’s mechanics edition 2.0. Syman- 2007 IEEE Symposium on Security and Privacy, SP
tec, 2009. Available from: http://www.symantec.com/ ’07. IEEE Computer Society: Washington, DC, USA,
content/en/us/enterprise/media/security_response/ 2007; 252–266.

Security Comm. Networks 2015; 8:715–726 © 2014 John Wiley & Sons, Ltd. 725
DOI: 10.1002/sec
Defeat scanning worms in cyber warfare F.-H. Hsu, L.-H. Chen and C.-J. Lin

16. Weaver N, Paxson V, Staniford S, Cunningham R. 23. Chen LH, Hsu FH, Hwang Y, Su MC, Ku WS,
A taxonomy of computer worms. In Proceedings Chang CH. Armory: an automatic security testing tool
of the 2003 ACM Workshop on Rapid Malcode, for buffer overflow defect detection. Computers and
WORM ’03. ACM: New York, NY, USA, 2003; Electrical Engineering 2013; 39(7): 2233–2242, DOI:
11–18. 10.1016/j.compeleceng.2012.07.005.
17. Ma J, Voelker GM, Savage S. Self-stopping worms. 24. Kleiner K. Viral cure could ‘immunise’ the inter-
In Proceedings of the 2005 ACM Workshop on Rapid net. NewScientist Tech, 2005. Available from: http://
Malcode, WORM ’05. ACM: New York, NY, USA, www.newscientist.com/article/dn8403-viral-cure-
2005; 12–21. could-immuni se-the-internet.html. Accessed on 20
18. Zou CC, Gong W, Towsley D. Code red worm prop- May 2012.
agation modeling and analysis. In Proceedings of the 25. Schneier B. Benevolent worms, 2005. Available
9th ACM Conference on Computer and Communica- from: http://www.schneier.com/blog/archives/2005/
tions Security, CCS ’02. ACM: New York, NY, USA, 12/benevolent_worm.html. Accessed on 20 May 2012.
2002; 138–147. 26. Castaneda F, Sezer EC, Xu J. Worm vs. worm: pre-
19. Chen Z, Gao L, Kwiat K. Modeling the spread of active liminary study of an active counter-attack mechanism.
worms, INFOCOM 2003. Twenty-Second Annual Joint In Proceedings of the 2004 ACM Workshop on Rapid
Conference of the IEEE Computer and Communica- Malcode, WORM ’04. ACM: New York, NY, USA,
tions, IEEE Societies, vol. 3, San Francisco, CA, USA, 2004; 83–93.
2003; 1890–1900. 27. Akritidis P, Markatos EP, Polychronakis M,
20. Rajab MA, Monrose F, Terzis A. On the effective- Anagnostakis K. STRIDE: polymorphic sled detection
ness of distributed worm monitoring. In Proceedings through instruction sequence analysis, Proceedings
of the 14th Conference on USENIX Security Sympo- of the 20th IFIP International Information Security
sium - Volume 14, SSYM’05. USENIX Association: Conference (IFIP/SEC), Chiba, Japan, 2005; 375–391.
Berkeley, CA, USA, 2005; 15–15. 28. Wang X, Pan CC, Liu P, Zhu S. Sigfree: a signature-
21. Zou CC, Gong W, Towsley D. Worm propagation free buffer overflow attack blocker. In Proceedings of
modeling and analysis under dynamic quarantine the 15th Conference on USENIX Security Symposium
defense. In Proceedings of the 2003 ACM Workshop - Volume 15, USENIX-SS’06. USENIX Association:
on Rapid Malcode, WORM ’03. ACM: New York, NY, Berkeley, CA, USA, 2006; 225–240.
USA, 2003; 51–60. 29. McAfee. W32/conficker.worm, 2008. Available
22. Moore D, Shannon C, Voelker GM, Savage S. from: http://vil.nai.com/vil/content/v_153464.htm.
Internet quarantine: requirements for containing self- Accessed on 20 May 2012.
propagating code, INFOCOM 2003. Twenty-Second 30. Militan. linux/x86 connect back, download a file and
Annual Joint Conference of the IEEE Computer execute 149 bytes. Exploit-db, 2008. Available from:
and Communications, IEEE Societies, vol. 3, San http://www.exploit-db.com/exploits/13337/. Accessed
Francisco, CA, USA, 2003; 1901–1910. on 20 May 2012.

726 Security Comm. Networks 2015; 8:715–726 © 2014 John Wiley & Sons, Ltd.
DOI: 10.1002/sec

Você também pode gostar