Future Works
This commit is contained in:
parent
ab37018271
commit
46707f1b87
@ -1,6 +1,7 @@
|
||||
\relax
|
||||
\@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 }
|
||||
\newlabel{sec:PW}{{3.1}{8}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.2}\bf Compound Operators}{8}{}\protected@file@percent }
|
||||
\newlabel{sec:compops}{{3.2}{8}}
|
||||
\citation{cook_rage_2018}
|
||||
@ -25,6 +26,7 @@
|
||||
\citation{CVE-2019-10747}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.3}\it Portability}{15}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3.5}\bf Relational Operators}{15}{}\protected@file@percent }
|
||||
\newlabel{sec:relops}{{3.5}{15}}
|
||||
\@setckpt{Chapter3}{
|
||||
\setcounter{page}{17}
|
||||
\setcounter{equation}{0}
|
||||
|
||||
@ -116,7 +116,7 @@ As discussed in Section \ref{sec:compops}, many of the graphs previously generat
|
||||
$``root=true/false"$, or other general $``true/false"$ values or $``version=X"$ qualities. To further expand the dynamism of graph generation, it is important to distinguish when a quality has a value that satisfies a
|
||||
relational comparison to an exploit. An example application for attack graphs can be seen through CVE-2019-10747, where "set-value is vulnerable to Prototype Pollution in versions lower than 3.0.1" \cite{CVE-2019-10747}. An example compliance graph application using the aforementioned car example can be seen in the Toyota Corolla Maintenance Schedule, which states an engine coolant replacement should be conducted after 24,000 miles. Prior to the implementation
|
||||
of relational operators, to determine whether this exploit was applicable to a network state, multiple exploit qualities must be enumerated for all versions prior to 3.0.1. This would mean that the exploit needed to check if
|
||||
\textit{version=3.0.0}, or \textit{version=2.0.0}, or \textit{version=1.0.0}, or \textit{version=0.4.3}, etc. For the compliance graph exploit check, this could lead to even worse scaling where checks needed to be conducted at a much more granular level like \textit{engine_coolant_miles=24001}, or \textit{engine_coolant_miles=24002}, or \textit{engine_coolant_miles=24003}, etc. This becomes increasingly tedious when there are many checks to perform, and this not only reduces readability, but is also more
|
||||
\textit{version=3.0.0}, or \textit{version=2.0.0}, or \textit{version=1.0.0}, or \textit{version=0.4.3}, etc. For the compliance graph exploit check, this could lead to even worse scaling where checks needed to be conducted at a much more granular level like \textit{engine$\_$coolant$\_$miles=24001}, or \textit{engine$\_$coolant$\_$miles=24002}, or \textit{engine$\_$coolant$\_$miles=24003}, etc. This becomes increasingly tedious when there are many checks to perform, and this not only reduces readability, but is also more
|
||||
prone to human error when creating the exploit files. Relational operators work to alleviate these difficulties.
|
||||
|
||||
To implement the relational operators, operator overloads were placed into the Quality class. At the time of writing, the following are implemented: $==$, $<$, $>$, $\leq$, $\geq$. However, these operators do not take up room in the
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
\relax
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{17}{}\protected@file@percent }
|
||||
\newlabel{ch:Sync-Fire}{{4}{17}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4.1}\bf Introduction}{17}{}\protected@file@percent }
|
||||
\citation{louthan_hybrid_2011}
|
||||
\citation{louthan_hybrid_2011}
|
||||
@ -27,6 +28,7 @@
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces Synchronous Firing in the Graph Generation Process\relax }}{23}{}\protected@file@percent }
|
||||
\newlabel{fig:sync-fire}{{4.3}{23}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}\it Results}{24}{}\protected@file@percent }
|
||||
\newlabel{sec:Sync-Results}{{4.3.2}{24}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces Bar Graph and Line Graph Representations of Synchronous Firing on Runtime\relax }}{26}{}\protected@file@percent }
|
||||
\newlabel{fig:Sync-RT}{{4.4}{26}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces Bar Graph and Line Graph Representations of Synchronous Firing on State Space\relax }}{27}{}\protected@file@percent }
|
||||
|
||||
117
Chapter5.aux
117
Chapter5.aux
@ -1,75 +1,80 @@
|
||||
\relax
|
||||
\citation{pacheco_introduction_2011}
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{28}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{28}{}\protected@file@percent }
|
||||
\newlabel{ch:MPI}{{5}{28}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack and Compliance Graph Generation}{28}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5.2}\bf Necessary Components}{28}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{28}{}\protected@file@percent }
|
||||
\citation{li_concurrency_2019}
|
||||
\citation{9150145}
|
||||
\citation{7087377}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{29}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{29}{}\protected@file@percent }
|
||||
\newlabel{sec:Tasking-Approach}{{5.3}{29}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{29}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{29}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Task Overview of the Attack Graph Generation Process\relax }}{30}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Task Overview of the Attack and Compliance Graph Generation Process\relax }}{30}{}\protected@file@percent }
|
||||
\newlabel{fig:tasks}{{5.1}{30}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Node Allocation for each Task\relax }}{31}{}\protected@file@percent }
|
||||
\newlabel{fig:node-alloc}{{5.2}{31}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{32}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Task 0}{32}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Task 1}{32}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.3}{\ignorespaces Data Distribution of Task One\relax }}{33}{}\protected@file@percent }
|
||||
\newlabel{fig:Task1-Data-Dist}{{5.3}{33}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Task 2}{33}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces Communication From Task 1 to Task 2 when the Number of Nodes Allocated is Equal\relax }}{34}{}\protected@file@percent }
|
||||
\newlabel{fig:Task1-Case1}{{5.4}{34}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces Communication From Task 1 to Task 2 when Task 1 Has More Nodes Allocated\relax }}{35}{}\protected@file@percent }
|
||||
\newlabel{fig:Task1-Case2}{{5.5}{35}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Task 3}{35}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Task 4 and Task 5}{35}{}\protected@file@percent }
|
||||
\newlabel{sec:T4T5}{{5.3.2}{35}}
|
||||
\newlabel{table:tasking-tag}{{\caption@xref {table:tasking-tag}{ on input line 104}}{36}}
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {5.1}{\ignorespaces MPI Tags for the MPI Tasking Approach\relax }}{36}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{MPI Tags}{36}{}\protected@file@percent }
|
||||
\newlabel{sec:tasking-tag}{{5.3.2}{36}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{31}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{31}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Node Allocation for each Task\relax }}{32}{}\protected@file@percent }
|
||||
\newlabel{fig:node-alloc}{{5.2}{32}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Task 0}{33}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Task 1}{33}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.3}{\ignorespaces Data Distribution of Task One\relax }}{34}{}\protected@file@percent }
|
||||
\newlabel{fig:Task1-Data-Dist}{{5.3}{34}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Task 2}{34}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Task 3}{34}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces Communication From Task 1 to Task 2 when the Number of Nodes Allocated is Equal\relax }}{35}{}\protected@file@percent }
|
||||
\newlabel{fig:Task1-Case1}{{5.4}{35}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces Communication From Task 1 to Task 2 when Task 1 Has More Nodes Allocated\relax }}{36}{}\protected@file@percent }
|
||||
\newlabel{fig:Task1-Case2}{{5.5}{36}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Task 4 and Task 5}{36}{}\protected@file@percent }
|
||||
\newlabel{sec:T4T5}{{5.3.2}{36}}
|
||||
\newlabel{table:tasking-tag}{{\caption@xref {table:tasking-tag}{ on input line 104}}{37}}
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {5.1}{\ignorespaces MPI Tags for the MPI Tasking Approach\relax }}{37}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{MPI Tags}{37}{}\protected@file@percent }
|
||||
\newlabel{sec:tasking-tag}{{5.3.2}{37}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations and Use Cases}{37}{}\protected@file@percent }
|
||||
\newlabel{Task-perf-expec}{{5.3.3}{37}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.4}\it Results}{37}{}\protected@file@percent }
|
||||
\citation{li_concurrency_2019}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{38}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.4}\it Results}{38}{}\protected@file@percent }
|
||||
\newlabel{sec:Tasking-Results}{{5.3.4}{38}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.6}{\ignorespaces Example of a Not Applicable Exploit for the MPI Tasking Testing\relax }}{39}{}\protected@file@percent }
|
||||
\newlabel{fig:NA-exp}{{5.6}{39}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.7}{\ignorespaces Speedup and Efficiency of the MPI Tasking Approach for a Varying Number of Compute Nodes with an Increasing Problem Size\relax }}{39}{}\protected@file@percent }
|
||||
\newlabel{fig:Spd-Eff-Task}{{5.7}{39}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{40}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{40}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.8}{\ignorespaces Example Graph Using the MPI Subgraphing Approach\relax }}{41}{}\protected@file@percent }
|
||||
\newlabel{fig:subg}{{5.8}{41}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Worker Nodes}{41}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Root Node}{42}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.9}{\ignorespaces Frontier Merging and Data Distribution Process\relax }}{43}{}\protected@file@percent }
|
||||
\newlabel{fig:front-merg}{{5.9}{43}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Database Node}{43}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{MPI Tags}{43}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations and Use Cases}{43}{}\protected@file@percent }
|
||||
\newlabel{sec:perf_expec_subg}{{5.4.3}{43}}
|
||||
\newlabel{table:subg-tag}{{\caption@xref {table:subg-tag}{ on input line 192}}{44}}
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {5.2}{\ignorespaces MPI Tags for the MPI Subgraphing Approach\relax }}{44}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.4}\it Results}{44}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.10}{\ignorespaces First iteration results of MPI Subgraphing in terms of Runtime\relax }}{45}{}\protected@file@percent }
|
||||
\newlabel{fig:Subg_base}{{5.10}{45}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.11}{\ignorespaces First iteration results of MPI Subgraphing in terms of Speedup and Efficiency\relax }}{45}{}\protected@file@percent }
|
||||
\newlabel{fig:Subg_SE}{{5.11}{45}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.12}{\ignorespaces Modified Subgraphing Example Graph with Two New Edges\relax }}{47}{}\protected@file@percent }
|
||||
\newlabel{fig:subg_mod}{{5.12}{47}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.13}{\ignorespaces Duplicate States Explored vs Actual Number of States for the 1-4 Service Tests\relax }}{48}{}\protected@file@percent }
|
||||
\newlabel{fig:subg_dup}{{5.13}{48}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.14}{\ignorespaces Speedup and Efficiency of MPI Subgraphing when using a DHT\relax }}{50}{}\protected@file@percent }
|
||||
\newlabel{fig:subg_DHT_Spd}{{5.14}{50}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.15}{\ignorespaces Runtime of MPI Subgraphing when using a DHT vs not using a DHT\relax }}{51}{}\protected@file@percent }
|
||||
\newlabel{fig:subg_DHT_base}{{5.15}{51}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.7}{\ignorespaces Speedup and Efficiency of the MPI Tasking Approach for a Varying Number of Compute Nodes with an Increasing Problem Size\relax }}{40}{}\protected@file@percent }
|
||||
\newlabel{fig:Spd-Eff-Task}{{5.7}{40}}
|
||||
\citation{li_concurrency_2019}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{41}{}\protected@file@percent }
|
||||
\newlabel{sec:Subgraphing_Approach}{{5.4}{41}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{41}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{41}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.8}{\ignorespaces Example Graph Using the MPI Subgraphing Approach\relax }}{42}{}\protected@file@percent }
|
||||
\newlabel{fig:subg}{{5.8}{42}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Worker Nodes}{42}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Root Node}{43}{}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.9}{\ignorespaces Frontier Merging and Data Distribution Process\relax }}{44}{}\protected@file@percent }
|
||||
\newlabel{fig:front-merg}{{5.9}{44}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{Database Node}{44}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{MPI Tags}{44}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations and Use Cases}{44}{}\protected@file@percent }
|
||||
\newlabel{sec:perf_expec_subg}{{5.4.3}{44}}
|
||||
\citation{lawrence_livermore_national_laboratory_mpip_nodate}
|
||||
\newlabel{table:subg-tag}{{\caption@xref {table:subg-tag}{ on input line 192}}{45}}
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {5.2}{\ignorespaces MPI Tags for the MPI Subgraphing Approach\relax }}{45}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.4}\it Results}{45}{}\protected@file@percent }
|
||||
\newlabel{sec:Subgraphing-Results}{{5.4.4}{45}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.10}{\ignorespaces First iteration results of MPI Subgraphing in terms of Runtime\relax }}{46}{}\protected@file@percent }
|
||||
\newlabel{fig:Subg_base}{{5.10}{46}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.11}{\ignorespaces First iteration results of MPI Subgraphing in terms of Speedup and Efficiency\relax }}{47}{}\protected@file@percent }
|
||||
\newlabel{fig:Subg_SE}{{5.11}{47}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.12}{\ignorespaces Modified Subgraphing Example Graph with Two New Edges\relax }}{49}{}\protected@file@percent }
|
||||
\newlabel{fig:subg_mod}{{5.12}{49}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.13}{\ignorespaces Duplicate States Explored vs Actual Number of States for the 1-4 Service Tests\relax }}{50}{}\protected@file@percent }
|
||||
\newlabel{fig:subg_dup}{{5.13}{50}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.14}{\ignorespaces Speedup and Efficiency of MPI Subgraphing when using a DHT\relax }}{52}{}\protected@file@percent }
|
||||
\newlabel{fig:subg_DHT_Spd}{{5.14}{52}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5.15}{\ignorespaces Runtime of MPI Subgraphing when using a DHT vs not using a DHT\relax }}{53}{}\protected@file@percent }
|
||||
\newlabel{fig:subg_DHT_base}{{5.15}{53}}
|
||||
\@setckpt{Chapter5}{
|
||||
\setcounter{page}{52}
|
||||
\setcounter{page}{54}
|
||||
\setcounter{equation}{0}
|
||||
\setcounter{enumi}{4}
|
||||
\setcounter{enumii}{0}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
\TUchapter{Utilization OF MESSAGE PASSING INTERFACE} \label{ch:MPI}
|
||||
|
||||
\TUsection{Introduction to MPI Utilization for Attack and Compliance Graph Generation}
|
||||
Previous works for graph generation, and specifically for attack graph generation, have seen promising results as discussed in Sections \ref{sec:gen_improv} and \ref{sec:related_works}. This work attempts to further those efforts and extend RAGE to function on distributed computing environments to take advantage of the increased computing power using message-passing. As mentioned by the author of \cite{pacheco_introduction_2011}, MPI is the most widely used message-passing API, and this work intended to utilize an API that was not only familiar and accessible, but versatile and powerful for parallelizing RAGE for distributed computing platforms. This Chapter discusses two approaches for parallelism: task parallelism in Section \ref{sec:Tasking-Approach}, and data parallelism in Section \ref{sec:Subgraphing_Approach}.
|
||||
Previous works for graph generation, and specifically for attack graph generation, have seen promising results as discussed in Sections \ref{sec:gen_improv} and \ref{sec:related_works}. This work attempts to further those efforts and extend RAGE to function on distributed computing environments to take advantage of the increased computing power using message-passing. As mentioned by the author of \cite{pacheco_introduction_2011}, MPI is the most widely used message-passing API, and this work intended to utilize an API that was not only familiar and accessible, but versatile and powerful for parallelizing RAGE for distributed computing platforms. This Chapter discusses two approaches for parallelism: task parallelism in Section \ref{sec:Tasking-Approach}, and data parallelism in Section \ref{sec:Subgraphing_Approach}. All approaches in this work utilize OpenMPI for the MPI implementation.
|
||||
|
||||
\TUsection{Necessary Components}
|
||||
\TUsubsection{Serialization}
|
||||
|
||||
15
Chapter6.aux
15
Chapter6.aux
@ -1,9 +1,12 @@
|
||||
\relax
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{52}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Future Work}{52}{}\protected@file@percent }
|
||||
\newlabel{sec:FW}{{6.1}{52}}
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{54}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Conclusions}{54}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {6.2}\bf Future Work}{55}{}\protected@file@percent }
|
||||
\newlabel{sec:FW}{{6.2}{55}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Possible Method for Blending MPI and OpenMP for Task 2 of the MPI Tasking Approach\relax }}{56}{}\protected@file@percent }
|
||||
\newlabel{fig:Subg_base}{{6.1}{56}}
|
||||
\@setckpt{Chapter6}{
|
||||
\setcounter{page}{53}
|
||||
\setcounter{page}{58}
|
||||
\setcounter{equation}{0}
|
||||
\setcounter{enumi}{4}
|
||||
\setcounter{enumii}{0}
|
||||
@ -13,12 +16,12 @@
|
||||
\setcounter{mpfootnote}{0}
|
||||
\setcounter{part}{0}
|
||||
\setcounter{chapter}{6}
|
||||
\setcounter{section}{1}
|
||||
\setcounter{section}{2}
|
||||
\setcounter{subsection}{0}
|
||||
\setcounter{subsubsection}{0}
|
||||
\setcounter{paragraph}{0}
|
||||
\setcounter{subparagraph}{0}
|
||||
\setcounter{figure}{0}
|
||||
\setcounter{figure}{1}
|
||||
\setcounter{table}{0}
|
||||
\setcounter{caption@flags}{2}
|
||||
\setcounter{continuedfloat}{0}
|
||||
|
||||
25
Chapter6.tex
25
Chapter6.tex
@ -1,6 +1,6 @@
|
||||
\TUchapter{CONCLUSIONS AND FUTURE WORKS}
|
||||
\TUsection{Conclusions}
|
||||
This thesis presented various extensions to an attack graph generator, RAGE, to allow for a broader range of utilities. In order to reduce the complexity required for network model and exploit file creations, Sections \ref{sec:compops} and \ref{sec:relops} discussed the implementation of relational and compound operators. Both implementations simplify the amount of manual enumeration and manual specifications of asset qualities, and this simplifies precondition checks to singular lines. In addition, these implementations reduce the complexity required for synchronous firing exploit creations by avoiding the need for (for instance) time flags and enumeration of time all time instances. These sections also allow for more complex attack modeling, since broad sweeps and generic \gt or \lt checks can be performed. Due to the intermediate database storage feature presented in Section \ref{sec:db-stor}, very large attack or compliance graphs can be generated without concern of absolute memory consumption, assuming very large storage solutions are in place. Section \ref{sec:PW} discusses the path walking feature, which is able to split attack and compliance graphs into subgraphs that can be used to simplify the analysis process by examining only smaller portions or focus areas of a network at a time.
|
||||
This thesis presented various extensions to an attack graph generator, RAGE, to allow for a broader range of utilities. In order to reduce the complexity required for network model and exploit file creations, Sections \ref{sec:compops} and \ref{sec:relops} discussed the implementation of relational and compound operators. Both implementations simplify the amount of manual enumeration and manual specifications of asset qualities, and this simplifies precondition checks to singular lines. In addition, these implementations reduce the complexity required for synchronous firing exploit creations by avoiding the need for (for instance) time flags and enumeration of time all time instances. These sections also allow for more complex attack modeling, since broad sweeps and generic $<$ or $>$ checks can be performed. Due to the intermediate database storage feature presented in Section \ref{sec:db-stor}, very large attack or compliance graphs can be generated without concern of absolute memory consumption, assuming very large storage solutions are in place. Section \ref{sec:PW} discusses the path walking feature, which is able to split attack and compliance graphs into subgraphs that can be used to simplify the analysis process by examining only smaller portions or focus areas of a network at a time.
|
||||
|
||||
Chapter \ref{ch:Sync-Fire} presents the synchronous firing feature, which is successfully able to reduce the state space and runtime of the generation process when assets have inseparable features. This feature does not lose any substantive information from a network and its resulting graph; the graph is able to remain exhaustive and still capture all necessary information. The results are promising, and greater reductions are expected when a greater number of assets share inseparable features, as discussed in Section \ref{sec:FW}.
|
||||
|
||||
@ -9,12 +9,17 @@ Chapter \ref{ch:MPI} presented two approaches for utilizing MPI for extension to
|
||||
Throughout this thesis and its works, RAGE has demonstrated its extensions to support compliance graph generation. Section \ref{sec:CG-alter} discussed the alterations required for attack graph generators to support compliance graphs, and example compliance graphs have been generated in the results seen in Sections \ref{sec:Sync-Results}, \ref{sec:Tasking-Results}, and \ref{sec:Subgraphing-Results}.
|
||||
|
||||
\TUsection{Future Work} \label{sec:FW}
|
||||
There are multiple avenues that future works and research can be conducted.
|
||||
%Sync Fire more assets
|
||||
%Large networks for the Tasking approach to give Task 2 a realistic workload
|
||||
%Blending OpenMP and MPI
|
||||
%Subgraphing Work
|
||||
%DHT alts
|
||||
%depth limit parameter tuning
|
||||
%Tuning MPI Params
|
||||
%Testing various MPI implementations (OpenMPI vs MPICH vs MVAPICH)
|
||||
There are multiple avenues that future works and research can be conducted. One such investigation involves examining the effect of the synchronous firing feature with more assets belonging to groups. As the number of assets with inseparable features increases, more permutations consisting of unattainable states in a graph would exist. Since more assets can devolve and grow increasingly out of sync, the reduction rate when using the synchronous firing feature is likely to increase.
|
||||
|
||||
Another avenue is to improve and further test the MPI Tasking approach discussed in Section \ref{sec:MPI-Tasking}. One improvement approach involves blending OpenMP and MPI. For Task 2 specifically, an example diagram was created that displays a possible approach at leveraging both OpenMP and MPI, and this can be seen in Figure \ref{fig:OMP_MPI_Blend}. Similar techniques could likely be implemented for Task 1, and other techniques could be devised for these tasks and for Tasks 3, 4, and 5. Further testing can be conducted to examine the effectiveness of MPI Tasking when generating large networks with many applicable exploits at any given state. This would allow Task 2 to have a greater workload, where increased speedups are likely to be attained over the serial approach.
|
||||
|
||||
\begin{figure}[htp]
|
||||
\includegraphics[width=\linewidth]{"./Chapter5_img/MPI-OpenMP-Blend.PNG"}
|
||||
\vspace{.2truein} \centerline{}
|
||||
\caption{Possible Method for Blending MPI and OpenMP for Task 2 of the MPI Tasking Approach}
|
||||
\label{fig:Subg_base}
|
||||
\end{figure}
|
||||
|
||||
Many research avenues exist for the MPI Subgraphing approach seen in Section \ref{sec:MPI_Subgraphing}. The results collected in this work were not promising, and many alterations can be attempted. Duplicate states are the primary problem point of this approach, and using a DHT increased the communication cost to a large degree. Alternate methods for addressing this issue can be devised. While it did not improve the results in this work, parameter tuning with this approach can be performed in regards to the depth limit value and the metric for when a worker node does not have a queue marker. This work used a random metric, but more intelligent strategies could be devised.
|
||||
|
||||
Drastic results are not likely to occur, but various MPI parameter tunings can be performed for both the MPI Tasking and Subgraphing approaches. For instance, this work utilized the parameters for binding to and mapping by NUMA. This is seemingly the most common approach, and MPI balances the workload of NUMA nodes automatically when these parameters are used. Many other options exists for these parameters, and many other parameters exist that can be examined. In addition, comparisons between OpenMPI, MPICH, and MVAPICH can be conducted to see if there is any noticeable, consistent improvement.
|
||||
|
||||
@ -32,9 +32,9 @@
|
||||
\bibcite{noauthor_health_1996}{10}
|
||||
\bibcite{EUdataregulations2018}{11}
|
||||
\@writefile{toc}{{\hfill \ }}
|
||||
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{53}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{58}{}\protected@file@percent }
|
||||
\@writefile{toc}{\addvspace {10pt}}
|
||||
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{53}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{58}{}\protected@file@percent }
|
||||
\@writefile{toc}{{\hfill \ }}
|
||||
\bibcite{PCI}{12}
|
||||
\bibcite{cook_rage_2018}{13}
|
||||
@ -56,4 +56,4 @@
|
||||
\bibcite{CVE-2019-10747}{29}
|
||||
\bibcite{louthan_hybrid_2011}{30}
|
||||
\bibstyle{ieeetr}
|
||||
\gdef \@abspage@last{66}
|
||||
\gdef \@abspage@last{71}
|
||||
|
||||
@ -6,18 +6,19 @@
|
||||
\contentsline {figure}{\numberline {4.3}{\ignorespaces Synchronous Firing in the Graph Generation Process\relax }}{23}{}%
|
||||
\contentsline {figure}{\numberline {4.4}{\ignorespaces Bar Graph and Line Graph Representations of Synchronous Firing on Runtime\relax }}{26}{}%
|
||||
\contentsline {figure}{\numberline {4.5}{\ignorespaces Bar Graph and Line Graph Representations of Synchronous Firing on State Space\relax }}{27}{}%
|
||||
\contentsline {figure}{\numberline {5.1}{\ignorespaces Task Overview of the Attack Graph Generation Process\relax }}{30}{}%
|
||||
\contentsline {figure}{\numberline {5.2}{\ignorespaces Node Allocation for each Task\relax }}{31}{}%
|
||||
\contentsline {figure}{\numberline {5.3}{\ignorespaces Data Distribution of Task One\relax }}{33}{}%
|
||||
\contentsline {figure}{\numberline {5.4}{\ignorespaces Communication From Task 1 to Task 2 when the Number of Nodes Allocated is Equal\relax }}{34}{}%
|
||||
\contentsline {figure}{\numberline {5.5}{\ignorespaces Communication From Task 1 to Task 2 when Task 1 Has More Nodes Allocated\relax }}{35}{}%
|
||||
\contentsline {figure}{\numberline {5.1}{\ignorespaces Task Overview of the Attack and Compliance Graph Generation Process\relax }}{30}{}%
|
||||
\contentsline {figure}{\numberline {5.2}{\ignorespaces Node Allocation for each Task\relax }}{32}{}%
|
||||
\contentsline {figure}{\numberline {5.3}{\ignorespaces Data Distribution of Task One\relax }}{34}{}%
|
||||
\contentsline {figure}{\numberline {5.4}{\ignorespaces Communication From Task 1 to Task 2 when the Number of Nodes Allocated is Equal\relax }}{35}{}%
|
||||
\contentsline {figure}{\numberline {5.5}{\ignorespaces Communication From Task 1 to Task 2 when Task 1 Has More Nodes Allocated\relax }}{36}{}%
|
||||
\contentsline {figure}{\numberline {5.6}{\ignorespaces Example of a Not Applicable Exploit for the MPI Tasking Testing\relax }}{39}{}%
|
||||
\contentsline {figure}{\numberline {5.7}{\ignorespaces Speedup and Efficiency of the MPI Tasking Approach for a Varying Number of Compute Nodes with an Increasing Problem Size\relax }}{39}{}%
|
||||
\contentsline {figure}{\numberline {5.8}{\ignorespaces Example Graph Using the MPI Subgraphing Approach\relax }}{41}{}%
|
||||
\contentsline {figure}{\numberline {5.9}{\ignorespaces Frontier Merging and Data Distribution Process\relax }}{43}{}%
|
||||
\contentsline {figure}{\numberline {5.10}{\ignorespaces First iteration results of MPI Subgraphing in terms of Runtime\relax }}{45}{}%
|
||||
\contentsline {figure}{\numberline {5.11}{\ignorespaces First iteration results of MPI Subgraphing in terms of Speedup and Efficiency\relax }}{45}{}%
|
||||
\contentsline {figure}{\numberline {5.12}{\ignorespaces Modified Subgraphing Example Graph with Two New Edges\relax }}{47}{}%
|
||||
\contentsline {figure}{\numberline {5.13}{\ignorespaces Duplicate States Explored vs Actual Number of States for the 1-4 Service Tests\relax }}{48}{}%
|
||||
\contentsline {figure}{\numberline {5.14}{\ignorespaces Speedup and Efficiency of MPI Subgraphing when using a DHT\relax }}{50}{}%
|
||||
\contentsline {figure}{\numberline {5.15}{\ignorespaces Runtime of MPI Subgraphing when using a DHT vs not using a DHT\relax }}{51}{}%
|
||||
\contentsline {figure}{\numberline {5.7}{\ignorespaces Speedup and Efficiency of the MPI Tasking Approach for a Varying Number of Compute Nodes with an Increasing Problem Size\relax }}{40}{}%
|
||||
\contentsline {figure}{\numberline {5.8}{\ignorespaces Example Graph Using the MPI Subgraphing Approach\relax }}{42}{}%
|
||||
\contentsline {figure}{\numberline {5.9}{\ignorespaces Frontier Merging and Data Distribution Process\relax }}{44}{}%
|
||||
\contentsline {figure}{\numberline {5.10}{\ignorespaces First iteration results of MPI Subgraphing in terms of Runtime\relax }}{46}{}%
|
||||
\contentsline {figure}{\numberline {5.11}{\ignorespaces First iteration results of MPI Subgraphing in terms of Speedup and Efficiency\relax }}{47}{}%
|
||||
\contentsline {figure}{\numberline {5.12}{\ignorespaces Modified Subgraphing Example Graph with Two New Edges\relax }}{49}{}%
|
||||
\contentsline {figure}{\numberline {5.13}{\ignorespaces Duplicate States Explored vs Actual Number of States for the 1-4 Service Tests\relax }}{50}{}%
|
||||
\contentsline {figure}{\numberline {5.14}{\ignorespaces Speedup and Efficiency of MPI Subgraphing when using a DHT\relax }}{52}{}%
|
||||
\contentsline {figure}{\numberline {5.15}{\ignorespaces Runtime of MPI Subgraphing when using a DHT vs not using a DHT\relax }}{53}{}%
|
||||
\contentsline {figure}{\numberline {6.1}{\ignorespaces Possible Method for Blending MPI and OpenMP for Task 2 of the MPI Tasking Approach\relax }}{56}{}%
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.3.21) 27 MAR 2022 18:09
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.3.21) 28 MAR 2022 00:06
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
%&-line parsing enabled.
|
||||
@ -136,7 +136,11 @@ File: l3backend-pdftex.def 2022-02-07 L3 backend support: PDF output (pdfTeX)
|
||||
\l__pdf_internal_box=\box51
|
||||
)
|
||||
(./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux) (./Chapter3.aux
|
||||
) (./Chapter4.aux) (./Chapter5.aux) (./Chapter6.aux))
|
||||
) (./Chapter4.aux) (./Chapter5.aux) (./Chapter6.aux
|
||||
|
||||
LaTeX Warning: Label `fig:Subg_base' multiply defined.
|
||||
|
||||
))
|
||||
\openout1 = `Schrick-Noah_MS-Thesis.aux'.
|
||||
|
||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 121.
|
||||
@ -153,8 +157,7 @@ LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 121.
|
||||
LaTeX Font Info: ... okay on input line 121.
|
||||
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 121.
|
||||
LaTeX Font Info: ... okay on input line 121.
|
||||
|
||||
(/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
|
||||
(/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
|
||||
[Loading MPS to PDF converter (version 2006.09.02).]
|
||||
\scratchcounter=\count269
|
||||
\scratchdimen=\dimen149
|
||||
@ -326,6 +329,10 @@ ce.png>]
|
||||
|
||||
(./Chapter5.tex
|
||||
CHAPTER 5.
|
||||
|
||||
LaTeX Warning: Citation `pacheco_introduction_2011' on page 28 undefined on inp
|
||||
ut line 4.
|
||||
|
||||
[28
|
||||
|
||||
|
||||
@ -344,154 +351,199 @@ File: ./Chapter5_img/node-alloc.png Graphic file (type png)
|
||||
<use ./Chapter5_img/node-alloc.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/node-alloc.png used on input line 54.
|
||||
(pdftex.def) Requested size: 469.75499pt x 308.1323pt.
|
||||
[31 <./Chapter5_img/node-alloc.PNG>]
|
||||
<./Chapter5_img/Task1-Data-Dist.png, id=160, 1017.04968pt x 336.50719pt>
|
||||
[31] [32 <./Chapter5_img/node-alloc.PNG>]
|
||||
<./Chapter5_img/Task1-Data-Dist.png, id=163, 1017.04968pt x 336.50719pt>
|
||||
File: ./Chapter5_img/Task1-Data-Dist.png Graphic file (type png)
|
||||
<use ./Chapter5_img/Task1-Data-Dist.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/Task1-Data-Dist.png used on input line
|
||||
70.
|
||||
(pdftex.def) Requested size: 469.75499pt x 155.42674pt.
|
||||
[32]
|
||||
<./Chapter5_img/Task1-Case1.png, id=164, 586.44093pt x 339.51843pt>
|
||||
[33]
|
||||
<./Chapter5_img/Task1-Case1.png, id=168, 586.44093pt x 339.51843pt>
|
||||
File: ./Chapter5_img/Task1-Case1.png Graphic file (type png)
|
||||
<use ./Chapter5_img/Task1-Case1.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/Task1-Case1.png used on input line 79.
|
||||
|
||||
(pdftex.def) Requested size: 469.75499pt x 271.9622pt.
|
||||
<./Chapter5_img/Task1-Case2.png, id=165, 702.37407pt x 414.79968pt>
|
||||
<./Chapter5_img/Task1-Case2.png, id=169, 702.37407pt x 414.79968pt>
|
||||
File: ./Chapter5_img/Task1-Case2.png Graphic file (type png)
|
||||
<use ./Chapter5_img/Task1-Case2.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/Task1-Case2.png used on input line 86.
|
||||
|
||||
(pdftex.def) Requested size: 469.75499pt x 277.43332pt.
|
||||
[33 <./Chapter5_img/Task1-Data-Dist.PNG>] [34 <./Chapter5_img/Task1-Case1.PNG>
|
||||
] [35 <./Chapter5_img/Task1-Case2.PNG>]
|
||||
[34 <./Chapter5_img/Task1-Data-Dist.PNG>] [35 <./Chapter5_img/Task1-Case1.PNG>
|
||||
] [36 <./Chapter5_img/Task1-Case2.PNG>]
|
||||
|
||||
Package caption Warning: \label without proper reference on input line 104.
|
||||
See the caption package documentation for explanation.
|
||||
|
||||
|
||||
LaTeX Warning: Reference `table:tasking-tag' on page 36 undefined on input line
|
||||
LaTeX Warning: Reference `table:tasking-tag' on page 37 undefined on input line
|
||||
102.
|
||||
|
||||
|
||||
LaTeX Warning: No positions in optional float specifier.
|
||||
Default added (so using `tbp') on input line 104.
|
||||
|
||||
[36] [37]
|
||||
[37]
|
||||
|
||||
LaTeX Warning: Reference `sec:Task-perf-expec' on page 38 undefined on input li
|
||||
ne 136.
|
||||
|
||||
<./Chapter5_img/NA.png, id=185, 369.38pt x 118.4425pt>
|
||||
[38]
|
||||
<./Chapter5_img/NA.png, id=188, 369.38pt x 118.4425pt>
|
||||
File: ./Chapter5_img/NA.png Graphic file (type png)
|
||||
<use ./Chapter5_img/NA.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/NA.png used on input line 142.
|
||||
(pdftex.def) Requested size: 184.68954pt x 59.2211pt.
|
||||
<./Chapter5_img/Speedup-Esize-Tasking.png, id=186, 620.208pt x 321.93pt>
|
||||
<./Chapter5_img/Speedup-Esize-Tasking.png, id=189, 620.208pt x 321.93pt>
|
||||
File: ./Chapter5_img/Speedup-Esize-Tasking.png Graphic file (type png)
|
||||
<use ./Chapter5_img/Speedup-Esize-Tasking.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/Speedup-Esize-Tasking.png used on inpu
|
||||
t line 150.
|
||||
(pdftex.def) Requested size: 469.75499pt x 243.83916pt.
|
||||
<./Chapter5_img/Eff-Esize-Tasking.png, id=187, 620.208pt x 322.149pt>
|
||||
<./Chapter5_img/Eff-Esize-Tasking.png, id=190, 620.208pt x 322.149pt>
|
||||
File: ./Chapter5_img/Eff-Esize-Tasking.png Graphic file (type png)
|
||||
<use ./Chapter5_img/Eff-Esize-Tasking.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/Eff-Esize-Tasking.png used on input li
|
||||
ne 151.
|
||||
(pdftex.def) Requested size: 469.75499pt x 244.00504pt.
|
||||
[38] [39 <./Chapter5_img/NA.png> <./Chapter5_img/Speedup-Esize-Tasking.png> <./
|
||||
Chapter5_img/Eff-Esize-Tasking.png>]
|
||||
<./Chapter5_img/subgraphing.drawio.png, id=197, 824.07875pt x 743.77875pt>
|
||||
[39 <./Chapter5_img/NA.png>] [40 <./Chapter5_img/Speedup-Esize-Tasking.png> <.
|
||||
/Chapter5_img/Eff-Esize-Tasking.png>] [41]
|
||||
<./Chapter5_img/subgraphing.drawio.png, id=204, 824.07875pt x 743.77875pt>
|
||||
File: ./Chapter5_img/subgraphing.drawio.png Graphic file (type png)
|
||||
<use ./Chapter5_img/subgraphing.drawio.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/subgraphing.drawio.png used on input l
|
||||
ine 165.
|
||||
(pdftex.def) Requested size: 247.22552pt x 223.13535pt.
|
||||
[40] [41 <./Chapter5_img/subgraphing.drawio.png>]
|
||||
<./Chapter5_img/front_merge.drawio.png, id=206, 1059.96pt x 465.74pt>
|
||||
[42 <./Chapter5_img/subgraphing.drawio.png>]
|
||||
<./Chapter5_img/front_merge.drawio.png, id=209, 1059.96pt x 465.74pt>
|
||||
File: ./Chapter5_img/front_merge.drawio.png Graphic file (type png)
|
||||
<use ./Chapter5_img/front_merge.drawio.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/front_merge.drawio.png used on input l
|
||||
ine 178.
|
||||
(pdftex.def) Requested size: 469.75499pt x 206.4044pt.
|
||||
[42]
|
||||
[43]
|
||||
|
||||
Package caption Warning: \label without proper reference on input line 192.
|
||||
See the caption package documentation for explanation.
|
||||
|
||||
|
||||
LaTeX Warning: Reference `table:subg-tag' on page 43 undefined on input line 19
|
||||
LaTeX Warning: Reference `table:subg-tag' on page 44 undefined on input line 19
|
||||
0.
|
||||
|
||||
|
||||
LaTeX Warning: No positions in optional float specifier.
|
||||
Default added (so using `tbp') on input line 192.
|
||||
|
||||
[43 <./Chapter5_img/front_merge.drawio.png>]
|
||||
<./Chapter5_img/MPISubg_RT_No_DHT.png, id=214, 399.018pt x 250.098pt>
|
||||
[44 <./Chapter5_img/front_merge.drawio.png>]
|
||||
<./Chapter5_img/MPISubg_RT_No_DHT.png, id=217, 399.018pt x 250.098pt>
|
||||
File: ./Chapter5_img/MPISubg_RT_No_DHT.png Graphic file (type png)
|
||||
<use ./Chapter5_img/MPISubg_RT_No_DHT.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/MPISubg_RT_No_DHT.png used on input li
|
||||
ne 219.
|
||||
(pdftex.def) Requested size: 469.75499pt x 294.44524pt.
|
||||
<./Chapter5_img/Subg_SE_base.png, id=215, 853.662pt x 249.003pt>
|
||||
File: ./Chapter5_img/Subg_SE_base.png Graphic file (type png)
|
||||
<use ./Chapter5_img/Subg_SE_base.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/Subg_SE_base.png used on input line 22
|
||||
6.
|
||||
(pdftex.def) Requested size: 469.75499pt x 137.02046pt.
|
||||
[44] [45 <./Chapter5_img/MPISubg_RT_No_DHT.png> <./Chapter5_img/Subg_SE_base.p
|
||||
ng>]
|
||||
<./Chapter5_img/dup.drawio.png, id=225, 824.07875pt x 743.77875pt>
|
||||
<./Chapter5_img/no_DHT_Spd.png, id=218, 424.422pt x 249.003pt>
|
||||
File: ./Chapter5_img/no_DHT_Spd.png Graphic file (type png)
|
||||
<use ./Chapter5_img/no_DHT_Spd.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/no_DHT_Spd.png used on input line 227.
|
||||
|
||||
(pdftex.def) Requested size: 469.75499pt x 275.60631pt.
|
||||
<./Chapter5_img/no_DHT_eff.png, id=219, 429.021pt x 249.222pt>
|
||||
File: ./Chapter5_img/no_DHT_eff.png Graphic file (type png)
|
||||
<use ./Chapter5_img/no_DHT_eff.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/no_DHT_eff.png used on input line 228.
|
||||
|
||||
(pdftex.def) Requested size: 469.75499pt x 272.8939pt.
|
||||
|
||||
|
||||
LaTeX Warning: Citation `lawrence_livermore_national_laboratory_mpip_nodate' on
|
||||
page 45 undefined on input line 233.
|
||||
|
||||
[45] [46 <./Chapter5_img/MPISubg_RT_No_DHT.png>] [47 <./Chapter5_img/no_DHT_Spd
|
||||
.png> <./Chapter5_img/no_DHT_eff.png>]
|
||||
<./Chapter5_img/dup.drawio.png, id=233, 824.07875pt x 743.77875pt>
|
||||
File: ./Chapter5_img/dup.drawio.png Graphic file (type png)
|
||||
<use ./Chapter5_img/dup.drawio.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/dup.drawio.png used on input line 235.
|
||||
Package pdftex.def Info: ./Chapter5_img/dup.drawio.png used on input line 236.
|
||||
|
||||
(pdftex.def) Requested size: 469.75499pt x 423.98099pt.
|
||||
<./Chapter5_img/Dup_DHT.png, id=226, 796.065pt x 483.99pt>
|
||||
<./Chapter5_img/Dup_DHT.png, id=234, 796.065pt x 483.99pt>
|
||||
File: ./Chapter5_img/Dup_DHT.png Graphic file (type png)
|
||||
<use ./Chapter5_img/Dup_DHT.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/Dup_DHT.png used on input line 242.
|
||||
Package pdftex.def Info: ./Chapter5_img/Dup_DHT.png used on input line 243.
|
||||
(pdftex.def) Requested size: 469.75499pt x 285.59593pt.
|
||||
[46] [47 <./Chapter5_img/dup.drawio.png>] [48 <./Chapter5_img/Dup_DHT.png>]
|
||||
<./Chapter5_img/DHT_Spd.png, id=238, 421.575pt x 233.235pt>
|
||||
[48] [49 <./Chapter5_img/dup.drawio.png>] [50 <./Chapter5_img/Dup_DHT.png>]
|
||||
<./Chapter5_img/DHT_Spd.png, id=246, 421.575pt x 233.235pt>
|
||||
File: ./Chapter5_img/DHT_Spd.png Graphic file (type png)
|
||||
<use ./Chapter5_img/DHT_Spd.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/DHT_Spd.png used on input line 252.
|
||||
Package pdftex.def Info: ./Chapter5_img/DHT_Spd.png used on input line 253.
|
||||
(pdftex.def) Requested size: 469.75499pt x 259.89395pt.
|
||||
<./Chapter5_img/DHT_Eff.png, id=239, 422.889pt x 233.235pt>
|
||||
<./Chapter5_img/DHT_Eff.png, id=247, 422.889pt x 233.235pt>
|
||||
File: ./Chapter5_img/DHT_Eff.png Graphic file (type png)
|
||||
<use ./Chapter5_img/DHT_Eff.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/DHT_Eff.png used on input line 253.
|
||||
Package pdftex.def Info: ./Chapter5_img/DHT_Eff.png used on input line 254.
|
||||
(pdftex.def) Requested size: 469.75499pt x 259.08965pt.
|
||||
<./Chapter5_img/DHT_noDHT.png, id=240, 806.577pt x 496.692pt>
|
||||
<./Chapter5_img/DHT_noDHT.png, id=248, 806.577pt x 496.692pt>
|
||||
File: ./Chapter5_img/DHT_noDHT.png Graphic file (type png)
|
||||
<use ./Chapter5_img/DHT_noDHT.png>
|
||||
Package pdftex.def Info: ./Chapter5_img/DHT_noDHT.png used on input line 259.
|
||||
Package pdftex.def Info: ./Chapter5_img/DHT_noDHT.png used on input line 260.
|
||||
(pdftex.def) Requested size: 469.75499pt x 289.27902pt.
|
||||
) [49] [50 <./Chapter5_img/DHT_Spd.png> <./Chapter5_img/DHT_Eff.png>] [51 <./Ch
|
||||
) [51] [52 <./Chapter5_img/DHT_Spd.png> <./Chapter5_img/DHT_Eff.png>] [53 <./Ch
|
||||
apter5_img/DHT_noDHT.png>]
|
||||
\openout2 = `Chapter6.aux'.
|
||||
|
||||
|
||||
(./Chapter6.tex
|
||||
(./Chapter6.tex
|
||||
CHAPTER 6.
|
||||
) [52
|
||||
|
||||
LaTeX Warning: Reference `sec:MPI-Tasking' on page 54 undefined on input line 7
|
||||
.
|
||||
|
||||
|
||||
LaTeX Warning: Reference `sec:MPI_Subgraphing' on page 54 undefined on input li
|
||||
ne 7.
|
||||
|
||||
[54
|
||||
|
||||
|
||||
|
||||
|
||||
] (./Schrick-Noah_MS-Thesis.bbl [53
|
||||
]
|
||||
|
||||
LaTeX Warning: Reference `sec:CG-alter' on page 55 undefined on input line 9.
|
||||
|
||||
|
||||
LaTeX Warning: Reference `sec:MPI-Tasking' on page 55 undefined on input line 1
|
||||
4.
|
||||
|
||||
|
||||
LaTeX Warning: Reference `fig:OMP_MPI_Blend' on page 55 undefined on input line
|
||||
14.
|
||||
|
||||
<./Chapter5_img/MPI-OpenMP-Blend.PNG, id=265, 956.82469pt x 586.44093pt>
|
||||
File: ./Chapter5_img/MPI-OpenMP-Blend.PNG Graphic file (type png)
|
||||
<use ./Chapter5_img/MPI-OpenMP-Blend.PNG>
|
||||
Package pdftex.def Info: ./Chapter5_img/MPI-OpenMP-Blend.PNG used on input lin
|
||||
e 17.
|
||||
(pdftex.def) Requested size: 469.75499pt x 287.91336pt.
|
||||
|
||||
LaTeX Warning: Reference `sec:MPI_Subgraphing' on page 55 undefined on input li
|
||||
ne 23.
|
||||
|
||||
[55] [56 <./Chapter5_img/MPI-OpenMP-Blend.PNG>]) [57]
|
||||
(./Schrick-Noah_MS-Thesis.bbl [58
|
||||
|
||||
|
||||
|
||||
] [54] [55]) [56]
|
||||
] [59] [60]) [61]
|
||||
(./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux) (./Chapter3.aux
|
||||
) (./Chapter4.aux) (./Chapter5.aux) (./Chapter6.aux))
|
||||
|
||||
LaTeX Warning: There were undefined references.
|
||||
|
||||
|
||||
LaTeX Warning: There were multiply-defined labels.
|
||||
|
||||
)
|
||||
(\end occurred inside a group at level 6)
|
||||
|
||||
@ -503,13 +555,13 @@ LaTeX Warning: There were undefined references.
|
||||
### semi simple group (level 1) entered at line 52 (\begingroup)
|
||||
### bottom level
|
||||
Here is how much of TeX's memory you used:
|
||||
3750 strings out of 478276
|
||||
71286 string characters out of 5853013
|
||||
362066 words of memory out of 5000000
|
||||
21881 multiletter control sequences out of 15000+600000
|
||||
3779 strings out of 478276
|
||||
72049 string characters out of 5853013
|
||||
362193 words of memory out of 5000000
|
||||
21907 multiletter control sequences out of 15000+600000
|
||||
473155 words of font info for 41 fonts, out of 8000000 for 9000
|
||||
1141 hyphenation exceptions out of 8191
|
||||
67i,8n,77p,2199b,1424s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
67i,8n,77p,2301b,1431s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
{/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.en
|
||||
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
|
||||
@ -518,10 +570,10 @@ ts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texmf-dist/fonts/type1/public
|
||||
y10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmti12.pfb></usr/
|
||||
share/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt12.pfb></usr/share/texmf-di
|
||||
st/fonts/type1/public/cm-super/sfrm1200.pfb>
|
||||
Output written on Schrick-Noah_MS-Thesis.pdf (66 pages, 2061642 bytes).
|
||||
Output written on Schrick-Noah_MS-Thesis.pdf (71 pages, 2119796 bytes).
|
||||
PDF statistics:
|
||||
307 PDF objects out of 1000 (max. 8388607)
|
||||
173 compressed objects within 2 object streams
|
||||
327 PDF objects out of 1000 (max. 8388607)
|
||||
184 compressed objects within 2 object streams
|
||||
0 named destinations out of 1000 (max. 500000)
|
||||
131 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
141 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
{\vspace {\baselineskip }}
|
||||
\contentsline {table}{\numberline {5.1}{\ignorespaces MPI Tags for the MPI Tasking Approach\relax }}{36}{}%
|
||||
\contentsline {table}{\numberline {5.2}{\ignorespaces MPI Tags for the MPI Subgraphing Approach\relax }}{44}{}%
|
||||
\contentsline {table}{\numberline {5.1}{\ignorespaces MPI Tags for the MPI Tasking Approach\relax }}{37}{}%
|
||||
\contentsline {table}{\numberline {5.2}{\ignorespaces MPI Tags for the MPI Subgraphing Approach\relax }}{45}{}%
|
||||
|
||||
Binary file not shown.
@ -42,35 +42,35 @@
|
||||
\contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{22}{}%
|
||||
\contentsline {subsection}{\numberline {4.3.2}\it Results}{24}{}%
|
||||
\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{28}{}%
|
||||
\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{28}{}%
|
||||
\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack and Compliance Graph Generation}{28}{}%
|
||||
\contentsline {section}{\numberline {5.2}\bf Necessary Components}{28}{}%
|
||||
\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{28}{}%
|
||||
\contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{29}{}%
|
||||
\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{29}{}%
|
||||
\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{29}{}%
|
||||
\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{29}{}%
|
||||
\contentsline {subsubsection}{Communication Structure}{32}{}%
|
||||
\contentsline {subsubsection}{Task 0}{32}{}%
|
||||
\contentsline {subsubsection}{Task 1}{32}{}%
|
||||
\contentsline {subsubsection}{Task 2}{33}{}%
|
||||
\contentsline {subsubsection}{Task 3}{35}{}%
|
||||
\contentsline {subsubsection}{Task 4 and Task 5}{35}{}%
|
||||
\contentsline {subsubsection}{MPI Tags}{36}{}%
|
||||
\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{31}{}%
|
||||
\contentsline {subsubsection}{Communication Structure}{31}{}%
|
||||
\contentsline {subsubsection}{Task 0}{33}{}%
|
||||
\contentsline {subsubsection}{Task 1}{33}{}%
|
||||
\contentsline {subsubsection}{Task 2}{34}{}%
|
||||
\contentsline {subsubsection}{Task 3}{34}{}%
|
||||
\contentsline {subsubsection}{Task 4 and Task 5}{36}{}%
|
||||
\contentsline {subsubsection}{MPI Tags}{37}{}%
|
||||
\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations and Use Cases}{37}{}%
|
||||
\contentsline {subsection}{\numberline {5.3.4}\it Results}{37}{}%
|
||||
\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{38}{}%
|
||||
\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{40}{}%
|
||||
\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{40}{}%
|
||||
\contentsline {subsubsection}{Worker Nodes}{41}{}%
|
||||
\contentsline {subsubsection}{Root Node}{42}{}%
|
||||
\contentsline {subsubsection}{Database Node}{43}{}%
|
||||
\contentsline {subsubsection}{MPI Tags}{43}{}%
|
||||
\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations and Use Cases}{43}{}%
|
||||
\contentsline {subsection}{\numberline {5.4.4}\it Results}{44}{}%
|
||||
\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{52}{}%
|
||||
\contentsline {section}{\numberline {6.1}\bf Future Work}{52}{}%
|
||||
\contentsline {subsection}{\numberline {5.3.4}\it Results}{38}{}%
|
||||
\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{41}{}%
|
||||
\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{41}{}%
|
||||
\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{41}{}%
|
||||
\contentsline {subsubsection}{Worker Nodes}{42}{}%
|
||||
\contentsline {subsubsection}{Root Node}{43}{}%
|
||||
\contentsline {subsubsection}{Database Node}{44}{}%
|
||||
\contentsline {subsubsection}{MPI Tags}{44}{}%
|
||||
\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations and Use Cases}{44}{}%
|
||||
\contentsline {subsection}{\numberline {5.4.4}\it Results}{45}{}%
|
||||
\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{54}{}%
|
||||
\contentsline {section}{\numberline {6.1}\bf Conclusions}{54}{}%
|
||||
\contentsline {section}{\numberline {6.2}\bf Future Work}{55}{}%
|
||||
{\hfill \ }
|
||||
\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{53}{}%
|
||||
\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{58}{}%
|
||||
\addvspace {10pt}
|
||||
\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{53}{}%
|
||||
\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{58}{}%
|
||||
{\hfill \ }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user