diff --git a/Appendices.aux b/Appendices.aux index ddb01b0..b90c1e9 100644 --- a/Appendices.aux +++ b/Appendices.aux @@ -1,18 +1,18 @@ \relax -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{23}{}\protected@file@percent } -\newlabel{App:A}{{A}{23}} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{24}{}\protected@file@percent } -\newlabel{App:B}{{B}{24}} -\@writefile{toc}{\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{24}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{24}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{A Sub-subsection in an Appendix}{24}{}\protected@file@percent } +\@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 } \@setckpt{Appendices}{ -\setcounter{page}{25} +\setcounter{page}{27} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} \setcounter{enumiii}{0} -\setcounter{enumiv}{11} +\setcounter{enumiv}{14} \setcounter{footnote}{0} \setcounter{mpfootnote}{0} \setcounter{part}{0} diff --git a/Chapter1.aux b/Chapter1.aux index 0459359..f13ea1e 100644 --- a/Chapter1.aux +++ b/Chapter1.aux @@ -7,10 +7,20 @@ \citation{zhang_boosting_2017} \@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 1: }{\bf \uppercase {INTRODUCTION}}}{1}{}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {1.1}\bf Introduction to Attack Graphs}{1}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {1.2}\bf Application to Cybersecurity and Compliance}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {1.3}\bf Objectives and Contributions}{2}{}\protected@file@percent } +\citation{j_hale_compliance_nodate} +\citation{baloyi_guidelines_2019} +\citation{allman_complying_2006} +\citation{j_hale_compliance_nodate} +\citation{j_hale_compliance_nodate} +\@writefile{toc}{\contentsline {section}{\numberline {1.2}\bf Application to Compliance}{2}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.1}\it Introduction to Compliance Graphs}{2}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.2}\it Defining Compliance Graphs}{2}{}\protected@file@percent } +\newlabel{CG-alter}{{1.2.2}{2}} +\citation{cook_rage_2018} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.3}\it Difficulties of Compliance Graphs and Introduction to Thesis Work}{3}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {1.3}\bf Objectives and Contributions}{4}{}\protected@file@percent } \@setckpt{Chapter1}{ -\setcounter{page}{3} +\setcounter{page}{5} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Chapter1.tex b/Chapter1.tex index 9b6f5fd..19199b5 100644 --- a/Chapter1.tex +++ b/Chapter1.tex @@ -15,7 +15,34 @@ edges. When scaling attack graphs to analyze the modern, interconnected state of custom vulnerability testing, this becomes infeasible. Similar difficulties arise in related fields, where social networks, bio-informatics, and neural network representations also result in graphs with millions of states \cite{zhang_boosting_2017}. Various efforts that will be discussed in Section \ref{sec:related_works} demonstrate methods and techniques that can mitigate these difficulties and improve performance. -\TUsection{Application to Cybersecurity and Compliance} +\TUsection{Application to Compliance} +\TUsubsection{Introduction to Compliance Graphs} +As an alternative to attack graphs for examining vulnerable states and measuring cybersecurity postures, the focus can be narrowed to generate graphs with the purpose of examining compliance or regulation statuses. +These graphs are known as compliance graphs. Compliance graphs can be especially useful for cyber-physical systems, where a greater need for compliance exists. As the authors of \cite{j_hale_compliance_nodate}, +\cite{baloyi_guidelines_2019}, and \cite{allman_complying_2006} discuss, cyber-physical systems have seen greater usage, especially in areas like critical infrastructure and Internet of Things. The challenge of +cyber-physical systems lies not only in the demand for cybersecurity of these systems, but also the concern for safe, stable, and undamaged equipment. The industry in which these devices are used can lead to +additional compliance guidelines that must be followed. Compliance graphs are promising tools that can aid in minimizing the difficulties of these systems. + +A few alterations are needed to attack graph generators to function as compliance graph generators, and these alterations +are discussed in Section \ref{CG-alter}. Compliance requirements are broad and varying, and can function as safety regulations, maintenance compliance, or any +other regulatory compliance. In the same fashion as attack graphs, compliance graphs are exhaustive, and future system states can be analyzed to determine appropriate steps that need to be taken for +preventative measures \cite{j_hale_compliance_nodate}. +\TUsubsection{Defining Compliance Graphs} \label{CG-alter} +The common features of attack graphs serve separate purposes in compliance graphs. The nodes of an attack graph typically represent the system state that includes the qualities and topologies of all assets +in the network as they pertain to cybersecurity postures. Nodes of a compliance graphs also represent the system state, however they include the qualities and topologies of all assets in the network as they +pertain to compliance regulation. For instance, a quality for a vehicle's maintenance compliance could be described as: \textit{car:months\_since\_oil\_change=6}, or \textit{car:miles\_since\_oil\_change=10,000}. +Edges represent changes to a system state that inserted, modified, or deleted a quality or topology. Using the car example, an edge could represent the addition of more mileage or more time since the last oil change. +One large differentiation of attack graphs and compliance graphs can be seen through topologies. For assets in attack graphs, topologies typically represent a connection of assets through a digital medium. For +compliance graphs, topologies not only need to represent the digital connections of assets, but also need extensions to incorporate hardware devices such as sensors, actuators, or other equipment +\cite{j_hale_compliance_nodate}. In addition, rather than using applicable exploits or vulnerabilities, compliance violation detections should be used. An attack graph generation engine would need to use compliance +parameters rather than exploit files, but would otherwise function similarly in the generation process. +\TUsubsection{Difficulties of Compliance Graphs and Introduction to Thesis Work} +Like attack graphs, compliance graphs suffer from the state space explosion problem. Since compliance graphs are also exhaustive, the resulting networks can grow to incredibly large sizes. Compliance regulations +that need to be checked at each system state such as SOX, HIPAA, GDPR, PCI DSS, or any other regulatory compliance in conjunction with a large number of assets that need to be checked can very quickly produce +these large resulting graphs. The creation of these graphs through a serial approach likewise becomes increasingly infeasible. Due to this, the high-performance computing space presents itself as an appealing +approach. This work aims to extend the attack graph generator engine RAGE presented by the author in \cite{cook_rage_2018} to begin development for compliance graph generation. The example networks in this +work will also be in the compliance graph space, specifically examining vehicle maintenance compliance. This work will also examine approaches to leverage high-performance computing to aid in the generation of +compliance graphs. \TUsection{Objectives and Contributions} The objectives of this thesis are: @@ -29,6 +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} \end{itemize} diff --git a/Chapter2.aux b/Chapter2.aux index f796e6c..83e0d83 100644 --- a/Chapter2.aux +++ b/Chapter2.aux @@ -1,12 +1,12 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 2: }{\bf \uppercase {RELATED WORKS}}}{3}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.1}\bf Introduction to Graph Generation}{3}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.2}\bf Improvements to Attack Graph Generation}{3}{}\protected@file@percent } -\newlabel{sec:related_works}{{2.2}{3}} -\@writefile{toc}{\contentsline {section}{\numberline {2.3}\bf Attack Dependency Graphs}{3}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.4}\bf Compliance Graphs}{3}{}\protected@file@percent } +\@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 } \@setckpt{Chapter2}{ -\setcounter{page}{4} +\setcounter{page}{6} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Chapter3.aux b/Chapter3.aux index c2fed83..388bc91 100644 --- a/Chapter3.aux +++ b/Chapter3.aux @@ -1,12 +1,12 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 3: }{\bf \uppercase {UTILITY EXTENSIONS TO THE RAGE ATTACK GRAPH GENERATOR}}}{4}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.1}\bf Path Walking}{4}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.2}\bf Compound Operators}{4}{}\protected@file@percent } -\newlabel{sec:compops}{{3.2}{4}} +\@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}} \citation{cook_rage_2018} -\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Path Walking to State 14}}{5}{}\protected@file@percent } -\newlabel{fig:PW}{{3.1}{5}} -\@writefile{toc}{\contentsline {section}{\numberline {3.3}\bf Color Coding}{6}{}\protected@file@percent } +\@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 } \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}}{7}{}\protected@file@percent } -\newlabel{fig:CC}{{3.2}{7}} -\@writefile{toc}{\contentsline {section}{\numberline {3.4}\bf Intermediate Database Storage}{7}{}\protected@file@percent } +\@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 } \citation{zhang_boosting_2017} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.1}\it Memory Constraint Difficulties}{8}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.2}\it Maximizing Performance with Intermediate Database Storage}{9}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.3}\it Portability}{10}{}\protected@file@percent } +\@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 } \citation{CVE-2019-10747} -\@writefile{toc}{\contentsline {section}{\numberline {3.5}\bf Relational Operators}{11}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {3.5}\bf Relational Operators}{13}{}\protected@file@percent } \@setckpt{Chapter3}{ -\setcounter{page}{12} +\setcounter{page}{14} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Chapter4.aux b/Chapter4.aux index 2c95e7e..10ad4e8 100644 --- a/Chapter4.aux +++ b/Chapter4.aux @@ -1,13 +1,13 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{12}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4.1}\bf Introduction}{12}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}\it Synchronous Firing in Literature}{12}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4.2}\bf Necessary Components}{12}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4.3}\bf Example Networks and Results}{12}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{12}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}\it Results}{12}{}\protected@file@percent } +\@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 } \@setckpt{Chapter4}{ -\setcounter{page}{13} +\setcounter{page}{15} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Chapter5.aux b/Chapter5.aux index fc92f2e..0bfa56d 100644 --- a/Chapter5.aux +++ b/Chapter5.aux @@ -1,36 +1,36 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{13}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{13}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5.2}\bf Necessary Components}{13}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{13}{}\protected@file@percent } +\@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 } \citation{cook_rage_2018} \citation{li_concurrency_2019} -\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task Zero}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task One}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task Two}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task Three}{14}{}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Generation Flowchart of RAGE}}{15}{}\protected@file@percent } -\newlabel{fig:RAGE_chart}{{5.1}{15}} -\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Task Overview of the Attack Graph Generation Process}}{16}{}\protected@file@percent } -\newlabel{fig:tasks}{{5.2}{16}} -\@writefile{toc}{\contentsline {subsubsection}{Task Four}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task Five}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Worker Nodes}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Root Node}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Database Node}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{17}{}\protected@file@percent } +\@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 } \@setckpt{Chapter5}{ -\setcounter{page}{18} +\setcounter{page}{20} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Chapter6.aux b/Chapter6.aux index 61dead3..e5e1521 100644 --- a/Chapter6.aux +++ b/Chapter6.aux @@ -1,23 +1,23 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Small Networks}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}\it Results}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.2}\bf Large Networks}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}\it Results}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}\it Results}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{19}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}\it Results}{19}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{19}{}\protected@file@percent } +\@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 } \@setckpt{Chapter6}{ -\setcounter{page}{20} +\setcounter{page}{22} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Chapter7.aux b/Chapter7.aux index 7bbcd6b..0226d5d 100644 --- a/Chapter7.aux +++ b/Chapter7.aux @@ -1,8 +1,8 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{20}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {7.1}\bf Future Work}{20}{}\protected@file@percent } +\@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 } \@setckpt{Chapter7}{ -\setcounter{page}{21} +\setcounter{page}{23} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Schrick-Noah_MS-Thesis.aux b/Schrick-Noah_MS-Thesis.aux index e6fd8a5..eeb9b02 100644 --- a/Schrick-Noah_MS-Thesis.aux +++ b/Schrick-Noah_MS-Thesis.aux @@ -22,21 +22,24 @@ \@input{Chapter7.aux} \bibdata{Bibliography} \bibcite{ainsworth_graph_2016}{1} -\bibcite{berry_graph_2007}{2} -\bibcite{cook_rage_2018}{3} -\bibcite{CVE-2019-10747}{4} -\bibcite{li_combining_2019}{5} -\bibcite{li_concurrency_2019}{6} -\bibcite{ou_scalable_2006}{7} -\bibcite{phillips_graph-based_1998}{8} -\bibcite{schneier_modeling_1999}{9} +\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} \@writefile{toc}{{\hfill \ }} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{21}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{23}{}\protected@file@percent } \@writefile{toc}{\addvspace {10pt}} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{21}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{23}{}\protected@file@percent } \@writefile{toc}{{\hfill \ }} -\bibcite{sheyner_automated_2002}{10} -\bibcite{zhang_boosting_2017}{11} +\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} \bibstyle{plain} \@input{Appendices.aux} -\gdef \@abspage@last{34} +\gdef \@abspage@last{36} diff --git a/Schrick-Noah_MS-Thesis.bbl b/Schrick-Noah_MS-Thesis.bbl index 3c649b9..d9c4366 100644 --- a/Schrick-Noah_MS-Thesis.bbl +++ b/Schrick-Noah_MS-Thesis.bbl @@ -6,6 +6,19 @@ Sam Ainsworth and Timothy~M. Jones. \newblock {\em Proceedings of the International Conference on Supercomputing}, 01-03-June, 2016. +\bibitem{allman_complying_2006} +Eric Allman. +\newblock Complying with {Compliance}: {Blowing} it off is not an option. +\newblock {\em ACM Queue}, 4(7), 2006. + +\bibitem{baloyi_guidelines_2019} +Ntsako Baloyi and Paula Kotzé. +\newblock Guidelines for {Data} {Privacy} {Compliance}: {A} {Focus} on + {Cyberphysical} {Systems} and {Internet} of {Things}. +\newblock In {\em {SAICSIT} '19: {Proceedings} of the {South} {African} + {Institute} of {Computer} {Scientists} and {Information} {Technologists} + 2019}, Skukuza South Africa, 2019. Association for Computing Machinery. + \bibitem{berry_graph_2007} Jonathan Berry and Bruce Hendrickson. \newblock Graph {Analysis} with {High} {Performance} {Computing}. @@ -23,6 +36,10 @@ Kyle Cook. payloads.} \newblock National Vulnerability Database, August 2019. +\bibitem{j_hale_compliance_nodate} +{J. Hale}, P.~Hawrylak, and M.~Papa. +\newblock Compliance {Method} for a {Cyber}-{Physical} {System}. + \bibitem{li_combining_2019} Ming Li, Peter Hawrylak, and John Hale. \newblock Combining {OpenCL} and {MPI} to support heterogeneous computing on a diff --git a/Schrick-Noah_MS-Thesis.blg b/Schrick-Noah_MS-Thesis.blg index f04e397..33ddd18 100644 --- a/Schrick-Noah_MS-Thesis.blg +++ b/Schrick-Noah_MS-Thesis.blg @@ -11,47 +11,49 @@ A level-1 auxiliary file: Chapter7.aux The style file: plain.bst 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--empty school in cook_rage_2018 Warning--empty journal in ou_scalable_2006 -You've used 11 entries, +You've used 14 entries, 2118 wiz_defined-function locations, - 563 strings with 6143 characters, -and the built_in function-call counts, 3540 in all, are: -= -- 359 -> -- 154 + 577 strings with 6718 characters, +and the built_in function-call counts, 4298 in all, are: += -- 430 +> -- 192 < -- 4 -+ -- 63 -- -- 50 -* -- 209 -:= -- 576 -add.period$ -- 32 -call.type$ -- 11 -change.case$ -- 58 ++ -- 78 +- -- 62 +* -- 250 +:= -- 708 +add.period$ -- 41 +call.type$ -- 14 +change.case$ -- 73 chr.to.int$ -- 0 -cite$ -- 13 -duplicate$ -- 144 -empty$ -- 263 -format.name$ -- 50 -if$ -- 754 +cite$ -- 16 +duplicate$ -- 175 +empty$ -- 329 +format.name$ -- 62 +if$ -- 914 int.to.chr$ -- 0 -int.to.str$ -- 11 -missing$ -- 8 -newline$ -- 57 -num.names$ -- 20 -pop$ -- 65 +int.to.str$ -- 14 +missing$ -- 10 +newline$ -- 71 +num.names$ -- 26 +pop$ -- 85 preamble$ -- 1 -purify$ -- 48 +purify$ -- 60 quote$ -- 0 -skip$ -- 128 +skip$ -- 152 stack$ -- 0 -substring$ -- 204 -swap$ -- 46 +substring$ -- 219 +swap$ -- 49 text.length$ -- 4 text.prefix$ -- 0 top$ -- 0 -type$ -- 44 +type$ -- 56 warning$ -- 2 -while$ -- 34 -width$ -- 13 -write$ -- 115 -(There were 2 warnings) +while$ -- 40 +width$ -- 16 +write$ -- 145 +(There were 3 warnings) diff --git a/Schrick-Noah_MS-Thesis.lof b/Schrick-Noah_MS-Thesis.lof index dee3a83..16d9b22 100644 --- a/Schrick-Noah_MS-Thesis.lof +++ b/Schrick-Noah_MS-Thesis.lof @@ -1,5 +1,5 @@ {\vspace {\baselineskip }} -\contentsline {figure}{\numberline {3.1}{\ignorespaces Path Walking to State 14}}{5}{}% -\contentsline {figure}{\numberline {3.2}{\ignorespaces Color Coding a Small Network Based on Violations}}{7}{}% -\contentsline {figure}{\numberline {5.1}{\ignorespaces Generation Flowchart of RAGE}}{15}{}% -\contentsline {figure}{\numberline {5.2}{\ignorespaces Task Overview of the Attack Graph Generation Process}}{16}{}% +\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}{}% diff --git a/Schrick-Noah_MS-Thesis.log b/Schrick-Noah_MS-Thesis.log index 0951b8e..af127a8 100644 --- a/Schrick-Noah_MS-Thesis.log +++ b/Schrick-Noah_MS-Thesis.log @@ -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) 27 FEB 2022 19:57 +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 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 22--22 +Overfull \hbox (1.75291pt too wide) in paragraph at lines 25--25 [] []\OT1/cmr/bx/n/12 UTILITY EX-TEN-SIONS TO THE RAGE AT-TACK GRAPH [] @@ -202,12 +202,12 @@ CHAPTER 1. -]) [2] +] [2] [3]) [4] \openout2 = `Chapter2.aux'. (./Chapter2.tex CHAPTER 2. -) [3 +) [5 @@ -217,29 +217,29 @@ CHAPTER 2. (./Chapter3.tex CHAPTER 3. -<./Chapter3_img/PW.png, id=48, 958.58125pt x 525.965pt> +<./Chapter3_img/PW.png, id=54, 958.58125pt x 525.965pt> File: ./Chapter3_img/PW.png Graphic file (type png) Package pdftex.def Info: ./Chapter3_img/PW.png used on input line 17. (pdftex.def) Requested size: 469.75499pt x 257.74918pt. -[4 +[6 -] [5 <./Chapter3_img/PW.png>] -<./Chapter3_img/CC.png, id=57, 658.46pt x 527.9725pt> +] [7 <./Chapter3_img/PW.png>] +<./Chapter3_img/CC.png, id=63, 658.46pt x 527.9725pt> File: ./Chapter3_img/CC.png Graphic file (type png) Package pdftex.def Info: ./Chapter3_img/CC.png used on input line 55. (pdftex.def) Requested size: 469.75499pt x 376.66768pt. - [6] [7 <./Chapter3_img/CC.png>] [8] [9] -[10]) [11] + [8] [9 <./Chapter3_img/CC.png>] [10] [11] +[12]) [13] \openout2 = `Chapter4.aux'. (./Chapter4.tex CHAPTER 4. -) [12 +) [14 @@ -249,57 +249,57 @@ CHAPTER 4. (./Chapter5.tex CHAPTER 5. -[13 +[15 ] -<./Chapter5_img/RAGE_Chart.png, id=83, 495.8525pt x 557.08125pt> +<./Chapter5_img/RAGE_Chart.png, id=90, 495.8525pt x 557.08125pt> File: ./Chapter5_img/RAGE_Chart.png Graphic file (type 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=84, 1125.20375pt x 738.76pt> +<./Chapter5_img/horiz_task.drawio.png, id=91, 1125.20375pt x 738.76pt> File: ./Chapter5_img/horiz_task.drawio.png Graphic file (type 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. - [14] [15 <./Chapter5_img/RAGE_Chart.png>] [16 <./Chapter5_img/horiz_task.drawi -o.png>]) [17] + [16] [17 <./Chapter5_img/RAGE_Chart.png>] [18 <./Chapter5_img/horiz_task.drawi +o.png>]) [19] \openout2 = `Chapter6.aux'. (./Chapter6.tex CHAPTER 6. -[18 +[20 -]) [19] +]) [21] \openout2 = `Chapter7.aux'. (./Chapter7.tex CHAPTER 7. -) [20 +) [22 -] (./Schrick-Noah_MS-Thesis.bbl [21 +] (./Schrick-Noah_MS-Thesis.bbl [23 ]) \c@appendixno=\count269 - [22] + [24] \openout2 = `Appendices.aux'. - (./Appendices.tex [23 + (./Appendices.tex [25 ]) -[24] (./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux) +[26] (./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: - 2148 strings out of 478353 - 37971 string characters out of 5854635 - 344925 words of memory out of 5000000 - 20218 multiletter control sequences out of 15000+600000 + 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 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 @@ -325,10 +325,10 @@ texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb> -Output written on Schrick-Noah_MS-Thesis.pdf (34 pages, 338284 bytes). +Output written on Schrick-Noah_MS-Thesis.pdf (36 pages, 343561 bytes). PDF statistics: - 150 PDF objects out of 1000 (max. 8388607) - 96 compressed objects within 1 object stream + 156 PDF objects out of 1000 (max. 8388607) + 100 compressed objects within 1 object stream 0 named destinations out of 1000 (max. 500000) 21 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/Schrick-Noah_MS-Thesis.pdf b/Schrick-Noah_MS-Thesis.pdf index aa5c262..f5d5873 100644 Binary files a/Schrick-Noah_MS-Thesis.pdf and b/Schrick-Noah_MS-Thesis.pdf differ diff --git a/Schrick-Noah_MS-Thesis.toc b/Schrick-Noah_MS-Thesis.toc index 1163c26..d03a2ab 100644 --- a/Schrick-Noah_MS-Thesis.toc +++ b/Schrick-Noah_MS-Thesis.toc @@ -12,79 +12,82 @@ \contentsline {section}{\hspace {-\parindent }LIST OF FIGURES}{x}{}% \contentsline {chapter}{\numberline {CHAPTER 1: }{\bf \uppercase {INTRODUCTION}}}{1}{}% \contentsline {section}{\numberline {1.1}\bf Introduction to Attack Graphs}{1}{}% -\contentsline {section}{\numberline {1.2}\bf Application to Cybersecurity and Compliance}{2}{}% -\contentsline {section}{\numberline {1.3}\bf Objectives and Contributions}{2}{}% -\contentsline {chapter}{\numberline {CHAPTER 2: }{\bf \uppercase {RELATED WORKS}}}{3}{}% -\contentsline {section}{\numberline {2.1}\bf Introduction to Graph Generation}{3}{}% -\contentsline {section}{\numberline {2.2}\bf Improvements to Attack Graph Generation}{3}{}% -\contentsline {section}{\numberline {2.3}\bf Attack Dependency Graphs}{3}{}% -\contentsline {section}{\numberline {2.4}\bf Compliance Graphs}{3}{}% -\contentsline {chapter}{\numberline {CHAPTER 3: }{\bf \uppercase {UTILITY EXTENSIONS TO THE RAGE ATTACK GRAPH GENERATOR}}}{4}{}% -\contentsline {section}{\numberline {3.1}\bf Path Walking}{4}{}% -\contentsline {section}{\numberline {3.2}\bf Compound Operators}{4}{}% -\contentsline {section}{\numberline {3.3}\bf Color Coding}{6}{}% -\contentsline {section}{\numberline {3.4}\bf Intermediate Database Storage}{7}{}% -\contentsline {subsection}{\numberline {3.4.1}\it Memory Constraint Difficulties}{8}{}% -\contentsline {subsection}{\numberline {3.4.2}\it Maximizing Performance with Intermediate Database Storage}{9}{}% -\contentsline {subsection}{\numberline {3.4.3}\it Portability}{10}{}% -\contentsline {section}{\numberline {3.5}\bf Relational Operators}{11}{}% -\contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{12}{}% -\contentsline {section}{\numberline {4.1}\bf Introduction}{12}{}% -\contentsline {subsection}{\numberline {4.1.1}\it Synchronous Firing in Literature}{12}{}% -\contentsline {section}{\numberline {4.2}\bf Necessary Components}{12}{}% -\contentsline {section}{\numberline {4.3}\bf Example Networks and Results}{12}{}% -\contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{12}{}% -\contentsline {subsection}{\numberline {4.3.2}\it Results}{12}{}% -\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{13}{}% -\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{13}{}% -\contentsline {section}{\numberline {5.2}\bf Necessary Components}{13}{}% -\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{13}{}% -\contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{14}{}% -\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{14}{}% -\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{14}{}% -\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{14}{}% -\contentsline {subsubsection}{Communication Structure}{14}{}% -\contentsline {subsubsection}{Task Zero}{14}{}% -\contentsline {subsubsection}{Task One}{14}{}% -\contentsline {subsubsection}{Task Two}{14}{}% -\contentsline {subsubsection}{Task Three}{14}{}% -\contentsline {subsubsection}{Task Four}{17}{}% -\contentsline {subsubsection}{Task Five}{17}{}% -\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{17}{}% -\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{17}{}% -\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{17}{}% -\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{17}{}% -\contentsline {subsubsection}{Communication Structure}{17}{}% -\contentsline {subsubsection}{Worker Nodes}{17}{}% -\contentsline {subsubsection}{Root Node}{17}{}% -\contentsline {subsubsection}{Database Node}{17}{}% -\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{17}{}% -\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{18}{}% -\contentsline {section}{\numberline {6.1}\bf Small Networks}{18}{}% -\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{18}{}% -\contentsline {subsection}{\numberline {6.1.2}\it Results}{18}{}% -\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{18}{}% -\contentsline {section}{\numberline {6.2}\bf Large Networks}{18}{}% -\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{18}{}% -\contentsline {subsection}{\numberline {6.2.2}\it Results}{18}{}% -\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{18}{}% -\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{18}{}% -\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{18}{}% -\contentsline {subsection}{\numberline {6.3.2}\it Results}{18}{}% -\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{18}{}% -\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{18}{}% -\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{19}{}% -\contentsline {subsection}{\numberline {6.4.2}\it Results}{19}{}% -\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{19}{}% -\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{20}{}% -\contentsline {section}{\numberline {7.1}\bf Future Work}{20}{}% +\contentsline {section}{\numberline {1.2}\bf Application to Compliance}{2}{}% +\contentsline {subsection}{\numberline {1.2.1}\it Introduction to Compliance Graphs}{2}{}% +\contentsline {subsection}{\numberline {1.2.2}\it Defining Compliance Graphs}{2}{}% +\contentsline {subsection}{\numberline {1.2.3}\it Difficulties of Compliance Graphs and Introduction to Thesis Work}{3}{}% +\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}{}% {\hfill \ } -\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{21}{}% +\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{23}{}% \addvspace {10pt} -\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{21}{}% +\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{23}{}% {\hfill \ } -\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{23}{}% -\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{24}{}% -\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{24}{}% -\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{24}{}% -\contentsline {subsubsection}{A Sub-subsection in an Appendix}{24}{}% +\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}{}%