Aggregation of Elastic Stack Instruments
Aggregation of Elastic Stack Instruments
Abstract—The paper suggests an approach to construction of task we set is the ability to apply big data technologies for
the system for collecting, storing and processing of data and monitoring and to select the most productive architecture.
security events on the basis of aggregation of instruments The main contribution of the paper is in the integration of a
provided by Elastic Stack. Basing on the analysis of the bunch of existing open source packages to create a complete
monitoring and incident management tasks for computer
security monitoring system. The solution being proposed
security and comparative analysis of existing technologies and
architectural solutions the technical requirements for such differs from existing ones in integration of Elastic stack,
systems are identified, and on their basis the architecture of the Nginx, and Docker software for collecting, storing and
proposed solution is formed. The paper describes the developed processing large amounts of data in order to analyze security
system for data collecting, storing and analyzing for various information and events. This solution is aimed at providing
components of information security systems. Results of high-performance message processing with regard to possible
experiments with the developed prototype are presented. overloads and further expansion of the system. One rationale
for the work is that existing commercial solutions are too
Keywords—Big Data; security information and event
expensive for SMEs to adopt. The paper has the following
management; SIEM systems; Elastic Stack.
structure. In section II a concise analysis of relevant works and
the most representative SIEM products is given, their
I. INTRODUCTION advantages and disadvantages are discussed. Section III
Technological progress does not stand still, and identifies the technical requirements for a next generation
information security systems are being developed and evolve system for collecting, storing and processing of security
with it. The systems for security information and event information and events, and on their basis a general
management (SIEM) are no exception. Previously, the architecture of the proposed solution is formed, and noting the
functionality of the classic SIEM solutions for large and characteristics of the products, available on the market, the
medium sized companies more or less satisfied existing selection of the instruments for implementation is carried out.
requirements. However, nowadays new mechanisms and Section IV describes the proposed approach to the
functions are required that are able to timely and adequately implementation of the system for collection, storing and
identify, process and analyze current information flows and processing of security information and events that meet the
security events and to manage incidents for a much larger specified requirements, and its implementation is described.
number of devices with significantly increased amounts of Section V presents the results of the experiments and
information and speed of information flows [1-4]. The comparison of our prototype with several others architectures
problem is that modern SIEM systems are insufficiently from research papers. In conclusion, the findings are shown
adapted to the timely processing of large amounts of security and directions for future research are identified.
information and events needed to assess the current state,
perform incident management and develop countermeasures. II. RELEVANT SOLUTIONS
In this paper we set the task of developing the architecture Let us select two areas for review of relevant solutions as
and implementation of a research prototype of the system for research works and software implementations of commercial
collection, storing and processing of security information and products and open source ones.
events based on big data technology, as the basis for a new Aiming at objective and clear understanding of existing
generation SIEM system, as well as the preliminary analysis architectures of SIEM systems, let us first consider some
of the functioning parameters of this system. Specific of the research papers. [5] presents a generalized architecture of
Documents are specified in JSON format. The system has well Security services messages
Kibana
developed API, and the list of supported languages for Metricbeat+Winlogbeat Nginx
interoperability includes Java, Python, C++ and others. Application servers system
Proxy server
primarily processes them and sends them to the storage Fig. 1. The architecture of the prototype
subsystem. It has built-in parser, allowing to normalize
heterogeneous data, to determine the geographical coordinates The architecture of the prototype can be conditionally
by IP, to process information from various sources regardless divided into the following components: (1) the subsystem for
of format and structure. sending data from client devices; (2) the subsystem for
Kibana is a software component that implements pipelining and data delivery; (3) the fault tolerance and load
visualization and navigation in the Elastic Stack. It presents balancing mechanism; (4) the subsystem of search and
data as customizable interactive dashboard in real time and analytical core, combined with the storage subsystem; (5) the
implements a large number of built-in custom widgets visualization subsystem.
(histograms, graphs, maps, and other standard tools). It has Let us consider the first four subsystems.
well developed API. The prototype is developed with the goal to be the basis of
Beats is a set of programs - collectors of data with low the SIEM system, therefore it is necessary to provide in the
requirements on resources that are installed on client devices prototype the broad coverage of available information for
to collect system logs and files. There is a wide choice of analysis. Currently, it supports event collection of syslog
protocol, Windows events logs, telemetry hardware, OS and broker;
services, as well as information about the flow of network (2) the service for reception data from the buffer, further
traffic from netflow/sflow with Filebeat, Winlogbeat, processing and sending to Elasticsearch.
Metricbeat, and Packetbeat, respectively. In the future, if it is The usage of multiple object instances of Logstash with
needed to send specific data, it is possible to write own Beat- the division of functional roles allows you to use load
collectors on the basis of the presented library Libbeat and balancing between the data source and the Logstash cluster.
well developed API. To avoid the impossibility of entering data of a specific
For processing and delivery of data in the Elastic Stack the type, when an instance of Logstash of this type is not
Logstash implementation is used, shown in Fig. 2. available, we use a specially configured Logstash pipeline
supporting a plurality of input plugin modules. For example, if
the subsystem had only one instance of the object with
Data Source Input plugin Filter plugin Output plugin Elasticsearch
Logstash file input plugin, then when it fails it would be
impossible to take data from Filebeat. Increasing the number
of input plugin modules allows you to scale horizontally,
Logstash Instance
while separated parallel receiving pipelines increase system
Fig. 2. The scheme of Logstash functioning reliability and eliminate single point of failure.
Elasticsearch module output plugin is also configured for
It is divided into three major functional blocks, automatic load balancing using a multitude of nodes in the
implemented in the form of three extensions (plugins): Input; Elasticsearch cluster. If one of the nodes fails, the data stream
Filter; Output. In the functional block Input plugin the specific is not interrupted, which eliminates single point of failure.
event source is specified, which is read by Logstash pipeline. This ensures high availability of the cluster and route traffic to
In the prototype, these sources are beats. It accepts documents active nodes in the cluster.
in JSON format that contain data from system logs, system The use of multiple instances of Logstash objects with the
metrics, the information from the protocols and other available division of functional roles allows you to use load balancing
data in accordance with the selected collector. The block Filter between the data source and cluster Logstash.
plugin performs intermediate processing of an event. This To avoid the impossibility of entering data of a specific
allows you to structure data by extracting only necessary type, when an instance of Logstash of this type is not
information, such as date, time, IP address, error code etc. and available, we use the specially configured Logstash pipeline
storing them in data structures, to send data further to output that supports plurality of input plugin modules. For example,
plugin for onward transmission to Elasticsearch. The filter if the subsystem had only one instance of the object with
used is selected depending on the characteristics of the event. Logstash file input plugin, when it fails it would be impossible
Note that this unit is resources consuming, so the Filter plugin to take data from Filebeat. Increasing the number of input
is actively using parallel computing. In the
Output plugin the further route for File and Winlog
Metrics and
Network data
Source
processing of documents in JSON format Source
Let us consider parameters we used in the table. lower than in other papers [26-29]. In general this is enough
1. Volume of input data. There were represented results of for confirmation that our system is workable and also we
tests and experiments in analyzed papers where authors could make a conclusion of satisfaction of the requirements
presented information about test bed prototypes, using for processing and analyzing data in real time.
different volume of data [25-29]. Comparing with papers [25- 2. Number of servers/nodes used in the prototypes. Most of
29] our prototype uses 1 GB of data processed in stream way. the papers we considered use parallel and load balancing
This is a little bit more that in paper [25], but much more mechanisms to split the data in multiple streams [25-28]. This
parameter determines the ability of a system to load balance REFERENCES
traffic between different nodes in a network. In our prototype [1] Big Data Analytics for Security Intelligence. Cloud Security Alliance.
we used one physical server with characteristics that are September 2013. pp.1-12.
presented in the table 1, however, different components of the [2] R. Zuech, T.M. Khoshgoftaar, R. Wald, “Intrusion detection and Big
Heterogeneous Data: a Survey”, in Journal of Big Data, Springer,
system were located on different virtual machines. December 2015. pp.1-42.
3. Processing time. This parameter shows the speed of [3] I.V. Kotenko and I.B. Saenko, “Creating New Generation
indexing and analyzing time of the data, loaded in the system. Cybersecurity Monitoring and Management Systems”, Herald of the
There is not possible to make a comparison between papers Russian Academy of Sciences, vol.84, no.6, 2014, pp.993-1001.
[4] I. Kotenko, O. Polubelova, and I. Saenko, “Data Repository for
[25-29] using this parameter, because we have no ability to Security Information and Event Management in Service
make experiment on one platform. However, taking into Infrastructures”, in SECRYPT 2012 - Proc. of the International
consideration a power and time of data processing that we got Conference on Security and Cryptography, 2012, pp. 308-313.
in our experiment results, we could suppose that Elastic Stack [5] I. Kotenko and A. Chechulin, “Common Framework for Attack
Modeling and Security Evaluation in SIEM Systems”, in 2012 IEEE
is one of the most productive solutions in area of big data. Intern. Conference on Green Computing and Communications, 2012,
4. Method of data processing. This parameter describes pp. 94-101.
type of data processing [25-29]. According to the Table 1 we [6] I. Kotenko, A. Chechulin, and E. Novikova, “Attack Modelling and
could see that most of the researches use stream method of Security Evaluation for Security Information and Event Management”,
in SECRYPT 2012. Intern. Conference on Security and Cryptography,
data processing [25-28]. Our prototype uses stream data 2012, pp. 391-394.
processing mechanisms also, that is a key parameter for [7] I. Kotenko, O. Polubelova, and I. Saenko, “The Ontological Approach
building new generation SIEM-systems. for SIEM Data Repository Implementation”, in 2012 IEEE
5. Main task of the developed prototype. Each research International Conference on Green Computing and Communications,
2012, pp. 761-766.
paper that is considered in Table 1 solves a specific challenge. [8] ApacheHadoop 2.7.2, Web: http://hadoop.apache.org/docs/ current/.
All the prototypes we have considered in this paper are able to [9] J. Dean and S. Ghemawat, MapReduce: Simplified Data Processing on
proceed the huge amount of stream data for fast detection of Large clusters, Google Inc., 2004. pp.1-13.
information security incidents. The goal of the prototype we [10] K. Shim, “MapReduce algorithms for big data analysis”, Databases in
Networked Information Systems. Lecture Notes in Computer Science,
developed is to solve the challenge of creation a shared search vol.7813, 2013, pp.44-48.
and analytic core control system and management of the [11] Apache Storm, Web: http://storm.apache.org/.
incidents that is able to search information through huge [12] O. Santos, Network Security with NetFlow and IPFIX: Big Data
volumes of different data types. Analytics for Information Security, Cisco Press, 2015, 320 p.
[13] K.M. Kavanagh, O. Rochford, T. Bussa, 2016 Magic Quadrant for
VI. CONCLUSION SIEM. Gartner, 10 August 2016.
[14] (2017, Jun.) HPE Security ArcSight ESM, Web: https://saas.hpe.com/
The paper presented the architecture and the prototype of en-us/software/siem-security-information-event-management.
the system for the collecting, storing and processing of [15] (2017, Jun.) IBM Security QRadar SIEM, Web: http://www-
03.ibm.com/software/products/en/qradar-siem.
security information and events based on big data [16] (2017, Jun.) Alienvault OSSIM. [Online] Available: https://
technologies. To solve the problem the analysis of relevant www.alienvault.com/products/ossim.
papers and modern SIEM products and solutions, [17] (2017, Jun.) Splunk Enterprise. [Online] Available:
implementing the collecting, storing and analysis of system https://www.splunk.com/en_us/products/splunk-enterprise.html.
[18] (2017, Jun.) ManageEngine EventLog Analyzer. [Online] Available:
events and telemetry data was performed. Based on this the https://www.manageengine.com/products/eventlog/.
generalized architecture of the monitoring system that meets [19] (2017, Jun.) Cisco Systems OpenSOC. [Online] Available:
the requirements was suggested. We selected the solution on https://github.com/OpenSOC/.
Elastic Stack and implemented a prototype system for research [20] (2017, Jun.) Apache Metron, Web: http://metron.incubator.apache.org/.
[21] (2017, Jun.) GitHub Apache Metron. [Online] Available:
purposes basing on it. We conducted several experiments https://github.com/apache/incubator-metron/pulls.
demonstrating the performance of the developed system. The [22] (2017, Jun.) Graylog. [Online] Available: https://www.graylog.org/.
ability of this solution to collect, store, structure and analyze [23] (2017, Jun.) Documentation Graylog. [Online] Available:
data of any type with high performance, flexibility and http://docs.graylog.org/en/2.2/pages/configuration/elasticsearch.html.
[24] (2017, Jun.) Elastic Stack. [Online] Available: https://www.elastic.co/.
extensibility of a software system provides wide opportunities [25] J. Chen, Z. Tang, K. Bilal, S. Yu, C. Weng, and K. Li, “A Parallel
for further product development in the area of security, Random Forest Algorithm for Big Data in a Spark Cloud Computing
monitoring and control of information systems. Future Environment”, IEEE Transactions on Parallel and Distributed Systems,
research and development will be focused on further vol.28, Issue 4, 2017, pp.919-933.
[26] X. Shu, J. Smiy, D. Yao, H. Lin, “Massive Distributed and Parallel Log
improvement of the system architecture, the study of the Analysis For Organizational Security”, in IEEE Globecom Workshops,
interaction of the components with each other for security December 2013, pp.194-199.
information and events processing, as well as on analysis and [27] Leveraging a Big Data Model in the Network Monitoring Domain.
experimental evaluation of the functioning of the system for White Paper. VSS Monitoring. 2014.
[28] T. Dumitras, D. Shou, “Toward a Standard Benchmark for Computer
different security information and events streams. Security Research: the Worldwide Intelligence Network Environment
(WINE)”, in BADGERS’11, 2011, pp.89-96.
VII. ACKNOWLEDGMENT [29] P. Giura, W. Wang, “Using Large Scale Distributed Computing to
The work is performed by the grant of RSF #15-11-30029 Unveil Advanced Persistent Threats”, Science Journal, vol.1, no.3,
2013, pp.93-105.
in SPIIRAS.