# Enhancing Cybersecurity Through Comprehensive Investigation of Data Flow-Based Attack Scenarios
## 3 Proposed Approach
### Methodology
#### 3.2.3 Impact Enumeration
However, tampering with a process or entity can lead to other threats, such as _Denial of Service, Elevation of Privilege_ and _Information Disclosure_. Therefore, such threats are examined in the related categories, as shown in line 19. Certain categories do not impact the destination, only the entity itself; thus, such categories are less critical in terms of depth of attack. When the correct category has been identified, the impact is determined from \(a[tDes]\) or \(a[tTitle]\) only. Considering all provided details, all possible effects are determined for each \(t[tCat]\), as shown in Table 1. Different effects are introduced and listed in Section 3.2.3 as part of the attack impact list. We categorize these based on their characteristics and attributes. The rest of the categories in the threat report, namely, _Denial of Service_, _Elevation of Privilege_, and _Information Disclosure_, do not affect other categories, meaning that their effect is only related to the threats in which they are generated. Their effect can be extracted from the description of the corresponding threat, as shown in line 23; however, in the case of _Repudiation_ the effect is extracted from the title of the threat, as shown in line 25. When the correct effect has been extracted, it can be added to the attack list. This process continues \begin{table}
\begin{tabular}{l l} \hline \hline
**Threat Category** & **Effect** \\ \hline \multirow{7}{*}{Spoofing} & Information not intended for disclosure (data breach/privacy leakage) \\  & Unauthorized access/unauthorized intrusion \\  & Data flow sniffing \\  & Incorrect data delivered \\  & Data written to the attacker’s target \\  & Data sent to the attacker’s target \\ \hline \multirow{7}{*}{Tampering} & Changing the flow of program execution \\  & Crashes \\  & Cross-site request forgery (CSRF) \\  & Data flow sniffing \\  & Impersonate \\  & Information not intended for disclosure \\  & Interrupting data flows \\  & Preventing access to data stores \\  & Remote code execution \\  & Resource consumption \\ \hline \multirow{2}{*}{Repudiation} & Data repudiation, \\  & Denial of data reception \\ \hline \multirow{2}{*}{Information Disclosure} & Information not intended for disclosure \\  & Data flow sniffing \\ \hline \multirow{3}{*}{Denial Of Service} & Interrupting data flows \\  & Crashes \\ \cline{1-1}  & Preventing access to data stores \\ \cline{1-1}  & Resource consumption \\ \hline \multirow{3}{*}{Elevation Of Privilege} & Changing the flow of program execution \\ \cline{1-1}  & Cross-site request forgery (CSRF) \\ \cline{1-1}  & Impersonation \\ \cline{1-1}  & Remote code execution \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Category-wise list of possible effects for each threat. iteratively until all of the threats in the threat list have been evaluated and the attack list _aList_ is populated with the corresponding effect of each threat. The process continues until the source and destination of each _Interaction_ have been identified. Because there can be redundant _Interactions_, traversing the _tList_ sequentially for sources and destinations can be ambiguous. In the case of redundancies, the last source and destination always overwrite the previous events. Therefore, we have devised a two-step procedure involving the DFD and the _tList_. First, we evaluate the graphical representation of the system and translate each combination of source, interaction, and destination into tabular form. In this way, each data flow is translated into a scenario regardless of redundancy. We then group all _Interactions_ to compute how many times each is repeated, as shown in Algorithm 2, line 4. This information is maintained in _sdList_, which becomes the reference point for the sources and destinations for each _Interaction_.