God Abeg
God Abeg
God Abeg
BY
JULY, 2023
CERTIFICATION
I hereby certify that this project was carried out by Sobande Oluwateniola
Oluwanifemi in the Department of Computer and Information Sciences, College of
Science and Technology, Covenant University, Ogun State, Nigeria, under my
supervision.
Mr Chukwuebuka Ejiobih
Supervisor Signature and Date
i
DECLARATION
This project is dedicated to God almighty for he has been my strong anchor during the
course of this program. I would not have made it this far if not because of your
constant company and your sustenance. All because of you, the journey has been
wonderful.
ii
ACKNOWLEDGEMENTS
I would like to express my sincere gratitude and appreciation to all those who have
contributed to the successful completion of this project.
I would also like to extend my appreciation to the participants who volunteered their
time and provided valuable feedback during the user testing phase. Their insights and
suggestions have immensely contributed to improving the usability and effectiveness
of the GUI.
Lastly, I would also like to give all the glory to Lord God almighty for keeping me till
this day, allowing me to commence this project, for his grace that kept me all through
and for the successful completion of this final year project.
Without the collective efforts and support of all these individuals, the successful
completion of this project would not have been possible. Thank you for being an
integral part of this journey.
iii
TABLE OF CONTENTS
CERTIFICATION
i
DECLARATION
ii
ACKNOWLEDGEMENTS
iii
TABLE OF CONTENTS
iv
ABSTRACT
ix
CHAPTER: INTRODUCTION
1
1.1 Background 1
1.2 Statement of the Problem 3
1.3 Aim and Objectives of the Study 4
1.4 Methodology 4
1.5 Significance of the Study 5
1.6 Limitations of the Study 5
1.7 Arrangement of Research Outline 5
v
CHAPTER FIVE: SUMMARY, RECOMMENDATION AND
CONCLUSION
45
5.1 Summary 45
5.2 Recommendations 45
5.3 Conclusion 46
REFERENCES
47
LIST OF TABLES
vi
LIST OF FIGURES
vii
ABSTRACT
This project aims to develop a Graphical User Interface (GUI) for an effective
implementation of a Security Information and Event Management (SIEM) system.
SIEM systems play a crucial role in modern cybersecurity by centralizing and
analysing security event data from various sources. However, the complexity of SIEM
systems often presents challenges for users, particularly in terms of usability and
efficient utilization of its features. The GUI developed in this project addresses these
challenges by providing a user-friendly interface that simplifies the basic management
and efficient implementation of the Security information and Event Management
System. The interface offers intuitive navigation, user feedback integration
capabilities. It enables users, such as security analysts and IT administrators, to easily
install, integrate, configure, and deploy the SIEM system, to enable them monitor
real-time security events, and respond to incidents effectively. Through an iterative
design process and user testing, the GUI ensures a streamlined user experience,
allowing users to integrate SIEM system effortlessly into their environment. The GUI
leverages modern web technologies and responsive design principles to provide a
seamless experience across different devices and screen sizes. The successful
implementation of this GUI for SIEM empowers organizations to enhance their
security monitoring capabilities, detect potential threats more efficiently, and respond
promptly to security incidents. The user-friendly interface reduces the learning curve
for SIEM system adoption and enables security teams to focus on proactive threat
detection and incident response, ultimately strengthening the overall security posture
of the organization.
viii
CHAPTER ONE
1INTRODUCTION
1.1 BACKGROUND
One of the most significant technologies of the 20th century was the internet, and it
opened a world of opportunity for both individuals with good intentions and those
with evil ones (Perwej et al., 2021). Before 1988, there were no significant computer
threats because both computers and the internet were still developing, and security
issues were easily identifiable. However, the Morris worm, a computer worm that
spread via the internet, was responsible for the first cyber danger that materialized in
1988 (Bishop, 2003). Numerous such cyber-attacks after the Morris worm have
necessitated the use of cyber-security or computer security.
1
analyzing data to look for suspicious actions or vulnerabilities. For a SOC to perform
at optimal capacity, data must be obtained from firewalls, threat intelligence sources,
endpoints, intrusion detection systems, and intrusion prevention systems. This data is
shipped or collected by the Security Information and Event Management system,
which in turn analyzes the data(logs) to produce events that are based on correlation
rules. These events are then used to create reports (incident reports) and then take
security-based decisions on how to respond to the event. The National Institute of
Standards and Technology defined a SIEM as an application that enables the
collection of security data from information system components and presents the data
collected to the members of the SOC team in the event of any Indication of
Compromise (IOC) to the data (Johnson et al., 2019).
The product and services of security information management (SIM) systems and
security event management (SEM) systems are combined in a Security Information
and Event Management System (SIEM) tool (Menges et al., 2021). This tool is one of
the main tools used by SOC analysts to get real-time analysis of security alerts
generated by applications and network hardware, generate incident reports, and assure
information. For proper management of security data, this data must be centralized,
and the SIEM tool serves as a ‘nerve centre’ for all machine actionable information
via a single interface.
SIEM systems have developed into comprehensive systems that offer broad visibility
to identify areas of high risk and proactively focus on mitigation methods aimed at
decreasing incident response costs and time (González-Granadillo et al., 2021). This
is possible because every SIEM contains a data aggregation system, a security data
analytics system, and an incident detection and response system. Real-time event
console, threat intelligence, and forensic analysis (Antonio, 2013).
Taiwan was a victim of a significant phishing attack in May 2020, when recipients of
emails from the country's senior infection-disease official were urged to seek
coronavirus tests. In June 2020, ransomware attacked the University of California,
San Francisco, and the perpetrators, who go by the name Netwalker, wanted 1.14
million dollars from the victims. France was once again the target of a distributed
denial of service (DDOS) attack in March 2020, which prevented several hospitals
from accessing their email accounts and servers. Virtual private networks (VPN),
2
multi-factor authentication, segmentation and separation, and the usage of SIEM are
some techniques for reducing cyberattacks (Pranggono & Arabo, 2020).
Since the lockout of 2020, SIEM solutions have become increasingly crucial, but it is
difficult to find information security professionals who are both well-rounded and
skilled in SIEM. These individuals are needed to integrate and manage the SIEM
system and the fact that they are scarce leave organizations whether small or large to
purchase preconfigured SIEMs at an extra cost. The reason why finding a SIEM
specialist is hard is that you are not only looking for someone with information
security and networking skills, but you are also looking for someone who can
implement a SIEM solution, that understands the various documentation needed in the
implementing and regular maintenance of the SIEM solution and can generate
correlation rules for the SIEM solution (González-Granadillo et al., 2021).
According to Petrosyan (2022), the average cost per data breach worldwide rose by
4.24 million U.S. dollars from 2021 to 4.35 million U.S. dollars in 2022. Modern
intrusion detection technologies must be used to protect computer systems and
networks since hackers continue to show off their highly developed capabilities
(Khraisat et al., 2019). A SIEM is an intrusion detection system that assists in
simplifying the review of audit logs while escalating indicators of compromise (IOC).
SIEM can review relevant events for indications of potential incidents or threats.
SIEM relies on the security analyst’s expertise to manage its integration,
configuration, and management (Winkler & Gomes, 2017).
3
configuring SIEM solutions is a significant issue. It is confusing and time-consuming
for organizations to comprehend the nuances of various SIEM solutions, including
their topologies, data sources, and correlation algorithms. Also, the deficiency of
talented network protection experts who are capable of SIEM and can deal with the
coordination cycle adds to the intricacy. Setup, configuration, and optimization of
SIEM solutions may be hampered by a lack of qualified personnel with the necessary
expertise, resulting in implementation delays and misconfigurations (González-
Granadillo et al., 2021).
The aim of this research work is to develop a GUI-based tool to integrate, deploy, and
perform basic management tasks on SIEM. Hence providing a platform to integrate
and deploy the Elastic Security System.
i. To investigate and document the functional and design requirements for this
security tool.
ii. To design and model the security tool.
iii. To implement the security tool.
iv. To evaluate and test the implemented security tool.
1.4 METHODOLOGY
4
IV. The security tool will be evaluated using usability and performance tests.
The relevance of this project can be seen as stated in the following reasons:
i. The study results in the development of a tool to render ease in integrating and
deploying the SIEM tool.
ii. This project reduces the dependency on the terminal for integration.
Deployment, and basic management of the SIEM tool and the servers
associated with it.
iii. It reduces the overall cost of implementation of the Security Information and
Event Management System, from training of analyst, to acquiring enterprise
based Security Information and Event Management Systems.
Chapter one of the project contains an explanation of the project, problems on the
Elastic Security System, the methodologies involved, the study’s significance as well
as its limitations. Chapter two explains the existing system relating to the project topic
and the methodologies used. Chapter three describes the system analysis and design.
Chapter four shows the stepwise implementation of the tool and the results obtained.
Chapter Five summarizes the project and gives the subject’s recommendations,
suggestions, and finally conclusions.
5
CHAPTER TWO
2LITERATURE REVIEW
2.1 PREAMBLE
This chapter reviews graphical user interfaces developed from existing command line
functionalities or applications that have applied related methods to the ones used in
this project. It begins with an overview of terminal-based applications and the
challenges associated with using them. After that, it reviews the literature that is
currently available on the design and development of graphical user interfaces for
terminal-based applications in order to validate the problems that these interfaces
were able to solve with the help of their implementation strategies and to verify their
effectiveness. It later ends by discussing the difficulties encountered in their
development.
2.2 INTRODUCTION
For a system to be properly set, error risk to be minimized, and system effectiveness
to be maximized, Security Information and Event Management (SIEM) solutions
must be installed effectively. SIEM solutions are made to track and examine security-
related data from numerous sources, including servers, network devices, and software.
The system does real-time data analysis, identifies security threats, and notifies
security staff so they may take the necessary action (Mokalled et al., 2020). A
6
successful installation guarantees that the system is configured appropriately,
minimize the possibility of problems, and increases the system's effectiveness.
False positives, missed events, and other problems that reduce the SIEM system's
utility can result from improper installation (Bryant & Saiedian, 2020). According to a
survey by the Ponemon Institute (IBM, 2022), the average data breach cost in 2020
was $3.86 million, and an improperly installed SIEM system raises the possibility of
data breaches, which can bring about large monetary losses, harm to the organization's
reputation, and legal obligations.
This project is aimed at creating a graphical user interface (GUI) for the installation of
a SIEM (Elastic Security), which was originally done via a command-line interface
(CLI), to aid usability, reduce dependence on documentation for installation,
configuration, and deployment, and to reduce the overall cost involved in the
deployment of a SIEM.
Dr. Michael Daniel, the former Cybersecurity Coordinator for the United States, said
in a speech at the RSA Conference in 2019,” The expected cost of cyber-attacks to
companies by the year 2024 is estimated to be more than 5 trillion dollars.” Certain
information like personally identifiable information (PII), protected health
7
information (PHI), and personal security information (PSI) are termed protected
information. Protected information is the most compromised type of information, and
their compromise can lead to stolen trade secrets, loss of competitive advantage, and
loss of customer faith in the company’s ability to protect their personal information.
For this reason, a security operation center (SOC) is commonly used by businesses
(Nugraha, 2021).
8
vulnerable to multiple threats that increase the chances of violating the basic security
principles: confidentiality, integrity, and availability. Two of the most important risk
mitigation mechanisms in a network are intrusion detection systems (IDS) and
intrusion prevention systems (IPS) (Rao & Mouli, 2021). IDS constantly analyzes the
network traffic and acts accordingly in the instance of a known attack, while IPS takes
all the necessary actions needed to mitigate a recognized security incident
automatically and in real time. The IPS and IDS are suboptimal because of several
disadvantages, hence the creation of the security information and event management
system, which can deal with more complex attacks (Cotenescu, 2016).
SIEM systems are used for data collecting and filtering, threat detection and
categorization, threat analysis, and investigation. SIEM systems can manage resources
to enforce precautions and address potential threats. The main functions of the SIEM
include threat intelligence, vulnerability tracking, vulnerability assessment, log
management, security monitoring, security control, event collection, correlation, and
analysis (Nugraha, 2021).
SIEM systems can be set up in several different ways, such as on-premises, in the
cloud, or using a hybrid approach. The on-premises approach involves the IT
department of a firm installing and maintaining on-premises SIEM systems on the
company's servers. On the other hand, cloud based SIEM solutions are hosted by a
9
third-party source and accessed online. Hybrid SIEM solutions blend capabilities
from the cloud and on-premises environments (Cotenescu, 2016).
SIEM can also be classified into open-source and proprietary solutions. A security
system that is created and supplied by a single vendor is known as a proprietary SIEM
(Security Information and Event Management). Typically, real-time threat detection
and response, compliance reporting, and log management are all features of
commercial software solutions. Although proprietary SIEM systems are frequently
more expensive than the open-source competition, they might offer superior features,
capabilities, support, and integration possibilities like User and Entity Behaviour
Analysis (UEBA), Security Orchestration, Automation and Response (SOAR), and
Extended Detection and Response (XDR) (Shoard & Davies, 2022). Splunk, IBM
QRadar, LogRhythm, McAfee Enterprise Security Manager, and ArcSight are some
well-known proprietary SIEM products. Open-Source SIEM (OSSIM) is the most
used software in the world, used by many public and private institutions. OSSIM is a
SIEM solution that is built on open-source software. It offers log management,
compliance reporting, and real-time threat detection and response. Open-source SIEM
solutions can offer a wide range of security features and capabilities, and they are
frequently more affordable than proprietary solutions. Elastic Security, Snort,
Graylog, Wazuh, and Mozilla Défense Platform are examples of open-source SIEM
solutions (Sheeraz et al., 2023).
Experts will always recommend open-source SIEM solutions as a start for any
organization, and most small to medium-sized organizations prefer to use open-source
SIEM solutions as they fulfil most of their requirements, but the same can’t be said
for large enterprises. Although open-source SIEM systems are readily available and
cost-free to deploy, they also need a significant amount of time and effort. Contrarily,
proprietary SIEM systems are pricey but relatively simple to set up, necessitating less
time and labour to be used (Sheeraz et al., 2023).
10
involves installation, configuration, and integration is a process attributed to some
complexity and problems which include a lack of skilled personnel, high
implementation costs, high time involved in SIEM implementation, lack of
automation, inconvenience in performing implementation procedures, and reliance on
the multicomponent documentation. The solution Sizov and Kirov (2022) gave was to
automate the entire procedure for installation and configuration. Sheeraz et al. (2023),
also stated that currently, there is no detailed or well-defined SIEM architecture in
literature, but an effective SIEM must include the following features: real-time
monitoring, Threat intelligence, behavior profiling, data monitoring, user monitoring,
application monitoring, analytics, log management, updates, reporting, detailed
system description, and a Graphical User Interface (GUI).
Detken et al. (2015) in their article on the SIEM approach for a higher level of IT
security in enterprise networks, stated that the type of companies that are more liable
to attacks are small and medium enterprises (SME). The article also stated that in this
SME, the presence of several security components like an anti-virus-system, firewall,
and intrusion detection system, is not enough to recognize and mitigate all attacks if
they are not installed and integrated in a way that the individual components are
combined and correlated with one another (Detken et al., 2015). Detken et al. (2015)
also stated that SIEM systems are expensive and complex to deploy and maintain.
Reasons why SIEM systems are not suitable for use in SMEs according to Detken et
al. (2015) are the high cost of installation and maintenance because new components
of IT infrastructure are to be installed, configured, and maintained, high costs of the
operation due to the necessity of extensive expert knowledge. Detken et al. (2015)
solution to the following problem was found in the Security Information and Event
Management for Small and Medium-sized Enterprises (SIMU SIEM).
The overall goals of these non-functional SIMU SIEM elements are simplicity,
effectiveness, security, and compatibility. The goal of SIMU SIEM is to make the
installation, use, and maintenance of a network security management system simpler
while increasing its overall efficacy. It does this by offering standardized
configurations, automated guideline formulation, intuitive visualizations, and
interoperability with current network components (GmbH, 2023).
12
2.5 INTERFACE IN CYBERSECURITY
No fact shows that one interface is better than the other, facts only show that the
choice of interface used is dependent on the users’ ability to perform tasks seamlessly.
A highly usable computer system will make it simple for users to discover
information and will help when required. Also, it will increase productivity, decrease
the volume of support calls, reduce user annoyance, and boost acceptance. It also
assists in identifying and correcting significant design defects, which reduces
expenses for future change, which is frequently expensive (Matras, 2015). The main
advantage that a graphical user interface (GUI) has over the command-line interface
(CLI) is usability which in turn gives way to other advantages including reduced cost,
adaptation to users’ tasks and environment, accommodating users’ needs, and aiding
user acceptance. Andrews (2021) conducted research on comparative analysis of
interface usability for cybersecurity, and one of the focuses of his research was to
discover the benefits and drawbacks users recognized in both the graphical user
interface and command-line interface approach to cybersecurity. From his research, he
deduced that most participants said that the graphical user interface was easier and
provided a more beginner-friendly experience. Some other participants that still
preferred the GUI over the CLI said that the CLI gives the user more flexibility than
the GUI could not provide. In conclusion, the majority of the participants preferred
the graphical user interface approach over the command-line interface approach. This
project aims to create a graphical user interface that makes the integration of SIEM
tools easier, especially for beginners or people that are not all that familiar with the
system.
Command Line Interface (CLI) is a commonly used term in the field of computer
science and software development used in place of Terminal-based applications.
Terminal-based applications are applications that receive commands from the user in
the form of lines of text written in the terminal, console, or shell e.g., git, vim, etc.
The first attempt at a terminal-based application was the creation of the command-line
interface. The first command-line interface was the creation of the Compatible-Time
sharing system (CTSS), which was created in the early 1960s. This was a precursor
for the modern shell which birthed the UNIX operating system later in the year 1969
13
in Bell Laboratories by Ken Thompson (Raymond 2003). Kaye (2012) said that the
first attempt at a terminal was the creation of an electromechanical device called the
Teletypewriter (TTY), which was a typewriter that entered data into a computing
system. It was also referred to as a dumb terminal. Other terminals that have been
created are the Bourne again shell (BASH), Multics Time Sharing Operating System,
RUNCOM, and Korn shell (KSH) (Robbins, 2005).
The command-line interface has been modified over time. The original UNIX v6
created by Thompson was only created to invoke commands and view results, while
the Bourne shell created in 1977 was created to interactively execute commands for
the operating system, and scripting. The Bourne shell also introduced control flow,
loops, and variables (Lhotka, 2007). The command-line interface is preferred above
other interfaces because it requires less memory, it is the fastest and most efficient
type of interface, it is highly precise and it requires few system resources, it is also
helpful in automating repetitive tasks, and it helps to perform certain tasks that are not
available while using other interfaces because the tasks are system protected
(Voronkov et al., 2019a). It also has its negative aspects which include having a steep
learning curve, it doesn’t provide feedback, it relies heavily on commands which can
be prone to human errors and there is no way to undo them, and it is confusing and
requiring a certain level of expertise and familiarity to manipulate effectively
(Voronkov et al., 2019).
From the negative aspects, we can see that the command-line interface’s major issue
is human-computer interaction. One major attribute of good software is usability.
Usability relates to how the system interacts with the user and it includes five major
attributes namely learnability, user retention over time, efficiency, error rate, and
satisfaction over time (Gopaluni et al., 2019). According to ISO 9241 (2019), The
degree to which a product may be used by specific users to achieve specific goals
with effectiveness, efficiency, and satisfaction in a specific context of usage is known
as usability. Since the creation of the first mouse in 1962, GUI has been centered on
creating an interface easy to use, where the interface is manipulated based on
recognition rather than retention of some commands. Adam Powell (1997) also made
it clear that previous computers using only a command-line interface weren’t
comfortable for use by the user. He also went ahead to say that the comfortable
14
environment of the GUI made personal computers attractive to the average person
thereby leading to an increase in the sale of personal computers.
Adam Powell (1997) defined the graphical user interface as a computer interface that
displays icons for folders, program names, and recycle bins to make it simple for you
to navigate through your desktop and programs. You can even use a mouse thanks to
it. The graphical user interface (GUI) is sometimes pronounced as “gooey”. Since the
creation of the mouse in 1962 and the creation of the NLS (oNline System) in 1968,
the GUI has been around but not available to the public for use GUI was first a thesis
written by Raskin on WYSIWYG (what you see is what you get) graphical interface
back in 1967. The first real-life usable GUI was Xerox’s Alto computer which
debuted in 1974, but the first GUI personal computer available to the public was the
Apple Lisa created by Steve Jobs and Steve Wozniak in 1979 After this the next big
change in GUI was the creation of the Apple’s Macintosh in 1984 (tuck, 2001).
The graphical user interface eliminates the need to remember and input lengthy
stretches of code to do specific operations. The graphical user interface, which
consists of windows, icons, menus, and pointers, has taken the place of these codes.
Users interact with the GUI by using a mouse or another pointer, such as a light pen,
15
to choose the icons they need. Drivers translate these straightforward human actions
into machine language that the computer can comprehend (Johnson, 2023).
While a command-line interface gives you more freedom and is essentially just a
predefined set of instructions that are executed when you click an icon, a graphical
user interface (GUI) might be perceived as stiff. GUIs require more power than
command-line interfaces because they need to provide a variety of graphics and
human-computer interface (HCI) functions. As a result, they process information
much more slowly than command-line interfaces. Because every component of a GUI
needs to be conceived, planned, implemented, and tested, GUI development and
implementation take a long time (Johnson, 2023).
The purpose of this study, the methods used for it, and a critical examination of
pertinent literature are discussed in this part. It includes a review of graphical user
interfaces created from already existing command-line interface functionalities used
for various purposes with relevant architectures and frameworks for this work,
followed by a review of graphical user interfaces used for information security created
16
from already existing command-line interface functionalities. This chapter acts as a
reference for the software development process employed in this project.
2.6.1 GITKRAKEN
The Linux operating system Kernel was developed by Linus Torvalds in April of
2005, Git is a Distributed Version Control System (DVSC) that monitors changes
made to any collection of computer files. It is typically used to manage collaboration
among programmers working on the source code during software development (Arndt
et al., 2019). After the relationship between the group that created the Linux terminal
and the business that created BitKeeper broke down and BitKeeper's free-of-charge
status was revoked, the Linux community made the decision to develop their own tool
based on the lessons they learned from using BitKeeper, including its speed,
simplicity, fully distributed nature, strong support for non-linear development, and
capability to handle large projects like the Linux kernel in particular. (Git - a Short
History of Git, n.d.).
Git is primarily used or managed on the command line. Some advantages of Git GUI
over its CLI, include speed, implicit visualization, the lack of Git logs, and simpler
merging conflict resolutions. GitKraken is one of the GUIs for Git (Kettner & Geisler,
2022). Axosoft's GitKraken is a potent graphical user interface for Git that was
constructed on top of the Electron framework. It was created as an alternative to the
Git command line and is a cross-platform graphical user interface that developers can
use on Windows, Linux, and Mac (Tsitoara, 2019). In the creator of GitKraken Hamid
Shojaee words, “…virtually every Git command is simply easier to do in GitKraken.
Whether you are making a commit, opening a pull request, branching, merging, or
having merge conflicts, it’s easier to take these actions inside of GitKraken than on
the CLI” (Schiemann, 2019). According to Arndt et al., (2019), Git can be difficult to
learn (steep learning curve), especially for new users, from creating branches to
manipulating branches. GitKraken solves this with its user-friendly interface which
makes the creation and manipulation of branches and commits easy.
17
systems. Desktop applications built from the Electron framework act like web apps,
but they can read and record data in a computer file system. Applications made with
the Electron framework have a few shortcomings like resource hogging, where the
applications take up a lot of system resources while in use such as RAM (random
access memory), and it is large in size, majorly because it has its version of chromium
which could be as large as an operating system. Using the Electron framework to
make applications has a lot of benefits like high data security, this is because it stores
most of its data locally. It is also a reusable framework since the same codebase can
be used for both web and desktop applications. Another benefit is it makes
applications created with it easier to manage and it reduces the time and other
expenses incurred during the development process (Jasim, 2017).
2.6.2 ZENMAP
18
against single hosts. Nmap is available in official binary packages for Linux,
Windows, and Mac OS X and is compatible with all widely used computer operating
systems. Nmap is written in C, C++, Python, and Lua (Nmap, 2017).
Nmap is typically used as a UNIX tool that runs from the command line. As
command-line-based apps have an advantage over batch scripts, this is how it was
originally designed. The GUI versions of Nmap have been more and more popular in
recent years as a result of the urgency around federal regulations and international,
state, and local laws. In order to detect and track things like open ports and service
types in their infrastructures, data security, and more firms have been compelled to do
so. Using a GUI in the front end of the application is a convenient way for people who
are new to these security jobs to understand how Nmap functions and acquire more
sophisticated usage strategies. The increase in worm-based vulnerabilities, which
started around 1999–2000, was another factor driving more techies to Nmap and GUI-
based versions of Nmap. On a network, locating infected machines becomes difficult.
Nmap saved the day by providing a reliable tool. History has shown that they have
been several renditions of the Nmap GUI, like Nmapwin, Ncrack, NmapFE, and,
NmapNT, but all have been replaced by ZENMAP in November 2007 (Orebaugh &
Pinkard, 2011). ZENMAP was built to enhance the usability of the NMAP interface l
The official Nmap Security Scanner GUI is called Zenmap. It is a free and open-
source application that runs on multiple platforms (Red Hat Enterprise Linux, Ubuntu,
Windows, Mac OS X, OpenBSD, etc.) and strives to make Nmap simple to use for
newcomers while giving complex functionality to Nmap veterans. Zenmap was
originally derived from Adriano Monterio Marques Umit, an Nmap GUI created
19
during the Google-sponsored Nmap summer of code in 2005 and 2006 (Nmap, 2017).
Zenmap wasn’t created to replace Nmap but to make it more useful. Some advantages
Zenmap has over plain Nmap are interactive and graphical result viewing,
comparison, convenience, repeatability, and discoverability (Lyon 2008). The Python
programming language was used to create Zenmap, a multi-platform graphical Nmap
frontend and results viewer, while the GTK Toolkit was used to create the interface.
GTK Toolkit or GNU Manipulation Program (GIMP) is a free and open-source cross-
platform widget API for creating Graphical User Interfaces (GUIs), created in 1996.
GTK Toolkit as a powerful and flexible GUI Toolkit has certain advantages. It is a
cross-platform toolkit that runs on various operating systems, including Linux,
Windows, and macOS. It has the support of a very large and active community that
provide extensive resources for learning, troubleshooting, and getting help. It provides
language bindings for several popular programming languages including C, C++,
Python, and Rust. It has a rich set of widgets that are used to create complex and
interactive user interfaces. GTK Toolkit also has its shortcomings. GTK being object-
oriented and written in c makes it harder to learn in comparison to other GUI toolkits,
and it lacks support for mobile development such as Android and iOS (Williams,
2019).
20
2.6.3 ARMITAGE
21
used primarily for internet-based applications and designed for embedded network
applications running on multiple platforms. As long as a computer has the Java
interpreter, any Java program will execute identically on that machine regardless of
hardware specifications or operating system, making it incredibly portable and usable
on a variety of operating systems. Java contains a number of security mechanisms that
guard computers running Java programs against malicious software and incorrect
code. Due to the fact that its source code is first compiled into binary byte code that is
then executed by the Java Virtual Machine (JVM), Java is both a compiled and an
interpreted language. The ability of Java to turn source code to byte-code gives it its
portability feature because any Java program can run on any operating system that has
a Java Virtua Machine (JVM) installed on it. In comparison to C++, java codes
execute slower. It also takes up a lot of memory and is extremely verbose (Austerlitz,
2003).
2.6.4 WINSCP
The first file transfer mechanism was proposed in 1971. It was developed for
implementation on hosts at M.I.T. Later on, the File Transfer Protocol (FTP) was now
defined as a protocol for file transfer between hosts on the ARPANET. Its main
purpose was to transport files between hosts efficiently and reliably while also
22
enabling remote file storage (Postel & Reynolds, 1985). FTP doesn’t require special
data encoding to the 7-bit form because it is an *-bit protocol. Two TCP ports are
used by FTP for connection. TCP ports 20 and 21 are used for data transfer and
conversation, respectively, between a client and a server. FTP can be used directly
from a terminal, but all its terminal functions have been abstracted to a few points and
clicks. FTP can be transmitted via block mode, streaming mode, or compressed mode.
Files can also be transmitted using the Ascii mode, which uses the standard 8-bit
ASCII to transfer text files, and the binary mode, which sends binary files bit by bit.
FTP is sent as a string of unencrypted characters specifying the commands. This mode
of transferring data is risky because the username and password sent over the network
are unencrypted and can be intercepted (pl, n.d.).
Transmission of data over a network using FTP is not secure and advisable. Because
of this security issue secure file-sharing techniques have been made. Data can be
transmitted securely either over a Virtual Private Network (VPN) or by using Secure
Shell (SSH). SSH is associated with TCP port 22. It provides a set of standards and
associated network protocols to establish a secure connection between endpoints
transmitting data across a media whose security is not guaranteed (such as the
internet). SSH makes use of public key cryptography and message authentication.
SSH was originally intended for secure system administration on UNIX servers in
1995. Major SSH protocols for securely transferring data are secure file transfer
protocol (SFTP and FTPS) and secure copy (SCP) (Realtimepublishers.com, 2007).
FTPS is the transfer of files within an SSH session. In FTPS the data isn’t encrypted
but it is passed through a secure channel. The difference between SFTP and FTPS is
that SFTP encrypts the data during transmission. SCP transfers data through an SSH
connection, but it differs from FTPS by encrypting the authentication and other traffic
(Jones & Realtimepublishers.com, 2009).
WinSCP was created by Martin Prikryl in March 2000, while he was working at the
IT department of the University of Economics in Prague. The concept of WinSCP
came from Jan Havlicek, and it is the first GUI file transfer client for SSH ever.
WinSCP is a file manager and free, open-source SFTP, FTP, WebDAV, S3, and SCP
client for Windows. Its main function is file transfers between nearby and distant
computers. In addition, WinSCP has basic file manager functionality and scripting
23
(Prikryl., n.d.). WinSCP is a graphical user interface (GUI) for transferring files and
managing remote files on servers written in C++. WinSCP provides secure file
transfer, and transmission automation through its built-in scripting interface, and
protocol support like SCP, FTPS, and SFTP (Pleshkova & Panchev, 2021). WinSCP
is designed to run on the Windows operating system, and it utilizes the Microsoft
Foundation Classes (MFC). WinSCP being designed for Windows doesn’t hinder it
from connecting to remote servers running different operating systems like Unix,
Linux, and macOS (Hitchcock, 2022).
24
2.7 ELASTIC SECURITY
25
features. As a key element of Elastic Security, it helps to monitor and analyze
security-related events.
According to Farhan et al. (2019), GUI design principles are a collection of standards
that assist designers develop interfaces that are simple to use, aesthetically pleasant,
and functional. These recommendations, which are based on studies in psychology
and human-computer interaction, are intended to assist designers in producing
interfaces that are simple, effective, and efficient.
26
Endsley (2016) describes user-centered design as a strategy for creating user
interfaces that are focused on the requirements and behaviours of the user. In this
method, user goals, tasks, and preferences are understood to create interfaces that are
suitable for their requirements. User research, usability testing, and prototyping are a
few examples of strategies used in user-centered design to incorporate users in the
design process. Designers may produce interfaces that are more effective, efficient,
and enjoyable to use by concentrating on the demands of the user. This strategy can
assist in lessening annoyance and boost output, which will ultimately improve the
user experience.
Effective GUI design for system administration should be aesthetically pleasing, user-
friendly, and efficient, according to Gupta (2015). The study discovered that a user-
friendly GUI design should have a contemporary, clean aesthetic. The user's needs
and tasks should be prioritized in the GUI's design. The authors recommended that the
GUI be created with a straightforward layout that is simple to use. Efficiency in GUI
design is crucial, and activities should be completed with the fewest possible clicks,
according to the study's findings. The authors recommended that the GUI be
developed to give users feedback and assist them in understanding how the system is
reacting to their actions. According to the study's findings overall, an efficient, user-
friendly, and visually appealing GUI design for system administration should be
centered on the needs and tasks of the user.
According to Gonçalves and Campos (2017), the various methods of evaluation are
user experience evaluation, usability testing, cognitive walkthrough, and heuristic
evaluation. Heuristic evaluation is described as a usability assessment technique in
which evaluators examine a software interface using a collection of established
usability guidelines or heuristics. Cognitive walkthrough is a usability evaluation
method that uses user task simulation and software interface walkthrough to identify
usability flaws. In usability testing, users are chosen to use the program and complete
tasks while their interactions are recorded. As part of the usability testing process
known as "user experience evaluation," surveys or interviews are used to gather
feedback and opinions from users about the program. There is no evaluation method
that is the most effective as the effectiveness of each evaluation technique is
27
dependent on the goals and context of the evaluation. A combination of evaluation
techniques can provide a more holistic evaluation of the GUI design (Gonçalves &
Campos, 2017). I will be using the usability Testing approach to evaluate my project
work.
CHAPTER THREE
3.1 PREAMBLE
This chapter provides a thorough evaluation of the project's planning and design,
which is named "Creation of a GUI for the Implementation of Elastic Security Using
Electron framework." In this chapter, we explore the many facets of system analysis
and design, emphasizing use case, sequence, and activity diagram generation, as well
as the identification and specification of functional and non-functional requirements.
Functional and non-functional requirements are the two main categories of software
requirements. The next paragraph goes into further information about the project's
requirements.
28
3.2.1 Functional Requirements
Functional requirements are specifications that list the functions and behaviors that a
software system or product must have in order to work properly. These requirements
describe the planned activities of the system and specify how it ought to react to
various inputs and user interactions. The functionality of the system and its capacity
to carry out particular activities or actions are the main subjects of functional
requirements.
I. The tool shall use SSL certificates to protect data generated on each node.
II. The tool shall maintain a simple and easily usable interface for users.
III. The tool should be compatible with multiple operating systems.
IV. The tool should follow all the necessary data protection guidelines and
regulations.
29
V. The tool should give the user feedback before and after any action that will
directly affect the system takes place.
VI. The tool shall give the user progress reports on the state of their installations
or configurations.
VII. The tool should be easily maintained.
Systems architecture is the term used to describe the high-level planning and
arrangement of the parts, subsystems, and interactions that make up a system. In order
for the system to perform as planned, it defines the structure, behaviour, and
relationships between its constituent parts.
The Tool is divided into three layers namely the presentation layer, the application
layer, and the data layer. The presentation layer consists of the GUI interface which
enables the user to interact with the system. The GUI interface accepts the user input
and displays information, allowing users to select options, configure settings, and
view the status of components.
The Data layer includes configuration and integration settings for the elastic stack
components and elastic beats, which are stored in a YAML file on the servers where
each component is present.
30
Figure 3.8 System Architecture of the Proposed System
A data flow diagram (DFD) shows how data moves visually within a system or
application. This diagram demonstrates how data moves from its source to its
destination through a number of steps. DFDs are frequently used in system analysis
and design to visualize information flow and comprehend interactions between
various system components. In this diagram, various system components, such as
processes and external entities, are represented by various symbols and notations.
31
Figure 3.9 Data Flow Diagram
A use case diagram is a visual representation of the interactions between users (actors)
and a system. It demonstrates the numerous ways users engage with the system to
carry out tasks or achieve particular objectives. Actors use cases, and their
connections are depicted in the diagram. Use cases describe system functionalities,
whereas actors represent users or external systems. The connections show how actors
and use cases are linked and dependent on one another. Use case diagrams can be
used to summarize system behavior, identify user roles, and record and explain the
system's functions.
32
Figure 3.10 Use Case Diagram
33
Post-Conditions Not enough space
(failure end)
User not using a CentOS or Ubuntu Linux distribution
34
Figure 3.11 Activity Diagram
35
Figure 3.12 Sequence Diagram
36
CHAPTER FOUR
4SYSTEM IMPLEMENTATION
4.1 PREAMBLE
This chapter details the graphical user interface (GUI) designed for the efficient
implementation of Elastic security. This chapter's objective is to give a thorough
overview of the technical issues related to the creation and implementation of the
GUI, stressing the essential features and functionalities that improve the efficiency
and usefulness of elastic security.
The project's implementation phase involves turning the design and specifications
from the earlier chapters into a fully functional software system. The main goal was to
develop a GUI that is simple to use and intuitive so that security professionals can
effectively implement the Elastic security framework. The GUI intended to create a
strong and adaptable solution that streamlines the implementation process and
optimizes the potential of elastic security by utilizing contemporary software
development methodologies and frameworks.
Requirement Software
Operating system CentOS 7, Ubuntu, Parrot OS
Minimum JDK version Oracle JDK version 1.8.0_25 or higher
Development Tool Visual Studio Code, Electron Fiddle,
Google Cloud Platform, Figma, Vim,
37
Nodejs
Programming Language HTML, CSS, Java Script, Bash
Elasticsearch version Elasticsearch version 7.x and higher
Ubuntu Version Ubuntu 18.04 and higher
ParrotOS Version
Electron Version Electron 14.x and higher
Node.js Version Node.js Version 16.0.0 and higher
Parrot OS Version Parrot OS 4.5 and higher
Minimum Requirements
4 GB RAM
250 MB of free disk space
1024x768 pixels
The User Interface and User Experience of the Graphical User Interface was designed
on Figma, which is a cloud-based tool used for design and prototyping user interfaces,
application designs, and other visual designs.
38
Figure 4.13 Figma
The design created on Figma was converted to a web application on Visual Studio
Code with the use of HTML, CSS, and JavaScript. I used Visual Studio Code not just
for codding, but for file management and debugging. Visual Studio Code also has
several extensions and plugins which made development easier, improved
productivity, and my overall development experience.
39
Vim which stands for Vi Improved is an enhanced version of the original Vi text
editor. Created as a part of the Unix operating system for editing, searching, and
managing files, I made use of Vim in my google cloud platform for writing and
editing my bash scripts. Because of the Google Cloud Platform environment and the
presence, it was easier for me to create, test, and edit my bash scripts.
40
Figure 4.16 Electron JS
I was able to create a Graphical User Interface using all these resources.
Some of the methods used in software development are waterfall, agile, kanban and
lean. I made use of the agile development methodology for the creation of my
interface. Agile development technique is an iterative and adaptable approach to
software development. It emphasizes providing usable software in less time and
encourages teamwork, flexibility, and responsiveness to change.
Agile, with it’s iterative and collaborative nature, provided several advantages:
41
II. Iterative development: Agile methodology focuses on delivering incremental
value in every sprint, which allowed me to adapt changes based on feedback
and validation to improve my interface incrementally throughout the
development process.
III. Continuous Improvement: Agile methodologies allows a culture of continuous
improvement. Through feedback after every sprint, I had the opportunity to
reflect on the entire development process to identify areas for improvement,
and make adjustments to enhance the efficiency and effectiveness of the GUI
interface development.
Interfaces and system modules are crucial elements in software engineering that
support a system's modular design and efficient communication. Modules enable code
reuse, maintainability, and autonomous development by acting as functionally
separate, self-contained entities. Developers can concentrate on certain components
by segmenting the system into modules based on functional boundaries, which makes
the system simpler to comprehend, test, and alter. The interaction and sharing of
information between modules is made possible via interfaces, which define the
agreements and communication protocols between them. They give modules a
standardized means of communication, ensuring compatibility and enabling the
seamless integration of various parts. Interfaces enable modules to be changed or
removed without affecting the rest by separating a module's implementation details
from how it is used. As modules may be developed, tested, and debugged
independently, this encourages collaboration, scalability, and ease of testing,
improving the overall quality and maintainability of the software system.
This section details the interfaces used for data exchange and communication among
the system's many components and shows how users interact with the interface.
There is only one user for the interface, and this user can be any of a the following:
security analyst, security operations center team, network administrators, and IT
managers.
42
4.5.1 The dashboard Module
The purpose of the dashboard is to give users a high-level overview of the systems
services, as well as show the user details of the server. The dashboard consists of a list
of services as well as their status, and buttons to start and stop each of the services. It
also gives details about the server like the cluster name, cluster id, and number of
nodes present.
43
Figure 4.19 JDK Feedback Interface
The installation module refers to a component within a system software that handles
the installation process of the software or software components on a user’s system. It
includes an installation wizard, file and dependency management, configuration setup,
pre-installation checks, license Agreement and activation.
44
4.6 SYSTEM EVALUATION
A team of 30 potential users were put together to perform an evaluation based on the
usability and user experience of Summify. Each user was allowed to navigate the
application and generate a summary successfully with the system.
A questionnaire was given to each potential user using the Google Forms platform.
The form consisted of ten questions each of which were answered on a 5-point scale
bar. The questions were modelled employing the System Usability Scale (SUS). The
evaluation questions and the results of this evaluation exercise were as follows:
The potential users were asked if they would use this web app again. Of the 30 users,
36.7% indicated they strongly agree that they would surely revisit the web app to
make use of it and that is terrific. 63.3% indicated that 36.7% indicated they agree to
make use of the web app again. The result is shown in Figure 4.4.
The assessors of the system were asked if they found the web application
unnecessarily complex. 10% were neutral about the complexity of the application.
70% of the 30 users disagreed that the website was not complex at all while 20%
strongly disagreed. The result is being represented in Figure 4.5.
45
Figure 4.22: Evaluation Question 2 Result
Participants were asked to specify if they found ease using the web app . 53.3%
agreed that the app was rather easy to use. 43.3% strongly agreed that the web app
was easy to use and 3.4 % were neutral about the web application’s ease. Results of
the evaluation question are depicted in Figure 4.6.
iv. I think that I would need the support of a technical person to be able to use this web
app.
The web app was assessed for the need of a technical person when using it. They tried
the entire process of generating a summary using the app on their own. On a scale of 1
to 5, with 1 being strongly agreed and 5 being strongly disagreed, 30% of the users
strongly disagreed, 60% agreed, 8% were neutral about it and 2% agreed. The result is
shown in Figure 4.7,
46
Figure 4.24: Evaluation Question 4 Result
Participants were asked if they found the various functions of the web application.
They were asked to upload a document, copy, and paste a text, generate the summary,
play the summary, and download the summary. Of the 30 users, 40% strongly agreed
that they do not need one, 56.7% agreed and 3.3% were neutral. The results are
represented in Figure 4.8.
vi. I thought there was too much inconsistency with the web app.
The web application was evaluated for inconsistency. 33.3% of the users strongly
disagreed and 60.7 disagreed. The result of this evaluation is shown in Figure 4.9
47
Figure 4.26: Evaluation Question 6 Result
vii. I would imagine that most people would learn to use the web app very quickly.
The potential users were asked if they thought other users would learn to use the web
app very quickly. They evaluated the learnability of the application. 46.7% of the
users strongly agreed and 53.3% agreed. The result of this evaluation is shown in
Figure 4.10.
48
CHAPTER FIVE
5.1 SUMMARY
This project created a Graphical User interface to try to reduce complexity in the
implementation of Security Information and Event Management system using Elastic
Security as a case study. The interface almost eliminates the dependence on command
line interface and documentation for the implementation of elastic security. It also
makes it possible for non SIEM experts to be able to set up SIEM in their
organizations.
The initiative analyzed SIEM implementation difficulties and the causes of all the
difficulties, as well as difficulties involved with interacting with a command line
interface, hence the need for the interface. This project showed the need for an
interface that streamlines the installation, configuration, integration, and deployment
to bring about the efficient implementation of SIEM. The interface lets its users
install, integrate, configure elastic security components as well as deploying the
whole system.
HCI has a major impact on security tools. The success of the interface depended on
improving the user experience when interacting with SIEM. HCI principles where
used during design and implementation to make the interface easy to use, attractive,
reduce the learning curve, attractive, and scalable. User feedback and usability testing
were used to discover and fix issues.
5.2 RECOMMENDATIONS
The interface only makes it possible to create elastic CA certificates as well as SSL
certificates and HTTP certificates under the assumption that the organization doesn’t
49
have a CSR. Later interfaces can let the users create and input their organizations CSR
or let them use external certificates and not elastic generated certificates.
The interface can also be seen to be semi-automated when it comes to the multi-node-
server implementation. Automation libraries like ansible can be added to make it
easier to manipulate multiple systems from just a single system.
The system only allowed for elastic based configurations. Further research can be
done on integrating with other tools to make the interface more robust.
5.3 CONCLUSION
Andrews (2021) study discovered that the most user-friendly and effective tools for
system administrators to utilize were GUI tools with an emphasis on those with little
experience. A GUI tool must be simple, provide clear and concise feedback to its user,
be user-centered, and be easy to learn. In this project, the interface developed is a
security tool equipped with installation, integration, and configuration capabilities.
The interface is built on the Electron framework.
50
REFERENCES
Ali, A., Septyanto, A. W., Chaudhary, I., Hamadi, H. Al, Alzoubi, H. M., & Khan, Z. F.
(2022). Applied Artificial Intelligence as Event Horizon Of Cyber Security (pp. 1–
7). https://doi.org/10.1109/ICBATS54253.2022.9759076
Antonio, R.-M. (2013). Architectures and Protocols for Secure Information Technology
Infrastructures. IGI Global.
https://www.google.com.ng/books/edition/Architectures_and_Protocols_for_S
ecure_I/OOKWBQAAQBAJ?
hl=en&gbpv=1&dq=systems+that+make+up+a+siem&pg=PA189&printsec=front
cover
Arndt, N., Naumann, P., Radtke, N., Martin, M., & Marx, E. (2019). Decentralized
collaborative knowledge management using git. Journal of Web Semantics, 54,
29–47. https://doi.org/https://doi.org/10.1016/j.websem.2018.08.002
Atlassian. (2019). What is Git: become a pro at Git with this guide | Atlassian Git
Tutorial. https://www.atlassian.com/git/tutorials/what-is-git
Berrocal, J., Garcia-Alonso, J., Murillo, J. M., Mendes, D., Fonseca, C., & Lopes, M.
(2018). Context-aware mobile app for the multidimensional assessment of the
elderly. 2018 13th Iberian Conference on Information Systems and Technologies
(CISTI). https://doi.org/10.23919/cisti.2018.8399239
Blum, R. A., Ross, J. D., Simon, C. M., Brown, E. A., Harrison, R. R., & DeWeerth, S. P.
(2003). A custom multielectrode array with integrated low-noise preamplifiers
(Vol. 4, pp. 3396–3399 Vol.4). https://doi.org/10.1109/IEMBS.2003.1280874
bruce, dayana. (2019). What are the attributes of good software? - ppt download.
https://slideplayer.com/slide/14618845/
clarke, dan. (2017). Git - GUI vs CLI - The Devil’s Advocate - Dan Clarke.
https://www.danclarke.com/git-gui-vs-cli
51
Endsley, M. R. (2016). Designing for Situation Awareness: An Approach to User-
Centered Design, Second Edition. CRC Press.
https://books.google.com.ng/books?
hl=en&lr=&id=eRPBkapAsggC&oi=fnd&pg=PP1&dq=importance+of+user+center
ed+design&ots=dKODKaqXeF&sig=_oFQYu5bVT-
7CQYEq_kFYlZwmsw&redir_esc=y#v=onepage&q=importance of user centered
design&f=false
Engebretson, P. (2013). The basics of hacking and penetration testing: Ethical hacking
and penetration testing made easy. Elsevier.
https://www.google.com.ng/books/edition/The_Basics_of_Hacking_and_Penetr
ation_Te/69dEUBJKMiYC?
hl=en&gbpv=1&dq=armitage+gui&pg=PA116&printsec=frontcover
Farhan, A., Siddiqui, Ejaz, A., Syed, A., Ali, Yasir Ejaz, M., & Karachi, P. (2019). Graphic
user interface design principles for designing Augmented Reality applications
Babul-Islah: Islamic Semantic Web View project National Electricity Supply
Safety View project Graphic User Interface Design Principles for Designing
Augmented Reality Applications. IJACSA) International Journal of Advanced
Computer Science and Applications, 10.
Ferre, X., Juristo, N., Windl, H., & Constantine, L. (2001). Usability Basics for Software
Developers.
https://www.researchgate.net/publication/3247702_Usability_Basics_for_Softw
are_Developers
Gonçalves, F., & Campos, P. (2017). Understanding and Evaluating the User Interface
Design for Creative Writing. https://doi.org/10.1145/3121283.3121298
Gopaluni, J., Unwala, I., Lu, J., & Yang, X. (2019). Graphical user interface for
OpenThread. 235–237. https://doi.org/10.1109/HONET.2019.8908055
Hitchcock, K. (2022). Using Linux for the First Time. The Enterprise Linux
Administrator, 123–158. https://doi.org/10.1007/978-1-4842-8801-6_5
52
Johansen, G., Allen, L., Heriyanto, T., & Ali, S. (2016). Kali linux 2 – assuring security
by penetration testing. Packt Publishing Ltd.
https://www.google.com.ng/books/edition/Kali_Linux_2_Assuring_Security_by
_Penetr/VoFcDgAAQBAJ?
hl=en&gbpv=1&dq=zenmap&pg=PA192&printsec=frontcover
Johnson, A., Dempsey, K., Ross, R., Gupta, S., & Bailey, D. (2019). Guide for security-
focused configuration management of information systems. Guide for Security-
Focused Configuration Management of Information Systems.
https://doi.org/10.6028/nist.sp.800-128
Jones, D., & Realtimepublishers.com. (2009). The shortcut guide to secure, managed
file transfer. Realtimepublishers.com. https://books.google.com.ng/books?
id=0QlDrIfBn68C
Kettner, B., & Geisler, F. (2022). Tools and Helpers. Pro Serverless Data Handling with
Microsoft Azure, 253–262. https://doi.org/10.1007/978-1-4842-8067-6_14
Khraisat, A., Gondal, I., Vamplew, P., & Kamruzzaman, J. (2019). Survey of intrusion
detection systems: techniques, datasets and challenges. Cybersecurity, 2.
https://doi.org/10.1186/s42400-019-0038-7
Kokulu, F. B., Soneji, A., Bao, T., Shoshitaishvili, Y., Zhao, Z., Doupé, A., & Ahn, G.-J.
(2019). Matched and Mismatched SOCs. Proceedings of the 2019 ACM SIGSAC
Conference on Computer and Communications Security.
https://doi.org/10.1145/3319535.3354239
Lyon, G. (2008). Nmap network scanning: Official nmap project guide to network
53
discovery and security scanning. Insecure.Com, LLC.
https://books.google.com/books?
id=a_PkPQAACAAJ&dq=nmap&hl=en&newbks=1&newbks_redir=1&sa=X&ved=
2ahUKEwiMksuFmLD-AhXNV6QEHbd_D0QQ6AF6BAgDEAI
Max, J. (2021). A History of the Console (When Computers had Personality). Console
Blog. https://blog.console.dev/when-computers-had-personality-a-history-of-
consoles/
Morales-Gonzalez, C., Harper, M., & Fu, X. (2023). Teaching software security to
novices with user friendly armitage. Journal of The Colloquium for Information
Systems Security Education, 10, 6. https://doi.org/10.53735/cisse.v10i1.173
Orebaugh, A., & Pinkard, B. (2011). Nmap in the enterprise: Your guide to network
scanning. Elsevier. https://books.google.com.ng/books?
hl=en&lr=&id=VjgezB784XIC&oi=fnd&pg=PP1&dq=zenmap&ots=k4rh9t_zU3&si
g=MQLbHY5vGf3dKsECC464_4f2GuI&redir_esc=y#v=onepage&q&f=false
Pranggono, B., & Arabo, A. (2020). COVID‐19 Pandemic Cybersecurity Issues. Internet
54
Technology Letters, 4. https://doi.org/10.1002/itl2.247
Prikryl., M. (n.d.). Introducing WinSCP :: WinSCP. Retrieved April 17, 2023, from
https://winscp.net/eng/docs/introduction
Rahalkar, S., & Jaswal, N. (2017). Metasploit revealed: Secrets of the expert pentester:
Build your defense against complex attacks. Packt Publishing Ltd.
https://www.google.com.ng/books/edition/Metasploit_Revealed_Secrets_of_th
e_Exper/lMxPDwAAQBAJ?
hl=en&gbpv=1&dq=armitage+gui&pg=PA519&printsec=frontcover
Shoard, P., & Davies, A. (2022). Magic Quadrant for Security Information and Event
Management. https://www.gartner.com/doc/reprints?
__hstc=7965229.b2525feffc6363fc0423b03afefa6d33.1687524559435.1687524
559435.1687524559435.1&__hssc=7965229.1.1687524559457&__hsfp=12616
19169&id=1-2BEBQF2T&ct=221013&st=sb&submissionGuid=5d829367-a57f-
4b22-b6ad-7453ec5e
Singh, G. D. (2019). Learn Kali Linux 2019: Perform powerful penetration testing using
Kali Linux, Metasploit, Nessus, Nmap, and Wireshark. Packt Publishing Ltd.
https://books.google.com.ng/books?hl=en&lr=&id=H6a-
DwAAQBAJ&oi=fnd&pg=PP1&dq=metasploit+the+penetration+tester
55
%27s+guide&ots=FGSkXOnMDA&sig=Tmmze-
iOuVudMBmJCfibvaO7MEM&redir_esc=y#v=onepage&q&f=false
Vielberth, M., Bohm, F., Fichtinger, I., & Pernul, G. (2020). Security Operations Center:
A Systematic Study and Open Challenges. IEEE Access, 8, 227756–227779.
https://doi.org/10.1109/access.2020.3045514
Voronkov, A., Martucci, L., & Lindskog, S. (2019). System administrators prefer
command line interfaces, don’t they? An exploratory study of firewall interfaces
this paper is included in the proceedings of the fifteenth symposium on usable
privacy and security. system administrators prefer command line in.
https://www.usenix.org/system/files/soups2019-voronkov.pdf
Zillner, T. (2000). In the Beginning...Was the Command Line. ProQuest, 19, 103.
https://www.proquest.com/docview/215832005?fromopenview=true&pq-
origsite=gscholar&parentSessionId=VGST30cyLGRzjth4zw47YZSe
%2BgMJ2a9bhOzwOAzwU8E%3D
56
57