diff --git a/Appendices.aux b/Appendices.aux index 0fe3613..ddb01b0 100644 --- a/Appendices.aux +++ b/Appendices.aux @@ -1,13 +1,13 @@ \relax -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{20}{}\protected@file@percent } -\newlabel{App:A}{{A}{20}} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{21}{}\protected@file@percent } -\newlabel{App:B}{{B}{21}} -\@writefile{toc}{\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{21}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{21}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{A Sub-subsection in an Appendix}{21}{}\protected@file@percent } +\@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 } \@setckpt{Appendices}{ -\setcounter{page}{22} +\setcounter{page}{25} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Chapter2.tex b/Chapter2.tex index 4b1d1b2..8d94a0e 100644 --- a/Chapter2.tex +++ b/Chapter2.tex @@ -1,5 +1,6 @@ \TUchapter{RELATED WORKS} - +Many authors and researchers have developed or extended attack graphs since their beginning +as attack trees. This Chapter reviews a few of their efforts as they relate to this work. \TUsection{Introduction to Graph Generation} \TUsection{Improvements to Attack Graph Generation} \label{sec:related_works} diff --git a/Chapter5.aux b/Chapter5.aux index 275880f..fc92f2e 100644 --- a/Chapter5.aux +++ b/Chapter5.aux @@ -1,30 +1,36 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {IMPLEMENTATION OF MESSAGE PASSING INTERFACE}}}{13}{}\protected@file@percent } +\@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 {subsection}{\numberline {5.2.2}\it Data Consistency}{13}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{13}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{13}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{13}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{13}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task Zero}{13}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task One}{13}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task Two}{13}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task Three}{13}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task Four}{13}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task Five}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{14}{}\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}{Worker Nodes}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Root Node}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Database Node}{14}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{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 } \@setckpt{Chapter5}{ -\setcounter{page}{15} +\setcounter{page}{18} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} @@ -39,7 +45,7 @@ \setcounter{subsubsection}{0} \setcounter{paragraph}{0} \setcounter{subparagraph}{0} -\setcounter{figure}{0} +\setcounter{figure}{2} \setcounter{table}{0} \setcounter{lofdepth}{1} \setcounter{lotdepth}{1} diff --git a/Chapter5.tex b/Chapter5.tex index 81219e0..1767a79 100644 --- a/Chapter5.tex +++ b/Chapter5.tex @@ -1,13 +1,56 @@ -\TUchapter{IMPLEMENTATION OF MESSAGE PASSING INTERFACE} +\TUchapter{Utilization OF MESSAGE PASSING INTERFACE} \TUsection{Introduction to MPI Utilization for Attack Graph Generation} \TUsection{Necessary Components} \TUsubsection{Serialization} +In order to distribute workloads across nodes in a distributed system, various +types of data will need to be sent and received. Support and mechanisms vary based +on the MPI implementation, but most fundamental data types such as integers, doubles, +characters, and Booleans are incorporated into the MPI implementation. While this does +simplify some of the messages that need to be sent and received in the MPI approaches of +attack graph generation, it does not cover the vast majority of them. + +RAGE implements many custom classes and structs that are used throughout the generation process. +Qualities, topologies, network states, and exploits are a few such examples. Rather than breaking +each of these down into fundamental types manually, serialization functions are leveraged to handle +most of this. RAGE already incorporates Boost graph libraries for auxiliary support, so this work +extended this further to utilize the serialization libraries also provided by Boost. These +libraries also include support for serializing all STL classes, and many of the RAGE +classes have members that make use of the STL classes. One additional advantage of the Boost +library approach is that many of the RAGE class members are nested. For example, the NetworkState +class has a member vector of Quality classes. When serializing the NetworkState class, boost will +recursively serialize all members, including the custom class members, assuming they also have +serialization functions. + +When using the serialization libraries, this work opted to use the intrusive route, where the +class instances are altered directly. This was preferable to the non-intrusive approach, since +the class instances were able to be altered with relative ease, and many of the class instances +did not expose enough information for the non-intrusive approach to be viable. \TUsubsection{Data Consistency} \TUsection{Tasking Approach} \TUsubsection{Introduction to the Tasking Approach} +The high-level overview of the RAGE Data Flow Diagram was presented by the author of +\cite{cook_rage_2018}, and can be seen in Figure \ref{fig:RAGE_chart}. This diagram +includes an attack graph generation block that can be broken down into six main tasks. +These tasks are described in Figure \ref{fig:tasks}. Prior works such as that seen by the +authors of \cite{li_concurrency_2019} work to parallelize the attack graph generation using +OpenMP by dividing the frontier. This approach, however, utilizes Message Passing Interface (MPI) +to distribute the six tasks to examine the effect on speedup, efficiency, and scalability for +attack graph generation. +\begin{figure}[htp] + \includegraphics[width=\linewidth]{"./Chapter5_img/RAGE_Chart.png"} + \vspace{.2truein} \centerline{} + \caption{Generation Flowchart of RAGE} + \label{fig:RAGE_chart} +\end{figure} +\begin{figure}[htp] + \includegraphics[width=\linewidth]{"./Chapter5_img/horiz_task.drawio.png"} + \vspace{.2truein} \centerline{} + \caption{Task Overview of the Attack Graph Generation Process} + \label{fig:tasks} +\end{figure} \TUsubsection{Algorithm Design} \TUsubsubsection{Communication Structure} diff --git a/Chapter5_img/RAGE_Chart.png b/Chapter5_img/RAGE_Chart.png new file mode 100644 index 0000000..9fe8b0c Binary files /dev/null and b/Chapter5_img/RAGE_Chart.png differ diff --git a/Chapter5_img/RAGE_Flowchart.png b/Chapter5_img/RAGE_Flowchart.png new file mode 100644 index 0000000..570f7fb Binary files /dev/null and b/Chapter5_img/RAGE_Flowchart.png differ diff --git a/Chapter5_img/horiz_task.drawio.png b/Chapter5_img/horiz_task.drawio.png new file mode 100644 index 0000000..e2afcd3 Binary files /dev/null and b/Chapter5_img/horiz_task.drawio.png differ diff --git a/Chapter5_img/subgraphing.drawio.png b/Chapter5_img/subgraphing.drawio.png new file mode 100644 index 0000000..89aff93 Binary files /dev/null and b/Chapter5_img/subgraphing.drawio.png differ diff --git a/Chapter6.aux b/Chapter6.aux index d4be9ad..61dead3 100644 --- a/Chapter6.aux +++ b/Chapter6.aux @@ -1,23 +1,23 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Small Networks}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}\it Results}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.2}\bf Large Networks}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}\it Results}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}\it Results}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{15}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{16}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}\it Results}{16}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{16}{}\protected@file@percent } +\@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 } \@setckpt{Chapter6}{ -\setcounter{page}{17} +\setcounter{page}{20} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Chapter7.aux b/Chapter7.aux index baf7136..7bbcd6b 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}}}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {7.1}\bf Future Work}{17}{}\protected@file@percent } +\@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 } \@setckpt{Chapter7}{ -\setcounter{page}{18} +\setcounter{page}{21} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Schrick-Noah_MS-Thesis.aux b/Schrick-Noah_MS-Thesis.aux index e142aeb..e6fd8a5 100644 --- a/Schrick-Noah_MS-Thesis.aux +++ b/Schrick-Noah_MS-Thesis.aux @@ -31,12 +31,12 @@ \bibcite{phillips_graph-based_1998}{8} \bibcite{schneier_modeling_1999}{9} \@writefile{toc}{{\hfill \ }} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{18}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{21}{}\protected@file@percent } \@writefile{toc}{\addvspace {10pt}} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{18}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{21}{}\protected@file@percent } \@writefile{toc}{{\hfill \ }} \bibcite{sheyner_automated_2002}{10} \bibcite{zhang_boosting_2017}{11} \bibstyle{plain} \@input{Appendices.aux} -\gdef \@abspage@last{31} +\gdef \@abspage@last{34} diff --git a/Schrick-Noah_MS-Thesis.lof b/Schrick-Noah_MS-Thesis.lof index e4156bb..dee3a83 100644 --- a/Schrick-Noah_MS-Thesis.lof +++ b/Schrick-Noah_MS-Thesis.lof @@ -1,3 +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}{}% diff --git a/Schrick-Noah_MS-Thesis.log b/Schrick-Noah_MS-Thesis.log index a1d0232..0951b8e 100644 --- a/Schrick-Noah_MS-Thesis.log +++ b/Schrick-Noah_MS-Thesis.log @@ -1,8 +1,8 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.2.14) 26 FEB 2022 17:08 +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 entering extended mode restricted \write18 enabled. %&-line parsing enabled. -**Schrick-Noah_MS-Thesis.tex +**Schrick-Noah_MS-Thesis (./Schrick-Noah_MS-Thesis.tex LaTeX2e <2021-11-15> patch level 1 L3 programming layer <2021-11-22> @@ -254,39 +254,52 @@ CHAPTER 5. -]) [14] +] +<./Chapter5_img/RAGE_Chart.png, id=83, 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> +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] \openout2 = `Chapter6.aux'. (./Chapter6.tex CHAPTER 6. -[15 +[18 -]) [16] +]) [19] \openout2 = `Chapter7.aux'. (./Chapter7.tex CHAPTER 7. -) [17 +) [20 -] (./Schrick-Noah_MS-Thesis.bbl [18 +] (./Schrick-Noah_MS-Thesis.bbl [21 ]) \c@appendixno=\count269 - [19] + [22] \openout2 = `Appendices.aux'. - (./Appendices.tex [20 + (./Appendices.tex [23 ]) -[21] (./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux) +[24] (./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) @@ -299,23 +312,23 @@ CHAPTER 7. ### semi simple group (level 1) entered at line 52 (\begingroup) ### bottom level Here is how much of TeX's memory you used: - 2129 strings out of 478353 - 37349 string characters out of 5854635 - 344903 words of memory out of 5000000 - 20202 multiletter control sequences out of 15000+600000 + 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 407157 words of font info for 39 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 - 55i,7n,62p,310b,1305s stack positions out of 5000i,500n,10000p,200000b,80000s + 55i,7n,62p,306b,1305s stack positions out of 5000i,500n,10000p,200000b,80000s {/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.en c} -Output written on Schrick-Noah_MS-Thesis.pdf (31 pages, 211425 bytes). +Output written on Schrick-Noah_MS-Thesis.pdf (34 pages, 338284 bytes). PDF statistics: - 137 PDF objects out of 1000 (max. 8388607) - 89 compressed objects within 1 object stream + 150 PDF objects out of 1000 (max. 8388607) + 96 compressed objects within 1 object stream 0 named destinations out of 1000 (max. 500000) - 11 words of extra memory for PDF output out of 10000 (max. 10000000) + 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 9b7223b..aa5c262 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 56e2216..1163c26 100644 --- a/Schrick-Noah_MS-Thesis.toc +++ b/Schrick-Noah_MS-Thesis.toc @@ -35,56 +35,56 @@ \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 {IMPLEMENTATION OF MESSAGE PASSING INTERFACE}}}{13}{}% +\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}{13}{}% -\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{13}{}% -\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{13}{}% -\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{13}{}% -\contentsline {subsubsection}{Communication Structure}{13}{}% -\contentsline {subsubsection}{Task Zero}{13}{}% -\contentsline {subsubsection}{Task One}{13}{}% -\contentsline {subsubsection}{Task Two}{13}{}% -\contentsline {subsubsection}{Task Three}{13}{}% -\contentsline {subsubsection}{Task Four}{13}{}% -\contentsline {subsubsection}{Task Five}{14}{}% -\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{14}{}% -\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{14}{}% -\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{14}{}% -\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{14}{}% +\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}{Worker Nodes}{14}{}% -\contentsline {subsubsection}{Root Node}{14}{}% -\contentsline {subsubsection}{Database Node}{14}{}% -\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{14}{}% -\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{15}{}% -\contentsline {section}{\numberline {6.1}\bf Small Networks}{15}{}% -\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{15}{}% -\contentsline {subsection}{\numberline {6.1.2}\it Results}{15}{}% -\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{15}{}% -\contentsline {section}{\numberline {6.2}\bf Large Networks}{15}{}% -\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{15}{}% -\contentsline {subsection}{\numberline {6.2.2}\it Results}{15}{}% -\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{15}{}% -\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{15}{}% -\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{15}{}% -\contentsline {subsection}{\numberline {6.3.2}\it Results}{15}{}% -\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{15}{}% -\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{15}{}% -\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{16}{}% -\contentsline {subsection}{\numberline {6.4.2}\it Results}{16}{}% -\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{16}{}% -\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{17}{}% -\contentsline {section}{\numberline {7.1}\bf Future Work}{17}{}% +\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}{}% {\hfill \ } -\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{18}{}% +\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{21}{}% \addvspace {10pt} -\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{18}{}% +\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{21}{}% {\hfill \ } -\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{20}{}% -\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{21}{}% -\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{21}{}% -\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{21}{}% -\contentsline {subsubsection}{A Sub-subsection in an Appendix}{21}{}% +\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}{}%