Related Works

This commit is contained in:
Noah L. Schrick 2022-03-04 16:47:02 -06:00
parent efb96cadbe
commit 0a8633e523
17 changed files with 399 additions and 250 deletions

View File

@ -1,18 +1,18 @@
\relax
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{25}{}\protected@file@percent }
\newlabel{App:A}{{A}{25}}
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{26}{}\protected@file@percent }
\newlabel{App:B}{{B}{26}}
\@writefile{toc}{\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{26}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{26}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{A Sub-subsection in an Appendix}{26}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{28}{}\protected@file@percent }
\newlabel{App:A}{{A}{28}}
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{29}{}\protected@file@percent }
\newlabel{App:B}{{B}{29}}
\@writefile{toc}{\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{29}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{29}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{A Sub-subsection in an Appendix}{29}{}\protected@file@percent }
\@setckpt{Appendices}{
\setcounter{page}{27}
\setcounter{page}{30}
\setcounter{equation}{0}
\setcounter{enumi}{4}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{14}
\setcounter{enumiv}{25}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}

View File

@ -1213,3 +1213,15 @@
@phdthesis{noauthor_notitle_nodate,
}
@INPROCEEDINGS{9150145,
author={Li, Ming and Hawrylak, Peter J. and Hale, John},
booktitle={2020 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)},
title={Implementing an Attack Graph Generator in CUDA},
year={2020},
volume={},
number={},
pages={730-738},
doi={10.1109/IPDPSW50202.2020.00128}}
@ARTICLE{7087377, author={Kaynar, Kerem and Sivrikaya, Fikret}, journal={IEEE Transactions on Dependable and Secure Computing}, title={Distributed Attack Graph Generation}, year={2016}, volume={13}, number={5}, pages={519-532}, doi={10.1109/TDSC.2015.2423682}}

View File

@ -56,7 +56,7 @@ The objectives of this thesis are:
\end{enumerate}
\item{Implement solutions to reduce state space explosion while remaining exhaustive and capturing all necessary information}
\item{Extend RAGE to function for heterogeneous distributed computing environments}
\item{Utilize RAGE for compliance graph generation}
\item{Extend and utilize RAGE for compliance graph generation}
\end{itemize}

View File

@ -1,12 +1,36 @@
\relax
\citation{berry_graph_2007}
\citation{berry_graph_2007}
\citation{zhang_boosting_2017}
\citation{ainsworth_graph_2016}
\citation{berry_graph_2007}
\citation{ainsworth_graph_2016}
\citation{ainsworth_graph_2016}
\citation{yao_efficient_2018}
\citation{zhang_boosting_2017}
\citation{dai_fpgp_2016}
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 2: }{\bf \uppercase {RELATED WORKS}}}{5}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.1}\bf Introduction to Graph Generation}{5}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.2}\bf Improvements to Attack Graph Generation}{5}{}\protected@file@percent }
\newlabel{sec:related_works}{{2.2}{5}}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}\bf Attack Dependency Graphs}{5}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.4}\bf Compliance Graphs}{5}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.2}\bf Graph Generation Improvements}{5}{}\protected@file@percent }
\newlabel{sec:gen_improv}{{2.2}{5}}
\citation{arifuzzaman_fast_2015}
\citation{yu_construction_2018}
\citation{liakos_memory-optimized_2016}
\citation{liakos_memory-optimized_2016}
\citation{liakos_memory-optimized_2016}
\citation{balaji_graph_2016}
\citation{noauthor_overview_nodate}
\citation{noauthor_boost_nodate}
\citation{ou_scalable_2006}
\citation{cook_scalable_2016}
\citation{li_concurrency_2019}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}\bf Improvements Specific to Attack Graph Generation}{6}{}\protected@file@percent }
\newlabel{sec:related_works}{{2.3}{6}}
\citation{li_concurrency_2019}
\citation{9150145}
\citation{7087377}
\@setckpt{Chapter2}{
\setcounter{page}{6}
\setcounter{page}{8}
\setcounter{equation}{0}
\setcounter{enumi}{4}
\setcounter{enumii}{0}
@ -16,7 +40,7 @@
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{2}
\setcounter{section}{4}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}

View File

@ -1,12 +1,44 @@
\TUchapter{RELATED WORKS}
Many authors and researchers have developed or extended attack graphs since their beginning
as attack trees. This Chapter reviews a few of their efforts as they relate to this work.
as attack trees. This Chapter reviews a few of their efforts as they relate to this work and to graph generation.
\TUsection{Introduction to Graph Generation}
Graph generation as a broad topic has many challenges that prevent full actualization of computation seen from a theoretical standpoint.
In actuality, graph generation often achieves only a very low percentage of its expected performance \cite{berry_graph_2007}. A few reasons
for this occurence lies in the underlying mechanisms of graph generation. The generation is predominantly memory based (as opposed to based on processor speed),
where performance is tied to memory access time, the complexity of data dependency, and coarseness of parallelism \cite{berry_graph_2007}, \cite{zhang_boosting_2017},
\cite{ainsworth_graph_2016}. The graph generation process is typically quite poor, resulting in lower performance results. Graphs consume large amounts of memory through their
nodes and edges, graph data structures suffer from poor cache locality, and memory latency from the processor-memory gap all slow the generation process dramatically
\cite{berry_graph_2007}, \cite{ainsworth_graph_2016}. Section \ref{sec:gen_improv} discusses a few works that can be used to improve the graph generation process, and Section
\ref{sec:related_works} discusses a few works specific to attack graph generation improvements.
\TUsection{Improvements to Attack Graph Generation} \label{sec:related_works}
\TUsection{Graph Generation Improvements} \label{sec:gen_improv}
For architectural and hardware techinques for generation improvement, the authors of \cite{ainsworth_graph_2016} discuss the high cache miss rate, and how general prefetching
leads does not increase the prediction rate due to non-sequenial graph structures and data-dependent access patterns. However, the authors continue to discuss that the generation
algorithm is known in advance, so explicit tuning of the hardware prefetcher to follow the traversal order pattern can lead to better performance. The authors were able to achieve
over 2x performance improvement of a breadth-first search approach with this method. Another hardware approach is to make use of accelerators. The authors of \cite{yao_efficient_2018}
present an approach for minimizing the slowdown caused by the underlying graph atomic functions. By using the atomic function patterns, the authors utilized pipeline stages where vertex
updates can be processed in parallel dynamically. Other works, such as those by the authors of \cite{zhang_boosting_2017} and \cite{dai_fpgp_2016}, leverage field-programmable gate arrays
(FPGAs) for graph generation in the HPC space through various means. This includes reducing memory strain, storing repeatedly accessed lists, storing results, or other storage through the
on-chip block RAM, or even levering Hybrid Memory Cubes for optimizing parallel access.
\TUsection{Attack Dependency Graphs}
From a data structure standpoint, the authors of \cite{arifuzzaman_fast_2015} describe the infeasibility of adjacency matrices in large-scale graphs, and this work and other works such as those
by the authors of \cite{yu_construction_2018} and \cite{liakos_memory-optimized_2016} discuss the appeal of distibuting a graph representation among systems. The author of
\cite{liakos_memory-optimized_2016} disuss the usage of distributed adjacency lists for assinging vertices to workers. The authors of \cite{liakos_memory-optimized_2016} and
\cite{balaji_graph_2016} present other techniques for minimizing communication costs by achieving high compression ratios while maintaining a low compression cost. The Boost Graph Library
and the Parallel Boost Graph Library both provide appealing features for working with graps, with the latter library notably having interoperability with MPI, Graphviz, and METIS
\cite{noauthor_overview_nodate}, \cite {noauthor_boost_nodate}.
\TUsection{Compliance Graphs}
\TUsection{Improvements Specific to Attack Graph Generation} \label{sec:related_works}
As a means of improving scalability of attack graphs, the authors of \cite{ou_scalable_2006} present a new representation scheme. Traditional attack graphs encode the entire network at each state,
but this representation uses logical statements to represent a portion of the network at each node. This is called a logical attack graph. This approach led to the reduction of the generation process
to quadratic time and reduced the number of nodes in the resulting graph to $\mathcal{O}({n}^2)$. However, this approach does require more analysis for identifying attack vectors. Another approach
presented by the authors of \cite{cook_scalable_2016} represent a description of systems and their qualities and topologies as a state, with a queue of unexplored states. This work was continued by the
authors of \cite{li_concurrency_2019} by implementing a hash table among other features. Each of these works demonstrate an improvement in scalability through refining the desirable information.
Another approach for generation improvement is through parallelization. The authors of \cite{li_concurrency_2019} leverage OpenMP to parallelize the exploration of a FIFO queue. This parallelization also
includes the utilization of OpenMP's dynamic scheduling. In this approach, each thread receives a state to explore, where a critical section is employed to handle the atomic functions of merging new state
information while avoiding collisions, race conditions, or stale data usage. The authors measured a 10x speedup over the serial algorithm. The authors of \cite{9150145} present a parallel generation
approach using CUDA, where speedup is obtained through a large number of CUDA cores. For a distributed approach, the authors of \cite{7087377} present a technique for utilizing reachability hyper-graph partitioning
and a virtual shared memory abstraction to prevent duplicate work by multiple nodes. This work had promising results in terms of limiting the state-space explosion and speedup as the number of network hosts increases.

View File

@ -1,12 +1,12 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 3: }{\bf \uppercase {UTILITY EXTENSIONS TO THE RAGE ATTACK GRAPH GENERATOR}}}{6}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.1}\bf Path Walking}{6}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.2}\bf Compound Operators}{6}{}\protected@file@percent }
\newlabel{sec:compops}{{3.2}{6}}
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 3: }{\bf \uppercase {UTILITY EXTENSIONS TO THE RAGE ATTACK GRAPH GENERATOR}}}{8}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.1}\bf Path Walking}{8}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.2}\bf Compound Operators}{8}{}\protected@file@percent }
\newlabel{sec:compops}{{3.2}{8}}
\citation{cook_rage_2018}
\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Path Walking to State 14}}{7}{}\protected@file@percent }
\newlabel{fig:PW}{{3.1}{7}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}\bf Color Coding}{8}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Path Walking to State 14}}{9}{}\protected@file@percent }
\newlabel{fig:PW}{{3.1}{9}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}\bf Color Coding}{10}{}\protected@file@percent }
\citation{cook_rage_2018}
\citation{li_concurrency_2019}
\citation{li_combining_2019}
@ -14,17 +14,17 @@
\citation{ainsworth_graph_2016}
\citation{berry_graph_2007}
\citation{cook_rage_2018}
\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Color Coding a Small Network Based on Violations}}{9}{}\protected@file@percent }
\newlabel{fig:CC}{{3.2}{9}}
\@writefile{toc}{\contentsline {section}{\numberline {3.4}\bf Intermediate Database Storage}{9}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Color Coding a Small Network Based on Violations}}{11}{}\protected@file@percent }
\newlabel{fig:CC}{{3.2}{11}}
\@writefile{toc}{\contentsline {section}{\numberline {3.4}\bf Intermediate Database Storage}{11}{}\protected@file@percent }
\citation{zhang_boosting_2017}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.1}\it Memory Constraint Difficulties}{10}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.2}\it Maximizing Performance with Intermediate Database Storage}{11}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.3}\it Portability}{12}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.1}\it Memory Constraint Difficulties}{12}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.2}\it Maximizing Performance with Intermediate Database Storage}{13}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.3}\it Portability}{14}{}\protected@file@percent }
\citation{CVE-2019-10747}
\@writefile{toc}{\contentsline {section}{\numberline {3.5}\bf Relational Operators}{13}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.5}\bf Relational Operators}{15}{}\protected@file@percent }
\@setckpt{Chapter3}{
\setcounter{page}{14}
\setcounter{page}{16}
\setcounter{equation}{0}
\setcounter{enumi}{4}
\setcounter{enumii}{0}

View File

@ -1,13 +1,13 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{14}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.1}\bf Introduction}{14}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}\it Synchronous Firing in Literature}{14}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.2}\bf Necessary Components}{14}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.3}\bf Example Networks and Results}{14}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{14}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}\it Results}{14}{}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.1}\bf Introduction}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}\it Synchronous Firing in Literature}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.2}\bf Necessary Components}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.3}\bf Example Networks and Results}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}\it Results}{16}{}\protected@file@percent }
\@setckpt{Chapter4}{
\setcounter{page}{15}
\setcounter{page}{17}
\setcounter{equation}{0}
\setcounter{enumi}{4}
\setcounter{enumii}{0}

View File

@ -1,36 +1,36 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{15}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{15}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.2}\bf Necessary Components}{15}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{15}{}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{17}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{17}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.2}\bf Necessary Components}{17}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{17}{}\protected@file@percent }
\citation{cook_rage_2018}
\citation{li_concurrency_2019}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task Zero}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task One}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task Two}{16}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task Three}{16}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Generation Flowchart of RAGE}}{17}{}\protected@file@percent }
\newlabel{fig:RAGE_chart}{{5.1}{17}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Task Overview of the Attack Graph Generation Process}}{18}{}\protected@file@percent }
\newlabel{fig:tasks}{{5.2}{18}}
\@writefile{toc}{\contentsline {subsubsection}{Task Four}{19}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task Five}{19}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{19}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{19}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{19}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{19}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{19}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Worker Nodes}{19}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Root Node}{19}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Database Node}{19}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{19}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{18}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{18}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{18}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{18}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{18}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task Zero}{18}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task One}{18}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task Two}{18}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task Three}{18}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Generation Flowchart of RAGE}}{19}{}\protected@file@percent }
\newlabel{fig:RAGE_chart}{{5.1}{19}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Task Overview of the Attack Graph Generation Process}}{20}{}\protected@file@percent }
\newlabel{fig:tasks}{{5.2}{20}}
\@writefile{toc}{\contentsline {subsubsection}{Task Four}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Task Five}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Worker Nodes}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Root Node}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Database Node}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{21}{}\protected@file@percent }
\@setckpt{Chapter5}{
\setcounter{page}{20}
\setcounter{page}{22}
\setcounter{equation}{0}
\setcounter{enumi}{4}
\setcounter{enumii}{0}

View File

@ -1,23 +1,23 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Small Networks}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}\it Results}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.2}\bf Large Networks}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}\it Results}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}\it Results}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}\it Results}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Small Networks}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}\it Results}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.2}\bf Large Networks}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}\it Results}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}\it Results}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{23}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}\it Results}{23}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{23}{}\protected@file@percent }
\@setckpt{Chapter6}{
\setcounter{page}{22}
\setcounter{page}{24}
\setcounter{equation}{0}
\setcounter{enumi}{4}
\setcounter{enumii}{0}

View File

@ -1,8 +1,8 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.1}\bf Future Work}{22}{}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{24}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.1}\bf Future Work}{24}{}\protected@file@percent }
\@setckpt{Chapter7}{
\setcounter{page}{23}
\setcounter{page}{25}
\setcounter{equation}{0}
\setcounter{enumi}{4}
\setcounter{enumii}{0}

View File

@ -21,25 +21,36 @@
\@input{Chapter6.aux}
\@input{Chapter7.aux}
\bibdata{Bibliography}
\bibcite{ainsworth_graph_2016}{1}
\bibcite{allman_complying_2006}{2}
\bibcite{baloyi_guidelines_2019}{3}
\bibcite{berry_graph_2007}{4}
\bibcite{cook_rage_2018}{5}
\bibcite{CVE-2019-10747}{6}
\bibcite{j_hale_compliance_nodate}{7}
\bibcite{li_combining_2019}{8}
\bibcite{li_concurrency_2019}{9}
\bibcite{noauthor_boost_nodate}{1}
\bibcite{noauthor_overview_nodate}{2}
\bibcite{ainsworth_graph_2016}{3}
\bibcite{allman_complying_2006}{4}
\bibcite{arifuzzaman_fast_2015}{5}
\bibcite{balaji_graph_2016}{6}
\bibcite{baloyi_guidelines_2019}{7}
\bibcite{berry_graph_2007}{8}
\bibcite{cook_rage_2018}{9}
\bibcite{cook_scalable_2016}{10}
\@writefile{toc}{{\hfill \ }}
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{23}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{25}{}\protected@file@percent }
\@writefile{toc}{\addvspace {10pt}}
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{23}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{25}{}\protected@file@percent }
\@writefile{toc}{{\hfill \ }}
\bibcite{ou_scalable_2006}{10}
\bibcite{phillips_graph-based_1998}{11}
\bibcite{schneier_modeling_1999}{12}
\bibcite{sheyner_automated_2002}{13}
\bibcite{zhang_boosting_2017}{14}
\bibcite{CVE-2019-10747}{11}
\bibcite{dai_fpgp_2016}{12}
\bibcite{j_hale_compliance_nodate}{13}
\bibcite{7087377}{14}
\bibcite{li_combining_2019}{15}
\bibcite{li_concurrency_2019}{16}
\bibcite{9150145}{17}
\bibcite{liakos_memory-optimized_2016}{18}
\bibcite{ou_scalable_2006}{19}
\bibcite{phillips_graph-based_1998}{20}
\bibcite{schneier_modeling_1999}{21}
\bibcite{sheyner_automated_2002}{22}
\bibcite{yao_efficient_2018}{23}
\bibcite{yu_construction_2018}{24}
\bibcite{zhang_boosting_2017}{25}
\bibstyle{plain}
\@input{Appendices.aux}
\gdef \@abspage@last{36}
\gdef \@abspage@last{39}

View File

@ -1,5 +1,11 @@
\begin{thebibliography}{10}
\bibitem{noauthor_boost_nodate}
The {Boost} {Graph} {Library} - 1.75.0.
\bibitem{noauthor_overview_nodate}
An {Overview} of the {Parallel} {Boost} {Graph} {Library} - 1.75.0.
\bibitem{ainsworth_graph_2016}
Sam Ainsworth and Timothy~M. Jones.
\newblock Graph prefetching using data structure knowledge.
@ -11,6 +17,19 @@ Eric Allman.
\newblock Complying with {Compliance}: {Blowing} it off is not an option.
\newblock {\em ACM Queue}, 4(7), 2006.
\bibitem{arifuzzaman_fast_2015}
Shaikh Arifuzzaman and Maleq Khan.
\newblock Fast parallel conversion of edge list to adjacency list for
large-scale graphs.
\newblock In {\em {HPC} '15: {Proceedings} of the {Symposium} on {High}
{Performance} {Computing}}, pages 17--24, April 2015.
\bibitem{balaji_graph_2016}
Janani Balaji and Rajshekhar Sunderraman.
\newblock Graph {Topology} {Abstraction} for {Distributed} {Path} {Queries}.
\newblock In {\em {HPGP} '16: {Proceedings} of the {ACM} {Workshop} on {High}
{Performance} {Graph} {Processing}}, pages 27--34, May 2016.
\bibitem{baloyi_guidelines_2019}
Ntsako Baloyi and Paula Kotzé.
\newblock Guidelines for {Data} {Privacy} {Compliance}: {A} {Focus} on
@ -29,6 +48,12 @@ Kyle Cook.
\newblock {\em {RAGE}: {The} {Rage} {Attack} {Graph} {Engine}}.
\newblock PhD thesis, 2018.
\bibitem{cook_scalable_2016}
Kyle Cook, Thomas Shaw, John Hale, and Peter Hawrylak.
\newblock Scalable attack graph generation.
\newblock {\em Proceedings of the 11th Annual Cyber and Information Security
Research Conference, CISRC 2016}, 2016.
\bibitem{CVE-2019-10747}
{set-value is vulnerable to Prototype Pollution in versions lower than 3.0.1.
The function mixin-deep could be tricked into adding or modifying properties
@ -36,10 +61,23 @@ Kyle Cook.
payloads.}
\newblock National Vulnerability Database, August 2019.
\bibitem{dai_fpgp_2016}
Guohao Dai, Yuze Chi, Yu~Wang, and Huazhong Yang.
\newblock {FPGP}: {Graph} processing framework on {FPGA}: {A} case study of
breadth-first search.
\newblock {\em FPGA 2016 - Proceedings of the 2016 ACM/SIGDA International
Symposium on Field-Programmable Gate Arrays}, pages 105--110, 2016.
\bibitem{j_hale_compliance_nodate}
{J. Hale}, P.~Hawrylak, and M.~Papa.
\newblock Compliance {Method} for a {Cyber}-{Physical} {System}.
\bibitem{7087377}
Kerem Kaynar and Fikret Sivrikaya.
\newblock Distributed attack graph generation.
\newblock {\em IEEE Transactions on Dependable and Secure Computing},
13(5):519--532, 2016.
\bibitem{li_combining_2019}
Ming Li, Peter Hawrylak, and John Hale.
\newblock Combining {OpenCL} and {MPI} to support heterogeneous computing on a
@ -52,6 +90,20 @@ Ming Li, Peter Hawrylak, and John Hale.
\newblock {\em Proceedings - 2019 2nd International Conference on Data
Intelligence and Security, ICDIS 2019}, pages 174--179, 2019.
\bibitem{9150145}
Ming Li, Peter~J. Hawrylak, and John Hale.
\newblock Implementing an attack graph generator in cuda.
\newblock In {\em 2020 IEEE International Parallel and Distributed Processing
Symposium Workshops (IPDPSW)}, pages 730--738, 2020.
\bibitem{liakos_memory-optimized_2016}
Panagiotis Liakos, Katia Papakonstantinopoulou, and Alex Delis.
\newblock Memory-{Optimized} {Distributed} {Graph} {Processing} through {Novel}
{Compression} {Techniques}.
\newblock In {\em {CIKM} '16: {Proceedings} of the 25th {ACM} {International}
{Conference} on {Information} and {Knowledge} {Management}}, pages
2317--2322, October 2016.
\bibitem{ou_scalable_2006}
Xinming Ou, Wayne~F Boyer, and Miles~A Mcqueen.
\newblock A {Scalable} {Approach} to {Attack} {Graph} {Generation}.
@ -74,6 +126,22 @@ O.~Sheyner, J.~Haines, S.~Jha, R.. Lippmann, and J.~Wing.
\newblock {\em Proceeding of 2002 IEEE Symposium on Security and Privacy},
pages 254--265, 2002.
\bibitem{yao_efficient_2018}
Pengcheng Yao, Long Zheng, Xiaofei Liao, Hai Jin, and Bingsheng He.
\newblock An efficient graph accelerator with parallel data conflict
management.
\newblock {\em Parallel Architectures and Compilation Techniques - Conference
Proceedings, PACT}, 2018.
\bibitem{yu_construction_2018}
Xinjie Yu, Wentao Chen, Jiajia Miao, Jian Chen, Handong Mao, Qiong Luo, and Lin
Gu.
\newblock The {Construction} of {Large} {Graph} {Data} {Structures} in a
{Scalable} {Distributed} {Message} {System}.
\newblock In {\em {HPCCT} 2018: {Proceedings} of the 2018 2nd {High}
{Performance} {Computing} and {Cluster} {Technologies} {Conference}}, pages
6--10, June 2018.
\bibitem{zhang_boosting_2017}
Jialiang Zhang, Soroosh Khoram, and Jing Li.
\newblock Boosting the performance of {FPGA}-based graph processor using hybrid

View File

@ -13,47 +13,49 @@ A level-1 auxiliary file: Appendices.aux
Database file #1: Bibliography.bib
Warning--entry type for "j_hale_compliance_nodate" isn't style-file defined
--line 272 of file Bibliography.bib
Warning--to sort, need author or key in noauthor_overview_nodate
Warning--to sort, need author or key in noauthor_boost_nodate
Warning--empty school in cook_rage_2018
Warning--empty journal in ou_scalable_2006
You've used 14 entries,
You've used 25 entries,
2118 wiz_defined-function locations,
577 strings with 6718 characters,
and the built_in function-call counts, 4298 in all, are:
= -- 430
> -- 192
< -- 4
+ -- 78
- -- 62
* -- 250
:= -- 708
add.period$ -- 41
call.type$ -- 14
change.case$ -- 73
628 strings with 9040 characters,
and the built_in function-call counts, 8411 in all, are:
= -- 825
> -- 381
< -- 10
+ -- 157
- -- 126
* -- 516
:= -- 1321
add.period$ -- 70
call.type$ -- 25
change.case$ -- 138
chr.to.int$ -- 0
cite$ -- 16
duplicate$ -- 175
empty$ -- 329
format.name$ -- 62
if$ -- 914
cite$ -- 29
duplicate$ -- 349
empty$ -- 665
format.name$ -- 126
if$ -- 1821
int.to.chr$ -- 0
int.to.str$ -- 14
missing$ -- 10
newline$ -- 71
num.names$ -- 26
pop$ -- 85
int.to.str$ -- 25
missing$ -- 19
newline$ -- 122
num.names$ -- 44
pop$ -- 173
preamble$ -- 1
purify$ -- 60
purify$ -- 114
quote$ -- 0
skip$ -- 152
skip$ -- 306
stack$ -- 0
substring$ -- 219
swap$ -- 49
text.length$ -- 4
substring$ -- 466
swap$ -- 113
text.length$ -- 10
text.prefix$ -- 0
top$ -- 0
type$ -- 56
warning$ -- 2
while$ -- 40
width$ -- 16
write$ -- 145
(There were 3 warnings)
type$ -- 100
warning$ -- 4
while$ -- 76
width$ -- 27
write$ -- 252
(There were 5 warnings)

View File

@ -1,5 +1,5 @@
{\vspace {\baselineskip }}
\contentsline {figure}{\numberline {3.1}{\ignorespaces Path Walking to State 14}}{7}{}%
\contentsline {figure}{\numberline {3.2}{\ignorespaces Color Coding a Small Network Based on Violations}}{9}{}%
\contentsline {figure}{\numberline {5.1}{\ignorespaces Generation Flowchart of RAGE}}{17}{}%
\contentsline {figure}{\numberline {5.2}{\ignorespaces Task Overview of the Attack Graph Generation Process}}{18}{}%
\contentsline {figure}{\numberline {3.1}{\ignorespaces Path Walking to State 14}}{9}{}%
\contentsline {figure}{\numberline {3.2}{\ignorespaces Color Coding a Small Network Based on Violations}}{11}{}%
\contentsline {figure}{\numberline {5.1}{\ignorespaces Generation Flowchart of RAGE}}{19}{}%
\contentsline {figure}{\numberline {5.2}{\ignorespaces Task Overview of the Attack Graph Generation Process}}{20}{}%

View File

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.2.14) 2 MAR 2022 16:20
This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.2.14) 4 MAR 2022 16:42
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
@ -170,7 +170,7 @@ LaTeX Font Info: External font `cmex10' loaded for size
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 2.
Overfull \hbox (1.75291pt too wide) in paragraph at lines 25--25
Overfull \hbox (1.75291pt too wide) in paragraph at lines 24--24
[] []\OT1/cmr/bx/n/12 UTILITY EX-TEN-SIONS TO THE RAGE AT-TACK GRAPH
[]
@ -207,39 +207,39 @@ CHAPTER 1.
(./Chapter2.tex
CHAPTER 2.
) [5
[5
]
] [6]) [7]
\openout2 = `Chapter3.aux'.
(./Chapter3.tex
CHAPTER 3.
<./Chapter3_img/PW.png, id=54, 958.58125pt x 525.965pt>
<./Chapter3_img/PW.png, id=63, 958.58125pt x 525.965pt>
File: ./Chapter3_img/PW.png Graphic file (type png)
<use ./Chapter3_img/PW.png>
Package pdftex.def Info: ./Chapter3_img/PW.png used on input line 17.
(pdftex.def) Requested size: 469.75499pt x 257.74918pt.
[6
[8
] [7 <./Chapter3_img/PW.png>]
<./Chapter3_img/CC.png, id=63, 658.46pt x 527.9725pt>
] [9 <./Chapter3_img/PW.png>]
<./Chapter3_img/CC.png, id=71, 658.46pt x 527.9725pt>
File: ./Chapter3_img/CC.png Graphic file (type png)
<use ./Chapter3_img/CC.png>
Package pdftex.def Info: ./Chapter3_img/CC.png used on input line 55.
(pdftex.def) Requested size: 469.75499pt x 376.66768pt.
[8] [9 <./Chapter3_img/CC.png>] [10] [11]
[12]) [13]
[10] [11 <./Chapter3_img/CC.png>] [12] [13]
[14]) [15]
\openout2 = `Chapter4.aux'.
(./Chapter4.tex
CHAPTER 4.
) [14
) [16
@ -249,57 +249,57 @@ CHAPTER 4.
(./Chapter5.tex
CHAPTER 5.
[15
[17
]
<./Chapter5_img/RAGE_Chart.png, id=90, 495.8525pt x 557.08125pt>
<./Chapter5_img/RAGE_Chart.png, id=97, 495.8525pt x 557.08125pt>
File: ./Chapter5_img/RAGE_Chart.png Graphic file (type png)
<use ./Chapter5_img/RAGE_Chart.png>
Package pdftex.def Info: ./Chapter5_img/RAGE_Chart.png used on input line 43.
(pdftex.def) Requested size: 469.75499pt x 527.76213pt.
<./Chapter5_img/horiz_task.drawio.png, id=91, 1125.20375pt x 738.76pt>
<./Chapter5_img/horiz_task.drawio.png, id=98, 1125.20375pt x 738.76pt>
File: ./Chapter5_img/horiz_task.drawio.png Graphic file (type png)
<use ./Chapter5_img/horiz_task.drawio.png>
Package pdftex.def Info: ./Chapter5_img/horiz_task.drawio.png used on input li
ne 49.
(pdftex.def) Requested size: 469.75499pt x 308.4171pt.
[16] [17 <./Chapter5_img/RAGE_Chart.png>] [18 <./Chapter5_img/horiz_task.drawi
o.png>]) [19]
[18] [19 <./Chapter5_img/RAGE_Chart.png>] [20 <./Chapter5_img/horiz_task.drawi
o.png>]) [21]
\openout2 = `Chapter6.aux'.
(./Chapter6.tex
CHAPTER 6.
[20
[22
]) [21]
]) [23]
\openout2 = `Chapter7.aux'.
(./Chapter7.tex
CHAPTER 7.
) [22
) [24
] (./Schrick-Noah_MS-Thesis.bbl [23
] (./Schrick-Noah_MS-Thesis.bbl [25
])
] [26])
\c@appendixno=\count269
[24]
[27]
\openout2 = `Appendices.aux'.
(./Appendices.tex [25
(./Appendices.tex [28
])
[26] (./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux)
[29] (./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux)
(./Chapter3.aux) (./Chapter4.aux) (./Chapter5.aux) (./Chapter6.aux)
(./Chapter7.aux) (./Appendices.aux)) )
(\end occurred inside a group at level 6)
@ -312,10 +312,10 @@ CHAPTER 7.
### semi simple group (level 1) entered at line 52 (\begingroup)
### bottom level
Here is how much of TeX's memory you used:
2153 strings out of 478353
38062 string characters out of 5854635
344949 words of memory out of 5000000
20223 multiletter control sequences out of 15000+600000
2165 strings out of 478353
38294 string characters out of 5854635
345004 words of memory out of 5000000
20235 multiletter control sequences out of 15000+600000
407157 words of font info for 39 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
55i,7n,62p,306b,1305s stack positions out of 5000i,500n,10000p,200000b,80000s
@ -323,12 +323,13 @@ Here is how much of TeX's memory you used:
c}</usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/share/
texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb></usr/share/texmf-dist/fon
ts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texmf-dist/fonts/type1/public
/amsfonts/cm/cmsy10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/c
mti12.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb>
Output written on Schrick-Noah_MS-Thesis.pdf (36 pages, 343561 bytes).
/amsfonts/cm/cmr8.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cms
y10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmti12.pfb></usr/
share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb>
Output written on Schrick-Noah_MS-Thesis.pdf (39 pages, 360533 bytes).
PDF statistics:
156 PDF objects out of 1000 (max. 8388607)
100 compressed objects within 1 object stream
174 PDF objects out of 1000 (max. 8388607)
112 compressed objects within 2 object streams
0 named destinations out of 1000 (max. 500000)
21 words of extra memory for PDF output out of 10000 (max. 10000000)

Binary file not shown.

View File

@ -19,75 +19,74 @@
\contentsline {section}{\numberline {1.3}\bf Objectives and Contributions}{4}{}%
\contentsline {chapter}{\numberline {CHAPTER 2: }{\bf \uppercase {RELATED WORKS}}}{5}{}%
\contentsline {section}{\numberline {2.1}\bf Introduction to Graph Generation}{5}{}%
\contentsline {section}{\numberline {2.2}\bf Improvements to Attack Graph Generation}{5}{}%
\contentsline {section}{\numberline {2.3}\bf Attack Dependency Graphs}{5}{}%
\contentsline {section}{\numberline {2.4}\bf Compliance Graphs}{5}{}%
\contentsline {chapter}{\numberline {CHAPTER 3: }{\bf \uppercase {UTILITY EXTENSIONS TO THE RAGE ATTACK GRAPH GENERATOR}}}{6}{}%
\contentsline {section}{\numberline {3.1}\bf Path Walking}{6}{}%
\contentsline {section}{\numberline {3.2}\bf Compound Operators}{6}{}%
\contentsline {section}{\numberline {3.3}\bf Color Coding}{8}{}%
\contentsline {section}{\numberline {3.4}\bf Intermediate Database Storage}{9}{}%
\contentsline {subsection}{\numberline {3.4.1}\it Memory Constraint Difficulties}{10}{}%
\contentsline {subsection}{\numberline {3.4.2}\it Maximizing Performance with Intermediate Database Storage}{11}{}%
\contentsline {subsection}{\numberline {3.4.3}\it Portability}{12}{}%
\contentsline {section}{\numberline {3.5}\bf Relational Operators}{13}{}%
\contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{14}{}%
\contentsline {section}{\numberline {4.1}\bf Introduction}{14}{}%
\contentsline {subsection}{\numberline {4.1.1}\it Synchronous Firing in Literature}{14}{}%
\contentsline {section}{\numberline {4.2}\bf Necessary Components}{14}{}%
\contentsline {section}{\numberline {4.3}\bf Example Networks and Results}{14}{}%
\contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{14}{}%
\contentsline {subsection}{\numberline {4.3.2}\it Results}{14}{}%
\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{15}{}%
\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{15}{}%
\contentsline {section}{\numberline {5.2}\bf Necessary Components}{15}{}%
\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{15}{}%
\contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{16}{}%
\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{16}{}%
\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{16}{}%
\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{16}{}%
\contentsline {subsubsection}{Communication Structure}{16}{}%
\contentsline {subsubsection}{Task Zero}{16}{}%
\contentsline {subsubsection}{Task One}{16}{}%
\contentsline {subsubsection}{Task Two}{16}{}%
\contentsline {subsubsection}{Task Three}{16}{}%
\contentsline {subsubsection}{Task Four}{19}{}%
\contentsline {subsubsection}{Task Five}{19}{}%
\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{19}{}%
\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{19}{}%
\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{19}{}%
\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{19}{}%
\contentsline {subsubsection}{Communication Structure}{19}{}%
\contentsline {subsubsection}{Worker Nodes}{19}{}%
\contentsline {subsubsection}{Root Node}{19}{}%
\contentsline {subsubsection}{Database Node}{19}{}%
\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{19}{}%
\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{20}{}%
\contentsline {section}{\numberline {6.1}\bf Small Networks}{20}{}%
\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{20}{}%
\contentsline {subsection}{\numberline {6.1.2}\it Results}{20}{}%
\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{20}{}%
\contentsline {section}{\numberline {6.2}\bf Large Networks}{20}{}%
\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{20}{}%
\contentsline {subsection}{\numberline {6.2.2}\it Results}{20}{}%
\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{20}{}%
\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{20}{}%
\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{20}{}%
\contentsline {subsection}{\numberline {6.3.2}\it Results}{20}{}%
\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{20}{}%
\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{20}{}%
\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{21}{}%
\contentsline {subsection}{\numberline {6.4.2}\it Results}{21}{}%
\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{21}{}%
\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{22}{}%
\contentsline {section}{\numberline {7.1}\bf Future Work}{22}{}%
\contentsline {section}{\numberline {2.2}\bf Graph Generation Improvements}{5}{}%
\contentsline {section}{\numberline {2.3}\bf Improvements Specific to Attack Graph Generation}{6}{}%
\contentsline {chapter}{\numberline {CHAPTER 3: }{\bf \uppercase {UTILITY EXTENSIONS TO THE RAGE ATTACK GRAPH GENERATOR}}}{8}{}%
\contentsline {section}{\numberline {3.1}\bf Path Walking}{8}{}%
\contentsline {section}{\numberline {3.2}\bf Compound Operators}{8}{}%
\contentsline {section}{\numberline {3.3}\bf Color Coding}{10}{}%
\contentsline {section}{\numberline {3.4}\bf Intermediate Database Storage}{11}{}%
\contentsline {subsection}{\numberline {3.4.1}\it Memory Constraint Difficulties}{12}{}%
\contentsline {subsection}{\numberline {3.4.2}\it Maximizing Performance with Intermediate Database Storage}{13}{}%
\contentsline {subsection}{\numberline {3.4.3}\it Portability}{14}{}%
\contentsline {section}{\numberline {3.5}\bf Relational Operators}{15}{}%
\contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{16}{}%
\contentsline {section}{\numberline {4.1}\bf Introduction}{16}{}%
\contentsline {subsection}{\numberline {4.1.1}\it Synchronous Firing in Literature}{16}{}%
\contentsline {section}{\numberline {4.2}\bf Necessary Components}{16}{}%
\contentsline {section}{\numberline {4.3}\bf Example Networks and Results}{16}{}%
\contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{16}{}%
\contentsline {subsection}{\numberline {4.3.2}\it Results}{16}{}%
\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{17}{}%
\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{17}{}%
\contentsline {section}{\numberline {5.2}\bf Necessary Components}{17}{}%
\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{17}{}%
\contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{18}{}%
\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{18}{}%
\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{18}{}%
\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{18}{}%
\contentsline {subsubsection}{Communication Structure}{18}{}%
\contentsline {subsubsection}{Task Zero}{18}{}%
\contentsline {subsubsection}{Task One}{18}{}%
\contentsline {subsubsection}{Task Two}{18}{}%
\contentsline {subsubsection}{Task Three}{18}{}%
\contentsline {subsubsection}{Task Four}{21}{}%
\contentsline {subsubsection}{Task Five}{21}{}%
\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{21}{}%
\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{21}{}%
\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{21}{}%
\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{21}{}%
\contentsline {subsubsection}{Communication Structure}{21}{}%
\contentsline {subsubsection}{Worker Nodes}{21}{}%
\contentsline {subsubsection}{Root Node}{21}{}%
\contentsline {subsubsection}{Database Node}{21}{}%
\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{21}{}%
\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{22}{}%
\contentsline {section}{\numberline {6.1}\bf Small Networks}{22}{}%
\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{22}{}%
\contentsline {subsection}{\numberline {6.1.2}\it Results}{22}{}%
\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{22}{}%
\contentsline {section}{\numberline {6.2}\bf Large Networks}{22}{}%
\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{22}{}%
\contentsline {subsection}{\numberline {6.2.2}\it Results}{22}{}%
\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{22}{}%
\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{22}{}%
\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{22}{}%
\contentsline {subsection}{\numberline {6.3.2}\it Results}{22}{}%
\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{22}{}%
\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{22}{}%
\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{23}{}%
\contentsline {subsection}{\numberline {6.4.2}\it Results}{23}{}%
\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{23}{}%
\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{24}{}%
\contentsline {section}{\numberline {7.1}\bf Future Work}{24}{}%
{\hfill \ }
\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{23}{}%
\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{25}{}%
\addvspace {10pt}
\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{23}{}%
\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{25}{}%
{\hfill \ }
\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{25}{}%
\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{26}{}%
\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{26}{}%
\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{26}{}%
\contentsline {subsubsection}{A Sub-subsection in an Appendix}{26}{}%
\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{28}{}%
\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{29}{}%
\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{29}{}%
\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{29}{}%
\contentsline {subsubsection}{A Sub-subsection in an Appendix}{29}{}%