You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/326969312

Real-Time Intrusion Detection in Network Traffic Using Adaptive and Auto-


Scaling Stream Processor

Conference Paper · December 2018


DOI: 10.1109/GLOCOM.2018.8647489

CITATIONS READS
5 336

3 authors, including:

Gobinath Loganathan Xianbin Wang


The University of Western Ontario The University of Western Ontario
5 PUBLICATIONS   10 CITATIONS    451 PUBLICATIONS   7,197 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

DR-NET View project

A customizable Network Intrusion Detection dataset creating framework View project

All content following this page was uploaded by Gobinath Loganathan on 14 December 2018.

The user has requested enhancement of the downloaded file.


Real-time Intrusion Detection in Network Traffic
Using Adaptive and Auto-scaling Stream Processor
Gobinath Loganathan∗ , Jagath Samarabandu† and Xianbin Wang‡
Department of Electrical and Computer Engineering
The University of Western Ontario
London, Ontario, N6A 5B9, Canada
∗ lgobinat@uwo.ca, † jagath@uwo.ca, ‡ xianbin.wang@uwo.ca

Abstract—Advanced intrusion detection systems are beginning threshold values is a tedious and time-consuming task for
to utilize the power and flexibility offered by Complex Event Pro- humans. In a volatile domain like intrusion detection, such
cessing (CEP) engines. Adapting to new attacks and optimizing threshold values are subject to change frequently. Therefore,
CEP rules are two challenges in this domain. Optimizing CEP
rules requires a complete framework which can be ported to an optimization algorithm to find optimal threshold values for
stream processors because a CEP rule cannot run without a a CEP rule can relieve domain experts from spending time in
stream processor. External dependencies of stream processors analyzing training data. Furthermore, such an algorithm can
make CEP rule a black box which is hard to optimize. In be used in runtime to continuously optimize CEP rules based
this paper, we present a novel adaptive and functionally auto- on the dynamicity of the environment.
scaling stream processor: “Wisdom” with a built-in hybrid
optimizer developed using Particle Swarm Optimization, and Optimizing CEP rules using available optimization algo-
Bisection algorithms to optimize CEP rule parameters. We rithms requires dynamic stream processors (stream processors
show that an adaptive “Wisdom” rule tuned by the proposed which allow runtime query modification) to try different
optimization algorithm is able to detect selected attacks in threshold values without restarting the stream processor. Even
CICIDS 2017 dataset with an average precision of 99.98% and though Esper and Apache Flink support CEP variables, they
an average recall of 93.42% while processing over 2.5 million
events per second. The proposed distributed functionally auto- do not provide a built-in mechanism to optimize queries de-
scaling deployment mode consumes significantly fewer system fined using variables [9], [10]. Abadi et al. proposed the first
resources than the monolithic deployment of CEP rules. fully dynamic stream processor: “Borealis” years ago [11].
However, none of the existing commercial stream processors
I. I NTRODUCTION offer dynamic operators comparable to “Borealis” [9]–[12].
Complex Event Processing (CEP) is a reactive program- These stream processors focus on performance optimization
ming paradigm used in responding to real-time events based and scalability than query optimization. Even though stream
on predefined rules. Stream processors provide the neces- processors can distribute and scale operators, not all stateful
sary infrastructure to develop and deploy CEP rules for a operators are horizontally scalable [13]. Especially when it
wide range of applications including intrusion detection [1], comes to dynamic CEP operators, it is hard to track and
healthcare [2], fleet management [3], and power grid [4]. In atomically update them in a horizontally scaled environment.
all these domains, constructing a CEP rule often requires Another dynamic complex event processor: iCEP does not
a domain expert who knows how to mine complex events reach the throughput benchmark set by commercial stream
out of a stream of raw events. Some recent studies have processors [6]. We believe these limitations are keeping com-
proposed automatic CEP rule generation using unsupervised mercial stream processors away from dynamic and adaptive
machine learning algorithms to replace domain experts by CEP.
machines [5]–[8]. Machine learning algorithms require a lot In this paper, we propose a new steam processor: “Wisdom”
of preprocessed data and training time. Moreover, the pro- developed with the following features: (1) dynamic without
posed solutions are based on frequent patterns which are not compromising the performance, (2) adaptive using Particle
useful in anomaly detection scenarios like intrusion detection. Swarm Optimization and Bisection algorithms, (3) distributed
Instead, the traditional way of defining CEP rules based on and functionally auto-scaling as an alternative to horizontal
human cognition with the support of domain-specific facts scaling. We use the term “functionally auto-scaling” to mean
is easier than mining rules from training data. Even though the ability of “Wisdom” stream processor to start new rules
humans are experts in logical reasoning, we are poor in to add more features or to stop unwanted rules to reduce
handling numbers. For example, it is easy for a domain expert resource consumption. We tested our stream processor using
to say that “a CEP rule to detect FTP brute force attack must three CEP rules defined by domain experts and optimized by
look for a lot of failed login attempts within a short period “Wisdom” using packets arrived within a 10 minutes interval
of time”, but he/she requires manual inspection of training to detect FTP brute force attack, HTTP Slow Header Denial
data to quantify the number of failed attempts and the shortest of Service (DoS) attack, and Port Scan probe. “Wisdom” was
time interval to consider. Analyzing training data to find those able to detect the selected attacks with an average precision
of 99.98% and an average recall of 93.42% which is better the cosine similarity between individual events. The attribute
than the maximum precision of 80% and maximum recall of to calculate cosine similarity is determined by domain experts.
90% obtained by Turchin et al. after training their adaptive Mehdiyev et al. used Elitist Pareto-based Multi-Objective
CEP rule using the entire dataset. “Wisdom” is able to process Evolutionary Algorithm to select event attributes and Fuzzy
2.5 million events per second in a single thread environment Unordered Rule Induction Algorithm to classify events [8]. In
which is significantly better than the throughput of iCEP this research, the authors compared their algorithm with other
and comparable with commercial stream processors. We also classification algorithms. However, they did not propose how
show that the proposed functionally auto-scaling deployment to convert the output of their algorithm to a CEP rule and
consumes fewer system resources compared to traditional admit that generating CEP rules using their classifier will be
monolithic deployment without compromising the accuracy. a difficult challenge to address.
All above CEP rule mining methodologies were developed
II. BACKGROUND
with an intention to replace domain experts with machines
A. Dynamic Complex Event Processor [5]–[8]. However, they rely on false assumptions like raw
In a dynamically changing environment, static CEP rules events not being complex, TimeWindow being enough to
become obsolete very soon. Redeploying new rules for every collect events in all scenarios, or a single CEP rule template
change in the environment reduces the uptime of the system. being able to represent all complex events. These assumptions
Moreover, dynamicity is one of the primary requirements oversimplify the problem and do not capture the real world
for adaptive complex event processing so that system can requirements. Furthermore, these solutions mainly focus on
automatically adjust the flow of events without redeploy- generating rules for commonly occurring patterns. In anomaly
ing the rule. Borealis stream processing engine developed driven domains like intrusion detection, such patterns repre-
by Abadi et al. supports dynamic query modification and sent legitimate traffic on which we are not interested. Hence
performance optimization at runtime using separate control rules developed for frequent patterns may not work well for
flows [11]. A similar approach is used by Bhargavi et al. in detecting anomalous traffic.
their dynamic complex event processor to deploy CEP rules
C. Parameter Tuning
without restarting the stream processor [14].
Turchin et al. defined CEP rules based on probability
B. Complex Event Processing Rule Mining score of selected attributes and tuned threshold values using
Mousheimish et al. proposed automatic predictive CEP Discrete Kalman Filter based on expert feedback and event
rule mining from classified multivariate time series data [5]. history [15]. The concept of tuning rule parameters and the
The learning algorithm first searches for subsequences across application of adaptive rules to detect attacks in DARPA
a time series input. The length of possible subsequences is 1999 dataset are close to our research. Therefore, we have
limited by user-defined lower and upper bounds. A CEP rule chosen this research as a benchmark to compare the results we
is built using subsequence with the highest accuracy after obtain. However, their contribution to CEP rule optimization
removing redundant parts from the sequence. However, this may not be widely applicable because their rules neither
approach is limited by user-defined sequence lengths and use any CEP operators nor follow CEP semantics. Instead,
limited CEP rule templates which are not guaranteed to fit they calculate anomalous probability score of request length,
all use cases. response length, possible “SYN” error, and hostname for each
Margara et al. developed iCEP which can generate expres- packet. A packet is classified either as an anomaly or not by
sive CEP rules using time window, selector, logical operator, comparing the total score of these four attributes with two
pattern, and aggregator [6]. iCEP learns interesting events threshold values. Therefore, this rule does not address any
and time frame followed by aggregators and filters, and problems we raised in Section III-A3.
finally parameters and sequences in an independent three- Bayesian Optimization is widely being used by researchers
phase pipeline. In this approach, errors made in an early stage for hyperparameter optimization and black-box optimization
of the pipeline can propagate and affect the following learners. [16]. In this method, an unknown objective function is
For example, if time window learner fails to capture all mapped into a prior belief and sequentially refined by a
necessary events, sequence learner cannot learn a meaningful Bayesian posterior update [16]. Snoek et al. used Bayesian
sequence at the end of the pipeline. Isolated learning phases Optimization to tune machine learning hyperparameters [17].
of iCEP fail to address the correlation between CEP operators. It is also used by Pooyan et al. to optimize the performance of
Therefore, the rule generated by iCEP may not perform well Apache Storm stream processor [18]. Among the population-
in a highly correlated domain. based optimization algorithms, Genetic Algorithm (GA) and
CEP rule mining based on similarity match was proposed Particle Swarm Optimization (PSO) are widely being used
by Lee et al. [7]. In this work, authors cluster event sequences, for hyperparameter tuning [19], [20]. GA and PSO optimized
extract a complex event based on similarity across sequences a selected set of problems with equal accuracy in a test
from the same cluster and finally generate a complex event conducted by Hassan et al. [21]. Though GA has been
pattern using Markov Transition model. Their clustering algo- successfully applied for optimization problems, it is inefficient
rithm calculates the distance between two sequences based on for applications with highly correlated parameters [20]. In
TABLE I
P ERFORMANCE COMPARISON OF “W ISDOM ” WITH COMMERCIAL
0.8

STREAM PROCESSORS USING A FILTER QUERY IN A SINGLE THREAD


0.6

ENVIRONMENT
0.4

0.2

Stream Processor Throughput Latency 0.0

300

Apache Flink 6,711,544 events/sec 100 nanoseconds


WSO2 Siddhi 3,811,876 events/sec 216 nanoseconds 80
100

Wisdom 2,543,299 events/sec 332 nanoseconds


Esper 2,247,807 events/sec 334 nanoseconds Fig. 1. Made-up profit function representing a CEP rule optimization
problem to test Bayesian Optimization and Particle Swarm Optimization

addition, GA is much more complex to implement than order of events. Therefore, we have designed “Wisdom” using
PSO. Therefore, we have chosen Bayesian Optimization and microservice architecture [25] to deploy each CEP rule as a
PSO for our experiment. Hosseini et al. used PSO algorithm microservice with required memory and CPU allocation. Each
to optimize Multiple Criteria Linear Programming (MCLP) “Wisdom” instance can be controlled via exposed RESTful
algorithm used to detect DoS attacks in KDD CUP 1999 [26] admin service endpoints. We also have developed a
dataset [22]. Even though the use case (intrusion detection) service named “Wisdom Manager” to start, stop and control
and optimization algorithm are the same as our research, the “Wisdom” instances automatically. Using the @app annota-
actual contribution of Hosseini et al. is optimizing MCLP in tion, “Wisdom Manager” can be informed to start a query
which the problem is already in an optimizable format with only if specific streams receive events in the system. Though
variables. We are focusing on optimizing CEP rules which are “Wisdom” can be used as a Java library, for functionally auto-
black-box functions and require additional steps to convert scaling, we recommend distributed deployment of “Wisdom”
them into optimizable problems. Furthermore, Hosseini et instances with Apache Kafka [27] for intermediate commu-
al. used MCLP for anomaly-based detection in KDD CUP nication.
1999 dataset and we use CEP for signature-based detection 3) Optimizable CEP Rule: Threshold values in a CEP rule
in CICIDS 2017 [23] dataset. Therefore, we compare our final can be an integer, a real number or a constant. Considering
results with Turchin et al. because both of us are solving the all possible constants as a list of candidates, they can be
CEP rule optimization problem. mapped into integer values. These numbers may or may not
III. M ETHODOLOGY have lower and upper bounds. For example, the minimum
no of packets threshold in Figure 3 has a lower bound 0
A. Wisdom Architecture
because it is a count but not an upper bound. However, these
We developed an adaptive and functionally auto-scaling parameters are correlated with each other in such a way that
stream processor: “Wisdom” with the following goals (1) they cannot take all possible values in the space. According to
dynamic without compromising performance, (2) functionally these facts, a CEP rule optimization problem can be defined
auto-scaling, and (3) optimizable CEP rule. as
1) Dynamicity and Performance: In our early attempts,
we tried to modify existing open source stream processors:
Apache Flink [10] and WSO2 Siddhi [12] to make them max/min f (x1 , x2 , x3 , ..., xn )
dynamic. The underlying static data structure to represent s.t AX ≤ B
events in these stream processors are designed for high xϵR
throughput and low latency and did not allow us to imple-
ment dynamic operators. Authors of iCEP dynamic complex where A is a rational matrix and B is a rational vector.
event processor claim that their complex event processor A CEP rule is a discontinuous function which takes streams
can analyze “thousands of events in a few minutes” [6]. of events as input and optionally generates complex events
Our underlying architecture using Observer design pattern as output. Therefore, it is hard to fit a CEP rule itself in
and Mediator design pattern [24] to implement variables an optimization problem. Instead, f is a continuous profit or
and dynamic CEP operators yields performance comparable loss function defined using the output of a CEP rule in such
to commercial stream processors as given in Table I and a way that optimizing f will optimize the CEP rule. This
significantly better performance than iCEP. way, optimizing CEP rule can be defined as a Mixed Integer
2) Functionally Auto-scaling: In intrusion detection sys- Linear Programming (MILP) problem if f is linear or Mixed
tems, some attack detectors may need more resources than Integer Non-Linear Programming (MINLP) problem if f is
others. For example, a DoS attack detector may need more non-linear. Both MILP and MINLP are NP-Hard problems so
system resources than an SQL attack detector due to the large finding a solution in polynomial time is not always feasible
amount of traffic involved in a DoS attacks. Distributing and [28], [29].
scaling a stream processor at the operator level can cause The profit or loss function f is a black box of correlated
to coordination problems in CEP operators depending on the variables because its output depends on the underlying CEP
TABLE II Fig. 3. Optimizable Wisdom query to detect FTP brute force attack
C OMPARISON OF BAYESIAN AND PARTICLE S WARM OPTIMIZATION
def stream PacketStream;
ALGORITHMS USING THE PROFIT FUNCTION SHOWN IN F IGURE 1 def stream FTPBruteForceAttackStream;

@config(trainable=true, minimum=100, maximum=60000, step=-1)


Bayesian Particle Swarm def variable time_threshold = time.sec(1);

Initial points/Swarm size 100 100 @config(trainable=true, minimum=3, maximum=1000, step=1)


def variable count_threshold = 50;
Maximum iterations 10 10
from PacketStream
Avg. execution time (seconds) 255.788 0.029 filter ‘FTP[Control]’ == protocol and ‘530 Login incorrect’ in data
partition by destIp
Avg. optimal points (x, y) 8.742, 409.921 20.681, 199.919 window.externalTimeBatch(’timestamp’, $time_threshold)
aggregate count() as no_of_packets
Avg. Profit 0 0.998 filter no_of_packets >= $count_threshold
select srcIp, destIp, no_of_packets, timestamp
insert into FTPBruteForceAttackStream;

Fig. 2. Hybrid CEP rule optimization algorithm using Particle Swarm


Optimization and Bisection algorithms
Input: f unction, constraints, steps Input Feeder Input
Wisdom
Output: optimal values Application

1: optimal values, loss ← P SO(f unction, constraints) Loss Function Output

2: for all val ∈ optimal values do

Total Loss

Parameters
3: val ← Bisection(f unction, val,
constraints[val], step[val]) Optimization Algorithm

4: end for
5: return optimal values Fig. 4. Wisdom Optimizer architecture in which the Input Feeder and Loss
Function must be defined by the user

rule. We developed a simple profit function as shown in


Figure 1 to simulate the behavior of an imaginary CEP rule and step size can be tailored into Wisdom query using
which generates output only if its threshold values are closed @conf ig(trainable = true, ...) annotation as shown in
to 20 and 200, and optimized the function using Bayesian Figure 3. To cope with integer values, we round the real
Optimization and PSO algorithms. As shown in Table II, PSO numbers generated by the optimization algorithm to integer
outperforms Bayesian Optimization in both performance and numbers before assigning them to a CEP rule. Figure 4 depicts
accuracy. PSO starts with random initial points and quickly the architecture of “Wisdom Optimizer”. In this architec-
converges to the optimum point once a particle finds an ture, “Input Feeder” and “Loss Function” must be defined
improvement in profit. Though Bayesian optimizer had some by domain experts depending on the domain requirements.
initial points closed to the optimum point, it was distracted by “Wisdom Application” is the runtime environment compiled
the plateau where profit is 0 and spent more time on building from a “Wisdom” query and the “Optimization Algorithm” is
the prior model. From this test, we conclude that PSO is better the implementation of the algorithm given in Figure 2 with
than Bayesian Optimization for CEP parameter tuning. additional features to coordinate with “Wisdom” applications.
PSO can find an optimum or closed to an optimum
result. However, an actual CEP rule may have more than B. Evaluation
one optimum points adjacent to each other. For example, the We conducted two tests: (1) to compare the accuracy of
above imaginary CEP rule may produce the same output for proposed optimization approach with the results obtained by
threshold values in between 20−25 and 200−250. Depending Turchin et al. [15] and (2) to demonstrate the advantage
on the requirement we may be interested in either the upper of functionally auto-scaling stream processor in a resource-
bound or the lower bound. For example, we prefer to have limited environment.
minimum time threshold and maximum count threshold 1) Test 1: We developed three “Wisdom” rules1 to detect
for the CEP rule given in Figure 3 to reduce latency and false HTTP Slow Header DoS attack, FTP brute force attack and
positives. Therefore, we implemented a hybrid optimization Port scanning. All three rules have two optimizable variables:
algorithm using PSO and Bisection algorithms as shown in time threshold and count theshold. We also developed a
Figure 2. PSO is used to find optimal values, and Bisection loss function as given in Figure 5 to calculate loss based
algorithm is used to push them towards desired boundaries. on the number of true positive packets detected by stream
If the step size of Bisection algorithm is smaller than the processor. Developed “Wisdom” rules were optimized using
user-defined step value, user-defined step value is used by packets arrived within a random 10 minutes interval from
the algorithm to avoid slow convergence. CICIDS 2017 dataset. The optimized rules were used to detect
Though some CEP parameters do not have a minimum attacks in original packet capture files.
or a maximum bound, our optimization algorithm requires
a domain expert to limit the range to find a solution in 1 The “Wisdom” stream processor and queries used in Test 1 and Test 2
polynomial time. The minimum value, maximum value, are available at https://slgobinath.github.io/wisdom
Fig. 5. Loss function used to tune Wisdom queries in Test 1 TABLE III
AVERAGE PRECISION , RECALL AND TRAINING TIME OF W ISDOM
Input: output events, exp src ip QUERIES IN T EST 1
Output: loss
Initialize: CEP Rule Precision Recall Training Time
1: loss ← 1, 000, 000 FTP brute force 100% 99.61% 47 sec
2: for all event ∈ output events do Slow Header DoS 100% 96.85% 54 sec
3: if attacker ip ̸= event[‘src ip′ ] then Port scan 99.95% 83.80% 46 sec
4: loss += event[‘no of packets′ ] ∗ 10
5: else
6: loss −= event[‘no of packets′ ] ∗ 10 500 500

400

7: end if 450

Memory (MB)

Memory (MB)
300

8: end for
400

200

9: return loss
350

100

300

0 500 1000 1500 2000 0 500 1000 1500 2000


Time (Seconds) Time (Seconds)

Wisdom Start/Stop FTP Brute-force Wisdom Instances HTTP Slow Header FTP Brute Force Port Scan Wisdom Instances HTTP Slow Header Packet Filter FTP Brute Force Port Scan
Manager Detector
Start/Stop Start/Stop

Streams Throughput
(a) (b)
Port Scan PossibleBruteForceStream HTTP Slow Header
Detector Detector Fig. 7. Memory consumption of “Wisdom” instances in (a) manual deploy-
PossiblePortScanStream
Filter Query
PossibleDosStream ment and (b) functionally auto-scaling deployment
Apache Kafka

Simulated Stream of Packets System Calls

by the proposed optimization algorithm are able to detect


Fig. 6. Functionally auto-scaling deployment of “Wisdom” queries
selected attacks with a minimum precision of 99.95% and
a maximum precision of 100%. The minimum recall was
2) Test 2: Test 2 was developed to show the effectiveness 83.80%, and the maximum recall was 99.85%. We have
of functionally auto-scaling stream processor in intrusion observed that the precision is highly depending on how well
detection. Deploying all three rules developed in Test 1 the query is defined by the domain expert. Recall depends
requires three “Wisdom” instances to run all the time. Instead, on thresholds defined by the optimization algorithm which
we developed a filter query to filter incoming packets which in turns depends on the quality of training data. Manual
can be part of HTTP Slow Header DoS attack, FTP brute inspection of training data caused to 83.80% recall revealed
force attack or Port scanning. Rest of the attack specific that the random 10 minutes interval we chose contains less
CEP operations were defined in separate rules1 and deployed number of port scanning packets. Turchin et al. obtained
as standalone “Wisdom” applications (see Figure 6). In this a maximum precision of 80% and a maximum recall of
setup, all these queries were deployed as separate processes 90% with their probability-based CEP rule optimized using
without any memory limitation in the same machine to Kalman Filter after training the system using the complete
reduce the complexity. However, they can be deployed across dataset [15]. Based on these results, we conclude that our op-
multiple servers in a production environment. If there is a timization algorithm and proposed methodology outperform
possibility of any of these attacks, “FilterQuery” sends the the probability-based CEP rule tuned by Kalman Filter.
packet to the relevant output stream. “Wisdom Manager” In Test 2 manual deployment, the overall memory con-
monitors those output streams and starts relevant rules if an sumption of all “Wisdom” instances was between 450 - 500
event is inserted into those streams. If there is no input for an megabyte (MB) from the beginning to end (see Figure 7a).
attack detector for a long time, “Wisdom Manager” will stop In functionally auto-scaling deployment, “Wisdom Manager”
the attack detector. To simulate real-time behavior, we read started Port scanning detector from the beginning as depicted
pcap files having: no attack, FTP brute force attack, HTTP in Figure 7b because there were packets matching Port
Slow Header attack, and Port Scan in order. To the best of scanning filter even in legitimate traffic. FTP brute force
our knowledge, none of the existing stream processors support detector and HTTP Slow Header were started only after the
functionally auto-scaling deployment. Therefore, the memory simulation of those attacks. FTP brute force detector was
consumption of functionally auto-scaling deployment was stopped after the attack, but HTTP Slow Header detector was
compared with manual deployment where all three “Wisdom” stopped and started a few times due to some matching packets
instances were deployed without enabling the functionally throughout the remaining time. However, those packets were
auto-scaling feature. not reported by DoS detector as attacks.
Functionally auto-scaling deployment missed 0.04% pack-
IV. R ESULTS ets in FTP brute force attack and 0.01% packets in HTTP
All three rules were optimized within a minute using the Slow Header attacks. No packets were missed in Port scan
proposed optimization algorithm. The time taken to optimize probe. The distributed deployment can be a reason for this
a CEP rule is highly determined by the amount of training event loss. However, in the real world, it is not required to
data. As given in Table III, adaptive CEP rules optimized detect all packets which are part of an attack. Instead, an
IDS should be able to detect an attack as early as possible [10] The Apache Software Foundation, “Apache flink: Scalable stream
and prevent further requests from the suspected attacker. and batch data processing,” apr 2018. [Online]. Available: https:
//flink.apache.org/
Therefore, the tradeoff of packet loss for resource utilization [11] D. J. Abadi, Y. Ahmad, M. Balazinska, M. Cherniack, J. hyon Hwang,
is negligible in a resource-limited environment. W. Lindner, A. S. Maskey, E. Rasin, E. Ryvkina, N. Tatbul, Y. Xing,
and S. Zdonik, “The design of the borealis stream processing engine,”
V. C ONCLUSION in CIDR, 2015, pp. 277–289.
[12] S. Suhothayan, K. Gajasinghe, I. Loku Narangoda, S. Chaturanga,
In this research, we have developed an adaptive and S. Perera, and V. Nanayakkara, “Siddhi: A second look at complex
functionally auto-scaling steam processor which can optimize event processing architectures,” in Proceedings of the 2011 ACM
its queries for accuracy, start new rules to add more features Workshop on Gateway Computing Environments, ser. GCE ’11. New
York, NY, USA: ACM, 2011, pp. 43–50.
or stop unwanted rules to reduce resource consumption. We [13] S. Jayasekara, S. Kannangara, T. Dahanayakage, I. Ranawaka, S. Per-
have shown that PSO is better than Bayesian Optimization era, and V. Nanayakkara, “Wihidum: Distributed complex event pro-
for CEP rule optimization using a simulated loss function. cessing,” Journal of Parallel and Distributed Computing, vol. 79-80,
pp. 42 – 51, 2015, special Issue on Scalable Systems for Big Data
The high precision and recall obtained in our test indicate that Management and Analytics.
domain experts are better than machines in mining CEP rules. [14] R. Bhargavi, R. Pathak, and V. Vaidehi, “Dynamic complex event
However, the proposed optimization algorithm improves the processing - adaptive rule engine,” in 2013 International Conference
on Recent Trends in Information Technology (ICRTIT), July 2013, pp.
accuracy of CEP rules defined by domain experts by tuning 189–194.
parameters. We also have shown that the proposed function- [15] Y. Turchin, A. Gal, and S. Wasserkrug, “Tuning complex event pro-
ally auto-scaling deployment mode consumes less resource cessing rules using the prediction-correction paradigm,” in Proceedings
of the Third ACM International Conference on Distributed Event-Based
than monolithic deployment. As future work, we plan to test Systems, ser. DEBS ’09. New York, NY, USA: ACM, 2009, pp. 10:1–
the proposed stream processor in detecting complex attacks 10:12.
like Advanced Persistent Threat (APT) using a honeynet. [16] B. Shahriari, K. Swersky, Z. Wang, R. P. Adams, and N. de Freitas,
“Taking the human out of the loop: A review of bayesian optimization,”
ACKNOWLEDGMENT Proceedings of the IEEE, vol. 104, no. 1, pp. 148–175, Jan 2016.
[17] J. Snoek, H. Larochelle, and R. P. Adams, “Practical bayesian opti-
We gratefully acknowledge financial support from Western mization of machine learning algorithms,” in Proceedings of the 25th
Engineering, and National Science and Engineering Research International Conference on Neural Information Processing Systems
- Volume 2, ser. NIPS’12. USA: Curran Associates Inc., 2012, pp.
Council, Canada in conducting this research. 2951–2959.
[18] P. Jamshidi and G. Casale, “An uncertainty-aware approach to
R EFERENCES optimal configuration of stream processing systems,” CoRR, vol.
[1] M. Ficco and L. Romano, “A generic intrusion detection and diagnoser abs/1606.06543, 2016.
system based on complex event processing,” in 2011 First International [19] F. H. F. Leung, H. K. Lam, S. H. Ling, and P. K. S. Tam, “Tuning
Conference on Data Compression, Communications and Processing, of the structure and parameters of a neural network using an improved
June 2011, pp. 275–284. genetic algorithm,” IEEE Transactions on Neural Networks, vol. 14,
[2] M. Blount, M. R. Ebling, J. M. Eklund, A. G. James, C. McGregor, no. 1, pp. 79–88, Jan 2003.
N. Percival, K. Smith, and D. Sow, “Real-time analysis for intensive [20] Z.-L. Gaing, “A particle swarm optimization approach for optimum
care: Development and deployment of the artemis analytic system,” design of pid controller in avr system,” IEEE Transactions on Energy
IEEE Engineering in Medicine and Biology Magazine, vol. 29, no. 2, Conversion, vol. 19, no. 2, pp. 384–391, June 2004.
pp. 110–118, March 2010. [21] R. Hassan, B. Cohanim, O. De Weck, and G. Venter, “A comparison
[3] S. Nielsen, C. Chambers, and J. Farr, “Fleet management systems and of particle swarm optimization and the genetic algorithm,” in 46th
methods for complex event processing of vehicle-related information AIAA/ASME/ASCE/AHS/ASC structures, structural dynamics and ma-
via local and remote complex event processing engines,” Jun. 25 2013, terials conference, 2005, p. 1897.
uS Patent 8,473,148. [22] S. M. Hosseini Bamakan, B. Amiri, M. Mirzabagheri, and Y. Shi,
[4] J. Hazra, K. Das, D. P. Seetharam, and A. Singhee, “Stream computing “A new intrusion detection approach using pso based multiple criteria
based synchrophasor application for power grids,” in Proceedings of linear programming,” Procedia Computer Science, vol. 55, pp. 231 –
the First International Workshop on High Performance Computing, 237, 2015, 3rd International Conference on Information Technology
Networking and Analytics for the Power Grid, ser. HiPCNA-PG ’11. and Quantitative Management, ITQM 2015.
New York, NY, USA: ACM, 2011, pp. 43–50. [23] I. Sharafaldin, A. Habibi Lashkari, and A. Ghorbani, “Toward gener-
[5] R. Mousheimish, Y. Taher, and K. Zeitouni, “Automatic learning of ating a new intrusion detection dataset and intrusion traffic characteri-
predictive cep rules: Bridging the gap between data mining and complex zation,” 01 2018, pp. 108–116.
event processing,” in Proceedings of the 11th ACM International [24] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, “Design patterns:
Conference on Distributed and Event-based Systems, ser. DEBS ’17. Abstraction and reuse of object-oriented design,” in Software Pioneers:
New York, NY, USA: ACM, 2017, pp. 158–169. Contributions to Software Engineering, O. M. Nierstrasz, Ed. Berlin,
[6] A. Margara, G. Cugola, and G. Tamburrelli, “Learning from the Heidelberg: Springer Berlin Heidelberg, 1993, pp. 406–431.
past: Automated rule generation for complex event processing,” in [25] I. Nadareishvili, R. Mitra, M. McLarty, and M. Amundsen, Mi-
Proceedings of the 8th ACM International Conference on Distributed croservice Architecture: Aligning Principles, Practices, and Culture.
Event-Based Systems, ser. DEBS ’14. New York, NY, USA: ACM, O’Reilly Media, Inc., 2016.
2014, pp. 47–58. [26] L. Richardson and S. Ruby, RESTful web services. ”O’Reilly Media,
[7] O.-J. Lee and J. E. Jung, “Sequence clustering-based automated rule Inc.”, 2008.
generation for adaptive complex event processing,” Future Generation [27] The Apache Software Foundation, “Apache kafka,” apr 2018. [Online].
Computer Systems, vol. 66, pp. 100 – 109, 2017. Available: https://kafka.apache.org/
[8] N. Mehdiyev, J. Krumeich, D. Werth, and P. Loos, “Determination of [28] P. Bonami, M. Kilinç, and J. Linderoth, “Algorithms and software for
event patterns for complex event processing using fuzzy unordered rule convex mixed integer nonlinear programs,” in Mixed Integer Nonlinear
induction algorithm with multi-objective evolutionary feature subset Programming, J. Lee and S. Leyffer, Eds. New York, NY: Springer
selection,” in 2016 49th Hawaii International Conference on System New York, 2012, pp. 1–39.
Sciences (HICSS), Jan 2016, pp. 1719–1728. [29] R. Hemmecke, M. Köppe, J. Lee, and R. Weismantel, Nonlinear integer
[9] EsperTech Inc, “Esper - espertech,” apr 2018. [Online]. Available: programming, 2010.
http://www.espertech.com/esper/

View publication stats

You might also like