<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JSEA</journal-id><journal-title-group><journal-title>Journal of Software Engineering and Applications</journal-title></journal-title-group><issn pub-type="epub">1945-3116</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jsea.2024.175022</article-id><article-id pub-id-type="publisher-id">JSEA-133624</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  A Framework for Cybersecurity Alert Distribution and Response Network (ADRIAN)
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Akarshita</surname><given-names>Shankar</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Vijay</surname><given-names>Madisetti</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>School of Cybersecurity and Privacy, Georgia Institute of Technology, Atlanta, USA</addr-line></aff><pub-date pub-type="epub"><day>20</day><month>05</month><year>2024</year></pub-date><volume>17</volume><issue>05</issue><fpage>396</fpage><lpage>420</lpage><history><date date-type="received"><day>13,</day>	<month>April</month>	<year>2024</year></date><date date-type="rev-recd"><day>28,</day>	<month>May</month>	<year>2024</year>	</date><date date-type="accepted"><day>31,</day>	<month>May</month>	<year>2024</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Security Information and Event Management (SIEM) platforms are critical for organizations to monitor and manage their security operations centers. However, organizations using SIEM platforms have several challenges such as inefficiency of alert management and integration with real-time communication tools. These challenges cause delays and cost penalties for organizations in their efforts to resolve the alerts and potential security breaches. This paper introduces a cybersecurity Alert Distribution and Response Network (Adrian) system. Adrian introduces a novel enhancement to SIEM platforms by integrating SIEM functionalities with real-time collaboration platforms. Adrian leverages the uniquity of mobile applications of collaboration platforms to provide real-time alerts, enabling a two-way communication channel that facilitates immediate response to security incidents and efficient SIEM platform management. To demonstrate Adrian&amp;#8217;s capabilities, we have introduced a case-study that integrates Wazuh, a SIEM platform, to Slack, a collaboration platform. The case study demonstrates all the functionalities of Adrian including the real-time alert distribution, alert customization, alert categorization, and enablement of management activities, thereby increasing the responsiveness and efficiency of Adrian&amp;#8217;s capabilities. The study concludes with a discussion on the potential expansion of Adrian&amp;#8217;s capabilities including the incorporation of artificial intelligence (AI) for enhanced alert prioritization and response automation.
 
</p></abstract><kwd-group><kwd>SIEM Platforms</kwd><kwd> Alert Distribution</kwd><kwd> Incident Response Automation</kwd><kwd> SIEM Management</kwd><kwd> Collaboration Platform</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Security Information and Event Management (SIEM) platforms assist organizations in data collection, policies, notifications on events, and data consolidation and correlation. These platforms help in providing real-time visibility of the organization’s security systems, maintaining event logs from various sources, correlating the logs from the sources using predefined rules, etc. However, despite their critical importance, SIEM platforms face several challenges that limit their effectiveness and operational efficiency [<xref ref-type="bibr" rid="scirp.133624-ref1">1</xref>] .</p><p>Some of the problems that hinder their efficacy include:</p><p>&#183; There are alerts that are generated for any suspicious log activity performed in the host machine. These alerts that are managed and visualized through the dashboards configured in the SIEM platform, requiring the DevSecOps team members to manually log in and review the generated alerts. This process is time-consuming and not efficient especially because most of the open-source SIEM platforms do not have a mobile application and are hosted on servers.</p><p>&#183; Another issue with these platforms is that the alerts that are generated are not sent to any collaborating platform such as Microsoft Teams, Slack, or CatchUp. Due to this, DevSecOps team not only miss out on real-time updates on the alerts, but it also leads to a delay in the alert response.</p><p>&#183; There is usually an overwhelming volume of alerts generated for every activity performed in the system including deletion of a file or installing a new verified software, leading to an increase in the number of low-quality alerts generated. The cluttering of the low-quality alerts causes the team to miss out on important, high-quality alerts that would require immediate action.</p><p>&#183; Lastly, to perform any action in the SIEM platforms, the DevSecOps team members are required to login to the server-based platform and perform actions. The actions include checking the alerts generated by their system, auditing the roles and the accesses for each user, inspecting the rules and policies, etc.</p><p>To tackle this problem, we propose ADRN (Alert Distribution and Response Network) or Adrian. Adrian can integrate any SIEM platform used by the organization with their collaboration platform, thereby addressing the identified issues by enhancing functionality and leveraging the presence of mobile applications of collaboration platforms. Examples of SIEM platforms include Wazuh, OpenCTI, and MISP, while collaboration platforms include Slack, Microsoft Teams, CatchUp, or Google Meet.</p><p>The primary goal of Adrian is to improve the SIEM platforms by enhancing its various functionalities. The advantage of Adrian is that it eliminates the need for users to always be available by their server-based system. Most of the open-source SIEM platforms do not have a mobile application, but all the collaboration platforms do have, which Adrian uses to its advantage.</p><p>The objectives of Adrian are as follows:</p><p>&#183; Establishing a 2-way communication between SIEM platforms and collaboration tools.</p><p>&#183; Sending alerts from SIEM to the collaboration platform.</p><p>&#183; Analyzing the quantity of alerts generated, visually represent the data, and send the visual representation to the collaboration platform.</p><p>&#183; Enabling SIEM platform management related activities through the collaboration platform.</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref> represents the various functionalities of Adrian.</p>Benefits of Adrian for DevSecOps Team<p>The advantages of Adrian for the DevSecOps teams are as follows:</p><p>&#183; Real-time notifications on the security incidents through their organization’s collaboration platform. SIEM platforms are not available as a mobile app, but their collaboration platform would be. This means that the DevSecOps team need not be checking their SIEM platform for notifications all the time.</p><p>&#183; Alerts generated and sent to their collaboration platform contain the severity, type, and other relevant information on the incident. The alert messages are customized to include only the details that the team would like to view. This customized notification would be hard for them to miss.</p><p>&#183; The alerts are segregated based on the alert level. This segregation would help the team focus on the high priority incidents. This targeted communication with alert categorization would help in resolving the incident faster.</p><p>&#183; Collaboration platforms are shared by team members. This provides a shared medium where the entire team is aware of any incident and can easily collaborate.</p><p>&#183; The necessity to login to the SIEM platform would be eliminated as the interaction from their collaboration platform would be helpful for managing activities in their SIEM platforms.</p><p>&#183; Alert statistics would be generated and would be visually represented and sent to a separate channel or task in their collaboration platform, which would be publicly available for anyone in the organization. Using the statistics, the team could decide if there is a requirement to login. If anyone from the higher management team would like to view the statistics, they could subscribe to this public channel. The separation of the alerts from the alert statistics would prevent the teams from higher management from receiving unnecessary and irrelevant information on the alerts.</p><p>Adrian’s design principles and implementation details are demonstrated through a case study. For the case study, we have chosen Wazuh, which is a well-known open-source SIEM platform and Slack, a popular collaboration platform used by several organizations, for the DevSecOps team. This case study not only demonstrates Adrian’s practical application, but also highlights its potential of helping organizations to better manage and respond to security alerts.</p></sec><sec id="s2"><title>2. Literature Review &amp; Related Work</title><p>It is imperative to effectively manage SIEM platforms in order to safeguard organizational information from cyber threats. Recent research highlights the evolution and challenges faced in these platforms, there by emphasizing on advancements like Adrian. This literature review summarizes the most essential points from various papers, establishing the groundwork for Adrian’s contribution to the field.</p><p>1) Security Information and Event Management (SIEM): Analysis, Trends, and Usage in Critical Infrastructures</p><p>This comprehensive review [<xref ref-type="bibr" rid="scirp.133624-ref1">1</xref>] , discussed in this paper dives into the presence and usage of SIEM systems across various critical infrastructures and emphasizing the need for more robust cybersecurity defenses. In this paper, the authors have analyzed the evolution of SIEM technologies, starting from their origin to their contemporary tools. Using their analysis, the authors have derived a significant trend would require SIEM technologies to address the need for real-time, scalable, and adaptable security alert systems. This enhancement aligns with the development of Adrian. Adrian’s innovative and scalable approach focuses on the real-time alert updates. Adrian’s two-way communication channel symbolizes a more responsive, interactive, and user-friendly security operations framework.</p><p>2) Challenges and Directions in Security Information and Event Management (SIEM)</p><p>In this paper [<xref ref-type="bibr" rid="scirp.133624-ref2">2</xref>] , the authors articulate the operational and technical challenges faced by organizations when implementing and managing SIEM solutions. Some of the challenges that the authors discuss in the paper include the volume of low alerts and false positives generated, the lack of relevant information on alerts, the delay in receiving and resolving a SIEM alert, etc. Adrian’s design directly addresses these hurdles through its simplified alert management and response processes. The introduction of the middleware in Adrian’s solution not only provides real-time alert updates, but also enhances reliability through its queueing mechanism, ensuring that the alerts are processed efficiently even during communication interruptions. Moreover, Adrian’s approach on alert customization and categorization reduces the cognitive load on the security analysts and the DevSecOps team, allowing teams to focus on genuine threats more effectively.</p><p>3) Critical Capabilities for Security Information and Event Management</p><p>The study discussed in [<xref ref-type="bibr" rid="scirp.133624-ref3">3</xref>] , provides an exhaustive evaluation of leading open-source SIEM systems in terms of their performance metrics, functionalities, and adaptability to the current cybersecurity requirements. The findings from the authors’ analysis are the highlight on the importance of flexibility in SIEM platforms. They emphasize the need for alert customization and integration with other tools which would in turn improve the organization’s response and security requirements. Adrian’s architecture is designed to improve the capabilities of traditional SIEM platform through its novel integration with external platforms. It also has the capability of alert customization which addresses the shortcomings discussed in the paper.</p><p>The reviewed literature provides insights to evolution of SIEM technologies and the need for real-time alert and user-centric option. Adrian emerges as a response to these challenges by leveraging advancements in communication technology and middleware solutions.</p><p>SIEM platforms play a pivotal role in enabling organizations to detect, analyze, and respond to cybersecurity threats. Despite their critical importance, organizations face several challenges as seen in the previous section. Recent analyses, such as the Forrester report [<xref ref-type="bibr" rid="scirp.133624-ref4">4</xref>] , on the Total Economic Impact of IBM Security QRadar SIEM identifies multiple benefits experienced by IBM’s customers through the usage of SEIM tools. The benefits underscored by the report are in alignment to Adrian. The benefits are as follows:</p><p>&#183; Enhanced Visibility and Productivity: The Ferrester report includes reports of IBM customers stating the improved visibility into their security environments and increased productivity among security teams. Similarly, Adrian aims to enhance SIEM platforms through the integrations with collaboration platforms like Microsoft Teams, Slack, etc., that would enhance the visibility and operational efficiency. The real-time alert distribution and customization features of Adrian specifically address these aspects, potentially providing similar benefits for visibility and productivity.</p><p>&#183; Reduce False Positives and Improved Prioritization: The Ferrester report talks about IBM QRadar customers experiencing reduced false positives and were able to prioritize threats more effectively. Adrian’s approach to alert customization and alert categorization directly aligns this benefit. Adrian helps in reducing the clutter of low-priority alerts by categorizing the alerts based on the alert severity level. This feature allows the security teams to focus on high priority alerts, thereby potentially reducing false positives and improving threat prioritization.</p><p>&#183; Improved Compliance and Risk Management: As per the Ferrester’s report, IBM users mentioned that the tools were found to improve the compliance and risk management. Adrian’s enhanced management capabilities, including the bidirectional communication feature allow for direct integration with the SIEM platform through collaboration tools. This feature ensures timely responses to compliance-related alerts and facilitating easier audit trails.</p><p>&#183; Scability and Flexibility: One of the benefits of IBM’s SIEM tools highlights involves the scalability and flexibility to meet the evolving security needs of organizations. Adrian’s design principles focus on flexibility and scalability.</p><p>Based on the information provided in the Ferrester report [<xref ref-type="bibr" rid="scirp.133624-ref4">4</xref>] , the benefits align with the design principles of Adrian that are discussed above.</p></sec><sec id="s3"><title>3. Adrian’s Approach and Design</title><sec id="s3_1"><title>3.1. Introduction to Adrian’s Approach</title><p>As discussed previously, some of the common challenges in SIEM platforms is the platform management, real-time communication, alert customization, etc. To address these challenges, Adrian provides solutions for SIEM platform management, real-time communication on alerts, alert customization, etc. Apart from resolving the challenges discussed, Adrian also has new features that introduces a paradigm shift in how security alerts are managed and responded to across platforms. This innovative approach adds more values to SIEM platforms and to the overall cybersecurity field.</p><p>The design of Adrian is based on the principles of reliability, customization, categorization, and bidirectional communication. Before delving into the design principles of Adrian, it is important to introduce the architecture of Adrian. The architecture of Adrian revolves around a seamless integration between existing SIEM platforms and wisely used collaboration tools. The integration is enabled through a middleware. The middleware layer ensures that the data transmission is reliable between the two platforms even during downtimes or high-traffic scenarios.</p><p>The middleware is a robust message broker that would handle the communication between the SIEM platform and the collaboration tool. Not only does this framework preserve the confidentiality and integrity of the message, but also ensure that the alerts are categorized and prioritized before being sent to the collaboration tool. These mechanisms assist in focusing on high-priority alerts, which require immediate attention.</p><p>Adrian’s innovative bidirectional communication design is one of its core features that sets it apart from traditional alert management systems. Apart from just alert distribution, Adrian integrates the platforms to enable SIEM management activities through the collaboration tool.</p></sec><sec id="s3_2"><title>3.2. Design Principles</title><p>&#183; Reliability—Adrian prevents data loss in scenarios where the collaboration platform is down. This reliability is possible because of the introduction of middleware queueing mechanism. If the collaboration platform is down, then Adrian’s queue would have all the alerts stored and then send it to the collaboration platform when it is functioning. This makes Adrian a reliable solution.</p><p>&#183; Customization—Adrian’s solution resolves the issue of alert customization by including only the relevant fields and modifying it to a more readable format. The cleaned data is then sent to the collaboration platform. This alert customization mechanism would help the DevSecOps teams to interpret the alerts.</p><p>&#183; Categorization—Apart from alert customization, Adrian has the capability for alert categorization also. Based on the severity level of the alert, it categorizes the alerts into 3 categories—low, medium, and high alerts. This would be helpful for organization as the DevSecOps team can primarily focus on the high priority alerts.</p><p>&#183; Alert Statistics—Another advantage of Adrian is the generation and communication of the alert statistics. Adrian not only calculates the alert statistics, but also provides a visual representation of the generated statistics and sends to a separate channel in the organization’s collaboration platform. Adrian also ensures that this communication is performed in a separate channel so that the statistics is not confused with the alerts. These statistics enable security teams to identify trends, allocate resources efficiently and improve overall security posture.</p><p>&#183; Bidirectional Communication—The most important feature of Adrian is its two-way communication channel. Adrian would not only provide communication from the SIEM platform to the collaboration platform, but also provide SIEM platform management activities through a channel in the collaboration platform. Adrian’s bidirectional channel allows a more dynamic interaction between the two platforms, thereby significantly shortening response times and enhancing operational agility.</p><p>The above advantages help in making Adrian a robust, reliable, and scalable solution. These design principles not only significantly reduce the response time to incidents, but also enables a more dynamic and interactive approach to security management. Adrian was primarily built to bridge the gaps and provide a more comprehensive solution.</p></sec><sec id="s3_3"><title>3.3. Technical Architecture</title><p>The proposed solution, Adrian, is divided into two phases. The first phase involves alert distribution from the SIEM platform to the collaboration platform. The second phase involves response network from the collaboration platform to the SIEM platform.</p><p>Unlike the traditional approach of integrating two systems using APIs, Adrian uses a more reliable and scalable approach. It uses a middleware queueing mechanism that would not only connect SIEM platform with the collaboration platform but also regularize the traffic flow between the two platforms. <xref ref-type="fig" rid="fig2">Figure 2</xref> provides a high-level architecture of Adrian through middleware where the message broker would be the queueing mechanism that would connect the SIEM platform to the collaboration platform.</p><p>The message broker such as RabbitMQ or ActiveMQ helps in the asynchronous communication between the two platforms. Without waiting for the acknowledgement from the collaboration platform, the message broker would send an acknowledgement to the SIEM platform so that the SIEM platform can continue with the other allocated tasks.</p><p>The message broker would also help in prioritizing the alerts through Adrian’s alert customization and alert categorization features. This queueing mechanism would ensure efficient processing and delivery to the appropriate channels in the collaboration platform, thereby making Adrian a more reliable and scalable solution.</p><p>For Phase 2 of Adrian i.e., the communication from the collaboration platform to the SIEM platform can be completed through a flexible, modular interface. This communication is novel and has not been developed previously. The developed application would be the interface that connects the collaboration platform to the organization’s SIEM platform. <xref ref-type="fig" rid="fig3">Figure 3</xref> is the high-level architecture of the response network.</p><p>The modular interface, as described in <xref ref-type="fig" rid="fig3">Figure 3</xref>, could be an application that would adapt to different communication platforms and SIEM systems. The application could consist of webhooks, APIs or custom plugins based on the requirement of the organization.</p><p>The above technical architecture of Adrian shows that the solution is modular, scalable, and designed to meet the evolving needs of cybersecurity operations. The solution consists of relevant and useful features such as alert customization and alert categorization. It also consists of new features such as generating and visualizing alert statistics and enabling a bidirectional communication.</p></sec></sec><sec id="s4"><title>4. Implementation of Adrian: Case Study</title><p>To demonstrate the usefulness and effectiveness of the Adrian approach, we present a case-study that focuses on integrating Wazuh, an open-source SIEM platform, with Slack, a widely used communication platform. This case study serves not only as a demonstration of Adrian’s capabilities, but also as an illustration of its potential to enhance the alert management systems in cybersecurity operations.</p><sec id="s4_1"><title>4.1. Overview of Design Choices</title><p>In Adrian’s design principles, we emphasized on reliability, efficiency, and</p><p>scalability, which persuaded our choices of communication models and the specific use of Rest APIs. We decided that our model should perform asynchronous communication which would be facilitated by RabbitMQ, a message broker that is used for a publish/subscribe scenario. Using this approach, the SIEM platform continue its alert processing and generation without waiting for acknowledgements from the collaboration platform. This non-blocking feature of asynchronous communication is vital during high alert volume periods. By incorporating this feature, the model ensures that alert management is not hindered by network latency or downtimes of the collaboration platform. Moreover, the producer-consumer (a.k.a. publisher-subscriber) mechanism implemented is effective in scenarios where alerts need to be distributed across various channels. This model also supports decoupling of alerts produced from consumers, thereby enhancing the system’s modularity and scalability.</p><p>For integrating the SIEM platform (Wazuh) with the collaboration platform (Slack), we chose Rest APIs due to their ubiquity and ease of use. The APIs eased a straightforward communication that can be easily managed and scaled. The stateless feature of Rest APIs supports scalable environments by simplifying server design and facilitating easier adjustments. The stateless feature is where each request contains all the necessary data to be understood independently.</p><p>These design choices were crucial for ensuring that Adrian remains robust and efficient. It should be capable of handling real-time data and adapt to the various organizational environments.</p></sec><sec id="s4_2"><title>4.2. Objectives of the Case Study</title><p>The primary objectives of this case study include the following:</p><p>&#183; To demonstrate the capabilities of Adrian by implanting its core principles. The demonstration would include middleware usage for reliability, alert customization, alert categorization, and bidirectional communication for interactive alert management.</p><p>&#183; To reiterate the practical benefits of integrating SIEM platforms with collaboration platforms for improved alert response times, enhanced team collaboration and increased operational efficiency.</p><p>&#183; To showcase the adaptability of Adrian across various tools and platforms, thereby emphasizing its potential for broader application in the cybersecurity field.</p><p>Adrian was implemented in two phases. The first phase was a communication channel from Wazuh to Slack and the second phase was a communication channel from Slack to Wazuh.</p></sec><sec id="s4_3"><title>4.3. Programming Language; Platform Selection</title><p>For completing both the phases of Adrian, Python was the programming language we used. The reason for choosing Python was because of the several libraries that it consists of that helped in connecting various interfaces. The following are the libraries used:</p><p>&#183; pika—used for connecting any interface with RabbitMQ.</p><p>&#183; slacksdk—used for connecting any interface with Slack.</p><p>&#183; matplotlib.pyplot—used for generating the alert statistics bar graph.</p><p>These libraries help in a seamless integration between Wazuh and Slack and also provide a bidirectional communication.</p><p>For connecting Wazuh to Slack to send the alerts and alert statistics, this case study of Adrian uses RabbitMQ as its message broker.</p><p>RabbitMQ is a proven reliable broker queue that is used by organizations such as Netflix and Salesforce. It decouples the processes (in this case, Slack and Wazuh), increases the reliability and scability of the solution [<xref ref-type="bibr" rid="scirp.133624-ref5">5</xref>] . RabbitMQ provides reliability by providing an asynchronous communication. In addition to its basic functionalities, it also has an acknowledgement feature where it would send an acknowledgement to the appropriate platform after a message has been put in its queue or when a message is being sent from its queue. It provides various routing mechanisms through its concept of Exchange. Adrian uses Direct Exchange which helps in separating alerts and alerts statistics.</p><p>For this project, we have chosen Wazuh and Slack. The reason for choosing Wazuh was because it is a popular open-source threat prevention, detection, and response platform [<xref ref-type="bibr" rid="scirp.133624-ref6">6</xref>] . It is primarily used for data collection, indexing, aggregation, and data analysis from various sources including intrusion detection, suspicious behaviors, and threat detection. Some of the core functionalities of Wazuh include log data analysis, intrusion detection, incident response, etc.</p><p>We used Slack because of the channel feature that is available in the platform. The Slack channels have been made public intentionally so that anyone, with the required permissions, can subscribe to the alert channels or the alert statistics channel to view the information. However, the solution can be expanded to include other platforms such as Teams or CatchUp.</p><p>For developing the Slack application that would connect to Wazuh through an interactive channel, we used Flask and ngrok [<xref ref-type="bibr" rid="scirp.133624-ref7">7</xref>] .</p><p>Flask is a microweb framework coded in Python that does not require any specific libraries or tools. It supports use cases for form validation, upload handling, and several common framework related tools. It is lightweight, modular, scalable, flexible making it an optimal solution for creating web applications and hosting web services.</p><p>Ngrok is a cross-platform application that creates a security tunnel for data from the internet to the local server on our local machines. It permits exposure of web server to the internet without much effort making it particularly useful for web development, allowing developers to share their local sites without the need to deploy those sites to a public server, testing applications, etc [<xref ref-type="bibr" rid="scirp.133624-ref7">7</xref>] .<sup> </sup></p></sec><sec id="s4_4"><title>4.4. Implementation Details</title><p>Phase 1: Wazuh to Slack Communication</p><p>The queueing mechanism chosen for Adrian is RabbitMQ [<xref ref-type="bibr" rid="scirp.133624-ref5">5</xref>] . RabbitMQ is an open-source message broker that is proven to be useful in a producer-consumer scenario. Using the RabbitMQ solution and decoupling Wazuh and Slack, Adrian would provide an asynchronous communication. The detailed diagram of Phase 1 of Adrian is shown in <xref ref-type="fig" rid="fig4">Figure 4</xref>.</p><p>For categorization of the alerts based on its alerts level, Adrian categorizes the alerts based on its severity level and inserting them into low-alerts-queue, medium-alerts-queue, and high-alerts-queue respectively in RabbitMQ. Alerts with severity level &lt; 5 are put into the low-alert-queue. Alerts with severity level ≥ 5 and level &lt; 7 are put into the medium-alerts-queue. Alerts with severity level ≥ 7 are put into high-alerts-queue [<xref ref-type="bibr" rid="scirp.133624-ref8">8</xref>] .<sup> </sup></p><p>The segregation is performed using Exchanges in RabbitMQ. Exchanges (aka Topics in other broker queues) assist in connecting the producer to different queues using a routing key [<xref ref-type="bibr" rid="scirp.133624-ref9">9</xref>] . Routing Key is specified by the producer while transmitting the message to RabbitMQ. There are different types of Exchanges; Adrian uses Direct Exchange [<xref ref-type="bibr" rid="scirp.133624-ref10">10</xref>] . After receiving the message and the routing key the direct exchange, based on the configured routing key, inserts the message in the appropriate queue [<xref ref-type="bibr" rid="scirp.133624-ref11">11</xref>] . The detailed diagram is depicted in <xref ref-type="fig" rid="fig5">Figure 5</xref>.</p><p>Alert categorization is performed on the consumer side as well. To avoid cluttering of a single Slack channel, Adrian segregates the messages into three different slack channels for the alerts [<xref ref-type="bibr" rid="scirp.133624-ref11">11</xref>] . The messages from the low-alerts-queue are published to the low-alerts-slack-channel. A similar concept is followed for the medium and high alerts. Apart from the three channels in Slack, Adrian uses a fourth channel to publish the alert statistics [<xref ref-type="bibr" rid="scirp.133624-ref12">12</xref>] [<xref ref-type="bibr" rid="scirp.133624-ref13">13</xref>] . This helps in separating</p><p>the technical specifics and the statistical information of the alerts [<xref ref-type="bibr" rid="scirp.133624-ref14">14</xref>] . The detailed diagram is depicted in <xref ref-type="fig" rid="fig6">Figure 6</xref>.</p><p><xref ref-type="fig" rid="fig7">Figure 7</xref> shows the queues that are configured in RabbitMQ. The queues are wazuh-alerts-high, wazuh-alerts-medium, and wazuh-alerts-low [<xref ref-type="bibr" rid="scirp.133624-ref15">15</xref>] .<sup> </sup></p><p><xref ref-type="fig" rid="fig8">Figure 8</xref> shows the binding of the routing keys and the queues through exchange. Adrian uses Direct Exchange. The routing key for wazuh-alerts-high queue is wazuh-alerts-high. The routing key for wazuh-alerts-low queue is wazuh-alerts-low. The routing key for wazuh-alerts-medium queue is wazuh-alerts-medium.</p><p>Phase 2: Slack to Wazuh Communication</p><p>For phase 2 of Adrian i.e., connecting Slack with Wazuh. The Slack application provides an interactive Slack channel that would provide various management related activities to be performed on Wazuh. Each button corresponds to an activity that can be obtained from Wazuh [<xref ref-type="bibr" rid="scirp.133624-ref14">14</xref>] . <xref ref-type="fig" rid="fig9">Figure 9</xref> is the block diagram provides a detailed visual representation of the response network architecture [<xref ref-type="bibr" rid="scirp.133624-ref16">16</xref>] .<sup> </sup></p><p>An important aspect of Adrian’s innovative approach is its alignment with the FCAPS model [<xref ref-type="bibr" rid="scirp.133624-ref16">16</xref>] , a network management framework that was developed by International Organization for Standardization (ISO). By categorizing network management tasks into five domains, FCAPS provides a comprehensive blueprint for network operations. This model is adeptly used by Adrian to enhance SIEM functionality and team responsiveness. The full form and the details of the FCAPS model is:</p><p>&#183; Fault Management—helps in identifying and correcting any malfunctions.</p><p>&#183; Configuration Management—helps in monitoring the system configurations.</p><p>&#183; Accounting Management—helps in managing the users, roles, etc.</p><p>&#183; Performance Management—helps in monitoring system performance.</p><p>&#183; Security Management—helps in protecting the system by checking the security rules.</p><p>For each of the components of the FCAPS model [<xref ref-type="bibr" rid="scirp.133624-ref16">16</xref>] , we have chosen two APIs. The APIs chosen are as follows. This is a comprehensive list and can be expanded to include more API functionalities for each category.</p><p>1) Fault Management</p><p>&#183; Fault Status—returns the faults that the agent has been allocated. It includes the source, details, and status of the fault. It also provides the first detected timestamp and the last updated timestamp of the fault.</p><p>&#183; Agent Upgrade Status—returns the status of an upgraded agent, if any. If any agent was upgraded, it provides the status of the upgrade and details on which component of the agent was upgraded.</p><p>2) Configuration Management</p><p>&#183; List rules—returns the top 10 rules that Wazuh uses for identifying malicious activities. There are over 6500 rules that are configured. Hence, I chose the top 10. This number is configurable and can be modified based on the requirements.</p><p>&#183; List decoders—returns the top 10 decoder rules and configurations that Wazuh uses for parsing and decoding the data that it receives from various sources. There are approximately 500 decoder rules, I have chosen the top 10. This field is configurable and can be modified based on the requirements.</p><p>3) Accounting Management</p><p>&#183; List users—returns the users present in the system, along with their roles and username.</p><p>&#183; List roles—returns the different roles configured in the system along with the name of the role and the policies that have been applied to it.</p><p>4) Performance Management</p><p>&#183; SCA scan results—returns the SCA scan results of Wazuh. SCA stands for Security Configuration Assessment. It runs the scan for CIS benchmark for Ubuntu and provides the number of checks that passed, failed and were invalid. It also provides the start time and end time of the scan.</p><p>&#183; Manager logs—returns the Wazuh manager logs that include a description, level, and timestamp of the logs.</p><p>5) Security Management</p><p>&#183; Security policies—list the top 10 security policies of Wazuh. It lists the name and details of the policy, the resources, and users where the policy is implemented. There are over 5000 security policies. I have chosen the top 10 policies.</p><p>&#183; MITRE References—lists the top 10 references that are used for identifying MITRE ATT&amp;CK by Wazuh. The results include the MITRE ID, source, description, and the reference link for each attack pattern. There are approximately 650 references. I have chosen the top 10 policies. This field is configurable and can be modified based on the requirements.</p><p>The API and the formatting of the API responses is included in the Flask app. The Flask app creates an interactive Slack channel that initially gives the user five options to choose from [<xref ref-type="bibr" rid="scirp.133624-ref17">17</xref>] . The options include the high-level configurations of FCAPS. After the user selects one of the five options, the Flask app provides two more options in the submenu. The options in the submenu include the APIs that were previously mentioned. After obtaining a choice, the app connects to Wazuh and fetches its response [<xref ref-type="bibr" rid="scirp.133624-ref18">18</xref>] . The response is formatted to include only the relevant details and in a more organized format and then published to the Slack channel [<xref ref-type="bibr" rid="scirp.133624-ref19">19</xref>] . The Flask app flowchart is depicted in <xref ref-type="fig" rid="fig1">Figure 1</xref>0. <xref ref-type="fig" rid="fig1">Figure 1</xref>1 includes all the details of the APIs used in the FCAPS model of Adrian [<xref ref-type="bibr" rid="scirp.133624-ref20">20</xref>] .</p></sec></sec><sec id="s5"><title>5. Results and Discussion of the Case Study</title><p>This section provides screenshots of the implementation of Adrian’s integration of Wazuh with Slack. The outcomes of the implementation resulted in several enhancements to the traditional alerts management and response mechanisms of SIEM platforms. The key improvements are as follows:</p><p>&#183; Real-Time Alert Distribution: Adrian provided real-time notifications on security incidents directly through the Slack channels. This significant improvement would ensure that the DevSecOps teams would promptly be informed of incidents without the requirements of constantly monitoring the SIEM platform.</p><p>&#183; Alert Customization and Categorization: The introduction of the RabbitMQ allowed customization and categorization of the alerts based on its severity levels. This feature significantly reduced the clutter in the notification channels and enabled the teams to focus on high Enhanced Response Capabilities: The bidirectional communication enables the DevSecOps teams to perform management-related activities directly through the Slack channel. This streamlined the response process.</p><p>The above improvements are implemented and screenshots with relevant explanations have been included in the next section.</p><sec id="s5_1"><title>5.1. Phase 1: Wazuh to Slack Communication</title><p>Phase 1 of Adrian covered the communication from Wazuh to Slack. While <xref ref-type="fig" rid="fig1">Figure 1</xref>2 is the screenshot of the original alert that was before Adrian cleaned up the alert, <xref ref-type="fig" rid="fig1">Figure 1</xref>3 shows the alert that Adrian customized to only include the relevant fields and categorized it as a low alert based on the severity level.</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref>4 and <xref ref-type="fig" rid="fig1">Figure 1</xref>5 present examples of medium and high alert generated in Wazuh and sent through Adrian to the corresponding Slack channels. These screenshots illustrate Adrian’s capability for alert prioritization and categorization.</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref>6 and <xref ref-type="fig" rid="fig1">Figure 1</xref>7 is an illustration of Adrian sending the alert statistics</p><p>to the teams in a timespan of 24 hours. <xref ref-type="fig" rid="fig1">Figure 1</xref>6 was sent on 3rd March and <xref ref-type="fig" rid="fig1">Figure 1</xref>7 was sent on 4th March. The figures indicate that there was a dip in the number of low alerts from 50 to 30. There is a marginal dip in the medium alerts as well. However, the number of high alerts has increased which could be a cause of concern for the team. In such instances, the team would have to login to investigate the issue further.</p></sec><sec id="s5_2"><title>5.2. Phase 2: Slack to Wazuh Communication</title><p><xref ref-type="fig" rid="fig1">Figure 1</xref>8 shows the initial message of the Flask app in the slack channel. As per the FCAPS model, it displays the high-level menu for the user to select the option.</p><p>The submenu for each option is shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>9. The flowchart represents all the submenu options that the user can choose from based on the chosen model. The images in the flowchart represent the options displayed to the user from the submenu.</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref>0 represents the Fault Status and Agent Upgrade Status. <xref ref-type="fig" rid="fig2">Figure 2</xref>0 (top image) provides the details of the fault that the agent has been allocated. <xref ref-type="fig" rid="fig2">Figure 2</xref>0 (bottom image) represents the agents that were upgraded. In cases where there is no agent to be upgraded, it displays the message depicted in the diagram.</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref>1 represents the Rules and Decoders. The figure show only one rule and one decoder, but Wazuh consists of over 6500 rules and approximately 600 decoders. <xref ref-type="fig" rid="fig2">Figure 2</xref>1 (top image) shows the required details on each rule including the name and directory of the rule. <xref ref-type="fig" rid="fig2">Figure 2</xref>1 (bottom image) shows the details of the decoder including the name and the pattern that is used by Wazuh for parsing and decoding data.</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref>2 represents the Users and Roles. <xref ref-type="fig" rid="fig2">Figure 2</xref>2 (top image) provides all the users and the roles they are mapped to. <xref ref-type="fig" rid="fig2">Figure 2</xref>2 (bottom image) provides all the roles and the policies that each role is mapped to. Together, users can map the users to their policies.</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref>3 represents the SCA Scan Results and Manager Logs. <xref ref-type="fig" rid="fig2">Figure 2</xref>3 (top image) provides the total number of checks that have passed, failed, and considered invalid. Since the host machine is an Ubuntu machine, SCA scan was performed for CIS Benchmarks for Ubuntu. <xref ref-type="fig" rid="fig2">Figure 2</xref>3 (bottom image) provides the latest Wazuh manager logs.</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref>4 represents the Security Policies and MITRE References. <xref ref-type="fig" rid="fig2">Figure 2</xref>4 (top image) provides all the details on the security policies that are configured in Wazuh. <xref ref-type="fig" rid="fig2">Figure 2</xref>4 (bottom image) represents one of the MITRE references that Wazuh uses for identifying MITRE ATT&amp;CK in the host machine. The image represents a limited set of security policies and MITRE references, but there are 250+ security policies and 100+ MITRE references that are configured in Wazuh.</p></sec><sec id="s5_3"><title>5.3. Discussion</title><p>This case study of Adrian clearly demonstrates the system’s innovative approach to improving SIEM platforms’ alert management and response mechanisms. By streamlining the flow of information between Wazuh and Slack, Adrian not only enhances the real-time alert distribution but also introduces a higher level of alert customization, alert categorization, and operational responsiveness.</p></sec></sec><sec id="s6"><title>6. Conclusion and Future Work</title><p>The results of our initial implementation of Adrian pave ways for several avenues for future research and development:</p><p>&#183; Platform Expansion: The presented case study of Adrian is primarily focused on integrating Wazuh with Slack. However, it can be expanded to include other software such as Microsoft Teams, Lark, Google Meet, etc. Similarly, it can also incorporate OpenCTI, MISP, etc. This expansion would be useful in exploring Adrian’s adaptation.</p><p>&#183; Advanced Features: Incorporating artificial intelligence and machine learning techniques to enhance Adrian’s alert prioritization and response automation capabilities could further improve the operational efficiency. The research in this path could lead to the development of intelligent modules within Adrian that would learn from the past incidents and optimize alert handling and response strategies.</p><p>&#183; Usability and User Experience: User studies could be conducted to gather feedback on Adrian’s interface and functionalities. The recommendation would be to collect feedback from the DevSecOps team members who could provide insights into usability improvements.</p><p>In conclusion, Adrian represents a significant advancement in streamlining security alert management and enhancing the response network for SIEM platforms. This integration ensures that the critical alerts are not only promptly delivered to the teams, but also the ability to respond and mitigate security incidents. The separation of alerts from alert statistics enables the teams to take fast decisions and actions.</p><p>Furthermore, Adrian offers a scalable and a flexible solution to the security incident monitoring and response challenges. We are optimistic about Adrian’s potential to contribute to a more security and efficient operational environment.</p></sec><sec id="s7"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s8"><title>Cite this paper</title><p>Shankar, A. and Madisetti, V. (2024) A Framework for Cybersecurity Alert Distribution and Response Network (ADRIAN). Journal of Software Engineering and Applications, 17, 396-420. https://doi.org/10.4236/jsea.2024.175022</p></sec></body><back><ref-list><title>References</title><ref id="scirp.133624-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Cinque, M., Cotroneo, D. and Pecchia, A. (2018) Challenges and Directions in Security Information and Event Management (SIEM). &lt;i&gt;IEEE International Symposium on Softwa&lt;/i&gt;&lt;i&gt;re Reliability Engineering Workshops&lt;/i&gt; (&lt;i&gt;ISSREW&lt;/i&gt;), Memphis, 15-18 October 2018, 95-99. &lt;br&gt;https://doi.org/10.1109/ISSREW.2018.00-24</mixed-citation></ref><ref id="scirp.133624-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Gonz&amp;#225;lez-Granadillo, G., Gonz&amp;#225;lez-Zarzosa, S., Diaz, R. (2021) Security Information and Event Management (SIEM): Analysis, Trends, and Usage in Critical Infrastructures. &lt;i&gt;Sensors&lt;/i&gt;, 21, 4759. &lt;br&gt;https://doi.org/10.3390/s21144759</mixed-citation></ref><ref id="scirp.133624-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Sadowski, G., Kavanagh, K. and Bussa, T. (2020) Critical Capabilities for Security Information and Event Management. Gartner, 10-30. &lt;br&gt;https://www.exclusivenetworks.com/se/wp-content</mixed-citation></ref><ref id="scirp.133624-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Forrester Total Economic Impact (2023) The Total Economic Impact of IBM Security QRadar SIEM. </mixed-citation></ref><ref id="scirp.133624-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">RabbitMQ (2024) Installing RabbitMQ on Debian and Ubuntu.   &lt;br&gt;https://www.rabbitmq.com/docs/install-debian</mixed-citation></ref><ref id="scirp.133624-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Wazuh (2024) Official Documentation. &lt;br&gt;https://documentation.wazuh.com/current/user-manual/api/configuration.html</mixed-citation></ref><ref id="scirp.133624-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Ngrok (2024) Slack   Ngrok. &lt;br&gt;https://ngrok.com/partners/slack</mixed-citation></ref><ref id="scirp.133624-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Grant Pennington (2020) RabbitMQ Tutorial and Python Demo. &lt;br&gt;https://www.youtube.com/watch?v=wDv1iCMjypg</mixed-citation></ref><ref id="scirp.133624-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">CloudAMQP (2021) RabbitMQ Explained-Exchanges. &lt;br&gt;https://www.youtube.com/watch?v=o8eU5WiO8fw </mixed-citation></ref><ref id="scirp.133624-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Ram N Java (2023) RabbitMQ Direct Exchange Explained. &lt;br&gt;https://www.youtube.com/watch?v=YDqlwRrno0w</mixed-citation></ref><ref id="scirp.133624-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Soumil Shah (2020) Starting with RabbitMQ Using Python. &lt;br&gt;https://www.youtube.com/watch?v=eSN0otKzYOE&amp;list=PLL2hlSFBmWwy8lhnj11FVJldKsZm66oq1</mixed-citation></ref><ref id="scirp.133624-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Geeksforgeeks (2023) Data Visualization with Python. &lt;br&gt;https://www.geeksforgeeks.org/data-visual/ </mixed-citation></ref><ref id="scirp.133624-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Ian Webster (2019) How to Send Dynamic Charts with Slack Bot. &lt;br&gt;https://quickchart.io/documentation/send-charts-with-slack-bot/</mixed-citation></ref><ref id="scirp.133624-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Wazuh (2024) Integration with Third-Party APIs. &lt;br&gt;https://documentation.wazuh.com/current/user-manual/manager/manual-integration.html</mixed-citation></ref><ref id="scirp.133624-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Real Python (2020) Getting Started with the Slack API Using Python and Flask. &lt;br&gt;https://realpython.com/getting-started-with-the-slack-api-using-python-and-flask/ </mixed-citation></ref><ref id="scirp.133624-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Splunk (2023) Common Information Model Add-on Manual. &lt;br&gt;https://docs.splunk.com/Documentation/CIM/5.3.1 /User/Alerts</mixed-citation></ref><ref id="scirp.133624-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Fireship (2020) How to Build a Slack App. &lt;br&gt;https://www.youtube.com/watch?v=25ArxpK48tU</mixed-citation></ref><ref id="scirp.133624-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Rohan Singh (2023) How to Run Python Flask App Online Using Ngrok?&lt;br&gt;https://www.tutorialspoint.com/how-to-run-python-flask-app-online-using-ngrok</mixed-citation></ref><ref id="scirp.133624-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Slack API (2024) Building an App with Bolt for Python. &lt;br&gt;https://api.slack.com/start/building/bolt-python</mixed-citation></ref><ref id="scirp.133624-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Peter Baumgartner (2016) Creating Slack Command with Python and Flask. &lt;br&gt;https://pmbaumgartner.github.io/blog/slack-commands-with-python-and-flask/</mixed-citation></ref></ref-list></back></article>