# A Taxonomy for Security Flaws in Event-Based Systems
## 1 Introduction  
Event-based systems (EBSs) developed by using message-oriented middleware (MOM) platforms [1] have been widely used in mobile cyber physical systems (MCPSs) as well as a wide range of applications including Internet of Things (IoT) [2; 3; 4; 5], financial markets, logistics, and web apps [6], including those that directly interfaced with users (e.g., Android apps [7]). In the case of MCPSs, for example, since they integrate distributed entities including computational, communication, and physical components [8], event-based architecture has been considered as an appropriate mechanism for their implementation [8; 9; 10; 11]. MCPSs' inherent heterogeneity and integration of multiple processes make event-based architecture as a relevant approach for their modeling and application [12; 13; 14; 15]. Specifically, EBSs are highly scalable, easily evolvable, and have a low coupling that makes them especially suitable for highly heterogeneous distributed systems [16; 17; 18; 19; 20; 21]. EBSs' popular attributes are led by their communication model. For example, in EBSs, components (interchangeably referred to as \"event-clients\" or \"event-agents\") invoke each other implicitly by publishing event messages (simply referred to as \"events\") instead of directly calling other components via explicit references. Accordingly, the components may not know the consumers of the events they publish, and may not necessarily know the producers of the events they consume as well. Although this communication mechanism provides several advantages, as its operation is based on non-determinism in event processing, it exposes EBSs to security threats such as event spoofing,interception, and eavesdropping [22; 23; 24] (called event attacks). To minimize the risk of such threats on EBSs, security efforts are required. When working on software security efforts, developers or administrators are required to determine the types of security flaws that exist in the system, the relative importance of each flaw, and the types of techniques that can be employed to handle each flaw. A security flaw taxonomy (an ordered system that indicates the natural relationships of security flaws [25; 26]) can provide a basis for developers to make better decisions in securing their target software system. For the past three decades, many such lists and taxonomies of security problems have been studied [25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; 37; 38]. However, despite the prevalence of EBSs, systematic identification and classification of EBSs' security flaws have not been extensively studied yet. Existing security flaw taxonomies do not adequately reflect the security issues that originate from the EBSs' characteristics or have been found in recent types of EBSs such as Android (Android is a mobile operating system (OS), but it also has been studied as a particular type of EBS because it supports event-based communication model. In this research, we consider Android not only as an OS, but also as a software system encompassing from middleware to applications. We will discuss the details in Section 2.2). Because EBSs have particular attributes that general software systems do not bear (e.g., implicit invocation in event communication), the existing lists or taxonomies are not directly applicable for securing EBSs. Therefore, it is inherently necessary to first systematically identify and classify EBSs' fundamental security flaws to negate any vulnerabilities in the system. In this paper, we introduce a new taxonomy that classifies the security flaws within EBSs [22; 39; 40; 41; 42; 43; 44; 45; 46; 47].